diff --git a/README.md b/README.md index 1f7c8f6..6bace1a 100644 --- a/README.md +++ b/README.md @@ -1,61 +1,45 @@ # MeshCore SAR -Flutter app for Search and Rescue operations over a [MeshCore](https://github.com/meshcore-dev) mesh radio network via Bluetooth Low Energy. +Field-ready Search and Rescue app for teams using [MeshCore](https://github.com/meshcore-dev) over Bluetooth Low Energy. -## What It Does +MeshCore SAR helps teams coordinate in low-connectivity and no-connectivity environments. -MeshCore SAR helps teams coordinate in low-connectivity or no-connectivity environments using mesh radio + BLE. +## Highlights -- Send text messages to contacts, rooms, and channels -- Share voice clips and field images -- Track team movement and location updates -- Work with offline maps and field overlays -- Mark and share SAR points of interest +- Mesh messaging for direct and group coordination +- On-demand voice and image sharing optimized for low bandwidth +- Offline-first maps with field overlays and tactical markers +- GPS tracking, trails, and shareable map drawings -## Core Features +## Feature Overview -### Messaging +| Area | What you get | +|---|---| +| Messaging | Direct and group chat over mesh, with contact/room awareness from live telemetry | +| Voice | Push-to-talk voice clips, fetched on demand when play is pressed, auto-play on completion | +| Images | Camera/gallery image sending, auto-compression, tap-to-load receiving, full-screen viewer | +| Maps | Street/topo/satellite/terrain layers, offline tile downloads, optional MBTiles import | +| SAR Operations | Team markers with freshness indicators, SAR markers for incidents and staging points | +| Tracking | Continuous GPS updates, personal trails, distance/duration trail stats | +| Trail Interop | GPX export/import for trail sharing and reuse | +| Tactical Drawing | Line/rectangle drawing, distance measurement, drawing sharing to channel/room | -- Direct and group chat over mesh -- Contact and room awareness from live mesh telemetry -- Message overlays integrated with map and tactical tools +## Voice, Image, and Maps ### Voice - -- Push-to-talk voice clips optimized for low bandwidth -- Voice is fetched on demand when someone presses play -- Automatic playback when fetch completes -- Works well for short field updates where text is too slow +- Designed for short, urgent field communication +- Playback requests are on-demand to reduce unnecessary mesh traffic +- Useful when typing is impractical during operations ### Images +- Built for constrained links with pre-send optimization +- Receiver controls when to fetch payload by tapping the placeholder +- Supports quick visual verification in the field -- Capture from camera or pick from gallery -- Automatic compression before sending (optimized for mesh transport) -- Receiver sees a placeholder and taps to load the image -- Full-screen image viewer for quick field inspection - -### Maps & Navigation - -- Multiple base maps (street, topo, satellite, terrain) -- Offline tile download for selected areas -- Optional MBTiles import for custom/offline map packages -- Team member markers with freshness indicators -- SAR markers (person found, fire, staging, custom object markers) -- Compass-assisted orientation and target direction UI - -### Tracking & Trails - -- Continuous GPS tracking with configurable update thresholds -- Personal trail recording with distance and duration stats -- Contact trail visibility controls -- GPX export/import for trail sharing and reuse - -### Tactical Drawing - -- Draw lines/rectangles directly on map -- Distance measurement mode -- Share drawings to channel/room -- Toggle received drawings and SAR marker visibility +### Maps +- Supports online and offline workflows +- Adds SAR context with markers, overlays, and orientation tools +- Combines location, messaging, and tactical layers in one workflow ## Permissions (App Use) diff --git a/ios/fastlane/report.xml b/ios/fastlane/report.xml index e157e94..3041051 100644 --- a/ios/fastlane/report.xml +++ b/ios/fastlane/report.xml @@ -5,22 +5,22 @@ - + - + - + - + diff --git a/vendor/codec2_flutter_ios_only/.gitignore b/vendor/codec2_flutter_ios_only/.gitignore deleted file mode 100644 index 3f246c0..0000000 --- a/vendor/codec2_flutter_ios_only/.gitignore +++ /dev/null @@ -1,23 +0,0 @@ -# Dart / Flutter -.dart_tool/ -.packages -build/ -*.g.dart - -# macOS Xcode -*.xcworkspace/ -Pods/ -macos/Flutter/GeneratedPluginRegistrant.swift - -# iOS Xcode -ios/Pods/ -ios/Flutter/Debug.xcconfig -ios/Flutter/Release.xcconfig - -# Android -android/.gradle/ -android/local.properties -android/key.properties - -# OS -.DS_Store diff --git a/vendor/codec2_flutter_ios_only/.gitmodules b/vendor/codec2_flutter_ios_only/.gitmodules deleted file mode 100644 index e69de29..0000000 diff --git a/vendor/codec2_flutter_ios_only/ios/Classes/Codec2FlutterPlugin.swift b/vendor/codec2_flutter_ios_only/ios/Classes/Codec2FlutterPlugin.swift deleted file mode 100644 index 9f2d049..0000000 --- a/vendor/codec2_flutter_ios_only/ios/Classes/Codec2FlutterPlugin.swift +++ /dev/null @@ -1,8 +0,0 @@ -import Flutter -import UIKit - -/// Stub plugin class — all functionality is exposed via Dart FFI (DynamicLibrary.process()). -/// No method channels are used. -public class Codec2FlutterPlugin: NSObject, FlutterPlugin { - public static func register(with registrar: FlutterPluginRegistrar) {} -} diff --git a/vendor/codec2_flutter_ios_only/ios/Classes/codebook.c b/vendor/codec2_flutter_ios_only/ios/Classes/codebook.c deleted file mode 100644 index 612bc61..0000000 --- a/vendor/codec2_flutter_ios_only/ios/Classes/codebook.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Separate TU so that 'codes0' etc. do not collide across codebook files. */ -#include "../../src/codec2_generated/codebook.c" diff --git a/vendor/codec2_flutter_ios_only/ios/Classes/codebookd.c b/vendor/codec2_flutter_ios_only/ios/Classes/codebookd.c deleted file mode 100644 index 9d61f5e..0000000 --- a/vendor/codec2_flutter_ios_only/ios/Classes/codebookd.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Separate TU so that 'codes0' etc. do not collide across codebook files. */ -#include "../../src/codec2_generated/codebookd.c" diff --git a/vendor/codec2_flutter_ios_only/ios/Classes/codebookge.c b/vendor/codec2_flutter_ios_only/ios/Classes/codebookge.c deleted file mode 100644 index c243b8f..0000000 --- a/vendor/codec2_flutter_ios_only/ios/Classes/codebookge.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Separate TU so that 'codes0' etc. do not collide across codebook files. */ -#include "../../src/codec2_generated/codebookge.c" diff --git a/vendor/codec2_flutter_ios_only/ios/Classes/codebookjmv.c b/vendor/codec2_flutter_ios_only/ios/Classes/codebookjmv.c deleted file mode 100644 index 6cb6267..0000000 --- a/vendor/codec2_flutter_ios_only/ios/Classes/codebookjmv.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Separate TU so that 'codes0' etc. do not collide across codebook files. */ -#include "../../src/codec2_generated/codebookjmv.c" diff --git a/vendor/codec2_flutter_ios_only/ios/Classes/codebooknewamp1.c b/vendor/codec2_flutter_ios_only/ios/Classes/codebooknewamp1.c deleted file mode 100644 index 67f9ed5..0000000 --- a/vendor/codec2_flutter_ios_only/ios/Classes/codebooknewamp1.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Separate TU so that 'codes0' etc. do not collide across codebook files. */ -#include "../../src/codec2_generated/codebooknewamp1.c" diff --git a/vendor/codec2_flutter_ios_only/ios/Classes/codebooknewamp1_energy.c b/vendor/codec2_flutter_ios_only/ios/Classes/codebooknewamp1_energy.c deleted file mode 100644 index c9298ed..0000000 --- a/vendor/codec2_flutter_ios_only/ios/Classes/codebooknewamp1_energy.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Separate TU so that 'codes0' etc. do not collide across codebook files. */ -#include "../../src/codec2_generated/codebooknewamp1_energy.c" diff --git a/vendor/codec2_flutter_ios_only/ios/Classes/codebooknewamp2.c b/vendor/codec2_flutter_ios_only/ios/Classes/codebooknewamp2.c deleted file mode 100644 index 1af8761..0000000 --- a/vendor/codec2_flutter_ios_only/ios/Classes/codebooknewamp2.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Separate TU so that 'codes0' etc. do not collide across codebook files. */ -#include "../../src/codec2_generated/codebooknewamp2.c" diff --git a/vendor/codec2_flutter_ios_only/ios/Classes/codebooknewamp2_energy.c b/vendor/codec2_flutter_ios_only/ios/Classes/codebooknewamp2_energy.c deleted file mode 100644 index aadfb31..0000000 --- a/vendor/codec2_flutter_ios_only/ios/Classes/codebooknewamp2_energy.c +++ /dev/null @@ -1,2 +0,0 @@ -/* Separate TU so that 'codes0' etc. do not collide across codebook files. */ -#include "../../src/codec2_generated/codebooknewamp2_energy.c" diff --git a/vendor/codec2_flutter_ios_only/ios/Classes/codec2_amalgam.c b/vendor/codec2_flutter_ios_only/ios/Classes/codec2_amalgam.c deleted file mode 100644 index 80b7866..0000000 --- a/vendor/codec2_flutter_ios_only/ios/Classes/codec2_amalgam.c +++ /dev/null @@ -1,32 +0,0 @@ -// codec2_amalgam.c — Unity build of all Codec2 sources needed for the Flutter FFI plugin. -// CocoaPods only compiles files inside the pod's own directory tree, so we include -// the upstream sources via relative paths from here. -// -// Codec2 source lives at: packages/codec2_flutter/src/codec2/src/ -// This file lives at: packages/codec2_flutter/ios/Classes/ -// Relative path from here: ../../src/codec2/src/ - -#define DUMP 0 // disable file-based debug dump in codec2 -#define CORTEX_M4 0 // not on an ARM Cortex-M4 - -#include "../../src/codec2/src/codec2.c" -#include "../../src/codec2/src/lpc.c" -#include "../../src/codec2/src/lsp.c" -#include "../../src/codec2/src/quantise.c" -#include "../../src/codec2/src/phase.c" -#include "../../src/codec2/src/postfilter.c" -#include "../../src/codec2/src/sine.c" -#include "../../src/codec2/src/interp.c" -#include "../../src/codec2/src/nlp.c" -#include "../../src/codec2/src/pack.c" -#include "../../src/codec2/src/dump.c" -#include "../../src/codec2/src/mbest.c" -#include "../../src/codec2/src/newamp1.c" - -// codec2_fft.c, kiss_fft.c, and kiss_fftr.c are in separate translation units -// (codec2_fft_wrap.c / kiss_fft_wrap.c / kiss_fftr_wrap.c) because _kiss_fft_guts.h -// has no include guard and would cause redefinition of kiss_fft_state if included twice. - -// The 8 codebook*.c files are also compiled as separate TUs (codebook.c, codebookd.c, ...) -// because generate_codebook emits non-static 'codes0'/'codes1'/... arrays that would -// collide if all codebooks were included in a single translation unit. diff --git a/vendor/codec2_flutter_ios_only/ios/Classes/codec2_fft_wrap.c b/vendor/codec2_flutter_ios_only/ios/Classes/codec2_fft_wrap.c deleted file mode 100644 index ed855dc..0000000 --- a/vendor/codec2_flutter_ios_only/ios/Classes/codec2_fft_wrap.c +++ /dev/null @@ -1,4 +0,0 @@ -/* Compiled as a separate translation unit to avoid _kiss_fft_guts.h redefinition. */ -#define DUMP 0 -#define CORTEX_M4 0 -#include "../../src/codec2/src/codec2_fft.c" diff --git a/vendor/codec2_flutter_ios_only/ios/Classes/kiss_fft_wrap.c b/vendor/codec2_flutter_ios_only/ios/Classes/kiss_fft_wrap.c deleted file mode 100644 index ca0133b..0000000 --- a/vendor/codec2_flutter_ios_only/ios/Classes/kiss_fft_wrap.c +++ /dev/null @@ -1,4 +0,0 @@ -/* Compiled as a separate translation unit to avoid _kiss_fft_guts.h redefinition. */ -#define DUMP 0 -#define CORTEX_M4 0 -#include "../../src/codec2/src/kiss_fft.c" diff --git a/vendor/codec2_flutter_ios_only/ios/Classes/kiss_fftr_wrap.c b/vendor/codec2_flutter_ios_only/ios/Classes/kiss_fftr_wrap.c deleted file mode 100644 index 29e7ab9..0000000 --- a/vendor/codec2_flutter_ios_only/ios/Classes/kiss_fftr_wrap.c +++ /dev/null @@ -1,4 +0,0 @@ -/* Compiled as a separate translation unit to avoid _kiss_fft_guts.h redefinition. */ -#define DUMP 0 -#define CORTEX_M4 0 -#include "../../src/codec2/src/kiss_fftr.c" diff --git a/vendor/codec2_flutter_ios_only/ios/codec2_flutter.podspec b/vendor/codec2_flutter_ios_only/ios/codec2_flutter.podspec deleted file mode 100644 index 6321d38..0000000 --- a/vendor/codec2_flutter_ios_only/ios/codec2_flutter.podspec +++ /dev/null @@ -1,26 +0,0 @@ -Pod::Spec.new do |s| - s.name = 'codec2_flutter' - s.version = '0.1.0' - s.summary = 'Flutter FFI plugin wrapping Codec2 ultra-low-bitrate speech codec.' - s.homepage = 'https://github.com/dz0ny/meshcore-sar' - s.license = { :type => 'LGPL-2.1', :file => '../src/codec2/COPYING' } - s.author = { 'MeshCore SAR' => 'noreply@example.com' } - s.source = { :path => '.' } - - s.platform = :ios, '12.0' - s.swift_version = '5.0' - - # All Codec2 C sources are unity-built via Classes/codec2_amalgam.c, - # which #includes them relative to that file. CocoaPods only picks up - # files inside the pod directory tree, so we cannot reference ../src directly. - s.source_files = 'Classes/**/*' - - s.public_header_files = [] - s.pod_target_xcconfig = { - 'HEADER_SEARCH_PATHS' => "$(PODS_TARGET_SRCROOT)/../src/codec2/src $(PODS_TARGET_SRCROOT)/../src/codec2_generated", - 'GCC_PREPROCESSOR_DEFINITIONS' => 'DUMP=0 CORTEX_M4=0', - 'DEFINES_MODULE' => 'YES', - } - - s.dependency 'Flutter' -end diff --git a/vendor/codec2_flutter_ios_only/lib/codec2_flutter.dart b/vendor/codec2_flutter_ios_only/lib/codec2_flutter.dart deleted file mode 100644 index 4824ce8..0000000 --- a/vendor/codec2_flutter_ios_only/lib/codec2_flutter.dart +++ /dev/null @@ -1,247 +0,0 @@ -import 'dart:ffi'; -import 'dart:io'; -import 'dart:typed_data'; -import 'dart:isolate'; -import 'package:ffi/ffi.dart'; - -// ── Codec2 mode constants (match codec2.h) ─────────────────────────────────── - -/// Codec2 operating modes. -/// Numeric values match the C constants in codec2.h. -enum Codec2Mode { - /// 3200 bps. - mode3200(0), - - /// 2400 bps — higher quality, ~300 bytes/sec output at 8kHz. - mode2400(1), - - /// 1600 bps. - mode1600(2), - - /// 1400 bps. - mode1400(3), - - /// 1300 bps — good quality for LoRa, ~175 bytes/sec at 8kHz (25 fps × 7 B). - mode1300(4), - - /// 1200 bps — ~150 bytes/sec at 8kHz (25 fps × 6 B). - mode1200(5), - - /// 700C bps — minimum bandwidth for very narrow LoRa / ham radio channels. - /// ~100 bytes/sec output at 8kHz. - mode700c(8); - - const Codec2Mode(this.c2ModeId); - - /// The integer passed to codec2_create() in C. - final int c2ModeId; - - /// Audio frames per second for this mode (all modes use 8000 Hz sample rate). - int get framesPerSecond => - (this == mode3200 || this == mode2400) ? 50 : 25; - - /// Samples per frame (8000 Hz / framesPerSecond). - int get samplesPerFrame => 8000 ~/ framesPerSecond; - - /// Payload bytes per second (bitsPerFrame × framesPerSecond / 8). - /// Used to calculate packet duration for the 172-byte BLE frame limit. - int get bytesPerSecond { - switch (this) { - case mode3200: - return 400; // 8 B × 50 fps - case mode700c: - return 100; // ceil(28/8)=4 B × 25 fps - case mode1200: - return 150; // 6 B × 25 fps - case mode1300: - return 175; // ceil(52/8)=7 B × 25 fps - case mode1400: - return 175; // 7 B × 25 fps - case mode1600: - return 200; // 8 B × 25 fps - case mode2400: - return 300; // 6 B × 50 fps - } - } - - /// Maximum Codec2 bytes per radio packet. - /// MAX_FRAME_SIZE=172, minus 4 bytes pushRawData header, minus 8 bytes voice header. - static const int _maxBytesPerPacket = 160; - - /// Optimal packet duration in milliseconds so the encoded data fits in one BLE frame. - /// Calculated as: floor(maxBytes / bytesPerFrame) frames × frame duration. - int get packetDurationMs { - final bytesPerFrame = bytesPerSecond / framesPerSecond; // e.g. 6 B for 1200 - final framesPerPacket = (_maxBytesPerPacket / bytesPerFrame).floor(); - return (framesPerPacket * 1000 ~/ framesPerSecond); - } -} - -// ── Native type definitions ────────────────────────────────────────────────── - -typedef _Codec2CreateFn = Pointer Function(Int32 mode); -typedef _Codec2CreateDart = Pointer Function(int mode); - -typedef _Codec2DestroyFn = Void Function(Pointer c2); -typedef _Codec2DestroyDart = void Function(Pointer c2); - -typedef _Codec2EncodeFn = Void Function(Pointer c2, Pointer bits, Pointer speech); -typedef _Codec2EncodeDart = void Function(Pointer c2, Pointer bits, Pointer speech); - -typedef _Codec2DecodeFn = Void Function(Pointer c2, Pointer speech, Pointer bits); -typedef _Codec2DecodeDart = void Function(Pointer c2, Pointer speech, Pointer bits); - -typedef _Codec2IntFn = Int32 Function(Pointer c2); -typedef _Codec2IntDart = int Function(Pointer c2); - -// ── Library loader ──────────────────────────────────────────────────────────── - -DynamicLibrary _loadLib() { - if (Platform.isAndroid) return DynamicLibrary.open('libcodec2_flutter.so'); - // iOS & macOS link statically via CocoaPods — all symbols live in the process. - return DynamicLibrary.process(); -} - -// ── Codec2 instance ─────────────────────────────────────────────────────────── - -/// A single Codec2 encoder/decoder instance. -/// -/// Create with [Codec2.create], call [encode]/[decode], then [destroy]. -/// -/// **Thread safety**: each instance must be used from a single thread/isolate. -/// Use [Codec2.encodeInIsolate] / [Codec2.decodeInIsolate] for off-UI encoding. -class Codec2 { - Codec2._(this._c2, this._lib, this.mode); - - final Pointer _c2; - final DynamicLibrary _lib; - final Codec2Mode mode; - - late final _Codec2EncodeDart _encode = - _lib.lookupFunction<_Codec2EncodeFn, _Codec2EncodeDart>('codec2_encode'); - late final _Codec2DecodeDart _decode = - _lib.lookupFunction<_Codec2DecodeFn, _Codec2DecodeDart>('codec2_decode'); - late final _Codec2IntDart _samplesPerFrame = - _lib.lookupFunction<_Codec2IntFn, _Codec2IntDart>('codec2_samples_per_frame'); - late final _Codec2IntDart _bitsPerFrame = - _lib.lookupFunction<_Codec2IntFn, _Codec2IntDart>('codec2_bits_per_frame'); - - /// Samples per frame for this codec mode. - int get samplesPerFrame => _samplesPerFrame(_c2); - - /// Bits per frame for this codec mode. - int get bitsPerFrame => _bitsPerFrame(_c2); - - /// Bytes per frame (rounded up from bitsPerFrame). - int get bytesPerFrame => (bitsPerFrame + 7) ~/ 8; - - /// Create a new Codec2 instance for [mode]. - static Codec2 create(Codec2Mode mode) { - final lib = _loadLib(); - final createFn = - lib.lookupFunction<_Codec2CreateFn, _Codec2CreateDart>('codec2_create'); - final c2 = createFn(mode.c2ModeId); - if (c2 == nullptr) throw StateError('codec2_create(${mode.c2ModeId}) returned null'); - return Codec2._(c2, lib, mode); - } - - /// Encode [pcmSamples] (Int16, 8000 Hz mono) to Codec2 bytes. - /// - /// [pcmSamples.length] must be a multiple of [samplesPerFrame]. - Uint8List encode(Int16List pcmSamples) { - final spf = samplesPerFrame; - final bpf = bytesPerFrame; - final nFrames = pcmSamples.length ~/ spf; - if (nFrames == 0) return Uint8List(0); - - final outputBytes = nFrames * bpf; - final speechPtr = calloc(spf); - final bitsPtr = calloc(bpf); - final result = Uint8List(outputBytes); - - try { - for (var f = 0; f < nFrames; f++) { - // Copy one frame of PCM into native memory - for (var s = 0; s < spf; s++) { - speechPtr[s] = pcmSamples[f * spf + s]; - } - _encode(_c2, bitsPtr, speechPtr); - // Copy encoded bits into result - final offset = f * bpf; - for (var b = 0; b < bpf; b++) { - result[offset + b] = bitsPtr[b]; - } - } - } finally { - calloc.free(speechPtr); - calloc.free(bitsPtr); - } - return result; - } - - /// Decode Codec2 [encoded] bytes to Int16 PCM samples (8000 Hz mono). - /// - /// [encoded.length] must be a multiple of [bytesPerFrame]. - Int16List decode(Uint8List encoded) { - final spf = samplesPerFrame; - final bpf = bytesPerFrame; - final nFrames = encoded.length ~/ bpf; - if (nFrames == 0) return Int16List(0); - - final totalSamples = nFrames * spf; - final speechPtr = calloc(spf); - final bitsPtr = calloc(bpf); - final result = Int16List(totalSamples); - - try { - for (var f = 0; f < nFrames; f++) { - final offset = f * bpf; - for (var b = 0; b < bpf; b++) { - bitsPtr[b] = encoded[offset + b]; - } - _decode(_c2, speechPtr, bitsPtr); - final sOffset = f * spf; - for (var s = 0; s < spf; s++) { - result[sOffset + s] = speechPtr[s]; - } - } - } finally { - calloc.free(speechPtr); - calloc.free(bitsPtr); - } - return result; - } - - /// Free the native Codec2 instance. Must be called when done. - void destroy() { - final destroyFn = - _lib.lookupFunction<_Codec2DestroyFn, _Codec2DestroyDart>('codec2_destroy'); - destroyFn(_c2); - } - - // ── Isolate helpers ────────────────────────────────────────────────────── - - /// Encode [pcm] in a separate [Isolate] (avoids blocking the UI thread). - static Future encodeInIsolate(Int16List pcm, Codec2Mode mode) { - return Isolate.run(() { - final c2 = Codec2.create(mode); - try { - return c2.encode(pcm); - } finally { - c2.destroy(); - } - }); - } - - /// Decode [encoded] bytes in a separate [Isolate]. - static Future decodeInIsolate(Uint8List encoded, Codec2Mode mode) { - return Isolate.run(() { - final c2 = Codec2.create(mode); - try { - return c2.decode(encoded); - } finally { - c2.destroy(); - } - }); - } -} diff --git a/vendor/codec2_flutter_ios_only/pubspec.lock b/vendor/codec2_flutter_ios_only/pubspec.lock deleted file mode 100644 index 666502f..0000000 --- a/vendor/codec2_flutter_ios_only/pubspec.lock +++ /dev/null @@ -1,197 +0,0 @@ -# Generated by pub -# See https://dart.dev/tools/pub/glossary#lockfile -packages: - async: - dependency: transitive - description: - name: async - sha256: "758e6d74e971c3e5aceb4110bfd6698efc7f501675bcfe0c775459a8140750eb" - url: "https://pub.dev" - source: hosted - version: "2.13.0" - boolean_selector: - dependency: transitive - description: - name: boolean_selector - sha256: "8aab1771e1243a5063b8b0ff68042d67334e3feab9e95b9490f9a6ebf73b42ea" - url: "https://pub.dev" - source: hosted - version: "2.1.2" - characters: - dependency: transitive - description: - name: characters - sha256: f71061c654a3380576a52b451dd5532377954cf9dbd272a78fc8479606670803 - url: "https://pub.dev" - source: hosted - version: "1.4.0" - clock: - dependency: transitive - description: - name: clock - sha256: fddb70d9b5277016c77a80201021d40a2247104d9f4aa7bab7157b7e3f05b84b - url: "https://pub.dev" - source: hosted - version: "1.1.2" - collection: - dependency: transitive - description: - name: collection - sha256: "2f5709ae4d3d59dd8f7cd309b4e023046b57d8a6c82130785d2b0e5868084e76" - url: "https://pub.dev" - source: hosted - version: "1.19.1" - fake_async: - dependency: transitive - description: - name: fake_async - sha256: "5368f224a74523e8d2e7399ea1638b37aecfca824a3cc4dfdf77bf1fa905ac44" - url: "https://pub.dev" - source: hosted - version: "1.3.3" - ffi: - dependency: "direct main" - description: - name: ffi - sha256: "6d7fd89431262d8f3125e81b50d3847a091d846eafcd4fdb88dd06f36d705a45" - url: "https://pub.dev" - source: hosted - version: "2.2.0" - flutter: - dependency: "direct main" - description: flutter - source: sdk - version: "0.0.0" - flutter_test: - dependency: "direct dev" - description: flutter - source: sdk - version: "0.0.0" - leak_tracker: - dependency: transitive - description: - name: leak_tracker - sha256: "33e2e26bdd85a0112ec15400c8cbffea70d0f9c3407491f672a2fad47915e2de" - url: "https://pub.dev" - source: hosted - version: "11.0.2" - leak_tracker_flutter_testing: - dependency: transitive - description: - name: leak_tracker_flutter_testing - sha256: "1dbc140bb5a23c75ea9c4811222756104fbcd1a27173f0c34ca01e16bea473c1" - url: "https://pub.dev" - source: hosted - version: "3.0.10" - leak_tracker_testing: - dependency: transitive - description: - name: leak_tracker_testing - sha256: "8d5a2d49f4a66b49744b23b018848400d23e54caf9463f4eb20df3eb8acb2eb1" - url: "https://pub.dev" - source: hosted - version: "3.0.2" - matcher: - dependency: transitive - description: - name: matcher - sha256: dc58c723c3c24bf8d3e2d3ad3f2f9d7bd9cf43ec6feaa64181775e60190153f2 - url: "https://pub.dev" - source: hosted - version: "0.12.17" - material_color_utilities: - dependency: transitive - description: - name: material_color_utilities - sha256: f7142bb1154231d7ea5f96bc7bde4bda2a0945d2806bb11670e30b850d56bdec - url: "https://pub.dev" - source: hosted - version: "0.11.1" - meta: - dependency: transitive - description: - name: meta - sha256: "23f08335362185a5ea2ad3a4e597f1375e78bce8a040df5c600c8d3552ef2394" - url: "https://pub.dev" - source: hosted - version: "1.17.0" - path: - dependency: transitive - description: - name: path - sha256: "75cca69d1490965be98c73ceaea117e8a04dd21217b37b292c9ddbec0d955bc5" - url: "https://pub.dev" - source: hosted - version: "1.9.1" - sky_engine: - dependency: transitive - description: flutter - source: sdk - version: "0.0.0" - source_span: - dependency: transitive - description: - name: source_span - sha256: "56a02f1f4cd1a2d96303c0144c93bd6d909eea6bee6bf5a0e0b685edbd4c47ab" - url: "https://pub.dev" - source: hosted - version: "1.10.2" - stack_trace: - dependency: transitive - description: - name: stack_trace - sha256: "8b27215b45d22309b5cddda1aa2b19bdfec9df0e765f2de506401c071d38d1b1" - url: "https://pub.dev" - source: hosted - version: "1.12.1" - stream_channel: - dependency: transitive - description: - name: stream_channel - sha256: "969e04c80b8bcdf826f8f16579c7b14d780458bd97f56d107d3950fdbeef059d" - url: "https://pub.dev" - source: hosted - version: "2.1.4" - string_scanner: - dependency: transitive - description: - name: string_scanner - sha256: "921cd31725b72fe181906c6a94d987c78e3b98c2e205b397ea399d4054872b43" - url: "https://pub.dev" - source: hosted - version: "1.4.1" - term_glyph: - dependency: transitive - description: - name: term_glyph - sha256: "7f554798625ea768a7518313e58f83891c7f5024f88e46e7182a4558850a4b8e" - url: "https://pub.dev" - source: hosted - version: "1.2.2" - test_api: - dependency: transitive - description: - name: test_api - sha256: ab2726c1a94d3176a45960b6234466ec367179b87dd74f1611adb1f3b5fb9d55 - url: "https://pub.dev" - source: hosted - version: "0.7.7" - vector_math: - dependency: transitive - description: - name: vector_math - sha256: d530bd74fea330e6e364cda7a85019c434070188383e1cd8d9777ee586914c5b - url: "https://pub.dev" - source: hosted - version: "2.2.0" - vm_service: - dependency: transitive - description: - name: vm_service - sha256: "45caa6c5917fa127b5dbcfbd1fa60b14e583afdc08bfc96dda38886ca252eb60" - url: "https://pub.dev" - source: hosted - version: "15.0.2" -sdks: - dart: ">=3.9.2 <4.0.0" - flutter: ">=3.18.0-18.0.pre.54" diff --git a/vendor/codec2_flutter_ios_only/pubspec.yaml b/vendor/codec2_flutter_ios_only/pubspec.yaml deleted file mode 100644 index ebca601..0000000 --- a/vendor/codec2_flutter_ios_only/pubspec.yaml +++ /dev/null @@ -1,23 +0,0 @@ -name: codec2_flutter -description: Flutter FFI plugin wrapping the Codec2 ultra-low-bitrate speech codec. -version: 0.1.0 -publish_to: 'none' - -environment: - sdk: ^3.9.2 - flutter: ">=3.0.0" - -dependencies: - flutter: - sdk: flutter - ffi: ^2.1.0 - -dev_dependencies: - flutter_test: - sdk: flutter - -flutter: - plugin: - platforms: - ios: - ffiPlugin: true diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/CMakeLists.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/CMakeLists.txt deleted file mode 100644 index fb10d28..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/CMakeLists.txt +++ /dev/null @@ -1,387 +0,0 @@ -# -# Generated sources -# - -set(D ${CMAKE_CURRENT_SOURCE_DIR}/codebook) - -# lsp quantisers (2400/1400/1300 modes) -set(CODEBOOKS - ${D}/lsp1.txt - ${D}/lsp2.txt - ${D}/lsp3.txt - ${D}/lsp4.txt - ${D}/lsp5.txt - ${D}/lsp6.txt - ${D}/lsp7.txt - ${D}/lsp8.txt - ${D}/lsp9.txt - ${D}/lsp10.txt -) - -# lspd quantisers (3200 mode) -set(CODEBOOKSD - ${D}/dlsp1.txt - ${D}/dlsp2.txt - ${D}/dlsp3.txt - ${D}/dlsp4.txt - ${D}/dlsp5.txt - ${D}/dlsp6.txt - ${D}/dlsp7.txt - ${D}/dlsp8.txt - ${D}/dlsp9.txt - ${D}/dlsp10.txt -) - -# LSP VQ (1200 mode) -set(CODEBOOKSJMV - ${D}/lspjmv1.txt - ${D}/lspjmv2.txt - ${D}/lspjmv3.txt -) - -# Joint Wo-energy VQ (1200 mode) -set(CODEBOOKSGE ${D}/gecb.txt) - -# 700C two stage VQ -set(CODEBOOKSNEWAMP1 - ${D}/train_120_1.txt - ${D}/train_120_2.txt -) - -set(CODEBOOKSNEWAMP1_ENERGY - ${D}/newamp1_energy_q.txt -) - -# 450 mode two stage VQ -set(CODEBOOKSNEWAMP2 - ${D}/codes_450.txt -) - -set(CODEBOOKSNEWAMP2_ENERGY - ${D}/newamp2_energy_q.txt -) - -# when crosscompiling we need a native executable -if(CMAKE_CROSSCOMPILING) - set(CMAKE_DISABLE_SOURCE_CHANGES OFF) - include(ExternalProject) - ExternalProject_Add(codec2_native - SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/.. - BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/codec2_native - BUILD_COMMAND ${CMAKE_COMMAND} --build . --target generate_codebook - INSTALL_COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/codec2_native/src/generate_codebook ${CMAKE_CURRENT_BINARY_DIR} - BUILD_BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/generate_codebook - ) - add_executable(generate_codebook IMPORTED) - set_target_properties(generate_codebook PROPERTIES - IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/generate_codebook) - add_dependencies(generate_codebook codec2_native) - set(CMAKE_DISABLE_SOURCE_CHANGES ON) -else(CMAKE_CROSSCOMPILING) -# Build code generator binaries. These do not get installed. - # generate_codebook - add_executable(generate_codebook generate_codebook.c) - target_link_libraries(generate_codebook m) - # Make native builds available for cross-compiling. - export(TARGETS generate_codebook - FILE ${CMAKE_BINARY_DIR}/ImportExecutables.cmake) -endif(CMAKE_CROSSCOMPILING) - - -# codebook.c -add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/codebook.c - COMMAND generate_codebook lsp_cb ${CODEBOOKS} > ${CMAKE_CURRENT_BINARY_DIR}/codebook.c - DEPENDS generate_codebook ${CODEBOOKS} -) - -# codebookd.c -add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/codebookd.c - COMMAND generate_codebook lsp_cbd ${CODEBOOKSD} > ${CMAKE_CURRENT_BINARY_DIR}/codebookd.c - DEPENDS generate_codebook ${CODEBOOKSD} -) - -# codebookjmv.c -add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/codebookjmv.c - COMMAND generate_codebook lsp_cbjmv ${CODEBOOKSJMV} > ${CMAKE_CURRENT_BINARY_DIR}/codebookjmv.c - DEPENDS generate_codebook ${CODEBOOKSJMV} -) - -# codebookge.c -add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/codebookge.c - COMMAND generate_codebook ge_cb ${CODEBOOKSGE} > ${CMAKE_CURRENT_BINARY_DIR}/codebookge.c - DEPENDS generate_codebook ${CODEBOOKSGE} -) - -# codebooknewamp1.c -add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/codebooknewamp1.c - COMMAND generate_codebook newamp1vq_cb ${CODEBOOKSNEWAMP1} > ${CMAKE_CURRENT_BINARY_DIR}/codebooknewamp1.c - DEPENDS generate_codebook ${CODEBOOKSNEWAMP1} -) - -# codebooknewamp1_energy.c -add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/codebooknewamp1_energy.c - COMMAND generate_codebook newamp1_energy_cb ${CODEBOOKSNEWAMP1_ENERGY} > ${CMAKE_CURRENT_BINARY_DIR}/codebooknewamp1_energy.c - DEPENDS generate_codebook ${CODEBOOKSNEWAMP1_ENERGY} -) - -# codebooknewamp2.c -add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/codebooknewamp2.c - COMMAND generate_codebook newamp2vq_cb ${CODEBOOKSNEWAMP2} > ${CMAKE_CURRENT_BINARY_DIR}/codebooknewamp2.c - DEPENDS generate_codebook ${CODEBOOKSNEWAMP2} -) - -# codebooknewamp2_energy.c -add_custom_command( - OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/codebooknewamp2_energy.c - COMMAND generate_codebook newamp2_energy_cb ${CODEBOOKSNEWAMP2_ENERGY} > ${CMAKE_CURRENT_BINARY_DIR}/codebooknewamp2_energy.c - DEPENDS generate_codebook ${CODEBOOKSNEWAMP2_ENERGY} -) - -# -# codec2 library sources -# - -set(CODEC2_SRCS - dump.c - lpc.c - nlp.c - postfilter.c - sine.c - codec2.c - codec2_fft.c - cohpsk.c - codec2_fifo.c - fdmdv.c - fm.c - fsk.c - fmfsk.c - kiss_fft.c - kiss_fftr.c - linreg.c - interp.c - lsp.c - mbest.c - newamp1.c - ofdm.c - ofdm_mode.c - phase.c - quantise.c - pack.c - codebook.c - codebookd.c - codebookjmv.c - codebookge.c - codebooknewamp1.c - codebooknewamp1_energy.c - codebooknewamp2.c - codebooknewamp2_energy.c - golay23.c - freedv_api.c - freedv_1600.c - freedv_700.c - freedv_2020.c - freedv_fsk.c - freedv_vhf_framing.c - freedv_data_channel.c - varicode.c - modem_stats.c - ofdm.c - mpdecode_core.c - phi0.c - gp_interleaver.c - interldpc.c - filter.c - HRA_112_112.c - HRA_56_56.c - HRAb_396_504.c - H_256_768_22.c - H_256_512_4.c - HRAa_1536_512.c - H_128_256_5.c - H_2064_516_sparse.c - H_4096_8192_3d.c - H_16200_9720.c - H_1024_2048_4f.c - H_212_158.c - ldpc_codes.c - lpcnet_freq.c - reliable_text.c -) - -set(CODEC2_PUBLIC_HEADERS - codec2.h - codec2_fdmdv.h - codec2_cohpsk.h - codec2_fm.h - codec2_ofdm.h - fsk.h - codec2_fifo.h - comp.h - modem_stats.h - freedv_api.h - reliable_text.h - codec2_math.h - ${CODEC2_VERSION_PATH}/version.h -) - -# -# Debug options -# -#add_definitions(-DDEBUG_ALLOC) - -# -# Setup the codec2 library -# -# Patch level version bumps should not change API/ABI. -set(SOVERSION "${CODEC2_VERSION_MAJOR}.${CODEC2_VERSION_MINOR}") -message(STATUS "codec2 version: ${CODEC2_VERSION}") -add_library(codec2 ${CODEC2_SRCS}) -if(UNIX) - target_link_libraries(codec2 PUBLIC m) -endif(UNIX) -if(LPCNET AND lpcnetfreedv_FOUND) - target_link_libraries(codec2 PRIVATE lpcnetfreedv) -endif() -include_directories(${CMAKE_CURRENT_SOURCE_DIR}) -set_target_properties(codec2 PROPERTIES - SOVERSION ${SOVERSION} - PUBLIC_HEADER "${CODEC2_PUBLIC_HEADERS}" -) - -# Required include directories for export -target_include_directories(codec2 INTERFACE - $ - $ - $ -) - -# Export config for import from full install -install(EXPORT codec2-config - DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/codec2 -) - -# Export config for import from build tree. -export(TARGETS codec2 - FILE ${CMAKE_BINARY_DIR}/codec2.cmake -) - -add_executable(c2enc c2enc.c) -target_link_libraries(c2enc codec2) - -add_executable(c2dec c2dec.c) -target_link_libraries(c2dec codec2) - -add_executable(c2sim c2sim.c sd.c) -target_link_libraries(c2sim codec2) - -add_executable(fdmdv_get_test_bits fdmdv_get_test_bits.c fdmdv.c kiss_fft.c codec2_fft.c kiss_fftr.c) -target_link_libraries(fdmdv_get_test_bits m) - -add_executable(fdmdv_mod fdmdv_mod.c fdmdv.c kiss_fft.c codec2_fft.c kiss_fftr.c) -target_link_libraries(fdmdv_mod m) - -add_executable(fdmdv_demod fdmdv_demod.c fdmdv.c kiss_fft.c octave.c modem_stats.c codec2_fft.c kiss_fftr.c) -target_link_libraries(fdmdv_demod m) - -add_executable(fdmdv_put_test_bits fdmdv_put_test_bits.c fdmdv.c kiss_fft.c codec2_fft.c kiss_fftr.c) -target_link_libraries(fdmdv_put_test_bits m) - -add_executable(freedv_tx freedv_tx.c) -target_link_libraries(freedv_tx codec2) - -add_executable(freedv_rx freedv_rx.c) -target_link_libraries(freedv_rx codec2) - -add_executable(freedv_data_raw_tx freedv_data_raw_tx.c) -target_link_libraries(freedv_data_raw_tx codec2) - -add_executable(freedv_data_raw_rx freedv_data_raw_rx.c octave.c) -target_link_libraries(freedv_data_raw_rx codec2) - -add_executable(freedv_data_tx freedv_data_tx.c) -target_link_libraries(freedv_data_tx codec2) - -add_executable(freedv_data_rx freedv_data_rx.c) -target_link_libraries(freedv_data_rx codec2) - -add_executable(freedv_mixed_tx freedv_mixed_tx.c) -target_link_libraries(freedv_mixed_tx codec2) - -add_executable(freedv_mixed_rx freedv_mixed_rx.c) -target_link_libraries(freedv_mixed_rx codec2) - -add_executable(fsk_mod fsk_mod.c) -target_link_libraries(fsk_mod codec2) - -add_executable(fsk_demod fsk_demod.c modem_probe.c octave.c) -target_link_libraries(fsk_demod codec2) - -add_executable(fsk_get_test_bits fsk_get_test_bits.c) -target_link_libraries(fsk_get_test_bits) - -add_executable(fsk_put_test_bits fsk_put_test_bits.c) -target_link_libraries(fsk_put_test_bits codec2) - -add_executable(framer framer.c) -target_link_libraries(framer) - -add_executable(deframer deframer.c) -target_link_libraries(deframer) - -add_executable(cohpsk_mod cohpsk_mod.c) -target_link_libraries(cohpsk_mod codec2) - -add_executable(ofdm_get_test_bits ofdm_get_test_bits.c) -target_link_libraries(ofdm_get_test_bits codec2) - -add_executable(ofdm_put_test_bits ofdm_put_test_bits.c) -target_link_libraries(ofdm_put_test_bits codec2) - -add_executable(ofdm_mod ofdm_mod.c) -target_link_libraries(ofdm_mod codec2) - -add_executable(ofdm_demod ofdm_demod.c octave.c) -target_link_libraries(ofdm_demod codec2) - -add_executable(vhf_deframe_c2 vhf_deframe_c2.c) -target_link_libraries(vhf_deframe_c2 codec2) - -add_executable(vhf_frame_c2 vhf_frame_c2.c) -target_link_libraries(vhf_frame_c2 codec2) - -add_executable(cohpsk_demod cohpsk_demod.c octave.c) -target_link_libraries(cohpsk_demod codec2) - -add_executable(cohpsk_get_test_bits cohpsk_get_test_bits.c) -target_link_libraries(cohpsk_get_test_bits codec2) - -add_executable(cohpsk_put_test_bits cohpsk_put_test_bits.c octave.c) -target_link_libraries(cohpsk_put_test_bits codec2) - -add_executable(ch ch.c) -target_link_libraries(ch codec2) - -add_executable(tollr tollr.c) - -add_executable(ldpc_noise ldpc_noise.c) -target_link_libraries(ldpc_noise m) - -add_executable(ldpc_enc ldpc_enc.c) -target_link_libraries(ldpc_enc codec2) - -add_executable(ldpc_dec ldpc_dec.c) -target_link_libraries(ldpc_dec codec2) - -install(TARGETS codec2 EXPORT codec2-config - LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib - ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT lib - RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/codec2 COMPONENT dev -) diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H2064_516_sparse_test.h b/vendor/codec2_flutter_ios_only/src/codec2/src/H2064_516_sparse_test.h deleted file mode 100644 index 53239a1..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H2064_516_sparse_test.h +++ /dev/null @@ -1,1918 +0,0 @@ -/* - FILE....: ../src/H2064_516_sparse.h - - Static arrays for CML LDPC codec, generated - by test_ldpc_fsk.m:simple_ut(). - -*/ - -#define NUMBERPARITYBITS 516 -#define MAX_ROW_WEIGHT 12 -#define CODELENGTH 2580 -#define NUMBERROWSHCOLS 2064 -#define MAX_COL_WEIGHT 3 -#define DEC_TYPE 0 -#define MAX_ITER 10 - -#include - -uint16_t H_rows[] = { - 870, 276, 110, 54, 226, 85, 59, 153, 31, 60, 46, 75, - 139, 239, 56, 13, 30, 45, 63, 34, 54, 21, 77, 204, - 441, 11, 297, 126, 148, 104, 269, 57, 369, 213, 117, 479, - 53, 124, 405, 97, 42, 132, 67, 103, 389, 156, 237, 105, - 418, 11, 60, 12, 195, 32, 11, 21, 10, 191, 176, 237, - 140, 376, 115, 9, 149, 304, 129, 308, 234, 129, 453, 215, - 176, 213, 151, 169, 41, 106, 421, 103, 83, 62, 124, 3, - 574, 39, 31, 472, 69, 8, 40, 352, 62, 275, 74, 121, - 125, 35, 83, 52, 21, 422, 229, 233, 62, 125, 181, 175, - 28, 43, 113, 340, 71, 4, 40, 249, 134, 168, 97, 15, - 26, 135, 104, 80, 206, 108, 307, 494, 358, 82, 159, 137, - 19, 210, 6, 19, 65, 285, 45, 154, 276, 14, 137, 79, - 241, 235, 116, 129, 84, 3, 122, 370, 132, 451, 77, 89, - 262, 79, 170, 469, 24, 163, 128, 18, 120, 244, 8, 153, - 151, 441, 95, 327, 284, 96, 84, 35, 61, 286, 20, 22, - 68, 131, 106, 30, 280, 343, 99, 124, 262, 208, 277, 44, - 349, 41, 10, 761, 39, 445, 165, 81, 393, 194, 18, 250, - 589, 70, 307, 1, 365, 47, 4, 9, 283, 133, 90, 601, - 117, 228, 212, 58, 420, 230, 142, 25, 57, 518, 88, 180, - 24, 122, 379, 143, 33, 30, 140, 68, 150, 320, 55, 33, - 132, 2, 22, 16, 272, 44, 264, 49, 174, 234, 86, 39, - 10, 278, 177, 178, 20, 126, 18, 90, 6, 184, 158, 111, - 246, 229, 221, 48, 267, 6, 172, 49, 291, 185, 67, 50, - 157, 66, 32, 525, 257, 196, 260, 92, 72, 163, 144, 329, - 134, 156, 47, 82, 49, 391, 26, 1, 88, 52, 56, 8, - 111, 138, 219, 57, 447, 182, 263, 38, 98, 75, 36, 83, - 245, 5, 419, 63, 12, 287, 603, 58, 507, 37, 2, 214, - 539, 55, 53, 81, 186, 73, 85, 97, 91, 332, 123, 66, - 188, 591, 158, 324, 88, 53, 214, 84, 389, 104, 271, 211, - 7, 393, 281, 242, 119, 848, 705, 428, 50, 28, 52, 15, - 5, 2, 230, 38, 76, 295, 217, 1, 56, 170, 145, 5, - 72, 460, 203, 145, 211, 121, 68, 538, 44, 133, 87, 494, - 325, 161, 781, 370, 51, 115, 262, 106, 614, 29, 220, 189, - 224, 165, 17, 72, 46, 17, 64, 19, 447, 13, 9, 270, - 4, 91, 471, 35, 23, 407, 34, 38, 82, 321, 112, 195, - 651, 7, 43, 431, 249, 171, 196, 311, 15, 66, 16, 633, - 37, 94, 102, 23, 3, 214, 252, 256, 173, 316, 125, 96, - 341, 71, 73, 338, 256, 165, 140, 108, 471, 434, 137, 642, - 172, 51, 113, 67, 172, 93, 23, 318, 514, 50, 118, 245, - 169, 14, 64, 40, 859, 95, 308, 65, 93, 42, 339, 46, - 7, 96, 142, 36, 131, 60, 13, 12, 25, 31, 183, 94, - 43, 241, 162, 26, 232, 120, 128, 118, 89, 164, 51, 29, - 127, 177, 180, 95, 332, 284, 32, 802, 452, 25, 382, 187, - 892, 432, 162, 126, 587, 342, 205, 170, 255, 73, 605, 579, - 398, 305, 58, 110, 178, 244, 306, 178, 166, 28, 368, 224, - 582, 135, 420, 618, 264, 234, 346, 223, 439, 399, 150, 655, - 242, 248, 750, 199, 242, 277, 112, 163, 545, 359, 487, 322, - 570, 64, 402, 412, 252, 116, 147, 109, 27, 197, 204, 251, - 282, 455, 118, 390, 225, 382, 215, 373, 554, 371, 568, 289, - 225, 405, 160, 414, 290, 109, 524, 406, 344, 188, 385, 33, - 791, 261, 171, 475, 100, 183, 156, 564, 78, 395, 144, 497, - 334, 45, 167, 79, 27, 520, 239, 449, 138, 347, 667, 572, - 61, 278, 136, 375, 231, 320, 167, 304, 389, 185, 171, 109, - 468, 243, 206, 210, 305, 160, 682, 514, 433, 152, 375, 1064, - 48, 522, 139, 98, 191, 557, 127, 189, 372, 54, 515, 406, - 370, 950, 549, 352, 319, 27, 489, 440, 636, 941, 153, 102, - 268, 120, 190, 719, 451, 175, 539, 477, 279, 474, 17, 232, - 221, 476, 174, 415, 545, 357, 368, 149, 94, 409, 218, 76, - 87, 136, 114, 245, 596, 408, 335, 246, 511, 560, 438, 298, - 351, 91, 22, 813, 108, 546, 248, 218, 629, 212, 223, 569, - 611, 93, 399, 185, 427, 260, 20, 111, 354, 187, 150, 702, - 316, 666, 541, 227, 558, 486, 207, 450, 224, 568, 222, 341, - 81, 222, 386, 441, 484, 159, 289, 142, 372, 534, 157, 78, - 337, 522, 70, 293, 318, 161, 325, 74, 194, 797, 130, 128, - 70, 386, 657, 611, 105, 456, 230, 100, 61, 274, 358, 135, - 249, 236, 247, 264, 279, 123, 345, 59, 397, 645, 448, 80, - 192, 149, 190, 564, 292, 508, 359, 202, 152, 459, 200, 446, - 293, 512, 103, 154, 229, 492, 145, 256, 828, 55, 296, 133, - 147, 314, 220, 190, 481, 208, 290, 198, 146, 100, 202, 259, - 295, 16, 505, 251, 86, 375, 618, 266, 891, 166, 159, 269, - 850, 127, 397, 759, 494, 141, 567, 339, 119, 336, 162, 98, - 265, 770, 423, 380, 346, 116, 402, 101, 628, 623, 286, 309, - 107, 453, 406, 496, 200, 865, 720, 429, 187, 107, 609, 439, - 90, 48, 330, 59, 87, 632, 323, 219, 101, 865, 203, 14, - 74, 466, 462, 160, 448, 168, 474, 980, 396, 148, 244, 904, - 438, 198, 982, 601, 199, 119, 300, 240, 702, 241, 258, 192, - 291, 227, 34, 698, 78, 107, 123, 89, 704, 114, 274, 461, - 151, 115, 576, 323, 201, 468, 271, 231, 92, 592, 220, 909, - 829, 243, 480, 466, 345, 763, 404, 356, 86, 110, 210, 688, - 353, 271, 740, 226, 352, 247, 288, 758, 338, 426, 235, 405, - 625, 155, 146, 475, 491, 189, 177, 216, 962, 503, 216, 726, - 381, 219, 183, 102, 332, 113, 155, 440, 922, 450, 379, 294, - 301, 36, 80, 75, 875, 462, 547, 69, 330, 186, 527, 92, - 138, 157, 169, 69, 143, 401, 24, 283, 41, 37, 472, 309, - 117, 747, 342, 251, 300, 182, 216, 202, 266, 192, 217, 302, - 660, 360, 663, 130, 355, 367, 47, 1103, 519, 811, 586, 488, - 983, 652, 303, 201, 759, 860, 416, 585, 268, 428, 928, 819, - 821, 379, 340, 493, 260, 752, 599, 314, 182, 444, 612, 369, - 692, 311, 523, 622, 335, 259, 499, 225, 526, 409, 188, 709, - 356, 606, 777, 222, 541, 327, 201, 176, 551, 544, 1008, 372, - 628, 181, 523, 549, 476, 464, 240, 593, 181, 254, 223, 305, - 285, 595, 217, 887, 550, 552, 278, 381, 621, 517, 953, 538, - 265, 581, 313, 540, 366, 626, 647, 511, 467, 508, 890, 63, - 976, 275, 312, 885, 598, 254, 180, 687, 196, 398, 146, 675, - 380, 101, 443, 122, 85, 531, 347, 463, 167, 536, 724, 710, - 288, 351, 232, 387, 424, 650, 363, 544, 540, 248, 279, 121, - 479, 267, 218, 445, 485, 240, 737, 692, 1017, 331, 716, 1130, - 207, 602, 274, 750, 261, 572, 131, 435, 672, 253, 729, 542, - 739, 1062, 731, 619, 328, 65, 769, 502, 898, 966, 158, 211, - 289, 193, 314, 784, 533, 396, 567, 497, 280, 696, 348, 290, - 383, 636, 526, 470, 622, 541, 411, 286, 378, 561, 374, 194, - 349, 166, 143, 390, 697, 533, 570, 304, 615, 709, 476, 679, - 454, 287, 114, 904, 535, 786, 270, 308, 828, 302, 506, 732, - 626, 533, 584, 186, 456, 495, 350, 317, 672, 343, 315, 919, - 367, 820, 548, 296, 614, 635, 209, 543, 350, 733, 239, 376, - 287, 344, 470, 563, 607, 319, 323, 473, 428, 677, 212, 263, - 386, 567, 435, 328, 616, 255, 729, 147, 320, 855, 267, 426, - 261, 458, 977, 670, 173, 478, 366, 112, 71, 419, 968, 139, - 606, 292, 275, 463, 344, 671, 810, 77, 465, 755, 579, 179, - 353, 357, 442, 599, 354, 805, 453, 407, 193, 510, 285, 513, - 583, 645, 325, 173, 621, 573, 423, 479, 912, 130, 300, 227, - 184, 391, 293, 204, 673, 282, 371, 324, 313, 228, 334, 343, - 655, 42, 532, 559, 658, 484, 921, 373, 944, 329, 184, 302, - 861, 205, 414, 771, 606, 312, 652, 503, 413, 415, 238, 449, - 781, 874, 586, 544, 402, 468, 525, 155, 845, 714, 295, 564, - 197, 509, 863, 640, 209, 986, 808, 691, 317, 355, 789, 779, - 281, 141, 594, 336, 105, 682, 360, 299, 559, 876, 608, 315, - 401, 632, 480, 161, 577, 284, 657, 1012, 481, 330, 388, 1011, - 524, 423, 1019, 812, 416, 168, 322, 258, 710, 703, 1027, 195, - 447, 259, 633, 990, 710, 215, 410, 458, 760, 174, 312, 605, - 269, 206, 617, 534, 554, 497, 296, 393, 236, 784, 483, 1189, - 892, 602, 788, 709, 382, 831, 537, 695, 99, 563, 424, 759, - 432, 281, 795, 319, 422, 684, 331, 866, 377, 638, 247, 501, - 711, 463, 475, 631, 507, 310, 298, 252, 1059, 757, 364, 785, - 410, 233, 411, 236, 487, 339, 341, 473, 1022, 527, 515, 700, - 380, 388, 414, 253, 913, 466, 773, 238, 638, 335, 896, 298, - 310, 658, 461, 207, 205, 550, 29, 425, 141, 76, 649, 442, - 322, 832, 730, 307, 385, 401, 268, 301, 311, 306, 291, 364, - 864, 560, 840, 199, 358, 385, 179, 1142, 520, 986, 600, 712, - 1018, 661, 365, 237, 769, 953, 517, 605, 396, 459, 991, 867, - 899, 415, 700, 556, 324, 788, 639, 778, 226, 743, 685, 706, - 883, 362, 970, 785, 387, 376, 734, 392, 730, 448, 250, 731, - 387, 665, 1015, 243, 812, 391, 795, 346, 588, 737, 1077, 874, - 933, 412, 817, 585, 550, 491, 273, 640, 208, 542, 338, 436, - 895, 694, 257, 899, 583, 629, 327, 815, 744, 573, 1226, 727, - 272, 607, 331, 1050, 594, 754, 716, 515, 524, 695, 1086, 297, - 1177, 400, 678, 1004, 648, 294, 555, 780, 316, 486, 689, 679, - 430, 136, 717, 233, 400, 646, 383, 530, 263, 574, 749, 790, - 336, 377, 409, 609, 499, 686, 518, 595, 601, 334, 531, 197, - 485, 348, 424, 701, 579, 500, 1147, 797, 1085, 404, 738, 1200, - 253, 714, 427, 756, 303, 610, 313, 1399, 770, 455, 732, 796, - 824, 1230, 927, 929, 397, 276, 794, 741, 957, 1052, 1002, 213, - 392, 566, 461, 832, 798, 433, 590, 723, 718, 755, 878, 446, - 615, 669, 776, 608, 659, 565, 443, 457, 407, 577, 631, 255, - 365, 399, 152, 766, 814, 556, 640, 1137, 1000, 767, 745, 733, - 1194, 529, 238, 1034, 789, 1314, 436, 493, 853, 492, 654, 809, - 885, 636, 596, 270, 848, 774, 364, 512, 832, 411, 516, 927, - 700, 857, 588, 703, 756, 758, 315, 574, 810, 885, 416, 600, - 690, 417, 501, 626, 707, 581, 377, 916, 660, 808, 587, 265, - 395, 613, 906, 381, 661, 310, 799, 148, 632, 941, 750, 578, - 277, 1065, 1242, 1018, 326, 551, 459, 134, 99, 510, 1097, 198, - 673, 531, 450, 697, 394, 749, 948, 193, 664, 965, 818, 454, - 419, 556, 721, 742, 473, 886, 647, 694, 209, 906, 433, 674, - 620, 666, 464, 446, 634, 728, 430, 630, 990, 435, 371, 534, - 394, 467, 928, 326, 723, 490, 816, 699, 490, 530, 384, 361, - 772, 374, 554, 619, 672, 613, 924, 677, 1079, 404, 367, 337, - 898, 228, 418, 844, 766, 317, 680, 690, 566, 680, 333, 726, - 960, 942, 637, 607, 452, 664, 698, 235, 942, 736, 368, 584, - 362, 650, 871, 683, 328, 1141, 988, 715, 915, 495, 1084, 919, - 613, 179, 888, 355, 144, 1243, 655, 551, 582, 993, 730, 340, - 548, 774, 643, 469, 651, 392, 843, 1196, 590, 573, 545, 1211, - 593, 439, 1027, 869, 586, 442, 762, 502, 758, 822, 1048, 254, - 628, 417, 683, 996, 752, 384, 725, 676, 842, 360, 374, 688, - 353, 549, 661, 648, 584, 624, 348, 530, 250, 1135, 667, 1298, - 1033, 623, 1102, 715, 594, 888, 871, 833, 321, 634, 491, 766, - 505, 297, 1024, 388, 460, 707, 735, 1023, 444, 1098, 629, 505, - 807, 581, 543, 687, 598, 337, 434, 806, 1111, 761, 521, 826, - 547, 257, 434, 412, 688, 577, 363, 839, 1187, 1306, 648, 808, - 504, 760, 429, 309, 916, 503, 777, 403, 1076, 512, 1127, 592, - 351, 692, 711, 474, 587, 558, 487, 498, 326, 164, 902, 456, - 471, 836, 748, 469, 480, 537, 553, 507, 347, 490, 498, 420, - 1010, 598, 1022, 283, 362, 958, 553, 1156, 712, 1108, 718, 753, - 1067, 681, 398, 483, 903, 956, 698, 612, 578, 489, 1294, 990, - 920, 592, 1113, 862, 464, 1435, 835, 788, 280, 957, 795, 743, - 1108, 425, 1026, 879, 488, 701, 931, 610, 741, 1061, 282, 830, - 413, 983, 1159, 1067, 1071, 437, 843, 506, 610, 890, 1133, 1034, - 954, 452, 925, 785, 836, 620, 597, 722, 258, 858, 342, 455, - 927, 706, 299, 1104, 660, 811, 333, 1173, 878, 858, 1336, 816, - 457, 948, 563, 1054, 678, 764, 733, 565, 555, 873, 1150, 485, - 1303, 496, 796, 1218, 823, 634, 624, 878, 686, 684, 879, 1100, - 454, 154, 1002, 357, 822, 676, 740, 578, 350, 1124, 834, 876, - 500, 486, 426, 663, 529, 947, 656, 621, 823, 361, 615, 421, - 585, 417, 538, 707, 656, 861, 1236, 831, 1087, 508, 768, 1269, - 292, 786, 478, 1043, 593, 765, 408, 1439, 806, 528, 801, 912, - 882, 1348, 1050, 1077, 528, 349, 996, 799, 976, 1265, 1100, 674, - 470, 617, 540, 847, 862, 457, 757, 841, 973, 921, 969, 539, - 646, 699, 959, 654, 670, 787, 872, 559, 744, 1276, 666, 273, - 569, 833, 191, 775, 896, 576, 935, 1231, 1046, 923, 804, 949, - 1201, 572, 303, 1162, 827, 1346, 897, 612, 937, 599, 675, 992, - 930, 644, 1151, 301, 1103, 1086, 482, 831, 1130, 472, 753, 1007, - 852, 1054, 635, 705, 955, 823, 425, 596, 962, 908, 445, 880, - 867, 478, 509, 653, 775, 591, 510, 1055, 798, 1021, 740, 294, - 427, 679, 973, 484, 686, 369, 836, 410, 802, 1245, 883, 649, - 431, 1102, 1267, 1262, 557, 1092, 837, 164, 881, 726, 1120, 273, - 697, 1097, 609, 708, 663, 838, 985, 552, 968, 1042, 1044, 483, - 520, 691, 736, 756, 521, 895, 779, 914, 266, 1356, 548, 742, - 964, 888, 481, 877, 685, 791, 437, 696, 991, 825, 643, 708, - 969, 683, 1080, 1001, 1012, 617, 1030, 734, 792, 1069, 504, 394, - 864, 595, 676, 782, 695, 837, 1154, 819, 1104, 437, 413, 383, - 913, 627, 624, 987, 1394, 449, 839, 825, 1054, 1180, 378, 1211, - 1090, 1114, 804, 897, 558, 1032, 746, 246, 1051, 870, 958, 725, - 536, 702, 1035, 971, 356, 1195, 1061, 827, 1090, 526, 1092, 1250, - 1025, 231, 947, 659, 272, 1284, 802, 826, 902, 1040, 870, 345, - 658, 822, 715, 1012, 872, 575, 945, 1232, 805, 720, 580, 1215, - 854, 603, 1074, 1056, 991, 528, 1218, 642, 1060, 1010, 1203, 288, - 978, 884, 762, 1118, 763, 430, 786, 922, 928, 886, 529, 706, - 403, 1104, 693, 868, 815, 670, 366, 546, 378, 1151, 901, 1522, - 1107, 671, 1333, 745, 724, 1230, 1073, 911, 429, 646, 611, 889, - 746, 403, 1032, 616, 637, 1382, 767, 1083, 451, 1212, 803, 1318, - 849, 662, 955, 712, 971, 571, 496, 977, 1145, 1160, 931, 830, - 580, 359, 805, 668, 770, 771, 390, 882, 1329, 1572, 851, 829, - 535, 944, 535, 373, 930, 669, 828, 565, 1219, 620, 1308, 793, - 361, 938, 859, 482, 946, 1186, 742, 591, 846, 221, 906, 641, - 631, 1068, 780, 536, 517, 844, 652, 721, 552, 523, 627, 525, - 1186, 944, 1039, 794, 498, 1076, 654, 1167, 856, 1264, 890, 768, - 1225, 691, 729, 543, 936, 1016, 1210, 656, 604, 608, 1324, 1035, - 1095, 639, 1311, 1281, 877, 1519, 923, 974, 431, 1057, 903, 809, - 1137, 569, 1243, 1118, 880, 720, 1102, 1168, 821, 1193, 432, 999, - 555, 1013, 1375, 1200, 1080, 495, 982, 519, 630, 1066, 1164, 1091, - 1006, 1039, 943, 1195, 1103, 665, 894, 908, 329, 1081, 951, 641, - 1060, 793, 719, 1232, 713, 847, 395, 1213, 1038, 1041, 1587, 984, - 752, 1125, 929, 1095, 988, 940, 845, 603, 623, 875, 1158, 772, - 1503, 506, 816, 1500, 1007, 638, 633, 936, 703, 704, 1173, 1171, - 724, 175, 1051, 604, 1174, 682, 819, 854, 384, 1196, 1249, 1029, - 509, 504, 537, 722, 571, 1121, 739, 838, 1027, 363, 743, 570, - 818, 546, 721, 736, 842, 905, 1372, 932, 1178, 863, 840, 1334, - 299, 855, 499, 1293, 1202, 1061, 689, 1516, 866, 614, 862, 955, - 981, 1511, 1153, 1256, 768, 501, 1044, 1282, 985, 1455, 1235, 711, - 1001, 627, 641, 889, 914, 644, 877, 913, 1149, 1138, 1188, 557, - 871, 787, 1015, 727, 731, 868, 892, 560, 778, 1331, 1025, 318, - 619, 864, 203, 911, 1052, 705, 1079, 1461, 1090, 994, 1023, 1050, - 1535, 625, 999, 1344, 933, 1498, 1045, 939, 1249, 650, 910, 1294, - 951, 649, 1163, 418, 1133, 1089, 493, 1116, 1309, 561, 857, 1073, - 1112, 1223, 909, 807, 989, 1053, 997, 813, 976, 1074, 527, 1070, - 966, 775, 511, 1004, 800, 717, 933, 1120, 900, 1389, 922, 684, - 440, 704, 1106, 668, 767, 757, 847, 936, 835, 1293, 893, 895, - 647, 1269, 1480, 1304, 782, 1166, 952, 566, 1124, 846, 1203, 354, - 893, 1200, 952, 792, 667, 1164, 1003, 718, 1002, 1139, 1163, 1096, - 685, 769, 1003, 977, 532, 1128, 905, 926, 443, 1405, 576, 835, - 1116, 1145, 562, 1063, 737, 883, 639, 790, 1021, 967, 772, 995, - 1165, 754, 1422, 1583, 1075, 997, 1082, 748, 827, 1197, 516, 465, - 1451, 645, 879, 809, 739, 855, 1155, 948, 1117, 460, 465, 791, - 1098, 693, 673, 1087, 1400, 532, 910, 829, 1171, 1214, 400, 1221, - 1603, 1323, 834, 965, 787, 1045, 918, 589, 1074, 1171, 1116, 744, - 905, 931, 1176, 1005, 589, 1238, 1107, 972, 1115, 600, 1181, 1609, - 1105, 521, 1158, 1049, 306, 1389, 804, 963, 971, 1199, 917, 716, - 668, 973, 998, 1174, 903, 590, 1130, 1472, 841, 811, 597, 1399, - 956, 719, 1301, 1083, 1044, 622, 1446, 1097, 1206, 1119, 1345, 604, - 1324, 920, 1129, 1340, 798, 444, 980, 997, 1232, 1087, 884, 1093, - 422, 1135, 909, 1026, 1055, 824, 462, 678, 945, 1234, 1149, 1542, - 1177, 675, 1421, 779, 1013, 1486, 1388, 1191, 514, 1219, 760, 974, - 773, 477, 1190, 784, 674, 1428, 778, 1257, 477, 1252, 901, 1352, - 1037, 1224, 970, 813, 1009, 1162, 519, 1088, 1157, 1409, 1182, 1089, - 755, 438, 1076, 725, 869, 900, 436, 1148, 1421, 1588, 956, 978, - 749, 950, 932, 516, 1046, 814, 865, 588, 1303, 713, 1614, 1024, - 421, 959, 897, 518, 987, 1275, 765, 887, 893, 333, 925, 732, - 635, 1169, 910, 1434, 575, 959, 653, 850, 728, 583, 1093, 542, - 1316, 1031, 1059, 1122, 642, 1121, 891, 1209, 925, 1299, 896, 932, - 1288, 934, 984, 580, 1113, 1413, 1224, 964, 643, 773, 1337, 1663, - 1341, 657, 1357, 1473, 1292, 1551, 970, 1209, 792, 1339, 1141, 1140, - 1320, 616, 1383, 1126, 980, 1014, 1146, 1245, 859, 1298, 513, 1182, - 662, 1014, 1562, 1297, 1151, 502, 1139, 874, 1259, 1645, 1169, 1242, - 1072, 1412, 1115, 1275, 1466, 1239, 1038, 1184, 458, 1094, 1440, 810, - 1352, 1339, 830, 1354, 801, 848, 671, 1300, 1147, 1047, 1625, 1117, - 1046, 1327, 1047, 1237, 1101, 1018, 1016, 745, 1066, 1132, 1221, 841, - 1512, 522, 853, 1535, 1248, 975, 694, 1143, 824, 1009, 1185, 1288, - 908, 200, 1308, 904, 1665, 687, 843, 943, 1199, 1198, 1379, 1168, - 571, 789, 630, 846, 602, 1342, 1350, 995, 1114, 408, 1043, 1304, - 945, 751, 793, 741, 1072, 1006, 1401, 1331, 1296, 1152, 856, 1337, - 321, 881, 937, 1318, 1535, 1560, 806, 1696, 924, 625, 994, 1058, - 996, 1649, 1183, 1442, 1118, 901, 1094, 1408, 1016, 1653, 1259, 800, - 1317, 677, 815, 894, 1017, 1278, 957, 1109, 1284, 1321, 1220, 947, - 1383, 860, 1220, 783, 873, 979, 1025, 1228, 1007, 1417, 1231, 735, - 783, 872, 492, 1028, 1244, 852, 1144, 1645, 1172, 1088, 1110, 1204, - 1622, 738, 1146, 1513, 1106, 1564, 1079, 1021, 1436, 776, 917, 1467, - 1051, 814, 1217, 812, 1174, 1271, 863, 1187, 1461, 644, 1308, 1154, - 1263, 1225, 1121, 867, 1110, 1157, 1139, 989, 1033, 1270, 1163, 1170, - 1037, 880, 803, 1098, 807, 968, 1446, 1235, 1064, 1547, 979, 842, - 500, 838, 1398, 939, 916, 953, 920, 946, 851, 1428, 1210, 960, - 762, 1456, 1519, 1384, 898, 1361, 995, 1100, 1508, 856, 1284, 553, - 1330, 1249, 1258, 1020, 764, 1165, 1179, 1047, 1056, 1285, 1266, 1286, - 853, 1397, 1515, 987, 547, 1296, 1215, 965, 489, 1444, 800, 849, - 1300, 1242, 662, 1085, 818, 918, 748, 954, 1024, 1022, 954, 1109, - 1218, 821, 1431, 1587, 1315, 1081, 1140, 754, 943, 1371, 1003, 840, - 1475, 722, 1081, 1033, 1216, 1254, 1175, 1122, 1203, 728, 488, 1189, - 1377, 1136, 907, 1267, 1416, 751, 1169, 1101, 1289, 1241, 597, 1322, - 1625, 1332, 961, 985, 915, 1128, 1069, 764, 1175, 1177, 1156, 889, - 1075, 1088, 1251, 1031, 738, 1523, 1229, 994, 1489, 637, 1185, 1651, - 1112, 680, 1608, 1197, 513, 1538, 978, 1040, 1000, 1432, 1030, 887, - 833, 1057, 1094, 1565, 1190, 696, 1178, 1556, 1045, 1307, 1294, 1436, - 1096, 747, 1485, 1128, 1430, 664, 1653, 1180, 1597, 1167, 1452, 776, - 1341, 1305, 1142, 1418, 849, 562, 1247, 998, 1391, 1161, 941, 1387, - 912, 1149, 1078, 1029, 1141, 1197, 582, 701, 961, 1423, 1195, 1674, - 1205, 964, 1633, 929, 1127, 1571, 1581, 1291, 681, 1272, 781, 981, - 783, 765, 1295, 974, 1015, 1516, 873, 1324, 482, 1262, 1371, 1648, - 1101, 1240, 1115, 837, 1048, 1301, 763, 1260, 1229, 1426, 1316, 1208, - 963, 1083, 1125, 992, 882, 1034, 467, 1176, 1429, 1610, 1452, 1376, - 753, 1184, 1239, 777, 1291, 1264, 1223, 659, 1378, 797, 1632, 1071, - 575, 1099, 926, 801, 1042, 1322, 1111, 1234, 1112, 979, 962, 993, - 713, 1271, 1008, 1533, 653, 999, 746, 876, 751, 1123, 1319, 693, - 1354, 1209, 1207, 1159, 1250, 1192, 1385, 1350, 952, 1543, 1020, 1067, - 1632, 1119, 1635, 1165, 1161, 1483, 1347, 983, 669, 796, 1412, 1684, - 1374, 886, 1468, 1479, 1594, 1781, 1113, 1274, 969, 1343, 1403, 1261, - 1440, 681, 1424, 1216, 1207, 1210, 1172, 1325, 935, 1414, 1123, 1287, - 1158, 1032, 1589, 1554, 1326, 562, 1313, 949, 1296, 1760, 1260, 1552, - 1129, 1422, 1258, 1542, 1525, 1253, 1089, 1255, 1131, 1220, 1652, 869, - 1410, 1351, 1266, 1518, 868, 884, 1302, 1486, 1362, 1185, 1652, 1172, - 1205, 1388, 1479, 1270, 1224, 1297, 1138, 817, 1170, 1214, 1240, 1153, - 1551, 817, 915, 1553, 1319, 1496, 717, 1194, 850, 1091, 1256, 1541, - 1039, 561, 1358, 938, 1707, 1557, 1368, 1160, 1342, 1404, 1515, 1435, - 727, 790, 1396, 854, 891, 1783, 1365, 1271, 1183, 1400, 1205, 1367, - 1068, 794, 1006, 803, 1485, 1164, 1422, 1502, 1334, 1359, 1215, 1698, - 1042, 1204, 1028, 1458, 1550, 1600, 1111, 1700, 1132, 992, 1134, 1430, - 1049, 1731, 1323, 1555, 1228, 1456, 1099, 1545, 1091, 1685, 1445, 857, - 1612, 735, 1126, 946, 1168, 1399, 1222, 1192, 1373, 1575, 1317, 1073, - 1506, 1143, 1440, 1438, 1263, 1105, 1327, 1256, 1126, 1619, 1265, 924, - 961, 1023, 866, 1070, 1437, 1132, 1487, 1675, 1333, 1423, 1182, 1295, - 1683, 939, 1154, 1617, 1212, 1665, 1414, 1107, 1534, 1282, 1402, 1485, - 1096, 1059, 1495, 981, 1235, 1381, 1017, 1240, 1534, 875, 1561, 1279, - 1354, 1353, 1396, 1243, 1547, 1356, 1166, 1181, 1343, 1285, 1247, 1255, - 1357, 975, 919, 1318, 988, 1477, 1521, 1358, 1206, 1549, 1146, 1117, - 1305, 1019, 1406, 982, 942, 1014, 1075, 1004, 860, 1512, 1241, 1053, - 858, 1620, 1527, 1415, 1251, 1497, 1108, 1166, 1667, 967, 1434, 665, - 1335, 1313, 1406, 1283, 902, 1362, 1358, 1501, 1222, 1427, 1280, 1309, - 984, 1647, 1573, 1449, 618, 1328, 1310, 1120, 844, 1739, 1424, 1246, - 1474, 1561, 699, 1277, 826, 1386, 1257, 1227, 1056, 1189, 975, 1125, - 1329, 917, 1464, 1784, 1405, 1152, 1153, 935, 1092, 1464, 1040, 907, - 1592, 1428, 1136, 1063, 1420, 1390, 1251, 1217, 1268, 1143, 708, 1603, - 1407, 1160, 1207, 1340, 1488, 998, 1315, 1344, 1300, 1365, 1134, 1401, - 1629, 1366, 1008, 1013, 1211, 1179, 1188, 825, 1262, 1393, 1469, 1173, - 1077, 1248, 1417, 1095, 907, 1654, 1320, 1065, 1598, 799, 1601, 1656, - 1190, 714, 1754, 1595, 651, 1647, 1063, 1397, 1157, 1481, 1237, 1060, - 1482, 1287, 1192, 1618, 1394, 1259, 1558, 1635, 1162, 1377, 1803, 1492, - 1476, 774, 1626, 1420, 1504, 689, 1687, 1372, 1616, 1199, 1471, 934, - 1342, 1351, 1261, 1442, 923, 723, 1361, 1084, 1450, 1233, 1011, 1389, - 1338, 1186, 1340, 1110, 1327, 1225, 690, 1483, 1064, 1443, 1258, 1697, - 1213, 966, 1687, 1161, 1314, 1605, 1877, 1477, 747, 1280, 1028, 1138, - 820, 782, 1560, 1038, 1592, 1517, 894, 1586, 568, 1276, 1379, 1753, - 1230, 1749, 1122, 1458, 1080, 1526, 1411, 1309, 1332, 1430, 1381, 1255, - 1648, 1248, 1267, 1459, 914, 1085, 1184, 1180, 1459, 1629, 1463, 1378, - 845, 1343, 1415, 1037, 1292, 1336, 1431, 734, 1426, 1193, 1688, 1279, - 940, 1313, 1036, 1155, 1099, 1406, 1490, 1326, 1556, 1069, 1005, 1142, - 1010, 1273, 1312, 1546, 761, 1624, 1065, 921, 1055, 1134, 1518, 839, - 1435, 1234, 1244, 1238, 1297, 1254, 1494, 1484, 1145, 1604, 1404, 1289, - 1645, 1131, 1658, 1198, 1392, 1557, 1667, 1082, 972, 918, 1432, 1701, - 1637, 1312, 1579, 1680, 1864, 1825, 1194, 1457, 1370, 1411, 1479, 1398, - 1510, 1049, 1447, 1576, 1252, 1290, 1360, 1679, 1070, 1506, 1699, 1359, - 1204, 1222, 1818, 1596, 1363, 834, 1383, 1513, 1499, 1766, 1646, 1629, - 1328, 1423, 1460, 1640, 1923, 1302, 1216, 1364, 1369, 1233, 1739, 1031, - 1624, 1505, 1434, 1630, 1451, 1196, 1548, 1527, 1454, 1520, 1707, 1407, - 1467, 1561, 1604, 1319, 1543, 1456, 1374, 881, 1453, 1323, 1735, 1246, - 1660, 1381, 1188, 1709, 1391, 1532, 771, 1264, 851, 1219, 1322, 1639, - 1144, 960, 1615, 1136, 1732, 1690, 1371, 1433, 1377, 1459, 1571, 1447, - 1058, 1245, 1451, 1053, 949, 1894, 1531, 1305, 1253, 1493, 1303, 1380, - 1581, 1330, 1082, 1036, 1541, 1520, 1437, 1585, 1359, 1425, 1410, 1857, - 1465, 1239, 1208, 1585, 1642, 1807, 1743, 1710, 1167, 1135, 1465, 1513, - 1175, 1759, 1524, 1655, 1348, 1471, 1150, 1581, 1917, 1694, 1545, 911, - 1622, 852, 1348, 1191, 1261, 1410, 1491, 1237, 1401, 1822, 1325, 1457, - 1668, 1236, 1449, 1698, 1270, 1392, 1418, 1486, 1133, 1797, 1503, 1041, - 1198, 1392, 1041, 1632, 1621, 1311, 1638, 1832, 1364, 1452, 1499, 1472, - 1913, 1295, 1208, 1766, 1369, 1780, 1541, 1462, 1545, 1336, 1569, 1693, - 1385, 1276, 1547, 1266, 1338, 1505, 1029, 1493, 1670, 958, 1572, 1607, - 1446, 1634, 1530, 1414, 1704, 1552, 1441, 1653, 1480, 1310, 1712, 1347, - 1403, 1408, 951, 1360, 1213, 1562, 1710, 1419, 1528, 1589, 1443, 1345, - 1636, 1071, 1637, 1026, 1644, 1030, 1638, 1221, 1119, 1570, 1712, 1253, - 989, 1742, 1790, 1537, 1619, 1508, 1150, 1326, 1926, 1470, 1702, 940, - 1733, 1362, 1429, 1299, 938, 1606, 1453, 1568, 1335, 1738, 1564, 1312, - 1275, 1718, 1575, 1528, 937, 1491, 1415, 1179, 900, 1843, 1471, 1345, - 1536, 1573, 930, 1301, 1020, 1482, 1412, 1274, 1105, 1347, 1344, 1764, - 1729, 1062, 1563, 1843, 1532, 1228, 1302, 1273, 1397, 1591, 1391, 1052, - 1662, 1470, 1181, 1425, 1427, 1578, 1263, 1395, 1292, 1317, 899, 1808, - 1539, 1650, 1231, 1376, 1515, 1001, 1330, 1603, 1331, 1419, 1369, 1444, - 1709, 1374, 1068, 1019, 1306, 1298, 1293, 1011, 1831, 1502, 1590, 1238, - 1148, 1269, 1555, 1114, 1036, 1740, 1325, 1405, 1670, 1062, 1773, 1688, - 1335, 1476, 1827, 1723, 820, 1748, 1072, 1536, 1398, 1732, 1587, 1400, - 1529, 1355, 1304, 1651, 1722, 1268, 1673, 1800, 1178, 1503, 1847, 1656, - 1497, 1595, 1689, 1576, 1740, 963, 1822, 1393, 1743, 1246, 1499, 1106, - 1356, 1387, 1367, 1745, 1009, 780, 1458, 1206, 1673, 1250, 1662, 1611, - 1555, 1193, 1353, 1597, 1559, 1445, 1187, 1677, 1155, 1464, 1497, 1713, - 1357, 1450, 1696, 1257, 1339, 1685, 1894, 1615, 1733, 1315, 1364, 1363, - 1418, 1123, 1738, 1445, 1620, 1660, 1156, 1599, 926, 1507, 1640, 1763, - 1289, 1791, 1648, 1601, 1321, 1544, 1577, 1683, 1376, 1543, 1540, 1361, - 1666, 1273, 1433, 1504, 993, 1265, 1288, 1454, 1482, 1736, 1481, 1439, - 1286, 1467, 1461, 1474, 1510, 1489, 1681, 934, 1643, 1606, 1791, 1491, - 1341, 1429, 1127, 1227, 1299, 1600, 1904, 1395, 1588, 1084, 1057, 1183, - 1252, 1283, 1478, 1611, 1320, 1851, 1355, 1223, 1147, 1403, 1576, 1035, - 1460, 1260, 1641, 1538, 1368, 1475, 1511, 1672, 1329, 1764, 1426, 1353, - 1691, 1214, 1915, 1247, 1538, 1658, 1716, 1689, 1000, 986, 1884, 1975, - 1730, 1899, 1623, 1834, 1981, 1952, 1473, 1490, 1529, 1557, 1748, 1544, - 1617, 1720, 1690, 1667, 1630, 1641, 1678, 1750, 1367, 1525, 1786, 1447, - 1395, 1390, 1826, 1598, 1427, 861, 1582, 1658, 1878, 1768, 1651, 1699, - 1532, 1498, 1529, 1765, 1939, 1384, 1723, 1872, 1758, 1438, 1742, 1093, - 1657, 1759, 1650, 1634, 1519, 1290, 1569, 1573, 1591, 1643, 1928, 1411, - 1786, 1582, 1661, 1521, 1657, 1609, 1633, 972, 1468, 1644, 1776, 1388, - 1692, 1409, 1278, 1812, 1631, 1873, 1310, 1272, 1109, 1333, 1522, 1722, - 1612, 1048, 1741, 1674, 1755, 1711, 1568, 1437, 1484, 1567, 1746, 1583, - 1148, 1307, 1570, 1314, 950, 1906, 1654, 1379, 1494, 1518, 1455, 1393, - 1703, 1390, 1606, 1226, 1669, 1580, 1692, 1719, 1366, 1438, 1433, 1982, - 1514, 1676, 1609, 1742, 1690, 1819, 1763, 1730, 1321, 1566, 2031, 1680, - 1741, 1839, 1762, 1925, 1536, 1524, 1283, 1723, 1924, 1706, 1558, 1375, - 1758, 1417, 1691, 1350, 1727, 1475, 1537, 1457, 1506, 1917, 1386, 1695, - 1753, 1355, 1756, 1775, 1613, 1563, 1425, 1488, 1176, 1827, 1556, 1131, - 1349, 1448, 1281, 1749, 1664, 1572, 1744, 1860, 1813, 1762, 1642, 1689, - 1928, 1570, 1878, 1890, 1739, 1809, 1799, 1663, 1591, 1495, 1695, 1762, - 1580, 1306, 1879, 1462, 1413, 1637, 1078, 1567, 1785, 1078, 1659, 1801, - 1530, 1769, 1579, 1549, 1747, 1682, 1796, 1668, 1727, 1822, 1836, 1378, - 1551, 1501, 1810, 1478, 1278, 1574, 1764, 1533, 1627, 1714, 1489, 1480, - 1726, 1584, 1643, 1387, 1655, 1058, 1720, 1370, 1595, 1795, 1832, 1843, - 1212, 1871, 1840, 1886, 1831, 1720, 1272, 1765, 1956, 1496, 1855, 1144, - 1830, 1404, 1593, 1507, 967, 1768, 1671, 1842, 1469, 1829, 1593, 1621, - 1516, 1763, 1612, 1982, 1124, 1613, 1715, 1375, 1311, 1844, 1509, 1448, - 1542, 1660, 1005, 1490, 1408, 1620, 1707, 1277, 1568, 1373, 1887, 1827, - 1778, 1510, 1782, 1886, 1537, 1424, 1402, 1282, 1496, 1681, 1649, 1286, - 1858, 1566, 1622, 1972, 1562, 1868, 1316, 1754, 1725, 1559, 1086, 1873, - 1594, 1792, 1351, 1579, 1889, 1043, 1380, 1789, 1588, 1481, 1487, 1650, - 1717, 1602, 1413, 1226, 1370, 1368, 1346, 1493, 1902, 1554, 1713, 1564, - 1244, 1432, 1597, 1328, 1285, 1828, 1484, 1466, 1719, 1550, 1909, 1854, - 1582, 1596, 1903, 1751, 1530, 1905, 1227, 1771, 1605, 1807, 1777, 1738, - 1592, 1460, 1507, 1708, 1745, 1385, 1686, 1869, 1277, 1517, 1867, 1776, - 1846, 1809, 1803, 1674, 1748, 1191, 1837, 1420, 1754, 1274, 1644, 1201, - 1366, 1450, 1402, 1757, 1140, 1500, 1465, 1509, 1793, 1352, 1804, 1702, - 1560, 1431, 1549, 1679, 1769, 1615, 1229, 1740, 1775, 1534, 1498, 1757, - 1416, 1567, 1711, 1360, 1472, 1705, 1923, 1782, 1746, 1767, 1575, 1531, - 1628, 1772, 1868, 1771, 1628, 1719, 1287, 1623, 1900, 1709, 1703, 1840, - 1382, 1841, 1808, 1860, 1788, 1652, 1687, 1810, 1488, 1661, 1867, 1476, - 1785, 1646, 1468, 1611, 1159, 1492, 1291, 1463, 1716, 1778, 1669, 1448, - 1539, 1633, 1511, 1523, 1672, 1821, 1718, 1349, 1875, 1659, 1835, 1558, - 1520, 1670, 1639, 1540, 1885, 1779, 1972, 1531, 1874, 1627, 1202, 1639, - 1553, 1540, 1539, 1646, 1439, 1856, 1444, 1279, 1241, 1952, 1701, 1280, - 1616, 1332, 1692, 1664, 1373, 1781, 1733, 1995, 1571, 1777, 1593, 1578, - 1869, 1233, 1916, 1504, 1849, 1704, 1729, 1896, 1953, 1449, 1899, 2007, - 1744, 2003, 1875, 1935, 2016, 1993, 1527, 1788, 1734, 1726, 1823, 1636, - 1619, 1734, 1755, 1829, 1773, 1799, 1700, 1947, 1938, 1647, 1789, 1550, - 1396, 1590, 1964, 1951, 1634, 1066, 1856, 1717, 1988, 1791, 1664, 1977, - 1544, 1715, 1563, 1801, 1988, 1725, 1815, 1921, 1897, 1442, 1831, 1217, - 1752, 1866, 1861, 1659, 1706, 1724, 1678, 1714, 1724, 1958, 2036, 1487, - 1978, 1657, 1997, 1800, 1895, 1708, 1811, 1678, 1705, 1962, 1927, 1699, - 1694, 1625, 1501, 1844, 1686, 1958, 1614, 1307, 1129, 1407, 1683, 1835, - 1800, 1152, 1793, 1879, 1820, 1747, 1598, 1922, 1553, 1768, 1811, 1838, - 1290, 1953, 1781, 1610, 1626, 1936, 1751, 1665, 1584, 1823, 1816, 1758, - 1932, 1454, 1793, 1436, 1817, 1675, 1697, 1927, 1655, 1546, 1677, 2003, - 1666, 1735, 1811, 1808, 1813, 1834, 1850, 1821, 1565, 1975, 2045, 1816, - 1809, 1951, 1862, 2048, 1911, 1686, 1441, 1878, 1976, 1865, 1906, 1608, - 1871, 1469, 1803, 1932, 1798, 1862, 1881, 1577, 1802, 1979, 1455, 1977, - 1820, 1495, 1816, 1907, 1784, 1774, 1789, 1743, 1533, 1830, 1684, 1201, - 1548, 1566, 1334, 1776, 1724, 1752, 1880, 1908, 1863, 1898, 1925, 1693, - 2033, 1799, 1910, 1893, 1928, 1833, 1841, 1706, 1801, 1599, 1737, 1934, - 1688, 2035, 1885, 1796, 1807, 1881, 1419, 1901, 1948, 1137, 1685, 1848, - 1624, 1829, 1868, 1630, 1819, 1772, 1946, 1787, 1805, 1941, 1854, 1554, - 1722, 1729, 1877, 1863, 1736, 1626, 1918, 1631, 1628, 1986, 1616, 1679, - 1820, 1869, 1756, 1662, 1876, 1380, 1815, 1914, 1680, 1956, 1870, 1947, - 1421, 1886, 1936, 1911, 1918, 1728, 1346, 1769, 2021, 1601, 1912, 1548, - 1835, 1502, 1605, 1927, 1372, 1865, 1673, 1891, 1494, 1882, 1779, 1814, - 1940, 1806, 1759, 2011, 1441, 1623, 1846, 1514, 1663, 2033, 1552, 1819, - 1574, 1850, 1671, 1702, 1757, 1756, 1836, 1384, 1980, 1640, 2038, 2006, - 1794, 1805, 1785, 1955, 1580, 1930, 1583, 1526, 1523, 1833, 1725, 1462, - 1883, 1682, 1794, 1995, 1892, 1874, 1349, 1818, 1730, 1604, 1170, 1890, - 1777, 1806, 1701, 1589, 1911, 1254, 1526, 1942, 1825, 1514, 1966, 1780, - 1864, 1671, 1817, 1677, 1443, 1855, 1569, 1922, 1934, 1712, 1931, 1765, - 1888, 1463, 1627, 1505, 1492, 1870, 1590, 1565, 1922, 1698, 1956, 1985, - 2006, 1635, 1931, 1899, 1600, 1973, 1268, 1823, 1710, 1867, 1916, 1804, - 1642, 1466, 1767, 1832, 1996, 1672, 1824, 1921, 1924, 1838, 1904, 1908, - 1861, 1960, 1998, 1728, 1760, 1394, 1993, 1546, 1974, 1525, 1847, 1202, - 1613, 1453, 1602, 1826, 1875, 1594, 1596, 1753, 1970, 1478, 2055, 1853, - 1713, 1474, 1797, 1682, 1943, 1745, 1830, 1814, 1897, 1621, 1817, 1802, - 1617, 1649, 1978, 1500, 1483, 1804, 2040, 1983, 1775, 1893, 1636, 1896, - 1774, 1784, 1903, 1782, 1783, 1852, 1894, 1770, 1924, 2020, 1926, 1929, - 1714, 2009, 1989, 1865, 1898, 1737, 1945, 1847, 1696, 1767, 1907, 1715, - 1849, 1967, 1694, 1747, 1337, 1608, 1363, 1676, 1734, 1859, 1755, 1470, - 1584, 1957, 1919, 1528, 1788, 1900, 1741, 1508, 1971, 1749, 1937, 1970, - 1941, 1794, 1693, 1721, 1991, 1915, 1997, 1824, 1942, 1996, 1236, 1669, - 1887, 1654, 1982, 1898, 1761, 1883, 1700, 1521, 1681, 2011, 1751, 1281, - 1684, 1607, 1845, 1860, 1524, 1844, 1901, 1999, 1760, 1940, 1705, 1736, - 1987, 1721, 2033, 2024, 1990, 2047, 1965, 2018, 2044, 1473, 1920, 2030, - 1968, 2045, 2025, 1995, 2054, 2017, 1559, 1876, 1891, 1871, 2013, 1949, - 1821, 1892, 1834, 1946, 1778, 1880, 1864, 2042, 2016, 2026, 1945, 2031, - 1574, 1853, 1980, 2034, 2056, 2012, 1912, 1812, 2031, 1836, 1992, 2058, - 1941, 1814, 2007, 2051, 2048, 2044, 1880, 1926, 2047, 1761, 1839, 1365, - 1772, 1986, 1985, 1905, 2060, 1909, 1857, 1944, 1826, 2000, 2050, 2023, - 2020, 1931, 2023, 2043, 2005, 1967, 1872, 1907, 1944, 1981, 1965, 1999, - 1711, 1916, 1517, 1958, 1954, 2023, 1961, 2064, 1798, 1577, 1930, 1896, - 1859, 1382, 1987, 2039, 2037, 1787, 1666, 1984, 1602, 1933, 2008, 2057, - 1338, 1976, 2038, 1971, 1950, 1954, 1991, 1828, 1695, 1845, 1873, 1889, - 2037, 1641, 1961, 1731, 1884, 1881, 1914, 1978, 1783, 1925, 1882, 2010, - 2062, 1846, 1921, 2029, 2046, 1910, 2026, 1953, 1607, 2063, 2059, 2000, - 1884, 2008, 2014, 2052, 2015, 1848, 1716, 2003, 2036, 2006, 1932, 1973, - 1976, 1522, 2028, 2059, 1917, 1947, 2027, 1954, 1964, 2059, 2035, 1999, - 1910, 1893, 1877, 1933, 1934, 2019, 1858, 1990, 2037, 1876, 1903, 1792, - 1966, 2025, 1509, 1853, 1908, 1837, 2044, 1914, 1938, 1913, 2004, 1824, - 2047, 1856, 1938, 2032, 2022, 1870, 1912, 1779, 2039, 2049, 1761, 1983, - 1950, 2054, 2002, 1959, 1848, 1919, 1790, 1993, 1967, 1900, 1718, 1897, - 2019, 2051, 2053, 1838, 1930, 1918, 2015, 2036, 1904, 1962, 1890, 1852, - 1845, 2009, 2050, 2004, 2032, 1883, 2057, 2028, 2040, 2056, 1851, 1737, - 1939, 1872, 1939, 1975, 1988, 1676, 1919, 1994, 2019, 1984, 1885, 2005, - 1812, 2008, 2040, 1957, 2028, 1842, 2032, 2039, 2062, 1828, 1992, 1746, - 1841, 1980, 1940, 1994, 1416, 1937, 1866, 1996, 1866, 1929, 2013, 1815, - 2064, 1959, 2012, 2022, 1735, 1727, 1950, 1981, 1991, 2043, 1929, 1920, - 1578, 1859, 1960, 1949, 1852, 1955, 1966, 2018, 2063, 1656, 2055, 2041, - 1969, 2046, 1905, 2017, 1726, 1943, 1717, 2009, 1802, 2062, 1750, 1675, - 1990, 1963, 1795, 2061, 1998, 2042, 1770, 2049, 1862, 1668, 2056, 2000, - 1987, 2002, 1797, 1882, 1963, 1512, 1708, 1949, 1901, 1935, 1997, 1971, - 2017, 2054, 1920, 1691, 1585, 2001, 2005, 1963, 2015, 1933, 2026, 1909, - 1913, 1704, 1798, 1962, 1610, 2024, 1969, 1810, 1994, 1703, 2055, 2021, - 2030, 2024, 1986, 1906, 1825, 2002, 1770, 1855, 1837, 2014, 2010, 1849, - 1697, 1661, 1863, 1935, 2052, 1957, 2058, 1937, 2061, 2035, 2045, 1984, - 1888, 1965, 2058, 1854, 2007, 1842, 2060, 1888, 1989, 1599, 2014, 1638, - 2027, 1731, 2012, 1891, 1936, 1614, 1618, 1806, 2030, 1586, 2057, 1968, - 1974, 1477, 1959, 1840, 1973, 1970, 1955, 1951, 1998, 1985, 1892, 1818, - 1874, 1961, 2046, 1989, 1960, 2041, 2049, 2001, 1948, 2048, 1983, 1944, - 1790, 2042, 2051, 1992, 1923, 2041, 1952, 1972, 1945, 2029, 1948, 1974, - 1943, 2038, 2050, 1942, 1968, 1805, 1977, 2004, 1752, 1787, 1915, 1732, - 2063, 2021, 1766, 1946, 1618, 1858, 2025, 1857, 1773, 1895, 1833, 1887, - 1744, 1979, 2010, 1850, 2061, 2016, 1780, 1586, 2027, 1969, 2034, 1979, - 2018, 1813, 1839, 1902, 2013, 2011, 2052, 1851, 2029, 2064, 1386, 1750, - 1902, 1771, 2034, 2001, 1795, 2053, 1792, 1631, 1964, 2053, 1796, 1409, - 1774, 1721, 1889, 1879, 1728, 2020, 2043, 2060, 1895, 2022, 1861, 1786}; - -uint16_t H_cols[] = { - 208, 242, 84, 114, 314, 135, 349, 90, 64, 57, 26, 52, 16, 142, 120, - 244, 167, 164, 133, 179, 22, 180, 413, 161, 224, 121, 57, 22, 394, 17, - 9, 54, 84, 20, 98, 311, 322, 308, 86, 91, 77, 41, 110, 192, 18, - 11, 210, 133, 248, 276, 389, 100, 37, 4, 239, 15, 32, 15, 7, 10, - 109, 82, 19, 50, 137, 278, 43, 181, 89, 206, 113, 285, 10, 95, 12, - 180, 23, 93, 100, 124, 200, 130, 81, 149, 6, 251, 181, 227, 156, 215, - 194, 284, 206, 177, 171, 174, 40, 136, 187, 89, 98, 156, 44, 30, 48, - 78, 349, 126, 56, 3, 212, 43, 111, 183, 63, 54, 35, 63, 333, 158, - 96, 100, 270, 38, 97, 4, 139, 163, 67, 251, 139, 42, 214, 117, 26, - 98, 132, 105, 13, 61, 330, 223, 183, 95, 295, 95, 55, 29, 65, 35, - 75, 130, 8, 98, 344, 46, 239, 155, 131, 75, 246, 3, 44, 260, 199, - 21, 99, 118, 76, 8, 87, 271, 257, 171, 98, 44, 255, 17, 276, 91, - 50, 21, 90, 262, 118, 208, 214, 35, 140, 159, 58, 277, 158, 180, 53, - 93, 58, 264, 40, 98, 4, 284, 183, 24, 7, 123, 133, 57, 223, 124, - 156, 202, 34, 324, 67, 452, 63, 123, 303, 303, 169, 40, 32, 24, 32, - 5, 220, 218, 103, 222, 113, 111, 100, 30, 146, 266, 4, 195, 14, 55, - 145, 37, 40, 18, 184, 188, 267, 38, 116, 35, 60, 53, 133, 58, 9, - 296, 63, 57, 30, 17, 86, 157, 105, 29, 73, 285, 122, 9, 31, 199, - 347, 73, 55, 135, 86, 2, 42, 67, 119, 21, 351, 35, 213, 173, 61, - 176, 194, 109, 72, 77, 273, 133, 244, 90, 313, 220, 27, 192, 63, 299, - 208, 202, 3, 66, 14, 19, 127, 68, 348, 246, 26, 87, 75, 20, 215, - 93, 212, 180, 149, 114, 133, 48, 235, 17, 247, 257, 42, 149, 57, 363, - 75, 334, 67, 97, 29, 109, 241, 59, 332, 15, 228, 6, 186, 81, 271, - 31, 103, 122, 150, 105, 110, 92, 277, 213, 358, 37, 100, 129, 46, 367, - 118, 26, 115, 211, 3, 77, 217, 23, 24, 145, 70, 48, 68, 179, 112, - 30, 110, 177, 14, 97, 68, 66, 103, 105, 83, 231, 29, 383, 45, 64, - 42, 32, 201, 269, 67, 9, 149, 3, 34, 86, 373, 51, 409, 130, 39, - 80, 177, 118, 34, 248, 175, 50, 37, 76, 14, 7, 122, 49, 262, 27, - 79, 102, 295, 113, 26, 111, 135, 10, 356, 97, 21, 2, 129, 451, 140, - 60, 42, 191, 33, 152, 25, 279, 99, 22, 124, 168, 305, 34, 104, 224, - 154, 50, 71, 97, 60, 209, 73, 57, 10, 322, 159, 375, 104, 17, 273, - 374, 81, 121, 160, 157, 411, 88, 236, 166, 88, 53, 164, 135, 36, 375, - 291, 211, 4, 233, 84, 94, 47, 29, 10, 306, 54, 183, 16, 128, 42, - 86, 96, 488, 31, 109, 150, 42, 332, 110, 315, 44, 321, 82, 109, 235, - 80, 212, 35, 128, 80, 215, 7, 115, 44, 102, 281, 86, 27, 79, 280, - 33, 227, 142, 113, 104, 102, 281, 161, 238, 197, 106, 111, 72, 163, 76, - 41, 58, 4, 46, 45, 122, 281, 219, 52, 53, 45, 66, 264, 69, 37, - 16, 138, 221, 176, 176, 98, 42, 75, 92, 80, 158, 163, 71, 26, 49, - 109, 108, 70, 85, 378, 186, 178, 9, 12, 4, 74, 25, 65, 207, 8, - 339, 5, 45, 205, 163, 234, 14, 56, 77, 62, 185, 55, 89, 19, 228, - 117, 113, 80, 9, 8, 38, 74, 10, 112, 32, 205, 8, 242, 142, 119, - 26, 158, 28, 148, 54, 69, 28, 81, 91, 142, 78, 158, 49, 66, 45, - 179, 249, 91, 90, 219, 153, 339, 90, 14, 56, 60, 392, 9, 162, 274, - 102, 79, 89, 206, 114, 365, 2, 232, 172, 36, 8, 14, 317, 173, 65, - 2, 37, 112, 273, 38, 179, 107, 244, 9, 173, 67, 141, 265, 156, 96, - 102, 158, 77, 96, 331, 2, 102, 302, 94, 23, 93, 92, 408, 95, 229, - 2, 25, 326, 62, 82, 166, 185, 7, 170, 15, 30, 216, 93, 94, 186, - 24, 124, 268, 36, 108, 156, 448, 65, 134, 356, 79, 91, 165, 63, 30, - 123, 56, 164, 97, 348, 262, 72, 294, 3, 33, 36, 143, 79, 31, 158, - 124, 46, 131, 115, 103, 33, 280, 22, 69, 80, 343, 386, 295, 107, 39, - 122, 18, 215, 78, 166, 136, 163, 222, 5, 405, 196, 253, 401, 78, 138, - 184, 190, 131, 5, 141, 91, 84, 10, 210, 184, 171, 39, 20, 283, 92, - 337, 257, 172, 160, 28, 134, 170, 18, 110, 108, 85, 21, 62, 122, 23, - 10, 128, 161, 152, 156, 65, 249, 124, 191, 282, 139, 220, 238, 24, 60, - 66, 41, 196, 185, 68, 72, 51, 121, 12, 218, 13, 101, 89, 93, 298, - 293, 197, 201, 332, 36, 128, 160, 182, 42, 19, 53, 259, 116, 331, 131, - 84, 125, 43, 285, 79, 112, 66, 66, 288, 93, 93, 158, 87, 104, 134, - 131, 156, 58, 33, 6, 42, 16, 130, 182, 354, 141, 12, 65, 60, 1, - 169, 175, 82, 44, 82, 108, 17, 69, 28, 29, 80, 145, 25, 66, 88, - 14, 64, 290, 160, 46, 113, 1, 251, 55, 61, 185, 199, 153, 13, 237, - 150, 269, 5, 100, 126, 243, 312, 56, 219, 203, 156, 144, 164, 161, 87, - 236, 203, 10, 216, 13, 166, 239, 19, 141, 51, 284, 61, 11, 75, 205, - 31, 128, 49, 2, 33, 5, 135, 100, 194, 78, 154, 245, 51, 321, 121, - 160, 114, 74, 44, 113, 59, 259, 6, 49, 144, 6, 22, 214, 171, 98, - 181, 225, 368, 8, 274, 154, 262, 234, 21, 19, 352, 9, 165, 20, 90, - 85, 255, 367, 174, 29, 145, 43, 1, 3, 153, 10, 280, 77, 221, 12, - 11, 142, 370, 143, 116, 145, 223, 330, 36, 9, 157, 99, 271, 88, 291, - 49, 89, 47, 94, 394, 344, 305, 38, 30, 39, 6, 129, 1, 242, 268, - 200, 298, 182, 297, 175, 27, 117, 135, 108, 246, 60, 38, 225, 48, 12, - 124, 229, 55, 50, 311, 70, 133, 119, 151, 199, 73, 70, 98, 26, 76, - 99, 154, 112, 76, 236, 273, 22, 109, 206, 61, 34, 146, 292, 132, 254, - 42, 1, 121, 310, 33, 41, 49, 168, 226, 247, 459, 47, 211, 187, 41, - 58, 8, 388, 359, 129, 83, 129, 190, 55, 189, 48, 258, 60, 58, 13, - 205, 263, 232, 151, 96, 77, 31, 53, 64, 174, 197, 200, 25, 93, 191, - 139, 217, 5, 117, 51, 212, 72, 28, 2, 236, 114, 320, 35, 106, 74, - 28, 425, 282, 49, 132, 2, 82, 47, 143, 142, 100, 25, 79, 43, 24, - 23, 399, 92, 97, 290, 31, 69, 109, 165, 83, 41, 98, 84, 195, 319, - 347, 222, 37, 39, 104, 5, 196, 207, 47, 4, 223, 141, 32, 47, 81, - 96, 31, 68, 101, 145, 177, 85, 129, 271, 334, 224, 36, 117, 56, 70, - 410, 212, 87, 298, 361, 160, 164, 34, 19, 52, 66, 310, 4, 105, 40, - 180, 137, 263, 37, 73, 237, 29, 135, 20, 7, 336, 197, 68, 2, 131, - 28, 60, 88, 94, 58, 83, 38, 218, 7, 1, 71, 296, 149, 355, 146, - 179, 64, 2, 418, 155, 127, 76, 348, 54, 83, 251, 48, 27, 185, 32, - 84, 4, 89, 107, 360, 257, 29, 54, 318, 56, 95, 295, 51, 45, 47, - 24, 256, 173, 92, 154, 63, 255, 321, 132, 76, 116, 92, 308, 20, 52, - 178, 292, 87, 216, 275, 16, 152, 151, 165, 226, 276, 36, 1, 333, 30, - 428, 17, 136, 11, 192, 45, 40, 34, 268, 68, 292, 54, 85, 120, 116, - 206, 92, 99, 213, 91, 15, 14, 43, 112, 305, 319, 157, 136, 76, 25, - 141, 95, 82, 11, 32, 41, 74, 49, 301, 122, 128, 338, 94, 129, 265, - 71, 11, 109, 22, 328, 13, 105, 22, 196, 240, 198, 7, 146, 181, 115, - 62, 61, 218, 64, 170, 222, 15, 99, 36, 31, 258, 69, 41, 56, 60, - 129, 33, 103, 57, 21, 103, 127, 165, 13, 39, 328, 105, 228, 107, 120, - 86, 98, 27, 54, 205, 167, 244, 74, 238, 38, 89, 5, 120, 329, 37, - 37, 278, 24, 140, 118, 127, 203, 23, 106, 286, 243, 72, 152, 86, 61, - 22, 11, 6, 34, 256, 269, 158, 175, 211, 317, 253, 50, 50, 27, 130, - 454, 41, 250, 267, 144, 303, 11, 104, 63, 18, 124, 104, 58, 140, 25, - 151, 58, 239, 286, 155, 217, 27, 182, 10, 398, 65, 190, 81, 69, 119, - 78, 20, 136, 106, 51, 188, 200, 350, 303, 133, 53, 73, 15, 158, 262, - 150, 192, 10, 289, 162, 362, 234, 232, 16, 225, 334, 294, 6, 105, 125, - 68, 72, 176, 239, 20, 163, 353, 118, 117, 170, 90, 258, 50, 45, 88, - 87, 128, 85, 4, 62, 34, 268, 258, 183, 25, 146, 85, 44, 133, 107, - 140, 87, 64, 18, 70, 76, 95, 309, 147, 34, 308, 19, 237, 21, 217, - 115, 49, 177, 201, 88, 149, 163, 5, 325, 455, 96, 52, 77, 24, 152, - 130, 207, 67, 220, 36, 18, 48, 88, 40, 148, 179, 6, 155, 19, 138, - 74, 39, 51, 198, 141, 142, 106, 103, 67, 111, 107, 186, 68, 37, 166, - 28, 94, 289, 15, 126, 121, 43, 108, 117, 128, 406, 71, 333, 39, 38, - 69, 313, 267, 17, 249, 40, 351, 40, 202, 138, 262, 105, 324, 75, 267, - 123, 141, 156, 78, 112, 408, 97, 173, 91, 99, 239, 25, 376, 25, 254, - 185, 157, 15, 61, 71, 113, 237, 237, 48, 29, 89, 1, 79, 41, 3, - 24, 13, 187, 96, 52, 30, 137, 70, 82, 1, 47, 34, 444, 146, 63, - 47, 59, 154, 115, 129, 298, 61, 3, 64, 85, 75, 244, 12, 47, 101, - 103, 7, 169, 125, 213, 271, 378, 271, 100, 126, 134, 131, 31, 32, 16, - 310, 222, 95, 12, 154, 89, 391, 205, 8, 27, 1, 85, 192, 85, 117, - 140, 127, 132, 35, 31, 12, 263, 121, 6, 81, 65, 71, 78, 88, 140, - 85, 227, 347, 68, 50, 7, 44, 215, 128, 26, 2, 96, 55, 66, 54, - 22, 161, 258, 7, 13, 124, 101, 265, 21, 83, 233, 203, 274, 59, 354, - 99, 59, 139, 13, 377, 107, 102, 23, 184, 32, 115, 61, 169, 320, 27, - 171, 293, 57, 62, 46, 58, 147, 139, 235, 52, 46, 375, 46, 218, 319, - 368, 61, 29, 174, 172, 83, 325, 29, 200, 198, 18, 303, 114, 173, 213, - 35, 102, 20, 35, 211, 46, 180, 99, 301, 250, 208, 178, 93, 30, 76, - 52, 165, 159, 372, 225, 278, 138, 136, 145, 231, 79, 44, 137, 50, 55, - 119, 125, 39, 138, 101, 25, 166, 23, 192, 18, 39, 178, 116, 28, 178, - 59, 188, 198, 16, 96, 46, 186, 108, 59, 255, 199, 258, 252, 88, 118, - 134, 383, 150, 5, 139, 239, 228, 38, 227, 263, 43, 67, 175, 97, 188, - 63, 147, 189, 17, 154, 62, 370, 219, 1, 198, 22, 56, 90, 318, 15, - 20, 171, 45, 100, 30, 126, 131, 234, 11, 207, 254, 299, 349, 120, 196, - 21, 26, 170, 114, 77, 8, 57, 190, 11, 214, 212, 345, 179, 225, 64, - 114, 80, 185, 66, 138, 149, 43, 190, 127, 3, 3, 153, 222, 210, 11, - 56, 104, 53, 153, 130, 56, 83, 71, 274, 95, 74, 121, 106, 173, 16, - 114, 270, 33, 53, 267, 49, 332, 306, 68, 35, 28, 32, 213, 24, 113, - 40, 18, 9, 89, 294, 250, 256, 70, 208, 291, 91, 82, 314, 39, 7, - 181, 78, 13, 301, 405, 112, 316, 156, 393, 12, 110, 48, 73, 166, 39, - 17, 132, 204, 104, 63, 62, 1, 45, 393, 5, 115, 47, 18, 248, 16, - 272, 75, 317, 84, 70, 342, 207, 14, 191, 77, 154, 12, 107, 230, 132, - 280, 42, 23, 147, 149, 17, 18, 8, 174, 73, 261, 197, 72, 4, 15, - 34, 163, 159, 136, 12, 36, 196, 3, 40, 167, 71, 101, 111, 100, 237, - 300, 32, 76, 9, 14, 137, 6, 53, 202, 71, 52, 148, 219, 17, 299, - 41, 108, 48, 143, 65, 316, 133, 142, 92, 296, 323, 150, 211, 361, 261, - 422, 167, 212, 195, 50, 317, 406, 372, 360, 314, 399, 203, 136, 211, 56, - 195, 436, 229, 489, 295, 101, 109, 487, 184, 87, 279, 233, 399, 176, 470, - 433, 364, 197, 115, 194, 314, 423, 246, 98, 401, 291, 268, 272, 357, 458, - 298, 327, 21, 298, 299, 225, 220, 272, 51, 177, 93, 84, 403, 150, 336, - 275, 236, 476, 243, 261, 373, 330, 248, 310, 365, 155, 240, 144, 276, 229, - 292, 99, 175, 101, 317, 365, 297, 404, 260, 333, 417, 462, 434, 474, 444, - 119, 309, 261, 260, 344, 435, 80, 123, 257, 183, 358, 197, 78, 16, 264, - 260, 459, 195, 390, 147, 217, 467, 353, 165, 120, 151, 335, 83, 106, 28, - 326, 252, 70, 298, 182, 153, 300, 260, 122, 111, 143, 302, 135, 235, 362, - 236, 232, 287, 371, 309, 248, 248, 176, 215, 169, 183, 155, 140, 446, 91, - 277, 263, 234, 126, 376, 335, 162, 490, 398, 182, 105, 378, 469, 159, 119, - 457, 292, 249, 108, 59, 451, 20, 362, 228, 57, 306, 459, 301, 208, 329, - 357, 82, 396, 279, 137, 396, 272, 202, 396, 282, 120, 308, 389, 287, 43, - 311, 371, 59, 326, 125, 223, 190, 285, 134, 348, 219, 74, 343, 72, 455, - 367, 179, 368, 395, 267, 227, 59, 225, 65, 21, 300, 310, 266, 259, 362, - 168, 104, 69, 344, 417, 47, 335, 103, 126, 394, 41, 122, 166, 313, 265, - 438, 118, 265, 204, 316, 439, 142, 90, 180, 440, 281, 392, 312, 210, 137, - 189, 240, 247, 240, 320, 251, 157, 324, 208, 415, 245, 180, 262, 94, 141, - 191, 110, 165, 165, 361, 61, 488, 378, 138, 178, 229, 396, 157, 168, 397, - 266, 289, 240, 347, 299, 84, 451, 133, 391, 469, 324, 137, 116, 60, 365, - 207, 200, 472, 450, 428, 330, 139, 159, 223, 217, 330, 245, 234, 238, 418, - 391, 367, 308, 291, 304, 67, 244, 288, 382, 130, 461, 335, 118, 187, 334, - 324, 441, 462, 112, 445, 59, 214, 230, 372, 44, 106, 167, 181, 211, 193, - 148, 409, 264, 364, 353, 174, 263, 283, 406, 312, 349, 118, 455, 181, 259, - 323, 175, 33, 152, 299, 141, 320, 314, 131, 62, 235, 335, 231, 340, 244, - 425, 169, 311, 497, 241, 37, 436, 117, 184, 294, 157, 350, 301, 94, 162, - 273, 13, 182, 101, 486, 341, 434, 322, 74, 144, 284, 139, 111, 403, 214, - 52, 323, 327, 172, 227, 230, 208, 277, 221, 120, 409, 339, 123, 223, 252, - 209, 237, 429, 295, 253, 35, 162, 454, 243, 199, 295, 385, 360, 241, 170, - 390, 175, 402, 198, 288, 397, 275, 330, 267, 161, 341, 283, 193, 62, 258, - 162, 254, 259, 374, 408, 415, 268, 54, 312, 424, 302, 342, 376, 172, 453, - 214, 281, 379, 447, 170, 434, 230, 121, 423, 305, 441, 276, 244, 121, 110, - 461, 323, 151, 309, 431, 202, 200, 329, 210, 352, 164, 503, 113, 126, 231, - 152, 454, 311, 433, 86, 449, 130, 231, 262, 189, 290, 288, 429, 143, 311, - 70, 226, 451, 277, 362, 134, 51, 81, 343, 171, 466, 149, 194, 310, 119, - 315, 186, 300, 469, 349, 427, 123, 168, 117, 174, 144, 224, 116, 173, 198, - 457, 287, 147, 65, 258, 272, 499, 315, 81, 186, 168, 341, 316, 190, 178, - 291, 232, 280, 174, 260, 242, 226, 181, 120, 113, 138, 294, 106, 481, 287, - 377, 104, 125, 383, 234, 369, 289, 348, 52, 389, 239, 219, 344, 378, 338, - 418, 137, 363, 116, 207, 335, 449, 202, 358, 216, 134, 319, 100, 11, 265, - 233, 172, 267, 45, 256, 23, 318, 221, 169, 245, 306, 281, 181, 289, 116, - 173, 346, 327, 194, 205, 326, 345, 201, 111, 448, 366, 399, 293, 222, 170, - 358, 442, 19, 187, 159, 456, 299, 206, 290, 169, 253, 412, 252, 202, 377, - 331, 497, 203, 313, 115, 255, 373, 364, 237, 245, 291, 269, 342, 54, 218, - 269, 373, 170, 256, 270, 213, 305, 288, 203, 315, 238, 87, 192, 334, 26, - 127, 352, 240, 277, 114, 102, 432, 139, 332, 278, 128, 411, 91, 317, 296, - 265, 343, 291, 217, 124, 350, 220, 242, 220, 62, 233, 300, 190, 393, 445, - 513, 478, 346, 375, 131, 99, 272, 160, 355, 279, 112, 305, 107, 403, 336, - 109, 322, 143, 371, 147, 204, 192, 308, 180, 279, 127, 194, 145, 239, 124, - 288, 24, 177, 191, 433, 429, 308, 270, 136, 330, 73, 469, 302, 274, 221, - 246, 393, 328, 431, 454, 391, 426, 269, 434, 329, 245, 149, 151, 338, 328, - 299, 433, 374, 230, 202, 472, 177, 360, 402, 387, 316, 181, 418, 52, 198, - 174, 20, 197, 110, 294, 268, 123, 151, 43, 87, 250, 237, 247, 233, 143, - 367, 231, 339, 381, 141, 233, 355, 204, 225, 382, 208, 224, 206, 159, 87, - 80, 275, 103, 365, 33, 374, 117, 145, 332, 368, 309, 297, 421, 63, 212, - 213, 373, 107, 249, 247, 318, 242, 464, 312, 164, 240, 103, 328, 345, 262, - 160, 209, 401, 325, 249, 186, 201, 112, 250, 262, 215, 70, 473, 170, 126, - 143, 211, 313, 370, 183, 220, 174, 388, 346, 351, 182, 173, 48, 214, 370, - 163, 92, 95, 228, 134, 461, 251, 398, 205, 282, 372, 363, 348, 83, 321, - 175, 265, 160, 252, 479, 340, 257, 64, 285, 419, 369, 23, 196, 283, 286, - 327, 97, 411, 331, 184, 297, 325, 284, 341, 245, 302, 294, 231, 247, 319, - 404, 190, 180, 491, 441, 147, 303, 148, 291, 350, 471, 197, 396, 187, 92, - 201, 269, 200, 264, 250, 338, 104, 470, 379, 248, 168, 271, 113, 146, 205, - 267, 71, 296, 221, 385, 153, 347, 482, 252, 339, 453, 390, 289, 284, 229, - 269, 263, 167, 27, 369, 80, 243, 432, 230, 153, 280, 397, 239, 380, 208, - 244, 8, 72, 271, 354, 328, 233, 224, 297, 297, 204, 461, 190, 259, 151, - 306, 375, 195, 189, 304, 155, 279, 232, 352, 123, 177, 339, 401, 493, 384, - 376, 340, 38, 171, 79, 161, 78, 340, 293, 238, 465, 191, 435, 179, 244, - 387, 184, 211, 307, 352, 342, 316, 196, 351, 353, 445, 69, 97, 368, 180, - 274, 136, 275, 342, 189, 75, 395, 145, 147, 205, 185, 222, 218, 413, 297, - 374, 144, 453, 372, 138, 302, 316, 237, 356, 46, 40, 339, 343, 184, 242, - 125, 216, 345, 305, 477, 148, 214, 199, 303, 306, 123, 440, 404, 292, 210, - 328, 350, 210, 337, 94, 309, 408, 151, 76, 276, 266, 325, 482, 155, 332, - 254, 209, 321, 297, 243, 355, 259, 164, 221, 453, 361, 15, 338, 357, 289, - 240, 149, 249, 263, 219, 447, 434, 261, 300, 159, 479, 342, 93, 213, 57, - 141, 177, 335, 410, 315, 188, 166, 223, 307, 354, 492, 170, 187, 453, 195, - 127, 349, 410, 151, 207, 130, 147, 216, 417, 439, 369, 83, 461, 326, 406, - 381, 227, 126, 270, 258, 394, 108, 331, 228, 333, 72, 95, 209, 319, 351, - 346, 379, 284, 392, 315, 191, 147, 463, 95, 486, 415, 167, 324, 377, 390, - 375, 410, 92, 354, 106, 364, 106, 370, 132, 193, 396, 321, 134, 119, 393, - 327, 195, 506, 30, 341, 253, 233, 82, 283, 55, 207, 301, 430, 167, 248, - 163, 475, 77, 218, 124, 367, 176, 415, 426, 188, 380, 58, 488, 209, 170, - 164, 354, 134, 212, 334, 255, 220, 349, 110, 288, 227, 350, 201, 406, 319, - 442, 117, 330, 228, 148, 424, 267, 155, 452, 161, 345, 217, 474, 179, 208, - 328, 367, 254, 173, 210, 259, 458, 296, 277, 206, 296, 162, 480, 430, 183, - 202, 268, 263, 274, 312, 374, 96, 445, 66, 463, 321, 250, 204, 194, 129, - 78, 342, 485, 289, 387, 67, 119, 256, 241, 341, 110, 215, 276, 226, 186, - 276, 266, 198, 331, 455, 167, 232, 89, 355, 166, 336, 147, 397, 167, 260, - 175, 282, 465, 265, 178, 453, 189, 132, 273, 202, 132, 209, 62, 400, 397, - 114, 225, 299, 288, 259, 228, 149, 319, 160, 327, 406, 411, 217, 374, 286, - 229, 236, 129, 232, 403, 266, 432, 189, 115, 338, 120, 342, 197, 248, 310, - 269, 298, 79, 156, 453, 325, 468, 116, 246, 210, 438, 43, 256, 378, 294, - 398, 84, 366, 122, 311, 174, 346, 377, 320, 111, 309, 243, 162, 329, 165, - 307, 229, 266, 305, 267, 94, 230, 454, 131, 72, 50, 209, 199, 283, 329, - 178, 400, 236, 388, 423, 127, 190, 287, 175, 477, 274, 314, 465, 389, 410, - 350, 131, 263, 108, 201, 127, 130, 468, 59, 223, 148, 341, 336, 414, 235, - 36, 288, 171, 405, 111, 395, 271, 122, 154, 150, 164, 403, 460, 374, 213, - 208, 464, 310, 143, 356, 204, 81, 273, 314, 287, 380, 16, 410, 313, 385, - 410, 406, 23, 240, 370, 373, 416, 355, 204, 176, 187, 329, 357, 292, 282, - 384, 212, 273, 202, 262, 385, 198, 191, 402, 230, 266, 179, 389, 210, 165, - 375, 261, 287, 302, 471, 250, 144, 284, 279, 277, 382, 118, 65, 126, 235, - 158, 354, 150, 53, 331, 68, 280, 51, 219, 432, 90, 236, 213, 137, 289, - 256, 366, 469, 484, 125, 289, 454, 49, 155, 392, 221, 181, 238, 137, 85, - 222, 105, 228, 351, 380, 22, 379, 322, 409, 215, 234, 174, 275, 356, 182, - 212, 272, 203, 194, 426, 215, 279, 234, 279, 388, 164, 318, 219, 205, 152, - 74, 304, 242, 136, 440, 304, 466, 238, 347, 201, 373, 275, 325, 364, 362, - 393, 103, 394, 365, 359, 338, 332, 322, 369, 270, 216, 363, 135, 353, 460, - 157, 282, 402, 414, 393, 196, 403, 178, 294, 276, 193, 282, 217, 86, 234, - 351, 433, 337, 64, 236, 184, 423, 64, 362, 241, 210, 247, 483, 298, 122, - 191, 243, 245, 46, 458, 278, 447, 311, 326, 360, 71, 224, 354, 148, 360, - 74, 6, 215, 290, 374, 313, 200, 185, 116, 133, 28, 224, 467, 357, 291, - 473, 379, 388, 188, 246, 340, 67, 240, 144, 475, 314, 193, 179, 215, 150, - 423, 360, 192, 102, 159, 127, 204, 154, 168, 423, 373, 172, 48, 140, 327, - 292, 358, 221, 426, 154, 101, 331, 337, 235, 102, 251, 409, 238, 283, 151, - 307, 278, 357, 247, 484, 229, 152, 69, 311, 241, 225, 388, 230, 140, 146, - 370, 429, 26, 134, 466, 240, 372, 197, 389, 145, 136, 176, 187, 400, 264, - 221, 366, 446, 311, 364, 186, 404, 363, 101, 243, 400, 120, 146, 389, 203, - 190, 278, 300, 260, 196, 430, 106, 260, 367, 436, 222, 359, 433, 417, 184, - 371, 301, 275, 336, 111, 428, 129, 304, 303, 73, 224, 449, 175, 255, 446, - 326, 123, 315, 315, 223, 327, 161, 194, 97, 201, 309, 383, 407, 302, 326, - 209, 324, 198, 356, 107, 88, 189, 276, 247, 144, 339, 320, 221, 169, 140, - 226, 118, 379, 333, 69, 300, 262, 218, 265, 257, 251, 310, 27, 265, 227, - 369, 220, 146, 412, 265, 272, 286, 286, 229, 283, 395, 209, 372, 290, 488, - 293, 184, 360, 342, 194, 132, 313, 290, 448, 385, 162, 232, 31, 270, 271, - 383, 318, 242, 251, 157, 79, 119, 421, 401, 178, 231, 152, 207, 55, 163, - 274, 313, 125, 251, 256, 468, 385, 329, 227, 272, 317, 196, 427, 466, 96, - 216, 449, 14, 441, 333, 484, 363, 383, 303, 155, 172, 188, 348, 169, 256, - 199, 193, 188, 455, 86, 161, 235, 247, 288, 135, 344, 427, 381, 148, 261, - 128, 193, 287, 221, 347, 155, 172, 204, 334, 255, 380, 189, 241, 277, 226, - 448, 413, 81, 441, 223, 162, 429, 292, 205, 146, 439, 110, 114, 304, 261, - 378, 88, 278, 386, 123, 226, 329, 165, 83, 295, 213, 408, 355, 414, 336, - 440, 366, 409, 142, 153, 168, 128, 470, 266, 82, 280, 428, 250, 360, 238, - 99, 53, 424, 176, 285, 263, 212, 268, 316, 377, 335, 387, 168, 144, 428, - 326, 132, 232, 252, 300, 51, 146, 308, 371, 486, 279, 275, 370, 223, 33, - 304, 296, 217, 442, 360, 280, 75, 354, 182, 139, 397, 236, 442, 361, 45, - 233, 193, 479, 206, 153, 121, 299, 201, 255, 426, 318, 286, 54, 143, 302, - 57, 148, 320, 231, 218, 377, 498, 206, 359, 238, 235, 379, 160, 391, 381, - 261, 297, 277, 368, 362, 437, 409, 372, 270, 481, 300, 407, 253, 55, 488, - 487, 470, 429, 431, 402, 259, 404, 257, 101, 243, 463, 487, 514, 496, 150, - 358, 504, 234, 490, 511, 240, 415, 412, 484, 490, 416, 252, 472, 489, 478, - 493, 381, 139, 480, 511, 362, 293, 466, 503, 359, 342, 142, 326, 369, 304, - 320, 364, 486, 261, 105, 316, 471, 476, 430, 460, 379, 484, 253, 446, 400, - 447, 373, 472, 490, 272, 401, 158, 471, 328, 417, 312, 344, 331, 429, 383, - 341, 501, 361, 410, 480, 477, 492, 508, 482, 332, 336, 429, 310, 369, 460, - 291, 346, 365, 392, 402, 452, 120, 430, 301, 419, 462, 406, 410, 342, 493, - 500, 390, 498, 378, 230, 403, 188, 443, 258, 505, 499, 148, 508, 485, 241, - 382, 289, 264, 182, 455, 481, 264, 451, 489, 483, 485, 365, 376, 447, 301, - 382, 278, 237, 409, 285, 168, 292, 463, 290, 482, 339, 323, 376, 386, 495, - 286, 502, 450, 322, 115, 390, 483, 370, 426, 461, 441, 406, 162, 73, 506, - 256, 511, 507, 107, 498, 491, 323, 274, 478, 516, 337, 450, 304, 183, 502, - 285, 249, 420, 427, 349, 386, 508, 353, 413, 500, 375, 304, 485, 410, 484, - 306, 353, 431, 377, 239, 156, 438, 402, 499, 503, 200, 458, 419, 490, 230, - 203, 397, 73, 436, 398, 326, 293, 363, 416, 497, 458, 250, 443, 460, 60, - 476, 227, 392, 494, 352, 422, 383, 468, 344, 443, 199, 425, 417, 496, 452, - 472, 396, 246, 449, 458, 395, 398, 283, 253, 391, 307, 268, 337, 501, 269, - 499, 409, 408, 434, 365, 264, 407, 267, 150, 253, 254, 269, 185, 434, 306, - 508, 510, 287, 347, 318, 439, 235, 307, 503, 281, 303, 468, 366, 415, 434, - 480, 368, 497, 500, 504, 195, 188, 125, 502, 496, 475, 492, 481, 501, 407, - 309, 302, 372, 442, 357, 464, 436, 249, 429, 493, 412, 340, 385, 489, 172, - 353, 322, 477, 439, 509, 490, 311, 478, 364, 450, 448, 479, 372, 463, 495, - 312, 269, 425, 341, 501, 415, 193, 225, 481, 437, 433, 281, 509, 428, 278, - 509, 458, 506, 481, 509, 463, 504, 209, 415, 510, 347, 246, 388, 307, 237, - 472, 407, 318, 228, 441, 417, 467, 469, 457, 515, 324, 402, 510, 254, 112, - 470, 345, 463, 302, 378, 416, 312, 241, 381, 327, 94, 207, 335, 498, 343, - 476, 427, 444, 351, 414, 186, 178, 457, 459, 460, 333, 471, 334, 389, 398, - 327, 315, 504, 481, 437, 386, 431, 488, 442, 241, 356, 471, 402, 424, 433, - 287, 459, 298, 463, 322, 458, 386, 464, 232, 492, 285, 441, 227, 292, 405, - 377, 336, 466, 441, 513, 350, 276, 142, 492, 176, 404, 286, 437, 483, 474, - 446, 291, 323, 474, 463, 414, 496, 231, 493, 491, 464, 484, 448, 191, 441, - 258, 296, 497, 381, 484, 419, 318, 125, 222, 487, 516, 285, 502, 449, 294, - 211, 384, 358, 451, 414, 509, 135, 241, 444, 392, 474, 469, 444, 203, 500, - 282, 350, 286, 231, 478, 365, 465, 467, 472, 497, 484, 513, 513, 455, 242, - 502, 385, 504, 358, 479, 390, 407, 416, 266, 330, 206, 412, 471, 496, 498, - 380, 325, 159, 219, 504, 447, 340, 383, 416, 475, 373, 410, 486, 368, 501, - 511, 413, 91, 278, 257, 486, 369, 506, 214, 402, 430, 348, 476, 333, 331, - 441, 204, 187, 450, 194, 382, 224, 497, 411, 462, 252, 275, 457, 446, 415, - 502, 413, 121, 515, 485, 476, 353, 381, 488, 480, 385, 425, 314, 224, 383, - 506, 280, 515, 388, 422, 386, 396, 408, 329, 340, 371, 359, 138, 431, 200, - 361, 393, 189, 436, 411, 319, 316, 478, 293, 390, 422, 414, 445, 232, 503, - 397, 443, 296, 493, 374, 432, 430, 493, 206, 437, 477, 295, 352, 492, 509, - 375, 214, 314, 430, 283, 467, 491, 350, 421, 499, 499, 511, 367, 125, 379, - 482, 476, 505, 411, 446, 507, 390, 264, 290, 419, 460, 474, 414, 422, 317, - 327, 437, 422, 404, 320, 416, 242, 362, 429, 366, 399, 438, 293, 245, 448, - 461, 390, 415, 356, 482, 504, 284, 428, 378, 268, 400, 308, 468, 416, 393, - 394, 405, 355, 408, 438, 323, 424, 401, 483, 516, 493, 362, 424, 372, 234, - 515, 386, 382, 500, 314, 402, 425, 460, 456, 172, 501, 247, 495, 173, 492, - 226, 476, 439, 346, 293, 353, 317, 435, 152, 487, 119, 348, 424, 499, 494, - 495, 469, 251, 501, 401, 516, 308, 457, 280, 454, 440, 432, 470, 497, 399, - 451, 344, 487, 432, 439, 516, 278, 461, 462, 313, 475, 386, 233, 396, 475, - 439, 424, 495, 431, 434, 433, 436, 456, 403, 341, 423, 359, 296, 324, 309, - 480, 508, 435, 144, 478, 401, 358, 287, 484, 512, 443, 367, 459, 452, 445, - 468, 316, 271, 514, 388, 448, 474, 413, 307, 86, 293, 320, 433, 302, 394, - 222, 414, 344, 456, 356, 475, 468, 456, 426, 494, 428, 339, 288, 494, 448, - 270, 504, 507, 381, 405, 379, 498, 469, 489, 247, 354, 445, 500, 467, 217, - 277, 385, 318, 513, 218, 253, 483, 249, 325, 161, 351, 505, 475, 440, 229, - 412, 461, 371, 427, 377, 439, 338, 473, 500, 292, 167, 315, 230, 261, 464, - 294, 407, 226, 406, 488, 426, 432, 515, 511, 421, 489, 439, 282, 515, 483, - 325, 323, 462, 443, 491, 377, 384, 349, 491, 353, 226, 420, 495, 428, 409, - 473, 461, 357, 473, 371, 343, 360, 398, 500, 465, 401, 319, 513, 483, 216, - 405, 424, 473, 455, 516, 235, 476, 308, 248, 281, 482, 244, 481, 407, 345, - 309, 506, 417, 485, 363, 320, 192, 470, 231, 513, 246, 299, 447, 467, 163, - 510, 498, 337, 417, 491, 457, 422, 340, 422, 298, 273, 301, 447, 449, 356, - 374, 436, 299, 225, 452, 468, 490, 403, 432, 387, 38, 277, 340, 514, 485, - 355, 253, 400, 389, 460, 492, 356, 300, 400, 404, 404, 498, 369, 330, 273, - 311, 248, 491, 126, 216, 495, 449, 505, 407, 380, 425, 246, 437, 153, 211, - 256, 387, 515, 297, 507, 440, 480, 361, 412, 395, 431, 412, 371, 506, 435, - 421, 462, 504, 483, 472, 436, 507, 370, 183, 485, 330, 389, 381, 473, 272, - 449, 364, 192, 345, 312, 252, 333, 501, 388, 491, 246, 507, 393, 355, 358, - 367, 417, 499, 81, 516, 494, 490, 228, 480, 367, 427, 387, 349, 510, 349, - 411, 321, 449, 315, 307, 458, 490, 462, 323, 406, 452, 456, 357, 153, 359, - 503, 375, 352, 385, 392, 442, 485, 260, 445, 423, 512, 410, 361, 396, 421, - 514, 300, 412, 487, 489, 19, 352, 447, 347, 321, 400, 394, 284, 510, 508, - 502, 281, 459, 177, 483, 388, 399, 379, 180, 186, 209, 502, 418, 326, 214, - 432, 274, 401, 413, 512, 322, 264, 513, 239, 501, 464, 419, 259, 418, 306, - 307, 319, 484, 512, 453, 363, 508, 454, 424, 450, 275, 270, 301, 260, 512, - 161, 494, 323, 346, 189, 348, 376, 345, 464, 421, 381, 342, 464, 359, 455, - 492, 470, 359, 505, 465, 343, 420, 435, 428, 510, 478, 193, 419, 380, 414, - 181, 394, 266, 396, 491, 395, 192, 421, 404, 507, 456, 512, 251, 384, 442, - 421, 334, 384, 317, 320, 391, 477, 171, 336, 273, 500, 446, 414, 340, 484, - 306, 453, 445, 327, 405, 406, 506, 236, 491, 371, 508, 471, 446, 501, 290, - 366, 507, 250, 394, 403, 458, 266, 509, 351, 493, 252, 510, 456, 176, 440, - 419, 378, 506, 399, 442, 319, 514, 462, 275, 459, 378, 350, 226, 494, 430, - 494, 394, 486, 442, 381, 233, 500, 504, 504, 308, 494, 366, 353, 469, 439, - 463, 516, 109, 473, 473, 343, 383, 435, 282, 509, 420, 514, 333, 450, 307, - 477, 375, 398, 466, 382, 479, 452, 283, 285, 495, 482, 425, 430, 505, 322, - 444, 503, 497, 449, 486, 338, 440, 355, 488, 413, 352, 513, 331, 333, 506, - 423, 183, 361, 474, 461, 409, 425, 411, 481, 397, 470, 332, 395, 343, 298, - 159, 476, 512, 398, 444, 516, 505, 499, 397, 421, 271, 130, 424, 456, 270, - 463, 431, 334, 397, 399, 509, 335, 341, 443, 392, 509, 338, 284, 468, 382, - 477, 443, 331, 455, 445, 169, 296, 511, 491, 408, 427, 408, 318, 405, 182, - 392, 390, 488, 219, 368, 369, 384, 372, 336, 399, 502, 515, 356, 486, 325, - 293, 504, 162, 451, 295, 339, 220, 471, 421, 351, 433, 334, 392, 465, 303, - 418, 306, 316, 515, 317, 438, 482, 454, 475, 370, 459, 496, 505, 384, 185, - 172, 497, 171, 281, 400, 418, 499, 436, 391, 108, 468, 280, 422, 313, 467, - 398, 464, 167, 254, 168, 448, 465, 505, 471, 312, 467, 418, 403, 374, 470, - 459, 347, 468, 395, 425, 19, 472, 510, 456, 428, 495, 75, 255, 467, 465, - 425, 512, 387, 426, 335, 453, 474, 487, 480, 462, 344, 511, 207, 309, 419, - 419, 395, 424, 272, 346, 382, 460, 352, 169, 442, 476, 404, 473, 511, 330, - 196, 334, 329, 438, 438, 503, 255, 481, 500, 420, 472, 509, 394, 450, 255, - 472, 373, 365, 488, 305, 496, 418, 193, 368, 305, 508, 495, 494, 199, 420, - 514, 450, 201, 496, 238, 264, 411, 358, 229, 287, 493, 346, 409, 489, 102, - 480, 413, 435, 290, 317, 303, 348, 376, 314, 422, 297, 343, 250, 513, 466, - 290, 289, 431, 503, 451, 516, 328, 305, 427, 361, 307, 469, 341, 476, 371, - 489, 328, 355, 310, 437, 515, 402, 386, 403, 412, 357, 440, 486, 448, 399, - 337, 514, 426, 478, 506, 462, 360, 466, 496, 279, 397, 479, 428, 505, 421, - 461, 257, 437, 418, 315, 440, 498, 337, 387, 490, 437, 466, 220, 500, 479, - 470, 218, 380, 431, 243, 396, 492, 443, 507, 373, 477, 395, 188, 496, 366, - 457, 422, 336, 376, 450, 391, 494, 245, 384, 77, 44, 478, 438, 454, 407, - 285, 508, 198, 457, 261, 322, 492, 482, 338, 512, 405, 420, 312, 464, 416, - 80, 412, 249, 501, 412, 452, 505, 426, 379, 451, 479, 387, 137, 340, 507, - 483, 459, 203, 453, 420, 358, 84, 499, 503, 408, 443, 350, 515, 200, 295, - 376, 442, 369, 423, 346, 420, 445, 456, 465, 337, 475, 438, 258, 506, 377, - 364, 185, 321, 305, 282, 509, 301, 321, 398, 456, 511, 465, 281, 516, 450, - 435, 286, 416, 475, 254, 393, 469, 414, 429, 460, 389, 478, 492, 503, 453, - 444, 393, 467, 294, 420, 157, 279, 513, 497, 204, 444, 514, 348, 459, 454, - 270, 413, 440, 494, 434, 465, 505, 429, 384, 514, 466, 486, 475, 510, 436, - 437, 434, 457, 516, 454, 473, 332, 433, 479, 499, 405, 482, 497, 503, 411, - 351, 199, 380, 216, 420, 387, 426, 450, 404, 370, 447, 386, 452, 135, 253, - 482, 416, 276, 171, 419, 420, 288, 241, 474, 391, 368, 488, 365, 400, 363, - 354, 274, 415, 345, 376, 467, 138, 479, 295, 391, 382, 483, 444, 446, 390, - 304, 510, 507, 385, 452, 216, 457, 472, 498, 438, 408, 388, 368, 498, 464, - 462, 466, 508, 515, 321, 375, 337, 448, 273, 455, 435, 380, 354, 254, 242, - 324, 489, 477, 245, 427, 195, 508, 187, 210, 328, 498, 145, 485, 304, 493, - 392, 507, 324, 400, 419, 430, 439, 513, 432, 417, 496, 364, 474, 511, 493, - 435, 487, 366, 364, 455, 384, 359, 195, 329, 263, 349, 248, 486, 371, 166, - 257, 471, 339, 380, 357, 437, 441, 191, 443, 268, 197, 444, 306, 363, 160, - 346, 345, 376, 401, 479, 195, 243, 514, 481, 489, 445, 432, 451, 460, 252, - 443, 332, 283, 416, 502, 140, 164, 415, 359, 470, 90, 411, 425, 422, 352, - 344, 501, 386, 335, 458, 449, 478, 480, 477, 487, 413, 444, 244, 157, 451, - 423, 480, 297, 284, 495, 431, 384, 418, 363, 325, 245, 447, 313, 485, 436, - 391, 357, 512, 490, 487, 417, 512, 324, 496, 366, 152, 452, 343, 361, 389, - 254, 446, 471, 502, 399, 485, 395, 345, 474, 337, 481, 249, 510, 458, 514, - 90, 362, 463, 347, 477, 257, 489, 405, 143, 259, 286, 495, 382, 224, 177, - 446, 260, 427, 438, 434, 511, 187, 383, 423, 193, 430, 427, 447, 435, 487, - 502, 338, 407, 323, 407, 387, 166, 512, 473, 310, 457, 490}; - -float input[] = { - -2.8588758611049867, -11.692946618257562, -2.0931111592429659, - 11.110696212718175, 6.6118168080332342, 5.5228669775147967, - -10.351976177615544, -6.2055936928533972, 15.766842028131405, - 10.150684036103069, -8.459063190320423, 3.5621047687812557, - -3.4741612771047636, 3.324748317571744, 8.996614205792751, - -11.020291727957101, 12.081427681651697, -8.8928631203159583, - -3.3519010114052263, 7.7902118547439443, 9.6608001848411806, - -7.1066822779231593, -18.837368573809297, 6.7301895647238608, - 6.7933629603091008, 5.9697810424393483, 8.344011991064086, - 12.19791145343228, 9.4167774696594435, 7.423418316685729, - 9.0291842080564226, 12.492983259925982, 7.1203329881309401, - 9.8776999539720336, 7.3657220051725565, 5.4066464900536131, - -12.553405951140983, -8.4918025628237199, -11.352365915823617, - 14.756685666538061, -8.0938336502539876, -2.7071697789206022, - -2.4795849849319289, 14.778716053676311, -12.149933491676437, - -8.5931326392610909, -5.4147618905983697, 1.7095221079392837, - -12.75286957597447, -6.560818125727109, 5.5288804134600262, - -16.774264848727494, -10.397477377823613, -14.47470382199227, - -12.095199384731899, -0.68504635593676977, 2.6623689185177528, - 13.264791388391092, -15.654931986196731, 6.1276196890542334, - 4.5068190091793028, -13.394637229913476, -6.9231832293793651, - -12.113429033794846, 1.2142140703098925, 8.9363539352870394, - -12.687063373304539, -3.3458614784673091, -3.4123481785186587, - 17.559631253372945, 13.470764559481434, 5.3912902961422002, - 8.0737946505557545, -12.755710856932868, -3.569697890412812, - -6.2613535644882905, 0.068556269783912271, 6.2629797657916875, - -9.2663011036090968, -4.4829975567184634, -9.6136989537403004, - -8.7663852688801143, -13.974856274599134, 11.407302219619563, - -10.302223327202944, -8.9771589068473983, -6.1388609170833384, - 4.2370800072671333, 1.7760515525196516, -12.120232639630231, - -12.958157445638765, 5.2985241644932541, -16.484657731002855, - -6.3532421360393387, -9.0395804464700298, -7.2671128749847744, - -12.616882711750195, -4.9350723080331012, -6.6905936282318637, - 18.568407538602393, 12.530577696234687, -9.7889565176657243, - -15.214958325061282, 7.215674131215513, -7.5394667988733808, - 9.0137713371297465, 6.2553392643094785, 9.1953246360263154, - -11.131787953429392, -5.4020937991353657, -4.0642543197135739, - -0.44036236539366824, 8.0650609441874703, 0.85520780385748785, - 7.2621337620159085, 0.29865166967486761, -9.2011814546979203, - -10.330862011400864, -7.3191138151867943, -9.4852558149271111, - 14.762260259194324, -5.0853268103463423, -11.2925794883785, - 13.026909781206733, 7.9504343630905412, 10.148928930852414, - -8.9032450603232327, 7.0914762951954913, 10.89340681888671, - -12.705821222595254, 13.126012326275292, 9.4442919029362749, - 5.0277440210736879, 0.21756213342494518, 12.710361373031621, - 5.6453651213768019, -13.49634180382726, 6.4754225359227204, - 9.6275804629486004, 5.8125840672452975, 9.7028326962213836, - 6.1260130958734562, 3.3623596073706641, 10.736024757333299, - 4.6569987032041826, -8.5021099021622799, -2.5832378575026125, - 17.984880998940056, -13.974611077713172, -7.8550941092339874, - -2.6917314432377575, 10.825283872831294, 11.217940706150642, - 1.8301222470027103, 6.2062091666111812, -12.440863506480019, - -19.955292055354317, -3.6699151522797462, 2.2154324244303956, - -3.7363628672311142, -10.271027034445964, -9.2862432349117547, - 9.7847963699436011, -5.9471830363214551, 11.139859339322513, - -9.2599913694963618, 5.0422863933763367, -7.1141487133220043, - 4.2177963601947308, 10.657785123505857, -5.7952000401674324, - -6.826355874510365, 8.7268751949597245, -8.5906649209875745, - 2.2758857640658201, -6.1665377492933358, -7.3104026599884433, - -3.2424605164178031, 16.796591996286164, 15.671215006757382, - -7.8445348658392806, 12.2589312976831, -2.5670307012079139, - -11.537316744819945, -2.4858301794672331, 5.0542510171190438, - -6.6860957990782133, -7.2619018024969462, -6.7329842279273242, - -7.3146812058251234, 8.0821157274412183, 2.4005920765968378, - 9.3157871935284753, -12.908851857280949, 5.2927115546650425, - 9.9926730185778059, 3.9229860372333749, -5.5126846245121035, - 12.313688019948762, 7.9681453222519041, 17.181368769149195, - -8.962498225939207, -11.548950041024865, 12.014544817430894, - 11.485639169870186, 11.939774664713912, -14.36069895314143, - -11.812874687185857, 12.249194120883461, 4.8839501930831242, - -10.540165871108648, -14.829380396239381, -6.4665012687326051, - 4.7430459960995295, -7.1378949876943016, -15.357105375923917, - 7.3351294975306445, -9.6095153441695373, 4.381145332149095, - -9.2910048695861427, 4.894239034759102, 7.864879034656453, - -8.3265429253416077, 10.497214061711553, -0.39338042557070996, - -4.4611306847986816, 0.76940119561902198, 2.3535542193708272, - 10.459438806533345, 9.4938186880252005, -6.4805717587307994, - -13.457392617761585, -10.487085219177404, -9.8506932711478576, - 11.274019685851906, -12.3031017274995, 8.3324030035106826, - -2.3013116280481358, 8.3664075310158825, -10.402109920341072, - -5.2924293563600742, -12.008098192077149, 10.992304106359162, - -5.5591947469243506, -12.838234842015352, 8.1682577157065577, - -6.4919177172949487, 13.568876091933316, 8.0352162745849594, - 8.7834139460450125, -11.335870474093099, -10.790767171281415, - -2.8875937626970223, 14.64505222675956, 11.436743007190451, - -2.9337339836825955, -12.707240342338084, 16.661129912274529, - -19.171798326126961, 12.280144746488103, 6.5975965145696174, - -13.019719338217644, -3.4328503704209457, 4.822535491209953, - -8.1340577921572415, 11.549182216506546, 9.6431724916100059, - 5.5547407614902173, 15.019668995173307, -1.6514898426907461, - 16.110709054474917, -10.9397931999944, 12.04576668183285, - -8.4818868311872198, -6.103248438757908, 8.2975079067215702, - 2.5480181038085412, 18.799878298920927, 16.231939791740228, - -18.011602750805633, 3.7139764502467689, 12.751595841360283, - -7.8718015936255812, -0.40802815212428428, -15.47812599016518, - 3.2584854200798588, 14.976391986507007, 9.1367378814346782, - 3.4155780056910059, -13.292285487599507, -12.855991908912157, - 14.013291588644732, 9.6911017234399335, -5.8910196575740752, - -2.2280612655108047, -11.219438047247786, -2.5955623953948517, - -3.4460676112793136, 3.5682986120247073, -11.70300520092221, - 11.99455548751415, 7.319096625369828, 8.400961847094683, - 12.142806695044221, -3.6775894169196279, 8.3797255658565142, - -12.156985373281584, -17.475193610019677, -14.228116929396922, - 10.726007504360073, 15.267119384103992, 12.781072511062279, - 8.0326533999697229, -17.51207194760946, -7.554034280962183, - 10.066411068992132, 14.13799652436988, -6.7247334837075705, - -11.112518294834185, -5.7326833292155523, 3.6877552031425131, - 8.7105204152043516, 9.3857694378580963, 19.127569440965896, - -3.8614826162666089, 7.9404471399280068, 6.3807591097483005, - -6.8888859894612535, 10.317928637508684, 2.1736529765433783, - 10.953222318849482, -7.6682531128958038, 5.0318286636058982, - -6.9463690764775503, -3.0184853792276383, 9.6041512562391542, - -0.88225262267439808, 6.4852292067129724, -2.3181001351577644, - -13.197351056460056, -6.8047677874499586, 5.3843074707174692, - 5.1196343577870644, -17.820822197855577, -12.257015718775355, - 5.1913937352654651, -5.0162460867599536, 9.9461758050913041, - -9.7414598652248081, 8.1378256819797858, 12.564281794378495, - -5.6365288176451322, -9.1029468332924104, -5.6355130288814301, - -13.719331548944416, -5.8613058178495017, -9.2573519867695815, - 6.0620773131346706, 5.8947778726542905, 11.265652594812099, - -11.760986024368906, -7.7447348268870124, 19.076436411627338, - 14.505720191829832, -9.0750817120358054, -5.2025480400034789, - -3.1960162333402482, -11.659437264119374, -7.9842387274926709, - 8.5980388295231229, 14.858752059828165, 6.8639263237417376, - 6.0631638589074024, 2.7093921939507379, -4.9581002755473795, - 4.4179924464321392, -11.144868427484562, 12.546476704938177, - 13.606433000436612, 4.0208619807458295, 6.2408832155761376, - 3.0941528835943455, -11.347668662075096, 1.9313877794966201, - 11.65105372954261, -14.681336156121709, 7.2969958167198605, - 11.59264621157577, -8.831465763669156, -12.759130509205734, - -9.0714254556796128, 8.9948895559776467, -8.3736028555285831, - -13.115027308542444, -0.21628815052066303, 7.7132708674061705, - 14.055053470061472, 13.370601410874029, 3.3283307501026052, - -11.9653642849229, -5.6440590777489144, -4.2508984635752549, - 13.005398229132568, -11.5296140873405, 11.286858942494266, - 9.8110403874583074, -13.263569122014866, -6.4297799553106456, - 7.9672918799786396, 2.1515462864377719, -8.490571668881163, - 7.5548103934198929, -13.121628447449439, -5.7901204816768361, - 7.5171762671769704, -5.4216710822831979, -0.95140907859749113, - -5.6992105242986471, -0.91737830538166343, -8.2053563541920571, - -4.9100295191078036, -8.650093905400162, 10.400080220873763, - 7.2829351923330092, 5.3481291290736603, -9.5017802399357425, - -9.8687523002255393, 11.82329840938681, -3.1919281246249707, - -10.124868011353035, 6.8360355157042028, -14.032171223888698, - 18.148403140529073, -9.5731633683674744, 4.0453611070899935, - -4.114147796015585, -8.4912512496909898, -7.9968991599686872, - 12.922672789580542, -6.7315939113482681, -16.414580925551139, - 10.417406116722118, -9.5795995211441394, -7.974905790034116, - -13.727944328842275, -15.024522822723423, 4.9026741637309703, - -10.662764572620276, -19.122555879539242, 9.217115643469544, - -2.9661166430929642, 13.154514394206242, 9.8788596316167272, - 4.2669291411005252, 10.239868792823961, 0.50928446540137651, - -6.9544644508051245, 2.9807945285095245, -8.2689690969205181, - 3.5499295458600972, 12.732733620631645, 11.61935741986054, - 8.4137329217700945, -13.703811206903364, 8.5347899814747166, - 13.941804015126218, 11.213731601489895, 11.550008187296406, - -10.885532785062049, -6.0320756476152395, -7.945602926688589, - 18.178022024827495, 4.2378890109434684, -8.419937978328889, - 14.273513193884424, -8.1801725060827586, 13.690183625733544, - -17.518387733265431, -8.6392702216784656, -13.927446312699148, - -8.651607062718659, -12.712917239643309, 15.009792996204254, - 0.15853783962329626, -10.462310302523948, -12.535567399778486, - 8.8192610919401329, 13.066656030822525, 18.005415525102343, - -16.007576967175243, 11.052574245331391, -1.1810954342450888, - -12.762633127175347, -11.427571726679494, -1.8068233566411038, - -3.8651597939182674, 6.9028603232990591, -9.9188843352819767, - -13.607089316301986, 5.8989769757503172, -10.266998033319117, - 12.946619994251195, -7.3433271276853551, 13.594756446262442, - -1.4802835189751626, 2.9459432512420887, 9.0127453411993006, - 12.34274116102957, -0.99056567004691576, -1.0211228826859517, - 10.87969885601588, -15.669877762479704, 16.01192464298973, - 10.789218207135569, 6.1523737440350752, 10.844976713696601, - -18.796538678004055, -7.3982730413954201, -6.5213519941388851, - -18.571369340190397, -9.6913300045155282, 1.0175474995943568, - -8.0705533615168754, 14.251221745808563, -14.054781652173469, - -10.906074448438877, 9.9932114606110058, 9.2204934537976815, - -11.102967677965665, -15.06146952578059, 11.282374133246716, - -3.4111780254645643, 7.3857075662336609, 10.330601600777463, - 5.6502615537426548, -7.2776853004382911, -12.041052757776699, - -11.046289906579057, -2.8519140526114701, -14.358095698121817, - 4.6207960341417813, -12.368837238636017, -7.2377430770905917, - -7.1306536664479809, -10.374815173234571, 7.5287331560402384, - -5.4660620697715716, -13.441122458297521, -6.5962962593129824, - -8.4930653390556969, -5.473757203858737, -16.42318744504734, - -7.678902139771755, -6.1724752873292612, 17.227224731420481, - 2.7992443468423089, -11.010643413583562, -6.0460973993600238, - -11.514094016830022, 7.2250024006000091, -7.8426213114387204, - 10.647716150585898, 5.7539405508617296, 9.727218535739766, - -10.217949794886991, -10.197658817694322, 1.4534950594678713, - 12.10682632749001, -0.51088307163622715, 17.710760548825679, - -7.7470194812395397, -24.372971692573486, -6.6052580469808717, - 8.826482956514015, -6.7872955696686779, 3.6389619856040674, - 9.9237321927880782, 12.100520790781362, -6.8842633676573595, - 2.8844843405481937, 13.672108533544661, -5.6338295492883859, - -7.1944131155704678, 6.9746870716875398, -8.2312590639291852, - -10.25205738032861, 3.9564297173352139, -11.16342115946062, - -8.4103856915642865, -3.86058459788803, 6.7693385059336668, - -5.5093604081945458, 9.9112156966838256, -11.829917793796264, - 12.06350448472004, -9.8908904770778552, -17.725516485129567, - 5.0710728367340741, 2.3733785626266992, -12.373813495428958, - -8.2010211819107539, -12.301300323962623, 10.576063861117305, - -2.4429576335852246, -9.8126936984062763, 10.720987427999063, - 5.3468144210345949, -7.436093608771988, -12.085562323273949, - 9.616133130427178, -7.2337117418265358, 6.590012489497771, - -12.933819456719151, 9.0992320680750058, -4.7115096872358144, - -12.444448996962361, -9.2431835291508904, 8.9400870181220906, - -14.84487535501597, 6.9572855730306786, 8.679259378600257, - -11.728117564638417, 11.57774167266283, -11.089244669418909, - 4.4545841055164113, -10.471036138424958, -7.9268850048012363, - 10.006310688982033, 7.3307629546995496, -0.70086411051328346, - 3.4399790497959652, 7.5780305602750353, 15.952535940468001, - 1.1236075069228646, -10.56946563987197, -16.455271371728593, - 14.943737550316991, 15.270538328279843, 1.8246123975329285, - -11.861267836196021, -12.897409417413272, -8.0295182717849976, - 2.5085092290718261, -2.997769928368061, 7.7106512520538253, - -9.7986312114017196, 3.8597867083890951, 14.715042117673541, - 3.6286772784703238, 4.6804229784596041, 10.468442660987332, - 6.0309605373905297, -7.2836222700763322, 7.3372979832476464, - -9.125874340732242, 12.431154776537063, -12.652059501141041, - 8.520614267493885, -14.669291764198016, -5.4369263583494511, - -6.9272239504642288, 14.411503339302335, -6.5090359387453871, - -3.8249288367587844, 6.226877964919483, 5.4872378813688707, - -12.071286274848809, -14.839631376528764, 14.929556186968613, - -13.550466083272015, -17.79040452965922, 5.2176515285150078, - -8.4073909354978511, 13.152357868676932, 11.880434179671278, - -15.154722117187848, 3.3578570344364098, 3.7992951070371852, - 12.544849221875657, 4.4664223998223864, -16.02563218730095, - -16.858694781271584, 5.8423687431569373, 14.717494305248145, - -6.3014233972716296, 7.8246512200173655, 0.2490959399462627, - 10.09774947224876, 8.2302536611399972, -2.0230125836350608, - -10.877543890130998, -10.315299910440396, -17.814418691884743, - -4.7984509876179366, -10.569732541659832, 12.468245506360125, - -8.1994351150315588, -8.4938440033843783, -15.646554844352739, - 11.104862652426069, 5.4254710709054565, -7.075912451839514, - -13.038488980503107, 8.6283602505517099, -0.1897762834069755, - -15.926221800862628, -9.4620561439869952, 11.028601034997564, - 6.2202218101379954, 13.01838761394424, 3.8814455959068872, - -10.571348353520641, 9.3930545668475638, -7.4486485829571807, - -15.896920034679038, -7.6634637506716583, -13.744383772875613, - -16.289316553121051, 4.2240572521775093, -5.9728476753105495, - 1.4435980912356212, -9.482201269588181, -7.1075995048298424, - -8.4496788887326719, 5.5233585701859731, 8.8295065675835449, - -6.8321409197770491, 14.622652588625614, 8.1030077299922656, - -5.0997213512339847, 10.535820013561885, -11.687469584683409, - 3.0547169868379771, 8.210959869395893, 10.201179428221021, - -11.658463276051274, -13.563724058479169, 11.01039677555352, - -7.1382476676607203, 14.955134349802455, -13.750666848543476, - 10.162311270235616, 5.7884645703783697, 7.3371242692507819, - -9.6841606635170585, 5.466449250298048, 8.4163518309029381, - -7.1508542487337046, -6.6797959016182888, -4.7449989886325188, - 2.4393509869405792, 8.654752655597532, 10.070879973393719, - -13.17581052395726, 8.5470611298539545, 6.660259185215466, - -6.0653871786400737, -6.5193717691612134, -12.615899043092323, - 6.700881216282939, -4.8478946577189745, 5.1988868211607864, - -12.549358461765644, -10.045744010088018, -12.380860324318006, - -3.8616068170109248, -14.465705737907983, 0.4164829268257374, - -17.143567612135136, 9.487366827722223, 12.652721901108753, - 0.7645899772346989, -11.920812995054151, 5.348021509175628, - 8.3879926788022008, -4.6246359904401313, 11.089899173175201, - -3.8332542947304775, -13.36196018971258, 8.2464982273107097, - 14.657515986404208, 10.904966172392774, 11.533578255944192, - -13.982006985588614, -11.973821478795168, -16.592644946389242, - 9.2836692767439004, -12.678645783087854, 10.730932446196368, - 9.5849200107862327, 8.4498461340685918, -8.6907116625889529, - 14.156816081594213, -2.5856081507256512, -9.2993749691896994, - -3.6239666126178607, -1.8399557052395836, -9.9970546829752251, - -11.017332480853435, -11.692178962270885, 6.3025733321249016, - -16.175906955071767, -14.423994620868056, -14.689511946206805, - -7.2353003125032167, -9.3660212630661839, -13.858073820033896, - 4.7709918994882639, -6.7026088232668739, -10.527782639004828, - 16.58828557927492, 15.050247187970289, -4.0564185563228934, - -10.640020339068798, 5.0431846567205971, 10.934348304548614, - 0.75988821460881439, -10.291366703091549, -13.942020188031572, - 14.135017480152827, 11.151498767692816, -11.537353350061172, - 10.343082453782436, 7.976541387752091, -3.5774431227145778, - 6.7912849734238856, 1.8417106851238594, 8.8764923317563689, - -14.359256236175909, -5.6171451890921933, 5.9817930874266256, - 3.2031461221092781, -3.5231009274983971, -14.863876345356418, - 13.612377512426715, -8.9030335281364348, 5.1285813990983709, - 4.8771312118802621, -3.1813763041012044, -8.1658030154444532, - 9.2635478384894121, -11.938316318486482, -10.581389864174858, - -9.041740376889754, -11.289532586451648, 9.8541909326330934, - -10.813754378648875, -10.992626098956032, -4.2128060145436059, - -13.803513190675977, -3.4047166821717285, -14.699309096179331, - -12.322199151029571, 1.9847013546589598, 3.443351936013523, - -7.7412573332668169, -9.4014738152531816, -6.0936722951459252, - 11.249057062872248, 5.3612317349290048, -6.0934505412619844, - -10.329491262921293, -8.3782268065652321, 10.610705115588038, - -7.7383153101209938, 8.5683043797354852, 9.5214421313463742, - 9.4646448974772674, -15.945188235432587, 13.571842719150663, - 9.1766386061343823, 3.9788060864638335, -16.400242920289237, - -12.152955170027367, -11.743525499640301, -10.778431692576483, - -9.560949750398839, -11.274506489189537, -10.497378072608422, - -11.313774108583567, -8.6889440492171826, -16.999837953521492, - 2.8463220500405759, -9.3414733746083147, 14.505309388696032, - 7.2740770646355823, -15.216612609375215, -7.7754295642857443, - -7.9668693810493751, -11.838336074962589, 9.3302243430363134, - -6.1546909317578038, -11.643770269023584, -7.3067290482575826, - -7.6586644572207598, 4.1554355791738411, 5.5784827988725025, - -6.6788226812914591, -10.099712087346221, -6.812608788772855, - -8.6942723276748133, -9.1414982497263626, -5.5404435688554674, - 13.782301424897506, 6.4913332097552408, -14.843570407301076, - 9.1090159582398744, -11.810479272023766, 10.734632284091132, - 12.106233609286406, 1.2074129428018001, 9.05135706765188, - 7.0513320487712221, 5.7063731455704252, 17.827025603920255, - 8.2204534825947988, 6.859838386896449, -17.066087459633668, - -10.546186910811119, 12.544407506754297, -10.501953033608231, - 11.631217929282226, -7.3247345033456455, -0.30451282566541621, - -8.8097804299616289, 12.580754884209387, -2.4535950387210703, - 9.2528280654920945, -6.6762373246501507, 8.5487856314147361, - -9.8862934311079176, -7.405954429775278, 11.460818356885351, - 9.4241123506707218, -6.0650535086957591, 11.749931801221361, - 13.45158323366806, 8.509266618399371, 3.0990921451133864, - -11.845686618745093, 4.6809017476948664, -9.0788995203187035, - -14.154172714949322, 11.436663871420148, -11.686823110591192, - -10.466322347645878, -1.8093094588126659, -8.2842513297508678, - 6.998530934794041, -2.8130875381789773, -4.7458503858358174, - 14.892214325455083, -13.297630549395505, 14.137398522674463, - -5.1741407656371132, 10.811880263388231, 7.6909240450423546, - 1.2020066622797796, 8.3882554040760446, -13.296889605096078, - -14.12122762385526, -0.86913405214011996, -1.7012640446050573, - 12.135944269100591, 13.696947616128121, -4.5178290393967648, - 11.379039879071998, -17.142332699109016, -6.2502893853176538, - 14.551005043468933, -15.922443449630226, 7.9749887358427554, - 7.5006183839537428, -10.731307185445075, 11.828405368248815, - -11.242740313773945, 8.6857287401789396, -2.3357416563180076, - -9.2522949403141723, 10.057172114119057, 4.2142804964077794, - -7.25445812349398, -4.7859211707096279, 12.212717205630641, - -0.68060465039856421, 8.3585750011161384, 9.4355684709667997, - 5.8736217498953929, -10.357680904873, -15.182609723791906, - -10.528438249903205, -10.728845332160351, 4.4271186570969041, - -9.5459159618972773, 7.698786708464044, -5.7616256574906473, - -6.74427916594568, 5.0713712230747952, 4.9757324493057258, - -7.5822193975454732, 2.1521506074067127, 11.702619296651129, - 2.475868836880037, -8.5152128927626887, -8.8176272081621523, - -6.7396490012107382, -7.1103087325178862, -12.249044472908748, - 5.7223187192045835, 6.0785970538718885, 13.311388408274434, - -5.1967232459428514, 10.616058764924363, 4.1131834199366937, - 9.1157637550044708, 5.0981827919094043, 3.9623438215809581, - -5.1277684895200872, 10.717366089367347, -9.6119167010571456, - -17.671933631733026, -0.93466484572541053, 9.4511618566836688, - 0.51145591409598801, -7.4842698912260595, -12.965780155817985, - -11.049283246505306, -9.4204398537725336, 14.713331608978752, - 6.1294522089617445, 12.762571544243462, 4.2519976479727246, - 11.581799865407062, 4.0540310044195316, 6.7583036711124178, - -8.4596629969850596, -11.555561625120337, -13.223361797635503, - -11.022881346403601, 7.820188150462851, 10.050313550691401, - -2.8748772822692796, -3.975284267526737, 10.165011610963463, - 8.361153496598952, 10.23454765876409, 6.9861352278001991, - -14.063066120834387, 5.5703634980353156, 4.5720288674742182, - -10.208336872812145, -3.8841964569917136, 15.871358616035476, - -10.375333061106602, -17.028934392886523, 9.6095097993772214, - 2.8612197492337277, 7.3984151374847418, 12.882442279479097, - -3.8593872267618985, -3.3505651418910092, 9.1400352361857795, - 3.4607159608677991, -11.802758101252648, 16.131696084668302, - 4.3485520924992915, 4.9299693363247012, 10.20608409504235, - 11.350181288635312, 0.71079817132091727, 7.1011529322063716, - -9.9921413971440192, -5.8089676277937103, 21.431868331238753, - -7.0747060210352215, 12.069527047899687, -9.4828998378865119, - 10.122263948520756, -13.538606127789073, 9.6375976702501429, - -4.4100604567201094, -11.99790766311845, -5.976372779813337, - -8.272146596627568, -8.9450436886845743, 1.9542103075796229, - -2.5876227697187235, -14.368094001362385, -2.985471188013614, - -2.478307267502168, 2.7456040916726456, 12.581031236480218, - -11.4758779722525, -15.599590155208737, -12.992869206559288, - 9.953747866291776, -11.025999481843595, 9.7008748889831633, - 9.4677048052865693, 6.0665148799454283, -11.021027787278838, - 4.1148665510329865, 9.9715457939675805, -4.524015231428284, - 18.833454602793879, 7.5018420072802252, 6.536477074456216, - 10.39532612887518, -7.7192567198190574, -5.8633746049064728, - -9.4739325485451946, -12.966876834521914, -4.8932353347242916, - -7.50082678824488, 7.9240662467055403, 15.473285728117284, - -7.874821177550495, 3.9913525758800343, -20.203393732375613, - 13.177667766939793, -11.905585671112627, 8.76829420558043, - -6.6904194950549218, -2.0990812946584643, 16.352167450942488, - -8.6839871579774304, 0.65535704062993771, -9.0914298192610481, - 6.226432112620512, 14.414606788199343, 5.3327990949329722, - -9.2825422873145076, 5.2444348695624967, -13.52476436519694, - -10.565017103537128, -7.9458267805510605, 6.2385267794539532, - -10.620897086888419, -14.02491825647715, -17.249193736529822, - 21.822546537373011, -14.525572761291961, -9.6352912168501117, - 7.7923236942745477, -0.43905931375127905, -1.1677511335028592, - 7.9195608711842009, -1.7261157613467151, 0.81574419315180335, - -6.6258630940789853, 11.446710993602048, 10.423767215464459, - 10.131515821910522, -4.0813762630157786, 5.3099875815632895, - 15.005238483277349, 3.9458100113193013, 12.997541564501073, - -13.401349640520106, 6.0898523220056484, 8.5430795315739463, - -6.727566986421512, -6.0976964106078926, -1.5514248251358895, - -6.9251342133096534, -5.0010498589221326, 19.36294632958224, - -10.995748094036278, 6.8230876895289425, -8.9816761374312737, - 19.252689002798032, 15.018231032342973, 0.75032883111291693, - -10.512852145797988, 15.952636394768637, -13.876019658000088, - 7.4282002133627536, -15.007337649734009, -20.867628639436518, - -12.864466413292632, 12.282886216105501, 5.6117260976193588, - 7.7243055425354985, 0.74537471606410499, -8.3753274103443793, - 8.7297402808334041, -3.8752359373415373, -7.8660891683218042, - -8.8027160564205786, 7.7988010166838881, -7.8129632889899385, - -5.8353090570942738, 11.438552747844, -9.8854956847581263, - 6.193488211617348, 5.7060858140643864, -5.8417400083956581, - -7.1659403388854175, 8.8621684734697617, -13.828395956746165, - 11.58722476958626, -8.7757625064865632, 9.7638601085689327, - -13.63897121774294, 10.692146632523938, 9.1954815513953641, - -9.7262358263602646, -3.0742135000084518, -11.831625275045802, - 10.346151064081882, 13.860225574621548, 5.3434462647847401, - -12.667486708061194, -7.6071393527596891, 10.497824234551809, - 9.1398524858692305, -4.8312688599490299, -9.6866353191391568, - -14.936854315955886, -4.5645292398393735, 10.306087472805107, - 16.435616799434957, 9.7618939189542857, 7.3359442918945499, - 5.4777235052650965, 12.827631906540597, -9.3557044067803972, - -8.6207571310957753, -6.9067986860795303, 9.4266173165645881, - 8.2700014055707438, -14.396299560527304, -9.1945433850102294, - -5.0742673058143186, 5.9363570201246212, 9.1825801770474449, - -14.26016478123667, -8.9647881473585791, -10.999991358949853, - -5.2643587807317358, 17.966460043223208, 4.5038323715849113, - -7.3643627119764705, -8.0021495622334466, -5.5012765171131761, - -8.6385795076142866, 10.642859565399243, 16.418157809689014, - -12.558310319227193, -5.6944436186565675, -16.620579134203229, - 5.2993074909249556, -9.5535858720998252, -6.194850562303122, - 7.9283758132069577, -4.3938243314441445, -16.08461551423154, - -6.1053020627578558, -7.8156662613007883, -4.2010902685294225, - -11.260598796472106, -17.361798229363732, 10.523477968271544, - -9.2997205134904561, 4.7239785905440819, -16.55663724338849, - 7.336212674126954, -6.9284736037251049, -5.9733477242286268, - 16.958437027673817, -9.3688626284447736, 12.335069283139083, - 4.4003768017589344, -9.6375650205771759, 4.3025216992304607, - 8.1709809734149754, 6.0840979096543046, -1.7791701081822009, - -9.7212268065403915, -6.3728373407996992, 9.4709301635928664, - -9.8099415495718265, 10.216669472304444, -7.9089613940445638, - 9.0133309428613888, 15.233159549099527, 14.443197589960937, - 12.315849008505751, 15.22683390790605, -12.204208274855294, - 8.0545420942912056, 11.261686524342778, -10.088714704911705, - -14.758394330397744, -8.3506925495196622, -5.7190575904160488, - -10.474095362096637, 6.7558531383042801, 10.839875782803038, - 9.6223187492013871, 4.0011315315627671, 5.3452889051100145, - 0.29628684358052387, 10.260560792716758, 10.010269925150098, - 12.309818259037518, 8.3443036587520112, -5.4014577244395916, - -12.309450717768483, 6.227119823086781, -0.90098300040336077, - -5.9574142236058796, -6.5290358544134426, -7.443075641870017, - 9.5718761708906559, 5.9045525168917088, -14.09287394192167, - 8.537557668616758, -14.160598968888243, 5.8051719496039951, - -6.239975019204187, 7.4524259174698209, -7.4731349725176219, - -8.5239733925114809, 16.110254200184002, -10.257968713373153, - 9.5898379203607735, 3.4675905258102322, 8.1300367938993361, - 4.7762632339122959, -5.8974433337845085, -9.3140122423426206, - 3.5847848816848376, -9.5355250106758724, 8.6839175133173008, - -6.6948323819511488, 6.7933016290691377, -6.3800902026507824, - 0.76093699061175468, 2.6435457529778015, 7.4138748481937027, - 6.0247308500592567, 5.9280863177297123, -3.8920878288506016, - -8.4621386416944677, -18.750651564949948, -7.6188990491921116, - -2.1334205811758622, 8.7540093304816082, -9.8600851053842149, - 16.342033110995256, -10.800872299968921, -13.998298573757474, - -3.2934871871896396, 14.06180118603365, -9.271874228911658, - -11.048285130582032, 6.1595626190926716, 8.0570216147192557, - 0.66340001966893403, 6.5132884000227351, -5.4201122315987309, - -9.7412562635013984, -7.0486139617141514, 16.981384687745692, - -8.7022380510622721, 14.647877845477861, -8.0820055541788722, - 7.2226523022245761, 5.3790569210687584, 13.728807132743302, - 8.5317048523035623, -2.7316549253863927, 5.3846139594020226, - 5.4103146460176523, -6.694268736004001, 8.7300406717059573, - -13.347383859719848, -8.335174873152722, -10.945696086225201, - -10.4875598953527, -6.2891459907155456, -9.3671321709341981, - -11.585498988590738, 6.512870728010193, 6.33239714027453, - 8.7682544573530521, -6.7439993019333704, 9.5026784978124166, - -7.0246760343330656, 6.4372813340255446, 8.1945894173399711, - 10.262887249545706, -7.5060931723177706, -14.674750300787338, - -13.287289997793177, -8.4928309129257595, 7.4563888548291644, - -4.5195874938690226, 8.5442291590063935, 9.7115273312730501, - 15.092119744113154, -6.4263051953856785, 0.12831365323535676, - 8.7640439297438597, -6.1460218943241305, -10.889755958467752, - 13.67769695151666, 6.312988951937812, -13.227320725213115, - -11.784825668882982, -7.6748667604861192, 7.7787450544407344, - -9.3711259762266828, 13.023365017019263, -7.0200584128511876, - 13.494925467734497, 4.2227722997626005, -13.760223253172747, - 6.1777636365323456, 12.067306433588751, -9.9155428829691132, - -6.5766064428842856, -15.151662906193899, 9.6988065214723864, - -10.152731302282174, -8.5735676931961322, -9.9418795299730185, - -6.2260760507460198, 9.447544122507308, -8.1319644337468215, - -4.145324424570318, -3.5485961822808565, -13.467769122062073, - -5.7514070303621585, 4.2372927865136871, 10.111694661148967, - -7.4186471554037379, 11.430760000153063, 12.312843067890855, - -12.810688665750249, -1.4448074235360808, 7.986361807585828, - -1.7676683131382003, -14.521209725348982, -4.352705664193615, - 18.914853195668275, -1.5113121651615482, -3.6397864185997131, - -8.6196558356553385, 4.1199321080626019, -8.4888399293551817, - 0.57614759104880209, -3.8170562650576274, 6.5118953364681147, - 4.0953213386352472, -5.3421050165325257, -12.272356482934088, - -3.0358640779517354, 4.2481637384966975, -2.7752337082527849, - -8.0160326885318369, 9.5768553793879043, -1.8524775210440534, - -11.009861394679287, 8.9742068648070266, 12.471334080830026, - 9.9992644688047552, 8.0039800551702207, -8.7981872925635614, - 6.6433407975833738, 6.5480704488332835, 7.2841246634294423, - -6.3252439319780178, -6.0513426125451124, -6.3988334931556485, - -17.469331458693546, -4.580254889517116, 8.9993454898016569, - 3.2238207283793323, -7.7799510625287303, -13.803751678166556, - 9.7121916487763045, -8.1746700971358059, -8.8126126733994941, - -4.8155492973679186, -10.804453969532291, 7.0086143651800121, - 3.1481410707654631, -12.810183673768677, 2.3362046780839187, - 5.744619950986845, 3.8643342874084374, -13.249939418679734, - 11.415744222471059, 12.554737671029878, 9.8333778447831257, - 5.0957400772063437, -3.9991407502674661, 9.8345770583999279, - -9.7368996360840274, -19.449417624721992, -7.5133274868764675, - 6.0619042605430966, 7.197156700662827, -7.0063836107615485, - -19.263860108465263, 13.028208109141358, 7.1331219897936977, - 5.4720228485501652, -7.3579311406347925, 7.1801636071660138, - 14.640572831964421, -3.8340913302192701, -3.3062445113231744, - 17.400159670258972, -7.1681505547822413, -4.3542281808553351, - -8.4546164816007607, 13.421193429578857, -14.905121149794782, - 8.3143744117862095, 4.9730046756217972, 8.3532232015837344, - -7.5969825424753346, 12.3177910080973, 8.7607875220531426, - 8.5127047792303561, 3.5774587189097899, -9.6494548210828786, - 7.5331539937229897, -7.4747114284701679, -8.6591660587053916, - 7.3468316363038637, -3.622337543593344, 0.47384090625185044, - -6.0463560480716252, 8.0499483448215017, 9.7022755442800293, - -10.776004671468062, 8.3543427603924503, -5.5360568466131905, - 6.0186808121336659, -7.3543970398820848, 9.2806086183805689, - -12.230546104506987, 7.4673092848302733, 10.975472812952574, - 6.7926415721593818, 4.8749321283736755, 9.5323516120815874, - -3.0280886662753885, 5.5571898549900514, 10.226559964818154, - -5.8034190385368811, 6.5444311969384019, -9.130374827280793, - 15.819448485436817, 5.5538576215556326, 2.8637826501217618, - 4.0706674231610558, 6.4597011042272623, -8.3735378854139135, - -9.5667300995851061, -13.845901714228189, 12.714093428899416, - -8.3628461969588557, 7.5987675327409425, 5.9272125723131186, - 4.6950385206484189, -4.8195825770873233, -7.908711363482686, - -6.0290697566338824, -8.6859336035752293, -4.5193059923378351, - -4.5940077637319696, -4.3311584091869832, 5.3536488354562275, - 1.9921280360174241, -9.4633153479117045, -6.6570051760469031, - 14.208357863252012, 9.4845107231608647, -7.1832992233853066, - -8.8475487049318655, -13.630287949249563, -6.0719107719352952, - -14.274798405390152, -11.162105305503859, 13.054901490270078, - 12.995371746588807, -13.146715820058548, 12.945646134893682, - 3.0460739976722446, -12.155229015360904, 2.7412678887489506, - 11.780611735174173, -5.3341954653614927, -10.032480770112713, - -5.8447538785525053, 0.52725472542845364, 13.379456926012971, - 9.6135830134952744, -1.944448284069229, 9.0502993001659355, - -11.346127451101133, 4.2434870682337369, -9.5043367843183457, - -2.9775157830606012, 5.4193649803215109, 5.9212605221007886, - 6.8739591477125153, -9.3618138585411454, -11.34734301929147, - -2.8580136600449677, 9.7314938797272301, 10.716957084696832, - 2.261487615173849, -11.936472547545375, -11.596497065616539, - 8.1683014049841454, -1.9741314291525349, -3.8079032870338203, - -18.998387033650793, 14.785213606318443, -2.4675987407306512, - -12.092457768834166, 8.3055089082183038, -9.8880041321383381, - -12.17693749962149, -5.6119106856770609, 9.3346742365750952, - 5.9978824704833622, 0.13754021975113387, -14.894732183908136, - 14.747292229007831, -9.7097733323647439, 7.1041665937562009, - 8.747982309638612, -1.1124715705618149, -1.3453533016361534, - -7.2336827315963976, -3.3065754079116902, 10.610359888132521, - 6.439770888743964, 11.42420401634142, 6.5388842458764689, - -10.853598132676623, -15.353822721495742, -8.0675862924724751, - 14.459019981256141, -12.566396596207603, 3.4205186262164231, - 5.630487549883056, -8.073684341188935, 0.82126057392054652, - 13.882060246971731, -11.094144048902541, -11.389801550560342, - -10.3187260289045, 2.991571648758196, -6.4911734708363165, - -11.245496138683489, 10.9851776336762, -13.130504876870628, - 3.7733165504957942, 8.4076079303113911, 7.5529546967120051, - 9.1048736341912768, 2.7287083950923141, -6.4019633593747214, - -6.7703960792021753, -7.6283872602484184, -7.6359394699956251, - -11.153289601654617, 4.0727793884727168, 8.3062884746691932, - 15.72392064712384, 0.9811577968163786, -11.722310671012934, - -11.342923130703641, 4.6538782013854689, -7.3739066993524025, - -5.8947067956510093, 11.486762613574625, 12.413880145399126, - 10.786268654735865, -14.830950842039924, -12.718664091764236, - 11.838893611398694, 16.960744319691706, -0.90885433404131177, - 11.805632469674961, 8.787147329142396, 7.4670599584679005, - 13.783711428147573, 2.6889832573487715, 9.8277282208337393, - -12.621979239155044, 11.900463485129047, 7.3974913674936378, - 7.9790082301381764, -18.460977129782226, 9.6868989422260476, - -7.4849707679692381, 2.791279213037106, 5.9072811103444005, - 10.027746084723706, 5.481378194108391, 0.94657543605496242, - 3.1638084348680802, -11.565804912112132, 8.1295825065418228, - 6.2454385368905463, -8.7244225637155086, 9.2949740971114814, - -15.413745662976126, -9.2767171742637053, 20.883637553321279, - 2.1729042705598971, 5.2123425513190229, 11.260222333457566, - 5.4759025599371576, 8.1537344500122764, -12.294121929916995, - 8.802476739158374, -20.703918322925325, -9.4123075195898913, - 14.838015503157582, 8.1809389421993437, -7.6381202529000944, - 5.0731354695422288, -9.7523696522120105, -13.519239387616903, - 7.7323479369959101, 12.148583040284464, 5.4807070910189717, - 4.8696229713233139, 5.0087903276064836, 6.4402113569592467, - 13.277426855835845, 9.6524651881369721, 10.826902095836219, - 16.183489895274345, -9.6318043844967534, -1.373132442179763, - -11.219593888898418, -15.004319828107285, 18.258393722812315, - 3.7354456310459385, 8.0651749744359105, -6.5164044554554748, - -12.565266643553137, -12.030885912645394, -8.5404810535779507, - 12.314165209697041, 7.2947873166397219, -10.819275536058335, - -8.0129408622894012, -3.8121662128657552, -7.6091124585846721, - -8.4798365873122474, -3.9868453977970675, 11.38629202057937, - 3.5714802941824, 2.9518831049273677, 6.3322250488086071, - 11.580034774188221, 13.479927163429085, 2.0786137569475098, - 7.9330224326080057, -3.6943001859225055, -3.2256160391289095, - -12.811450358156192, 13.541505165687818, 2.6411149013180362, - -6.3489619114245244, 13.373338952003571, 12.628299743258562, - 1.0027687748564038, 9.2077227922659706, -13.768254699816865, - 6.8324600540916247, -14.524379303203943, 9.2715316925285709, - 8.7678396133255916, -7.7000840765938703, -7.6752994649649313, - -6.9178464084480851, -2.824297046557938, -10.067962153214038, - 9.8382780470022801, 9.8343360207768367, -10.442346656794413, - -11.531825845771756, -5.6955603852302623, 7.9952115376447042, - 7.2796481632297372, -3.9815702225402285, -13.888827599999129, - -8.7028698626538308, -6.0635186121417952, -1.0917426165389645, - -7.5444189349932813, -13.502585170286313, 5.3738984196649149, - 5.1002418292985094, -2.2415640749653791, 8.3993581378656117, - 17.872303247028064, -5.7930453662663712, -9.5610560588597515, - 8.0594903059030294, 5.9955468570765671, -8.4016643820784811, - 16.017479926774133, 12.457791465479348, 14.251050296430238, - 13.550966058757862, -8.762120073439311, -19.568799520529904, - 14.473633275887034, 4.7150108398434316, 17.622896812791758, - 8.5532109821391256, -7.8861564007563967, 2.8018084587073706, - 11.238281768369326, 19.036214400042667, -12.627994340787289, - -3.229926146308185, -6.2106083456766665, -12.029815325633603, - -12.732678066605525, 16.114114027765005, -8.8878875737603433, - -9.1952288940063198, 2.9514348736209386, -14.875969949421576, - 7.426537438524826, 4.0988218779588257, 5.1048469008081083, - 8.3561664083509974, -7.1680838371486972, 0.079559302266173665, - 7.234447616829998, 9.2153180384359938, 11.380502523658766, - 3.7813665464468564, 9.3571471630839476, -5.6198950965916659, - -2.6112846832626295, -13.074922193350705, 7.1458325396315745, - -6.8553238201936848, 14.037347515845747, 6.1114574644258219, - 2.6233447927944442, -6.6962191818230385, -15.054560815064955, - -3.8509653059595634, 5.6193134186600444, 8.4632418525580135, - 9.06084843255511, 8.7155312766304451, 14.146656363113056, - 9.4485647712524159, -11.894790263269002, 6.3630883640874796, - 6.0659222594215532, 9.3423771994935656, -11.56898779218068, - -12.569317170483185, -3.1542401369229229, -14.317618053977442, - -16.07713062656423, -13.866270731830225, 8.9731628045127234, - -2.7568654754219311, 10.650056946180007, -0.38554919912492391, - -19.636918428478758, -7.261084813408365, 18.261599502237281, - 4.365909470450525, 9.4604701736004575, 9.3379768195852684, - -5.9721332777841125, 1.8392337494849149, 12.236588220433115, - 10.729755869202716, -5.0163355160529157, 7.8745146479874295, - -12.210717308250283, 9.9053843786672573, 4.3176048616878999, - -7.1321033170654076, 9.8376099896153644, 13.994875675654404, - -11.800822210877568, -12.467732532409068, -4.8096053846346782, - -15.806886200214143, -16.011053902031289, 3.3108259217896991, - 9.3708906824355758, 4.9387906035182194, -7.2811664484622529, - -7.2283659694812323, -4.3994107454794076, 13.986557692605393, - 16.267589496305209, -12.5211237853249, -8.6162733581098614, - 11.875897506788261, -5.7924040049014529, 9.60395357854315, - -13.371234187638548, 7.4044876769030976, -9.9169764629346115, - -11.960026798255779, -5.6929530819152605, -14.080996179546117, - -4.9741440758010285, -7.2894457453898616, 1.7385165163304241, - 10.659988023147882, -1.4616437274123262, -10.074637029156758, - -17.086127613435742, 12.235716666711239, -7.9575522168496349, - 5.807625236075423, -9.2779276010226894, -16.480345338445041, - 9.5297786981975108, -12.287759229285887, -5.793455825490601, - 11.046928184816098, 12.263531584491689, -15.868613864191206, - 6.1089590101381299, 7.7043039642206841, 6.7725058819006509, - 0.19765926454723443, -10.92190123421037, -8.6903416862217444, - -3.604954070470813, 10.780882529813848, 7.6342821794581255, - 1.819027960022801, 8.9622472070627612, -3.7731185676641705, - 2.6511830669363676, -5.936256145443763, -3.5065708446633179, - -1.6756694810431396, -9.4457045728120921, 5.1176087336867671, - 9.0843869892318665, -4.9165468247185249, 9.6190501542416023, - 5.7720688303614107, -8.8665231351704143, -16.776765049597191, - 5.1935200585542409, -7.0317717992679913, 8.5952975711448651, - 15.701379400382201, -5.1747900955843287, 6.644409479106538, - -12.294043736596755, -15.483394542555223, -6.9161043885800755, - -16.902160692468406, 13.140408586007654, 7.9585367038084494, - -0.60142488467217781, -10.583573691246794, 7.6570812407643905, - 10.488467203766263, -12.229594163883426, -12.105180821633089, - -10.100333917660924, 10.582889173673999, -4.3524138084056574, - 4.1598294177868027, -7.7208623056787218, 9.8373959423124191, - -9.843437056863948, 9.2758547221503864, 13.917929858415311, - 9.6348606573169207, 6.1603576344825903, 7.2761550553448275, - -5.6132644264075031, 16.925921888188984, 13.099232943399601, - -12.169951256692608, 8.0341465714582103, 9.5080586839310293, - -8.9153040306547862, -6.2778930359354987, 0.65702865949253608, - 6.1455975831103666, 3.4956736733487177, -13.101966614043903, - -8.4917541060921486, -7.7703858331616402, 2.9540207920840338, - -2.8250454453694225, 16.471572201031012, -8.3401753077338174, - 8.5209392200398799, -8.4562622463700912, 5.3451445327350049, - 8.3227551961577149, 9.5505384761710648, -9.6168853444985132, - 7.8088619634040271, -10.010194534199005, 10.407541359870157, - -12.730901681260953, 10.062237956980878, -8.301093581147164, - -11.221782089013969, 5.0699226682185836, 6.8670809315755763, - 9.5183305660198574, -12.477293633009369, -3.0829984725185011, - 14.251075736126907, -0.50381312202666373, 1.3945668674871461, - 4.4380349292124333, -8.4792849992484687, 15.740298722260704, - 6.4916661990457039, 9.8781328856963952, 14.524311425947424, - 8.623227064986775, 1.82594923740208, 8.1658888991281113, - 19.519909829772214, -0.71626812905103776, 1.7182300090879543, - -8.0056305624195137, 8.8667806307632393, -6.8903486607996696, - 5.3931378831660304, -14.284745953661838, 11.800779205285183, - 11.828892295047666, 11.579327959504184, 5.9644626407280574, - -10.637566489206868, -6.3308930175168046, 10.362896991246821, - -13.136681551103671, -10.69114929291889, -8.2804076555200332, - -8.7620956793565572, -8.3349590113674843, 6.0390086996968186, - -0.92206940007654714, 16.688147291793179, -7.7396944231238889, - -10.556885976235911, -5.5034713893873217, 10.684323799177031, - 10.164740010619706, -18.644906837500962, 7.8255279920941758, - 7.1184183927575999, -8.5879829996361785, 10.058536284915368, - -3.9577147638427337, -9.4390455070755355, -10.813502747434075, - 3.1725069430189179, 14.646645070268773, -6.6958720302719321, - 7.1891012020482057, 2.776770380964142, -5.3045752723276198, - 11.024688310314966, -8.8716706651748609, -6.2182144207648875, - 7.2174155723591822, 9.2363647659736916, -0.13811663085025644, - -6.5095852199241193, 2.7850661520962201, 5.7288466875807895, - 3.8404238060339386, -11.979694823507765, -8.1566218452888641, - 8.4872181623141802, 4.0684730663558621, 9.433119896225687, - 17.452359798566942, -9.1852211978356539, 3.7813711040017632, - 13.687886395835575, 8.3110503099043083, -12.263855365231695, - -0.29265821325473718, -5.7786710506977288, 0.32000221107421295, - -13.152220176187292, -6.5995903240006717, -13.649334703564579, - -7.5516513340805105, -15.16406327996164, -6.7664832291371457, - 9.9511431024063146, -11.833825853245724, -11.726480937964023, - -4.6960938337568416, 3.6909792826776235, -5.7241654435325771, - 0.84009221550172219, 3.981445765587416, 8.3193977689219309, - -14.855487044550641, -12.13768399449228, 8.2575189786919658, - -12.482209307351347, 12.288265749008579, 12.92588605732125, - -0.89651953932604156, -17.178851924529209, 13.465060130471429, - -0.66179931634497746, -4.7361380949519907, -8.5915497494217874, - 9.8633923545024036, -11.075503948766817, -11.521258634171812, - -16.937563321814299, -8.4089961555477153, 10.316744468138424, - 11.068755254870558, -12.812559137681774, -11.716000182253042, - -10.794814834414403, -14.695829972179469, -5.7734367211811755, - 19.281663549262714, -7.7079679114509911, 18.982133221850518, - 6.7278265135517552, 9.4200950070653935, -5.0327780626629206, - -1.1472749532062567, 8.9655615288611052, -10.289968622568939, - -4.5317886320427014, -5.0717832150149214, -12.403158065152988, - 16.054879478569319, 11.910769204629043, 8.8721630995550154, - 12.946670225247273, -20.040326823281728, 15.061437997065909, - 12.371159663686912, -5.2434241432319393, -6.539600733678907, - 8.9759004731301122, 10.399696431036546, -9.7820158235043255, - -1.8655127741351087, -7.2564512028104291, -9.2402317505484497, - -15.743596514833451, 8.0518221334585913, 8.064389141916843, - -5.1750464722524647, -1.2577099412771857, 11.088648050953193, - 14.734664098438651, -8.7257834129372487, -4.9071340910761805, - -7.2288497019818241, 11.368753439780507, 11.259515603467754, - -0.9190234527098583, 10.508309728639846, 5.5014236641516137, - -1.0062376510942861, 3.9510038373896794, -3.3772476520373296, - -12.298064413396816, 1.1518807046710942, 9.8347990668982277, - -9.6697877164226895, -5.1708006319540161, 10.90534178699129, - 9.0780310964231923, -11.06717326378323, -10.193153698637712, - 1.6370922062264599, -1.599701860652494, 7.4493340597532782, - 10.079750519485344, 5.9817167134058051, -6.1883642950981734, - -8.7859917448021054, 7.6925693496530796, -11.726693947959594, - 1.5292664230077266, -3.7640503328337047, -9.2026303785959076, - 8.3703384923817321, 9.2968574133785165, -9.0282964165522213, - 14.082662142896044, 7.0391904432891064, -8.1892402659133481, - -8.494960679412987, -8.3171594195215324, -4.1204583607408765, - -12.464929795412097, -8.2800259108270922, 5.0158695467591343, - 2.90504266938304, 5.5802620759772603, 9.6053945607379294, - 7.4665086294967553, 7.2836197716168538, -6.0797636096551519, - 5.9192672325212143, 4.3197502963078556, -2.5794586298505413, - -8.3804827856018385, -5.7616389244014083, 7.5165636982133597, - -3.7871806468757891, 2.6957388838195038, -3.0339814791522679, - 7.7390014359139343, 1.0179611498135317, 0.57428282151728316, - 9.2486809887277968, 8.9851820183067517, -12.322228892543235, - 2.1846637256927366, -6.9268224211182101, -5.6465263096341207, - -9.8609073169739414, -8.0437109222330996, -2.5924823061626299, - 10.799267368908426, 9.5532367964485942, 2.1510949897407339, - 0.72813586085734983, -7.6316236927774765, -6.6634161974825536, - -7.6995131312161114, -2.6469146283491312, -7.8927242011683072, - 7.9686594739655217, -8.0858268153723696, -11.113628935027652, - -4.2312391545249435, 7.400536752330261, -15.878877108958942, - 5.267992480772417, 11.16296673206628, -17.540164979801386, - -14.801126830818111, -11.385201143366997, -14.508310090705075, - 14.464207778841862, 11.215905228606482, 8.9532196390944634, - 3.1058203222772014, 8.0753828772231113, 10.559485384240654, - -8.2414912742823354, -11.714805939566189, 4.7281042573450431, - 12.657353257890819, -6.3043093049399248, 5.067000914225444, - -14.714628033981958, -7.7444814248447615, -2.5025562382741042, - 13.564851064978582, -9.4328409951276662, 10.04126088038934, - -10.570084081595921, 2.3444801610493466, 7.1831276221853866, - 7.404162681313343, 1.1684082688282307, -8.8884680285241533, - 1.9400943416397112, -13.196562462363692, -4.5705203572273359, - 11.003636571194738, 11.468673888105736, -10.534610194739036, - 4.4477979444487845, 7.3667611650061362, -12.044187016767467, - -11.396051178941862, 3.9462512050906744, -12.988661501036244, - 10.545881026800801, -8.0309289513402735, 9.9370741830104734, - 13.654579804016825, 7.0469488853837321, -10.938942295813185, - 5.1800344871423132, 10.882232153707738, 1.2710853105543087, - -6.5661242949766816, 9.7776412282696459, 13.321850745505881, - -8.1153422577009291, -2.2941713421233958, -8.7097542589155221, - 2.2618606797252978, 3.1810406025700315, 4.829995467844082, - -8.8230523342209999, -7.8350849175265527, -9.1156429568037076, - -11.442019665347123, 2.2127249998070249, 18.018245968154236, - 6.7919203279388967, 10.818120665998064, 15.957114328595093, - 9.436472994391762, -15.0724442489973, 10.177531220212931, - 8.7382348206500033, -7.4439716572652967, -10.135340539629416, - -1.5478693068716267, -6.2520881203409369, 21.51870984833112, - 6.7814496888686202, -5.4629593689724354, -1.0810664038442734, - 11.680093350196586, -1.1684404824410481, -8.8192804660387161, - 11.947180907432026, -11.865540708697406, -12.073158010228243, - -9.3168616660647103, -10.855717378744718, 12.832277402471462, - -15.233827235544979, 3.719489187613028, 12.974696537296685, - -8.75959465422536, -2.4475947054420195, 11.313184053568827, - 6.9182165488811229, 12.123675956468196, 9.6442923820443145, - 10.799907622549545, 1.3696427348286129, 12.109212710737127, - 2.6404947713803306, 9.5435762973738267, -5.4268755145327745, - 10.974370356637689, 11.459181655827159, 10.228613791177938, - -2.0376202581586202, 8.5519223504193267, -15.144108617549279, - 10.208111627929036, -16.074632706297336, 9.535346082793712, - 12.968894012265515, 4.2926497043948793, -7.6447760416419124, - 7.3591604897068219, -6.294066487171917, 8.6661482650382133, - 4.3524844886549072, -9.6284187314739373, -16.389868048898698, - 14.370574991274481, -8.2963813089615268, 16.504114329831857, - -8.4564658970066731, -6.3969858495492078, -7.0522130158545027, - 16.328014713505098, 4.0676774938327931, -8.8805902890220576, - -5.6438005548253818, 10.887856323753418, -13.497382772819085, - -17.229682704447541, 10.177341730428909, -10.959196430060141, - -15.892999214486872, -0.39312548358593402, 17.548662000796629, - 8.138747505659067, -11.081466337015, 9.3549081143588229, - -5.2668052531909293, 0.59145215464277101, 13.865804154173629, - -6.7446135707105945, 10.591472647241186, -6.8775928522394087, - 0.79035105716724385, -0.83434363179526505, 13.426811179256797, - 13.480253964577903, 7.9579945693584886, 7.8687287842784803, - -1.2711852125721312, -6.5831626138029433, -10.255988526378117, - -9.3721646222445631, -4.5483019698635951, 12.654546996958775, - -2.2845772848784054, -13.395748226685187, 10.227730333720137, - -8.9275038607977386, 9.2096733075692399, -9.1994549499155589, - -4.5768838702423018, 7.4336970353205523, 6.1990136188764922, - 5.392562974045604, 6.8615159418299543, -9.9148725697134683, - 10.272013543022926, -6.541146389868957, 6.1996539988491746, - -8.5702789915391175, 6.0710850780527128, 0.41216255793753664, - -6.8452494187073416, -7.3698306482120808, -4.3788198137924814, - 5.254192997316685, 7.0651978737141468, -8.3496697717376325, - -15.541186410630397, -13.361062248182593, 11.869712905857645, - 8.8858662456220436, 2.315280646740792, 9.1370562156627635, - 10.612212040886574, 15.723923545841364, 9.3000796832012966, - -12.203790919241875, 9.5229433645020229, -11.332560886601259, - -11.799762316157022, 8.6718707861873146, 3.4390494326490342, - 10.948206478975262, 10.351083327208633, -2.3551385999606347, - 3.6593868571158006, -10.912461508095474, 6.3601915796808566, - 12.644105697007012, 8.0987317607631102, 6.8425116090817673, - -7.8614337809266139, -16.777952262404956, -15.092829035089149, - -10.867283176676434, 9.7617585972043095, 7.0699740006630494, - -0.80345056050581032, 7.2341098943011026, -2.7901743760803868, - -14.023920253719963, -8.6493250885626658, 12.119156062865828, - -12.565363519164727, -6.6257256922764087, 9.9530063133378111, - 6.2285641482405287, 8.5890710113124502, 10.901661163934543, - 1.7011000225296526, 9.2328185698429888, -2.5151197107048353, - -0.78814118951465995, -6.3782804075339934, 0.77016194990540299, - 4.7860592575330942, -18.091131028655795, 6.6618347947308489, - -4.5537746303503699, 12.906362988375243, 6.6637236513957019, - 5.4194732758517778, -5.626683563346548, 4.8295291548347352, - -11.904932030289029, 9.9944164460741938, -11.027348899069844, - -0.014743410131345848, -7.3410368137184197, -12.558702052466645, - -9.2966083471503538, -2.8582301845790048, 16.122229949617235, - 6.0332133243788979, 9.4423884847579131, -6.7953848219405604, - -8.640997496023326, 11.564755524473357, 7.7370575077503672, - 11.178600690994582, 9.6609341268345741, -5.0924071871300569, - 2.9472182219982841, 11.322674214116185, 17.636604816170465, - -8.112421382991716, 5.7980976514734257, 10.587871354585735, - -10.207529594090163, -13.012906685255201, 1.6439826301840548, - 4.7959168408892552, -9.1817793609379343, 15.910744159295755, - 11.988413488939839, 10.225499838967904, -2.1100999951643771, - 7.7773391391119979, 4.2070274590049737, 3.1789918079199362, - 11.389698381773869, -5.6797986359782069, -4.7261529062162424, - -6.1926650154600731, 9.5097255166801595, -4.4005426737892748, - 4.8284348550831577, -7.4035564503513553, -10.371755556185054, - -11.138214834764621, -11.479591917367713, 7.3492465579271542, - -8.6401023000535666, 2.4737379805053212, -8.4391176745455763, - -3.5699286239866383, -8.1254703716775829, 11.948227614312263, - 7.880462510583679, 1.8623842706739999, 7.3888689386136646, - -1.2896033177393418, -8.2116493851785464, -9.0121076446113531, - 2.6038276518722672, 7.9944375021940459, -4.3649859784435145, - 5.1704186172538593, 7.7846827735959723, -0.51775021699396251, - -13.814395914977867, 11.155615752700793, -4.0116122940272048}; - -char detected_data[] = { - 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, - 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, - 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, - 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, - 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, - 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, - 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, - 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, - 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, - 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, - 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, - 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, - 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, - 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, - 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, - 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, - 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, - 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, - 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, - 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, - 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, - 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, - 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, - 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, - 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, - 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, - 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, - 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, - 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, - 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, - 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, - 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, - 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, - 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, - 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, - 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, - 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, - 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, - 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, - 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, - 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, - 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, - 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, - 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, - 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, - 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, - 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, - 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, - 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, - 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, - 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, - 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, - 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, - 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, - 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, - 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, - 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, - 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, - 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, - 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, - 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, - 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, - 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, - 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, - 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, - 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, - 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, - 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, - 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, - 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, - 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, - 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, - 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, - 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, - 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, - 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, - 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, - 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, - 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, - 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, - 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, - 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, - 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, - 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, - 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, - 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, - 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, - 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, - 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, - 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, - 0, 0, 1, 0, 1}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/HRA_112_112.c b/vendor/codec2_flutter_ios_only/src/codec2/src/HRA_112_112.c deleted file mode 100644 index 5750fdf..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/HRA_112_112.c +++ /dev/null @@ -1,145 +0,0 @@ -/* - FILE....: HRA_112_112.c - - Static arrays for LDPC codec HRA_112_112, generated by ldpc_gen_c_h_file.m. -*/ - -#include "HRA_112_112.h" - -#include - -const uint16_t HRA_112_112_H_rows[] = { - 22, 18, 15, 63, 16, 13, 1, 2, 29, 25, 28, 4, 36, 10, 38, - 7, 60, 23, 11, 38, 28, 1, 12, 31, 57, 45, 57, 30, 23, 59, - 67, 14, 16, 4, 14, 62, 15, 50, 7, 70, 64, 6, 42, 48, 9, - 31, 19, 40, 49, 2, 25, 3, 41, 49, 36, 9, 29, 39, 31, 5, - 17, 1, 29, 25, 11, 21, 18, 2, 8, 22, 39, 15, 8, 22, 13, - 3, 19, 4, 21, 62, 34, 43, 6, 24, 17, 60, 8, 74, 6, 44, - 60, 10, 33, 12, 26, 24, 45, 81, 69, 80, 41, 28, 23, 5, 10, - 20, 52, 18, 13, 86, 3, 7, 59, 21, 65, 72, 34, 37, 26, 55, - 47, 48, 34, 5, 44, 47, 68, 96, 82, 111, 61, 74, 30, 17, 55, - 98, 81, 66, 89, 35, 74, 82, 91, 51, 55, 51, 30, 89, 61, 75, - 40, 71, 73, 11, 56, 54, 19, 47, 94, 69, 64, 20, 64, 12, 54, - 77, 42, 88, 36, 52, 90, 63, 70, 27, 32, 73, 91, 32, 56, 46, - 9, 78, 51, 68, 88, 67, 20, 43, 40, 14, 66, 86, 39, 97, 38, - 27, 50, 84, 54, 92, 61, 46, 67, 24, 58, 35, 58, 37, 98, 85, - 73, 84, 48, 35, 57, 16, 26, 37, 65, 32, 72, 95, 107, 33, 77, - 33, 85, 105, 106, 75, 56, 71, 79, 59, 52, 105, 79, 90, 93, 100, - 88, 112, 86, 80, 65, 42, 106, 100, 93, 94, 99, 97, 93, 101, 111, - 99, 83, 53, 85, 95, 108, 107, 41, 109, 84, 78, 104, 101, 69, 110, - 98, 103, 80, 83, 77, 71, 76, 78, 87, 102, 104, 95, 96, 83, 87, - 50, 110, 103, 112, 45, 58, 70, 94, 91, 89, 81, 101, 82, 63, 72, - 100, 97, 76, 112, 53, 105, 49, 75, 109, 102, 66, 111, 68, 87, 92, - 79, 96, 43, 90, 44, 110, 99, 102, 92, 103, 106, 62, 53, 27, 46, - 108, 104, 107, 108, 109, 76}; - -const uint16_t HRA_112_112_H_cols[] = { - 7, 8, 52, 12, 12, 42, 16, 69, 45, 14, 19, 23, 6, 32, 3, - 5, 22, 2, 45, 50, 2, 1, 18, 84, 10, 7, 62, 11, 9, 21, - 24, 63, 2, 5, 28, 13, 6, 15, 58, 39, 39, 22, 76, 13, 26, - 68, 9, 10, 49, 38, 32, 11, 34, 44, 8, 7, 25, 67, 1, 17, - 19, 36, 4, 41, 3, 26, 31, 15, 45, 40, 8, 4, 41, 20, 6, - 53, 1, 42, 9, 20, 25, 17, 33, 41, 3, 19, 55, 17, 27, 14, - 31, 88, 15, 26, 36, 16, 28, 24, 27, 16, 30, 56, 48, 43, 4, - 5, 38, 37, 40, 46, 18, 18, 22, 50, 76, 34, 60, 83, 39, 73, - 56, 92, 42, 52, 75, 35, 37, 33, 61, 67, 47, 75, 66, 70, 29, - 92, 51, 95, 84, 21, 57, 28, 46, 66, 93, 11, 94, 55, 96, 20, - 71, 48, 53, 43, 82, 90, 66, 90, 14, 44, 54, 62, 34, 58, 81, - 53, 23, 43, 27, 93, 10, 86, 37, 80, 60, 49, 21, 79, 74, 72, - 48, 61, 40, 76, 64, 29, 38, 79, 51, 54, 13, 49, 72, 30, 50, - 86, 35, 80, 61, 56, 36, 59, 65, 91, 25, 47, 58, 59, 78, 47, - 32, 24, 44, 86, 64, 57, 12, 23, 109, 107, 85, 63, 31, 65, 62, - 68, 111, 78, 104, 89, 112, 87, 69, 105, 65, 94, 109, 78, 72, 104, - 85, 108, 77, 106, 79, 74, 103, 96, 64, 105, 105, 102, 63, 35, 59, - 108, 112, 81, 102, 57, 106, 83, 81, 77, 101, 55, 94, 96, 97, 106, - 46, 101, 83, 85, 71, 107, 104, 87, 33, 67, 103, 95, 30, 91, 89, - 103, 75, 51, 107, 87, 91, 89, 99, 68, 52, 109, 99, 88, 84, 112, - 54, 70, 92, 100, 98, 74, 60, 100, 98, 110, 90, 73, 71, 95, 70, - 100, 29, 69, 110, 93, 82, 97, 98, 77, 73, 99, 101, 108, 82, 102, - 111, 110, 111, 97, 88, 80}; -const float HRA_112_112_input[] = { - -3.7496794787890972, 14.372112019392226, -7.5640452729302359, - 6.9426063455159657, 5.3103644888713299, -6.9203550501252273, - 8.4296575778653775, 13.495087143587781, 18.111520666852243, - -9.9125748623510912, 10.601298534930972, -10.468591112149715, - -9.0757329437720475, -14.471433733514324, 5.2048820572852641, - -11.353785810284556, -9.4511008284496416, -9.5255219979484025, - -2.0499245561876696, -9.8739646459388748, 22.03442141444015, - -9.9745566449839878, -8.4276711655946226, -4.9811962116476307, - -13.018434575859896, -5.3358535334627293, -5.6704294937789648, - 14.243964608060018, -11.417925510314507, 9.1332657371467878, - -14.380214782394296, 14.090409878618974, 6.5602278279998272, - 15.53025696352436, -9.1752771765906616, -11.384503450560766, - 12.240329442222599, -12.640059450058276, -11.824715154614376, - -13.487656131954735, 15.38073452845444, -13.816294924566529, - 6.3461114450644454, -2.5192445130977559, -11.916088712873863, - 5.4360722876642518, 0.038031547223147381, -12.367220238860654, - -2.747864039796549, -14.920508782249289, 16.487336720060863, - -13.290002442259247, 19.142698450560925, -0.39443060583296108, - 11.723442316413736, -3.6131702833965047, -4.6196487103817017, - -11.794290650694531, -14.342351103186955, 2.8079943208330334, - -15.290175151123936, 9.0801740558512414, 10.184385069676226, - 8.400722260237572, 9.3504690108712936, -14.223531676384166, - 11.752768386971752, 11.36995822251677, -15.285021241405444, - -13.070613695054403, -11.869191325617697, 4.3191750845563401, - 2.0836933404582791, -16.363829786416495, -5.7778094839806595, - 11.06389861779129, 13.285433846434705, 9.2552396418849021, - -11.065999403824057, -10.167040394420443, -7.0107225044503565, - 2.3886881673282474, 5.0014484787306932, -9.2464083853314278, - -12.043309174487364, -11.638411967211738, -16.302815497922911, - 13.347129717938067, -4.1390259986125226, 0.7947480277507295, - 11.538620744796759, -7.4410706619926028, 14.572449028311253, - 12.392747919231169, -3.3027890746379289, -9.8431096813736687, - 11.582657487369399, -7.85736442083219, -7.3780721969188443, - -7.4006260265172212, -8.3937994980934327, -6.6804071011469555, - 19.656301355404196, 1.1084340389939762, 3.6028635453146465, - -4.5409495140900562, 7.3831459854578982, -5.5905999874445662, - -13.852328482738232, 8.9999210644983041, 8.4742375282492315, - 16.989947243749878, 7.5590035165610168, -6.154674423116183, - 4.1119120658251855, 12.351217703790844, 11.070972687846792, - 11.182587746846833, -4.9345619923565645, 9.0054892370887334, - -10.841725474869696, 13.902796293412067, -6.7575171884905396, - -5.8196703210757335, 1.9284357540668857, 9.9905382141440455, - -13.983067199220674, -4.9130522479706453, -8.2369300184767908, - 6.8953565265629644, 2.9285103862640871, -2.6303471135655325, - -8.3563361642086047, 9.5712349244763715, 4.9728623009661161, - -11.045088919587242, -5.7781337596219604, -17.732999074602972, - 8.1353860976076646, -11.066240843831284, -1.7079574457159534, - -16.411685365171998, -9.0471090651358299, -10.959376227315447, - 8.5840398495674126, 6.6373658260736024, 11.422094029020409, - 14.85785089306844, 13.185747281780415, 4.2063935223916191, - -6.9166135608899282, 10.843153262137262, 5.3913075109409441, - -10.744469667642237, -12.491640291445655, 14.141118162062066, - 16.425476099516025, 9.8833761863476042, 2.8719064151687883, - 14.982021915112442, 1.3588165304065343, -11.657839635726177, - 11.066314862965077, -3.0565490195476204, 1.7820159270701772, - -13.535333311782074, 4.4026933190218367, -11.097334550496313, - -11.322820869044248, 16.418516996530371, 5.8239202459876136, - 15.054905601216154, -9.3058742038490152, 8.48902767802557, - -8.3853534273227748, -7.9255089736435176, -9.6156735881618811, - 11.502594413898008, -6.0542015398269911, 7.1229229147355149, - 0.31483632310264387, -11.482093481730768, -9.3225703551629309, - 5.8001228713062831, -9.3515917458791051, 7.9778737065172969, - 9.7095180444854847, -14.060064536791135, 4.9797253221020545, - -6.9210799657794224, 6.6736460552213845, -7.7636429824024606, - 10.233132490278882, 8.401747393605044, -10.861100567451366, - 13.631509744686715, -15.723791754613185, -8.7931294115815923, - -9.9520037489001609, -10.312792052906007, -8.0681893911111917, - -15.411052087079765, 10.938779471602952, -8.751795633239853, - -9.1302029882284419, -2.3357314769649777, -7.9130658335895596, - 2.7508172894969509, -9.1666780515772324, 12.793063537524359, - -13.39091818112591, 7.2827402370664842, -10.400778532411657, - -1.90854156128735, -4.1272702472088971, 12.696932922959466, - -4.0180403457213805, 10.828999052972396, 14.720617452742685, - -8.3763729074389719, 3.955093172344033, 0.90932711822659873, - -5.6696817865337819, -5.8822086115513805}; -const char HRA_112_112_detected_data[] = { - 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, - 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, - 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, - 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, - 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, - 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, - 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, - 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/HRA_112_112.h b/vendor/codec2_flutter_ios_only/src/codec2/src/HRA_112_112.h deleted file mode 100644 index 9eff476..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/HRA_112_112.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - FILE....: HRA_112_112.h - - Static arrays for LDPC codec HRA_112_112, generated by ldpc_gen_c_h_file.m. -*/ - -#define HRA_112_112_NUMBERPARITYBITS 112 -#define HRA_112_112_MAX_ROW_WEIGHT 3 -#define HRA_112_112_CODELENGTH 224 -#define HRA_112_112_NUMBERROWSHCOLS 112 -#define HRA_112_112_MAX_COL_WEIGHT 3 -#define HRA_112_112_DEC_TYPE 0 -#define HRA_112_112_MAX_ITER 100 - -#include - -extern const uint16_t HRA_112_112_H_rows[]; -extern const uint16_t HRA_112_112_H_cols[]; -extern const float HRA_112_112_input[]; -extern const char HRA_112_112_detected_data[]; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/HRA_112_112_test.h b/vendor/codec2_flutter_ios_only/src/codec2/src/HRA_112_112_test.h deleted file mode 100644 index 133d877..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/HRA_112_112_test.h +++ /dev/null @@ -1,153 +0,0 @@ -/* - FILE....: ../src/HRA_112_112.h - - Static arrays for CML LDPC, generated by ldpc_gen_h_file.m. -*/ - -#define HRA_112_112_NUMBERPARITYBITS 112 -#define HRA_112_112_MAX_ROW_WEIGHT 3 -#define HRA_112_112_CODELENGTH 224 -#define HRA_112_112_NUMBERROWSHCOLS 112 -#define HRA_112_112_MAX_COL_WEIGHT 3 -#define HRA_112_112_DEC_TYPE 0 -#define HRA_112_112_MAX_ITER 100 - -#include - -uint16_t HRA_112_112_H_rows[] = { - 22, 18, 15, 63, 16, 13, 1, 2, 29, 25, 28, 4, 36, 10, 38, - 7, 60, 23, 11, 38, 28, 1, 12, 31, 57, 45, 57, 30, 23, 59, - 67, 14, 16, 4, 14, 62, 15, 50, 7, 70, 64, 6, 42, 48, 9, - 31, 19, 40, 49, 2, 25, 3, 41, 49, 36, 9, 29, 39, 31, 5, - 17, 1, 29, 25, 11, 21, 18, 2, 8, 22, 39, 15, 8, 22, 13, - 3, 19, 4, 21, 62, 34, 43, 6, 24, 17, 60, 8, 74, 6, 44, - 60, 10, 33, 12, 26, 24, 45, 81, 69, 80, 41, 28, 23, 5, 10, - 20, 52, 18, 13, 86, 3, 7, 59, 21, 65, 72, 34, 37, 26, 55, - 47, 48, 34, 5, 44, 47, 68, 96, 82, 111, 61, 74, 30, 17, 55, - 98, 81, 66, 89, 35, 74, 82, 91, 51, 55, 51, 30, 89, 61, 75, - 40, 71, 73, 11, 56, 54, 19, 47, 94, 69, 64, 20, 64, 12, 54, - 77, 42, 88, 36, 52, 90, 63, 70, 27, 32, 73, 91, 32, 56, 46, - 9, 78, 51, 68, 88, 67, 20, 43, 40, 14, 66, 86, 39, 97, 38, - 27, 50, 84, 54, 92, 61, 46, 67, 24, 58, 35, 58, 37, 98, 85, - 73, 84, 48, 35, 57, 16, 26, 37, 65, 32, 72, 95, 107, 33, 77, - 33, 85, 105, 106, 75, 56, 71, 79, 59, 52, 105, 79, 90, 93, 100, - 88, 112, 86, 80, 65, 42, 106, 100, 93, 94, 99, 97, 93, 101, 111, - 99, 83, 53, 85, 95, 108, 107, 41, 109, 84, 78, 104, 101, 69, 110, - 98, 103, 80, 83, 77, 71, 76, 78, 87, 102, 104, 95, 96, 83, 87, - 50, 110, 103, 112, 45, 58, 70, 94, 91, 89, 81, 101, 82, 63, 72, - 100, 97, 76, 112, 53, 105, 49, 75, 109, 102, 66, 111, 68, 87, 92, - 79, 96, 43, 90, 44, 110, 99, 102, 92, 103, 106, 62, 53, 27, 46, - 108, 104, 107, 108, 109, 76}; - -uint16_t HRA_112_112_H_cols[] = { - 7, 8, 52, 12, 12, 42, 16, 69, 45, 14, 19, 23, 6, 32, 3, - 5, 22, 2, 45, 50, 2, 1, 18, 84, 10, 7, 62, 11, 9, 21, - 24, 63, 2, 5, 28, 13, 6, 15, 58, 39, 39, 22, 76, 13, 26, - 68, 9, 10, 49, 38, 32, 11, 34, 44, 8, 7, 25, 67, 1, 17, - 19, 36, 4, 41, 3, 26, 31, 15, 45, 40, 8, 4, 41, 20, 6, - 53, 1, 42, 9, 20, 25, 17, 33, 41, 3, 19, 55, 17, 27, 14, - 31, 88, 15, 26, 36, 16, 28, 24, 27, 16, 30, 56, 48, 43, 4, - 5, 38, 37, 40, 46, 18, 18, 22, 50, 76, 34, 60, 83, 39, 73, - 56, 92, 42, 52, 75, 35, 37, 33, 61, 67, 47, 75, 66, 70, 29, - 92, 51, 95, 84, 21, 57, 28, 46, 66, 93, 11, 94, 55, 96, 20, - 71, 48, 53, 43, 82, 90, 66, 90, 14, 44, 54, 62, 34, 58, 81, - 53, 23, 43, 27, 93, 10, 86, 37, 80, 60, 49, 21, 79, 74, 72, - 48, 61, 40, 76, 64, 29, 38, 79, 51, 54, 13, 49, 72, 30, 50, - 86, 35, 80, 61, 56, 36, 59, 65, 91, 25, 47, 58, 59, 78, 47, - 32, 24, 44, 86, 64, 57, 12, 23, 109, 107, 85, 63, 31, 65, 62, - 68, 111, 78, 104, 89, 112, 87, 69, 105, 65, 94, 109, 78, 72, 104, - 85, 108, 77, 106, 79, 74, 103, 96, 64, 105, 105, 102, 63, 35, 59, - 108, 112, 81, 102, 57, 106, 83, 81, 77, 101, 55, 94, 96, 97, 106, - 46, 101, 83, 85, 71, 107, 104, 87, 33, 67, 103, 95, 30, 91, 89, - 103, 75, 51, 107, 87, 91, 89, 99, 68, 52, 109, 99, 88, 84, 112, - 54, 70, 92, 100, 98, 74, 60, 100, 98, 110, 90, 73, 71, 95, 70, - 100, 29, 69, 110, 93, 82, 97, 98, 77, 73, 99, 101, 108, 82, 102, - 111, 110, 111, 97, 88, 80}; - -float HRA_112_112_input[] = { - -5.7868467875518395, -6.340739523388657, 3.6654768375589399, - 4.1452438183910827, -4.6746135252043111, -4.8353634065473701, - -6.0729133999971285, 4.0335561282226271, -6.1114855315699135, - 4.1029513876344916, -4.6481634503883624, 5.7650915278538646, - 6.5567610490570312, 5.1810523550761207, 3.4789051916752669, - 4.2678848515507122, 4.0314705275547089, 6.0297078342283799, - 4.9101169653222163, -6.4577297598332324, -7.4273487270443095, - 3.472130985267488, -6.5346233967202254, 7.5312028458762414, - -5.2618748211985915, 6.4198074556254969, 3.7500207659511484, - 5.4040878141701141, 5.7554260586578803, 3.3973620625026886, - 7.1815269888532907, 5.0031747952824963, 5.1377243276145599, - 5.385229914081755, -0.61384230253605643, 0.46954911161835722, - 3.5182611493679663, 3.393698829567279, 6.147483866535171, - 3.8374563885989228, 1.3663773773557015, -4.0917661778352352, - -3.2968298202652835, -6.0371912041431148, -8.4279246895331781, - -0.98556788606912304, -3.515442879601625, 4.2642476942514875, - -5.5905016743156972, 3.6920101668161727, -4.035860013856472, - 5.3290190966269995, -2.9729656070594057, -2.5054371041338537, - 6.8683150013190115, -7.1109038108500098, 6.7301890172695158, - 2.5782062882356374, 4.4161464916633282, 2.2692851122935322, - -1.3682527221025034, 3.0794629981237631, -7.8655412763279973, - 1.1479897597156494, 0.22370696314520414, 1.1222453403894148, - -3.1335220808128219, -3.8352985265277089, -1.2463521619727009, - 2.9511814015293218, -8.668811041413111, 3.0185610517830548, - -6.9592962351476091, 3.9653416636625414, -3.9384322074229408, - 1.6789027505247516, 2.9579632055145502, -2.1212672699995125, - -3.8892168640945193, 7.516114544807583, -0.84285604179011253, - 4.1295390817792512, 0.26093278495228162, -3.6071666499996047, - -0.065323173773821908, -1.9146584862100915, 4.7951161310834367, - 5.5440002982088803, 3.5917539980319364, -0.81416023563684481, - -2.6588977758747721, -3.0404494660606227, 4.5389936536649662, - 2.7870543501114082, 3.5622966707453889, 5.1982116994791161, - 2.4775319712999302, 0.70541080068007755, 0.89622787904518464, - 4.3789020039207758, -2.4976040580619445, -0.7201255450933205, - 4.2071986295109394, -5.2418379271657001, -4.092365654835163, - -4.3510198326542557, 3.7404138637596001, 1.2496890930262492, - -7.1053909336149728, -4.8888279905256748, -6.3523901926735249, - -1.8757980409249277, 3.6256343910366273, -3.6165398844758228, - -0.38322352317510561, -0.84747550047769449, -1.2717892264620718, - -2.3899810721111154, 4.1368500898628637, 3.0440159002314924, - 3.4235543074310728, -2.146097053557551, -1.7537615307751735, - -1.0280987119225686, 4.9009275359419204, 5.0046047156368116, - -0.47700833783807428, -4.5989492891875567, 1.4154839158712684, - 0.33410724822249849, -4.771937854508927, -1.1817007924012972, - -2.5960865023249302, 0.30422629502493687, -2.2097849377516763, - -4.343244940878872, 1.9464288912612249, -9.0976989032526809, - -8.6454142547592685, -1.8164317522989997, 2.2780845702169961, - -4.8775405042023356, -0.61834757216625769, -1.985554501661331, - -0.87599558657596699, -8.0610201531782124, -5.9847574894882554, - -10.365536404711067, 2.9782191161319376, -6.9443820217795169, - 0.72935566343949876, -4.5326632961380664, 1.1307250622386897, - -4.0853969692041314, 5.4926924507347596, 5.6722555096362042, - -2.5069992226180222, 2.0460084066662092, 2.5375899018238197, - -3.5264293517823679, 3.2103083878487557, 5.793713046583183, - -2.7633653287377995, 6.482851815629938, -1.2471646528152021, - 3.0010491047486085, 0.29072399293868856, -4.0686659405747738, - -2.6253508133431289, -6.3896590677017171, 5.7054076607727886, - 4.3053292399977092, 2.2372599539047151, -4.8975607398431897, - 5.8124794005531406, -0.69648233429781359, 5.5509723605410004, - 2.0900652762982923, -4.7944253330785118, -2.9224693872108287, - 6.0218579796888303, 4.7027436964063387, -4.1564871824868659, - -1.324779121305123, 0.38031612697724176, -0.69335927945709175, - -0.4028295686263082, 2.0967669774299189, 2.7947186736855909, - 2.1473880039026203, 6.368702510367898, -3.0691782325684049, - 1.6125827087903837, 3.5925359669662518, 5.178224480471127, - -2.5070763799556617, 4.4280512389456632, -6.5385259627250134, - 2.8047951999607603, -3.0185715385981151, -0.33348983718789993, - -4.3285127692183556, -7.9609407359365134, 7.064973172264966, - 0.95714371675898213, -5.5481272272415545, -1.6024149180708045, - -4.5740915350065992, -1.5117120929647263, 1.9996824689403947, - 5.9527526663437724, 5.0239857792804967, 6.2677418491798784, - -1.9758548902654505, 2.1709284879472324, 2.5054563138111572, - 4.4483685492445115, 3.2098357106645676, -4.5306213859481099, - 1.1291114493451548, 1.5827945023160555, -5.2733490015732292, - 5.0664709821503457, 1.9652801880230106}; - -char HRA_112_112_detected_data[] = { - 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, - 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, - 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, - 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, - 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, - 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/HRA_56_56.c b/vendor/codec2_flutter_ios_only/src/codec2/src/HRA_56_56.c deleted file mode 100644 index 53d2962..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/HRA_56_56.c +++ /dev/null @@ -1,76 +0,0 @@ -/* - FILE....: HRA_56_56.c - - Static arrays for LDPC codec HRA_56_56, generated by ldpc_gen_c_h_file.m. -*/ - -#include "HRA_56_56.h" - -#include - -const uint16_t HRA_56_56_H_rows[] = { - 4, 33, 22, 2, 7, 12, 15, 41, 6, 2, 8, 4, 1, 7, 20, 10, 2, 1, 28, - 7, 3, 25, 18, 19, 17, 15, 8, 13, 9, 12, 39, 6, 17, 32, 3, 6, 10, 18, - 4, 34, 1, 14, 9, 5, 15, 12, 5, 35, 5, 17, 16, 36, 20, 9, 34, 33, 14, - 46, 39, 27, 43, 22, 19, 45, 16, 23, 31, 52, 3, 8, 51, 13, 31, 11, 31, 36, - 11, 28, 30, 21, 38, 26, 42, 29, 23, 33, 45, 19, 28, 40, 10, 23, 41, 25, 29, - 36, 29, 49, 38, 11, 30, 42, 16, 37, 49, 35, 18, 47, 24, 25, 54, 34, 41, 55, - 47, 44, 56, 46, 20, 55, 21, 40, 37, 53, 13, 32, 52, 22, 32, 24, 44, 42, 49, - 38, 48, 24, 56, 48, 50, 39, 26, 50, 54, 26, 37, 56, 14, 27, 46, 44, 45, 43, - 53, 52, 40, 21, 51, 47, 30, 50, 51, 43, 27, 54, 53, 48, 55, 35}; - -const uint16_t HRA_56_56_H_cols[] = { - 13, 4, 13, 1, 44, 9, 5, 11, 29, 16, 18, 6, 13, 1, 7, 9, 25, 23, 7, - 7, 9, 3, 10, 18, 22, 26, 4, 19, 28, 23, 11, 14, 2, 40, 48, 20, 11, 22, - 3, 10, 1, 20, 5, 4, 8, 2, 3, 23, 21, 27, 15, 12, 12, 31, 2, 5, 18, - 10, 21, 12, 47, 32, 14, 14, 43, 35, 21, 30, 16, 35, 26, 47, 33, 38, 24, 15, - 24, 6, 29, 24, 38, 29, 36, 22, 39, 45, 17, 17, 30, 55, 50, 40, 33, 25, 28, - 34, 8, 27, 40, 19, 31, 6, 46, 26, 42, 30, 45, 15, 41, 52, 8, 25, 41, 17, - 35, 39, 49, 36, 20, 27, 54, 37, 44, 46, 28, 42, 45, 51, 50, 51, 32, 53, 44, - 16, 36, 53, 54, 32, 51, 33, 41, 47, 19, 34, 56, 56, 56, 52, 48, 43, 31, 43, - 37, 46, 50, 38, 39, 37, 52, 54, 49, 48, 49, 42, 53, 55, 55, 34}; -const float HRA_56_56_input[] = { - 14.298032547127473, -11.608683311452998, 0.061009204291271366, - 8.7391847645722684, -12.795277326577247, 6.7260364215470982, - -7.5723272788156795, 3.020497481136375, 8.2196966933834599, - 11.034906196221687, 8.9543980103634855, 7.577128824074272, - 11.270326150592165, 8.9523294544722756, 13.083603245905977, - 10.444986837116906, 14.412579891463047, -0.8166007558942513, - 9.668894733671868, 9.8522676575640613, 7.5958239024346623, - 3.3746023851032851, 12.95322595905497, -7.1449563352606029, - 1.2577795908906082, -9.5332224407426533, -17.239402070035631, - -6.3014111920535631, -6.3042395285059891, 10.610150547425137, - -3.8501667154717536, 13.993722156033463, -11.103807489470984, - -0.23655217621193034, -11.820607488167541, -14.520377014662206, - 14.480439663208152, -14.74956701516993, 5.8803502868629876, - 16.404549902101486, 1.7430972286160022, 3.5578988903336057, - -10.514179494138832, 15.893919839476579, -15.088901968318774, - 8.8240079988183187, -11.214227098114568, 15.245351554277944, - -8.0630908862483555, -4.2718917016539022, -6.8904115533020676, - 7.1059188065004335, -15.465940930478686, 7.1911507113949069, - -7.3855595052175262, 8.2801168546061081, 7.7415094545890444, - 12.447605971579639, -7.1709811194443134, -16.91513428272188, - -7.1177366282735868, -15.474578777159717, -9.5942142791182636, - -6.9537488066001139, -7.7476201276622323, 4.1904181285877389, - -6.2099572289514366, 10.754678540144104, -3.9339356682709932, - 14.679906470086319, -8.142754803364026, -9.9243587954743582, - -8.3178402502703221, 12.312937678168655, 8.8921607910136853, - 12.075156922922833, 16.513528553689049, -13.145624744678896, - 3.5338893311207094, -1.1150068888984415, 17.69091341508814, - -7.0011692651766051, 11.611823808269614, -2.2724478894865379, - 5.5105851969653212, 10.230592589300167, -10.45300755375545, - 2.3936930052496277, -12.582400877459929, -10.207872559757952, - 11.527552494414541, -6.8352398173173716, -5.9832808666428097, - -10.392213829350812, -19.448491316457705, -3.5592349479718512, - -7.2921546103361257, 12.917679155812705, -16.567433882993001, - 8.2654374923309515, -12.878121359778884, 6.2541630279508933, - -12.780545162108599, -10.751773785029803, 9.429146662721827, - 10.341931054806189, 18.701038410743397, 9.823780098709431, - 14.192912051007719, -16.603334298788742, 7.2592993795204217, - 13.495247736424982}; -const char HRA_56_56_detected_data[] = { - 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, - 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, - 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, - 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/HRA_56_56.h b/vendor/codec2_flutter_ios_only/src/codec2/src/HRA_56_56.h deleted file mode 100644 index 49b0da6..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/HRA_56_56.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - FILE....: HRA_56_56.h - - Static arrays for LDPC codec HRA_56_56, generated by ldpc_gen_c_h_file.m. -*/ - -#define HRA_56_56_NUMBERPARITYBITS 56 -#define HRA_56_56_MAX_ROW_WEIGHT 3 -#define HRA_56_56_CODELENGTH 112 -#define HRA_56_56_NUMBERROWSHCOLS 56 -#define HRA_56_56_MAX_COL_WEIGHT 3 -#define HRA_56_56_DEC_TYPE 0 -#define HRA_56_56_MAX_ITER 100 - -#include - -extern const uint16_t HRA_56_56_H_rows[]; -extern const uint16_t HRA_56_56_H_cols[]; -extern const float HRA_56_56_input[]; -extern const char HRA_56_56_detected_data[]; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/HRAa_1536_512.c b/vendor/codec2_flutter_ios_only/src/codec2/src/HRAa_1536_512.c deleted file mode 100644 index e52e5e3..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/HRAa_1536_512.c +++ /dev/null @@ -1,1702 +0,0 @@ -/* - FILE....: HRAa_1536_512.c - - Static arrays for LDPC codec HRAa_1536_512, generated by ldpc_gen_c_h_file.m. -*/ - -#include "HRAa_1536_512.h" - -#include - -const uint16_t HRAa_1536_512_H_rows[] = { - 122, 98, 31, 39, 21, 33, 91, 90, 118, 111, 126, 34, - 5, 120, 54, 2, 95, 67, 15, 68, 114, 10, 100, 53, - 104, 29, 44, 76, 59, 112, 73, 77, 71, 61, 69, 128, - 106, 50, 32, 6, 85, 102, 37, 99, 57, 75, 80, 88, - 41, 27, 127, 16, 40, 119, 46, 110, 97, 79, 13, 45, - 55, 62, 103, 92, 116, 7, 66, 83, 89, 96, 82, 58, - 105, 78, 4, 47, 107, 52, 28, 20, 24, 51, 108, 36, - 63, 30, 48, 26, 109, 60, 87, 49, 86, 25, 42, 123, - 93, 18, 101, 43, 14, 72, 124, 35, 115, 81, 70, 22, - 125, 64, 1, 113, 3, 17, 84, 74, 23, 94, 38, 12, - 8, 65, 19, 56, 121, 9, 11, 117, 45, 115, 46, 23, - 41, 17, 61, 112, 36, 99, 31, 107, 19, 37, 7, 11, - 6, 47, 89, 4, 57, 20, 95, 55, 87, 82, 106, 88, - 90, 85, 125, 42, 120, 18, 21, 34, 100, 103, 113, 5, - 53, 108, 83, 67, 92, 109, 28, 76, 14, 43, 58, 30, - 73, 33, 16, 35, 101, 22, 110, 94, 2, 91, 65, 98, - 66, 51, 121, 84, 64, 118, 126, 27, 26, 111, 68, 69, - 15, 124, 75, 123, 52, 10, 79, 40, 119, 9, 81, 102, - 104, 13, 80, 127, 59, 72, 50, 48, 128, 56, 105, 117, - 49, 54, 63, 60, 32, 71, 1, 114, 74, 70, 44, 86, - 12, 8, 78, 29, 24, 96, 3, 93, 116, 62, 77, 38, - 25, 39, 122, 97, 76, 37, 24, 104, 4, 46, 86, 44, - 68, 47, 62, 49, 8, 79, 14, 119, 101, 63, 12, 53, - 112, 78, 39, 103, 64, 100, 34, 108, 116, 23, 81, 121, - 35, 124, 9, 127, 88, 125, 74, 94, 21, 10, 83, 2, - 109, 80, 115, 122, 65, 1, 69, 71, 92, 89, 117, 75, - 60, 59, 110, 43, 27, 118, 82, 38, 16, 26, 42, 55, - 48, 70, 97, 90, 105, 33, 123, 120, 29, 126, 30, 73, - 114, 57, 15, 72, 54, 96, 99, 107, 11, 45, 98, 22, - 95, 41, 18, 13, 52, 87, 25, 17, 7, 58, 67, 32, - 51, 50, 128, 61, 66, 113, 31, 106, 5, 36, 20, 19, - 28, 6, 85, 91, 84, 56, 40, 111, 93, 77, 3, 102, - 67, 63, 11, 23, 75, 55, 24, 38, 90, 17, 34, 5, - 121, 103, 79, 40, 14, 76, 15, 88, 82, 100, 57, 102, - 50, 84, 56, 114, 9, 119, 39, 86, 41, 89, 52, 13, - 120, 25, 72, 33, 80, 3, 60, 109, 65, 28, 111, 16, - 37, 69, 12, 94, 42, 105, 44, 106, 70, 68, 19, 74, - 78, 124, 46, 43, 26, 32, 117, 128, 126, 93, 91, 116, - 4, 10, 18, 64, 104, 81, 35, 115, 98, 48, 22, 125, - 95, 123, 127, 96, 27, 107, 110, 58, 53, 62, 51, 97, - 92, 54, 20, 21, 101, 30, 77, 2, 83, 87, 71, 108, - 36, 61, 73, 8, 29, 113, 112, 59, 118, 45, 7, 6, - 66, 85, 122, 47, 99, 49, 31, 1, 223, 249, 170, 159, - 214, 134, 239, 206, 146, 132, 133, 207, 250, 208, 144, 213, - 156, 198, 192, 211, 143, 174, 199, 254, 184, 131, 230, 161, - 237, 158, 173, 204, 187, 171, 155, 164, 137, 183, 178, 151, - 166, 180, 135, 200, 172, 176, 189, 169, 162, 136, 228, 252, - 150, 212, 210, 231, 195, 154, 129, 147, 227, 148, 205, 255, - 216, 233, 248, 246, 219, 236, 157, 197, 225, 240, 139, 256, - 241, 238, 188, 152, 209, 167, 163, 145, 218, 168, 242, 165, - 235, 153, 201, 160, 182, 138, 191, 245, 179, 140, 203, 185, - 229, 181, 220, 175, 202, 190, 253, 234, 215, 149, 193, 251, - 224, 221, 196, 177, 243, 232, 247, 217, 141, 186, 142, 244, - 222, 194, 226, 130, 232, 185, 178, 129, 139, 244, 132, 164, - 230, 191, 209, 242, 168, 228, 249, 158, 248, 235, 206, 238, - 218, 159, 253, 196, 135, 147, 177, 225, 160, 137, 161, 212, - 192, 175, 207, 222, 138, 134, 234, 136, 156, 152, 213, 226, - 229, 151, 141, 201, 256, 181, 241, 243, 224, 180, 236, 194, - 240, 182, 211, 255, 189, 208, 131, 176, 202, 155, 231, 146, - 190, 237, 203, 183, 216, 133, 148, 144, 245, 174, 210, 252, - 145, 142, 198, 187, 221, 153, 163, 223, 130, 162, 247, 140, - 154, 184, 193, 215, 143, 199, 166, 220, 167, 219, 246, 204, - 250, 173, 205, 254, 186, 149, 188, 172, 169, 150, 227, 233, - 195, 251, 214, 217, 165, 170, 179, 157, 171, 197, 239, 200, - 230, 130, 218, 131, 154, 223, 142, 155, 252, 174, 182, 156, - 196, 229, 239, 192, 147, 198, 235, 209, 162, 199, 163, 227, - 237, 148, 228, 160, 238, 240, 190, 241, 250, 211, 242, 184, - 181, 251, 245, 187, 170, 194, 246, 212, 217, 138, 201, 193, - 256, 224, 244, 243, 165, 144, 175, 180, 176, 185, 216, 141, - 197, 231, 220, 204, 207, 221, 189, 150, 214, 134, 195, 234, - 149, 186, 249, 140, 255, 168, 178, 133, 202, 145, 222, 236, - 164, 188, 166, 208, 232, 132, 219, 159, 177, 139, 205, 226, - 248, 254, 136, 161, 233, 135, 153, 171, 169, 146, 129, 167, - 206, 215, 183, 225, 143, 137, 191, 200, 179, 213, 157, 152, - 173, 151, 247, 253, 210, 158, 203, 172, 201, 162, 239, 190, - 256, 229, 213, 135, 253, 178, 174, 193, 161, 238, 186, 141, - 143, 205, 181, 129, 132, 180, 247, 255, 199, 241, 177, 251, - 234, 212, 169, 200, 210, 133, 249, 163, 148, 153, 221, 164, - 195, 152, 146, 232, 156, 243, 252, 142, 237, 219, 134, 197, - 139, 137, 198, 218, 240, 155, 159, 160, 209, 228, 154, 168, - 176, 225, 184, 194, 149, 188, 196, 157, 246, 208, 151, 236, - 140, 130, 231, 226, 254, 217, 235, 165, 203, 182, 215, 189, - 175, 136, 147, 185, 216, 242, 245, 172, 158, 173, 192, 211, - 144, 171, 170, 214, 223, 207, 191, 222, 220, 179, 150, 244, - 224, 230, 145, 183, 206, 202, 250, 204, 167, 227, 187, 166, - 248, 138, 131, 233, 332, 283, 261, 276, 293, 336, 357, 369, - 281, 317, 278, 356, 352, 367, 294, 350, 384, 327, 376, 290, - 346, 361, 292, 351, 354, 363, 326, 291, 340, 273, 345, 306, - 271, 341, 270, 307, 328, 360, 304, 362, 382, 322, 257, 297, - 320, 337, 266, 259, 377, 368, 298, 310, 325, 371, 272, 324, - 343, 374, 353, 370, 364, 316, 309, 269, 286, 277, 314, 358, - 268, 313, 315, 311, 295, 267, 381, 344, 289, 260, 366, 258, - 305, 342, 301, 308, 284, 331, 338, 380, 318, 329, 339, 264, - 312, 303, 348, 335, 359, 330, 285, 263, 279, 274, 373, 265, - 347, 333, 287, 323, 375, 355, 288, 365, 262, 379, 334, 378, - 349, 383, 282, 296, 300, 321, 299, 275, 302, 280, 319, 372, - 317, 372, 279, 308, 343, 334, 288, 341, 349, 318, 331, 329, - 323, 371, 296, 298, 365, 327, 310, 344, 283, 321, 291, 325, - 324, 360, 282, 294, 352, 377, 374, 342, 364, 263, 275, 267, - 326, 335, 328, 289, 305, 280, 269, 314, 367, 300, 260, 333, - 322, 271, 357, 306, 290, 358, 366, 303, 272, 302, 362, 353, - 338, 383, 266, 264, 373, 359, 348, 312, 299, 286, 380, 268, - 315, 285, 258, 363, 320, 287, 281, 311, 370, 313, 339, 273, - 284, 292, 355, 345, 346, 384, 257, 295, 336, 277, 361, 261, - 270, 369, 368, 337, 351, 378, 301, 316, 259, 262, 297, 276, - 356, 293, 304, 347, 381, 330, 340, 379, 350, 332, 375, 382, - 278, 307, 274, 309, 319, 265, 376, 354, 346, 320, 258, 341, - 362, 360, 273, 342, 348, 324, 302, 340, 349, 292, 343, 370, - 378, 295, 271, 327, 286, 371, 304, 306, 299, 345, 344, 326, - 315, 357, 328, 262, 266, 329, 284, 309, 365, 332, 333, 338, - 274, 303, 280, 380, 358, 363, 323, 322, 259, 294, 379, 285, - 316, 278, 359, 310, 374, 334, 356, 261, 377, 347, 330, 355, - 290, 331, 353, 314, 257, 267, 373, 291, 313, 375, 366, 382, - 350, 260, 272, 335, 301, 275, 270, 300, 321, 311, 383, 317, - 305, 384, 319, 337, 279, 297, 287, 277, 325, 367, 376, 308, - 364, 264, 339, 312, 265, 351, 283, 268, 298, 288, 318, 368, - 361, 307, 372, 296, 293, 289, 369, 269, 276, 263, 336, 381, - 281, 352, 282, 354, 362, 360, 308, 384, 283, 296, 379, 280, - 293, 294, 376, 358, 285, 319, 348, 302, 315, 304, 276, 338, - 353, 290, 367, 346, 364, 306, 295, 260, 322, 378, 366, 363, - 288, 361, 371, 281, 334, 356, 350, 347, 375, 365, 314, 351, - 340, 257, 266, 345, 333, 373, 268, 277, 344, 359, 341, 343, - 337, 352, 263, 349, 271, 381, 297, 377, 325, 339, 328, 267, - 279, 372, 354, 287, 313, 316, 321, 258, 305, 300, 374, 330, - 331, 259, 307, 261, 289, 335, 317, 324, 278, 368, 292, 299, - 327, 320, 286, 291, 332, 272, 262, 275, 355, 265, 270, 383, - 318, 309, 269, 274, 357, 298, 342, 282, 264, 329, 310, 284, - 301, 336, 369, 303, 311, 323, 370, 326, 273, 380, 382, 312, - 426, 449, 487, 455, 404, 413, 459, 469, 493, 508, 485, 442, - 468, 439, 483, 443, 480, 418, 507, 423, 407, 474, 409, 425, - 475, 444, 388, 496, 390, 490, 503, 416, 417, 509, 448, 479, - 415, 501, 451, 471, 432, 427, 395, 410, 400, 408, 476, 441, - 424, 391, 466, 482, 478, 454, 481, 394, 411, 446, 484, 431, - 402, 491, 460, 494, 433, 440, 500, 450, 405, 430, 412, 387, - 414, 492, 488, 436, 467, 461, 399, 472, 506, 396, 486, 505, - 429, 495, 386, 438, 464, 456, 445, 462, 447, 428, 512, 385, - 406, 463, 465, 422, 502, 437, 434, 435, 389, 489, 421, 497, - 457, 499, 401, 393, 510, 392, 403, 453, 398, 397, 511, 477, - 420, 452, 419, 504, 473, 498, 458, 470, 508, 439, 475, 499, - 440, 394, 420, 469, 452, 416, 391, 405, 404, 498, 431, 510, - 435, 434, 479, 459, 424, 472, 461, 429, 386, 489, 415, 512, - 456, 406, 422, 411, 500, 455, 410, 401, 430, 392, 449, 468, - 445, 443, 426, 490, 486, 389, 454, 464, 505, 473, 425, 442, - 402, 436, 511, 488, 480, 466, 393, 481, 407, 397, 502, 446, - 496, 504, 506, 438, 396, 492, 478, 433, 387, 501, 421, 418, - 453, 470, 414, 450, 432, 428, 485, 491, 409, 447, 507, 385, - 395, 465, 474, 403, 493, 457, 477, 460, 400, 444, 509, 463, - 441, 467, 388, 427, 423, 398, 417, 412, 483, 399, 448, 503, - 437, 471, 413, 487, 476, 419, 484, 495, 497, 408, 451, 390, - 462, 482, 458, 494, 424, 429, 421, 467, 425, 480, 435, 436, - 498, 417, 437, 419, 469, 477, 465, 428, 484, 493, 504, 452, - 387, 458, 395, 418, 489, 390, 389, 474, 426, 444, 445, 466, - 439, 388, 483, 416, 391, 461, 407, 491, 448, 431, 473, 385, - 400, 411, 457, 394, 397, 470, 492, 406, 455, 434, 433, 475, - 427, 505, 449, 420, 403, 478, 393, 443, 500, 446, 415, 414, - 472, 454, 510, 511, 438, 408, 468, 487, 399, 506, 460, 495, - 459, 450, 423, 386, 485, 481, 410, 453, 430, 412, 496, 502, - 490, 501, 447, 432, 402, 462, 497, 404, 494, 503, 508, 440, - 398, 512, 479, 441, 401, 392, 471, 456, 509, 405, 488, 409, - 486, 422, 451, 507, 499, 413, 476, 442, 396, 482, 464, 463, - 434, 487, 456, 385, 388, 477, 469, 427, 401, 439, 454, 464, - 391, 390, 471, 399, 473, 400, 506, 436, 478, 437, 497, 465, - 481, 490, 418, 404, 425, 463, 509, 393, 416, 467, 501, 409, - 410, 498, 402, 394, 412, 438, 496, 480, 443, 450, 466, 476, - 448, 460, 420, 397, 479, 511, 395, 502, 396, 387, 433, 457, - 485, 419, 510, 474, 411, 426, 421, 435, 442, 449, 445, 415, - 494, 499, 470, 512, 429, 392, 398, 488, 504, 451, 508, 417, - 483, 406, 458, 405, 461, 453, 389, 440, 441, 423, 428, 492, - 403, 459, 495, 452, 489, 414, 455, 407, 493, 507, 408, 500, - 413, 444, 472, 430, 503, 386, 462, 447, 468, 432, 491, 482, - 486, 446, 484, 424, 431, 505, 422, 475, 586, 617, 576, 608, - 627, 589, 634, 597, 531, 534, 513, 620, 575, 605, 593, 539, - 550, 639, 544, 567, 637, 628, 595, 592, 612, 551, 583, 541, - 598, 527, 599, 545, 594, 610, 591, 633, 547, 516, 553, 522, - 568, 558, 570, 619, 638, 523, 517, 537, 601, 542, 616, 622, - 632, 629, 621, 609, 546, 564, 532, 636, 618, 588, 533, 582, - 585, 623, 561, 578, 518, 525, 613, 529, 615, 614, 603, 577, - 540, 528, 611, 559, 565, 556, 596, 574, 571, 581, 587, 519, - 625, 552, 563, 635, 520, 580, 640, 602, 521, 538, 604, 631, - 548, 624, 514, 515, 543, 607, 526, 557, 626, 600, 536, 566, - 590, 572, 535, 562, 524, 630, 579, 584, 530, 555, 554, 606, - 560, 549, 569, 573, 523, 515, 619, 608, 610, 594, 617, 618, - 532, 542, 527, 626, 625, 584, 550, 541, 629, 521, 632, 622, - 640, 599, 580, 579, 601, 627, 582, 556, 525, 581, 551, 536, - 560, 630, 631, 614, 577, 559, 572, 592, 566, 524, 555, 598, - 561, 595, 638, 602, 612, 546, 597, 513, 569, 540, 570, 571, - 588, 604, 637, 548, 609, 534, 591, 518, 537, 564, 565, 528, - 615, 606, 583, 621, 605, 624, 517, 543, 529, 519, 636, 530, - 589, 639, 573, 620, 578, 545, 535, 634, 607, 567, 538, 586, - 520, 635, 576, 552, 554, 558, 628, 544, 623, 568, 533, 563, - 585, 611, 516, 562, 613, 557, 633, 531, 522, 590, 603, 574, - 575, 553, 600, 587, 526, 616, 514, 547, 549, 539, 596, 593, - 572, 609, 514, 594, 576, 626, 536, 598, 617, 564, 568, 558, - 547, 606, 517, 624, 578, 582, 513, 571, 634, 585, 623, 605, - 557, 539, 588, 545, 638, 534, 530, 524, 533, 552, 570, 573, - 520, 595, 566, 559, 537, 567, 639, 562, 636, 635, 619, 597, - 600, 621, 630, 616, 560, 632, 565, 584, 528, 640, 593, 561, - 523, 629, 633, 518, 591, 551, 542, 583, 555, 599, 611, 548, - 589, 602, 531, 612, 574, 522, 586, 538, 569, 546, 587, 613, - 540, 608, 543, 553, 519, 627, 563, 592, 527, 628, 618, 601, - 525, 521, 614, 544, 541, 580, 596, 603, 604, 607, 622, 579, - 549, 620, 615, 575, 625, 637, 610, 526, 577, 554, 581, 550, - 535, 529, 532, 515, 516, 556, 631, 590, 588, 589, 555, 638, - 592, 518, 559, 625, 568, 546, 516, 610, 624, 590, 549, 601, - 632, 514, 554, 561, 537, 569, 551, 521, 542, 541, 623, 640, - 627, 564, 533, 530, 591, 611, 597, 579, 598, 600, 594, 528, - 540, 581, 604, 633, 536, 527, 558, 593, 574, 534, 544, 616, - 612, 607, 517, 620, 532, 618, 615, 608, 637, 622, 529, 621, - 573, 602, 543, 578, 563, 595, 553, 523, 525, 582, 539, 560, - 613, 552, 575, 639, 606, 635, 577, 548, 522, 605, 571, 520, - 535, 580, 513, 629, 562, 570, 545, 617, 519, 566, 557, 556, - 572, 587, 584, 547, 524, 576, 538, 603, 550, 599, 619, 628, - 515, 630, 614, 567, 583, 626, 636, 585, 526, 565, 596, 531, - 631, 586, 609, 634, 654, 647, 718, 697, 752, 672, 705, 651, - 683, 675, 742, 670, 717, 658, 650, 695, 701, 665, 656, 723, - 730, 702, 731, 726, 750, 711, 667, 645, 653, 691, 743, 733, - 720, 714, 684, 722, 690, 678, 754, 721, 708, 710, 659, 749, - 751, 724, 758, 748, 716, 646, 729, 664, 644, 728, 693, 759, - 753, 746, 686, 719, 762, 700, 676, 756, 734, 765, 689, 715, - 661, 643, 660, 680, 642, 740, 648, 732, 709, 663, 668, 685, - 727, 662, 737, 747, 725, 703, 736, 713, 641, 764, 688, 666, - 706, 745, 739, 712, 681, 682, 679, 655, 694, 767, 760, 704, - 673, 674, 757, 669, 696, 657, 652, 692, 698, 699, 763, 677, - 735, 741, 707, 649, 738, 768, 766, 671, 687, 755, 744, 761, - 706, 645, 725, 682, 649, 704, 739, 715, 713, 690, 727, 670, - 714, 765, 652, 751, 721, 666, 717, 676, 677, 658, 738, 726, - 646, 663, 756, 669, 710, 695, 752, 657, 680, 691, 654, 712, - 764, 741, 705, 685, 724, 720, 709, 692, 642, 750, 767, 686, - 759, 716, 674, 694, 653, 718, 729, 683, 737, 673, 647, 671, - 643, 697, 747, 761, 748, 675, 746, 708, 760, 687, 744, 711, - 648, 664, 659, 722, 732, 758, 696, 679, 656, 733, 641, 762, - 743, 650, 735, 730, 742, 753, 731, 701, 740, 745, 684, 728, - 702, 763, 757, 768, 689, 700, 766, 660, 707, 662, 672, 661, - 754, 667, 693, 681, 678, 665, 723, 736, 734, 651, 688, 698, - 719, 703, 668, 644, 699, 749, 755, 655, 692, 708, 659, 697, - 701, 647, 683, 762, 652, 722, 725, 760, 642, 764, 698, 690, - 729, 682, 734, 695, 737, 691, 751, 641, 673, 672, 680, 686, - 704, 714, 767, 745, 723, 743, 718, 665, 746, 657, 731, 720, - 660, 712, 709, 765, 756, 687, 693, 671, 656, 730, 670, 742, - 663, 732, 694, 702, 664, 650, 678, 668, 752, 763, 676, 726, - 648, 662, 679, 689, 655, 738, 744, 715, 733, 681, 759, 685, - 753, 707, 688, 713, 736, 755, 696, 711, 719, 684, 741, 658, - 675, 728, 757, 740, 749, 727, 724, 766, 706, 758, 677, 674, - 705, 717, 703, 646, 651, 644, 768, 748, 710, 643, 735, 747, - 754, 761, 661, 654, 750, 739, 666, 699, 700, 716, 667, 721, - 653, 669, 649, 645, 703, 723, 739, 737, 646, 667, 728, 704, - 687, 710, 699, 676, 735, 656, 671, 755, 696, 750, 700, 758, - 705, 678, 658, 726, 665, 721, 684, 744, 766, 643, 644, 745, - 652, 754, 713, 720, 712, 768, 762, 661, 675, 692, 660, 748, - 716, 679, 734, 642, 691, 651, 685, 763, 695, 689, 752, 722, - 730, 756, 759, 736, 655, 707, 715, 709, 702, 673, 743, 663, - 682, 727, 659, 731, 708, 657, 732, 714, 751, 725, 674, 648, - 719, 680, 698, 757, 760, 717, 666, 669, 733, 647, 686, 765, - 641, 694, 662, 753, 697, 738, 741, 649, 688, 749, 746, 767, - 645, 664, 668, 654, 690, 761, 677, 729, 724, 653, 764, 706, - 711, 672, 742, 718, 670, 740, 650, 701, 693, 683, 747, 681, - 819, 870, 769, 827, 887, 805, 856, 785, 885, 823, 852, 841, - 799, 831, 845, 822, 801, 866, 864, 844, 789, 860, 877, 783, - 850, 818, 811, 884, 812, 833, 774, 851, 890, 808, 792, 781, - 869, 807, 773, 836, 772, 815, 798, 786, 859, 868, 840, 832, - 802, 865, 770, 896, 891, 803, 777, 892, 771, 797, 886, 895, - 888, 778, 847, 796, 809, 780, 872, 858, 855, 826, 873, 791, - 878, 834, 779, 862, 793, 814, 880, 824, 825, 853, 835, 861, - 788, 876, 828, 842, 820, 875, 810, 787, 863, 800, 854, 839, - 838, 837, 871, 881, 849, 894, 893, 806, 867, 848, 776, 784, - 821, 874, 830, 804, 883, 795, 817, 846, 794, 775, 829, 889, - 790, 879, 816, 813, 882, 782, 857, 843, 810, 820, 814, 859, - 829, 880, 890, 861, 864, 784, 792, 834, 831, 823, 798, 801, - 817, 827, 782, 843, 816, 892, 841, 894, 806, 879, 832, 802, - 849, 825, 877, 783, 884, 826, 786, 795, 787, 794, 815, 821, - 785, 813, 777, 819, 893, 863, 840, 809, 781, 775, 887, 848, - 875, 803, 857, 805, 812, 873, 773, 835, 842, 790, 780, 789, - 807, 886, 862, 868, 808, 796, 870, 855, 866, 793, 845, 799, - 833, 850, 811, 854, 891, 836, 865, 838, 771, 778, 770, 839, - 881, 856, 828, 852, 791, 822, 867, 874, 774, 847, 885, 869, - 818, 846, 788, 888, 876, 853, 882, 895, 844, 776, 797, 858, - 872, 804, 800, 824, 883, 769, 837, 871, 772, 830, 889, 860, - 878, 779, 851, 896, 810, 884, 895, 789, 844, 821, 791, 859, - 894, 854, 831, 876, 877, 816, 853, 835, 857, 856, 858, 805, - 829, 782, 849, 893, 889, 795, 872, 823, 871, 802, 786, 846, - 878, 815, 804, 869, 824, 813, 887, 851, 822, 783, 801, 800, - 806, 776, 778, 811, 774, 817, 883, 777, 880, 790, 836, 860, - 797, 873, 779, 865, 847, 891, 785, 888, 780, 868, 837, 838, - 842, 793, 892, 845, 826, 792, 773, 885, 784, 787, 796, 814, - 850, 875, 874, 775, 769, 799, 861, 840, 848, 772, 809, 770, - 808, 866, 864, 834, 833, 879, 807, 832, 886, 827, 794, 870, - 863, 841, 818, 896, 881, 862, 828, 839, 798, 820, 788, 852, - 812, 830, 781, 771, 882, 890, 803, 843, 867, 855, 819, 825, - 884, 815, 775, 823, 781, 861, 894, 779, 891, 836, 870, 789, - 807, 862, 854, 893, 808, 805, 824, 770, 841, 826, 834, 786, - 838, 796, 822, 869, 792, 839, 820, 825, 878, 791, 819, 799, - 852, 896, 890, 882, 887, 840, 809, 790, 788, 858, 871, 804, - 844, 876, 848, 886, 865, 795, 864, 776, 889, 818, 821, 784, - 777, 875, 872, 855, 842, 794, 883, 782, 873, 814, 895, 892, - 811, 778, 845, 812, 827, 846, 817, 856, 800, 785, 793, 787, - 837, 773, 780, 879, 881, 772, 857, 831, 783, 847, 859, 867, - 851, 769, 801, 833, 806, 853, 830, 816, 829, 828, 810, 797, - 849, 832, 798, 863, 885, 860, 771, 803, 850, 813, 888, 843, - 802, 866, 880, 874, 868, 774, 835, 877, 949, 911, 950, 932, - 956, 978, 968, 947, 944, 984, 980, 941, 927, 1020, 962, 999, - 1021, 983, 1024, 902, 937, 921, 993, 965, 933, 1004, 1022, 916, - 931, 910, 981, 924, 914, 917, 974, 986, 967, 961, 997, 899, - 1002, 966, 934, 998, 1008, 953, 987, 973, 1009, 909, 922, 963, - 991, 959, 1011, 912, 940, 943, 979, 1001, 954, 969, 915, 985, - 1015, 930, 1012, 1017, 960, 996, 906, 904, 994, 926, 935, 946, - 1016, 992, 913, 918, 929, 995, 990, 952, 975, 1013, 958, 907, - 972, 897, 957, 908, 1023, 938, 955, 903, 1003, 988, 1000, 942, - 1006, 928, 970, 989, 1005, 1007, 898, 920, 1010, 1019, 945, 976, - 982, 939, 923, 919, 971, 948, 905, 964, 977, 1018, 901, 1014, - 900, 925, 936, 951, 1017, 949, 913, 936, 963, 990, 1015, 969, - 966, 940, 957, 919, 927, 999, 908, 1020, 930, 899, 905, 1019, - 1021, 948, 911, 989, 1023, 970, 1013, 944, 934, 972, 951, 971, - 946, 991, 947, 1024, 914, 916, 931, 983, 1004, 945, 918, 1002, - 928, 1006, 968, 939, 938, 941, 961, 937, 995, 1000, 985, 950, - 994, 1016, 1003, 1008, 909, 1001, 906, 926, 1011, 953, 915, 910, - 975, 907, 976, 993, 904, 903, 982, 956, 959, 980, 986, 917, - 962, 942, 912, 977, 979, 921, 965, 997, 998, 922, 923, 988, - 1022, 967, 973, 898, 1007, 987, 1009, 924, 974, 996, 1005, 933, - 1018, 929, 925, 900, 992, 952, 1014, 960, 1012, 981, 901, 920, - 954, 964, 958, 1010, 984, 902, 932, 955, 897, 978, 943, 935, - 907, 963, 943, 945, 998, 1024, 958, 1020, 900, 959, 926, 992, - 1021, 955, 991, 970, 905, 1003, 911, 934, 940, 913, 924, 939, - 972, 975, 985, 956, 922, 938, 951, 941, 1008, 995, 932, 937, - 986, 1007, 979, 947, 906, 927, 912, 993, 978, 977, 1010, 990, - 901, 1016, 1019, 982, 929, 1011, 960, 1015, 1001, 914, 898, 971, - 1009, 948, 931, 964, 903, 902, 923, 928, 1013, 921, 916, 936, - 918, 987, 997, 1023, 935, 952, 917, 933, 983, 919, 981, 1018, - 969, 957, 910, 1004, 909, 897, 1017, 999, 996, 1022, 930, 988, - 915, 904, 994, 973, 1006, 1002, 967, 961, 989, 920, 965, 949, - 980, 968, 976, 950, 925, 966, 899, 1000, 1005, 974, 953, 984, - 1014, 908, 942, 944, 946, 954, 1012, 962, 927, 930, 905, 959, - 951, 966, 910, 917, 1020, 1018, 996, 915, 976, 990, 982, 994, - 909, 941, 937, 899, 969, 1023, 1009, 902, 963, 957, 919, 907, - 1019, 960, 949, 1016, 916, 955, 900, 943, 1000, 934, 947, 938, - 999, 1013, 977, 995, 945, 1001, 986, 913, 954, 906, 1005, 1011, - 1024, 975, 921, 1002, 918, 942, 985, 987, 961, 967, 958, 973, - 997, 1004, 1015, 908, 925, 897, 978, 953, 974, 924, 992, 972, - 984, 1010, 1008, 979, 971, 936, 952, 914, 983, 988, 1017, 965, - 926, 1014, 898, 923, 964, 1003, 970, 950, 939, 932, 998, 928, - 956, 991, 940, 901, 931, 962, 1022, 946, 948, 903, 1021, 1006, - 993, 935, 944, 904, 929, 980, 911, 922, 989, 1007, 968, 912, - 981, 1012, 920, 933, 1132, 1107, 1101, 1150, 1145, 1065, 1147, 1059, - 1038, 1115, 1083, 1034, 1151, 1079, 1047, 1054, 1116, 1076, 1069, 1120, - 1126, 1086, 1064, 1133, 1036, 1057, 1128, 1030, 1099, 1037, 1027, 1084, - 1134, 1138, 1125, 1068, 1092, 1137, 1093, 1048, 1102, 1111, 1104, 1029, - 1046, 1121, 1041, 1035, 1070, 1123, 1091, 1088, 1045, 1131, 1148, 1139, - 1063, 1096, 1106, 1097, 1095, 1050, 1055, 1149, 1078, 1112, 1081, 1062, - 1142, 1052, 1049, 1025, 1146, 1060, 1056, 1108, 1136, 1109, 1058, 1105, - 1044, 1033, 1143, 1087, 1051, 1077, 1110, 1117, 1085, 1090, 1073, 1031, - 1127, 1122, 1113, 1144, 1130, 1043, 1066, 1118, 1089, 1103, 1082, 1040, - 1067, 1053, 1071, 1042, 1072, 1061, 1124, 1129, 1135, 1100, 1114, 1080, - 1039, 1140, 1094, 1152, 1141, 1075, 1098, 1026, 1074, 1032, 1119, 1028, - 1097, 1049, 1055, 1115, 1113, 1110, 1135, 1101, 1081, 1082, 1093, 1066, - 1151, 1103, 1121, 1048, 1035, 1029, 1090, 1028, 1050, 1123, 1077, 1083, - 1145, 1047, 1111, 1067, 1112, 1059, 1100, 1118, 1042, 1102, 1109, 1079, - 1054, 1094, 1120, 1132, 1078, 1031, 1030, 1027, 1026, 1106, 1053, 1069, - 1117, 1105, 1108, 1137, 1058, 1034, 1070, 1063, 1143, 1149, 1104, 1033, - 1076, 1045, 1136, 1052, 1092, 1133, 1148, 1025, 1051, 1122, 1144, 1080, - 1074, 1141, 1116, 1043, 1139, 1129, 1146, 1057, 1098, 1119, 1039, 1125, - 1037, 1131, 1114, 1130, 1086, 1044, 1127, 1073, 1032, 1150, 1099, 1060, - 1128, 1085, 1056, 1068, 1061, 1096, 1038, 1142, 1065, 1126, 1046, 1062, - 1134, 1152, 1124, 1036, 1107, 1095, 1138, 1075, 1084, 1071, 1091, 1147, - 1072, 1087, 1064, 1041, 1140, 1040, 1089, 1088, 1025, 1060, 1053, 1051, - 1049, 1147, 1082, 1141, 1151, 1081, 1045, 1084, 1105, 1047, 1058, 1035, - 1137, 1037, 1050, 1074, 1100, 1040, 1124, 1116, 1088, 1079, 1073, 1057, - 1113, 1099, 1104, 1140, 1052, 1046, 1056, 1152, 1150, 1144, 1066, 1077, - 1138, 1083, 1097, 1044, 1063, 1126, 1030, 1131, 1076, 1111, 1069, 1096, - 1146, 1059, 1108, 1133, 1087, 1042, 1103, 1125, 1092, 1090, 1089, 1142, - 1117, 1068, 1029, 1062, 1129, 1148, 1036, 1026, 1067, 1055, 1101, 1120, - 1038, 1132, 1078, 1028, 1145, 1075, 1031, 1061, 1107, 1072, 1121, 1118, - 1054, 1109, 1135, 1027, 1080, 1122, 1033, 1039, 1112, 1127, 1115, 1091, - 1064, 1139, 1041, 1110, 1130, 1149, 1136, 1070, 1065, 1086, 1098, 1128, - 1134, 1043, 1085, 1102, 1094, 1032, 1123, 1119, 1106, 1143, 1034, 1048, - 1095, 1093, 1114, 1071, 1131, 1056, 1028, 1077, 1151, 1137, 1031, 1144, - 1119, 1084, 1066, 1078, 1105, 1047, 1075, 1126, 1138, 1070, 1115, 1042, - 1079, 1128, 1123, 1122, 1063, 1050, 1152, 1064, 1146, 1074, 1134, 1118, - 1049, 1045, 1149, 1088, 1136, 1068, 1085, 1052, 1026, 1093, 1096, 1098, - 1048, 1125, 1067, 1030, 1116, 1103, 1145, 1032, 1127, 1106, 1094, 1041, - 1080, 1097, 1104, 1147, 1102, 1117, 1089, 1083, 1054, 1073, 1092, 1040, - 1100, 1058, 1091, 1150, 1057, 1142, 1076, 1051, 1086, 1132, 1101, 1043, - 1060, 1027, 1025, 1081, 1133, 1099, 1124, 1140, 1033, 1029, 1121, 1109, - 1069, 1055, 1111, 1110, 1113, 1108, 1072, 1141, 1087, 1065, 1071, 1095, - 1139, 1129, 1039, 1059, 1090, 1143, 1046, 1135, 1112, 1082, 1044, 1038, - 1061, 1148, 1037, 1062, 1034, 1130, 1053, 1107, 1120, 1114, 1036, 1035, - 1249, 1214, 1233, 1199, 1235, 1157, 1166, 1263, 1231, 1208, 1211, 1178, - 1163, 1193, 1270, 1182, 1260, 1175, 1153, 1248, 1271, 1267, 1251, 1252, - 1183, 1172, 1241, 1203, 1266, 1227, 1222, 1277, 1161, 1274, 1254, 1195, - 1169, 1155, 1186, 1202, 1279, 1162, 1239, 1217, 1258, 1244, 1228, 1190, - 1278, 1224, 1198, 1181, 1234, 1165, 1174, 1230, 1184, 1269, 1194, 1159, - 1168, 1205, 1237, 1215, 1264, 1185, 1173, 1180, 1229, 1206, 1273, 1246, - 1220, 1196, 1176, 1191, 1275, 1245, 1261, 1225, 1221, 1253, 1192, 1218, - 1216, 1272, 1156, 1207, 1262, 1276, 1167, 1189, 1158, 1232, 1170, 1219, - 1187, 1280, 1204, 1259, 1255, 1154, 1226, 1171, 1268, 1223, 1212, 1209, - 1250, 1188, 1256, 1240, 1265, 1247, 1243, 1179, 1242, 1213, 1238, 1201, - 1200, 1177, 1210, 1160, 1197, 1257, 1164, 1236, 1265, 1275, 1232, 1212, - 1173, 1192, 1231, 1279, 1185, 1203, 1205, 1248, 1270, 1215, 1241, 1167, - 1161, 1228, 1175, 1153, 1159, 1230, 1191, 1209, 1259, 1253, 1229, 1171, - 1257, 1221, 1264, 1188, 1256, 1278, 1199, 1239, 1251, 1155, 1218, 1261, - 1254, 1202, 1237, 1174, 1187, 1245, 1190, 1272, 1274, 1255, 1179, 1172, - 1216, 1207, 1176, 1262, 1247, 1213, 1238, 1156, 1277, 1268, 1164, 1269, - 1260, 1210, 1180, 1183, 1276, 1222, 1224, 1177, 1246, 1233, 1234, 1273, - 1211, 1208, 1217, 1158, 1165, 1267, 1197, 1194, 1250, 1220, 1160, 1258, - 1206, 1240, 1236, 1244, 1242, 1168, 1225, 1204, 1170, 1157, 1178, 1186, - 1243, 1189, 1169, 1249, 1280, 1227, 1195, 1223, 1200, 1214, 1163, 1226, - 1182, 1184, 1154, 1266, 1198, 1235, 1201, 1263, 1181, 1196, 1162, 1219, - 1193, 1252, 1166, 1271, 1206, 1208, 1271, 1239, 1153, 1195, 1224, 1188, - 1236, 1191, 1264, 1197, 1175, 1232, 1182, 1228, 1209, 1210, 1246, 1227, - 1244, 1193, 1167, 1194, 1184, 1279, 1199, 1223, 1259, 1243, 1256, 1212, - 1187, 1237, 1248, 1214, 1176, 1263, 1268, 1219, 1278, 1202, 1276, 1265, - 1189, 1154, 1274, 1213, 1192, 1211, 1215, 1170, 1171, 1164, 1216, 1240, - 1168, 1166, 1177, 1235, 1267, 1261, 1252, 1174, 1201, 1173, 1163, 1241, - 1257, 1169, 1262, 1157, 1186, 1229, 1249, 1225, 1198, 1178, 1217, 1207, - 1245, 1160, 1200, 1161, 1275, 1165, 1226, 1196, 1179, 1159, 1233, 1238, - 1221, 1280, 1260, 1172, 1253, 1269, 1270, 1158, 1155, 1258, 1218, 1273, - 1230, 1190, 1231, 1250, 1204, 1222, 1251, 1203, 1220, 1272, 1255, 1234, - 1254, 1266, 1277, 1181, 1205, 1162, 1183, 1242, 1185, 1156, 1247, 1180, - 1173, 1254, 1271, 1252, 1207, 1269, 1185, 1157, 1162, 1268, 1192, 1263, - 1179, 1251, 1188, 1230, 1194, 1255, 1273, 1163, 1181, 1206, 1242, 1247, - 1270, 1191, 1161, 1171, 1193, 1235, 1198, 1217, 1246, 1241, 1187, 1262, - 1174, 1218, 1238, 1165, 1279, 1156, 1280, 1195, 1177, 1213, 1240, 1208, - 1184, 1159, 1170, 1277, 1210, 1204, 1166, 1228, 1248, 1182, 1199, 1229, - 1249, 1223, 1153, 1190, 1225, 1221, 1261, 1226, 1257, 1197, 1244, 1258, - 1201, 1186, 1232, 1276, 1160, 1176, 1212, 1202, 1253, 1274, 1267, 1175, - 1172, 1233, 1167, 1154, 1243, 1200, 1256, 1189, 1220, 1272, 1239, 1180, - 1205, 1231, 1169, 1227, 1219, 1250, 1275, 1158, 1260, 1234, 1259, 1209, - 1168, 1278, 1164, 1245, 1183, 1216, 1236, 1203, 1264, 1215, 1237, 1214, - 1266, 1196, 1155, 1222, 1265, 1211, 1178, 1224, 1298, 1403, 1337, 1329, - 1331, 1386, 1349, 1320, 1288, 1287, 1380, 1402, 1342, 1366, 1352, 1353, - 1304, 1284, 1334, 1397, 1321, 1286, 1360, 1328, 1381, 1326, 1309, 1333, - 1365, 1282, 1362, 1385, 1314, 1387, 1303, 1383, 1351, 1369, 1311, 1310, - 1301, 1308, 1400, 1359, 1395, 1332, 1358, 1323, 1367, 1296, 1364, 1372, - 1350, 1371, 1361, 1396, 1363, 1294, 1377, 1281, 1368, 1343, 1355, 1393, - 1399, 1327, 1378, 1388, 1302, 1392, 1300, 1406, 1319, 1404, 1315, 1382, - 1379, 1408, 1345, 1405, 1324, 1335, 1305, 1306, 1370, 1390, 1401, 1391, - 1283, 1291, 1338, 1375, 1313, 1398, 1292, 1316, 1330, 1384, 1289, 1325, - 1295, 1376, 1307, 1373, 1339, 1354, 1374, 1290, 1344, 1317, 1322, 1394, - 1318, 1340, 1407, 1336, 1285, 1312, 1297, 1356, 1347, 1346, 1293, 1348, - 1389, 1341, 1299, 1357, 1298, 1313, 1387, 1357, 1296, 1323, 1283, 1333, - 1382, 1347, 1332, 1316, 1405, 1366, 1402, 1394, 1388, 1309, 1401, 1338, - 1302, 1359, 1400, 1285, 1371, 1365, 1367, 1407, 1294, 1348, 1350, 1305, - 1376, 1374, 1386, 1356, 1297, 1343, 1287, 1282, 1286, 1331, 1326, 1351, - 1321, 1399, 1354, 1306, 1393, 1362, 1353, 1325, 1346, 1310, 1395, 1324, - 1391, 1342, 1311, 1361, 1337, 1335, 1328, 1322, 1355, 1352, 1404, 1380, - 1303, 1383, 1370, 1379, 1281, 1339, 1289, 1398, 1288, 1308, 1396, 1304, - 1301, 1349, 1312, 1314, 1319, 1384, 1368, 1397, 1334, 1358, 1341, 1299, - 1406, 1403, 1372, 1307, 1320, 1284, 1317, 1385, 1363, 1364, 1389, 1292, - 1290, 1330, 1360, 1408, 1329, 1327, 1377, 1369, 1344, 1378, 1291, 1375, - 1381, 1300, 1336, 1373, 1295, 1315, 1340, 1345, 1293, 1390, 1318, 1392, - 1380, 1399, 1376, 1337, 1361, 1342, 1304, 1407, 1338, 1390, 1289, 1325, - 1393, 1383, 1345, 1323, 1362, 1364, 1363, 1358, 1339, 1388, 1397, 1340, - 1348, 1305, 1372, 1360, 1336, 1283, 1403, 1400, 1346, 1371, 1374, 1401, - 1366, 1296, 1347, 1395, 1351, 1294, 1375, 1349, 1319, 1404, 1318, 1382, - 1370, 1312, 1391, 1408, 1313, 1406, 1385, 1287, 1389, 1398, 1314, 1300, - 1292, 1308, 1324, 1301, 1333, 1316, 1332, 1343, 1402, 1281, 1386, 1285, - 1384, 1321, 1373, 1282, 1353, 1354, 1286, 1377, 1290, 1396, 1302, 1295, - 1341, 1381, 1368, 1293, 1329, 1326, 1394, 1311, 1344, 1315, 1330, 1327, - 1288, 1392, 1355, 1405, 1322, 1356, 1352, 1284, 1359, 1298, 1297, 1350, - 1334, 1309, 1335, 1303, 1379, 1331, 1291, 1369, 1387, 1320, 1357, 1328, - 1310, 1365, 1367, 1306, 1307, 1317, 1299, 1378, 1313, 1300, 1384, 1286, - 1374, 1317, 1382, 1369, 1337, 1363, 1301, 1401, 1408, 1352, 1305, 1308, - 1315, 1377, 1358, 1390, 1294, 1381, 1403, 1344, 1332, 1354, 1380, 1290, - 1362, 1370, 1291, 1388, 1361, 1287, 1349, 1400, 1385, 1283, 1320, 1348, - 1325, 1324, 1314, 1360, 1339, 1357, 1326, 1394, 1399, 1342, 1306, 1368, - 1404, 1299, 1296, 1365, 1372, 1375, 1402, 1303, 1398, 1297, 1281, 1319, - 1289, 1395, 1367, 1406, 1321, 1345, 1376, 1378, 1371, 1307, 1364, 1285, - 1288, 1302, 1351, 1293, 1346, 1353, 1316, 1391, 1312, 1310, 1340, 1338, - 1383, 1327, 1318, 1396, 1389, 1397, 1322, 1298, 1347, 1295, 1366, 1329, - 1387, 1359, 1343, 1335, 1355, 1292, 1323, 1284, 1282, 1333, 1392, 1379, - 1328, 1356, 1331, 1336, 1330, 1341, 1393, 1373, 1309, 1311, 1407, 1350, - 1405, 1304, 1334, 1386, 1461, 1428, 1471, 1489, 1427, 1424, 1514, 1463, - 1439, 1522, 1487, 1445, 1409, 1459, 1419, 1483, 1486, 1481, 1415, 1451, - 1429, 1528, 1527, 1531, 1417, 1484, 1476, 1422, 1478, 1502, 1524, 1473, - 1535, 1431, 1505, 1523, 1416, 1462, 1521, 1414, 1474, 1443, 1410, 1536, - 1418, 1446, 1456, 1435, 1525, 1517, 1457, 1492, 1500, 1495, 1513, 1440, - 1436, 1437, 1508, 1454, 1464, 1413, 1450, 1472, 1509, 1529, 1477, 1433, - 1432, 1467, 1491, 1469, 1516, 1479, 1434, 1515, 1499, 1442, 1497, 1412, - 1530, 1425, 1520, 1519, 1532, 1485, 1448, 1488, 1507, 1426, 1449, 1496, - 1423, 1493, 1506, 1512, 1470, 1498, 1534, 1411, 1465, 1441, 1458, 1503, - 1468, 1420, 1455, 1533, 1526, 1501, 1430, 1518, 1453, 1447, 1444, 1466, - 1494, 1510, 1452, 1460, 1511, 1482, 1475, 1421, 1438, 1490, 1504, 1480, - 1506, 1429, 1497, 1433, 1477, 1528, 1439, 1417, 1427, 1458, 1494, 1489, - 1474, 1473, 1520, 1529, 1435, 1532, 1504, 1409, 1426, 1453, 1421, 1483, - 1502, 1518, 1418, 1463, 1516, 1530, 1496, 1482, 1533, 1513, 1531, 1459, - 1486, 1534, 1412, 1512, 1514, 1455, 1505, 1481, 1445, 1443, 1411, 1468, - 1536, 1447, 1452, 1446, 1521, 1415, 1484, 1441, 1480, 1442, 1414, 1423, - 1460, 1469, 1465, 1519, 1430, 1410, 1428, 1492, 1478, 1467, 1425, 1517, - 1525, 1511, 1424, 1456, 1444, 1500, 1431, 1420, 1461, 1498, 1416, 1436, - 1485, 1495, 1437, 1503, 1487, 1448, 1432, 1491, 1476, 1449, 1507, 1527, - 1434, 1470, 1419, 1490, 1509, 1510, 1438, 1466, 1522, 1488, 1523, 1526, - 1501, 1499, 1422, 1440, 1472, 1475, 1479, 1462, 1524, 1471, 1457, 1454, - 1413, 1493, 1451, 1535, 1508, 1515, 1464, 1450, 1437, 1500, 1432, 1527, - 1443, 1456, 1521, 1501, 1528, 1418, 1451, 1446, 1421, 1478, 1493, 1530, - 1499, 1462, 1414, 1448, 1477, 1472, 1471, 1426, 1523, 1498, 1485, 1509, - 1533, 1453, 1447, 1458, 1467, 1484, 1423, 1517, 1519, 1409, 1455, 1411, - 1454, 1502, 1531, 1504, 1525, 1416, 1464, 1413, 1417, 1489, 1473, 1410, - 1459, 1480, 1495, 1516, 1439, 1420, 1482, 1433, 1481, 1468, 1483, 1536, - 1466, 1532, 1457, 1494, 1508, 1450, 1429, 1534, 1431, 1497, 1449, 1445, - 1436, 1463, 1513, 1490, 1488, 1524, 1424, 1496, 1415, 1505, 1520, 1518, - 1476, 1507, 1514, 1440, 1425, 1428, 1491, 1475, 1526, 1438, 1465, 1470, - 1435, 1510, 1441, 1412, 1503, 1444, 1535, 1442, 1434, 1469, 1512, 1474, - 1419, 1430, 1479, 1511, 1492, 1486, 1422, 1487, 1515, 1461, 1529, 1460, - 1427, 1452, 1506, 1522, 1430, 1438, 1487, 1414, 1420, 1510, 1447, 1509, - 1433, 1482, 1424, 1415, 1446, 1493, 1518, 1417, 1485, 1441, 1434, 1490, - 1484, 1462, 1520, 1410, 1418, 1423, 1427, 1527, 1524, 1533, 1471, 1483, - 1457, 1451, 1502, 1521, 1460, 1498, 1523, 1473, 1412, 1479, 1448, 1536, - 1508, 1439, 1416, 1443, 1500, 1519, 1419, 1470, 1522, 1513, 1477, 1480, - 1516, 1425, 1512, 1411, 1472, 1454, 1474, 1444, 1459, 1432, 1496, 1426, - 1440, 1467, 1491, 1489, 1504, 1463, 1481, 1449, 1514, 1476, 1530, 1450, - 1505, 1532, 1442, 1468, 1445, 1456, 1429, 1413, 1492, 1517, 1466, 1437, - 1475, 1525, 1422, 1465, 1495, 1421, 1529, 1507, 1526, 1458, 1511, 1499, - 1453, 1488, 1534, 1535, 1497, 1436, 1428, 1478, 1486, 1515, 1528, 1431, - 1469, 1452, 1409, 1501, 1461, 1503, 1531, 1464, 1494, 1455, 1506, 1435}; - -const uint16_t HRAa_1536_512_H_cols[] = { - 111, 16, 113, 75, 13, 40, 66, 121, 126, 22, 127, 120, 59, 101, 19, - 52, 114, 98, 123, 80, 5, 108, 117, 81, 94, 88, 50, 79, 26, 86, - 3, 39, 6, 12, 104, 84, 43, 119, 4, 53, 49, 95, 100, 27, 60, - 55, 76, 87, 92, 38, 82, 78, 24, 15, 61, 124, 45, 72, 29, 90, - 34, 62, 85, 110, 122, 67, 18, 20, 35, 107, 33, 102, 31, 116, 46, - 28, 32, 74, 58, 47, 106, 71, 68, 115, 41, 93, 91, 48, 69, 8, - 7, 64, 97, 118, 17, 70, 57, 2, 44, 23, 99, 42, 63, 25, 73, - 37, 77, 83, 89, 56, 10, 30, 112, 21, 105, 65, 128, 9, 54, 14, - 125, 1, 96, 103, 109, 11, 51, 36, 59, 128, 26, 10, 11, 6, 43, - 50, 37, 94, 75, 98, 121, 123, 21, 15, 84, 9, 60, 62, 110, 53, - 40, 80, 90, 58, 35, 17, 71, 30, 4, 92, 28, 49, 83, 36, 88, - 41, 82, 86, 48, 3, 34, 45, 31, 22, 104, 46, 116, 39, 97, 42, - 102, 93, 38, 25, 100, 122, 33, 79, 47, 106, 95, 19, 111, 126, 57, - 115, 72, 18, 23, 44, 91, 105, 99, 32, 63, 8, 12, 14, 81, 55, - 20, 54, 16, 5, 109, 65, 120, 85, 69, 103, 114, 125, 1, 113, 73, - 127, 61, 51, 101, 27, 56, 118, 66, 108, 89, 70, 29, 78, 7, 74, - 77, 87, 117, 124, 96, 68, 119, 67, 2, 13, 112, 52, 107, 24, 64, - 76, 43, 80, 48, 78, 3, 113, 100, 92, 104, 47, 74, 69, 64, 35, - 33, 55, 30, 102, 124, 4, 66, 11, 101, 126, 9, 119, 2, 85, 99, - 65, 107, 111, 77, 20, 28, 23, 5, 15, 73, 120, 44, 51, 123, 121, - 83, 125, 94, 39, 81, 32, 36, 84, 63, 52, 72, 93, 70, 67, 71, - 62, 10, 89, 127, 45, 122, 42, 108, 56, 53, 27, 18, 37, 90, 98, - 86, 1, 106, 115, 96, 6, 46, 87, 91, 29, 34, 82, 57, 76, 31, - 21, 105, 95, 117, 16, 24, 13, 59, 25, 110, 12, 7, 68, 97, 38, - 22, 40, 26, 61, 112, 79, 14, 50, 8, 60, 54, 128, 103, 58, 109, - 19, 49, 116, 114, 88, 75, 41, 118, 17, 96, 87, 72, 27, 105, 29, - 50, 114, 112, 56, 43, 82, 118, 117, 79, 45, 111, 61, 115, 5, 69, - 97, 21, 46, 23, 44, 57, 71, 6, 73, 37, 32, 33, 18, 123, 121, - 107, 100, 20, 49, 24, 1, 42, 94, 85, 70, 60, 41, 65, 103, 104, - 76, 102, 88, 14, 66, 48, 12, 16, 26, 91, 58, 93, 35, 2, 68, - 39, 122, 116, 54, 4, 90, 109, 127, 7, 63, 78, 92, 98, 89, 99, - 51, 77, 13, 8, 128, 40, 80, 125, 22, 25, 47, 120, 53, 36, 17, - 55, 52, 15, 59, 11, 83, 3, 75, 106, 30, 62, 74, 9, 64, 86, - 28, 108, 126, 110, 67, 38, 101, 31, 124, 84, 81, 19, 10, 34, 113, - 119, 95, 11, 103, 104, 38, 47, 69, 88, 93, 97, 40, 46, 117, 70, - 107, 30, 78, 72, 121, 9, 59, 63, 10, 115, 111, 48, 98, 16, 77, - 28, 50, 105, 19, 32, 57, 37, 101, 126, 17, 26, 90, 39, 123, 122, - 82, 108, 42, 80, 125, 67, 116, 91, 58, 81, 112, 20, 41, 127, 43, - 85, 114, 128, 84, 13, 3, 76, 68, 119, 94, 86, 64, 27, 120, 65, - 1, 87, 62, 6, 113, 35, 24, 15, 33, 23, 83, 8, 29, 31, 110, - 49, 96, 75, 99, 14, 124, 106, 4, 56, 34, 79, 25, 71, 74, 73, - 51, 2, 61, 44, 12, 55, 52, 66, 102, 89, 109, 5, 22, 54, 118, - 100, 53, 36, 7, 92, 60, 21, 45, 18, 95, 89, 73, 70, 53, 28, - 50, 2, 75, 120, 15, 8, 111, 29, 1, 100, 19, 110, 14, 43, 71, - 69, 82, 78, 52, 18, 92, 27, 79, 108, 12, 124, 6, 105, 106, 10, - 63, 116, 38, 99, 72, 97, 98, 9, 35, 80, 59, 125, 91, 67, 37, - 30, 112, 55, 101, 16, 109, 4, 113, 114, 62, 17, 22, 86, 104, 7, - 93, 119, 41, 77, 42, 26, 96, 88, 34, 68, 49, 13, 3, 60, 33, - 40, 36, 20, 46, 85, 24, 81, 54, 51, 21, 23, 76, 32, 65, 117, - 87, 83, 121, 95, 74, 118, 11, 31, 127, 94, 58, 84, 48, 44, 25, - 45, 5, 57, 39, 126, 64, 107, 47, 56, 103, 128, 61, 115, 90, 66, - 123, 102, 122, 3, 51, 57, 41, 39, 31, 118, 107, 55, 62, 75, 66, - 36, 126, 24, 108, 8, 44, 92, 85, 21, 121, 72, 35, 77, 117, 114, - 64, 58, 43, 13, 94, 17, 49, 54, 112, 6, 104, 38, 34, 65, 91, - 27, 29, 124, 78, 42, 123, 115, 26, 1, 89, 109, 16, 10, 80, 81, - 70, 4, 87, 119, 111, 14, 48, 30, 74, 83, 40, 98, 97, 96, 47, - 12, 88, 128, 20, 15, 116, 63, 106, 101, 25, 32, 11, 82, 95, 69, - 7, 127, 68, 45, 22, 84, 76, 93, 19, 50, 18, 105, 46, 37, 2, - 99, 67, 71, 110, 90, 86, 23, 73, 122, 79, 100, 125, 113, 28, 9, - 59, 5, 61, 120, 33, 53, 56, 103, 102, 60, 52, 90, 107, 40, 125, - 123, 20, 96, 72, 119, 71, 88, 92, 50, 30, 2, 56, 79, 33, 63, - 28, 34, 80, 116, 108, 22, 51, 115, 32, 126, 74, 13, 102, 81, 66, - 29, 4, 25, 43, 75, 127, 21, 94, 114, 57, 12, 100, 58, 9, 111, - 76, 8, 118, 1, 3, 128, 84, 46, 61, 95, 5, 91, 87, 54, 69, - 38, 15, 52, 120, 24, 42, 37, 7, 62, 103, 117, 89, 48, 35, 85, - 112, 121, 6, 59, 11, 31, 113, 18, 10, 64, 36, 47, 98, 104, 83, - 53, 78, 23, 73, 82, 70, 39, 44, 16, 99, 60, 41, 97, 26, 105, - 101, 106, 45, 49, 109, 55, 67, 86, 124, 65, 77, 68, 122, 110, 14, - 17, 27, 93, 19, 72, 124, 31, 128, 44, 28, 92, 126, 82, 12, 48, - 25, 30, 9, 117, 104, 47, 108, 98, 81, 53, 45, 15, 40, 71, 62, - 85, 70, 106, 16, 63, 75, 26, 79, 8, 74, 110, 68, 57, 23, 6, - 99, 105, 36, 19, 49, 107, 109, 91, 125, 122, 18, 86, 65, 14, 116, - 67, 103, 11, 32, 89, 22, 84, 52, 101, 90, 51, 37, 39, 119, 61, - 58, 60, 123, 29, 114, 3, 41, 102, 43, 80, 59, 2, 76, 78, 87, - 42, 66, 95, 115, 10, 17, 88, 100, 127, 20, 46, 94, 50, 111, 35, - 21, 93, 27, 112, 97, 54, 1, 24, 33, 113, 77, 38, 34, 56, 118, - 121, 69, 83, 96, 5, 73, 7, 55, 64, 4, 13, 120, 19, 102, 38, - 87, 6, 93, 60, 124, 33, 42, 13, 127, 54, 7, 91, 61, 37, 95, - 104, 26, 67, 55, 18, 75, 122, 12, 116, 68, 52, 16, 25, 57, 66, - 39, 97, 110, 92, 48, 76, 83, 14, 59, 36, 74, 125, 51, 4, 121, - 120, 40, 28, 99, 62, 70, 88, 10, 108, 123, 11, 107, 118, 2, 64, - 85, 44, 84, 96, 73, 81, 31, 106, 50, 80, 103, 30, 47, 69, 56, - 9, 94, 3, 53, 5, 128, 63, 119, 43, 112, 27, 117, 115, 46, 78, - 72, 114, 20, 1, 109, 23, 24, 82, 35, 101, 111, 126, 45, 100, 17, - 79, 89, 8, 65, 113, 29, 22, 105, 58, 15, 21, 86, 71, 34, 77, - 90, 32, 49, 41, 98, 60, 30, 89, 18, 117, 22, 10, 9, 99, 108, - 90, 95, 123, 58, 101, 50, 119, 1, 127, 71, 41, 69, 35, 17, 83, - 84, 103, 42, 27, 40, 39, 118, 93, 33, 75, 96, 110, 113, 73, 8, - 21, 111, 48, 81, 100, 26, 66, 24, 4, 97, 5, 46, 28, 19, 82, - 116, 3, 91, 105, 114, 126, 13, 62, 109, 79, 122, 121, 124, 7, 53, - 37, 15, 16, 106, 63, 120, 128, 47, 44, 23, 55, 31, 57, 51, 29, - 14, 49, 61, 38, 85, 54, 52, 104, 107, 92, 102, 59, 67, 77, 11, - 25, 76, 36, 98, 32, 6, 34, 68, 125, 86, 88, 70, 64, 112, 45, - 56, 20, 94, 65, 43, 87, 12, 2, 74, 80, 72, 115, 78, 13, 43, - 100, 80, 62, 40, 19, 37, 25, 45, 15, 106, 124, 28, 93, 6, 82, - 90, 5, 2, 21, 111, 34, 69, 68, 75, 48, 57, 58, 125, 9, 56, - 102, 78, 42, 115, 12, 46, 114, 87, 91, 63, 20, 119, 113, 60, 107, - 47, 51, 103, 14, 120, 1, 38, 8, 61, 101, 116, 70, 105, 72, 97, - 3, 64, 32, 41, 123, 27, 67, 29, 74, 128, 18, 122, 16, 26, 86, - 17, 11, 88, 4, 126, 71, 52, 94, 117, 54, 92, 79, 98, 77, 53, - 110, 30, 104, 127, 35, 95, 89, 59, 65, 118, 121, 96, 55, 7, 76, - 73, 50, 112, 84, 83, 39, 10, 36, 31, 49, 109, 23, 22, 66, 81, - 24, 85, 108, 99, 33, 44, 235, 189, 247, 148, 168, 145, 143, 242, 214, - 210, 144, 241, 218, 177, 205, 183, 134, 162, 141, 150, 163, 186, 132, 245, - 253, 201, 200, 175, 244, 180, 139, 233, 182, 164, 184, 137, 142, 252, 254, - 212, 133, 160, 178, 239, 129, 131, 146, 224, 229, 223, 194, 209, 169, 230, - 152, 226, 149, 179, 221, 232, 135, 250, 231, 197, 191, 193, 172, 203, 204, - 238, 234, 222, 181, 237, 207, 176, 251, 243, 211, 219, 215, 154, 171, 196, - 158, 240, 153, 156, 147, 157, 190, 173, 248, 188, 151, 246, 256, 192, 138, - 165, 185, 216, 166, 217, 227, 155, 140, 170, 174, 187, 202, 136, 167, 236, - 130, 249, 228, 198, 213, 161, 195, 255, 208, 206, 159, 199, 220, 225, 132, - 217, 191, 135, 202, 166, 153, 168, 158, 165, 133, 220, 175, 210, 225, 204, - 209, 196, 154, 203, 238, 242, 174, 170, 214, 221, 194, 169, 252, 144, 150, - 157, 159, 218, 215, 136, 249, 227, 229, 141, 241, 250, 253, 240, 234, 206, - 162, 192, 155, 131, 251, 182, 178, 186, 200, 222, 130, 237, 212, 239, 189, - 197, 138, 161, 223, 184, 245, 152, 254, 211, 226, 256, 176, 193, 199, 232, - 235, 147, 163, 190, 139, 207, 187, 160, 171, 247, 224, 201, 248, 149, 230, - 228, 213, 164, 216, 181, 156, 172, 243, 142, 173, 137, 195, 129, 244, 167, - 146, 183, 198, 148, 255, 185, 179, 140, 180, 134, 205, 231, 219, 145, 143, - 233, 246, 208, 151, 236, 188, 177, 219, 203, 233, 175, 224, 234, 162, 192, - 254, 191, 164, 200, 171, 225, 178, 185, 212, 251, 163, 236, 222, 249, 131, - 170, 207, 155, 149, 213, 202, 198, 206, 135, 168, 181, 151, 214, 238, 156, - 220, 143, 235, 144, 197, 174, 231, 186, 184, 239, 169, 180, 250, 132, 252, - 147, 208, 196, 210, 172, 201, 232, 129, 138, 253, 205, 150, 177, 141, 153, - 152, 165, 146, 167, 140, 242, 139, 246, 176, 134, 166, 221, 228, 189, 211, - 243, 136, 160, 133, 148, 216, 217, 240, 195, 137, 245, 229, 157, 188, 256, - 215, 237, 179, 182, 194, 154, 223, 187, 204, 161, 145, 183, 173, 227, 226, - 209, 142, 130, 193, 159, 247, 255, 158, 230, 244, 199, 241, 248, 190, 218, - 216, 153, 201, 231, 174, 252, 139, 166, 187, 134, 217, 197, 190, 234, 238, - 225, 164, 181, 220, 141, 140, 158, 189, 250, 213, 163, 160, 236, 243, 207, - 155, 138, 235, 204, 246, 135, 203, 159, 233, 149, 179, 171, 232, 210, 152, - 165, 143, 209, 200, 146, 145, 182, 241, 196, 130, 133, 229, 180, 170, 226, - 169, 192, 214, 239, 167, 208, 251, 137, 205, 175, 162, 157, 222, 255, 148, - 224, 151, 253, 228, 176, 218, 186, 230, 168, 136, 206, 242, 150, 178, 219, - 131, 245, 223, 199, 147, 185, 188, 254, 237, 247, 211, 173, 244, 184, 154, - 172, 212, 198, 221, 256, 248, 193, 249, 142, 132, 161, 202, 191, 240, 194, - 177, 195, 215, 129, 227, 144, 183, 156, 180, 251, 130, 235, 203, 192, 206, - 221, 146, 241, 129, 170, 157, 249, 139, 196, 205, 208, 240, 137, 231, 190, - 215, 160, 193, 219, 254, 182, 144, 138, 204, 228, 214, 178, 252, 188, 253, - 143, 159, 224, 246, 225, 171, 156, 238, 226, 166, 161, 173, 236, 232, 194, - 195, 169, 218, 230, 181, 183, 184, 167, 211, 244, 245, 223, 165, 213, 152, - 151, 158, 155, 199, 142, 233, 220, 248, 185, 209, 242, 191, 168, 256, 134, - 174, 255, 179, 172, 150, 247, 153, 176, 243, 186, 201, 198, 217, 132, 189, - 133, 234, 177, 237, 164, 197, 250, 135, 136, 131, 212, 200, 148, 229, 202, - 141, 140, 154, 227, 145, 162, 163, 147, 239, 216, 222, 207, 187, 175, 210, - 149, 211, 173, 189, 252, 130, 153, 187, 201, 133, 214, 246, 143, 181, 163, - 256, 209, 160, 150, 203, 232, 236, 234, 154, 202, 242, 146, 238, 251, 156, - 140, 188, 235, 186, 179, 194, 148, 149, 241, 208, 161, 240, 132, 184, 223, - 168, 176, 198, 247, 229, 138, 162, 172, 239, 180, 158, 207, 190, 248, 253, - 230, 220, 225, 250, 134, 167, 129, 233, 196, 171, 157, 200, 164, 137, 141, - 136, 178, 147, 182, 249, 170, 145, 204, 243, 169, 131, 152, 139, 224, 183, - 216, 219, 205, 210, 245, 215, 244, 185, 151, 135, 221, 166, 217, 213, 199, - 222, 195, 191, 193, 254, 174, 144, 159, 218, 237, 255, 155, 227, 206, 177, - 197, 192, 212, 226, 165, 142, 231, 175, 228, 246, 215, 213, 249, 187, 225, - 178, 238, 171, 214, 254, 191, 177, 147, 160, 138, 169, 163, 165, 231, 192, - 190, 221, 139, 202, 166, 164, 198, 239, 143, 204, 243, 144, 156, 182, 242, - 184, 153, 193, 197, 176, 129, 207, 185, 170, 131, 167, 149, 145, 229, 172, - 130, 168, 222, 142, 244, 158, 162, 146, 219, 133, 250, 141, 155, 205, 140, - 188, 210, 247, 212, 216, 175, 151, 189, 148, 237, 203, 230, 226, 180, 157, - 206, 255, 220, 234, 208, 200, 218, 183, 240, 132, 252, 136, 195, 174, 137, - 211, 201, 223, 196, 228, 199, 248, 241, 186, 224, 181, 233, 159, 253, 154, - 134, 217, 235, 245, 161, 227, 194, 179, 232, 251, 135, 209, 150, 173, 152, - 236, 256, 253, 224, 146, 236, 243, 250, 202, 201, 147, 191, 198, 143, 189, - 196, 151, 211, 131, 165, 195, 166, 208, 171, 140, 244, 214, 218, 219, 228, - 235, 192, 141, 173, 234, 145, 167, 251, 232, 157, 256, 132, 180, 177, 176, - 138, 178, 210, 255, 156, 170, 161, 163, 150, 130, 184, 159, 238, 194, 245, - 252, 204, 139, 247, 205, 240, 179, 209, 133, 246, 215, 137, 222, 175, 136, - 154, 160, 158, 223, 229, 197, 199, 212, 254, 213, 206, 242, 203, 168, 249, - 183, 207, 226, 220, 152, 134, 162, 237, 200, 185, 181, 230, 216, 217, 142, - 182, 190, 172, 187, 169, 231, 174, 225, 188, 227, 248, 193, 241, 155, 239, - 135, 186, 129, 233, 148, 144, 149, 221, 153, 164, 196, 173, 172, 148, 146, - 171, 170, 221, 188, 182, 145, 240, 213, 231, 211, 254, 252, 161, 204, 218, - 190, 235, 154, 144, 130, 149, 197, 192, 175, 165, 131, 227, 208, 181, 158, - 224, 229, 236, 184, 251, 233, 140, 156, 228, 176, 183, 246, 249, 220, 201, - 244, 189, 151, 169, 164, 200, 137, 138, 152, 245, 226, 217, 250, 256, 255, - 147, 247, 193, 139, 166, 242, 230, 129, 209, 223, 159, 136, 162, 142, 187, - 178, 174, 241, 179, 163, 134, 155, 157, 133, 215, 132, 203, 177, 160, 210, - 167, 143, 198, 150, 239, 212, 234, 219, 225, 206, 216, 214, 168, 194, 237, - 135, 191, 180, 243, 205, 253, 202, 232, 185, 199, 153, 207, 248, 195, 186, - 222, 141, 238, 148, 243, 166, 188, 226, 208, 149, 215, 145, 251, 239, 191, - 209, 255, 144, 222, 231, 225, 156, 180, 133, 172, 147, 183, 200, 227, 179, - 195, 249, 241, 196, 242, 137, 228, 173, 160, 230, 175, 151, 134, 253, 212, - 235, 250, 211, 245, 163, 237, 247, 170, 138, 224, 139, 217, 182, 206, 152, - 194, 205, 132, 186, 238, 142, 181, 207, 167, 252, 214, 158, 198, 236, 199, - 223, 240, 234, 146, 155, 150, 135, 131, 202, 203, 246, 219, 171, 187, 164, - 218, 143, 221, 229, 220, 174, 201, 185, 140, 232, 213, 165, 254, 154, 169, - 178, 161, 157, 216, 153, 193, 168, 184, 248, 159, 129, 244, 210, 190, 192, - 141, 256, 176, 204, 177, 130, 197, 189, 162, 136, 233, 201, 168, 135, 226, - 152, 169, 167, 205, 203, 233, 243, 232, 253, 157, 249, 133, 165, 129, 220, - 246, 209, 149, 197, 208, 160, 176, 224, 206, 146, 182, 187, 211, 130, 212, - 250, 140, 227, 255, 213, 225, 173, 192, 134, 184, 180, 171, 238, 191, 237, - 234, 170, 139, 136, 217, 190, 247, 189, 148, 202, 251, 219, 186, 166, 241, - 252, 181, 138, 158, 210, 159, 172, 194, 179, 175, 193, 164, 132, 218, 150, - 235, 188, 178, 229, 230, 154, 142, 155, 215, 240, 199, 153, 223, 248, 162, - 244, 161, 239, 242, 200, 196, 245, 137, 198, 214, 228, 163, 131, 145, 231, - 254, 185, 256, 177, 144, 183, 207, 216, 204, 174, 151, 147, 143, 222, 195, - 141, 221, 156, 236, 148, 194, 175, 167, 249, 187, 182, 211, 136, 155, 227, - 208, 151, 239, 188, 203, 199, 149, 137, 195, 130, 193, 207, 219, 132, 225, - 145, 212, 215, 231, 135, 240, 184, 186, 174, 205, 173, 180, 178, 218, 222, - 256, 251, 179, 150, 248, 170, 204, 247, 138, 164, 189, 209, 244, 156, 255, - 191, 232, 198, 176, 190, 226, 246, 241, 142, 141, 242, 221, 133, 197, 243, - 185, 172, 160, 152, 183, 213, 165, 217, 234, 140, 228, 220, 196, 250, 139, - 214, 159, 131, 210, 238, 206, 237, 153, 216, 147, 171, 129, 223, 253, 229, - 230, 202, 168, 162, 169, 254, 157, 200, 154, 192, 143, 181, 233, 235, 245, - 201, 236, 224, 134, 144, 158, 163, 146, 161, 166, 252, 177, 306, 300, 383, - 261, 369, 374, 357, 269, 291, 298, 345, 275, 352, 271, 339, 321, 356, 351, - 372, 371, 297, 348, 286, 259, 355, 322, 317, 373, 333, 335, 367, 360, 330, - 283, 289, 370, 258, 320, 279, 379, 350, 323, 316, 264, 346, 262, 266, 325, - 268, 362, 361, 353, 276, 341, 324, 378, 338, 358, 314, 313, 364, 267, 274, - 281, 305, 365, 359, 265, 307, 326, 308, 340, 336, 295, 312, 257, 382, 278, - 270, 302, 287, 319, 299, 377, 375, 263, 354, 293, 310, 328, 376, 309, 381, - 296, 349, 342, 327, 347, 343, 282, 273, 384, 280, 260, 329, 368, 344, 284, - 301, 315, 380, 277, 366, 337, 303, 285, 311, 318, 272, 332, 288, 304, 331, - 290, 294, 334, 292, 363, 363, 258, 260, 346, 336, 326, 358, 355, 370, 302, - 350, 332, 316, 263, 369, 310, 338, 362, 273, 282, 329, 324, 378, 376, 359, - 261, 264, 268, 375, 382, 348, 284, 356, 277, 279, 341, 309, 343, 364, 334, - 361, 297, 360, 384, 377, 266, 311, 313, 349, 335, 373, 312, 293, 267, 367, - 292, 314, 330, 296, 342, 323, 287, 371, 272, 304, 298, 327, 269, 317, 274, - 278, 372, 303, 337, 383, 320, 351, 365, 321, 344, 276, 381, 290, 300, 374, - 325, 366, 315, 301, 259, 347, 319, 322, 339, 262, 306, 368, 352, 280, 283, - 270, 257, 318, 345, 357, 328, 275, 340, 281, 285, 271, 286, 288, 291, 308, - 307, 295, 299, 379, 353, 331, 289, 294, 265, 380, 354, 333, 305, 325, 259, - 305, 334, 316, 288, 378, 358, 361, 289, 326, 364, 376, 339, 275, 335, 263, - 297, 338, 377, 352, 310, 349, 299, 381, 383, 363, 291, 308, 277, 351, 366, - 374, 321, 328, 270, 373, 306, 274, 372, 350, 365, 281, 340, 337, 267, 298, - 279, 345, 280, 370, 356, 292, 312, 342, 360, 329, 324, 285, 309, 344, 367, - 347, 258, 341, 304, 303, 266, 353, 284, 276, 287, 290, 319, 322, 294, 295, - 314, 336, 379, 348, 296, 359, 268, 260, 264, 271, 283, 282, 257, 318, 265, - 269, 333, 362, 382, 323, 384, 320, 315, 286, 301, 311, 262, 369, 261, 302, - 357, 293, 331, 354, 368, 375, 272, 278, 371, 327, 313, 330, 355, 317, 273, - 307, 300, 380, 332, 343, 346, 300, 340, 277, 290, 283, 282, 293, 366, 319, - 304, 279, 381, 305, 361, 333, 301, 365, 353, 317, 356, 370, 308, 295, 330, - 372, 343, 302, 346, 378, 324, 323, 292, 266, 280, 268, 316, 259, 374, 339, - 257, 261, 285, 313, 272, 258, 345, 298, 352, 311, 310, 263, 264, 267, 329, - 289, 360, 364, 380, 320, 286, 287, 322, 351, 297, 315, 338, 375, 276, 344, - 326, 309, 368, 303, 278, 337, 335, 294, 354, 384, 383, 271, 288, 260, 331, - 269, 306, 367, 325, 299, 284, 312, 379, 270, 318, 363, 262, 342, 382, 291, - 273, 341, 373, 332, 371, 281, 349, 296, 307, 274, 357, 336, 347, 355, 265, - 377, 321, 350, 348, 358, 275, 314, 334, 376, 359, 369, 327, 328, 362, 275, - 259, 380, 381, 271, 320, 345, 293, 354, 334, 317, 288, 353, 372, 349, 313, - 378, 287, 331, 379, 289, 286, 377, 263, 297, 336, 282, 341, 357, 323, 343, - 356, 284, 338, 269, 328, 365, 376, 322, 290, 344, 374, 325, 382, 281, 268, - 296, 309, 316, 300, 347, 266, 311, 295, 298, 267, 337, 291, 276, 257, 292, - 333, 368, 261, 373, 273, 364, 358, 375, 274, 324, 312, 278, 335, 339, 283, - 329, 384, 321, 348, 315, 260, 294, 359, 304, 264, 326, 305, 352, 330, 360, - 361, 280, 270, 362, 342, 258, 371, 327, 332, 340, 355, 367, 308, 265, 351, - 303, 366, 306, 363, 279, 272, 369, 262, 346, 350, 318, 307, 383, 310, 319, - 277, 302, 301, 370, 285, 299, 314, 280, 269, 366, 362, 384, 360, 262, 321, - 383, 314, 361, 265, 381, 372, 325, 305, 294, 344, 259, 297, 371, 322, 309, - 313, 292, 375, 379, 316, 382, 307, 304, 282, 281, 356, 345, 319, 355, 315, - 323, 283, 330, 274, 263, 342, 332, 284, 302, 335, 324, 272, 278, 257, 303, - 311, 276, 339, 260, 271, 376, 377, 261, 312, 359, 285, 357, 353, 334, 258, - 299, 365, 340, 298, 336, 286, 328, 378, 358, 291, 341, 296, 380, 266, 289, - 351, 267, 320, 350, 346, 273, 306, 295, 310, 329, 275, 367, 337, 277, 326, - 374, 348, 343, 308, 290, 327, 288, 293, 368, 364, 349, 373, 279, 317, 333, - 369, 338, 301, 347, 354, 331, 268, 370, 264, 318, 270, 300, 352, 287, 363, - 341, 348, 376, 346, 331, 305, 340, 302, 308, 303, 315, 321, 375, 278, 298, - 333, 319, 287, 334, 371, 260, 310, 263, 330, 326, 359, 282, 335, 313, 369, - 342, 300, 299, 286, 379, 291, 276, 301, 355, 349, 347, 257, 304, 373, 294, - 336, 290, 270, 306, 363, 383, 370, 262, 297, 284, 293, 384, 329, 358, 367, - 277, 374, 267, 356, 353, 352, 272, 311, 323, 324, 368, 344, 362, 325, 380, - 261, 328, 288, 317, 345, 279, 337, 296, 372, 271, 266, 382, 274, 273, 275, - 264, 312, 343, 366, 361, 351, 316, 350, 381, 322, 292, 360, 285, 283, 314, - 339, 338, 268, 269, 289, 354, 309, 365, 377, 307, 258, 332, 357, 295, 320, - 281, 378, 318, 327, 280, 265, 259, 364, 346, 315, 371, 265, 305, 322, 321, - 354, 273, 297, 257, 378, 345, 343, 275, 299, 278, 314, 353, 327, 335, 329, - 338, 362, 326, 285, 323, 279, 369, 267, 298, 324, 309, 351, 319, 291, 336, - 276, 333, 328, 292, 286, 280, 277, 288, 379, 259, 380, 260, 381, 296, 318, - 364, 368, 287, 334, 375, 382, 270, 284, 342, 263, 266, 311, 360, 384, 258, - 320, 363, 370, 359, 366, 341, 272, 316, 281, 356, 374, 282, 367, 302, 301, - 295, 365, 339, 308, 337, 376, 283, 293, 330, 352, 361, 304, 271, 268, 300, - 355, 290, 349, 331, 261, 348, 372, 313, 358, 274, 344, 373, 357, 294, 289, - 317, 303, 310, 383, 325, 377, 312, 306, 347, 340, 307, 264, 269, 350, 332, - 262, 257, 328, 348, 336, 323, 303, 339, 374, 351, 379, 272, 327, 274, 333, - 352, 278, 359, 314, 370, 300, 267, 290, 270, 380, 261, 275, 260, 289, 259, - 345, 330, 291, 284, 271, 310, 258, 340, 324, 301, 357, 365, 295, 329, 322, - 307, 364, 384, 342, 283, 276, 338, 305, 296, 335, 282, 349, 266, 263, 298, - 268, 371, 366, 313, 281, 319, 318, 356, 317, 382, 373, 381, 308, 299, 367, - 286, 277, 331, 372, 315, 287, 269, 377, 341, 311, 346, 360, 306, 353, 285, - 383, 355, 280, 321, 344, 376, 332, 343, 350, 375, 279, 316, 302, 354, 368, - 325, 361, 304, 334, 312, 369, 347, 363, 273, 297, 358, 288, 264, 320, 378, - 294, 337, 309, 262, 326, 362, 293, 265, 292, 261, 302, 357, 382, 328, 356, - 346, 338, 340, 378, 323, 310, 342, 314, 279, 313, 326, 308, 309, 352, 322, - 320, 269, 293, 315, 334, 345, 384, 376, 271, 379, 281, 381, 329, 289, 264, - 301, 362, 266, 305, 278, 280, 262, 344, 268, 333, 283, 339, 321, 298, 368, - 365, 377, 257, 336, 258, 273, 274, 306, 288, 304, 292, 307, 311, 335, 359, - 296, 369, 349, 366, 284, 263, 332, 343, 276, 272, 330, 361, 363, 270, 347, - 372, 316, 265, 290, 348, 260, 312, 324, 380, 286, 277, 337, 275, 383, 291, - 331, 364, 367, 319, 353, 373, 371, 287, 325, 358, 285, 351, 318, 327, 294, - 267, 300, 374, 317, 295, 354, 355, 259, 370, 360, 303, 341, 299, 375, 297, - 282, 350, 326, 332, 286, 360, 328, 335, 312, 353, 267, 337, 371, 317, 344, - 298, 340, 294, 363, 362, 383, 316, 320, 339, 368, 263, 282, 380, 381, 318, - 366, 377, 348, 306, 309, 315, 350, 322, 382, 303, 301, 374, 330, 357, 272, - 319, 268, 346, 352, 376, 345, 351, 370, 323, 321, 365, 367, 285, 260, 265, - 277, 280, 341, 262, 324, 349, 271, 289, 295, 281, 300, 364, 297, 359, 333, - 334, 355, 358, 375, 276, 361, 284, 261, 273, 275, 274, 378, 293, 379, 343, - 372, 305, 290, 283, 331, 291, 299, 259, 336, 384, 369, 257, 342, 304, 270, - 329, 311, 327, 373, 278, 313, 266, 307, 354, 269, 347, 296, 338, 279, 314, - 258, 288, 292, 325, 287, 302, 356, 310, 264, 308, 294, 308, 296, 360, 304, - 275, 341, 302, 305, 266, 369, 314, 269, 375, 291, 339, 349, 280, 381, 350, - 327, 370, 329, 259, 316, 365, 357, 333, 257, 354, 313, 348, 359, 364, 261, - 362, 332, 268, 287, 276, 331, 326, 267, 382, 286, 297, 295, 262, 323, 288, - 309, 380, 378, 274, 334, 303, 355, 321, 289, 318, 366, 356, 279, 278, 307, - 368, 352, 345, 277, 270, 371, 310, 317, 315, 319, 290, 283, 374, 376, 337, - 306, 336, 351, 373, 271, 324, 311, 340, 330, 282, 273, 258, 264, 298, 361, - 300, 342, 383, 346, 325, 284, 358, 372, 367, 335, 347, 377, 312, 292, 344, - 293, 343, 263, 384, 281, 338, 301, 353, 260, 265, 379, 272, 299, 322, 285, - 328, 363, 320, 512, 488, 426, 457, 396, 504, 503, 496, 413, 458, 387, 435, - 420, 401, 403, 432, 394, 459, 443, 483, 484, 467, 388, 391, 422, 449, 473, - 430, 497, 486, 511, 450, 424, 395, 463, 493, 433, 392, 415, 400, 417, 437, - 448, 439, 502, 447, 508, 466, 510, 409, 479, 419, 477, 482, 390, 411, 407, - 476, 500, 427, 494, 478, 386, 460, 429, 505, 385, 442, 434, 441, 491, 423, - 495, 444, 389, 402, 487, 445, 399, 425, 462, 405, 489, 410, 506, 416, 490, - 404, 418, 393, 455, 481, 454, 436, 469, 472, 480, 465, 509, 406, 485, 408, - 398, 461, 438, 440, 474, 492, 428, 475, 431, 499, 498, 412, 464, 456, 451, - 501, 414, 421, 397, 507, 470, 446, 468, 453, 471, 452, 404, 462, 511, 405, - 418, 435, 392, 474, 438, 510, 437, 461, 400, 432, 401, 485, 499, 427, 475, - 421, 453, 495, 459, 426, 422, 447, 442, 429, 456, 481, 443, 444, 397, 386, - 420, 424, 468, 508, 505, 448, 415, 487, 486, 480, 482, 395, 473, 449, 411, - 394, 494, 406, 403, 470, 500, 451, 476, 399, 507, 454, 472, 388, 491, 483, - 396, 452, 425, 455, 436, 439, 409, 416, 385, 502, 469, 504, 402, 501, 490, - 458, 445, 417, 484, 414, 391, 488, 471, 477, 466, 440, 434, 493, 423, 492, - 489, 497, 450, 464, 506, 446, 390, 498, 463, 428, 512, 413, 467, 460, 433, - 398, 387, 441, 410, 478, 430, 496, 479, 457, 407, 509, 419, 503, 412, 431, - 393, 465, 408, 389, 430, 460, 466, 412, 468, 483, 443, 497, 486, 431, 452, - 435, 491, 487, 445, 482, 509, 492, 484, 403, 436, 473, 453, 392, 420, 496, - 389, 500, 397, 479, 456, 417, 469, 406, 480, 475, 393, 394, 411, 390, 447, - 494, 476, 462, 501, 400, 504, 402, 461, 410, 467, 387, 490, 499, 505, 512, - 457, 427, 401, 458, 471, 489, 398, 478, 459, 413, 506, 472, 449, 508, 477, - 451, 498, 464, 465, 481, 433, 421, 470, 502, 441, 404, 450, 429, 439, 495, - 440, 437, 432, 408, 424, 399, 444, 423, 428, 442, 405, 455, 485, 422, 493, - 396, 438, 386, 418, 385, 416, 409, 426, 415, 407, 474, 503, 507, 419, 454, - 434, 463, 425, 395, 448, 414, 391, 510, 446, 511, 488, 388, 388, 498, 442, - 389, 475, 398, 397, 462, 416, 424, 439, 441, 436, 463, 400, 402, 393, 423, - 481, 412, 472, 470, 488, 491, 420, 421, 449, 425, 493, 486, 456, 417, 468, - 411, 446, 435, 451, 511, 478, 508, 413, 450, 392, 479, 461, 496, 509, 502, - 443, 385, 452, 404, 406, 426, 394, 476, 477, 453, 429, 494, 455, 506, 500, - 433, 454, 430, 466, 484, 474, 395, 487, 387, 444, 471, 482, 434, 473, 499, - 414, 396, 408, 431, 418, 501, 391, 459, 399, 495, 401, 448, 512, 432, 390, - 405, 437, 428, 409, 504, 469, 507, 445, 505, 386, 464, 485, 410, 503, 480, - 489, 457, 483, 427, 407, 422, 458, 492, 419, 440, 497, 465, 510, 403, 490, - 467, 415, 447, 438, 460, 475, 402, 497, 395, 439, 390, 481, 472, 408, 469, - 456, 489, 457, 505, 430, 424, 447, 416, 508, 441, 415, 434, 473, 429, 405, - 491, 459, 425, 410, 409, 451, 435, 479, 394, 488, 468, 399, 493, 407, 462, - 455, 403, 387, 484, 483, 431, 391, 460, 404, 477, 453, 414, 506, 482, 500, - 393, 406, 478, 471, 485, 449, 433, 463, 490, 467, 452, 420, 474, 426, 458, - 501, 487, 504, 510, 486, 385, 386, 398, 417, 389, 432, 423, 454, 507, 419, - 421, 494, 422, 400, 450, 492, 427, 470, 465, 438, 444, 511, 396, 418, 437, - 461, 499, 443, 436, 480, 442, 495, 440, 448, 446, 411, 397, 392, 502, 413, - 496, 476, 498, 509, 401, 428, 512, 466, 503, 445, 388, 464, 412, 477, 432, - 414, 415, 489, 389, 474, 464, 484, 507, 434, 417, 498, 492, 445, 398, 458, - 407, 455, 427, 424, 479, 452, 490, 409, 471, 390, 491, 472, 505, 399, 502, - 450, 463, 425, 396, 495, 406, 430, 466, 512, 453, 510, 411, 435, 475, 393, - 485, 438, 493, 433, 426, 509, 478, 437, 401, 481, 467, 395, 403, 508, 449, - 385, 392, 405, 500, 446, 457, 448, 394, 501, 421, 419, 460, 447, 429, 470, - 504, 465, 420, 410, 440, 386, 497, 462, 408, 454, 391, 496, 441, 456, 459, - 473, 431, 397, 444, 388, 482, 387, 506, 483, 503, 451, 412, 416, 487, 511, - 428, 486, 402, 461, 439, 480, 418, 400, 442, 468, 404, 443, 469, 494, 423, - 436, 499, 476, 413, 488, 422, 482, 404, 499, 474, 470, 510, 387, 440, 445, - 458, 392, 471, 389, 452, 477, 444, 466, 408, 468, 429, 396, 428, 418, 413, - 467, 450, 438, 410, 492, 495, 420, 465, 483, 505, 500, 432, 402, 485, 397, - 401, 427, 491, 457, 460, 502, 454, 386, 488, 463, 442, 419, 415, 443, 411, - 388, 403, 416, 406, 461, 490, 489, 487, 476, 494, 484, 407, 511, 394, 469, - 409, 414, 426, 405, 449, 504, 433, 459, 462, 478, 435, 493, 501, 481, 421, - 486, 399, 448, 464, 475, 430, 479, 498, 390, 398, 496, 439, 437, 506, 480, - 509, 412, 395, 431, 447, 453, 508, 446, 434, 512, 417, 472, 507, 473, 424, - 451, 385, 497, 436, 425, 503, 441, 423, 393, 456, 400, 391, 455, 422, 454, - 475, 404, 419, 488, 408, 494, 500, 387, 434, 412, 452, 401, 391, 503, 508, - 432, 468, 396, 417, 392, 441, 411, 511, 439, 504, 476, 458, 453, 473, 385, - 484, 501, 386, 489, 482, 512, 422, 498, 466, 403, 424, 481, 487, 402, 442, - 420, 499, 429, 492, 423, 493, 415, 480, 389, 467, 456, 433, 418, 485, 410, - 447, 388, 414, 445, 490, 409, 477, 472, 390, 446, 507, 405, 479, 465, 460, - 448, 457, 438, 397, 427, 455, 464, 502, 509, 399, 469, 461, 443, 431, 444, - 470, 505, 398, 486, 459, 497, 400, 428, 395, 449, 483, 425, 421, 430, 440, - 478, 450, 435, 496, 506, 463, 407, 462, 436, 510, 426, 474, 451, 416, 471, - 394, 413, 393, 495, 491, 406, 437, 467, 425, 466, 387, 474, 432, 391, 436, - 473, 505, 512, 511, 503, 500, 491, 452, 440, 404, 464, 499, 418, 495, 398, - 429, 417, 410, 460, 424, 507, 449, 478, 386, 457, 454, 492, 465, 501, 504, - 409, 412, 486, 395, 431, 422, 477, 402, 487, 483, 450, 414, 399, 459, 388, - 396, 405, 441, 468, 498, 448, 394, 423, 461, 485, 420, 447, 493, 455, 451, - 426, 439, 488, 427, 442, 428, 470, 453, 463, 445, 434, 443, 397, 438, 508, - 482, 476, 480, 479, 497, 481, 510, 403, 433, 446, 416, 393, 509, 475, 408, - 407, 471, 430, 400, 437, 406, 490, 506, 385, 462, 469, 415, 496, 421, 390, - 401, 489, 472, 484, 458, 494, 392, 435, 413, 444, 502, 419, 456, 389, 411, - 447, 472, 507, 426, 392, 488, 434, 461, 411, 393, 404, 495, 424, 439, 471, - 493, 483, 435, 412, 469, 385, 421, 468, 462, 429, 511, 397, 480, 405, 442, - 497, 433, 391, 458, 419, 399, 476, 448, 410, 395, 413, 401, 428, 506, 454, - 415, 443, 474, 457, 464, 500, 438, 481, 406, 389, 432, 492, 437, 510, 463, - 430, 504, 502, 498, 416, 422, 485, 477, 450, 508, 446, 512, 449, 452, 484, - 440, 444, 400, 482, 459, 470, 490, 414, 499, 503, 423, 479, 431, 418, 407, - 473, 455, 496, 417, 408, 441, 445, 486, 398, 388, 465, 386, 402, 475, 453, - 456, 491, 489, 451, 420, 396, 501, 509, 505, 467, 394, 390, 409, 387, 478, - 403, 466, 487, 460, 436, 494, 425, 427, 447, 493, 422, 492, 460, 388, 418, - 461, 449, 412, 415, 490, 464, 405, 482, 439, 446, 480, 438, 386, 395, 462, - 444, 510, 399, 435, 458, 400, 505, 470, 506, 469, 385, 427, 401, 467, 390, - 475, 448, 423, 453, 479, 491, 426, 425, 431, 474, 497, 484, 501, 499, 409, - 494, 511, 488, 500, 393, 472, 429, 471, 502, 434, 487, 408, 454, 465, 481, - 424, 419, 508, 463, 398, 466, 410, 489, 498, 430, 403, 486, 428, 417, 413, - 394, 459, 440, 483, 451, 436, 392, 414, 457, 441, 504, 389, 442, 455, 402, - 456, 496, 411, 406, 391, 473, 387, 421, 512, 485, 416, 477, 404, 468, 495, - 503, 432, 450, 476, 478, 445, 433, 420, 396, 443, 407, 437, 509, 452, 507, - 397, 503, 408, 444, 425, 472, 388, 396, 431, 400, 409, 435, 389, 482, 479, - 410, 395, 442, 452, 411, 495, 471, 385, 500, 450, 393, 403, 512, 494, 476, - 386, 430, 453, 402, 467, 432, 448, 469, 397, 391, 427, 460, 464, 418, 502, - 489, 446, 510, 470, 417, 486, 449, 421, 505, 406, 458, 508, 480, 475, 454, - 468, 501, 436, 415, 445, 424, 447, 477, 462, 439, 496, 426, 440, 459, 394, - 416, 405, 401, 497, 387, 490, 456, 404, 455, 473, 398, 509, 481, 451, 493, - 422, 488, 433, 504, 419, 506, 457, 465, 511, 484, 429, 392, 390, 487, 443, - 438, 461, 498, 441, 474, 399, 434, 407, 420, 437, 423, 413, 478, 485, 412, - 499, 483, 463, 507, 466, 414, 491, 492, 428}; -const float HRAa_1536_512_input[] = { - 13.386899925109432, -13.874621377458897, -16.780017007177882, - -6.290312059289052, -12.12827186210024, -6.7215865007863869, - -12.928496427823001, -9.5320512690650236, -7.743243384270599, - 13.537963482938862, -2.7747305809320273, -12.582411711157423, - -5.3802664401721669, -12.212445933608072, -7.6896834132998464, - -13.886251758086326, 10.057357007368099, -0.54545642222569801, - 8.205317948012846, 9.9587921963912223, 1.787839710999801, - -1.8877909028033726, -5.4872655283312968, -8.062104638589874, - 12.160461660371981, -15.667876557032479, 8.8975273390429983, - -3.3765083480826616, 9.3816292204533749, -11.374049439344271, - -10.36262436541605, 6.7202129273737032, 8.6272248519835983, - 6.8202854789610363, -9.9864325836014913, -1.3405851953534818, - -11.142776994932193, -1.9184371643698088, 9.7100901224681202, - 8.0943424444060117, 10.207687208250547, -12.139932744539616, - -8.6843097992891565, 11.103660696595387, 8.3959816215268113, - -5.2149232726762502, -10.099642434219659, 8.4287998205932535, - -8.1131273436353393, 11.077737095117719, 11.873290693127736, - -8.3323685207242288, 8.306765838979139, -7.7344852728193692, - -12.595270449431288, -11.151338526616161, 8.8518394477850517, - -7.3707217826997509, -15.236586757477074, -16.861400843579382, - -5.2451688100646434, -7.9139079697369601, 4.624265800939507, - -3.8868901758034666, 5.149322447921163, -4.8408994988342702, - -16.025567965427282, 8.9397007078167832, 11.615085927048078, - 8.7522408607897013, 8.9362025413954598, -12.419911954640257, - 1.3360373310499056, 5.8047604915295699, -11.499552394388353, - -9.0848912468207565, -0.33403972984943742, 4.4543924597778224, - 7.5516321347188526, -14.133335935201398, 5.0051740595271017, - 16.889255448806885, 4.2732555534579513, 10.895662242985567, - 12.023371162173557, -16.54177280794126, 16.47187146826094, - -8.1320457770163532, 14.492657760424361, 5.1425318773536102, - -12.674348565024257, -12.591971003025808, -11.419434896299183, - -7.134364911729187, -14.456345736529295, 6.9801481308852464, - 3.5178871967459839, -5.4222404575852448, 17.787168094008695, - -6.2963736353761854, 6.0773417416842221, 12.129562430166006, - -12.394762329795224, 10.349629378600094, 6.4331304797784803, - 4.0178325470947502, -1.138956390083639, 8.1137355075137663, - 13.895337237225856, 5.2871675790043309, -0.71033385965710749, - -8.0604882356929117, 10.198012315557385, 11.576288688276565, - 10.989989721011501, -1.8717320818182488, 10.123904063310743, - 10.784665440661042, -4.3035609830061903, 9.6837773036405093, - -14.835135985873862, -5.1478442440128811, -6.6505387088228947, - 7.6760013089942545, 6.4660475793279915, -6.5596877295244536, - -9.3116314056097949, 7.6328445056019074, 8.8548767929342613, - 7.5197255274599808, -7.9120195042812034, -7.1323001875535148, - 10.791556287617038, 10.084448901305496, -10.743240913473755, - 12.353642192693162, -4.527053580524516, 7.3242837488860237, - 11.840083930085372, -10.619537990011144, -7.6706979631015884, - -10.372557115087139, -8.8632681653872467, -4.4224067975512833, - 10.305320214477293, -13.718057823394824, 4.1964852185559138, - -1.4362461161357318, -9.2144112590704665, 8.3877875072624768, - -10.28487762491257, -9.1114457918206746, 5.9370140811870229, - 14.470896650278901, 5.1658695784729174, -9.341067315095037, - 13.898060872612461, -3.9942168173342556, -8.3744670385083744, - 7.3185644061709123, -10.677918127800307, 8.7839855993602747, - 5.9967809699512715, 7.3957884730189676, -3.2504312305872545, - -9.6416522009408538, 5.8869284856565551, 6.8296803475321157, - -8.8993273140276621, 6.4153892959374943, 10.71036283303145, - 5.7650612619594863, 10.78849375974715, -1.4177006030538843, - 1.5219866880330013, 7.6721747796307929, -5.4730436651294374, - -9.5147711755665831, -15.201928353576326, 9.1070883523744062, - -1.429613590187548, 10.993649358659018, 3.3503803060819508, - -17.486331072327484, -10.477380738424001, -4.7161288387109055, - 7.0041944951217889, -8.5563404605446678, -13.558221470146432, - 1.9509536932085323, -2.1008828270020299, -6.0209650694579304, - 7.2795925605768037, 6.4403696840313165, 9.6872136018234638, - -10.083520911839761, 2.2569120937126366, -6.2731874949190027, - -16.003233247997624, 2.6470504909477603, 1.9679136003343678, - 1.084323481971722, -5.5869253766683347, 10.471030535111106, - -10.141071326109691, 3.0103339932739437, -1.7669043857695677, - -7.6573452029265354, -4.3258934638902158, -10.968459179578497, - 15.741636049842855, -10.9522061668373, -9.4904695438104927, - 10.385857264222551, 10.297120789438011, 6.5744952638429925, - 5.8740095877629486, 10.799510515320124, -6.3545024936903296, - -0.79879489541004711, -7.9890116216388165, -7.0895275092337746, - -1.1693711835427318, -11.031571816277879, -2.7661989355564196, - -12.648614251118801, 3.6890373669346022, -9.6492587977566604, - 16.37751360979837, -11.834071942761344, -8.1856488251627724, - -2.6452776364462234, -7.8494578072748498, -4.3583881632417762, - 9.0567313787087418, -11.915674625575223, 6.3560722843437931, - -12.459623655201984, 10.634887971076129, -16.922079821941349, - 2.6306182284481716, -4.8306213551740491, -6.8938315321790871, - -11.732112230175732, -14.980055011514212, 14.341141814607978, - 9.3877580146603421, 10.212542439703331, 10.226413776118815, - 1.4940604264129116, 7.7454328449595184, -17.063990479025335, - 19.866966739493524, -10.140740571896508, -12.522044834618598, - 7.0883420344447883, 8.639822911246295, 8.696282010555846, - -4.6180581749529885, 15.128219796014116, 9.944475468031726, - 3.9061050633893308, -0.44811804820690332, -9.8453458886200469, - 11.310920421915538, -1.8877371033018449, -13.955810775304432, - -9.3663850942658744, -13.7152384276622, 8.1778408387550972, - -11.099226967110654, -0.40938224282111474, 7.407933602924528, - 9.5946649739529732, 8.9692970855929381, -7.4260161983282993, - -6.7127946668575396, -3.32421449686648, 11.949556138901517, - 6.0724437348944251, -8.7144215382129016, -6.8610474000112394, - 7.2567571883933359, -6.3499249476454329, 9.3590736715335225, - -6.5503328955021827, -6.9702845680797187, -10.317890011660792, - -3.6167068395322954, -4.8790397611256688, 16.56935536921031, - 15.259301626496455, 4.095983810772946, -8.287550939084964, - -9.9120810548007725, 9.9159918358704644, 7.7341221557626856, - -6.968193796769385, 11.636066712371051, -11.761055820947789, - 8.1630237309173719, 6.4488185954770767, 7.3664462176342393, - 9.1231645572893783, 1.6141196499486792, -9.6504558418612536, - -5.3306358019773254, -6.2121734777196425, 6.0886130638484497, - -7.8160047985525329, -2.3620627464284909, -5.7089981216523924, - 11.764939486817402, 6.9146263458573811, 5.4499539427791159, - 9.0526658073376804, -6.4040202312779462, 1.9520703353601458, - 8.8078015730086339, -2.6857890845936474, -7.4845378984175008, - -10.998145344747881, 3.9650986691130394, 7.3045582654386916, - 7.256277698095202, 8.8550148662006052, 4.4431559525918427, - 13.61919949600221, -8.6465615710269912, 5.8013976504697808, - 3.5026821856868993, -12.178296532701346, 6.9207418083416181, - -4.1355644302631589, 5.5861383859524665, -14.116022346856981, - 12.594015809448324, -13.393001860550452, 9.5607723957857971, - -13.112365438653656, -1.6596837312771877, 8.7341819566011267, - 7.4760433147262795, -8.1942077127202122, 8.3436147974653725, - 9.8720061590436838, 8.0887096325543109, -17.197684682990683, - -8.0196097887787907, -7.4638388448193353, 14.00243903909713, - -6.2485104839226615, 11.356138541390258, 3.7545892163531427, - 10.415941927557306, 12.692270186087136, 3.839016769003043, - -15.395769427822605, 7.7315150527655616, 4.8016964440291581, - 8.0132387260974589, -6.4415560341290687, 10.805285608742018, - -5.5301352184454284, -13.224718660056825, 0.35302225692097389, - 4.4748784871174934, 6.9443759354462857, 10.685073446441708, - 3.1575051344879466, -13.665701610090288, -3.8015869558522541, - -2.3038729510788531, -8.4060938979535429, 10.397495774699411, - 0.63231003672718755, 16.426675593327936, 4.2757077959938554, - -8.2297561064825651, -12.203313074476801, 3.5349123059031688, - -4.6316910854005595, 12.149986519547449, 10.142561680716403, - -12.910916534376218, -11.816001928564599, 12.752636976550916, - 1.347868026050816, 4.4506235037217419, 12.700335499696024, - -13.848139080070318, -11.355529001962223, -5.7806475282042058, - 0.47750289555723269, 5.6986275269369804, -4.4271319538016316, - 10.462558932858533, -5.0368487144176184, 12.348453770774848, - -10.530489062751826, 11.889507884552419, 6.7066063456855165, - 8.7257914990822734, -11.740906669754361, -13.198118848397669, - 11.966809170645028, 7.5576572433307501, -12.95621542476918, - 11.112615788951556, 5.4150193506065785, -2.4444668502999507, - 0.1275326588141078, -9.3810637216464059, 15.15093868960655, - 3.1627056768504778, 7.7005484449478576, -10.234073188504981, - 7.1267840100223658, -15.91683465924223, -13.410169751101346, - 0.13625266261370772, -7.5750837050990372, 14.960178685292997, - -15.435015552646451, -3.7057206375618463, -8.8999095085111666, - -2.5149139619650525, -8.3327199889755423, 18.941920607436636, - 13.420695019369392, 4.9195046375982541, 11.016163952781909, - 8.6733276067619194, 12.478765201964949, 2.3345020319649099, - 3.1973706815381244, -10.28793250894482, 3.1017921163255822, - 3.5809364261341075, -11.688627720005062, -7.4899768065790839, - 6.3649946224780551, 9.1684116530245543, -1.0144208985424472, - -1.7386901599600024, 10.812333055795435, 4.961817477568788, - 3.1009645563657138, 6.6921808083279686, 7.3774978735208627, - 1.7132043124694183, -10.362105107573687, -12.173493799440179, - -12.57733865447233, 10.40684423079197, -7.1829220405500269, - -5.8532485804854053, -3.3187986578272421, 0.91880136486449959, - -13.398651042134368, -6.3155049249186339, -17.255588061305122, - 2.9621721519641029, 10.684388373450155, 9.920602983772957, - -4.9406423078278641, 7.1264826077512149, 11.66719925284613, - 6.721261092111213, -12.730916302360351, 10.795526753678212, - -20.573136588685408, -5.6958101011529605, 6.9909504456743186, - 4.4715875360382364, 12.499170749494757, -7.20935215447878, - 9.3520391463706591, -11.260904720544124, 3.9094591998581429, - 10.542421309584265, 7.1626495100659087, -6.2979737327672325, - -7.4797184772604108, -10.033365613109066, 13.639664860076691, - 14.61768258823167, -9.349535102620095, -12.423145667667011, - 4.9898271501817089, 3.0038807688543274, -12.714132646116139, - -11.715303881774823, 4.1065631173690322, 5.8299911288456308, - 16.075633106498326, -5.7905188465892081, -10.727791126474877, - -6.8206190409645826, -8.9175871578683328, -4.6200146277545517, - 11.079880503025457, 2.510233715234405, -10.392607673591197, - 5.8668194165681014, -7.0114162376738856, -10.279106538719603, - -15.528793255069509, -4.6085364768240247, 6.8605550379128051, - -2.5800329268976743, -7.3532639311399244, 20.672825917556292, - -10.439895472960126, -14.128598455261217, 11.328263527383783, - -7.463336179396399, 16.130593577787007, 7.8647052993942861, - -7.7266572437869527, -7.6739353389438616, -7.8625194662984832, - -5.5481184597671502, 16.352149156645865, 1.5600738712852105, - 7.0446715470996484, 3.4977667900587481, 9.1242274771866878, - -14.864890247335271, 2.228477042485411, -11.636329210405362, - -4.6796208227724287, -2.2933856931597671, -9.3965545946571059, - 5.2166591092510801, -0.0061470351703269257, 11.008731035650001, - -4.0684606352010775, 7.3388311965238815, 9.6110268205483553, - -14.385784807623017, -12.022179732503762, 2.2591715836384325, - -12.450692202777248, -6.4694864795479514, 2.4970669565811572, - -14.438327468512828, -7.1490383062998024, 3.1980227285689566, - -4.3545915469413083, 11.850371754353054, -9.6358004132594868, - -5.5732823609496984, -11.570303232115274, -7.8799771256040403, - 11.364050055127539, 2.8166429122264298, -7.7893594643305502, - -2.3842480986276682, -7.3290075822986527, -5.5039959632731286, - -2.9510245234322539, -6.0257131849615027, -6.3046667299320047, - 9.6500486152400153, -13.674873390020878, 10.734758291088976, - -12.103386933808761, 12.184692560628328, 10.655296522071822, - 11.91880094629235, -7.4922050113367078, -5.1457408035516625, - 9.4250278995611794, -8.1618059524881748, 9.3940146817732177, - -11.555304660224397, -9.043867998939163, -8.451710191375323, - -0.697115284938572, 2.3373700418213623, 13.692672613492128, - -15.665014564786702, -3.2403867344672141, -8.7601644681864741, - 13.019487514767658, -12.791506892288574, -13.625856289969327, - -6.2209979515728566, 8.6521749698161123, 7.4180160442834548, - 1.1105314934818471, 4.4766310382738519, 11.438161271145697, - 13.894059012603345, 4.0767572471493434, 3.9865238865858319, - 3.7602317997987846, 0.76151966999394338, -5.1810102801857445, - 14.799158905790362, 2.4576241055193684, -13.01983807978049, - 7.7789583949391536, -7.7989618839443171, 2.5737045662046305, - -13.443327011814354, -10.710116060594849, -10.563787698873153, - -9.0325237664249336, -8.9417451798718943, -19.333428943078317, - 14.683782394656195, -8.0733543435216593, 10.754644346477024, - 7.7063042336814984, 7.1186808374245931, -3.9617268249118553, - -5.7198371921519167, 5.593318866773699, -7.2969156100159678, - -14.048944381672497, -10.062946047657139, -1.0260982646529979, - -14.827752195442853, -9.2383256700032188, 15.633286094075363, - -16.297177435658352, -0.64090358918251356, 16.682478300485606, - -11.380226570148189, -7.5596774165642087, -7.2154274871131481, - -7.1481514505268233, 8.5862772252140598, -11.750005376776613, - 12.960896281443684, 13.382912666258086, -1.5320372082264357, - -11.480485768573448, 4.604919918163711, -10.250884016863665, - 16.502161055342512, 10.03826905000834, -4.2314133540673815, - 6.914838473777273, 3.033372723351186, 15.789653601786865, - 7.7740184970045538, -13.16261088269184, 1.467484633609379, - 12.139927777657451, 7.3565534414936771, -16.102142555887689, - -6.7186090884258327, -5.0455349707069272, 11.98730746398549, - 10.256496746996197, -5.7536379862838647, -5.4682997322585303, - -8.6174488346296947, 4.9421612015014782, -3.6472328067701021, - -10.170655866613714, -8.731587322200923, -12.200853136951736, - -6.4324926421828801, 12.383600590018332, 4.7177953853422574, - -5.9611450690323569, -4.8404699641555782, 3.4274708633282907, - -15.369056504155758, -13.448819507894497, -6.9107211824606498, - 8.0113449069161451, -3.8973949861351929, 13.021049717764123, - -6.3796819058710641, 7.5454744658108392, -24.991261131460227, - -11.306957669810698, 9.9244994493158156, -15.552007939376315, - -11.499894592347063, 6.7321370932847282, -5.7172766786206735, - 13.927111999325204, 14.791062203179369, -10.463383452760558, - 10.636801153156807, -4.894683643621029, 8.4748218331335483, - 6.714189223798841, 9.4375736465144318, 12.487559872903708, - -6.0987096595648733, 8.3058734633496965, 4.1758106815531235, - -0.92420186594595199, -9.7108492563481441, -11.032513923038188, - 6.723487961222486, 6.6405389489355722, 11.70091305718748, - 4.2393067109120421, 8.1348475294426805, 13.323378479075469, - 8.7202362776180511, 4.4526705951643395, -9.5406850815782391, - 10.724131989567914, 3.8203055939862751, 5.655044851128495, - -16.307030842468919, -12.651665707248567, 10.335451776575519, - -11.543998335115962, -4.5894875308948739, -9.8049275923942005, - -3.1277981660548742, 10.521084419510812, 9.1581333155226226, - 13.912555752813075, 7.6645359315240986, 7.4281718483850714, - -12.884604059581001, -10.227449781754478, 6.6088359371651677, - -8.390397410570122, 1.7389657861698138, -9.733674950830439, - 5.6026920997089826, 8.6808454450852413, -6.0587915108669694, - 10.402906304509559, 3.573187038527244, 10.559282882232578, - -10.863413477205437, -4.7386233555213177, 9.4904722391068699, - 10.157539704403206, 2.8851592670612307, -8.3696995987232565, - 11.297835199084789, -1.8627636495095405, -7.1252169596821719, - 5.4278621558211784, -10.438886769424213, 11.047071633619222, - -6.5900981825814391, -10.337633941764059, 2.5282376470547079, - -9.6591177209883146, 12.449719103332304, 1.55178436617159, - 8.8699335446384353, 11.259696425771455, 6.7783986934617984, - -3.1793426009237473, -13.884272717050646, 6.6177054099083383, - 4.9754611216591851, -8.1416721021369884, 10.636889546477317, - 9.381740326488913, -13.207174194145681, 5.641084536081391, - 10.931097561358635, 2.6818980710602407, 6.6334459052688892, - 9.3510527294752901, -13.223477811560901, -16.02051667550996, - -5.7642227501143166, -7.8575844017704233, 8.5138065738662689, - 4.7241317174003958, -10.096994042501567, 12.438227764558155, - 2.7850508919916313, -7.2072251055036469, -2.6269452276287124, - -10.858511776465122, -9.382631273358955, 8.3283966460812575, - 9.2585435022023024, -7.4395391778349076, -15.083896521243371, - 16.802375383935249, -5.9975534292925188, -9.4765112294400247, - 12.157497196108473, 4.5160814688935869, -2.7728770210355993, - 2.9059766323671488, -5.4101491583069929, 8.8988634463609699, - -6.400827609041122, 5.3560360503868081, -8.7304511666720401, - -3.0755739720628865, -13.966358226924728, -6.7649639759434601, - -5.5456693899453127, 17.302274909990441, -7.4968096247971072, - 8.744509603950064, -10.794741197131442, -11.913516149338431, - -7.729522769816862, -7.4691133826775182, -6.5715478061064134, - -11.907691856087185, -0.20263423791519211, 8.7885430265334428, - -5.9130473048668284, -13.708290803401704, -13.78899848903613, - -15.209798120169717, -7.7253595989171355, 10.377128863501158, - 9.5577922484441498, -9.1170808303499999, -6.4012157193694925, - 6.0123229297351415, -3.8082896556779615, 14.084538271217655, - 7.736609816185922, -7.1200940445799343, -6.0420560567461363, - 6.7749183889388505, -6.7423962541293223, 11.698461510951111, - 12.488447340839436, -12.158335264443023, -11.337129599624449, - 4.6676968705568491, -12.701834709382553, -10.475346061527553, - 11.810486767960239, -9.6940285745916039, 2.4420600898797606, - -7.1590802169457932, 7.4477382756083328, -12.84581185975534, - 4.294724353933816, 4.7862471286393875, -5.1283227202624628, - -12.462450772792648, 5.8462045895795738, -2.3252078492902015, - 10.784106121114156, -8.9091597599913488, 7.8715048196179795, - -11.724382426901904, -9.8819847622548878, 5.5179135967036945, - 5.8170155199540101, 13.471313785889976, -15.525106358542637, - -10.787512021482629, -12.926571949496676, 0.64019471142609763, - 11.404282273170695, 9.9588402015625466, 12.047596212569777, - -9.4553988787340977, 8.1934695042991272, -9.2978201862150662, - -0.16338758265088724, -9.874707008213198, -15.74174394890615, - -6.2188307585781839, 6.8874774293005903, 9.063007022226051, - 12.224864329254553, 9.6788512147473025, 4.2394307617891345, - -10.591549936022522, 6.6238089274322478, 7.5643367406337223, - -8.9582742726253759, 12.967837079016467, 11.558303731051819, - 0.66328001774643597, 0.061562459877513763, -9.8220366611970817, - -8.6914608429229716, 2.0563987156423309, -12.681611400476225, - 1.3200230993063025, 14.397044749313597, -11.646369582297655, - 11.475601313196282, -9.6685410246039822, 13.178785331570431, - 9.3156729399597396, -8.2280610740799105, -5.8512271809845346, - -3.3513051394681299, -12.508309397943608, 4.3947576780553819, - -4.2609352469664099, -3.9364029654735142, -7.1257677022599761, - -4.749374408895342, -7.8617667438721872, -3.1064686101999062, - -3.7432869366585888, -4.8561219977586756, -5.4462675545135282, - -3.0540684154947613, -15.35711806555511, -11.536068537082535, - -4.7779544806256276, 1.5198489129897315, 2.2249257607654318, - -4.4269263183089862, 7.4355310535388179, 9.2780119576973981, - -10.652417931125679, -4.1778682483229783, -2.1566547856994727, - -11.795081921533383, 10.848372600114878, 10.325168705158157, - 6.3921784987473096, -3.4419598984874038, -8.0823946821166821, - -8.8829402292522772, -2.8818508823421793, 6.3006936576743202, - -18.0845485513623, -6.1046031768124465, -8.3535486208206997, - 9.9650967368521606, 16.34809005021857, -6.3719619154861631, - 6.6492139253615576, -2.2462433383876483, 12.414615001238596, - 9.9243080855013854, 6.5816151826391636, -15.916468641697799, - 15.719302793672236, 12.597035667242659, 7.9314977205991974, - -4.6176638133992505, 9.8340751357654508, -5.6666671493884282, - 16.964399126342375, -10.174033224406887, -6.9445510397424979, - -7.0003017483847918, -5.7816060099388684, -12.7380229338664, - 2.3874629194778292, -4.3315690351541818, 6.402268747442819, - -7.1986862442546862, 3.8230018987349692, -16.488657131909211, - -9.4628948760922604, -4.4930989787395363, 0.20228101276884691, - 7.9230990768569933, 4.0956585057697925, 2.935031122594181, - -6.6661480000167179, 2.1833750370684917, -13.862136299430089, - 7.2537537887085604, -9.7837110663390341, 8.6426502286738316, - 10.933145886680956, -11.848044341163014, 1.9015758573080708, - 7.8955654850233579, 14.087625811239143, 15.74368395360325, - 14.915952043583991, 2.4289544447309912, 10.938797000780177, - -0.48350975665915585, -6.0724283824951737, 12.43180188960436, - -17.027449220255846, 10.457087806200649, 11.834161047678036, - -11.574528168603067, -5.8443316647878172, -15.909297292636424, - 2.8661614976693999, 0.94537037187104889, -6.1321675750261466, - 3.5179605788203152, -13.650295745999149, -14.925340774935689, - 5.8996315469200731, -4.742895776593735, -12.78647038316033, - -8.7668312292356614, 3.2991120560668561, 16.649617394331742, - 12.078195842545881, 8.3422604344231779, 6.3829490997837528, - -16.259300428897792, -6.7370828126804438, -19.032060980450861, - 10.534387246647906, 15.112739135038019, 9.0482362921064681, - -10.686676579265459, 7.4266114954786726, 7.6415038124348245, - 0.0092345294467927729, 7.3107957428418979, -9.2074521242051137, - 13.337719418423028, 11.800206756300712, 6.4124926065359418, - -8.6909900143815833, 11.316987754233748, 19.639736933434676, - -3.484119576702398, 2.9928203525781334, -13.578916945190016, - -8.2764973238514497, 4.471627662727232, 14.082619508506047, - 12.174165038542485, -11.000581807612242, -16.079501874825326, - 0.70642865016413037, 15.746012766226523, -7.6161295955099675, - 8.117804816632642, 9.3568227935114798, -13.012224242904074, - 10.980884709953941, -10.668687925966264, 8.3605232827699503, - 19.58871502961652, 7.3537694624012788, 12.7200136615813, - -2.7781976528461332, -13.043003975732004, 13.14556253978828, - 11.936967872899929, 13.171819029461137, -7.9252087243269118, - 7.7003280461862138, -6.5060087655108747, -18.442930781768371, - 22.885163982319007, 6.583490491290247, -1.1514058151352935, - 10.669101185812385, -10.081271922767652, 13.414113164816222, - -10.06095242529296, 4.4368474047139586, -9.5133443219646434, - 6.2669708529045183, -9.611863292437766, -15.876098782760467, - 0.32220461814667717, -4.7036651574655473, 6.5207549195711563, - 5.0860839263292528, -12.612352596775924, 9.9738419686921542, - 0.9396778045330193, 10.651502808863189, -1.1105748484379481, - -9.0667683952063296, -3.7634192509691813, 8.1968711400693568, - 7.2005601582338032, 13.38536236818598, -7.2074952622871384, - -10.89721410521263, 5.8944483624519881, 4.1900839916018509, - 12.886068410456097, -7.6817739511773864, 6.2800076465595316, - -8.0059063646010156, 15.344612453245135, -10.986292543222252, - -7.7963115789804949, 15.616622818007777, 10.715195479472955, - -9.9059332996558478, 14.531108551785385, 8.0871721404149799, - 11.28807228436758, 7.2050553662162322, 1.8673686167182675, - 5.6379835308774515, 6.0070995688159945, 3.6718419825892781, - 10.273782222887936, -11.003276573222182, 10.86280826743919, - 4.8625050304430539, -6.8883036392210499, 9.4110700217989329, - 8.5907090738786351, -4.1816331667751721, -4.5065585714549732, - -11.851914290939416, -0.82661956749219301, -4.2729352395319262, - -12.00561858749291, 11.248537736997887, 5.9702468837958875, - -2.8246526750650882, 8.7625453187814948, -7.1602571689933585, - -12.354031243120836, 7.4186972352690956, -6.987904733680633, - -4.7802427263213847, -8.4594669364587052, 9.9074303226742551, - 3.806086639453103, 11.279747903383944, 17.081579765803436, - -9.3400423712763221, 3.1993990305779496, -11.821616914733911, - -13.221112615394405, -10.273658410670993, 11.172005145239616, - 9.0661355630755569, 9.2282171885349893, -10.23315808490522, - -8.7767507313040536, 11.658399522139373, 8.1253713837323716, - -6.0161671309769886, 16.112984014276019, -10.526568304448215, - 11.152848111157505, -8.924603008706157, 19.991244818943592, - 1.7502482049131347, 10.380462477594111, -12.601277391046924, - 2.2056591767324831, -11.208801676783557, -10.115502455925911, - 4.637267012273572, -4.3901359184650799, 6.4876168985133287, - -4.998151172316156, -10.216089377506956, 10.51595559197369, - 9.860423081769472, 2.0714834687695323, -8.4943703055745399, - 2.6716218493294384, -4.4936844031461796, 7.0630594165237257, - 11.626244158543082, 12.185499704257312, 14.474700254831625, - -8.0226618511897883, -7.0870692277314653, -1.1721939107905543, - 9.7010116241387543, -3.9275566558414692, -9.75092296492865, - -0.95638727648524069, 8.8537127253606389, -14.829180519689713, - 9.9027033868976222, 8.2208221244483237, -10.01770451901422, - -6.4871122747161722, 1.9748473784403351, -11.360816340237003, - -4.1135134538497162, -8.9279661633195779, -14.855403366544149, - 10.607559153322043, -11.932153415925857, 18.392309282429526, - -7.2895436119104833, 7.3649578192591916, -11.824321717922503, - 4.5048430891613203, -16.076657798411361, -10.123099989589955, - 4.6541470838769436, 14.693948982580077, 9.4260360038265905, - -6.5360788988808212, -12.279752881306212, 0.14329411518298504, - 15.277760011935301, 12.94645800633524, 9.0076074533198192, - 3.1698412352516221, 7.1781738715915795, 15.252388120172336, - -8.6205841782080128, 5.2369980810204497, -9.433249016049194, - 11.112523275262491, -5.6094286689251271, -5.0372463006239476, - -6.3399450364534582, 8.9510280620290601, 4.9779353674772384, - -12.848232188637104, -7.9494772442250223, 0.056481817566435569, - -1.0990377463926844, -8.778197904426678, 12.556996955893457, - -8.8110005063100054, -5.0471729352089545, -10.673361741004538, - -6.938427941848941, 8.599594025334758, -8.1348225722413492, - -13.541689542539737, -11.229036341770312, -22.614183167994018, - 12.576253012660271, 15.118290082755436, -9.2870046826546524, - 12.899455356719221, 13.243961159383248, 4.4575044249539246, - -13.064373901252422, -14.393244974865604, -7.5706760405997384, - 8.5444523394978518, 12.288833952178848, -2.5897476840629694, - -6.9298386101193596, 12.539861043573865, 11.593898741650712, - -7.3909737338763124, 4.2946927448293568, 7.508232545403895, - 8.5884600404407188, -7.3302711120767166, -11.033859476165276, - 7.3743897210913136, 12.286574554025389, -1.700095235673573, - -6.9072546333240732, -12.728102558911758, 6.4176904367705383, - 5.903830856246814, 9.2556056318797992, 11.125813908063282, - -10.011979772526844, 2.9405966507503511, 10.009962336069428, - -4.8607974702953536, 1.7471621272732738, 9.7439136565857378, - -0.66822435460540275, 18.464597991608112, -10.547977913897311, - -6.8357758325587907, 4.9415192092837481, -11.223685529550222, - 5.0739368213705465, -8.1592201290566155, 9.4541189767136888, - 6.856119326024217, -18.448536650094034, 11.582475715514898, - -10.178303201195758, 4.6276063705681079, -11.553748539540541, - 2.5523254456603865, 4.2384411617925624, 9.8680333748165499, - 8.1917716819138136, -10.850753257867975, 10.241807976913078, - 12.017255467195287, 7.7723650228628429, 5.9396282417311674, - -15.066965171524886, 9.4060341572848429, -4.4910564383161384, - -8.2147205547924216, 4.7023980767577918, 11.671098907901923, - 8.4913841414387878, 7.6416710694567156, 11.664303236292549, - -8.9493566205550099, -6.6393544707268033, 7.8628598936427894, - -8.5326569294992858, -2.0472135566402336, -11.584529863049369, - -13.765771105899878, -13.236687110141661, 7.7745678935906666, - 4.0644071666046333, -5.1127185876504511, 11.09916237943035, - -18.103923278917275, 2.5020372532682957, 8.1940521912528261, - 9.2210533248542514, -8.2947343120838326, -10.150302885063565, - -7.0933287260530955, 12.386066725557843, 9.4912773578087801, - 3.3565256628259474, 9.513448873526654, -9.5772677988882489, - -9.7173765268110159, -7.7871728659279844, -6.33770970174879, - 8.7446348550882131, -5.3074344597323737, 11.315880628341713, - -5.6257158464771564, 5.9792501423848678, -9.9591388238248939, - 10.547073748158361, -11.945860349110731, 9.8107678957781204, - 5.3625757170649493, -7.3961894867189759, 11.294547725442342, - -4.3290304291788617, -4.4072888651694688, -5.9735063255412655, - 6.3232368782780126, -10.734895281472282, -8.8246478451021009, - 8.3174800733332432, 10.666958445791396, 9.5832549522929806, - 9.6003700340562261, 13.330599293965252, -7.7659598115974093, - -8.4068157954698712, 6.7155631645630169, 10.951065869771208, - -9.843399692801551, 8.6950573645033593, -12.91546689382516, - -6.8284290555266072, 6.9679513402290612, 8.7517402592974953, - -9.7252558599188106, 4.4957279393577405, -3.0198719775413605, - -12.528522673998944, 12.791874350523511, -11.987866488473575, - -7.7731187084210358, 15.356748666493452, -7.4363704293344366, - 11.554365751821972, -13.691156388740444, -13.639104069640238, - 12.899745770415052, -12.477204336163956, -12.161571929011455, - -11.273422005627573, 20.710850070106048, 11.743681239843617, - 9.6151567581220565, 8.2992099468073608, 8.4619149441334685, - 8.8404977904969346, -10.918349909014658, -5.6517458894209422, - 8.6526147356508165, -14.290258838779266, 3.0318506448723244, - 3.6389793712730598, 13.887411508481932, -8.8335154477770956, - 6.1670460127122331, 13.208091864632017, 15.635505869782437, - -17.556690461708161, 12.400331386163444, 3.9778500015058431, - -8.2047500613887383, -5.2233512983007522, 4.0362277485067475, - 8.4751794582169477, -5.5914076527615748, -5.4777738529828426, - 11.821238725863337, -8.8900626961710341, -7.29974425683878, - -7.4473770624143274, -8.0512707557556205, 1.6226698981742598, - -15.433546932692904, -4.1071266269684763, -8.4263162579803996, - 9.0736808802899116, 6.0439240655594269, -9.6449191691164273, - 9.2360102991487718, 16.958973272151585, -11.584208891462776, - -8.5316628771682268, -10.964476795840529, 14.434155388768026, - -16.016018668782927, 12.499589449114831, 5.3431907633740403, - -13.783231585179763, 16.195154330455487, -6.4307912934527964, - 11.080799577011028, 6.5325130508365454, 12.802146321954664, - -7.6814813666878257, 6.1271513194854581, -6.9538126536653362, - -5.0690242209381475, -11.855544305317043, -5.1941087352434137, - 4.8945739632537482, 9.4974588137719405, 8.8718463435014332, - -0.47224465841085145, 3.9456702743066483, 12.491257904548593, - 3.9592076310204338, -5.0217678779827253, 6.3597443173631385, - -10.612846967410137, 14.31614300592712, 7.1411122329367416, - -11.762271600506461, 4.331988913082836, -15.437501431534956, - -4.6693242794521481, -12.698173054121195, 12.417434316925727, - 21.062913663865295, -3.5142449580964197, 1.3700514528580063, - 5.6243547407690206, -12.071365752103238, -1.1360048996995593, - -11.347850339525309, 10.833731442380101, 0.46134954632024316, - 10.720116067259271, 7.3904190673115604, 6.7696592500196058, - 10.652736359476924, -7.8165483190849638, 9.3865130951890841, - -0.34774522512587569, -4.0566753969719276, -4.3275806653874298, - -6.8638440461424404, -4.682521888031431, -8.2920976977163718, - -14.311445847621952, 13.976975120531808, -8.6098361017160663, - -12.114294053104134, 5.1005213815339383, -11.049107710762476, - -7.0863761770199494, -12.463614616712142, -9.7359303784027027, - -13.418212569071059, 5.7610447890373235, 15.56161888307617, - 7.0574421915141308, 7.1030986195714929, 11.300511268289812, - -7.2344128515783446, -11.13562468318859, -1.5760076318579441, - 1.2107880314559112, -8.7874657760578643, -8.8001022473565236, - 12.247082051858888, -9.8565622276713381, -3.0179931003584515, - -4.5978322515637293, -6.571180711121297, 2.500611207880274, - 0.84457801315975856, 6.4714616812285382, -18.464904505652935, - -4.3990010259668271, 4.1350410389687466, -10.462432926909633, - 6.2042736110931846, -3.8394082311505735, 8.5618068576083974, - -17.977066011411761, 11.022903239935964, -19.178990090912414, - -8.0470231091434652, 10.79648317128396, -13.096061841695322, - -5.6164196771432566, 0.78843332401436395, 13.7984392278555, - 7.6547594193414454, 7.5442903307994644, 12.66336251543067, - -9.9436379532267338, 8.3550537237332758, 10.82799568784589, - 12.384885746776661, 5.2191347513552007, 9.9942871944245102, - 12.958881973386022, 5.8450353998039759, 5.156985957036718, - 13.5582570732471, 10.34554494007787, -6.037237777176359, - -8.2731248141970166, -7.9895984943236309, -12.02375110577746, - 9.3728051686457299, 9.3911820274244171, 4.9339039982877528, - 12.302318980639923, -5.5266659866771741, -4.9613643934779441, - -11.294072601106434, 10.376229630289247, -8.2965871864098535, - 6.6836050094050048, 6.894916881498717, -15.288396395010784, - 9.0886752966827142, 7.439432773214512, -4.0410572378226171, - 8.9307473630506085, 9.0038835677978959, -10.459659023792348, - 8.8378541314937387, 10.339786491210649, -9.9890662163533968, - 7.9788596610503406, -10.765397845560441, 12.052911411023967, - 6.1067152607562258, -5.6066198973015737, 10.952942399934605, - 7.6432926714438914, 8.3014387807885619, -8.5639306175146341, - 5.1234913528982382, -9.7662598194835457, 6.1322495355624156, - -8.160368360432031, -15.309087302665159, -8.3419685644228121, - -5.2861952387314828, 5.7536255267894676, -12.714725164584957, - -16.125699441038968, -12.439064087815231, -9.1320304457996606, - 3.8603060490391887, -6.1338073713204455, -1.7222012329044754, - 8.5214199468265512, -8.9836162439198581, -11.816294225738464, - 4.2214300165680347, 10.919410045065687, -12.940481826969718, - 11.334503455702539, 1.0676110391325953, 7.0891161904485651, - 6.9961528158293813, 11.113742549839397, -14.034363540155118, - -2.534544404400672, 4.8188993072548705, -18.804376110412633, - -13.059868091828172, 2.8229971724161289, -9.6989297510369017, - 4.7326387912990509, 12.188026385951737, -11.467461248064906, - -14.073562498971903, -9.2196347513311832, 10.038208885426119, - -4.3813258723769009, -4.1241400929515137, 11.486725329451389, - 4.8628878289290549, -8.8001952481419785, -6.5888239970497349, - -9.7953285124389389, 4.2522039839409844, -13.459928721286854, - 4.8164035354744943, -15.811464084480162, -15.167000919853482, - 8.6050948989220277, 5.4097197830658672, -3.201067374137641, - 5.7304935157850272, -0.50989151426446222, -10.147545800700401, - 14.129098358281857, 6.7974337326702985, -11.157443424806557, - 5.4202945677131122, 6.2589729732564718, -8.100004693609538, - -8.7681862399603006, -8.6314112980872526, -3.9762886492900669, - 6.9078974491617418, -7.3105786438044316, -12.86172440009309, - -10.982888171052132, 11.138006586636338, -4.7087869570844818, - 6.0689150921803634, 6.1958655520184891, 14.665790446061886, - -21.756441569001307, -6.0112922694975106, -8.604883105861056, - 15.140407588256764, -7.0631519145705521, -15.024190589242993, - -23.18926715039116, 8.2311742508471983, -8.3904317018734034, - -9.8859430286919867, 5.9777560262912424, 4.489704569613985, - 9.9452514956755529, 9.5807589942228493, 9.5768073329005379, - -13.191427051485375, 8.6226588561737731, 2.398176437043392, - 8.3478860808676707, 16.691979667886184, 10.245192955959679, - -8.5601611176100771, -8.6435755556304308, 11.536812168223609, - -3.8011348079490959, -0.4154822840976809, 7.3530196404235948, - -6.2070213990800998, -3.3664554862576601, 1.9501048246997952, - 11.044948446517594, -9.1773178494438294, -9.8012555654706048, - 12.731258282570259, 7.4006494098682252, 8.8054756517321113, - -8.4864693790843759, -14.388354721820441, -3.2911084226653116, - 7.3278629195734881, -3.3628879633743507, -2.0906070586159164, - 8.7678659217554724, 1.2754529803697003, -10.171163782743935, - -8.6401640914138174, -15.570426156008278, -4.7735987049156741, - 6.2627274839799227, -8.902086558167035, 5.890113367738306, - -16.19738850063483, 12.494158748994153, 7.4515972260992802, - -11.368802405389724, 0.79949913059431887, 10.464954350908759, - 12.045093842059636, -6.2632239899779618, 9.3946694855915709, - 4.6796796423594591, 7.4573657480844915, -2.1730144122742283, - -10.441568309083868, -3.128467240255199, 2.6674648941331709, - -1.7628028131302032, -11.490305842901, -2.6052782471959244, - 9.1378585089733217, -8.3182391512182594, -6.0353916735033906, - -6.4946073399059889, 8.5262424287807921, 11.041008586867564, - 18.792916305706246, -5.4400449872596122, 4.7763430246707763, - 7.4793455477938471, -12.701581632451186, 7.3391248408947076, - -11.164236112983559, 9.4704084335423353, -10.054506153225052, - 14.297500013934522, -1.9132095626133094, 14.164236143735152, - -18.514789351038115, -10.538326608827228, 8.5742137931431603, - -18.159208758191326, 7.6116880222576011, 7.9413670120767224, - 9.047676658736421, 12.221156662181444, 7.0843147886392952, - 13.170456072797521, -10.632225390661356, -12.606230762028668, - -13.968700939920279, 0.90435763497244315, -4.1863354464526514, - -0.57860003934790516, -7.7068236480377168, -7.5458142157151684, - -15.760391765099628, 3.148710788422199, -8.571589030098103, - -6.1442268269653644, -5.5386008972836374, -13.583703624827324, - 12.571370461611423, -5.0037658066132318, 6.6729776513218466, - 6.2491302239836344, -13.868418916158106, 13.949814810808402, - 4.1350925641742018, 14.220597569700558, 7.8377637620610052, - 10.165620408810733, -6.7532907993950042, 4.3042646268926728, - 1.4896778697382114, 8.3496556534811361, -8.8688217756106855, - -4.1638250519443876, -10.45385832370283, -17.931254325719735, - 13.701501053759536, -9.4565546768244069, 1.3427226397103338, - -12.271188095378776, 10.368577567683388, 8.025638109861422, - -6.2074049810183825, -2.0991088194951866, -7.6695567427956011, - 11.150836440150584, -1.496263923503625, -18.494976331519254, - -4.2881609912726928, 12.980292811570745, -0.92488991150790378, - -4.6658341014288567, -2.8894649330160642, 4.254991528529442, - 6.433665878257556, 5.6179185883054492, 3.9771596771133968, - 15.121069471781597, 16.580045222011115, -9.566021123652547, - 11.967303334090824, 15.8257683504883, -12.810889692425972, - -3.458648034714614, 3.990823559676568, 4.9093618306644045, - -3.4096503299487577, 2.8468287182096539, 8.9865457241125046, - -6.6201701664235877, -14.013179729737548, 11.434571611598438, - 5.767464644498955, 9.3360216341670927, -11.330333170538852, - 2.9944289963307167, -11.076388371680537, -9.0625652353016406, - -12.834505378246872, -5.1884256791028482, 7.8120310086321405, - 10.177307965543681, -9.4195921379930319, 5.466041504061816, - -8.3541043828300516, 9.9136918737238453, 8.1033458202759867, - -6.7036770007249524, -8.1223318972882215, -8.2591262612141172, - -9.1232651727813856, -11.669246063763795, -0.030697844939840527, - 9.3789394813876008, -11.107031538341255, 7.288702786596331, - -4.6967946059755157, -1.5987277913422755, 11.510267151110476, - -15.34971763301391, 8.2159765211646274, 6.6883959862268858, - 13.179857051577731, 7.6088514551549089, 7.4989231135409131, - -1.7239395961308088, 1.4954887205231719, -9.8573207709532547, - 4.9542123592468155, -10.367910840496483, 5.7226061395590309, - 9.5446949280935716, -8.6942844135306796, 6.2929455305188577, - -6.7169960771850326, 19.637781323792851, -12.129044785216932, - -2.8881972324088676, 4.5724813224397796, -4.9563780171627787, - -8.8290411230288512, 2.163546702306324, -6.7813228130077352, - 4.7602245034138555, -8.4569684434378569, -2.6066149728226859, - 14.465681780446152, -7.4053864105652734, -9.8766495392168174, - -12.069651713077828, -11.042473697693975, 8.1529541863355082, - -9.631792308049631, -3.6472475127982888, 12.36876532086672, - 13.587811221658276, 6.0796488885118061, 1.1309707002276215, - 9.8361035439712978, -12.782363514428749, 14.877109246506274, - 8.9863394004114223, 3.7313973097701414, -8.8429365798088835, - 10.783409906469574, 5.4309225673390031, -6.2038249324134984, - -12.503772776539773, 5.2588713559908609, 8.0377625659349796, - -11.433112718999636, -2.3606577081546209, -0.51422838799139303, - 11.042048536456281, -8.9107584751200442, -11.636004759251062, - 12.663937409329666, -10.014401209989058, -8.0569057100231696, - -8.5006754476725348, -8.2061921877402746, 3.6065709585004733, - 0.73647938533134194, 1.8183486110849676, 5.4805296348307078, - -2.2813810755893615, -3.9153542826111902, 13.587948798210096, - 1.8068496248064898, 9.0325044536184134, 10.124444543125891, - 13.84809053563459, 15.565497107356785, 8.9751576152107209, - 9.3516719607931797, 3.6327626866158558, 11.760943102597267, - 5.0870266626202989, 5.674904060336968, 12.357086041091151, - 13.951717235903738, -19.310077284104022, 8.0053082251775685, - -4.297125648181531, -6.3260546204828696, 10.294877306501972, - 13.93365235676599, 13.141707549171858, -1.5568066615629472, - 8.2172142670253123, -7.8132836735117186, 8.8354487563578399, - 16.707153362143629, 4.5855551987365208, 12.223929231669286, - 14.863765072540376, -15.461542707954242, -2.3371697391419985, - -10.024175159008536, -11.737459729645774, -3.7329473123372199, - -3.0590377398467261, 13.143768419466609, 9.2038314945946311, - 3.521511313043765, -2.2535815241524322, 5.4844876358740011, - -10.004087991701629, 11.888560517692463, -4.6722624505292263, - 3.7082244357698078, 6.3751558628158023, 11.627185499278614, - 1.9289094882369002, -12.217802164142721, -7.6763956464968892, - 5.6910150189702744, -5.6417449295552817, 4.9980919736488802, - -9.0536429095706819, 9.6119351348702313, 2.4973962155691476, - -14.910998981505347, 4.1843311003165047, 5.9103254703115775, - -10.108868185667163, -10.968757232820812, -6.2351738311660236, - -5.4115373442221397, -5.1847401075738944, -17.223563033246595, - -13.214097072642032, -11.854105278464028, 12.414721845275727, - -6.2778430500337503, -10.885676169950498, 2.4563316506705526, - -8.7748279932902093, -5.7945746677684031, -5.8659162690750017, - -10.185454736539469, -12.259036348321617, -11.345440149075966, - 6.5815217034894982, -6.4191766201668736, -7.3487464338408746, - -0.40842055433143365, 10.921577631841934, -21.476071540546794, - -10.659396127407732, -9.7319013100865899, -12.054728330205412, - -10.865345038797253, 6.0360205068991064, 6.3343994011226927, - -7.1354597827181925, 3.1432134836509893, -2.4414855631776251, - 8.0775343816376086, 3.972870247588534, 1.9692418169429344, - 7.2828780139977134, -15.463562597421859, 10.173242967382789, - 15.083747077552808, -9.276641467191272, 7.7773515313362411, - 9.0385622964224765, 5.6887720196625535, -10.133807142620341, - -1.6437588724330709, -8.158553801413559, 10.446525293735167, - -11.433423238083284, 8.6648442034190918, 10.064106964518734, - -8.7075993351272132, -6.3080890103035614, 9.3898484683747458, - -4.3190925589260534, -19.328147731608361, -7.6126659646899917, - -11.705773894239984, 7.4600825708549596, -8.1116458562206901, - -16.039122843816592, -2.6608032342278891, -5.3302266349477829, - 7.386051049643469, 6.9792999266885793, -4.5182426093483645, - 15.20105997302613, 9.5925220650656087, -0.84758073759469377, - 4.5185848028718691, 5.6852984237201536, 8.9738282076193592, - -12.235502878115856, 6.6410806023610247, -8.5942670023877028, - -10.537735925654538, 7.1077614149638526, -6.4914995246164899, - 6.2433348879497554, -11.339739148237399, 17.070957256911349, - 2.8503359840349143, -0.58556596880585032, -8.6111923383904436, - -12.931731217434081, 6.4866696051548578}; -const char HRAa_1536_512_detected_data[] = { - 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, - 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, - 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, - 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, - 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, - 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, - 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, - 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, - 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, - 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, - 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, - 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, - 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, - 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, - 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, - 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, - 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, - 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, - 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, - 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, - 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, - 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, - 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, - 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, - 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, - 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, - 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, - 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, - 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, - 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, - 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, - 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, - 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, - 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, - 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, - 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, - 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, - 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, - 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, - 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, - 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, - 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, - 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, - 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, - 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, - 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, - 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, - 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, - 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, - 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, - 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, - 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, - 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, - 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, - 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, - 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, - 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, - 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, - 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, - 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, - 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, - 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, - 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, - 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, - 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, - 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, - 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, - 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, - 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/HRAa_1536_512.h b/vendor/codec2_flutter_ios_only/src/codec2/src/HRAa_1536_512.h deleted file mode 100644 index 7b0c58c..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/HRAa_1536_512.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - FILE....: HRAa_1536_512.h - - Static arrays for LDPC codec HRAa_1536_512, generated by ldpc_gen_c_h_file.m. -*/ - -#define HRAa_1536_512_NUMBERPARITYBITS 512 -#define HRAa_1536_512_MAX_ROW_WEIGHT 12 -#define HRAa_1536_512_CODELENGTH 2048 -#define HRAa_1536_512_NUMBERROWSHCOLS 1536 -#define HRAa_1536_512_MAX_COL_WEIGHT 4 -#define HRAa_1536_512_DEC_TYPE 0 -#define HRAa_1536_512_MAX_ITER 100 - -#include - -extern const uint16_t HRAa_1536_512_H_rows[]; -extern const uint16_t HRAa_1536_512_H_cols[]; -extern const float HRAa_1536_512_input[]; -extern const char HRAa_1536_512_detected_data[]; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/HRAb_396_504.c b/vendor/codec2_flutter_ios_only/src/codec2/src/HRAb_396_504.c deleted file mode 100644 index 9541fb4..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/HRAb_396_504.c +++ /dev/null @@ -1,476 +0,0 @@ -/* - FILE....: HRAb_396_504.c - - Static arrays for LDPC codec HRAb_396_504, generated by ldpc_gen_c_h_file.m. -*/ - -#include "HRAb_396_504.h" - -#include - -const uint16_t HRAb_396_504_H_rows[] = { - 10, 53, 56, 11, 21, 4, 12, 33, 41, 2, 19, 10, 20, 14, 61, - 31, 7, 24, 37, 5, 34, 13, 27, 59, 8, 26, 21, 5, 3, 26, - 1, 28, 4, 18, 16, 6, 15, 7, 24, 30, 17, 25, 10, 35, 61, - 6, 9, 64, 14, 2, 13, 28, 84, 1, 15, 20, 8, 64, 12, 27, - 11, 18, 22, 33, 5, 29, 19, 4, 3, 31, 23, 21, 35, 9, 34, - 6, 16, 28, 23, 14, 26, 10, 20, 8, 7, 17, 12, 24, 15, 18, - 33, 36, 21, 31, 29, 3, 25, 32, 5, 2, 13, 1, 19, 30, 4, - 27, 22, 11, 38, 129, 63, 46, 62, 19, 13, 44, 76, 117, 25, 75, - 63, 29, 65, 54, 23, 47, 144, 15, 39, 41, 42, 82, 36, 70, 67, - 58, 53, 89, 22, 72, 17, 45, 50, 9, 34, 41, 63, 40, 47, 55, - 48, 44, 64, 72, 19, 67, 57, 66, 54, 42, 143, 36, 43, 46, 52, - 108, 71, 49, 16, 39, 32, 38, 70, 62, 69, 26, 37, 55, 56, 50, - 58, 65, 56, 61, 67, 52, 53, 50, 48, 39, 59, 37, 47, 51, 63, - 70, 46, 60, 40, 71, 57, 72, 54, 68, 44, 42, 49, 45, 38, 64, - 43, 62, 66, 69, 55, 41, 64, 138, 115, 107, 81, 30, 39, 55, 91, - 155, 48, 87, 90, 49, 84, 98, 68, 64, 180, 32, 88, 108, 71, 111, - 86, 112, 73, 126, 90, 114, 57, 134, 52, 51, 73, 40, 59, 87, 86, - 90, 101, 68, 51, 102, 89, 85, 37, 124, 99, 75, 76, 95, 205, 48, - 77, 97, 73, 114, 98, 94, 45, 53, 58, 92, 80, 103, 100, 65, 93, - 105, 79, 91, 80, 79, 102, 75, 91, 96, 78, 90, 82, 97, 83, 108, - 89, 119, 85, 95, 105, 99, 103, 100, 93, 92, 86, 88, 76, 81, 104, - 94, 101, 87, 73, 106, 84, 74, 98, 77, 141, 149, 123, 214, 87, 64, - 45, 60, 114, 173, 103, 115, 102, 95, 88, 101, 93, 71, 188, 66, 175, - 136, 77, 170, 127, 126, 140, 135, 97, 117, 119, 149, 80, 96, 85, 110, - 78, 122, 105, 111, 121, 160, 81, 125, 131, 107, 60, 170, 151, 120, 109, - 133, 220, 96, 142, 98, 112, 123, 129, 157, 74, 85, 82, 113, 121, 144, - 139, 83, 139, 130, 117, 141, 133, 120, 136, 141, 132, 114, 143, 107, 123, - 131, 138, 122, 128, 147, 113, 111, 125, 126, 135, 134, 144, 140, 112, 109, - 142, 124, 137, 139, 130, 127, 115, 118, 121, 129, 110, 117, 215, 185, 179, - 261, 105, 94, 69, 158, 130, 210, 113, 132, 183, 148, 107, 133, 112, 74, - 280, 67, 176, 172, 78, 193, 141, 153, 146, 160, 156, 147, 132, 150, 100, - 168, 138, 161, 99, 176, 138, 192, 136, 186, 85, 167, 168, 118, 104, 200, - 215, 147, 161, 177, 244, 116, 165, 119, 210, 156, 132, 191, 106, 135, 115, - 180, 155, 163, 146, 178, 153, 166, 149, 175, 153, 155, 145, 169, 150, 179, - 165, 116, 158, 167, 176, 168, 146, 158, 178, 149, 154, 138, 166, 145, 152, - 161, 175, 148, 172, 156, 162, 177, 171, 157, 159, 164, 173, 203, 151, 180, - 257, 191, 231, 262, 139, 130, 124, 178, 165, 234, 170, 185, 237, 164, 114, - 143, 171, 80, 291, 122, 182, 204, 104, 242, 147, 154, 166, 183, 265, 187, - 159, 212, 152, 175, 189, 164, 158, 187, 143, 223, 142, 217, 140, 208, 209, - 154, 134, 252, 230, 196, 216, 182, 256, 150, 198, 137, 251, 166, 162, 197, - 113, 174, 128, 196, 212, 193, 189, 185, 190, 201, 181, 203, 215, 184, 205, - 189, 207, 196, 214, 174, 190, 199, 211, 201, 192, 181, 186, 210, 187, 163, - 213, 200, 216, 198, 185, 212, 188, 191, 204, 206, 183, 193, 209, 197, 195, - 224, 202, 208, 273, 218, 274, 294, 213, 163, 187, 248, 194, 235, 260, 200, - 248, 224, 137, 254, 222, 85, 292, 145, 190, 212, 131, 245, 159, 199, 181, - 258, 277, 206, 178, 219, 202, 184, 241, 205, 239, 260, 148, 271, 159, 263, - 152, 242, 250, 183, 151, 259, 246, 214, 225, 237, 272, 206, 213, 145, 255, - 199, 196, 228, 127, 188, 172, 222, 232, 226, 207, 238, 227, 224, 248, 233, - 247, 223, 245, 239, 250, 232, 252, 194, 233, 249, 219, 225, 242, 238, 240, - 226, 234, 170, 238, 210, 237, 230, 228, 243, 236, 231, 248, 221, 246, 218, - 229, 227, 217, 235, 222, 251, 277, 262, 299, 338, 246, 208, 220, 289, 291, - 276, 267, 233, 333, 307, 264, 288, 324, 92, 325, 169, 209, 233, 192, 275, - 160, 257, 247, 317, 359, 308, 194, 228, 244, 236, 272, 248, 273, 295, 184, - 315, 182, 339, 195, 268, 282, 243, 169, 300, 283, 265, 240, 258, 289, 245, - 218, 173, 297, 240, 236, 257, 171, 219, 230, 288, 254, 264, 231, 281, 287, - 277, 279, 303, 259, 286, 277, 279, 269, 261, 255, 220, 265, 283, 278, 276, - 281, 285, 268, 266, 282, 182, 244, 241, 254, 274, 256, 258, 264, 253, 287, - 270, 260, 267, 273, 262, 257, 288, 284, 275, 278, 276, 323, 347, 249, 266, - 232, 331, 366, 332, 304, 280, 347, 355, 268, 297, 327, 311, 345, 186, 221, - 279, 226, 283, 223, 310, 296, 348, 379, 316, 252, 229, 277, 273, 286, 319, - 305, 329, 235, 343, 307, 376, 251, 306, 323, 276, 275, 358, 318, 328, 269, - 319, 338, 274, 286, 280, 333, 262, 278, 314, 194, 256, 311, 302, 312, 327, - 261, 293, 322, 308, 284, 325, 292, 322, 302, 297, 299, 306, 290, 263, 312, - 311, 315, 317, 318, 304, 305, 289, 309, 280, 316, 271, 314, 313, 296, 303, - 320, 307, 298, 300, 319, 294, 308, 321, 323, 301, 291, 324, 328, 337, 362, - 385, 320, 310, 346, 344, 380, 349, 322, 369, 350, 367, 302, 358, 356, 316, - 368, 211, 301, 282, 302, 309, 284, 341, 306, 365, 382, 325, 253, 285, 313, - 281, 287, 351, 330, 364, 313, 368, 330, 377, 270, 334, 372, 331, 296, 365, - 346, 345, 309, 324, 341, 317, 298, 320, 342, 345, 310, 336, 249, 304, 333, - 352, 367, 349, 354, 294, 363, 335, 301, 340, 339, 327, 332, 350, 342, 344, - 329, 310, 338, 331, 354, 328, 351, 364, 325, 348, 353, 293, 340, 295, 343, - 355, 360, 326, 337, 341, 346, 352, 359, 335, 356, 357, 358, 334, 349, 330, - 347, 372, 381, 0, 336, 326, 383, 367, 392, 374, 386, 376, 353, 387, 378, - 0, 392, 342, 389, 255, 394, 314, 371, 361, 312, 377, 373, 384, 390, 339, - 315, 290, 352, 324, 321, 360, 396, 371, 344, 388, 347, 378, 356, 392, 384, - 389, 348, 390, 353, 387, 374, 337, 381, 350, 359, 362, 385, 375, 355, 361, - 382, 351, 360, 383, 391, 379, 369, 375, 370, 395, 357, 386, 379, 333, 387, - 390, 389, 377, 391, 365, 388, 386, 385, 396, 370, 382, 372, 376, 368, 336, - 371, 345, 362, 361, 395, 366, 393, 378, 392, 384, 394, 363, 380, 369, 383, - 381, 373, 375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 389, 0, - 393, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 391, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 366, 0, - 366, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0}; - -const uint16_t HRAb_396_504_H_cols[] = { - 31, 10, 29, 6, 20, 36, 17, 25, 36, 1, 4, 7, 7, 14, 20, - 35, 33, 34, 6, 13, 5, 31, 17, 18, 11, 26, 23, 32, 14, 6, - 16, 20, 8, 21, 44, 25, 19, 1, 7, 36, 9, 23, 55, 8, 7, - 4, 18, 11, 14, 35, 34, 33, 2, 16, 8, 3, 31, 28, 24, 8, - 15, 5, 3, 1, 15, 20, 20, 17, 7, 26, 18, 32, 27, 18, 12, - 9, 23, 23, 71, 18, 5, 24, 68, 15, 18, 25, 5, 15, 30, 13, - 9, 18, 17, 6, 14, 34, 29, 16, 37, 33, 16, 13, 11, 23, 5, - 61, 4, 22, 51, 36, 24, 17, 11, 9, 3, 54, 10, 46, 31, 50, - 41, 20, 3, 7, 44, 26, 25, 63, 2, 6, 23, 12, 16, 32, 28, - 22, 15, 2, 5, 27, 1, 41, 16, 19, 20, 27, 25, 14, 2, 32, - 47, 33, 26, 26, 10, 29, 60, 8, 25, 25, 36, 59, 6, 14, 9, - 27, 44, 34, 20, 11, 17, 22, 10, 62, 21, 21, 52, 8, 3, 19, - 27, 21, 13, 34, 2, 20, 7, 19, 35, 21, 2, 23, 24, 9, 43, - 50, 60, 55, 26, 12, 70, 33, 72, 22, 36, 30, 67, 6, 21, 10, - 20, 22, 5, 4, 1, 51, 42, 2, 32, 7, 21, 17, 25, 14, 51, - 23, 69, 32, 32, 49, 3, 7, 12, 10, 10, 34, 13, 68, 37, 51, - 35, 24, 46, 33, 24, 5, 27, 8, 5, 45, 43, 31, 31, 16, 20, - 53, 1, 28, 48, 11, 4, 2, 42, 15, 29, 6, 11, 15, 51, 43, - 40, 35, 1, 3, 24, 2, 1, 1, 22, 12, 34, 22, 24, 25, 32, - 35, 35, 16, 8, 32, 9, 19, 68, 4, 38, 27, 16, 55, 3, 48, - 21, 15, 72, 11, 37, 27, 14, 30, 24, 6, 18, 25, 33, 22, 31, - 18, 28, 49, 36, 5, 35, 11, 3, 17, 19, 6, 17, 1, 38, 37, - 8, 10, 13, 44, 70, 5, 2, 4, 30, 72, 26, 18, 40, 8, 19, - 7, 1, 28, 10, 13, 36, 33, 13, 67, 14, 17, 71, 16, 29, 36, - 24, 3, 69, 38, 28, 9, 8, 19, 12, 69, 23, 2, 27, 10, 58, - 12, 26, 15, 29, 9, 3, 29, 7, 28, 4, 11, 14, 40, 11, 29, - 27, 9, 13, 21, 70, 37, 54, 50, 69, 33, 28, 46, 38, 57, 47, - 12, 61, 59, 22, 49, 37, 61, 41, 62, 11, 56, 27, 63, 71, 39, - 42, 30, 60, 52, 66, 40, 70, 63, 64, 37, 73, 54, 47, 64, 21, - 40, 22, 52, 103, 44, 34, 56, 41, 43, 60, 72, 43, 57, 29, 51, - 42, 71, 49, 63, 37, 47, 45, 66, 13, 6, 68, 50, 27, 42, 67, - 65, 23, 46, 35, 61, 50, 51, 55, 37, 74, 33, 43, 63, 83, 53, - 35, 39, 12, 21, 45, 29, 72, 64, 69, 60, 52, 54, 56, 56, 49, - 67, 41, 44, 66, 47, 39, 104, 15, 58, 96, 107, 40, 26, 61, 15, - 12, 80, 30, 104, 56, 74, 65, 38, 58, 48, 89, 28, 61, 85, 59, - 9, 45, 31, 52, 47, 62, 41, 56, 35, 67, 43, 25, 55, 39, 66, - 56, 67, 30, 39, 32, 54, 49, 43, 69, 46, 65, 58, 102, 37, 31, - 28, 51, 99, 66, 36, 55, 58, 82, 45, 47, 24, 61, 63, 56, 80, - 34, 38, 100, 31, 78, 64, 71, 41, 28, 39, 12, 42, 30, 62, 67, - 69, 60, 40, 66, 31, 105, 59, 104, 94, 58, 48, 84, 107, 106, 99, - 53, 54, 77, 44, 45, 57, 83, 32, 55, 50, 49, 93, 105, 55, 62, - 53, 100, 64, 40, 70, 84, 66, 104, 60, 103, 63, 67, 65, 22, 89, - 39, 59, 52, 86, 76, 58, 92, 44, 96, 53, 54, 49, 73, 13, 61, - 77, 57, 48, 98, 65, 57, 62, 26, 52, 73, 38, 67, 4, 80, 66, - 50, 88, 102, 44, 77, 100, 92, 53, 34, 54, 47, 10, 29, 59, 71, - 19, 68, 45, 49, 71, 86, 55, 69, 64, 53, 79, 19, 73, 90, 68, - 92, 47, 57, 99, 77, 100, 71, 23, 96, 62, 87, 44, 41, 70, 51, - 26, 63, 65, 39, 60, 40, 30, 54, 85, 52, 56, 104, 69, 45, 34, - 30, 96, 66, 50, 79, 41, 46, 75, 57, 106, 102, 60, 52, 53, 42, - 91, 53, 57, 93, 39, 50, 49, 4, 47, 66, 54, 62, 64, 49, 83, - 59, 43, 104, 48, 55, 63, 60, 56, 102, 86, 48, 41, 14, 40, 67, - 85, 38, 45, 107, 51, 68, 42, 42, 42, 66, 103, 53, 61, 64, 45, - 57, 72, 50, 81, 19, 48, 65, 17, 97, 101, 95, 84, 102, 100, 96, - 68, 65, 76, 85, 84, 74, 43, 108, 87, 51, 80, 55, 77, 86, 90, - 47, 83, 72, 107, 79, 88, 97, 68, 106, 78, 95, 104, 94, 98, 91, - 75, 0, 92, 69, 101, 62, 91, 38, 98, 0, 97, 61, 89, 85, 54, - 99, 80, 86, 78, 62, 95, 70, 75, 93, 73, 83, 90, 76, 104, 39, - 18, 74, 105, 48, 96, 106, 88, 59, 94, 57, 106, 76, 97, 108, 79, - 0, 65, 98, 81, 0, 105, 43, 95, 38, 96, 85, 40, 77, 94, 93, - 100, 88, 78, 82, 59, 90, 92, 101, 75, 91, 99, 70, 0, 46, 84, - 0, 0, 88, 57, 64, 30, 63, 0, 71, 0, 86, 0, 105, 84, 81, - 98, 0, 90, 102, 0, 106, 70, 82, 59, 73, 92, 91, 75, 99, 39, - 69, 94, 72, 97, 53, 93, 75, 85, 50, 96, 71, 77, 107, 93, 73, - 89, 74, 98, 0, 81, 41, 42, 94, 0, 90, 104, 79, 70, 0, 84, - 76, 48, 101, 97, 105, 0, 72, 83, 0, 68, 0, 108, 86, 52, 46, - 74, 68, 87, 38, 97, 76, 81, 98, 85, 102, 61, 0, 64, 0, 0, - 82, 92, 0, 0, 0, 0, 75, 100, 0, 108, 103, 88, 0, 65, 91, - 79, 73, 0, 0, 102, 83, 80, 0, 107, 74, 106, 0, 88, 0, 95, - 0, 94, 98, 78, 72, 0, 106, 97, 93, 91, 0, 87, 0, 85, 0, - 91, 75, 101, 0, 36, 82, 0, 108, 79, 0, 93, 79, 95, 60, 96, - 0, 101, 78, 58, 0, 97, 81, 0, 0, 87, 0, 0, 0, 0, 37, - 94, 108, 46, 33, 83, 76, 56, 85, 89, 82, 107, 0, 74, 99, 106, - 88, 0, 107, 0, 0, 102, 0, 95, 76, 0, 0, 0, 106, 64, 0, - 86, 0, 78, 98, 103, 89, 59, 82, 81, 94, 93, 83, 91, 84, 0, - 101, 97, 0, 74, 105, 52, 72, 0, 74, 84, 0, 108, 82, 0, 63, - 0, 0, 90, 97, 81, 73, 0, 98, 77, 0, 78, 58, 99, 13, 88, - 107, 76, 85, 100, 89, 0, 94, 103, 0, 105, 101, 95, 94, 93, 0, - 0, 80, 43, 65, 89, 104, 0, 91, 87, 0, 0, 108, 88, 78, 98, - 73, 0, 106, 86, 105, 100, 83, 82, 75, 0, 46, 76, 79, 44, 0, - 0, 0, 0, 0, 0, 0, 105, 99, 0, 0, 0, 0, 82, 0, 0, - 101, 0, 89, 0, 0, 0, 67, 0, 93, 0, 0, 0, 0, 81, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 84, 0, 82, 0, 108, 0, - 0, 0, 100, 0, 0, 81, 0, 0, 0, 0, 79, 0, 107, 0, 0, - 0, 0, 0, 0, 0, 87, 45, 0, 0, 77, 0, 0, 0, 92, 0, - 103, 0, 0, 0, 0, 0, 0, 73, 0, 0, 0, 0, 46, 0, 102, - 0, 0, 80, 0, 0, 0, 0, 0, 0, 0, 107, 0, 0, 0, 0, - 0, 0, 89, 0, 80, 0, 0, 0, 0, 95, 87, 58, 103, 0, 108, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 101, 0, 77, - 0, 0, 0, 0, 0, 83, 100, 0, 76, 0, 79, 0, 92, 0, 86, - 0, 88, 0, 0, 0, 0, 0, 0, 0, 0, 86, 103, 0, 0, 0, - 0, 0, 0, 91, 0, 0, 0, 90, 0, 0, 0, 0, 95, 0, 0, - 87, 0, 0, 0, 90, 101, 0, 95, 0, 89, 0, 0, 0, 0, 0, - 0, 80, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 92, 0, 96, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 81, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 71, 0, 0, 0, 0, - 0, 0, 0, 0, 105, 0, 0, 0, 0, 104, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 103, 0, 0, 84, 70, 0, 0, 90, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 75, 0, 0, 0, 0, 0, 0, 0, 80, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 87, 0, 0, - 0, 0, 0, 0, 0, 74, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 92, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 96, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 77, 0, 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 78, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 87, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 102, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; -const float HRAb_396_504_input[] = { - -12.781911708775533, 7.551155800725204, -11.899607043049681, - 17.477156604046595, -13.803361319809902, 6.2002990057867589, - -15.169569280110601, -17.341522766496183, 9.7107774319996505, - 16.641703452581407, 8.4284168541090221, -11.930717934789106, - -4.4208828355542424, -1.139969227664315, 17.673081687318597, - 16.121750517979301, 3.6219051813553182, -20.05687038213798, - -6.5018436610168866, 10.791743071707945, -8.0445304197245111, - -8.3324911789627567, 11.41120852689847, -11.282456703274443, - -9.2866085578109647, 9.9469665371993603, 15.140667602380192, - 3.4450775767841488, 0.64231692247845451, 8.0801244936842966, - 5.4636814535382374, -5.0107553707349375, 7.864699294226007, - -10.386130310145816, -12.37983397229897, -14.572379771221275, - -16.054735647120321, -11.263149256634462, 14.219711467898444, - -9.2719771070008434, 8.3099403015379476, -10.148895658714522, - 14.726350071572289, -6.8215748913296936, -7.3601951789355757, - -15.40290283113702, -11.244311800452268, -7.9961343172040795, - 5.1368563973467962, 9.5164063035654909, 8.4155629108106549, - 16.014525967886211, 1.699070391185594, 9.954286029615325, - 7.6585573567939873, 7.9223054149290961, 7.9198517179714161, - 10.631081381345467, 3.2596035260666651, -4.6015483371596497, - -9.3597887942885531, 7.6740974245989673, -16.604278204111164, - -9.8303898312522513, 1.1205811253439053, 8.119179250191868, - 9.5880695910130243, 8.2874878418366773, 6.0797980497495772, - -12.937113562007257, -3.1974528849557156, 13.246273287806673, - 11.66494172835136, -12.103215889657571, 16.688894677207085, - 2.257955028557403, -8.5424956390175151, 12.497318796297906, - -9.0900910972806521, 8.2209514183928061, 5.7402258284777101, - -20.747034176270887, 3.5631050854868058, 10.395770683064073, - -9.868223944850401, -8.6550086233418142, 3.8407639306907768, - 11.327546861735177, 13.015569340310336, 25.712163835177048, - 13.268816328384831, 4.6584774592149962, -13.317349857427834, - 9.5406654991490569, 17.049953586489877, -4.0111152401055641, - -11.693122827989608, 7.5370223906338998, 11.277949854414416, - -11.498659185019621, 9.549753443463084, -12.055250773523783, - -10.739286977821905, 14.136269830595458, -7.782253905067039, - 4.9092522955317381, -10.465638951656203, -8.0435611797655167, - -6.8433147729593813, -9.0439724403972992, 4.3359408282633236, - 11.715689661715617, 19.611494165878462, 7.9190285414926178, - -3.4982694249277611, -12.338256249127136, 9.8421320440049662, - 4.1138225682471781, 6.4942182289542236, 5.2066961739124622, - -9.7070041876701811, -9.1496153713901478, -11.724529081464583, - -9.3603341476943687, -5.2966983729936237, -13.015748591796211, - -3.8567718830575424, 10.135559234020649, 8.7124846719285305, - 15.56420640265349, 11.252060195029108, -5.0089167203318068, - 4.8507161178807445, 18.024720595741002, 17.065315044907795, - -7.1935844977610666, 4.4815982827009275, -11.880975891281834, - -12.172241984932276, 1.5152035384857121, 17.946629562223141, - 5.5052899404780824, -13.120278899383999, 10.648236401527056, - -14.506377227430642, -10.143170277861179, 14.044470462529238, - -9.2254356225576046, -8.8348967562869412, -4.9590358444858067, - 9.0535343466316753, 10.897394405658892, 14.0281876034117, - 11.255519350361872, -13.859106646040908, 6.4504642887424621, - 11.777861578819222, -11.639709904108361, -14.642162922529135, - -14.4258126604062, 13.682206617896547, 11.95057687459364, - -8.3091459570180035, 10.93961990916042, -11.907964651381601, - 12.516150502079761, -13.04991156095979, 14.145576472835312, - 10.632785447350683, 12.081094158208353, -6.8485025555270633, - -7.6927274273100101, 9.6552183508541098, -8.5591832251882316, - 15.638135027982772, 11.926988474833571, -14.987130306515169, - 14.812479105542307, -11.914804743109391, 15.824256001061817, - -8.5851098252378435, -13.901610955497368, 14.188963140600226, - 6.811888787586982, 1.6003053019945943, 19.325203560888092, - -13.704678587213907, 0.31402694199929804, 15.989943699374408, - 6.0088299172857802, -16.886144255198669, 10.998325725589428, - -8.2882779267894371, 2.6453088627011274, 10.412577554382436, - -14.426316461418969, 8.1138928008495217, -1.3343532339748365, - -20.340051195431247, -8.147129300539568, -2.9761356060569728, - -10.375141176280817, -3.492207168269704, 7.9187407777624479, - 13.120922417727103, -13.038589243192815, -5.2220329986414589, - -15.490400289338059, 17.189589889777995, -7.0721481714310892, - 12.581795403076717, 13.235922100360186, -14.068623066472972, - 10.590824537759135, -15.881395141726383, -10.457045553712261, - -9.8661324776225801, 4.734922703000958, 15.360039696456523, - -3.6427404709897195, 12.283954090395133, -10.580773927999571, - 0.82767864919701561, -19.322191171106951, -2.4440165020607636, - 7.3561450067817269, 8.734912251555226, -10.1437777971503, - 11.586163919375755, -15.408234206400728, -13.870410556862536, - -16.459582947709787, -6.3237526923701468, 11.608212905773328, - 5.6613158220955073, -11.774245858420727, 3.9445738850991399, - 11.580625563882155, 4.8206111058017749, 9.1501633745566071, - -7.8619603245069358, -10.01135725687336, 13.093956991526415, - -16.457925498763061, 8.7995448079979344, -6.8693123471950814, - 2.7230849761708642, 14.798365672787927, 5.3137203364492533, - 12.867351465034174, 15.542257577290705, 10.701888362195504, - -12.387250136917784, -7.2295230408544304, 9.6964847959436913, - -9.0249610457078298, -6.1083927724817624, 10.739040854096423, - 10.841475540702188, -11.378611500586242, 15.703248605756047, - 3.4356087856986508, 9.107640628528733, -10.389742419200251, - -13.652754262528372, -8.7325864940958979, -4.1006685083845982, - 12.419068901103934, 18.740969634501024, -7.2686574148980894, - 15.57081866775636, 7.8740814697714061, -5.3846084718512941, - 10.477115100800031, -18.872361222343329, 6.1039069136118798, - 17.308178559392783, -7.4815794858402631, -8.6125141656077062, - 8.9583151933398391, 15.414391681552324, 11.050241874455013, - -12.807870031579375, 9.0363612736996224, 15.816822937315944, - 7.8444181915777751, 9.1766300505397727, 14.827248874904317, - 10.059358980544847, 8.1004443450218631, -9.9138353480289823, - -12.69584064620971, -1.2480517929964754, 4.9462685565954452, - -11.001361577099411, -14.645415102047146, -8.290528664203066, - -6.5125802605593295, -9.2390284023464098, -9.6219279810207716, - -2.4663308852408137, 7.9284843220778702, -10.739866570047806, - 6.0027860732461509, 6.1871445421636109, -7.2396227218981295, - -16.909239064069116, 8.0605318273056952, -13.18199180405694, - 11.423481528527208, 6.103394660237238, 11.02891865005909, - -9.0418767418601025, -12.498971584987439, 20.946414970644234, - 24.362523031251186, 4.928071385179801, -9.8370658808205729, - 14.539073682029368, 1.2645116781629737, 14.426946417515435, - 10.026504861776269, 10.448998607938103, 10.006313240241793, - 11.891150094820924, 8.8375576186697344, 8.5771389584190558, - -15.536407780091233, 13.349864120336063, -11.927556110752052, - 16.068268030243942, 18.193338642202377, -11.869068102320544, - 13.808406661021646, 11.216260613445977, -15.515968362285809, - -14.909791180531339, -10.071410710917538, -5.5399590746720264, - -14.934775635718978, 14.30539374658337, 7.3819695117708113, - 7.7868368821638674, 15.432743081832081, -2.5950994414982973, - -12.476581448977271, -1.6564415840602271, -10.295779594978484, - 4.7085935460142574, 12.24789018308865, 16.925819961116584, - -18.384663719107415, -14.057276635303813, -5.8146990314358709, - 6.5631719088139118, 12.127149794502795, -15.739169438478982, - 7.8271230641312846, -5.9606533200021854, 9.8721062001112347, - 10.486834679901543, 6.3494439660436246, 9.9429692254989686, - 19.542594690444115, 4.5180797153308676, -19.1566652225201, - 15.006372860965323, -15.300035248621157, 9.7589319143789801, - -4.7363679865964263, 5.3999824517855961, 8.0578934432355496, - -19.385015013376869, -14.161802280526608, -12.881654979775632, - -12.049094820078055, -5.3829315859449007, -7.3537414475927241, - 6.844714008315254, -10.931623197527411, -10.939763582880817, - -13.62500540625687, 20.49307277175809, 10.365734953239752, - 4.0663542658207543, 15.929076113588478, -10.288951069929114, - 7.8742158721474977, -1.422979120612724, -14.104879669064141, - -4.55280623980281, -8.1653075636365458, 14.147963542838651, - -13.933332225643916, 14.226165096278136, -13.375191283046002, - 9.2088912804672614, 10.933675274282887, -9.9392697991816448, - -16.955582876153894, -11.85793097786863, 5.8569767257292948, - 6.6660744272807806, -4.6888969930553994, 20.646624453011015, - -1.2485466035357267, 6.7572930222337293, -11.830468070632643, - 12.387424895419418, -18.508514302306494, -15.324824129201243, - 5.0862404533417127, -5.2707864200417625, -14.224777968048254, - 7.6291208613793344, 5.0046921384732324, 7.9969106436802599, - -14.577995568165489, 8.1080228274897834, 12.603861058845251, - 11.220434316666585, -5.7247050938128154, 11.912056122344682, - 0.10886944478234604, 9.3619646262630898, -7.7302663627879742, - 14.530248266518536, -15.658478259515816, -1.2907403171529221, - -6.3207955318188116, 15.484693780278064, 12.036254202990973, - 4.6560888684896602, 7.678255286975908, 9.4289524624102352, - 11.319695981517606, -5.4092744871032599, 6.6896098743454493, - 2.1792109184280051, -11.081376849744698, -10.411817839842012, - 11.057139193661996, 10.674844657971892, -7.611917928843007, - -7.7114315734656405, -10.25566388330579, -9.5816821583841509, - -3.8229805246413409, -9.4360724513005252, 8.5081398584333474, - 12.93470424207193, -12.400231194882618, -9.4258414862069788, - 21.836201624323113, 9.6722027120607468, -11.684243881860825, - 11.18326004371732, 9.8228033099036569, -1.6298761838573241, - -14.006557406509664, 3.2619201008452663, 3.9694393534038981, - -8.8928237386570181, 6.2844903665726015, -4.7494171442219395, - 5.9437023484394249, 13.979025508842865, -14.044878091079713, - -4.9661838171055548, 7.6707889728317591, -4.2457033821315688, - -1.3421305197348499, 4.9933591178833261, 1.5425117319878872, - -17.930315353239411, 12.197719685382262, -5.947358941151732, - -12.904626563212007, 6.1763577253014788, 16.076852398625185, - 8.2709163525181015, -15.422610935202506, 10.890948687642558, - -9.9461592598413802, 6.34551493463914, -15.578427358705113, - 15.918090853090177, 9.9516599357932982, -3.9346680898413688, - 5.3410774271588748, 11.920077938590593, -2.4538357241090294, - -11.163446342656663, -10.488287129167166, -12.749714598521885, - 5.4035140611182522, -7.3998902697733975, 8.1911994226222173, - -6.178143732667059, 7.1909081188653348, -16.467787621055525, - 7.5865191569782464, 15.269036731801625, -8.469922589870114}; -const char HRAb_396_504_detected_data[] = { - 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, - 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, - 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, - 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, - 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, - 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, - 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, - 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, - 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, - 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, - 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, - 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, - 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, - 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, - 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, - 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, - 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/HRAb_396_504.h b/vendor/codec2_flutter_ios_only/src/codec2/src/HRAb_396_504.h deleted file mode 100644 index 36eb5e2..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/HRAb_396_504.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - FILE....: HRAb_396_504.h - - Static arrays for LDPC codec HRAb_396_504, generated by ldpc_gen_c_h_file.m. -*/ - -#define HRAb_396_504_NUMBERPARITYBITS 108 -#define HRAb_396_504_MAX_ROW_WEIGHT 12 -#define HRAb_396_504_CODELENGTH 504 -#define HRAb_396_504_NUMBERROWSHCOLS 396 -#define HRAb_396_504_MAX_COL_WEIGHT 7 -#define HRAb_396_504_DEC_TYPE 0 -#define HRAb_396_504_MAX_ITER 100 - -#include - -extern const uint16_t HRAb_396_504_H_rows[]; -extern const uint16_t HRAb_396_504_H_cols[]; -extern const float HRAb_396_504_input[]; -extern const char HRAb_396_504_detected_data[]; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_1024_2048_4f.c b/vendor/codec2_flutter_ios_only/src/codec2/src/H_1024_2048_4f.c deleted file mode 100644 index fc0f7a8..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_1024_2048_4f.c +++ /dev/null @@ -1,5645 +0,0 @@ -/* - FILE....: H_1024_2048_4f.c - - Static arrays for LDPC codec H_1024_2048_4f, generated by ldpc_gen_c_h_file.m. -*/ - -#include "H_1024_2048_4f.h" - -#include - -const uint16_t H_1024_2048_4f_H_rows[] = { - 16, 7, 138, 40, 212, 23, 7, 53, 14, 43, 2, 74, - 7, 107, 74, 14, 38, 190, 13, 114, 157, 38, 223, 64, - 43, 26, 64, 52, 15, 71, 26, 20, 15, 213, 114, 154, - 2, 55, 39, 165, 14, 133, 96, 5, 9, 13, 54, 105, - 30, 8, 17, 100, 25, 20, 95, 18, 46, 6, 36, 95, - 563, 32, 80, 141, 89, 58, 24, 7, 143, 83, 140, 12, - 94, 52, 202, 9, 22, 30, 52, 61, 11, 32, 34, 153, - 13, 120, 36, 204, 72, 332, 42, 59, 91, 4, 74, 28, - 12, 145, 24, 60, 26, 13, 116, 48, 42, 34, 29, 14, - 6, 2, 226, 72, 124, 23, 76, 177, 132, 12, 177, 13, - 126, 68, 388, 35, 1, 5, 40, 14, 45, 17, 10, 76, - 34, 186, 44, 97, 6, 119, 59, 9, 39, 125, 59, 79, - 102, 42, 5, 58, 66, 1, 35, 165, 154, 71, 218, 91, - 11, 13, 8, 141, 126, 63, 58, 11, 8, 201, 96, 17, - 40, 81, 35, 78, 94, 107, 143, 201, 40, 4, 217, 1, - 110, 124, 49, 222, 121, 41, 52, 85, 157, 5, 93, 83, - 84, 81, 34, 33, 63, 193, 43, 27, 70, 12, 97, 149, - 12, 79, 17, 27, 57, 34, 18, 130, 25, 26, 91, 3, - 59, 60, 74, 6, 14, 70, 67, 204, 10, 51, 31, 56, - 104, 50, 72, 196, 18, 83, 69, 11, 15, 12, 92, 103, - 215, 108, 84, 39, 67, 55, 16, 36, 158, 90, 100, 127, - 206, 31, 77, 122, 183, 26, 36, 22, 114, 81, 46, 12, - 118, 22, 61, 160, 129, 53, 191, 2, 21, 56, 130, 2, - 12, 16, 74, 56, 36, 169, 41, 61, 16, 73, 2, 56, - 31, 25, 169, 8, 159, 62, 82, 217, 9, 29, 61, 27, - 39, 43, 135, 24, 18, 221, 5, 83, 112, 184, 19, 16, - 9, 7, 66, 32, 1, 28, 95, 84, 14, 86, 71, 132, - 3, 35, 58, 26, 45, 131, 10, 27, 21, 16, 68, 41, - 3, 48, 20, 28, 68, 87, 22, 39, 20, 123, 46, 33, - 15, 165, 205, 55, 34, 139, 114, 79, 75, 90, 129, 10, - 12, 38, 20, 158, 4, 71, 20, 32, 46, 121, 4, 12, - 33, 41, 6, 135, 25, 27, 45, 95, 141, 29, 6, 80, - 116, 5, 138, 47, 110, 90, 44, 4, 19, 10, 55, 32, - 45, 111, 60, 121, 32, 164, 66, 23, 4, 25, 167, 217, - 119, 141, 49, 40, 124, 52, 27, 54, 15, 39, 48, 5, - 107, 69, 10, 65, 32, 59, 33, 13, 26, 225, 11, 13, - 23, 211, 24, 18, 81, 108, 81, 179, 100, 1, 135, 12, - 32, 90, 64, 12, 35, 80, 48, 17, 46, 67, 66, 20, - 8, 237, 63, 75, 102, 50, 83, 230, 45, 142, 75, 20, - 59, 7, 10, 89, 106, 207, 69, 41, 197, 122, 1, 26, - 109, 2, 145, 153, 166, 39, 71, 17, 144, 13, 9, 147, - 20, 99, 12, 4, 43, 57, 157, 1, 88, 150, 91, 3, - 11, 70, 123, 176, 3, 6, 39, 21, 30, 43, 10, 19, - 68, 1, 70, 45, 167, 83, 116, 57, 34, 7, 51, 71, - 70, 66, 49, 10, 117, 66, 38, 7, 9, 19, 39, 44, - 58, 369, 21, 135, 7, 13, 123, 7, 60, 104, 65, 8, - 101, 142, 105, 35, 48, 28, 22, 139, 151, 27, 436, 37, - 89, 230, 92, 36, 72, 37, 45, 50, 22, 16, 69, 55, - 35, 97, 28, 46, 15, 16, 25, 42, 156, 10, 42, 57, - 221, 15, 99, 64, 31, 143, 138, 29, 99, 8, 81, 94, - 76, 96, 107, 20, 6, 23, 58, 33, 6, 216, 33, 121, - 64, 36, 18, 2, 148, 35, 72, 2, 169, 102, 15, 233, - 57, 229, 53, 23, 68, 73, 26, 144, 9, 75, 18, 53, - 23, 727, 30, 18, 14, 111, 5, 26, 53, 23, 30, 135, - 2, 60, 51, 62, 85, 202, 2, 48, 18, 21, 103, 67, - 82, 57, 86, 27, 19, 107, 42, 37, 66, 19, 61, 56, - 76, 8, 10, 43, 19, 4, 29, 79, 36, 19, 70, 63, - 25, 19, 7, 21, 5, 37, 39, 47, 92, 28, 24, 188, - 30, 60, 11, 146, 49, 17, 62, 3, 28, 4, 146, 14, - 47, 59, 30, 80, 46, 49, 67, 249, 98, 86, 174, 20, - 8, 6, 139, 127, 51, 62, 17, 85, 68, 60, 44, 113, - 118, 171, 80, 44, 15, 38, 70, 51, 11, 99, 5, 6, - 85, 35, 230, 113, 4, 152, 107, 31, 28, 41, 184, 10, - 27, 69, 58, 68, 100, 24, 148, 78, 4, 62, 38, 140, - 112, 16, 130, 17, 21, 40, 35, 40, 111, 230, 31, 14, - 109, 4, 69, 61, 85, 17, 117, 125, 90, 65, 37, 7, - 46, 29, 41, 87, 11, 53, 80, 209, 75, 55, 8, 38, - 86, 19, 190, 52, 28, 38, 169, 72, 81, 32, 65, 149, - 5, 46, 101, 124, 60, 181, 33, 56, 32, 44, 9, 46, - 9, 70, 96, 8, 1, 3, 130, 21, 22, 115, 43, 9, - 44, 49, 63, 94, 152, 15, 162, 87, 196, 28, 34, 230, - 44, 31, 86, 183, 67, 5, 102, 120, 89, 26, 53, 34, - 62, 54, 30, 17, 58, 50, 65, 110, 21, 3, 77, 22, - 11, 6, 1, 11, 7, 472, 66, 6, 1, 5, 26, 82, - 50, 73, 17, 35, 47, 65, 137, 66, 3, 91, 29, 64, - 1, 155, 27, 89, 31, 49, 176, 21, 43, 41, 82, 147, - 13, 54, 25, 33, 45, 390, 54, 93, 26, 2, 70, 38, - 18, 170, 11, 30, 44, 70, 3, 77, 73, 14, 32, 2, - 46, 25, 178, 38, 75, 81, 2, 212, 9, 24, 36, 175, - 71, 49, 3, 1, 65, 84, 40, 29, 162, 67, 116, 172, - 119, 71, 208, 9, 72, 23, 29, 49, 103, 75, 4, 76, - 132, 13, 180, 53, 44, 7, 98, 88, 169, 27, 3, 22, - 64, 120, 84, 200, 52, 116, 13, 22, 76, 1, 27, 290, - 185, 159, 8, 36, 62, 8, 3, 177, 88, 98, 41, 58, - 25, 15, 145, 118, 36, 80, 105, 3, 4, 168, 88, 47, - 23, 61, 6, 37, 184, 47, 167, 104, 248, 210, 33, 215, - 158, 128, 24, 89, 37, 194, 115, 50, 128, 199, 30, 219, - 187, 55, 255, 166, 103, 112, 83, 55, 101, 93, 84, 87, - 29, 285, 132, 230, 92, 197, 233, 200, 23, 147, 170, 87, - 59, 22, 62, 136, 48, 233, 42, 136, 220, 63, 153, 23, - 112, 39, 421, 111, 589, 69, 100, 161, 145, 132, 43, 104, - 180, 95, 208, 29, 167, 90, 223, 30, 168, 94, 230, 149, - 131, 125, 57, 218, 88, 149, 84, 216, 78, 544, 63, 77, - 142, 153, 205, 117, 40, 194, 32, 75, 131, 46, 154, 207, - 47, 38, 230, 57, 24, 71, 393, 106, 143, 40, 77, 266, - 147, 42, 316, 182, 396, 123, 533, 53, 111, 42, 171, 43, - 164, 76, 15, 462, 49, 206, 129, 354, 163, 138, 96, 142, - 101, 161, 68, 142, 103, 180, 130, 85, 178, 129, 47, 167, - 171, 159, 283, 95, 88, 24, 186, 205, 199, 233, 140, 14, - 199, 261, 176, 88, 41, 89, 101, 121, 347, 119, 197, 204, - 179, 15, 344, 78, 227, 188, 82, 522, 139, 45, 108, 230, - 184, 86, 104, 107, 117, 401, 87, 91, 192, 199, 48, 51, - 168, 76, 136, 164, 21, 83, 28, 79, 131, 184, 64, 175, - 30, 106, 129, 51, 224, 152, 78, 48, 118, 73, 105, 487, - 18, 118, 60, 134, 220, 209, 134, 374, 33, 228, 164, 18, - 68, 18, 109, 174, 218, 352, 482, 73, 76, 171, 35, 234, - 180, 115, 126, 213, 233, 73, 216, 166, 193, 92, 75, 214, - 175, 87, 102, 51, 198, 33, 150, 231, 213, 150, 215, 13, - 143, 234, 168, 123, 86, 76, 146, 180, 79, 192, 159, 144, - 21, 123, 20, 98, 228, 71, 191, 22, 186, 114, 134, 346, - 16, 112, 79, 37, 86, 166, 198, 39, 35, 774, 215, 150, - 126, 212, 45, 39, 62, 79, 217, 74, 16, 51, 99, 104, - 106, 96, 85, 134, 18, 55, 67, 156, 200, 205, 210, 78, - 93, 217, 69, 87, 16, 174, 72, 138, 74, 206, 235, 207, - 118, 180, 126, 36, 61, 204, 208, 129, 85, 189, 142, 213, - 144, 134, 200, 113, 201, 107, 220, 175, 11, 120, 56, 80, - 110, 220, 110, 195, 74, 94, 86, 212, 63, 57, 56, 216, - 169, 54, 137, 97, 137, 15, 144, 65, 193, 187, 73, 71, - 23, 20, 95, 56, 115, 149, 207, 204, 61, 219, 127, 54, - 24, 184, 232, 358, 348, 216, 233, 42, 157, 110, 145, 82, - 214, 113, 233, 71, 188, 77, 52, 142, 137, 64, 44, 54, - 31, 228, 162, 37, 70, 346, 55, 116, 92, 127, 150, 195, - 127, 57, 231, 133, 63, 103, 108, 183, 144, 147, 119, 53, - 51, 104, 119, 233, 23, 443, 90, 88, 209, 147, 98, 306, - 111, 225, 601, 195, 108, 92, 27, 113, 175, 218, 187, 58, - 213, 289, 110, 43, 458, 80, 160, 158, 193, 157, 114, 62, - 363, 62, 161, 207, 177, 125, 158, 99, 79, 229, 219, 5, - 99, 169, 234, 105, 12, 92, 147, 198, 173, 109, 93, 165, - 63, 82, 16, 327, 72, 107, 114, 146, 177, 88, 175, 71, - 161, 61, 116, 78, 183, 69, 125, 43, 360, 93, 62, 10, - 91, 149, 188, 53, 119, 383, 169, 178, 96, 35, 134, 113, - 209, 114, 229, 97, 115, 146, 139, 100, 54, 79, 110, 244, - 160, 74, 461, 93, 123, 297, 104, 202, 73, 65, 54, 96, - 32, 42, 646, 91, 52, 207, 128, 55, 19, 40, 115, 87, - 163, 40, 166, 191, 429, 16, 159, 274, 68, 189, 153, 37, - 216, 226, 138, 158, 92, 155, 135, 153, 31, 289, 99, 134, - 41, 218, 139, 127, 184, 78, 30, 48, 226, 50, 226, 87, - 390, 124, 225, 264, 139, 292, 142, 59, 110, 98, 52, 212, - 111, 147, 25, 98, 230, 804, 221, 220, 80, 118, 31, 28, - 81, 45, 34, 202, 157, 74, 177, 190, 100, 204, 57, 51, - 107, 44, 117, 212, 129, 207, 98, 29, 51, 113, 60, 216, - 223, 115, 70, 203, 185, 209, 158, 84, 79, 8, 214, 121, - 85, 103, 95, 66, 55, 44, 164, 26, 10, 142, 50, 102, - 346, 83, 25, 205, 96, 151, 19, 198, 148, 56, 78, 177, - 208, 37, 235, 97, 132, 102, 168, 466, 47, 53, 79, 367, - 164, 131, 229, 139, 81, 141, 204, 167, 150, 87, 49, 142, - 101, 84, 233, 212, 124, 206, 84, 60, 17, 53, 109, 514, - 69, 211, 193, 67, 120, 41, 275, 115, 76, 173, 146, 200, - 55, 158, 189, 124, 234, 132, 178, 219, 103, 165, 162, 116, - 142, 100, 54, 153, 144, 145, 194, 233, 47, 57, 162, 178, - 215, 281, 77, 124, 186, 19, 75, 78, 140, 86, 208, 230, - 155, 110, 118, 171, 109, 157, 221, 125, 31, 85, 86, 301, - 106, 164, 14, 50, 178, 40, 223, 62, 85, 91, 217, 100, - 82, 33, 81, 253, 24, 69, 176, 133, 137, 209, 34, 154, - 64, 54, 82, 68, 38, 87, 129, 140, 17, 24, 133, 109, - 58, 231, 61, 141, 121, 50, 117, 129, 155, 78, 168, 128, - 232, 108, 131, 235, 149, 184, 207, 208, 147, 52, 168, 199, - 205, 173, 76, 64, 188, 207, 59, 160, 103, 93, 166, 134, - 96, 136, 121, 159, 155, 68, 238, 109, 112, 542, 75, 33, - 52, 28, 54, 136, 108, 89, 66, 90, 64, 130, 223, 122, - 19, 133, 81, 77, 138, 234, 34, 235, 103, 230, 181, 232, - 65, 69, 119, 181, 134, 283, 101, 205, 79, 411, 94, 105, - 80, 146, 72, 46, 24, 173, 21, 108, 128, 89, 48, 149, - 191, 30, 73, 82, 63, 104, 224, 58, 222, 117, 31, 213, - 22, 141, 459, 467, 84, 83, 36, 106, 89, 116, 49, 57, - 192, 101, 186, 200, 217, 90, 759, 69, 228, 31, 122, 88, - 118, 122, 133, 155, 148, 100, 203, 91, 63, 29, 158, 179, - 194, 44, 14, 203, 205, 704, 220, 202, 149, 127, 206, 48, - 78, 37, 90, 490, 227, 230, 42, 98, 138, 9, 21, 224, - 220, 133, 105, 179, 29, 92, 579, 207, 40, 228, 132, 61, - 55, 172, 93, 129, 159, 189, 20, 87, 398, 111, 219, 120, - 588, 226, 90, 221, 199, 193, 261, 215, 181, 206, 165, 53, - 355, 211, 47, 222, 215, 60, 524, 295, 106, 162, 196, 77, - 195, 125, 135, 110, 36, 400, 509, 251, 174, 214, 336, 203, - 92, 208, 292, 99, 370, 147, 272, 154, 83, 388, 51, 162, - 235, 64, 636, 124, 173, 65, 586, 227, 654, 161, 112, 223, - 190, 201, 156, 121, 223, 172, 223, 172, 217, 91, 455, 37, - 233, 106, 256, 211, 163, 127, 65, 247, 154, 213, 132, 231, - 175, 585, 74, 84, 235, 437, 228, 212, 67, 208, 58, 199, - 197, 79, 412, 229, 337, 136, 459, 175, 212, 127, 440, 113, - 209, 52, 109, 490, 170, 94, 431, 201, 425, 181, 794, 157, - 150, 141, 185, 117, 441, 80, 45, 722, 67, 218, 178, 509, - 174, 150, 98, 151, 102, 188, 71, 143, 137, 329, 309, 116, - 544, 223, 119, 175, 317, 445, 352, 207, 142, 604, 351, 206, - 452, 282, 219, 25, 234, 474, 178, 747, 165, 207, 200, 378, - 885, 128, 233, 603, 203, 173, 354, 172, 302, 261, 171, 657, - 613, 47, 131, 770, 194, 146, 123, 189, 157, 907, 104, 152, - 617, 202, 235, 67, 184, 105, 140, 170, 25, 111, 201, 92, - 152, 224, 161, 208, 109, 141, 156, 128, 325, 165, 113, 112, - 178, 116, 222, 540, 78, 120, 234, 168, 358, 503, 139, 811, - 51, 383, 232, 98, 76, 41, 122, 194, 282, 398, 623, 77, - 108, 368, 89, 236, 215, 218, 309, 719, 252, 176, 333, 224, - 215, 99, 136, 230, 182, 118, 170, 96, 466, 104, 182, 239, - 230, 205, 226, 235, 161, 286, 198, 136, 283, 88, 297, 403, - 215, 218, 170, 164, 34, 168, 49, 211, 229, 187, 306, 72, - 208, 201, 493, 611, 136, 192, 99, 175, 161, 178, 260, 150, - 151, 935, 225, 180, 243, 222, 50, 72, 77, 84, 347, 102, - 49, 60, 149, 229, 160, 135, 136, 235, 221, 234, 137, 171, - 227, 233, 223, 137, 159, 353, 138, 101, 208, 181, 93, 143, - 75, 220, 352, 393, 119, 196, 224, 38, 163, 212, 211, 142, - 196, 197, 148, 393, 209, 199, 284, 126, 203, 121, 355, 212, - 38, 311, 124, 109, 124, 233, 150, 473, 202, 152, 90, 472, - 176, 117, 90, 710, 319, 63, 199, 122, 216, 22, 168, 100, - 204, 205, 96, 117, 34, 61, 98, 108, 145, 152, 327, 205, - 151, 226, 230, 112, 442, 210, 330, 708, 781, 569, 608, 446, - 206, 163, 229, 139, 224, 138, 714, 77, 228, 81, 112, 145, - 230, 210, 120, 163, 37, 240, 219, 185, 182, 475, 310, 159, - 102, 139, 237, 199, 132, 230, 356, 167, 126, 138, 154, 211, - 145, 230, 203, 111, 181, 278, 201, 353, 100, 715, 142, 94, - 242, 213, 763, 392, 221, 302, 958, 198, 159, 95, 47, 192, - 176, 264, 356, 230, 238, 482, 125, 111, 550, 83, 204, 163, - 231, 224, 204, 117, 428, 66, 162, 231, 194, 129, 988, 175, - 171, 299, 231, 46, 156, 188, 319, 108, 115, 129, 153, 252, - 339, 110, 146, 197, 69, 94, 28, 632, 192, 117, 203, 159, - 222, 115, 408, 209, 212, 160, 123, 97, 217, 126, 176, 73, - 652, 427, 409, 11, 127, 202, 227, 87, 210, 682, 210, 179, - 154, 63, 170, 143, 223, 174, 232, 99, 230, 181, 214, 111, - 155, 144, 213, 540, 176, 194, 684, 98, 131, 384, 112, 374, - 74, 211, 156, 122, 97, 153, 648, 165, 121, 214, 234, 209, - 27, 95, 229, 170, 234, 59, 229, 213, 523, 365, 280, 711, - 166, 205, 181, 72, 232, 434, 187, 328, 141, 231, 161, 230, - 45, 438, 117, 160, 56, 220, 200, 221, 190, 173, 97, 224, - 483, 77, 360, 140, 535, 227, 477, 426, 147, 511, 231, 115, - 211, 143, 178, 218, 137, 169, 106, 137, 591, 830, 232, 696, - 156, 143, 32, 227, 204, 48, 531, 597, 234, 106, 188, 258, - 188, 232, 206, 103, 200, 453, 131, 387, 228, 224, 103, 163, - 432, 176, 73, 504, 231, 159, 74, 210, 208, 238, 171, 152, - 96, 64, 235, 170, 99, 162, 130, 226, 58, 116, 476, 83, - 140, 153, 413, 123, 833, 86, 42, 213, 112, 166, 127, 211, - 153, 174, 127, 192, 229, 162, 571, 186, 151, 130, 229, 515, - 113, 59, 80, 453, 277, 190, 385, 206, 232, 227, 211, 233, - 202, 91, 179, 193, 223, 222, 712, 456, 158, 651, 233, 124, - 74, 230, 207, 644, 101, 233, 230, 98, 133, 184, 750, 170, - 116, 203, 182, 220, 161, 505, 231, 419, 340, 214, 217, 250, - 155, 213, 209, 226, 215, 152, 148, 520, 182, 147, 296, 241, - 212, 154, 249, 230, 538, 399, 131, 225, 201, 268, 180, 106, - 187, 109, 221, 710, 183, 157, 174, 191, 217, 185, 229, 179, - 41, 97, 234, 563, 207, 321, 59, 56, 202, 73, 365, 133, - 166, 105, 679, 118, 113, 235, 109, 636, 67, 130, 212, 217, - 160, 273, 47, 158, 168, 154, 90, 197, 73, 102, 162, 344, - 226, 110, 225, 194, 68, 371, 76, 204, 135, 91, 204, 133, - 219, 100, 208, 230, 291, 174, 217, 407, 224, 193, 215, 219, - 177, 171, 780, 208, 214, 230, 83, 113, 688, 226, 212, 183, - 136, 114, 185, 203, 105, 181, 209, 177, 179, 194, 269, 114, - 118, 590, 151, 93, 85, 180, 118, 164, 215, 120, 67, 269, - 155, 164, 302, 334, 77, 214, 95, 114, 372, 331, 173, 417, - 128, 336, 218, 268, 320, 146, 126, 228, 191, 633, 551, 222, - 209, 670, 188, 625, 94, 203, 125, 263, 62, 179, 92, 134, - 136, 144, 95, 181, 209, 39, 130, 112, 128, 172, 372, 102, - 404, 178, 33, 235, 113, 198, 831, 556, 217, 140, 170, 359, - 118, 155, 66, 107, 203, 126, 209, 234, 227, 141, 804, 149, - 235, 691, 227, 92, 170, 148, 203, 197, 166, 120, 204, 109, - 89, 148, 306, 196, 202, 91, 45, 208, 221, 709, 362, 219, - 157, 202, 564, 75, 177, 50, 119, 723, 231, 778, 120, 130, - 172, 85, 50, 289, 520, 326, 131, 186, 60, 128, 664, 628, - 54, 346, 155, 201, 101, 310, 162, 163, 175, 219, 114, 155, - 738, 141, 353, 128, 595, 246, 182, 227, 230, 195, 417, 267, - 241, 232, 179, 234, 808, 244, 165, 224, 377, 72, 645, 446, - 163, 262, 234, 205, 197, 685, 221, 174, 42, 611, 667, 287, - 186, 225, 573, 879, 94, 227, 523, 106, 786, 279, 320, 156, - 187, 734, 89, 177, 467, 65, 835, 180, 400, 143, 630, 370, - 706, 210, 149, 253, 490, 222, 220, 166, 345, 224, 234, 174, - 324, 132, 706, 56, 326, 137, 321, 215, 226, 165, 921, 258, - 195, 287, 140, 492, 214, 627, 187, 89, 293, 497, 275, 216, - 140, 233, 70, 213, 377, 122, 545, 307, 358, 172, 827, 181, - 627, 172, 592, 161, 230, 123, 136, 575, 233, 134, 667, 217, - 576, 198, 975, 395, 159, 270, 222, 139, 510, 139, 107, 999, - 114, 219, 185, 536, 273, 152, 125, 227, 201, 207, 169, 208, - 212, 583, 735, 125, 951, 248, 183, 537, 421, 513, 404, 454, - 164, 842, 485, 225, 748, 486, 310, 65, 362, 870, 309, 932, - 231, 624, 478, 448, 956, 171, 328, 654, 666, 221, 581, 232, - 650, 454, 270, 724, 819, 99, 177, 817, 216, 218, 126, 210, - 205, 920, 364, 177, 930, 205, 610, 133, 195, 129, 192, 225, - 82, 120, 301, 202, 166, 321, 228, 326, 123, 543, 193, 151, - 342, 226, 136, 148, 647, 465, 245, 928, 82, 230, 318, 342, - 392, 932, 157, 859, 68, 742, 296, 146, 112, 127, 223, 203, - 437, 557, 805, 137, 416, 374, 105, 332, 773, 222, 790, 916, - 419, 192, 443, 311, 337, 498, 218, 519, 189, 135, 216, 113, - 512, 119, 193, 831, 233, 633, 395, 266, 416, 497, 209, 322, - 363, 101, 515, 863, 584, 468, 203, 204, 106, 189, 86, 230, - 389, 318, 313, 88, 222, 232, 594, 677, 146, 211, 234, 336, - 206, 218, 330, 399, 231, 947, 511, 207, 380, 308, 134, 133, - 86, 88, 362, 214, 108, 94, 549, 652, 459, 167, 165, 572, - 908, 571, 164, 203, 361, 284, 390, 200, 190, 672, 231, 156, - 544, 278, 94, 217, 150, 380, 391, 578, 163, 219, 277, 43, - 411, 219, 287, 379, 503, 232, 244, 488, 278, 214, 414, 566, - 271, 122, 470, 357, 154, 642, 164, 232, 156, 421, 229, 712, - 206, 468, 168, 640, 196, 120, 131, 807, 371, 70, 232, 194, - 233, 50, 203, 146, 478, 307, 194, 160, 101, 209, 182, 187, - 191, 158, 678, 230, 648, 576, 456, 174, 524, 254, 584, 725, - 935, 594, 665, 798, 507, 275, 519, 255, 479, 238, 760, 144, - 230, 97, 299, 179, 497, 452, 144, 744, 61, 471, 220, 616, - 220, 566, 990, 225, 752, 152, 458, 209, 153, 403, 439, 220, - 143, 210, 379, 436, 237, 333, 216, 161, 201, 325, 202, 903, - 201, 904, 468, 130, 497, 373, 898, 422, 246, 385, 1016, 216, - 211, 218, 154, 199, 574, 771, 521, 568, 424, 597, 160, 229, - 1007, 144, 531, 165, 245, 230, 469, 225, 718, 159, 392, 268, - 714, 201, 995, 209, 205, 549, 542, 104, 206, 201, 640, 126, - 147, 148, 221, 451, 542, 191, 185, 217, 172, 187, 56, 675, - 300, 247, 226, 172, 230, 211, 600, 256, 229, 207, 138, 150, - 685, 200, 213, 225, 849, 962, 845, 151, 130, 230, 500, 203, - 218, 968, 216, 594, 354, 169, 212, 163, 333, 227, 239, 126, - 878, 210, 715, 248, 209, 267, 277, 886, 235, 230, 988, 194, - 149, 424, 150, 420, 81, 219, 176, 182, 105, 412, 658, 253, - 752, 444, 573, 412, 48, 137, 233, 223, 322, 134, 234, 656, - 905, 514, 694, 738, 230, 394, 223, 80, 428, 638, 508, 522, - 193, 495, 183, 231, 575, 496, 189, 181, 214, 466, 230, 357, - 225, 182, 103, 232, 533, 171, 531, 183, 845, 232, 606, 515, - 160, 764, 350, 219, 561, 231, 596, 396, 183, 242, 128, 188, - 681, 907, 328, 786, 170, 145, 78, 728, 228, 66, 735, 702, - 396, 107, 231, 303, 235, 256, 211, 140, 643, 700, 464, 407, - 298, 401, 123, 196, 670, 732, 82, 718, 568, 217, 104, 337, - 230, 617, 274, 201, 210, 242, 257, 227, 169, 215, 135, 300, - 156, 131, 691, 104, 195, 186, 415, 202, 872, 93, 57, 624, - 163, 173, 190, 314, 183, 228, 217, 216, 422, 210, 771, 217, - 219, 152, 635, 841, 355, 197, 127, 634, 740, 220, 650, 226, - 322, 235, 229, 261, 213, 122, 187, 194, 494, 392, 947, 684, - 234, 686, 311, 190, 294, 353, 255, 871, 477, 299, 423, 224, - 148, 185, 835, 214, 143, 214, 202, 397, 168, 607, 288, 451, - 590, 276, 231, 419, 167, 651, 216, 285, 216, 160, 360, 697, - 195, 154, 313, 611, 243, 375, 388, 541, 625, 929, 259, 318, - 304, 279, 289, 132, 226, 203, 487, 749, 203, 340, 296, 566, - 230, 198, 235, 205, 111, 108, 683, 577, 221, 382, 204, 95, - 211, 169, 540, 189, 445, 208, 887, 225, 203, 680, 618, 809, - 138, 151, 562, 240, 162, 456, 170, 161, 329, 232, 180, 200, - 144, 295, 180, 364, 546, 172, 236, 218, 439, 401, 100, 511, - 171, 124, 235, 425, 235, 176, 380, 590, 314, 175, 627, 490, - 423, 797, 347, 480, 381, 196, 931, 325, 428, 608, 122, 121, - 724, 527, 214, 230, 223, 164, 214, 207, 168, 203, 377, 218, - 481, 209, 841, 330, 128, 759, 376, 221, 211, 220, 133, 205, - 235, 221, 152, 565, 173, 212, 434, 599, 341, 355, 151, 191, - 649, 547, 198, 635, 207, 668, 242, 276, 695, 177, 141, 251, - 413, 683, 587, 231, 368, 876, 304, 659, 211, 433, 196, 343, - 115, 206, 97, 222, 291, 151, 107, 234, 450, 75, 148, 145, - 137, 307, 493, 135, 504, 206, 59, 508, 232, 218, 881, 833, - 431, 143, 230, 482, 196, 182, 117, 220, 217, 158, 210, 387, - 282, 562, 901, 207, 614, 894, 679, 368, 185, 214, 510, 295, - 281, 212, 419, 212, 591, 206, 383, 230, 220, 216, 122, 225, - 337, 870, 629, 522, 217, 208, 681, 115, 243, 683, 172, 927, - 266, 810, 123, 144, 182, 215, 52, 359, 572, 609, 211, 520, - 440, 156, 737, 669, 211, 631, 229, 518, 111, 620, 232, 216, - 215, 484, 313, 190, 1013, 179, 604, 225, 749, 760, 339, 262, - 473, 210, 620, 812, 858, 563, 245, 241, 854, 266, 192, 304, - 564, 103, 0, 505, 192, 349, 443, 223, 204, 807, 223, 234, - 205, 896, 808, 469, 309, 567, 698, 972, 183, 246, 909, 226, - 832, 543, 535, 173, 208, 777, 219, 196, 523, 97, 997, 211, - 556, 183, 839, 560, 0, 224, 198, 506, 514, 632, 226, 852, - 625, 746, 235, 343, 474, 495, 1022, 173, 725, 450, 669, 613, - 345, 298, 1015, 293, 223, 517, 837, 735, 262, 0, 232, 93, - 501, 821, 637, 230, 202, 250, 106, 458, 713, 132, 726, 524, - 567, 191, 859, 232, 824, 219, 888, 333, 472, 779, 180, 917, - 372, 161, 730, 327, 0, 235, 0, 445, 206, 291, 233, 191, - 622, 252, 114, 1015, 119, 389, 207, 692, 363, 190, 126, 413, - 541, 219, 221, 228, 271, 836, 752, 145, 1013, 682, 222, 757, - 707, 982, 856, 494, 474, 844, 580, 400, 1020, 829, 454, 95, - 562, 984, 502, 998, 406, 779, 684, 479, 0, 208, 373, 663, - 776, 516, 830, 335, 720, 651, 314, 0, 957, 204, 693, 848, - 260, 489, 460, 217, 434, 955, 536, 204, 0, 396, 909, 135, - 234, 187, 222, 270, 102, 135, 335, 316, 555, 492, 385, 486, - 140, 585, 211, 184, 851, 232, 167, 215, 745, 471, 253, 972, - 105, 388, 967, 477, 788, 977, 267, 971, 473, 788, 962, 204, - 167, 209, 226, 275, 562, 869, 863, 186, 583, 519, 141, 780, - 822, 232, 994, 982, 770, 237, 934, 441, 349, 717, 224, 800, - 672, 201, 512, 186, 944, 187, 228, 0, 342, 665, 581, 723, - 435, 629, 290, 614, 612, 188, 1020, 874, 0, 571, 232, 210, - 209, 660, 214, 347, 449, 443, 953, 219, 343, 463, 643, 699, - 190, 232, 328, 559, 231, 223, 553, 902, 541, 995, 561, 232, - 802, 736, 201, 581, 157, 314, 403, 218, 199, 189, 550, 883, - 945, 226, 417, 703, 950, 617, 254, 905, 526, 407, 432, 222, - 294, 818, 378, 225, 780, 511, 101, 348, 172, 664, 718, 671, - 186, 828, 641, 145, 463, 361, 366, 418, 621, 235, 428, 550, - 370, 216, 968, 770, 608, 225, 899, 409, 224, 748, 235, 549, - 329, 447, 492, 774, 254, 616, 228, 766, 197, 231, 195, 820, - 510, 84, 386, 893, 236, 85, 288, 213, 600, 360, 235, 226, - 105, 217, 210, 189, 408, 178, 755, 433, 825, 775, 558, 208, - 614, 576, 811, 742, 0, 964, 683, 0, 583, 666, 551, 307, - 574, 426, 857, 179, 371, 133, 673, 221, 569, 580, 229, 858, - 82, 574, 272, 751, 539, 0, 0, 234, 903, 231, 929, 233, - 290, 453, 707, 221, 234, 483, 593, 478, 615, 440, 426, 664, - 211, 610, 385, 1021, 356, 0, 751, 201, 601, 596, 978, 579, - 433, 524, 0, 222, 872, 231, 181, 206, 719, 1012, 703, 617, - 515, 663, 222, 405, 0, 205, 852, 228, 310, 867, 559, 599, - 753, 228, 605, 274, 809, 210, 996, 231, 232, 756, 645, 147, - 429, 488, 716, 138, 234, 192, 431, 880, 720, 210, 223, 553, - 186, 214, 182, 697, 616, 729, 530, 184, 507, 785, 690, 852, - 249, 260, 195, 250, 749, 600, 223, 521, 921, 0, 0, 198, - 210, 397, 612, 312, 235, 0, 496, 676, 448, 0, 455, 538, - 726, 369, 280, 131, 1017, 487, 726, 257, 501, 519, 425, 910, - 350, 466, 0, 331, 167, 565, 189, 1003, 132, 234, 397, 211, - 116, 618, 803, 835, 849, 457, 668, 615, 139, 166, 320, 864, - 506, 153, 464, 945, 942, 685, 848, 773, 498, 457, 479, 115, - 793, 645, 826, 596, 212, 587, 442, 361, 644, 603, 393, 184, - 704, 527, 900, 411, 230, 216, 130, 449, 620, 225, 762, 191, - 1024, 258, 797, 527, 202, 979, 465, 476, 643, 528, 922, 502, - 491, 829, 189, 379, 887, 0, 665, 824, 219, 386, 88, 817, - 302, 102, 849, 0, 641, 149, 335, 692, 334, 277, 652, 145, - 691, 778, 624, 605, 410, 590, 151, 204, 693, 758, 93, 856, - 571, 243, 122, 744, 232, 713, 308, 206, 840, 334, 599, 475, - 213, 231, 176, 416, 215, 198, 919, 125, 538, 245, 438, 359, - 1010, 171, 208, 837, 225, 180, 236, 499, 190, 232, 383, 235, - 788, 230, 981, 239, 489, 185, 772, 1000, 539, 202, 155, 0, - 983, 232, 714, 402, 794, 365, 324, 483, 222, 146, 283, 197, - 649, 737, 988, 796, 325, 984, 340, 218, 298, 480, 442, 900, - 484, 315, 721, 696, 173, 206, 990, 351, 151, 215, 221, 559, - 218, 675, 858, 853, 779, 463, 251, 549, 206, 750, 293, 406, - 234, 209, 733, 799, 305, 235, 647, 891, 326, 889, 731, 947, - 799, 1023, 295, 658, 491, 773, 455, 191, 227, 224, 568, 976, - 233, 371, 570, 611, 784, 367, 286, 408, 160, 233, 718, 944, - 230, 570, 430, 288, 227, 232, 807, 438, 607, 218, 981, 231, - 230, 868, 671, 966, 503, 154, 911, 508, 195, 461, 195, 201, - 460, 273, 286, 338, 158, 375, 427, 692, 814, 732, 366, 474, - 746, 779, 369, 630, 214, 192, 312, 502, 607, 179, 556, 828, - 484, 202, 761, 644, 525, 832, 649, 639, 977, 228, 1001, 370, - 504, 747, 175, 150, 823, 654, 258, 368, 570, 230, 588, 223, - 205, 496, 384, 583, 674, 495, 1012, 444, 190, 0, 486, 263, - 451, 224, 222, 669, 279, 446, 205, 713, 375, 231, 991, 655, - 517, 509, 156, 206, 704, 675, 305, 731, 227, 732, 629, 739, - 819, 201, 165, 397, 619, 753, 811, 234, 815, 0, 882, 786, - 224, 735, 304, 661, 121, 235, 221, 520, 292, 225, 197, 580, - 485, 235, 193, 155, 185, 762, 783, 220, 558, 766, 121, 552, - 567, 301, 1009, 0, 847, 156, 631, 516, 382, 298, 224, 293, - 493, 167, 228, 408, 376, 629, 955, 387, 650, 0, 878, 800, - 711, 220, 532, 464, 439, 305, 660, 446, 713, 637, 414, 444, - 228, 221, 485, 376, 708, 956, 814, 823, 221, 387, 836, 120, - 556, 785, 312, 0, 787, 814, 124, 191, 192, 223, 381, 577, - 632, 677, 578, 755, 671, 199, 963, 983, 214, 896, 230, 992, - 128, 975, 382, 227, 263, 606, 414, 204, 0, 214, 966, 324, - 0, 800, 344, 737, 661, 686, 0, 819, 952, 626, 884, 680, - 948, 793, 513, 331, 591, 153, 0, 0, 213, 840, 545, 342, - 207, 954, 418, 349, 210, 0, 847, 698, 662, 677, 873, 1012, - 205, 641, 0, 235, 0, 738, 0, 418, 292, 0, 418, 202, - 631, 182, 0, 423, 631, 244, 0, 689, 0, 444, 554, 842, - 954, 0, 230, 921, 697, 942, 616, 687, 649, 553, 0, 294, - 802, 989, 740, 639, 491, 498, 0, 470, 377, 908, 940, 743, - 708, 0, 259, 231, 602, 964, 758, 548, 259, 399, 169, 545, - 867, 198, 0, 938, 737, 865, 1003, 499, 950, 229, 0, 801, - 920, 907, 214, 0, 686, 225, 0, 447, 0, 247, 0, 555, - 420, 979, 276, 666, 716, 523, 125, 0, 157, 689, 234, 0, - 404, 196, 232, 595, 834, 532, 233, 338, 557, 1002, 918, 257, - 0, 816, 413, 836, 0, 0, 0, 731, 483, 924, 593, 475, - 0, 937, 875, 119, 821, 0, 743, 0, 860, 782, 996, 667, - 0, 445, 822, 1022, 835, 577, 0, 367, 938, 980, 705, 0, - 0, 220, 736, 0, 457, 825, 507, 222, 734, 0, 830, 259, - 0, 815, 942, 403, 240, 672, 287, 410, 219, 623, 359, 378, - 0, 999, 809, 0, 213, 1001, 290, 233, 0, 429, 201, 230, - 865, 897, 604, 0, 166, 634, 0, 630, 1005, 0, 639, 0, - 754, 963, 0, 548, 183, 227, 339, 526, 601, 0, 0, 327, - 591, 789, 163, 1014, 998, 410, 0, 0, 0, 375, 0, 939, - 898, 894, 354, 946, 714, 215, 577, 193, 989, 433, 498, 0, - 449, 711, 804, 846, 757, 0, 407, 638, 0, 373, 0, 0, - 0, 0, 764, 213, 311, 694, 271, 821, 610, 458, 963, 435, - 781, 637, 0, 0, 233, 568, 435, 582, 391, 233, 992, 925, - 544, 0, 919, 233, 958, 876, 224, 847, 318, 561, 778, 455, - 220, 294, 803, 0, 0, 336, 454, 755, 974, 1012, 680, 0, - 776, 871, 530, 560, 324, 844, 574, 597, 834, 606, 160, 661, - 176, 742, 806, 694, 366, 901, 918, 267, 850, 613, 432, 642, - 1004, 384, 787, 658, 449, 529, 0, 896, 738, 622, 0, 657, - 823, 913, 636, 578, 440, 610, 570, 0, 502, 878, 322, 0, - 330, 794, 202, 928, 893, 96, 528, 0, 950, 202, 576, 886, - 687, 442, 510, 316, 125, 315, 349, 206, 427, 210, 973, 641, - 0, 790, 787, 231, 818, 0, 812, 0, 0, 0, 0, 0, - 0, 674, 613, 364, 854, 879, 966, 200, 782, 152, 848, 558, - 829, 934, 420, 860, 233, 784, 357, 753, 602, 0, 0, 386, - 1019, 271, 0, 272, 588, 767, 755, 463, 315, 810, 0, 949, - 902, 460, 841, 708, 225, 630, 818, 0, 973, 0, 886, 234, - 874, 998, 0, 0, 857, 638, 0, 225, 880, 673, 185, 384, - 897, 0, 902, 679, 0, 0, 228, 505, 0, 220, 999, 276, - 506, 967, 895, 682, 0, 687, 865, 736, 844, 599, 0, 308, - 639, 853, 766, 148, 792, 671, 943, 213, 239, 480, 555, 896, - 991, 288, 312, 741, 216, 222, 265, 0, 0, 754, 698, 436, - 518, 822, 745, 0, 709, 795, 453, 550, 820, 0, 334, 618, - 0, 0, 0, 205, 306, 895, 947, 391, 329, 0, 706, 979, - 899, 0, 702, 659, 904, 958, 394, 212, 0, 879, 934, 976, - 669, 811, 743, 0, 528, 532, 0, 653, 193, 0, 716, 0, - 174, 365, 432, 212, 184, 902, 0, 0, 883, 489, 912, 715, - 213, 204, 402, 920, 777, 206, 529, 1003, 0, 846, 0, 0, - 606, 1009, 730, 203, 806, 0, 897, 0, 437, 695, 650, 604, - 684, 0, 646, 213, 767, 563, 917, 535, 434, 721, 363, 477, - 635, 264, 1015, 255, 0, 448, 959, 0, 321, 0, 761, 696, - 705, 598, 1004, 662, 890, 911, 280, 452, 930, 0, 747, 0, - 872, 786, 134, 0, 772, 173, 0, 0, 743, 527, 546, 899, - 911, 628, 733, 272, 717, 1006, 940, 647, 861, 640, 465, 533, - 0, 884, 97, 0, 886, 486, 450, 978, 282, 887, 665, 208, - 858, 623, 968, 677, 240, 286, 189, 836, 228, 227, 959, 215, - 765, 526, 928, 546, 0, 186, 621, 913, 331, 265, 525, 569, - 595, 262, 579, 503, 968, 724, 0, 756, 518, 200, 794, 0, - 855, 216, 507, 0, 0, 343, 0, 674, 0, 558, 791, 709, - 589, 695, 398, 224, 709, 898, 0, 900, 345, 0, 782, 648, - 912, 857, 720, 0, 561, 394, 894, 908, 210, 680, 0, 565, - 761, 431, 234, 573, 417, 678, 0, 0, 901, 530, 265, 848, - 300, 0, 462, 451, 404, 229, 0, 0, 634, 585, 0, 0, - 699, 0, 1018, 969, 0, 0, 889, 1007, 659, 0, 655, 584, - 229, 235, 910, 0, 379, 441, 0, 860, 854, 866, 493, 647, - 952, 567, 869, 0, 512, 0, 538, 945, 601, 412, 0, 655, - 701, 596, 0, 233, 234, 952, 925, 0, 757, 203, 970, 916, - 247, 806, 215, 216, 564, 352, 569, 471, 222, 405, 690, 960, - 863, 875, 543, 494, 769, 837, 742, 792, 769, 226, 436, 843, - 653, 227, 609, 907, 0, 317, 951, 906, 0, 0, 700, 760, - 0, 231, 0, 389, 751, 773, 218, 235, 0, 915, 462, 420, - 740, 501, 685, 415, 536, 928, 801, 757, 750, 657, 0, 859, - 224, 0, 802, 602, 728, 521, 536, 745, 308, 572, 380, 0, - 715, 415, 0, 976, 1014, 0, 221, 481, 985, 765, 548, 777, - 402, 791, 863, 845, 0, 212, 185, 423, 749, 0, 0, 481, - 971, 0, 897, 851, 226, 1019, 350, 0, 187, 559, 228, 547, - 467, 338, 394, 867, 642, 369, 227, 213, 470, 960, 861, 249, - 806, 991, 148, 882, 609, 626, 0, 0, 941, 162, 768, 0, - 690, 643, 234, 303, 676, 681, 382, 644, 911, 829, 0, 745, - 844, 0, 930, 994, 785, 231, 939, 798, 521, 716, 728, 615, - 1002, 732, 816, 795, 300, 635, 532, 1008, 840, 0, 885, 932, - 378, 871, 0, 358, 768, 892, 500, 0, 796, 956, 129, 815, - 207, 280, 0, 706, 838, 833, 803, 0, 1007, 201, 0, 0, - 692, 0, 452, 0, 140, 0, 722, 320, 427, 705, 605, 534, - 0, 232, 0, 372, 0, 903, 554, 978, 781, 791, 0, 0, - 0, 0, 0, 840, 0, 0, 701, 430, 0, 201, 0, 0, - 357, 843, 0, 476, 589, 0, 464, 983, 662, 0, 0, 0, - 0, 725, 0, 0, 315, 752, 0, 264, 0, 0, 0, 798, - 429, 0, 889, 323, 880, 319, 0, 832, 699, 846, 0, 0, - 0, 827, 581, 0, 0, 0, 319, 0, 765, 961, 633, 754, - 0, 0, 0, 686, 0, 1000, 0, 789, 689, 676, 0, 0, - 424, 0, 955, 0, 963, 0, 701, 529, 729, 0, 850, 0, - 405, 817, 204, 618, 0, 565, 0, 0, 0, 898, 0, 1010, - 0, 395, 0, 967, 991, 940, 228, 0, 870, 248, 0, 707, - 0, 661, 0, 730, 459, 0, 409, 997, 0, 961, 512, 0, - 465, 799, 557, 0, 787, 471, 254, 807, 0, 748, 448, 534, - 1013, 0, 0, 284, 0, 0, 540, 0, 0, 0, 0, 975, - 700, 0, 0, 833, 0, 0, 884, 299, 874, 0, 0, 0, - 0, 0, 0, 0, 0, 529, 1017, 0, 0, 663, 0, 810, - 0, 0, 0, 0, 0, 241, 1014, 0, 656, 0, 592, 252, - 772, 0, 0, 505, 0, 994, 0, 482, 552, 849, 341, 676, - 795, 874, 589, 508, 0, 0, 0, 0, 231, 1013, 595, 553, - 0, 467, 281, 332, 0, 0, 776, 0, 235, 866, 0, 919, - 0, 0, 946, 0, 784, 0, 0, 734, 622, 284, 364, 997, - 0, 0, 0, 345, 0, 0, 210, 0, 0, 821, 0, 0, - 0, 545, 0, 0, 1005, 912, 395, 1021, 883, 614, 603, 207, - 0, 531, 959, 0, 586, 822, 941, 900, 977, 0, 414, 842, - 0, 977, 0, 0, 0, 0, 792, 316, 323, 817, 834, 985, - 769, 488, 0, 892, 995, 674, 0, 0, 296, 751, 922, 637, - 557, 398, 0, 0, 931, 0, 986, 281, 0, 0, 233, 948, - 460, 594, 0, 496, 227, 861, 0, 0, 0, 481, 506, 0, - 0, 0, 843, 0, 957, 954, 739, 696, 668, 0, 0, 623, - 0, 0, 218, 0, 195, 1008, 0, 0, 517, 941, 0, 587, - 0, 1021, 974, 782, 0, 580, 0, 0, 797, 555, 0, 0, - 869, 989, 0, 695, 998, 0, 760, 660, 967, 746, 628, 0, - 790, 965, 924, 0, 495, 0, 270, 0, 0, 108, 0, 0, - 1001, 406, 868, 0, 729, 0, 923, 808, 234, 457, 425, 489, - 478, 469, 0, 0, 0, 815, 846, 313, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 916, 981, 0, 381, - 939, 305, 0, 0, 1016, 0, 945, 891, 317, 0, 587, 0, - 722, 0, 0, 525, 0, 543, 0, 551, 816, 0, 0, 582, - 756, 1006, 0, 0, 1023, 488, 0, 0, 426, 0, 842, 0, - 1023, 0, 0, 410, 0, 0, 0, 0, 883, 0, 0, 335, - 905, 0, 619, 934, 936, 0, 0, 879, 0, 0, 273, 632, - 0, 246, 0, 341, 924, 1002, 0, 1011, 0, 996, 0, 0, - 0, 914, 0, 522, 800, 0, 864, 178, 839, 904, 0, 456, - 406, 789, 727, 0, 0, 775, 935, 812, 796, 339, 691, 0, - 0, 949, 0, 0, 648, 0, 0, 0, 767, 827, 516, 694, - 0, 0, 702, 929, 0, 0, 0, 285, 0, 0, 0, 461, - 537, 0, 915, 986, 948, 0, 976, 993, 0, 1008, 673, 323, - 0, 0, 0, 0, 690, 0, 0, 0, 627, 0, 0, 882, - 813, 0, 866, 0, 405, 487, 582, 492, 188, 904, 0, 0, - 0, 992, 0, 798, 219, 350, 666, 0, 975, 438, 0, 0, - 0, 0, 0, 0, 986, 0, 936, 0, 877, 0, 0, 0, - 1016, 812, 652, 0, 0, 0, 0, 220, 814, 0, 927, 724, - 864, 912, 391, 839, 0, 424, 0, 542, 0, 509, 0, 0, - 501, 0, 993, 0, 959, 890, 0, 0, 0, 0, 578, 485, - 0, 0, 892, 0, 0, 0, 257, 0, 0, 906, 0, 0, - 0, 0, 778, 0, 0, 0, 938, 957, 986, 0, 0, 0, - 0, 864, 951, 634, 0, 990, 167, 0, 972, 499, 748, 0, - 958, 0, 0, 303, 868, 1011, 0, 860, 338, 704, 230, 0, - 421, 332, 0, 374, 882, 990, 0, 805, 0, 439, 688, 0, - 607, 469, 974, 937, 723, 763, 1008, 825, 987, 845, 0, 1009, - 592, 534, 0, 0, 0, 229, 537, 0, 0, 348, 0, 1024, - 0, 793, 875, 731, 663, 741, 711, 476, 980, 953, 0, 0, - 447, 0, 0, 888, 926, 1019, 733, 0, 792, 0, 0, 0, - 344, 744, 0, 867, 824, 513, 468, 721, 0, 0, 0, 0, - 0, 1024, 573, 0, 435, 0, 0, 475, 753, 552, 0, 0, - 0, 1014, 0, 0, 1010, 0, 0, 0, 0, 0, 0, 0, - 765, 0, 805, 881, 818, 400, 0, 0, 624, 640, 0, 0, - 0, 1018, 964, 906, 0, 744, 0, 0, 841, 0, 552, 952, - 970, 703, 0, 710, 0, 657, 0, 702, 593, 0, 0, 0, - 922, 906, 0, 0, 263, 0, 415, 638, 801, 612, 0, 774, - 268, 615, 729, 0, 0, 984, 693, 620, 0, 0, 802, 909, - 839, 621, 712, 868, 730, 682, 0, 0, 0, 356, 1001, 0, - 0, 0, 767, 0, 0, 992, 0, 625, 910, 785, 291, 256, - 0, 0, 539, 662, 763, 600, 723, 603, 727, 0, 0, 0, - 0, 688, 0, 881, 301, 0, 0, 687, 0, 925, 554, 0, - 608, 678, 699, 0, 0, 619, 0, 0, 0, 0, 504, 873, - 0, 0, 0, 0, 535, 0, 0, 0, 0, 226, 188, 974, - 0, 0, 0, 651, 0, 0, 993, 0, 231, 0, 890, 0, - 197, 668, 260, 678, 768, 598, 656, 0, 939, 1011, 303, 361, - 602, 0, 0, 494, 0, 0, 278, 0, 664, 923, 0, 0, - 0, 653, 1010, 0, 962, 783, 279, 0, 717, 0, 628, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 856, 1015, 989, 0, - 0, 0, 0, 703, 0, 750, 0, 825, 681, 734, 1000, 0, - 891, 0, 0, 1004, 808, 927, 0, 579, 0, 0, 995, 0, - 877, 0, 174, 0, 208, 660, 0, 0, 0, 0, 888, 0, - 0, 297, 0, 0, 762, 0, 913, 0, 265, 0, 0, 409, - 949, 979, 788, 598, 0, 402, 0, 926, 0, 0, 733, 0, - 949, 873, 0, 0, 0, 0, 0, 0, 0, 0, 838, 719, - 0, 229, 0, 0, 0, 0, 0, 560, 626, 0, 913, 0, - 789, 0, 0, 0, 0, 891, 0, 0, 656, 994, 0, 269, - 0, 0, 0, 0, 484, 0, 0, 340, 0, 548, 0, 0, - 0, 0, 0, 0, 0, 1009, 759, 0, 0, 0, 323, 0, - 0, 0, 892, 0, 0, 0, 0, 783, 0, 0, 0, 0, - 851, 705, 0, 0, 887, 0, 0, 0, 1005, 0, 813, 901, - 0, 0, 0, 0, 572, 0, 389, 0, 0, 801, 0, 0, - 0, 983, 0, 0, 0, 479, 0, 0, 0, 0, 250, 0, - 980, 914, 0, 0, 0, 855, 0, 0, 775, 0, 411, 0, - 0, 0, 654, 0, 534, 0, 0, 0, 0, 473, 0, 914, - 0, 893, 470, 541, 0, 0, 0, 588, 0, 0, 0, 0, - 0, 0, 0, 0, 956, 0, 0, 880, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 813, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 285, 0, 0, - 881, 0, 658, 728, 0, 0, 0, 838, 0, 0, 0, 0, - 719, 1019, 530, 964, 859, 970, 0, 936, 0, 0, 0, 0, - 430, 0, 954, 621, 0, 872, 317, 517, 0, 0, 0, 0, - 376, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 866, - 944, 422, 938, 0, 0, 0, 0, 547, 0, 0, 499, 0, - 0, 885, 0, 0, 0, 0, 0, 0, 0, 0, 667, 0, - 903, 645, 0, 586, 0, 0, 0, 0, 689, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 513, - 837, 925, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 953, 0, 932, 0, 0, 612, 0, 0, 0, 0, 0, 0, - 0, 0, 386, 0, 0, 764, 0, 619, 274, 870, 0, 0, - 0, 758, 0, 0, 0, 0, 978, 0, 0, 0, 0, 851, - 984, 0, 0, 655, 0, 0, 416, 0, 461, 0, 0, 0, - 585, 0, 0, 0, 0, 0, 0, 0, 0, 1020, 0, 0, - 0, 804, 0, 0, 0, 0, 0, 0, 0, 0, 946, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 437, 0, - 0, 110, 0, 0, 0, 566, 0, 0, 0, 0, 944, 916, - 251, 646, 0, 888, 0, 721, 0, 0, 0, 0, 0, 865, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 518, 0, 622, 0, 0, 0, 0, 0, 0, - 961, 0, 688, 0, 0, 0, 0, 0, 0, 780, 0, 741, - 0, 0, 0, 670, 803, 1018, 0, 0, 0, 0, 0, 0, - 771, 0, 966, 0, 0, 0, 0, 926, 0, 0, 0, 0, - 0, 0, 0, 1006, 0, 0, 820, 0, 0, 0, 0, 0, - 0, 0, 500, 973, 0, 480, 0, 670, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 747, 0, 0, 0, 341, - 0, 0, 0, 514, 853, 1021, 0, 0, 0, 831, 0, 0, - 917, 759, 862, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 810, 0, 0, 0, 0, 0, 805, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 592, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 441, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 936, 0, 0, 923, 0, 1023, 820, 698, 740, - 196, 0, 0, 0, 0, 0, 0, 0, 636, 659, 957, 0, - 0, 597, 0, 0, 0, 0, 0, 0, 0, 0, 982, 0, - 0, 0, 0, 0, 0, 0, 672, 0, 0, 0, 0, 775, - 0, 0, 0, 0, 943, 0, 500, 0, 0, 981, 0, 554, - 0, 855, 0, 0, 722, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 756, 0, 0, 0, 0, 0, 0, 0, 422, 0, - 0, 917, 0, 0, 0, 0, 0, 0, 0, 0, 960, 0, - 0, 0, 0, 0, 0, 0, 969, 1006, 0, 0, 202, 0, - 0, 1016, 0, 0, 0, 0, 0, 462, 0, 0, 0, 933, - 348, 861, 362, 0, 909, 528, 0, 551, 0, 0, 0, 0, - 0, 0, 741, 0, 982, 873, 0, 0, 0, 953, 0, 0, - 0, 876, 0, 0, 646, 951, 0, 0, 0, 269, 564, 0, - 0, 774, 0, 0, 0, 910, 980, 0, 0, 0, 0, 862, - 0, 0, 0, 0, 586, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 899, 0, 0, 0, 0, 813, 679, 0, - 0, 0, 0, 0, 0, 0, 894, 0, 1017, 0, 0, 0, - 965, 598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 971, 857, 609, 0, 0, - 889, 0, 0, 0, 0, 0, 985, 962, 0, 933, 0, 0, - 0, 0, 890, 0, 1011, 0, 0, 914, 0, 0, 0, 970, - 726, 0, 0, 0, 0, 927, 0, 0, 539, 0, 771, 772, - 0, 0, 0, 969, 0, 0, 0, 0, 0, 0, 0, 875, - 0, 0, 987, 0, 942, 823, 781, 0, 0, 0, 0, 0, - 0, 399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 937, 918, 0, 0, 0, 790, 0, 0, 871, 0, - 828, 0, 0, 0, 0, 1004, 0, 0, 367, 0, 0, 0, - 0, 0, 0, 0, 0, 701, 725, 0, 0, 915, 0, 0, - 0, 0, 965, 0, 0, 0, 0, 0, 850, 0, 0, 0, - 0, 390, 712, 0, 0, 0, 0, 791, 0, 0, 0, 0, - 770, 0, 0, 0, 633, 0, 584, 0, 0, 0, 831, 0, - 0, 0, 921, 946, 754, 0, 0, 533, 0, 0, 919, 0, - 0, 0, 0, 0, 0, 675, 0, 0, 0, 0, 693, 0, - 926, 0, 999, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 869, 0, 0, 0, 0, 0, 0, 973, 0, 0, 0, 0, - 878, 1018, 1020, 0, 0, 0, 0, 0, 855, 0, 0, 987, - 0, 0, 0, 0, 0, 0, 222, 0, 430, 853, 0, 0, - 0, 0, 1007, 0, 0, 351, 0, 0, 0, 0, 0, 0, - 717, 0, 0, 1024, 0, 0, 0, 761, 0, 526, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 809, 0, 0, 0, 0, 0, 797, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 827, 0, 0, 297, 0, 0, 0, 0, 0, 0, 0, 472, - 0, 923, 0, 0, 0, 0, 0, 0, 0, 0, 828, 0, - 0, 0, 401, 0, 0, 0, 1017, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 447, 0, - 0, 1002, 0, 0, 0, 0, 0, 0, 0, 948, 0, 0, - 0, 0, 929, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 971, 0, 0, 0, 0, 0, 0, 0, 826, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 854, 935, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 941, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 933, 0, 0, 0, 0, 0, 905, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 895, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 795, 0, 0, 746, 525, - 0, 0, 0, 0, 987, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 943, 0, 605, 0, 0, 0, 0, 0, 0, - 0, 0, 764, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 727, 0, 0, 720, 0, 707, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 653, 893, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 834, 0, 0, - 0, 0, 0, 0, 0, 0, 560, 0, 0, 0, 0, 710, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 930, 0, - 575, 0, 0, 0, 950, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 940, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 937, 0, 0, 763, 0, 0, 0, 673, 0, 0, - 0, 0, 0, 0, 862, 0, 0, 0, 0, 862, 0, 0, - 0, 0, 0, 1005, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 537, 0, 626, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 819, 0, 0, 0, 895, 0, 0, 0, 0, - 0, 0, 0, 0, 915, 0, 0, 0, 0, 0, 0, 985, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 796, 0, 0, 0, 0, 736, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 366, 0, 0, 0, 575, 0, 0, 0, 0, - 0, 0, 0, 0, 996, 830, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 918, 199, 0, 0, 0, 0, 0, 0, 0, - 776, 824, 0, 0, 0, 1022, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 877, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 816, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 215, 0, 0, 0, 0, 0, 0, 0, 0, 762, - 0, 0, 0, 0, 826, 885, 546, 0, 961, 931, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 351, 0, 0, 0, 784, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 826, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 933, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 972, 777, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 847, 0, 0, 0, 0, 0, 0, 0, - 516, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1022, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 582, 969, 0, 0, 0, 0, 884, - 0, 0, 0, 0, 0, 0, 0, 0, 856, 0, 1003, 0, - 0, 0, 0, 0, 0, 0, 960, 997, 0, 0, 0, 700, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 838, 0, 0, - 0, 0, 739, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 766, 0, - 491, 0, 0, 0, 0, 0, 0, 0, 0, 450, 0, 0, - 0, 0, 0, 0, 783, 0, 0, 0, 0, 0, 0, 931, - 0, 758, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 924, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 955, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 697, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 768, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 769, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 832, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 877, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 843, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 908, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 988, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 739, 0, 0, 0, 793, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 920, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 593, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 373, 0, 0, 0, 0, 0, - 0, 0, 0, 852, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1000, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 993, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 850, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 876, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 943, 0, 547, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 642, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 381, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 799, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 922, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - -const uint16_t H_1024_2048_4f_H_cols[] = { - 125, 11, 216, 94, 44, 58, 2, 50, 45, 131, 81, 72, - 19, 9, 29, 1, 51, 56, 311, 32, 205, 46, 6, 11, - 53, 26, 200, 96, 33, 19, 227, 62, 7, 83, 124, 33, - 13, 17, 39, 4, 169, 33, 10, 135, 129, 57, 2, 49, - 133, 16, 51, 28, 8, 47, 22, 76, 83, 66, 45, 22, - 80, 47, 54, 24, 54, 149, 97, 122, 62, 99, 30, 22, - 222, 12, 100, 115, 28, 89, 102, 63, 170, 183, 27, 31, - 148, 190, 32, 85, 12, 7, 74, 37, 30, 41, 55, 43, - 54, 139, 44, 52, 29, 141, 22, 4, 48, 25, 14, 187, - 115, 32, 2, 26, 112, 20, 15, 103, 96, 221, 133, 4, - 68, 102, 114, 56, 30, 121, 82, 4, 135, 147, 81, 35, - 42, 118, 31, 48, 78, 3, 128, 71, 2, 93, 58, 284, - 65, 190, 42, 220, 63, 125, 140, 138, 22, 36, 557, 48, - 21, 9, 125, 268, 62, 26, 25, 129, 15, 24, 3, 77, - 99, 43, 127, 70, 48, 32, 89, 167, 52, 135, 2, 56, - 13, 7, 41, 1, 127, 37, 21, 142, 192, 18, 106, 19, - 10, 14, 10, 27, 29, 63, 9, 40, 22, 52, 40, 29, - 28, 14, 29, 42, 113, 6, 18, 5, 25, 2, 8, 88, - 73, 84, 3, 53, 8, 20, 23, 20, 4, 6, 8, 95, - 22, 9, 88, 2, 39, 16, 44, 248, 254, 418, 268, 201, - 13, 461, 309, 18, 15, 6, 84, 5, 525, 98, 36, 130, - 64, 139, 23, 79, 148, 84, 91, 189, 11, 8, 821, 44, - 515, 18, 12, 492, 44, 126, 145, 47, 137, 317, 95, 127, - 347, 338, 46, 551, 219, 162, 155, 148, 34, 274, 36, 387, - 478, 215, 126, 43, 84, 76, 24, 235, 44, 82, 164, 517, - 207, 181, 652, 20, 422, 291, 104, 310, 37, 163, 256, 511, - 291, 183, 41, 119, 153, 227, 54, 47, 79, 276, 52, 4, - 217, 77, 120, 175, 146, 303, 20, 90, 112, 531, 180, 39, - 105, 144, 7, 52, 203, 28, 72, 7, 69, 296, 173, 340, - 26, 561, 159, 155, 3, 136, 17, 443, 25, 105, 207, 390, - 329, 165, 137, 195, 570, 345, 180, 246, 542, 45, 381, 4, - 175, 232, 254, 225, 21, 172, 352, 309, 420, 802, 234, 354, - 211, 311, 660, 50, 99, 331, 301, 229, 111, 551, 110, 121, - 538, 1, 98, 34, 67, 2, 200, 137, 97, 169, 275, 397, - 127, 204, 127, 103, 140, 275, 691, 245, 11, 31, 253, 125, - 59, 238, 56, 85, 121, 418, 397, 355, 49, 20, 119, 331, - 266, 193, 273, 448, 94, 586, 443, 111, 129, 390, 27, 62, - 124, 24, 99, 143, 269, 78, 508, 161, 442, 156, 75, 403, - 189, 100, 107, 191, 341, 132, 294, 31, 133, 265, 53, 282, - 36, 84, 138, 52, 9, 73, 160, 28, 228, 171, 110, 482, - 322, 200, 157, 49, 159, 162, 224, 290, 190, 65, 81, 88, - 295, 156, 74, 316, 94, 82, 108, 479, 93, 167, 230, 668, - 24, 64, 191, 208, 35, 129, 307, 131, 19, 65, 279, 178, - 86, 420, 246, 768, 475, 184, 43, 23, 220, 2, 610, 383, - 92, 203, 266, 142, 123, 133, 47, 136, 152, 548, 433, 151, - 141, 499, 46, 90, 27, 651, 244, 54, 319, 319, 415, 201, - 74, 7, 124, 57, 135, 403, 300, 28, 307, 165, 14, 21, - 102, 360, 38, 298, 410, 371, 282, 97, 39, 335, 116, 121, - 178, 344, 464, 159, 63, 300, 146, 281, 90, 59, 348, 5, - 29, 662, 21, 111, 159, 295, 5, 462, 336, 630, 488, 389, - 241, 93, 176, 3, 238, 338, 697, 361, 786, 199, 34, 277, - 80, 262, 449, 71, 197, 100, 316, 11, 216, 129, 206, 170, - 69, 14, 90, 371, 274, 59, 53, 66, 71, 226, 617, 55, - 95, 276, 80, 376, 42, 352, 295, 605, 23, 394, 221, 401, - 73, 181, 182, 320, 284, 61, 336, 41, 184, 191, 548, 286, - 9, 33, 176, 342, 270, 128, 35, 333, 79, 444, 344, 202, - 386, 294, 516, 82, 38, 399, 476, 16, 637, 150, 411, 171, - 30, 10, 72, 431, 60, 523, 515, 136, 187, 286, 364, 332, - 69, 36, 57, 157, 19, 531, 324, 609, 82, 61, 120, 89, - 525, 316, 270, 372, 101, 261, 458, 129, 258, 343, 20, 181, - 398, 132, 272, 184, 38, 103, 259, 192, 93, 119, 156, 666, - 7, 50, 88, 187, 8, 1, 331, 79, 440, 234, 88, 428, - 221, 70, 168, 142, 5, 747, 298, 42, 432, 72, 324, 445, - 152, 2, 63, 6, 627, 619, 382, 247, 69, 376, 442, 247, - 264, 188, 453, 193, 249, 306, 125, 177, 50, 315, 114, 248, - 9, 170, 76, 233, 522, 45, 137, 229, 33, 251, 10, 283, - 18, 123, 205, 479, 28, 48, 134, 6, 102, 77, 319, 271, - 243, 343, 30, 17, 22, 180, 232, 12, 91, 609, 198, 150, - 98, 334, 12, 380, 94, 175, 365, 109, 190, 133, 41, 63, - 162, 179, 268, 45, 160, 141, 55, 146, 87, 19, 59, 16, - 451, 64, 26, 158, 535, 58, 35, 188, 202, 95, 81, 68, - 498, 17, 122, 155, 419, 13, 107, 169, 318, 393, 243, 499, - 106, 226, 101, 387, 242, 117, 330, 218, 10, 165, 163, 310, - 341, 374, 40, 53, 189, 564, 261, 15, 173, 388, 85, 111, - 51, 630, 38, 71, 142, 258, 203, 34, 222, 106, 363, 272, - 92, 304, 6, 458, 192, 646, 114, 86, 43, 560, 634, 258, - 31, 118, 453, 252, 116, 147, 228, 113, 68, 299, 54, 22, - 286, 4, 611, 224, 115, 197, 305, 168, 186, 255, 144, 208, - 162, 104, 256, 87, 174, 70, 236, 237, 321, 231, 306, 17, - 9, 109, 149, 13, 291, 30, 52, 157, 185, 309, 267, 655, - 70, 235, 89, 94, 374, 3, 112, 359, 663, 206, 125, 40, - 399, 325, 123, 547, 230, 8, 126, 117, 418, 154, 32, 166, - 288, 307, 225, 479, 78, 435, 113, 303, 548, 42, 293, 171, - 55, 168, 132, 78, 214, 102, 107, 353, 89, 446, 481, 342, - 62, 108, 488, 40, 1, 187, 83, 425, 71, 446, 202, 161, - 260, 75, 449, 621, 150, 37, 325, 178, 126, 109, 7, 159, - 76, 225, 157, 97, 46, 16, 33, 247, 130, 211, 393, 54, - 273, 77, 41, 67, 164, 31, 208, 207, 72, 49, 254, 82, - 196, 106, 151, 59, 76, 22, 58, 97, 186, 51, 25, 391, - 131, 102, 19, 104, 183, 230, 200, 74, 16, 382, 28, 228, - 108, 99, 92, 100, 267, 294, 91, 27, 58, 315, 133, 143, - 235, 201, 110, 89, 244, 15, 259, 130, 92, 172, 144, 130, - 194, 205, 49, 87, 188, 277, 44, 157, 51, 74, 93, 41, - 92, 73, 60, 139, 136, 236, 186, 63, 141, 145, 25, 68, - 202, 44, 131, 242, 213, 181, 60, 57, 219, 35, 250, 148, - 128, 226, 138, 86, 172, 239, 122, 113, 82, 139, 110, 10, - 150, 212, 101, 66, 200, 228, 200, 52, 145, 138, 130, 87, - 64, 140, 69, 357, 98, 236, 46, 355, 80, 138, 216, 196, - 55, 48, 602, 67, 124, 249, 154, 321, 64, 52, 81, 157, - 19, 68, 73, 201, 143, 117, 153, 72, 57, 37, 108, 254, - 116, 149, 15, 69, 108, 54, 58, 189, 135, 134, 49, 182, - 261, 65, 128, 25, 198, 98, 29, 52, 38, 102, 18, 171, - 66, 75, 177, 88, 33, 125, 104, 49, 230, 10, 56, 96, - 34, 38, 12, 96, 120, 134, 20, 67, 31, 66, 28, 62, - 38, 44, 42, 115, 104, 36, 92, 14, 50, 27, 53, 385, - 439, 477, 505, 430, 16, 634, 670, 58, 223, 42, 122, 118, - 716, 115, 393, 192, 223, 327, 416, 524, 556, 622, 97, 303, - 166, 26, 884, 474, 698, 116, 231, 782, 714, 183, 287, 431, - 479, 492, 240, 484, 559, 357, 782, 591, 308, 241, 277, 238, - 186, 682, 86, 510, 606, 275, 849, 49, 93, 318, 779, 297, - 279, 661, 423, 684, 800, 466, 676, 781, 769, 464, 390, 496, - 147, 435, 285, 540, 404, 314, 394, 208, 219, 290, 67, 583, - 210, 375, 67, 73, 454, 212, 244, 299, 369, 377, 564, 220, - 255, 653, 207, 300, 257, 681, 239, 735, 484, 217, 293, 179, - 81, 434, 288, 409, 32, 582, 714, 242, 334, 179, 363, 457, - 364, 229, 692, 533, 350, 315, 277, 239, 590, 351, 716, 868, - 550, 60, 421, 117, 278, 246, 774, 883, 85, 208, 447, 342, - 667, 953, 542, 472, 455, 383, 960, 123, 134, 621, 343, 464, - 344, 594, 124, 198, 571, 242, 304, 57, 194, 583, 280, 155, - 480, 386, 330, 523, 364, 250, 349, 574, 151, 359, 823, 273, - 323, 48, 756, 427, 153, 464, 743, 477, 395, 451, 534, 489, - 218, 213, 507, 351, 400, 598, 292, 520, 241, 606, 694, 369, - 256, 405, 255, 578, 154, 412, 120, 172, 289, 671, 756, 426, - 527, 163, 316, 504, 394, 290, 125, 313, 540, 676, 349, 587, - 222, 562, 218, 374, 398, 143, 222, 113, 138, 157, 434, 628, - 616, 389, 172, 506, 877, 243, 446, 741, 636, 212, 554, 356, - 396, 116, 633, 210, 795, 729, 377, 543, 274, 258, 247, 539, - 557, 373, 353, 861, 196, 323, 413, 599, 136, 381, 338, 263, - 154, 504, 477, 527, 220, 521, 260, 928, 532, 496, 53, 104, - 436, 240, 624, 561, 174, 331, 483, 562, 617, 144, 612, 195, - 420, 689, 713, 224, 144, 509, 214, 149, 100, 683, 902, 96, - 368, 356, 440, 766, 216, 63, 209, 847, 145, 424, 487, 60, - 314, 241, 61, 715, 566, 386, 105, 476, 425, 791, 326, 324, - 579, 417, 341, 387, 263, 368, 703, 354, 179, 444, 245, 407, - 214, 264, 431, 148, 61, 757, 245, 191, 447, 314, 140, 600, - 478, 766, 494, 523, 461, 433, 263, 158, 491, 593, 754, 411, - 847, 289, 296, 302, 185, 276, 580, 374, 326, 532, 471, 617, - 353, 237, 243, 659, 777, 29, 109, 654, 907, 228, 57, 480, - 270, 664, 711, 367, 294, 466, 231, 503, 347, 366, 629, 740, - 262, 575, 660, 521, 729, 603, 734, 533, 564, 131, 783, 189, - 364, 356, 582, 368, 122, 37, 178, 452, 411, 177, 119, 579, - 557, 484, 502, 261, 423, 414, 754, 204, 296, 754, 751, 327, - 958, 488, 799, 563, 529, 76, 389, 695, 81, 557, 657, 652, - 665, 344, 602, 628, 99, 39, 296, 658, 91, 547, 475, 682, - 183, 75, 153, 408, 724, 380, 592, 731, 674, 419, 555, 503, - 657, 489, 201, 262, 614, 433, 701, 612, 77, 549, 507, 644, - 389, 124, 724, 834, 655, 193, 147, 310, 105, 46, 500, 572, - 512, 342, 167, 672, 523, 219, 496, 161, 529, 762, 432, 147, - 489, 233, 399, 498, 273, 95, 514, 367, 749, 676, 463, 283, - 689, 499, 525, 929, 289, 253, 474, 645, 592, 372, 402, 223, - 585, 651, 170, 337, 293, 352, 939, 430, 862, 640, 355, 234, - 80, 373, 723, 501, 504, 378, 216, 513, 357, 412, 768, 260, - 112, 309, 445, 358, 531, 597, 140, 35, 211, 446, 407, 407, - 174, 833, 402, 441, 188, 405, 185, 471, 165, 249, 842, 582, - 401, 599, 62, 346, 425, 195, 510, 56, 693, 287, 177, 152, - 285, 196, 501, 26, 712, 158, 327, 334, 621, 272, 312, 423, - 533, 349, 217, 483, 505, 143, 622, 668, 465, 428, 205, 428, - 661, 398, 280, 584, 221, 236, 486, 677, 361, 166, 740, 469, - 39, 206, 723, 706, 597, 553, 418, 160, 784, 689, 320, 163, - 250, 459, 637, 396, 774, 633, 428, 292, 285, 743, 444, 360, - 473, 257, 545, 611, 346, 449, 261, 502, 328, 796, 194, 325, - 199, 722, 653, 579, 366, 140, 543, 392, 513, 347, 307, 194, - 83, 631, 391, 158, 304, 460, 818, 380, 439, 339, 686, 230, - 680, 426, 306, 473, 379, 181, 421, 114, 271, 199, 503, 265, - 427, 260, 539, 110, 448, 325, 663, 797, 297, 65, 87, 173, - 329, 467, 623, 832, 130, 534, 234, 204, 765, 419, 227, 542, - 776, 805, 232, 224, 457, 351, 156, 556, 273, 327, 544, 182, - 618, 252, 106, 333, 460, 544, 705, 495, 265, 666, 509, 578, - 627, 198, 306, 490, 128, 249, 210, 712, 385, 146, 568, 631, - 229, 468, 780, 550, 594, 693, 678, 326, 145, 248, 132, 467, - 175, 775, 437, 279, 350, 176, 457, 720, 180, 110, 337, 365, - 147, 137, 13, 165, 140, 331, 164, 118, 85, 41, 131, 278, - 168, 225, 516, 287, 285, 260, 56, 99, 205, 101, 300, 318, - 107, 76, 289, 99, 233, 133, 171, 87, 300, 106, 141, 114, - 238, 91, 67, 427, 186, 263, 105, 199, 287, 311, 216, 79, - 124, 404, 38, 274, 209, 148, 139, 218, 284, 313, 162, 54, - 83, 403, 200, 233, 335, 222, 143, 112, 254, 91, 341, 132, - 115, 180, 206, 368, 262, 225, 70, 92, 323, 287, 195, 168, - 65, 250, 156, 208, 191, 78, 70, 167, 203, 288, 258, 251, - 171, 205, 145, 191, 223, 78, 174, 245, 239, 369, 125, 63, - 264, 131, 397, 222, 193, 262, 151, 206, 185, 256, 191, 182, - 131, 161, 238, 17, 202, 275, 187, 74, 312, 231, 206, 106, - 244, 335, 185, 97, 126, 144, 113, 387, 148, 279, 117, 500, - 86, 267, 305, 209, 84, 85, 715, 215, 133, 364, 283, 339, - 112, 431, 137, 204, 40, 209, 152, 228, 282, 204, 174, 106, - 76, 72, 152, 341, 119, 167, 177, 115, 122, 120, 151, 201, - 432, 159, 91, 278, 286, 138, 271, 197, 215, 189, 85, 138, - 101, 122, 100, 329, 120, 97, 240, 99, 41, 134, 135, 71, - 238, 33, 80, 109, 86, 89, 21, 189, 179, 155, 51, 186, - 143, 127, 31, 70, 118, 67, 60, 144, 110, 67, 169, 91, - 77, 32, 71, 699, 449, 674, 551, 681, 186, 678, 773, 355, - 485, 465, 518, 150, 775, 528, 759, 253, 576, 373, 620, 654, - 643, 652, 196, 526, 182, 89, 924, 618, 759, 272, 348, 829, - 879, 204, 361, 440, 822, 592, 414, 758, 654, 454, 889, 635, - 778, 673, 727, 330, 536, 795, 203, 755, 783, 441, 863, 626, - 763, 333, 830, 771, 566, 737, 498, 761, 881, 645, 935, 919, - 903, 537, 416, 675, 167, 485, 366, 843, 771, 700, 445, 284, - 429, 313, 381, 909, 625, 585, 285, 333, 733, 773, 399, 600, - 541, 407, 697, 248, 450, 678, 468, 322, 672, 828, 509, 757, - 500, 228, 718, 745, 244, 693, 315, 681, 257, 627, 748, 343, - 456, 259, 713, 475, 431, 408, 952, 619, 604, 683, 489, 416, - 722, 500, 794, 917, 839, 357, 790, 901, 462, 568, 830, 961, - 101, 335, 636, 847, 857, 959, 703, 566, 466, 436, 964, 226, - 289, 910, 540, 491, 356, 742, 259, 632, 752, 302, 778, 160, - 662, 720, 315, 765, 569, 505, 660, 796, 535, 460, 612, 580, - 691, 979, 872, 339, 753, 51, 760, 568, 370, 643, 853, 566, - 559, 453, 831, 597, 501, 803, 750, 571, 465, 613, 299, 563, - 379, 691, 837, 450, 552, 603, 290, 880, 174, 890, 370, 545, - 357, 933, 764, 636, 658, 182, 547, 732, 578, 439, 321, 450, - 563, 763, 444, 659, 627, 610, 929, 459, 487, 363, 430, 376, - 233, 166, 680, 687, 623, 397, 417, 738, 900, 478, 617, 849, - 933, 670, 570, 450, 578, 852, 781, 371, 939, 836, 602, 606, - 425, 267, 670, 615, 625, 632, 704, 899, 480, 485, 521, 820, - 622, 391, 626, 265, 284, 590, 624, 881, 345, 709, 415, 1005, - 886, 600, 130, 405, 699, 329, 650, 630, 358, 519, 619, 971, - 664, 710, 621, 873, 541, 777, 821, 560, 305, 620, 438, 305, - 103, 692, 928, 236, 498, 481, 688, 803, 303, 620, 358, 948, - 242, 722, 752, 311, 629, 819, 610, 825, 748, 434, 798, 669, - 700, 802, 669, 890, 752, 430, 504, 402, 800, 635, 992, 426, - 271, 571, 413, 784, 345, 269, 602, 441, 207, 848, 637, 541, - 573, 410, 215, 631, 586, 930, 679, 530, 467, 884, 606, 223, - 660, 623, 809, 862, 945, 370, 772, 539, 350, 405, 830, 432, - 476, 574, 894, 836, 695, 362, 336, 696, 860, 422, 561, 959, - 962, 454, 951, 516, 914, 716, 904, 581, 300, 598, 497, 662, - 400, 573, 657, 852, 499, 607, 771, 575, 855, 719, 762, 603, - 845, 176, 808, 588, 810, 575, 781, 975, 340, 632, 478, 945, - 639, 414, 172, 906, 888, 665, 815, 334, 470, 720, 902, 544, - 680, 890, 811, 746, 981, 542, 914, 605, 590, 117, 490, 865, - 134, 831, 687, 832, 835, 528, 726, 640, 516, 519, 773, 855, - 809, 648, 806, 901, 629, 543, 264, 452, 729, 788, 727, 843, - 892, 493, 580, 567, 957, 668, 252, 509, 743, 625, 871, 706, - 408, 555, 638, 885, 518, 595, 775, 906, 739, 236, 647, 484, - 730, 361, 908, 717, 695, 408, 559, 746, 888, 370, 639, 366, - 788, 877, 459, 437, 765, 518, 443, 635, 817, 322, 882, 419, - 851, 938, 702, 314, 781, 942, 609, 951, 837, 360, 707, 711, - 782, 718, 510, 329, 824, 658, 757, 438, 409, 421, 954, 718, - 969, 642, 403, 705, 246, 402, 906, 741, 597, 711, 526, 732, - 623, 580, 777, 497, 825, 839, 575, 638, 692, 822, 380, 392, - 493, 525, 558, 512, 565, 987, 917, 643, 286, 455, 440, 529, - 250, 270, 865, 640, 704, 681, 107, 848, 634, 514, 931, 311, - 948, 302, 576, 684, 696, 950, 616, 677, 801, 276, 382, 493, - 706, 403, 873, 591, 577, 905, 332, 524, 756, 417, 713, 925, - 738, 677, 232, 680, 682, 515, 833, 613, 404, 567, 748, 814, - 799, 318, 871, 641, 698, 280, 834, 918, 615, 967, 476, 469, - 880, 919, 465, 666, 682, 560, 674, 736, 779, 803, 772, 639, - 381, 759, 487, 508, 599, 463, 652, 732, 757, 475, 437, 549, - 469, 818, 638, 393, 685, 787, 819, 614, 696, 494, 866, 417, - 611, 572, 687, 514, 533, 667, 567, 375, 815, 737, 990, 691, - 532, 637, 859, 299, 786, 472, 409, 564, 700, 239, 933, 358, - 346, 589, 613, 391, 588, 367, 731, 312, 518, 345, 710, 804, - 702, 215, 194, 986, 583, 550, 629, 935, 429, 796, 291, 410, - 899, 455, 369, 679, 828, 812, 784, 669, 480, 699, 585, 788, - 278, 463, 626, 723, 707, 595, 717, 734, 795, 593, 839, 563, - 362, 690, 895, 858, 766, 251, 495, 495, 240, 365, 483, 714, - 851, 486, 588, 878, 257, 658, 1007, 703, 708, 773, 805, 474, - 149, 770, 619, 601, 553, 794, 738, 354, 456, 586, 569, 758, - 317, 272, 504, 371, 190, 220, 68, 292, 297, 360, 236, 202, - 102, 108, 178, 285, 207, 233, 538, 339, 333, 266, 114, 109, - 213, 214, 332, 340, 298, 78, 429, 316, 266, 195, 247, 248, - 429, 348, 244, 127, 283, 105, 128, 540, 311, 347, 151, 220, - 317, 386, 226, 114, 270, 416, 246, 280, 378, 163, 143, 227, - 299, 488, 197, 211, 164, 455, 223, 237, 422, 382, 154, 231, - 286, 95, 357, 202, 244, 219, 208, 384, 422, 295, 192, 193, - 353, 301, 262, 278, 92, 358, 196, 239, 333, 118, 156, 264, - 384, 395, 299, 388, 278, 263, 240, 195, 225, 99, 192, 317, - 368, 371, 206, 220, 360, 133, 505, 385, 378, 265, 164, 226, - 362, 362, 213, 367, 139, 191, 252, 174, 215, 460, 209, 87, - 422, 295, 262, 115, 327, 340, 231, 163, 160, 157, 144, 420, - 348, 297, 450, 506, 204, 270, 401, 218, 94, 103, 761, 328, - 189, 398, 293, 392, 118, 491, 247, 235, 82, 225, 219, 275, - 291, 263, 183, 110, 178, 137, 212, 377, 187, 221, 420, 146, - 338, 261, 237, 210, 471, 244, 202, 421, 318, 297, 291, 203, - 257, 240, 201, 232, 175, 265, 161, 332, 141, 198, 283, 176, - 95, 160, 142, 98, 275, 62, 215, 145, 100, 115, 80, 255, - 192, 190, 110, 229, 178, 151, 64, 210, 160, 81, 140, 211, - 289, 79, 213, 108, 98, 71, 93, 835, 458, 879, 708, 820, - 772, 907, 993, 560, 690, 482, 821, 556, 940, 760, 912, 508, - 816, 406, 739, 864, 679, 867, 779, 927, 724, 702, 1021, 624, - 1017, 997, 558, 908, 892, 379, 438, 656, 826, 675, 747, 908, - 717, 943, 955, 1002, 973, 961, 914, 359, 764, 827, 351, 804, - 1004, 996, 929, 929, 956, 737, 972, 791, 1010, 954, 742, 981, - 946, 895, 956, 923, 974, 979, 938, 889, 251, 1018, 735, 995, - 1023, 849, 742, 392, 850, 780, 503, 1020, 802, 721, 552, 723, - 860, 1006, 516, 639, 825, 880, 902, 686, 549, 896, 651, 906, - 985, 930, 514, 790, 897, 269, 924, 832, 733, 1014, 855, 718, - 395, 923, 1010, 826, 738, 545, 898, 850, 612, 992, 1004, 767, - 936, 987, 615, 832, 807, 835, 881, 968, 934, 860, 838, 939, - 667, 688, 893, 984, 875, 989, 789, 891, 1003, 1019, 979, 875, - 719, 642, 990, 775, 860, 918, 615, 730, 607, 931, 271, 649, - 912, 727, 850, 786, 838, 905, 442, 941, 830, 764, 852, 960, - 1020, 661, 918, 806, 913, 1023, 894, 684, 904, 352, 975, 868, - 685, 705, 912, 618, 844, 624, 1021, 861, 589, 1001, 949, 665, - 922, 895, 761, 843, 601, 808, 973, 1009, 790, 739, 458, 980, - 809, 976, 733, 622, 616, 1010, 885, 1015, 716, 323, 783, 822, - 594, 481, 947, 825, 822, 867, 758, 972, 663, 712, 948, 751, - 698, 937, 828, 882, 372, 836, 764, 728, 741, 448, 595, 856, - 916, 952, 724, 1022, 983, 883, 787, 502, 709, 996, 1001, 572, - 957, 940, 878, 874, 461, 593, 700, 995, 870, 844, 817, 941, - 754, 585, 715, 944, 898, 971, 840, 801, 750, 740, 712, 952, - 897, 1016, 558, 1008, 973, 988, 589, 466, 853, 690, 866, 686, - 587, 758, 647, 983, 940, 1024, 905, 887, 715, 803, 867, 807, - 776, 882, 835, 337, 254, 833, 1001, 903, 760, 528, 915, 944, - 512, 887, 507, 993, 301, 941, 926, 332, 741, 962, 800, 991, - 892, 792, 945, 787, 827, 869, 707, 1005, 759, 473, 605, 406, - 1004, 1007, 1011, 932, 312, 910, 876, 927, 770, 733, 915, 871, - 725, 882, 977, 709, 813, 544, 701, 810, 648, 1024, 896, 870, - 805, 937, 872, 604, 1023, 1022, 845, 889, 1006, 454, 792, 826, - 415, 965, 976, 517, 674, 815, 913, 1018, 842, 422, 678, 789, - 920, 946, 851, 1012, 987, 840, 1014, 1005, 925, 769, 982, 816, - 978, 824, 856, 790, 649, 933, 954, 960, 598, 709, 796, 736, - 901, 965, 916, 655, 950, 866, 896, 931, 878, 780, 920, 1002, - 924, 868, 725, 1011, 675, 583, 259, 926, 1012, 918, 1009, 603, - 551, 877, 950, 957, 1006, 928, 967, 814, 991, 846, 994, 732, - 871, 734, 884, 878, 269, 953, 966, 1013, 955, 591, 909, 744, - 768, 571, 891, 940, 890, 812, 976, 986, 1022, 1004, 443, 985, - 986, 808, 969, 911, 977, 719, 893, 974, 1017, 799, 473, 739, - 752, 1019, 996, 865, 891, 813, 873, 975, 831, 845, 904, 978, - 767, 982, 922, 492, 1011, 592, 955, 869, 726, 839, 649, 798, - 964, 837, 862, 671, 913, 978, 861, 577, 914, 937, 1008, 708, - 876, 666, 963, 856, 1024, 1013, 869, 626, 902, 999, 855, 993, - 841, 921, 823, 824, 862, 828, 608, 581, 904, 998, 838, 859, - 843, 735, 1017, 793, 994, 920, 997, 1023, 506, 868, 916, 840, - 722, 721, 980, 997, 854, 972, 1001, 968, 875, 883, 1007, 963, - 783, 941, 807, 989, 816, 998, 915, 602, 750, 998, 1000, 979, - 644, 785, 909, 570, 288, 522, 988, 749, 980, 766, 526, 873, - 962, 638, 947, 854, 1006, 337, 747, 991, 838, 1005, 841, 985, - 879, 455, 844, 965, 908, 590, 949, 760, 647, 910, 920, 676, - 1002, 793, 989, 969, 785, 755, 880, 792, 939, 728, 907, 662, - 491, 794, 932, 844, 969, 986, 990, 693, 900, 461, 836, 955, - 997, 981, 554, 508, 947, 944, 577, 916, 987, 669, 811, 1007, - 789, 923, 985, 994, 384, 966, 538, 1014, 919, 730, 745, 740, - 963, 574, 456, 574, 589, 852, 848, 744, 840, 861, 961, 737, - 1015, 808, 894, 820, 646, 864, 943, 584, 935, 817, 946, 485, - 886, 957, 996, 874, 778, 967, 1024, 988, 798, 555, 511, 595, - 863, 655, 971, 659, 949, 841, 999, 800, 804, 936, 776, 545, - 1021, 385, 851, 814, 730, 330, 963, 998, 656, 673, 687, 938, - 685, 953, 1011, 795, 925, 816, 486, 705, 911, 819, 917, 823, - 976, 912, 1018, 896, 857, 672, 1022, 729, 811, 697, 1012, 834, - 901, 657, 992, 731, 971, 747, 942, 1016, 919, 968, 995, 513, - 936, 462, 959, 983, 859, 977, 927, 988, 404, 664, 1009, 984, - 947, 951, 934, 879, 214, 897, 970, 670, 761, 982, 922, 983, - 506, 894, 778, 1020, 442, 276, 509, 392, 307, 375, 314, 457, - 313, 394, 365, 205, 120, 128, 237, 297, 452, 236, 581, 345, - 512, 292, 393, 158, 290, 258, 378, 515, 382, 213, 593, 368, - 348, 210, 305, 259, 432, 362, 301, 169, 336, 118, 199, 658, - 329, 369, 186, 338, 411, 462, 233, 187, 452, 428, 326, 288, - 442, 327, 217, 318, 349, 490, 377, 426, 388, 490, 245, 335, - 475, 433, 290, 292, 391, 219, 460, 237, 255, 225, 281, 450, - 437, 416, 206, 243, 386, 313, 336, 292, 170, 375, 215, 258, - 339, 173, 164, 322, 422, 463, 319, 441, 336, 316, 446, 229, - 247, 112, 362, 382, 481, 382, 398, 237, 418, 261, 522, 436, - 392, 345, 174, 366, 370, 384, 276, 369, 142, 251, 403, 216, - 269, 537, 330, 102, 444, 311, 303, 203, 332, 387, 354, 203, - 214, 352, 175, 427, 397, 388, 462, 617, 319, 304, 536, 374, - 441, 153, 789, 336, 193, 484, 333, 479, 142, 682, 345, 284, - 152, 256, 237, 286, 381, 283, 246, 180, 509, 240, 261, 473, - 196, 302, 424, 249, 453, 267, 257, 216, 511, 264, 266, 502, - 354, 333, 397, 254, 264, 384, 341, 346, 354, 275, 165, 359, - 166, 208, 328, 186, 160, 253, 156, 144, 285, 192, 288, 310, - 213, 260, 220, 263, 296, 241, 134, 317, 306, 184, 69, 217, - 204, 111, 181, 234, 320, 96, 268, 139, 117, 135, 122, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 479, 287, 704, 405, - 386, 383, 470, 552, 491, 423, 431, 238, 158, 164, 349, 312, - 488, 238, 665, 363, 543, 343, 404, 304, 377, 328, 415, 558, - 596, 513, 605, 396, 373, 285, 326, 281, 564, 365, 304, 177, - 374, 126, 302, 686, 379, 453, 388, 419, 531, 572, 264, 414, - 540, 557, 352, 367, 498, 476, 426, 399, 394, 535, 382, 447, - 424, 530, 327, 341, 513, 506, 323, 312, 532, 279, 467, 245, - 313, 332, 299, 482, 439, 429, 234, 314, 653, 322, 342, 314, - 247, 379, 503, 437, 511, 318, 319, 382, 528, 564, 494, 457, - 339, 437, 615, 266, 393, 214, 421, 396, 510, 389, 452, 298, - 472, 294, 553, 523, 488, 642, 266, 378, 400, 478, 286, 413, - 148, 309, 438, 579, 352, 615, 379, 117, 745, 324, 322, 219, - 383, 418, 416, 213, 247, 355, 273, 449, 415, 511, 492, 701, - 398, 308, 561, 398, 484, 365, 845, 369, 231, 495, 436, 483, - 211, 706, 349, 327, 169, 302, 322, 375, 502, 547, 328, 341, - 614, 338, 300, 508, 493, 398, 440, 280, 471, 395, 448, 310, - 673, 293, 290, 539, 396, 613, 510, 282, 267, 391, 372, 353, - 377, 303, 198, 420, 176, 373, 361, 196, 193, 301, 170, 174, - 357, 247, 298, 350, 252, 287, 241, 358, 315, 250, 142, 342, - 325, 192, 71, 256, 307, 218, 238, 267, 371, 107, 301, 180, - 127, 165, 199, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 500, 482, 834, 496, 420, 510, 526, 598, 537, 471, 505, 264, - 272, 221, 386, 317, 702, 305, 670, 367, 658, 386, 433, 405, - 406, 429, 471, 579, 664, 615, 643, 401, 427, 353, 449, 348, - 570, 535, 312, 412, 476, 146, 348, 731, 397, 500, 471, 451, - 701, 618, 318, 423, 627, 571, 395, 379, 524, 541, 469, 549, - 401, 652, 445, 592, 551, 534, 454, 517, 530, 519, 366, 339, - 569, 316, 634, 278, 420, 528, 314, 596, 569, 514, 308, 320, - 681, 375, 540, 460, 472, 390, 537, 470, 534, 339, 380, 391, - 552, 630, 496, 556, 393, 461, 656, 320, 504, 285, 518, 438, - 739, 414, 465, 309, 548, 355, 583, 527, 518, 733, 345, 427, - 577, 572, 346, 622, 393, 347, 441, 635, 359, 683, 552, 324, - 808, 358, 376, 259, 385, 446, 438, 620, 381, 424, 340, 482, - 424, 520, 500, 745, 538, 341, 663, 422, 507, 447, 877, 501, - 313, 600, 469, 526, 273, 763, 414, 367, 218, 485, 407, 387, - 543, 584, 497, 513, 646, 404, 364, 531, 521, 500, 544, 308, - 554, 433, 529, 406, 710, 345, 390, 573, 567, 652, 588, 298, - 389, 493, 379, 377, 477, 468, 317, 530, 207, 379, 387, 224, - 198, 342, 264, 212, 394, 284, 351, 364, 269, 316, 249, 380, - 334, 259, 163, 363, 424, 203, 75, 259, 336, 239, 317, 289, - 415, 113, 305, 218, 143, 201, 225, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 518, 616, 874, 678, 500, 605, 536, 674, - 633, 515, 536, 277, 428, 321, 417, 334, 727, 325, 677, 394, - 688, 559, 457, 435, 583, 480, 562, 644, 679, 639, 752, 425, - 608, 393, 546, 568, 596, 738, 344, 582, 609, 412, 480, 736, - 465, 580, 692, 557, 714, 691, 453, 577, 636, 767, 435, 396, - 588, 607, 586, 650, 429, 703, 459, 613, 570, 646, 660, 593, - 575, 529, 392, 517, 630, 341, 783, 601, 422, 614, 356, 641, - 599, 661, 463, 382, 728, 663, 584, 501, 565, 446, 576, 506, - 564, 374, 395, 545, 573, 636, 501, 653, 553, 622, 659, 454, - 555, 321, 603, 447, 781, 479, 480, 404, 666, 487, 596, 573, - 533, 791, 409, 745, 612, 671, 507, 733, 479, 360, 537, 848, - 494, 710, 565, 441, 820, 547, 443, 276, 425, 504, 555, 656, - 410, 459, 445, 489, 449, 554, 505, 763, 565, 371, 698, 438, - 574, 471, 893, 571, 413, 675, 490, 561, 301, 775, 428, 402, - 323, 582, 444, 711, 546, 641, 618, 520, 698, 550, 473, 561, - 651, 544, 727, 346, 595, 515, 603, 520, 746, 513, 396, 636, - 594, 699, 620, 472, 485, 562, 440, 573, 512, 508, 358, 611, - 219, 386, 451, 236, 270, 373, 308, 293, 440, 331, 434, 376, - 284, 358, 257, 385, 340, 282, 205, 370, 444, 223, 85, 311, - 362, 271, 329, 375, 427, 188, 335, 235, 162, 227, 272, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 833, 620, 897, 706, - 643, 609, 545, 678, 827, 532, 699, 361, 432, 641, 581, 337, - 737, 436, 682, 456, 773, 573, 606, 695, 635, 631, 581, 694, - 794, 647, 779, 445, 611, 525, 556, 614, 668, 767, 418, 586, - 746, 574, 497, 826, 520, 713, 709, 581, 727, 804, 527, 631, - 645, 826, 576, 515, 625, 685, 628, 667, 526, 726, 513, 678, - 790, 669, 715, 629, 741, 671, 420, 569, 667, 373, 801, 673, - 618, 643, 497, 712, 645, 667, 482, 676, 745, 694, 620, 522, - 861, 459, 726, 567, 667, 460, 470, 572, 578, 663, 552, 761, - 729, 646, 663, 500, 573, 473, 650, 469, 786, 510, 556, 423, - 713, 519, 628, 686, 607, 812, 451, 860, 680, 726, 527, 736, - 494, 445, 612, 881, 506, 771, 659, 569, 835, 586, 544, 297, - 582, 527, 560, 689, 601, 466, 548, 558, 483, 700, 507, 767, - 650, 439, 709, 676, 586, 545, 902, 585, 486, 733, 520, 608, - 452, 821, 484, 687, 350, 587, 521, 753, 621, 680, 675, 834, - 745, 569, 496, 571, 704, 631, 796, 698, 608, 572, 620, 573, - 794, 690, 475, 651, 607, 701, 784, 506, 565, 564, 468, 664, - 714, 536, 383, 657, 262, 455, 519, 284, 330, 396, 344, 337, - 461, 395, 448, 525, 356, 417, 262, 410, 394, 302, 292, 431, - 465, 250, 150, 347, 430, 322, 539, 421, 480, 220, 378, 250, - 175, 248, 324, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 879, 649, 931, 749, 689, 722, 548, 721, 829, 536, 741, 372, - 490, 708, 590, 515, 772, 615, 686, 468, 836, 837, 628, 762, - 685, 644, 664, 705, 899, 697, 797, 573, 814, 647, 577, 681, - 690, 804, 486, 774, 754, 584, 514, 841, 571, 793, 713, 616, - 842, 842, 651, 808, 714, 866, 580, 609, 655, 759, 710, 698, - 671, 766, 546, 825, 815, 684, 744, 729, 758, 683, 487, 596, - 806, 562, 883, 749, 779, 703, 558, 715, 721, 813, 522, 730, - 785, 718, 726, 643, 890, 789, 810, 601, 694, 514, 582, 602, - 615, 717, 591, 766, 741, 692, 682, 550, 810, 635, 657, 504, - 793, 559, 633, 567, 732, 550, 670, 749, 659, 881, 455, 890, - 841, 863, 547, 756, 531, 504, 699, 905, 661, 818, 686, 709, - 844, 608, 603, 323, 633, 595, 581, 768, 722, 554, 594, 632, - 642, 707, 625, 935, 816, 502, 749, 710, 595, 770, 936, 641, - 499, 754, 591, 625, 491, 831, 548, 717, 484, 593, 565, 825, - 634, 748, 694, 938, 750, 702, 523, 666, 857, 759, 846, 783, - 822, 614, 633, 608, 871, 694, 514, 653, 635, 718, 792, 517, - 601, 728, 527, 849, 728, 686, 440, 710, 294, 538, 540, 350, - 351, 413, 399, 351, 496, 398, 453, 547, 388, 514, 271, 451, - 408, 316, 346, 433, 507, 293, 239, 365, 436, 392, 550, 430, - 498, 226, 404, 283, 216, 274, 343, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 885, 655, 951, 765, 743, 744, 687, 803, - 840, 586, 797, 444, 546, 780, 623, 574, 786, 635, 699, 493, - 873, 876, 637, 817, 695, 688, 757, 753, 956, 711, 854, 643, - 823, 823, 618, 947, 706, 810, 511, 776, 795, 587, 532, 853, - 605, 818, 773, 646, 906, 870, 656, 858, 738, 887, 685, 672, - 662, 837, 714, 730, 784, 808, 684, 864, 871, 883, 817, 760, - 783, 739, 524, 619, 829, 569, 934, 839, 875, 764, 677, 735, - 813, 827, 688, 735, 798, 786, 796, 968, 904, 827, 842, 693, - 870, 600, 683, 677, 667, 744, 597, 812, 819, 710, 761, 567, - 873, 650, 666, 798, 815, 629, 642, 697, 748, 870, 748, 764, - 787, 887, 541, 974, 864, 896, 565, 780, 688, 530, 703, 929, - 831, 835, 718, 758, 887, 643, 648, 869, 636, 599, 611, 785, - 840, 627, 630, 769, 656, 726, 634, 943, 853, 528, 818, 750, - 604, 774, 954, 685, 649, 824, 670, 766, 525, 847, 585, 802, - 512, 698, 667, 847, 681, 823, 734, 960, 862, 719, 850, 683, - 876, 776, 877, 827, 874, 751, 701, 613, 911, 708, 599, 696, - 683, 736, 900, 704, 728, 771, 689, 858, 828, 700, 472, 752, - 311, 568, 596, 389, 390, 472, 474, 404, 524, 406, 469, 552, - 462, 555, 281, 468, 512, 339, 350, 444, 589, 310, 302, 417, - 453, 402, 622, 479, 525, 260, 438, 294, 253, 299, 354, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 901, 922, 983, 782, - 817, 878, 792, 832, 945, 675, 877, 448, 913, 803, 737, 582, - 833, 640, 782, 604, 908, 945, 646, 834, 915, 862, 903, 809, - 967, 867, 905, 814, 884, 851, 746, 951, 791, 829, 539, 806, - 797, 667, 676, 929, 646, 828, 823, 656, 950, 889, 665, 885, - 798, 914, 753, 702, 695, 869, 803, 736, 839, 865, 843, 893, - 894, 891, 857, 828, 818, 830, 528, 812, 890, 650, 941, 863, - 897, 784, 680, 799, 815, 888, 694, 949, 809, 799, 830, 980, - 930, 892, 898, 927, 884, 844, 804, 697, 708, 979, 607, 839, - 915, 830, 869, 671, 920, 784, 751, 850, 836, 790, 777, 769, - 813, 880, 838, 954, 843, 953, 911, 986, 875, 967, 663, 820, - 788, 552, 715, 937, 844, 894, 779, 784, 898, 872, 683, 874, - 821, 817, 625, 832, 911, 690, 642, 829, 770, 751, 770, 970, - 932, 567, 883, 766, 690, 818, 972, 899, 790, 829, 876, 797, - 603, 950, 664, 870, 576, 809, 724, 859, 806, 926, 792, 995, - 893, 791, 863, 819, 910, 805, 926, 831, 907, 769, 789, 746, - 937, 781, 727, 865, 755, 807, 913, 842, 743, 836, 769, 923, - 925, 794, 573, 828, 361, 625, 672, 400, 400, 501, 492, 673, - 549, 426, 522, 572, 477, 578, 307, 513, 529, 470, 402, 482, - 612, 332, 331, 486, 466, 519, 644, 484, 551, 269, 443, 298, - 269, 326, 367, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 952, 936, 1003, 971, 858, 884, 881, 999, 964, 689, 880, 495, - 974, 934, 846, 590, 868, 657, 806, 720, 927, 984, 966, 925, - 938, 887, 982, 850, 978, 928, 943, 825, 916, 864, 775, 1000, - 994, 924, 691, 955, 910, 695, 839, 977, 917, 924, 893, 931, - 955, 994, 725, 989, 863, 919, 802, 804, 774, 940, 867, 821, - 1016, 925, 937, 900, 909, 896, 891, 837, 910, 923, 949, 923, - 933, 671, 970, 972, 900, 846, 715, 921, 899, 911, 863, 954, - 885, 805, 848, 1005, 953, 962, 976, 968, 920, 919, 899, 831, - 798, 1000, 681, 846, 958, 859, 905, 688, 1007, 801, 931, 889, - 880, 834, 797, 881, 864, 900, 925, 959, 942, 969, 961, 992, - 925, 970, 692, 842, 796, 911, 724, 1010, 999, 935, 851, 973, - 971, 913, 841, 888, 895, 901, 720, 950, 946, 728, 749, 930, - 936, 910, 857, 973, 964, 725, 899, 845, 701, 824, 1015, 950, - 794, 958, 998, 821, 753, 957, 697, 888, 762, 871, 761, 873, - 811, 951, 841, 1001, 903, 850, 948, 846, 993, 939, 980, 886, - 912, 954, 856, 755, 969, 959, 785, 911, 808, 881, 933, 957, - 854, 878, 821, 953, 931, 903, 860, 960, 453, 648, 750, 483, - 482, 586, 526, 676, 557, 446, 570, 601, 504, 609, 667, 543, - 670, 474, 431, 608, 639, 468, 511, 616, 468, 598, 680, 490, - 583, 288, 470, 308, 297, 393, 391, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 994, 943, 1016, 1017, 886, 1023, 978, 1002, - 1002, 756, 927, 505, 991, 983, 1010, 770, 891, 925, 897, 1023, - 1003, 992, 1021, 946, 1009, 921, 995, 886, 1009, 934, 966, 935, - 943, 903, 892, 1013, 1024, 940, 934, 1013, 1007, 999, 909, 982, - 983, 937, 1020, 992, 968, 1003, 740, 1003, 976, 1013, 1017, 824, - 956, 1008, 943, 1009, 1022, 1001, 977, 985, 953, 955, 958, 878, - 964, 930, 962, 965, 935, 737, 992, 993, 932, 993, 917, 1014, - 942, 936, 950, 987, 1002, 855, 1024, 1019, 977, 995, 982, 1010, - 1019, 921, 931, 873, 927, 1006, 742, 974, 1017, 940, 969, 938, - 1015, 952, 956, 928, 976, 872, 1017, 936, 945, 1023, 992, 990, - 955, 1012, 995, 999, 943, 983, 999, 999, 923, 958, 990, 1017, - 1020, 1000, 1007, 1015, 1006, 928, 940, 929, 937, 1001, 723, 1017, - 962, 765, 950, 1000, 1011, 922, 912, 978, 989, 864, 930, 891, - 768, 826, 1024, 1010, 989, 979, 1021, 868, 824, 1019, 1020, 894, - 911, 973, 958, 1018, 981, 969, 858, 1018, 926, 999, 1021, 907, - 1004, 942, 1008, 975, 932, 1001, 868, 854, 997, 1008, 925, 919, - 1022, 1024, 1000, 1001, 935, 981, 823, 980, 972, 946, 1010, 988, - 455, 654, 786, 487, 497, 655, 578, 695, 580, 494, 572, 632, - 531, 679, 682, 597, 703, 541, 499, 610, 751, 479, 531, 662, - 488, 617, 686, 645, 587, 400, 485, 354, 302, 436, 541, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 457, 667, 789, 582, 536, 676, 662, 705, - 674, 510, 629, 660, 559, 748, 685, 610, 708, 610, 570, 640, - 787, 514, 549, 728, 532, 619, 722, 661, 626, 403, 492, 368, - 308, 445, 561, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 460, 692, 813, 645, - 594, 720, 739, 787, 763, 537, 655, 732, 581, 750, 688, 614, - 759, 632, 581, 718, 795, 521, 584, 744, 613, 684, 785, 685, - 705, 421, 496, 383, 311, 460, 653, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 494, 714, 818, 654, 696, 734, 801, 810, 766, 541, 700, 773, - 588, 758, 750, 668, 793, 736, 628, 752, 801, 725, 595, 786, - 618, 720, 805, 702, 711, 425, 499, 407, 330, 503, 679, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 502, 725, 872, 664, 796, 746, 855, 847, - 800, 543, 723, 819, 608, 841, 765, 704, 811, 753, 641, 886, - 884, 730, 669, 853, 623, 764, 846, 858, 714, 442, 602, 497, - 370, 505, 704, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 676, 751, 874, 723, - 861, 761, 866, 856, 822, 554, 742, 867, 681, 861, 777, 714, - 820, 810, 709, 940, 890, 829, 729, 881, 697, 785, 905, 912, - 719, 450, 604, 551, 385, 570, 707, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 781, 805, 922, 803, 873, 900, 872, 860, 875, 672, 805, 894, - 696, 867, 823, 763, 851, 836, 760, 956, 899, 887, 807, 886, - 780, 833, 935, 927, 723, 464, 627, 597, 411, 579, 722, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 824, 850, 957, 840, 888, 926, 905, 963, - 878, 677, 885, 910, 725, 871, 855, 765, 949, 863, 845, 970, - 927, 916, 869, 921, 812, 842, 961, 959, 766, 476, 630, 616, - 419, 585, 770, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 910, 981, 971, 843, - 891, 942, 964, 984, 917, 706, 921, 944, 762, 898, 889, 824, - 957, 876, 856, 981, 982, 928, 872, 939, 835, 866, 967, 965, - 785, 486, 651, 622, 429, 587, 786, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1010, 988, 975, 975, 916, 978, 1001, 990, 933, 745, 1007, 974, - 936, 970, 1002, 982, 961, 907, 988, 987, 985, 941, 895, 955, - 930, 910, 997, 981, 795, 521, 669, 639, 440, 649, 795, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1016, 990, 984, 1024, 985, 991, 1012, 1001, - 959, 959, 1013, 976, 944, 1013, 1021, 1020, 989, 946, 1022, 1005, - 989, 999, 1002, 1004, 984, 921, 1020, 1014, 1015, 538, 682, 654, - 456, 733, 814, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 553, 755, 673, 583, 751, 843, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 562, 759, 702, 624, 757, 845, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 566, 812, 718, - 724, 765, 852, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 593, 838, 721, 731, 799, 864, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 604, 858, 806, 735, 813, 889, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 611, 894, 826, - 742, 902, 904, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 613, 916, 849, 772, 916, 926, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 637, 921, 908, 789, 932, 934, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 673, 970, 945, - 798, 955, 944, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 683, 997, 1019, 812, 960, 965, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 706, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 747, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 776, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 788, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 793, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 801, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 813, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 848, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 852, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 862, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 868, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 870, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 906, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 951, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 980, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 998, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1015, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_1024_2048_4f.h b/vendor/codec2_flutter_ios_only/src/codec2/src/H_1024_2048_4f.h deleted file mode 100644 index b4ae6ff..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_1024_2048_4f.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - FILE....: H_1024_2048_4f.h - - Static arrays for LDPC codec H_1024_2048_4f, generated by ldpc_gen_c_h_file.m. -*/ - -#define H_1024_2048_4f_NUMBERPARITYBITS 1024 -#define H_1024_2048_4f_MAX_ROW_WEIGHT 12 -#define H_1024_2048_4f_CODELENGTH 2048 -#define H_1024_2048_4f_NUMBERROWSHCOLS 1024 -#define H_1024_2048_4f_MAX_COL_WEIGHT 54 -#define H_1024_2048_4f_DEC_TYPE 0 -#define H_1024_2048_4f_MAX_ITER 100 - -#include - -extern const uint16_t H_1024_2048_4f_H_rows[]; -extern const uint16_t H_1024_2048_4f_H_cols[]; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_128_256_5.c b/vendor/codec2_flutter_ios_only/src/codec2/src/H_128_256_5.c deleted file mode 100644 index 0aa6250..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_128_256_5.c +++ /dev/null @@ -1,198 +0,0 @@ -/* - FILE....: H_128_256_5.c - - Static arrays for LDPC codec H_128_256_5, generated by ldpc_gen_c_h_file.m. -*/ - -#include "H_128_256_5.h" - -#include - -const uint16_t H_128_256_5_H_rows[] = { - 2, 44, 14, 2, 15, 36, 28, 19, 17, 7, 20, 11, 3, 9, 12, - 13, 29, 7, 25, 11, 31, 13, 53, 15, 11, 6, 5, 61, 9, 13, - 7, 22, 8, 10, 5, 11, 32, 9, 8, 35, 17, 13, 11, 33, 1, - 33, 5, 14, 12, 21, 31, 1, 20, 2, 8, 7, 22, 4, 24, 31, - 71, 20, 10, 51, 3, 65, 6, 41, 3, 40, 35, 10, 6, 16, 37, - 24, 21, 4, 63, 8, 17, 9, 15, 5, 3, 7, 18, 33, 6, 36, - 1, 5, 74, 27, 18, 24, 22, 8, 22, 26, 23, 14, 39, 4, 30, - 24, 26, 29, 15, 2, 1, 3, 29, 23, 52, 56, 45, 12, 4, 28, - 23, 53, 29, 14, 16, 1, 41, 18, 70, 66, 50, 19, 37, 46, 61, - 21, 33, 32, 51, 21, 57, 28, 18, 37, 41, 23, 43, 47, 42, 16, - 83, 64, 66, 19, 41, 62, 10, 44, 9, 24, 46, 30, 13, 16, 41, - 17, 19, 39, 49, 54, 39, 43, 2, 55, 64, 26, 46, 45, 43, 12, - 21, 6, 40, 52, 32, 20, 85, 34, 73, 25, 42, 57, 25, 83, 34, - 53, 15, 61, 53, 46, 28, 36, 48, 51, 36, 25, 65, 44, 38, 72, - 48, 68, 12, 16, 37, 35, 45, 39, 25, 40, 80, 38, 22, 32, 49, - 34, 27, 57, 35, 34, 74, 19, 56, 38, 31, 32, 26, 82, 4, 18, - 58, 56, 67, 77, 76, 60, 80, 44, 86, 68, 57, 27, 37, 20, 44, - 29, 72, 71, 72, 42, 83, 50, 114, 48, 39, 67, 74, 30, 63, 51, - 47, 68, 47, 36, 52, 95, 82, 38, 89, 70, 77, 53, 78, 76, 84, - 78, 66, 64, 62, 55, 28, 17, 75, 27, 45, 68, 61, 67, 55, 49, - 14, 73, 86, 42, 55, 71, 67, 23, 50, 10, 59, 74, 80, 57, 113, - 50, 88, 30, 45, 90, 38, 105, 70, 66, 30, 86, 55, 59, 111, 89, - 105, 63, 58, 31, 69, 48, 54, 82, 63, 85, 26, 27, 49, 85, 62, - 52, 34, 70, 90, 59, 68, 74, 54, 60, 40, 60, 58, 40, 105, 87, - 58, 75, 54, 35, 47, 84, 50, 56, 73, 78, 80, 97, 107, 62, 91, - 49, 102, 71, 69, 33, 47, 46, 89, 103, 91, 83, 101, 97, 94, 65, - 117, 66, 88, 73, 101, 42, 76, 88, 77, 90, 48, 105, 61, 104, 107, - 52, 96, 100, 110, 60, 102, 92, 120, 79, 112, 87, 99, 81, 43, 93, - 114, 101, 70, 80, 75, 93, 65, 79, 92, 77, 108, 59, 79, 81, 86, - 95, 63, 51, 76, 86, 111, 81, 127, 98, 112, 100, 65, 91, 117, 110, - 96, 73, 59, 100, 69, 92, 120, 98, 122, 72, 112, 84, 94, 103, 84, - 85, 87, 88, 92, 77, 93, 116, 94, 79, 56, 111, 120, 64, 108, 107, - 90, 89, 75, 87, 67, 43, 113, 107, 93, 76, 64, 105, 96, 88, 118, - 94, 81, 89, 84, 98, 114, 78, 109, 115, 104, 78, 96, 54, 75, 58, - 104, 115, 118, 113, 126, 110, 99, 95, 128, 119, 109, 82, 109, 98, 103, - 113, 102, 113, 60, 119, 109, 106, 123, 128, 127, 117, 116, 81, 115, 124, - 123, 99, 122, 91, 100, 97, 121, 112, 122, 116, 83, 125, 104, 108, 71, - 102, 109, 93, 128, 95, 106, 103, 126, 110, 107, 69, 87, 123, 115, 120, - 128, 100, 115, 123, 72, 121, 0, 118, 121, 85, 106, 101, 110, 101, 124, - 99, 125, 117, 125, 97, 125, 106, 92, 114, 118, 91, 97, 108, 106, 126, - 117, 104, 62, 114, 122, 123, 127, 126, 124, 95, 102, 124, 79, 124, 116, - 111, 99, 90, 121, 127, 98, 111, 119, 96, 119, 108, 112, 119, 120, 103, - 126, 122, 116, 94, 118, 82, 127, 69, 128, 125}; - -const uint16_t H_128_256_5_H_cols[] = { - 45, 1, 13, 58, 27, 26, 10, 33, 14, 29, 12, 15, 16, 3, 5, - 22, 9, 15, 4, 11, 8, 32, 18, 32, 19, 48, 38, 7, 17, 12, - 21, 10, 9, 60, 40, 6, 5, 22, 9, 55, 17, 4, 19, 2, 39, - 6, 15, 8, 41, 3, 11, 19, 23, 42, 34, 91, 13, 77, 48, 17, - 7, 28, 13, 24, 6, 2, 10, 16, 54, 1, 2, 1, 10, 11, 37, - 13, 15, 27, 30, 40, 26, 10, 2, 29, 59, 47, 32, 9, 23, 16, - 1, 28, 36, 5, 6, 23, 4, 12, 5, 24, 3, 15, 13, 20, 18, - 20, 21, 42, 9, 4, 57, 31, 2, 7, 27, 25, 7, 1, 8, 29, - 35, 31, 21, 28, 40, 3, 23, 7, 52, 4, 65, 78, 35, 54, 18, - 39, 29, 34, 20, 49, 22, 45, 24, 36, 36, 87, 8, 53, 12, 57, - 52, 59, 62, 85, 86, 14, 108, 34, 51, 37, 44, 67, 71, 18, 16, - 65, 40, 70, 27, 12, 35, 30, 50, 33, 17, 17, 44, 6, 14, 22, - 26, 81, 43, 105, 58, 101, 55, 26, 19, 33, 53, 32, 43, 8, 42, - 40, 71, 24, 43, 3, 46, 56, 41, 28, 25, 30, 44, 57, 34, 21, - 5, 78, 68, 51, 55, 14, 74, 64, 32, 45, 42, 79, 20, 67, 34, - 60, 30, 33, 11, 27, 50, 41, 66, 49, 53, 47, 11, 25, 73, 36, - 14, 37, 57, 38, 24, 66, 18, 58, 64, 37, 29, 73, 75, 51, 59, - 22, 91, 45, 69, 104, 47, 67, 31, 55, 31, 54, 25, 52, 30, 48, - 69, 74, 38, 95, 26, 58, 50, 95, 101, 76, 65, 100, 94, 35, 113, - 62, 60, 57, 46, 91, 88, 74, 75, 81, 43, 92, 37, 21, 44, 80, - 63, 49, 20, 75, 87, 53, 54, 56, 68, 97, 46, 112, 64, 105, 69, - 98, 28, 89, 76, 47, 63, 25, 51, 84, 79, 39, 50, 63, 61, 93, - 99, 55, 46, 114, 49, 93, 50, 82, 23, 81, 82, 56, 83, 61, 98, - 93, 64, 72, 46, 89, 48, 109, 78, 74, 33, 60, 38, 44, 80, 90, - 75, 69, 96, 86, 19, 52, 92, 61, 16, 82, 61, 88, 65, 83, 111, - 73, 67, 75, 56, 97, 77, 88, 95, 47, 111, 54, 85, 111, 84, 73, - 56, 80, 38, 63, 36, 85, 35, 102, 83, 86, 41, 112, 39, 62, 53, - 97, 114, 96, 78, 107, 99, 73, 123, 69, 78, 96, 88, 98, 101, 77, - 87, 94, 90, 99, 68, 48, 51, 120, 89, 72, 109, 80, 97, 60, 64, - 90, 71, 107, 49, 114, 100, 113, 72, 100, 41, 91, 79, 94, 66, 31, - 101, 95, 123, 67, 61, 76, 68, 96, 106, 106, 86, 118, 90, 115, 58, - 110, 39, 110, 84, 70, 100, 84, 114, 97, 84, 81, 87, 112, 52, 112, - 85, 109, 74, 62, 70, 99, 118, 121, 103, 80, 104, 95, 45, 66, 104, - 77, 59, 92, 120, 103, 76, 111, 113, 93, 107, 93, 62, 100, 79, 96, - 108, 59, 126, 110, 112, 119, 92, 89, 86, 98, 82, 72, 43, 118, 42, - 124, 109, 125, 81, 128, 104, 126, 77, 99, 121, 106, 91, 109, 124, 120, - 128, 105, 107, 108, 124, 102, 108, 90, 125, 106, 103, 102, 127, 63, 102, - 127, 117, 126, 125, 83, 120, 111, 76, 115, 122, 124, 71, 116, 123, 126, - 94, 118, 70, 118, 83, 107, 79, 68, 115, 122, 126, 92, 122, 82, 113, - 103, 125, 117, 116, 122, 101, 119, 113, 124, 66, 115, 88, 121, 104, 110, - 127, 106, 119, 85, 105, 122, 98, 123, 116, 116, 105, 70, 72, 121, 128, - 127, 108, 87, 117, 114, 119, 71, 110, 115, 103, 117, 128, 121, 89, 123, - 116, 117, 0, 120, 94, 102, 128, 119, 125, 127}; -const float H_128_256_5_input[] = { - -8.8994349771084629, -2.2264881688239941, 15.221530002446757, - -0.39525362027279998, 13.442727654278771, -10.000442582434765, - 8.5404090461277598, 16.432027973130197, 14.246872691160114, - 2.6448289703038665, 11.863343696232654, 4.174651054544948, - 10.288062518986955, 12.085683283784871, 3.4121899888598004, - 9.1115751924588562, -10.810079499566237, 1.3739160908287105, - 10.193128819909694, 3.5997991319409715, 15.252939624442645, - 7.8059185917026843, -1.141552617398524, -5.4585533732512204, - -7.1985417950651627, -11.078712541348164, -3.7197747259098599, - -6.9715544083806256, 4.8350467668286372, -8.4378844630126757, - 9.2909631551985523, -13.264491023395877, 13.29420431281155, - -16.107993796779667, -6.308916359108748, 11.90542068917763, - -17.405334641933944, 6.4284228626032878, 3.0768153742069018, - 11.853700717454576, 17.640154289991976, -5.2721404813136417, - 20.584732959872778, -6.7125902650906779, 6.5978715835307131, - -6.1735464272366514, 6.3164198345461697, -14.401260649632755, - -14.487703458954298, -5.8513629748056406, 5.5729511574836881, - -9.013132752980674, 8.9988683878222044, -11.263912700584942, - 13.485110330806128, -4.8625805463887231, -8.9173751521280824, - 10.960944349100908, -14.772741989217471, 1.1368460179590478, - 10.533109114159828, -1.731122993192219, 6.0498682584846524, - 13.360259295000249, -8.1132970979856438, 9.5693771119534112, - -12.578014725946508, 7.0229599627046593, 4.3720950386342494, - 14.366897307196593, -0.2595503946882991, -8.822187045424192, - -17.794267274108481, -2.7237117577689975, 11.097280635523761, - 9.7949231987861634, 15.294276496861425, 6.0841375010899243, - 11.169445345055827, 11.904159075277251, 9.1840263923068974, - -5.5011617203311012, 16.754980283161505, 7.5513624901915035, - -12.170700227106005, -11.483103606370603, -12.025806209056533, - 5.1085406001744822, 13.373965752403866, -13.93398032921742, - -3.3375271260328137, -5.0546492889404364, 3.4021410284759925, - 6.2487730438409157, -12.667072890747553, -10.733091469360994, - -12.179180763062972, 11.176700470191063, -11.616901732983612, - -10.119483446721208, -8.6850004796910767, -12.677334280090912, - -4.3454670403804858, -9.6582743438569203, -9.4373477042683529, - -5.0933688337275695, 14.946470562034275, -9.5827796114077728, - -12.579787690724327, -5.1317618464667945, 9.7995335974617479, - 3.935671855878343, -5.120219966909672, -1.0737815811081737, - 12.262597164050909, 12.930462261713524, -10.002664845731484, - 8.6911316894060171, 10.515367492600749, 17.842791232413518, - 11.503068266000463, 0.7672764564891652, 14.793448459789646, - 8.1945046885718504, -8.1324447231556771, 10.265204571293244, - 10.433947332186976, -13.070884283907548, -8.3960998416231085, - 4.9148913185470375, -10.422874683972211, -11.088739385454351, - -5.2623788916708749, -9.4339832891969255, -1.6059826144931535, - 11.258751578423034, 12.782380682326652, 10.796361068381742, - 13.81940336087583, 6.0191480445312484, 5.0635927171792945, - 8.8888332858691825, -5.8812839036685194, 13.782784721594529, - 12.501681731989231, 11.315875387889772, -3.773961578229545, - 10.665302965437366, 1.2443349889724857, 10.748108985336613, - -10.647273973137242, -13.375772243768143, 10.778336161253916, - 13.520253518547392, -0.31609537750065214, -2.475823983608934, - -8.0419367447924746, -6.4823648863210481, -4.5798319665012235, - 12.710284434647598, 11.140388782304239, 8.018507577316937, - -12.549284695242829, 14.887316703670896, 15.010107967429951, - -15.399171325118063, -8.0816667358175973, -6.6302855944401404, - 10.566758114915686, -9.6712985774865867, -10.989892866088582, - -2.9502229280575123, -7.8748744688277927, 13.391186021456775, - -13.450214789026996, -6.4126752277302099, -11.16710059702414, - -7.2444144765480658, -5.5672969972856778, -8.8773312015249726, - 13.719522588578332, 11.07457454354517, 8.7479356580553347, - 0.58609202162242569, -18.723523952614787, -1.9397327392511032, - -8.6455901886153637, 9.2918044013476511, 4.8898010354938704, - -6.9894142182003609, -0.1191884647878291, -13.44984965914426, - -3.4596444772305261, 5.1319125752378314, -10.427093821749148, - -8.5064597147739125, 14.736880938095643, -15.211136760645743, - -10.38069323739759, 0.087732074612520833, -4.7977922493487748, - 3.1108186580087001, 8.1492732382718991, -2.7096006449185972, - 9.4614578695259421, -18.242468149470778, -10.800555835992892, - -5.8325818881984466, 16.216906744162525, 16.028982056738251, - 13.841633178111548, 3.301741016692473, -13.962273950825141, - -12.080675707754205, 7.6736779018117174, 11.959683046750843, - -9.8186269532308081, -6.8666083041682322, 10.854650842369852, - -17.865310956014465, 13.342746302221908, 10.237148734886931, - -9.5317378135033763, -3.3932680342422912, 11.135022697187321, - -5.8464827434562983, -10.855498726923935, -10.389826062676315, - 17.22405328987611, -8.6670566421031872, -4.4906061687679069, - -13.926679140242809, 4.6527756761303296, 11.459319592377085, - 16.469693825200174, -3.2267090796784621, -8.508420245307466, - -14.014716857177133, 17.46825981866947, 8.7394092695610119, - -10.559493481189753, 12.767938048701128, 15.138604949078795, - 11.992106918420994, -4.1009466576601428, 10.895797683842719, - -11.102485145032849, 9.2740371065936902, 5.0223781181934672, - -13.009215931560048, -2.4537770130506042, 9.4538398738987919, - -9.4463497897265984, -7.4868090201247508, 4.9784182834226272, - 8.3854387393004792}; -const char H_128_256_5_detected_data[] = { - 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, - 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, - 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, - 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, - 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, - 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, - 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, - 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_128_256_5.h b/vendor/codec2_flutter_ios_only/src/codec2/src/H_128_256_5.h deleted file mode 100644 index e243c34..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_128_256_5.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - FILE....: H_128_256_5.h - - Static arrays for LDPC codec H_128_256_5, generated by ldpc_gen_c_h_file.m. -*/ - -#define H_128_256_5_NUMBERPARITYBITS 128 -#define H_128_256_5_MAX_ROW_WEIGHT 5 -#define H_128_256_5_CODELENGTH 256 -#define H_128_256_5_NUMBERROWSHCOLS 128 -#define H_128_256_5_MAX_COL_WEIGHT 5 -#define H_128_256_5_DEC_TYPE 0 -#define H_128_256_5_MAX_ITER 100 - -#include - -extern const uint16_t H_128_256_5_H_rows[]; -extern const uint16_t H_128_256_5_H_cols[]; -extern const float H_128_256_5_input[]; -extern const char H_128_256_5_detected_data[]; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_16200_9720.c b/vendor/codec2_flutter_ios_only/src/codec2/src/H_16200_9720.c deleted file mode 100644 index a2c914a..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_16200_9720.c +++ /dev/null @@ -1,14593 +0,0 @@ -/* - FILE....: H_16200_9720.c - - Static arrays for LDPC codec H_16200_9720, generated by ldpc_gen_c_h_file.m. -*/ - -#include "H_16200_9720.h" - -#include - -const uint16_t H_16200_9720_H_rows[] = { - 4, 446, 699, 410, 240, 94, 285, 44, 122, 1210, 173, 208, - 559, 707, 162, 319, 844, 389, 5, 447, 700, 411, 241, 95, - 286, 45, 123, 1211, 174, 209, 560, 708, 163, 320, 845, 390, - 6, 448, 701, 412, 242, 96, 287, 46, 124, 1212, 175, 210, - 561, 709, 164, 321, 846, 391, 7, 449, 702, 413, 243, 97, - 288, 47, 125, 1213, 176, 211, 562, 710, 165, 322, 847, 392, - 8, 450, 703, 414, 244, 98, 289, 48, 126, 1214, 177, 212, - 563, 711, 166, 323, 848, 393, 9, 451, 704, 415, 245, 99, - 290, 49, 127, 1215, 178, 213, 564, 712, 167, 324, 849, 394, - 10, 452, 705, 416, 246, 100, 291, 50, 128, 1216, 179, 214, - 565, 713, 168, 325, 850, 395, 11, 453, 706, 417, 247, 101, - 292, 51, 129, 1217, 180, 215, 566, 714, 169, 326, 851, 396, - 12, 454, 707, 418, 248, 102, 293, 52, 130, 1218, 181, 216, - 567, 715, 170, 327, 852, 397, 13, 455, 708, 419, 249, 103, - 294, 53, 131, 1219, 182, 217, 568, 716, 171, 328, 853, 398, - 14, 456, 709, 420, 250, 104, 295, 54, 132, 1220, 183, 218, - 569, 717, 172, 329, 854, 399, 15, 457, 710, 421, 251, 105, - 296, 55, 133, 1221, 184, 219, 570, 361, 173, 330, 855, 400, - 16, 458, 711, 422, 252, 106, 297, 56, 134, 1222, 185, 220, - 571, 362, 174, 331, 856, 401, 17, 459, 712, 423, 253, 107, - 298, 57, 135, 1223, 186, 221, 572, 363, 175, 332, 857, 402, - 18, 460, 713, 424, 254, 108, 299, 58, 136, 1224, 187, 222, - 573, 361, 176, 333, 858, 403, 19, 461, 714, 425, 255, 109, - 300, 59, 137, 1225, 188, 223, 574, 362, 177, 334, 859, 404, - 20, 462, 715, 426, 256, 110, 301, 60, 138, 1226, 189, 224, - 575, 363, 178, 335, 860, 405, 21, 463, 716, 427, 257, 111, - 302, 61, 139, 1227, 190, 225, 576, 364, 179, 336, 861, 406, - 22, 464, 717, 428, 258, 112, 303, 62, 140, 1228, 191, 226, - 577, 365, 180, 337, 862, 407, 23, 465, 718, 429, 259, 113, - 304, 63, 141, 1229, 192, 227, 578, 366, 181, 338, 863, 408, - 24, 466, 719, 430, 260, 114, 305, 64, 142, 1230, 193, 228, - 579, 367, 182, 339, 864, 409, 25, 467, 720, 431, 261, 115, - 306, 65, 143, 1231, 194, 229, 580, 368, 183, 340, 865, 410, - 26, 468, 361, 432, 262, 116, 307, 66, 144, 1232, 195, 230, - 581, 369, 184, 341, 866, 411, 27, 469, 362, 433, 263, 117, - 308, 67, 145, 1233, 196, 231, 582, 370, 185, 342, 867, 412, - 28, 470, 363, 434, 264, 118, 309, 68, 146, 1234, 197, 232, - 583, 371, 186, 343, 868, 413, 29, 471, 364, 435, 265, 119, - 310, 69, 147, 1235, 198, 233, 584, 372, 187, 344, 869, 414, - 30, 472, 365, 436, 266, 120, 311, 70, 148, 1236, 199, 234, - 585, 373, 188, 345, 870, 415, 31, 473, 366, 437, 267, 121, - 312, 71, 149, 1237, 200, 235, 586, 374, 189, 346, 871, 416, - 32, 474, 367, 438, 268, 122, 313, 72, 150, 1238, 201, 236, - 587, 375, 190, 347, 872, 417, 33, 475, 368, 439, 269, 123, - 314, 73, 151, 1239, 202, 237, 588, 376, 191, 348, 873, 418, - 34, 476, 369, 440, 1, 124, 315, 74, 152, 1240, 203, 238, - 589, 377, 192, 349, 874, 419, 35, 477, 370, 441, 2, 125, - 316, 75, 153, 1241, 204, 239, 590, 378, 193, 350, 875, 420, - 36, 478, 371, 442, 3, 126, 317, 76, 154, 1242, 205, 240, - 591, 379, 194, 351, 876, 421, 37, 479, 372, 443, 4, 127, - 318, 77, 155, 1243, 206, 241, 592, 380, 195, 352, 877, 422, - 38, 480, 373, 444, 5, 128, 319, 78, 156, 1244, 207, 242, - 593, 381, 196, 353, 878, 423, 39, 481, 374, 445, 6, 129, - 320, 79, 157, 1245, 208, 243, 594, 382, 197, 354, 879, 424, - 40, 482, 375, 446, 7, 130, 321, 80, 158, 1246, 209, 244, - 595, 383, 198, 355, 880, 425, 41, 483, 376, 447, 8, 131, - 322, 81, 159, 1247, 210, 245, 596, 384, 199, 356, 881, 426, - 42, 484, 377, 448, 9, 132, 323, 82, 160, 1248, 211, 246, - 597, 385, 200, 357, 882, 427, 43, 485, 378, 449, 10, 133, - 324, 83, 161, 1249, 212, 247, 598, 386, 201, 358, 883, 428, - 44, 486, 379, 361, 11, 134, 325, 84, 162, 1250, 213, 248, - 599, 387, 202, 359, 884, 429, 45, 487, 380, 362, 12, 135, - 326, 85, 163, 1251, 214, 249, 600, 388, 203, 360, 885, 430, - 46, 488, 381, 363, 13, 136, 327, 86, 164, 1252, 215, 250, - 601, 389, 204, 1, 886, 431, 47, 489, 382, 364, 14, 137, - 328, 87, 165, 1253, 216, 251, 602, 390, 205, 2, 887, 432, - 48, 490, 383, 365, 15, 138, 329, 88, 166, 1254, 217, 252, - 603, 391, 206, 3, 888, 433, 49, 491, 384, 366, 16, 139, - 330, 89, 167, 1255, 218, 253, 604, 392, 207, 4, 889, 434, - 50, 492, 385, 367, 17, 140, 331, 90, 168, 1256, 219, 254, - 605, 393, 208, 5, 890, 435, 51, 493, 386, 368, 18, 141, - 332, 91, 169, 1257, 220, 255, 606, 394, 209, 6, 891, 436, - 52, 494, 387, 369, 19, 142, 333, 92, 170, 1258, 221, 256, - 607, 395, 210, 7, 892, 437, 53, 495, 388, 370, 20, 143, - 334, 93, 171, 1259, 222, 257, 608, 396, 211, 8, 893, 438, - 54, 496, 389, 371, 21, 144, 335, 94, 172, 1260, 223, 258, - 609, 397, 212, 9, 894, 439, 55, 497, 390, 372, 22, 145, - 336, 95, 173, 1261, 224, 259, 610, 398, 213, 10, 895, 440, - 56, 498, 391, 373, 23, 146, 337, 96, 174, 1262, 225, 260, - 611, 399, 214, 11, 896, 441, 57, 499, 392, 374, 24, 147, - 338, 97, 175, 1263, 226, 261, 612, 400, 215, 12, 897, 442, - 58, 500, 393, 375, 25, 148, 339, 98, 176, 1264, 227, 262, - 613, 401, 216, 13, 898, 443, 59, 501, 394, 376, 26, 149, - 340, 99, 177, 1265, 228, 263, 614, 402, 217, 14, 899, 444, - 60, 502, 395, 377, 27, 150, 341, 100, 178, 1266, 229, 264, - 615, 403, 218, 15, 900, 445, 61, 503, 396, 378, 28, 151, - 342, 101, 179, 1267, 230, 265, 616, 404, 219, 16, 901, 446, - 62, 504, 397, 379, 29, 152, 343, 102, 180, 1268, 231, 266, - 617, 405, 220, 17, 902, 447, 63, 505, 398, 380, 30, 153, - 344, 103, 181, 1269, 232, 267, 618, 406, 221, 18, 903, 448, - 64, 506, 399, 381, 31, 154, 345, 104, 182, 1270, 233, 268, - 619, 407, 222, 19, 904, 449, 65, 507, 400, 382, 32, 155, - 346, 105, 183, 1271, 234, 269, 620, 408, 223, 20, 905, 450, - 66, 508, 401, 383, 33, 156, 347, 106, 184, 1272, 235, 270, - 621, 409, 224, 21, 906, 451, 67, 509, 402, 384, 34, 157, - 348, 107, 185, 1273, 236, 271, 622, 410, 225, 22, 907, 452, - 68, 510, 403, 385, 35, 158, 349, 108, 186, 1274, 237, 272, - 623, 411, 226, 23, 908, 453, 69, 511, 404, 386, 36, 159, - 350, 109, 187, 1275, 238, 273, 624, 412, 227, 24, 909, 454, - 70, 512, 405, 387, 37, 160, 351, 110, 188, 1276, 239, 274, - 625, 413, 228, 25, 910, 455, 71, 513, 406, 388, 38, 161, - 352, 111, 189, 1277, 240, 275, 626, 414, 229, 26, 911, 456, - 72, 514, 407, 389, 39, 162, 353, 112, 190, 1278, 241, 276, - 627, 415, 230, 27, 912, 457, 73, 515, 408, 390, 40, 163, - 354, 113, 191, 1279, 242, 277, 628, 416, 231, 28, 913, 458, - 74, 516, 409, 391, 41, 164, 355, 114, 192, 1280, 243, 278, - 629, 417, 232, 29, 914, 459, 75, 517, 410, 392, 42, 165, - 356, 115, 193, 1281, 244, 279, 630, 418, 233, 30, 915, 460, - 76, 518, 411, 393, 43, 166, 357, 116, 194, 1282, 245, 280, - 631, 419, 234, 31, 916, 461, 77, 519, 412, 394, 44, 167, - 358, 117, 195, 1283, 246, 281, 632, 420, 235, 32, 917, 462, - 78, 520, 413, 395, 45, 168, 359, 118, 196, 1284, 247, 282, - 633, 421, 236, 33, 918, 463, 79, 521, 414, 396, 46, 169, - 360, 119, 197, 1285, 248, 283, 634, 422, 237, 34, 919, 464, - 80, 522, 415, 397, 47, 170, 1, 120, 198, 1286, 249, 284, - 635, 423, 238, 35, 920, 465, 81, 523, 416, 398, 48, 171, - 2, 121, 199, 1287, 250, 285, 636, 424, 239, 36, 921, 466, - 82, 524, 417, 399, 49, 172, 3, 122, 200, 1288, 251, 286, - 637, 425, 240, 37, 922, 467, 83, 525, 418, 400, 50, 173, - 4, 123, 201, 1289, 252, 287, 638, 426, 241, 38, 923, 468, - 84, 526, 419, 401, 51, 174, 5, 124, 202, 1290, 253, 288, - 639, 427, 242, 39, 924, 469, 85, 527, 420, 402, 52, 175, - 6, 125, 203, 1291, 254, 289, 640, 428, 243, 40, 925, 470, - 86, 528, 421, 403, 53, 176, 7, 126, 204, 1292, 255, 290, - 641, 429, 244, 41, 926, 471, 87, 529, 422, 404, 54, 177, - 8, 127, 205, 1293, 256, 291, 642, 430, 245, 42, 927, 472, - 88, 530, 423, 405, 55, 178, 9, 128, 206, 1294, 257, 292, - 643, 431, 246, 43, 928, 473, 89, 531, 424, 406, 56, 179, - 10, 129, 207, 1295, 258, 293, 644, 432, 247, 44, 929, 474, - 90, 532, 425, 407, 57, 180, 11, 130, 208, 1296, 259, 294, - 645, 433, 248, 45, 930, 475, 91, 533, 426, 408, 58, 181, - 12, 131, 209, 1297, 260, 295, 646, 434, 249, 46, 931, 476, - 92, 534, 427, 409, 59, 182, 13, 132, 210, 1298, 261, 296, - 647, 435, 250, 47, 932, 477, 93, 535, 428, 410, 60, 183, - 14, 133, 211, 1299, 262, 297, 648, 436, 251, 48, 933, 478, - 94, 536, 429, 411, 61, 184, 15, 134, 212, 1300, 263, 298, - 649, 437, 252, 49, 934, 479, 95, 537, 430, 412, 62, 185, - 16, 135, 213, 1301, 264, 299, 650, 438, 253, 50, 935, 480, - 96, 538, 431, 413, 63, 186, 17, 136, 214, 1302, 265, 300, - 651, 439, 254, 51, 936, 481, 97, 539, 432, 414, 64, 187, - 18, 137, 215, 1303, 266, 301, 652, 440, 255, 52, 937, 482, - 98, 540, 433, 415, 65, 188, 19, 138, 216, 1304, 267, 302, - 653, 441, 256, 53, 938, 483, 99, 541, 434, 416, 66, 189, - 20, 139, 217, 1305, 268, 303, 654, 442, 257, 54, 939, 484, - 100, 542, 435, 417, 67, 190, 21, 140, 218, 1306, 269, 304, - 655, 443, 258, 55, 940, 485, 101, 543, 436, 418, 68, 191, - 22, 141, 219, 1307, 270, 305, 656, 444, 259, 56, 941, 486, - 102, 544, 437, 419, 69, 192, 23, 142, 220, 1308, 271, 306, - 657, 445, 260, 57, 942, 487, 103, 545, 438, 420, 70, 193, - 24, 143, 221, 1309, 272, 307, 658, 446, 261, 58, 943, 488, - 104, 546, 439, 421, 71, 194, 25, 144, 222, 1310, 273, 308, - 659, 447, 262, 59, 944, 489, 105, 547, 440, 422, 72, 195, - 26, 145, 223, 1311, 274, 309, 660, 448, 263, 60, 945, 490, - 106, 548, 441, 423, 73, 196, 27, 146, 224, 1312, 275, 310, - 661, 449, 264, 61, 946, 491, 107, 549, 442, 424, 74, 197, - 28, 147, 225, 1313, 276, 311, 662, 450, 265, 62, 947, 492, - 108, 550, 443, 425, 75, 198, 29, 148, 226, 1314, 277, 312, - 663, 451, 266, 63, 948, 493, 109, 551, 444, 426, 76, 199, - 30, 149, 227, 1315, 278, 313, 664, 452, 267, 64, 949, 494, - 110, 552, 445, 427, 77, 200, 31, 150, 228, 1316, 279, 314, - 665, 453, 268, 65, 950, 495, 111, 553, 446, 428, 78, 201, - 32, 151, 229, 1317, 280, 315, 666, 454, 269, 66, 951, 496, - 112, 554, 447, 429, 79, 202, 33, 152, 230, 1318, 281, 316, - 667, 455, 270, 67, 952, 497, 113, 555, 448, 430, 80, 203, - 34, 153, 231, 1319, 282, 317, 668, 456, 271, 68, 953, 498, - 114, 556, 449, 431, 81, 204, 35, 154, 232, 1320, 283, 318, - 669, 457, 272, 69, 954, 499, 115, 557, 450, 432, 82, 205, - 36, 155, 233, 1321, 284, 319, 670, 458, 273, 70, 955, 500, - 116, 558, 451, 433, 83, 206, 37, 156, 234, 1322, 285, 320, - 671, 459, 274, 71, 956, 501, 117, 559, 452, 434, 84, 207, - 38, 157, 235, 1323, 286, 321, 672, 460, 275, 72, 957, 502, - 118, 560, 453, 435, 85, 208, 39, 158, 236, 1324, 287, 322, - 673, 461, 276, 73, 958, 503, 119, 561, 454, 436, 86, 209, - 40, 159, 237, 1325, 288, 323, 674, 462, 277, 74, 959, 504, - 120, 562, 455, 437, 87, 210, 41, 160, 238, 1326, 289, 324, - 675, 463, 278, 75, 960, 505, 121, 563, 456, 438, 88, 211, - 42, 161, 239, 1327, 290, 325, 676, 464, 279, 76, 961, 506, - 122, 564, 457, 439, 89, 212, 43, 162, 240, 1328, 291, 326, - 677, 465, 280, 77, 962, 507, 123, 565, 458, 440, 90, 213, - 44, 163, 241, 1329, 292, 327, 678, 466, 281, 78, 963, 508, - 124, 566, 459, 441, 91, 214, 45, 164, 242, 1330, 293, 328, - 679, 467, 282, 79, 964, 509, 125, 567, 460, 442, 1, 215, - 46, 165, 243, 1331, 294, 329, 680, 468, 283, 80, 965, 510, - 126, 568, 461, 443, 2, 216, 47, 166, 244, 1332, 295, 330, - 361, 469, 284, 81, 966, 511, 127, 569, 462, 444, 3, 217, - 48, 167, 245, 1333, 296, 331, 362, 470, 285, 82, 967, 512, - 128, 570, 463, 445, 4, 218, 49, 168, 246, 1334, 297, 332, - 363, 471, 286, 83, 968, 513, 129, 571, 464, 446, 5, 219, - 50, 169, 247, 1335, 298, 333, 364, 472, 287, 84, 969, 514, - 130, 572, 465, 447, 6, 220, 51, 170, 248, 1336, 299, 334, - 365, 473, 288, 85, 970, 515, 131, 573, 466, 448, 7, 221, - 52, 171, 249, 1337, 300, 335, 366, 474, 289, 86, 971, 516, - 132, 574, 467, 449, 8, 222, 53, 172, 250, 1338, 301, 336, - 367, 475, 290, 87, 972, 517, 133, 575, 468, 450, 9, 223, - 54, 173, 251, 1339, 302, 337, 368, 476, 291, 88, 973, 518, - 134, 576, 469, 451, 10, 224, 55, 174, 252, 1340, 303, 338, - 369, 477, 292, 89, 974, 519, 135, 577, 470, 452, 11, 225, - 56, 175, 253, 1341, 304, 339, 370, 478, 293, 90, 975, 520, - 136, 578, 471, 453, 12, 226, 57, 176, 254, 1342, 305, 340, - 371, 479, 294, 91, 976, 521, 137, 579, 472, 454, 13, 227, - 58, 177, 255, 1343, 306, 341, 372, 480, 295, 92, 977, 522, - 138, 580, 473, 455, 14, 228, 59, 178, 256, 1344, 307, 342, - 373, 481, 296, 93, 978, 523, 139, 581, 474, 456, 15, 229, - 60, 179, 257, 1345, 308, 343, 374, 482, 297, 94, 979, 524, - 140, 582, 475, 457, 16, 230, 61, 180, 258, 1346, 309, 344, - 375, 483, 298, 95, 980, 525, 141, 583, 476, 458, 17, 231, - 62, 181, 259, 1347, 310, 345, 376, 484, 299, 96, 981, 526, - 142, 584, 477, 459, 18, 232, 63, 182, 260, 1348, 311, 346, - 377, 485, 300, 97, 982, 527, 143, 585, 478, 460, 19, 233, - 64, 183, 261, 1349, 312, 347, 378, 486, 301, 98, 983, 528, - 144, 586, 479, 461, 20, 234, 65, 184, 262, 1350, 313, 348, - 379, 487, 302, 99, 984, 529, 145, 587, 480, 462, 21, 235, - 66, 185, 263, 1351, 314, 349, 380, 488, 303, 100, 985, 530, - 146, 588, 481, 463, 22, 236, 67, 186, 264, 1352, 315, 350, - 381, 489, 304, 101, 986, 531, 147, 589, 482, 464, 23, 237, - 68, 187, 265, 1353, 316, 351, 382, 490, 305, 102, 987, 532, - 148, 590, 483, 465, 24, 238, 69, 188, 266, 1354, 317, 352, - 383, 491, 306, 103, 988, 533, 149, 591, 484, 466, 25, 239, - 70, 189, 267, 1355, 318, 353, 384, 492, 307, 104, 989, 534, - 150, 592, 485, 467, 26, 240, 71, 190, 268, 1356, 319, 354, - 385, 493, 308, 105, 990, 535, 151, 593, 486, 468, 27, 241, - 72, 191, 269, 1357, 320, 355, 386, 494, 309, 106, 991, 536, - 152, 594, 487, 469, 28, 242, 73, 192, 270, 1358, 321, 356, - 387, 495, 310, 107, 992, 537, 153, 595, 488, 470, 29, 243, - 74, 193, 271, 1359, 322, 357, 388, 496, 311, 108, 993, 538, - 154, 596, 489, 471, 30, 244, 75, 194, 272, 1360, 323, 358, - 389, 497, 312, 109, 994, 539, 155, 597, 490, 472, 31, 245, - 76, 195, 273, 1361, 324, 359, 390, 498, 313, 110, 995, 540, - 156, 598, 491, 473, 32, 246, 77, 196, 274, 1362, 325, 360, - 391, 499, 314, 111, 996, 541, 157, 599, 492, 474, 33, 247, - 78, 197, 275, 1363, 326, 1, 392, 500, 315, 112, 997, 542, - 158, 600, 493, 475, 34, 248, 79, 198, 276, 1364, 327, 2, - 393, 501, 316, 113, 998, 543, 159, 601, 494, 476, 35, 249, - 80, 199, 277, 1365, 328, 3, 394, 502, 317, 114, 999, 544, - 160, 602, 495, 477, 36, 250, 81, 200, 278, 1366, 329, 4, - 395, 503, 318, 115, 1000, 545, 161, 603, 496, 478, 37, 251, - 82, 201, 279, 1367, 330, 5, 396, 504, 1, 116, 1001, 546, - 162, 604, 497, 479, 38, 252, 83, 202, 280, 1368, 331, 6, - 397, 505, 2, 117, 1002, 547, 163, 605, 498, 480, 39, 253, - 84, 203, 281, 1369, 332, 7, 398, 506, 3, 118, 1003, 548, - 164, 606, 499, 481, 40, 254, 85, 204, 282, 1370, 333, 8, - 399, 507, 4, 119, 1004, 549, 165, 607, 500, 482, 41, 255, - 86, 205, 283, 1371, 334, 9, 400, 508, 5, 120, 1005, 550, - 166, 608, 501, 483, 42, 256, 87, 206, 284, 1372, 335, 10, - 361, 509, 6, 121, 1006, 551, 167, 609, 502, 484, 43, 257, - 88, 207, 285, 1373, 336, 11, 362, 510, 7, 122, 1007, 552, - 168, 610, 503, 485, 44, 258, 89, 208, 286, 1374, 337, 12, - 363, 511, 8, 123, 1008, 553, 169, 611, 504, 486, 45, 259, - 90, 209, 287, 1375, 338, 13, 364, 512, 9, 124, 1009, 554, - 170, 612, 505, 487, 46, 260, 91, 210, 288, 1376, 339, 14, - 365, 513, 10, 125, 1010, 555, 171, 613, 506, 488, 47, 261, - 92, 211, 289, 1377, 340, 15, 366, 514, 11, 126, 1011, 556, - 172, 614, 507, 489, 48, 262, 93, 212, 290, 1378, 341, 16, - 367, 515, 12, 127, 1012, 557, 173, 615, 508, 490, 49, 263, - 94, 213, 291, 1379, 342, 17, 368, 516, 13, 128, 1013, 558, - 174, 616, 509, 491, 50, 264, 95, 214, 292, 1380, 343, 18, - 369, 517, 14, 129, 1014, 559, 175, 617, 510, 492, 51, 265, - 96, 215, 293, 1381, 344, 19, 370, 518, 15, 130, 1015, 560, - 176, 618, 511, 493, 52, 266, 97, 216, 294, 1382, 345, 20, - 371, 519, 16, 131, 1016, 561, 177, 619, 512, 494, 53, 267, - 98, 217, 295, 1383, 346, 21, 372, 520, 17, 132, 1017, 562, - 178, 620, 513, 495, 54, 268, 99, 218, 296, 1384, 347, 22, - 373, 521, 18, 133, 1018, 563, 179, 621, 514, 496, 55, 269, - 100, 219, 297, 1385, 348, 23, 374, 522, 19, 134, 1019, 564, - 180, 622, 515, 497, 56, 270, 101, 220, 298, 1386, 349, 24, - 375, 523, 20, 135, 1020, 565, 181, 623, 516, 498, 57, 271, - 102, 221, 299, 1387, 350, 25, 376, 524, 21, 136, 1021, 566, - 182, 624, 517, 499, 58, 272, 103, 222, 300, 1388, 351, 26, - 377, 525, 22, 137, 1022, 567, 183, 625, 518, 500, 59, 273, - 104, 223, 301, 1389, 352, 27, 378, 526, 23, 138, 1023, 568, - 184, 626, 519, 501, 60, 274, 105, 224, 302, 1390, 353, 28, - 379, 527, 24, 139, 1024, 569, 185, 627, 520, 502, 61, 275, - 106, 225, 303, 1391, 354, 29, 380, 528, 25, 140, 1025, 570, - 186, 628, 521, 503, 62, 276, 107, 226, 304, 1392, 355, 30, - 381, 529, 26, 141, 1026, 571, 187, 629, 522, 504, 63, 277, - 108, 227, 305, 1393, 356, 31, 382, 530, 27, 142, 1027, 572, - 188, 630, 523, 505, 64, 278, 109, 228, 306, 1394, 357, 32, - 383, 531, 28, 143, 1028, 573, 189, 631, 524, 506, 65, 279, - 110, 229, 307, 1395, 358, 33, 384, 532, 29, 144, 1029, 574, - 190, 632, 525, 507, 66, 280, 111, 230, 308, 1396, 359, 34, - 385, 533, 30, 145, 1030, 575, 191, 633, 526, 508, 67, 281, - 112, 231, 309, 1397, 360, 35, 386, 534, 31, 146, 1031, 576, - 192, 634, 527, 509, 68, 282, 113, 232, 310, 1398, 1, 36, - 387, 535, 32, 147, 1032, 577, 193, 635, 528, 510, 69, 283, - 114, 233, 311, 1399, 2, 37, 388, 536, 33, 148, 1033, 578, - 194, 636, 529, 511, 70, 284, 115, 234, 312, 1400, 3, 38, - 389, 537, 34, 149, 1034, 579, 195, 637, 530, 512, 71, 285, - 116, 235, 313, 1401, 4, 39, 390, 538, 35, 150, 1035, 580, - 196, 638, 531, 513, 72, 286, 117, 236, 314, 1402, 5, 40, - 391, 539, 36, 151, 1036, 581, 197, 639, 532, 514, 73, 287, - 118, 237, 315, 1403, 6, 41, 392, 540, 37, 152, 1037, 582, - 198, 640, 533, 515, 74, 288, 119, 238, 316, 1404, 7, 42, - 393, 541, 38, 153, 1038, 583, 199, 641, 534, 516, 75, 289, - 120, 239, 317, 1405, 8, 43, 394, 542, 39, 154, 1039, 584, - 200, 642, 535, 517, 76, 290, 121, 240, 318, 1406, 9, 44, - 395, 543, 40, 155, 1040, 585, 201, 643, 536, 518, 77, 291, - 122, 241, 319, 1407, 10, 45, 396, 544, 41, 156, 1041, 586, - 202, 644, 537, 519, 78, 292, 123, 242, 320, 1408, 11, 46, - 397, 545, 42, 157, 1042, 587, 203, 645, 538, 520, 79, 293, - 124, 243, 321, 1409, 12, 47, 398, 546, 1, 158, 1043, 588, - 204, 646, 539, 521, 80, 294, 125, 244, 322, 1410, 13, 48, - 399, 547, 2, 159, 1044, 589, 205, 647, 540, 522, 81, 295, - 126, 245, 323, 1411, 14, 49, 400, 548, 3, 160, 1045, 590, - 206, 648, 541, 523, 82, 296, 127, 246, 324, 1412, 15, 50, - 401, 549, 4, 161, 1046, 591, 207, 649, 542, 524, 83, 297, - 128, 247, 325, 1413, 16, 51, 402, 550, 5, 162, 1047, 592, - 208, 650, 543, 525, 84, 298, 129, 248, 326, 1414, 17, 52, - 403, 551, 6, 163, 1048, 593, 209, 651, 544, 526, 85, 299, - 130, 249, 327, 1415, 18, 53, 404, 552, 7, 164, 1049, 594, - 210, 652, 545, 527, 86, 300, 131, 250, 328, 1416, 19, 54, - 405, 553, 8, 165, 1050, 595, 211, 653, 546, 528, 87, 301, - 132, 251, 329, 1417, 20, 55, 406, 554, 9, 166, 1051, 596, - 212, 654, 547, 529, 88, 302, 133, 252, 330, 1418, 21, 56, - 407, 555, 10, 167, 1052, 597, 213, 655, 548, 530, 89, 303, - 134, 253, 331, 1419, 22, 57, 408, 556, 11, 168, 1053, 598, - 214, 656, 549, 531, 90, 304, 135, 254, 332, 1420, 23, 58, - 409, 557, 12, 169, 1054, 599, 215, 657, 550, 532, 91, 305, - 136, 255, 333, 1421, 24, 59, 410, 558, 13, 170, 1055, 600, - 216, 658, 551, 533, 92, 306, 137, 256, 334, 1422, 25, 60, - 411, 559, 14, 171, 1056, 601, 217, 659, 552, 534, 93, 307, - 138, 257, 335, 1423, 26, 61, 412, 560, 15, 172, 1057, 602, - 218, 660, 553, 535, 94, 308, 139, 258, 336, 1424, 27, 62, - 413, 561, 16, 173, 1058, 603, 219, 661, 554, 536, 95, 309, - 140, 259, 337, 1425, 28, 63, 414, 562, 17, 174, 1059, 604, - 220, 662, 555, 537, 96, 310, 141, 260, 338, 1426, 29, 64, - 415, 563, 18, 175, 1060, 605, 221, 663, 556, 538, 97, 311, - 142, 261, 339, 1427, 30, 65, 416, 564, 19, 176, 1061, 606, - 222, 664, 557, 539, 98, 312, 143, 262, 340, 1428, 31, 66, - 417, 565, 20, 177, 1062, 607, 223, 665, 558, 540, 99, 313, - 144, 263, 341, 1429, 32, 67, 418, 566, 21, 178, 1063, 608, - 224, 666, 559, 541, 100, 314, 145, 264, 342, 1430, 33, 68, - 419, 567, 22, 179, 1064, 609, 225, 667, 560, 542, 101, 315, - 146, 265, 343, 1431, 34, 69, 420, 568, 23, 180, 1065, 610, - 226, 668, 561, 543, 102, 316, 147, 266, 344, 1432, 35, 70, - 421, 569, 24, 181, 1066, 611, 227, 669, 562, 544, 103, 317, - 148, 267, 345, 1433, 36, 71, 422, 570, 25, 182, 1067, 612, - 228, 670, 563, 545, 104, 318, 149, 268, 346, 1434, 37, 72, - 423, 571, 26, 183, 1068, 613, 229, 671, 564, 546, 105, 319, - 150, 269, 347, 1435, 38, 73, 424, 572, 27, 184, 1069, 614, - 230, 672, 565, 547, 106, 320, 151, 270, 348, 1436, 39, 74, - 425, 573, 28, 185, 1070, 615, 231, 673, 566, 548, 107, 321, - 152, 271, 349, 1437, 40, 75, 426, 574, 29, 186, 1071, 616, - 232, 674, 567, 549, 108, 322, 153, 272, 350, 1438, 41, 76, - 427, 575, 30, 187, 1072, 617, 233, 675, 568, 550, 109, 323, - 154, 273, 351, 1439, 42, 77, 428, 576, 31, 188, 1073, 618, - 234, 676, 569, 551, 110, 324, 155, 274, 352, 1440, 43, 78, - 429, 577, 32, 189, 1074, 619, 235, 677, 570, 552, 111, 325, - 156, 275, 353, 1081, 44, 79, 430, 578, 33, 190, 1075, 620, - 236, 678, 571, 553, 112, 326, 157, 276, 354, 1082, 45, 80, - 431, 579, 34, 191, 1076, 621, 237, 679, 572, 554, 113, 327, - 158, 277, 355, 1083, 46, 81, 432, 580, 35, 192, 1077, 622, - 238, 680, 573, 555, 114, 328, 159, 278, 356, 1084, 47, 82, - 433, 581, 36, 193, 1078, 623, 239, 681, 574, 556, 115, 329, - 160, 279, 357, 1085, 48, 83, 434, 582, 37, 194, 1079, 624, - 240, 682, 575, 557, 116, 330, 161, 280, 358, 1086, 49, 84, - 435, 583, 38, 195, 1080, 625, 241, 683, 576, 558, 117, 331, - 162, 281, 359, 1087, 50, 85, 436, 584, 39, 196, 721, 626, - 242, 684, 577, 559, 118, 332, 163, 282, 360, 1088, 51, 86, - 437, 585, 40, 197, 722, 627, 243, 685, 578, 560, 119, 333, - 164, 283, 1, 1089, 52, 87, 438, 586, 41, 198, 723, 628, - 244, 686, 579, 561, 120, 334, 165, 284, 2, 1090, 53, 88, - 439, 587, 42, 199, 724, 629, 245, 687, 580, 562, 121, 335, - 166, 285, 3, 1091, 54, 89, 440, 588, 43, 200, 725, 630, - 246, 688, 581, 563, 122, 336, 167, 286, 4, 1092, 55, 90, - 441, 589, 44, 201, 726, 631, 247, 689, 582, 564, 123, 337, - 168, 287, 5, 1093, 56, 91, 442, 590, 45, 202, 727, 632, - 248, 690, 583, 565, 124, 338, 169, 288, 6, 1094, 57, 92, - 443, 591, 46, 203, 728, 633, 249, 691, 584, 566, 125, 339, - 170, 289, 7, 1095, 58, 93, 444, 592, 47, 204, 729, 634, - 250, 692, 585, 567, 126, 340, 171, 290, 8, 1096, 59, 94, - 445, 593, 48, 205, 730, 635, 251, 693, 586, 568, 127, 341, - 172, 291, 9, 1097, 60, 95, 446, 594, 49, 206, 731, 636, - 252, 694, 587, 569, 128, 342, 173, 292, 10, 1098, 61, 96, - 447, 595, 50, 207, 732, 637, 253, 695, 588, 570, 129, 343, - 174, 293, 11, 1099, 62, 97, 448, 596, 51, 208, 733, 638, - 254, 696, 589, 571, 130, 344, 175, 294, 12, 1100, 63, 98, - 449, 597, 52, 209, 734, 639, 255, 697, 590, 572, 131, 345, - 176, 295, 13, 1101, 64, 99, 450, 598, 53, 210, 735, 640, - 256, 698, 591, 573, 132, 346, 177, 296, 14, 1102, 65, 100, - 451, 599, 54, 211, 736, 641, 257, 699, 592, 574, 133, 347, - 178, 297, 15, 1103, 66, 101, 452, 600, 55, 212, 737, 642, - 258, 700, 593, 575, 134, 348, 179, 298, 16, 1104, 67, 102, - 453, 601, 56, 213, 738, 643, 259, 701, 594, 576, 135, 349, - 180, 299, 17, 1105, 68, 103, 454, 602, 57, 214, 739, 644, - 260, 702, 595, 577, 136, 350, 181, 300, 18, 1106, 69, 104, - 455, 603, 58, 215, 740, 645, 261, 703, 596, 578, 137, 351, - 182, 301, 19, 1107, 70, 105, 456, 604, 59, 216, 741, 646, - 262, 704, 597, 579, 138, 352, 183, 302, 20, 1108, 71, 106, - 457, 605, 60, 217, 742, 647, 263, 705, 598, 580, 139, 353, - 184, 303, 21, 1109, 72, 107, 458, 606, 61, 218, 743, 648, - 264, 706, 599, 581, 140, 354, 185, 304, 22, 1110, 73, 108, - 459, 607, 62, 219, 744, 649, 265, 707, 600, 582, 141, 355, - 186, 305, 23, 1111, 74, 109, 460, 608, 63, 220, 745, 650, - 266, 708, 601, 583, 142, 356, 187, 306, 24, 1112, 75, 110, - 461, 609, 64, 221, 746, 651, 267, 709, 602, 584, 143, 357, - 188, 307, 25, 1113, 76, 111, 462, 610, 65, 222, 747, 652, - 268, 710, 603, 585, 144, 358, 189, 308, 26, 1114, 77, 112, - 463, 611, 66, 223, 748, 653, 269, 711, 604, 586, 145, 359, - 190, 309, 27, 1115, 78, 113, 464, 612, 67, 224, 749, 654, - 270, 712, 605, 587, 146, 360, 191, 310, 28, 1116, 79, 114, - 465, 613, 68, 225, 750, 655, 271, 713, 606, 588, 147, 1, - 192, 311, 29, 1117, 80, 115, 466, 614, 69, 226, 751, 656, - 272, 714, 607, 589, 148, 2, 193, 312, 30, 1118, 81, 116, - 467, 615, 70, 227, 752, 657, 273, 715, 608, 590, 149, 3, - 194, 313, 31, 1119, 82, 117, 468, 616, 71, 228, 753, 658, - 274, 716, 609, 591, 150, 4, 195, 314, 32, 1120, 83, 118, - 469, 617, 72, 229, 754, 659, 275, 717, 610, 592, 151, 5, - 196, 315, 33, 1121, 84, 119, 470, 618, 73, 230, 755, 660, - 276, 718, 611, 593, 152, 6, 197, 316, 34, 1122, 85, 120, - 471, 619, 74, 231, 756, 661, 277, 719, 612, 594, 153, 7, - 198, 317, 35, 1123, 86, 121, 472, 620, 75, 232, 757, 662, - 278, 720, 613, 595, 154, 8, 199, 318, 36, 1124, 87, 122, - 473, 621, 76, 233, 758, 663, 279, 361, 614, 596, 155, 9, - 200, 319, 37, 1125, 88, 123, 474, 622, 77, 234, 759, 664, - 280, 362, 615, 597, 156, 10, 201, 320, 38, 1126, 89, 124, - 475, 623, 78, 235, 760, 665, 281, 363, 616, 598, 157, 11, - 202, 321, 39, 1127, 90, 125, 476, 624, 79, 236, 761, 666, - 282, 364, 617, 599, 158, 12, 203, 322, 40, 1128, 91, 126, - 477, 625, 80, 237, 762, 667, 283, 365, 618, 600, 159, 13, - 204, 323, 41, 1129, 92, 127, 478, 626, 81, 238, 763, 668, - 284, 366, 619, 601, 160, 14, 205, 324, 42, 1130, 93, 128, - 479, 627, 82, 239, 764, 669, 285, 367, 620, 602, 161, 15, - 206, 325, 43, 1131, 94, 129, 480, 628, 83, 240, 765, 670, - 286, 368, 621, 603, 162, 16, 207, 326, 44, 1132, 95, 130, - 481, 629, 84, 241, 766, 671, 287, 369, 622, 604, 163, 17, - 208, 327, 45, 1133, 96, 131, 482, 630, 85, 242, 767, 672, - 288, 370, 623, 605, 164, 18, 209, 328, 46, 1134, 97, 132, - 483, 631, 86, 243, 768, 673, 289, 371, 624, 606, 165, 19, - 210, 329, 47, 1135, 98, 133, 484, 632, 87, 244, 769, 674, - 290, 372, 625, 607, 166, 20, 211, 330, 48, 1136, 99, 134, - 485, 633, 88, 245, 770, 675, 291, 373, 626, 608, 167, 21, - 212, 331, 49, 1137, 100, 135, 486, 634, 89, 246, 771, 676, - 292, 374, 627, 609, 168, 22, 213, 332, 50, 1138, 101, 136, - 487, 635, 90, 247, 772, 677, 293, 375, 628, 610, 169, 23, - 214, 333, 51, 1139, 102, 137, 488, 636, 91, 248, 773, 678, - 294, 376, 629, 611, 170, 24, 215, 334, 52, 1140, 103, 138, - 489, 637, 92, 249, 774, 679, 295, 377, 630, 612, 171, 25, - 216, 335, 53, 1141, 104, 139, 490, 638, 93, 250, 775, 680, - 296, 378, 631, 613, 172, 26, 217, 336, 54, 1142, 105, 140, - 491, 639, 94, 251, 776, 681, 297, 379, 632, 614, 173, 27, - 218, 337, 55, 1143, 106, 141, 492, 640, 95, 252, 777, 682, - 298, 380, 633, 615, 174, 28, 219, 338, 56, 1144, 107, 142, - 493, 641, 96, 253, 778, 683, 299, 381, 634, 616, 175, 29, - 220, 339, 57, 1145, 108, 143, 494, 642, 97, 254, 779, 684, - 300, 382, 635, 617, 176, 30, 221, 340, 58, 1146, 109, 144, - 495, 643, 98, 255, 780, 685, 301, 383, 636, 618, 177, 31, - 222, 341, 59, 1147, 110, 145, 496, 644, 99, 256, 781, 686, - 302, 384, 637, 619, 178, 32, 223, 342, 60, 1148, 111, 146, - 497, 645, 100, 257, 782, 687, 303, 385, 638, 620, 179, 33, - 224, 343, 61, 1149, 112, 147, 498, 646, 101, 258, 783, 688, - 304, 386, 639, 621, 180, 34, 225, 344, 62, 1150, 113, 148, - 499, 647, 102, 259, 784, 689, 305, 387, 640, 622, 181, 35, - 226, 345, 63, 1151, 114, 149, 500, 648, 103, 260, 785, 690, - 306, 388, 641, 623, 182, 36, 227, 346, 64, 1152, 115, 150, - 501, 649, 104, 261, 786, 691, 307, 389, 642, 624, 183, 37, - 228, 347, 65, 1153, 116, 151, 502, 650, 105, 262, 787, 692, - 308, 390, 643, 625, 184, 38, 229, 348, 66, 1154, 117, 152, - 503, 651, 106, 263, 788, 693, 309, 391, 644, 626, 185, 39, - 230, 349, 67, 1155, 118, 153, 504, 652, 107, 264, 789, 694, - 310, 392, 645, 627, 186, 40, 231, 350, 68, 1156, 119, 154, - 505, 653, 108, 265, 790, 695, 311, 393, 646, 628, 187, 41, - 232, 351, 69, 1157, 120, 155, 506, 654, 109, 266, 791, 696, - 312, 394, 647, 629, 188, 42, 233, 352, 70, 1158, 121, 156, - 507, 655, 110, 267, 792, 697, 313, 395, 648, 630, 189, 43, - 234, 353, 71, 1159, 122, 157, 508, 656, 111, 268, 793, 698, - 314, 396, 649, 631, 190, 44, 235, 354, 72, 1160, 123, 158, - 509, 657, 112, 269, 794, 699, 315, 397, 650, 361, 191, 45, - 236, 355, 73, 1161, 124, 159, 510, 658, 113, 270, 795, 700, - 316, 398, 651, 362, 192, 46, 237, 356, 74, 1162, 125, 160, - 511, 659, 114, 271, 796, 701, 317, 399, 652, 363, 193, 47, - 238, 357, 75, 1163, 126, 161, 512, 660, 115, 272, 797, 702, - 318, 400, 653, 364, 194, 48, 239, 358, 76, 1164, 127, 162, - 513, 661, 116, 273, 798, 703, 319, 401, 654, 365, 195, 49, - 240, 359, 77, 1165, 128, 163, 514, 662, 117, 274, 799, 704, - 320, 402, 655, 366, 196, 50, 241, 360, 78, 1166, 129, 164, - 515, 663, 118, 275, 800, 705, 321, 403, 656, 367, 197, 51, - 242, 1, 79, 1167, 130, 165, 516, 664, 119, 276, 801, 706, - 322, 404, 657, 368, 198, 52, 243, 2, 80, 1168, 131, 166, - 517, 665, 120, 277, 802, 707, 323, 405, 658, 369, 199, 53, - 244, 3, 81, 1169, 132, 167, 518, 666, 121, 278, 803, 708, - 324, 406, 659, 370, 200, 54, 245, 4, 82, 1170, 133, 168, - 519, 667, 122, 279, 804, 709, 325, 407, 660, 371, 201, 55, - 246, 5, 83, 1171, 134, 169, 520, 668, 123, 280, 805, 710, - 326, 408, 661, 372, 202, 56, 247, 6, 84, 1172, 135, 170, - 521, 669, 124, 281, 806, 711, 327, 409, 662, 373, 203, 57, - 248, 7, 85, 1173, 136, 171, 522, 670, 125, 282, 807, 712, - 328, 410, 663, 374, 204, 58, 249, 8, 86, 1174, 137, 172, - 523, 671, 126, 283, 808, 713, 329, 411, 664, 375, 205, 59, - 250, 9, 87, 1175, 138, 173, 524, 672, 127, 284, 809, 714, - 330, 412, 665, 376, 206, 60, 251, 10, 88, 1176, 139, 174, - 525, 673, 128, 285, 810, 715, 331, 413, 666, 377, 207, 61, - 252, 11, 89, 1177, 140, 175, 526, 674, 129, 286, 811, 716, - 332, 414, 667, 378, 208, 62, 253, 12, 90, 1178, 141, 176, - 527, 675, 130, 287, 812, 717, 333, 415, 668, 379, 209, 63, - 254, 13, 91, 1179, 142, 177, 528, 676, 131, 288, 813, 718, - 334, 416, 669, 380, 210, 64, 255, 14, 92, 1180, 143, 178, - 529, 677, 132, 289, 814, 719, 335, 417, 670, 381, 211, 65, - 256, 15, 93, 1181, 144, 179, 530, 678, 133, 290, 815, 720, - 336, 418, 671, 382, 212, 66, 257, 16, 94, 1182, 145, 180, - 531, 679, 134, 291, 816, 361, 337, 419, 672, 383, 213, 67, - 258, 17, 95, 1183, 146, 181, 532, 680, 135, 292, 817, 362, - 338, 420, 673, 384, 214, 68, 259, 18, 96, 1184, 147, 182, - 533, 681, 136, 293, 818, 363, 339, 421, 674, 385, 215, 69, - 260, 19, 97, 1185, 148, 183, 534, 682, 137, 294, 819, 364, - 340, 422, 675, 386, 216, 70, 261, 20, 98, 1186, 149, 184, - 535, 683, 138, 295, 820, 365, 341, 423, 676, 387, 217, 71, - 262, 21, 99, 1187, 150, 185, 536, 684, 139, 296, 821, 366, - 342, 424, 677, 388, 218, 72, 263, 22, 100, 1188, 151, 186, - 537, 685, 140, 297, 822, 367, 343, 425, 678, 389, 219, 73, - 264, 23, 101, 1189, 152, 187, 538, 686, 141, 298, 823, 368, - 344, 426, 679, 390, 220, 74, 265, 24, 102, 1190, 153, 188, - 539, 687, 142, 299, 824, 369, 345, 427, 680, 391, 221, 75, - 266, 25, 103, 1191, 154, 189, 540, 688, 143, 300, 825, 370, - 346, 428, 681, 392, 222, 76, 267, 26, 104, 1192, 155, 190, - 541, 689, 144, 301, 826, 371, 347, 429, 682, 393, 223, 77, - 268, 27, 105, 1193, 156, 191, 542, 690, 145, 302, 827, 372, - 348, 430, 683, 394, 224, 78, 269, 28, 106, 1194, 157, 192, - 543, 691, 146, 303, 828, 373, 349, 431, 684, 395, 225, 79, - 270, 29, 107, 1195, 158, 193, 544, 692, 147, 304, 829, 374, - 350, 432, 685, 396, 226, 80, 271, 30, 108, 1196, 159, 194, - 545, 693, 148, 305, 830, 375, 351, 433, 686, 397, 227, 81, - 272, 31, 109, 1197, 160, 195, 546, 694, 149, 306, 831, 376, - 352, 434, 687, 398, 228, 82, 273, 32, 110, 1198, 161, 196, - 547, 695, 150, 307, 832, 377, 353, 435, 688, 399, 229, 83, - 274, 33, 111, 1199, 162, 197, 548, 696, 151, 308, 833, 378, - 354, 436, 689, 400, 230, 84, 275, 34, 112, 1200, 163, 198, - 549, 697, 152, 309, 834, 379, 355, 437, 690, 401, 231, 85, - 276, 35, 113, 1201, 164, 199, 550, 698, 153, 310, 835, 380, - 356, 438, 691, 402, 232, 86, 277, 36, 114, 1202, 165, 200, - 551, 699, 154, 311, 836, 381, 357, 439, 692, 403, 233, 87, - 278, 37, 115, 1203, 166, 201, 552, 700, 155, 312, 837, 382, - 358, 440, 693, 404, 234, 88, 279, 38, 116, 1204, 167, 202, - 553, 701, 156, 313, 838, 383, 359, 441, 694, 405, 235, 89, - 280, 39, 117, 1205, 168, 203, 554, 702, 157, 314, 839, 384, - 360, 442, 695, 406, 236, 90, 281, 40, 118, 1206, 169, 204, - 555, 703, 158, 315, 840, 385, 1, 443, 696, 407, 237, 91, - 282, 41, 119, 1207, 170, 205, 556, 704, 159, 316, 841, 386, - 2, 444, 697, 408, 238, 92, 283, 42, 120, 1208, 171, 206, - 557, 705, 160, 317, 842, 387, 3, 445, 698, 409, 239, 93, - 284, 43, 121, 1209, 172, 207, 558, 706, 161, 318, 843, 388, - 909, 722, 730, 681, 331, 576, 787, 807, 1950, 1590, 735, 1306, - 599, 710, 204, 403, 1090, 761, 910, 723, 731, 682, 332, 577, - 788, 808, 1951, 1591, 736, 1307, 600, 711, 205, 404, 1091, 762, - 911, 724, 732, 683, 333, 578, 789, 809, 1952, 1592, 737, 1308, - 601, 712, 206, 405, 1092, 763, 912, 725, 733, 684, 334, 579, - 790, 810, 1953, 1593, 738, 1309, 602, 713, 207, 406, 1093, 764, - 913, 726, 734, 685, 335, 580, 791, 811, 1954, 1594, 739, 1310, - 603, 714, 208, 407, 1094, 765, 914, 727, 735, 686, 336, 581, - 792, 812, 1955, 1595, 740, 1311, 604, 715, 209, 408, 1095, 766, - 915, 728, 736, 687, 337, 582, 793, 813, 1956, 1596, 741, 1312, - 605, 716, 210, 409, 1096, 767, 916, 729, 737, 688, 338, 583, - 794, 814, 1957, 1597, 742, 1313, 606, 717, 211, 410, 1097, 768, - 917, 730, 738, 689, 339, 584, 795, 815, 1958, 1598, 743, 1314, - 607, 718, 212, 411, 1098, 769, 918, 731, 739, 690, 340, 585, - 796, 816, 1959, 1599, 744, 1315, 608, 719, 213, 412, 1099, 770, - 919, 732, 740, 691, 341, 586, 797, 817, 1960, 1600, 745, 1316, - 609, 720, 214, 413, 1100, 771, 920, 733, 741, 692, 342, 587, - 798, 818, 1961, 1601, 746, 1317, 610, 718, 215, 414, 1101, 772, - 921, 734, 742, 693, 343, 588, 799, 819, 1962, 1602, 747, 1318, - 611, 719, 216, 415, 1102, 773, 922, 735, 743, 694, 344, 589, - 800, 820, 1963, 1603, 748, 1319, 612, 720, 217, 416, 1103, 774, - 923, 736, 744, 695, 345, 590, 801, 821, 1964, 1604, 749, 1320, - 613, 364, 218, 417, 1104, 775, 924, 737, 745, 696, 346, 591, - 802, 822, 1965, 1605, 750, 1321, 614, 365, 219, 418, 1105, 776, - 925, 738, 746, 697, 347, 592, 803, 823, 1966, 1606, 751, 1322, - 615, 366, 220, 419, 1106, 777, 926, 739, 747, 698, 348, 593, - 804, 824, 1967, 1607, 752, 1323, 616, 367, 221, 420, 1107, 778, - 927, 740, 748, 699, 349, 594, 805, 825, 1968, 1608, 753, 1324, - 617, 368, 222, 421, 1108, 779, 928, 741, 749, 700, 350, 595, - 806, 826, 1969, 1609, 754, 1325, 618, 369, 223, 422, 1109, 780, - 929, 742, 750, 701, 351, 596, 807, 827, 1970, 1610, 755, 1326, - 619, 370, 224, 423, 1110, 781, 930, 743, 751, 702, 352, 597, - 808, 828, 1971, 1611, 756, 1327, 620, 371, 225, 424, 1111, 782, - 931, 744, 752, 703, 353, 598, 809, 829, 1972, 1612, 757, 1328, - 621, 372, 226, 425, 1112, 783, 932, 745, 753, 704, 354, 599, - 810, 830, 1973, 1613, 758, 1329, 622, 373, 227, 426, 1113, 784, - 933, 746, 754, 705, 355, 600, 811, 831, 1974, 1614, 759, 1330, - 623, 374, 228, 427, 1114, 785, 934, 747, 755, 706, 356, 601, - 812, 832, 1975, 1615, 760, 1331, 624, 375, 229, 428, 1115, 786, - 935, 748, 756, 707, 357, 602, 813, 833, 1976, 1616, 761, 1332, - 625, 376, 230, 429, 1116, 787, 936, 749, 757, 708, 358, 603, - 814, 834, 1977, 1617, 762, 1333, 626, 377, 231, 430, 1117, 788, - 937, 750, 758, 709, 359, 604, 815, 835, 1978, 1618, 763, 1334, - 627, 378, 232, 431, 1118, 789, 938, 751, 759, 710, 360, 605, - 816, 836, 1979, 1619, 764, 1335, 628, 379, 233, 432, 1119, 790, - 939, 752, 760, 711, 270, 606, 817, 837, 1980, 1620, 765, 1336, - 629, 380, 234, 433, 1120, 791, 940, 753, 761, 712, 271, 607, - 818, 838, 1981, 1621, 766, 1337, 630, 381, 235, 434, 1121, 792, - 941, 754, 762, 713, 272, 608, 819, 839, 1982, 1622, 767, 1338, - 631, 382, 236, 435, 1122, 793, 942, 755, 763, 714, 273, 609, - 820, 840, 1983, 1623, 768, 1339, 632, 383, 237, 436, 1123, 794, - 943, 756, 764, 715, 274, 610, 821, 841, 1984, 1624, 769, 1340, - 633, 384, 238, 437, 1124, 795, 944, 757, 765, 716, 275, 611, - 822, 842, 1985, 1625, 770, 1341, 634, 385, 239, 438, 1125, 796, - 945, 758, 766, 717, 276, 612, 823, 843, 1986, 1626, 771, 1342, - 635, 386, 240, 439, 1126, 797, 946, 759, 767, 718, 277, 613, - 824, 844, 1987, 1627, 772, 1343, 636, 387, 241, 440, 1127, 798, - 947, 760, 768, 719, 278, 614, 825, 845, 1988, 1628, 773, 1344, - 637, 388, 242, 441, 1128, 799, 948, 761, 769, 720, 279, 615, - 826, 846, 1989, 1629, 774, 1345, 638, 389, 243, 442, 1129, 800, - 949, 762, 770, 450, 280, 616, 827, 847, 1990, 1630, 775, 1346, - 639, 390, 244, 443, 1130, 801, 950, 763, 771, 451, 281, 617, - 828, 848, 1991, 1631, 776, 1347, 640, 391, 245, 444, 1131, 802, - 951, 764, 772, 452, 282, 618, 829, 849, 1992, 1632, 777, 1348, - 641, 392, 246, 445, 1132, 803, 952, 765, 773, 453, 283, 619, - 830, 850, 1993, 1633, 778, 1349, 642, 393, 247, 446, 1133, 804, - 953, 766, 774, 454, 284, 620, 831, 851, 1994, 1634, 779, 1350, - 643, 394, 248, 447, 1134, 805, 954, 767, 775, 455, 285, 621, - 832, 852, 1995, 1635, 780, 1351, 644, 395, 249, 448, 1135, 806, - 955, 768, 776, 456, 286, 622, 833, 853, 1996, 1636, 781, 1352, - 645, 396, 250, 449, 1136, 807, 956, 769, 777, 457, 287, 623, - 834, 854, 1997, 1637, 782, 1353, 646, 397, 251, 450, 1137, 808, - 957, 770, 778, 458, 288, 624, 835, 855, 1998, 1638, 783, 1354, - 647, 398, 252, 451, 1138, 809, 958, 771, 779, 459, 289, 625, - 836, 856, 1999, 1639, 784, 1355, 648, 399, 253, 452, 1139, 810, - 959, 772, 780, 460, 290, 626, 837, 857, 2000, 1640, 785, 1356, - 649, 400, 254, 453, 1140, 811, 960, 773, 781, 461, 291, 627, - 838, 858, 2001, 1641, 786, 1357, 650, 401, 255, 454, 1141, 812, - 961, 774, 782, 462, 292, 628, 839, 859, 2002, 1642, 787, 1358, - 651, 402, 256, 455, 1142, 813, 962, 775, 783, 463, 293, 629, - 840, 860, 2003, 1643, 788, 1359, 652, 403, 257, 456, 1143, 814, - 963, 776, 784, 464, 294, 630, 841, 861, 2004, 1644, 789, 1360, - 653, 404, 258, 457, 1144, 815, 964, 777, 785, 465, 295, 631, - 842, 862, 2005, 1645, 790, 1361, 654, 405, 259, 458, 1145, 816, - 965, 778, 786, 466, 296, 632, 843, 863, 2006, 1646, 791, 1362, - 655, 406, 260, 459, 1146, 817, 966, 779, 787, 467, 297, 633, - 844, 864, 2007, 1647, 792, 1363, 656, 407, 261, 460, 1147, 818, - 967, 780, 788, 468, 298, 634, 845, 865, 2008, 1648, 793, 1364, - 657, 408, 262, 461, 1148, 819, 968, 781, 789, 469, 299, 635, - 846, 866, 2009, 1649, 794, 1365, 658, 409, 263, 462, 1149, 820, - 969, 782, 790, 470, 300, 636, 847, 867, 2010, 1650, 795, 1366, - 659, 410, 264, 463, 1150, 821, 970, 783, 791, 471, 301, 637, - 848, 868, 2011, 1651, 796, 1367, 660, 411, 265, 464, 1151, 822, - 971, 784, 792, 472, 302, 638, 849, 869, 2012, 1652, 797, 1368, - 661, 412, 266, 465, 1152, 823, 972, 785, 793, 473, 303, 639, - 850, 870, 2013, 1653, 798, 1369, 662, 413, 267, 466, 1153, 824, - 973, 786, 794, 474, 304, 640, 851, 871, 2014, 1654, 799, 1370, - 663, 414, 268, 467, 1154, 825, 974, 787, 795, 475, 305, 641, - 852, 872, 2015, 1655, 800, 1371, 664, 415, 269, 468, 1155, 826, - 975, 788, 796, 476, 306, 642, 853, 873, 2016, 1656, 801, 1372, - 665, 416, 270, 469, 1156, 827, 976, 789, 797, 477, 307, 643, - 854, 874, 2017, 1657, 802, 1373, 666, 417, 271, 470, 1157, 828, - 977, 790, 798, 478, 308, 644, 855, 875, 2018, 1658, 803, 1374, - 667, 418, 272, 471, 1158, 829, 978, 791, 799, 479, 309, 645, - 856, 876, 2019, 1659, 804, 1375, 668, 419, 273, 472, 1159, 830, - 979, 792, 800, 480, 310, 646, 857, 877, 2020, 1660, 805, 1376, - 669, 420, 274, 473, 1160, 831, 980, 793, 801, 481, 311, 647, - 858, 878, 2021, 1661, 806, 1377, 670, 421, 275, 474, 1161, 832, - 981, 794, 802, 482, 312, 648, 859, 879, 2022, 1662, 807, 1378, - 671, 422, 276, 475, 1162, 833, 982, 795, 803, 483, 313, 649, - 860, 880, 2023, 1663, 808, 1379, 672, 423, 277, 476, 1163, 834, - 983, 796, 804, 484, 314, 650, 861, 881, 2024, 1664, 809, 1380, - 673, 424, 278, 477, 1164, 835, 984, 797, 805, 485, 315, 651, - 862, 882, 2025, 1665, 810, 1381, 674, 425, 279, 478, 1165, 836, - 985, 798, 806, 486, 316, 652, 863, 883, 2026, 1666, 811, 1382, - 675, 426, 280, 479, 1166, 837, 986, 799, 807, 487, 317, 653, - 864, 884, 2027, 1667, 812, 1383, 676, 427, 281, 480, 1167, 838, - 987, 800, 808, 488, 318, 654, 865, 885, 2028, 1668, 813, 1384, - 677, 428, 282, 481, 1168, 839, 988, 801, 809, 489, 319, 655, - 866, 886, 2029, 1669, 814, 1385, 678, 429, 283, 482, 1169, 840, - 989, 802, 810, 490, 320, 656, 867, 887, 2030, 1670, 815, 1386, - 679, 430, 284, 483, 1170, 841, 990, 803, 811, 491, 321, 657, - 868, 888, 2031, 1671, 816, 1387, 680, 431, 285, 484, 1171, 842, - 991, 804, 812, 492, 322, 658, 869, 889, 2032, 1672, 817, 1388, - 681, 432, 286, 485, 1172, 843, 992, 805, 813, 493, 323, 659, - 870, 890, 2033, 1673, 818, 1389, 682, 433, 287, 486, 1173, 844, - 993, 806, 814, 494, 324, 660, 871, 891, 2034, 1674, 819, 1390, - 683, 434, 288, 487, 1174, 845, 994, 807, 815, 495, 325, 661, - 872, 892, 2035, 1675, 820, 1391, 684, 435, 289, 488, 1175, 846, - 995, 808, 816, 496, 326, 662, 873, 893, 2036, 1676, 821, 1392, - 685, 436, 290, 489, 1176, 847, 996, 809, 817, 497, 327, 663, - 874, 894, 2037, 1677, 822, 1393, 686, 437, 291, 490, 1177, 848, - 997, 810, 818, 498, 328, 664, 875, 895, 2038, 1678, 823, 1394, - 687, 438, 292, 491, 1178, 849, 998, 811, 819, 499, 329, 665, - 876, 896, 2039, 1679, 824, 1395, 688, 439, 293, 492, 1179, 850, - 999, 812, 820, 500, 330, 666, 877, 897, 2040, 1680, 825, 1396, - 689, 440, 294, 493, 1180, 851, 1000, 813, 821, 501, 331, 667, - 878, 898, 2041, 1681, 826, 1397, 690, 441, 295, 494, 1181, 852, - 1001, 814, 822, 502, 332, 668, 879, 899, 2042, 1682, 827, 1398, - 691, 442, 296, 495, 1182, 853, 1002, 815, 823, 503, 333, 669, - 880, 900, 2043, 1683, 828, 1399, 692, 443, 297, 496, 1183, 854, - 1003, 816, 824, 504, 334, 670, 881, 901, 2044, 1684, 829, 1400, - 693, 444, 298, 497, 1184, 855, 1004, 817, 825, 505, 335, 671, - 882, 902, 2045, 1685, 830, 1401, 694, 445, 299, 498, 1185, 856, - 1005, 818, 826, 506, 336, 672, 883, 903, 2046, 1686, 831, 1402, - 695, 446, 300, 499, 1186, 857, 1006, 819, 827, 507, 337, 673, - 884, 904, 2047, 1687, 832, 1403, 696, 447, 301, 500, 1187, 858, - 1007, 820, 828, 508, 338, 674, 885, 905, 2048, 1688, 833, 1404, - 697, 448, 302, 501, 1188, 859, 1008, 821, 829, 509, 339, 675, - 886, 906, 2049, 1689, 834, 1405, 698, 449, 303, 502, 1189, 860, - 1009, 822, 830, 510, 340, 676, 887, 907, 2050, 1690, 835, 1406, - 699, 450, 304, 503, 1190, 861, 1010, 823, 831, 511, 341, 677, - 888, 908, 2051, 1691, 836, 1407, 700, 451, 305, 504, 1191, 862, - 1011, 824, 832, 512, 342, 678, 889, 909, 2052, 1692, 837, 1408, - 701, 452, 306, 505, 1192, 863, 1012, 825, 833, 513, 343, 679, - 890, 910, 2053, 1693, 838, 1409, 702, 453, 307, 506, 1193, 864, - 1013, 826, 834, 514, 344, 680, 891, 911, 2054, 1694, 839, 1410, - 703, 454, 308, 507, 1194, 865, 1014, 827, 835, 515, 345, 681, - 892, 912, 2055, 1695, 840, 1411, 704, 455, 309, 508, 1195, 866, - 1015, 828, 836, 516, 346, 682, 893, 913, 2056, 1696, 841, 1412, - 705, 456, 310, 509, 1196, 867, 1016, 829, 837, 517, 347, 683, - 894, 914, 2057, 1697, 842, 1413, 706, 457, 311, 510, 1197, 868, - 1017, 830, 838, 518, 348, 684, 895, 915, 2058, 1698, 843, 1414, - 707, 458, 312, 511, 1198, 869, 1018, 831, 839, 519, 349, 685, - 896, 916, 2059, 1699, 844, 1415, 708, 459, 313, 512, 1199, 870, - 1019, 832, 840, 520, 350, 686, 897, 917, 2060, 1700, 845, 1416, - 709, 460, 314, 513, 1200, 871, 1020, 833, 841, 521, 351, 687, - 898, 918, 2061, 1701, 846, 1417, 710, 461, 315, 514, 1201, 872, - 1021, 834, 842, 522, 352, 688, 899, 919, 2062, 1702, 847, 1418, - 711, 462, 316, 515, 1202, 873, 1022, 835, 843, 523, 353, 689, - 900, 920, 2063, 1703, 848, 1419, 712, 463, 317, 516, 1203, 874, - 1023, 836, 844, 524, 354, 690, 901, 921, 2064, 1704, 849, 1081, - 713, 464, 318, 517, 1204, 875, 1024, 837, 845, 525, 355, 691, - 902, 922, 2065, 1705, 850, 1082, 714, 465, 319, 518, 1205, 876, - 1025, 838, 846, 526, 356, 692, 903, 923, 2066, 1706, 851, 1083, - 715, 466, 320, 519, 1206, 877, 1026, 839, 847, 527, 357, 693, - 904, 924, 2067, 1707, 852, 1084, 716, 467, 321, 520, 1207, 878, - 1027, 840, 848, 528, 358, 694, 905, 925, 2068, 1708, 853, 1085, - 717, 468, 322, 521, 1208, 879, 1028, 841, 849, 529, 359, 695, - 906, 926, 2069, 1709, 854, 1086, 718, 469, 323, 522, 1209, 880, - 1029, 842, 850, 530, 360, 696, 907, 927, 2070, 1710, 855, 1087, - 719, 470, 324, 523, 1210, 881, 1030, 843, 851, 531, 92, 697, - 908, 928, 2071, 1711, 856, 1088, 720, 471, 325, 524, 1211, 882, - 1031, 844, 852, 532, 93, 698, 909, 929, 2072, 1712, 857, 1089, - 681, 472, 326, 525, 1212, 883, 1032, 845, 853, 533, 94, 699, - 910, 930, 2073, 1713, 858, 1090, 682, 473, 327, 526, 1213, 884, - 1033, 846, 854, 534, 95, 700, 911, 931, 2074, 1714, 859, 1091, - 683, 474, 328, 527, 1214, 885, 1034, 847, 855, 535, 96, 701, - 912, 932, 2075, 1715, 860, 1092, 684, 475, 329, 528, 1215, 886, - 1035, 848, 856, 536, 97, 702, 913, 933, 2076, 1716, 861, 1093, - 685, 476, 330, 529, 1216, 887, 1036, 849, 857, 537, 98, 703, - 914, 934, 2077, 1717, 862, 1094, 686, 477, 331, 530, 1217, 888, - 1037, 850, 858, 538, 99, 704, 915, 935, 2078, 1718, 863, 1095, - 687, 478, 332, 531, 1218, 889, 1038, 851, 859, 539, 100, 705, - 916, 936, 2079, 1719, 864, 1096, 688, 479, 333, 532, 1219, 890, - 1039, 852, 860, 540, 101, 706, 917, 937, 2080, 1720, 865, 1097, - 689, 480, 334, 533, 1220, 891, 1040, 853, 861, 541, 102, 707, - 918, 938, 2081, 1721, 866, 1098, 690, 481, 335, 534, 1221, 892, - 1041, 854, 862, 542, 103, 708, 919, 939, 2082, 1722, 867, 1099, - 691, 482, 336, 535, 1222, 893, 1042, 855, 863, 543, 104, 709, - 920, 940, 2083, 1723, 868, 1100, 692, 483, 337, 536, 1223, 894, - 1043, 856, 864, 544, 105, 710, 921, 941, 2084, 1724, 869, 1101, - 693, 484, 338, 537, 1224, 895, 1044, 857, 865, 545, 106, 711, - 922, 942, 2085, 1725, 870, 1081, 694, 485, 339, 538, 1225, 896, - 1045, 858, 866, 546, 107, 712, 923, 943, 2086, 1726, 871, 1082, - 695, 486, 340, 539, 1226, 897, 1046, 859, 867, 547, 108, 713, - 924, 944, 2087, 1727, 872, 1083, 696, 487, 341, 540, 1227, 898, - 1047, 860, 868, 548, 109, 714, 925, 945, 2088, 1728, 873, 1084, - 697, 488, 342, 541, 1228, 899, 1048, 861, 869, 549, 110, 715, - 926, 946, 2089, 1729, 874, 1085, 698, 489, 343, 542, 1229, 900, - 1049, 862, 870, 550, 111, 716, 927, 947, 2090, 1730, 875, 1086, - 699, 490, 344, 543, 1230, 901, 1050, 863, 871, 551, 112, 717, - 928, 948, 2091, 1731, 876, 1087, 700, 491, 345, 544, 1231, 902, - 1051, 864, 872, 552, 113, 718, 929, 949, 2092, 1732, 877, 1088, - 701, 492, 346, 545, 1232, 903, 1052, 865, 873, 553, 114, 719, - 930, 950, 2093, 1733, 878, 1089, 702, 493, 347, 546, 1233, 904, - 1053, 866, 874, 554, 115, 720, 931, 951, 2094, 1734, 879, 1090, - 703, 494, 348, 547, 1234, 905, 1054, 867, 875, 555, 116, 361, - 932, 952, 2095, 1735, 880, 1091, 704, 495, 349, 548, 1235, 906, - 1055, 868, 876, 556, 117, 362, 933, 953, 2096, 1736, 881, 1092, - 705, 496, 350, 549, 1236, 907, 1056, 869, 877, 557, 118, 363, - 934, 954, 2097, 1737, 882, 1093, 706, 497, 351, 550, 1237, 908, - 1057, 870, 878, 558, 119, 364, 935, 955, 2098, 1738, 883, 1094, - 707, 498, 352, 551, 1238, 909, 1058, 871, 879, 559, 120, 365, - 936, 956, 2099, 1739, 884, 1095, 708, 499, 353, 552, 1239, 910, - 1059, 872, 880, 560, 121, 366, 937, 957, 2100, 1740, 885, 1096, - 709, 500, 354, 553, 1240, 911, 1060, 873, 881, 561, 122, 367, - 938, 958, 2101, 1741, 886, 1097, 710, 501, 355, 554, 1241, 912, - 1061, 874, 882, 562, 123, 368, 939, 959, 2102, 1742, 887, 1098, - 711, 502, 356, 555, 1242, 913, 1062, 875, 883, 563, 124, 369, - 940, 960, 2103, 1743, 888, 1099, 712, 503, 357, 556, 1243, 914, - 1063, 876, 884, 564, 125, 370, 941, 961, 2104, 1744, 889, 1100, - 713, 504, 358, 557, 1244, 915, 1064, 877, 885, 565, 126, 371, - 942, 962, 2105, 1745, 890, 1101, 714, 505, 359, 558, 1245, 916, - 1065, 878, 886, 566, 127, 372, 943, 963, 2106, 1746, 891, 1102, - 715, 506, 360, 559, 1246, 917, 1066, 879, 887, 567, 128, 373, - 944, 964, 2107, 1747, 892, 1103, 716, 507, 319, 560, 1247, 918, - 1067, 880, 888, 568, 129, 374, 945, 965, 2108, 1748, 893, 1104, - 717, 508, 320, 561, 1248, 919, 1068, 881, 889, 569, 130, 375, - 946, 966, 2109, 1749, 894, 1105, 718, 509, 321, 562, 1249, 920, - 1069, 882, 890, 570, 131, 376, 947, 967, 2110, 1750, 895, 1106, - 719, 510, 322, 563, 1250, 921, 1070, 883, 891, 571, 132, 377, - 948, 968, 2111, 1751, 896, 1107, 720, 511, 323, 564, 1251, 922, - 1071, 884, 892, 572, 133, 378, 949, 969, 2112, 1752, 897, 1108, - 401, 512, 324, 565, 1252, 923, 1072, 885, 893, 573, 134, 379, - 950, 970, 2113, 1753, 898, 1109, 402, 513, 325, 566, 1253, 924, - 1073, 886, 894, 574, 135, 380, 951, 971, 2114, 1754, 899, 1110, - 403, 514, 326, 567, 1254, 925, 1074, 887, 895, 575, 136, 381, - 952, 972, 2115, 1755, 900, 1111, 404, 515, 327, 568, 1255, 926, - 1075, 888, 896, 576, 137, 382, 953, 973, 2116, 1441, 901, 1112, - 405, 516, 328, 569, 1256, 927, 1076, 889, 897, 577, 138, 383, - 954, 974, 2117, 1442, 902, 1113, 406, 517, 329, 570, 1257, 928, - 1077, 890, 898, 578, 139, 384, 955, 975, 2118, 1443, 903, 1114, - 407, 518, 330, 571, 1258, 929, 1078, 891, 899, 579, 140, 385, - 956, 976, 2119, 1444, 904, 1115, 408, 519, 331, 572, 1259, 930, - 1079, 892, 900, 580, 141, 386, 957, 977, 2120, 1445, 905, 1116, - 409, 520, 332, 573, 1260, 931, 1080, 893, 901, 581, 142, 387, - 958, 978, 2121, 1446, 906, 1117, 410, 521, 333, 574, 1261, 932, - 721, 894, 902, 582, 143, 388, 959, 979, 2122, 1447, 907, 1118, - 411, 522, 334, 575, 1262, 933, 722, 895, 903, 583, 144, 389, - 960, 980, 2123, 1448, 908, 1119, 412, 523, 335, 576, 1263, 934, - 723, 896, 904, 584, 145, 390, 961, 981, 2124, 1449, 909, 1120, - 413, 524, 336, 577, 1264, 935, 724, 897, 905, 585, 146, 391, - 962, 982, 2125, 1450, 910, 1121, 414, 525, 337, 578, 1265, 936, - 725, 898, 906, 586, 147, 392, 963, 983, 2126, 1451, 911, 1122, - 415, 526, 338, 579, 1266, 937, 726, 899, 907, 587, 148, 393, - 964, 984, 2127, 1452, 912, 1123, 416, 527, 339, 580, 1267, 938, - 727, 900, 908, 588, 149, 394, 965, 985, 2128, 1453, 913, 1124, - 417, 528, 340, 581, 1268, 939, 728, 901, 909, 589, 150, 395, - 966, 986, 2129, 1454, 914, 1125, 418, 529, 341, 582, 1269, 940, - 729, 902, 910, 590, 151, 396, 967, 987, 2130, 1455, 915, 1126, - 419, 530, 342, 583, 1270, 941, 730, 903, 911, 591, 152, 397, - 968, 988, 2131, 1456, 916, 1127, 420, 531, 343, 584, 1271, 942, - 731, 904, 912, 592, 153, 398, 969, 989, 2132, 1457, 917, 1128, - 421, 532, 344, 585, 1272, 943, 732, 905, 913, 593, 154, 399, - 970, 990, 2133, 1458, 918, 1129, 422, 533, 345, 586, 1273, 944, - 733, 906, 914, 594, 155, 400, 971, 991, 2134, 1459, 919, 1130, - 423, 534, 346, 587, 1274, 945, 734, 907, 915, 595, 156, 401, - 972, 992, 2135, 1460, 920, 1131, 424, 535, 347, 588, 1275, 946, - 735, 908, 916, 596, 157, 402, 973, 993, 2136, 1461, 921, 1132, - 425, 536, 348, 589, 1276, 947, 736, 909, 917, 597, 158, 403, - 974, 994, 2137, 1462, 922, 1133, 426, 537, 349, 590, 1277, 948, - 737, 910, 918, 598, 159, 404, 975, 995, 2138, 1463, 923, 1134, - 427, 538, 350, 591, 1278, 949, 738, 911, 919, 599, 160, 405, - 976, 996, 2139, 1464, 924, 1135, 428, 539, 351, 592, 1279, 950, - 739, 912, 920, 600, 161, 406, 977, 997, 2140, 1465, 925, 1136, - 429, 540, 352, 593, 1280, 951, 740, 913, 921, 601, 162, 407, - 978, 998, 2141, 1466, 926, 1137, 430, 541, 353, 594, 1281, 952, - 741, 914, 922, 602, 163, 408, 979, 999, 2142, 1467, 927, 1138, - 431, 542, 354, 595, 1282, 953, 742, 915, 923, 603, 164, 409, - 980, 1000, 2143, 1468, 928, 1139, 432, 543, 355, 596, 1283, 954, - 743, 916, 924, 604, 165, 410, 981, 1001, 2144, 1469, 929, 1140, - 433, 544, 356, 597, 1284, 955, 744, 917, 925, 605, 166, 411, - 982, 1002, 2145, 1470, 930, 1141, 434, 545, 357, 598, 1285, 956, - 745, 918, 926, 606, 167, 412, 983, 1003, 2146, 1471, 931, 1142, - 435, 546, 358, 599, 1286, 957, 746, 919, 927, 607, 168, 413, - 984, 1004, 2147, 1472, 932, 1143, 436, 547, 359, 600, 1287, 958, - 747, 920, 928, 608, 169, 414, 985, 1005, 2148, 1473, 933, 1144, - 437, 548, 360, 601, 1288, 959, 748, 921, 929, 609, 170, 415, - 986, 1006, 2149, 1474, 934, 1145, 438, 549, 43, 602, 1289, 960, - 749, 922, 930, 610, 171, 416, 987, 1007, 2150, 1475, 935, 1146, - 439, 550, 44, 603, 1290, 961, 750, 923, 931, 611, 172, 417, - 988, 1008, 2151, 1476, 936, 1147, 440, 551, 45, 604, 1291, 962, - 751, 924, 932, 612, 173, 418, 989, 1009, 2152, 1477, 937, 1148, - 441, 552, 46, 605, 1292, 963, 752, 925, 933, 613, 174, 419, - 990, 1010, 2153, 1478, 938, 1149, 442, 553, 47, 606, 1293, 964, - 753, 926, 934, 614, 175, 420, 991, 1011, 2154, 1479, 939, 1150, - 443, 554, 48, 607, 1294, 965, 754, 927, 935, 615, 176, 421, - 992, 1012, 2155, 1480, 940, 1151, 444, 555, 49, 608, 1295, 966, - 755, 928, 936, 616, 177, 422, 993, 1013, 2156, 1481, 941, 1152, - 445, 556, 50, 609, 1296, 967, 756, 929, 937, 617, 178, 423, - 994, 1014, 2157, 1482, 942, 1153, 446, 557, 51, 610, 1297, 968, - 757, 930, 938, 618, 179, 424, 995, 1015, 2158, 1483, 943, 1154, - 447, 558, 52, 611, 1298, 969, 758, 931, 939, 619, 180, 425, - 996, 1016, 2159, 1484, 944, 1155, 448, 559, 53, 612, 1299, 970, - 759, 932, 940, 620, 181, 426, 997, 1017, 2160, 1485, 945, 1156, - 449, 560, 54, 613, 1300, 971, 760, 933, 941, 621, 182, 427, - 998, 1018, 1801, 1441, 946, 1157, 450, 561, 55, 614, 1301, 972, - 761, 934, 942, 622, 183, 428, 999, 1019, 1802, 1442, 947, 1158, - 451, 562, 56, 615, 1302, 973, 762, 935, 943, 623, 184, 429, - 1000, 1020, 1803, 1443, 948, 1159, 452, 563, 57, 616, 1303, 974, - 763, 936, 944, 624, 185, 430, 1001, 1021, 1804, 1444, 949, 1160, - 453, 564, 58, 617, 1304, 975, 764, 937, 945, 625, 186, 431, - 1002, 1022, 1805, 1445, 950, 1161, 454, 565, 59, 618, 1305, 976, - 765, 938, 946, 626, 187, 432, 1003, 1023, 1806, 1446, 951, 1162, - 455, 566, 60, 619, 1306, 977, 766, 939, 947, 627, 188, 433, - 1004, 1024, 1807, 1447, 952, 1163, 456, 567, 61, 620, 1307, 978, - 767, 940, 948, 628, 189, 434, 1005, 1025, 1808, 1448, 953, 1164, - 457, 568, 62, 621, 1308, 979, 768, 941, 949, 629, 190, 435, - 1006, 1026, 1809, 1449, 954, 1165, 458, 569, 63, 622, 1309, 980, - 769, 942, 950, 630, 191, 436, 1007, 1027, 1810, 1450, 955, 1166, - 459, 570, 64, 623, 1310, 981, 770, 943, 951, 631, 192, 437, - 1008, 1028, 1811, 1451, 956, 1167, 460, 571, 65, 624, 1311, 982, - 771, 944, 952, 632, 193, 438, 1009, 1029, 1812, 1452, 957, 1168, - 461, 572, 66, 625, 1312, 983, 772, 945, 721, 633, 194, 439, - 1010, 1030, 1813, 1453, 958, 1169, 462, 573, 67, 626, 1313, 984, - 773, 946, 722, 634, 195, 440, 1011, 1031, 1814, 1454, 959, 1170, - 463, 574, 68, 627, 1314, 985, 774, 947, 723, 635, 196, 441, - 1012, 1032, 1815, 1455, 960, 1171, 464, 575, 69, 628, 1315, 986, - 775, 948, 724, 636, 197, 442, 1013, 1033, 1816, 1456, 961, 1172, - 465, 576, 70, 629, 1316, 987, 776, 949, 725, 637, 198, 443, - 1014, 1034, 1817, 1457, 962, 1173, 466, 577, 71, 630, 1317, 988, - 777, 950, 726, 638, 199, 444, 1015, 1035, 1818, 1458, 963, 1174, - 467, 578, 72, 631, 1318, 989, 778, 951, 727, 639, 200, 445, - 1016, 1036, 1819, 1459, 964, 1175, 468, 579, 73, 632, 1319, 990, - 779, 952, 728, 640, 201, 446, 1017, 1037, 1820, 1460, 965, 1176, - 469, 580, 74, 633, 1320, 991, 780, 953, 729, 641, 202, 447, - 1018, 1038, 1821, 1461, 966, 1177, 470, 581, 75, 634, 1321, 992, - 781, 954, 730, 642, 203, 448, 1019, 1039, 1822, 1462, 967, 1178, - 471, 582, 76, 635, 1322, 993, 782, 955, 731, 643, 204, 449, - 1020, 1040, 1823, 1463, 968, 1179, 472, 583, 77, 636, 1323, 994, - 783, 956, 732, 644, 205, 450, 1021, 1041, 1824, 1464, 969, 1180, - 473, 584, 78, 637, 1324, 995, 784, 957, 733, 645, 206, 451, - 1022, 1042, 1825, 1465, 970, 1181, 474, 585, 79, 638, 1325, 996, - 785, 958, 734, 646, 207, 452, 1023, 1043, 1826, 1466, 971, 1182, - 475, 586, 80, 639, 1326, 997, 786, 959, 735, 647, 208, 453, - 1024, 1044, 1827, 1467, 972, 1183, 476, 587, 81, 640, 1327, 998, - 787, 960, 736, 648, 209, 454, 1025, 1045, 1828, 1468, 973, 1184, - 477, 588, 82, 641, 1328, 999, 788, 961, 737, 649, 210, 455, - 1026, 1046, 1829, 1469, 974, 1185, 478, 589, 83, 642, 1329, 1000, - 789, 962, 738, 650, 211, 456, 1027, 1047, 1830, 1470, 975, 1186, - 479, 590, 84, 643, 1330, 1001, 790, 963, 739, 651, 212, 457, - 1028, 1048, 1831, 1471, 976, 1187, 480, 591, 85, 644, 1331, 1002, - 791, 964, 740, 652, 213, 458, 1029, 1049, 1832, 1472, 977, 1188, - 481, 592, 86, 645, 1332, 1003, 792, 965, 741, 653, 214, 459, - 1030, 1050, 1833, 1473, 978, 1189, 482, 593, 87, 646, 1333, 1004, - 793, 966, 742, 654, 215, 460, 1031, 1051, 1834, 1474, 979, 1190, - 483, 594, 88, 647, 1334, 1005, 794, 967, 743, 655, 216, 461, - 1032, 1052, 1835, 1475, 980, 1191, 484, 595, 89, 648, 1335, 1006, - 795, 968, 744, 656, 217, 462, 1033, 1053, 1836, 1476, 981, 1192, - 485, 596, 90, 649, 1336, 1007, 796, 969, 745, 657, 218, 463, - 1034, 1054, 1837, 1477, 982, 1193, 486, 597, 91, 650, 1337, 1008, - 797, 970, 746, 658, 219, 464, 1035, 1055, 1838, 1478, 983, 1194, - 487, 598, 92, 651, 1338, 1009, 798, 971, 747, 659, 220, 465, - 1036, 1056, 1839, 1479, 984, 1195, 488, 599, 93, 652, 1339, 1010, - 799, 972, 748, 660, 221, 466, 1037, 1057, 1840, 1480, 985, 1196, - 489, 600, 94, 653, 1340, 1011, 800, 973, 749, 661, 222, 467, - 1038, 1058, 1841, 1481, 986, 1197, 490, 601, 95, 654, 1341, 1012, - 801, 974, 750, 662, 223, 468, 1039, 1059, 1842, 1482, 987, 1198, - 491, 602, 96, 655, 1342, 1013, 802, 975, 751, 663, 224, 469, - 1040, 1060, 1843, 1483, 988, 1199, 492, 603, 97, 656, 1343, 1014, - 803, 976, 752, 664, 225, 470, 1041, 1061, 1844, 1484, 989, 1200, - 493, 604, 98, 657, 1344, 1015, 804, 977, 753, 665, 226, 471, - 1042, 1062, 1845, 1485, 990, 1201, 494, 605, 99, 658, 1345, 1016, - 805, 978, 754, 666, 227, 472, 1043, 1063, 1846, 1486, 991, 1202, - 495, 606, 100, 659, 1346, 1017, 806, 979, 755, 667, 228, 473, - 1044, 1064, 1847, 1487, 992, 1203, 496, 607, 101, 660, 1347, 1018, - 807, 980, 756, 668, 229, 474, 1045, 1065, 1848, 1488, 993, 1204, - 497, 608, 102, 661, 1348, 1019, 808, 981, 757, 669, 230, 475, - 1046, 1066, 1849, 1489, 994, 1205, 498, 609, 103, 662, 1349, 1020, - 809, 982, 758, 670, 231, 476, 1047, 1067, 1850, 1490, 995, 1206, - 499, 610, 104, 663, 1350, 1021, 810, 983, 759, 671, 232, 477, - 1048, 1068, 1851, 1491, 996, 1207, 500, 611, 105, 664, 1351, 1022, - 811, 984, 760, 672, 233, 478, 1049, 1069, 1852, 1492, 997, 1208, - 501, 612, 106, 665, 1352, 1023, 812, 985, 761, 673, 234, 479, - 1050, 1070, 1853, 1493, 998, 1209, 502, 613, 107, 666, 1353, 1024, - 813, 986, 762, 674, 235, 480, 1051, 1071, 1854, 1494, 999, 1210, - 503, 614, 108, 667, 1354, 1025, 814, 987, 763, 675, 236, 481, - 1052, 1072, 1855, 1495, 1000, 1211, 504, 615, 109, 668, 1355, 1026, - 815, 988, 764, 676, 237, 482, 1053, 1073, 1856, 1496, 1001, 1212, - 505, 616, 110, 669, 1356, 1027, 816, 989, 765, 677, 238, 483, - 1054, 1074, 1857, 1497, 1002, 1213, 506, 617, 111, 670, 1357, 1028, - 817, 990, 766, 678, 239, 484, 1055, 1075, 1858, 1498, 1003, 1214, - 507, 618, 112, 671, 1358, 1029, 818, 991, 767, 679, 240, 485, - 1056, 1076, 1859, 1499, 1004, 1215, 508, 619, 113, 672, 1359, 1030, - 819, 992, 768, 680, 241, 486, 1057, 1077, 1860, 1500, 1005, 1216, - 509, 620, 114, 673, 1360, 1031, 820, 993, 769, 681, 242, 487, - 1058, 1078, 1861, 1501, 1006, 1217, 510, 621, 115, 674, 1361, 1032, - 821, 994, 770, 682, 243, 488, 1059, 1079, 1862, 1502, 1007, 1218, - 511, 622, 116, 675, 1362, 1033, 822, 995, 771, 683, 244, 489, - 1060, 1080, 1863, 1503, 1008, 1219, 512, 623, 117, 676, 1363, 1034, - 823, 996, 772, 684, 245, 490, 1061, 721, 1864, 1504, 1009, 1220, - 513, 624, 118, 677, 1364, 1035, 824, 997, 773, 685, 246, 491, - 1062, 722, 1865, 1505, 1010, 1221, 514, 625, 119, 678, 1365, 1036, - 825, 998, 774, 686, 247, 492, 1063, 723, 1866, 1506, 1011, 1222, - 515, 626, 120, 679, 1366, 1037, 826, 999, 775, 687, 248, 493, - 1064, 724, 1867, 1507, 1012, 1223, 516, 627, 121, 680, 1367, 1038, - 827, 1000, 776, 688, 249, 494, 1065, 725, 1868, 1508, 1013, 1224, - 517, 628, 122, 681, 1368, 1039, 828, 1001, 777, 689, 250, 495, - 1066, 726, 1869, 1509, 1014, 1225, 518, 629, 123, 682, 1369, 1040, - 829, 1002, 778, 690, 251, 496, 1067, 727, 1870, 1510, 1015, 1226, - 519, 630, 124, 683, 1370, 1041, 830, 1003, 779, 691, 252, 497, - 1068, 728, 1871, 1511, 1016, 1227, 520, 631, 125, 684, 1371, 1042, - 831, 1004, 780, 692, 253, 498, 1069, 729, 1872, 1512, 1017, 1228, - 521, 632, 126, 685, 1372, 1043, 832, 1005, 781, 693, 254, 499, - 1070, 730, 1873, 1513, 1018, 1229, 522, 633, 127, 686, 1373, 1044, - 833, 1006, 782, 694, 255, 500, 1071, 731, 1874, 1514, 1019, 1230, - 523, 634, 128, 687, 1374, 1045, 834, 1007, 783, 695, 256, 501, - 1072, 732, 1875, 1515, 1020, 1231, 524, 635, 129, 688, 1375, 1046, - 835, 1008, 784, 696, 257, 502, 1073, 733, 1876, 1516, 1021, 1232, - 525, 636, 130, 689, 1376, 1047, 836, 1009, 785, 697, 258, 503, - 1074, 734, 1877, 1517, 1022, 1233, 526, 637, 131, 690, 1377, 1048, - 837, 1010, 786, 698, 259, 504, 1075, 735, 1878, 1518, 1023, 1234, - 527, 638, 132, 691, 1378, 1049, 838, 1011, 787, 699, 260, 505, - 1076, 736, 1879, 1519, 1024, 1235, 528, 639, 133, 692, 1379, 1050, - 839, 1012, 788, 700, 261, 506, 1077, 737, 1880, 1520, 1025, 1236, - 529, 640, 134, 693, 1380, 1051, 840, 1013, 789, 701, 262, 507, - 1078, 738, 1881, 1521, 1026, 1237, 530, 641, 135, 694, 1381, 1052, - 841, 1014, 790, 702, 263, 508, 1079, 739, 1882, 1522, 1027, 1238, - 531, 642, 136, 695, 1382, 1053, 842, 1015, 791, 703, 264, 509, - 1080, 740, 1883, 1523, 1028, 1239, 532, 643, 137, 696, 1383, 1054, - 843, 1016, 792, 704, 265, 510, 721, 741, 1884, 1524, 1029, 1240, - 533, 644, 138, 697, 1384, 1055, 844, 1017, 793, 705, 266, 511, - 722, 742, 1885, 1525, 1030, 1241, 534, 645, 139, 698, 1385, 1056, - 845, 1018, 794, 706, 267, 512, 723, 743, 1886, 1526, 1031, 1242, - 535, 646, 140, 699, 1386, 1057, 846, 1019, 795, 707, 268, 513, - 724, 744, 1887, 1527, 1032, 1243, 536, 647, 141, 700, 1387, 1058, - 847, 1020, 796, 708, 269, 514, 725, 745, 1888, 1528, 1033, 1244, - 537, 648, 142, 701, 1388, 1059, 848, 1021, 797, 709, 270, 515, - 726, 746, 1889, 1529, 1034, 1245, 538, 649, 143, 702, 1389, 1060, - 849, 1022, 798, 710, 271, 516, 727, 747, 1890, 1530, 1035, 1246, - 539, 650, 144, 703, 1390, 1061, 850, 1023, 799, 711, 272, 517, - 728, 748, 1891, 1531, 1036, 1247, 540, 651, 145, 704, 1391, 1062, - 851, 1024, 800, 712, 273, 518, 729, 749, 1892, 1532, 1037, 1248, - 541, 652, 146, 705, 1392, 1063, 852, 1025, 801, 713, 274, 519, - 730, 750, 1893, 1533, 1038, 1249, 542, 653, 147, 706, 1393, 1064, - 853, 1026, 802, 714, 275, 520, 731, 751, 1894, 1534, 1039, 1250, - 543, 654, 148, 707, 1394, 1065, 854, 1027, 803, 715, 276, 521, - 732, 752, 1895, 1535, 1040, 1251, 544, 655, 149, 708, 1395, 1066, - 855, 1028, 804, 716, 277, 522, 733, 753, 1896, 1536, 1041, 1252, - 545, 656, 150, 709, 1396, 1067, 856, 1029, 805, 717, 278, 523, - 734, 754, 1897, 1537, 1042, 1253, 546, 657, 151, 710, 1397, 1068, - 857, 1030, 806, 718, 279, 524, 735, 755, 1898, 1538, 1043, 1254, - 547, 658, 152, 711, 1398, 1069, 858, 1031, 807, 719, 280, 525, - 736, 756, 1899, 1539, 1044, 1255, 548, 659, 153, 712, 1399, 1070, - 859, 1032, 808, 720, 281, 526, 737, 757, 1900, 1540, 1045, 1256, - 549, 660, 154, 713, 1400, 1071, 860, 1033, 809, 632, 282, 527, - 738, 758, 1901, 1541, 1046, 1257, 550, 661, 155, 714, 1401, 1072, - 861, 1034, 810, 633, 283, 528, 739, 759, 1902, 1542, 1047, 1258, - 551, 662, 156, 715, 1402, 1073, 862, 1035, 811, 634, 284, 529, - 740, 760, 1903, 1543, 1048, 1259, 552, 663, 157, 716, 1403, 1074, - 863, 1036, 812, 635, 285, 530, 741, 761, 1904, 1544, 1049, 1260, - 553, 664, 158, 717, 1404, 1075, 864, 1037, 813, 636, 286, 531, - 742, 762, 1905, 1545, 1050, 1261, 554, 665, 159, 718, 1405, 1076, - 865, 1038, 814, 637, 287, 532, 743, 763, 1906, 1546, 1051, 1262, - 555, 666, 160, 719, 1406, 1077, 866, 1039, 815, 638, 288, 533, - 744, 764, 1907, 1547, 1052, 1263, 556, 667, 161, 720, 1407, 1078, - 867, 1040, 816, 639, 289, 534, 745, 765, 1908, 1548, 1053, 1264, - 557, 668, 162, 361, 1408, 1079, 868, 1041, 817, 640, 290, 535, - 746, 766, 1909, 1549, 1054, 1265, 558, 669, 163, 362, 1409, 1080, - 869, 1042, 818, 641, 291, 536, 747, 767, 1910, 1550, 1055, 1266, - 559, 670, 164, 363, 1410, 721, 870, 1043, 819, 642, 292, 537, - 748, 768, 1911, 1551, 1056, 1267, 560, 671, 165, 364, 1411, 722, - 871, 1044, 820, 643, 293, 538, 749, 769, 1912, 1552, 1057, 1268, - 561, 672, 166, 365, 1412, 723, 872, 1045, 821, 644, 294, 539, - 750, 770, 1913, 1553, 1058, 1269, 562, 673, 167, 366, 1413, 724, - 873, 1046, 822, 645, 295, 540, 751, 771, 1914, 1554, 1059, 1270, - 563, 674, 168, 367, 1414, 725, 874, 1047, 823, 646, 296, 541, - 752, 772, 1915, 1555, 1060, 1271, 564, 675, 169, 368, 1415, 726, - 875, 1048, 824, 647, 297, 542, 753, 773, 1916, 1556, 1061, 1272, - 565, 676, 170, 369, 1416, 727, 876, 1049, 825, 648, 298, 543, - 754, 774, 1917, 1557, 1062, 1273, 566, 677, 171, 370, 1417, 728, - 877, 1050, 826, 649, 299, 544, 755, 775, 1918, 1558, 1063, 1274, - 567, 678, 172, 371, 1418, 729, 878, 1051, 827, 650, 300, 545, - 756, 776, 1919, 1559, 1064, 1275, 568, 679, 173, 372, 1419, 730, - 879, 1052, 828, 651, 301, 546, 757, 777, 1920, 1560, 1065, 1276, - 569, 680, 174, 373, 1420, 731, 880, 1053, 829, 652, 302, 547, - 758, 778, 1921, 1561, 1066, 1277, 570, 681, 175, 374, 1421, 732, - 881, 1054, 830, 653, 303, 548, 759, 779, 1922, 1562, 1067, 1278, - 571, 682, 176, 375, 1422, 733, 882, 1055, 831, 654, 304, 549, - 760, 780, 1923, 1563, 1068, 1279, 572, 683, 177, 376, 1423, 734, - 883, 1056, 832, 655, 305, 550, 761, 781, 1924, 1564, 1069, 1280, - 573, 684, 178, 377, 1424, 735, 884, 1057, 833, 656, 306, 551, - 762, 782, 1925, 1565, 1070, 1281, 574, 685, 179, 378, 1425, 736, - 885, 1058, 834, 657, 307, 552, 763, 783, 1926, 1566, 1071, 1282, - 575, 686, 180, 379, 1426, 737, 886, 1059, 835, 658, 308, 553, - 764, 784, 1927, 1567, 1072, 1283, 576, 687, 181, 380, 1427, 738, - 887, 1060, 836, 659, 309, 554, 765, 785, 1928, 1568, 1073, 1284, - 577, 688, 182, 381, 1428, 739, 888, 1061, 837, 660, 310, 555, - 766, 786, 1929, 1569, 1074, 1285, 578, 689, 183, 382, 1429, 740, - 889, 1062, 838, 661, 311, 556, 767, 787, 1930, 1570, 1075, 1286, - 579, 690, 184, 383, 1430, 741, 890, 1063, 839, 662, 312, 557, - 768, 788, 1931, 1571, 1076, 1287, 580, 691, 185, 384, 1431, 742, - 891, 1064, 840, 663, 313, 558, 769, 789, 1932, 1572, 1077, 1288, - 581, 692, 186, 385, 1432, 743, 892, 1065, 841, 664, 314, 559, - 770, 790, 1933, 1573, 1078, 1289, 582, 693, 187, 386, 1433, 744, - 893, 1066, 842, 665, 315, 560, 771, 791, 1934, 1574, 1079, 1290, - 583, 694, 188, 387, 1434, 745, 894, 1067, 843, 666, 316, 561, - 772, 792, 1935, 1575, 1080, 1291, 584, 695, 189, 388, 1435, 746, - 895, 1068, 844, 667, 317, 562, 773, 793, 1936, 1576, 721, 1292, - 585, 696, 190, 389, 1436, 747, 896, 1069, 845, 668, 318, 563, - 774, 794, 1937, 1577, 722, 1293, 586, 697, 191, 390, 1437, 748, - 897, 1070, 846, 669, 319, 564, 775, 795, 1938, 1578, 723, 1294, - 587, 698, 192, 391, 1438, 749, 898, 1071, 847, 670, 320, 565, - 776, 796, 1939, 1579, 724, 1295, 588, 699, 193, 392, 1439, 750, - 899, 1072, 848, 671, 321, 566, 777, 797, 1940, 1580, 725, 1296, - 589, 700, 194, 393, 1440, 751, 900, 1073, 721, 672, 322, 567, - 778, 798, 1941, 1581, 726, 1297, 590, 701, 195, 394, 1081, 752, - 901, 1074, 722, 673, 323, 568, 779, 799, 1942, 1582, 727, 1298, - 591, 702, 196, 395, 1082, 753, 902, 1075, 723, 674, 324, 569, - 780, 800, 1943, 1583, 728, 1299, 592, 703, 197, 396, 1083, 754, - 903, 1076, 724, 675, 325, 570, 781, 801, 1944, 1584, 729, 1300, - 593, 704, 198, 397, 1084, 755, 904, 1077, 725, 676, 326, 571, - 782, 802, 1945, 1585, 730, 1301, 594, 705, 199, 398, 1085, 756, - 905, 1078, 726, 677, 327, 572, 783, 803, 1946, 1586, 731, 1302, - 595, 706, 200, 399, 1086, 757, 906, 1079, 727, 678, 328, 573, - 784, 804, 1947, 1587, 732, 1303, 596, 707, 201, 400, 1087, 758, - 907, 1080, 728, 679, 329, 574, 785, 805, 1948, 1588, 733, 1304, - 597, 708, 202, 401, 1088, 759, 908, 721, 729, 680, 330, 575, - 786, 806, 1949, 1589, 734, 1305, 598, 709, 203, 402, 1089, 760, - 1203, 1717, 858, 1019, 652, 1177, 1919, 1266, 2215, 1635, 1252, 1327, - 1070, 1839, 819, 1106, 1539, 2455, 1204, 1718, 859, 1020, 653, 1178, - 1920, 1267, 2216, 1636, 1253, 1328, 1071, 1840, 820, 1107, 1540, 2456, - 1205, 1719, 860, 1021, 654, 1179, 1921, 1268, 2217, 1637, 1254, 1329, - 1072, 1841, 821, 1108, 1541, 2457, 1206, 1720, 861, 1022, 655, 1180, - 1922, 1269, 2218, 1638, 1255, 1330, 1073, 1842, 822, 1109, 1542, 2458, - 1207, 1721, 862, 1023, 656, 1181, 1923, 1270, 2219, 1639, 1256, 1331, - 1074, 1843, 823, 1110, 1543, 2459, 1208, 1722, 863, 1024, 657, 1182, - 1924, 1271, 2220, 1640, 1257, 1332, 1075, 1844, 824, 1111, 1544, 2460, - 1209, 1723, 864, 1025, 658, 1183, 1925, 1272, 2221, 1641, 1258, 1333, - 1076, 1845, 825, 1112, 1545, 2461, 1210, 1724, 865, 1026, 659, 1184, - 1926, 1273, 2222, 1642, 1259, 1334, 1077, 1846, 826, 1113, 1546, 2462, - 1211, 1725, 866, 1027, 660, 1185, 1927, 1274, 2223, 1643, 1260, 1335, - 1078, 1847, 827, 1114, 1547, 2463, 1212, 1726, 867, 1028, 661, 1186, - 1928, 1275, 2224, 1644, 1261, 1336, 1079, 1848, 828, 1115, 1548, 2464, - 1213, 1727, 868, 1029, 662, 1187, 1929, 1276, 2225, 1645, 1262, 1337, - 1080, 1849, 829, 1116, 1549, 2465, 1214, 1728, 869, 1030, 663, 1188, - 1930, 1277, 2226, 1646, 1263, 1338, 721, 1850, 830, 1117, 1550, 2466, - 1215, 1729, 870, 1031, 664, 1189, 1931, 1278, 2227, 1647, 1264, 1339, - 722, 1851, 831, 1118, 1551, 2467, 1216, 1730, 871, 1032, 665, 1190, - 1932, 1279, 2228, 1648, 1265, 1340, 723, 1852, 832, 1119, 1552, 2468, - 1217, 1731, 872, 1033, 666, 1191, 1933, 1280, 2229, 1649, 1266, 1341, - 724, 1853, 833, 1120, 1553, 2469, 1218, 1732, 873, 1034, 667, 1192, - 1934, 1281, 2230, 1650, 1267, 1342, 725, 1854, 834, 1121, 1554, 2470, - 1219, 1733, 874, 1035, 668, 1193, 1935, 1282, 2231, 1651, 1268, 1343, - 726, 1855, 835, 1122, 1555, 2471, 1220, 1734, 875, 1036, 669, 1194, - 1936, 1283, 2232, 1652, 1269, 1344, 727, 1856, 836, 1123, 1556, 2472, - 1221, 1735, 876, 1037, 670, 1195, 1937, 1284, 2233, 1653, 1270, 1345, - 728, 1857, 837, 1124, 1557, 2473, 1222, 1736, 877, 1038, 671, 1196, - 1938, 1285, 2234, 1654, 1271, 1346, 729, 1858, 838, 1125, 1558, 2474, - 1223, 1737, 878, 1039, 672, 1197, 1939, 1286, 2235, 1655, 1272, 1347, - 730, 1859, 839, 1126, 1559, 2475, 1224, 1738, 879, 1040, 673, 1198, - 1940, 1287, 2236, 1656, 1273, 1348, 731, 1860, 840, 1127, 1560, 2476, - 1225, 1739, 880, 1041, 674, 1199, 1941, 1288, 2237, 1657, 1274, 1349, - 732, 1861, 841, 1128, 1561, 2477, 1226, 1740, 881, 1042, 675, 1200, - 1942, 1289, 2238, 1658, 1275, 1350, 733, 1862, 842, 1129, 1562, 2478, - 1227, 1741, 882, 1043, 676, 1201, 1943, 1290, 2239, 1659, 1276, 1351, - 734, 1863, 843, 1130, 1563, 2479, 1228, 1742, 883, 1044, 677, 1202, - 1944, 1291, 2240, 1660, 1277, 1352, 735, 1864, 844, 1131, 1564, 2480, - 1229, 1743, 884, 1045, 678, 1203, 1945, 1292, 2241, 1661, 1278, 1353, - 736, 1865, 845, 1132, 1565, 2481, 1230, 1744, 885, 1046, 679, 1204, - 1946, 1293, 2242, 1662, 1279, 1354, 737, 1866, 846, 1133, 1566, 2482, - 1231, 1745, 886, 1047, 680, 1205, 1947, 1294, 2243, 1663, 1280, 1355, - 738, 1867, 847, 1134, 1567, 2483, 1232, 1746, 887, 1048, 681, 1206, - 1948, 1295, 2244, 1664, 1281, 1356, 739, 1868, 848, 1135, 1568, 2484, - 1233, 1747, 888, 1049, 682, 1207, 1949, 1296, 2245, 1665, 1282, 1357, - 740, 1869, 849, 1136, 1569, 2485, 1234, 1748, 889, 1050, 683, 1081, - 1950, 1297, 2246, 1666, 1283, 1358, 741, 1870, 850, 1137, 1570, 2486, - 1235, 1749, 890, 1051, 684, 1082, 1951, 1298, 2247, 1667, 1284, 1359, - 742, 1871, 851, 1138, 1571, 2487, 1236, 1750, 891, 1052, 685, 1083, - 1952, 1299, 2248, 1668, 1285, 1360, 743, 1872, 852, 1139, 1572, 2488, - 1237, 1751, 892, 1053, 686, 1084, 1953, 1300, 2249, 1669, 1286, 1361, - 744, 1873, 853, 1140, 1573, 2489, 1238, 1752, 893, 1054, 687, 1085, - 1954, 1301, 2250, 1670, 1287, 1362, 745, 1874, 854, 1141, 1574, 2490, - 1239, 1753, 894, 1055, 688, 1086, 1955, 1302, 2251, 1671, 1288, 1363, - 746, 1875, 855, 1142, 1575, 2491, 1240, 1754, 895, 1056, 689, 1087, - 1956, 1303, 2252, 1672, 1289, 1364, 747, 1876, 856, 1143, 1576, 2492, - 1241, 1755, 896, 1057, 690, 1088, 1957, 1304, 2253, 1673, 1290, 1365, - 748, 1877, 857, 1144, 1577, 2493, 1242, 1756, 897, 1058, 691, 1089, - 1958, 1305, 2254, 1674, 1291, 1366, 749, 1878, 858, 1145, 1578, 2494, - 1243, 1757, 898, 1059, 692, 1090, 1959, 1306, 2255, 1675, 1292, 1367, - 750, 1879, 859, 1146, 1441, 2495, 1244, 1758, 899, 1060, 693, 1091, - 1960, 1307, 2256, 1676, 1293, 1368, 751, 1880, 860, 1147, 1442, 2496, - 1245, 1759, 900, 1061, 694, 1092, 1961, 1308, 2257, 1677, 1294, 1369, - 752, 1881, 861, 1148, 1443, 2497, 1246, 1760, 901, 1062, 695, 1093, - 1962, 1309, 2258, 1678, 1295, 1370, 753, 1882, 862, 1149, 1444, 2498, - 1247, 1761, 902, 1063, 696, 1094, 1963, 1310, 2259, 1679, 1296, 1371, - 754, 1883, 863, 1150, 1445, 2499, 1248, 1762, 903, 1064, 697, 1095, - 1964, 1311, 2260, 1680, 1297, 1372, 755, 1884, 864, 1151, 1446, 2500, - 1249, 1763, 904, 1065, 698, 1096, 1965, 1312, 2261, 1681, 1298, 1373, - 756, 1885, 865, 1152, 1447, 2501, 1250, 1764, 905, 1066, 699, 1097, - 1966, 1313, 2262, 1682, 1299, 1374, 757, 1886, 866, 1153, 1448, 2502, - 1251, 1765, 906, 1067, 700, 1098, 1967, 1314, 2263, 1683, 1300, 1375, - 758, 1887, 867, 1154, 1449, 2503, 1252, 1766, 907, 1068, 701, 1099, - 1968, 1315, 2264, 1684, 1301, 1376, 759, 1888, 868, 1155, 1450, 2504, - 1253, 1767, 908, 1069, 702, 1100, 1969, 1316, 2265, 1685, 1302, 1377, - 760, 1889, 869, 1156, 1451, 2505, 1254, 1768, 909, 1070, 703, 1101, - 1970, 1317, 2266, 1686, 1303, 1378, 761, 1890, 870, 1157, 1452, 2506, - 1255, 1769, 910, 1071, 704, 1102, 1971, 1318, 2267, 1687, 1304, 1379, - 762, 1891, 871, 1158, 1453, 2507, 1256, 1770, 911, 1072, 705, 1103, - 1972, 1319, 2268, 1688, 1305, 1380, 763, 1892, 872, 1159, 1454, 2508, - 1257, 1771, 912, 1073, 706, 1104, 1973, 1320, 2269, 1689, 1306, 1381, - 764, 1893, 873, 1160, 1455, 2509, 1258, 1772, 913, 1074, 707, 1105, - 1974, 1321, 2270, 1690, 1307, 1382, 765, 1894, 874, 1161, 1456, 2510, - 1259, 1773, 914, 1075, 708, 1106, 1975, 1322, 2271, 1691, 1308, 1383, - 766, 1895, 875, 1162, 1457, 2511, 1260, 1774, 915, 1076, 709, 1107, - 1976, 1323, 2272, 1692, 1309, 1384, 767, 1896, 876, 1163, 1458, 2512, - 1261, 1775, 916, 1077, 710, 1108, 1977, 1324, 2273, 1693, 1310, 1385, - 768, 1897, 877, 1164, 1459, 2513, 1262, 1776, 917, 1078, 711, 1109, - 1978, 1325, 2274, 1694, 1311, 1386, 769, 1898, 878, 1165, 1460, 2514, - 1263, 1777, 918, 1079, 712, 1110, 1979, 1326, 2275, 1695, 1312, 1387, - 770, 1899, 879, 1166, 1461, 2515, 1264, 1778, 919, 1080, 713, 1111, - 1980, 1327, 2276, 1696, 1313, 1388, 771, 1900, 880, 1167, 1462, 2516, - 1265, 1779, 920, 721, 714, 1112, 1981, 1328, 2277, 1697, 1314, 1389, - 772, 1901, 881, 1168, 1463, 2517, 1266, 1780, 921, 722, 715, 1113, - 1982, 1329, 2278, 1698, 1315, 1390, 773, 1902, 882, 1169, 1464, 2518, - 1267, 1781, 922, 723, 716, 1114, 1983, 1330, 2279, 1699, 1316, 1391, - 774, 1903, 883, 1170, 1465, 2519, 1268, 1782, 923, 724, 717, 1115, - 1984, 1331, 2280, 1700, 1317, 1392, 775, 1904, 884, 1171, 1466, 2520, - 1269, 1783, 924, 725, 718, 1116, 1985, 1332, 2281, 1701, 1318, 1393, - 776, 1905, 885, 1172, 1467, 2161, 1270, 1784, 925, 726, 719, 1117, - 1986, 1333, 2282, 1702, 1319, 1394, 777, 1906, 886, 1173, 1468, 2162, - 1271, 1785, 926, 727, 720, 1118, 1987, 1334, 2283, 1703, 1320, 1395, - 778, 1907, 887, 1174, 1469, 2163, 1272, 1786, 927, 728, 361, 1119, - 1988, 1335, 2284, 1704, 1321, 1396, 779, 1908, 888, 1175, 1470, 2164, - 1273, 1787, 928, 729, 362, 1120, 1989, 1336, 2285, 1705, 1322, 1397, - 780, 1909, 889, 1176, 1471, 2165, 1274, 1788, 929, 730, 363, 1121, - 1990, 1337, 2286, 1706, 1323, 1398, 781, 1910, 890, 1177, 1472, 2166, - 1275, 1789, 930, 731, 364, 1122, 1991, 1338, 2287, 1707, 1324, 1399, - 782, 1911, 891, 1178, 1473, 2167, 1276, 1790, 931, 732, 365, 1123, - 1992, 1339, 2288, 1708, 1325, 1400, 783, 1912, 892, 1179, 1474, 2168, - 1277, 1791, 932, 733, 366, 1124, 1993, 1340, 2289, 1709, 1326, 1401, - 784, 1913, 893, 1180, 1475, 2169, 1278, 1792, 933, 734, 367, 1125, - 1994, 1341, 2290, 1710, 1327, 1402, 785, 1914, 894, 1181, 1476, 2170, - 1279, 1793, 934, 735, 368, 1126, 1995, 1342, 2291, 1711, 1328, 1403, - 786, 1915, 895, 1182, 1477, 2171, 1280, 1794, 935, 736, 369, 1127, - 1996, 1343, 2292, 1712, 1329, 1404, 787, 1916, 896, 1183, 1478, 2172, - 1281, 1795, 936, 737, 370, 1128, 1997, 1344, 2293, 1713, 1330, 1405, - 788, 1917, 897, 1184, 1479, 2173, 1282, 1796, 937, 738, 371, 1129, - 1998, 1345, 2294, 1714, 1331, 1406, 789, 1918, 898, 1185, 1480, 2174, - 1283, 1797, 938, 739, 372, 1130, 1999, 1346, 2295, 1715, 1332, 1407, - 790, 1919, 899, 1186, 1481, 2175, 1284, 1798, 939, 740, 373, 1131, - 2000, 1347, 2296, 1716, 1333, 1408, 791, 1920, 900, 1187, 1482, 2176, - 1285, 1799, 940, 741, 374, 1132, 2001, 1348, 2297, 1717, 1334, 1409, - 792, 1921, 901, 1188, 1483, 2177, 1286, 1800, 941, 742, 375, 1133, - 2002, 1349, 2298, 1718, 1335, 1410, 793, 1922, 902, 1189, 1484, 2178, - 1287, 1441, 942, 743, 376, 1134, 2003, 1350, 2299, 1719, 1336, 1411, - 794, 1923, 903, 1190, 1485, 2179, 1288, 1442, 943, 744, 377, 1135, - 2004, 1351, 2300, 1720, 1337, 1412, 795, 1924, 904, 1191, 1486, 2180, - 1289, 1443, 944, 745, 378, 1136, 2005, 1352, 2301, 1721, 1338, 1413, - 796, 1925, 905, 1192, 1487, 2181, 1290, 1444, 945, 746, 379, 1137, - 2006, 1353, 2302, 1722, 1339, 1414, 797, 1926, 906, 1193, 1488, 2182, - 1291, 1445, 946, 747, 380, 1138, 2007, 1354, 2303, 1723, 1340, 1415, - 798, 1927, 907, 1194, 1489, 2183, 1292, 1446, 947, 748, 381, 1139, - 2008, 1355, 2304, 1724, 1341, 1416, 799, 1928, 908, 1195, 1490, 2184, - 1293, 1447, 948, 749, 382, 1140, 2009, 1356, 2305, 1725, 1342, 1417, - 800, 1929, 909, 1196, 1491, 2185, 1294, 1448, 949, 750, 383, 1141, - 2010, 1357, 2306, 1726, 1343, 1418, 801, 1930, 910, 1197, 1492, 2186, - 1295, 1449, 950, 751, 384, 1142, 2011, 1358, 2307, 1727, 1344, 1419, - 802, 1931, 911, 1198, 1493, 2187, 1296, 1450, 951, 752, 385, 1143, - 2012, 1359, 2308, 1728, 1345, 1420, 803, 1932, 912, 1199, 1494, 2188, - 1297, 1451, 952, 753, 386, 1144, 2013, 1360, 2309, 1729, 1346, 1421, - 804, 1933, 913, 1200, 1495, 2189, 1298, 1452, 953, 754, 387, 1145, - 2014, 1361, 2310, 1730, 1347, 1422, 805, 1934, 914, 1201, 1496, 2190, - 1299, 1453, 954, 755, 388, 1146, 2015, 1362, 2311, 1731, 1348, 1423, - 806, 1935, 915, 1202, 1497, 2191, 1300, 1454, 955, 756, 389, 1147, - 2016, 1363, 2312, 1732, 1349, 1424, 807, 1936, 916, 1203, 1498, 2192, - 1301, 1455, 956, 757, 390, 1148, 2017, 1364, 2313, 1733, 1350, 1425, - 808, 1937, 917, 1204, 1499, 2193, 1302, 1456, 957, 758, 391, 1149, - 2018, 1365, 2314, 1734, 1351, 1426, 809, 1938, 918, 1205, 1500, 2194, - 1303, 1457, 958, 759, 392, 1150, 2019, 1366, 2315, 1735, 1352, 1427, - 810, 1939, 919, 1206, 1501, 2195, 1304, 1458, 959, 760, 393, 1151, - 2020, 1367, 2316, 1736, 1353, 1428, 811, 1940, 920, 1207, 1502, 2196, - 1305, 1459, 960, 761, 394, 1152, 2021, 1368, 2317, 1737, 1354, 1429, - 812, 1941, 921, 1208, 1503, 2197, 1306, 1460, 961, 762, 395, 1153, - 2022, 1369, 2318, 1738, 1355, 1430, 813, 1942, 922, 1209, 1504, 2198, - 1307, 1461, 962, 763, 396, 1154, 2023, 1370, 2319, 1739, 1356, 1431, - 814, 1943, 923, 1210, 1505, 2199, 1308, 1462, 963, 764, 397, 1155, - 2024, 1371, 2320, 1740, 1357, 1432, 815, 1944, 924, 1211, 1506, 2200, - 1309, 1463, 964, 765, 398, 1156, 2025, 1372, 2321, 1741, 1358, 1433, - 816, 1945, 925, 1212, 1507, 2201, 1310, 1464, 965, 766, 399, 1157, - 2026, 1373, 2322, 1742, 1359, 1434, 817, 1946, 926, 1213, 1508, 2202, - 1311, 1465, 966, 767, 400, 1158, 2027, 1374, 2323, 1743, 1360, 1435, - 818, 1947, 927, 1214, 1509, 2203, 1312, 1466, 967, 768, 401, 1159, - 2028, 1375, 2324, 1744, 1361, 1436, 819, 1948, 928, 1215, 1510, 2204, - 1313, 1467, 968, 769, 402, 1160, 2029, 1376, 2325, 1745, 1362, 1437, - 820, 1949, 929, 1216, 1511, 2205, 1314, 1468, 969, 770, 403, 1161, - 2030, 1377, 2326, 1746, 1363, 1438, 821, 1950, 930, 1217, 1512, 2206, - 1315, 1469, 970, 771, 404, 1162, 2031, 1378, 2327, 1747, 1364, 1439, - 822, 1951, 931, 1218, 1513, 2207, 1316, 1470, 971, 772, 405, 1163, - 2032, 1379, 2328, 1748, 1365, 1440, 823, 1952, 932, 1219, 1514, 2208, - 1317, 1471, 972, 773, 406, 1164, 2033, 1380, 2329, 1749, 1366, 1420, - 824, 1953, 933, 1220, 1515, 2209, 1318, 1472, 973, 774, 407, 1165, - 2034, 1381, 2330, 1750, 1367, 1421, 825, 1954, 934, 1221, 1516, 2210, - 1319, 1473, 974, 775, 408, 1166, 2035, 1382, 2331, 1751, 1368, 1422, - 826, 1955, 935, 1222, 1517, 2211, 1320, 1474, 975, 776, 409, 1167, - 2036, 1383, 2332, 1752, 1369, 1423, 827, 1956, 936, 1223, 1518, 2212, - 1321, 1475, 976, 777, 410, 1168, 2037, 1384, 2333, 1753, 1370, 1424, - 828, 1957, 937, 1224, 1519, 2213, 1322, 1476, 977, 778, 411, 1169, - 2038, 1385, 2334, 1754, 1371, 1425, 829, 1958, 938, 1225, 1520, 2214, - 1323, 1477, 978, 779, 412, 1170, 2039, 1386, 2335, 1755, 1372, 1426, - 830, 1959, 939, 1226, 1521, 2215, 1324, 1478, 979, 780, 413, 1171, - 2040, 1387, 2336, 1756, 1373, 1427, 831, 1960, 940, 1227, 1522, 2216, - 1325, 1479, 980, 781, 414, 1172, 2041, 1388, 2337, 1757, 1374, 1428, - 832, 1961, 941, 1228, 1523, 2217, 1326, 1480, 981, 782, 415, 1173, - 2042, 1389, 2338, 1758, 1375, 1429, 833, 1962, 942, 1229, 1524, 2218, - 1327, 1481, 982, 783, 416, 1174, 2043, 1390, 2339, 1759, 1376, 1430, - 834, 1963, 943, 1230, 1525, 2219, 1328, 1482, 983, 784, 417, 1175, - 2044, 1391, 2340, 1760, 1377, 1431, 835, 1964, 944, 1231, 1526, 2220, - 1329, 1483, 984, 785, 418, 1176, 2045, 1392, 2341, 1761, 1378, 1432, - 836, 1965, 945, 1232, 1527, 2221, 1330, 1484, 985, 786, 419, 1177, - 2046, 1393, 2342, 1762, 1379, 1433, 837, 1966, 946, 1233, 1528, 2222, - 1331, 1485, 986, 787, 420, 1178, 2047, 1394, 2343, 1763, 1380, 1434, - 838, 1967, 947, 1234, 1529, 2223, 1332, 1486, 987, 788, 421, 1179, - 2048, 1395, 2344, 1764, 1381, 1435, 839, 1968, 948, 1235, 1530, 2224, - 1333, 1487, 988, 789, 422, 1180, 2049, 1396, 2345, 1765, 1382, 1436, - 840, 1969, 949, 1236, 1531, 2225, 1334, 1488, 989, 790, 423, 1181, - 2050, 1397, 2346, 1766, 1383, 1437, 841, 1970, 950, 1237, 1532, 2226, - 1335, 1489, 990, 791, 424, 1182, 2051, 1398, 2347, 1767, 1384, 1438, - 842, 1971, 951, 1238, 1533, 2227, 1336, 1490, 991, 792, 425, 1183, - 2052, 1399, 2348, 1768, 1385, 1439, 843, 1972, 952, 1239, 1534, 2228, - 1337, 1491, 992, 793, 426, 1184, 2053, 1400, 2349, 1769, 1386, 1440, - 844, 1973, 953, 1240, 1441, 2229, 1338, 1492, 993, 794, 427, 1185, - 2054, 1401, 2350, 1770, 1387, 1102, 845, 1974, 954, 1241, 1442, 2230, - 1339, 1493, 994, 795, 428, 1186, 2055, 1402, 2351, 1771, 1388, 1103, - 846, 1975, 955, 1242, 1443, 2231, 1340, 1494, 995, 796, 429, 1187, - 2056, 1403, 2352, 1772, 1389, 1104, 847, 1976, 956, 1243, 1444, 2232, - 1341, 1495, 996, 797, 430, 1188, 2057, 1404, 2353, 1773, 1390, 1105, - 848, 1977, 957, 1244, 1445, 2233, 1342, 1496, 997, 798, 431, 1189, - 2058, 1405, 2354, 1774, 1391, 1106, 849, 1978, 958, 1245, 1446, 2234, - 1343, 1497, 998, 799, 432, 1190, 2059, 1406, 2355, 1775, 1392, 1107, - 850, 1979, 959, 1246, 1447, 2235, 1344, 1498, 999, 800, 433, 1191, - 2060, 1407, 2356, 1776, 1393, 1108, 851, 1980, 960, 1247, 1448, 2236, - 1345, 1499, 1000, 801, 434, 1192, 2061, 1408, 2357, 1777, 1394, 1109, - 852, 1981, 961, 1248, 1449, 2237, 1346, 1500, 1001, 802, 435, 1193, - 2062, 1409, 2358, 1778, 1395, 1110, 853, 1982, 962, 1249, 1450, 2238, - 1347, 1501, 1002, 803, 436, 1194, 2063, 1410, 2359, 1779, 1396, 1111, - 854, 1983, 963, 1250, 1451, 2239, 1348, 1502, 1003, 804, 437, 1195, - 2064, 1411, 2360, 1780, 1397, 1112, 855, 1984, 964, 1251, 1452, 2240, - 1349, 1503, 1004, 805, 438, 1196, 2065, 1412, 2361, 1781, 1398, 1113, - 856, 1985, 965, 1252, 1453, 2241, 1350, 1504, 1005, 806, 439, 1197, - 2066, 1413, 2362, 1782, 1399, 1114, 857, 1986, 966, 1253, 1454, 2242, - 1351, 1505, 1006, 807, 440, 1198, 1801, 1414, 2363, 1783, 1400, 1115, - 858, 1987, 967, 1254, 1455, 2243, 1352, 1506, 1007, 808, 441, 1199, - 1802, 1415, 2364, 1784, 1401, 1116, 859, 1988, 968, 1255, 1456, 2244, - 1353, 1507, 1008, 809, 442, 1200, 1803, 1416, 2365, 1785, 1402, 1117, - 860, 1989, 969, 1256, 1457, 2245, 1354, 1508, 1009, 810, 443, 1201, - 1804, 1417, 2366, 1786, 1403, 1118, 861, 1990, 970, 1257, 1458, 2246, - 1355, 1509, 1010, 811, 444, 1202, 1805, 1418, 2367, 1787, 1404, 1119, - 862, 1991, 971, 1258, 1459, 2247, 1356, 1510, 1011, 812, 445, 1203, - 1806, 1419, 2368, 1788, 1405, 1120, 863, 1992, 972, 1259, 1460, 2248, - 1357, 1511, 1012, 813, 446, 1204, 1807, 1420, 2369, 1789, 1406, 1121, - 864, 1993, 973, 1260, 1461, 2249, 1358, 1512, 1013, 814, 447, 1205, - 1808, 1421, 2370, 1790, 1407, 1122, 865, 1994, 974, 1261, 1462, 2250, - 1359, 1513, 1014, 815, 448, 1206, 1809, 1422, 2371, 1791, 1408, 1123, - 866, 1995, 975, 1262, 1463, 2251, 1360, 1514, 1015, 816, 449, 1207, - 1810, 1423, 2372, 1792, 1409, 1124, 867, 1996, 976, 1263, 1464, 2252, - 1361, 1515, 1016, 817, 450, 1208, 1811, 1424, 2373, 1793, 1410, 1125, - 868, 1997, 977, 1264, 1465, 2253, 1362, 1516, 1017, 818, 451, 1209, - 1812, 1425, 2374, 1794, 1411, 1126, 869, 1998, 978, 1265, 1466, 2254, - 1363, 1517, 1018, 819, 452, 1210, 1813, 1426, 2375, 1795, 1412, 1127, - 870, 1999, 979, 1266, 1467, 2255, 1364, 1518, 1019, 820, 453, 1211, - 1814, 1427, 2161, 1796, 1413, 1128, 871, 2000, 980, 1267, 1468, 2256, - 1365, 1519, 1020, 821, 454, 1212, 1815, 1428, 2162, 1797, 1414, 1129, - 872, 2001, 981, 1268, 1469, 2257, 1366, 1520, 1021, 822, 455, 1213, - 1816, 1429, 2163, 1798, 1415, 1130, 873, 2002, 982, 1269, 1470, 2258, - 1367, 1521, 1022, 823, 456, 1214, 1817, 1430, 2164, 1799, 1416, 1131, - 874, 2003, 983, 1270, 1471, 2259, 1368, 1522, 1023, 824, 457, 1215, - 1818, 1431, 2165, 1800, 1417, 1132, 875, 2004, 984, 1271, 1472, 2260, - 1369, 1523, 1024, 825, 458, 1216, 1819, 1432, 2166, 1756, 1418, 1133, - 876, 2005, 985, 1272, 1473, 2261, 1370, 1524, 1025, 826, 459, 1217, - 1820, 1433, 2167, 1757, 1419, 1134, 877, 2006, 986, 1273, 1474, 2262, - 1371, 1525, 1026, 827, 460, 1218, 1821, 1434, 2168, 1758, 1420, 1135, - 878, 2007, 987, 1274, 1475, 2263, 1372, 1526, 1027, 828, 461, 1219, - 1822, 1435, 2169, 1759, 1421, 1136, 879, 2008, 988, 1275, 1476, 2264, - 1373, 1527, 1028, 829, 462, 1220, 1823, 1436, 2170, 1760, 1422, 1137, - 880, 2009, 989, 1276, 1477, 2265, 1374, 1528, 1029, 830, 463, 1221, - 1824, 1437, 2171, 1761, 1423, 1138, 881, 2010, 990, 1277, 1478, 2266, - 1375, 1529, 1030, 831, 464, 1222, 1825, 1438, 2172, 1762, 1424, 1139, - 882, 2011, 991, 1278, 1479, 2267, 1376, 1530, 1031, 832, 465, 1223, - 1826, 1439, 2173, 1763, 1425, 1140, 883, 2012, 992, 1279, 1480, 2268, - 1377, 1531, 1032, 833, 466, 1224, 1827, 1440, 2174, 1764, 1426, 1141, - 884, 2013, 993, 1280, 1481, 2269, 1378, 1532, 1033, 834, 467, 1225, - 1828, 1081, 2175, 1765, 1427, 1142, 885, 2014, 994, 1281, 1482, 2270, - 1379, 1533, 1034, 835, 468, 1226, 1829, 1082, 2176, 1766, 1428, 1143, - 886, 2015, 995, 1282, 1483, 2271, 1380, 1534, 1035, 836, 469, 1227, - 1830, 1083, 2177, 1767, 1429, 1144, 887, 2016, 996, 1283, 1484, 2272, - 1381, 1535, 1036, 837, 470, 1228, 1831, 1084, 2178, 1768, 1430, 1145, - 888, 2017, 997, 1284, 1485, 2273, 1382, 1536, 1037, 838, 471, 1229, - 1832, 1085, 2179, 1769, 1431, 1146, 889, 2018, 998, 1285, 1486, 2274, - 1383, 1537, 1038, 839, 472, 1230, 1833, 1086, 2180, 1770, 1432, 1147, - 890, 2019, 999, 1286, 1487, 2275, 1384, 1538, 1039, 840, 473, 1231, - 1834, 1087, 2181, 1771, 1433, 1148, 891, 2020, 1000, 1287, 1488, 2276, - 1385, 1539, 1040, 841, 474, 1232, 1835, 1088, 2182, 1772, 1434, 1149, - 892, 2021, 1001, 1288, 1489, 2277, 1386, 1540, 1041, 842, 475, 1233, - 1836, 1089, 2183, 1773, 1435, 1150, 893, 2022, 1002, 1289, 1490, 2278, - 1387, 1541, 1042, 843, 476, 1234, 1837, 1090, 2184, 1774, 1436, 1151, - 894, 2023, 1003, 1290, 1491, 2279, 1388, 1542, 1043, 844, 477, 1235, - 1838, 1091, 2185, 1775, 1437, 1152, 895, 2024, 1004, 1291, 1492, 2280, - 1389, 1543, 1044, 845, 478, 1236, 1839, 1092, 2186, 1776, 1438, 1153, - 896, 2025, 1005, 1292, 1493, 2281, 1390, 1544, 1045, 846, 479, 1237, - 1840, 1093, 2187, 1777, 1439, 1154, 897, 2026, 1006, 1293, 1494, 2282, - 1391, 1545, 1046, 847, 480, 1238, 1841, 1094, 2188, 1778, 1440, 1155, - 898, 2027, 1007, 1294, 1495, 2283, 1392, 1546, 1047, 848, 481, 1239, - 1842, 1095, 2189, 1779, 1081, 1156, 899, 2028, 1008, 1295, 1496, 2284, - 1393, 1547, 1048, 849, 482, 1240, 1843, 1096, 2190, 1780, 1082, 1157, - 900, 2029, 1009, 1296, 1497, 2285, 1394, 1548, 1049, 850, 483, 1241, - 1844, 1097, 2191, 1781, 1083, 1158, 901, 2030, 1010, 1297, 1498, 2286, - 1395, 1549, 1050, 851, 484, 1242, 1845, 1098, 2192, 1782, 1084, 1159, - 902, 2031, 1011, 1298, 1499, 2287, 1396, 1550, 1051, 852, 485, 1243, - 1846, 1099, 2193, 1783, 1085, 1160, 903, 2032, 1012, 1299, 1500, 2288, - 1397, 1551, 1052, 853, 486, 1244, 1847, 1100, 2194, 1784, 1086, 1161, - 904, 2033, 1013, 1300, 1501, 2289, 1398, 1552, 1053, 854, 487, 1245, - 1848, 1101, 2195, 1785, 1087, 1162, 905, 2034, 1014, 1301, 1502, 2290, - 1399, 1553, 1054, 855, 488, 1246, 1849, 1102, 2196, 1786, 1088, 1163, - 906, 2035, 1015, 1302, 1503, 2291, 1400, 1554, 1055, 856, 489, 1247, - 1850, 1103, 2197, 1787, 1089, 1164, 907, 2036, 1016, 1303, 1504, 2292, - 1401, 1555, 1056, 857, 490, 1248, 1851, 1104, 2198, 1788, 1090, 1165, - 908, 2037, 1017, 1304, 1505, 2293, 1402, 1556, 1057, 858, 491, 1249, - 1852, 1105, 2199, 1789, 1091, 1166, 909, 2038, 1018, 1305, 1506, 2294, - 1403, 1557, 1058, 859, 492, 1250, 1853, 1106, 2200, 1790, 1092, 1167, - 910, 2039, 1019, 1306, 1507, 2295, 1404, 1558, 1059, 860, 493, 1251, - 1854, 1107, 2201, 1791, 1093, 1168, 911, 2040, 1020, 1307, 1508, 2296, - 1405, 1559, 1060, 861, 494, 1252, 1855, 1108, 2202, 1792, 1094, 1169, - 912, 2041, 1021, 1308, 1509, 2297, 1406, 1560, 1061, 862, 495, 1253, - 1856, 1109, 2203, 1793, 1095, 1170, 913, 2042, 1022, 1309, 1510, 2298, - 1407, 1561, 1062, 863, 496, 1254, 1857, 1110, 2204, 1794, 1096, 1171, - 914, 2043, 1023, 1310, 1511, 2299, 1408, 1562, 1063, 864, 497, 1255, - 1858, 1111, 2205, 1795, 1097, 1172, 915, 2044, 1024, 1311, 1512, 2300, - 1409, 1563, 1064, 865, 498, 1256, 1859, 1112, 2206, 1796, 1098, 1173, - 916, 2045, 1025, 1312, 1513, 2301, 1410, 1564, 1065, 866, 499, 1257, - 1860, 1113, 2207, 1797, 1099, 1174, 917, 2046, 1026, 1313, 1514, 2302, - 1411, 1565, 1066, 867, 500, 1258, 1861, 1114, 2208, 1798, 1100, 1175, - 918, 2047, 1027, 1314, 1515, 2303, 1412, 1566, 1067, 868, 501, 1259, - 1862, 1115, 2209, 1799, 1101, 1176, 919, 2048, 1028, 1315, 1516, 2304, - 1413, 1567, 1068, 869, 502, 1260, 1863, 1116, 2210, 1800, 1102, 1177, - 920, 2049, 1029, 1316, 1517, 2305, 1414, 1568, 1069, 870, 503, 1261, - 1864, 1117, 2211, 1486, 1103, 1178, 921, 2050, 1030, 1317, 1518, 2306, - 1415, 1569, 1070, 871, 504, 1262, 1865, 1118, 2212, 1487, 1104, 1179, - 922, 2051, 1031, 1318, 1519, 2307, 1416, 1570, 1071, 872, 505, 1263, - 1866, 1119, 2213, 1488, 1105, 1180, 923, 2052, 1032, 1319, 1520, 2308, - 1417, 1571, 1072, 873, 506, 1264, 1867, 1120, 2214, 1489, 1106, 1181, - 924, 2053, 1033, 1320, 1521, 2309, 1418, 1572, 1073, 874, 507, 1265, - 1868, 1121, 2215, 1490, 1107, 1182, 925, 2054, 1034, 1321, 1522, 2310, - 1419, 1573, 1074, 875, 508, 1266, 1869, 1122, 2216, 1491, 1108, 1183, - 926, 2055, 1035, 1322, 1523, 2311, 1420, 1574, 1075, 876, 509, 1267, - 1870, 1123, 2217, 1492, 1109, 1184, 927, 2056, 1036, 1323, 1524, 2312, - 1421, 1575, 1076, 877, 510, 1268, 1871, 1124, 2218, 1493, 1110, 1185, - 928, 2057, 1037, 1324, 1525, 2313, 1422, 1576, 1077, 878, 511, 1269, - 1872, 1125, 2219, 1494, 1111, 1186, 929, 2058, 1038, 1325, 1526, 2314, - 1423, 1577, 1078, 879, 512, 1270, 1873, 1126, 2220, 1495, 1112, 1187, - 930, 2059, 1039, 1326, 1527, 2315, 1424, 1578, 1079, 880, 513, 1271, - 1874, 1127, 2221, 1496, 1113, 1188, 931, 2060, 1040, 1327, 1528, 2316, - 1425, 1579, 1080, 881, 514, 1272, 1875, 1128, 2222, 1497, 1114, 1189, - 932, 2061, 1041, 1328, 1529, 2317, 1426, 1580, 953, 882, 515, 1273, - 1876, 1129, 2223, 1498, 1115, 1190, 933, 2062, 1042, 1329, 1530, 2318, - 1427, 1581, 954, 883, 516, 1274, 1877, 1130, 2224, 1499, 1116, 1191, - 934, 2063, 1043, 1330, 1531, 2319, 1428, 1582, 955, 884, 517, 1275, - 1878, 1131, 2225, 1500, 1117, 1192, 935, 2064, 1044, 1331, 1532, 2320, - 1429, 1583, 956, 885, 518, 1276, 1879, 1132, 2226, 1501, 1118, 1193, - 936, 2065, 1045, 1332, 1533, 2321, 1430, 1584, 957, 886, 519, 1277, - 1880, 1133, 2227, 1502, 1119, 1194, 937, 2066, 1046, 1333, 1534, 2322, - 1431, 1585, 958, 887, 520, 1278, 1881, 1134, 2228, 1503, 1120, 1195, - 938, 2067, 1047, 1334, 1535, 2323, 1432, 1586, 959, 888, 521, 1279, - 1882, 1135, 2229, 1504, 1121, 1196, 939, 2068, 1048, 1335, 1536, 2324, - 1433, 1587, 960, 889, 522, 1280, 1883, 1136, 2230, 1505, 1122, 1197, - 940, 2069, 1049, 1336, 1537, 2325, 1434, 1588, 961, 890, 523, 1281, - 1884, 1137, 2231, 1506, 1123, 1198, 941, 2070, 1050, 1337, 1538, 2326, - 1435, 1589, 962, 891, 524, 1282, 1885, 1138, 2232, 1507, 1124, 1199, - 942, 2071, 1051, 1338, 1539, 2327, 1436, 1590, 963, 892, 525, 1283, - 1886, 1139, 2233, 1508, 1125, 1200, 943, 2072, 1052, 1339, 1540, 2328, - 1437, 1591, 964, 893, 526, 1284, 1887, 1140, 2234, 1509, 1126, 1201, - 944, 2073, 1053, 1340, 1541, 2329, 1438, 1592, 965, 894, 527, 1285, - 1888, 1141, 2235, 1510, 1127, 1202, 945, 2074, 1054, 1341, 1542, 2330, - 1439, 1593, 966, 895, 528, 1286, 1889, 1142, 2236, 1511, 1128, 1203, - 946, 2075, 1055, 1342, 1543, 2331, 1440, 1594, 967, 896, 529, 1287, - 1890, 1143, 2237, 1512, 1129, 1204, 947, 2076, 1056, 1343, 1544, 2332, - 1081, 1595, 968, 897, 530, 1288, 1891, 1144, 2238, 1513, 1130, 1205, - 948, 2077, 1057, 1344, 1545, 2333, 1082, 1596, 969, 898, 531, 1289, - 1892, 1145, 2239, 1514, 1131, 1206, 949, 2078, 1058, 1345, 1546, 2334, - 1083, 1597, 970, 899, 532, 1290, 1893, 1146, 2240, 1515, 1132, 1207, - 950, 2079, 1059, 1346, 1547, 2335, 1084, 1598, 971, 900, 533, 1291, - 1894, 1147, 2241, 1516, 1133, 1208, 951, 2080, 1060, 1347, 1548, 2336, - 1085, 1599, 972, 901, 534, 1292, 1801, 1148, 2242, 1517, 1134, 1209, - 952, 2081, 1061, 1348, 1549, 2337, 1086, 1600, 973, 902, 535, 1293, - 1802, 1149, 2243, 1518, 1135, 1210, 953, 2082, 1062, 1349, 1550, 2338, - 1087, 1601, 974, 903, 536, 1294, 1803, 1150, 2244, 1519, 1136, 1211, - 954, 2083, 1063, 1350, 1551, 2339, 1088, 1602, 975, 904, 537, 1295, - 1804, 1151, 2245, 1520, 1137, 1212, 955, 2084, 1064, 1351, 1552, 2340, - 1089, 1603, 976, 905, 538, 1296, 1805, 1152, 2246, 1521, 1138, 1213, - 956, 2085, 1065, 1352, 1553, 2341, 1090, 1604, 977, 906, 539, 1297, - 1806, 1153, 2247, 1522, 1139, 1214, 957, 2086, 1066, 1353, 1554, 2342, - 1091, 1605, 978, 907, 540, 1298, 1807, 1154, 2248, 1523, 1140, 1215, - 958, 2087, 1067, 1354, 1555, 2343, 1092, 1606, 979, 908, 541, 1299, - 1808, 1155, 2249, 1524, 1141, 1216, 959, 2088, 1068, 1355, 1556, 2344, - 1093, 1607, 980, 909, 542, 1300, 1809, 1156, 2250, 1525, 1142, 1217, - 960, 2089, 1069, 1356, 1557, 2345, 1094, 1608, 981, 910, 543, 1301, - 1810, 1157, 2251, 1526, 1143, 1218, 961, 2090, 1070, 1357, 1558, 2346, - 1095, 1609, 982, 911, 544, 1302, 1811, 1158, 2252, 1527, 1144, 1219, - 962, 2091, 1071, 1358, 1559, 2347, 1096, 1610, 983, 912, 545, 1303, - 1812, 1159, 2253, 1528, 1145, 1220, 963, 2092, 1072, 1359, 1560, 2348, - 1097, 1611, 984, 913, 546, 1304, 1813, 1160, 2254, 1529, 1146, 1221, - 964, 2093, 1073, 1360, 1561, 2349, 1098, 1612, 985, 914, 547, 1305, - 1814, 1161, 2255, 1530, 1147, 1222, 965, 2094, 1074, 1361, 1562, 2350, - 1099, 1613, 986, 915, 548, 1306, 1815, 1162, 2256, 1531, 1148, 1223, - 966, 2095, 1075, 1362, 1563, 2351, 1100, 1614, 987, 916, 549, 1307, - 1816, 1163, 2257, 1532, 1149, 1224, 967, 2096, 1076, 1363, 1564, 2352, - 1101, 1615, 988, 917, 550, 1308, 1817, 1164, 2258, 1533, 1150, 1225, - 968, 2097, 1077, 1364, 1565, 2353, 1102, 1616, 989, 918, 551, 1309, - 1818, 1165, 2259, 1534, 1151, 1226, 969, 2098, 1078, 1365, 1566, 2354, - 1103, 1617, 990, 919, 552, 1310, 1819, 1166, 2260, 1535, 1152, 1227, - 970, 2099, 1079, 1366, 1567, 2355, 1104, 1618, 991, 920, 553, 1311, - 1820, 1167, 2261, 1536, 1153, 1228, 971, 2100, 1080, 1367, 1568, 2356, - 1105, 1619, 992, 921, 554, 1312, 1821, 1168, 2262, 1537, 1154, 1229, - 972, 2101, 721, 1368, 1441, 2357, 1106, 1620, 993, 922, 555, 1313, - 1822, 1169, 2263, 1538, 1155, 1230, 973, 2102, 722, 1369, 1442, 2358, - 1107, 1621, 994, 923, 556, 1081, 1823, 1170, 2264, 1539, 1156, 1231, - 974, 2103, 723, 1370, 1443, 2359, 1108, 1622, 995, 924, 557, 1082, - 1824, 1171, 2265, 1540, 1157, 1232, 975, 2104, 724, 1371, 1444, 2360, - 1109, 1623, 996, 925, 558, 1083, 1825, 1172, 2266, 1541, 1158, 1233, - 976, 2105, 725, 1372, 1445, 2361, 1110, 1624, 997, 926, 559, 1084, - 1826, 1173, 2267, 1542, 1159, 1234, 977, 2106, 726, 1373, 1446, 2362, - 1111, 1625, 998, 927, 560, 1085, 1827, 1174, 2268, 1543, 1160, 1235, - 978, 2107, 727, 1374, 1447, 2363, 1112, 1626, 999, 928, 561, 1086, - 1828, 1175, 2269, 1544, 1161, 1236, 979, 2108, 728, 1375, 1448, 2364, - 1113, 1627, 1000, 929, 562, 1087, 1829, 1176, 2270, 1545, 1162, 1237, - 980, 2109, 729, 1376, 1449, 2365, 1114, 1628, 1001, 930, 563, 1088, - 1830, 1177, 2271, 1546, 1163, 1238, 981, 2110, 730, 1377, 1450, 2366, - 1115, 1629, 1002, 931, 564, 1089, 1831, 1178, 2272, 1547, 1164, 1239, - 982, 2111, 731, 1378, 1451, 2367, 1116, 1630, 1003, 932, 565, 1090, - 1832, 1179, 2273, 1548, 1165, 1240, 983, 2112, 732, 1379, 1452, 2368, - 1117, 1631, 1004, 933, 566, 1091, 1833, 1180, 2274, 1549, 1166, 1241, - 984, 2113, 733, 1380, 1453, 2369, 1118, 1632, 1005, 934, 567, 1092, - 1834, 1181, 2275, 1550, 1167, 1242, 985, 2114, 734, 1381, 1454, 2370, - 1119, 1633, 1006, 935, 568, 1093, 1835, 1182, 2276, 1551, 1168, 1243, - 986, 2115, 735, 1382, 1455, 2371, 1120, 1634, 1007, 936, 569, 1094, - 1836, 1183, 2277, 1552, 1169, 1244, 987, 2116, 736, 1383, 1456, 2372, - 1121, 1635, 1008, 937, 570, 1095, 1837, 1184, 2278, 1553, 1170, 1245, - 988, 2117, 737, 1384, 1457, 2373, 1122, 1636, 1009, 938, 571, 1096, - 1838, 1185, 2279, 1554, 1171, 1246, 989, 2118, 738, 1385, 1458, 2374, - 1123, 1637, 1010, 939, 572, 1097, 1839, 1186, 2280, 1555, 1172, 1247, - 990, 2119, 739, 1386, 1459, 2375, 1124, 1638, 1011, 940, 573, 1098, - 1840, 1187, 2281, 1556, 1173, 1248, 991, 2120, 740, 1387, 1460, 2376, - 1125, 1639, 1012, 941, 574, 1099, 1841, 1188, 2282, 1557, 1174, 1249, - 992, 2121, 741, 1388, 1461, 2377, 1126, 1640, 1013, 942, 575, 1100, - 1842, 1189, 2283, 1558, 1175, 1250, 993, 2122, 742, 1389, 1462, 2378, - 1127, 1641, 1014, 943, 576, 1101, 1843, 1190, 2284, 1559, 1176, 1251, - 994, 2123, 743, 1390, 1463, 2379, 1128, 1642, 1015, 944, 577, 1102, - 1844, 1191, 2285, 1560, 1177, 1252, 995, 2124, 744, 1391, 1464, 2380, - 1129, 1643, 1016, 945, 578, 1103, 1845, 1192, 2286, 1561, 1178, 1253, - 996, 2125, 745, 1392, 1465, 2381, 1130, 1644, 1017, 946, 579, 1104, - 1846, 1193, 2287, 1562, 1179, 1254, 997, 2126, 746, 1393, 1466, 2382, - 1131, 1645, 1018, 947, 580, 1105, 1847, 1194, 2288, 1563, 1180, 1255, - 998, 2127, 747, 1394, 1467, 2383, 1132, 1646, 1019, 948, 581, 1106, - 1848, 1195, 2289, 1564, 1181, 1256, 999, 2128, 748, 1395, 1468, 2384, - 1133, 1647, 1020, 949, 582, 1107, 1849, 1196, 2290, 1565, 1182, 1257, - 1000, 2129, 749, 1396, 1469, 2385, 1134, 1648, 1021, 950, 583, 1108, - 1850, 1197, 2291, 1566, 1183, 1258, 1001, 2130, 750, 1397, 1470, 2386, - 1135, 1649, 1022, 951, 584, 1109, 1851, 1198, 2292, 1567, 1184, 1259, - 1002, 2131, 751, 1398, 1471, 2387, 1136, 1650, 1023, 952, 585, 1110, - 1852, 1199, 2293, 1568, 1185, 1260, 1003, 2132, 752, 1399, 1472, 2388, - 1137, 1651, 1024, 953, 586, 1111, 1853, 1200, 2294, 1569, 1186, 1261, - 1004, 2133, 753, 1400, 1473, 2389, 1138, 1652, 1025, 954, 587, 1112, - 1854, 1201, 2295, 1570, 1187, 1262, 1005, 2134, 754, 1401, 1474, 2390, - 1139, 1653, 1026, 955, 588, 1113, 1855, 1202, 2296, 1571, 1188, 1263, - 1006, 2135, 755, 1402, 1475, 2391, 1140, 1654, 1027, 956, 589, 1114, - 1856, 1203, 2297, 1572, 1189, 1264, 1007, 2136, 756, 1403, 1476, 2392, - 1141, 1655, 1028, 957, 590, 1115, 1857, 1204, 2298, 1573, 1190, 1265, - 1008, 2137, 757, 1404, 1477, 2393, 1142, 1656, 1029, 958, 591, 1116, - 1858, 1205, 2299, 1574, 1191, 1266, 1009, 2138, 758, 1405, 1478, 2394, - 1143, 1657, 1030, 959, 592, 1117, 1859, 1206, 2300, 1575, 1192, 1267, - 1010, 2139, 759, 1406, 1479, 2395, 1144, 1658, 1031, 960, 593, 1118, - 1860, 1207, 2301, 1576, 1193, 1268, 1011, 2140, 760, 1407, 1480, 2396, - 1145, 1659, 1032, 961, 594, 1119, 1861, 1208, 2302, 1577, 1194, 1269, - 1012, 2141, 761, 1408, 1481, 2397, 1146, 1660, 1033, 962, 595, 1120, - 1862, 1209, 2303, 1578, 1195, 1270, 1013, 2142, 762, 1409, 1482, 2398, - 1147, 1661, 1034, 963, 596, 1121, 1863, 1210, 2304, 1579, 1196, 1271, - 1014, 2143, 763, 1410, 1483, 2399, 1148, 1662, 1035, 964, 597, 1122, - 1864, 1211, 2305, 1580, 1197, 1272, 1015, 2144, 764, 1411, 1484, 2400, - 1149, 1663, 1036, 965, 598, 1123, 1865, 1212, 2161, 1581, 1198, 1273, - 1016, 2145, 765, 1412, 1485, 2401, 1150, 1664, 1037, 966, 599, 1124, - 1866, 1213, 2162, 1582, 1199, 1274, 1017, 2146, 766, 1413, 1486, 2402, - 1151, 1665, 1038, 967, 600, 1125, 1867, 1214, 2163, 1583, 1200, 1275, - 1018, 2147, 767, 1414, 1487, 2403, 1152, 1666, 1039, 968, 601, 1126, - 1868, 1215, 2164, 1584, 1201, 1276, 1019, 2148, 768, 1415, 1488, 2404, - 1153, 1667, 1040, 969, 602, 1127, 1869, 1216, 2165, 1585, 1202, 1277, - 1020, 2149, 769, 1416, 1489, 2405, 1154, 1668, 1041, 970, 603, 1128, - 1870, 1217, 2166, 1586, 1203, 1278, 1021, 2150, 770, 1417, 1490, 2406, - 1155, 1669, 1042, 971, 604, 1129, 1871, 1218, 2167, 1587, 1204, 1279, - 1022, 2151, 771, 1418, 1491, 2407, 1156, 1670, 1043, 972, 605, 1130, - 1872, 1219, 2168, 1588, 1205, 1280, 1023, 2152, 772, 1419, 1492, 2408, - 1157, 1671, 1044, 973, 606, 1131, 1873, 1220, 2169, 1589, 1206, 1281, - 1024, 2153, 773, 1420, 1493, 2409, 1158, 1672, 1045, 974, 607, 1132, - 1874, 1221, 2170, 1590, 1207, 1282, 1025, 2154, 774, 1421, 1494, 2410, - 1159, 1673, 1046, 975, 608, 1133, 1875, 1222, 2171, 1591, 1208, 1283, - 1026, 2155, 775, 1422, 1495, 2411, 1160, 1674, 1047, 976, 609, 1134, - 1876, 1223, 2172, 1592, 1209, 1284, 1027, 2156, 776, 1423, 1496, 2412, - 1161, 1675, 1048, 977, 610, 1135, 1877, 1224, 2173, 1593, 1210, 1285, - 1028, 2157, 777, 1424, 1497, 2413, 1162, 1676, 1049, 978, 611, 1136, - 1878, 1225, 2174, 1594, 1211, 1286, 1029, 2158, 778, 1425, 1498, 2414, - 1163, 1677, 1050, 979, 612, 1137, 1879, 1226, 2175, 1595, 1212, 1287, - 1030, 2159, 779, 1426, 1499, 2415, 1164, 1678, 1051, 980, 613, 1138, - 1880, 1227, 2176, 1596, 1213, 1288, 1031, 2160, 780, 1427, 1500, 2416, - 1165, 1679, 1052, 981, 614, 1139, 1881, 1228, 2177, 1597, 1214, 1289, - 1032, 1801, 781, 1428, 1501, 2417, 1166, 1680, 1053, 982, 615, 1140, - 1882, 1229, 2178, 1598, 1215, 1290, 1033, 1802, 782, 1429, 1502, 2418, - 1167, 1681, 1054, 983, 616, 1141, 1883, 1230, 2179, 1599, 1216, 1291, - 1034, 1803, 783, 1430, 1503, 2419, 1168, 1682, 1055, 984, 617, 1142, - 1884, 1231, 2180, 1600, 1217, 1292, 1035, 1804, 784, 1431, 1504, 2420, - 1169, 1683, 1056, 985, 618, 1143, 1885, 1232, 2181, 1601, 1218, 1293, - 1036, 1805, 785, 1432, 1505, 2421, 1170, 1684, 1057, 986, 619, 1144, - 1886, 1233, 2182, 1602, 1219, 1294, 1037, 1806, 786, 1433, 1506, 2422, - 1171, 1685, 1058, 987, 620, 1145, 1887, 1234, 2183, 1603, 1220, 1295, - 1038, 1807, 787, 1434, 1507, 2423, 1172, 1686, 1059, 988, 621, 1146, - 1888, 1235, 2184, 1604, 1221, 1296, 1039, 1808, 788, 1435, 1508, 2424, - 1173, 1687, 1060, 989, 622, 1147, 1889, 1236, 2185, 1605, 1222, 1297, - 1040, 1809, 789, 1436, 1509, 2425, 1174, 1688, 1061, 990, 623, 1148, - 1890, 1237, 2186, 1606, 1223, 1298, 1041, 1810, 790, 1437, 1510, 2426, - 1175, 1689, 1062, 991, 624, 1149, 1891, 1238, 2187, 1607, 1224, 1299, - 1042, 1811, 791, 1438, 1511, 2427, 1176, 1690, 1063, 992, 625, 1150, - 1892, 1239, 2188, 1608, 1225, 1300, 1043, 1812, 792, 1439, 1512, 2428, - 1177, 1691, 1064, 993, 626, 1151, 1893, 1240, 2189, 1609, 1226, 1301, - 1044, 1813, 793, 1440, 1513, 2429, 1178, 1692, 1065, 994, 627, 1152, - 1894, 1241, 2190, 1610, 1227, 1302, 1045, 1814, 794, 1081, 1514, 2430, - 1179, 1693, 1066, 995, 628, 1153, 1895, 1242, 2191, 1611, 1228, 1303, - 1046, 1815, 795, 1082, 1515, 2431, 1180, 1694, 1067, 996, 629, 1154, - 1896, 1243, 2192, 1612, 1229, 1304, 1047, 1816, 796, 1083, 1516, 2432, - 1181, 1695, 1068, 997, 630, 1155, 1897, 1244, 2193, 1613, 1230, 1305, - 1048, 1817, 797, 1084, 1517, 2433, 1182, 1696, 1069, 998, 631, 1156, - 1898, 1245, 2194, 1614, 1231, 1306, 1049, 1818, 798, 1085, 1518, 2434, - 1183, 1697, 1070, 999, 632, 1157, 1899, 1246, 2195, 1615, 1232, 1307, - 1050, 1819, 799, 1086, 1519, 2435, 1184, 1698, 1071, 1000, 633, 1158, - 1900, 1247, 2196, 1616, 1233, 1308, 1051, 1820, 800, 1087, 1520, 2436, - 1185, 1699, 1072, 1001, 634, 1159, 1901, 1248, 2197, 1617, 1234, 1309, - 1052, 1821, 801, 1088, 1521, 2437, 1186, 1700, 1073, 1002, 635, 1160, - 1902, 1249, 2198, 1618, 1235, 1310, 1053, 1822, 802, 1089, 1522, 2438, - 1187, 1701, 1074, 1003, 636, 1161, 1903, 1250, 2199, 1619, 1236, 1311, - 1054, 1823, 803, 1090, 1523, 2439, 1188, 1702, 1075, 1004, 637, 1162, - 1904, 1251, 2200, 1620, 1237, 1312, 1055, 1824, 804, 1091, 1524, 2440, - 1189, 1703, 1076, 1005, 638, 1163, 1905, 1252, 2201, 1621, 1238, 1313, - 1056, 1825, 805, 1092, 1525, 2441, 1190, 1704, 1077, 1006, 639, 1164, - 1906, 1253, 2202, 1622, 1239, 1314, 1057, 1826, 806, 1093, 1526, 2442, - 1191, 1705, 1078, 1007, 640, 1165, 1907, 1254, 2203, 1623, 1240, 1315, - 1058, 1827, 807, 1094, 1527, 2443, 1192, 1706, 1079, 1008, 641, 1166, - 1908, 1255, 2204, 1624, 1241, 1316, 1059, 1828, 808, 1095, 1528, 2444, - 1193, 1707, 1080, 1009, 642, 1167, 1909, 1256, 2205, 1625, 1242, 1317, - 1060, 1829, 809, 1096, 1529, 2445, 1194, 1708, 849, 1010, 643, 1168, - 1910, 1257, 2206, 1626, 1243, 1318, 1061, 1830, 810, 1097, 1530, 2446, - 1195, 1709, 850, 1011, 644, 1169, 1911, 1258, 2207, 1627, 1244, 1319, - 1062, 1831, 811, 1098, 1531, 2447, 1196, 1710, 851, 1012, 645, 1170, - 1912, 1259, 2208, 1628, 1245, 1320, 1063, 1832, 812, 1099, 1532, 2448, - 1197, 1711, 852, 1013, 646, 1171, 1913, 1260, 2209, 1629, 1246, 1321, - 1064, 1833, 813, 1100, 1533, 2449, 1198, 1712, 853, 1014, 647, 1172, - 1914, 1261, 2210, 1630, 1247, 1322, 1065, 1834, 814, 1101, 1534, 2450, - 1199, 1713, 854, 1015, 648, 1173, 1915, 1262, 2211, 1631, 1248, 1323, - 1066, 1835, 815, 1102, 1535, 2451, 1200, 1714, 855, 1016, 649, 1174, - 1916, 1263, 2212, 1632, 1249, 1324, 1067, 1836, 816, 1103, 1536, 2452, - 1201, 1715, 856, 1017, 650, 1175, 1917, 1264, 2213, 1633, 1250, 1325, - 1068, 1837, 817, 1104, 1537, 2453, 1202, 1716, 857, 1018, 651, 1176, - 1918, 1265, 2214, 1634, 1251, 1326, 1069, 1838, 818, 1105, 1538, 2454, - 2309, 2050, 2431, 1457, 2978, 1410, 2013, 1568, 2360, 1861, 1553, 1706, - 1127, 2682, 1222, 2325, 1667, 2866, 2310, 2051, 2432, 1458, 2979, 1411, - 2014, 1569, 2361, 1862, 1554, 1707, 1128, 2683, 1223, 2326, 1668, 2867, - 2311, 2052, 2433, 1459, 2980, 1412, 2015, 1570, 2362, 1863, 1555, 1708, - 1129, 2684, 1224, 2327, 1669, 2868, 2312, 2053, 2434, 1460, 2981, 1413, - 2016, 1571, 2363, 1864, 1556, 1709, 1130, 2685, 1225, 2328, 1670, 2869, - 2313, 2054, 2435, 1461, 2982, 1414, 2017, 1572, 2364, 1865, 1557, 1710, - 1131, 2686, 1226, 2329, 1671, 2870, 2314, 2055, 2436, 1462, 2983, 1415, - 2018, 1573, 2365, 1866, 1558, 1711, 1132, 2687, 1227, 2330, 1672, 2871, - 2315, 2056, 2437, 1463, 2984, 1416, 2019, 1574, 2366, 1867, 1559, 1712, - 1133, 2688, 1228, 2331, 1673, 2872, 2316, 2057, 2438, 1464, 2985, 1417, - 2020, 1575, 2367, 1868, 1560, 1713, 1134, 2689, 1229, 2332, 1674, 2873, - 2317, 2058, 2439, 1465, 2986, 1418, 2021, 1576, 2368, 1869, 1561, 1714, - 1135, 2690, 1230, 2333, 1675, 2874, 2318, 2059, 2440, 1466, 2987, 1419, - 2022, 1577, 2369, 1870, 1562, 1715, 1136, 2691, 1231, 2334, 1676, 2875, - 2319, 2060, 2441, 1467, 2988, 1420, 2023, 1578, 2370, 1871, 1563, 1716, - 1137, 2692, 1232, 2335, 1677, 2876, 2320, 2061, 2442, 1468, 2989, 1421, - 2024, 1579, 2371, 1872, 1564, 1717, 1138, 2693, 1233, 2336, 1678, 2877, - 2321, 2062, 2443, 1469, 2990, 1422, 2025, 1580, 2372, 1873, 1565, 1718, - 1139, 2694, 1234, 2337, 1679, 2878, 2322, 2063, 2444, 1470, 2991, 1423, - 2026, 1581, 2373, 1874, 1566, 1719, 1140, 2695, 1235, 2338, 1680, 2879, - 2323, 2064, 2445, 1471, 2992, 1424, 2027, 1582, 2374, 1875, 1567, 1720, - 1141, 2696, 1236, 2339, 1681, 2880, 2324, 2065, 2446, 1472, 2993, 1425, - 2028, 1583, 2375, 1876, 1568, 1721, 1142, 2697, 1237, 2340, 1682, 2521, - 2325, 2066, 2447, 1473, 2994, 1426, 2029, 1584, 2376, 1877, 1569, 1722, - 1143, 2698, 1238, 2341, 1683, 2522, 2326, 2067, 2448, 1474, 2995, 1427, - 2030, 1585, 2377, 1878, 1570, 1723, 1144, 2699, 1239, 2342, 1684, 2523, - 2327, 2068, 2449, 1475, 2996, 1428, 2031, 1586, 2378, 1879, 1571, 1724, - 1145, 2700, 1240, 2343, 1685, 2524, 2328, 2069, 2450, 1476, 2997, 1429, - 2032, 1587, 2379, 1880, 1572, 1725, 1146, 2701, 1241, 2344, 1686, 2525, - 2329, 2070, 2451, 1477, 2998, 1430, 2033, 1588, 2380, 1881, 1573, 1726, - 1147, 2702, 1242, 2345, 1687, 2526, 2330, 2071, 2452, 1478, 2999, 1431, - 2034, 1589, 2381, 1882, 1574, 1727, 1148, 2703, 1243, 2346, 1688, 2527, - 2331, 2072, 2453, 1479, 3000, 1432, 2035, 1590, 2382, 1883, 1575, 1728, - 1149, 2704, 1244, 2347, 1689, 2528, 2332, 2073, 2454, 1480, 3001, 1433, - 2036, 1591, 2383, 1884, 1576, 1729, 1150, 2705, 1245, 2348, 1690, 2529, - 2333, 2074, 2455, 1481, 3002, 1434, 2037, 1592, 2384, 1885, 1577, 1730, - 1151, 2706, 1246, 2349, 1691, 2530, 2334, 2075, 2456, 1482, 3003, 1435, - 2038, 1593, 2385, 1886, 1578, 1731, 1152, 2707, 1247, 2350, 1692, 2531, - 2335, 2076, 2457, 1483, 3004, 1436, 2039, 1594, 2386, 1887, 1579, 1732, - 1153, 2708, 1248, 2351, 1693, 2532, 2336, 2077, 2458, 1484, 3005, 1437, - 2040, 1595, 2387, 1888, 1580, 1733, 1154, 2709, 1249, 2352, 1694, 2533, - 2337, 2078, 2459, 1485, 3006, 1438, 2041, 1596, 2388, 1889, 1581, 1734, - 1155, 2710, 1250, 2353, 1695, 2534, 2338, 2079, 2460, 1486, 3007, 1439, - 2042, 1597, 2389, 1890, 1582, 1735, 1156, 2711, 1251, 2354, 1696, 2535, - 2339, 2080, 2461, 1487, 3008, 1440, 2043, 1598, 2390, 1891, 1583, 1736, - 1157, 2712, 1252, 2355, 1697, 2536, 2340, 2081, 2462, 1488, 3009, 1208, - 2044, 1599, 2391, 1892, 1584, 1737, 1158, 2713, 1253, 2356, 1698, 2537, - 2341, 2082, 2463, 1489, 3010, 1209, 2045, 1600, 2392, 1893, 1585, 1738, - 1159, 2714, 1254, 2357, 1699, 2538, 2342, 2083, 2464, 1490, 3011, 1210, - 2046, 1601, 2393, 1894, 1586, 1739, 1160, 2715, 1255, 2358, 1700, 2539, - 2343, 2084, 2465, 1491, 3012, 1211, 2047, 1602, 2394, 1895, 1587, 1740, - 1161, 2716, 1256, 2359, 1701, 2540, 2344, 2085, 2466, 1492, 3013, 1212, - 2048, 1603, 2395, 1896, 1588, 1741, 1162, 2717, 1257, 2360, 1702, 2541, - 2345, 2086, 2467, 1493, 3014, 1213, 2049, 1604, 2396, 1897, 1589, 1742, - 1163, 2718, 1258, 2361, 1703, 2542, 2346, 2087, 2468, 1494, 3015, 1214, - 2050, 1605, 2397, 1898, 1590, 1743, 1164, 2719, 1259, 2362, 1704, 2543, - 2347, 2088, 2469, 1495, 3016, 1215, 2051, 1606, 2398, 1899, 1591, 1744, - 1165, 2720, 1260, 2363, 1705, 2544, 2348, 2089, 2470, 1496, 3017, 1216, - 2052, 1607, 2399, 1900, 1592, 1745, 1166, 2721, 1261, 2364, 1706, 2545, - 2349, 2090, 2471, 1497, 3018, 1217, 2053, 1608, 2400, 1901, 1593, 1746, - 1167, 2722, 1262, 2365, 1579, 2546, 2350, 2091, 2472, 1498, 3019, 1218, - 2054, 1609, 2401, 1902, 1594, 1747, 1168, 2723, 1263, 2366, 1580, 2547, - 2351, 2092, 2473, 1499, 3020, 1219, 2055, 1610, 2402, 1903, 1595, 1748, - 1169, 2724, 1264, 2367, 1581, 2548, 2352, 2093, 2474, 1500, 3021, 1220, - 2056, 1611, 2403, 1904, 1596, 1749, 1170, 2725, 1265, 2368, 1582, 2549, - 2353, 2094, 2475, 1501, 3022, 1221, 2057, 1612, 2404, 1905, 1597, 1750, - 1171, 2726, 1266, 2369, 1583, 2550, 2354, 2095, 2476, 1502, 3023, 1222, - 2058, 1613, 2405, 1906, 1598, 1751, 1172, 2727, 1267, 2370, 1584, 2551, - 2355, 2096, 2477, 1503, 3024, 1223, 2059, 1614, 2406, 1907, 1599, 1752, - 1173, 2728, 1268, 2371, 1585, 2552, 2356, 2097, 2478, 1504, 3025, 1224, - 2060, 1615, 2407, 1908, 1600, 1753, 1174, 2729, 1269, 2372, 1586, 2553, - 2357, 2098, 2479, 1505, 3026, 1225, 2061, 1616, 2408, 1909, 1601, 1754, - 1175, 2730, 1270, 2373, 1587, 2554, 2358, 2099, 2480, 1506, 3027, 1226, - 2062, 1617, 2409, 1910, 1602, 1755, 1176, 2731, 1271, 2374, 1588, 2555, - 2359, 2100, 2481, 1507, 3028, 1227, 2063, 1618, 2410, 1911, 1603, 1756, - 1177, 2732, 1272, 2375, 1589, 2556, 2360, 2101, 2482, 1508, 3029, 1228, - 2064, 1619, 2411, 1912, 1604, 1757, 1178, 2733, 1273, 2376, 1590, 2557, - 2361, 2102, 2483, 1509, 3030, 1229, 2065, 1620, 2412, 1913, 1605, 1758, - 1179, 2734, 1274, 2377, 1591, 2558, 2362, 2103, 2484, 1510, 3031, 1230, - 2066, 1621, 2413, 1914, 1606, 1759, 1180, 2735, 1275, 2378, 1592, 2559, - 2363, 2104, 2485, 1511, 3032, 1231, 2067, 1622, 2414, 1915, 1607, 1760, - 1181, 2736, 1276, 2379, 1593, 2560, 2364, 2105, 2486, 1512, 3033, 1232, - 2068, 1623, 2415, 1916, 1608, 1761, 1182, 2737, 1277, 2380, 1594, 2561, - 2365, 2106, 2487, 1513, 3034, 1233, 2069, 1624, 2416, 1917, 1609, 1762, - 1183, 2738, 1278, 2381, 1595, 2562, 2366, 2107, 2488, 1514, 3035, 1234, - 2070, 1625, 2417, 1918, 1610, 1763, 1184, 2739, 1279, 2382, 1596, 2563, - 2367, 2108, 2489, 1515, 3036, 1235, 2071, 1626, 2418, 1919, 1611, 1764, - 1185, 2740, 1280, 2383, 1597, 2564, 2368, 2109, 2490, 1516, 3037, 1236, - 2072, 1627, 2419, 1920, 1612, 1765, 1186, 2741, 1281, 2384, 1598, 2565, - 2369, 2110, 2491, 1517, 3038, 1237, 2073, 1628, 2420, 1921, 1613, 1766, - 1187, 2742, 1282, 2385, 1599, 2566, 2370, 2111, 2492, 1518, 3039, 1238, - 2074, 1629, 2421, 1922, 1614, 1767, 1188, 2743, 1283, 2386, 1600, 2567, - 2371, 2112, 2493, 1519, 3040, 1239, 2075, 1630, 2422, 1923, 1615, 1768, - 1189, 2744, 1284, 2387, 1601, 2568, 2372, 2113, 2494, 1520, 3041, 1240, - 2076, 1631, 2423, 1924, 1616, 1769, 1190, 2745, 1285, 2388, 1602, 2569, - 2373, 2114, 2495, 1521, 3042, 1241, 2077, 1632, 2424, 1925, 1617, 1770, - 1191, 2746, 1286, 2389, 1603, 2570, 2374, 2115, 2496, 1522, 3043, 1242, - 2078, 1633, 2425, 1926, 1618, 1771, 1192, 2747, 1287, 2390, 1604, 2571, - 2375, 2116, 2497, 1523, 3044, 1243, 2079, 1634, 2426, 1927, 1619, 1772, - 1193, 2748, 1288, 2391, 1605, 2572, 2376, 2117, 2498, 1524, 3045, 1244, - 2080, 1635, 2427, 1928, 1620, 1773, 1194, 2749, 1289, 2392, 1606, 2573, - 2377, 2118, 2499, 1525, 3046, 1245, 2081, 1636, 2428, 1929, 1621, 1774, - 1195, 2750, 1290, 2393, 1607, 2574, 2378, 2119, 2500, 1526, 3047, 1246, - 2082, 1637, 2429, 1930, 1622, 1775, 1196, 2751, 1291, 2161, 1608, 2575, - 2379, 2120, 2501, 1527, 3048, 1247, 2083, 1638, 2430, 1931, 1623, 1776, - 1197, 2752, 1292, 2162, 1609, 2576, 2380, 2121, 2502, 1528, 3049, 1248, - 2084, 1639, 2431, 1932, 1624, 1777, 1198, 2753, 1293, 2163, 1610, 2577, - 2381, 2122, 2503, 1529, 3050, 1249, 2085, 1640, 2432, 1933, 1625, 1778, - 1199, 2754, 1294, 2164, 1611, 2578, 2382, 2123, 2504, 1530, 3051, 1250, - 2086, 1641, 2433, 1934, 1626, 1779, 1200, 2755, 1295, 2165, 1612, 2579, - 2383, 2124, 2505, 1531, 3052, 1251, 2087, 1642, 2434, 1935, 1627, 1780, - 1201, 2756, 1296, 2166, 1613, 2580, 2384, 2125, 2506, 1532, 3053, 1252, - 2088, 1643, 2435, 1936, 1628, 1781, 1202, 2757, 1297, 2167, 1614, 2581, - 2385, 2126, 2507, 1533, 3054, 1253, 2089, 1644, 2436, 1937, 1629, 1782, - 1203, 2758, 1298, 2168, 1615, 2582, 2386, 2127, 2508, 1534, 3055, 1254, - 2090, 1645, 2437, 1938, 1630, 1783, 1204, 2759, 1299, 2169, 1616, 2583, - 2387, 2128, 2509, 1535, 3056, 1255, 2091, 1646, 2438, 1939, 1631, 1784, - 1205, 2760, 1300, 2170, 1617, 2584, 2388, 2129, 2510, 1536, 3057, 1256, - 2092, 1647, 2439, 1940, 1632, 1785, 1206, 2761, 1301, 2171, 1618, 2585, - 2389, 2130, 2511, 1537, 3058, 1257, 2093, 1648, 2440, 1941, 1633, 1786, - 1207, 2762, 1302, 2172, 1619, 2586, 2390, 2131, 2512, 1538, 3059, 1258, - 2094, 1649, 2441, 1942, 1634, 1787, 1208, 2763, 1303, 2173, 1620, 2587, - 2391, 2132, 2513, 1539, 3060, 1259, 2095, 1650, 2442, 1943, 1635, 1788, - 1209, 2764, 1304, 2174, 1621, 2588, 2392, 2133, 2514, 1540, 3061, 1260, - 2096, 1651, 2443, 1944, 1636, 1789, 1210, 2765, 1305, 2175, 1622, 2589, - 2393, 2134, 2515, 1541, 3062, 1261, 2097, 1652, 2444, 1945, 1637, 1790, - 1211, 2766, 1306, 2176, 1623, 2590, 2394, 2135, 2516, 1542, 3063, 1262, - 2098, 1653, 2445, 1946, 1638, 1791, 1212, 2767, 1307, 2177, 1624, 2591, - 2395, 2136, 2517, 1543, 3064, 1263, 2099, 1654, 2446, 1947, 1639, 1792, - 1213, 2768, 1308, 2178, 1625, 2592, 2396, 2137, 2518, 1544, 3065, 1264, - 2100, 1655, 2447, 1948, 1640, 1793, 1214, 2769, 1309, 2179, 1626, 2593, - 2397, 2138, 2519, 1545, 3066, 1265, 2101, 1656, 2448, 1949, 1641, 1794, - 1215, 2770, 1310, 2180, 1627, 2594, 2398, 2139, 2520, 1546, 3067, 1266, - 2102, 1657, 2449, 1950, 1642, 1795, 1216, 2771, 1311, 2181, 1628, 2595, - 2399, 2140, 2161, 1547, 3068, 1267, 2103, 1658, 2450, 1951, 1643, 1796, - 1217, 2772, 1312, 2182, 1629, 2596, 2400, 2141, 2162, 1548, 3069, 1268, - 2104, 1659, 2451, 1952, 1644, 1797, 1218, 2773, 1313, 2183, 1630, 2597, - 2401, 2142, 2163, 1549, 3070, 1269, 2105, 1660, 2452, 1953, 1645, 1798, - 1219, 2774, 1314, 2184, 1631, 2598, 2402, 2143, 2164, 1550, 3071, 1270, - 2106, 1661, 2453, 1954, 1646, 1799, 1220, 2775, 1315, 2185, 1632, 2599, - 2403, 2144, 2165, 1551, 3072, 1271, 2107, 1662, 2454, 1955, 1647, 1800, - 1221, 2521, 1316, 2186, 1633, 2600, 2404, 2145, 2166, 1552, 3073, 1272, - 2108, 1663, 2455, 1956, 1648, 1441, 1222, 2522, 1317, 2187, 1634, 2601, - 2405, 2146, 2167, 1553, 3074, 1273, 2109, 1664, 2456, 1957, 1649, 1442, - 1223, 2523, 1318, 2188, 1635, 2602, 2406, 2147, 2168, 1554, 3075, 1274, - 2110, 1665, 2457, 1958, 1650, 1443, 1224, 2524, 1319, 2189, 1636, 2603, - 2407, 2148, 2169, 1555, 3076, 1275, 2111, 1666, 2458, 1959, 1651, 1444, - 1225, 2525, 1320, 2190, 1637, 2604, 2408, 2149, 2170, 1556, 2881, 1276, - 2112, 1667, 2459, 1960, 1652, 1445, 1226, 2526, 1321, 2191, 1638, 2605, - 2409, 2150, 2171, 1557, 2882, 1277, 2113, 1668, 2460, 1961, 1653, 1446, - 1227, 2527, 1322, 2192, 1639, 2606, 2410, 2151, 2172, 1558, 2883, 1278, - 2114, 1669, 2461, 1962, 1654, 1447, 1228, 2528, 1323, 2193, 1640, 2607, - 2411, 2152, 2173, 1559, 2884, 1279, 2115, 1670, 2462, 1963, 1655, 1448, - 1229, 2529, 1324, 2194, 1641, 2608, 2412, 2153, 2174, 1560, 2885, 1280, - 2116, 1671, 2463, 1964, 1656, 1449, 1230, 2530, 1325, 2195, 1642, 2609, - 2413, 2154, 2175, 1561, 2886, 1281, 2117, 1672, 2464, 1965, 1657, 1450, - 1231, 2531, 1326, 2196, 1643, 2610, 2414, 2155, 2176, 1562, 2887, 1282, - 2118, 1673, 2465, 1966, 1658, 1451, 1232, 2532, 1327, 2197, 1644, 2611, - 2415, 2156, 2177, 1563, 2888, 1283, 2119, 1674, 2466, 1967, 1659, 1452, - 1233, 2533, 1328, 2198, 1645, 2612, 2416, 2157, 2178, 1564, 2889, 1284, - 2120, 1675, 2467, 1968, 1660, 1453, 1234, 2534, 1329, 2199, 1646, 2613, - 2417, 2158, 2179, 1565, 2890, 1285, 2121, 1676, 2468, 1969, 1661, 1454, - 1235, 2535, 1330, 2200, 1647, 2614, 2418, 2159, 2180, 1566, 2891, 1286, - 2122, 1677, 2469, 1970, 1662, 1455, 1236, 2536, 1331, 2201, 1648, 2615, - 2419, 2160, 2181, 1567, 2892, 1287, 2123, 1678, 2470, 1971, 1663, 1456, - 1237, 2537, 1332, 2202, 1649, 2616, 2420, 1801, 2182, 1568, 2893, 1288, - 2124, 1679, 2471, 1972, 1664, 1457, 1238, 2538, 1333, 2203, 1650, 2617, - 2421, 1802, 2183, 1569, 2894, 1289, 2125, 1680, 2472, 1973, 1665, 1458, - 1239, 2539, 1334, 2204, 1651, 2618, 2422, 1803, 2184, 1570, 2895, 1290, - 2126, 1681, 2473, 1974, 1666, 1459, 1240, 2540, 1335, 2205, 1652, 2619, - 2423, 1804, 2185, 1571, 2896, 1291, 2127, 1682, 2474, 1975, 1667, 1460, - 1241, 2541, 1336, 2206, 1653, 2620, 2424, 1805, 2186, 1572, 2897, 1292, - 2128, 1683, 2475, 1976, 1668, 1461, 1242, 2542, 1337, 2207, 1654, 2621, - 2425, 1806, 2187, 1573, 2898, 1293, 2129, 1684, 2476, 1977, 1669, 1462, - 1243, 2543, 1338, 2208, 1655, 2622, 2426, 1807, 2188, 1574, 2899, 1294, - 2130, 1685, 2477, 1978, 1670, 1463, 1244, 2544, 1339, 2209, 1656, 2623, - 2427, 1808, 2189, 1575, 2900, 1295, 2131, 1686, 2478, 1979, 1671, 1464, - 1245, 2545, 1340, 2210, 1657, 2624, 2428, 1809, 2190, 1576, 2901, 1296, - 2132, 1687, 2479, 1980, 1672, 1465, 1246, 2546, 1341, 2211, 1658, 2625, - 2429, 1810, 2191, 1577, 2902, 1297, 2133, 1688, 2480, 1981, 1673, 1466, - 1247, 2547, 1342, 2212, 1659, 2626, 2430, 1811, 2192, 1578, 2903, 1298, - 2134, 1689, 2481, 1982, 1674, 1467, 1248, 2548, 1343, 2213, 1660, 2627, - 2431, 1812, 2193, 1579, 2904, 1299, 2135, 1690, 2482, 1983, 1675, 1468, - 1249, 2549, 1344, 2214, 1661, 2628, 2432, 1813, 2194, 1580, 2905, 1300, - 2136, 1691, 2483, 1984, 1676, 1469, 1250, 2550, 1345, 2215, 1662, 2629, - 2433, 1814, 2195, 1581, 2906, 1301, 2137, 1692, 2484, 1985, 1677, 1470, - 1251, 2551, 1346, 2216, 1663, 2630, 2434, 1815, 2196, 1582, 2907, 1302, - 2138, 1693, 2485, 1986, 1678, 1471, 1252, 2552, 1347, 2217, 1664, 2631, - 2435, 1816, 2197, 1583, 2908, 1303, 2139, 1694, 2486, 1987, 1679, 1472, - 1253, 2553, 1348, 2218, 1665, 2632, 2436, 1817, 2198, 1584, 2909, 1304, - 2140, 1695, 2487, 1988, 1680, 1473, 1254, 2554, 1349, 2219, 1666, 2633, - 2437, 1818, 2199, 1585, 2910, 1305, 2141, 1696, 2488, 1989, 1681, 1474, - 1255, 2555, 1350, 2220, 1667, 2634, 2438, 1819, 2200, 1586, 2911, 1306, - 2142, 1697, 2489, 1990, 1682, 1475, 1256, 2556, 1351, 2221, 1668, 2635, - 2439, 1820, 2201, 1587, 2912, 1307, 2143, 1698, 2490, 1991, 1683, 1476, - 1257, 2557, 1352, 2222, 1669, 2636, 2440, 1821, 2202, 1588, 2913, 1308, - 2144, 1699, 2491, 1992, 1684, 1477, 1258, 2558, 1353, 2223, 1670, 2637, - 2441, 1822, 2203, 1589, 2914, 1309, 2145, 1700, 2492, 1993, 1685, 1478, - 1259, 2559, 1354, 2224, 1671, 2638, 2442, 1823, 2204, 1590, 2915, 1310, - 2146, 1701, 2493, 1994, 1686, 1479, 1260, 2560, 1355, 2225, 1672, 2639, - 2443, 1824, 2205, 1591, 2916, 1311, 2147, 1702, 2494, 1995, 1687, 1480, - 1261, 2561, 1356, 2226, 1535, 2640, 2444, 1825, 2206, 1592, 2917, 1312, - 2148, 1703, 2495, 1996, 1688, 1481, 1262, 2562, 1357, 2227, 1536, 2641, - 2445, 1826, 2207, 1593, 2918, 1313, 2149, 1704, 2496, 1997, 1689, 1482, - 1263, 2563, 1358, 2228, 1537, 2642, 2446, 1827, 2208, 1594, 2919, 1314, - 2150, 1705, 2497, 1998, 1690, 1483, 1264, 2564, 1359, 2229, 1538, 2643, - 2447, 1828, 2209, 1595, 2920, 1315, 2151, 1706, 2498, 1999, 1691, 1484, - 1265, 2565, 1360, 2230, 1539, 2644, 2448, 1829, 2210, 1596, 2921, 1316, - 2152, 1707, 2499, 2000, 1692, 1485, 1266, 2566, 1361, 2231, 1540, 2645, - 2449, 1830, 2211, 1597, 2922, 1317, 2153, 1708, 2500, 2001, 1693, 1486, - 1267, 2567, 1362, 2232, 1541, 2646, 2450, 1831, 2212, 1598, 2923, 1318, - 2154, 1709, 2501, 2002, 1694, 1487, 1268, 2568, 1363, 2233, 1542, 2647, - 2451, 1832, 2213, 1599, 2924, 1319, 2155, 1710, 2502, 2003, 1695, 1488, - 1269, 2569, 1364, 2234, 1543, 2648, 2452, 1833, 2214, 1600, 2925, 1320, - 2156, 1711, 2503, 2004, 1696, 1489, 1270, 2570, 1365, 2235, 1544, 2649, - 2453, 1834, 2215, 1601, 2926, 1321, 2157, 1712, 2504, 2005, 1697, 1490, - 1271, 2571, 1366, 2236, 1545, 2650, 2454, 1835, 2216, 1602, 2927, 1322, - 2158, 1713, 2505, 2006, 1698, 1491, 1272, 2572, 1367, 2237, 1546, 2651, - 2455, 1836, 2217, 1603, 2928, 1323, 2159, 1714, 2506, 2007, 1699, 1492, - 1273, 2573, 1368, 2238, 1547, 2652, 2456, 1837, 2218, 1604, 2929, 1324, - 2160, 1715, 2507, 2008, 1700, 1493, 1274, 2574, 1369, 2239, 1548, 2653, - 2457, 1838, 2219, 1605, 2930, 1325, 2067, 1716, 2508, 2009, 1701, 1494, - 1275, 2575, 1370, 2240, 1549, 2654, 2458, 1839, 2220, 1606, 2931, 1326, - 2068, 1717, 2509, 2010, 1702, 1495, 1276, 2576, 1371, 2241, 1550, 2655, - 2459, 1840, 2221, 1607, 2932, 1327, 2069, 1718, 2510, 2011, 1703, 1496, - 1277, 2577, 1372, 2242, 1551, 2656, 2460, 1841, 2222, 1608, 2933, 1328, - 2070, 1719, 2511, 2012, 1704, 1497, 1278, 2578, 1373, 2243, 1552, 2657, - 2461, 1842, 2223, 1609, 2934, 1329, 2071, 1720, 2512, 2013, 1705, 1498, - 1279, 2579, 1374, 2244, 1553, 2658, 2462, 1843, 2224, 1610, 2935, 1330, - 2072, 1721, 2513, 2014, 1706, 1499, 1280, 2580, 1375, 2245, 1554, 2659, - 2463, 1844, 2225, 1611, 2936, 1331, 2073, 1722, 2514, 2015, 1707, 1500, - 1281, 2581, 1376, 2246, 1555, 2660, 2464, 1845, 2226, 1612, 2937, 1332, - 2074, 1723, 2515, 2016, 1708, 1501, 1282, 2582, 1377, 2247, 1556, 2661, - 2465, 1846, 2227, 1613, 2938, 1333, 2075, 1724, 2516, 2017, 1709, 1502, - 1283, 2583, 1378, 2248, 1557, 2662, 2466, 1847, 2228, 1614, 2881, 1334, - 2076, 1725, 2517, 2018, 1710, 1503, 1284, 2584, 1379, 2249, 1558, 2663, - 2467, 1848, 2229, 1615, 2882, 1335, 2077, 1726, 2518, 2019, 1711, 1504, - 1285, 2585, 1380, 2250, 1559, 2664, 2468, 1849, 2230, 1616, 2883, 1336, - 2078, 1727, 2519, 2020, 1712, 1505, 1286, 2586, 1381, 2251, 1560, 2665, - 2469, 1850, 2231, 1617, 2884, 1337, 2079, 1728, 2520, 2021, 1713, 1506, - 1287, 2587, 1382, 2252, 1561, 2666, 2470, 1851, 2232, 1618, 2885, 1338, - 2080, 1729, 2376, 2022, 1714, 1507, 1288, 2588, 1383, 2253, 1562, 2667, - 2471, 1852, 2233, 1619, 2886, 1339, 2081, 1730, 2377, 2023, 1715, 1508, - 1289, 2589, 1384, 2254, 1563, 2668, 2472, 1853, 2234, 1620, 2887, 1340, - 2082, 1731, 2378, 2024, 1716, 1509, 1290, 2590, 1385, 2255, 1564, 2669, - 2473, 1854, 2235, 1621, 2888, 1341, 2083, 1732, 2379, 2025, 1717, 1510, - 1291, 2591, 1386, 2256, 1565, 2670, 2474, 1855, 2236, 1622, 2889, 1342, - 2084, 1733, 2380, 2026, 1718, 1511, 1292, 2592, 1387, 2257, 1566, 2671, - 2475, 1856, 2237, 1623, 2890, 1343, 2085, 1734, 2381, 2027, 1719, 1512, - 1293, 2593, 1388, 2258, 1567, 2672, 2476, 1857, 2238, 1624, 2891, 1344, - 2086, 1735, 2382, 2028, 1720, 1513, 1294, 2594, 1389, 2259, 1568, 2673, - 2477, 1858, 2239, 1625, 2892, 1345, 2087, 1736, 2383, 2029, 1721, 1514, - 1295, 2595, 1390, 2260, 1569, 2674, 2478, 1859, 2240, 1626, 2893, 1346, - 2088, 1737, 2384, 2030, 1722, 1515, 1296, 2596, 1391, 2261, 1570, 2675, - 2479, 1860, 2241, 1627, 2894, 1347, 2089, 1738, 2385, 2031, 1723, 1516, - 1297, 2597, 1392, 2262, 1571, 2676, 2480, 1861, 2242, 1628, 2895, 1348, - 2090, 1739, 2386, 2032, 1724, 1517, 1298, 2598, 1393, 2263, 1572, 2677, - 2481, 1862, 2243, 1629, 2896, 1349, 2091, 1740, 2387, 2033, 1725, 1518, - 1299, 2599, 1394, 2264, 1573, 2678, 2482, 1863, 2244, 1630, 2897, 1350, - 2092, 1741, 2388, 2034, 1726, 1519, 1300, 2600, 1395, 2265, 1574, 2679, - 2483, 1864, 2245, 1631, 2898, 1351, 2093, 1742, 2389, 2035, 1727, 1520, - 1301, 2601, 1396, 2266, 1575, 2680, 2484, 1865, 2246, 1632, 2899, 1352, - 2094, 1743, 2390, 2036, 1728, 1521, 1302, 2602, 1397, 2267, 1576, 2681, - 2485, 1866, 2247, 1633, 2900, 1353, 2095, 1744, 2391, 2037, 1729, 1522, - 1303, 2603, 1398, 2268, 1577, 2682, 2486, 1867, 2248, 1634, 2901, 1354, - 2096, 1745, 2392, 2038, 1730, 1523, 1304, 2604, 1399, 2269, 1578, 2683, - 2487, 1868, 2249, 1635, 2902, 1355, 2097, 1746, 2393, 2039, 1731, 1524, - 1305, 2605, 1400, 2270, 1579, 2684, 2488, 1869, 2250, 1636, 2903, 1356, - 2098, 1747, 2394, 2040, 1732, 1525, 1306, 2606, 1401, 2271, 1580, 2685, - 2489, 1870, 2251, 1637, 2904, 1357, 2099, 1748, 2395, 2041, 1733, 1526, - 1307, 2607, 1402, 2272, 1581, 2686, 2490, 1871, 2252, 1638, 2905, 1358, - 2100, 1749, 2396, 2042, 1734, 1527, 1308, 2608, 1403, 2273, 1582, 2687, - 2491, 1872, 2253, 1639, 2906, 1359, 2101, 1750, 2397, 2043, 1735, 1528, - 1309, 2609, 1404, 2274, 1583, 2688, 2492, 1873, 2254, 1640, 2907, 1360, - 2102, 1751, 2398, 2044, 1736, 1529, 1310, 2610, 1405, 2275, 1584, 2689, - 2493, 1874, 2255, 1641, 2908, 1361, 2103, 1752, 2399, 2045, 1737, 1530, - 1311, 2611, 1406, 2276, 1585, 2690, 2494, 1875, 2256, 1642, 2909, 1362, - 2104, 1753, 2400, 2046, 1738, 1531, 1312, 2612, 1407, 2277, 1586, 2691, - 2495, 1876, 2257, 1643, 2910, 1363, 2105, 1754, 2401, 2047, 1739, 1532, - 1313, 2613, 1408, 2278, 1587, 2692, 2496, 1877, 2258, 1644, 2911, 1364, - 2106, 1755, 2402, 2048, 1740, 1533, 1314, 2614, 1409, 2279, 1588, 2693, - 2497, 1878, 2259, 1645, 2912, 1365, 2107, 1756, 2403, 2049, 1741, 1534, - 1315, 2615, 1410, 2280, 1589, 2694, 2498, 1879, 2260, 1646, 2913, 1366, - 2108, 1757, 2404, 2050, 1742, 1535, 1316, 2616, 1411, 2281, 1590, 2695, - 2499, 1880, 2261, 1647, 2914, 1367, 2109, 1758, 2405, 2051, 1743, 1536, - 1317, 2617, 1412, 2282, 1591, 2696, 2500, 1881, 2262, 1648, 2915, 1368, - 2110, 1759, 2406, 2052, 1744, 1537, 1318, 2618, 1413, 2283, 1592, 2697, - 2501, 1882, 2263, 1649, 2916, 1369, 2111, 1760, 2407, 2053, 1745, 1538, - 1319, 2619, 1414, 2284, 1593, 2698, 2502, 1883, 2264, 1650, 2917, 1370, - 2112, 1761, 2408, 2054, 1746, 1539, 1320, 2620, 1415, 2285, 1594, 2699, - 2503, 1884, 2265, 1651, 2918, 1371, 2113, 1762, 2409, 2055, 1747, 1540, - 1321, 2621, 1416, 2286, 1595, 2700, 2504, 1885, 2266, 1652, 2919, 1372, - 2114, 1763, 2410, 2056, 1748, 1541, 1322, 2622, 1417, 2287, 1596, 2701, - 2505, 1886, 2267, 1653, 2920, 1373, 2115, 1764, 2411, 2057, 1749, 1542, - 1323, 2623, 1418, 2161, 1597, 2702, 2506, 1887, 2268, 1654, 2921, 1374, - 2116, 1765, 2412, 2058, 1750, 1543, 1324, 2624, 1419, 2162, 1598, 2703, - 2507, 1888, 2269, 1655, 2922, 1375, 2117, 1766, 2413, 2059, 1751, 1544, - 1325, 2625, 1420, 2163, 1599, 2704, 2508, 1889, 2270, 1656, 2923, 1376, - 2118, 1767, 2414, 2060, 1752, 1545, 1326, 2521, 1421, 2164, 1600, 2705, - 2509, 1890, 2271, 1657, 2924, 1377, 2119, 1768, 2415, 2061, 1753, 1546, - 1327, 2522, 1422, 2165, 1601, 2706, 2510, 1891, 2272, 1658, 2925, 1378, - 2120, 1769, 2416, 2062, 1754, 1547, 1328, 2523, 1423, 2166, 1602, 2707, - 2511, 1892, 2273, 1659, 2926, 1379, 2121, 1770, 2417, 2063, 1755, 1548, - 1329, 2524, 1424, 2167, 1603, 2708, 2512, 1893, 2274, 1660, 2927, 1380, - 2122, 1771, 2418, 2064, 1756, 1549, 1330, 2525, 1425, 2168, 1604, 2709, - 2513, 1894, 2275, 1661, 2928, 1381, 2123, 1772, 2419, 2065, 1757, 1550, - 1331, 2526, 1426, 2169, 1605, 2710, 2514, 1895, 2276, 1662, 2929, 1382, - 2124, 1773, 2420, 2066, 1758, 1551, 1332, 2527, 1427, 2170, 1606, 2711, - 2515, 1896, 2277, 1663, 2930, 1383, 2125, 1774, 2421, 2067, 1759, 1552, - 1333, 2528, 1428, 2171, 1607, 2712, 2516, 1897, 2278, 1664, 2931, 1384, - 2126, 1775, 2422, 2068, 1760, 1553, 1334, 2529, 1429, 2172, 1608, 2713, - 2517, 1898, 2279, 1665, 2932, 1385, 2127, 1776, 2423, 2069, 1761, 1554, - 1335, 2530, 1430, 2173, 1609, 2714, 2518, 1899, 2280, 1666, 2933, 1386, - 2128, 1777, 2424, 2070, 1762, 1555, 1336, 2531, 1431, 2174, 1610, 2715, - 2519, 1900, 2281, 1667, 2934, 1387, 2129, 1778, 2425, 2071, 1763, 1556, - 1337, 2532, 1432, 2175, 1611, 2716, 2520, 1901, 2282, 1668, 2935, 1388, - 2130, 1779, 2426, 2072, 1764, 1557, 1338, 2533, 1433, 2176, 1612, 2717, - 2161, 1902, 2283, 1669, 2936, 1389, 2131, 1780, 2427, 2073, 1765, 1558, - 1339, 2534, 1434, 2177, 1613, 2718, 2162, 1903, 2284, 1670, 2937, 1390, - 2132, 1781, 2428, 2074, 1766, 1559, 1340, 2535, 1435, 2178, 1614, 2719, - 2163, 1904, 2285, 1671, 2938, 1391, 2133, 1782, 2429, 2075, 1767, 1560, - 1341, 2536, 1436, 2179, 1615, 2720, 2164, 1905, 2286, 1672, 2939, 1392, - 2134, 1783, 2430, 2076, 1768, 1561, 1342, 2537, 1437, 2180, 1616, 2721, - 2165, 1906, 2287, 1673, 2940, 1393, 2135, 1784, 2431, 2077, 1769, 1562, - 1343, 2538, 1438, 2181, 1617, 2722, 2166, 1907, 2288, 1674, 2941, 1394, - 2136, 1785, 2432, 2078, 1770, 1563, 1344, 2539, 1439, 2182, 1618, 2723, - 2167, 1908, 2289, 1675, 2942, 1395, 2137, 1786, 2433, 2079, 1771, 1564, - 1345, 2540, 1440, 2183, 1619, 2724, 2168, 1909, 2290, 1676, 2943, 1396, - 2138, 1787, 2434, 2080, 1772, 1565, 1346, 2541, 1081, 2184, 1620, 2725, - 2169, 1910, 2291, 1677, 2944, 1397, 2139, 1788, 2435, 2081, 1773, 1566, - 1347, 2542, 1082, 2185, 1621, 2726, 2170, 1911, 2292, 1678, 2945, 1398, - 2140, 1789, 2436, 2082, 1774, 1567, 1348, 2543, 1083, 2186, 1622, 2727, - 2171, 1912, 2293, 1679, 2946, 1399, 2141, 1790, 2437, 2083, 1775, 1568, - 1349, 2544, 1084, 2187, 1623, 2728, 2172, 1913, 2294, 1680, 2947, 1400, - 2142, 1791, 2438, 2084, 1776, 1569, 1350, 2545, 1085, 2188, 1624, 2729, - 2173, 1914, 2295, 1681, 2948, 1401, 2143, 1792, 2439, 2085, 1777, 1570, - 1351, 2546, 1086, 2189, 1625, 2730, 2174, 1915, 2296, 1682, 2949, 1402, - 2144, 1793, 2440, 2086, 1778, 1571, 1352, 2547, 1087, 2190, 1626, 2731, - 2175, 1916, 2297, 1683, 2950, 1403, 2145, 1794, 2441, 2087, 1779, 1572, - 1353, 2548, 1088, 2191, 1627, 2732, 2176, 1917, 2298, 1684, 2951, 1404, - 2146, 1795, 2442, 2088, 1780, 1573, 1354, 2549, 1089, 2192, 1628, 2733, - 2177, 1918, 2299, 1685, 2952, 1405, 2147, 1796, 2443, 2089, 1781, 1574, - 1355, 2550, 1090, 2193, 1629, 2734, 2178, 1919, 2300, 1686, 2953, 1406, - 2148, 1797, 2444, 2090, 1782, 1575, 1356, 2551, 1091, 2194, 1630, 2735, - 2179, 1920, 2301, 1687, 2954, 1407, 2149, 1798, 2445, 2091, 1783, 1576, - 1357, 2552, 1092, 2195, 1631, 2736, 2180, 1921, 2302, 1688, 2955, 1408, - 2150, 1799, 2446, 2092, 1784, 1577, 1358, 2553, 1093, 2196, 1632, 2737, - 2181, 1922, 2303, 1689, 2956, 1409, 2151, 1800, 2447, 2093, 1785, 1578, - 1359, 2554, 1094, 2197, 1633, 2738, 2182, 1923, 2304, 1690, 2957, 1410, - 2152, 1441, 2448, 2094, 1786, 1579, 1360, 2555, 1095, 2198, 1634, 2739, - 2183, 1924, 2305, 1691, 2958, 1411, 2153, 1442, 2449, 2095, 1787, 1580, - 1361, 2556, 1096, 2199, 1635, 2740, 2184, 1925, 2306, 1692, 2959, 1412, - 2154, 1443, 2450, 2096, 1788, 1581, 1362, 2557, 1097, 2200, 1636, 2741, - 2185, 1926, 2307, 1693, 2960, 1413, 2155, 1444, 2451, 2097, 1789, 1582, - 1363, 2558, 1098, 2201, 1637, 2742, 2186, 1927, 2308, 1694, 2961, 1414, - 2156, 1445, 2452, 2098, 1790, 1583, 1364, 2559, 1099, 2202, 1638, 2743, - 2187, 1928, 2309, 1695, 2962, 1415, 2157, 1446, 2453, 2099, 1791, 1584, - 1365, 2560, 1100, 2203, 1639, 2744, 2188, 1929, 2310, 1696, 2963, 1416, - 2158, 1447, 2454, 2100, 1792, 1585, 1366, 2561, 1101, 2204, 1640, 2745, - 2189, 1930, 2311, 1697, 2964, 1417, 2159, 1448, 2455, 2101, 1793, 1586, - 1367, 2562, 1102, 2205, 1641, 2746, 2190, 1931, 2312, 1698, 2965, 1418, - 2160, 1449, 2456, 2102, 1794, 1587, 1368, 2563, 1103, 2206, 1642, 2747, - 2191, 1932, 2313, 1699, 2966, 1419, 1895, 1450, 2457, 2103, 1795, 1588, - 1369, 2564, 1104, 2207, 1643, 2748, 2192, 1933, 2314, 1700, 2967, 1420, - 1896, 1451, 2458, 2104, 1796, 1589, 1370, 2565, 1105, 2208, 1644, 2749, - 2193, 1934, 2315, 1701, 2968, 1421, 1897, 1452, 2459, 2105, 1797, 1590, - 1371, 2566, 1106, 2209, 1645, 2750, 2194, 1935, 2316, 1702, 2969, 1422, - 1898, 1453, 2460, 2106, 1798, 1591, 1372, 2567, 1107, 2210, 1646, 2751, - 2195, 1936, 2317, 1703, 2970, 1423, 1899, 1454, 2461, 2107, 1799, 1592, - 1373, 2568, 1108, 2211, 1647, 2752, 2196, 1937, 2318, 1704, 2971, 1424, - 1900, 1455, 2462, 2108, 1800, 1593, 1374, 2569, 1109, 2212, 1648, 2753, - 2197, 1938, 2319, 1705, 2972, 1425, 1901, 1456, 2463, 2109, 1441, 1594, - 1375, 2570, 1110, 2213, 1649, 2754, 2198, 1939, 2320, 1706, 2973, 1426, - 1902, 1457, 2464, 2110, 1442, 1595, 1376, 2571, 1111, 2214, 1650, 2755, - 2199, 1940, 2321, 1707, 2974, 1427, 1903, 1458, 2465, 2111, 1443, 1596, - 1377, 2572, 1112, 2215, 1651, 2756, 2200, 1941, 2322, 1708, 2975, 1428, - 1904, 1459, 2466, 2112, 1444, 1597, 1378, 2573, 1113, 2216, 1652, 2757, - 2201, 1942, 2323, 1709, 2976, 1429, 1905, 1460, 2467, 2113, 1445, 1598, - 1379, 2574, 1114, 2217, 1653, 2758, 2202, 1943, 2324, 1710, 2977, 1430, - 1906, 1461, 2468, 2114, 1446, 1599, 1380, 2575, 1115, 2218, 1654, 2759, - 2203, 1944, 2325, 1711, 2978, 1431, 1907, 1462, 2469, 2115, 1447, 1600, - 1381, 2576, 1116, 2219, 1655, 2760, 2204, 1945, 2326, 1712, 2979, 1432, - 1908, 1463, 2470, 2116, 1448, 1601, 1382, 2577, 1117, 2220, 1656, 2761, - 2205, 1946, 2327, 1713, 2980, 1433, 1909, 1464, 2471, 2117, 1449, 1602, - 1383, 2578, 1118, 2221, 1657, 2762, 2206, 1947, 2328, 1714, 2981, 1434, - 1910, 1465, 2472, 2118, 1450, 1603, 1384, 2579, 1119, 2222, 1658, 2763, - 2207, 1948, 2329, 1715, 2982, 1435, 1911, 1466, 2473, 2119, 1451, 1604, - 1385, 2580, 1120, 2223, 1659, 2764, 2208, 1949, 2330, 1716, 2983, 1436, - 1912, 1467, 2474, 2120, 1452, 1605, 1386, 2581, 1121, 2224, 1660, 2765, - 2209, 1950, 2331, 1717, 2984, 1437, 1913, 1468, 2475, 2121, 1453, 1606, - 1387, 2582, 1122, 2225, 1661, 2766, 2210, 1951, 2332, 1718, 2985, 1438, - 1914, 1469, 2476, 2122, 1454, 1607, 1388, 2583, 1123, 2226, 1662, 2767, - 2211, 1952, 2333, 1719, 2986, 1439, 1915, 1470, 2477, 2123, 1455, 1608, - 1389, 2584, 1124, 2227, 1569, 2768, 2212, 1953, 2334, 1720, 2881, 1440, - 1916, 1471, 2478, 2124, 1456, 1609, 1390, 2585, 1125, 2228, 1570, 2769, - 2213, 1954, 2335, 1721, 2882, 1314, 1917, 1472, 2479, 2125, 1457, 1610, - 1391, 2586, 1126, 2229, 1571, 2770, 2214, 1955, 2336, 1722, 2883, 1315, - 1918, 1473, 2480, 2126, 1458, 1611, 1392, 2587, 1127, 2230, 1572, 2771, - 2215, 1956, 2337, 1723, 2884, 1316, 1919, 1474, 2481, 2127, 1459, 1612, - 1393, 2588, 1128, 2231, 1573, 2772, 2216, 1957, 2338, 1724, 2885, 1317, - 1920, 1475, 2482, 2128, 1460, 1613, 1394, 2589, 1129, 2232, 1574, 2773, - 2217, 1958, 2339, 1725, 2886, 1318, 1921, 1476, 2483, 2129, 1461, 1614, - 1395, 2590, 1130, 2233, 1575, 2774, 2218, 1959, 2340, 1726, 2887, 1319, - 1922, 1477, 2484, 2130, 1462, 1615, 1396, 2591, 1131, 2234, 1576, 2775, - 2219, 1960, 2341, 1727, 2888, 1320, 1923, 1478, 2485, 2131, 1463, 1616, - 1397, 2592, 1132, 2235, 1577, 2776, 2220, 1961, 2342, 1728, 2889, 1321, - 1924, 1479, 2486, 2132, 1464, 1617, 1398, 2593, 1133, 2236, 1578, 2777, - 2221, 1962, 2343, 1729, 2890, 1322, 1925, 1480, 2487, 2133, 1465, 1618, - 1399, 2594, 1134, 2237, 1579, 2778, 2222, 1963, 2344, 1730, 2891, 1323, - 1926, 1481, 2488, 2134, 1466, 1619, 1400, 2595, 1135, 2238, 1580, 2779, - 2223, 1964, 2345, 1731, 2892, 1324, 1927, 1482, 2489, 2135, 1467, 1620, - 1401, 2596, 1136, 2239, 1581, 2780, 2224, 1965, 2346, 1732, 2893, 1325, - 1928, 1483, 2490, 2136, 1468, 1621, 1402, 2597, 1137, 2240, 1582, 2781, - 2225, 1966, 2347, 1733, 2894, 1326, 1929, 1484, 2491, 2137, 1469, 1622, - 1403, 2598, 1138, 2241, 1583, 2782, 2226, 1967, 2348, 1734, 2895, 1327, - 1930, 1485, 2492, 2138, 1470, 1623, 1404, 2599, 1139, 2242, 1584, 2783, - 2227, 1968, 2349, 1735, 2896, 1328, 1931, 1486, 2493, 2139, 1471, 1624, - 1405, 2600, 1140, 2243, 1585, 2784, 2228, 1969, 2350, 1736, 2897, 1329, - 1932, 1487, 2494, 2140, 1472, 1625, 1406, 2601, 1141, 2244, 1586, 2785, - 2229, 1970, 2351, 1737, 2898, 1330, 1933, 1488, 2495, 2141, 1473, 1626, - 1407, 2602, 1142, 2245, 1587, 2786, 2230, 1971, 2352, 1738, 2899, 1331, - 1934, 1489, 2496, 2142, 1474, 1627, 1408, 2603, 1143, 2246, 1588, 2787, - 2231, 1972, 2353, 1739, 2900, 1332, 1935, 1490, 2497, 2143, 1475, 1628, - 1409, 2604, 1144, 2247, 1589, 2788, 2232, 1973, 2354, 1740, 2901, 1333, - 1936, 1491, 2498, 2144, 1476, 1629, 1410, 2605, 1145, 2248, 1590, 2789, - 2233, 1974, 2355, 1741, 2902, 1334, 1937, 1492, 2499, 2145, 1477, 1630, - 1411, 2606, 1146, 2249, 1591, 2790, 2234, 1975, 2356, 1742, 2903, 1335, - 1938, 1493, 2500, 1801, 1478, 1631, 1412, 2607, 1147, 2250, 1592, 2791, - 2235, 1976, 2357, 1743, 2904, 1336, 1939, 1494, 2501, 1802, 1479, 1632, - 1413, 2608, 1148, 2251, 1593, 2792, 2236, 1977, 2358, 1744, 2905, 1337, - 1940, 1495, 2502, 1803, 1480, 1633, 1414, 2609, 1149, 2252, 1594, 2793, - 2237, 1978, 2359, 1745, 2906, 1338, 1941, 1496, 2503, 1804, 1481, 1634, - 1415, 2610, 1150, 2253, 1595, 2794, 2238, 1979, 2360, 1746, 2907, 1339, - 1942, 1497, 2504, 1805, 1482, 1635, 1416, 2611, 1151, 2254, 1596, 2795, - 2239, 1980, 2361, 1747, 2908, 1340, 1943, 1498, 2505, 1806, 1483, 1636, - 1417, 2612, 1152, 2255, 1597, 2796, 2240, 1981, 2362, 1748, 2909, 1341, - 1944, 1499, 2506, 1807, 1484, 1637, 1418, 2613, 1153, 2256, 1598, 2797, - 2241, 1982, 2363, 1749, 2910, 1342, 1945, 1500, 2507, 1808, 1485, 1638, - 1419, 2614, 1154, 2257, 1599, 2798, 2242, 1983, 2364, 1750, 2911, 1343, - 1946, 1501, 2508, 1809, 1486, 1639, 1420, 2615, 1155, 2258, 1600, 2799, - 2243, 1984, 2365, 1751, 2912, 1344, 1947, 1502, 2509, 1810, 1487, 1640, - 1421, 2616, 1156, 2259, 1601, 2800, 2244, 1985, 2366, 1752, 2913, 1345, - 1948, 1503, 2510, 1811, 1488, 1641, 1422, 2617, 1157, 2260, 1602, 2801, - 2245, 1986, 2367, 1753, 2914, 1346, 1949, 1504, 2511, 1812, 1489, 1642, - 1423, 2618, 1158, 2261, 1603, 2802, 2246, 1987, 2368, 1754, 2915, 1347, - 1950, 1505, 2512, 1813, 1490, 1643, 1424, 2619, 1159, 2262, 1604, 2803, - 2247, 1988, 2369, 1755, 2916, 1348, 1951, 1506, 2513, 1814, 1491, 1644, - 1425, 2620, 1160, 2263, 1605, 2804, 2248, 1989, 2370, 1756, 2917, 1349, - 1952, 1507, 2514, 1815, 1492, 1645, 1426, 2621, 1161, 2264, 1606, 2805, - 2249, 1990, 2371, 1757, 2918, 1350, 1953, 1508, 2515, 1801, 1493, 1646, - 1427, 2622, 1162, 2265, 1607, 2806, 2250, 1991, 2372, 1758, 2919, 1351, - 1954, 1509, 2516, 1802, 1494, 1647, 1428, 2623, 1163, 2266, 1608, 2807, - 2251, 1992, 2373, 1759, 2920, 1352, 1955, 1510, 2517, 1803, 1495, 1648, - 1429, 2624, 1164, 2267, 1609, 2808, 2252, 1993, 2374, 1760, 2921, 1353, - 1956, 1511, 2518, 1804, 1496, 1649, 1430, 2625, 1165, 2268, 1610, 2809, - 2253, 1994, 2375, 1761, 2922, 1354, 1957, 1512, 2519, 1805, 1497, 1650, - 1431, 2626, 1166, 2269, 1611, 2810, 2254, 1995, 2376, 1762, 2923, 1355, - 1958, 1513, 2520, 1806, 1498, 1651, 1432, 2627, 1167, 2270, 1612, 2811, - 2255, 1996, 2377, 1763, 2924, 1356, 1959, 1514, 2306, 1807, 1499, 1652, - 1433, 2628, 1168, 2271, 1613, 2812, 2256, 1997, 2378, 1764, 2925, 1357, - 1960, 1515, 2307, 1808, 1500, 1653, 1434, 2629, 1169, 2272, 1614, 2813, - 2257, 1998, 2379, 1765, 2926, 1358, 1961, 1516, 2308, 1809, 1501, 1654, - 1435, 2630, 1170, 2273, 1615, 2814, 2258, 1999, 2380, 1766, 2927, 1359, - 1962, 1517, 2309, 1810, 1502, 1655, 1436, 2631, 1171, 2274, 1616, 2815, - 2259, 2000, 2381, 1767, 2928, 1360, 1963, 1518, 2310, 1811, 1503, 1656, - 1437, 2632, 1172, 2275, 1617, 2816, 2260, 2001, 2382, 1768, 2929, 1361, - 1964, 1519, 2311, 1812, 1504, 1657, 1438, 2633, 1173, 2276, 1618, 2817, - 2261, 2002, 2383, 1769, 2930, 1362, 1965, 1520, 2312, 1813, 1505, 1658, - 1439, 2634, 1174, 2277, 1619, 2818, 2262, 2003, 2384, 1770, 2931, 1363, - 1966, 1521, 2313, 1814, 1506, 1659, 1440, 2635, 1175, 2278, 1620, 2819, - 2263, 2004, 2385, 1771, 2932, 1364, 1967, 1522, 2314, 1815, 1507, 1660, - 1081, 2636, 1176, 2279, 1621, 2820, 2264, 2005, 2386, 1772, 2933, 1365, - 1968, 1523, 2315, 1816, 1508, 1661, 1082, 2637, 1177, 2280, 1622, 2821, - 2265, 2006, 2387, 1773, 2934, 1366, 1969, 1524, 2316, 1817, 1509, 1662, - 1083, 2638, 1178, 2281, 1623, 2822, 2266, 2007, 2388, 1774, 2935, 1367, - 1970, 1525, 2317, 1818, 1510, 1663, 1084, 2639, 1179, 2282, 1624, 2823, - 2267, 2008, 2389, 1775, 2936, 1368, 1971, 1526, 2318, 1819, 1511, 1664, - 1085, 2640, 1180, 2283, 1625, 2824, 2268, 2009, 2390, 1776, 2937, 1369, - 1972, 1527, 2319, 1820, 1512, 1665, 1086, 2641, 1181, 2284, 1626, 2825, - 2269, 2010, 2391, 1777, 2938, 1370, 1973, 1528, 2320, 1821, 1513, 1666, - 1087, 2642, 1182, 2285, 1627, 2826, 2270, 2011, 2392, 1778, 2939, 1371, - 1974, 1529, 2321, 1822, 1514, 1667, 1088, 2643, 1183, 2286, 1628, 2827, - 2271, 2012, 2393, 1779, 2940, 1372, 1975, 1530, 2322, 1823, 1515, 1668, - 1089, 2644, 1184, 2287, 1629, 2828, 2272, 2013, 2394, 1780, 2941, 1373, - 1976, 1531, 2323, 1824, 1516, 1669, 1090, 2645, 1185, 2288, 1630, 2829, - 2273, 2014, 2395, 1781, 2942, 1374, 1977, 1532, 2324, 1825, 1517, 1670, - 1091, 2646, 1186, 2289, 1631, 2830, 2274, 2015, 2396, 1782, 2943, 1375, - 1978, 1533, 2325, 1826, 1518, 1671, 1092, 2647, 1187, 2290, 1632, 2831, - 2275, 2016, 2397, 1783, 2944, 1376, 1979, 1534, 2326, 1827, 1519, 1672, - 1093, 2648, 1188, 2291, 1633, 2832, 2276, 2017, 2398, 1784, 2945, 1377, - 1980, 1535, 2327, 1828, 1520, 1673, 1094, 2649, 1189, 2292, 1634, 2833, - 2277, 2018, 2399, 1785, 2946, 1378, 1981, 1536, 2328, 1829, 1521, 1674, - 1095, 2650, 1190, 2293, 1635, 2834, 2278, 2019, 2400, 1786, 2947, 1379, - 1982, 1537, 2329, 1830, 1522, 1675, 1096, 2651, 1191, 2294, 1636, 2835, - 2279, 2020, 2401, 1787, 2948, 1380, 1983, 1538, 2330, 1831, 1523, 1676, - 1097, 2652, 1192, 2295, 1637, 2836, 2280, 2021, 2402, 1788, 2949, 1381, - 1984, 1539, 2331, 1832, 1524, 1677, 1098, 2653, 1193, 2296, 1638, 2837, - 2281, 2022, 2403, 1789, 2950, 1382, 1985, 1540, 2332, 1833, 1525, 1678, - 1099, 2654, 1194, 2297, 1639, 2838, 2282, 2023, 2404, 1790, 2951, 1383, - 1986, 1541, 2333, 1834, 1526, 1679, 1100, 2655, 1195, 2298, 1640, 2839, - 2283, 2024, 2405, 1791, 2952, 1384, 1987, 1542, 2334, 1835, 1527, 1680, - 1101, 2656, 1196, 2299, 1641, 2840, 2284, 2025, 2406, 1792, 2953, 1385, - 1988, 1543, 2335, 1836, 1528, 1681, 1102, 2657, 1197, 2300, 1642, 2841, - 2285, 2026, 2407, 1793, 2954, 1386, 1989, 1544, 2336, 1837, 1529, 1682, - 1103, 2658, 1198, 2301, 1643, 2842, 2286, 2027, 2408, 1794, 2955, 1387, - 1990, 1545, 2337, 1838, 1530, 1683, 1104, 2659, 1199, 2302, 1644, 2843, - 2287, 2028, 2409, 1795, 2956, 1388, 1991, 1546, 2338, 1839, 1531, 1684, - 1105, 2660, 1200, 2303, 1645, 2844, 2288, 2029, 2410, 1796, 2957, 1389, - 1992, 1547, 2339, 1840, 1532, 1685, 1106, 2661, 1201, 2304, 1646, 2845, - 2289, 2030, 2411, 1797, 2958, 1390, 1993, 1548, 2340, 1841, 1533, 1686, - 1107, 2662, 1202, 2305, 1647, 2846, 2290, 2031, 2412, 1798, 2959, 1391, - 1994, 1549, 2341, 1842, 1534, 1687, 1108, 2663, 1203, 2306, 1648, 2847, - 2291, 2032, 2413, 1799, 2960, 1392, 1995, 1550, 2342, 1843, 1535, 1688, - 1109, 2664, 1204, 2307, 1649, 2848, 2292, 2033, 2414, 1800, 2961, 1393, - 1996, 1551, 2343, 1844, 1536, 1689, 1110, 2665, 1205, 2308, 1650, 2849, - 2293, 2034, 2415, 1441, 2962, 1394, 1997, 1552, 2344, 1845, 1537, 1690, - 1111, 2666, 1206, 2309, 1651, 2850, 2294, 2035, 2416, 1442, 2963, 1395, - 1998, 1553, 2345, 1846, 1538, 1691, 1112, 2667, 1207, 2310, 1652, 2851, - 2295, 2036, 2417, 1443, 2964, 1396, 1999, 1554, 2346, 1847, 1539, 1692, - 1113, 2668, 1208, 2311, 1653, 2852, 2296, 2037, 2418, 1444, 2965, 1397, - 2000, 1555, 2347, 1848, 1540, 1693, 1114, 2669, 1209, 2312, 1654, 2853, - 2297, 2038, 2419, 1445, 2966, 1398, 2001, 1556, 2348, 1849, 1541, 1694, - 1115, 2670, 1210, 2313, 1655, 2854, 2298, 2039, 2420, 1446, 2967, 1399, - 2002, 1557, 2349, 1850, 1542, 1695, 1116, 2671, 1211, 2314, 1656, 2855, - 2299, 2040, 2421, 1447, 2968, 1400, 2003, 1558, 2350, 1851, 1543, 1696, - 1117, 2672, 1212, 2315, 1657, 2856, 2300, 2041, 2422, 1448, 2969, 1401, - 2004, 1559, 2351, 1852, 1544, 1697, 1118, 2673, 1213, 2316, 1658, 2857, - 2301, 2042, 2423, 1449, 2970, 1402, 2005, 1560, 2352, 1853, 1545, 1698, - 1119, 2674, 1214, 2317, 1659, 2858, 2302, 2043, 2424, 1450, 2971, 1403, - 2006, 1561, 2353, 1854, 1546, 1699, 1120, 2675, 1215, 2318, 1660, 2859, - 2303, 2044, 2425, 1451, 2972, 1404, 2007, 1562, 2354, 1855, 1547, 1700, - 1121, 2676, 1216, 2319, 1661, 2860, 2304, 2045, 2426, 1452, 2973, 1405, - 2008, 1563, 2355, 1856, 1548, 1701, 1122, 2677, 1217, 2320, 1662, 2861, - 2305, 2046, 2427, 1453, 2974, 1406, 2009, 1564, 2356, 1857, 1549, 1702, - 1123, 2678, 1218, 2321, 1663, 2862, 2306, 2047, 2428, 1454, 2975, 1407, - 2010, 1565, 2357, 1858, 1550, 1703, 1124, 2679, 1219, 2322, 1664, 2863, - 2307, 2048, 2429, 1455, 2976, 1408, 2011, 1566, 2358, 1859, 1551, 1704, - 1125, 2680, 1220, 2323, 1665, 2864, 2308, 2049, 2430, 1456, 2977, 1409, - 2012, 1567, 2359, 1860, 1552, 1705, 1126, 2681, 1221, 2324, 1666, 2865, - 3122, 2199, 2927, 1834, 3084, 1798, 2760, 2393, 2568, 1876, 1954, 2473, - 1807, 2787, 1778, 2452, 1761, 3078, 3123, 2200, 2928, 1835, 3085, 1799, - 2761, 2394, 2569, 1877, 1955, 2474, 1808, 2788, 1779, 2453, 1762, 3079, - 3124, 2201, 2929, 1836, 3086, 1800, 2762, 2395, 2570, 1878, 1956, 2475, - 1809, 2789, 1780, 2454, 1763, 3080, 3125, 2202, 2930, 1837, 3087, 1441, - 2763, 2396, 2571, 1879, 1957, 2476, 1810, 2790, 1781, 2455, 1764, 3081, - 3126, 2203, 2931, 1838, 3088, 1442, 2764, 2397, 2572, 1880, 1958, 2477, - 1811, 2791, 1782, 2456, 1765, 3082, 3127, 2204, 2932, 1839, 3089, 1443, - 2765, 2398, 2573, 1881, 1959, 2478, 1812, 2792, 1783, 2457, 1766, 3083, - 3128, 2205, 2933, 1840, 3090, 1444, 2766, 2399, 2574, 1882, 1960, 2479, - 1813, 2793, 1784, 2458, 1767, 3084, 3129, 2206, 2934, 1841, 3091, 1445, - 2767, 2400, 2575, 1883, 1961, 2480, 1814, 2794, 1785, 2459, 1768, 3085, - 3130, 2207, 2935, 1842, 3092, 1446, 2768, 2401, 2576, 1884, 1962, 2481, - 1815, 2795, 1786, 2460, 1769, 3086, 3131, 2208, 2936, 1843, 3093, 1447, - 2769, 2402, 2577, 1885, 1963, 2482, 1816, 2796, 1787, 2461, 1770, 3087, - 3132, 2209, 2937, 1844, 3094, 1448, 2770, 2403, 2578, 1886, 1964, 2483, - 1817, 2797, 1788, 2462, 1771, 3088, 3133, 2210, 2938, 1845, 3095, 1449, - 2771, 2404, 2579, 1887, 1965, 2484, 1818, 2798, 1789, 2463, 1772, 3089, - 3134, 2211, 2939, 1846, 3096, 1450, 2772, 2405, 2580, 1888, 1966, 2485, - 1819, 2799, 1790, 2464, 1773, 3090, 3135, 2212, 2940, 1847, 3097, 1451, - 2773, 2406, 2581, 1889, 1967, 2486, 1820, 2800, 1791, 2465, 1774, 3091, - 3136, 2213, 2941, 1848, 3098, 1452, 2774, 2407, 2582, 1890, 1968, 2487, - 1821, 2801, 1792, 2466, 1775, 3092, 3137, 2214, 2942, 1849, 3099, 1453, - 2775, 2408, 2583, 1891, 1969, 2488, 1822, 2802, 1793, 2467, 1776, 3093, - 3138, 2215, 2943, 1850, 3100, 1454, 2776, 2409, 2584, 1892, 1970, 2489, - 1823, 2803, 1794, 2468, 1777, 3094, 3139, 2216, 2944, 1851, 3101, 1455, - 2777, 2410, 2585, 1893, 1971, 2490, 1824, 2804, 1795, 2469, 1778, 3095, - 3140, 2217, 2945, 1852, 3102, 1456, 2778, 2411, 2586, 1894, 1972, 2491, - 1825, 2805, 1796, 2470, 1779, 3096, 3141, 2218, 2946, 1853, 3103, 1457, - 2779, 2412, 2587, 1895, 1973, 2492, 1826, 2806, 1797, 2471, 1780, 3097, - 3142, 2219, 2947, 1854, 3104, 1458, 2780, 2413, 2588, 1896, 1974, 2493, - 1827, 2807, 1798, 2472, 1781, 3098, 3143, 2220, 2948, 1855, 3105, 1459, - 2781, 2414, 2589, 1897, 1975, 2494, 1828, 2808, 1799, 2473, 1782, 3099, - 2881, 2221, 2949, 1856, 3106, 1460, 2782, 2415, 2590, 1898, 1976, 2495, - 1829, 2809, 1800, 2474, 1783, 3100, 2882, 2222, 2950, 1857, 3107, 1461, - 2783, 2416, 2591, 1899, 1977, 2496, 1830, 2810, 1441, 2475, 1784, 3101, - 2883, 2223, 2951, 1858, 3108, 1462, 2784, 2417, 2592, 1900, 1978, 2497, - 1831, 2811, 1442, 2476, 1785, 3102, 2884, 2224, 2952, 1859, 3109, 1463, - 2785, 2418, 2593, 1901, 1979, 2498, 1832, 2812, 1443, 2477, 1786, 3103, - 2885, 2225, 2953, 1860, 3110, 1464, 2786, 2419, 2594, 1902, 1980, 2499, - 1833, 2813, 1444, 2478, 1787, 3104, 2886, 2226, 2954, 1861, 3111, 1465, - 2787, 2420, 2595, 1903, 1981, 2500, 1834, 2814, 1445, 2479, 1788, 3105, - 2887, 2227, 2955, 1862, 3112, 1466, 2788, 2421, 2596, 1904, 1982, 2501, - 1835, 2815, 1446, 2480, 1789, 3106, 2888, 2228, 2956, 1863, 3113, 1467, - 2789, 2422, 2597, 1905, 1983, 2502, 1836, 2816, 1447, 2481, 1790, 3107, - 2889, 2229, 2957, 1864, 3114, 1468, 2790, 2423, 2598, 1906, 1984, 2503, - 1837, 2817, 1448, 2482, 1791, 3108, 2890, 2230, 2958, 1865, 3115, 1469, - 2791, 2424, 2599, 1907, 1985, 2504, 1838, 2818, 1449, 2483, 1792, 3109, - 2891, 2231, 2959, 1866, 3116, 1470, 2792, 2425, 2600, 1908, 1986, 2505, - 1839, 2819, 1450, 2484, 1793, 3110, 2892, 2232, 2960, 1867, 3117, 1471, - 2793, 2426, 2601, 1909, 1987, 2506, 1840, 2820, 1451, 2485, 1794, 3111, - 2893, 2233, 2961, 1868, 3118, 1472, 2794, 2427, 2602, 1910, 1988, 2507, - 1841, 2821, 1452, 2486, 1795, 3112, 2894, 2234, 2962, 1869, 3119, 1473, - 2795, 2428, 2603, 1911, 1989, 2508, 1842, 2822, 1453, 2487, 1796, 3113, - 2895, 2235, 2963, 1870, 3120, 1474, 2796, 2429, 2604, 1912, 1990, 2509, - 1843, 2823, 1454, 2488, 1797, 3114, 2896, 2236, 2964, 1871, 3121, 1475, - 2797, 2430, 2605, 1913, 1991, 2510, 1844, 2824, 1455, 2489, 1798, 3115, - 2897, 2237, 2965, 1872, 3122, 1476, 2798, 2431, 2606, 1914, 1992, 2511, - 1845, 2825, 1456, 2490, 1799, 3116, 2898, 2238, 2966, 1873, 3123, 1477, - 2799, 2432, 2607, 1915, 1993, 2512, 1846, 2826, 1457, 2491, 1800, 3117, - 2899, 2239, 2967, 1874, 3124, 1478, 2800, 2433, 2608, 1916, 1994, 2513, - 1847, 2827, 1458, 2492, 1707, 3118, 2900, 2240, 2968, 1875, 3125, 1479, - 2801, 2434, 2609, 1917, 1995, 2514, 1848, 2828, 1459, 2493, 1708, 3119, - 2901, 2241, 2969, 1876, 3126, 1480, 2802, 2435, 2610, 1918, 1996, 2515, - 1849, 2829, 1460, 2494, 1709, 3120, 2902, 2242, 2970, 1877, 3127, 1481, - 2803, 2436, 2611, 1919, 1997, 2516, 1850, 2830, 1461, 2495, 1710, 3121, - 2903, 2243, 2971, 1878, 3128, 1482, 2804, 2437, 2612, 1920, 1998, 2517, - 1851, 2831, 1462, 2496, 1711, 3122, 2904, 2244, 2972, 1879, 3129, 1483, - 2805, 2161, 2613, 1921, 1999, 2518, 1852, 2832, 1463, 2497, 1712, 3123, - 2905, 2245, 2973, 1880, 3130, 1484, 2806, 2162, 2614, 1922, 2000, 2519, - 1853, 2833, 1464, 2498, 1713, 3124, 2906, 2246, 2974, 1881, 3131, 1485, - 2807, 2163, 2615, 1923, 2001, 2520, 1854, 2834, 1465, 2499, 1714, 3125, - 2907, 2247, 2975, 1882, 3132, 1486, 2808, 2164, 2616, 1924, 2002, 2161, - 1855, 2835, 1466, 2500, 1715, 3126, 2908, 2248, 2881, 1883, 3133, 1487, - 2809, 2165, 2617, 1925, 2003, 2162, 1856, 2836, 1467, 2501, 1716, 3127, - 2909, 2249, 2882, 1884, 3134, 1488, 2810, 2166, 2618, 1926, 2004, 2163, - 1857, 2837, 1468, 2502, 1717, 3128, 2910, 2250, 2883, 1885, 3135, 1489, - 2811, 2167, 2619, 1927, 2005, 2164, 1858, 2838, 1469, 2503, 1718, 3129, - 2911, 2251, 2884, 1886, 3136, 1490, 2812, 2168, 2620, 1928, 2006, 2165, - 1859, 2839, 1470, 2504, 1719, 3130, 2912, 2252, 2885, 1887, 3137, 1491, - 2813, 2169, 2621, 1929, 2007, 2166, 1860, 2840, 1471, 2505, 1720, 3131, - 2913, 2253, 2886, 1888, 3138, 1492, 2814, 2170, 2622, 1930, 2008, 2167, - 1861, 2841, 1472, 2506, 1721, 3132, 2914, 2254, 2887, 1889, 3139, 1493, - 2815, 2171, 2623, 1931, 2009, 2168, 1862, 2842, 1473, 2507, 1722, 3133, - 2915, 2255, 2888, 1890, 3140, 1494, 2816, 2172, 2624, 1932, 2010, 2169, - 1863, 2843, 1474, 2508, 1723, 3134, 2916, 2256, 2889, 1891, 3141, 1495, - 2817, 2173, 2625, 1933, 2011, 2170, 1864, 2844, 1475, 2509, 1724, 3135, - 2917, 2257, 2890, 1892, 3142, 1496, 2818, 2174, 2626, 1934, 2012, 2171, - 1865, 2845, 1476, 2510, 1725, 3136, 2918, 2258, 2891, 1893, 3143, 1497, - 2819, 2175, 2627, 1935, 2013, 2172, 1866, 2846, 1477, 2511, 1726, 3137, - 2919, 2259, 2892, 1894, 3144, 1498, 2820, 2176, 2628, 1936, 2014, 2173, - 1867, 2847, 1478, 2512, 1727, 3138, 2920, 2260, 2893, 1895, 3145, 1499, - 2821, 2177, 2629, 1937, 2015, 2174, 1868, 2848, 1479, 2513, 1728, 3139, - 2921, 2261, 2894, 1896, 3146, 1500, 2822, 2178, 2630, 1938, 2016, 2175, - 1869, 2849, 1480, 2514, 1729, 3140, 2922, 2262, 2895, 1897, 3147, 1501, - 2823, 2179, 2631, 1939, 2017, 2176, 1870, 2850, 1481, 2515, 1730, 3141, - 2923, 2263, 2896, 1898, 3148, 1502, 2824, 2180, 2632, 1940, 2018, 2177, - 1871, 2851, 1482, 2516, 1731, 3142, 2924, 2264, 2897, 1899, 3149, 1503, - 2825, 2181, 2633, 1941, 2019, 2178, 1872, 2852, 1483, 2517, 1732, 3143, - 2925, 2265, 2898, 1900, 3150, 1504, 2826, 2182, 2634, 1942, 2020, 2179, - 1873, 2853, 1484, 2518, 1733, 3144, 2926, 2266, 2899, 1901, 3151, 1505, - 2827, 2183, 2635, 1943, 2021, 2180, 1874, 2854, 1485, 2519, 1734, 3145, - 2927, 2267, 2900, 1902, 3152, 1506, 2828, 2184, 2636, 1944, 2022, 2181, - 1875, 2855, 1486, 2520, 1735, 3146, 2928, 2268, 2901, 1903, 3153, 1507, - 2829, 2185, 2637, 1945, 2023, 2182, 1876, 2856, 1487, 2394, 1736, 3147, - 2929, 2269, 2902, 1904, 3154, 1508, 2830, 2186, 2638, 1946, 2024, 2183, - 1877, 2857, 1488, 2395, 1737, 3148, 2930, 2270, 2903, 1905, 3155, 1509, - 2831, 2187, 2639, 1947, 2025, 2184, 1878, 2858, 1489, 2396, 1738, 2881, - 2931, 2271, 2904, 1906, 3156, 1510, 2832, 2188, 2640, 1948, 2026, 2185, - 1879, 2859, 1490, 2397, 1739, 2882, 2932, 2272, 2905, 1907, 3157, 1511, - 2833, 2189, 2641, 1949, 2027, 2186, 1880, 2860, 1491, 2398, 1740, 2883, - 2933, 2273, 2906, 1908, 3158, 1512, 2834, 2190, 2642, 1950, 2028, 2187, - 1881, 2861, 1492, 2399, 1741, 2884, 2934, 2274, 2907, 1909, 3159, 1513, - 2835, 2191, 2643, 1951, 2029, 2188, 1882, 2862, 1493, 2400, 1742, 2885, - 2935, 2275, 2908, 1910, 3160, 1514, 2836, 2192, 2644, 1952, 2030, 2189, - 1883, 2863, 1494, 2401, 1743, 2886, 2936, 2276, 2909, 1911, 3161, 1515, - 2837, 2193, 2645, 1953, 2031, 2190, 1884, 2864, 1495, 2402, 1744, 2887, - 2937, 2277, 2910, 1912, 3162, 1516, 2838, 2194, 2646, 1954, 2032, 2191, - 1885, 2865, 1496, 2403, 1745, 2888, 2938, 2278, 2911, 1913, 3163, 1517, - 2839, 2195, 2647, 1955, 2033, 2192, 1886, 2866, 1497, 2404, 1746, 2889, - 2939, 2279, 2912, 1914, 3164, 1518, 2840, 2196, 2648, 1956, 2034, 2193, - 1887, 2867, 1498, 2405, 1747, 2890, 2940, 2280, 2913, 1915, 3165, 1519, - 2841, 2197, 2649, 1957, 2035, 2194, 1888, 2868, 1499, 2406, 1748, 2891, - 2941, 2281, 2914, 1916, 3166, 1520, 2842, 2198, 2650, 1958, 2036, 2195, - 1889, 2869, 1500, 2407, 1749, 2892, 2942, 2282, 2915, 1917, 3167, 1521, - 2843, 2199, 2651, 1959, 2037, 2196, 1890, 2870, 1501, 2408, 1750, 2893, - 2943, 2283, 2916, 1918, 3168, 1522, 2844, 2200, 2652, 1960, 2038, 2197, - 1891, 2871, 1502, 2409, 1751, 2894, 2944, 2284, 2917, 1919, 3169, 1523, - 2845, 2201, 2653, 1961, 2039, 2198, 1892, 2872, 1503, 2410, 1752, 2895, - 2945, 2285, 2918, 1920, 3170, 1524, 2846, 2202, 2654, 1962, 2040, 2199, - 1893, 2873, 1504, 2411, 1753, 2896, 2946, 2286, 2919, 1921, 3171, 1525, - 2847, 2203, 2655, 1963, 2041, 2200, 1894, 2874, 1505, 2412, 1754, 2897, - 2947, 2287, 2920, 1922, 3172, 1526, 2848, 2204, 2656, 1964, 2042, 2201, - 1895, 2875, 1506, 2413, 1755, 2898, 2948, 2288, 2921, 1923, 3173, 1527, - 2849, 2205, 2657, 1965, 2043, 2202, 1896, 2876, 1507, 2414, 1756, 2899, - 2949, 2289, 2922, 1924, 3174, 1528, 2850, 2206, 2658, 1966, 2044, 2203, - 1897, 2877, 1508, 2415, 1757, 2900, 2950, 2290, 2923, 1925, 3175, 1529, - 2851, 2207, 2659, 1967, 2045, 2204, 1898, 2878, 1509, 2416, 1758, 2901, - 2951, 2291, 2924, 1926, 3176, 1530, 2852, 2208, 2660, 1968, 2046, 2205, - 1899, 2879, 1510, 2417, 1759, 2902, 2952, 2292, 2925, 1927, 3177, 1531, - 2853, 2209, 2661, 1969, 2047, 2206, 1900, 2880, 1511, 2418, 1760, 2903, - 2953, 2293, 2926, 1928, 3178, 1532, 2854, 2210, 2662, 1970, 2048, 2207, - 1901, 2776, 1512, 2419, 1761, 2904, 2954, 2294, 2927, 1929, 3179, 1533, - 2855, 2211, 2663, 1971, 2049, 2208, 1902, 2777, 1513, 2420, 1762, 2905, - 2955, 2295, 2928, 1930, 3180, 1534, 2856, 2212, 2664, 1972, 2050, 2209, - 1903, 2778, 1514, 2421, 1763, 2906, 2956, 2296, 2929, 1931, 3181, 1535, - 2857, 2213, 2665, 1973, 2051, 2210, 1904, 2779, 1515, 2422, 1764, 2907, - 2957, 2297, 2930, 1932, 3182, 1536, 2858, 2214, 2666, 1974, 2052, 2211, - 1905, 2780, 1516, 2423, 1765, 2908, 2958, 2298, 2931, 1933, 3077, 1537, - 2859, 2215, 2667, 1975, 2053, 2212, 1906, 2781, 1517, 2424, 1766, 2909, - 2959, 2299, 2932, 1934, 3078, 1538, 2860, 2216, 2668, 1976, 2054, 2213, - 1907, 2782, 1518, 2425, 1767, 2910, 2960, 2300, 2933, 1935, 3079, 1539, - 2861, 2217, 2669, 1977, 2055, 2214, 1908, 2783, 1519, 2426, 1768, 2911, - 2961, 2301, 2934, 1936, 3080, 1540, 2862, 2218, 2670, 1978, 2056, 2215, - 1909, 2784, 1520, 2427, 1769, 2912, 2962, 2302, 2935, 1937, 3081, 1541, - 2863, 2219, 2671, 1979, 2057, 2216, 1910, 2785, 1521, 2428, 1770, 2913, - 2963, 2303, 2936, 1938, 3082, 1542, 2864, 2220, 2672, 1980, 2058, 2217, - 1911, 2786, 1522, 2429, 1771, 2914, 2964, 2304, 2937, 1939, 3083, 1543, - 2865, 2221, 2673, 1981, 2059, 2218, 1912, 2787, 1523, 2430, 1772, 2915, - 2965, 2305, 2938, 1940, 3084, 1544, 2866, 2222, 2674, 1982, 2060, 2219, - 1913, 2788, 1524, 2431, 1773, 2916, 2966, 2306, 2939, 1941, 3085, 1545, - 2867, 2223, 2675, 1983, 2061, 2220, 1914, 2789, 1525, 2432, 1774, 2917, - 2967, 2307, 2940, 1942, 3086, 1546, 2868, 2224, 2676, 1984, 2062, 2221, - 1915, 2790, 1526, 2433, 1775, 2918, 2968, 2308, 2941, 1943, 3087, 1547, - 2869, 2225, 2677, 1985, 2063, 2222, 1916, 2791, 1527, 2434, 1776, 2919, - 2969, 2309, 2942, 1944, 3088, 1548, 2870, 2226, 2678, 1986, 2064, 2223, - 1917, 2792, 1528, 2435, 1777, 2920, 2970, 2310, 2943, 1945, 3089, 1549, - 2871, 2227, 2679, 1987, 2065, 2224, 1918, 2793, 1529, 2436, 1778, 2921, - 2971, 2311, 2944, 1946, 3090, 1550, 2872, 2228, 2680, 1988, 2066, 2225, - 1919, 2794, 1530, 2437, 1779, 2922, 2972, 2312, 2945, 1947, 3091, 1551, - 2873, 2229, 2681, 1989, 2067, 2226, 1920, 2795, 1531, 2438, 1780, 2923, - 2973, 2313, 2946, 1948, 3092, 1552, 2874, 2230, 2682, 1990, 2068, 2227, - 1921, 2796, 1532, 2439, 1781, 2924, 2974, 2314, 2947, 1949, 3093, 1553, - 2875, 2231, 2683, 1991, 2069, 2228, 1922, 2797, 1533, 2440, 1782, 2925, - 2975, 2315, 2948, 1950, 3094, 1554, 2876, 2232, 2684, 1992, 2070, 2229, - 1923, 2798, 1534, 2441, 1783, 2926, 2976, 2316, 2949, 1951, 3095, 1555, - 2877, 2233, 2685, 1993, 2071, 2230, 1924, 2799, 1535, 2442, 1784, 2927, - 2977, 2317, 2950, 1952, 3096, 1556, 2878, 2234, 2686, 1994, 2072, 2231, - 1925, 2800, 1536, 2443, 1785, 2928, 2881, 2318, 2951, 1953, 3097, 1557, - 2879, 2235, 2687, 1995, 2073, 2232, 1926, 2801, 1537, 2444, 1786, 2929, - 2882, 2319, 2952, 1954, 3098, 1558, 2880, 2236, 2688, 1996, 2074, 2233, - 1927, 2802, 1538, 2445, 1787, 2930, 2883, 2320, 2953, 1955, 3099, 1559, - 2521, 2237, 2689, 1997, 2075, 2234, 1928, 2803, 1539, 2446, 1788, 2931, - 2884, 2321, 2954, 1956, 3100, 1560, 2522, 2238, 2690, 1998, 2076, 2235, - 1929, 2804, 1540, 2447, 1789, 2932, 2885, 2322, 2955, 1957, 3101, 1561, - 2523, 2239, 2691, 1999, 2077, 2236, 1930, 2805, 1541, 2448, 1790, 2933, - 2886, 2323, 2956, 1958, 3102, 1562, 2524, 2240, 2692, 2000, 2078, 2237, - 1931, 2806, 1542, 2449, 1791, 2934, 2887, 2324, 2957, 1959, 3103, 1563, - 2525, 2241, 2693, 2001, 2079, 2238, 1932, 2807, 1543, 2450, 1792, 2935, - 2888, 2325, 2958, 1960, 3104, 1564, 2526, 2242, 2694, 2002, 2080, 2239, - 1933, 2808, 1544, 2451, 1793, 2936, 2889, 2326, 2959, 1961, 3105, 1565, - 2527, 2243, 2695, 2003, 2081, 2240, 1934, 2809, 1545, 2452, 1794, 2937, - 2890, 2327, 2960, 1962, 3106, 1566, 2528, 2161, 2696, 2004, 2082, 2241, - 1935, 2810, 1546, 2453, 1795, 2938, 2891, 2328, 2961, 1963, 3107, 1567, - 2529, 2162, 2697, 2005, 2083, 2242, 1936, 2811, 1547, 2454, 1796, 2939, - 2892, 2329, 2962, 1964, 3108, 1568, 2530, 2163, 2698, 2006, 2084, 2243, - 1937, 2812, 1548, 2455, 1797, 2940, 2893, 2330, 2963, 1965, 3109, 1569, - 2531, 2164, 2699, 2007, 2085, 2244, 1938, 2813, 1549, 2456, 1798, 2941, - 2894, 2331, 2964, 1966, 3110, 1570, 2532, 2165, 2700, 2008, 2086, 2245, - 1939, 2814, 1550, 2457, 1799, 2942, 2895, 2332, 2965, 1967, 3111, 1571, - 2533, 2166, 2701, 2009, 2087, 2246, 1940, 2815, 1551, 2458, 1800, 2943, - 2896, 2333, 2966, 1968, 3112, 1572, 2534, 2167, 2702, 2010, 2088, 2247, - 1941, 2816, 1552, 2459, 1673, 2944, 2897, 2334, 2967, 1969, 3113, 1573, - 2535, 2168, 2703, 2011, 2089, 2248, 1942, 2817, 1553, 2460, 1674, 2945, - 2898, 2335, 2968, 1970, 3114, 1574, 2536, 2169, 2704, 2012, 2090, 2249, - 1943, 2818, 1554, 2461, 1675, 2946, 2899, 2336, 2969, 1971, 3115, 1575, - 2537, 2170, 2705, 2013, 2091, 2250, 1944, 2819, 1555, 2462, 1676, 2947, - 2900, 2337, 2970, 1972, 3116, 1576, 2538, 2171, 2706, 2014, 2092, 2251, - 1945, 2820, 1556, 2463, 1677, 2948, 2901, 2338, 2971, 1973, 3117, 1577, - 2539, 2172, 2707, 2015, 2093, 2252, 1946, 2821, 1557, 2464, 1678, 2949, - 2902, 2339, 2972, 1974, 3118, 1578, 2540, 2173, 2708, 2016, 2094, 2253, - 1947, 2822, 1558, 2465, 1679, 2950, 2903, 2340, 2973, 1975, 3119, 1579, - 2541, 2174, 2709, 2017, 2095, 2254, 1948, 2823, 1559, 2466, 1680, 2951, - 2904, 2341, 2974, 1976, 3120, 1580, 2542, 2175, 2710, 2018, 2096, 2255, - 1949, 2824, 1560, 2467, 1681, 2952, 2905, 2342, 2975, 1977, 3121, 1581, - 2543, 2176, 2711, 2019, 2097, 2256, 1950, 2825, 1561, 2468, 1682, 2953, - 2906, 2343, 2976, 1978, 3122, 1582, 2544, 2177, 2712, 2020, 2098, 2257, - 1951, 2826, 1562, 2469, 1683, 2954, 2907, 2344, 2977, 1979, 3123, 1583, - 2545, 2178, 2713, 2021, 2099, 2258, 1952, 2827, 1563, 2470, 1684, 2955, - 2908, 2345, 2978, 1980, 3124, 1584, 2546, 2179, 2714, 2022, 2100, 2259, - 1953, 2828, 1564, 2471, 1685, 2956, 2909, 2346, 2979, 1981, 3125, 1585, - 2547, 2180, 2715, 2023, 2101, 2260, 1954, 2829, 1565, 2472, 1686, 2957, - 2910, 2347, 2980, 1982, 3126, 1586, 2548, 2181, 2716, 2024, 2102, 2261, - 1955, 2830, 1566, 2473, 1687, 2958, 2911, 2348, 2981, 1983, 3127, 1587, - 2549, 2182, 2717, 2025, 2103, 2262, 1956, 2831, 1567, 2474, 1688, 2959, - 2912, 2349, 2982, 1984, 3128, 1588, 2550, 2183, 2718, 2026, 2104, 2263, - 1957, 2832, 1568, 2475, 1689, 2960, 2913, 2350, 2983, 1985, 3129, 1589, - 2551, 2184, 2719, 2027, 2105, 2264, 1958, 2833, 1569, 2476, 1690, 2961, - 2914, 2351, 2984, 1986, 3130, 1590, 2552, 2185, 2720, 2028, 2106, 2265, - 1959, 2834, 1570, 2477, 1691, 2962, 2915, 2352, 2985, 1987, 3131, 1591, - 2553, 2186, 2721, 2029, 2107, 2266, 1960, 2835, 1571, 2478, 1692, 2963, - 2916, 2353, 2986, 1988, 3132, 1592, 2554, 2187, 2722, 2030, 2108, 2267, - 1961, 2836, 1572, 2479, 1693, 2964, 2917, 2354, 2987, 1989, 3133, 1593, - 2555, 2188, 2723, 2031, 2109, 2268, 1962, 2837, 1573, 2480, 1694, 2965, - 2918, 2355, 2988, 1990, 3134, 1594, 2556, 2189, 2724, 2032, 2110, 2269, - 1963, 2838, 1574, 2481, 1695, 2966, 2919, 2356, 2989, 1991, 2939, 1595, - 2557, 2190, 2725, 2033, 2111, 2270, 1964, 2839, 1575, 2482, 1696, 2967, - 2920, 2357, 2990, 1992, 2940, 1596, 2558, 2191, 2726, 2034, 2112, 2271, - 1965, 2840, 1576, 2483, 1697, 2968, 2921, 2358, 2991, 1993, 2941, 1597, - 2559, 2192, 2727, 2035, 2113, 2272, 1966, 2841, 1577, 2484, 1698, 2969, - 2922, 2359, 2992, 1994, 2942, 1598, 2560, 2193, 2728, 2036, 2114, 2273, - 1967, 2842, 1578, 2485, 1699, 2970, 2923, 2360, 2993, 1995, 2943, 1599, - 2561, 2194, 2729, 2037, 2115, 2274, 1968, 2843, 1579, 2486, 1700, 2971, - 2924, 2361, 2994, 1996, 2944, 1600, 2562, 2195, 2730, 2038, 2116, 2275, - 1969, 2844, 1580, 2487, 1701, 2972, 2925, 2362, 2995, 1997, 2945, 1601, - 2563, 2196, 2731, 2039, 2117, 2276, 1970, 2845, 1581, 2488, 1702, 2881, - 2926, 2363, 2996, 1998, 2946, 1602, 2564, 2197, 2732, 2040, 2118, 2277, - 1971, 2846, 1582, 2489, 1703, 2882, 2927, 2364, 2997, 1999, 2947, 1603, - 2565, 2198, 2733, 2041, 2119, 2278, 1972, 2847, 1583, 2490, 1704, 2883, - 2928, 2365, 2998, 2000, 2948, 1604, 2566, 2199, 2734, 2042, 2120, 2279, - 1973, 2848, 1584, 2491, 1705, 2884, 2929, 2366, 2999, 2001, 2949, 1605, - 2567, 2200, 2735, 2043, 2121, 2280, 1974, 2849, 1585, 2492, 1706, 2885, - 2930, 2367, 3000, 2002, 2950, 1606, 2568, 2201, 2736, 2044, 2122, 2281, - 1975, 2850, 1586, 2493, 1707, 2886, 2931, 2368, 3001, 2003, 2951, 1607, - 2569, 2202, 2737, 2045, 2123, 2282, 1976, 2851, 1587, 2494, 1708, 2887, - 2932, 2369, 3002, 2004, 2952, 1608, 2570, 2203, 2738, 2046, 2124, 2283, - 1977, 2852, 1588, 2495, 1709, 2888, 2933, 2370, 3003, 1801, 2953, 1609, - 2571, 2204, 2739, 2047, 2125, 2284, 1978, 2853, 1589, 2496, 1710, 2889, - 2934, 2371, 3004, 1802, 2954, 1610, 2572, 2205, 2740, 2048, 2126, 2285, - 1979, 2854, 1590, 2497, 1711, 2890, 2935, 2372, 3005, 1803, 2955, 1611, - 2573, 2206, 2741, 2049, 2127, 2286, 1980, 2855, 1591, 2498, 1712, 2891, - 2936, 2373, 3006, 1804, 2956, 1612, 2574, 2207, 2742, 2050, 2128, 2287, - 1981, 2856, 1592, 2499, 1713, 2892, 2937, 2374, 3007, 1805, 2957, 1613, - 2575, 2208, 2743, 2051, 2129, 2288, 1982, 2857, 1593, 2500, 1714, 2893, - 2938, 2375, 3008, 1806, 2958, 1614, 2576, 2209, 2744, 2052, 2130, 2289, - 1983, 2858, 1594, 2501, 1715, 2894, 2939, 2376, 3009, 1807, 2959, 1615, - 2577, 2210, 2745, 2053, 2131, 2290, 1984, 2859, 1595, 2502, 1716, 2895, - 2940, 2377, 3010, 1808, 2960, 1616, 2578, 2211, 2746, 2054, 2132, 2291, - 1985, 2860, 1596, 2503, 1717, 2896, 2941, 2378, 3011, 1809, 2961, 1617, - 2579, 2212, 2747, 2055, 2133, 2292, 1986, 2861, 1597, 2504, 1718, 2897, - 2942, 2379, 3012, 1810, 2962, 1618, 2580, 2213, 2748, 2056, 2134, 2293, - 1987, 2862, 1598, 2505, 1719, 2898, 2943, 2380, 3013, 1811, 2963, 1619, - 2581, 2214, 2749, 2057, 2135, 2294, 1988, 2863, 1599, 2506, 1720, 2899, - 2944, 2381, 3014, 1812, 2964, 1620, 2582, 2215, 2750, 2058, 2136, 2295, - 1989, 2864, 1600, 2507, 1721, 2900, 2945, 2382, 3015, 1813, 2965, 1621, - 2583, 2216, 2751, 2059, 2137, 2296, 1990, 2865, 1601, 2508, 1722, 2901, - 2946, 2383, 3016, 1814, 2966, 1622, 2584, 2217, 2752, 2060, 2138, 2297, - 1991, 2866, 1602, 2509, 1723, 2902, 2947, 2384, 3017, 1815, 2967, 1623, - 2585, 2218, 2753, 2061, 2139, 2298, 1992, 2867, 1603, 2510, 1724, 2903, - 2948, 2385, 3018, 1816, 2968, 1624, 2586, 2219, 2754, 2062, 2140, 2299, - 1993, 2868, 1604, 2511, 1725, 2904, 2949, 2386, 3019, 1817, 2969, 1625, - 2587, 2220, 2755, 2063, 2141, 2300, 1994, 2869, 1605, 2512, 1726, 2905, - 2950, 2387, 3020, 1818, 2970, 1626, 2588, 2221, 2756, 2064, 2142, 2301, - 1995, 2870, 1606, 2513, 1727, 2906, 2951, 2388, 3021, 1819, 2971, 1627, - 2589, 2222, 2757, 2065, 2143, 2302, 1996, 2871, 1607, 2514, 1728, 2907, - 2952, 2389, 3022, 1820, 2972, 1628, 2590, 2223, 2758, 2066, 2144, 2303, - 1997, 2872, 1608, 2515, 1729, 2908, 2953, 2390, 3023, 1821, 2973, 1629, - 2591, 2224, 2759, 2067, 2145, 2304, 1998, 2873, 1609, 2516, 1730, 2909, - 2954, 2391, 3024, 1822, 2974, 1630, 2592, 2225, 2760, 2068, 2146, 2305, - 1999, 2874, 1610, 2517, 1731, 2910, 2955, 2392, 3025, 1823, 2975, 1631, - 2593, 2226, 2761, 2069, 2147, 2306, 2000, 2875, 1611, 2518, 1732, 2911, - 2956, 2393, 3026, 1824, 2976, 1632, 2594, 2227, 2762, 2070, 2148, 2307, - 2001, 2876, 1612, 2519, 1733, 2912, 2957, 2394, 3027, 1825, 2977, 1633, - 2595, 2228, 2763, 2071, 2149, 2308, 2002, 2877, 1613, 2520, 1734, 2913, - 2958, 2395, 3028, 1826, 2978, 1634, 2596, 2229, 2764, 2072, 2150, 2309, - 2003, 2878, 1614, 2288, 1735, 2914, 2959, 2396, 3029, 1827, 2979, 1635, - 2597, 2230, 2765, 2073, 2151, 2310, 2004, 2879, 1615, 2289, 1736, 2915, - 2960, 2397, 3030, 1828, 2980, 1636, 2598, 2231, 2766, 2074, 2152, 2311, - 2005, 2880, 1616, 2290, 1737, 2916, 2961, 2398, 3031, 1829, 2981, 1637, - 2599, 2232, 2767, 2075, 2153, 2312, 2006, 2626, 1617, 2291, 1738, 2917, - 2962, 2399, 3032, 1830, 2982, 1638, 2600, 2233, 2768, 2076, 2154, 2313, - 2007, 2627, 1618, 2292, 1739, 2918, 2963, 2400, 3033, 1831, 2983, 1639, - 2601, 2234, 2769, 2077, 2155, 2314, 2008, 2628, 1619, 2293, 1740, 2919, - 2964, 2401, 3034, 1832, 2984, 1640, 2602, 2235, 2770, 2078, 2156, 2315, - 2009, 2629, 1620, 2294, 1741, 2920, 2965, 2402, 3035, 1833, 2985, 1641, - 2603, 2236, 2771, 2079, 2157, 2316, 2010, 2630, 1621, 2295, 1742, 2921, - 2966, 2403, 3036, 1834, 2986, 1642, 2604, 2237, 2772, 2080, 2158, 2317, - 2011, 2631, 1622, 2296, 1743, 2922, 2967, 2404, 3037, 1835, 2987, 1643, - 2605, 2238, 2773, 2081, 2159, 2318, 2012, 2632, 1623, 2297, 1744, 2923, - 2968, 2405, 3038, 1836, 2988, 1644, 2606, 2239, 2774, 2082, 2160, 2319, - 2013, 2633, 1624, 2298, 1745, 2924, 2969, 2406, 3039, 1837, 2989, 1645, - 2607, 2240, 2775, 2083, 1801, 2320, 2014, 2634, 1625, 2299, 1746, 2925, - 2970, 2407, 3040, 1838, 2990, 1646, 2608, 2241, 2776, 2084, 1802, 2321, - 2015, 2635, 1626, 2300, 1747, 2926, 2971, 2408, 3041, 1839, 2991, 1647, - 2609, 2242, 2777, 2085, 1803, 2322, 2016, 2636, 1627, 2301, 1748, 2927, - 2972, 2409, 3042, 1840, 2992, 1648, 2610, 2243, 2778, 2086, 1804, 2323, - 2017, 2637, 1628, 2302, 1749, 2928, 2973, 2410, 3043, 1841, 2993, 1649, - 2611, 2244, 2779, 2087, 1805, 2324, 2018, 2638, 1629, 2303, 1750, 2929, - 2974, 2411, 3044, 1842, 2994, 1650, 2612, 2245, 2780, 2088, 1806, 2325, - 2019, 2639, 1630, 2304, 1751, 2930, 2975, 2412, 3045, 1843, 2995, 1651, - 2613, 2246, 2781, 2089, 1807, 2326, 2020, 2640, 1631, 2305, 1752, 2931, - 2976, 2413, 3046, 1844, 2996, 1652, 2614, 2247, 2782, 2090, 1808, 2327, - 2021, 2641, 1632, 2306, 1753, 2932, 2977, 2414, 3047, 1845, 2997, 1653, - 2615, 2248, 2783, 2091, 1809, 2328, 2022, 2642, 1633, 2307, 1754, 2933, - 2978, 2415, 3048, 1846, 2998, 1654, 2616, 2249, 2784, 2092, 1810, 2329, - 2023, 2643, 1634, 2308, 1755, 2934, 2979, 2416, 3049, 1847, 2999, 1655, - 2617, 2250, 2785, 2093, 1811, 2330, 2024, 2644, 1635, 2309, 1756, 2935, - 2980, 2417, 3050, 1848, 3000, 1656, 2618, 2251, 2786, 2094, 1812, 2331, - 2025, 2645, 1636, 2310, 1757, 2936, 2981, 2418, 3051, 1849, 3001, 1657, - 2619, 2252, 2787, 2095, 1813, 2332, 2026, 2646, 1637, 2311, 1758, 2937, - 2982, 2419, 3052, 1850, 3002, 1658, 2620, 2253, 2788, 2096, 1814, 2333, - 2027, 2647, 1638, 2312, 1759, 2938, 2983, 2420, 3053, 1851, 3003, 1659, - 2621, 2254, 2789, 2097, 1815, 2334, 2028, 2648, 1639, 2313, 1760, 2939, - 2984, 2421, 3054, 1852, 3004, 1660, 2622, 2255, 2790, 2098, 1816, 2335, - 2029, 2649, 1640, 2314, 1761, 2940, 2985, 2422, 3055, 1853, 3005, 1661, - 2623, 2256, 2791, 2099, 1817, 2336, 2030, 2650, 1641, 2315, 1762, 2941, - 2986, 2423, 3056, 1854, 3006, 1662, 2624, 2257, 2792, 2100, 1818, 2337, - 2031, 2651, 1642, 2316, 1763, 2942, 2987, 2424, 3057, 1855, 3007, 1663, - 2625, 2258, 2793, 2101, 1819, 2338, 2032, 2652, 1643, 2317, 1764, 2943, - 2988, 2425, 3058, 1856, 3008, 1664, 2626, 2259, 2794, 2102, 1820, 2339, - 2033, 2653, 1644, 2318, 1765, 2944, 2989, 2426, 3059, 1857, 3009, 1665, - 2627, 2260, 2795, 2103, 1821, 2340, 2034, 2654, 1645, 2319, 1766, 2945, - 2990, 2427, 3060, 1858, 3010, 1666, 2628, 2261, 2796, 2104, 1822, 2341, - 2035, 2655, 1646, 2320, 1767, 2946, 2991, 2428, 3061, 1859, 3011, 1667, - 2629, 2262, 2797, 2105, 1823, 2342, 2036, 2656, 1647, 2321, 1768, 2947, - 2992, 2429, 3062, 1860, 3012, 1668, 2630, 2263, 2798, 2106, 1824, 2343, - 2037, 2657, 1648, 2322, 1769, 2948, 2993, 2430, 3063, 1861, 3013, 1669, - 2631, 2264, 2799, 2107, 1825, 2344, 2038, 2658, 1649, 2323, 1770, 2949, - 2994, 2431, 3064, 1862, 3014, 1670, 2632, 2265, 2800, 2108, 1826, 2345, - 2039, 2659, 1650, 2324, 1771, 2950, 2995, 2432, 3065, 1863, 3015, 1671, - 2633, 2266, 2801, 2109, 1827, 2346, 2040, 2660, 1651, 2325, 1772, 2951, - 2996, 2433, 3066, 1864, 3016, 1672, 2634, 2267, 2802, 2110, 1828, 2347, - 2041, 2661, 1652, 2326, 1773, 2952, 2997, 2434, 3067, 1865, 3017, 1673, - 2635, 2268, 2803, 2111, 1829, 2348, 2042, 2662, 1653, 2327, 1774, 2953, - 2998, 2435, 3068, 1866, 3018, 1674, 2636, 2269, 2804, 2112, 1830, 2349, - 2043, 2663, 1654, 2328, 1775, 2954, 2999, 2436, 3069, 1867, 3019, 1675, - 2637, 2270, 2805, 2113, 1831, 2350, 2044, 2664, 1655, 2329, 1776, 2955, - 3000, 2437, 3070, 1868, 3020, 1676, 2638, 2271, 2806, 2114, 1832, 2351, - 2045, 2665, 1656, 2330, 1777, 2956, 3001, 2438, 3071, 1869, 3021, 1677, - 2639, 2272, 2807, 2115, 1833, 2352, 2046, 2666, 1657, 2331, 1778, 2957, - 3002, 2439, 3072, 1870, 3022, 1678, 2640, 2273, 2808, 2116, 1834, 2353, - 2047, 2667, 1658, 2332, 1779, 2958, 3003, 2440, 3073, 1871, 3023, 1679, - 2641, 2274, 2809, 2117, 1835, 2354, 2048, 2668, 1659, 2333, 1780, 2959, - 3004, 2441, 3074, 1872, 3024, 1680, 2642, 2275, 2810, 2118, 1836, 2355, - 2049, 2669, 1660, 2334, 1781, 2960, 3005, 2442, 3075, 1873, 3025, 1681, - 2643, 2276, 2811, 2119, 1837, 2356, 2050, 2670, 1661, 2335, 1782, 2961, - 3006, 2443, 3076, 1874, 3026, 1682, 2644, 2277, 2812, 2120, 1838, 2357, - 2051, 2671, 1662, 2336, 1783, 2962, 3007, 2444, 3077, 1875, 3027, 1683, - 2645, 2278, 2813, 2121, 1839, 2358, 2052, 2672, 1663, 2337, 1784, 2963, - 3008, 2445, 3078, 1876, 3028, 1684, 2646, 2279, 2814, 2122, 1840, 2359, - 2053, 2673, 1664, 2338, 1785, 2964, 3009, 2446, 3079, 1877, 3029, 1685, - 2647, 2280, 2815, 2123, 1841, 2360, 2054, 2674, 1665, 2339, 1786, 2965, - 3010, 2447, 3080, 1878, 3030, 1686, 2648, 2281, 2816, 2124, 1842, 2361, - 2055, 2675, 1666, 2340, 1787, 2966, 3011, 2448, 3081, 1879, 3031, 1687, - 2649, 2282, 2817, 2125, 1843, 2362, 2056, 2676, 1667, 2341, 1788, 2967, - 3012, 2449, 3082, 1880, 3032, 1688, 2650, 2283, 2818, 2126, 1844, 2363, - 2057, 2677, 1668, 2342, 1789, 2968, 3013, 2450, 3083, 1881, 3033, 1689, - 2651, 2284, 2819, 2127, 1845, 2364, 2058, 2678, 1669, 2343, 1790, 2969, - 3014, 2451, 3084, 1882, 3034, 1690, 2652, 2285, 2820, 2128, 1846, 2365, - 2059, 2679, 1670, 2344, 1791, 2970, 3015, 2452, 3085, 1883, 3035, 1691, - 2653, 2286, 2821, 2129, 1847, 2366, 2060, 2680, 1671, 2345, 1792, 2971, - 3016, 2453, 3086, 1884, 3036, 1692, 2654, 2287, 2822, 2130, 1848, 2367, - 2061, 2681, 1672, 2346, 1793, 2972, 3017, 2454, 3087, 1885, 3037, 1693, - 2655, 2288, 2823, 2131, 1849, 2368, 2062, 2682, 1673, 2347, 1794, 2973, - 3018, 2455, 3088, 1886, 3038, 1694, 2656, 2289, 2824, 2132, 1850, 2369, - 2063, 2683, 1674, 2348, 1795, 2974, 3019, 2456, 3089, 1887, 3039, 1695, - 2657, 2290, 2825, 2133, 1851, 2370, 2064, 2684, 1675, 2349, 1796, 2975, - 3020, 2457, 3090, 1888, 3040, 1696, 2658, 2291, 2826, 2134, 1852, 2371, - 2065, 2685, 1676, 2350, 1797, 2976, 3021, 2458, 3091, 1889, 3041, 1697, - 2659, 2292, 2827, 2135, 1853, 2372, 2066, 2686, 1677, 2351, 1798, 2977, - 3022, 2459, 3092, 1890, 3042, 1698, 2660, 2293, 2828, 2136, 1854, 2373, - 2067, 2687, 1678, 2352, 1799, 2978, 3023, 2460, 3093, 1891, 3043, 1699, - 2661, 2294, 2829, 2137, 1855, 2374, 2068, 2688, 1679, 2353, 1800, 2979, - 3024, 2461, 3094, 1892, 3044, 1700, 2662, 2295, 2830, 2138, 1856, 2375, - 2069, 2689, 1680, 2354, 1663, 2980, 3025, 2462, 3095, 1893, 2987, 1701, - 2663, 2296, 2831, 2139, 1857, 2376, 2070, 2690, 1681, 2355, 1664, 2981, - 3026, 2463, 3096, 1894, 2988, 1702, 2664, 2297, 2832, 2140, 1858, 2377, - 2071, 2691, 1682, 2356, 1665, 2982, 3027, 2464, 3097, 1895, 2989, 1703, - 2665, 2298, 2833, 2141, 1859, 2378, 2072, 2692, 1683, 2357, 1666, 2983, - 3028, 2465, 3098, 1896, 2990, 1704, 2666, 2299, 2834, 2142, 1860, 2379, - 2073, 2693, 1684, 2358, 1667, 2984, 3029, 2466, 3099, 1897, 2991, 1705, - 2667, 2300, 2835, 2143, 1861, 2380, 2074, 2694, 1685, 2359, 1668, 2985, - 3030, 2467, 3100, 1898, 2992, 1706, 2668, 2301, 2836, 2144, 1862, 2381, - 2075, 2695, 1686, 2360, 1669, 2986, 3031, 2468, 3101, 1899, 2993, 1707, - 2669, 2302, 2837, 2145, 1863, 2382, 2076, 2696, 1687, 2361, 1670, 2987, - 3032, 2469, 3102, 1900, 2994, 1708, 2670, 2303, 2838, 2146, 1864, 2383, - 2077, 2697, 1688, 2362, 1671, 2988, 3033, 2470, 3103, 1901, 2995, 1709, - 2671, 2304, 2521, 2147, 1865, 2384, 2078, 2698, 1689, 2363, 1672, 2989, - 3034, 2471, 3104, 1902, 2996, 1710, 2672, 2305, 2522, 2148, 1866, 2385, - 2079, 2699, 1690, 2364, 1673, 2990, 3035, 2472, 3105, 1903, 2997, 1711, - 2673, 2306, 2523, 2149, 1867, 2386, 2080, 2700, 1691, 2365, 1674, 2991, - 3036, 2473, 3106, 1904, 2998, 1712, 2674, 2307, 2524, 2150, 1868, 2387, - 2081, 2701, 1692, 2366, 1675, 2992, 3037, 2474, 3107, 1905, 2999, 1713, - 2675, 2308, 2525, 2151, 1869, 2388, 2082, 2702, 1693, 2367, 1676, 2993, - 3038, 2475, 3108, 1906, 3000, 1714, 2676, 2309, 2526, 2152, 1870, 2389, - 2083, 2703, 1694, 2368, 1677, 2994, 3039, 2476, 3109, 1907, 3001, 1715, - 2677, 2310, 2527, 2153, 1871, 2390, 2084, 2704, 1695, 2369, 1678, 2995, - 3040, 2477, 3110, 1908, 3002, 1716, 2678, 2311, 2528, 2154, 1872, 2391, - 2085, 2705, 1696, 2370, 1679, 2996, 3041, 2478, 3111, 1909, 3003, 1717, - 2679, 2312, 2529, 2155, 1873, 2392, 2086, 2706, 1697, 2371, 1680, 2997, - 3042, 2479, 3112, 1910, 3004, 1718, 2680, 2313, 2530, 2156, 1874, 2393, - 2087, 2707, 1698, 2372, 1681, 2998, 3043, 2480, 3113, 1911, 3005, 1719, - 2681, 2314, 2531, 2157, 1875, 2394, 2088, 2708, 1699, 2373, 1682, 2999, - 3044, 2481, 3114, 1912, 3006, 1720, 2682, 2315, 2532, 2158, 1876, 2395, - 2089, 2709, 1700, 2374, 1683, 3000, 3045, 2482, 3115, 1913, 3007, 1721, - 2683, 2316, 2533, 2159, 1877, 2396, 2090, 2710, 1701, 2375, 1684, 3001, - 3046, 2483, 3116, 1914, 3008, 1722, 2684, 2317, 2534, 2160, 1878, 2397, - 2091, 2711, 1702, 2376, 1685, 3002, 3047, 2484, 3117, 1915, 3009, 1723, - 2685, 2318, 2535, 2146, 1879, 2398, 2092, 2712, 1703, 2377, 1686, 3003, - 3048, 2485, 3118, 1916, 3010, 1724, 2686, 2319, 2536, 2147, 1880, 2399, - 2093, 2713, 1704, 2378, 1687, 3004, 3049, 2486, 3119, 1917, 3011, 1725, - 2687, 2320, 2537, 2148, 1881, 2400, 2094, 2714, 1705, 2379, 1688, 3005, - 3050, 2487, 3120, 1918, 3012, 1726, 2688, 2321, 2538, 2149, 1882, 2401, - 2095, 2715, 1706, 2380, 1689, 3006, 3051, 2488, 3121, 1919, 3013, 1727, - 2689, 2322, 2539, 2150, 1883, 2402, 2096, 2716, 1707, 2381, 1690, 3007, - 3052, 2489, 3122, 1920, 3014, 1728, 2690, 2323, 2540, 2151, 1884, 2403, - 2097, 2717, 1708, 2382, 1691, 3008, 3053, 2490, 3123, 1921, 3015, 1729, - 2691, 2324, 2541, 2152, 1885, 2404, 2098, 2718, 1709, 2383, 1692, 3009, - 3054, 2491, 3124, 1922, 3016, 1730, 2692, 2325, 2542, 2153, 1886, 2405, - 2099, 2719, 1710, 2384, 1693, 3010, 3055, 2492, 3125, 1923, 3017, 1731, - 2693, 2326, 2543, 2154, 1887, 2406, 2100, 2720, 1711, 2385, 1694, 3011, - 3056, 2493, 3126, 1924, 3018, 1732, 2694, 2327, 2544, 2155, 1888, 2407, - 2101, 2721, 1712, 2386, 1695, 3012, 3057, 2494, 3127, 1925, 3019, 1733, - 2695, 2328, 2545, 2156, 1889, 2408, 2102, 2722, 1713, 2387, 1696, 3013, - 3058, 2495, 3128, 1926, 3020, 1734, 2696, 2329, 2546, 2157, 1890, 2409, - 2103, 2723, 1714, 2388, 1697, 3014, 3059, 2496, 3129, 1927, 3021, 1735, - 2697, 2330, 2547, 2158, 1891, 2410, 2104, 2724, 1715, 2389, 1698, 3015, - 3060, 2497, 3130, 1928, 3022, 1736, 2698, 2331, 2548, 2159, 1892, 2411, - 2105, 2725, 1716, 2390, 1699, 3016, 3061, 2498, 3131, 1929, 3023, 1737, - 2699, 2332, 2549, 2160, 1893, 2412, 2106, 2726, 1717, 2391, 1700, 3017, - 3062, 2499, 3132, 1930, 3024, 1738, 2700, 2333, 2550, 1816, 1894, 2413, - 2107, 2727, 1718, 2392, 1701, 3018, 3063, 2500, 3133, 1931, 3025, 1739, - 2701, 2334, 2551, 1817, 1895, 2414, 2108, 2728, 1719, 2393, 1702, 3019, - 3064, 2501, 3134, 1932, 3026, 1740, 2702, 2335, 2552, 1818, 1896, 2415, - 2109, 2729, 1720, 2394, 1703, 3020, 3065, 2502, 3135, 1933, 3027, 1741, - 2703, 2336, 2553, 1819, 1897, 2416, 2110, 2730, 1721, 2395, 1704, 3021, - 3066, 2503, 3136, 1934, 3028, 1742, 2704, 2337, 2554, 1820, 1898, 2417, - 2111, 2731, 1722, 2396, 1705, 3022, 3067, 2504, 3137, 1935, 3029, 1743, - 2705, 2338, 2555, 1821, 1899, 2418, 2112, 2732, 1723, 2397, 1706, 3023, - 3068, 2505, 3138, 1936, 3030, 1744, 2706, 2339, 2556, 1822, 1900, 2419, - 2113, 2733, 1724, 2398, 1707, 3024, 3069, 2506, 3139, 1937, 3031, 1745, - 2707, 2340, 2557, 1823, 1901, 2420, 2114, 2734, 1725, 2399, 1708, 3025, - 3070, 2507, 3140, 1938, 3032, 1746, 2708, 2341, 2558, 1824, 1902, 2421, - 2115, 2735, 1726, 2400, 1709, 3026, 3071, 2508, 3141, 1939, 3033, 1747, - 2709, 2342, 2559, 1825, 1903, 2422, 2116, 2736, 1727, 2401, 1710, 3027, - 3072, 2509, 3142, 1940, 3034, 1748, 2710, 2343, 2560, 1826, 1904, 2423, - 2117, 2737, 1728, 2402, 1711, 3028, 3073, 2510, 3143, 1941, 3035, 1749, - 2711, 2344, 2561, 1827, 1905, 2424, 2118, 2738, 1729, 2403, 1712, 3029, - 3074, 2511, 3144, 1942, 3036, 1750, 2712, 2345, 2562, 1828, 1906, 2425, - 2119, 2739, 1730, 2404, 1713, 3030, 3075, 2512, 3145, 1943, 3037, 1751, - 2713, 2346, 2521, 1829, 1907, 2426, 2120, 2740, 1731, 2405, 1714, 3031, - 3076, 2513, 2881, 1944, 3038, 1752, 2714, 2347, 2522, 1830, 1908, 2427, - 2121, 2741, 1732, 2406, 1715, 3032, 3077, 2514, 2882, 1945, 3039, 1753, - 2715, 2348, 2523, 1831, 1909, 2428, 2122, 2742, 1733, 2407, 1716, 3033, - 3078, 2515, 2883, 1946, 3040, 1754, 2716, 2349, 2524, 1832, 1910, 2429, - 2123, 2743, 1734, 2408, 1717, 3034, 3079, 2516, 2884, 1947, 3041, 1755, - 2717, 2350, 2525, 1833, 1911, 2430, 2124, 2744, 1735, 2409, 1718, 3035, - 3080, 2517, 2885, 1948, 3042, 1756, 2718, 2351, 2526, 1834, 1912, 2431, - 2125, 2745, 1736, 2410, 1719, 3036, 3081, 2518, 2886, 1949, 3043, 1757, - 2719, 2352, 2527, 1835, 1913, 2432, 2126, 2746, 1737, 2411, 1720, 3037, - 3082, 2519, 2887, 1950, 3044, 1758, 2720, 2353, 2528, 1836, 1914, 2433, - 2127, 2747, 1738, 2412, 1721, 3038, 3083, 2520, 2888, 1951, 3045, 1759, - 2721, 2354, 2529, 1837, 1915, 2434, 2128, 2748, 1739, 2413, 1722, 3039, - 3084, 2161, 2889, 1952, 3046, 1760, 2722, 2355, 2530, 1838, 1916, 2435, - 2129, 2749, 1740, 2414, 1723, 3040, 3085, 2162, 2890, 1953, 3047, 1761, - 2723, 2356, 2531, 1839, 1917, 2436, 2130, 2750, 1741, 2415, 1724, 3041, - 3086, 2163, 2891, 1954, 3048, 1762, 2724, 2357, 2532, 1840, 1918, 2437, - 2131, 2751, 1742, 2416, 1725, 3042, 3087, 2164, 2892, 1955, 3049, 1763, - 2725, 2358, 2533, 1841, 1919, 2438, 2132, 2752, 1743, 2417, 1726, 3043, - 3088, 2165, 2893, 1956, 3050, 1764, 2726, 2359, 2534, 1842, 1920, 2439, - 2133, 2753, 1744, 2418, 1727, 3044, 3089, 2166, 2894, 1801, 3051, 1765, - 2727, 2360, 2535, 1843, 1921, 2440, 2134, 2754, 1745, 2419, 1728, 3045, - 3090, 2167, 2895, 1802, 3052, 1766, 2728, 2361, 2536, 1844, 1922, 2441, - 2135, 2755, 1746, 2420, 1729, 3046, 3091, 2168, 2896, 1803, 3053, 1767, - 2729, 2362, 2537, 1845, 1923, 2442, 2136, 2756, 1747, 2421, 1730, 3047, - 3092, 2169, 2897, 1804, 3054, 1768, 2730, 2363, 2538, 1846, 1924, 2443, - 2137, 2757, 1748, 2422, 1731, 3048, 3093, 2170, 2898, 1805, 3055, 1769, - 2731, 2364, 2539, 1847, 1925, 2444, 2138, 2758, 1749, 2423, 1732, 3049, - 3094, 2171, 2899, 1806, 3056, 1770, 2732, 2365, 2540, 1848, 1926, 2445, - 2139, 2759, 1750, 2424, 1733, 3050, 3095, 2172, 2900, 1807, 3057, 1771, - 2733, 2366, 2541, 1849, 1927, 2446, 2140, 2760, 1751, 2425, 1734, 3051, - 3096, 2173, 2901, 1808, 3058, 1772, 2734, 2367, 2542, 1850, 1928, 2447, - 2141, 2761, 1752, 2426, 1735, 3052, 3097, 2174, 2902, 1809, 3059, 1773, - 2735, 2368, 2543, 1851, 1929, 2448, 2142, 2762, 1753, 2427, 1736, 3053, - 3098, 2175, 2903, 1810, 3060, 1774, 2736, 2369, 2544, 1852, 1930, 2449, - 2143, 2763, 1754, 2428, 1737, 3054, 3099, 2176, 2904, 1811, 3061, 1775, - 2737, 2370, 2545, 1853, 1931, 2450, 2144, 2764, 1755, 2429, 1738, 3055, - 3100, 2177, 2905, 1812, 3062, 1776, 2738, 2371, 2546, 1854, 1932, 2451, - 2145, 2765, 1756, 2430, 1739, 3056, 3101, 2178, 2906, 1813, 3063, 1777, - 2739, 2372, 2547, 1855, 1933, 2452, 2146, 2766, 1757, 2431, 1740, 3057, - 3102, 2179, 2907, 1814, 3064, 1778, 2740, 2373, 2548, 1856, 1934, 2453, - 2147, 2767, 1758, 2432, 1741, 3058, 3103, 2180, 2908, 1815, 3065, 1779, - 2741, 2374, 2549, 1857, 1935, 2454, 2148, 2768, 1759, 2433, 1742, 3059, - 3104, 2181, 2909, 1816, 3066, 1780, 2742, 2375, 2550, 1858, 1936, 2455, - 2149, 2769, 1760, 2434, 1743, 3060, 3105, 2182, 2910, 1817, 3067, 1781, - 2743, 2376, 2551, 1859, 1937, 2456, 2150, 2770, 1761, 2435, 1744, 3061, - 3106, 2183, 2911, 1818, 3068, 1782, 2744, 2377, 2552, 1860, 1938, 2457, - 2151, 2771, 1762, 2436, 1745, 3062, 3107, 2184, 2912, 1819, 3069, 1783, - 2745, 2378, 2553, 1861, 1939, 2458, 2152, 2772, 1763, 2437, 1746, 3063, - 3108, 2185, 2913, 1820, 3070, 1784, 2746, 2379, 2554, 1862, 1940, 2459, - 2153, 2773, 1764, 2438, 1747, 3064, 3109, 2186, 2914, 1821, 3071, 1785, - 2747, 2380, 2555, 1863, 1941, 2460, 2154, 2774, 1765, 2439, 1748, 3065, - 3110, 2187, 2915, 1822, 3072, 1786, 2748, 2381, 2556, 1864, 1942, 2461, - 2155, 2775, 1766, 2440, 1749, 3066, 3111, 2188, 2916, 1823, 3073, 1787, - 2749, 2382, 2557, 1865, 1943, 2462, 2156, 2776, 1767, 2441, 1750, 3067, - 3112, 2189, 2917, 1824, 3074, 1788, 2750, 2383, 2558, 1866, 1944, 2463, - 2157, 2777, 1768, 2442, 1751, 3068, 3113, 2190, 2918, 1825, 3075, 1789, - 2751, 2384, 2559, 1867, 1945, 2464, 2158, 2778, 1769, 2443, 1752, 3069, - 3114, 2191, 2919, 1826, 3076, 1790, 2752, 2385, 2560, 1868, 1946, 2465, - 2159, 2779, 1770, 2444, 1753, 3070, 3115, 2192, 2920, 1827, 3077, 1791, - 2753, 2386, 2561, 1869, 1947, 2466, 2160, 2780, 1771, 2445, 1754, 3071, - 3116, 2193, 2921, 1828, 3078, 1792, 2754, 2387, 2562, 1870, 1948, 2467, - 1801, 2781, 1772, 2446, 1755, 3072, 3117, 2194, 2922, 1829, 3079, 1793, - 2755, 2388, 2563, 1871, 1949, 2468, 1802, 2782, 1773, 2447, 1756, 3073, - 3118, 2195, 2923, 1830, 3080, 1794, 2756, 2389, 2564, 1872, 1950, 2469, - 1803, 2783, 1774, 2448, 1757, 3074, 3119, 2196, 2924, 1831, 3081, 1795, - 2757, 2390, 2565, 1873, 1951, 2470, 1804, 2784, 1775, 2449, 1758, 3075, - 3120, 2197, 2925, 1832, 3082, 1796, 2758, 2391, 2566, 1874, 1952, 2471, - 1805, 2785, 1776, 2450, 1759, 3076, 3121, 2198, 2926, 1833, 3083, 1797, - 2759, 2392, 2567, 1875, 1953, 2472, 1806, 2786, 1777, 2451, 1760, 3077, - 3219, 3015, 3192, 1990, 3142, 2819, 3166, 2476, 2610, 2339, 2547, 2752, - 2779, 3024, 2646, 2581, 1910, 3170, 3220, 3016, 3193, 1991, 3143, 2820, - 3167, 2477, 2611, 2340, 2548, 2753, 2780, 3025, 2647, 2582, 1911, 3171, - 3221, 3017, 3194, 1992, 3144, 2821, 3168, 2478, 2612, 2341, 2549, 2754, - 2781, 3026, 2648, 2583, 1912, 3172, 3222, 3018, 3195, 1993, 3145, 2822, - 3169, 2479, 2613, 2342, 2550, 2755, 2782, 3027, 2649, 2584, 1913, 3173, - 3223, 3019, 3196, 1994, 3146, 2823, 3170, 2480, 2614, 2343, 2551, 2756, - 2783, 3028, 2650, 2585, 1914, 3174, 3224, 3020, 3197, 1995, 3147, 2824, - 3171, 2481, 2615, 2344, 2552, 2757, 2784, 3029, 2651, 2586, 1915, 3175, - 3225, 3021, 3198, 1996, 3148, 2825, 3172, 2482, 2616, 2345, 2553, 2758, - 2785, 3030, 2652, 2587, 1916, 3176, 3226, 3022, 3199, 1997, 3149, 2826, - 3173, 2483, 2617, 2346, 2554, 2759, 2786, 3031, 2653, 2588, 1917, 3177, - 3227, 3023, 3200, 1998, 3150, 2827, 3174, 2484, 2618, 2347, 2555, 2760, - 2787, 3032, 2654, 2589, 1918, 3178, 3228, 3024, 3201, 1999, 3151, 2828, - 3175, 2485, 2619, 2348, 2556, 2761, 2788, 3033, 2655, 2590, 1919, 3179, - 3229, 3025, 3202, 2000, 3152, 2829, 3176, 2486, 2620, 2349, 2557, 2762, - 2789, 3034, 2656, 2591, 1920, 3180, 3230, 3026, 3203, 2001, 3153, 2830, - 3177, 2487, 2621, 2350, 2558, 2763, 2790, 3035, 2657, 2592, 1921, 3181, - 3231, 3027, 3204, 2002, 3154, 2831, 3178, 2488, 2622, 2351, 2559, 2764, - 2791, 3036, 2658, 2593, 1922, 3182, 3232, 3028, 3205, 2003, 3155, 2832, - 3179, 2489, 2623, 2352, 2560, 2765, 2792, 3037, 2659, 2594, 1923, 3183, - 3233, 3029, 3206, 2004, 3156, 2833, 3180, 2490, 2624, 2353, 2561, 2766, - 2793, 3038, 2660, 2595, 1924, 3184, 3234, 3030, 3207, 2005, 3157, 2834, - 3181, 2491, 2625, 2354, 2562, 2767, 2794, 3039, 2661, 2596, 1925, 3185, - 3235, 3031, 3208, 2006, 3158, 2835, 3182, 2492, 2626, 2355, 2563, 2768, - 2795, 3040, 2662, 2597, 1926, 3186, 3236, 3032, 3209, 2007, 3159, 2836, - 3183, 2493, 2627, 2356, 2564, 2769, 2796, 3041, 2663, 2598, 1927, 3187, - 3237, 3033, 3210, 2008, 3160, 2837, 3184, 2494, 2628, 2357, 2565, 2770, - 2797, 3042, 2664, 2599, 1928, 3188, 3238, 3034, 3211, 2009, 3161, 2838, - 3185, 2495, 2629, 2358, 2566, 2771, 2798, 3043, 2665, 2600, 1929, 3189, - 3239, 3035, 3212, 2010, 3162, 2839, 3186, 2496, 2630, 2359, 2567, 2772, - 2799, 3044, 2666, 2601, 1930, 3190, 3240, 3036, 3213, 2011, 3163, 2840, - 3187, 2497, 2631, 2360, 2568, 2773, 2800, 3045, 2667, 2602, 1931, 3191, - 3144, 3037, 3214, 2012, 3164, 2841, 3188, 2498, 2632, 2361, 2569, 2774, - 2801, 3046, 2668, 2603, 1932, 3192, 3145, 3038, 3215, 2013, 3165, 2842, - 3189, 2499, 2633, 2362, 2570, 2775, 2802, 3047, 2669, 2604, 1933, 3193, - 3146, 3039, 3216, 2014, 3166, 2843, 3190, 2500, 2634, 2363, 2571, 2776, - 2803, 3048, 2670, 2605, 1934, 3194, 3147, 3040, 3217, 2015, 3167, 2844, - 3191, 2501, 2635, 2364, 2572, 2777, 2804, 3049, 2671, 2606, 1935, 3195, - 3148, 3041, 3218, 2016, 3168, 2845, 3192, 2502, 2636, 2365, 2573, 2778, - 2805, 3050, 2672, 2607, 1936, 3196, 3149, 3042, 3219, 2017, 3169, 2846, - 3193, 2503, 2637, 2366, 2574, 2779, 2806, 3051, 2673, 2608, 1937, 3197, - 3150, 3043, 3220, 2018, 3170, 2847, 3194, 2504, 2638, 2367, 2575, 2780, - 2807, 3052, 2674, 2609, 1938, 3198, 3151, 3044, 3221, 2019, 3171, 2848, - 3195, 2505, 2639, 2368, 2576, 2781, 2808, 3053, 2675, 2610, 1939, 3199, - 3152, 3045, 3222, 2020, 3172, 2849, 3196, 2506, 2640, 2369, 2577, 2782, - 2809, 3054, 2676, 2611, 1940, 3200, 3153, 3046, 3223, 2021, 3173, 2850, - 3197, 2507, 2641, 2370, 2578, 2783, 2810, 3055, 2677, 2612, 1941, 3201, - 3154, 3047, 3224, 2022, 3174, 2851, 3198, 2508, 2642, 2371, 2579, 2784, - 2811, 3056, 2678, 2613, 1942, 3202, 3155, 3048, 3225, 2023, 3175, 2852, - 3199, 2509, 2643, 2372, 2580, 2785, 2812, 3057, 2679, 2614, 1943, 3203, - 3156, 3049, 3226, 2024, 3176, 2853, 3200, 2510, 2644, 2373, 2581, 2786, - 2813, 3058, 2680, 2615, 1944, 3204, 3157, 3050, 3227, 2025, 3177, 2854, - 3201, 2511, 2645, 2374, 2582, 2787, 2814, 3059, 2681, 2616, 1945, 3205, - 3158, 3051, 3228, 2026, 3178, 2855, 3202, 2512, 2646, 2375, 2583, 2788, - 2815, 3060, 2682, 2617, 1946, 3206, 3159, 3052, 3229, 2027, 3179, 2856, - 3203, 2513, 2647, 2376, 2584, 2789, 2816, 3061, 2683, 2618, 1947, 3207, - 3160, 3053, 3230, 2028, 3180, 2857, 3204, 2514, 2648, 2377, 2585, 2790, - 2817, 3062, 2684, 2619, 1948, 3208, 3161, 3054, 3231, 2029, 3181, 2858, - 3205, 2515, 2649, 2378, 2586, 2791, 2818, 3063, 2685, 2620, 1949, 3209, - 3162, 3055, 3232, 2030, 3182, 2859, 3206, 2516, 2650, 2379, 2587, 2792, - 2819, 3064, 2686, 2621, 1950, 3210, 3163, 3056, 3233, 2031, 3183, 2860, - 3207, 2517, 2651, 2380, 2588, 2793, 2820, 3065, 2687, 2622, 1951, 3211, - 3164, 3057, 3234, 2032, 3184, 2861, 3208, 2518, 2652, 2381, 2589, 2794, - 2821, 3066, 2688, 2623, 1952, 3212, 3165, 3058, 3235, 2033, 3185, 2862, - 3209, 2519, 2653, 2382, 2590, 2795, 2822, 3067, 2689, 2624, 1953, 3213, - 3166, 3059, 3236, 2034, 3186, 2863, 3210, 2520, 2654, 2383, 2591, 2796, - 2823, 3068, 2690, 2625, 1954, 3214, 3167, 3060, 3237, 2035, 3187, 2864, - 3211, 2438, 2655, 2384, 2592, 2797, 2824, 3069, 2691, 2626, 1955, 3215, - 3168, 3061, 3238, 2036, 3188, 2865, 3212, 2439, 2656, 2385, 2593, 2798, - 2825, 3070, 2692, 2627, 1956, 3216, 3169, 3062, 3239, 2037, 3189, 2866, - 3213, 2440, 2657, 2386, 2594, 2799, 2826, 3071, 2693, 2628, 1957, 3217, - 3170, 3063, 3240, 2038, 3190, 2867, 3214, 2441, 2658, 2387, 2595, 2800, - 2827, 3072, 2694, 2629, 1958, 3218, 3171, 3064, 2976, 2039, 3191, 2868, - 3215, 2442, 2659, 2388, 2596, 2801, 2828, 3073, 2695, 2630, 1959, 3219, - 3172, 3065, 2977, 2040, 3192, 2869, 3216, 2443, 2660, 2389, 2597, 2802, - 2829, 3074, 2696, 2631, 1960, 3220, 3173, 3066, 2978, 2041, 3193, 2870, - 3217, 2444, 2661, 2390, 2598, 2803, 2830, 3075, 2697, 2632, 1961, 3221, - 3174, 3067, 2979, 2042, 3194, 2871, 3218, 2445, 2662, 2391, 2599, 2804, - 2831, 3076, 2698, 2633, 1962, 3222, 3175, 3068, 2980, 2043, 3195, 2872, - 3219, 2446, 2663, 2392, 2600, 2805, 2832, 3077, 2699, 2634, 1963, 3223, - 3176, 3069, 2981, 2044, 3196, 2873, 3220, 2447, 2664, 2393, 2601, 2806, - 2833, 3078, 2700, 2635, 1964, 3224, 3177, 3070, 2982, 2045, 3197, 2874, - 3221, 2448, 2665, 2394, 2602, 2807, 2834, 3079, 2701, 2636, 1965, 3225, - 3178, 3071, 2983, 2046, 3198, 2875, 3222, 2449, 2666, 2395, 2603, 2808, - 2835, 3080, 2702, 2637, 1966, 3226, 3179, 3072, 2984, 2047, 3199, 2876, - 3223, 2450, 2667, 2396, 2604, 2809, 2836, 3081, 2703, 2638, 1967, 3227, - 3180, 3073, 2985, 2048, 3200, 2877, 3224, 2451, 2668, 2397, 2605, 2810, - 2837, 3082, 2704, 2639, 1968, 3228, 3181, 3074, 2986, 2049, 3201, 2878, - 3225, 2452, 2669, 2398, 2606, 2811, 2838, 3083, 2705, 2640, 1969, 3229, - 3182, 3075, 2987, 2050, 3202, 2879, 3226, 2453, 2670, 2399, 2607, 2812, - 2839, 3084, 2706, 2641, 1970, 3230, 3183, 3076, 2988, 2051, 3203, 2880, - 3227, 2454, 2671, 2400, 2608, 2813, 2840, 3085, 2707, 2642, 1971, 3231, - 3184, 3077, 2989, 2052, 3204, 2521, 3228, 2455, 2672, 2401, 2609, 2814, - 2841, 3086, 2708, 2643, 1972, 3232, 3185, 3078, 2990, 2053, 3205, 2522, - 3229, 2456, 2673, 2402, 2610, 2815, 2842, 3087, 2709, 2644, 1973, 3233, - 3186, 3079, 2991, 2054, 3206, 2523, 3230, 2457, 2674, 2403, 2611, 2816, - 2843, 3088, 2710, 2645, 1974, 3234, 3187, 3080, 2992, 2055, 3207, 2524, - 3231, 2458, 2675, 2404, 2612, 2817, 2844, 3089, 2711, 2646, 1975, 3235, - 3188, 3081, 2993, 2056, 3208, 2525, 3232, 2459, 2676, 2405, 2613, 2818, - 2845, 3090, 2712, 2647, 1976, 3236, 3189, 3082, 2994, 2057, 3209, 2526, - 3233, 2460, 2677, 2406, 2614, 2819, 2846, 3091, 2713, 2648, 1977, 3237, - 3190, 3083, 2995, 2058, 3210, 2527, 3234, 2461, 2678, 2407, 2615, 2820, - 2847, 3092, 2714, 2649, 1978, 3238, 3191, 3084, 2996, 2059, 3211, 2528, - 3235, 2462, 2679, 2408, 2616, 2821, 2848, 3093, 2715, 2650, 1979, 3239, - 3192, 3085, 2997, 2060, 3212, 2529, 3236, 2463, 2680, 2409, 2617, 2822, - 2849, 3094, 2716, 2651, 1980, 3240, 3193, 3086, 2998, 2061, 3213, 2530, - 3237, 2464, 2681, 2410, 2618, 2823, 2850, 3095, 2717, 2652, 1981, 3149, - 3194, 3087, 2999, 2062, 3214, 2531, 3238, 2465, 2682, 2411, 2619, 2824, - 2851, 3096, 2718, 2653, 1982, 3150, 3195, 3088, 3000, 2063, 3215, 2532, - 3239, 2466, 2683, 2412, 2620, 2825, 2852, 3097, 2719, 2654, 1983, 3151, - 3196, 3089, 3001, 2064, 3216, 2533, 3240, 2467, 2684, 2413, 2621, 2826, - 2853, 3098, 2720, 2655, 1984, 3152, 3197, 3090, 3002, 2065, 3217, 2534, - 2881, 2468, 2685, 2414, 2622, 2827, 2854, 3099, 2721, 2656, 1985, 3153, - 3198, 3091, 3003, 2066, 3218, 2535, 2882, 2469, 2686, 2415, 2623, 2828, - 2855, 3100, 2722, 2657, 1986, 3154, 3199, 3092, 3004, 2067, 3219, 2536, - 2883, 2470, 2687, 2416, 2624, 2829, 2856, 3101, 2723, 2658, 1987, 3155, - 3200, 3093, 3005, 2068, 3220, 2537, 2884, 2471, 2688, 2417, 2625, 2830, - 2857, 3102, 2724, 2659, 1988, 3156, 3201, 3094, 3006, 2069, 3221, 2538, - 2885, 2472, 2689, 2418, 2626, 2831, 2858, 3103, 2725, 2660, 1989, 3157, - 3202, 3095, 3007, 2070, 3222, 2539, 2886, 2473, 2690, 2419, 2627, 2832, - 2859, 3104, 2726, 2661, 1990, 3158, 3203, 3096, 3008, 2071, 3223, 2540, - 2887, 2474, 2691, 2420, 2628, 2833, 2860, 3105, 2727, 2662, 1991, 3159, - 3204, 3097, 3009, 2072, 3224, 2541, 2888, 2475, 2692, 2421, 2629, 2834, - 2861, 3106, 2728, 2663, 1992, 3160, 3205, 3098, 3010, 2073, 3225, 2542, - 2889, 2476, 2693, 2422, 2630, 2835, 2862, 3107, 2729, 2664, 1993, 3161, - 3206, 3099, 3011, 2074, 3226, 2543, 2890, 2477, 2694, 2423, 2631, 2836, - 2863, 3108, 2730, 2665, 1994, 3162, 3207, 3100, 3012, 2075, 3227, 2544, - 2891, 2478, 2695, 2424, 2632, 2837, 2864, 3109, 2731, 2666, 1995, 3163, - 3208, 3101, 3013, 2076, 3228, 2545, 2892, 2479, 2696, 2425, 2633, 2838, - 2865, 3110, 2732, 2667, 1996, 3164, 3209, 3102, 3014, 2077, 3229, 2546, - 2893, 2480, 2697, 2426, 2634, 2839, 2866, 3111, 2733, 2668, 1997, 3165, - 3210, 3103, 3015, 2078, 3230, 2547, 2894, 2481, 2698, 2427, 2635, 2840, - 2867, 3112, 2734, 2669, 1998, 3166, 3211, 3104, 3016, 2079, 3231, 2548, - 2895, 2482, 2699, 2428, 2636, 2841, 2868, 3113, 2735, 2670, 1999, 3167, - 3212, 3105, 3017, 2080, 3232, 2549, 2896, 2483, 2700, 2429, 2637, 2842, - 2869, 3114, 2736, 2671, 2000, 3168, 3213, 3106, 3018, 2081, 3233, 2550, - 2897, 2484, 2701, 2430, 2638, 2843, 2870, 3115, 2737, 2672, 2001, 3169, - 3214, 3107, 3019, 2082, 3234, 2551, 2898, 2485, 2702, 2431, 2639, 2844, - 2871, 3116, 2738, 2673, 2002, 3170, 3215, 3108, 3020, 2083, 3235, 2552, - 2899, 2486, 2703, 2432, 2640, 2845, 2872, 3117, 2739, 2674, 2003, 3171, - 3216, 3109, 3021, 2084, 3236, 2553, 2900, 2487, 2704, 2433, 2641, 2846, - 2873, 3118, 2740, 2675, 2004, 3172, 3217, 3110, 3022, 2085, 3237, 2554, - 2901, 2488, 2705, 2434, 2642, 2847, 2874, 3119, 2741, 2676, 2005, 3173, - 3218, 3111, 3023, 2086, 3238, 2555, 2902, 2489, 2706, 2435, 2643, 2848, - 2875, 3120, 2742, 2677, 2006, 3174, 3219, 3112, 3024, 2087, 3239, 2556, - 2903, 2490, 2707, 2436, 2644, 2849, 2876, 3121, 2743, 2678, 2007, 3175, - 3220, 3113, 3025, 2088, 3240, 2557, 2904, 2491, 2708, 2437, 2645, 2850, - 2877, 3122, 2744, 2679, 2008, 3176, 3221, 3114, 3026, 2089, 3183, 2558, - 2905, 2492, 2709, 2438, 2646, 2851, 2878, 3123, 2745, 2680, 2009, 3177, - 3222, 3115, 3027, 2090, 3184, 2559, 2906, 2493, 2710, 2439, 2647, 2852, - 2879, 3124, 2746, 2681, 2010, 3178, 3223, 3116, 3028, 2091, 3185, 2560, - 2907, 2494, 2711, 2440, 2648, 2853, 2880, 3125, 2747, 2682, 2011, 3179, - 3224, 3117, 3029, 2092, 3186, 2561, 2908, 2495, 2712, 2441, 2649, 2854, - 2521, 3126, 2748, 2683, 2012, 3180, 3225, 3118, 3030, 2093, 3187, 2562, - 2909, 2496, 2713, 2442, 2650, 2855, 2522, 3127, 2749, 2684, 2013, 3181, - 3226, 3119, 3031, 2094, 3188, 2563, 2910, 2497, 2714, 2443, 2651, 2856, - 2523, 3128, 2750, 2685, 2014, 3182, 3227, 3120, 3032, 2095, 3189, 2564, - 2911, 2498, 2715, 2444, 2652, 2857, 2524, 3129, 2751, 2686, 2015, 3183, - 3228, 3121, 3033, 2096, 3190, 2565, 2912, 2499, 2716, 2445, 2653, 2858, - 2525, 3130, 2752, 2687, 2016, 3184, 3229, 3122, 3034, 2097, 3191, 2566, - 2913, 2500, 2717, 2446, 2654, 2859, 2526, 3131, 2753, 2688, 2017, 3185, - 3230, 3123, 3035, 2098, 3192, 2567, 2914, 2501, 2718, 2447, 2655, 2860, - 2527, 3132, 2754, 2689, 2018, 3186, 3231, 3124, 3036, 2099, 3193, 2568, - 2915, 2502, 2719, 2448, 2656, 2861, 2528, 3133, 2755, 2690, 2019, 3187, - 3232, 3125, 3037, 2100, 3194, 2569, 2916, 2503, 2720, 2449, 2657, 2862, - 2529, 3134, 2756, 2691, 2020, 3188, 3233, 3126, 3038, 2101, 3195, 2570, - 2917, 2504, 2721, 2450, 2658, 2863, 2530, 3135, 2757, 2692, 2021, 3189, - 3234, 3127, 3039, 2102, 3196, 2571, 2918, 2505, 2722, 2451, 2659, 2864, - 2531, 3136, 2758, 2693, 2022, 3190, 3235, 3128, 3040, 2103, 3197, 2572, - 2919, 2506, 2723, 2452, 2660, 2865, 2532, 3137, 2759, 2694, 2023, 3191, - 3236, 3129, 3041, 2104, 3198, 2573, 2920, 2507, 2724, 2453, 2661, 2866, - 2533, 3138, 2760, 2695, 2024, 3192, 3237, 3130, 3042, 2105, 3199, 2574, - 2921, 2508, 2725, 2454, 2662, 2867, 2534, 3139, 2761, 2696, 2025, 3193, - 3238, 3131, 3043, 2106, 3200, 2575, 2922, 2509, 2726, 2455, 2663, 2868, - 2535, 3140, 2762, 2697, 2026, 3194, 3239, 3132, 3044, 2107, 3201, 2576, - 2923, 2510, 2727, 2456, 2664, 2869, 2536, 3141, 2763, 2698, 2027, 3195, - 3240, 3133, 3045, 2108, 3202, 2577, 2924, 2511, 2728, 2457, 2665, 2870, - 2537, 3142, 2764, 2699, 2028, 3196, 2978, 3134, 3046, 2109, 3203, 2578, - 2925, 2512, 2729, 2458, 2666, 2871, 2538, 3143, 2765, 2700, 2029, 3197, - 2979, 3135, 3047, 2110, 3204, 2579, 2926, 2513, 2730, 2459, 2667, 2872, - 2539, 3144, 2766, 2701, 2030, 3198, 2980, 3136, 3048, 2111, 3205, 2580, - 2927, 2514, 2731, 2460, 2668, 2873, 2540, 3145, 2767, 2702, 2031, 3199, - 2981, 3137, 3049, 2112, 3206, 2581, 2928, 2515, 2732, 2461, 2669, 2874, - 2541, 3146, 2768, 2703, 2032, 3200, 2982, 3138, 3050, 2113, 3207, 2582, - 2929, 2516, 2733, 2462, 2670, 2875, 2542, 3147, 2769, 2704, 2033, 3201, - 2983, 3139, 3051, 2114, 3208, 2583, 2930, 2517, 2734, 2463, 2671, 2876, - 2543, 3148, 2770, 2705, 2034, 3202, 2984, 3140, 3052, 2115, 3209, 2584, - 2931, 2518, 2735, 2464, 2672, 2877, 2544, 3149, 2771, 2706, 2035, 3203, - 2985, 3141, 3053, 2116, 3210, 2585, 2932, 2519, 2736, 2465, 2673, 2878, - 2545, 3150, 2772, 2707, 2036, 3204, 2986, 3142, 3054, 2117, 3211, 2586, - 2933, 2520, 2737, 2466, 2674, 2879, 2546, 3151, 2773, 2708, 2037, 3205, - 2987, 3143, 3055, 2118, 3212, 2587, 2934, 2244, 2738, 2467, 2675, 2880, - 2547, 3152, 2774, 2709, 2038, 3206, 2988, 3144, 3056, 2119, 3213, 2588, - 2935, 2245, 2739, 2468, 2676, 2521, 2548, 3153, 2775, 2710, 2039, 3207, - 2989, 3145, 3057, 2120, 3214, 2589, 2936, 2246, 2740, 2469, 2677, 2522, - 2549, 3154, 2776, 2711, 2040, 3208, 2990, 3146, 3058, 2121, 3215, 2590, - 2937, 2247, 2741, 2470, 2678, 2523, 2550, 3155, 2777, 2712, 2041, 3209, - 2991, 3147, 3059, 2122, 3216, 2591, 2938, 2248, 2742, 2471, 2679, 2524, - 2551, 3156, 2778, 2713, 2042, 3210, 2992, 3148, 3060, 2123, 3217, 2592, - 2939, 2249, 2743, 2472, 2680, 2525, 2552, 3157, 2779, 2714, 2043, 3211, - 2993, 3149, 3061, 2124, 3218, 2593, 2940, 2250, 2744, 2473, 2681, 2526, - 2553, 3158, 2780, 2715, 2044, 3212, 2994, 3150, 3062, 2125, 3219, 2594, - 2941, 2251, 2745, 2474, 2682, 2527, 2554, 3159, 2781, 2716, 2045, 3213, - 2995, 3151, 3063, 2126, 3220, 2595, 2942, 2252, 2746, 2475, 2683, 2528, - 2555, 3160, 2782, 2717, 2046, 3214, 2996, 3152, 3064, 2127, 3221, 2596, - 2943, 2253, 2747, 2476, 2684, 2529, 2556, 3161, 2783, 2718, 2047, 3215, - 2997, 3153, 3065, 2128, 3222, 2597, 2944, 2254, 2748, 2477, 2685, 2530, - 2557, 3162, 2784, 2719, 2048, 3216, 2998, 3154, 3066, 2129, 3223, 2598, - 2945, 2255, 2749, 2478, 2686, 2531, 2558, 3163, 2785, 2720, 2049, 3217, - 2999, 3155, 3067, 2130, 3224, 2599, 2946, 2256, 2750, 2479, 2687, 2532, - 2559, 3164, 2786, 2721, 2050, 3218, 3000, 3156, 3068, 2131, 3225, 2600, - 2947, 2257, 2751, 2480, 2688, 2533, 2560, 3165, 2787, 2722, 2051, 3219, - 3001, 3157, 3069, 2132, 3226, 2601, 2948, 2258, 2752, 2481, 2689, 2534, - 2561, 3166, 2788, 2723, 2052, 3220, 3002, 3158, 3070, 2133, 3227, 2602, - 2949, 2259, 2753, 2482, 2690, 2535, 2562, 3167, 2789, 2724, 2053, 3221, - 3003, 3159, 3071, 2134, 3228, 2603, 2950, 2260, 2754, 2483, 2691, 2536, - 2563, 3168, 2790, 2725, 2054, 3222, 3004, 3160, 3072, 2135, 3229, 2604, - 2951, 2261, 2755, 2484, 2692, 2537, 2564, 3169, 2791, 2726, 2055, 3223, - 3005, 3161, 3073, 2136, 3230, 2605, 2952, 2262, 2756, 2485, 2693, 2538, - 2565, 3170, 2792, 2727, 2056, 3224, 3006, 3162, 3074, 2137, 3231, 2606, - 2953, 2263, 2757, 2486, 2694, 2539, 2566, 3171, 2793, 2728, 2057, 3225, - 3007, 3163, 3075, 2138, 3232, 2607, 2954, 2264, 2758, 2487, 2695, 2540, - 2567, 3172, 2794, 2729, 2058, 3226, 3008, 3164, 3076, 2139, 3233, 2608, - 2955, 2265, 2759, 2488, 2696, 2541, 2568, 3173, 2795, 2730, 2059, 3227, - 3009, 3165, 3077, 2140, 3234, 2609, 2956, 2266, 2760, 2489, 2697, 2542, - 2569, 3174, 2796, 2731, 2060, 3228, 3010, 3166, 3078, 2141, 3235, 2610, - 2957, 2267, 2761, 2490, 2698, 2543, 2570, 3175, 2797, 2732, 2061, 3229, - 3011, 3167, 3079, 2142, 3236, 2611, 2958, 2268, 2762, 2491, 2699, 2544, - 2571, 3176, 2798, 2733, 2062, 3230, 3012, 3168, 3080, 2143, 3237, 2612, - 2959, 2269, 2763, 2492, 2700, 2545, 2572, 3177, 2799, 2734, 2063, 3231, - 3013, 3169, 3081, 2144, 3238, 2613, 2960, 2270, 2764, 2493, 2701, 2546, - 2573, 3178, 2800, 2735, 2064, 3232, 3014, 3170, 3082, 2145, 3239, 2614, - 2961, 2271, 2765, 2494, 2702, 2547, 2574, 3179, 2801, 2736, 2065, 3233, - 3015, 3171, 3083, 2146, 3240, 2615, 2962, 2272, 2766, 2495, 2703, 2548, - 2575, 3180, 2802, 2737, 2066, 3234, 3016, 3172, 3084, 2147, 3135, 2616, - 2963, 2273, 2767, 2496, 2704, 2549, 2576, 3181, 2803, 2738, 2067, 3235, - 3017, 3173, 3085, 2148, 3136, 2617, 2964, 2274, 2768, 2497, 2705, 2550, - 2577, 3182, 2804, 2739, 2068, 3236, 3018, 3174, 3086, 2149, 3137, 2618, - 2965, 2275, 2769, 2498, 2706, 2551, 2578, 3183, 2805, 2740, 2069, 3237, - 3019, 3175, 3087, 2150, 3138, 2619, 2966, 2276, 2770, 2499, 2707, 2552, - 2579, 3184, 2806, 2741, 2070, 3238, 3020, 3176, 3088, 2151, 3139, 2620, - 2967, 2277, 2771, 2500, 2708, 2553, 2580, 3185, 2807, 2742, 2071, 3239, - 3021, 3177, 3089, 2152, 3140, 2621, 2968, 2278, 2772, 2501, 2709, 2554, - 2581, 3186, 2808, 2743, 2072, 3240, 3022, 3178, 3090, 2153, 3141, 2622, - 2969, 2279, 2773, 2502, 2710, 2555, 2582, 3187, 2809, 2744, 2073, 2973, - 3023, 3179, 3091, 2154, 3142, 2623, 2970, 2280, 2774, 2503, 2711, 2556, - 2583, 3188, 2810, 2745, 2074, 2974, 3024, 3180, 3092, 2155, 3143, 2624, - 2971, 2281, 2775, 2504, 2712, 2557, 2584, 3189, 2811, 2746, 2075, 2975, - 3025, 3181, 3093, 2156, 3144, 2625, 2972, 2282, 2776, 2505, 2713, 2558, - 2585, 3190, 2812, 2747, 2076, 2976, 3026, 3182, 3094, 2157, 3145, 2626, - 2973, 2283, 2777, 2506, 2714, 2559, 2586, 3191, 2813, 2748, 2077, 2977, - 3027, 3183, 3095, 2158, 3146, 2627, 2974, 2284, 2778, 2507, 2715, 2560, - 2587, 3192, 2814, 2749, 2078, 2978, 3028, 3184, 3096, 2159, 3147, 2628, - 2975, 2285, 2779, 2508, 2716, 2561, 2588, 3193, 2815, 2750, 2079, 2979, - 3029, 3185, 3097, 2160, 3148, 2629, 2976, 2286, 2780, 2509, 2717, 2562, - 2589, 3194, 2816, 2751, 2080, 2980, 3030, 3186, 3098, 2005, 3149, 2630, - 2977, 2287, 2781, 2510, 2718, 2563, 2590, 3195, 2817, 2752, 2081, 2981, - 3031, 3187, 3099, 2006, 3150, 2631, 2978, 2288, 2782, 2511, 2719, 2564, - 2591, 3196, 2818, 2753, 2082, 2982, 3032, 3188, 3100, 2007, 3151, 2632, - 2979, 2289, 2783, 2512, 2720, 2565, 2592, 3197, 2819, 2754, 2083, 2983, - 3033, 3189, 3101, 2008, 3152, 2633, 2980, 2290, 2784, 2513, 2721, 2566, - 2593, 3198, 2820, 2755, 2084, 2984, 3034, 3190, 3102, 2009, 3153, 2634, - 2981, 2291, 2785, 2514, 2722, 2567, 2594, 3199, 2821, 2756, 2085, 2985, - 3035, 3191, 3103, 2010, 3154, 2635, 2982, 2292, 2786, 2515, 2723, 2568, - 2595, 3200, 2822, 2757, 2086, 2986, 3036, 3192, 3104, 2011, 3155, 2636, - 2983, 2293, 2787, 2516, 2724, 2569, 2596, 3201, 2823, 2758, 2087, 2987, - 3037, 3193, 3105, 2012, 3156, 2637, 2984, 2294, 2788, 2517, 2725, 2570, - 2597, 3202, 2824, 2759, 2088, 2988, 3038, 3194, 3106, 2013, 3157, 2638, - 2985, 2295, 2789, 2518, 2726, 2571, 2598, 3203, 2825, 2760, 2089, 2989, - 3039, 3195, 3107, 2014, 3158, 2639, 2986, 2296, 2790, 2519, 2727, 2572, - 2599, 3204, 2826, 2761, 2090, 2990, 3040, 3196, 3108, 2015, 3159, 2640, - 2987, 2297, 2791, 2520, 2728, 2573, 2600, 3205, 2827, 2762, 2091, 2991, - 3041, 3197, 3109, 2016, 3160, 2641, 2988, 2298, 2792, 2161, 2729, 2574, - 2601, 3206, 2828, 2763, 2092, 2992, 3042, 3198, 3110, 2017, 3161, 2642, - 2989, 2299, 2793, 2162, 2730, 2575, 2602, 3207, 2829, 2764, 2093, 2993, - 3043, 3199, 3111, 2018, 3162, 2643, 2990, 2300, 2794, 2163, 2731, 2576, - 2603, 3208, 2830, 2765, 2094, 2994, 3044, 3200, 3112, 2019, 3163, 2644, - 2991, 2301, 2795, 2164, 2732, 2577, 2604, 3209, 2831, 2766, 2095, 2995, - 3045, 3201, 3113, 2020, 3164, 2645, 2992, 2302, 2796, 2165, 2733, 2578, - 2605, 3210, 2832, 2767, 2096, 2996, 3046, 3202, 3114, 2021, 3165, 2646, - 2993, 2303, 2797, 2166, 2734, 2579, 2606, 3211, 2833, 2768, 2097, 2997, - 3047, 3203, 3115, 2022, 3166, 2647, 2994, 2304, 2798, 2167, 2735, 2580, - 2607, 3212, 2834, 2769, 2098, 2998, 3048, 3204, 3116, 2023, 3167, 2648, - 2995, 2305, 2799, 2168, 2736, 2581, 2608, 3213, 2835, 2770, 2099, 2999, - 3049, 3205, 3117, 2024, 3168, 2649, 2996, 2306, 2800, 2169, 2737, 2582, - 2609, 3214, 2836, 2771, 2100, 3000, 3050, 3206, 3118, 2025, 3169, 2650, - 2997, 2307, 2801, 2170, 2738, 2583, 2610, 3215, 2837, 2772, 2101, 3001, - 3051, 3207, 3119, 2026, 3170, 2651, 2998, 2308, 2802, 2171, 2739, 2584, - 2611, 3216, 2838, 2773, 2102, 3002, 3052, 3208, 3120, 2027, 3171, 2652, - 2999, 2309, 2803, 2172, 2740, 2585, 2612, 3217, 2839, 2774, 2103, 3003, - 3053, 3209, 3121, 2028, 3172, 2653, 3000, 2310, 2804, 2173, 2741, 2586, - 2613, 3218, 2840, 2775, 2104, 3004, 3054, 3210, 3122, 2029, 3173, 2654, - 3001, 2311, 2805, 2174, 2742, 2587, 2614, 3219, 2841, 2776, 2105, 3005, - 3055, 3211, 3123, 2030, 3174, 2655, 3002, 2312, 2806, 2175, 2743, 2588, - 2615, 3220, 2842, 2777, 2106, 3006, 3056, 3212, 3124, 2031, 3175, 2656, - 3003, 2313, 2807, 2176, 2744, 2589, 2616, 3221, 2843, 2778, 2107, 3007, - 3057, 3213, 3125, 2032, 3176, 2657, 3004, 2314, 2808, 2177, 2745, 2590, - 2617, 3222, 2844, 2779, 2108, 3008, 3058, 3214, 3126, 2033, 3177, 2658, - 3005, 2315, 2809, 2178, 2746, 2591, 2618, 3223, 2845, 2780, 2109, 3009, - 3059, 3215, 3127, 2034, 3178, 2659, 3006, 2316, 2810, 2179, 2747, 2592, - 2619, 3224, 2846, 2781, 2110, 3010, 3060, 3216, 3128, 2035, 3179, 2660, - 3007, 2317, 2811, 2180, 2748, 2593, 2620, 3225, 2847, 2782, 2111, 3011, - 3061, 3217, 3129, 2036, 3180, 2661, 3008, 2318, 2812, 2181, 2749, 2594, - 2621, 3226, 2848, 2783, 2112, 3012, 3062, 3218, 3130, 2037, 3181, 2662, - 3009, 2319, 2813, 2182, 2750, 2595, 2622, 3227, 2849, 2784, 2113, 3013, - 3063, 3219, 3131, 2038, 3182, 2663, 3010, 2320, 2814, 2183, 2751, 2596, - 2623, 3228, 2850, 2785, 2114, 3014, 3064, 3220, 3132, 2039, 3183, 2664, - 3011, 2321, 2815, 2184, 2752, 2597, 2624, 3229, 2851, 2786, 2115, 3015, - 3065, 3221, 3133, 2040, 3184, 2665, 3012, 2322, 2816, 2185, 2753, 2598, - 2625, 3230, 2852, 2787, 2116, 3016, 3066, 3222, 3134, 2041, 3185, 2666, - 3013, 2323, 2817, 2186, 2754, 2599, 2626, 3231, 2853, 2788, 2117, 3017, - 3067, 3223, 3135, 2042, 3186, 2667, 3014, 2324, 2818, 2187, 2755, 2600, - 2627, 3232, 2854, 2789, 2118, 3018, 3068, 3224, 3136, 2043, 3187, 2668, - 3015, 2325, 2819, 2188, 2756, 2601, 2628, 3233, 2855, 2790, 2119, 3019, - 3069, 3225, 3137, 2044, 3188, 2669, 3016, 2326, 2820, 2189, 2757, 2602, - 2629, 3234, 2856, 2791, 2120, 3020, 3070, 3226, 3138, 2045, 3189, 2670, - 3017, 2327, 2821, 2190, 2758, 2603, 2630, 3235, 2857, 2792, 2121, 3021, - 3071, 3227, 3139, 2046, 3190, 2671, 3018, 2328, 2822, 2191, 2759, 2604, - 2631, 3236, 2858, 2793, 2122, 3022, 3072, 3228, 3140, 2047, 3191, 2672, - 3019, 2329, 2823, 2192, 2760, 2605, 2632, 3237, 2859, 2794, 2123, 3023, - 3073, 3229, 3141, 2048, 3192, 2673, 3020, 2330, 2824, 2193, 2761, 2606, - 2633, 3238, 2860, 2795, 2124, 3024, 3074, 3230, 3142, 2049, 3193, 2674, - 3021, 2331, 2825, 2194, 2762, 2607, 2634, 3239, 2861, 2796, 2125, 3025, - 3075, 3231, 3143, 2050, 3194, 2675, 3022, 2332, 2826, 2195, 2763, 2608, - 2635, 3240, 2862, 2797, 2126, 3026, 3076, 3232, 3144, 2051, 3195, 2676, - 3023, 2333, 2827, 2196, 2764, 2609, 2636, 2881, 2863, 2798, 2127, 3027, - 3077, 3233, 3145, 2052, 3196, 2677, 3024, 2334, 2828, 2197, 2765, 2610, - 2637, 2882, 2864, 2799, 2128, 3028, 3078, 3234, 3146, 2053, 3197, 2678, - 3025, 2335, 2829, 2198, 2766, 2611, 2638, 2883, 2865, 2800, 2129, 3029, - 3079, 3235, 3147, 2054, 3198, 2679, 3026, 2336, 2830, 2199, 2767, 2612, - 2639, 2884, 2866, 2801, 2130, 3030, 3080, 3236, 3148, 2055, 3199, 2680, - 3027, 2337, 2831, 2200, 2768, 2613, 2640, 2885, 2867, 2802, 2131, 3031, - 3081, 3237, 3149, 2056, 3200, 2681, 3028, 2338, 2832, 2201, 2769, 2614, - 2641, 2886, 2868, 2803, 2132, 3032, 3082, 3238, 3150, 2057, 3201, 2682, - 3029, 2339, 2833, 2202, 2770, 2615, 2642, 2887, 2869, 2804, 2133, 3033, - 3083, 3239, 3151, 2058, 3202, 2683, 3030, 2340, 2834, 2203, 2771, 2616, - 2643, 2888, 2870, 2805, 2134, 3034, 3084, 3240, 3152, 2059, 3203, 2684, - 3031, 2341, 2835, 2204, 2772, 2617, 2644, 2889, 2871, 2806, 2135, 3035, - 3085, 2881, 3153, 2060, 3204, 2685, 3032, 2342, 2836, 2205, 2773, 2618, - 2645, 2890, 2872, 2807, 2136, 3036, 3086, 2882, 3154, 2061, 3205, 2686, - 3033, 2343, 2837, 2206, 2774, 2619, 2646, 2891, 2873, 2808, 2137, 3037, - 3087, 2883, 3155, 2062, 3206, 2687, 3034, 2344, 2838, 2207, 2775, 2620, - 2647, 2892, 2874, 2809, 2138, 3038, 3088, 2884, 3156, 2063, 3207, 2688, - 3035, 2345, 2839, 2208, 2776, 2621, 2648, 2893, 2875, 2810, 2139, 3039, - 3089, 2885, 3157, 2064, 3208, 2689, 3036, 2346, 2840, 2209, 2777, 2622, - 2649, 2894, 2876, 2811, 2140, 3040, 3090, 2886, 3158, 2065, 3209, 2690, - 3037, 2347, 2841, 2210, 2778, 2623, 2650, 2895, 2877, 2812, 2141, 3041, - 3091, 2887, 3159, 2066, 3210, 2691, 3038, 2348, 2842, 2211, 2779, 2624, - 2651, 2896, 2878, 2813, 2142, 3042, 3092, 2888, 3160, 2067, 3211, 2692, - 3039, 2349, 2843, 2212, 2780, 2625, 2652, 2897, 2879, 2814, 2143, 3043, - 3093, 2889, 3161, 2068, 3212, 2693, 3040, 2350, 2844, 2213, 2781, 2626, - 2653, 2898, 2880, 2815, 2144, 3044, 3094, 2890, 3162, 2069, 3213, 2694, - 3041, 2351, 2845, 2214, 2782, 2627, 2654, 2899, 2521, 2816, 2145, 3045, - 3095, 2891, 3163, 2070, 3214, 2695, 3042, 2352, 2846, 2215, 2783, 2628, - 2655, 2900, 2522, 2817, 2146, 3046, 3096, 2892, 3164, 2071, 3215, 2696, - 3043, 2353, 2847, 2216, 2784, 2629, 2656, 2901, 2523, 2818, 2147, 3047, - 3097, 2893, 3165, 2072, 3216, 2697, 3044, 2354, 2848, 2217, 2785, 2630, - 2657, 2902, 2524, 2819, 2148, 3048, 3098, 2894, 3166, 2073, 3217, 2698, - 3045, 2355, 2849, 2218, 2786, 2631, 2658, 2903, 2525, 2820, 2149, 3049, - 3099, 2895, 3167, 2074, 3218, 2699, 3046, 2356, 2850, 2219, 2787, 2632, - 2659, 2904, 2526, 2821, 2150, 3050, 3100, 2896, 3168, 2075, 3219, 2700, - 3047, 2357, 2851, 2220, 2788, 2633, 2660, 2905, 2527, 2822, 2151, 3051, - 3101, 2897, 3169, 2076, 3220, 2701, 3048, 2358, 2852, 2221, 2789, 2634, - 2661, 2906, 2528, 2823, 2152, 3052, 3102, 2898, 3170, 2077, 3221, 2702, - 3049, 2359, 2853, 2222, 2790, 2635, 2662, 2907, 2529, 2824, 2153, 3053, - 3103, 2899, 3171, 2078, 3222, 2703, 3050, 2360, 2854, 2223, 2791, 2636, - 2663, 2908, 2530, 2825, 2154, 3054, 3104, 2900, 3172, 2079, 3223, 2704, - 3051, 2361, 2855, 2224, 2792, 2637, 2664, 2909, 2531, 2826, 2155, 3055, - 3105, 2901, 3173, 2080, 3224, 2705, 3052, 2362, 2856, 2225, 2793, 2638, - 2665, 2910, 2532, 2827, 2156, 3056, 3106, 2902, 3174, 2081, 3225, 2706, - 3053, 2363, 2857, 2226, 2794, 2639, 2666, 2911, 2533, 2828, 2157, 3057, - 3107, 2903, 3175, 2082, 3226, 2707, 3054, 2364, 2858, 2227, 2795, 2640, - 2667, 2912, 2534, 2829, 2158, 3058, 3108, 2904, 3176, 2083, 3227, 2708, - 3055, 2365, 2859, 2228, 2796, 2641, 2668, 2913, 2535, 2830, 2159, 3059, - 3109, 2905, 3177, 2084, 3228, 2709, 3056, 2366, 2860, 2229, 2797, 2642, - 2669, 2914, 2536, 2831, 2160, 3060, 3110, 2906, 3178, 2085, 3229, 2710, - 3057, 2367, 2861, 2230, 2798, 2643, 2670, 2915, 2537, 2832, 1801, 3061, - 3111, 2907, 3179, 2086, 3230, 2711, 3058, 2368, 2862, 2231, 2799, 2644, - 2671, 2916, 2538, 2833, 1802, 3062, 3112, 2908, 3180, 2087, 3231, 2712, - 3059, 2369, 2863, 2232, 2800, 2645, 2672, 2917, 2539, 2834, 1803, 3063, - 3113, 2909, 3181, 2088, 3232, 2713, 3060, 2370, 2864, 2233, 2801, 2646, - 2673, 2918, 2540, 2835, 1804, 3064, 3114, 2910, 3182, 2089, 3233, 2714, - 3061, 2371, 2865, 2234, 2802, 2647, 2674, 2919, 2541, 2836, 1805, 3065, - 3115, 2911, 3183, 2090, 3234, 2715, 3062, 2372, 2866, 2235, 2803, 2648, - 2675, 2920, 2542, 2837, 1806, 3066, 3116, 2912, 3184, 2091, 3235, 2716, - 3063, 2373, 2867, 2236, 2804, 2649, 2676, 2921, 2543, 2838, 1807, 3067, - 3117, 2913, 3185, 2092, 3236, 2717, 3064, 2374, 2868, 2237, 2805, 2650, - 2677, 2922, 2544, 2839, 1808, 3068, 3118, 2914, 3186, 2093, 3237, 2718, - 3065, 2375, 2869, 2238, 2806, 2651, 2678, 2923, 2545, 2840, 1809, 3069, - 3119, 2915, 3187, 2094, 3238, 2719, 3066, 2376, 2870, 2239, 2807, 2652, - 2679, 2924, 2546, 2841, 1810, 3070, 3120, 2916, 3188, 2095, 3239, 2720, - 3067, 2377, 2871, 2240, 2808, 2653, 2680, 2925, 2547, 2842, 1811, 3071, - 3121, 2917, 3189, 2096, 3240, 2721, 3068, 2378, 2872, 2241, 2809, 2654, - 2681, 2926, 2548, 2843, 1812, 3072, 3122, 2918, 3190, 2097, 3045, 2722, - 3069, 2379, 2873, 2242, 2810, 2655, 2682, 2927, 2549, 2844, 1813, 3073, - 3123, 2919, 3191, 2098, 3046, 2723, 3070, 2380, 2874, 2243, 2811, 2656, - 2683, 2928, 2550, 2845, 1814, 3074, 3124, 2920, 3192, 2099, 3047, 2724, - 3071, 2381, 2875, 2244, 2812, 2657, 2684, 2929, 2551, 2846, 1815, 3075, - 3125, 2921, 3193, 2100, 3048, 2725, 3072, 2382, 2876, 2245, 2813, 2658, - 2685, 2930, 2552, 2847, 1816, 3076, 3126, 2922, 3194, 2101, 3049, 2726, - 3073, 2383, 2877, 2246, 2814, 2659, 2686, 2931, 2553, 2848, 1817, 3077, - 3127, 2923, 3195, 2102, 3050, 2727, 3074, 2384, 2878, 2247, 2815, 2660, - 2687, 2932, 2554, 2849, 1818, 3078, 3128, 2924, 3196, 2103, 3051, 2728, - 3075, 2385, 2879, 2248, 2816, 2661, 2688, 2933, 2555, 2850, 1819, 3079, - 3129, 2925, 3197, 2104, 3052, 2729, 3076, 2386, 2880, 2249, 2817, 2662, - 2689, 2934, 2556, 2851, 1820, 3080, 3130, 2926, 3198, 2105, 3053, 2730, - 3077, 2387, 2839, 2250, 2818, 2663, 2690, 2935, 2557, 2852, 1821, 3081, - 3131, 2927, 3199, 2106, 3054, 2731, 3078, 2388, 2840, 2251, 2819, 2664, - 2691, 2936, 2558, 2853, 1822, 3082, 3132, 2928, 3200, 2107, 3055, 2732, - 3079, 2389, 2841, 2252, 2820, 2665, 2692, 2937, 2559, 2854, 1823, 3083, - 3133, 2929, 3201, 2108, 3056, 2733, 3080, 2390, 2842, 2253, 2821, 2666, - 2693, 2938, 2560, 2855, 1824, 3084, 3134, 2930, 3202, 2109, 3057, 2734, - 3081, 2391, 2843, 2254, 2822, 2667, 2694, 2939, 2561, 2856, 1825, 3085, - 3135, 2931, 3203, 2110, 3058, 2735, 3082, 2392, 2844, 2255, 2823, 2668, - 2695, 2940, 2562, 2857, 1826, 3086, 3136, 2932, 3204, 2111, 3059, 2736, - 3083, 2393, 2845, 2256, 2824, 2669, 2696, 2941, 2563, 2858, 1827, 3087, - 3137, 2933, 3205, 2112, 3060, 2737, 3084, 2394, 2846, 2257, 2825, 2670, - 2697, 2942, 2564, 2859, 1828, 3088, 3138, 2934, 3206, 2113, 3061, 2738, - 3085, 2395, 2847, 2258, 2826, 2671, 2698, 2943, 2565, 2860, 1829, 3089, - 3139, 2935, 3207, 2114, 3062, 2739, 3086, 2396, 2848, 2259, 2827, 2672, - 2699, 2944, 2566, 2861, 1830, 3090, 3140, 2936, 3208, 2115, 3063, 2740, - 3087, 2397, 2849, 2260, 2828, 2673, 2700, 2945, 2567, 2862, 1831, 3091, - 3141, 2937, 3209, 2116, 3064, 2741, 3088, 2398, 2850, 2261, 2829, 2674, - 2701, 2946, 2568, 2863, 1832, 3092, 3142, 2938, 3210, 2117, 3065, 2742, - 3089, 2399, 2851, 2262, 2830, 2675, 2702, 2947, 2569, 2864, 1833, 3093, - 3143, 2939, 3211, 2118, 3066, 2743, 3090, 2400, 2852, 2263, 2831, 2676, - 2703, 2948, 2570, 2865, 1834, 3094, 3144, 2940, 3212, 2119, 3067, 2744, - 3091, 2401, 2853, 2264, 2832, 2677, 2704, 2949, 2571, 2866, 1835, 3095, - 3145, 2941, 3213, 2120, 3068, 2745, 3092, 2402, 2854, 2265, 2833, 2678, - 2705, 2950, 2572, 2867, 1836, 3096, 3146, 2942, 3214, 2121, 3069, 2746, - 3093, 2403, 2855, 2266, 2834, 2679, 2706, 2951, 2573, 2868, 1837, 3097, - 3147, 2943, 3215, 2122, 3070, 2747, 3094, 2404, 2856, 2267, 2835, 2680, - 2707, 2952, 2574, 2869, 1838, 3098, 3148, 2944, 3216, 2123, 3071, 2748, - 3095, 2405, 2857, 2268, 2836, 2681, 2708, 2953, 2575, 2870, 1839, 3099, - 3149, 2945, 3217, 2124, 3072, 2749, 3096, 2406, 2858, 2269, 2837, 2682, - 2709, 2954, 2576, 2871, 1840, 3100, 3150, 2946, 3218, 2125, 3073, 2750, - 3097, 2407, 2859, 2270, 2838, 2683, 2710, 2955, 2577, 2872, 1841, 3101, - 3151, 2947, 3219, 2126, 3074, 2751, 3098, 2408, 2860, 2271, 2839, 2684, - 2711, 2956, 2578, 2873, 1842, 3102, 3152, 2948, 3220, 2127, 3075, 2752, - 3099, 2409, 2861, 2272, 2840, 2685, 2712, 2957, 2579, 2874, 1843, 3103, - 3153, 2949, 3221, 2128, 3076, 2753, 3100, 2410, 2862, 2273, 2841, 2686, - 2713, 2958, 2580, 2875, 1844, 3104, 3154, 2950, 3222, 2129, 3077, 2754, - 3101, 2411, 2863, 2274, 2842, 2687, 2714, 2959, 2581, 2876, 1845, 3105, - 3155, 2951, 3223, 2130, 3078, 2755, 3102, 2412, 2864, 2275, 2843, 2688, - 2715, 2960, 2582, 2877, 1846, 3106, 3156, 2952, 3224, 2131, 3079, 2756, - 3103, 2413, 2865, 2276, 2844, 2689, 2716, 2961, 2583, 2878, 1847, 3107, - 3157, 2953, 3225, 2132, 3080, 2757, 3104, 2414, 2866, 2277, 2845, 2690, - 2717, 2962, 2584, 2879, 1848, 3108, 3158, 2954, 3226, 2133, 3081, 2758, - 3105, 2415, 2867, 2278, 2846, 2691, 2718, 2963, 2585, 2880, 1849, 3109, - 3159, 2955, 3227, 2134, 3082, 2759, 3106, 2416, 2868, 2279, 2847, 2692, - 2719, 2964, 2586, 2521, 1850, 3110, 3160, 2956, 3228, 2135, 3083, 2760, - 3107, 2417, 2869, 2280, 2848, 2693, 2720, 2965, 2587, 2522, 1851, 3111, - 3161, 2957, 3229, 2136, 3084, 2761, 3108, 2418, 2870, 2281, 2849, 2694, - 2721, 2966, 2588, 2523, 1852, 3112, 3162, 2958, 3230, 2137, 3085, 2762, - 3109, 2419, 2871, 2282, 2850, 2695, 2722, 2967, 2589, 2524, 1853, 3113, - 3163, 2959, 3231, 2138, 3086, 2763, 3110, 2420, 2872, 2283, 2851, 2696, - 2723, 2968, 2590, 2525, 1854, 3114, 3164, 2960, 3232, 2139, 3087, 2764, - 3111, 2421, 2873, 2284, 2852, 2697, 2724, 2969, 2591, 2526, 1855, 3115, - 3165, 2961, 3233, 2140, 3088, 2765, 3112, 2422, 2874, 2285, 2853, 2698, - 2725, 2970, 2592, 2527, 1856, 3116, 3166, 2962, 3234, 2141, 3089, 2766, - 3113, 2423, 2875, 2286, 2854, 2699, 2726, 2971, 2593, 2528, 1857, 3117, - 3167, 2963, 3235, 2142, 3090, 2767, 3114, 2424, 2876, 2287, 2855, 2700, - 2727, 2972, 2594, 2529, 1858, 3118, 3168, 2964, 3236, 2143, 3091, 2768, - 3115, 2425, 2877, 2288, 2856, 2701, 2728, 2973, 2595, 2530, 1859, 3119, - 3169, 2965, 3237, 2144, 3092, 2769, 3116, 2426, 2878, 2289, 2857, 2702, - 2729, 2974, 2596, 2531, 1860, 3120, 3170, 2966, 3238, 2145, 3093, 2770, - 3117, 2427, 2879, 2290, 2858, 2703, 2730, 2975, 2597, 2532, 1861, 3121, - 3171, 2967, 3239, 2146, 3094, 2771, 3118, 2428, 2880, 2291, 2859, 2704, - 2731, 2976, 2598, 2533, 1862, 3122, 3172, 2968, 3240, 2147, 3095, 2772, - 3119, 2429, 2563, 2292, 2860, 2705, 2732, 2977, 2599, 2534, 1863, 3123, - 3173, 2969, 3146, 2148, 3096, 2773, 3120, 2430, 2564, 2293, 2861, 2706, - 2733, 2978, 2600, 2535, 1864, 3124, 3174, 2970, 3147, 2149, 3097, 2774, - 3121, 2431, 2565, 2294, 2862, 2707, 2734, 2979, 2601, 2536, 1865, 3125, - 3175, 2971, 3148, 2150, 3098, 2775, 3122, 2432, 2566, 2295, 2863, 2708, - 2735, 2980, 2602, 2537, 1866, 3126, 3176, 2972, 3149, 2151, 3099, 2776, - 3123, 2433, 2567, 2296, 2864, 2709, 2736, 2981, 2603, 2538, 1867, 3127, - 3177, 2973, 3150, 2152, 3100, 2777, 3124, 2434, 2568, 2297, 2865, 2710, - 2737, 2982, 2604, 2539, 1868, 3128, 3178, 2974, 3151, 2153, 3101, 2778, - 3125, 2435, 2569, 2298, 2866, 2711, 2738, 2983, 2605, 2540, 1869, 3129, - 3179, 2975, 3152, 2154, 3102, 2779, 3126, 2436, 2570, 2299, 2867, 2712, - 2739, 2984, 2606, 2541, 1870, 3130, 3180, 2976, 3153, 2155, 3103, 2780, - 3127, 2437, 2571, 2300, 2868, 2713, 2740, 2985, 2607, 2542, 1871, 3131, - 3181, 2977, 3154, 2156, 3104, 2781, 3128, 2438, 2572, 2301, 2869, 2714, - 2741, 2986, 2608, 2543, 1872, 3132, 3182, 2978, 3155, 2157, 3105, 2782, - 3129, 2439, 2573, 2302, 2870, 2715, 2742, 2987, 2609, 2544, 1873, 3133, - 3183, 2979, 3156, 2158, 3106, 2783, 3130, 2440, 2574, 2303, 2871, 2716, - 2743, 2988, 2610, 2545, 1874, 3134, 3184, 2980, 3157, 2159, 3107, 2784, - 3131, 2441, 2575, 2304, 2872, 2717, 2744, 2989, 2611, 2546, 1875, 3135, - 3185, 2981, 3158, 2160, 3108, 2785, 3132, 2442, 2576, 2305, 2873, 2718, - 2745, 2990, 2612, 2547, 1876, 3136, 3186, 2982, 3159, 1957, 3109, 2786, - 3133, 2443, 2577, 2306, 2874, 2719, 2746, 2991, 2613, 2548, 1877, 3137, - 3187, 2983, 3160, 1958, 3110, 2787, 3134, 2444, 2578, 2307, 2875, 2720, - 2747, 2992, 2614, 2549, 1878, 3138, 3188, 2984, 3161, 1959, 3111, 2788, - 3135, 2445, 2579, 2308, 2876, 2721, 2748, 2993, 2615, 2550, 1879, 3139, - 3189, 2985, 3162, 1960, 3112, 2789, 3136, 2446, 2580, 2309, 2877, 2722, - 2749, 2994, 2616, 2551, 1880, 3140, 3190, 2986, 3163, 1961, 3113, 2790, - 3137, 2447, 2581, 2310, 2878, 2723, 2750, 2995, 2617, 2552, 1881, 3141, - 3191, 2987, 3164, 1962, 3114, 2791, 3138, 2448, 2582, 2311, 2879, 2724, - 2751, 2996, 2618, 2553, 1882, 3142, 3192, 2988, 3165, 1963, 3115, 2792, - 3139, 2449, 2583, 2312, 2880, 2725, 2752, 2997, 2619, 2554, 1883, 3143, - 3193, 2989, 3166, 1964, 3116, 2793, 3140, 2450, 2584, 2313, 2521, 2726, - 2753, 2998, 2620, 2555, 1884, 3144, 3194, 2990, 3167, 1965, 3117, 2794, - 3141, 2451, 2585, 2314, 2522, 2727, 2754, 2999, 2621, 2556, 1885, 3145, - 3195, 2991, 3168, 1966, 3118, 2795, 3142, 2452, 2586, 2315, 2523, 2728, - 2755, 3000, 2622, 2557, 1886, 3146, 3196, 2992, 3169, 1967, 3119, 2796, - 3143, 2453, 2587, 2316, 2524, 2729, 2756, 3001, 2623, 2558, 1887, 3147, - 3197, 2993, 3170, 1968, 3120, 2797, 3144, 2454, 2588, 2317, 2525, 2730, - 2757, 3002, 2624, 2559, 1888, 3148, 3198, 2994, 3171, 1969, 3121, 2798, - 3145, 2455, 2589, 2318, 2526, 2731, 2758, 3003, 2625, 2560, 1889, 3149, - 3199, 2995, 3172, 1970, 3122, 2799, 3146, 2456, 2590, 2319, 2527, 2732, - 2759, 3004, 2626, 2561, 1890, 3150, 3200, 2996, 3173, 1971, 3123, 2800, - 3147, 2457, 2591, 2320, 2528, 2733, 2760, 3005, 2627, 2562, 1891, 3151, - 3201, 2997, 3174, 1972, 3124, 2801, 3148, 2458, 2592, 2321, 2529, 2734, - 2761, 3006, 2628, 2563, 1892, 3152, 3202, 2998, 3175, 1973, 3125, 2802, - 3149, 2459, 2593, 2322, 2530, 2735, 2762, 3007, 2629, 2564, 1893, 3153, - 3203, 2999, 3176, 1974, 3126, 2803, 3150, 2460, 2594, 2323, 2531, 2736, - 2763, 3008, 2630, 2565, 1894, 3154, 3204, 3000, 3177, 1975, 3127, 2804, - 3151, 2461, 2595, 2324, 2532, 2737, 2764, 3009, 2631, 2566, 1895, 3155, - 3205, 3001, 3178, 1976, 3128, 2805, 3152, 2462, 2596, 2325, 2533, 2738, - 2765, 3010, 2632, 2567, 1896, 3156, 3206, 3002, 3179, 1977, 3129, 2806, - 3153, 2463, 2597, 2326, 2534, 2739, 2766, 3011, 2633, 2568, 1897, 3157, - 3207, 3003, 3180, 1978, 3130, 2807, 3154, 2464, 2598, 2327, 2535, 2740, - 2767, 3012, 2634, 2569, 1898, 3158, 3208, 3004, 3181, 1979, 3131, 2808, - 3155, 2465, 2599, 2328, 2536, 2741, 2768, 3013, 2635, 2570, 1899, 3159, - 3209, 3005, 3182, 1980, 3132, 2809, 3156, 2466, 2600, 2329, 2537, 2742, - 2769, 3014, 2636, 2571, 1900, 3160, 3210, 3006, 3183, 1981, 3133, 2810, - 3157, 2467, 2601, 2330, 2538, 2743, 2770, 3015, 2637, 2572, 1901, 3161, - 3211, 3007, 3184, 1982, 3134, 2811, 3158, 2468, 2602, 2331, 2539, 2744, - 2771, 3016, 2638, 2573, 1902, 3162, 3212, 3008, 3185, 1983, 3135, 2812, - 3159, 2469, 2603, 2332, 2540, 2745, 2772, 3017, 2639, 2574, 1903, 3163, - 3213, 3009, 3186, 1984, 3136, 2813, 3160, 2470, 2604, 2333, 2541, 2746, - 2773, 3018, 2640, 2575, 1904, 3164, 3214, 3010, 3187, 1985, 3137, 2814, - 3161, 2471, 2605, 2334, 2542, 2747, 2774, 3019, 2641, 2576, 1905, 3165, - 3215, 3011, 3188, 1986, 3138, 2815, 3162, 2472, 2606, 2335, 2543, 2748, - 2775, 3020, 2642, 2577, 1906, 3166, 3216, 3012, 3189, 1987, 3139, 2816, - 3163, 2473, 2607, 2336, 2544, 2749, 2776, 3021, 2643, 2578, 1907, 3167, - 3217, 3013, 3190, 1988, 3140, 2817, 3164, 2474, 2608, 2337, 2545, 2750, - 2777, 3022, 2644, 2579, 1908, 3168, 3218, 3014, 3191, 1989, 3141, 2818, - 3165, 2475, 2609, 2338, 2546, 2751, 2778, 3023, 2645, 2580, 1909, 3169, - 3241, 3481, 3961, 3880, 4681, 5041, 5401, 3454, 5883, 4709, 5654, 4461, - 3885, 4623, 4705, 6292, 5067, 4116, 3242, 3482, 3962, 3881, 4682, 5042, - 5402, 3455, 5884, 4710, 5655, 4462, 3886, 4624, 4706, 6293, 5068, 4117, - 3243, 3483, 3963, 3882, 4683, 5043, 5403, 3456, 5885, 4711, 5656, 4463, - 3887, 4625, 4707, 6294, 5069, 4118, 3244, 3484, 3964, 3883, 4684, 5044, - 5404, 3457, 5886, 4712, 5657, 4464, 3888, 4626, 4708, 6295, 5070, 4119, - 3245, 3485, 3965, 3884, 4685, 5045, 5405, 3458, 5887, 4713, 5658, 4465, - 3889, 4627, 4709, 6296, 5071, 4120, 3246, 3486, 3966, 3885, 4686, 5046, - 5406, 3459, 5888, 4714, 5659, 4466, 3890, 4628, 4710, 6297, 5072, 4121, - 3247, 3487, 3967, 3886, 4687, 5047, 5407, 3460, 5889, 4715, 5660, 4467, - 3891, 4629, 4711, 6298, 5073, 4122, 3248, 3488, 3968, 3887, 4688, 5048, - 5408, 3461, 5890, 4716, 5661, 4468, 3892, 4630, 4712, 6299, 5074, 4123, - 3249, 3489, 3969, 3888, 4689, 5049, 5409, 3462, 5891, 4717, 5662, 4469, - 3893, 4631, 4713, 6300, 5075, 4124, 3250, 3490, 3970, 3889, 4690, 5050, - 5410, 3463, 5892, 4718, 5663, 4470, 3894, 4632, 4714, 6301, 5076, 4125, - 3251, 3491, 3971, 3890, 4691, 5051, 5411, 3464, 5893, 4719, 5664, 4471, - 3895, 4633, 4715, 6302, 5077, 4126, 3252, 3492, 3972, 3891, 4692, 5052, - 5412, 3465, 5894, 4720, 5665, 4472, 3896, 4634, 4716, 6303, 5078, 4127, - 3253, 3493, 3973, 3892, 4693, 5053, 5413, 3466, 5895, 4721, 5666, 4473, - 3897, 4635, 4717, 6304, 5079, 4128, 3254, 3494, 3974, 3893, 4694, 5054, - 5414, 3467, 5896, 4722, 5667, 4474, 3898, 4636, 4718, 6305, 5080, 4129, - 3255, 3495, 3975, 3894, 4695, 5055, 5415, 3468, 5897, 4723, 5668, 4475, - 3899, 4637, 4719, 6306, 5081, 4130, 3256, 3496, 3976, 3895, 4696, 5056, - 5416, 3469, 5898, 4724, 5669, 4476, 3900, 4638, 4720, 6307, 5082, 4131, - 3257, 3497, 3977, 3896, 4697, 5057, 5417, 3470, 5899, 4725, 5670, 4477, - 3901, 4639, 4721, 6308, 5083, 4132, 3258, 3498, 3978, 3897, 4698, 5058, - 5418, 3471, 5900, 4726, 5671, 4478, 3902, 4640, 4722, 6309, 5084, 4133, - 3259, 3499, 3979, 3898, 4699, 5059, 5419, 3472, 5901, 4727, 5672, 4479, - 3903, 4641, 4723, 6310, 5085, 4134, 3260, 3500, 3980, 3899, 4700, 5060, - 5420, 3473, 5902, 4728, 5673, 4480, 3904, 4642, 4724, 6311, 5086, 4135, - 3261, 3501, 3981, 3900, 4701, 5061, 5421, 3474, 5903, 4729, 5674, 4481, - 3905, 4643, 4725, 6312, 5087, 4136, 3262, 3502, 3982, 3901, 4702, 5062, - 5422, 3475, 5904, 4730, 5675, 4482, 3906, 4644, 4726, 6313, 5088, 4137, - 3263, 3503, 3983, 3902, 4703, 5063, 5423, 3476, 5905, 4731, 5676, 4483, - 3907, 4645, 4727, 6314, 5089, 4138, 3264, 3504, 3984, 3903, 4704, 5064, - 5424, 3477, 5906, 4732, 5677, 4484, 3908, 4646, 4728, 6315, 5090, 4139, - 3265, 3505, 3985, 3904, 4705, 5065, 5425, 3478, 5907, 4733, 5678, 4485, - 3909, 4647, 4729, 6316, 5091, 4140, 3266, 3506, 3986, 3905, 4706, 5066, - 5426, 3479, 5908, 4734, 5679, 4486, 3910, 4648, 4730, 6317, 5092, 4141, - 3267, 3507, 3987, 3906, 4707, 5067, 5427, 3480, 5909, 4735, 5680, 4487, - 3911, 4649, 4731, 6318, 5093, 4142, 3268, 3508, 3988, 3907, 4708, 5068, - 5428, 3481, 5910, 4736, 5681, 4488, 3912, 4650, 4732, 6319, 5094, 4143, - 3269, 3509, 3989, 3908, 4709, 5069, 5429, 3482, 5911, 4737, 5682, 4489, - 3913, 4651, 4733, 6320, 5095, 4144, 3270, 3510, 3990, 3909, 4710, 5070, - 5430, 3483, 5912, 4738, 5683, 4490, 3914, 4652, 4734, 6321, 5096, 4145, - 3271, 3511, 3991, 3910, 4711, 5071, 5431, 3484, 5913, 4739, 5684, 4491, - 3915, 4653, 4735, 6322, 5097, 4146, 3272, 3512, 3992, 3911, 4712, 5072, - 5432, 3485, 5914, 4740, 5685, 4492, 3916, 4654, 4736, 6323, 5098, 4147, - 3273, 3513, 3993, 3912, 4713, 5073, 5433, 3486, 5915, 4741, 5686, 4493, - 3917, 4655, 4737, 6324, 5099, 4148, 3274, 3514, 3994, 3913, 4714, 5074, - 5434, 3487, 5916, 4742, 5687, 4494, 3918, 4656, 4738, 6325, 5100, 4149, - 3275, 3515, 3995, 3914, 4715, 5075, 5435, 3488, 5917, 4743, 5688, 4495, - 3919, 4657, 4739, 6326, 5101, 4150, 3276, 3516, 3996, 3915, 4716, 5076, - 5436, 3489, 5918, 4744, 5689, 4496, 3920, 4658, 4740, 6327, 5102, 4151, - 3277, 3517, 3997, 3916, 4717, 5077, 5437, 3490, 5919, 4745, 5690, 4497, - 3921, 4659, 4741, 6328, 5103, 4152, 3278, 3518, 3998, 3917, 4718, 5078, - 5438, 3491, 5920, 4746, 5691, 4498, 3922, 4660, 4742, 6329, 5104, 4153, - 3279, 3519, 3999, 3918, 4719, 5079, 5439, 3492, 5921, 4747, 5692, 4499, - 3923, 4661, 4743, 6330, 5105, 4154, 3280, 3520, 4000, 3919, 4720, 5080, - 5440, 3493, 5922, 4748, 5693, 4500, 3924, 4662, 4744, 6331, 5106, 4155, - 3281, 3521, 4001, 3920, 4721, 5081, 5441, 3494, 5923, 4749, 5694, 4501, - 3925, 4663, 4745, 6332, 5107, 4156, 3282, 3522, 4002, 3921, 4722, 5082, - 5442, 3495, 5924, 4750, 5695, 4502, 3926, 4664, 4746, 6333, 5108, 4157, - 3283, 3523, 4003, 3922, 4723, 5083, 5443, 3496, 5925, 4751, 5696, 4503, - 3927, 4665, 4747, 6334, 5109, 4158, 3284, 3524, 4004, 3923, 4724, 5084, - 5444, 3497, 5926, 4752, 5697, 4504, 3928, 4666, 4748, 6335, 5110, 4159, - 3285, 3525, 4005, 3924, 4725, 5085, 5445, 3498, 5927, 4753, 5698, 4505, - 3929, 4667, 4749, 6336, 5111, 4160, 3286, 3526, 4006, 3925, 4726, 5086, - 5446, 3499, 5928, 4754, 5699, 4506, 3930, 4668, 4750, 6337, 5112, 4161, - 3287, 3527, 4007, 3926, 4727, 5087, 5447, 3500, 5929, 4755, 5700, 4507, - 3931, 4669, 4751, 6338, 5113, 4162, 3288, 3528, 4008, 3927, 4728, 5088, - 5448, 3501, 5930, 4756, 5701, 4508, 3932, 4670, 4752, 6339, 5114, 4163, - 3289, 3529, 4009, 3928, 4729, 5089, 5449, 3502, 5931, 4757, 5702, 4509, - 3933, 4671, 4753, 6340, 5115, 4164, 3290, 3530, 4010, 3929, 4730, 5090, - 5450, 3503, 5932, 4758, 5703, 4510, 3934, 4672, 4754, 6341, 5116, 4165, - 3291, 3531, 4011, 3930, 4731, 5091, 5451, 3504, 5933, 4759, 5704, 4511, - 3935, 4673, 4755, 6342, 5117, 4166, 3292, 3532, 4012, 3931, 4732, 5092, - 5452, 3505, 5934, 4760, 5705, 4512, 3936, 4674, 4756, 6343, 5118, 4167, - 3293, 3533, 4013, 3932, 4733, 5093, 5453, 3506, 5935, 4761, 5706, 4513, - 3937, 4675, 4757, 6344, 5119, 4168, 3294, 3534, 4014, 3933, 4734, 5094, - 5454, 3507, 5936, 4762, 5707, 4514, 3938, 4676, 4758, 6345, 5120, 4169, - 3295, 3535, 4015, 3934, 4735, 5095, 5455, 3508, 5937, 4763, 5708, 4515, - 3939, 4677, 4759, 6346, 5121, 4170, 3296, 3536, 4016, 3935, 4736, 5096, - 5456, 3509, 5938, 4764, 5709, 4516, 3940, 4678, 4760, 6347, 5122, 4171, - 3297, 3537, 4017, 3936, 4737, 5097, 5457, 3510, 5939, 4765, 5710, 4517, - 3941, 4679, 4761, 6348, 5123, 4172, 3298, 3538, 4018, 3937, 4738, 5098, - 5458, 3511, 5940, 4766, 5711, 4518, 3942, 4680, 4762, 6349, 5124, 4173, - 3299, 3539, 4019, 3938, 4739, 5099, 5459, 3512, 5941, 4767, 5712, 4519, - 3943, 4321, 4763, 6350, 5125, 4174, 3300, 3540, 4020, 3939, 4740, 5100, - 5460, 3513, 5942, 4768, 5713, 4520, 3944, 4322, 4764, 6351, 5126, 4175, - 3301, 3541, 4021, 3940, 4741, 5101, 5461, 3514, 5943, 4769, 5714, 4521, - 3945, 4323, 4765, 6352, 5127, 4176, 3302, 3542, 4022, 3941, 4742, 5102, - 5462, 3515, 5944, 4770, 5715, 4522, 3946, 4324, 4766, 6353, 5128, 4177, - 3303, 3543, 4023, 3942, 4743, 5103, 5463, 3516, 5945, 4771, 5716, 4523, - 3947, 4325, 4767, 6354, 5129, 4178, 3304, 3544, 4024, 3943, 4744, 5104, - 5464, 3517, 5946, 4772, 5717, 4524, 3948, 4326, 4768, 6355, 5130, 4179, - 3305, 3545, 4025, 3944, 4745, 5105, 5465, 3518, 5947, 4773, 5718, 4525, - 3949, 4327, 4769, 6356, 5131, 4180, 3306, 3546, 4026, 3945, 4746, 5106, - 5466, 3519, 5948, 4774, 5719, 4526, 3950, 4328, 4770, 6357, 5132, 4181, - 3307, 3547, 4027, 3946, 4747, 5107, 5467, 3520, 5949, 4775, 5720, 4527, - 3951, 4329, 4771, 6358, 5133, 4182, 3308, 3548, 4028, 3947, 4748, 5108, - 5468, 3521, 5950, 4776, 5721, 4528, 3952, 4330, 4772, 6359, 5134, 4183, - 3309, 3549, 4029, 3948, 4749, 5109, 5469, 3522, 5951, 4777, 5722, 4529, - 3953, 4331, 4773, 6360, 5135, 4184, 3310, 3550, 4030, 3949, 4750, 5110, - 5470, 3523, 5952, 4778, 5723, 4530, 3954, 4332, 4774, 6361, 5136, 4185, - 3311, 3551, 4031, 3950, 4751, 5111, 5471, 3524, 5953, 4779, 5724, 4531, - 3955, 4333, 4775, 6362, 5137, 4186, 3312, 3552, 4032, 3951, 4752, 5112, - 5472, 3525, 5954, 4780, 5725, 4532, 3956, 4334, 4776, 6363, 5138, 4187, - 3313, 3553, 4033, 3952, 4753, 5113, 5473, 3526, 5955, 4781, 5726, 4533, - 3957, 4335, 4777, 6364, 5139, 4188, 3314, 3554, 4034, 3953, 4754, 5114, - 5474, 3527, 5956, 4782, 5727, 4534, 3958, 4336, 4778, 6365, 5140, 4189, - 3315, 3555, 4035, 3954, 4755, 5115, 5475, 3528, 5957, 4783, 5728, 4535, - 3959, 4337, 4779, 6366, 5141, 4190, 3316, 3556, 4036, 3955, 4756, 5116, - 5476, 3529, 5958, 4784, 5729, 4536, 3960, 4338, 4780, 6367, 5142, 4191, - 3317, 3557, 4037, 3956, 4757, 5117, 5477, 3530, 5959, 4785, 5730, 4537, - 3601, 4339, 4781, 6368, 5143, 4192, 3318, 3558, 4038, 3957, 4758, 5118, - 5478, 3531, 5960, 4786, 5731, 4538, 3602, 4340, 4782, 6369, 5144, 4193, - 3319, 3559, 4039, 3958, 4759, 5119, 5479, 3532, 5961, 4787, 5732, 4539, - 3603, 4341, 4783, 6370, 5145, 4194, 3320, 3560, 4040, 3959, 4760, 5120, - 5480, 3533, 5962, 4788, 5733, 4540, 3604, 4342, 4784, 6371, 5146, 4195, - 3321, 3561, 4041, 3960, 4761, 5121, 5481, 3534, 5963, 4789, 5734, 4541, - 3605, 4343, 4785, 6372, 5147, 4196, 3322, 3562, 4042, 3601, 4762, 5122, - 5482, 3535, 5964, 4790, 5735, 4542, 3606, 4344, 4786, 6373, 5148, 4197, - 3323, 3563, 4043, 3602, 4763, 5123, 5483, 3536, 5965, 4791, 5736, 4543, - 3607, 4345, 4787, 6374, 5149, 4198, 3324, 3564, 4044, 3603, 4764, 5124, - 5484, 3537, 5966, 4792, 5737, 4544, 3608, 4346, 4788, 6375, 5150, 4199, - 3325, 3565, 4045, 3604, 4765, 5125, 5485, 3538, 5967, 4793, 5738, 4545, - 3609, 4347, 4789, 6376, 5151, 4200, 3326, 3566, 4046, 3605, 4766, 5126, - 5486, 3539, 5968, 4794, 5739, 4546, 3610, 4348, 4790, 6377, 5152, 4201, - 3327, 3567, 4047, 3606, 4767, 5127, 5487, 3540, 5969, 4795, 5740, 4547, - 3611, 4349, 4791, 6378, 5153, 4202, 3328, 3568, 4048, 3607, 4768, 5128, - 5488, 3541, 5970, 4796, 5741, 4548, 3612, 4350, 4792, 6379, 5154, 4203, - 3329, 3569, 4049, 3608, 4769, 5129, 5489, 3542, 5971, 4797, 5742, 4549, - 3613, 4351, 4793, 6380, 5155, 4204, 3330, 3570, 4050, 3609, 4770, 5130, - 5490, 3543, 5972, 4798, 5743, 4550, 3614, 4352, 4794, 6381, 5156, 4205, - 3331, 3571, 4051, 3610, 4771, 5131, 5491, 3544, 5973, 4799, 5744, 4551, - 3615, 4353, 4795, 6382, 5157, 4206, 3332, 3572, 4052, 3611, 4772, 5132, - 5492, 3545, 5974, 4800, 5745, 4552, 3616, 4354, 4796, 6383, 5158, 4207, - 3333, 3573, 4053, 3612, 4773, 5133, 5493, 3546, 5975, 4801, 5746, 4553, - 3617, 4355, 4797, 6384, 5159, 4208, 3334, 3574, 4054, 3613, 4774, 5134, - 5494, 3547, 5976, 4802, 5747, 4554, 3618, 4356, 4798, 6385, 5160, 4209, - 3335, 3575, 4055, 3614, 4775, 5135, 5495, 3548, 5977, 4803, 5748, 4555, - 3619, 4357, 4799, 6386, 5161, 4210, 3336, 3576, 4056, 3615, 4776, 5136, - 5496, 3549, 5978, 4804, 5749, 4556, 3620, 4358, 4800, 6387, 5162, 4211, - 3337, 3577, 4057, 3616, 4777, 5041, 5497, 3550, 5979, 4805, 5750, 4557, - 3621, 4359, 4801, 6388, 5163, 4212, 3338, 3578, 4058, 3617, 4778, 5042, - 5498, 3551, 5980, 4806, 5751, 4558, 3622, 4360, 4802, 6389, 5164, 4213, - 3339, 3579, 4059, 3618, 4779, 5043, 5499, 3552, 5981, 4807, 5752, 4559, - 3623, 4361, 4803, 6390, 5165, 4214, 3340, 3580, 4060, 3619, 4780, 5044, - 5500, 3553, 5982, 4808, 5753, 4560, 3624, 4362, 4804, 6391, 5166, 4215, - 3341, 3581, 4061, 3620, 4781, 5045, 5501, 3554, 5983, 4809, 5754, 4561, - 3625, 4363, 4805, 6392, 5167, 4216, 3342, 3582, 4062, 3621, 4782, 5046, - 5502, 3555, 5984, 4810, 5755, 4562, 3626, 4364, 4806, 6393, 5168, 4217, - 3343, 3583, 4063, 3622, 4783, 5047, 5503, 3556, 5985, 4811, 5756, 4563, - 3627, 4365, 4807, 6394, 5169, 4218, 3344, 3584, 4064, 3623, 4784, 5048, - 5504, 3557, 5986, 4812, 5757, 4564, 3628, 4366, 4808, 6395, 5170, 4219, - 3345, 3585, 4065, 3624, 4785, 5049, 5505, 3558, 5987, 4813, 5758, 4565, - 3629, 4367, 4809, 6396, 5171, 4220, 3346, 3586, 4066, 3625, 4786, 5050, - 5506, 3559, 5988, 4814, 5759, 4566, 3630, 4368, 4810, 6397, 5172, 4221, - 3347, 3587, 4067, 3626, 4787, 5051, 5507, 3560, 5989, 4815, 5760, 4567, - 3631, 4369, 4811, 6398, 5173, 4222, 3348, 3588, 4068, 3627, 4788, 5052, - 5508, 3561, 5990, 4816, 5401, 4568, 3632, 4370, 4812, 6399, 5174, 4223, - 3349, 3589, 4069, 3628, 4789, 5053, 5509, 3562, 5991, 4817, 5402, 4569, - 3633, 4371, 4813, 6400, 5175, 4224, 3350, 3590, 4070, 3629, 4790, 5054, - 5510, 3563, 5992, 4818, 5403, 4570, 3634, 4372, 4814, 6401, 5176, 4225, - 3351, 3591, 4071, 3630, 4791, 5055, 5511, 3564, 5993, 4819, 5404, 4571, - 3635, 4373, 4815, 6402, 5177, 4226, 3352, 3592, 4072, 3631, 4792, 5056, - 5512, 3565, 5994, 4820, 5405, 4572, 3636, 4374, 4816, 6403, 5178, 4227, - 3353, 3593, 4073, 3632, 4793, 5057, 5513, 3566, 5995, 4821, 5406, 4573, - 3637, 4375, 4817, 6404, 5179, 4228, 3354, 3594, 4074, 3633, 4794, 5058, - 5514, 3567, 5996, 4822, 5407, 4574, 3638, 4376, 4818, 6405, 5180, 4229, - 3355, 3595, 4075, 3634, 4795, 5059, 5515, 3568, 5997, 4823, 5408, 4575, - 3639, 4377, 4819, 6406, 5181, 4230, 3356, 3596, 4076, 3635, 4796, 5060, - 5516, 3569, 5998, 4824, 5409, 4576, 3640, 4378, 4820, 6407, 5182, 4231, - 3357, 3597, 4077, 3636, 4797, 5061, 5517, 3570, 5999, 4825, 5410, 4577, - 3641, 4379, 4821, 6408, 5183, 4232, 3358, 3598, 4078, 3637, 4798, 5062, - 5518, 3571, 6000, 4826, 5411, 4578, 3642, 4380, 4822, 6409, 5184, 4233, - 3359, 3599, 4079, 3638, 4799, 5063, 5519, 3572, 6001, 4827, 5412, 4579, - 3643, 4381, 4823, 6410, 5185, 4234, 3360, 3600, 4080, 3639, 4800, 5064, - 5520, 3573, 6002, 4828, 5413, 4580, 3644, 4382, 4824, 6411, 5186, 4235, - 3361, 3241, 4081, 3640, 4801, 5065, 5521, 3574, 6003, 4829, 5414, 4581, - 3645, 4383, 4825, 6412, 5187, 4236, 3362, 3242, 4082, 3641, 4802, 5066, - 5522, 3575, 6004, 4830, 5415, 4582, 3646, 4384, 4826, 6413, 5188, 4237, - 3363, 3243, 4083, 3642, 4803, 5067, 5523, 3576, 6005, 4831, 5416, 4583, - 3647, 4385, 4827, 6414, 5189, 4238, 3364, 3244, 4084, 3643, 4804, 5068, - 5524, 3577, 6006, 4832, 5417, 4584, 3648, 4386, 4828, 6415, 5190, 4239, - 3365, 3245, 4085, 3644, 4805, 5069, 5525, 3578, 6007, 4833, 5418, 4585, - 3649, 4387, 4829, 6416, 5191, 4240, 3366, 3246, 4086, 3645, 4806, 5070, - 5526, 3579, 6008, 4834, 5419, 4586, 3650, 4388, 4830, 6417, 5192, 4241, - 3367, 3247, 4087, 3646, 4807, 5071, 5527, 3580, 6009, 4835, 5420, 4587, - 3651, 4389, 4831, 6418, 5193, 4242, 3368, 3248, 4088, 3647, 4808, 5072, - 5528, 3581, 6010, 4836, 5421, 4588, 3652, 4390, 4832, 6419, 5194, 4243, - 3369, 3249, 4089, 3648, 4809, 5073, 5529, 3582, 6011, 4837, 5422, 4589, - 3653, 4391, 4833, 6420, 5195, 4244, 3370, 3250, 4090, 3649, 4810, 5074, - 5530, 3583, 6012, 4838, 5423, 4590, 3654, 4392, 4834, 6421, 5196, 4245, - 3371, 3251, 4091, 3650, 4811, 5075, 5531, 3584, 6013, 4839, 5424, 4591, - 3655, 4393, 4835, 6422, 5197, 4246, 3372, 3252, 4092, 3651, 4812, 5076, - 5532, 3585, 6014, 4840, 5425, 4592, 3656, 4394, 4836, 6423, 5198, 4247, - 3373, 3253, 4093, 3652, 4813, 5077, 5533, 3586, 6015, 4841, 5426, 4593, - 3657, 4395, 4837, 6424, 5199, 4248, 3374, 3254, 4094, 3653, 4814, 5078, - 5534, 3587, 6016, 4842, 5427, 4594, 3658, 4396, 4838, 6425, 5200, 4249, - 3375, 3255, 4095, 3654, 4815, 5079, 5535, 3588, 6017, 4843, 5428, 4595, - 3659, 4397, 4839, 6426, 5201, 4250, 3376, 3256, 4096, 3655, 4816, 5080, - 5536, 3589, 6018, 4844, 5429, 4596, 3660, 4398, 4840, 6427, 5202, 4251, - 3377, 3257, 4097, 3656, 4817, 5081, 5537, 3590, 6019, 4845, 5430, 4597, - 3661, 4399, 4841, 6428, 5203, 4252, 3378, 3258, 4098, 3657, 4818, 5082, - 5538, 3591, 6020, 4846, 5431, 4598, 3662, 4400, 4842, 6429, 5204, 4253, - 3379, 3259, 4099, 3658, 4819, 5083, 5539, 3592, 6021, 4847, 5432, 4599, - 3663, 4401, 4843, 6430, 5205, 4254, 3380, 3260, 4100, 3659, 4820, 5084, - 5540, 3593, 6022, 4848, 5433, 4600, 3664, 4402, 4844, 6431, 5206, 4255, - 3381, 3261, 4101, 3660, 4821, 5085, 5541, 3594, 6023, 4849, 5434, 4601, - 3665, 4403, 4845, 6432, 5207, 4256, 3382, 3262, 4102, 3661, 4822, 5086, - 5542, 3595, 6024, 4850, 5435, 4602, 3666, 4404, 4846, 6433, 5208, 4257, - 3383, 3263, 4103, 3662, 4823, 5087, 5543, 3596, 6025, 4851, 5436, 4603, - 3667, 4405, 4847, 6434, 5209, 4258, 3384, 3264, 4104, 3663, 4824, 5088, - 5544, 3597, 6026, 4852, 5437, 4604, 3668, 4406, 4848, 6435, 5210, 4259, - 3385, 3265, 4105, 3664, 4825, 5089, 5545, 3598, 6027, 4853, 5438, 4605, - 3669, 4407, 4849, 6436, 5211, 4260, 3386, 3266, 4106, 3665, 4826, 5090, - 5546, 3599, 6028, 4854, 5439, 4606, 3670, 4408, 4850, 6437, 5212, 4261, - 3387, 3267, 4107, 3666, 4827, 5091, 5547, 3600, 6029, 4855, 5440, 4607, - 3671, 4409, 4851, 6438, 5213, 4262, 3388, 3268, 4108, 3667, 4828, 5092, - 5548, 3241, 6030, 4856, 5441, 4608, 3672, 4410, 4852, 6439, 5214, 4263, - 3389, 3269, 4109, 3668, 4829, 5093, 5549, 3242, 6031, 4857, 5442, 4609, - 3673, 4411, 4853, 6440, 5215, 4264, 3390, 3270, 4110, 3669, 4830, 5094, - 5550, 3243, 6032, 4858, 5443, 4610, 3674, 4412, 4854, 6441, 5216, 4265, - 3391, 3271, 4111, 3670, 4831, 5095, 5551, 3244, 6033, 4859, 5444, 4611, - 3675, 4413, 4855, 6442, 5217, 4266, 3392, 3272, 4112, 3671, 4832, 5096, - 5552, 3245, 6034, 4860, 5445, 4612, 3676, 4414, 4856, 6443, 5218, 4267, - 3393, 3273, 4113, 3672, 4833, 5097, 5553, 3246, 6035, 4861, 5446, 4613, - 3677, 4415, 4857, 6444, 5219, 4268, 3394, 3274, 4114, 3673, 4834, 5098, - 5554, 3247, 6036, 4862, 5447, 4614, 3678, 4416, 4858, 6445, 5220, 4269, - 3395, 3275, 4115, 3674, 4835, 5099, 5555, 3248, 6037, 4863, 5448, 4615, - 3679, 4417, 4859, 6446, 5221, 4270, 3396, 3276, 4116, 3675, 4836, 5100, - 5556, 3249, 6038, 4864, 5449, 4616, 3680, 4418, 4860, 6447, 5222, 4271, - 3397, 3277, 4117, 3676, 4837, 5101, 5557, 3250, 6039, 4865, 5450, 4617, - 3681, 4419, 4861, 6448, 5223, 4272, 3398, 3278, 4118, 3677, 4838, 5102, - 5558, 3251, 6040, 4866, 5451, 4618, 3682, 4420, 4862, 6449, 5224, 4273, - 3399, 3279, 4119, 3678, 4839, 5103, 5559, 3252, 6041, 4867, 5452, 4619, - 3683, 4421, 4863, 6450, 5225, 4274, 3400, 3280, 4120, 3679, 4840, 5104, - 5560, 3253, 6042, 4868, 5453, 4620, 3684, 4422, 4864, 6451, 5226, 4275, - 3401, 3281, 4121, 3680, 4841, 5105, 5561, 3254, 6043, 4869, 5454, 4621, - 3685, 4423, 4865, 6452, 5227, 4276, 3402, 3282, 4122, 3681, 4842, 5106, - 5562, 3255, 6044, 4870, 5455, 4622, 3686, 4424, 4866, 6453, 5228, 4277, - 3403, 3283, 4123, 3682, 4843, 5107, 5563, 3256, 6045, 4871, 5456, 4623, - 3687, 4425, 4867, 6454, 5229, 4278, 3404, 3284, 4124, 3683, 4844, 5108, - 5564, 3257, 6046, 4872, 5457, 4624, 3688, 4426, 4868, 6455, 5230, 4279, - 3405, 3285, 4125, 3684, 4845, 5109, 5565, 3258, 6047, 4873, 5458, 4625, - 3689, 4427, 4869, 6456, 5231, 4280, 3406, 3286, 4126, 3685, 4846, 5110, - 5566, 3259, 6048, 4874, 5459, 4626, 3690, 4428, 4870, 6457, 5232, 4281, - 3407, 3287, 4127, 3686, 4847, 5111, 5567, 3260, 6049, 4875, 5460, 4627, - 3691, 4429, 4871, 6458, 5233, 4282, 3408, 3288, 4128, 3687, 4848, 5112, - 5568, 3261, 6050, 4876, 5461, 4628, 3692, 4430, 4872, 6459, 5234, 4283, - 3409, 3289, 4129, 3688, 4849, 5113, 5569, 3262, 6051, 4877, 5462, 4629, - 3693, 4431, 4873, 6460, 5235, 4284, 3410, 3290, 4130, 3689, 4850, 5114, - 5570, 3263, 6052, 4878, 5463, 4630, 3694, 4432, 4874, 6461, 5236, 4285, - 3411, 3291, 4131, 3690, 4851, 5115, 5571, 3264, 6053, 4879, 5464, 4631, - 3695, 4433, 4875, 6462, 5237, 4286, 3412, 3292, 4132, 3691, 4852, 5116, - 5572, 3265, 6054, 4880, 5465, 4632, 3696, 4434, 4876, 6463, 5238, 4287, - 3413, 3293, 4133, 3692, 4853, 5117, 5573, 3266, 6055, 4881, 5466, 4633, - 3697, 4435, 4877, 6464, 5239, 4288, 3414, 3294, 4134, 3693, 4854, 5118, - 5574, 3267, 6056, 4882, 5467, 4634, 3698, 4436, 4878, 6465, 5240, 4289, - 3415, 3295, 4135, 3694, 4855, 5119, 5575, 3268, 6057, 4883, 5468, 4635, - 3699, 4437, 4879, 6466, 5241, 4290, 3416, 3296, 4136, 3695, 4856, 5120, - 5576, 3269, 6058, 4884, 5469, 4636, 3700, 4438, 4880, 6467, 5242, 4291, - 3417, 3297, 4137, 3696, 4857, 5121, 5577, 3270, 6059, 4885, 5470, 4637, - 3701, 4439, 4881, 6468, 5243, 4292, 3418, 3298, 4138, 3697, 4858, 5122, - 5578, 3271, 6060, 4886, 5471, 4638, 3702, 4440, 4882, 6469, 5244, 4293, - 3419, 3299, 4139, 3698, 4859, 5123, 5579, 3272, 6061, 4887, 5472, 4639, - 3703, 4441, 4883, 6470, 5245, 4294, 3420, 3300, 4140, 3699, 4860, 5124, - 5580, 3273, 6062, 4888, 5473, 4640, 3704, 4442, 4884, 6471, 5246, 4295, - 3421, 3301, 4141, 3700, 4861, 5125, 5581, 3274, 6063, 4889, 5474, 4641, - 3705, 4443, 4885, 6472, 5247, 4296, 3422, 3302, 4142, 3701, 4862, 5126, - 5582, 3275, 6064, 4890, 5475, 4642, 3706, 4444, 4886, 6473, 5248, 4297, - 3423, 3303, 4143, 3702, 4863, 5127, 5583, 3276, 6065, 4891, 5476, 4643, - 3707, 4445, 4887, 6474, 5249, 4298, 3424, 3304, 4144, 3703, 4864, 5128, - 5584, 3277, 6066, 4892, 5477, 4644, 3708, 4446, 4888, 6475, 5250, 4299, - 3425, 3305, 4145, 3704, 4865, 5129, 5585, 3278, 6067, 4893, 5478, 4645, - 3709, 4447, 4889, 6476, 5251, 4300, 3426, 3306, 4146, 3705, 4866, 5130, - 5586, 3279, 6068, 4894, 5479, 4646, 3710, 4448, 4890, 6477, 5252, 4301, - 3427, 3307, 4147, 3706, 4867, 5131, 5587, 3280, 6069, 4895, 5480, 4647, - 3711, 4449, 4891, 6478, 5253, 4302, 3428, 3308, 4148, 3707, 4868, 5132, - 5588, 3281, 6070, 4896, 5481, 4648, 3712, 4450, 4892, 6479, 5254, 4303, - 3429, 3309, 4149, 3708, 4869, 5133, 5589, 3282, 6071, 4897, 5482, 4649, - 3713, 4451, 4893, 6480, 5255, 4304, 3430, 3310, 4150, 3709, 4870, 5134, - 5590, 3283, 6072, 4898, 5483, 4650, 3714, 4452, 4894, 6121, 5256, 4305, - 3431, 3311, 4151, 3710, 4871, 5135, 5591, 3284, 6073, 4899, 5484, 4651, - 3715, 4453, 4895, 6122, 5257, 4306, 3432, 3312, 4152, 3711, 4872, 5136, - 5592, 3285, 6074, 4900, 5485, 4652, 3716, 4454, 4896, 6123, 5258, 4307, - 3433, 3313, 4153, 3712, 4873, 5137, 5593, 3286, 6075, 4901, 5486, 4653, - 3717, 4455, 4897, 6124, 5259, 4308, 3434, 3314, 4154, 3713, 4874, 5138, - 5594, 3287, 6076, 4902, 5487, 4654, 3718, 4456, 4898, 6125, 5260, 4309, - 3435, 3315, 4155, 3714, 4875, 5139, 5595, 3288, 6077, 4903, 5488, 4655, - 3719, 4457, 4899, 6126, 5261, 4310, 3436, 3316, 4156, 3715, 4876, 5140, - 5596, 3289, 6078, 4904, 5489, 4656, 3720, 4458, 4900, 6127, 5262, 4311, - 3437, 3317, 4157, 3716, 4877, 5141, 5597, 3290, 6079, 4905, 5490, 4657, - 3721, 4459, 4901, 6128, 5263, 4312, 3438, 3318, 4158, 3717, 4878, 5142, - 5598, 3291, 6080, 4906, 5491, 4658, 3722, 4460, 4902, 6129, 5264, 4313, - 3439, 3319, 4159, 3718, 4879, 5143, 5599, 3292, 6081, 4907, 5492, 4659, - 3723, 4461, 4903, 6130, 5265, 4314, 3440, 3320, 4160, 3719, 4880, 5144, - 5600, 3293, 6082, 4908, 5493, 4660, 3724, 4462, 4904, 6131, 5266, 4315, - 3441, 3321, 4161, 3720, 4881, 5145, 5601, 3294, 6083, 4909, 5494, 4661, - 3725, 4463, 4905, 6132, 5267, 4316, 3442, 3322, 4162, 3721, 4882, 5146, - 5602, 3295, 6084, 4910, 5495, 4662, 3726, 4464, 4906, 6133, 5268, 4317, - 3443, 3323, 4163, 3722, 4883, 5147, 5603, 3296, 6085, 4911, 5496, 4663, - 3727, 4465, 4907, 6134, 5269, 4318, 3444, 3324, 4164, 3723, 4884, 5148, - 5604, 3297, 6086, 4912, 5497, 4664, 3728, 4466, 4908, 6135, 5270, 4319, - 3445, 3325, 4165, 3724, 4885, 5149, 5605, 3298, 6087, 4913, 5498, 4665, - 3729, 4467, 4909, 6136, 5271, 4320, 3446, 3326, 4166, 3725, 4886, 5150, - 5606, 3299, 6088, 4914, 5499, 4666, 3730, 4468, 4910, 6137, 5272, 3961, - 3447, 3327, 4167, 3726, 4887, 5151, 5607, 3300, 6089, 4915, 5500, 4667, - 3731, 4469, 4911, 6138, 5273, 3962, 3448, 3328, 4168, 3727, 4888, 5152, - 5608, 3301, 6090, 4916, 5501, 4668, 3732, 4470, 4912, 6139, 5274, 3963, - 3449, 3329, 4169, 3728, 4889, 5153, 5609, 3302, 6091, 4917, 5502, 4669, - 3733, 4471, 4913, 6140, 5275, 3964, 3450, 3330, 4170, 3729, 4890, 5154, - 5610, 3303, 6092, 4918, 5503, 4670, 3734, 4472, 4914, 6141, 5276, 3965, - 3451, 3331, 4171, 3730, 4891, 5155, 5401, 3304, 6093, 4919, 5504, 4671, - 3735, 4473, 4915, 6142, 5277, 3966, 3452, 3332, 4172, 3731, 4892, 5156, - 5402, 3305, 6094, 4920, 5505, 4672, 3736, 4474, 4916, 6143, 5278, 3967, - 3453, 3333, 4173, 3732, 4893, 5157, 5403, 3306, 6095, 4921, 5506, 4673, - 3737, 4475, 4917, 6144, 5279, 3968, 3454, 3334, 4174, 3733, 4894, 5158, - 5404, 3307, 6096, 4922, 5507, 4674, 3738, 4476, 4918, 6145, 5280, 3969, - 3455, 3335, 4175, 3734, 4895, 5159, 5405, 3308, 6097, 4923, 5508, 4675, - 3739, 4477, 4919, 6146, 5281, 3970, 3456, 3336, 4176, 3735, 4896, 5160, - 5406, 3309, 6098, 4924, 5509, 4676, 3740, 4478, 4920, 6147, 5282, 3971, - 3457, 3337, 4177, 3736, 4897, 5161, 5407, 3310, 6099, 4925, 5510, 4677, - 3741, 4479, 4921, 6148, 5283, 3972, 3458, 3338, 4178, 3737, 4898, 5162, - 5408, 3311, 6100, 4926, 5511, 4678, 3742, 4480, 4922, 6149, 5284, 3973, - 3459, 3339, 4179, 3738, 4899, 5163, 5409, 3312, 6101, 4927, 5512, 4679, - 3743, 4481, 4923, 6150, 5285, 3974, 3460, 3340, 4180, 3739, 4900, 5164, - 5410, 3313, 6102, 4928, 5513, 4680, 3744, 4482, 4924, 6151, 5286, 3975, - 3461, 3341, 4181, 3740, 4901, 5165, 5411, 3314, 6103, 4929, 5514, 4321, - 3745, 4483, 4925, 6152, 5287, 3976, 3462, 3342, 4182, 3741, 4902, 5166, - 5412, 3315, 6104, 4930, 5515, 4322, 3746, 4484, 4926, 6153, 5288, 3977, - 3463, 3343, 4183, 3742, 4903, 5167, 5413, 3316, 6105, 4931, 5516, 4323, - 3747, 4485, 4927, 6154, 5289, 3978, 3464, 3344, 4184, 3743, 4904, 5168, - 5414, 3317, 6106, 4932, 5517, 4324, 3748, 4486, 4928, 6155, 5290, 3979, - 3465, 3345, 4185, 3744, 4905, 5169, 5415, 3318, 6107, 4933, 5518, 4325, - 3749, 4487, 4929, 6156, 5291, 3980, 3466, 3346, 4186, 3745, 4906, 5170, - 5416, 3319, 6108, 4934, 5519, 4326, 3750, 4488, 4930, 6157, 5292, 3981, - 3467, 3347, 4187, 3746, 4907, 5171, 5417, 3320, 6109, 4935, 5520, 4327, - 3751, 4489, 4931, 6158, 5293, 3982, 3468, 3348, 4188, 3747, 4908, 5172, - 5418, 3321, 6110, 4936, 5521, 4328, 3752, 4490, 4932, 6159, 5294, 3983, - 3469, 3349, 4189, 3748, 4909, 5173, 5419, 3322, 6111, 4937, 5522, 4329, - 3753, 4491, 4933, 6160, 5295, 3984, 3470, 3350, 4190, 3749, 4910, 5174, - 5420, 3323, 6112, 4938, 5523, 4330, 3754, 4492, 4934, 6161, 5296, 3985, - 3471, 3351, 4191, 3750, 4911, 5175, 5421, 3324, 6113, 4939, 5524, 4331, - 3755, 4493, 4935, 6162, 5297, 3986, 3472, 3352, 4192, 3751, 4912, 5176, - 5422, 3325, 6114, 4940, 5525, 4332, 3756, 4494, 4936, 6163, 5298, 3987, - 3473, 3353, 4193, 3752, 4913, 5177, 5423, 3326, 6115, 4941, 5526, 4333, - 3757, 4495, 4937, 6164, 5299, 3988, 3474, 3354, 4194, 3753, 4914, 5178, - 5424, 3327, 6116, 4942, 5527, 4334, 3758, 4496, 4938, 6165, 5300, 3989, - 3475, 3355, 4195, 3754, 4915, 5179, 5425, 3328, 6117, 4943, 5528, 4335, - 3759, 4497, 4939, 6166, 5301, 3990, 3476, 3356, 4196, 3755, 4916, 5180, - 5426, 3329, 6118, 4944, 5529, 4336, 3760, 4498, 4940, 6167, 5302, 3991, - 3477, 3357, 4197, 3756, 4917, 5181, 5427, 3330, 6119, 4945, 5530, 4337, - 3761, 4499, 4941, 6168, 5303, 3992, 3478, 3358, 4198, 3757, 4918, 5182, - 5428, 3331, 6120, 4946, 5531, 4338, 3762, 4500, 4942, 6169, 5304, 3993, - 3479, 3359, 4199, 3758, 4919, 5183, 5429, 3332, 5761, 4947, 5532, 4339, - 3763, 4501, 4943, 6170, 5305, 3994, 3480, 3360, 4200, 3759, 4920, 5184, - 5430, 3333, 5762, 4948, 5533, 4340, 3764, 4502, 4944, 6171, 5306, 3995, - 3481, 3361, 4201, 3760, 4921, 5185, 5431, 3334, 5763, 4949, 5534, 4341, - 3765, 4503, 4945, 6172, 5307, 3996, 3482, 3362, 4202, 3761, 4922, 5186, - 5432, 3335, 5764, 4950, 5535, 4342, 3766, 4504, 4946, 6173, 5308, 3997, - 3483, 3363, 4203, 3762, 4923, 5187, 5433, 3336, 5765, 4951, 5536, 4343, - 3767, 4505, 4947, 6174, 5309, 3998, 3484, 3364, 4204, 3763, 4924, 5188, - 5434, 3337, 5766, 4952, 5537, 4344, 3768, 4506, 4948, 6175, 5310, 3999, - 3485, 3365, 4205, 3764, 4925, 5189, 5435, 3338, 5767, 4953, 5538, 4345, - 3769, 4507, 4949, 6176, 5311, 4000, 3486, 3366, 4206, 3765, 4926, 5190, - 5436, 3339, 5768, 4954, 5539, 4346, 3770, 4508, 4950, 6177, 5312, 4001, - 3487, 3367, 4207, 3766, 4927, 5191, 5437, 3340, 5769, 4955, 5540, 4347, - 3771, 4509, 4951, 6178, 5313, 4002, 3488, 3368, 4208, 3767, 4928, 5192, - 5438, 3341, 5770, 4956, 5541, 4348, 3772, 4510, 4952, 6179, 5314, 4003, - 3489, 3369, 4209, 3768, 4929, 5193, 5439, 3342, 5771, 4957, 5542, 4349, - 3773, 4511, 4953, 6180, 5315, 4004, 3490, 3370, 4210, 3769, 4930, 5194, - 5440, 3343, 5772, 4958, 5543, 4350, 3774, 4512, 4954, 6181, 5316, 4005, - 3491, 3371, 4211, 3770, 4931, 5195, 5441, 3344, 5773, 4959, 5544, 4351, - 3775, 4513, 4955, 6182, 5317, 4006, 3492, 3372, 4212, 3771, 4932, 5196, - 5442, 3345, 5774, 4960, 5545, 4352, 3776, 4514, 4956, 6183, 5318, 4007, - 3493, 3373, 4213, 3772, 4933, 5197, 5443, 3346, 5775, 4961, 5546, 4353, - 3777, 4515, 4957, 6184, 5319, 4008, 3494, 3374, 4214, 3773, 4934, 5198, - 5444, 3347, 5776, 4962, 5547, 4354, 3778, 4516, 4958, 6185, 5320, 4009, - 3495, 3375, 4215, 3774, 4935, 5199, 5445, 3348, 5777, 4963, 5548, 4355, - 3779, 4517, 4959, 6186, 5321, 4010, 3496, 3376, 4216, 3775, 4936, 5200, - 5446, 3349, 5778, 4964, 5549, 4356, 3780, 4518, 4960, 6187, 5322, 4011, - 3497, 3377, 4217, 3776, 4937, 5201, 5447, 3350, 5779, 4965, 5550, 4357, - 3781, 4519, 4961, 6188, 5323, 4012, 3498, 3378, 4218, 3777, 4938, 5202, - 5448, 3351, 5780, 4966, 5551, 4358, 3782, 4520, 4962, 6189, 5324, 4013, - 3499, 3379, 4219, 3778, 4939, 5203, 5449, 3352, 5781, 4967, 5552, 4359, - 3783, 4521, 4963, 6190, 5325, 4014, 3500, 3380, 4220, 3779, 4940, 5204, - 5450, 3353, 5782, 4968, 5553, 4360, 3784, 4522, 4964, 6191, 5326, 4015, - 3501, 3381, 4221, 3780, 4941, 5205, 5451, 3354, 5783, 4969, 5554, 4361, - 3785, 4523, 4965, 6192, 5327, 4016, 3502, 3382, 4222, 3781, 4942, 5206, - 5452, 3355, 5784, 4970, 5555, 4362, 3786, 4524, 4966, 6193, 5328, 4017, - 3503, 3383, 4223, 3782, 4943, 5207, 5453, 3356, 5785, 4971, 5556, 4363, - 3787, 4525, 4967, 6194, 5329, 4018, 3504, 3384, 4224, 3783, 4944, 5208, - 5454, 3357, 5786, 4972, 5557, 4364, 3788, 4526, 4968, 6195, 5330, 4019, - 3505, 3385, 4225, 3784, 4945, 5209, 5455, 3358, 5787, 4973, 5558, 4365, - 3789, 4527, 4969, 6196, 5331, 4020, 3506, 3386, 4226, 3785, 4946, 5210, - 5456, 3359, 5788, 4974, 5559, 4366, 3790, 4528, 4970, 6197, 5332, 4021, - 3507, 3387, 4227, 3786, 4947, 5211, 5457, 3360, 5789, 4975, 5560, 4367, - 3791, 4529, 4971, 6198, 5333, 4022, 3508, 3388, 4228, 3787, 4948, 5212, - 5458, 3361, 5790, 4976, 5561, 4368, 3792, 4530, 4972, 6199, 5334, 4023, - 3509, 3389, 4229, 3788, 4949, 5213, 5459, 3362, 5791, 4977, 5562, 4369, - 3793, 4531, 4973, 6200, 5335, 4024, 3510, 3390, 4230, 3789, 4950, 5214, - 5460, 3363, 5792, 4978, 5563, 4370, 3794, 4532, 4974, 6201, 5336, 4025, - 3511, 3391, 4231, 3790, 4951, 5215, 5461, 3364, 5793, 4979, 5564, 4371, - 3795, 4533, 4975, 6202, 5337, 4026, 3512, 3392, 4232, 3791, 4952, 5216, - 5462, 3365, 5794, 4980, 5565, 4372, 3796, 4534, 4976, 6203, 5338, 4027, - 3513, 3393, 4233, 3792, 4953, 5217, 5463, 3366, 5795, 4981, 5566, 4373, - 3797, 4535, 4977, 6204, 5339, 4028, 3514, 3394, 4234, 3793, 4954, 5218, - 5464, 3367, 5796, 4982, 5567, 4374, 3798, 4536, 4978, 6205, 5340, 4029, - 3515, 3395, 4235, 3794, 4955, 5219, 5465, 3368, 5797, 4983, 5568, 4375, - 3799, 4537, 4979, 6206, 5341, 4030, 3516, 3396, 4236, 3795, 4956, 5220, - 5466, 3369, 5798, 4984, 5569, 4376, 3800, 4538, 4980, 6207, 5342, 4031, - 3517, 3397, 4237, 3796, 4957, 5221, 5467, 3370, 5799, 4985, 5570, 4377, - 3801, 4539, 4981, 6208, 5343, 4032, 3518, 3398, 4238, 3797, 4958, 5222, - 5468, 3371, 5800, 4986, 5571, 4378, 3802, 4540, 4982, 6209, 5344, 4033, - 3519, 3399, 4239, 3798, 4959, 5223, 5469, 3372, 5801, 4987, 5572, 4379, - 3803, 4541, 4983, 6210, 5345, 4034, 3520, 3400, 4240, 3799, 4960, 5224, - 5470, 3373, 5802, 4988, 5573, 4380, 3804, 4542, 4984, 6211, 5346, 4035, - 3521, 3401, 4241, 3800, 4961, 5225, 5471, 3374, 5803, 4989, 5574, 4381, - 3805, 4543, 4985, 6212, 5347, 4036, 3522, 3402, 4242, 3801, 4962, 5226, - 5472, 3375, 5804, 4990, 5575, 4382, 3806, 4544, 4986, 6213, 5348, 4037, - 3523, 3403, 4243, 3802, 4963, 5227, 5473, 3376, 5805, 4991, 5576, 4383, - 3807, 4545, 4987, 6214, 5349, 4038, 3524, 3404, 4244, 3803, 4964, 5228, - 5474, 3377, 5806, 4992, 5577, 4384, 3808, 4546, 4988, 6215, 5350, 4039, - 3525, 3405, 4245, 3804, 4965, 5229, 5475, 3378, 5807, 4993, 5578, 4385, - 3809, 4547, 4989, 6216, 5351, 4040, 3526, 3406, 4246, 3805, 4966, 5230, - 5476, 3379, 5808, 4994, 5579, 4386, 3810, 4548, 4990, 6217, 5352, 4041, - 3527, 3407, 4247, 3806, 4967, 5231, 5477, 3380, 5809, 4995, 5580, 4387, - 3811, 4549, 4991, 6218, 5353, 4042, 3528, 3408, 4248, 3807, 4968, 5232, - 5478, 3381, 5810, 4996, 5581, 4388, 3812, 4550, 4992, 6219, 5354, 4043, - 3529, 3409, 4249, 3808, 4969, 5233, 5479, 3382, 5811, 4997, 5582, 4389, - 3813, 4551, 4993, 6220, 5355, 4044, 3530, 3410, 4250, 3809, 4970, 5234, - 5480, 3383, 5812, 4998, 5583, 4390, 3814, 4552, 4994, 6221, 5356, 4045, - 3531, 3411, 4251, 3810, 4971, 5235, 5481, 3384, 5813, 4999, 5584, 4391, - 3815, 4553, 4995, 6222, 5357, 4046, 3532, 3412, 4252, 3811, 4972, 5236, - 5482, 3385, 5814, 5000, 5585, 4392, 3816, 4554, 4996, 6223, 5358, 4047, - 3533, 3413, 4253, 3812, 4973, 5237, 5483, 3386, 5815, 5001, 5586, 4393, - 3817, 4555, 4997, 6224, 5359, 4048, 3534, 3414, 4254, 3813, 4974, 5238, - 5484, 3387, 5816, 5002, 5587, 4394, 3818, 4556, 4998, 6225, 5360, 4049, - 3535, 3415, 4255, 3814, 4975, 5239, 5485, 3388, 5817, 5003, 5588, 4395, - 3819, 4557, 4999, 6226, 5361, 4050, 3536, 3416, 4256, 3815, 4976, 5240, - 5486, 3389, 5818, 5004, 5589, 4396, 3820, 4558, 5000, 6227, 5362, 4051, - 3537, 3417, 4257, 3816, 4977, 5241, 5487, 3390, 5819, 5005, 5590, 4397, - 3821, 4559, 5001, 6228, 5363, 4052, 3538, 3418, 4258, 3817, 4978, 5242, - 5488, 3391, 5820, 5006, 5591, 4398, 3822, 4560, 5002, 6229, 5364, 4053, - 3539, 3419, 4259, 3818, 4979, 5243, 5489, 3392, 5821, 5007, 5592, 4399, - 3823, 4561, 5003, 6230, 5365, 4054, 3540, 3420, 4260, 3819, 4980, 5244, - 5490, 3393, 5822, 5008, 5593, 4400, 3824, 4562, 5004, 6231, 5366, 4055, - 3541, 3421, 4261, 3820, 4981, 5245, 5491, 3394, 5823, 5009, 5594, 4401, - 3825, 4563, 5005, 6232, 5367, 4056, 3542, 3422, 4262, 3821, 4982, 5246, - 5492, 3395, 5824, 5010, 5595, 4402, 3826, 4564, 5006, 6233, 5368, 4057, - 3543, 3423, 4263, 3822, 4983, 5247, 5493, 3396, 5825, 5011, 5596, 4403, - 3827, 4565, 5007, 6234, 5369, 4058, 3544, 3424, 4264, 3823, 4984, 5248, - 5494, 3397, 5826, 5012, 5597, 4404, 3828, 4566, 5008, 6235, 5370, 4059, - 3545, 3425, 4265, 3824, 4985, 5249, 5495, 3398, 5827, 5013, 5598, 4405, - 3829, 4567, 5009, 6236, 5371, 4060, 3546, 3426, 4266, 3825, 4986, 5250, - 5496, 3399, 5828, 5014, 5599, 4406, 3830, 4568, 5010, 6237, 5372, 4061, - 3547, 3427, 4267, 3826, 4987, 5251, 5497, 3400, 5829, 5015, 5600, 4407, - 3831, 4569, 5011, 6238, 5373, 4062, 3548, 3428, 4268, 3827, 4988, 5252, - 5498, 3401, 5830, 5016, 5601, 4408, 3832, 4570, 5012, 6239, 5374, 4063, - 3549, 3429, 4269, 3828, 4989, 5253, 5499, 3402, 5831, 5017, 5602, 4409, - 3833, 4571, 5013, 6240, 5375, 4064, 3550, 3430, 4270, 3829, 4990, 5254, - 5500, 3403, 5832, 5018, 5603, 4410, 3834, 4572, 5014, 6241, 5376, 4065, - 3551, 3431, 4271, 3830, 4991, 5255, 5501, 3404, 5833, 5019, 5604, 4411, - 3835, 4573, 5015, 6242, 5377, 4066, 3552, 3432, 4272, 3831, 4992, 5256, - 5502, 3405, 5834, 5020, 5605, 4412, 3836, 4574, 5016, 6243, 5378, 4067, - 3553, 3433, 4273, 3832, 4993, 5257, 5503, 3406, 5835, 5021, 5606, 4413, - 3837, 4575, 5017, 6244, 5379, 4068, 3554, 3434, 4274, 3833, 4994, 5258, - 5504, 3407, 5836, 5022, 5607, 4414, 3838, 4576, 5018, 6245, 5380, 4069, - 3555, 3435, 4275, 3834, 4995, 5259, 5505, 3408, 5837, 5023, 5608, 4415, - 3839, 4577, 5019, 6246, 5381, 4070, 3556, 3436, 4276, 3835, 4996, 5260, - 5506, 3409, 5838, 5024, 5609, 4416, 3840, 4578, 5020, 6247, 5382, 4071, - 3557, 3437, 4277, 3836, 4997, 5261, 5507, 3410, 5839, 5025, 5610, 4417, - 3841, 4579, 5021, 6248, 5383, 4072, 3558, 3438, 4278, 3837, 4998, 5262, - 5508, 3411, 5840, 5026, 5611, 4418, 3842, 4580, 5022, 6249, 5384, 4073, - 3559, 3439, 4279, 3838, 4999, 5263, 5509, 3412, 5841, 5027, 5612, 4419, - 3843, 4581, 5023, 6250, 5385, 4074, 3560, 3440, 4280, 3839, 5000, 5264, - 5510, 3413, 5842, 5028, 5613, 4420, 3844, 4582, 5024, 6251, 5386, 4075, - 3561, 3441, 4281, 3840, 5001, 5265, 5511, 3414, 5843, 5029, 5614, 4421, - 3845, 4583, 5025, 6252, 5387, 4076, 3562, 3442, 4282, 3841, 5002, 5266, - 5512, 3415, 5844, 5030, 5615, 4422, 3846, 4584, 5026, 6253, 5388, 4077, - 3563, 3443, 4283, 3842, 5003, 5267, 5513, 3416, 5845, 5031, 5616, 4423, - 3847, 4585, 5027, 6254, 5389, 4078, 3564, 3444, 4284, 3843, 5004, 5268, - 5514, 3417, 5846, 5032, 5617, 4424, 3848, 4586, 5028, 6255, 5390, 4079, - 3565, 3445, 4285, 3844, 5005, 5269, 5515, 3418, 5847, 5033, 5618, 4425, - 3849, 4587, 5029, 6256, 5391, 4080, 3566, 3446, 4286, 3845, 5006, 5270, - 5516, 3419, 5848, 5034, 5619, 4426, 3850, 4588, 5030, 6257, 5392, 4081, - 3567, 3447, 4287, 3846, 5007, 5271, 5517, 3420, 5849, 5035, 5620, 4427, - 3851, 4589, 5031, 6258, 5393, 4082, 3568, 3448, 4288, 3847, 5008, 5272, - 5518, 3421, 5850, 5036, 5621, 4428, 3852, 4590, 5032, 6259, 5394, 4083, - 3569, 3449, 4289, 3848, 5009, 5273, 5519, 3422, 5851, 5037, 5622, 4429, - 3853, 4591, 5033, 6260, 5395, 4084, 3570, 3450, 4290, 3849, 5010, 5274, - 5520, 3423, 5852, 5038, 5623, 4430, 3854, 4592, 5034, 6261, 5396, 4085, - 3571, 3451, 4291, 3850, 5011, 5275, 5521, 3424, 5853, 5039, 5624, 4431, - 3855, 4593, 5035, 6262, 5397, 4086, 3572, 3452, 4292, 3851, 5012, 5276, - 5522, 3425, 5854, 5040, 5625, 4432, 3856, 4594, 5036, 6263, 5398, 4087, - 3573, 3453, 4293, 3852, 5013, 5277, 5523, 3426, 5855, 4681, 5626, 4433, - 3857, 4595, 5037, 6264, 5399, 4088, 3574, 3454, 4294, 3853, 5014, 5278, - 5524, 3427, 5856, 4682, 5627, 4434, 3858, 4596, 5038, 6265, 5400, 4089, - 3575, 3455, 4295, 3854, 5015, 5279, 5525, 3428, 5857, 4683, 5628, 4435, - 3859, 4597, 5039, 6266, 5041, 4090, 3576, 3456, 4296, 3855, 5016, 5280, - 5526, 3429, 5858, 4684, 5629, 4436, 3860, 4598, 5040, 6267, 5042, 4091, - 3577, 3457, 4297, 3856, 5017, 5281, 5527, 3430, 5859, 4685, 5630, 4437, - 3861, 4599, 4681, 6268, 5043, 4092, 3578, 3458, 4298, 3857, 5018, 5282, - 5528, 3431, 5860, 4686, 5631, 4438, 3862, 4600, 4682, 6269, 5044, 4093, - 3579, 3459, 4299, 3858, 5019, 5283, 5529, 3432, 5861, 4687, 5632, 4439, - 3863, 4601, 4683, 6270, 5045, 4094, 3580, 3460, 4300, 3859, 5020, 5284, - 5530, 3433, 5862, 4688, 5633, 4440, 3864, 4602, 4684, 6271, 5046, 4095, - 3581, 3461, 4301, 3860, 5021, 5285, 5531, 3434, 5863, 4689, 5634, 4441, - 3865, 4603, 4685, 6272, 5047, 4096, 3582, 3462, 4302, 3861, 5022, 5286, - 5532, 3435, 5864, 4690, 5635, 4442, 3866, 4604, 4686, 6273, 5048, 4097, - 3583, 3463, 4303, 3862, 5023, 5287, 5533, 3436, 5865, 4691, 5636, 4443, - 3867, 4605, 4687, 6274, 5049, 4098, 3584, 3464, 4304, 3863, 5024, 5288, - 5534, 3437, 5866, 4692, 5637, 4444, 3868, 4606, 4688, 6275, 5050, 4099, - 3585, 3465, 4305, 3864, 5025, 5289, 5535, 3438, 5867, 4693, 5638, 4445, - 3869, 4607, 4689, 6276, 5051, 4100, 3586, 3466, 4306, 3865, 5026, 5290, - 5536, 3439, 5868, 4694, 5639, 4446, 3870, 4608, 4690, 6277, 5052, 4101, - 3587, 3467, 4307, 3866, 5027, 5291, 5537, 3440, 5869, 4695, 5640, 4447, - 3871, 4609, 4691, 6278, 5053, 4102, 3588, 3468, 4308, 3867, 5028, 5292, - 5538, 3441, 5870, 4696, 5641, 4448, 3872, 4610, 4692, 6279, 5054, 4103, - 3589, 3469, 4309, 3868, 5029, 5293, 5539, 3442, 5871, 4697, 5642, 4449, - 3873, 4611, 4693, 6280, 5055, 4104, 3590, 3470, 4310, 3869, 5030, 5294, - 5540, 3443, 5872, 4698, 5643, 4450, 3874, 4612, 4694, 6281, 5056, 4105, - 3591, 3471, 4311, 3870, 5031, 5295, 5541, 3444, 5873, 4699, 5644, 4451, - 3875, 4613, 4695, 6282, 5057, 4106, 3592, 3472, 4312, 3871, 5032, 5296, - 5542, 3445, 5874, 4700, 5645, 4452, 3876, 4614, 4696, 6283, 5058, 4107, - 3593, 3473, 4313, 3872, 5033, 5297, 5543, 3446, 5875, 4701, 5646, 4453, - 3877, 4615, 4697, 6284, 5059, 4108, 3594, 3474, 4314, 3873, 5034, 5298, - 5544, 3447, 5876, 4702, 5647, 4454, 3878, 4616, 4698, 6285, 5060, 4109, - 3595, 3475, 4315, 3874, 5035, 5299, 5545, 3448, 5877, 4703, 5648, 4455, - 3879, 4617, 4699, 6286, 5061, 4110, 3596, 3476, 4316, 3875, 5036, 5300, - 5546, 3449, 5878, 4704, 5649, 4456, 3880, 4618, 4700, 6287, 5062, 4111, - 3597, 3477, 4317, 3876, 5037, 5301, 5547, 3450, 5879, 4705, 5650, 4457, - 3881, 4619, 4701, 6288, 5063, 4112, 3598, 3478, 4318, 3877, 5038, 5302, - 5548, 3451, 5880, 4706, 5651, 4458, 3882, 4620, 4702, 6289, 5064, 4113, - 3599, 3479, 4319, 3878, 5039, 5303, 5549, 3452, 5881, 4707, 5652, 4459, - 3883, 4621, 4703, 6290, 5065, 4114, 3600, 3480, 4320, 3879, 5040, 5304, - 5550, 3453, 5882, 4708, 5653, 4460, 3884, 4622, 4704, 6291, 5066, 4115, - 4182, 3601, 6068, 4321, 6165, 5305, 5551, 5761, 6121, 6481, 6841, 7201, - 7561, 7343, 6827, 8641, 8783, 6929, 4183, 3602, 6069, 4322, 6166, 5306, - 5552, 5762, 6122, 6482, 6842, 7202, 7562, 7344, 6828, 8642, 8784, 6930, - 4184, 3603, 6070, 4323, 6167, 5307, 5553, 5763, 6123, 6483, 6843, 7203, - 7563, 7345, 6829, 8643, 8785, 6931, 4185, 3604, 6071, 4324, 6168, 5308, - 5554, 5764, 6124, 6484, 6844, 7204, 7564, 7346, 6830, 8644, 8786, 6932, - 4186, 3605, 6072, 4325, 6169, 5309, 5555, 5765, 6125, 6485, 6845, 7205, - 7565, 7347, 6831, 8645, 8787, 6933, 4187, 3606, 6073, 4326, 6170, 5310, - 5556, 5766, 6126, 6486, 6846, 7206, 7566, 7348, 6832, 8646, 8788, 6934, - 4188, 3607, 6074, 4327, 6171, 5311, 5557, 5767, 6127, 6487, 6847, 7207, - 7567, 7349, 6833, 8647, 8789, 6935, 4189, 3608, 6075, 4328, 6172, 5312, - 5558, 5768, 6128, 6488, 6848, 7208, 7568, 7350, 6834, 8648, 8790, 6936, - 4190, 3609, 6076, 4329, 6173, 5313, 5559, 5769, 6129, 6489, 6849, 7209, - 7569, 7351, 6835, 8649, 8791, 6937, 4191, 3610, 6077, 4330, 6174, 5314, - 5560, 5770, 6130, 6490, 6850, 7210, 7570, 7352, 6836, 8650, 8792, 6938, - 4192, 3611, 6078, 4331, 6175, 5315, 5561, 5771, 6131, 6491, 6851, 7211, - 7571, 7353, 6837, 8651, 8793, 6939, 4193, 3612, 6079, 4332, 6176, 5316, - 5562, 5772, 6132, 6492, 6852, 7212, 7572, 7354, 6838, 8652, 8794, 6940, - 4194, 3613, 6080, 4333, 6177, 5317, 5563, 5773, 6133, 6493, 6853, 7213, - 7573, 7355, 6839, 8653, 8795, 6941, 4195, 3614, 6081, 4334, 6178, 5318, - 5564, 5774, 6134, 6494, 6854, 7214, 7574, 7356, 6840, 8654, 8796, 6942, - 4196, 3615, 6082, 4335, 6179, 5319, 5565, 5775, 6135, 6495, 6855, 7215, - 7575, 7357, 6481, 8655, 8797, 6943, 4197, 3616, 6083, 4336, 6180, 5320, - 5566, 5776, 6136, 6496, 6856, 7216, 7576, 7358, 6482, 8656, 8798, 6944, - 4198, 3617, 6084, 4337, 6181, 5321, 5567, 5777, 6137, 6497, 6857, 7217, - 7577, 7359, 6483, 8657, 8799, 6945, 4199, 3618, 6085, 4338, 6182, 5322, - 5568, 5778, 6138, 6498, 6858, 7218, 7578, 7360, 6484, 8658, 8800, 6946, - 4200, 3619, 6086, 4339, 6183, 5323, 5569, 5779, 6139, 6499, 6859, 7219, - 7579, 7361, 6485, 8659, 8801, 6947, 4201, 3620, 6087, 4340, 6184, 5324, - 5570, 5780, 6140, 6500, 6860, 7220, 7580, 7362, 6486, 8660, 8802, 6948, - 4202, 3621, 6088, 4341, 6185, 5325, 5571, 5781, 6141, 6501, 6861, 7221, - 7581, 7363, 6487, 8661, 8803, 6949, 4203, 3622, 6089, 4342, 6186, 5326, - 5572, 5782, 6142, 6502, 6862, 7222, 7582, 7364, 6488, 8662, 8804, 6950, - 4204, 3623, 6090, 4343, 6187, 5327, 5573, 5783, 6143, 6503, 6863, 7223, - 7583, 7365, 6489, 8663, 8805, 6951, 4205, 3624, 6091, 4344, 6188, 5328, - 5574, 5784, 6144, 6504, 6864, 7224, 7584, 7366, 6490, 8664, 8806, 6952, - 4206, 3625, 6092, 4345, 6189, 5329, 5575, 5785, 6145, 6505, 6865, 7225, - 7585, 7367, 6491, 8665, 8807, 6953, 4207, 3626, 6093, 4346, 6190, 5330, - 5576, 5786, 6146, 6506, 6866, 7226, 7586, 7368, 6492, 8666, 8808, 6954, - 4208, 3627, 6094, 4347, 6191, 5331, 5577, 5787, 6147, 6507, 6867, 7227, - 7587, 7369, 6493, 8667, 8809, 6955, 4209, 3628, 6095, 4348, 6192, 5332, - 5578, 5788, 6148, 6508, 6868, 7228, 7588, 7370, 6494, 8668, 8810, 6956, - 4210, 3629, 6096, 4349, 6193, 5333, 5579, 5789, 6149, 6509, 6869, 7229, - 7589, 7371, 6495, 8669, 8811, 6957, 4211, 3630, 6097, 4350, 6194, 5334, - 5580, 5790, 6150, 6510, 6870, 7230, 7590, 7372, 6496, 8670, 8812, 6958, - 4212, 3631, 6098, 4351, 6195, 5335, 5581, 5791, 6151, 6511, 6871, 7231, - 7591, 7373, 6497, 8671, 8813, 6959, 4213, 3632, 6099, 4352, 6196, 5336, - 5582, 5792, 6152, 6512, 6872, 7232, 7592, 7374, 6498, 8672, 8814, 6960, - 4214, 3633, 6100, 4353, 6197, 5337, 5583, 5793, 6153, 6513, 6873, 7233, - 7593, 7375, 6499, 8673, 8815, 6961, 4215, 3634, 6101, 4354, 6198, 5338, - 5584, 5794, 6154, 6514, 6874, 7234, 7594, 7376, 6500, 8674, 8816, 6962, - 4216, 3635, 6102, 4355, 6199, 5339, 5585, 5795, 6155, 6515, 6875, 7235, - 7595, 7377, 6501, 8675, 8817, 6963, 4217, 3636, 6103, 4356, 6200, 5340, - 5586, 5796, 6156, 6516, 6876, 7236, 7596, 7378, 6502, 8676, 8818, 6964, - 4218, 3637, 6104, 4357, 6201, 5341, 5587, 5797, 6157, 6517, 6877, 7237, - 7597, 7379, 6503, 8677, 8819, 6965, 4219, 3638, 6105, 4358, 6202, 5342, - 5588, 5798, 6158, 6518, 6878, 7238, 7598, 7380, 6504, 8678, 8820, 6966, - 4220, 3639, 6106, 4359, 6203, 5343, 5589, 5799, 6159, 6519, 6879, 7239, - 7599, 7381, 6505, 8679, 8821, 6967, 4221, 3640, 6107, 4360, 6204, 5344, - 5590, 5800, 6160, 6520, 6880, 7240, 7600, 7382, 6506, 8680, 8822, 6968, - 4222, 3641, 6108, 4361, 6205, 5345, 5591, 5801, 6161, 6521, 6881, 7241, - 7601, 7383, 6507, 8681, 8823, 6969, 4223, 3642, 6109, 4362, 6206, 5346, - 5592, 5802, 6162, 6522, 6882, 7242, 7602, 7384, 6508, 8682, 8824, 6970, - 4224, 3643, 6110, 4363, 6207, 5347, 5593, 5803, 6163, 6523, 6883, 7243, - 7603, 7385, 6509, 8683, 8825, 6971, 4225, 3644, 6111, 4364, 6208, 5348, - 5594, 5804, 6164, 6524, 6884, 7244, 7604, 7386, 6510, 8684, 8826, 6972, - 4226, 3645, 6112, 4365, 6209, 5349, 5595, 5805, 6165, 6525, 6885, 7245, - 7605, 7387, 6511, 8685, 8827, 6973, 4227, 3646, 6113, 4366, 6210, 5350, - 5596, 5806, 6166, 6526, 6886, 7246, 7606, 7388, 6512, 8686, 8828, 6974, - 4228, 3647, 6114, 4367, 6211, 5351, 5597, 5807, 6167, 6527, 6887, 7247, - 7607, 7389, 6513, 8687, 8829, 6975, 4229, 3648, 6115, 4368, 6212, 5352, - 5598, 5808, 6168, 6528, 6888, 7248, 7608, 7390, 6514, 8688, 8830, 6976, - 4230, 3649, 6116, 4369, 6213, 5353, 5599, 5809, 6169, 6529, 6889, 7249, - 7609, 7391, 6515, 8689, 8831, 6977, 4231, 3650, 6117, 4370, 6214, 5354, - 5600, 5810, 6170, 6530, 6890, 7250, 7610, 7392, 6516, 8690, 8832, 6978, - 4232, 3651, 6118, 4371, 6215, 5355, 5601, 5811, 6171, 6531, 6891, 7251, - 7611, 7393, 6517, 8691, 8833, 6979, 4233, 3652, 6119, 4372, 6216, 5356, - 5602, 5812, 6172, 6532, 6892, 7252, 7612, 7394, 6518, 8692, 8834, 6980, - 4234, 3653, 6120, 4373, 6217, 5357, 5603, 5813, 6173, 6533, 6893, 7253, - 7613, 7395, 6519, 8693, 8835, 6981, 4235, 3654, 5761, 4374, 6218, 5358, - 5604, 5814, 6174, 6534, 6894, 7254, 7614, 7396, 6520, 8694, 8836, 6982, - 4236, 3655, 5762, 4375, 6219, 5359, 5605, 5815, 6175, 6535, 6895, 7255, - 7615, 7397, 6521, 8695, 8837, 6983, 4237, 3656, 5763, 4376, 6220, 5360, - 5606, 5816, 6176, 6536, 6896, 7256, 7616, 7398, 6522, 8696, 8838, 6984, - 4238, 3657, 5764, 4377, 6221, 5361, 5607, 5817, 6177, 6537, 6897, 7257, - 7617, 7399, 6523, 8697, 8839, 6985, 4239, 3658, 5765, 4378, 6222, 5362, - 5608, 5818, 6178, 6538, 6898, 7258, 7618, 7400, 6524, 8698, 8840, 6986, - 4240, 3659, 5766, 4379, 6223, 5363, 5609, 5819, 6179, 6539, 6899, 7259, - 7619, 7401, 6525, 8699, 8841, 6987, 4241, 3660, 5767, 4380, 6224, 5364, - 5610, 5820, 6180, 6540, 6900, 7260, 7620, 7402, 6526, 8700, 8842, 6988, - 4242, 3661, 5768, 4381, 6225, 5365, 5611, 5821, 6181, 6541, 6901, 7261, - 7621, 7403, 6527, 8701, 8843, 6989, 4243, 3662, 5769, 4382, 6226, 5366, - 5612, 5822, 6182, 6542, 6902, 7262, 7622, 7404, 6528, 8702, 8844, 6990, - 4244, 3663, 5770, 4383, 6227, 5367, 5613, 5823, 6183, 6543, 6903, 7263, - 7623, 7405, 6529, 8703, 8845, 6991, 4245, 3664, 5771, 4384, 6228, 5368, - 5614, 5824, 6184, 6544, 6904, 7264, 7624, 7406, 6530, 8704, 8846, 6992, - 4246, 3665, 5772, 4385, 6229, 5369, 5615, 5825, 6185, 6545, 6905, 7265, - 7625, 7407, 6531, 8705, 8847, 6993, 4247, 3666, 5773, 4386, 6230, 5370, - 5616, 5826, 6186, 6546, 6906, 7266, 7626, 7408, 6532, 8706, 8848, 6994, - 4248, 3667, 5774, 4387, 6231, 5371, 5617, 5827, 6187, 6547, 6907, 7267, - 7627, 7409, 6533, 8707, 8849, 6995, 4249, 3668, 5775, 4388, 6232, 5372, - 5618, 5828, 6188, 6548, 6908, 7268, 7628, 7410, 6534, 8708, 8850, 6996, - 4250, 3669, 5776, 4389, 6233, 5373, 5619, 5829, 6189, 6549, 6909, 7269, - 7629, 7411, 6535, 8709, 8851, 6997, 4251, 3670, 5777, 4390, 6234, 5374, - 5620, 5830, 6190, 6550, 6910, 7270, 7630, 7412, 6536, 8710, 8852, 6998, - 4252, 3671, 5778, 4391, 6235, 5375, 5621, 5831, 6191, 6551, 6911, 7271, - 7631, 7413, 6537, 8711, 8853, 6999, 4253, 3672, 5779, 4392, 6236, 5376, - 5622, 5832, 6192, 6552, 6912, 7272, 7632, 7414, 6538, 8712, 8854, 7000, - 4254, 3673, 5780, 4393, 6237, 5377, 5623, 5833, 6193, 6553, 6913, 7273, - 7633, 7415, 6539, 8713, 8855, 7001, 4255, 3674, 5781, 4394, 6238, 5378, - 5624, 5834, 6194, 6554, 6914, 7274, 7634, 7416, 6540, 8714, 8856, 7002, - 4256, 3675, 5782, 4395, 6239, 5379, 5625, 5835, 6195, 6555, 6915, 7275, - 7635, 7417, 6541, 8715, 8857, 7003, 4257, 3676, 5783, 4396, 6240, 5380, - 5626, 5836, 6196, 6556, 6916, 7276, 7636, 7418, 6542, 8716, 8858, 7004, - 4258, 3677, 5784, 4397, 6241, 5381, 5627, 5837, 6197, 6557, 6917, 7277, - 7637, 7419, 6543, 8717, 8859, 7005, 4259, 3678, 5785, 4398, 6242, 5382, - 5628, 5838, 6198, 6558, 6918, 7278, 7638, 7420, 6544, 8718, 8860, 7006, - 4260, 3679, 5786, 4399, 6243, 5383, 5629, 5839, 6199, 6559, 6919, 7279, - 7639, 7421, 6545, 8719, 8861, 7007, 4261, 3680, 5787, 4400, 6244, 5384, - 5630, 5840, 6200, 6560, 6920, 7280, 7640, 7422, 6546, 8720, 8862, 7008, - 4262, 3681, 5788, 4401, 6245, 5385, 5631, 5841, 6201, 6561, 6921, 7281, - 7641, 7423, 6547, 8721, 8863, 7009, 4263, 3682, 5789, 4402, 6246, 5386, - 5632, 5842, 6202, 6562, 6922, 7282, 7642, 7424, 6548, 8722, 8864, 7010, - 4264, 3683, 5790, 4403, 6247, 5387, 5633, 5843, 6203, 6563, 6923, 7283, - 7643, 7425, 6549, 8723, 8865, 7011, 4265, 3684, 5791, 4404, 6248, 5388, - 5634, 5844, 6204, 6564, 6924, 7284, 7644, 7426, 6550, 8724, 8866, 7012, - 4266, 3685, 5792, 4405, 6249, 5389, 5635, 5845, 6205, 6565, 6925, 7285, - 7645, 7427, 6551, 8725, 8867, 7013, 4267, 3686, 5793, 4406, 6250, 5390, - 5636, 5846, 6206, 6566, 6926, 7286, 7646, 7428, 6552, 8726, 8868, 7014, - 4268, 3687, 5794, 4407, 6251, 5391, 5637, 5847, 6207, 6567, 6927, 7287, - 7647, 7429, 6553, 8727, 8869, 7015, 4269, 3688, 5795, 4408, 6252, 5392, - 5638, 5848, 6208, 6568, 6928, 7288, 7648, 7430, 6554, 8728, 8870, 7016, - 4270, 3689, 5796, 4409, 6253, 5393, 5639, 5849, 6209, 6569, 6929, 7289, - 7649, 7431, 6555, 8729, 8871, 7017, 4271, 3690, 5797, 4410, 6254, 5394, - 5640, 5850, 6210, 6570, 6930, 7290, 7650, 7432, 6556, 8730, 8872, 7018, - 4272, 3691, 5798, 4411, 6255, 5395, 5641, 5851, 6211, 6571, 6931, 7291, - 7651, 7433, 6557, 8731, 8873, 7019, 4273, 3692, 5799, 4412, 6256, 5396, - 5642, 5852, 6212, 6572, 6932, 7292, 7652, 7434, 6558, 8732, 8874, 7020, - 4274, 3693, 5800, 4413, 6257, 5397, 5643, 5853, 6213, 6573, 6933, 7293, - 7653, 7435, 6559, 8733, 8875, 7021, 4275, 3694, 5801, 4414, 6258, 5398, - 5644, 5854, 6214, 6574, 6934, 7294, 7654, 7436, 6560, 8734, 8876, 7022, - 4276, 3695, 5802, 4415, 6259, 5399, 5645, 5855, 6215, 6575, 6935, 7295, - 7655, 7437, 6561, 8735, 8877, 7023, 4277, 3696, 5803, 4416, 6260, 5400, - 5646, 5856, 6216, 6576, 6936, 7296, 7656, 7438, 6562, 8736, 8878, 7024, - 4278, 3697, 5804, 4417, 6261, 5137, 5647, 5857, 6217, 6577, 6937, 7297, - 7657, 7439, 6563, 8737, 8879, 7025, 4279, 3698, 5805, 4418, 6262, 5138, - 5648, 5858, 6218, 6578, 6938, 7298, 7658, 7440, 6564, 8738, 8880, 7026, - 4280, 3699, 5806, 4419, 6263, 5139, 5649, 5859, 6219, 6579, 6939, 7299, - 7659, 7441, 6565, 8739, 8881, 7027, 4281, 3700, 5807, 4420, 6264, 5140, - 5650, 5860, 6220, 6580, 6940, 7300, 7660, 7442, 6566, 8740, 8882, 7028, - 4282, 3701, 5808, 4421, 6265, 5141, 5651, 5861, 6221, 6581, 6941, 7301, - 7661, 7443, 6567, 8741, 8883, 7029, 4283, 3702, 5809, 4422, 6266, 5142, - 5652, 5862, 6222, 6582, 6942, 7302, 7662, 7444, 6568, 8742, 8884, 7030, - 4284, 3703, 5810, 4423, 6267, 5143, 5653, 5863, 6223, 6583, 6943, 7303, - 7663, 7445, 6569, 8743, 8885, 7031, 4285, 3704, 5811, 4424, 6268, 5144, - 5654, 5864, 6224, 6584, 6944, 7304, 7664, 7446, 6570, 8744, 8886, 7032, - 4286, 3705, 5812, 4425, 6269, 5145, 5655, 5865, 6225, 6585, 6945, 7305, - 7665, 7447, 6571, 8745, 8887, 7033, 4287, 3706, 5813, 4426, 6270, 5146, - 5656, 5866, 6226, 6586, 6946, 7306, 7666, 7448, 6572, 8746, 8888, 7034, - 4288, 3707, 5814, 4427, 6271, 5147, 5657, 5867, 6227, 6587, 6947, 7307, - 7667, 7449, 6573, 8747, 8889, 7035, 4289, 3708, 5815, 4428, 6272, 5148, - 5658, 5868, 6228, 6588, 6948, 7308, 7668, 7450, 6574, 8748, 8890, 7036, - 4290, 3709, 5816, 4429, 6273, 5149, 5659, 5869, 6229, 6589, 6949, 7309, - 7669, 7451, 6575, 8749, 8891, 7037, 4291, 3710, 5817, 4430, 6274, 5150, - 5660, 5870, 6230, 6590, 6950, 7310, 7670, 7452, 6576, 8750, 8892, 7038, - 4292, 3711, 5818, 4431, 6275, 5151, 5661, 5871, 6231, 6591, 6951, 7311, - 7671, 7453, 6577, 8751, 8893, 7039, 4293, 3712, 5819, 4432, 6276, 5152, - 5662, 5872, 6232, 6592, 6952, 7312, 7672, 7454, 6578, 8752, 8894, 7040, - 4294, 3713, 5820, 4433, 6277, 5153, 5663, 5873, 6233, 6593, 6953, 7313, - 7673, 7455, 6579, 8753, 8895, 7041, 4295, 3714, 5821, 4434, 6278, 5154, - 5664, 5874, 6234, 6594, 6954, 7314, 7674, 7456, 6580, 8754, 8896, 7042, - 4296, 3715, 5822, 4435, 6279, 5155, 5665, 5875, 6235, 6595, 6955, 7315, - 7675, 7457, 6581, 8755, 8897, 7043, 4297, 3716, 5823, 4436, 6280, 5156, - 5666, 5876, 6236, 6596, 6956, 7316, 7676, 7458, 6582, 8756, 8898, 7044, - 4298, 3717, 5824, 4437, 6281, 5157, 5667, 5877, 6237, 6597, 6957, 7317, - 7677, 7459, 6583, 8757, 8899, 7045, 4299, 3718, 5825, 4438, 6282, 5158, - 5668, 5878, 6238, 6598, 6958, 7318, 7678, 7460, 6584, 8758, 8900, 7046, - 4300, 3719, 5826, 4439, 6283, 5159, 5669, 5879, 6239, 6599, 6959, 7319, - 7679, 7461, 6585, 8759, 8901, 7047, 4301, 3720, 5827, 4440, 6284, 5160, - 5670, 5880, 6240, 6600, 6960, 7320, 7680, 7462, 6586, 8760, 8902, 7048, - 4302, 3721, 5828, 4441, 6285, 5161, 5671, 5881, 6241, 6601, 6961, 7321, - 7681, 7463, 6587, 8761, 8903, 7049, 4303, 3722, 5829, 4442, 6286, 5162, - 5672, 5882, 6242, 6602, 6962, 7322, 7682, 7464, 6588, 8762, 8904, 7050, - 4304, 3723, 5830, 4443, 6287, 5163, 5673, 5883, 6243, 6603, 6963, 7323, - 7683, 7465, 6589, 8763, 8905, 7051, 4305, 3724, 5831, 4444, 6288, 5164, - 5674, 5884, 6244, 6604, 6964, 7324, 7684, 7466, 6590, 8764, 8906, 7052, - 4306, 3725, 5832, 4445, 6289, 5165, 5675, 5885, 6245, 6605, 6965, 7325, - 7685, 7467, 6591, 8765, 8907, 7053, 4307, 3726, 5833, 4446, 6290, 5166, - 5676, 5886, 6246, 6606, 6966, 7326, 7686, 7468, 6592, 8766, 8908, 7054, - 4308, 3727, 5834, 4447, 6291, 5167, 5677, 5887, 6247, 6607, 6967, 7327, - 7687, 7469, 6593, 8767, 8909, 7055, 4309, 3728, 5835, 4448, 6292, 5168, - 5678, 5888, 6248, 6608, 6968, 7328, 7688, 7470, 6594, 8768, 8910, 7056, - 4310, 3729, 5836, 4449, 6293, 5169, 5679, 5889, 6249, 6609, 6969, 7329, - 7689, 7471, 6595, 8769, 8911, 7057, 4311, 3730, 5837, 4450, 6294, 5170, - 5680, 5890, 6250, 6610, 6970, 7330, 7690, 7472, 6596, 8770, 8912, 7058, - 4312, 3731, 5838, 4451, 6295, 5171, 5681, 5891, 6251, 6611, 6971, 7331, - 7691, 7473, 6597, 8771, 8913, 7059, 4313, 3732, 5839, 4452, 6296, 5172, - 5682, 5892, 6252, 6612, 6972, 7332, 7692, 7474, 6598, 8772, 8914, 7060, - 4314, 3733, 5840, 4453, 6297, 5173, 5683, 5893, 6253, 6613, 6973, 7333, - 7693, 7475, 6599, 8773, 8915, 7061, 4315, 3734, 5841, 4454, 6298, 5174, - 5684, 5894, 6254, 6614, 6974, 7334, 7694, 7476, 6600, 8774, 8916, 7062, - 4316, 3735, 5842, 4455, 6299, 5175, 5685, 5895, 6255, 6615, 6975, 7335, - 7695, 7477, 6601, 8775, 8917, 7063, 4317, 3736, 5843, 4456, 6300, 5176, - 5686, 5896, 6256, 6616, 6976, 7336, 7696, 7478, 6602, 8776, 8918, 7064, - 4318, 3737, 5844, 4457, 6301, 5177, 5687, 5897, 6257, 6617, 6977, 7337, - 7697, 7479, 6603, 8777, 8919, 7065, 4319, 3738, 5845, 4458, 6302, 5178, - 5688, 5898, 6258, 6618, 6978, 7338, 7698, 7480, 6604, 8778, 8920, 7066, - 4320, 3739, 5846, 4459, 6303, 5179, 5689, 5899, 6259, 6619, 6979, 7339, - 7699, 7481, 6605, 8779, 8921, 7067, 3961, 3740, 5847, 4460, 6304, 5180, - 5690, 5900, 6260, 6620, 6980, 7340, 7700, 7482, 6606, 8780, 8922, 7068, - 3962, 3741, 5848, 4461, 6305, 5181, 5691, 5901, 6261, 6621, 6981, 7341, - 7701, 7483, 6607, 8781, 8923, 7069, 3963, 3742, 5849, 4462, 6306, 5182, - 5692, 5902, 6262, 6622, 6982, 7342, 7702, 7484, 6608, 8782, 8924, 7070, - 3964, 3743, 5850, 4463, 6307, 5183, 5693, 5903, 6263, 6623, 6983, 7343, - 7703, 7485, 6609, 8783, 8925, 7071, 3965, 3744, 5851, 4464, 6308, 5184, - 5694, 5904, 6264, 6624, 6984, 7344, 7704, 7486, 6610, 8784, 8926, 7072, - 3966, 3745, 5852, 4465, 6309, 5185, 5695, 5905, 6265, 6625, 6985, 7345, - 7705, 7487, 6611, 8785, 8927, 7073, 3967, 3746, 5853, 4466, 6310, 5186, - 5696, 5906, 6266, 6626, 6986, 7346, 7706, 7488, 6612, 8786, 8928, 7074, - 3968, 3747, 5854, 4467, 6311, 5187, 5697, 5907, 6267, 6627, 6987, 7347, - 7707, 7489, 6613, 8787, 8929, 7075, 3969, 3748, 5855, 4468, 6312, 5188, - 5698, 5908, 6268, 6628, 6988, 7348, 7708, 7490, 6614, 8788, 8930, 7076, - 3970, 3749, 5856, 4469, 6313, 5189, 5699, 5909, 6269, 6629, 6989, 7349, - 7709, 7491, 6615, 8789, 8931, 7077, 3971, 3750, 5857, 4470, 6314, 5190, - 5700, 5910, 6270, 6630, 6990, 7350, 7710, 7492, 6616, 8790, 8932, 7078, - 3972, 3751, 5858, 4471, 6315, 5191, 5701, 5911, 6271, 6631, 6991, 7351, - 7711, 7493, 6617, 8791, 8933, 7079, 3973, 3752, 5859, 4472, 6316, 5192, - 5702, 5912, 6272, 6632, 6992, 7352, 7712, 7494, 6618, 8792, 8934, 7080, - 3974, 3753, 5860, 4473, 6317, 5193, 5703, 5913, 6273, 6633, 6993, 7353, - 7713, 7495, 6619, 8793, 8935, 7081, 3975, 3754, 5861, 4474, 6318, 5194, - 5704, 5914, 6274, 6634, 6994, 7354, 7714, 7496, 6620, 8794, 8936, 7082, - 3976, 3755, 5862, 4475, 6319, 5195, 5705, 5915, 6275, 6635, 6995, 7355, - 7715, 7497, 6621, 8795, 8937, 7083, 3977, 3756, 5863, 4476, 6320, 5196, - 5706, 5916, 6276, 6636, 6996, 7356, 7716, 7498, 6622, 8796, 8938, 7084, - 3978, 3757, 5864, 4477, 6321, 5197, 5707, 5917, 6277, 6637, 6997, 7357, - 7717, 7499, 6623, 8797, 8939, 7085, 3979, 3758, 5865, 4478, 6322, 5198, - 5708, 5918, 6278, 6638, 6998, 7358, 7718, 7500, 6624, 8798, 8940, 7086, - 3980, 3759, 5866, 4479, 6323, 5199, 5709, 5919, 6279, 6639, 6999, 7359, - 7719, 7501, 6625, 8799, 8941, 7087, 3981, 3760, 5867, 4480, 6324, 5200, - 5710, 5920, 6280, 6640, 7000, 7360, 7720, 7502, 6626, 8800, 8942, 7088, - 3982, 3761, 5868, 4481, 6325, 5201, 5711, 5921, 6281, 6641, 7001, 7361, - 7721, 7503, 6627, 8801, 8943, 7089, 3983, 3762, 5869, 4482, 6326, 5202, - 5712, 5922, 6282, 6642, 7002, 7362, 7722, 7504, 6628, 8802, 8944, 7090, - 3984, 3763, 5870, 4483, 6327, 5203, 5713, 5923, 6283, 6643, 7003, 7363, - 7723, 7505, 6629, 8803, 8945, 7091, 3985, 3764, 5871, 4484, 6328, 5204, - 5714, 5924, 6284, 6644, 7004, 7364, 7724, 7506, 6630, 8804, 8946, 7092, - 3986, 3765, 5872, 4485, 6329, 5205, 5715, 5925, 6285, 6645, 7005, 7365, - 7725, 7507, 6631, 8805, 8947, 7093, 3987, 3766, 5873, 4486, 6330, 5206, - 5716, 5926, 6286, 6646, 7006, 7366, 7726, 7508, 6632, 8806, 8948, 7094, - 3988, 3767, 5874, 4487, 6331, 5207, 5717, 5927, 6287, 6647, 7007, 7367, - 7727, 7509, 6633, 8807, 8949, 7095, 3989, 3768, 5875, 4488, 6332, 5208, - 5718, 5928, 6288, 6648, 7008, 7368, 7728, 7510, 6634, 8808, 8950, 7096, - 3990, 3769, 5876, 4489, 6333, 5209, 5719, 5929, 6289, 6649, 7009, 7369, - 7729, 7511, 6635, 8809, 8951, 7097, 3991, 3770, 5877, 4490, 6334, 5210, - 5720, 5930, 6290, 6650, 7010, 7370, 7730, 7512, 6636, 8810, 8952, 7098, - 3992, 3771, 5878, 4491, 6335, 5211, 5721, 5931, 6291, 6651, 7011, 7371, - 7731, 7513, 6637, 8811, 8953, 7099, 3993, 3772, 5879, 4492, 6336, 5212, - 5722, 5932, 6292, 6652, 7012, 7372, 7732, 7514, 6638, 8812, 8954, 7100, - 3994, 3773, 5880, 4493, 6337, 5213, 5723, 5933, 6293, 6653, 7013, 7373, - 7733, 7515, 6639, 8813, 8955, 7101, 3995, 3774, 5881, 4494, 6338, 5214, - 5724, 5934, 6294, 6654, 7014, 7374, 7734, 7516, 6640, 8814, 8956, 7102, - 3996, 3775, 5882, 4495, 6339, 5215, 5725, 5935, 6295, 6655, 7015, 7375, - 7735, 7517, 6641, 8815, 8957, 7103, 3997, 3776, 5883, 4496, 6340, 5216, - 5726, 5936, 6296, 6656, 7016, 7376, 7736, 7518, 6642, 8816, 8958, 7104, - 3998, 3777, 5884, 4497, 6341, 5217, 5727, 5937, 6297, 6657, 7017, 7377, - 7737, 7519, 6643, 8817, 8959, 7105, 3999, 3778, 5885, 4498, 6342, 5218, - 5728, 5938, 6298, 6658, 7018, 7378, 7738, 7520, 6644, 8818, 8960, 7106, - 4000, 3779, 5886, 4499, 6343, 5219, 5729, 5939, 6299, 6659, 7019, 7379, - 7739, 7521, 6645, 8819, 8961, 7107, 4001, 3780, 5887, 4500, 6344, 5220, - 5730, 5940, 6300, 6660, 7020, 7380, 7740, 7522, 6646, 8820, 8962, 7108, - 4002, 3781, 5888, 4501, 6345, 5221, 5731, 5941, 6301, 6661, 7021, 7381, - 7741, 7523, 6647, 8821, 8963, 7109, 4003, 3782, 5889, 4502, 6346, 5222, - 5732, 5942, 6302, 6662, 7022, 7382, 7742, 7524, 6648, 8822, 8964, 7110, - 4004, 3783, 5890, 4503, 6347, 5223, 5733, 5943, 6303, 6663, 7023, 7383, - 7743, 7525, 6649, 8823, 8965, 7111, 4005, 3784, 5891, 4504, 6348, 5224, - 5734, 5944, 6304, 6664, 7024, 7384, 7744, 7526, 6650, 8824, 8966, 7112, - 4006, 3785, 5892, 4505, 6349, 5225, 5735, 5945, 6305, 6665, 7025, 7385, - 7745, 7527, 6651, 8825, 8967, 7113, 4007, 3786, 5893, 4506, 6350, 5226, - 5736, 5946, 6306, 6666, 7026, 7386, 7746, 7528, 6652, 8826, 8968, 7114, - 4008, 3787, 5894, 4507, 6351, 5227, 5737, 5947, 6307, 6667, 7027, 7387, - 7747, 7529, 6653, 8827, 8969, 7115, 4009, 3788, 5895, 4508, 6352, 5228, - 5738, 5948, 6308, 6668, 7028, 7388, 7748, 7530, 6654, 8828, 8970, 7116, - 4010, 3789, 5896, 4509, 6353, 5229, 5739, 5949, 6309, 6669, 7029, 7389, - 7749, 7531, 6655, 8829, 8971, 7117, 4011, 3790, 5897, 4510, 6354, 5230, - 5740, 5950, 6310, 6670, 7030, 7390, 7750, 7532, 6656, 8830, 8972, 7118, - 4012, 3791, 5898, 4511, 6355, 5231, 5741, 5951, 6311, 6671, 7031, 7391, - 7751, 7533, 6657, 8831, 8973, 7119, 4013, 3792, 5899, 4512, 6356, 5232, - 5742, 5952, 6312, 6672, 7032, 7392, 7752, 7534, 6658, 8832, 8974, 7120, - 4014, 3793, 5900, 4513, 6357, 5233, 5743, 5953, 6313, 6673, 7033, 7393, - 7753, 7535, 6659, 8833, 8975, 7121, 4015, 3794, 5901, 4514, 6358, 5234, - 5744, 5954, 6314, 6674, 7034, 7394, 7754, 7536, 6660, 8834, 8976, 7122, - 4016, 3795, 5902, 4515, 6359, 5235, 5745, 5955, 6315, 6675, 7035, 7395, - 7755, 7537, 6661, 8835, 8977, 7123, 4017, 3796, 5903, 4516, 6360, 5236, - 5746, 5956, 6316, 6676, 7036, 7396, 7756, 7538, 6662, 8836, 8978, 7124, - 4018, 3797, 5904, 4517, 6361, 5237, 5747, 5957, 6317, 6677, 7037, 7397, - 7757, 7539, 6663, 8837, 8979, 7125, 4019, 3798, 5905, 4518, 6362, 5238, - 5748, 5958, 6318, 6678, 7038, 7398, 7758, 7540, 6664, 8838, 8980, 7126, - 4020, 3799, 5906, 4519, 6363, 5239, 5749, 5959, 6319, 6679, 7039, 7399, - 7759, 7541, 6665, 8839, 8981, 7127, 4021, 3800, 5907, 4520, 6364, 5240, - 5750, 5960, 6320, 6680, 7040, 7400, 7760, 7542, 6666, 8840, 8982, 7128, - 4022, 3801, 5908, 4521, 6365, 5241, 5751, 5961, 6321, 6681, 7041, 7401, - 7761, 7543, 6667, 8841, 8983, 7129, 4023, 3802, 5909, 4522, 6366, 5242, - 5752, 5962, 6322, 6682, 7042, 7402, 7762, 7544, 6668, 8842, 8984, 7130, - 4024, 3803, 5910, 4523, 6367, 5243, 5753, 5963, 6323, 6683, 7043, 7403, - 7763, 7545, 6669, 8843, 8985, 7131, 4025, 3804, 5911, 4524, 6368, 5244, - 5754, 5964, 6324, 6684, 7044, 7404, 7764, 7546, 6670, 8844, 8986, 7132, - 4026, 3805, 5912, 4525, 6369, 5245, 5755, 5965, 6325, 6685, 7045, 7405, - 7765, 7547, 6671, 8845, 8987, 7133, 4027, 3806, 5913, 4526, 6370, 5246, - 5756, 5966, 6326, 6686, 7046, 7406, 7766, 7548, 6672, 8846, 8988, 7134, - 4028, 3807, 5914, 4527, 6371, 5247, 5757, 5967, 6327, 6687, 7047, 7407, - 7767, 7549, 6673, 8847, 8989, 7135, 4029, 3808, 5915, 4528, 6372, 5248, - 5758, 5968, 6328, 6688, 7048, 7408, 7768, 7550, 6674, 8848, 8990, 7136, - 4030, 3809, 5916, 4529, 6373, 5249, 5759, 5969, 6329, 6689, 7049, 7409, - 7769, 7551, 6675, 8849, 8991, 7137, 4031, 3810, 5917, 4530, 6374, 5250, - 5760, 5970, 6330, 6690, 7050, 7410, 7770, 7552, 6676, 8850, 8992, 7138, - 4032, 3811, 5918, 4531, 6375, 5251, 5611, 5971, 6331, 6691, 7051, 7411, - 7771, 7553, 6677, 8851, 8993, 7139, 4033, 3812, 5919, 4532, 6376, 5252, - 5612, 5972, 6332, 6692, 7052, 7412, 7772, 7554, 6678, 8852, 8994, 7140, - 4034, 3813, 5920, 4533, 6377, 5253, 5613, 5973, 6333, 6693, 7053, 7413, - 7773, 7555, 6679, 8853, 8995, 7141, 4035, 3814, 5921, 4534, 6378, 5254, - 5614, 5974, 6334, 6694, 7054, 7414, 7774, 7556, 6680, 8854, 8996, 7142, - 4036, 3815, 5922, 4535, 6379, 5255, 5615, 5975, 6335, 6695, 7055, 7415, - 7775, 7557, 6681, 8855, 8997, 7143, 4037, 3816, 5923, 4536, 6380, 5256, - 5616, 5976, 6336, 6696, 7056, 7416, 7776, 7558, 6682, 8856, 8998, 7144, - 4038, 3817, 5924, 4537, 6381, 5257, 5617, 5977, 6337, 6697, 7057, 7417, - 7777, 7559, 6683, 8857, 8999, 7145, 4039, 3818, 5925, 4538, 6382, 5258, - 5618, 5978, 6338, 6698, 7058, 7418, 7778, 7560, 6684, 8858, 9000, 7146, - 4040, 3819, 5926, 4539, 6383, 5259, 5619, 5979, 6339, 6699, 7059, 7419, - 7779, 7201, 6685, 8859, 8641, 7147, 4041, 3820, 5927, 4540, 6384, 5260, - 5620, 5980, 6340, 6700, 7060, 7420, 7780, 7202, 6686, 8860, 8642, 7148, - 4042, 3821, 5928, 4541, 6385, 5261, 5621, 5981, 6341, 6701, 7061, 7421, - 7781, 7203, 6687, 8861, 8643, 7149, 4043, 3822, 5929, 4542, 6386, 5262, - 5622, 5982, 6342, 6702, 7062, 7422, 7782, 7204, 6688, 8862, 8644, 7150, - 4044, 3823, 5930, 4543, 6387, 5263, 5623, 5983, 6343, 6703, 7063, 7423, - 7783, 7205, 6689, 8863, 8645, 7151, 4045, 3824, 5931, 4544, 6388, 5264, - 5624, 5984, 6344, 6704, 7064, 7424, 7784, 7206, 6690, 8864, 8646, 7152, - 4046, 3825, 5932, 4545, 6389, 5265, 5625, 5985, 6345, 6705, 7065, 7425, - 7785, 7207, 6691, 8865, 8647, 7153, 4047, 3826, 5933, 4546, 6390, 5266, - 5626, 5986, 6346, 6706, 7066, 7426, 7786, 7208, 6692, 8866, 8648, 7154, - 4048, 3827, 5934, 4547, 6391, 5267, 5627, 5987, 6347, 6707, 7067, 7427, - 7787, 7209, 6693, 8867, 8649, 7155, 4049, 3828, 5935, 4548, 6392, 5268, - 5628, 5988, 6348, 6708, 7068, 7428, 7788, 7210, 6694, 8868, 8650, 7156, - 4050, 3829, 5936, 4549, 6393, 5269, 5629, 5989, 6349, 6709, 7069, 7429, - 7789, 7211, 6695, 8869, 8651, 7157, 4051, 3830, 5937, 4550, 6394, 5270, - 5630, 5990, 6350, 6710, 7070, 7430, 7790, 7212, 6696, 8870, 8652, 7158, - 4052, 3831, 5938, 4551, 6395, 5271, 5631, 5991, 6351, 6711, 7071, 7431, - 7791, 7213, 6697, 8871, 8653, 7159, 4053, 3832, 5939, 4552, 6396, 5272, - 5632, 5992, 6352, 6712, 7072, 7432, 7792, 7214, 6698, 8872, 8654, 7160, - 4054, 3833, 5940, 4553, 6397, 5273, 5633, 5993, 6353, 6713, 7073, 7433, - 7793, 7215, 6699, 8873, 8655, 7161, 4055, 3834, 5941, 4554, 6398, 5274, - 5634, 5994, 6354, 6714, 7074, 7434, 7794, 7216, 6700, 8874, 8656, 7162, - 4056, 3835, 5942, 4555, 6399, 5275, 5635, 5995, 6355, 6715, 7075, 7435, - 7795, 7217, 6701, 8875, 8657, 7163, 4057, 3836, 5943, 4556, 6400, 5276, - 5636, 5996, 6356, 6716, 7076, 7436, 7796, 7218, 6702, 8876, 8658, 7164, - 4058, 3837, 5944, 4557, 6401, 5277, 5637, 5997, 6357, 6717, 7077, 7437, - 7797, 7219, 6703, 8877, 8659, 7165, 4059, 3838, 5945, 4558, 6402, 5278, - 5638, 5998, 6358, 6718, 7078, 7438, 7798, 7220, 6704, 8878, 8660, 7166, - 4060, 3839, 5946, 4559, 6403, 5279, 5639, 5999, 6359, 6719, 7079, 7439, - 7799, 7221, 6705, 8879, 8661, 7167, 4061, 3840, 5947, 4560, 6404, 5280, - 5640, 6000, 6360, 6720, 7080, 7440, 7800, 7222, 6706, 8880, 8662, 7168, - 4062, 3841, 5948, 4561, 6405, 5281, 5641, 6001, 6361, 6721, 7081, 7441, - 7801, 7223, 6707, 8881, 8663, 7169, 4063, 3842, 5949, 4562, 6406, 5282, - 5642, 6002, 6362, 6722, 7082, 7442, 7802, 7224, 6708, 8882, 8664, 7170, - 4064, 3843, 5950, 4563, 6407, 5283, 5643, 6003, 6363, 6723, 7083, 7443, - 7803, 7225, 6709, 8883, 8665, 7171, 4065, 3844, 5951, 4564, 6408, 5284, - 5644, 6004, 6364, 6724, 7084, 7444, 7804, 7226, 6710, 8884, 8666, 7172, - 4066, 3845, 5952, 4565, 6409, 5285, 5645, 6005, 6365, 6725, 7085, 7445, - 7805, 7227, 6711, 8885, 8667, 7173, 4067, 3846, 5953, 4566, 6410, 5286, - 5646, 6006, 6366, 6726, 7086, 7446, 7806, 7228, 6712, 8886, 8668, 7174, - 4068, 3847, 5954, 4567, 6411, 5287, 5647, 6007, 6367, 6727, 7087, 7447, - 7807, 7229, 6713, 8887, 8669, 7175, 4069, 3848, 5955, 4568, 6412, 5288, - 5648, 6008, 6368, 6728, 7088, 7448, 7808, 7230, 6714, 8888, 8670, 7176, - 4070, 3849, 5956, 4569, 6413, 5289, 5649, 6009, 6369, 6729, 7089, 7449, - 7809, 7231, 6715, 8889, 8671, 7177, 4071, 3850, 5957, 4570, 6414, 5290, - 5650, 6010, 6370, 6730, 7090, 7450, 7810, 7232, 6716, 8890, 8672, 7178, - 4072, 3851, 5958, 4571, 6415, 5291, 5651, 6011, 6371, 6731, 7091, 7451, - 7811, 7233, 6717, 8891, 8673, 7179, 4073, 3852, 5959, 4572, 6416, 5292, - 5652, 6012, 6372, 6732, 7092, 7452, 7812, 7234, 6718, 8892, 8674, 7180, - 4074, 3853, 5960, 4573, 6417, 5293, 5653, 6013, 6373, 6733, 7093, 7453, - 7813, 7235, 6719, 8893, 8675, 7181, 4075, 3854, 5961, 4574, 6418, 5294, - 5654, 6014, 6374, 6734, 7094, 7454, 7814, 7236, 6720, 8894, 8676, 7182, - 4076, 3855, 5962, 4575, 6419, 5295, 5655, 6015, 6375, 6735, 7095, 7455, - 7815, 7237, 6721, 8895, 8677, 7183, 4077, 3856, 5963, 4576, 6420, 5296, - 5656, 6016, 6376, 6736, 7096, 7456, 7816, 7238, 6722, 8896, 8678, 7184, - 4078, 3857, 5964, 4577, 6421, 5297, 5657, 6017, 6377, 6737, 7097, 7457, - 7817, 7239, 6723, 8897, 8679, 7185, 4079, 3858, 5965, 4578, 6422, 5298, - 5658, 6018, 6378, 6738, 7098, 7458, 7818, 7240, 6724, 8898, 8680, 7186, - 4080, 3859, 5966, 4579, 6423, 5299, 5659, 6019, 6379, 6739, 7099, 7459, - 7819, 7241, 6725, 8899, 8681, 7187, 4081, 3860, 5967, 4580, 6424, 5300, - 5660, 6020, 6380, 6740, 7100, 7460, 7820, 7242, 6726, 8900, 8682, 7188, - 4082, 3861, 5968, 4581, 6425, 5301, 5661, 6021, 6381, 6741, 7101, 7461, - 7821, 7243, 6727, 8901, 8683, 7189, 4083, 3862, 5969, 4582, 6426, 5302, - 5662, 6022, 6382, 6742, 7102, 7462, 7822, 7244, 6728, 8902, 8684, 7190, - 4084, 3863, 5970, 4583, 6427, 5303, 5663, 6023, 6383, 6743, 7103, 7463, - 7823, 7245, 6729, 8903, 8685, 7191, 4085, 3864, 5971, 4584, 6428, 5304, - 5664, 6024, 6384, 6744, 7104, 7464, 7824, 7246, 6730, 8904, 8686, 7192, - 4086, 3865, 5972, 4585, 6429, 5305, 5665, 6025, 6385, 6745, 7105, 7201, - 7825, 7247, 6731, 8905, 8687, 7193, 4087, 3866, 5973, 4586, 6430, 5306, - 5666, 6026, 6386, 6746, 7106, 7202, 7826, 7248, 6732, 8906, 8688, 7194, - 4088, 3867, 5974, 4587, 6431, 5307, 5667, 6027, 6387, 6747, 7107, 7203, - 7827, 7249, 6733, 8907, 8689, 7195, 4089, 3868, 5975, 4588, 6432, 5308, - 5668, 6028, 6388, 6748, 7108, 7204, 7828, 7250, 6734, 8908, 8690, 7196, - 4090, 3869, 5976, 4589, 6433, 5309, 5669, 6029, 6389, 6749, 7109, 7205, - 7829, 7251, 6735, 8909, 8691, 7197, 4091, 3870, 5977, 4590, 6434, 5310, - 5670, 6030, 6390, 6750, 7110, 7206, 7830, 7252, 6736, 8910, 8692, 7198, - 4092, 3871, 5978, 4591, 6435, 5311, 5671, 6031, 6391, 6751, 7111, 7207, - 7831, 7253, 6737, 8911, 8693, 7199, 4093, 3872, 5979, 4592, 6436, 5312, - 5672, 6032, 6392, 6752, 7112, 7208, 7832, 7254, 6738, 8912, 8694, 7200, - 4094, 3873, 5980, 4593, 6437, 5313, 5673, 6033, 6393, 6753, 7113, 7209, - 7833, 7255, 6739, 8913, 8695, 6841, 4095, 3874, 5981, 4594, 6438, 5314, - 5674, 6034, 6394, 6754, 7114, 7210, 7834, 7256, 6740, 8914, 8696, 6842, - 4096, 3875, 5982, 4595, 6439, 5315, 5675, 6035, 6395, 6755, 7115, 7211, - 7835, 7257, 6741, 8915, 8697, 6843, 4097, 3876, 5983, 4596, 6440, 5316, - 5676, 6036, 6396, 6756, 7116, 7212, 7836, 7258, 6742, 8916, 8698, 6844, - 4098, 3877, 5984, 4597, 6441, 5317, 5677, 6037, 6397, 6757, 7117, 7213, - 7837, 7259, 6743, 8917, 8699, 6845, 4099, 3878, 5985, 4598, 6442, 5318, - 5678, 6038, 6398, 6758, 7118, 7214, 7838, 7260, 6744, 8918, 8700, 6846, - 4100, 3879, 5986, 4599, 6443, 5319, 5679, 6039, 6399, 6759, 7119, 7215, - 7839, 7261, 6745, 8919, 8701, 6847, 4101, 3880, 5987, 4600, 6444, 5320, - 5680, 6040, 6400, 6760, 7120, 7216, 7840, 7262, 6746, 8920, 8702, 6848, - 4102, 3881, 5988, 4601, 6445, 5321, 5681, 6041, 6401, 6761, 7121, 7217, - 7841, 7263, 6747, 8921, 8703, 6849, 4103, 3882, 5989, 4602, 6446, 5322, - 5682, 6042, 6402, 6762, 7122, 7218, 7842, 7264, 6748, 8922, 8704, 6850, - 4104, 3883, 5990, 4603, 6447, 5323, 5683, 6043, 6403, 6763, 7123, 7219, - 7843, 7265, 6749, 8923, 8705, 6851, 4105, 3884, 5991, 4604, 6448, 5324, - 5684, 6044, 6404, 6764, 7124, 7220, 7844, 7266, 6750, 8924, 8706, 6852, - 4106, 3885, 5992, 4605, 6449, 5325, 5685, 6045, 6405, 6765, 7125, 7221, - 7845, 7267, 6751, 8925, 8707, 6853, 4107, 3886, 5993, 4606, 6450, 5326, - 5686, 6046, 6406, 6766, 7126, 7222, 7846, 7268, 6752, 8926, 8708, 6854, - 4108, 3887, 5994, 4607, 6451, 5327, 5687, 6047, 6407, 6767, 7127, 7223, - 7847, 7269, 6753, 8927, 8709, 6855, 4109, 3888, 5995, 4608, 6452, 5328, - 5688, 6048, 6408, 6768, 7128, 7224, 7848, 7270, 6754, 8928, 8710, 6856, - 4110, 3889, 5996, 4609, 6453, 5329, 5689, 6049, 6409, 6769, 7129, 7225, - 7849, 7271, 6755, 8929, 8711, 6857, 4111, 3890, 5997, 4610, 6454, 5330, - 5690, 6050, 6410, 6770, 7130, 7226, 7850, 7272, 6756, 8930, 8712, 6858, - 4112, 3891, 5998, 4611, 6455, 5331, 5691, 6051, 6411, 6771, 7131, 7227, - 7851, 7273, 6757, 8931, 8713, 6859, 4113, 3892, 5999, 4612, 6456, 5332, - 5692, 6052, 6412, 6772, 7132, 7228, 7852, 7274, 6758, 8932, 8714, 6860, - 4114, 3893, 6000, 4613, 6457, 5333, 5693, 6053, 6413, 6773, 7133, 7229, - 7853, 7275, 6759, 8933, 8715, 6861, 4115, 3894, 6001, 4614, 6458, 5334, - 5694, 6054, 6414, 6774, 7134, 7230, 7854, 7276, 6760, 8934, 8716, 6862, - 4116, 3895, 6002, 4615, 6459, 5335, 5695, 6055, 6415, 6775, 7135, 7231, - 7855, 7277, 6761, 8935, 8717, 6863, 4117, 3896, 6003, 4616, 6460, 5336, - 5696, 6056, 6416, 6776, 7136, 7232, 7856, 7278, 6762, 8936, 8718, 6864, - 4118, 3897, 6004, 4617, 6461, 5337, 5697, 6057, 6417, 6777, 7137, 7233, - 7857, 7279, 6763, 8937, 8719, 6865, 4119, 3898, 6005, 4618, 6462, 5338, - 5698, 6058, 6418, 6778, 7138, 7234, 7858, 7280, 6764, 8938, 8720, 6866, - 4120, 3899, 6006, 4619, 6463, 5339, 5699, 6059, 6419, 6779, 7139, 7235, - 7859, 7281, 6765, 8939, 8721, 6867, 4121, 3900, 6007, 4620, 6464, 5340, - 5700, 6060, 6420, 6780, 7140, 7236, 7860, 7282, 6766, 8940, 8722, 6868, - 4122, 3901, 6008, 4621, 6465, 5341, 5701, 6061, 6421, 6781, 7141, 7237, - 7861, 7283, 6767, 8941, 8723, 6869, 4123, 3902, 6009, 4622, 6466, 5342, - 5702, 6062, 6422, 6782, 7142, 7238, 7862, 7284, 6768, 8942, 8724, 6870, - 4124, 3903, 6010, 4623, 6467, 5343, 5703, 6063, 6423, 6783, 7143, 7239, - 7863, 7285, 6769, 8943, 8725, 6871, 4125, 3904, 6011, 4624, 6468, 5344, - 5704, 6064, 6424, 6784, 7144, 7240, 7864, 7286, 6770, 8944, 8726, 6872, - 4126, 3905, 6012, 4625, 6469, 5345, 5705, 6065, 6425, 6785, 7145, 7241, - 7865, 7287, 6771, 8945, 8727, 6873, 4127, 3906, 6013, 4626, 6470, 5346, - 5706, 6066, 6426, 6786, 7146, 7242, 7866, 7288, 6772, 8946, 8728, 6874, - 4128, 3907, 6014, 4627, 6471, 5347, 5707, 6067, 6427, 6787, 7147, 7243, - 7867, 7289, 6773, 8947, 8729, 6875, 4129, 3908, 6015, 4628, 6472, 5348, - 5708, 6068, 6428, 6788, 7148, 7244, 7868, 7290, 6774, 8948, 8730, 6876, - 4130, 3909, 6016, 4629, 6473, 5349, 5709, 6069, 6429, 6789, 7149, 7245, - 7869, 7291, 6775, 8949, 8731, 6877, 4131, 3910, 6017, 4630, 6474, 5350, - 5710, 6070, 6430, 6790, 7150, 7246, 7870, 7292, 6776, 8950, 8732, 6878, - 4132, 3911, 6018, 4631, 6475, 5351, 5711, 6071, 6431, 6791, 7151, 7247, - 7871, 7293, 6777, 8951, 8733, 6879, 4133, 3912, 6019, 4632, 6476, 5352, - 5712, 6072, 6432, 6792, 7152, 7248, 7872, 7294, 6778, 8952, 8734, 6880, - 4134, 3913, 6020, 4633, 6477, 5353, 5713, 6073, 6433, 6793, 7153, 7249, - 7873, 7295, 6779, 8953, 8735, 6881, 4135, 3914, 6021, 4634, 6478, 5354, - 5714, 6074, 6434, 6794, 7154, 7250, 7874, 7296, 6780, 8954, 8736, 6882, - 4136, 3915, 6022, 4635, 6479, 5355, 5715, 6075, 6435, 6795, 7155, 7251, - 7875, 7297, 6781, 8955, 8737, 6883, 4137, 3916, 6023, 4636, 6480, 5356, - 5716, 6076, 6436, 6796, 7156, 7252, 7876, 7298, 6782, 8956, 8738, 6884, - 4138, 3917, 6024, 4637, 6121, 5357, 5717, 6077, 6437, 6797, 7157, 7253, - 7877, 7299, 6783, 8957, 8739, 6885, 4139, 3918, 6025, 4638, 6122, 5358, - 5718, 6078, 6438, 6798, 7158, 7254, 7878, 7300, 6784, 8958, 8740, 6886, - 4140, 3919, 6026, 4639, 6123, 5359, 5719, 6079, 6439, 6799, 7159, 7255, - 7879, 7301, 6785, 8959, 8741, 6887, 4141, 3920, 6027, 4640, 6124, 5360, - 5720, 6080, 6440, 6800, 7160, 7256, 7880, 7302, 6786, 8960, 8742, 6888, - 4142, 3921, 6028, 4641, 6125, 5361, 5721, 6081, 6441, 6801, 7161, 7257, - 7881, 7303, 6787, 8961, 8743, 6889, 4143, 3922, 6029, 4642, 6126, 5362, - 5722, 6082, 6442, 6802, 7162, 7258, 7882, 7304, 6788, 8962, 8744, 6890, - 4144, 3923, 6030, 4643, 6127, 5363, 5723, 6083, 6443, 6803, 7163, 7259, - 7883, 7305, 6789, 8963, 8745, 6891, 4145, 3924, 6031, 4644, 6128, 5364, - 5724, 6084, 6444, 6804, 7164, 7260, 7884, 7306, 6790, 8964, 8746, 6892, - 4146, 3925, 6032, 4645, 6129, 5365, 5725, 6085, 6445, 6805, 7165, 7261, - 7885, 7307, 6791, 8965, 8747, 6893, 4147, 3926, 6033, 4646, 6130, 5366, - 5726, 6086, 6446, 6806, 7166, 7262, 7886, 7308, 6792, 8966, 8748, 6894, - 4148, 3927, 6034, 4647, 6131, 5367, 5727, 6087, 6447, 6807, 7167, 7263, - 7887, 7309, 6793, 8967, 8749, 6895, 4149, 3928, 6035, 4648, 6132, 5368, - 5728, 6088, 6448, 6808, 7168, 7264, 7888, 7310, 6794, 8968, 8750, 6896, - 4150, 3929, 6036, 4649, 6133, 5369, 5729, 6089, 6449, 6809, 7169, 7265, - 7889, 7311, 6795, 8969, 8751, 6897, 4151, 3930, 6037, 4650, 6134, 5370, - 5730, 6090, 6450, 6810, 7170, 7266, 7890, 7312, 6796, 8970, 8752, 6898, - 4152, 3931, 6038, 4651, 6135, 5371, 5731, 6091, 6451, 6811, 7171, 7267, - 7891, 7313, 6797, 8971, 8753, 6899, 4153, 3932, 6039, 4652, 6136, 5372, - 5732, 6092, 6452, 6812, 7172, 7268, 7892, 7314, 6798, 8972, 8754, 6900, - 4154, 3933, 6040, 4653, 6137, 5373, 5733, 6093, 6453, 6813, 7173, 7269, - 7893, 7315, 6799, 8973, 8755, 6901, 4155, 3934, 6041, 4654, 6138, 5374, - 5734, 6094, 6454, 6814, 7174, 7270, 7894, 7316, 6800, 8974, 8756, 6902, - 4156, 3935, 6042, 4655, 6139, 5375, 5735, 6095, 6455, 6815, 7175, 7271, - 7895, 7317, 6801, 8975, 8757, 6903, 4157, 3936, 6043, 4656, 6140, 5376, - 5736, 6096, 6456, 6816, 7176, 7272, 7896, 7318, 6802, 8976, 8758, 6904, - 4158, 3937, 6044, 4657, 6141, 5377, 5737, 6097, 6457, 6817, 7177, 7273, - 7897, 7319, 6803, 8977, 8759, 6905, 4159, 3938, 6045, 4658, 6142, 5378, - 5738, 6098, 6458, 6818, 7178, 7274, 7898, 7320, 6804, 8978, 8760, 6906, - 4160, 3939, 6046, 4659, 6143, 5379, 5739, 6099, 6459, 6819, 7179, 7275, - 7899, 7321, 6805, 8979, 8761, 6907, 4161, 3940, 6047, 4660, 6144, 5380, - 5740, 6100, 6460, 6820, 7180, 7276, 7900, 7322, 6806, 8980, 8762, 6908, - 4162, 3941, 6048, 4661, 6145, 5381, 5741, 6101, 6461, 6821, 7181, 7277, - 7901, 7323, 6807, 8981, 8763, 6909, 4163, 3942, 6049, 4662, 6146, 5382, - 5742, 6102, 6462, 6822, 7182, 7278, 7902, 7324, 6808, 8982, 8764, 6910, - 4164, 3943, 6050, 4663, 6147, 5383, 5743, 6103, 6463, 6823, 7183, 7279, - 7903, 7325, 6809, 8983, 8765, 6911, 4165, 3944, 6051, 4664, 6148, 5384, - 5744, 6104, 6464, 6824, 7184, 7280, 7904, 7326, 6810, 8984, 8766, 6912, - 4166, 3945, 6052, 4665, 6149, 5385, 5745, 6105, 6465, 6825, 7185, 7281, - 7905, 7327, 6811, 8985, 8767, 6913, 4167, 3946, 6053, 4666, 6150, 5386, - 5746, 6106, 6466, 6826, 7186, 7282, 7906, 7328, 6812, 8986, 8768, 6914, - 4168, 3947, 6054, 4667, 6151, 5387, 5747, 6107, 6467, 6827, 7187, 7283, - 7907, 7329, 6813, 8987, 8769, 6915, 4169, 3948, 6055, 4668, 6152, 5388, - 5748, 6108, 6468, 6828, 7188, 7284, 7908, 7330, 6814, 8988, 8770, 6916, - 4170, 3949, 6056, 4669, 6153, 5389, 5749, 6109, 6469, 6829, 7189, 7285, - 7909, 7331, 6815, 8989, 8771, 6917, 4171, 3950, 6057, 4670, 6154, 5390, - 5750, 6110, 6470, 6830, 7190, 7286, 7910, 7332, 6816, 8990, 8772, 6918, - 4172, 3951, 6058, 4671, 6155, 5391, 5751, 6111, 6471, 6831, 7191, 7287, - 7911, 7333, 6817, 8991, 8773, 6919, 4173, 3952, 6059, 4672, 6156, 5392, - 5752, 6112, 6472, 6832, 7192, 7288, 7912, 7334, 6818, 8992, 8774, 6920, - 4174, 3953, 6060, 4673, 6157, 5393, 5753, 6113, 6473, 6833, 7193, 7289, - 7913, 7335, 6819, 8993, 8775, 6921, 4175, 3954, 6061, 4674, 6158, 5394, - 5754, 6114, 6474, 6834, 7194, 7290, 7914, 7336, 6820, 8994, 8776, 6922, - 4176, 3955, 6062, 4675, 6159, 5395, 5755, 6115, 6475, 6835, 7195, 7291, - 7915, 7337, 6821, 8995, 8777, 6923, 4177, 3956, 6063, 4676, 6160, 5396, - 5756, 6116, 6476, 6836, 7196, 7292, 7916, 7338, 6822, 8996, 8778, 6924, - 4178, 3957, 6064, 4677, 6161, 5397, 5757, 6117, 6477, 6837, 7197, 7293, - 7917, 7339, 6823, 8997, 8779, 6925, 4179, 3958, 6065, 4678, 6162, 5398, - 5758, 6118, 6478, 6838, 7198, 7294, 7918, 7340, 6824, 8998, 8780, 6926, - 4180, 3959, 6066, 4679, 6163, 5399, 5759, 6119, 6479, 6839, 7199, 7295, - 7919, 7341, 6825, 8999, 8781, 6927, 4181, 3960, 6067, 4680, 6164, 5400, - 5760, 6120, 6480, 6840, 7200, 7296, 7920, 7342, 6826, 9000, 8782, 6928, - 6570, 9489, 9108, 8047, 8813, 7760, 8352, 7021, 7722, 8380, 8139, 7297, - 9449, 7921, 8281, 9078, 9001, 9361, 6571, 9490, 9109, 8048, 8814, 7761, - 8353, 7022, 7723, 8381, 8140, 7298, 9450, 7922, 8282, 9079, 9002, 9362, - 6572, 9491, 9110, 8049, 8815, 7762, 8354, 7023, 7724, 8382, 8141, 7299, - 9451, 7923, 8283, 9080, 9003, 9363, 6573, 9492, 9111, 8050, 8816, 7763, - 8355, 7024, 7725, 8383, 8142, 7300, 9452, 7924, 8284, 9081, 9004, 9364, - 6574, 9493, 9112, 8051, 8817, 7764, 8356, 7025, 7726, 8384, 8143, 7301, - 9453, 7925, 8285, 9082, 9005, 9365, 6575, 9494, 9113, 8052, 8818, 7765, - 8357, 7026, 7727, 8385, 8144, 7302, 9454, 7926, 8286, 9083, 9006, 9366, - 6576, 9495, 9114, 8053, 8819, 7766, 8358, 7027, 7728, 8386, 8145, 7303, - 9455, 7927, 8287, 9084, 9007, 9367, 6577, 9496, 9115, 8054, 8820, 7767, - 8359, 7028, 7729, 8387, 8146, 7304, 9456, 7928, 8288, 9085, 9008, 9368, - 6578, 9497, 9116, 8055, 8821, 7768, 8360, 7029, 7730, 8388, 8147, 7305, - 9457, 7929, 8289, 9086, 9009, 9369, 6579, 9498, 9117, 8056, 8822, 7769, - 8361, 7030, 7731, 8389, 8148, 7306, 9458, 7930, 8290, 9087, 9010, 9370, - 6580, 9499, 9118, 8057, 8823, 7770, 8362, 7031, 7732, 8390, 8149, 7307, - 9459, 7931, 8291, 9088, 9011, 9371, 6581, 9500, 9119, 8058, 8824, 7771, - 8363, 7032, 7733, 8391, 8150, 7308, 9460, 7932, 8292, 9089, 9012, 9372, - 6582, 9501, 9120, 8059, 8825, 7772, 8364, 7033, 7734, 8392, 8151, 7309, - 9461, 7933, 8293, 9090, 9013, 9373, 6583, 9502, 9121, 8060, 8826, 7773, - 8365, 7034, 7735, 8393, 8152, 7310, 9462, 7934, 8294, 9091, 9014, 9374, - 6584, 9503, 9122, 8061, 8827, 7774, 8366, 7035, 7736, 8394, 8153, 7311, - 9463, 7935, 8295, 9092, 9015, 9375, 6585, 9504, 9123, 8062, 8828, 7775, - 8367, 7036, 7737, 8395, 8154, 7312, 9464, 7936, 8296, 9093, 9016, 9376, - 6586, 9505, 9124, 8063, 8829, 7776, 8368, 7037, 7738, 8396, 8155, 7313, - 9465, 7937, 8297, 9094, 9017, 9377, 6587, 9506, 9125, 8064, 8830, 7777, - 8369, 7038, 7739, 8397, 8156, 7314, 9466, 7938, 8298, 9095, 9018, 9378, - 6588, 9507, 9126, 8065, 8831, 7778, 8370, 7039, 7740, 8398, 8157, 7315, - 9467, 7939, 8299, 9096, 9019, 9379, 6589, 9508, 9127, 8066, 8832, 7779, - 8371, 7040, 7741, 8399, 8158, 7316, 9468, 7940, 8300, 9097, 9020, 9380, - 6590, 9509, 9128, 8067, 8833, 7780, 8372, 7041, 7742, 8400, 8159, 7317, - 9469, 7941, 8301, 9098, 9021, 9381, 6591, 9510, 9129, 8068, 8834, 7781, - 8373, 7042, 7743, 8401, 8160, 7318, 9470, 7942, 8302, 9099, 9022, 9382, - 6592, 9511, 9130, 8069, 8835, 7782, 8374, 7043, 7744, 8402, 8161, 7319, - 9471, 7943, 8303, 9100, 9023, 9383, 6593, 9512, 9131, 8070, 8836, 7783, - 8375, 7044, 7745, 8403, 8162, 7320, 9472, 7944, 8304, 9101, 9024, 9384, - 6594, 9513, 9132, 8071, 8837, 7784, 8376, 7045, 7746, 8404, 8163, 7321, - 9473, 7945, 8305, 9102, 9025, 9385, 6595, 9514, 9133, 8072, 8838, 7785, - 8377, 7046, 7747, 8405, 8164, 7322, 9474, 7946, 8306, 9103, 9026, 9386, - 6596, 9515, 9134, 8073, 8839, 7786, 8378, 7047, 7748, 8406, 8165, 7323, - 9475, 7947, 8307, 9104, 9027, 9387, 6597, 9516, 9135, 8074, 8840, 7787, - 8379, 7048, 7749, 8407, 8166, 7324, 9476, 7948, 8308, 9105, 9028, 9388, - 6598, 9517, 9136, 8075, 8841, 7788, 8380, 7049, 7750, 8408, 8167, 7325, - 9477, 7949, 8309, 9106, 9029, 9389, 6599, 9518, 9137, 8076, 8842, 7789, - 8381, 7050, 7751, 8409, 8168, 7326, 9478, 7950, 8310, 9107, 9030, 9390, - 6600, 9519, 9138, 8077, 8843, 7790, 8382, 7051, 7752, 8410, 8169, 7327, - 9479, 7951, 8311, 9108, 9031, 9391, 6601, 9520, 9139, 8078, 8844, 7791, - 8383, 7052, 7753, 8411, 8170, 7328, 9480, 7952, 8312, 9109, 9032, 9392, - 6602, 9521, 9140, 8079, 8845, 7792, 8384, 7053, 7754, 8412, 8171, 7329, - 9481, 7953, 8313, 9110, 9033, 9393, 6603, 9522, 9141, 8080, 8846, 7793, - 8385, 7054, 7755, 8413, 8172, 7330, 9482, 7954, 8314, 9111, 9034, 9394, - 6604, 9523, 9142, 8081, 8847, 7794, 8386, 7055, 7756, 8414, 8173, 7331, - 9483, 7955, 8315, 9112, 9035, 9395, 6605, 9524, 9143, 8082, 8848, 7795, - 8387, 7056, 7757, 8415, 8174, 7332, 9484, 7956, 8316, 9113, 9036, 9396, - 6606, 9525, 9144, 8083, 8849, 7796, 8388, 7057, 7758, 8416, 8175, 7333, - 9485, 7957, 8317, 9114, 9037, 9397, 6607, 9526, 9145, 8084, 8850, 7797, - 8389, 7058, 7759, 8417, 8176, 7334, 9486, 7958, 8318, 9115, 9038, 9398, - 6608, 9527, 9146, 8085, 8851, 7798, 8390, 7059, 7760, 8418, 8177, 7335, - 9487, 7959, 8319, 9116, 9039, 9399, 6609, 9528, 9147, 8086, 8852, 7799, - 8391, 7060, 7761, 8419, 8178, 7336, 9488, 7960, 8320, 9117, 9040, 9400, - 6610, 9529, 9148, 8087, 8853, 7800, 8392, 7061, 7762, 8420, 8179, 7337, - 9489, 7961, 8321, 9118, 9041, 9401, 6611, 9530, 9149, 8088, 8854, 7801, - 8393, 7062, 7763, 8421, 8180, 7338, 9490, 7962, 8322, 9119, 9042, 9402, - 6612, 9531, 9150, 8089, 8855, 7802, 8394, 7063, 7764, 8422, 8181, 7339, - 9491, 7963, 8323, 9120, 9043, 9403, 6613, 9532, 9151, 8090, 8856, 7803, - 8395, 7064, 7765, 8423, 8182, 7340, 9492, 7964, 8324, 9121, 9044, 9404, - 6614, 9533, 9152, 8091, 8857, 7804, 8396, 7065, 7766, 8424, 8183, 7341, - 9493, 7965, 8325, 9122, 9045, 9405, 6615, 9534, 9153, 8092, 8858, 7805, - 8397, 7066, 7767, 8425, 8184, 7342, 9494, 7966, 8326, 9123, 9046, 9406, - 6616, 9535, 9154, 8093, 8859, 7806, 8398, 7067, 7768, 8426, 8185, 7343, - 9495, 7967, 8327, 9124, 9047, 9407, 6617, 9536, 9155, 8094, 8860, 7807, - 8399, 7068, 7769, 8427, 8186, 7344, 9496, 7968, 8328, 9125, 9048, 9408, - 6618, 9537, 9156, 8095, 8861, 7808, 8400, 7069, 7770, 8428, 8187, 7345, - 9497, 7969, 8329, 9126, 9049, 9409, 6619, 9538, 9157, 8096, 8862, 7809, - 8401, 7070, 7771, 8429, 8188, 7346, 9498, 7970, 8330, 9127, 9050, 9410, - 6620, 9539, 9158, 8097, 8863, 7810, 8402, 7071, 7772, 8430, 8189, 7347, - 9499, 7971, 8331, 9128, 9051, 9411, 6621, 9540, 9159, 8098, 8864, 7811, - 8403, 7072, 7773, 8431, 8190, 7348, 9500, 7972, 8332, 9129, 9052, 9412, - 6622, 9541, 9160, 8099, 8865, 7812, 8404, 7073, 7774, 8432, 8191, 7349, - 9501, 7973, 8333, 9130, 9053, 9413, 6623, 9542, 9161, 8100, 8866, 7813, - 8405, 7074, 7775, 8433, 8192, 7350, 9502, 7974, 8334, 9131, 9054, 9414, - 6624, 9543, 9162, 8101, 8867, 7814, 8406, 7075, 7776, 8434, 8193, 7351, - 9503, 7975, 8335, 9132, 9055, 9415, 6625, 9544, 9163, 8102, 8868, 7815, - 8407, 7076, 7777, 8435, 8194, 7352, 9504, 7976, 8336, 9133, 9056, 9416, - 6626, 9545, 9164, 8103, 8869, 7816, 8408, 7077, 7778, 8436, 8195, 7353, - 9505, 7977, 8337, 9134, 9057, 9417, 6627, 9546, 9165, 8104, 8870, 7817, - 8409, 7078, 7779, 8437, 8196, 7354, 9506, 7978, 8338, 9135, 9058, 9418, - 6628, 9547, 9166, 8105, 8871, 7818, 8410, 7079, 7780, 8438, 8197, 7355, - 9507, 7979, 8339, 9136, 9059, 9419, 6629, 9548, 9167, 8106, 8872, 7819, - 8411, 7080, 7781, 8439, 8198, 7356, 9508, 7980, 8340, 9137, 9060, 9420, - 6630, 9549, 9168, 8107, 8873, 7820, 8412, 7081, 7782, 8440, 8199, 7357, - 9509, 7981, 8341, 9138, 9061, 9421, 6631, 9550, 9169, 8108, 8874, 7821, - 8413, 7082, 7783, 8441, 8200, 7358, 9510, 7982, 8342, 9139, 9062, 9422, - 6632, 9551, 9170, 8109, 8875, 7822, 8414, 7083, 7784, 8442, 8201, 7359, - 9511, 7983, 8343, 9140, 9063, 9423, 6633, 9552, 9171, 8110, 8876, 7823, - 8415, 7084, 7785, 8443, 8202, 7360, 9512, 7984, 8344, 9141, 9064, 9424, - 6634, 9553, 9172, 8111, 8877, 7824, 8416, 7085, 7786, 8444, 8203, 7361, - 9513, 7985, 8345, 9142, 9065, 9425, 6635, 9554, 9173, 8112, 8878, 7825, - 8417, 7086, 7787, 8445, 8204, 7362, 9514, 7986, 8346, 9143, 9066, 9426, - 6636, 9555, 9174, 8113, 8879, 7826, 8418, 7087, 7788, 8446, 8205, 7363, - 9515, 7987, 8347, 9144, 9067, 9427, 6637, 9556, 9175, 8114, 8880, 7827, - 8419, 7088, 7789, 8447, 8206, 7364, 9516, 7988, 8348, 9145, 9068, 9428, - 6638, 9557, 9176, 8115, 8881, 7828, 8420, 7089, 7790, 8448, 8207, 7365, - 9517, 7989, 8349, 9146, 9069, 9429, 6639, 9558, 9177, 8116, 8882, 7829, - 8421, 7090, 7791, 8449, 8208, 7366, 9518, 7990, 8350, 9147, 9070, 9430, - 6640, 9559, 9178, 8117, 8883, 7830, 8422, 7091, 7792, 8450, 8209, 7367, - 9519, 7991, 8351, 9148, 9071, 9431, 6641, 9560, 9179, 8118, 8884, 7831, - 8423, 7092, 7793, 8451, 8210, 7368, 9520, 7992, 8352, 9149, 9072, 9432, - 6642, 9561, 9180, 8119, 8885, 7832, 8424, 7093, 7794, 8452, 8211, 7369, - 9521, 7993, 8353, 9150, 9073, 9433, 6643, 9562, 9181, 8120, 8886, 7833, - 8425, 7094, 7795, 8453, 8212, 7370, 9522, 7994, 8354, 9151, 9074, 9434, - 6644, 9563, 9182, 8121, 8887, 7834, 8426, 7095, 7796, 8454, 8213, 7371, - 9523, 7995, 8355, 9152, 9075, 9435, 6645, 9564, 9183, 8122, 8888, 7835, - 8427, 7096, 7797, 8455, 8214, 7372, 9524, 7996, 8356, 9153, 9076, 9436, - 6646, 9565, 9184, 8123, 8889, 7836, 8428, 7097, 7798, 8456, 8215, 7373, - 9525, 7997, 8357, 9154, 9077, 9437, 6647, 9566, 9185, 8124, 8890, 7837, - 8429, 7098, 7799, 8457, 8216, 7374, 9526, 7998, 8358, 9155, 9078, 9438, - 6648, 9567, 9186, 8125, 8891, 7838, 8430, 7099, 7800, 8458, 8217, 7375, - 9527, 7999, 8359, 9156, 9079, 9439, 6649, 9568, 9187, 8126, 8892, 7839, - 8431, 7100, 7801, 8459, 8218, 7376, 9528, 8000, 8360, 9157, 9080, 9440, - 6650, 9569, 9188, 8127, 8893, 7840, 8432, 7101, 7802, 8460, 8219, 7377, - 9529, 8001, 8361, 9158, 9081, 9441, 6651, 9570, 9189, 8128, 8894, 7841, - 8433, 7102, 7803, 8461, 8220, 7378, 9530, 8002, 8362, 9159, 9082, 9442, - 6652, 9571, 9190, 8129, 8895, 7842, 8434, 7103, 7804, 8462, 8221, 7379, - 9531, 8003, 8363, 9160, 9083, 9443, 6653, 9572, 9191, 8130, 8896, 7843, - 8435, 7104, 7805, 8463, 8222, 7380, 9532, 8004, 8364, 9161, 9084, 9444, - 6654, 9573, 9192, 8131, 8897, 7844, 8436, 7105, 7806, 8464, 8223, 7381, - 9533, 8005, 8365, 9162, 9085, 9445, 6655, 9574, 9193, 8132, 8898, 7845, - 8437, 7106, 7807, 8465, 8224, 7382, 9534, 8006, 8366, 9163, 9086, 9446, - 6656, 9575, 9194, 8133, 8899, 7846, 8438, 7107, 7808, 8466, 8225, 7383, - 9535, 8007, 8367, 9164, 9087, 9447, 6657, 9576, 9195, 8134, 8900, 7847, - 8439, 7108, 7809, 8467, 8226, 7384, 9536, 8008, 8368, 9165, 9088, 9448, - 6658, 9577, 9196, 8135, 8901, 7848, 8440, 7109, 7810, 8468, 8227, 7385, - 9537, 8009, 8369, 9166, 9089, 9449, 6659, 9578, 9197, 8136, 8902, 7849, - 8441, 7110, 7811, 8469, 8228, 7386, 9538, 8010, 8370, 9167, 9090, 9450, - 6660, 9579, 9198, 8137, 8903, 7850, 8442, 7111, 7812, 8470, 8229, 7387, - 9539, 8011, 8371, 9168, 9091, 9451, 6661, 9580, 9199, 8138, 8904, 7851, - 8443, 7112, 7813, 8471, 8230, 7388, 9540, 8012, 8372, 9169, 9092, 9452, - 6662, 9581, 9200, 8139, 8905, 7852, 8444, 7113, 7814, 8472, 8231, 7389, - 9541, 8013, 8373, 9170, 9093, 9453, 6663, 9582, 9201, 8140, 8906, 7853, - 8445, 7114, 7815, 8473, 8232, 7390, 9542, 8014, 8374, 9171, 9094, 9454, - 6664, 9583, 9202, 8141, 8907, 7854, 8446, 7115, 7816, 8474, 8233, 7391, - 9543, 8015, 8375, 9172, 9095, 9455, 6665, 9584, 9203, 8142, 8908, 7855, - 8447, 7116, 7817, 8475, 8234, 7392, 9544, 8016, 8376, 9173, 9096, 9456, - 6666, 9585, 9204, 8143, 8909, 7856, 8448, 7117, 7818, 8476, 8235, 7393, - 9545, 8017, 8377, 9174, 9097, 9457, 6667, 9586, 9205, 8144, 8910, 7857, - 8449, 7118, 7819, 8477, 8236, 7394, 9546, 8018, 8378, 9175, 9098, 9458, - 6668, 9587, 9206, 8145, 8911, 7858, 8450, 7119, 7820, 8478, 8237, 7395, - 9547, 8019, 8379, 9176, 9099, 9459, 6669, 9588, 9207, 8146, 8912, 7859, - 8451, 7120, 7821, 8479, 8238, 7396, 9548, 8020, 8380, 9177, 9100, 9460, - 6670, 9589, 9208, 8147, 8913, 7860, 8452, 7121, 7822, 8480, 8239, 7397, - 9549, 8021, 8381, 9178, 9101, 9461, 6671, 9590, 9209, 8148, 8914, 7861, - 8453, 7122, 7823, 8481, 8240, 7398, 9550, 8022, 8382, 9179, 9102, 9462, - 6672, 9591, 9210, 8149, 8915, 7862, 8454, 7123, 7824, 8482, 8241, 7399, - 9551, 8023, 8383, 9180, 9103, 9463, 6673, 9592, 9211, 8150, 8916, 7863, - 8455, 7124, 7825, 8483, 8242, 7400, 9552, 8024, 8384, 9181, 9104, 9464, - 6674, 9593, 9212, 8151, 8917, 7864, 8456, 7125, 7826, 8484, 8243, 7401, - 9553, 8025, 8385, 9182, 9105, 9465, 6675, 9594, 9213, 8152, 8918, 7865, - 8457, 7126, 7827, 8485, 8244, 7402, 9554, 8026, 8386, 9183, 9106, 9466, - 6676, 9595, 9214, 8153, 8919, 7866, 8458, 7127, 7828, 8486, 8245, 7403, - 9555, 8027, 8387, 9184, 9107, 9467, 6677, 9596, 9215, 8154, 8920, 7867, - 8459, 7128, 7829, 8487, 8246, 7404, 9556, 8028, 8388, 9185, 9108, 9468, - 6678, 9597, 9216, 8155, 8921, 7868, 8460, 7129, 7830, 8488, 8247, 7405, - 9557, 8029, 8389, 9186, 9109, 9469, 6679, 9598, 9217, 8156, 8922, 7869, - 8461, 7130, 7831, 8489, 8248, 7406, 9558, 8030, 8390, 9187, 9110, 9470, - 6680, 9599, 9218, 8157, 8923, 7870, 8462, 7131, 7832, 8490, 8249, 7407, - 9559, 8031, 8391, 9188, 9111, 9471, 6681, 9600, 9219, 8158, 8924, 7871, - 8463, 7132, 7833, 8491, 8250, 7408, 9560, 8032, 8392, 9189, 9112, 9472, - 6682, 9601, 9220, 8159, 8925, 7872, 8464, 7133, 7834, 8492, 8251, 7409, - 9561, 8033, 8393, 9190, 9113, 9473, 6683, 9602, 9221, 8160, 8926, 7873, - 8465, 7134, 7835, 8493, 8252, 7410, 9562, 8034, 8394, 9191, 9114, 9474, - 6684, 9603, 9222, 8161, 8927, 7874, 8466, 7135, 7836, 8494, 8253, 7411, - 9563, 8035, 8395, 9192, 9115, 9475, 6685, 9604, 9223, 8162, 8928, 7875, - 8467, 7136, 7837, 8495, 8254, 7412, 9564, 8036, 8396, 9193, 9116, 9476, - 6686, 9605, 9224, 8163, 8929, 7876, 8468, 7137, 7838, 8496, 8255, 7413, - 9565, 8037, 8397, 9194, 9117, 9477, 6687, 9606, 9225, 8164, 8930, 7877, - 8469, 7138, 7839, 8497, 8256, 7414, 9566, 8038, 8398, 9195, 9118, 9478, - 6688, 9607, 9226, 8165, 8931, 7878, 8470, 7139, 7840, 8498, 8257, 7415, - 9567, 8039, 8399, 9196, 9119, 9479, 6689, 9608, 9227, 8166, 8932, 7879, - 8471, 7140, 7841, 8499, 8258, 7416, 9568, 8040, 8400, 9197, 9120, 9480, - 6690, 9609, 9228, 8167, 8933, 7880, 8472, 7141, 7842, 8500, 8259, 7417, - 9569, 8041, 8401, 9198, 9121, 9481, 6691, 9610, 9229, 8168, 8934, 7881, - 8473, 7142, 7843, 8501, 8260, 7418, 9570, 8042, 8402, 9199, 9122, 9482, - 6692, 9611, 9230, 8169, 8935, 7882, 8474, 7143, 7844, 8502, 8261, 7419, - 9571, 8043, 8403, 9200, 9123, 9483, 6693, 9612, 9231, 8170, 8936, 7883, - 8475, 7144, 7845, 8503, 8262, 7420, 9572, 8044, 8404, 9201, 9124, 9484, - 6694, 9613, 9232, 8171, 8937, 7884, 8476, 7145, 7846, 8504, 8263, 7421, - 9573, 8045, 8405, 9202, 9125, 9485, 6695, 9614, 9233, 8172, 8938, 7885, - 8477, 7146, 7847, 8505, 8264, 7422, 9574, 8046, 8406, 9203, 9126, 9486, - 6696, 9615, 9234, 8173, 8939, 7886, 8478, 7147, 7848, 8506, 8265, 7423, - 9575, 8047, 8407, 9204, 9127, 9487, 6697, 9616, 9235, 8174, 8940, 7887, - 8479, 7148, 7849, 8507, 8266, 7424, 9576, 8048, 8408, 9205, 9128, 9488, - 6698, 9617, 9236, 8175, 8941, 7888, 8480, 7149, 7850, 8508, 8267, 7425, - 9577, 8049, 8409, 9206, 9129, 9489, 6699, 9618, 9237, 8176, 8942, 7889, - 8481, 7150, 7851, 8509, 8268, 7426, 9578, 8050, 8410, 9207, 9130, 9490, - 6700, 9619, 9238, 8177, 8943, 7890, 8482, 7151, 7852, 8510, 8269, 7427, - 9579, 8051, 8411, 9208, 9131, 9491, 6701, 9620, 9239, 8178, 8944, 7891, - 8483, 7152, 7853, 8511, 8270, 7428, 9580, 8052, 8412, 9209, 9132, 9492, - 6702, 9621, 9240, 8179, 8945, 7892, 8484, 7153, 7854, 8512, 8271, 7429, - 9581, 8053, 8413, 9210, 9133, 9493, 6703, 9622, 9241, 8180, 8946, 7893, - 8485, 7154, 7855, 8513, 8272, 7430, 9582, 8054, 8414, 9211, 9134, 9494, - 6704, 9623, 9242, 8181, 8947, 7894, 8486, 7155, 7856, 8514, 8273, 7431, - 9583, 8055, 8415, 9212, 9135, 9495, 6705, 9624, 9243, 8182, 8948, 7895, - 8487, 7156, 7857, 8515, 8274, 7432, 9584, 8056, 8416, 9213, 9136, 9496, - 6706, 9625, 9244, 8183, 8949, 7896, 8488, 7157, 7858, 8516, 8275, 7433, - 9585, 8057, 8417, 9214, 9137, 9497, 6707, 9626, 9245, 8184, 8950, 7897, - 8489, 7158, 7859, 8517, 8276, 7434, 9586, 8058, 8418, 9215, 9138, 9498, - 6708, 9627, 9246, 8185, 8951, 7898, 8490, 7159, 7860, 8518, 8277, 7435, - 9587, 8059, 8419, 9216, 9139, 9499, 6709, 9628, 9247, 8186, 8952, 7899, - 8491, 7160, 7861, 8519, 8278, 7436, 9588, 8060, 8420, 9217, 9140, 9500, - 6710, 9629, 9248, 8187, 8953, 7900, 8492, 7161, 7862, 8520, 8279, 7437, - 9589, 8061, 8421, 9218, 9141, 9501, 6711, 9630, 9249, 8188, 8954, 7901, - 8493, 7162, 7863, 8521, 8280, 7438, 9590, 8062, 8422, 9219, 9142, 9502, - 6712, 9631, 9250, 8189, 8955, 7902, 8494, 7163, 7864, 8522, 7921, 7439, - 9591, 8063, 8423, 9220, 9143, 9503, 6713, 9632, 9251, 8190, 8956, 7903, - 8495, 7164, 7865, 8523, 7922, 7440, 9592, 8064, 8424, 9221, 9144, 9504, - 6714, 9633, 9252, 8191, 8957, 7904, 8496, 7165, 7866, 8524, 7923, 7441, - 9593, 8065, 8425, 9222, 9145, 9505, 6715, 9634, 9253, 8192, 8958, 7905, - 8497, 7166, 7867, 8525, 7924, 7442, 9594, 8066, 8426, 9223, 9146, 9506, - 6716, 9635, 9254, 8193, 8959, 7906, 8498, 7167, 7868, 8526, 7925, 7443, - 9595, 8067, 8427, 9224, 9147, 9507, 6717, 9636, 9255, 8194, 8960, 7907, - 8499, 7168, 7869, 8527, 7926, 7444, 9596, 8068, 8428, 9225, 9148, 9508, - 6718, 9637, 9256, 8195, 8961, 7908, 8500, 7169, 7870, 8528, 7927, 7445, - 9597, 8069, 8429, 9226, 9149, 9509, 6719, 9638, 9257, 8196, 8962, 7909, - 8501, 7170, 7871, 8529, 7928, 7446, 9598, 8070, 8430, 9227, 9150, 9510, - 6720, 9639, 9258, 8197, 8963, 7910, 8502, 7171, 7872, 8530, 7929, 7447, - 9599, 8071, 8431, 9228, 9151, 9511, 6721, 9640, 9259, 8198, 8964, 7911, - 8503, 7172, 7873, 8531, 7930, 7448, 9600, 8072, 8432, 9229, 9152, 9512, - 6722, 9641, 9260, 8199, 8965, 7912, 8504, 7173, 7874, 8532, 7931, 7449, - 9601, 8073, 8433, 9230, 9153, 9513, 6723, 9642, 9261, 8200, 8966, 7913, - 8505, 7174, 7875, 8533, 7932, 7450, 9602, 8074, 8434, 9231, 9154, 9514, - 6724, 9643, 9262, 8201, 8967, 7914, 8506, 7175, 7876, 8534, 7933, 7451, - 9603, 8075, 8435, 9232, 9155, 9515, 6725, 9644, 9263, 8202, 8968, 7915, - 8507, 7176, 7877, 8535, 7934, 7452, 9604, 8076, 8436, 9233, 9156, 9516, - 6726, 9645, 9264, 8203, 8969, 7916, 8508, 7177, 7878, 8536, 7935, 7453, - 9605, 8077, 8437, 9234, 9157, 9517, 6727, 9646, 9265, 8204, 8970, 7917, - 8509, 7178, 7879, 8537, 7936, 7454, 9606, 8078, 8438, 9235, 9158, 9518, - 6728, 9647, 9266, 8205, 8971, 7918, 8510, 7179, 7880, 8538, 7937, 7455, - 9607, 8079, 8439, 9236, 9159, 9519, 6729, 9648, 9267, 8206, 8972, 7919, - 8511, 7180, 7881, 8539, 7938, 7456, 9608, 8080, 8440, 9237, 9160, 9520, - 6730, 9649, 9268, 8207, 8973, 7920, 8512, 7181, 7882, 8540, 7939, 7457, - 9609, 8081, 8441, 9238, 9161, 9521, 6731, 9650, 9269, 8208, 8974, 7561, - 8513, 7182, 7883, 8541, 7940, 7458, 9610, 8082, 8442, 9239, 9162, 9522, - 6732, 9651, 9270, 8209, 8975, 7562, 8514, 7183, 7884, 8542, 7941, 7459, - 9611, 8083, 8443, 9240, 9163, 9523, 6733, 9652, 9271, 8210, 8976, 7563, - 8515, 7184, 7885, 8543, 7942, 7460, 9612, 8084, 8444, 9241, 9164, 9524, - 6734, 9653, 9272, 8211, 8977, 7564, 8516, 7185, 7886, 8544, 7943, 7461, - 9613, 8085, 8445, 9242, 9165, 9525, 6735, 9654, 9273, 8212, 8978, 7565, - 8517, 7186, 7887, 8545, 7944, 7462, 9614, 8086, 8446, 9243, 9166, 9526, - 6736, 9655, 9274, 8213, 8979, 7566, 8518, 7187, 7888, 8546, 7945, 7463, - 9615, 8087, 8447, 9244, 9167, 9527, 6737, 9656, 9275, 8214, 8980, 7567, - 8519, 7188, 7889, 8547, 7946, 7464, 9616, 8088, 8448, 9245, 9168, 9528, - 6738, 9657, 9276, 8215, 8981, 7568, 8520, 7189, 7890, 8548, 7947, 7465, - 9617, 8089, 8449, 9246, 9169, 9529, 6739, 9658, 9277, 8216, 8982, 7569, - 8521, 7190, 7891, 8549, 7948, 7466, 9618, 8090, 8450, 9247, 9170, 9530, - 6740, 9659, 9278, 8217, 8983, 7570, 8522, 7191, 7892, 8550, 7949, 7467, - 9619, 8091, 8451, 9248, 9171, 9531, 6741, 9660, 9279, 8218, 8984, 7571, - 8523, 7192, 7893, 8551, 7950, 7468, 9620, 8092, 8452, 9249, 9172, 9532, - 6742, 9661, 9280, 8219, 8985, 7572, 8524, 7193, 7894, 8552, 7951, 7469, - 9621, 8093, 8453, 9250, 9173, 9533, 6743, 9662, 9281, 8220, 8986, 7573, - 8525, 7194, 7895, 8553, 7952, 7470, 9622, 8094, 8454, 9251, 9174, 9534, - 6744, 9663, 9282, 8221, 8987, 7574, 8526, 7195, 7896, 8554, 7953, 7471, - 9623, 8095, 8455, 9252, 9175, 9535, 6745, 9664, 9283, 8222, 8988, 7575, - 8527, 7196, 7897, 8555, 7954, 7472, 9624, 8096, 8456, 9253, 9176, 9536, - 6746, 9665, 9284, 8223, 8989, 7576, 8528, 7197, 7898, 8556, 7955, 7473, - 9625, 8097, 8457, 9254, 9177, 9537, 6747, 9666, 9285, 8224, 8990, 7577, - 8529, 7198, 7899, 8557, 7956, 7474, 9626, 8098, 8458, 9255, 9178, 9538, - 6748, 9667, 9286, 8225, 8991, 7578, 8530, 7199, 7900, 8558, 7957, 7475, - 9627, 8099, 8459, 9256, 9179, 9539, 6749, 9668, 9287, 8226, 8992, 7579, - 8531, 7200, 7901, 8559, 7958, 7476, 9628, 8100, 8460, 9257, 9180, 9540, - 6750, 9669, 9288, 8227, 8993, 7580, 8532, 6841, 7902, 8560, 7959, 7477, - 9629, 8101, 8461, 9258, 9181, 9541, 6751, 9670, 9289, 8228, 8994, 7581, - 8533, 6842, 7903, 8561, 7960, 7478, 9630, 8102, 8462, 9259, 9182, 9542, - 6752, 9671, 9290, 8229, 8995, 7582, 8534, 6843, 7904, 8562, 7961, 7479, - 9631, 8103, 8463, 9260, 9183, 9543, 6753, 9672, 9291, 8230, 8996, 7583, - 8535, 6844, 7905, 8563, 7962, 7480, 9632, 8104, 8464, 9261, 9184, 9544, - 6754, 9673, 9292, 8231, 8997, 7584, 8536, 6845, 7906, 8564, 7963, 7481, - 9633, 8105, 8465, 9262, 9185, 9545, 6755, 9674, 9293, 8232, 8998, 7585, - 8537, 6846, 7907, 8565, 7964, 7482, 9634, 8106, 8466, 9263, 9186, 9546, - 6756, 9675, 9294, 8233, 8999, 7586, 8538, 6847, 7908, 8566, 7965, 7483, - 9635, 8107, 8467, 9264, 9187, 9547, 6757, 9676, 9295, 8234, 9000, 7587, - 8539, 6848, 7909, 8567, 7966, 7484, 9636, 8108, 8468, 9265, 9188, 9548, - 6758, 9677, 9296, 8235, 8641, 7588, 8540, 6849, 7910, 8568, 7967, 7485, - 9637, 8109, 8469, 9266, 9189, 9549, 6759, 9678, 9297, 8236, 8642, 7589, - 8541, 6850, 7911, 8569, 7968, 7486, 9638, 8110, 8470, 9267, 9190, 9550, - 6760, 9679, 9298, 8237, 8643, 7590, 8542, 6851, 7912, 8570, 7969, 7487, - 9639, 8111, 8471, 9268, 9191, 9551, 6761, 9680, 9299, 8238, 8644, 7591, - 8543, 6852, 7913, 8571, 7970, 7488, 9640, 8112, 8472, 9269, 9192, 9552, - 6762, 9681, 9300, 8239, 8645, 7592, 8544, 6853, 7914, 8572, 7971, 7489, - 9641, 8113, 8473, 9270, 9193, 9553, 6763, 9682, 9301, 8240, 8646, 7593, - 8545, 6854, 7915, 8573, 7972, 7490, 9642, 8114, 8474, 9271, 9194, 9554, - 6764, 9683, 9302, 8241, 8647, 7594, 8546, 6855, 7916, 8574, 7973, 7491, - 9643, 8115, 8475, 9272, 9195, 9555, 6765, 9684, 9303, 8242, 8648, 7595, - 8547, 6856, 7917, 8575, 7974, 7492, 9644, 8116, 8476, 9273, 9196, 9556, - 6766, 9685, 9304, 8243, 8649, 7596, 8548, 6857, 7918, 8576, 7975, 7493, - 9645, 8117, 8477, 9274, 9197, 9557, 6767, 9686, 9305, 8244, 8650, 7597, - 8549, 6858, 7919, 8577, 7976, 7494, 9646, 8118, 8478, 9275, 9198, 9558, - 6768, 9687, 9306, 8245, 8651, 7598, 8550, 6859, 7920, 8578, 7977, 7495, - 9647, 8119, 8479, 9276, 9199, 9559, 6769, 9688, 9307, 8246, 8652, 7599, - 8551, 6860, 7561, 8579, 7978, 7496, 9648, 8120, 8480, 9277, 9200, 9560, - 6770, 9689, 9308, 8247, 8653, 7600, 8552, 6861, 7562, 8580, 7979, 7497, - 9649, 8121, 8481, 9278, 9201, 9561, 6771, 9690, 9309, 8248, 8654, 7601, - 8553, 6862, 7563, 8581, 7980, 7498, 9650, 8122, 8482, 9279, 9202, 9562, - 6772, 9691, 9310, 8249, 8655, 7602, 8554, 6863, 7564, 8582, 7981, 7499, - 9651, 8123, 8483, 9280, 9203, 9563, 6773, 9692, 9311, 8250, 8656, 7603, - 8555, 6864, 7565, 8583, 7982, 7500, 9652, 8124, 8484, 9281, 9204, 9564, - 6774, 9693, 9312, 8251, 8657, 7604, 8556, 6865, 7566, 8584, 7983, 7501, - 9653, 8125, 8485, 9282, 9205, 9565, 6775, 9694, 9313, 8252, 8658, 7605, - 8557, 6866, 7567, 8585, 7984, 7502, 9654, 8126, 8486, 9283, 9206, 9566, - 6776, 9695, 9314, 8253, 8659, 7606, 8558, 6867, 7568, 8586, 7985, 7503, - 9655, 8127, 8487, 9284, 9207, 9567, 6777, 9696, 9315, 8254, 8660, 7607, - 8559, 6868, 7569, 8587, 7986, 7504, 9656, 8128, 8488, 9285, 9208, 9568, - 6778, 9697, 9316, 8255, 8661, 7608, 8560, 6869, 7570, 8588, 7987, 7505, - 9657, 8129, 8489, 9286, 9209, 9569, 6779, 9698, 9317, 8256, 8662, 7609, - 8561, 6870, 7571, 8589, 7988, 7506, 9658, 8130, 8490, 9287, 9210, 9570, - 6780, 9699, 9318, 8257, 8663, 7610, 8562, 6871, 7572, 8590, 7989, 7507, - 9659, 8131, 8491, 9288, 9211, 9571, 6781, 9700, 9319, 8258, 8664, 7611, - 8563, 6872, 7573, 8591, 7990, 7508, 9660, 8132, 8492, 9289, 9212, 9572, - 6782, 9701, 9320, 8259, 8665, 7612, 8564, 6873, 7574, 8592, 7991, 7509, - 9661, 8133, 8493, 9290, 9213, 9573, 6783, 9702, 9321, 8260, 8666, 7613, - 8565, 6874, 7575, 8593, 7992, 7510, 9662, 8134, 8494, 9291, 9214, 9574, - 6784, 9703, 9322, 8261, 8667, 7614, 8566, 6875, 7576, 8594, 7993, 7511, - 9663, 8135, 8495, 9292, 9215, 9575, 6785, 9704, 9323, 8262, 8668, 7615, - 8567, 6876, 7577, 8595, 7994, 7512, 9664, 8136, 8496, 9293, 9216, 9576, - 6786, 9705, 9324, 8263, 8669, 7616, 8568, 6877, 7578, 8596, 7995, 7513, - 9665, 8137, 8497, 9294, 9217, 9577, 6787, 9706, 9325, 8264, 8670, 7617, - 8569, 6878, 7579, 8597, 7996, 7514, 9666, 8138, 8498, 9295, 9218, 9578, - 6788, 9707, 9326, 8265, 8671, 7618, 8570, 6879, 7580, 8598, 7997, 7515, - 9667, 8139, 8499, 9296, 9219, 9579, 6789, 9708, 9327, 8266, 8672, 7619, - 8571, 6880, 7581, 8599, 7998, 7516, 9668, 8140, 8500, 9297, 9220, 9580, - 6790, 9709, 9328, 8267, 8673, 7620, 8572, 6881, 7582, 8600, 7999, 7517, - 9669, 8141, 8501, 9298, 9221, 9581, 6791, 9710, 9329, 8268, 8674, 7621, - 8573, 6882, 7583, 8601, 8000, 7518, 9670, 8142, 8502, 9299, 9222, 9582, - 6792, 9711, 9330, 8269, 8675, 7622, 8574, 6883, 7584, 8602, 8001, 7519, - 9671, 8143, 8503, 9300, 9223, 9583, 6793, 9712, 9331, 8270, 8676, 7623, - 8575, 6884, 7585, 8603, 8002, 7520, 9672, 8144, 8504, 9301, 9224, 9584, - 6794, 9713, 9332, 8271, 8677, 7624, 8576, 6885, 7586, 8604, 8003, 7521, - 9673, 8145, 8505, 9302, 9225, 9585, 6795, 9714, 9333, 8272, 8678, 7625, - 8577, 6886, 7587, 8605, 8004, 7522, 9674, 8146, 8506, 9303, 9226, 9586, - 6796, 9715, 9334, 8273, 8679, 7626, 8578, 6887, 7588, 8606, 8005, 7523, - 9675, 8147, 8507, 9304, 9227, 9587, 6797, 9716, 9335, 8274, 8680, 7627, - 8579, 6888, 7589, 8607, 8006, 7524, 9676, 8148, 8508, 9305, 9228, 9588, - 6798, 9717, 9336, 8275, 8681, 7628, 8580, 6889, 7590, 8608, 8007, 7525, - 9677, 8149, 8509, 9306, 9229, 9589, 6799, 9718, 9337, 8276, 8682, 7629, - 8581, 6890, 7591, 8609, 8008, 7526, 9678, 8150, 8510, 9307, 9230, 9590, - 6800, 9719, 9338, 8277, 8683, 7630, 8582, 6891, 7592, 8610, 8009, 7527, - 9679, 8151, 8511, 9308, 9231, 9591, 6801, 9720, 9339, 8278, 8684, 7631, - 8583, 6892, 7593, 8611, 8010, 7528, 9680, 8152, 8512, 9309, 9232, 9592, - 6802, 9361, 9340, 8279, 8685, 7632, 8584, 6893, 7594, 8612, 8011, 7529, - 9681, 8153, 8513, 9310, 9233, 9593, 6803, 9362, 9341, 8280, 8686, 7633, - 8585, 6894, 7595, 8613, 8012, 7530, 9682, 8154, 8514, 9311, 9234, 9594, - 6804, 9363, 9342, 7921, 8687, 7634, 8586, 6895, 7596, 8614, 8013, 7531, - 9683, 8155, 8515, 9312, 9235, 9595, 6805, 9364, 9343, 7922, 8688, 7635, - 8587, 6896, 7597, 8615, 8014, 7532, 9684, 8156, 8516, 9313, 9236, 9596, - 6806, 9365, 9344, 7923, 8689, 7636, 8588, 6897, 7598, 8616, 8015, 7533, - 9685, 8157, 8517, 9314, 9237, 9597, 6807, 9366, 9345, 7924, 8690, 7637, - 8589, 6898, 7599, 8617, 8016, 7534, 9686, 8158, 8518, 9315, 9238, 9598, - 6808, 9367, 9346, 7925, 8691, 7638, 8590, 6899, 7600, 8618, 8017, 7535, - 9687, 8159, 8519, 9316, 9239, 9599, 6809, 9368, 9347, 7926, 8692, 7639, - 8591, 6900, 7601, 8619, 8018, 7536, 9688, 8160, 8520, 9317, 9240, 9600, - 6810, 9369, 9348, 7927, 8693, 7640, 8592, 6901, 7602, 8620, 8019, 7537, - 9689, 8161, 8521, 9318, 9241, 9601, 6811, 9370, 9349, 7928, 8694, 7641, - 8593, 6902, 7603, 8621, 8020, 7538, 9690, 8162, 8522, 9319, 9242, 9602, - 6812, 9371, 9350, 7929, 8695, 7642, 8594, 6903, 7604, 8622, 8021, 7539, - 9691, 8163, 8523, 9320, 9243, 9603, 6813, 9372, 9351, 7930, 8696, 7643, - 8595, 6904, 7605, 8623, 8022, 7540, 9692, 8164, 8524, 9321, 9244, 9604, - 6814, 9373, 9352, 7931, 8697, 7644, 8596, 6905, 7606, 8624, 8023, 7541, - 9693, 8165, 8525, 9322, 9245, 9605, 6815, 9374, 9353, 7932, 8698, 7645, - 8597, 6906, 7607, 8625, 8024, 7542, 9694, 8166, 8526, 9323, 9246, 9606, - 6816, 9375, 9354, 7933, 8699, 7646, 8598, 6907, 7608, 8626, 8025, 7543, - 9695, 8167, 8527, 9324, 9247, 9607, 6817, 9376, 9355, 7934, 8700, 7647, - 8599, 6908, 7609, 8627, 8026, 7544, 9696, 8168, 8528, 9325, 9248, 9608, - 6818, 9377, 9356, 7935, 8701, 7648, 8600, 6909, 7610, 8628, 8027, 7545, - 9697, 8169, 8529, 9326, 9249, 9609, 6819, 9378, 9357, 7936, 8702, 7649, - 8601, 6910, 7611, 8629, 8028, 7546, 9698, 8170, 8530, 9327, 9250, 9610, - 6820, 9379, 9358, 7937, 8703, 7650, 8602, 6911, 7612, 8630, 8029, 7547, - 9699, 8171, 8531, 9328, 9251, 9611, 6821, 9380, 9359, 7938, 8704, 7651, - 8603, 6912, 7613, 8631, 8030, 7548, 9700, 8172, 8532, 9329, 9252, 9612, - 6822, 9381, 9360, 7939, 8705, 7652, 8604, 6913, 7614, 8632, 8031, 7549, - 9701, 8173, 8533, 9330, 9253, 9613, 6823, 9382, 9001, 7940, 8706, 7653, - 8605, 6914, 7615, 8633, 8032, 7550, 9702, 8174, 8534, 9331, 9254, 9614, - 6824, 9383, 9002, 7941, 8707, 7654, 8606, 6915, 7616, 8634, 8033, 7551, - 9703, 8175, 8535, 9332, 9255, 9615, 6825, 9384, 9003, 7942, 8708, 7655, - 8607, 6916, 7617, 8635, 8034, 7552, 9704, 8176, 8536, 9333, 9256, 9616, - 6826, 9385, 9004, 7943, 8709, 7656, 8608, 6917, 7618, 8636, 8035, 7553, - 9705, 8177, 8537, 9334, 9257, 9617, 6827, 9386, 9005, 7944, 8710, 7657, - 8609, 6918, 7619, 8637, 8036, 7554, 9706, 8178, 8538, 9335, 9258, 9618, - 6828, 9387, 9006, 7945, 8711, 7658, 8610, 6919, 7620, 8638, 8037, 7555, - 9707, 8179, 8539, 9336, 9259, 9619, 6829, 9388, 9007, 7946, 8712, 7659, - 8611, 6920, 7621, 8639, 8038, 7556, 9708, 8180, 8540, 9337, 9260, 9620, - 6830, 9389, 9008, 7947, 8713, 7660, 8612, 6921, 7622, 8640, 8039, 7557, - 9709, 8181, 8541, 9338, 9261, 9621, 6831, 9390, 9009, 7948, 8714, 7661, - 8613, 6922, 7623, 8281, 8040, 7558, 9710, 8182, 8542, 9339, 9262, 9622, - 6832, 9391, 9010, 7949, 8715, 7662, 8614, 6923, 7624, 8282, 8041, 7559, - 9711, 8183, 8543, 9340, 9263, 9623, 6833, 9392, 9011, 7950, 8716, 7663, - 8615, 6924, 7625, 8283, 8042, 7560, 9712, 8184, 8544, 9341, 9264, 9624, - 6834, 9393, 9012, 7951, 8717, 7664, 8616, 6925, 7626, 8284, 8043, 7465, - 9713, 8185, 8545, 9342, 9265, 9625, 6835, 9394, 9013, 7952, 8718, 7665, - 8617, 6926, 7627, 8285, 8044, 7466, 9714, 8186, 8546, 9343, 9266, 9626, - 6836, 9395, 9014, 7953, 8719, 7666, 8618, 6927, 7628, 8286, 8045, 7467, - 9715, 8187, 8547, 9344, 9267, 9627, 6837, 9396, 9015, 7954, 8720, 7667, - 8619, 6928, 7629, 8287, 8046, 7468, 9716, 8188, 8548, 9345, 9268, 9628, - 6838, 9397, 9016, 7955, 8721, 7668, 8620, 6929, 7630, 8288, 8047, 7469, - 9717, 8189, 8549, 9346, 9269, 9629, 6839, 9398, 9017, 7956, 8722, 7669, - 8621, 6930, 7631, 8289, 8048, 7470, 9718, 8190, 8550, 9347, 9270, 9630, - 6840, 9399, 9018, 7957, 8723, 7670, 8622, 6931, 7632, 8290, 8049, 7471, - 9719, 8191, 8551, 9348, 9271, 9631, 6481, 9400, 9019, 7958, 8724, 7671, - 8623, 6932, 7633, 8291, 8050, 7472, 9720, 8192, 8552, 9349, 9272, 9632, - 6482, 9401, 9020, 7959, 8725, 7672, 8624, 6933, 7634, 8292, 8051, 7473, - 9361, 8193, 8553, 9350, 9273, 9633, 6483, 9402, 9021, 7960, 8726, 7673, - 8625, 6934, 7635, 8293, 8052, 7474, 9362, 8194, 8554, 9351, 9274, 9634, - 6484, 9403, 9022, 7961, 8727, 7674, 8626, 6935, 7636, 8294, 8053, 7475, - 9363, 8195, 8555, 9352, 9275, 9635, 6485, 9404, 9023, 7962, 8728, 7675, - 8627, 6936, 7637, 8295, 8054, 7476, 9364, 8196, 8556, 9353, 9276, 9636, - 6486, 9405, 9024, 7963, 8729, 7676, 8628, 6937, 7638, 8296, 8055, 7477, - 9365, 8197, 8557, 9354, 9277, 9637, 6487, 9406, 9025, 7964, 8730, 7677, - 8629, 6938, 7639, 8297, 8056, 7478, 9366, 8198, 8558, 9355, 9278, 9638, - 6488, 9407, 9026, 7965, 8731, 7678, 8630, 6939, 7640, 8298, 8057, 7479, - 9367, 8199, 8559, 9356, 9279, 9639, 6489, 9408, 9027, 7966, 8732, 7679, - 8631, 6940, 7641, 8299, 8058, 7480, 9368, 8200, 8560, 9357, 9280, 9640, - 6490, 9409, 9028, 7967, 8733, 7680, 8632, 6941, 7642, 8300, 8059, 7481, - 9369, 8201, 8561, 9358, 9281, 9641, 6491, 9410, 9029, 7968, 8734, 7681, - 8633, 6942, 7643, 8301, 8060, 7482, 9370, 8202, 8562, 9359, 9282, 9642, - 6492, 9411, 9030, 7969, 8735, 7682, 8634, 6943, 7644, 8302, 8061, 7483, - 9371, 8203, 8563, 9360, 9283, 9643, 6493, 9412, 9031, 7970, 8736, 7683, - 8635, 6944, 7645, 8303, 8062, 7484, 9372, 8204, 8564, 9001, 9284, 9644, - 6494, 9413, 9032, 7971, 8737, 7684, 8636, 6945, 7646, 8304, 8063, 7485, - 9373, 8205, 8565, 9002, 9285, 9645, 6495, 9414, 9033, 7972, 8738, 7685, - 8637, 6946, 7647, 8305, 8064, 7486, 9374, 8206, 8566, 9003, 9286, 9646, - 6496, 9415, 9034, 7973, 8739, 7686, 8638, 6947, 7648, 8306, 8065, 7487, - 9375, 8207, 8567, 9004, 9287, 9647, 6497, 9416, 9035, 7974, 8740, 7687, - 8639, 6948, 7649, 8307, 8066, 7488, 9376, 8208, 8568, 9005, 9288, 9648, - 6498, 9417, 9036, 7975, 8741, 7688, 8640, 6949, 7650, 8308, 8067, 7489, - 9377, 8209, 8569, 9006, 9289, 9649, 6499, 9418, 9037, 7976, 8742, 7689, - 8281, 6950, 7651, 8309, 8068, 7490, 9378, 8210, 8570, 9007, 9290, 9650, - 6500, 9419, 9038, 7977, 8743, 7690, 8282, 6951, 7652, 8310, 8069, 7491, - 9379, 8211, 8571, 9008, 9291, 9651, 6501, 9420, 9039, 7978, 8744, 7691, - 8283, 6952, 7653, 8311, 8070, 7492, 9380, 8212, 8572, 9009, 9292, 9652, - 6502, 9421, 9040, 7979, 8745, 7692, 8284, 6953, 7654, 8312, 8071, 7493, - 9381, 8213, 8573, 9010, 9293, 9653, 6503, 9422, 9041, 7980, 8746, 7693, - 8285, 6954, 7655, 8313, 8072, 7494, 9382, 8214, 8574, 9011, 9294, 9654, - 6504, 9423, 9042, 7981, 8747, 7694, 8286, 6955, 7656, 8314, 8073, 7495, - 9383, 8215, 8575, 9012, 9295, 9655, 6505, 9424, 9043, 7982, 8748, 7695, - 8287, 6956, 7657, 8315, 8074, 7496, 9384, 8216, 8576, 9013, 9296, 9656, - 6506, 9425, 9044, 7983, 8749, 7696, 8288, 6957, 7658, 8316, 8075, 7497, - 9385, 8217, 8577, 9014, 9297, 9657, 6507, 9426, 9045, 7984, 8750, 7697, - 8289, 6958, 7659, 8317, 8076, 7498, 9386, 8218, 8578, 9015, 9298, 9658, - 6508, 9427, 9046, 7985, 8751, 7698, 8290, 6959, 7660, 8318, 8077, 7499, - 9387, 8219, 8579, 9016, 9299, 9659, 6509, 9428, 9047, 7986, 8752, 7699, - 8291, 6960, 7661, 8319, 8078, 7500, 9388, 8220, 8580, 9017, 9300, 9660, - 6510, 9429, 9048, 7987, 8753, 7700, 8292, 6961, 7662, 8320, 8079, 7501, - 9389, 8221, 8581, 9018, 9301, 9661, 6511, 9430, 9049, 7988, 8754, 7701, - 8293, 6962, 7663, 8321, 8080, 7502, 9390, 8222, 8582, 9019, 9302, 9662, - 6512, 9431, 9050, 7989, 8755, 7702, 8294, 6963, 7664, 8322, 8081, 7503, - 9391, 8223, 8583, 9020, 9303, 9663, 6513, 9432, 9051, 7990, 8756, 7703, - 8295, 6964, 7665, 8323, 8082, 7504, 9392, 8224, 8584, 9021, 9304, 9664, - 6514, 9433, 9052, 7991, 8757, 7704, 8296, 6965, 7666, 8324, 8083, 7505, - 9393, 8225, 8585, 9022, 9305, 9665, 6515, 9434, 9053, 7992, 8758, 7705, - 8297, 6966, 7667, 8325, 8084, 7506, 9394, 8226, 8586, 9023, 9306, 9666, - 6516, 9435, 9054, 7993, 8759, 7706, 8298, 6967, 7668, 8326, 8085, 7507, - 9395, 8227, 8587, 9024, 9307, 9667, 6517, 9436, 9055, 7994, 8760, 7707, - 8299, 6968, 7669, 8327, 8086, 7508, 9396, 8228, 8588, 9025, 9308, 9668, - 6518, 9437, 9056, 7995, 8761, 7708, 8300, 6969, 7670, 8328, 8087, 7509, - 9397, 8229, 8589, 9026, 9309, 9669, 6519, 9438, 9057, 7996, 8762, 7709, - 8301, 6970, 7671, 8329, 8088, 7510, 9398, 8230, 8590, 9027, 9310, 9670, - 6520, 9439, 9058, 7997, 8763, 7710, 8302, 6971, 7672, 8330, 8089, 7511, - 9399, 8231, 8591, 9028, 9311, 9671, 6521, 9440, 9059, 7998, 8764, 7711, - 8303, 6972, 7673, 8331, 8090, 7512, 9400, 8232, 8592, 9029, 9312, 9672, - 6522, 9441, 9060, 7999, 8765, 7712, 8304, 6973, 7674, 8332, 8091, 7513, - 9401, 8233, 8593, 9030, 9313, 9673, 6523, 9442, 9061, 8000, 8766, 7713, - 8305, 6974, 7675, 8333, 8092, 7514, 9402, 8234, 8594, 9031, 9314, 9674, - 6524, 9443, 9062, 8001, 8767, 7714, 8306, 6975, 7676, 8334, 8093, 7515, - 9403, 8235, 8595, 9032, 9315, 9675, 6525, 9444, 9063, 8002, 8768, 7715, - 8307, 6976, 7677, 8335, 8094, 7516, 9404, 8236, 8596, 9033, 9316, 9676, - 6526, 9445, 9064, 8003, 8769, 7716, 8308, 6977, 7678, 8336, 8095, 7517, - 9405, 8237, 8597, 9034, 9317, 9677, 6527, 9446, 9065, 8004, 8770, 7717, - 8309, 6978, 7679, 8337, 8096, 7518, 9406, 8238, 8598, 9035, 9318, 9678, - 6528, 9447, 9066, 8005, 8771, 7718, 8310, 6979, 7680, 8338, 8097, 7519, - 9407, 8239, 8599, 9036, 9319, 9679, 6529, 9448, 9067, 8006, 8772, 7719, - 8311, 6980, 7681, 8339, 8098, 7520, 9408, 8240, 8600, 9037, 9320, 9680, - 6530, 9449, 9068, 8007, 8773, 7720, 8312, 6981, 7682, 8340, 8099, 7521, - 9409, 8241, 8601, 9038, 9321, 9681, 6531, 9450, 9069, 8008, 8774, 7721, - 8313, 6982, 7683, 8341, 8100, 7522, 9410, 8242, 8602, 9039, 9322, 9682, - 6532, 9451, 9070, 8009, 8775, 7722, 8314, 6983, 7684, 8342, 8101, 7523, - 9411, 8243, 8603, 9040, 9323, 9683, 6533, 9452, 9071, 8010, 8776, 7723, - 8315, 6984, 7685, 8343, 8102, 7524, 9412, 8244, 8604, 9041, 9324, 9684, - 6534, 9453, 9072, 8011, 8777, 7724, 8316, 6985, 7686, 8344, 8103, 7525, - 9413, 8245, 8605, 9042, 9325, 9685, 6535, 9454, 9073, 8012, 8778, 7725, - 8317, 6986, 7687, 8345, 8104, 7526, 9414, 8246, 8606, 9043, 9326, 9686, - 6536, 9455, 9074, 8013, 8779, 7726, 8318, 6987, 7688, 8346, 8105, 7527, - 9415, 8247, 8607, 9044, 9327, 9687, 6537, 9456, 9075, 8014, 8780, 7727, - 8319, 6988, 7689, 8347, 8106, 7528, 9416, 8248, 8608, 9045, 9328, 9688, - 6538, 9457, 9076, 8015, 8781, 7728, 8320, 6989, 7690, 8348, 8107, 7529, - 9417, 8249, 8609, 9046, 9329, 9689, 6539, 9458, 9077, 8016, 8782, 7729, - 8321, 6990, 7691, 8349, 8108, 7530, 9418, 8250, 8610, 9047, 9330, 9690, - 6540, 9459, 9078, 8017, 8783, 7730, 8322, 6991, 7692, 8350, 8109, 7531, - 9419, 8251, 8611, 9048, 9331, 9691, 6541, 9460, 9079, 8018, 8784, 7731, - 8323, 6992, 7693, 8351, 8110, 7532, 9420, 8252, 8612, 9049, 9332, 9692, - 6542, 9461, 9080, 8019, 8785, 7732, 8324, 6993, 7694, 8352, 8111, 7533, - 9421, 8253, 8613, 9050, 9333, 9693, 6543, 9462, 9081, 8020, 8786, 7733, - 8325, 6994, 7695, 8353, 8112, 7534, 9422, 8254, 8614, 9051, 9334, 9694, - 6544, 9463, 9082, 8021, 8787, 7734, 8326, 6995, 7696, 8354, 8113, 7535, - 9423, 8255, 8615, 9052, 9335, 9695, 6545, 9464, 9083, 8022, 8788, 7735, - 8327, 6996, 7697, 8355, 8114, 7536, 9424, 8256, 8616, 9053, 9336, 9696, - 6546, 9465, 9084, 8023, 8789, 7736, 8328, 6997, 7698, 8356, 8115, 7537, - 9425, 8257, 8617, 9054, 9337, 9697, 6547, 9466, 9085, 8024, 8790, 7737, - 8329, 6998, 7699, 8357, 8116, 7538, 9426, 8258, 8618, 9055, 9338, 9698, - 6548, 9467, 9086, 8025, 8791, 7738, 8330, 6999, 7700, 8358, 8117, 7539, - 9427, 8259, 8619, 9056, 9339, 9699, 6549, 9468, 9087, 8026, 8792, 7739, - 8331, 7000, 7701, 8359, 8118, 7540, 9428, 8260, 8620, 9057, 9340, 9700, - 6550, 9469, 9088, 8027, 8793, 7740, 8332, 7001, 7702, 8360, 8119, 7541, - 9429, 8261, 8621, 9058, 9341, 9701, 6551, 9470, 9089, 8028, 8794, 7741, - 8333, 7002, 7703, 8361, 8120, 7542, 9430, 8262, 8622, 9059, 9342, 9702, - 6552, 9471, 9090, 8029, 8795, 7742, 8334, 7003, 7704, 8362, 8121, 7543, - 9431, 8263, 8623, 9060, 9343, 9703, 6553, 9472, 9091, 8030, 8796, 7743, - 8335, 7004, 7705, 8363, 8122, 7544, 9432, 8264, 8624, 9061, 9344, 9704, - 6554, 9473, 9092, 8031, 8797, 7744, 8336, 7005, 7706, 8364, 8123, 7545, - 9433, 8265, 8625, 9062, 9345, 9705, 6555, 9474, 9093, 8032, 8798, 7745, - 8337, 7006, 7707, 8365, 8124, 7546, 9434, 8266, 8626, 9063, 9346, 9706, - 6556, 9475, 9094, 8033, 8799, 7746, 8338, 7007, 7708, 8366, 8125, 7547, - 9435, 8267, 8627, 9064, 9347, 9707, 6557, 9476, 9095, 8034, 8800, 7747, - 8339, 7008, 7709, 8367, 8126, 7548, 9436, 8268, 8628, 9065, 9348, 9708, - 6558, 9477, 9096, 8035, 8801, 7748, 8340, 7009, 7710, 8368, 8127, 7549, - 9437, 8269, 8629, 9066, 9349, 9709, 6559, 9478, 9097, 8036, 8802, 7749, - 8341, 7010, 7711, 8369, 8128, 7550, 9438, 8270, 8630, 9067, 9350, 9710, - 6560, 9479, 9098, 8037, 8803, 7750, 8342, 7011, 7712, 8370, 8129, 7551, - 9439, 8271, 8631, 9068, 9351, 9711, 6561, 9480, 9099, 8038, 8804, 7751, - 8343, 7012, 7713, 8371, 8130, 7552, 9440, 8272, 8632, 9069, 9352, 9712, - 6562, 9481, 9100, 8039, 8805, 7752, 8344, 7013, 7714, 8372, 8131, 7553, - 9441, 8273, 8633, 9070, 9353, 9713, 6563, 9482, 9101, 8040, 8806, 7753, - 8345, 7014, 7715, 8373, 8132, 7554, 9442, 8274, 8634, 9071, 9354, 9714, - 6564, 9483, 9102, 8041, 8807, 7754, 8346, 7015, 7716, 8374, 8133, 7555, - 9443, 8275, 8635, 9072, 9355, 9715, 6565, 9484, 9103, 8042, 8808, 7755, - 8347, 7016, 7717, 8375, 8134, 7556, 9444, 8276, 8636, 9073, 9356, 9716, - 6566, 9485, 9104, 8043, 8809, 7756, 8348, 7017, 7718, 8376, 8135, 7557, - 9445, 8277, 8637, 9074, 9357, 9717, 6567, 9486, 9105, 8044, 8810, 7757, - 8349, 7018, 7719, 8377, 8136, 7558, 9446, 8278, 8638, 9075, 9358, 9718, - 6568, 9487, 9106, 8045, 8811, 7758, 8350, 7019, 7720, 8378, 8137, 7559, - 9447, 8279, 8639, 9076, 9359, 9719, 6569, 9488, 9107, 8046, 8812, 7759, - 8351, 7020, 7721, 8379, 8138, 7560, 9448, 8280, 8640, 9077, 9360, 9720}; - -const uint16_t H_16200_9720_H_cols[] = { - 2766, 2784, 2802, 2820, 2838, 2856, 2874, 2892, 2910, 2928, 2946, 2964, - 2982, 3000, 3018, 3036, 3054, 3072, 3090, 3108, 3126, 3144, 3162, 3180, - 3198, 3216, 3234, 3252, 3270, 3288, 3306, 3324, 3342, 3360, 3378, 3396, - 3414, 3432, 3450, 3468, 3486, 3504, 3522, 3540, 3558, 3576, 3594, 3612, - 3630, 3648, 3666, 3684, 3702, 3720, 3738, 3756, 3774, 3792, 3810, 3828, - 3846, 3864, 3882, 3900, 3918, 3936, 3954, 3972, 3990, 4008, 4026, 4044, - 4062, 4080, 4098, 4116, 4134, 4152, 4170, 4188, 4206, 4224, 4242, 4260, - 4278, 4296, 4314, 4332, 4350, 4368, 4386, 4404, 4422, 4440, 4458, 4476, - 4494, 4512, 4530, 4548, 4566, 4584, 4602, 4620, 4638, 4656, 4674, 4692, - 4710, 4728, 4746, 4764, 4782, 4800, 4818, 4836, 4854, 4872, 4890, 4908, - 4926, 4944, 4962, 4980, 4998, 5016, 5034, 5052, 5070, 5088, 5106, 5124, - 5142, 5160, 5178, 5196, 5214, 5232, 5250, 5268, 5286, 5304, 5322, 5340, - 5358, 5376, 5394, 5412, 5430, 5448, 5466, 5484, 5502, 5520, 5538, 5556, - 5574, 5592, 5610, 5628, 5646, 5664, 5682, 5700, 5718, 5736, 5754, 5772, - 5790, 5808, 5826, 5844, 5862, 5880, 5898, 5916, 5934, 5952, 5970, 5988, - 6006, 6024, 6042, 6060, 6078, 6096, 6114, 6132, 6150, 6168, 6186, 6204, - 6222, 6240, 6258, 6276, 6294, 6312, 6330, 6348, 6366, 6384, 6402, 6420, - 6438, 6456, 6474, 12, 30, 48, 66, 84, 102, 120, 138, 156, - 174, 192, 210, 228, 246, 264, 282, 300, 318, 336, 354, 372, - 390, 408, 426, 444, 462, 480, 498, 516, 534, 552, 570, 588, - 606, 624, 642, 660, 678, 696, 714, 732, 750, 768, 786, 804, - 822, 840, 858, 876, 894, 912, 930, 948, 966, 984, 1002, 1020, - 1038, 1056, 1074, 1092, 1110, 1128, 1146, 1164, 1182, 1200, 1218, 1236, - 1254, 1272, 1290, 1308, 1326, 1344, 1362, 1380, 1398, 1416, 1434, 1452, - 1470, 1488, 1506, 1524, 1542, 1560, 1578, 1596, 1614, 1632, 1650, 1668, - 1686, 1704, 1722, 1740, 1758, 1776, 1794, 1812, 1830, 1848, 1866, 1884, - 1902, 1920, 1938, 1956, 1974, 1992, 2010, 2028, 2046, 2064, 2082, 2100, - 2118, 2136, 2154, 2172, 2190, 2208, 2226, 2244, 2262, 2280, 2298, 2316, - 2334, 2352, 2370, 2388, 2406, 2424, 2442, 2460, 2478, 2496, 2514, 2532, - 2550, 2568, 2586, 2604, 2622, 2640, 2658, 2676, 2694, 2712, 2730, 2748, - 4952, 4970, 4988, 5006, 5024, 5042, 5060, 5078, 5096, 5114, 5132, 5150, - 5168, 5186, 5204, 5222, 5240, 5258, 5276, 5294, 5312, 5330, 5348, 5366, - 5384, 5402, 5420, 5438, 5456, 5474, 5492, 5510, 5528, 5546, 5564, 5582, - 5600, 5618, 5636, 5654, 5672, 5690, 5708, 5726, 5744, 5762, 5780, 5798, - 5816, 5834, 5852, 5870, 5888, 5906, 5924, 5942, 5960, 5978, 5996, 6014, - 6032, 6050, 6068, 6086, 6104, 6122, 6140, 6158, 6176, 6194, 6212, 6230, - 6248, 6266, 6284, 6302, 6320, 6338, 6356, 6374, 6392, 6410, 6428, 6446, - 6464, 2, 20, 38, 56, 74, 92, 110, 128, 146, 164, 182, - 200, 218, 236, 254, 272, 290, 308, 326, 344, 362, 380, 398, - 416, 434, 452, 470, 488, 506, 524, 542, 560, 578, 596, 614, - 632, 650, 668, 686, 704, 722, 740, 758, 776, 794, 812, 830, - 848, 866, 884, 902, 920, 938, 956, 974, 992, 1010, 1028, 1046, - 1064, 1082, 1100, 1118, 1136, 1154, 1172, 1190, 1208, 1226, 1244, 1262, - 1280, 1298, 1316, 1334, 1352, 1370, 1388, 1406, 1424, 1442, 1460, 1478, - 1496, 1514, 1532, 1550, 1568, 1586, 1604, 1622, 1640, 1658, 1676, 1694, - 1712, 1730, 1748, 1766, 1784, 1802, 1820, 1838, 1856, 1874, 1892, 1910, - 1928, 1946, 1964, 1982, 2000, 2018, 2036, 2054, 2072, 2090, 2108, 2126, - 2144, 2162, 2180, 2198, 2216, 2234, 2252, 2270, 2288, 2306, 2324, 2342, - 2360, 2378, 2396, 2414, 2432, 2450, 2468, 2486, 2504, 2522, 2540, 2558, - 2576, 2594, 2612, 2630, 2648, 2666, 2684, 2702, 2720, 2738, 2756, 2774, - 2792, 2810, 2828, 2846, 2864, 2882, 2900, 2918, 2936, 2954, 2972, 2990, - 3008, 3026, 3044, 3062, 3080, 3098, 3116, 3134, 3152, 3170, 3188, 3206, - 3224, 3242, 3260, 3278, 3296, 3314, 3332, 3350, 3368, 3386, 3404, 3422, - 3440, 3458, 3476, 3494, 3512, 3530, 3548, 3566, 3584, 3602, 3620, 3638, - 3656, 3674, 3692, 3710, 3728, 3746, 3764, 3782, 3800, 3818, 3836, 3854, - 3872, 3890, 3908, 3926, 3944, 3962, 3980, 3998, 4016, 4034, 4052, 4070, - 4088, 4106, 4124, 4142, 4160, 4178, 4196, 4214, 4232, 4250, 4268, 4286, - 4304, 4322, 4340, 4358, 4376, 4394, 4412, 4430, 4448, 4466, 4484, 4502, - 4520, 4538, 4556, 4574, 4592, 4610, 4628, 4646, 4664, 4682, 4700, 4718, - 4736, 4754, 4772, 4790, 4808, 4826, 4844, 4862, 4880, 4898, 4916, 4934, - 211, 229, 247, 265, 283, 301, 319, 337, 355, 373, 391, 409, - 427, 445, 463, 481, 499, 517, 535, 553, 571, 589, 607, 625, - 643, 661, 679, 697, 715, 733, 751, 769, 787, 805, 823, 841, - 859, 877, 895, 913, 931, 949, 967, 985, 1003, 1021, 1039, 1057, - 1075, 1093, 1111, 1129, 1147, 1165, 1183, 1201, 1219, 1237, 1255, 1273, - 1291, 1309, 1327, 1345, 1363, 1381, 1399, 1417, 1435, 1453, 1471, 1489, - 1507, 1525, 1543, 1561, 1579, 1597, 1615, 1633, 1651, 1669, 1687, 1705, - 1723, 1741, 1759, 1777, 1795, 1813, 1831, 1849, 1867, 1885, 1903, 1921, - 1939, 1957, 1975, 1993, 2011, 2029, 2047, 2065, 2083, 2101, 2119, 2137, - 2155, 2173, 2191, 2209, 2227, 2245, 2263, 2281, 2299, 2317, 2335, 2353, - 2371, 2389, 2407, 2425, 2443, 2461, 2479, 2497, 2515, 2533, 2551, 2569, - 2587, 2605, 2623, 2641, 2659, 2677, 2695, 2713, 2731, 2749, 2767, 2785, - 2803, 2821, 2839, 2857, 2875, 2893, 2911, 2929, 2947, 2965, 2983, 3001, - 3019, 3037, 3055, 3073, 3091, 3109, 3127, 3145, 3163, 3181, 3199, 3217, - 3235, 3253, 3271, 3289, 3307, 3325, 3343, 3361, 3379, 3397, 3415, 3433, - 3451, 3469, 3487, 3505, 3523, 3541, 3559, 3577, 3595, 3613, 3631, 3649, - 3667, 3685, 3703, 3721, 3739, 3757, 3775, 3793, 3811, 3829, 3847, 3865, - 3883, 3901, 3919, 3937, 3955, 3973, 3991, 4009, 4027, 4045, 4063, 4081, - 4099, 4117, 4135, 4153, 4171, 4189, 4207, 4225, 4243, 4261, 4279, 4297, - 4315, 4333, 4351, 4369, 4387, 4405, 4423, 4441, 4459, 4477, 4495, 4513, - 4531, 4549, 4567, 4585, 4603, 4621, 4639, 4657, 4675, 4693, 4711, 4729, - 4747, 4765, 4783, 4801, 4819, 4837, 4855, 4873, 4891, 4909, 4927, 4945, - 4963, 4981, 4999, 5017, 5035, 5053, 5071, 5089, 5107, 5125, 5143, 5161, - 5179, 5197, 5215, 5233, 5251, 5269, 5287, 5305, 5323, 5341, 5359, 5377, - 5395, 5413, 5431, 5449, 5467, 5485, 5503, 5521, 5539, 5557, 5575, 5593, - 5611, 5629, 5647, 5665, 5683, 5701, 5719, 5737, 5755, 5773, 5791, 5809, - 5827, 5845, 5863, 5881, 5899, 5917, 5935, 5953, 5971, 5989, 6007, 6025, - 6043, 6061, 6079, 6097, 6115, 6133, 6151, 6169, 6187, 6205, 6223, 6241, - 6259, 6277, 6295, 6313, 6331, 6349, 6367, 6385, 6403, 6421, 6439, 6457, - 6475, 13, 31, 49, 67, 85, 103, 121, 139, 157, 175, 193, - 4168, 4186, 4204, 4222, 4240, 4258, 4276, 4294, 4312, 4330, 4348, 4366, - 4384, 4402, 4420, 4438, 4456, 4474, 4492, 4510, 4528, 4546, 4564, 4582, - 4600, 4618, 4636, 4654, 4672, 4690, 4708, 4726, 4744, 4762, 4780, 4798, - 4816, 4834, 4852, 4870, 4888, 4906, 4924, 4942, 4960, 4978, 4996, 5014, - 5032, 5050, 5068, 5086, 5104, 5122, 5140, 5158, 5176, 5194, 5212, 5230, - 5248, 5266, 5284, 5302, 5320, 5338, 5356, 5374, 5392, 5410, 5428, 5446, - 5464, 5482, 5500, 5518, 5536, 5554, 5572, 5590, 5608, 5626, 5644, 5662, - 5680, 5698, 5716, 5734, 5752, 5770, 5788, 5806, 5824, 5842, 5860, 5878, - 5896, 5914, 5932, 5950, 5968, 5986, 6004, 6022, 6040, 6058, 6076, 6094, - 6112, 6130, 6148, 6166, 6184, 6202, 6220, 6238, 6256, 6274, 6292, 6310, - 6328, 6346, 6364, 6382, 6400, 6418, 6436, 6454, 6472, 10, 28, 46, - 64, 82, 100, 118, 136, 154, 172, 190, 208, 226, 244, 262, - 280, 298, 316, 334, 352, 370, 388, 406, 424, 442, 460, 478, - 496, 514, 532, 550, 568, 586, 604, 622, 640, 658, 676, 694, - 712, 730, 748, 766, 784, 802, 820, 838, 856, 874, 892, 910, - 928, 946, 964, 982, 1000, 1018, 1036, 1054, 1072, 1090, 1108, 1126, - 1144, 1162, 1180, 1198, 1216, 1234, 1252, 1270, 1288, 1306, 1324, 1342, - 1360, 1378, 1396, 1414, 1432, 1450, 1468, 1486, 1504, 1522, 1540, 1558, - 1576, 1594, 1612, 1630, 1648, 1666, 1684, 1702, 1720, 1738, 1756, 1774, - 1792, 1810, 1828, 1846, 1864, 1882, 1900, 1918, 1936, 1954, 1972, 1990, - 2008, 2026, 2044, 2062, 2080, 2098, 2116, 2134, 2152, 2170, 2188, 2206, - 2224, 2242, 2260, 2278, 2296, 2314, 2332, 2350, 2368, 2386, 2404, 2422, - 2440, 2458, 2476, 2494, 2512, 2530, 2548, 2566, 2584, 2602, 2620, 2638, - 2656, 2674, 2692, 2710, 2728, 2746, 2764, 2782, 2800, 2818, 2836, 2854, - 2872, 2890, 2908, 2926, 2944, 2962, 2980, 2998, 3016, 3034, 3052, 3070, - 3088, 3106, 3124, 3142, 3160, 3178, 3196, 3214, 3232, 3250, 3268, 3286, - 3304, 3322, 3340, 3358, 3376, 3394, 3412, 3430, 3448, 3466, 3484, 3502, - 3520, 3538, 3556, 3574, 3592, 3610, 3628, 3646, 3664, 3682, 3700, 3718, - 3736, 3754, 3772, 3790, 3808, 3826, 3844, 3862, 3880, 3898, 3916, 3934, - 3952, 3970, 3988, 4006, 4024, 4042, 4060, 4078, 4096, 4114, 4132, 4150, - 4202, 4220, 4238, 4256, 4274, 4292, 4310, 4328, 4346, 4364, 4382, 4400, - 4418, 4436, 4454, 4472, 4490, 4508, 4526, 4544, 4562, 4580, 4598, 4616, - 4634, 4652, 4670, 4688, 4706, 4724, 4742, 4760, 4778, 4796, 4814, 4832, - 4850, 4868, 4886, 4904, 4922, 4940, 4958, 4976, 4994, 5012, 5030, 5048, - 5066, 5084, 5102, 5120, 5138, 5156, 5174, 5192, 5210, 5228, 5246, 5264, - 5282, 5300, 5318, 5336, 5354, 5372, 5390, 5408, 5426, 5444, 5462, 5480, - 5498, 5516, 5534, 5552, 5570, 5588, 5606, 5624, 5642, 5660, 5678, 5696, - 5714, 5732, 5750, 5768, 5786, 5804, 5822, 5840, 5858, 5876, 5894, 5912, - 5930, 5948, 5966, 5984, 6002, 6020, 6038, 6056, 6074, 6092, 6110, 6128, - 6146, 6164, 6182, 6200, 6218, 6236, 6254, 6272, 6290, 6308, 6326, 6344, - 6362, 6380, 6398, 6416, 6434, 6452, 6470, 8, 26, 44, 62, 80, - 98, 116, 134, 152, 170, 188, 206, 224, 242, 260, 278, 296, - 314, 332, 350, 368, 386, 404, 422, 440, 458, 476, 494, 512, - 530, 548, 566, 584, 602, 620, 638, 656, 674, 692, 710, 728, - 746, 764, 782, 800, 818, 836, 854, 872, 890, 908, 926, 944, - 962, 980, 998, 1016, 1034, 1052, 1070, 1088, 1106, 1124, 1142, 1160, - 1178, 1196, 1214, 1232, 1250, 1268, 1286, 1304, 1322, 1340, 1358, 1376, - 1394, 1412, 1430, 1448, 1466, 1484, 1502, 1520, 1538, 1556, 1574, 1592, - 1610, 1628, 1646, 1664, 1682, 1700, 1718, 1736, 1754, 1772, 1790, 1808, - 1826, 1844, 1862, 1880, 1898, 1916, 1934, 1952, 1970, 1988, 2006, 2024, - 2042, 2060, 2078, 2096, 2114, 2132, 2150, 2168, 2186, 2204, 2222, 2240, - 2258, 2276, 2294, 2312, 2330, 2348, 2366, 2384, 2402, 2420, 2438, 2456, - 2474, 2492, 2510, 2528, 2546, 2564, 2582, 2600, 2618, 2636, 2654, 2672, - 2690, 2708, 2726, 2744, 2762, 2780, 2798, 2816, 2834, 2852, 2870, 2888, - 2906, 2924, 2942, 2960, 2978, 2996, 3014, 3032, 3050, 3068, 3086, 3104, - 3122, 3140, 3158, 3176, 3194, 3212, 3230, 3248, 3266, 3284, 3302, 3320, - 3338, 3356, 3374, 3392, 3410, 3428, 3446, 3464, 3482, 3500, 3518, 3536, - 3554, 3572, 3590, 3608, 3626, 3644, 3662, 3680, 3698, 3716, 3734, 3752, - 3770, 3788, 3806, 3824, 3842, 3860, 3878, 3896, 3914, 3932, 3950, 3968, - 3986, 4004, 4022, 4040, 4058, 4076, 4094, 4112, 4130, 4148, 4166, 4184, - 2671, 2689, 2707, 2725, 2743, 2761, 2779, 2797, 2815, 2833, 2851, 2869, - 2887, 2905, 2923, 2941, 2959, 2977, 2995, 3013, 3031, 3049, 3067, 3085, - 3103, 3121, 3139, 3157, 3175, 3193, 3211, 3229, 3247, 3265, 3283, 3301, - 3319, 3337, 3355, 3373, 3391, 3409, 3427, 3445, 3463, 3481, 3499, 3517, - 3535, 3553, 3571, 3589, 3607, 3625, 3643, 3661, 3679, 3697, 3715, 3733, - 3751, 3769, 3787, 3805, 3823, 3841, 3859, 3877, 3895, 3913, 3931, 3949, - 3967, 3985, 4003, 4021, 4039, 4057, 4075, 4093, 4111, 4129, 4147, 4165, - 4183, 4201, 4219, 4237, 4255, 4273, 4291, 4309, 4327, 4345, 4363, 4381, - 4399, 4417, 4435, 4453, 4471, 4489, 4507, 4525, 4543, 4561, 4579, 4597, - 4615, 4633, 4651, 4669, 4687, 4705, 4723, 4741, 4759, 4777, 4795, 4813, - 4831, 4849, 4867, 4885, 4903, 4921, 4939, 4957, 4975, 4993, 5011, 5029, - 5047, 5065, 5083, 5101, 5119, 5137, 5155, 5173, 5191, 5209, 5227, 5245, - 5263, 5281, 5299, 5317, 5335, 5353, 5371, 5389, 5407, 5425, 5443, 5461, - 5479, 5497, 5515, 5533, 5551, 5569, 5587, 5605, 5623, 5641, 5659, 5677, - 5695, 5713, 5731, 5749, 5767, 5785, 5803, 5821, 5839, 5857, 5875, 5893, - 5911, 5929, 5947, 5965, 5983, 6001, 6019, 6037, 6055, 6073, 6091, 6109, - 6127, 6145, 6163, 6181, 6199, 6217, 6235, 6253, 6271, 6289, 6307, 6325, - 6343, 6361, 6379, 6397, 6415, 6433, 6451, 6469, 7, 25, 43, 61, - 79, 97, 115, 133, 151, 169, 187, 205, 223, 241, 259, 277, - 295, 313, 331, 349, 367, 385, 403, 421, 439, 457, 475, 493, - 511, 529, 547, 565, 583, 601, 619, 637, 655, 673, 691, 709, - 727, 745, 763, 781, 799, 817, 835, 853, 871, 889, 907, 925, - 943, 961, 979, 997, 1015, 1033, 1051, 1069, 1087, 1105, 1123, 1141, - 1159, 1177, 1195, 1213, 1231, 1249, 1267, 1285, 1303, 1321, 1339, 1357, - 1375, 1393, 1411, 1429, 1447, 1465, 1483, 1501, 1519, 1537, 1555, 1573, - 1591, 1609, 1627, 1645, 1663, 1681, 1699, 1717, 1735, 1753, 1771, 1789, - 1807, 1825, 1843, 1861, 1879, 1897, 1915, 1933, 1951, 1969, 1987, 2005, - 2023, 2041, 2059, 2077, 2095, 2113, 2131, 2149, 2167, 2185, 2203, 2221, - 2239, 2257, 2275, 2293, 2311, 2329, 2347, 2365, 2383, 2401, 2419, 2437, - 2455, 2473, 2491, 2509, 2527, 2545, 2563, 2581, 2599, 2617, 2635, 2653, - 5517, 5535, 5553, 5571, 5589, 5607, 5625, 5643, 5661, 5679, 5697, 5715, - 5733, 5751, 5769, 5787, 5805, 5823, 5841, 5859, 5877, 5895, 5913, 5931, - 5949, 5967, 5985, 6003, 6021, 6039, 6057, 6075, 6093, 6111, 6129, 6147, - 6165, 6183, 6201, 6219, 6237, 6255, 6273, 6291, 6309, 6327, 6345, 6363, - 6381, 6399, 6417, 6435, 6453, 6471, 9, 27, 45, 63, 81, 99, - 117, 135, 153, 171, 189, 207, 225, 243, 261, 279, 297, 315, - 333, 351, 369, 387, 405, 423, 441, 459, 477, 495, 513, 531, - 549, 567, 585, 603, 621, 639, 657, 675, 693, 711, 729, 747, - 765, 783, 801, 819, 837, 855, 873, 891, 909, 927, 945, 963, - 981, 999, 1017, 1035, 1053, 1071, 1089, 1107, 1125, 1143, 1161, 1179, - 1197, 1215, 1233, 1251, 1269, 1287, 1305, 1323, 1341, 1359, 1377, 1395, - 1413, 1431, 1449, 1467, 1485, 1503, 1521, 1539, 1557, 1575, 1593, 1611, - 1629, 1647, 1665, 1683, 1701, 1719, 1737, 1755, 1773, 1791, 1809, 1827, - 1845, 1863, 1881, 1899, 1917, 1935, 1953, 1971, 1989, 2007, 2025, 2043, - 2061, 2079, 2097, 2115, 2133, 2151, 2169, 2187, 2205, 2223, 2241, 2259, - 2277, 2295, 2313, 2331, 2349, 2367, 2385, 2403, 2421, 2439, 2457, 2475, - 2493, 2511, 2529, 2547, 2565, 2583, 2601, 2619, 2637, 2655, 2673, 2691, - 2709, 2727, 2745, 2763, 2781, 2799, 2817, 2835, 2853, 2871, 2889, 2907, - 2925, 2943, 2961, 2979, 2997, 3015, 3033, 3051, 3069, 3087, 3105, 3123, - 3141, 3159, 3177, 3195, 3213, 3231, 3249, 3267, 3285, 3303, 3321, 3339, - 3357, 3375, 3393, 3411, 3429, 3447, 3465, 3483, 3501, 3519, 3537, 3555, - 3573, 3591, 3609, 3627, 3645, 3663, 3681, 3699, 3717, 3735, 3753, 3771, - 3789, 3807, 3825, 3843, 3861, 3879, 3897, 3915, 3933, 3951, 3969, 3987, - 4005, 4023, 4041, 4059, 4077, 4095, 4113, 4131, 4149, 4167, 4185, 4203, - 4221, 4239, 4257, 4275, 4293, 4311, 4329, 4347, 4365, 4383, 4401, 4419, - 4437, 4455, 4473, 4491, 4509, 4527, 4545, 4563, 4581, 4599, 4617, 4635, - 4653, 4671, 4689, 4707, 4725, 4743, 4761, 4779, 4797, 4815, 4833, 4851, - 4869, 4887, 4905, 4923, 4941, 4959, 4977, 4995, 5013, 5031, 5049, 5067, - 5085, 5103, 5121, 5139, 5157, 5175, 5193, 5211, 5229, 5247, 5265, 5283, - 5301, 5319, 5337, 5355, 5373, 5391, 5409, 5427, 5445, 5463, 5481, 5499, - 4245, 4263, 4281, 4299, 4317, 4335, 4353, 4371, 4389, 4407, 4425, 4443, - 4461, 4479, 4497, 4515, 4533, 4551, 4569, 4587, 4605, 4623, 4641, 4659, - 4677, 4695, 4713, 4731, 4749, 4767, 4785, 4803, 4821, 4839, 4857, 4875, - 4893, 4911, 4929, 4947, 4965, 4983, 5001, 5019, 5037, 5055, 5073, 5091, - 5109, 5127, 5145, 5163, 5181, 5199, 5217, 5235, 5253, 5271, 5289, 5307, - 5325, 5343, 5361, 5379, 5397, 5415, 5433, 5451, 5469, 5487, 5505, 5523, - 5541, 5559, 5577, 5595, 5613, 5631, 5649, 5667, 5685, 5703, 5721, 5739, - 5757, 5775, 5793, 5811, 5829, 5847, 5865, 5883, 5901, 5919, 5937, 5955, - 5973, 5991, 6009, 6027, 6045, 6063, 6081, 6099, 6117, 6135, 6153, 6171, - 6189, 6207, 6225, 6243, 6261, 6279, 6297, 6315, 6333, 6351, 6369, 6387, - 6405, 6423, 6441, 6459, 6477, 15, 33, 51, 69, 87, 105, 123, - 141, 159, 177, 195, 213, 231, 249, 267, 285, 303, 321, 339, - 357, 375, 393, 411, 429, 447, 465, 483, 501, 519, 537, 555, - 573, 591, 609, 627, 645, 663, 681, 699, 717, 735, 753, 771, - 789, 807, 825, 843, 861, 879, 897, 915, 933, 951, 969, 987, - 1005, 1023, 1041, 1059, 1077, 1095, 1113, 1131, 1149, 1167, 1185, 1203, - 1221, 1239, 1257, 1275, 1293, 1311, 1329, 1347, 1365, 1383, 1401, 1419, - 1437, 1455, 1473, 1491, 1509, 1527, 1545, 1563, 1581, 1599, 1617, 1635, - 1653, 1671, 1689, 1707, 1725, 1743, 1761, 1779, 1797, 1815, 1833, 1851, - 1869, 1887, 1905, 1923, 1941, 1959, 1977, 1995, 2013, 2031, 2049, 2067, - 2085, 2103, 2121, 2139, 2157, 2175, 2193, 2211, 2229, 2247, 2265, 2283, - 2301, 2319, 2337, 2355, 2373, 2391, 2409, 2427, 2445, 2463, 2481, 2499, - 2517, 2535, 2553, 2571, 2589, 2607, 2625, 2643, 2661, 2679, 2697, 2715, - 2733, 2751, 2769, 2787, 2805, 2823, 2841, 2859, 2877, 2895, 2913, 2931, - 2949, 2967, 2985, 3003, 3021, 3039, 3057, 3075, 3093, 3111, 3129, 3147, - 3165, 3183, 3201, 3219, 3237, 3255, 3273, 3291, 3309, 3327, 3345, 3363, - 3381, 3399, 3417, 3435, 3453, 3471, 3489, 3507, 3525, 3543, 3561, 3579, - 3597, 3615, 3633, 3651, 3669, 3687, 3705, 3723, 3741, 3759, 3777, 3795, - 3813, 3831, 3849, 3867, 3885, 3903, 3921, 3939, 3957, 3975, 3993, 4011, - 4029, 4047, 4065, 4083, 4101, 4119, 4137, 4155, 4173, 4191, 4209, 4227, - 2143, 2161, 2179, 2197, 2215, 2233, 2251, 2269, 2287, 2305, 2323, 2341, - 2359, 2377, 2395, 2413, 2431, 2449, 2467, 2485, 2503, 2521, 2539, 2557, - 2575, 2593, 2611, 2629, 2647, 2665, 2683, 2701, 2719, 2737, 2755, 2773, - 2791, 2809, 2827, 2845, 2863, 2881, 2899, 2917, 2935, 2953, 2971, 2989, - 3007, 3025, 3043, 3061, 3079, 3097, 3115, 3133, 3151, 3169, 3187, 3205, - 3223, 3241, 3259, 3277, 3295, 3313, 3331, 3349, 3367, 3385, 3403, 3421, - 3439, 3457, 3475, 3493, 3511, 3529, 3547, 3565, 3583, 3601, 3619, 3637, - 3655, 3673, 3691, 3709, 3727, 3745, 3763, 3781, 3799, 3817, 3835, 3853, - 3871, 3889, 3907, 3925, 3943, 3961, 3979, 3997, 4015, 4033, 4051, 4069, - 4087, 4105, 4123, 4141, 4159, 4177, 4195, 4213, 4231, 4249, 4267, 4285, - 4303, 4321, 4339, 4357, 4375, 4393, 4411, 4429, 4447, 4465, 4483, 4501, - 4519, 4537, 4555, 4573, 4591, 4609, 4627, 4645, 4663, 4681, 4699, 4717, - 4735, 4753, 4771, 4789, 4807, 4825, 4843, 4861, 4879, 4897, 4915, 4933, - 4951, 4969, 4987, 5005, 5023, 5041, 5059, 5077, 5095, 5113, 5131, 5149, - 5167, 5185, 5203, 5221, 5239, 5257, 5275, 5293, 5311, 5329, 5347, 5365, - 5383, 5401, 5419, 5437, 5455, 5473, 5491, 5509, 5527, 5545, 5563, 5581, - 5599, 5617, 5635, 5653, 5671, 5689, 5707, 5725, 5743, 5761, 5779, 5797, - 5815, 5833, 5851, 5869, 5887, 5905, 5923, 5941, 5959, 5977, 5995, 6013, - 6031, 6049, 6067, 6085, 6103, 6121, 6139, 6157, 6175, 6193, 6211, 6229, - 6247, 6265, 6283, 6301, 6319, 6337, 6355, 6373, 6391, 6409, 6427, 6445, - 6463, 1, 19, 37, 55, 73, 91, 109, 127, 145, 163, 181, - 199, 217, 235, 253, 271, 289, 307, 325, 343, 361, 379, 397, - 415, 433, 451, 469, 487, 505, 523, 541, 559, 577, 595, 613, - 631, 649, 667, 685, 703, 721, 739, 757, 775, 793, 811, 829, - 847, 865, 883, 901, 919, 937, 955, 973, 991, 1009, 1027, 1045, - 1063, 1081, 1099, 1117, 1135, 1153, 1171, 1189, 1207, 1225, 1243, 1261, - 1279, 1297, 1315, 1333, 1351, 1369, 1387, 1405, 1423, 1441, 1459, 1477, - 1495, 1513, 1531, 1549, 1567, 1585, 1603, 1621, 1639, 1657, 1675, 1693, - 1711, 1729, 1747, 1765, 1783, 1801, 1819, 1837, 1855, 1873, 1891, 1909, - 1927, 1945, 1963, 1981, 1999, 2017, 2035, 2053, 2071, 2089, 2107, 2125, - 1, 19, 37, 55, 73, 91, 109, 127, 145, 163, 181, 199, - 217, 235, 253, 271, 289, 307, 325, 343, 361, 379, 397, 415, - 433, 451, 469, 487, 505, 523, 541, 559, 577, 595, 613, 631, - 649, 667, 685, 703, 721, 739, 757, 775, 793, 811, 829, 847, - 865, 883, 901, 919, 937, 955, 973, 991, 1009, 1027, 1045, 1063, - 1081, 1099, 1117, 1135, 1153, 1171, 1189, 1207, 1225, 1243, 1261, 1279, - 1297, 1315, 1333, 1351, 1369, 1387, 1405, 1423, 1441, 1459, 1477, 1495, - 1513, 1531, 1549, 1567, 1585, 1603, 1621, 1639, 1657, 1675, 1693, 1711, - 1729, 1747, 1765, 1783, 1801, 1819, 1837, 1855, 1873, 1891, 1909, 1927, - 1945, 1963, 1981, 1999, 2017, 2035, 2053, 2071, 2089, 2107, 2125, 2143, - 2161, 2179, 2197, 2215, 2233, 2251, 2269, 2287, 2305, 2323, 2341, 2359, - 2377, 2395, 2413, 2431, 2449, 2467, 2485, 2503, 2521, 2539, 2557, 2575, - 2593, 2611, 2629, 2647, 2665, 2683, 2701, 2719, 2737, 2755, 2773, 2791, - 2809, 2827, 2845, 2863, 2881, 2899, 2917, 2935, 2953, 2971, 2989, 3007, - 3025, 3043, 3061, 3079, 3097, 3115, 3133, 3151, 3169, 3187, 3205, 3223, - 3241, 3259, 3277, 3295, 3313, 3331, 3349, 3367, 3385, 3403, 3421, 3439, - 3457, 3475, 3493, 3511, 3529, 3547, 3565, 3583, 3601, 3619, 3637, 3655, - 3673, 3691, 3709, 3727, 3745, 3763, 3781, 3799, 3817, 3835, 3853, 3871, - 3889, 3907, 3925, 3943, 3961, 3979, 3997, 4015, 4033, 4051, 4069, 4087, - 4105, 4123, 4141, 4159, 4177, 4195, 4213, 4231, 4249, 4267, 4285, 4303, - 4321, 4339, 4357, 4375, 4393, 4411, 4429, 4447, 4465, 4483, 4501, 4519, - 4537, 4555, 4573, 4591, 4609, 4627, 4645, 4663, 4681, 4699, 4717, 4735, - 4753, 4771, 4789, 4807, 4825, 4843, 4861, 4879, 4897, 4915, 4933, 4951, - 4969, 4987, 5005, 5023, 5041, 5059, 5077, 5095, 5113, 5131, 5149, 5167, - 5185, 5203, 5221, 5239, 5257, 5275, 5293, 5311, 5329, 5347, 5365, 5383, - 5401, 5419, 5437, 5455, 5473, 5491, 5509, 5527, 5545, 5563, 5581, 5599, - 5617, 5635, 5653, 5671, 5689, 5707, 5725, 5743, 5761, 5779, 5797, 5815, - 5833, 5851, 5869, 5887, 5905, 5923, 5941, 5959, 5977, 5995, 6013, 6031, - 6049, 6067, 6085, 6103, 6121, 6139, 6157, 6175, 6193, 6211, 6229, 6247, - 6265, 6283, 6301, 6319, 6337, 6355, 6373, 6391, 6409, 6427, 6445, 6463, - 2, 20, 38, 56, 74, 92, 110, 128, 146, 164, 182, 200, - 218, 236, 254, 272, 290, 308, 326, 344, 362, 380, 398, 416, - 434, 452, 470, 488, 506, 524, 542, 560, 578, 596, 614, 632, - 650, 668, 686, 704, 722, 740, 758, 776, 794, 812, 830, 848, - 866, 884, 902, 920, 938, 956, 974, 992, 1010, 1028, 1046, 1064, - 1082, 1100, 1118, 1136, 1154, 1172, 1190, 1208, 1226, 1244, 1262, 1280, - 1298, 1316, 1334, 1352, 1370, 1388, 1406, 1424, 1442, 1460, 1478, 1496, - 1514, 1532, 1550, 1568, 1586, 1604, 1622, 1640, 1658, 1676, 1694, 1712, - 1730, 1748, 1766, 1784, 1802, 1820, 1838, 1856, 1874, 1892, 1910, 1928, - 1946, 1964, 1982, 2000, 2018, 2036, 2054, 2072, 2090, 2108, 2126, 2144, - 2162, 2180, 2198, 2216, 2234, 2252, 2270, 2288, 2306, 2324, 2342, 2360, - 2378, 2396, 2414, 2432, 2450, 2468, 2486, 2504, 2522, 2540, 2558, 2576, - 2594, 2612, 2630, 2648, 2666, 2684, 2702, 2720, 2738, 2756, 2774, 2792, - 2810, 2828, 2846, 2864, 2882, 2900, 2918, 2936, 2954, 2972, 2990, 3008, - 3026, 3044, 3062, 3080, 3098, 3116, 3134, 3152, 3170, 3188, 3206, 3224, - 3242, 3260, 3278, 3296, 3314, 3332, 3350, 3368, 3386, 3404, 3422, 3440, - 3458, 3476, 3494, 3512, 3530, 3548, 3566, 3584, 3602, 3620, 3638, 3656, - 3674, 3692, 3710, 3728, 3746, 3764, 3782, 3800, 3818, 3836, 3854, 3872, - 3890, 3908, 3926, 3944, 3962, 3980, 3998, 4016, 4034, 4052, 4070, 4088, - 4106, 4124, 4142, 4160, 4178, 4196, 4214, 4232, 4250, 4268, 4286, 4304, - 4322, 4340, 4358, 4376, 4394, 4412, 4430, 4448, 4466, 4484, 4502, 4520, - 4538, 4556, 4574, 4592, 4610, 4628, 4646, 4664, 4682, 4700, 4718, 4736, - 4754, 4772, 4790, 4808, 4826, 4844, 4862, 4880, 4898, 4916, 4934, 4952, - 4970, 4988, 5006, 5024, 5042, 5060, 5078, 5096, 5114, 5132, 5150, 5168, - 5186, 5204, 5222, 5240, 5258, 5276, 5294, 5312, 5330, 5348, 5366, 5384, - 5402, 5420, 5438, 5456, 5474, 5492, 5510, 5528, 5546, 5564, 5582, 5600, - 5618, 5636, 5654, 5672, 5690, 5708, 5726, 5744, 5762, 5780, 5798, 5816, - 5834, 5852, 5870, 5888, 5906, 5924, 5942, 5960, 5978, 5996, 6014, 6032, - 6050, 6068, 6086, 6104, 6122, 6140, 6158, 6176, 6194, 6212, 6230, 6248, - 6266, 6284, 6302, 6320, 6338, 6356, 6374, 6392, 6410, 6428, 6446, 6464, - 3, 21, 39, 57, 75, 93, 111, 129, 147, 165, 183, 201, - 219, 237, 255, 273, 291, 309, 327, 345, 363, 381, 399, 417, - 435, 453, 471, 489, 507, 525, 543, 561, 579, 597, 615, 633, - 651, 669, 687, 705, 723, 741, 759, 777, 795, 813, 831, 849, - 867, 885, 903, 921, 939, 957, 975, 993, 1011, 1029, 1047, 1065, - 1083, 1101, 1119, 1137, 1155, 1173, 1191, 1209, 1227, 1245, 1263, 1281, - 1299, 1317, 1335, 1353, 1371, 1389, 1407, 1425, 1443, 1461, 1479, 1497, - 1515, 1533, 1551, 1569, 1587, 1605, 1623, 1641, 1659, 1677, 1695, 1713, - 1731, 1749, 1767, 1785, 1803, 1821, 1839, 1857, 1875, 1893, 1911, 1929, - 1947, 1965, 1983, 2001, 2019, 2037, 2055, 2073, 2091, 2109, 2127, 2145, - 2163, 2181, 2199, 2217, 2235, 2253, 2271, 2289, 2307, 2325, 2343, 2361, - 2379, 2397, 2415, 2433, 2451, 2469, 2487, 2505, 2523, 2541, 2559, 2577, - 2595, 2613, 2631, 2649, 2667, 2685, 2703, 2721, 2739, 2757, 2775, 2793, - 2811, 2829, 2847, 2865, 2883, 2901, 2919, 2937, 2955, 2973, 2991, 3009, - 3027, 3045, 3063, 3081, 3099, 3117, 3135, 3153, 3171, 3189, 3207, 3225, - 3243, 3261, 3279, 3297, 3315, 3333, 3351, 3369, 3387, 3405, 3423, 3441, - 3459, 3477, 3495, 3513, 3531, 3549, 3567, 3585, 3603, 3621, 3639, 3657, - 3675, 3693, 3711, 3729, 3747, 3765, 3783, 3801, 3819, 3837, 3855, 3873, - 3891, 3909, 3927, 3945, 3963, 3981, 3999, 4017, 4035, 4053, 4071, 4089, - 4107, 4125, 4143, 4161, 4179, 4197, 4215, 4233, 4251, 4269, 4287, 4305, - 4323, 4341, 4359, 4377, 4395, 4413, 4431, 4449, 4467, 4485, 4503, 4521, - 4539, 4557, 4575, 4593, 4611, 4629, 4647, 4665, 4683, 4701, 4719, 4737, - 4755, 4773, 4791, 4809, 4827, 4845, 4863, 4881, 4899, 4917, 4935, 4953, - 4971, 4989, 5007, 5025, 5043, 5061, 5079, 5097, 5115, 5133, 5151, 5169, - 5187, 5205, 5223, 5241, 5259, 5277, 5295, 5313, 5331, 5349, 5367, 5385, - 5403, 5421, 5439, 5457, 5475, 5493, 5511, 5529, 5547, 5565, 5583, 5601, - 5619, 5637, 5655, 5673, 5691, 5709, 5727, 5745, 5763, 5781, 5799, 5817, - 5835, 5853, 5871, 5889, 5907, 5925, 5943, 5961, 5979, 5997, 6015, 6033, - 6051, 6069, 6087, 6105, 6123, 6141, 6159, 6177, 6195, 6213, 6231, 6249, - 6267, 6285, 6303, 6321, 6339, 6357, 6375, 6393, 6411, 6429, 6447, 6465, - 4, 22, 40, 58, 76, 94, 112, 130, 148, 166, 184, 202, - 220, 238, 256, 274, 292, 310, 328, 346, 364, 382, 400, 418, - 436, 454, 472, 490, 508, 526, 544, 562, 580, 598, 616, 634, - 652, 670, 688, 706, 724, 742, 760, 778, 796, 814, 832, 850, - 868, 886, 904, 922, 940, 958, 976, 994, 1012, 1030, 1048, 1066, - 1084, 1102, 1120, 1138, 1156, 1174, 1192, 1210, 1228, 1246, 1264, 1282, - 1300, 1318, 1336, 1354, 1372, 1390, 1408, 1426, 1444, 1462, 1480, 1498, - 1516, 1534, 1552, 1570, 1588, 1606, 1624, 1642, 1660, 1678, 1696, 1714, - 1732, 1750, 1768, 1786, 1804, 1822, 1840, 1858, 1876, 1894, 1912, 1930, - 1948, 1966, 1984, 2002, 2020, 2038, 2056, 2074, 2092, 2110, 2128, 2146, - 2164, 2182, 2200, 2218, 2236, 2254, 2272, 2290, 2308, 2326, 2344, 2362, - 2380, 2398, 2416, 2434, 2452, 2470, 2488, 2506, 2524, 2542, 2560, 2578, - 2596, 2614, 2632, 2650, 2668, 2686, 2704, 2722, 2740, 2758, 2776, 2794, - 2812, 2830, 2848, 2866, 2884, 2902, 2920, 2938, 2956, 2974, 2992, 3010, - 3028, 3046, 3064, 3082, 3100, 3118, 3136, 3154, 3172, 3190, 3208, 3226, - 3244, 3262, 3280, 3298, 3316, 3334, 3352, 3370, 3388, 3406, 3424, 3442, - 3460, 3478, 3496, 3514, 3532, 3550, 3568, 3586, 3604, 3622, 3640, 3658, - 3676, 3694, 3712, 3730, 3748, 3766, 3784, 3802, 3820, 3838, 3856, 3874, - 3892, 3910, 3928, 3946, 3964, 3982, 4000, 4018, 4036, 4054, 4072, 4090, - 4108, 4126, 4144, 4162, 4180, 4198, 4216, 4234, 4252, 4270, 4288, 4306, - 4324, 4342, 4360, 4378, 4396, 4414, 4432, 4450, 4468, 4486, 4504, 4522, - 4540, 4558, 4576, 4594, 4612, 4630, 4648, 4666, 4684, 4702, 4720, 4738, - 4756, 4774, 4792, 4810, 4828, 4846, 4864, 4882, 4900, 4918, 4936, 4954, - 4972, 4990, 5008, 5026, 5044, 5062, 5080, 5098, 5116, 5134, 5152, 5170, - 5188, 5206, 5224, 5242, 5260, 5278, 5296, 5314, 5332, 5350, 5368, 5386, - 5404, 5422, 5440, 5458, 5476, 5494, 5512, 5530, 5548, 5566, 5584, 5602, - 5620, 5638, 5656, 5674, 5692, 5710, 5728, 5746, 5764, 5782, 5800, 5818, - 5836, 5854, 5872, 5890, 5908, 5926, 5944, 5962, 5980, 5998, 6016, 6034, - 6052, 6070, 6088, 6106, 6124, 6142, 6160, 6178, 6196, 6214, 6232, 6250, - 6268, 6286, 6304, 6322, 6340, 6358, 6376, 6394, 6412, 6430, 6448, 6466, - 5, 23, 41, 59, 77, 95, 113, 131, 149, 167, 185, 203, - 221, 239, 257, 275, 293, 311, 329, 347, 365, 383, 401, 419, - 437, 455, 473, 491, 509, 527, 545, 563, 581, 599, 617, 635, - 653, 671, 689, 707, 725, 743, 761, 779, 797, 815, 833, 851, - 869, 887, 905, 923, 941, 959, 977, 995, 1013, 1031, 1049, 1067, - 1085, 1103, 1121, 1139, 1157, 1175, 1193, 1211, 1229, 1247, 1265, 1283, - 1301, 1319, 1337, 1355, 1373, 1391, 1409, 1427, 1445, 1463, 1481, 1499, - 1517, 1535, 1553, 1571, 1589, 1607, 1625, 1643, 1661, 1679, 1697, 1715, - 1733, 1751, 1769, 1787, 1805, 1823, 1841, 1859, 1877, 1895, 1913, 1931, - 1949, 1967, 1985, 2003, 2021, 2039, 2057, 2075, 2093, 2111, 2129, 2147, - 2165, 2183, 2201, 2219, 2237, 2255, 2273, 2291, 2309, 2327, 2345, 2363, - 2381, 2399, 2417, 2435, 2453, 2471, 2489, 2507, 2525, 2543, 2561, 2579, - 2597, 2615, 2633, 2651, 2669, 2687, 2705, 2723, 2741, 2759, 2777, 2795, - 2813, 2831, 2849, 2867, 2885, 2903, 2921, 2939, 2957, 2975, 2993, 3011, - 3029, 3047, 3065, 3083, 3101, 3119, 3137, 3155, 3173, 3191, 3209, 3227, - 3245, 3263, 3281, 3299, 3317, 3335, 3353, 3371, 3389, 3407, 3425, 3443, - 3461, 3479, 3497, 3515, 3533, 3551, 3569, 3587, 3605, 3623, 3641, 3659, - 3677, 3695, 3713, 3731, 3749, 3767, 3785, 3803, 3821, 3839, 3857, 3875, - 3893, 3911, 3929, 3947, 3965, 3983, 4001, 4019, 4037, 4055, 4073, 4091, - 4109, 4127, 4145, 4163, 4181, 4199, 4217, 4235, 4253, 4271, 4289, 4307, - 4325, 4343, 4361, 4379, 4397, 4415, 4433, 4451, 4469, 4487, 4505, 4523, - 4541, 4559, 4577, 4595, 4613, 4631, 4649, 4667, 4685, 4703, 4721, 4739, - 4757, 4775, 4793, 4811, 4829, 4847, 4865, 4883, 4901, 4919, 4937, 4955, - 4973, 4991, 5009, 5027, 5045, 5063, 5081, 5099, 5117, 5135, 5153, 5171, - 5189, 5207, 5225, 5243, 5261, 5279, 5297, 5315, 5333, 5351, 5369, 5387, - 5405, 5423, 5441, 5459, 5477, 5495, 5513, 5531, 5549, 5567, 5585, 5603, - 5621, 5639, 5657, 5675, 5693, 5711, 5729, 5747, 5765, 5783, 5801, 5819, - 5837, 5855, 5873, 5891, 5909, 5927, 5945, 5963, 5981, 5999, 6017, 6035, - 6053, 6071, 6089, 6107, 6125, 6143, 6161, 6179, 6197, 6215, 6233, 6251, - 6269, 6287, 6305, 6323, 6341, 6359, 6377, 6395, 6413, 6431, 6449, 6467, - 6, 24, 42, 60, 78, 96, 114, 132, 150, 168, 186, 204, - 222, 240, 258, 276, 294, 312, 330, 348, 366, 384, 402, 420, - 438, 456, 474, 492, 510, 528, 546, 564, 582, 600, 618, 636, - 654, 672, 690, 708, 726, 744, 762, 780, 798, 816, 834, 852, - 870, 888, 906, 924, 942, 960, 978, 996, 1014, 1032, 1050, 1068, - 1086, 1104, 1122, 1140, 1158, 1176, 1194, 1212, 1230, 1248, 1266, 1284, - 1302, 1320, 1338, 1356, 1374, 1392, 1410, 1428, 1446, 1464, 1482, 1500, - 1518, 1536, 1554, 1572, 1590, 1608, 1626, 1644, 1662, 1680, 1698, 1716, - 1734, 1752, 1770, 1788, 1806, 1824, 1842, 1860, 1878, 1896, 1914, 1932, - 1950, 1968, 1986, 2004, 2022, 2040, 2058, 2076, 2094, 2112, 2130, 2148, - 2166, 2184, 2202, 2220, 2238, 2256, 2274, 2292, 2310, 2328, 2346, 2364, - 2382, 2400, 2418, 2436, 2454, 2472, 2490, 2508, 2526, 2544, 2562, 2580, - 2598, 2616, 2634, 2652, 2670, 2688, 2706, 2724, 2742, 2760, 2778, 2796, - 2814, 2832, 2850, 2868, 2886, 2904, 2922, 2940, 2958, 2976, 2994, 3012, - 3030, 3048, 3066, 3084, 3102, 3120, 3138, 3156, 3174, 3192, 3210, 3228, - 3246, 3264, 3282, 3300, 3318, 3336, 3354, 3372, 3390, 3408, 3426, 3444, - 3462, 3480, 3498, 3516, 3534, 3552, 3570, 3588, 3606, 3624, 3642, 3660, - 3678, 3696, 3714, 3732, 3750, 3768, 3786, 3804, 3822, 3840, 3858, 3876, - 3894, 3912, 3930, 3948, 3966, 3984, 4002, 4020, 4038, 4056, 4074, 4092, - 4110, 4128, 4146, 4164, 4182, 4200, 4218, 4236, 4254, 4272, 4290, 4308, - 4326, 4344, 4362, 4380, 4398, 4416, 4434, 4452, 4470, 4488, 4506, 4524, - 4542, 4560, 4578, 4596, 4614, 4632, 4650, 4668, 4686, 4704, 4722, 4740, - 4758, 4776, 4794, 4812, 4830, 4848, 4866, 4884, 4902, 4920, 4938, 4956, - 4974, 4992, 5010, 5028, 5046, 5064, 5082, 5100, 5118, 5136, 5154, 5172, - 5190, 5208, 5226, 5244, 5262, 5280, 5298, 5316, 5334, 5352, 5370, 5388, - 5406, 5424, 5442, 5460, 5478, 5496, 5514, 5532, 5550, 5568, 5586, 5604, - 5622, 5640, 5658, 5676, 5694, 5712, 5730, 5748, 5766, 5784, 5802, 5820, - 5838, 5856, 5874, 5892, 5910, 5928, 5946, 5964, 5982, 6000, 6018, 6036, - 6054, 6072, 6090, 6108, 6126, 6144, 6162, 6180, 6198, 6216, 6234, 6252, - 6270, 6288, 6306, 6324, 6342, 6360, 6378, 6396, 6414, 6432, 6450, 6468, - 7, 25, 43, 61, 79, 97, 115, 133, 151, 169, 187, 205, - 223, 241, 259, 277, 295, 313, 331, 349, 367, 385, 403, 421, - 439, 457, 475, 493, 511, 529, 547, 565, 583, 601, 619, 637, - 655, 673, 691, 709, 727, 745, 763, 781, 799, 817, 835, 853, - 871, 889, 907, 925, 943, 961, 979, 997, 1015, 1033, 1051, 1069, - 1087, 1105, 1123, 1141, 1159, 1177, 1195, 1213, 1231, 1249, 1267, 1285, - 1303, 1321, 1339, 1357, 1375, 1393, 1411, 1429, 1447, 1465, 1483, 1501, - 1519, 1537, 1555, 1573, 1591, 1609, 1627, 1645, 1663, 1681, 1699, 1717, - 1735, 1753, 1771, 1789, 1807, 1825, 1843, 1861, 1879, 1897, 1915, 1933, - 1951, 1969, 1987, 2005, 2023, 2041, 2059, 2077, 2095, 2113, 2131, 2149, - 2167, 2185, 2203, 2221, 2239, 2257, 2275, 2293, 2311, 2329, 2347, 2365, - 2383, 2401, 2419, 2437, 2455, 2473, 2491, 2509, 2527, 2545, 2563, 2581, - 2599, 2617, 2635, 2653, 2671, 2689, 2707, 2725, 2743, 2761, 2779, 2797, - 2815, 2833, 2851, 2869, 2887, 2905, 2923, 2941, 2959, 2977, 2995, 3013, - 3031, 3049, 3067, 3085, 3103, 3121, 3139, 3157, 3175, 3193, 3211, 3229, - 3247, 3265, 3283, 3301, 3319, 3337, 3355, 3373, 3391, 3409, 3427, 3445, - 3463, 3481, 3499, 3517, 3535, 3553, 3571, 3589, 3607, 3625, 3643, 3661, - 3679, 3697, 3715, 3733, 3751, 3769, 3787, 3805, 3823, 3841, 3859, 3877, - 3895, 3913, 3931, 3949, 3967, 3985, 4003, 4021, 4039, 4057, 4075, 4093, - 4111, 4129, 4147, 4165, 4183, 4201, 4219, 4237, 4255, 4273, 4291, 4309, - 4327, 4345, 4363, 4381, 4399, 4417, 4435, 4453, 4471, 4489, 4507, 4525, - 4543, 4561, 4579, 4597, 4615, 4633, 4651, 4669, 4687, 4705, 4723, 4741, - 4759, 4777, 4795, 4813, 4831, 4849, 4867, 4885, 4903, 4921, 4939, 4957, - 4975, 4993, 5011, 5029, 5047, 5065, 5083, 5101, 5119, 5137, 5155, 5173, - 5191, 5209, 5227, 5245, 5263, 5281, 5299, 5317, 5335, 5353, 5371, 5389, - 5407, 5425, 5443, 5461, 5479, 5497, 5515, 5533, 5551, 5569, 5587, 5605, - 5623, 5641, 5659, 5677, 5695, 5713, 5731, 5749, 5767, 5785, 5803, 5821, - 5839, 5857, 5875, 5893, 5911, 5929, 5947, 5965, 5983, 6001, 6019, 6037, - 6055, 6073, 6091, 6109, 6127, 6145, 6163, 6181, 6199, 6217, 6235, 6253, - 6271, 6289, 6307, 6325, 6343, 6361, 6379, 6397, 6415, 6433, 6451, 6469, - 8, 26, 44, 62, 80, 98, 116, 134, 152, 170, 188, 206, - 224, 242, 260, 278, 296, 314, 332, 350, 368, 386, 404, 422, - 440, 458, 476, 494, 512, 530, 548, 566, 584, 602, 620, 638, - 656, 674, 692, 710, 728, 746, 764, 782, 800, 818, 836, 854, - 872, 890, 908, 926, 944, 962, 980, 998, 1016, 1034, 1052, 1070, - 1088, 1106, 1124, 1142, 1160, 1178, 1196, 1214, 1232, 1250, 1268, 1286, - 1304, 1322, 1340, 1358, 1376, 1394, 1412, 1430, 1448, 1466, 1484, 1502, - 1520, 1538, 1556, 1574, 1592, 1610, 1628, 1646, 1664, 1682, 1700, 1718, - 1736, 1754, 1772, 1790, 1808, 1826, 1844, 1862, 1880, 1898, 1916, 1934, - 1952, 1970, 1988, 2006, 2024, 2042, 2060, 2078, 2096, 2114, 2132, 2150, - 2168, 2186, 2204, 2222, 2240, 2258, 2276, 2294, 2312, 2330, 2348, 2366, - 2384, 2402, 2420, 2438, 2456, 2474, 2492, 2510, 2528, 2546, 2564, 2582, - 2600, 2618, 2636, 2654, 2672, 2690, 2708, 2726, 2744, 2762, 2780, 2798, - 2816, 2834, 2852, 2870, 2888, 2906, 2924, 2942, 2960, 2978, 2996, 3014, - 3032, 3050, 3068, 3086, 3104, 3122, 3140, 3158, 3176, 3194, 3212, 3230, - 3248, 3266, 3284, 3302, 3320, 3338, 3356, 3374, 3392, 3410, 3428, 3446, - 3464, 3482, 3500, 3518, 3536, 3554, 3572, 3590, 3608, 3626, 3644, 3662, - 3680, 3698, 3716, 3734, 3752, 3770, 3788, 3806, 3824, 3842, 3860, 3878, - 3896, 3914, 3932, 3950, 3968, 3986, 4004, 4022, 4040, 4058, 4076, 4094, - 4112, 4130, 4148, 4166, 4184, 4202, 4220, 4238, 4256, 4274, 4292, 4310, - 4328, 4346, 4364, 4382, 4400, 4418, 4436, 4454, 4472, 4490, 4508, 4526, - 4544, 4562, 4580, 4598, 4616, 4634, 4652, 4670, 4688, 4706, 4724, 4742, - 4760, 4778, 4796, 4814, 4832, 4850, 4868, 4886, 4904, 4922, 4940, 4958, - 4976, 4994, 5012, 5030, 5048, 5066, 5084, 5102, 5120, 5138, 5156, 5174, - 5192, 5210, 5228, 5246, 5264, 5282, 5300, 5318, 5336, 5354, 5372, 5390, - 5408, 5426, 5444, 5462, 5480, 5498, 5516, 5534, 5552, 5570, 5588, 5606, - 5624, 5642, 5660, 5678, 5696, 5714, 5732, 5750, 5768, 5786, 5804, 5822, - 5840, 5858, 5876, 5894, 5912, 5930, 5948, 5966, 5984, 6002, 6020, 6038, - 6056, 6074, 6092, 6110, 6128, 6146, 6164, 6182, 6200, 6218, 6236, 6254, - 6272, 6290, 6308, 6326, 6344, 6362, 6380, 6398, 6416, 6434, 6452, 6470, - 9, 27, 45, 63, 81, 99, 117, 135, 153, 171, 189, 207, - 225, 243, 261, 279, 297, 315, 333, 351, 369, 387, 405, 423, - 441, 459, 477, 495, 513, 531, 549, 567, 585, 603, 621, 639, - 657, 675, 693, 711, 729, 747, 765, 783, 801, 819, 837, 855, - 873, 891, 909, 927, 945, 963, 981, 999, 1017, 1035, 1053, 1071, - 1089, 1107, 1125, 1143, 1161, 1179, 1197, 1215, 1233, 1251, 1269, 1287, - 1305, 1323, 1341, 1359, 1377, 1395, 1413, 1431, 1449, 1467, 1485, 1503, - 1521, 1539, 1557, 1575, 1593, 1611, 1629, 1647, 1665, 1683, 1701, 1719, - 1737, 1755, 1773, 1791, 1809, 1827, 1845, 1863, 1881, 1899, 1917, 1935, - 1953, 1971, 1989, 2007, 2025, 2043, 2061, 2079, 2097, 2115, 2133, 2151, - 2169, 2187, 2205, 2223, 2241, 2259, 2277, 2295, 2313, 2331, 2349, 2367, - 2385, 2403, 2421, 2439, 2457, 2475, 2493, 2511, 2529, 2547, 2565, 2583, - 2601, 2619, 2637, 2655, 2673, 2691, 2709, 2727, 2745, 2763, 2781, 2799, - 2817, 2835, 2853, 2871, 2889, 2907, 2925, 2943, 2961, 2979, 2997, 3015, - 3033, 3051, 3069, 3087, 3105, 3123, 3141, 3159, 3177, 3195, 3213, 3231, - 3249, 3267, 3285, 3303, 3321, 3339, 3357, 3375, 3393, 3411, 3429, 3447, - 3465, 3483, 3501, 3519, 3537, 3555, 3573, 3591, 3609, 3627, 3645, 3663, - 3681, 3699, 3717, 3735, 3753, 3771, 3789, 3807, 3825, 3843, 3861, 3879, - 3897, 3915, 3933, 3951, 3969, 3987, 4005, 4023, 4041, 4059, 4077, 4095, - 4113, 4131, 4149, 4167, 4185, 4203, 4221, 4239, 4257, 4275, 4293, 4311, - 4329, 4347, 4365, 4383, 4401, 4419, 4437, 4455, 4473, 4491, 4509, 4527, - 4545, 4563, 4581, 4599, 4617, 4635, 4653, 4671, 4689, 4707, 4725, 4743, - 4761, 4779, 4797, 4815, 4833, 4851, 4869, 4887, 4905, 4923, 4941, 4959, - 4977, 4995, 5013, 5031, 5049, 5067, 5085, 5103, 5121, 5139, 5157, 5175, - 5193, 5211, 5229, 5247, 5265, 5283, 5301, 5319, 5337, 5355, 5373, 5391, - 5409, 5427, 5445, 5463, 5481, 5499, 5517, 5535, 5553, 5571, 5589, 5607, - 5625, 5643, 5661, 5679, 5697, 5715, 5733, 5751, 5769, 5787, 5805, 5823, - 5841, 5859, 5877, 5895, 5913, 5931, 5949, 5967, 5985, 6003, 6021, 6039, - 6057, 6075, 6093, 6111, 6129, 6147, 6165, 6183, 6201, 6219, 6237, 6255, - 6273, 6291, 6309, 6327, 6345, 6363, 6381, 6399, 6417, 6435, 6453, 6471, - 10, 28, 46, 64, 82, 100, 118, 136, 154, 172, 190, 208, - 226, 244, 262, 280, 298, 316, 334, 352, 370, 388, 406, 424, - 442, 460, 478, 496, 514, 532, 550, 568, 586, 604, 622, 640, - 658, 676, 694, 712, 730, 748, 766, 784, 802, 820, 838, 856, - 874, 892, 910, 928, 946, 964, 982, 1000, 1018, 1036, 1054, 1072, - 1090, 1108, 1126, 1144, 1162, 1180, 1198, 1216, 1234, 1252, 1270, 1288, - 1306, 1324, 1342, 1360, 1378, 1396, 1414, 1432, 1450, 1468, 1486, 1504, - 1522, 1540, 1558, 1576, 1594, 1612, 1630, 1648, 1666, 1684, 1702, 1720, - 1738, 1756, 1774, 1792, 1810, 1828, 1846, 1864, 1882, 1900, 1918, 1936, - 1954, 1972, 1990, 2008, 2026, 2044, 2062, 2080, 2098, 2116, 2134, 2152, - 2170, 2188, 2206, 2224, 2242, 2260, 2278, 2296, 2314, 2332, 2350, 2368, - 2386, 2404, 2422, 2440, 2458, 2476, 2494, 2512, 2530, 2548, 2566, 2584, - 2602, 2620, 2638, 2656, 2674, 2692, 2710, 2728, 2746, 2764, 2782, 2800, - 2818, 2836, 2854, 2872, 2890, 2908, 2926, 2944, 2962, 2980, 2998, 3016, - 3034, 3052, 3070, 3088, 3106, 3124, 3142, 3160, 3178, 3196, 3214, 3232, - 3250, 3268, 3286, 3304, 3322, 3340, 3358, 3376, 3394, 3412, 3430, 3448, - 3466, 3484, 3502, 3520, 3538, 3556, 3574, 3592, 3610, 3628, 3646, 3664, - 3682, 3700, 3718, 3736, 3754, 3772, 3790, 3808, 3826, 3844, 3862, 3880, - 3898, 3916, 3934, 3952, 3970, 3988, 4006, 4024, 4042, 4060, 4078, 4096, - 4114, 4132, 4150, 4168, 4186, 4204, 4222, 4240, 4258, 4276, 4294, 4312, - 4330, 4348, 4366, 4384, 4402, 4420, 4438, 4456, 4474, 4492, 4510, 4528, - 4546, 4564, 4582, 4600, 4618, 4636, 4654, 4672, 4690, 4708, 4726, 4744, - 4762, 4780, 4798, 4816, 4834, 4852, 4870, 4888, 4906, 4924, 4942, 4960, - 4978, 4996, 5014, 5032, 5050, 5068, 5086, 5104, 5122, 5140, 5158, 5176, - 5194, 5212, 5230, 5248, 5266, 5284, 5302, 5320, 5338, 5356, 5374, 5392, - 5410, 5428, 5446, 5464, 5482, 5500, 5518, 5536, 5554, 5572, 5590, 5608, - 5626, 5644, 5662, 5680, 5698, 5716, 5734, 5752, 5770, 5788, 5806, 5824, - 5842, 5860, 5878, 5896, 5914, 5932, 5950, 5968, 5986, 6004, 6022, 6040, - 6058, 6076, 6094, 6112, 6130, 6148, 6166, 6184, 6202, 6220, 6238, 6256, - 6274, 6292, 6310, 6328, 6346, 6364, 6382, 6400, 6418, 6436, 6454, 6472, - 11, 29, 47, 65, 83, 101, 119, 137, 155, 173, 191, 209, - 227, 245, 263, 281, 299, 317, 335, 353, 371, 389, 407, 425, - 443, 461, 479, 497, 515, 533, 551, 569, 587, 605, 623, 641, - 659, 677, 695, 713, 731, 749, 767, 785, 803, 821, 839, 857, - 875, 893, 911, 929, 947, 965, 983, 1001, 1019, 1037, 1055, 1073, - 1091, 1109, 1127, 1145, 1163, 1181, 1199, 1217, 1235, 1253, 1271, 1289, - 1307, 1325, 1343, 1361, 1379, 1397, 1415, 1433, 1451, 1469, 1487, 1505, - 1523, 1541, 1559, 1577, 1595, 1613, 1631, 1649, 1667, 1685, 1703, 1721, - 1739, 1757, 1775, 1793, 1811, 1829, 1847, 1865, 1883, 1901, 1919, 1937, - 1955, 1973, 1991, 2009, 2027, 2045, 2063, 2081, 2099, 2117, 2135, 2153, - 2171, 2189, 2207, 2225, 2243, 2261, 2279, 2297, 2315, 2333, 2351, 2369, - 2387, 2405, 2423, 2441, 2459, 2477, 2495, 2513, 2531, 2549, 2567, 2585, - 2603, 2621, 2639, 2657, 2675, 2693, 2711, 2729, 2747, 2765, 2783, 2801, - 2819, 2837, 2855, 2873, 2891, 2909, 2927, 2945, 2963, 2981, 2999, 3017, - 3035, 3053, 3071, 3089, 3107, 3125, 3143, 3161, 3179, 3197, 3215, 3233, - 3251, 3269, 3287, 3305, 3323, 3341, 3359, 3377, 3395, 3413, 3431, 3449, - 3467, 3485, 3503, 3521, 3539, 3557, 3575, 3593, 3611, 3629, 3647, 3665, - 3683, 3701, 3719, 3737, 3755, 3773, 3791, 3809, 3827, 3845, 3863, 3881, - 3899, 3917, 3935, 3953, 3971, 3989, 4007, 4025, 4043, 4061, 4079, 4097, - 4115, 4133, 4151, 4169, 4187, 4205, 4223, 4241, 4259, 4277, 4295, 4313, - 4331, 4349, 4367, 4385, 4403, 4421, 4439, 4457, 4475, 4493, 4511, 4529, - 4547, 4565, 4583, 4601, 4619, 4637, 4655, 4673, 4691, 4709, 4727, 4745, - 4763, 4781, 4799, 4817, 4835, 4853, 4871, 4889, 4907, 4925, 4943, 4961, - 4979, 4997, 5015, 5033, 5051, 5069, 5087, 5105, 5123, 5141, 5159, 5177, - 5195, 5213, 5231, 5249, 5267, 5285, 5303, 5321, 5339, 5357, 5375, 5393, - 5411, 5429, 5447, 5465, 5483, 5501, 5519, 5537, 5555, 5573, 5591, 5609, - 5627, 5645, 5663, 5681, 5699, 5717, 5735, 5753, 5771, 5789, 5807, 5825, - 5843, 5861, 5879, 5897, 5915, 5933, 5951, 5969, 5987, 6005, 6023, 6041, - 6059, 6077, 6095, 6113, 6131, 6149, 6167, 6185, 6203, 6221, 6239, 6257, - 6275, 6293, 6311, 6329, 6347, 6365, 6383, 6401, 6419, 6437, 6455, 6473, - 12, 30, 48, 66, 84, 102, 120, 138, 156, 174, 192, 210, - 228, 246, 264, 282, 300, 318, 336, 354, 372, 390, 408, 426, - 444, 462, 480, 498, 516, 534, 552, 570, 588, 606, 624, 642, - 660, 678, 696, 714, 732, 750, 768, 786, 804, 822, 840, 858, - 876, 894, 912, 930, 948, 966, 984, 1002, 1020, 1038, 1056, 1074, - 1092, 1110, 1128, 1146, 1164, 1182, 1200, 1218, 1236, 1254, 1272, 1290, - 1308, 1326, 1344, 1362, 1380, 1398, 1416, 1434, 1452, 1470, 1488, 1506, - 1524, 1542, 1560, 1578, 1596, 1614, 1632, 1650, 1668, 1686, 1704, 1722, - 1740, 1758, 1776, 1794, 1812, 1830, 1848, 1866, 1884, 1902, 1920, 1938, - 1956, 1974, 1992, 2010, 2028, 2046, 2064, 2082, 2100, 2118, 2136, 2154, - 2172, 2190, 2208, 2226, 2244, 2262, 2280, 2298, 2316, 2334, 2352, 2370, - 2388, 2406, 2424, 2442, 2460, 2478, 2496, 2514, 2532, 2550, 2568, 2586, - 2604, 2622, 2640, 2658, 2676, 2694, 2712, 2730, 2748, 2766, 2784, 2802, - 2820, 2838, 2856, 2874, 2892, 2910, 2928, 2946, 2964, 2982, 3000, 3018, - 3036, 3054, 3072, 3090, 3108, 3126, 3144, 3162, 3180, 3198, 3216, 3234, - 3252, 3270, 3288, 3306, 3324, 3342, 3360, 3378, 3396, 3414, 3432, 3450, - 3468, 3486, 3504, 3522, 3540, 3558, 3576, 3594, 3612, 3630, 3648, 3666, - 3684, 3702, 3720, 3738, 3756, 3774, 3792, 3810, 3828, 3846, 3864, 3882, - 3900, 3918, 3936, 3954, 3972, 3990, 4008, 4026, 4044, 4062, 4080, 4098, - 4116, 4134, 4152, 4170, 4188, 4206, 4224, 4242, 4260, 4278, 4296, 4314, - 4332, 4350, 4368, 4386, 4404, 4422, 4440, 4458, 4476, 4494, 4512, 4530, - 4548, 4566, 4584, 4602, 4620, 4638, 4656, 4674, 4692, 4710, 4728, 4746, - 4764, 4782, 4800, 4818, 4836, 4854, 4872, 4890, 4908, 4926, 4944, 4962, - 4980, 4998, 5016, 5034, 5052, 5070, 5088, 5106, 5124, 5142, 5160, 5178, - 5196, 5214, 5232, 5250, 5268, 5286, 5304, 5322, 5340, 5358, 5376, 5394, - 5412, 5430, 5448, 5466, 5484, 5502, 5520, 5538, 5556, 5574, 5592, 5610, - 5628, 5646, 5664, 5682, 5700, 5718, 5736, 5754, 5772, 5790, 5808, 5826, - 5844, 5862, 5880, 5898, 5916, 5934, 5952, 5970, 5988, 6006, 6024, 6042, - 6060, 6078, 6096, 6114, 6132, 6150, 6168, 6186, 6204, 6222, 6240, 6258, - 6276, 6294, 6312, 6330, 6348, 6366, 6384, 6402, 6420, 6438, 6456, 6474, - 13, 31, 49, 67, 85, 103, 121, 139, 157, 175, 193, 211, - 229, 247, 265, 283, 301, 319, 337, 355, 373, 391, 409, 427, - 445, 463, 481, 499, 517, 535, 553, 571, 589, 607, 625, 643, - 661, 679, 697, 715, 733, 751, 769, 787, 805, 823, 841, 859, - 877, 895, 913, 931, 949, 967, 985, 1003, 1021, 1039, 1057, 1075, - 1093, 1111, 1129, 1147, 1165, 1183, 1201, 1219, 1237, 1255, 1273, 1291, - 1309, 1327, 1345, 1363, 1381, 1399, 1417, 1435, 1453, 1471, 1489, 1507, - 1525, 1543, 1561, 1579, 1597, 1615, 1633, 1651, 1669, 1687, 1705, 1723, - 1741, 1759, 1777, 1795, 1813, 1831, 1849, 1867, 1885, 1903, 1921, 1939, - 1957, 1975, 1993, 2011, 2029, 2047, 2065, 2083, 2101, 2119, 2137, 2155, - 2173, 2191, 2209, 2227, 2245, 2263, 2281, 2299, 2317, 2335, 2353, 2371, - 2389, 2407, 2425, 2443, 2461, 2479, 2497, 2515, 2533, 2551, 2569, 2587, - 2605, 2623, 2641, 2659, 2677, 2695, 2713, 2731, 2749, 2767, 2785, 2803, - 2821, 2839, 2857, 2875, 2893, 2911, 2929, 2947, 2965, 2983, 3001, 3019, - 3037, 3055, 3073, 3091, 3109, 3127, 3145, 3163, 3181, 3199, 3217, 3235, - 3253, 3271, 3289, 3307, 3325, 3343, 3361, 3379, 3397, 3415, 3433, 3451, - 3469, 3487, 3505, 3523, 3541, 3559, 3577, 3595, 3613, 3631, 3649, 3667, - 3685, 3703, 3721, 3739, 3757, 3775, 3793, 3811, 3829, 3847, 3865, 3883, - 3901, 3919, 3937, 3955, 3973, 3991, 4009, 4027, 4045, 4063, 4081, 4099, - 4117, 4135, 4153, 4171, 4189, 4207, 4225, 4243, 4261, 4279, 4297, 4315, - 4333, 4351, 4369, 4387, 4405, 4423, 4441, 4459, 4477, 4495, 4513, 4531, - 4549, 4567, 4585, 4603, 4621, 4639, 4657, 4675, 4693, 4711, 4729, 4747, - 4765, 4783, 4801, 4819, 4837, 4855, 4873, 4891, 4909, 4927, 4945, 4963, - 4981, 4999, 5017, 5035, 5053, 5071, 5089, 5107, 5125, 5143, 5161, 5179, - 5197, 5215, 5233, 5251, 5269, 5287, 5305, 5323, 5341, 5359, 5377, 5395, - 5413, 5431, 5449, 5467, 5485, 5503, 5521, 5539, 5557, 5575, 5593, 5611, - 5629, 5647, 5665, 5683, 5701, 5719, 5737, 5755, 5773, 5791, 5809, 5827, - 5845, 5863, 5881, 5899, 5917, 5935, 5953, 5971, 5989, 6007, 6025, 6043, - 6061, 6079, 6097, 6115, 6133, 6151, 6169, 6187, 6205, 6223, 6241, 6259, - 6277, 6295, 6313, 6331, 6349, 6367, 6385, 6403, 6421, 6439, 6457, 6475, - 14, 32, 50, 68, 86, 104, 122, 140, 158, 176, 194, 212, - 230, 248, 266, 284, 302, 320, 338, 356, 374, 392, 410, 428, - 446, 464, 482, 500, 518, 536, 554, 572, 590, 608, 626, 644, - 662, 680, 698, 716, 734, 752, 770, 788, 806, 824, 842, 860, - 878, 896, 914, 932, 950, 968, 986, 1004, 1022, 1040, 1058, 1076, - 1094, 1112, 1130, 1148, 1166, 1184, 1202, 1220, 1238, 1256, 1274, 1292, - 1310, 1328, 1346, 1364, 1382, 1400, 1418, 1436, 1454, 1472, 1490, 1508, - 1526, 1544, 1562, 1580, 1598, 1616, 1634, 1652, 1670, 1688, 1706, 1724, - 1742, 1760, 1778, 1796, 1814, 1832, 1850, 1868, 1886, 1904, 1922, 1940, - 1958, 1976, 1994, 2012, 2030, 2048, 2066, 2084, 2102, 2120, 2138, 2156, - 2174, 2192, 2210, 2228, 2246, 2264, 2282, 2300, 2318, 2336, 2354, 2372, - 2390, 2408, 2426, 2444, 2462, 2480, 2498, 2516, 2534, 2552, 2570, 2588, - 2606, 2624, 2642, 2660, 2678, 2696, 2714, 2732, 2750, 2768, 2786, 2804, - 2822, 2840, 2858, 2876, 2894, 2912, 2930, 2948, 2966, 2984, 3002, 3020, - 3038, 3056, 3074, 3092, 3110, 3128, 3146, 3164, 3182, 3200, 3218, 3236, - 3254, 3272, 3290, 3308, 3326, 3344, 3362, 3380, 3398, 3416, 3434, 3452, - 3470, 3488, 3506, 3524, 3542, 3560, 3578, 3596, 3614, 3632, 3650, 3668, - 3686, 3704, 3722, 3740, 3758, 3776, 3794, 3812, 3830, 3848, 3866, 3884, - 3902, 3920, 3938, 3956, 3974, 3992, 4010, 4028, 4046, 4064, 4082, 4100, - 4118, 4136, 4154, 4172, 4190, 4208, 4226, 4244, 4262, 4280, 4298, 4316, - 4334, 4352, 4370, 4388, 4406, 4424, 4442, 4460, 4478, 4496, 4514, 4532, - 4550, 4568, 4586, 4604, 4622, 4640, 4658, 4676, 4694, 4712, 4730, 4748, - 4766, 4784, 4802, 4820, 4838, 4856, 4874, 4892, 4910, 4928, 4946, 4964, - 4982, 5000, 5018, 5036, 5054, 5072, 5090, 5108, 5126, 5144, 5162, 5180, - 5198, 5216, 5234, 5252, 5270, 5288, 5306, 5324, 5342, 5360, 5378, 5396, - 5414, 5432, 5450, 5468, 5486, 5504, 5522, 5540, 5558, 5576, 5594, 5612, - 5630, 5648, 5666, 5684, 5702, 5720, 5738, 5756, 5774, 5792, 5810, 5828, - 5846, 5864, 5882, 5900, 5918, 5936, 5954, 5972, 5990, 6008, 6026, 6044, - 6062, 6080, 6098, 6116, 6134, 6152, 6170, 6188, 6206, 6224, 6242, 6260, - 6278, 6296, 6314, 6332, 6350, 6368, 6386, 6404, 6422, 6440, 6458, 6476, - 15, 33, 51, 69, 87, 105, 123, 141, 159, 177, 195, 213, - 231, 249, 267, 285, 303, 321, 339, 357, 375, 393, 411, 429, - 447, 465, 483, 501, 519, 537, 555, 573, 591, 609, 627, 645, - 663, 681, 699, 717, 735, 753, 771, 789, 807, 825, 843, 861, - 879, 897, 915, 933, 951, 969, 987, 1005, 1023, 1041, 1059, 1077, - 1095, 1113, 1131, 1149, 1167, 1185, 1203, 1221, 1239, 1257, 1275, 1293, - 1311, 1329, 1347, 1365, 1383, 1401, 1419, 1437, 1455, 1473, 1491, 1509, - 1527, 1545, 1563, 1581, 1599, 1617, 1635, 1653, 1671, 1689, 1707, 1725, - 1743, 1761, 1779, 1797, 1815, 1833, 1851, 1869, 1887, 1905, 1923, 1941, - 1959, 1977, 1995, 2013, 2031, 2049, 2067, 2085, 2103, 2121, 2139, 2157, - 2175, 2193, 2211, 2229, 2247, 2265, 2283, 2301, 2319, 2337, 2355, 2373, - 2391, 2409, 2427, 2445, 2463, 2481, 2499, 2517, 2535, 2553, 2571, 2589, - 2607, 2625, 2643, 2661, 2679, 2697, 2715, 2733, 2751, 2769, 2787, 2805, - 2823, 2841, 2859, 2877, 2895, 2913, 2931, 2949, 2967, 2985, 3003, 3021, - 3039, 3057, 3075, 3093, 3111, 3129, 3147, 3165, 3183, 3201, 3219, 3237, - 3255, 3273, 3291, 3309, 3327, 3345, 3363, 3381, 3399, 3417, 3435, 3453, - 3471, 3489, 3507, 3525, 3543, 3561, 3579, 3597, 3615, 3633, 3651, 3669, - 3687, 3705, 3723, 3741, 3759, 3777, 3795, 3813, 3831, 3849, 3867, 3885, - 3903, 3921, 3939, 3957, 3975, 3993, 4011, 4029, 4047, 4065, 4083, 4101, - 4119, 4137, 4155, 4173, 4191, 4209, 4227, 4245, 4263, 4281, 4299, 4317, - 4335, 4353, 4371, 4389, 4407, 4425, 4443, 4461, 4479, 4497, 4515, 4533, - 4551, 4569, 4587, 4605, 4623, 4641, 4659, 4677, 4695, 4713, 4731, 4749, - 4767, 4785, 4803, 4821, 4839, 4857, 4875, 4893, 4911, 4929, 4947, 4965, - 4983, 5001, 5019, 5037, 5055, 5073, 5091, 5109, 5127, 5145, 5163, 5181, - 5199, 5217, 5235, 5253, 5271, 5289, 5307, 5325, 5343, 5361, 5379, 5397, - 5415, 5433, 5451, 5469, 5487, 5505, 5523, 5541, 5559, 5577, 5595, 5613, - 5631, 5649, 5667, 5685, 5703, 5721, 5739, 5757, 5775, 5793, 5811, 5829, - 5847, 5865, 5883, 5901, 5919, 5937, 5955, 5973, 5991, 6009, 6027, 6045, - 6063, 6081, 6099, 6117, 6135, 6153, 6171, 6189, 6207, 6225, 6243, 6261, - 6279, 6297, 6315, 6333, 6351, 6369, 6387, 6405, 6423, 6441, 6459, 6477, - 16, 34, 52, 70, 88, 106, 124, 142, 160, 178, 196, 214, - 232, 250, 268, 286, 304, 322, 340, 358, 376, 394, 412, 430, - 448, 466, 484, 502, 520, 538, 556, 574, 592, 610, 628, 646, - 664, 682, 700, 718, 736, 754, 772, 790, 808, 826, 844, 862, - 880, 898, 916, 934, 952, 970, 988, 1006, 1024, 1042, 1060, 1078, - 1096, 1114, 1132, 1150, 1168, 1186, 1204, 1222, 1240, 1258, 1276, 1294, - 1312, 1330, 1348, 1366, 1384, 1402, 1420, 1438, 1456, 1474, 1492, 1510, - 1528, 1546, 1564, 1582, 1600, 1618, 1636, 1654, 1672, 1690, 1708, 1726, - 1744, 1762, 1780, 1798, 1816, 1834, 1852, 1870, 1888, 1906, 1924, 1942, - 1960, 1978, 1996, 2014, 2032, 2050, 2068, 2086, 2104, 2122, 2140, 2158, - 2176, 2194, 2212, 2230, 2248, 2266, 2284, 2302, 2320, 2338, 2356, 2374, - 2392, 2410, 2428, 2446, 2464, 2482, 2500, 2518, 2536, 2554, 2572, 2590, - 2608, 2626, 2644, 2662, 2680, 2698, 2716, 2734, 2752, 2770, 2788, 2806, - 2824, 2842, 2860, 2878, 2896, 2914, 2932, 2950, 2968, 2986, 3004, 3022, - 3040, 3058, 3076, 3094, 3112, 3130, 3148, 3166, 3184, 3202, 3220, 3238, - 3256, 3274, 3292, 3310, 3328, 3346, 3364, 3382, 3400, 3418, 3436, 3454, - 3472, 3490, 3508, 3526, 3544, 3562, 3580, 3598, 3616, 3634, 3652, 3670, - 3688, 3706, 3724, 3742, 3760, 3778, 3796, 3814, 3832, 3850, 3868, 3886, - 3904, 3922, 3940, 3958, 3976, 3994, 4012, 4030, 4048, 4066, 4084, 4102, - 4120, 4138, 4156, 4174, 4192, 4210, 4228, 4246, 4264, 4282, 4300, 4318, - 4336, 4354, 4372, 4390, 4408, 4426, 4444, 4462, 4480, 4498, 4516, 4534, - 4552, 4570, 4588, 4606, 4624, 4642, 4660, 4678, 4696, 4714, 4732, 4750, - 4768, 4786, 4804, 4822, 4840, 4858, 4876, 4894, 4912, 4930, 4948, 4966, - 4984, 5002, 5020, 5038, 5056, 5074, 5092, 5110, 5128, 5146, 5164, 5182, - 5200, 5218, 5236, 5254, 5272, 5290, 5308, 5326, 5344, 5362, 5380, 5398, - 5416, 5434, 5452, 5470, 5488, 5506, 5524, 5542, 5560, 5578, 5596, 5614, - 5632, 5650, 5668, 5686, 5704, 5722, 5740, 5758, 5776, 5794, 5812, 5830, - 5848, 5866, 5884, 5902, 5920, 5938, 5956, 5974, 5992, 6010, 6028, 6046, - 6064, 6082, 6100, 6118, 6136, 6154, 6172, 6190, 6208, 6226, 6244, 6262, - 6280, 6298, 6316, 6334, 6352, 6370, 6388, 6406, 6424, 6442, 6460, 6478, - 17, 35, 53, 71, 89, 107, 125, 143, 161, 179, 197, 215, - 233, 251, 269, 287, 305, 323, 341, 359, 377, 395, 413, 431, - 449, 467, 485, 503, 521, 539, 557, 575, 593, 611, 629, 647, - 665, 683, 701, 719, 737, 755, 773, 791, 809, 827, 845, 863, - 881, 899, 917, 935, 953, 971, 989, 1007, 1025, 1043, 1061, 1079, - 1097, 1115, 1133, 1151, 1169, 1187, 1205, 1223, 1241, 1259, 1277, 1295, - 1313, 1331, 1349, 1367, 1385, 1403, 1421, 1439, 1457, 1475, 1493, 1511, - 1529, 1547, 1565, 1583, 1601, 1619, 1637, 1655, 1673, 1691, 1709, 1727, - 1745, 1763, 1781, 1799, 1817, 1835, 1853, 1871, 1889, 1907, 1925, 1943, - 1961, 1979, 1997, 2015, 2033, 2051, 2069, 2087, 2105, 2123, 2141, 2159, - 2177, 2195, 2213, 2231, 2249, 2267, 2285, 2303, 2321, 2339, 2357, 2375, - 2393, 2411, 2429, 2447, 2465, 2483, 2501, 2519, 2537, 2555, 2573, 2591, - 2609, 2627, 2645, 2663, 2681, 2699, 2717, 2735, 2753, 2771, 2789, 2807, - 2825, 2843, 2861, 2879, 2897, 2915, 2933, 2951, 2969, 2987, 3005, 3023, - 3041, 3059, 3077, 3095, 3113, 3131, 3149, 3167, 3185, 3203, 3221, 3239, - 3257, 3275, 3293, 3311, 3329, 3347, 3365, 3383, 3401, 3419, 3437, 3455, - 3473, 3491, 3509, 3527, 3545, 3563, 3581, 3599, 3617, 3635, 3653, 3671, - 3689, 3707, 3725, 3743, 3761, 3779, 3797, 3815, 3833, 3851, 3869, 3887, - 3905, 3923, 3941, 3959, 3977, 3995, 4013, 4031, 4049, 4067, 4085, 4103, - 4121, 4139, 4157, 4175, 4193, 4211, 4229, 4247, 4265, 4283, 4301, 4319, - 4337, 4355, 4373, 4391, 4409, 4427, 4445, 4463, 4481, 4499, 4517, 4535, - 4553, 4571, 4589, 4607, 4625, 4643, 4661, 4679, 4697, 4715, 4733, 4751, - 4769, 4787, 4805, 4823, 4841, 4859, 4877, 4895, 4913, 4931, 4949, 4967, - 4985, 5003, 5021, 5039, 5057, 5075, 5093, 5111, 5129, 5147, 5165, 5183, - 5201, 5219, 5237, 5255, 5273, 5291, 5309, 5327, 5345, 5363, 5381, 5399, - 5417, 5435, 5453, 5471, 5489, 5507, 5525, 5543, 5561, 5579, 5597, 5615, - 5633, 5651, 5669, 5687, 5705, 5723, 5741, 5759, 5777, 5795, 5813, 5831, - 5849, 5867, 5885, 5903, 5921, 5939, 5957, 5975, 5993, 6011, 6029, 6047, - 6065, 6083, 6101, 6119, 6137, 6155, 6173, 6191, 6209, 6227, 6245, 6263, - 6281, 6299, 6317, 6335, 6353, 6371, 6389, 6407, 6425, 6443, 6461, 6479, - 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198, 216, - 234, 252, 270, 288, 306, 324, 342, 360, 378, 396, 414, 432, - 450, 468, 486, 504, 522, 540, 558, 576, 594, 612, 630, 648, - 666, 684, 702, 720, 738, 756, 774, 792, 810, 828, 846, 864, - 882, 900, 918, 936, 954, 972, 990, 1008, 1026, 1044, 1062, 1080, - 1098, 1116, 1134, 1152, 1170, 1188, 1206, 1224, 1242, 1260, 1278, 1296, - 1314, 1332, 1350, 1368, 1386, 1404, 1422, 1440, 1458, 1476, 1494, 1512, - 1530, 1548, 1566, 1584, 1602, 1620, 1638, 1656, 1674, 1692, 1710, 1728, - 1746, 1764, 1782, 1800, 1818, 1836, 1854, 1872, 1890, 1908, 1926, 1944, - 1962, 1980, 1998, 2016, 2034, 2052, 2070, 2088, 2106, 2124, 2142, 2160, - 2178, 2196, 2214, 2232, 2250, 2268, 2286, 2304, 2322, 2340, 2358, 2376, - 2394, 2412, 2430, 2448, 2466, 2484, 2502, 2520, 2538, 2556, 2574, 2592, - 2610, 2628, 2646, 2664, 2682, 2700, 2718, 2736, 2754, 2772, 2790, 2808, - 2826, 2844, 2862, 2880, 2898, 2916, 2934, 2952, 2970, 2988, 3006, 3024, - 3042, 3060, 3078, 3096, 3114, 3132, 3150, 3168, 3186, 3204, 3222, 3240, - 3258, 3276, 3294, 3312, 3330, 3348, 3366, 3384, 3402, 3420, 3438, 3456, - 3474, 3492, 3510, 3528, 3546, 3564, 3582, 3600, 3618, 3636, 3654, 3672, - 3690, 3708, 3726, 3744, 3762, 3780, 3798, 3816, 3834, 3852, 3870, 3888, - 3906, 3924, 3942, 3960, 3978, 3996, 4014, 4032, 4050, 4068, 4086, 4104, - 4122, 4140, 4158, 4176, 4194, 4212, 4230, 4248, 4266, 4284, 4302, 4320, - 4338, 4356, 4374, 4392, 4410, 4428, 4446, 4464, 4482, 4500, 4518, 4536, - 4554, 4572, 4590, 4608, 4626, 4644, 4662, 4680, 4698, 4716, 4734, 4752, - 4770, 4788, 4806, 4824, 4842, 4860, 4878, 4896, 4914, 4932, 4950, 4968, - 4986, 5004, 5022, 5040, 5058, 5076, 5094, 5112, 5130, 5148, 5166, 5184, - 5202, 5220, 5238, 5256, 5274, 5292, 5310, 5328, 5346, 5364, 5382, 5400, - 5418, 5436, 5454, 5472, 5490, 5508, 5526, 5544, 5562, 5580, 5598, 5616, - 5634, 5652, 5670, 5688, 5706, 5724, 5742, 5760, 5778, 5796, 5814, 5832, - 5850, 5868, 5886, 5904, 5922, 5940, 5958, 5976, 5994, 6012, 6030, 6048, - 6066, 6084, 6102, 6120, 6138, 6156, 6174, 6192, 6210, 6228, 6246, 6264, - 6282, 6300, 6318, 6336, 6354, 6372, 6390, 6408, 6426, 6444, 6462, 6480, - 5714, 5732, 5750, 5768, 5786, 5804, 5822, 5840, 5858, 5876, 5894, 5912, - 5930, 5948, 5966, 5984, 6002, 6020, 6038, 6056, 6074, 6092, 6110, 6128, - 6146, 6164, 6182, 6200, 6218, 6236, 6254, 6272, 6290, 6308, 6326, 6344, - 6362, 6380, 6398, 6416, 6434, 6452, 6470, 8, 26, 44, 62, 80, - 98, 116, 134, 152, 170, 188, 206, 224, 242, 260, 278, 296, - 314, 332, 350, 368, 386, 404, 422, 440, 458, 476, 494, 512, - 530, 548, 566, 584, 602, 620, 638, 656, 674, 692, 710, 728, - 746, 764, 782, 800, 818, 836, 854, 872, 890, 908, 926, 944, - 962, 980, 998, 1016, 1034, 1052, 1070, 1088, 1106, 1124, 1142, 1160, - 1178, 1196, 1214, 1232, 1250, 1268, 1286, 1304, 1322, 1340, 1358, 1376, - 1394, 1412, 1430, 1448, 1466, 1484, 1502, 1520, 1538, 1556, 1574, 1592, - 1610, 1628, 1646, 1664, 1682, 1700, 1718, 1736, 1754, 1772, 1790, 1808, - 1826, 1844, 1862, 1880, 1898, 1916, 1934, 1952, 1970, 1988, 2006, 2024, - 2042, 2060, 2078, 2096, 2114, 2132, 2150, 2168, 2186, 2204, 2222, 2240, - 2258, 2276, 2294, 2312, 2330, 2348, 2366, 2384, 2402, 2420, 2438, 2456, - 2474, 2492, 2510, 2528, 2546, 2564, 2582, 2600, 2618, 2636, 2654, 2672, - 2690, 2708, 2726, 2744, 2762, 2780, 2798, 2816, 2834, 2852, 2870, 2888, - 2906, 2924, 2942, 2960, 2978, 2996, 3014, 3032, 3050, 3068, 3086, 3104, - 3122, 3140, 3158, 3176, 3194, 3212, 3230, 3248, 3266, 3284, 3302, 3320, - 3338, 3356, 3374, 3392, 3410, 3428, 3446, 3464, 3482, 3500, 3518, 3536, - 3554, 3572, 3590, 3608, 3626, 3644, 3662, 3680, 3698, 3716, 3734, 3752, - 3770, 3788, 3806, 3824, 3842, 3860, 3878, 3896, 3914, 3932, 3950, 3968, - 3986, 4004, 4022, 4040, 4058, 4076, 4094, 4112, 4130, 4148, 4166, 4184, - 4202, 4220, 4238, 4256, 4274, 4292, 4310, 4328, 4346, 4364, 4382, 4400, - 4418, 4436, 4454, 4472, 4490, 4508, 4526, 4544, 4562, 4580, 4598, 4616, - 4634, 4652, 4670, 4688, 4706, 4724, 4742, 4760, 4778, 4796, 4814, 4832, - 4850, 4868, 4886, 4904, 4922, 4940, 4958, 4976, 4994, 5012, 5030, 5048, - 5066, 5084, 5102, 5120, 5138, 5156, 5174, 5192, 5210, 5228, 5246, 5264, - 5282, 5300, 5318, 5336, 5354, 5372, 5390, 5408, 5426, 5444, 5462, 5480, - 5498, 5516, 5534, 5552, 5570, 5588, 5606, 5624, 5642, 5660, 5678, 5696, - 212, 230, 248, 266, 284, 302, 320, 338, 356, 374, 392, 410, - 428, 446, 464, 482, 500, 518, 536, 554, 572, 590, 608, 626, - 644, 662, 680, 698, 716, 734, 752, 770, 788, 806, 824, 842, - 860, 878, 896, 914, 932, 950, 968, 986, 1004, 1022, 1040, 1058, - 1076, 1094, 1112, 1130, 1148, 1166, 1184, 1202, 1220, 1238, 1256, 1274, - 1292, 1310, 1328, 1346, 1364, 1382, 1400, 1418, 1436, 1454, 1472, 1490, - 1508, 1526, 1544, 1562, 1580, 1598, 1616, 1634, 1652, 1670, 1688, 1706, - 1724, 1742, 1760, 1778, 1796, 1814, 1832, 1850, 1868, 1886, 1904, 1922, - 1940, 1958, 1976, 1994, 2012, 2030, 2048, 2066, 2084, 2102, 2120, 2138, - 2156, 2174, 2192, 2210, 2228, 2246, 2264, 2282, 2300, 2318, 2336, 2354, - 2372, 2390, 2408, 2426, 2444, 2462, 2480, 2498, 2516, 2534, 2552, 2570, - 2588, 2606, 2624, 2642, 2660, 2678, 2696, 2714, 2732, 2750, 2768, 2786, - 2804, 2822, 2840, 2858, 2876, 2894, 2912, 2930, 2948, 2966, 2984, 3002, - 3020, 3038, 3056, 3074, 3092, 3110, 3128, 3146, 3164, 3182, 3200, 3218, - 3236, 3254, 3272, 3290, 3308, 3326, 3344, 3362, 3380, 3398, 3416, 3434, - 3452, 3470, 3488, 3506, 3524, 3542, 3560, 3578, 3596, 3614, 3632, 3650, - 3668, 3686, 3704, 3722, 3740, 3758, 3776, 3794, 3812, 3830, 3848, 3866, - 3884, 3902, 3920, 3938, 3956, 3974, 3992, 4010, 4028, 4046, 4064, 4082, - 4100, 4118, 4136, 4154, 4172, 4190, 4208, 4226, 4244, 4262, 4280, 4298, - 4316, 4334, 4352, 4370, 4388, 4406, 4424, 4442, 4460, 4478, 4496, 4514, - 4532, 4550, 4568, 4586, 4604, 4622, 4640, 4658, 4676, 4694, 4712, 4730, - 4748, 4766, 4784, 4802, 4820, 4838, 4856, 4874, 4892, 4910, 4928, 4946, - 4964, 4982, 5000, 5018, 5036, 5054, 5072, 5090, 5108, 5126, 5144, 5162, - 5180, 5198, 5216, 5234, 5252, 5270, 5288, 5306, 5324, 5342, 5360, 5378, - 5396, 5414, 5432, 5450, 5468, 5486, 5504, 5522, 5540, 5558, 5576, 5594, - 5612, 5630, 5648, 5666, 5684, 5702, 5720, 5738, 5756, 5774, 5792, 5810, - 5828, 5846, 5864, 5882, 5900, 5918, 5936, 5954, 5972, 5990, 6008, 6026, - 6044, 6062, 6080, 6098, 6116, 6134, 6152, 6170, 6188, 6206, 6224, 6242, - 6260, 6278, 6296, 6314, 6332, 6350, 6368, 6386, 6404, 6422, 6440, 6458, - 6476, 14, 32, 50, 68, 86, 104, 122, 140, 158, 176, 194, - 4731, 4749, 4767, 4785, 4803, 4821, 4839, 4857, 4875, 4893, 4911, 4929, - 4947, 4965, 4983, 5001, 5019, 5037, 5055, 5073, 5091, 5109, 5127, 5145, - 5163, 5181, 5199, 5217, 5235, 5253, 5271, 5289, 5307, 5325, 5343, 5361, - 5379, 5397, 5415, 5433, 5451, 5469, 5487, 5505, 5523, 5541, 5559, 5577, - 5595, 5613, 5631, 5649, 5667, 5685, 5703, 5721, 5739, 5757, 5775, 5793, - 5811, 5829, 5847, 5865, 5883, 5901, 5919, 5937, 5955, 5973, 5991, 6009, - 6027, 6045, 6063, 6081, 6099, 6117, 6135, 6153, 6171, 6189, 6207, 6225, - 6243, 6261, 6279, 6297, 6315, 6333, 6351, 6369, 6387, 6405, 6423, 6441, - 6459, 6477, 15, 33, 51, 69, 87, 105, 123, 141, 159, 177, - 195, 213, 231, 249, 267, 285, 303, 321, 339, 357, 375, 393, - 411, 429, 447, 465, 483, 501, 519, 537, 555, 573, 591, 609, - 627, 645, 663, 681, 699, 717, 735, 753, 771, 789, 807, 825, - 843, 861, 879, 897, 915, 933, 951, 969, 987, 1005, 1023, 1041, - 1059, 1077, 1095, 1113, 1131, 1149, 1167, 1185, 1203, 1221, 1239, 1257, - 1275, 1293, 1311, 1329, 1347, 1365, 1383, 1401, 1419, 1437, 1455, 1473, - 1491, 1509, 1527, 1545, 1563, 1581, 1599, 1617, 1635, 1653, 1671, 1689, - 1707, 1725, 1743, 1761, 1779, 1797, 1815, 1833, 1851, 1869, 1887, 1905, - 1923, 1941, 1959, 1977, 1995, 2013, 2031, 2049, 2067, 2085, 2103, 2121, - 2139, 2157, 2175, 2193, 2211, 2229, 2247, 2265, 2283, 2301, 2319, 2337, - 2355, 2373, 2391, 2409, 2427, 2445, 2463, 2481, 2499, 2517, 2535, 2553, - 2571, 2589, 2607, 2625, 2643, 2661, 2679, 2697, 2715, 2733, 2751, 2769, - 2787, 2805, 2823, 2841, 2859, 2877, 2895, 2913, 2931, 2949, 2967, 2985, - 3003, 3021, 3039, 3057, 3075, 3093, 3111, 3129, 3147, 3165, 3183, 3201, - 3219, 3237, 3255, 3273, 3291, 3309, 3327, 3345, 3363, 3381, 3399, 3417, - 3435, 3453, 3471, 3489, 3507, 3525, 3543, 3561, 3579, 3597, 3615, 3633, - 3651, 3669, 3687, 3705, 3723, 3741, 3759, 3777, 3795, 3813, 3831, 3849, - 3867, 3885, 3903, 3921, 3939, 3957, 3975, 3993, 4011, 4029, 4047, 4065, - 4083, 4101, 4119, 4137, 4155, 4173, 4191, 4209, 4227, 4245, 4263, 4281, - 4299, 4317, 4335, 4353, 4371, 4389, 4407, 4425, 4443, 4461, 4479, 4497, - 4515, 4533, 4551, 4569, 4587, 4605, 4623, 4641, 4659, 4677, 4695, 4713, - 2064, 2082, 2100, 2118, 2136, 2154, 2172, 2190, 2208, 2226, 2244, 2262, - 2280, 2298, 2316, 2334, 2352, 2370, 2388, 2406, 2424, 2442, 2460, 2478, - 2496, 2514, 2532, 2550, 2568, 2586, 2604, 2622, 2640, 2658, 2676, 2694, - 2712, 2730, 2748, 2766, 2784, 2802, 2820, 2838, 2856, 2874, 2892, 2910, - 2928, 2946, 2964, 2982, 3000, 3018, 3036, 3054, 3072, 3090, 3108, 3126, - 3144, 3162, 3180, 3198, 3216, 3234, 3252, 3270, 3288, 3306, 3324, 3342, - 3360, 3378, 3396, 3414, 3432, 3450, 3468, 3486, 3504, 3522, 3540, 3558, - 3576, 3594, 3612, 3630, 3648, 3666, 3684, 3702, 3720, 3738, 3756, 3774, - 3792, 3810, 3828, 3846, 3864, 3882, 3900, 3918, 3936, 3954, 3972, 3990, - 4008, 4026, 4044, 4062, 4080, 4098, 4116, 4134, 4152, 4170, 4188, 4206, - 4224, 4242, 4260, 4278, 4296, 4314, 4332, 4350, 4368, 4386, 4404, 4422, - 4440, 4458, 4476, 4494, 4512, 4530, 4548, 4566, 4584, 4602, 4620, 4638, - 4656, 4674, 4692, 4710, 4728, 4746, 4764, 4782, 4800, 4818, 4836, 4854, - 4872, 4890, 4908, 4926, 4944, 4962, 4980, 4998, 5016, 5034, 5052, 5070, - 5088, 5106, 5124, 5142, 5160, 5178, 5196, 5214, 5232, 5250, 5268, 5286, - 5304, 5322, 5340, 5358, 5376, 5394, 5412, 5430, 5448, 5466, 5484, 5502, - 5520, 5538, 5556, 5574, 5592, 5610, 5628, 5646, 5664, 5682, 5700, 5718, - 5736, 5754, 5772, 5790, 5808, 5826, 5844, 5862, 5880, 5898, 5916, 5934, - 5952, 5970, 5988, 6006, 6024, 6042, 6060, 6078, 6096, 6114, 6132, 6150, - 6168, 6186, 6204, 6222, 6240, 6258, 6276, 6294, 6312, 6330, 6348, 6366, - 6384, 6402, 6420, 6438, 6456, 6474, 12, 30, 48, 66, 84, 102, - 120, 138, 156, 174, 192, 210, 228, 246, 264, 282, 300, 318, - 336, 354, 372, 390, 408, 426, 444, 462, 480, 498, 516, 534, - 552, 570, 588, 606, 624, 642, 660, 678, 696, 714, 732, 750, - 768, 786, 804, 822, 840, 858, 876, 894, 912, 930, 948, 966, - 984, 1002, 1020, 1038, 1056, 1074, 1092, 1110, 1128, 1146, 1164, 1182, - 1200, 1218, 1236, 1254, 1272, 1290, 1308, 1326, 1344, 1362, 1380, 1398, - 1416, 1434, 1452, 1470, 1488, 1506, 1524, 1542, 1560, 1578, 1596, 1614, - 1632, 1650, 1668, 1686, 1704, 1722, 1740, 1758, 1776, 1794, 1812, 1830, - 1848, 1866, 1884, 1902, 1920, 1938, 1956, 1974, 1992, 2010, 2028, 2046, - 2429, 2447, 2465, 2483, 2501, 2519, 2537, 2555, 2573, 2591, 2609, 2627, - 2645, 2663, 2681, 2699, 2717, 2735, 2753, 2771, 2789, 2807, 2825, 2843, - 2861, 2879, 2897, 2915, 2933, 2951, 2969, 2987, 3005, 3023, 3041, 3059, - 3077, 3095, 3113, 3131, 3149, 3167, 3185, 3203, 3221, 3239, 3257, 3275, - 3293, 3311, 3329, 3347, 3365, 3383, 3401, 3419, 3437, 3455, 3473, 3491, - 3509, 3527, 3545, 3563, 3581, 3599, 3617, 3635, 3653, 3671, 3689, 3707, - 3725, 3743, 3761, 3779, 3797, 3815, 3833, 3851, 3869, 3887, 3905, 3923, - 3941, 3959, 3977, 3995, 4013, 4031, 4049, 4067, 4085, 4103, 4121, 4139, - 4157, 4175, 4193, 4211, 4229, 4247, 4265, 4283, 4301, 4319, 4337, 4355, - 4373, 4391, 4409, 4427, 4445, 4463, 4481, 4499, 4517, 4535, 4553, 4571, - 4589, 4607, 4625, 4643, 4661, 4679, 4697, 4715, 4733, 4751, 4769, 4787, - 4805, 4823, 4841, 4859, 4877, 4895, 4913, 4931, 4949, 4967, 4985, 5003, - 5021, 5039, 5057, 5075, 5093, 5111, 5129, 5147, 5165, 5183, 5201, 5219, - 5237, 5255, 5273, 5291, 5309, 5327, 5345, 5363, 5381, 5399, 5417, 5435, - 5453, 5471, 5489, 5507, 5525, 5543, 5561, 5579, 5597, 5615, 5633, 5651, - 5669, 5687, 5705, 5723, 5741, 5759, 5777, 5795, 5813, 5831, 5849, 5867, - 5885, 5903, 5921, 5939, 5957, 5975, 5993, 6011, 6029, 6047, 6065, 6083, - 6101, 6119, 6137, 6155, 6173, 6191, 6209, 6227, 6245, 6263, 6281, 6299, - 6317, 6335, 6353, 6371, 6389, 6407, 6425, 6443, 6461, 6479, 17, 35, - 53, 71, 89, 107, 125, 143, 161, 179, 197, 215, 233, 251, - 269, 287, 305, 323, 341, 359, 377, 395, 413, 431, 449, 467, - 485, 503, 521, 539, 557, 575, 593, 611, 629, 647, 665, 683, - 701, 719, 737, 755, 773, 791, 809, 827, 845, 863, 881, 899, - 917, 935, 953, 971, 989, 1007, 1025, 1043, 1061, 1079, 1097, 1115, - 1133, 1151, 1169, 1187, 1205, 1223, 1241, 1259, 1277, 1295, 1313, 1331, - 1349, 1367, 1385, 1403, 1421, 1439, 1457, 1475, 1493, 1511, 1529, 1547, - 1565, 1583, 1601, 1619, 1637, 1655, 1673, 1691, 1709, 1727, 1745, 1763, - 1781, 1799, 1817, 1835, 1853, 1871, 1889, 1907, 1925, 1943, 1961, 1979, - 1997, 2015, 2033, 2051, 2069, 2087, 2105, 2123, 2141, 2159, 2177, 2195, - 2213, 2231, 2249, 2267, 2285, 2303, 2321, 2339, 2357, 2375, 2393, 2411, - 3082, 3100, 3118, 3136, 3154, 3172, 3190, 3208, 3226, 3244, 3262, 3280, - 3298, 3316, 3334, 3352, 3370, 3388, 3406, 3424, 3442, 3460, 3478, 3496, - 3514, 3532, 3550, 3568, 3586, 3604, 3622, 3640, 3658, 3676, 3694, 3712, - 3730, 3748, 3766, 3784, 3802, 3820, 3838, 3856, 3874, 3892, 3910, 3928, - 3946, 3964, 3982, 4000, 4018, 4036, 4054, 4072, 4090, 4108, 4126, 4144, - 4162, 4180, 4198, 4216, 4234, 4252, 4270, 4288, 4306, 4324, 4342, 4360, - 4378, 4396, 4414, 4432, 4450, 4468, 4486, 4504, 4522, 4540, 4558, 4576, - 4594, 4612, 4630, 4648, 4666, 4684, 4702, 4720, 4738, 4756, 4774, 4792, - 4810, 4828, 4846, 4864, 4882, 4900, 4918, 4936, 4954, 4972, 4990, 5008, - 5026, 5044, 5062, 5080, 5098, 5116, 5134, 5152, 5170, 5188, 5206, 5224, - 5242, 5260, 5278, 5296, 5314, 5332, 5350, 5368, 5386, 5404, 5422, 5440, - 5458, 5476, 5494, 5512, 5530, 5548, 5566, 5584, 5602, 5620, 5638, 5656, - 5674, 5692, 5710, 5728, 5746, 5764, 5782, 5800, 5818, 5836, 5854, 5872, - 5890, 5908, 5926, 5944, 5962, 5980, 5998, 6016, 6034, 6052, 6070, 6088, - 6106, 6124, 6142, 6160, 6178, 6196, 6214, 6232, 6250, 6268, 6286, 6304, - 6322, 6340, 6358, 6376, 6394, 6412, 6430, 6448, 6466, 4, 22, 40, - 58, 76, 94, 112, 130, 148, 166, 184, 202, 220, 238, 256, - 274, 292, 310, 328, 346, 364, 382, 400, 418, 436, 454, 472, - 490, 508, 526, 544, 562, 580, 598, 616, 634, 652, 670, 688, - 706, 724, 742, 760, 778, 796, 814, 832, 850, 868, 886, 904, - 922, 940, 958, 976, 994, 1012, 1030, 1048, 1066, 1084, 1102, 1120, - 1138, 1156, 1174, 1192, 1210, 1228, 1246, 1264, 1282, 1300, 1318, 1336, - 1354, 1372, 1390, 1408, 1426, 1444, 1462, 1480, 1498, 1516, 1534, 1552, - 1570, 1588, 1606, 1624, 1642, 1660, 1678, 1696, 1714, 1732, 1750, 1768, - 1786, 1804, 1822, 1840, 1858, 1876, 1894, 1912, 1930, 1948, 1966, 1984, - 2002, 2020, 2038, 2056, 2074, 2092, 2110, 2128, 2146, 2164, 2182, 2200, - 2218, 2236, 2254, 2272, 2290, 2308, 2326, 2344, 2362, 2380, 2398, 2416, - 2434, 2452, 2470, 2488, 2506, 2524, 2542, 2560, 2578, 2596, 2614, 2632, - 2650, 2668, 2686, 2704, 2722, 2740, 2758, 2776, 2794, 2812, 2830, 2848, - 2866, 2884, 2902, 2920, 2938, 2956, 2974, 2992, 3010, 3028, 3046, 3064, - 1623, 1641, 1659, 1677, 1695, 1713, 1731, 1749, 1767, 1785, 1803, 1821, - 1839, 1857, 1875, 1893, 1911, 1929, 1947, 1965, 1983, 2001, 2019, 2037, - 2055, 2073, 2091, 2109, 2127, 2145, 2163, 2181, 2199, 2217, 2235, 2253, - 2271, 2289, 2307, 2325, 2343, 2361, 2379, 2397, 2415, 2433, 2451, 2469, - 2487, 2505, 2523, 2541, 2559, 2577, 2595, 2613, 2631, 2649, 2667, 2685, - 2703, 2721, 2739, 2757, 2775, 2793, 2811, 2829, 2847, 2865, 2883, 2901, - 2919, 2937, 2955, 2973, 2991, 3009, 3027, 3045, 3063, 3081, 3099, 3117, - 3135, 3153, 3171, 3189, 3207, 3225, 3243, 3261, 3279, 3297, 3315, 3333, - 3351, 3369, 3387, 3405, 3423, 3441, 3459, 3477, 3495, 3513, 3531, 3549, - 3567, 3585, 3603, 3621, 3639, 3657, 3675, 3693, 3711, 3729, 3747, 3765, - 3783, 3801, 3819, 3837, 3855, 3873, 3891, 3909, 3927, 3945, 3963, 3981, - 3999, 4017, 4035, 4053, 4071, 4089, 4107, 4125, 4143, 4161, 4179, 4197, - 4215, 4233, 4251, 4269, 4287, 4305, 4323, 4341, 4359, 4377, 4395, 4413, - 4431, 4449, 4467, 4485, 4503, 4521, 4539, 4557, 4575, 4593, 4611, 4629, - 4647, 4665, 4683, 4701, 4719, 4737, 4755, 4773, 4791, 4809, 4827, 4845, - 4863, 4881, 4899, 4917, 4935, 4953, 4971, 4989, 5007, 5025, 5043, 5061, - 5079, 5097, 5115, 5133, 5151, 5169, 5187, 5205, 5223, 5241, 5259, 5277, - 5295, 5313, 5331, 5349, 5367, 5385, 5403, 5421, 5439, 5457, 5475, 5493, - 5511, 5529, 5547, 5565, 5583, 5601, 5619, 5637, 5655, 5673, 5691, 5709, - 5727, 5745, 5763, 5781, 5799, 5817, 5835, 5853, 5871, 5889, 5907, 5925, - 5943, 5961, 5979, 5997, 6015, 6033, 6051, 6069, 6087, 6105, 6123, 6141, - 6159, 6177, 6195, 6213, 6231, 6249, 6267, 6285, 6303, 6321, 6339, 6357, - 6375, 6393, 6411, 6429, 6447, 6465, 3, 21, 39, 57, 75, 93, - 111, 129, 147, 165, 183, 201, 219, 237, 255, 273, 291, 309, - 327, 345, 363, 381, 399, 417, 435, 453, 471, 489, 507, 525, - 543, 561, 579, 597, 615, 633, 651, 669, 687, 705, 723, 741, - 759, 777, 795, 813, 831, 849, 867, 885, 903, 921, 939, 957, - 975, 993, 1011, 1029, 1047, 1065, 1083, 1101, 1119, 1137, 1155, 1173, - 1191, 1209, 1227, 1245, 1263, 1281, 1299, 1317, 1335, 1353, 1371, 1389, - 1407, 1425, 1443, 1461, 1479, 1497, 1515, 1533, 1551, 1569, 1587, 1605, - 2185, 2203, 2221, 2239, 2257, 2275, 2293, 2311, 2329, 2347, 2365, 2383, - 2401, 2419, 2437, 2455, 2473, 2491, 2509, 2527, 2545, 2563, 2581, 2599, - 2617, 2635, 2653, 2671, 2689, 2707, 2725, 2743, 2761, 2779, 2797, 2815, - 2833, 2851, 2869, 2887, 2905, 2923, 2941, 2959, 2977, 2995, 3013, 3031, - 3049, 3067, 3085, 3103, 3121, 3139, 3157, 3175, 3193, 3211, 3229, 3247, - 3265, 3283, 3301, 3319, 3337, 3355, 3373, 3391, 3409, 3427, 3445, 3463, - 3481, 3499, 3517, 3535, 3553, 3571, 3589, 3607, 3625, 3643, 3661, 3679, - 3697, 3715, 3733, 3751, 3769, 3787, 3805, 3823, 3841, 3859, 3877, 3895, - 3913, 3931, 3949, 3967, 3985, 4003, 4021, 4039, 4057, 4075, 4093, 4111, - 4129, 4147, 4165, 4183, 4201, 4219, 4237, 4255, 4273, 4291, 4309, 4327, - 4345, 4363, 4381, 4399, 4417, 4435, 4453, 4471, 4489, 4507, 4525, 4543, - 4561, 4579, 4597, 4615, 4633, 4651, 4669, 4687, 4705, 4723, 4741, 4759, - 4777, 4795, 4813, 4831, 4849, 4867, 4885, 4903, 4921, 4939, 4957, 4975, - 4993, 5011, 5029, 5047, 5065, 5083, 5101, 5119, 5137, 5155, 5173, 5191, - 5209, 5227, 5245, 5263, 5281, 5299, 5317, 5335, 5353, 5371, 5389, 5407, - 5425, 5443, 5461, 5479, 5497, 5515, 5533, 5551, 5569, 5587, 5605, 5623, - 5641, 5659, 5677, 5695, 5713, 5731, 5749, 5767, 5785, 5803, 5821, 5839, - 5857, 5875, 5893, 5911, 5929, 5947, 5965, 5983, 6001, 6019, 6037, 6055, - 6073, 6091, 6109, 6127, 6145, 6163, 6181, 6199, 6217, 6235, 6253, 6271, - 6289, 6307, 6325, 6343, 6361, 6379, 6397, 6415, 6433, 6451, 6469, 7, - 25, 43, 61, 79, 97, 115, 133, 151, 169, 187, 205, 223, - 241, 259, 277, 295, 313, 331, 349, 367, 385, 403, 421, 439, - 457, 475, 493, 511, 529, 547, 565, 583, 601, 619, 637, 655, - 673, 691, 709, 727, 745, 763, 781, 799, 817, 835, 853, 871, - 889, 907, 925, 943, 961, 979, 997, 1015, 1033, 1051, 1069, 1087, - 1105, 1123, 1141, 1159, 1177, 1195, 1213, 1231, 1249, 1267, 1285, 1303, - 1321, 1339, 1357, 1375, 1393, 1411, 1429, 1447, 1465, 1483, 1501, 1519, - 1537, 1555, 1573, 1591, 1609, 1627, 1645, 1663, 1681, 1699, 1717, 1735, - 1753, 1771, 1789, 1807, 1825, 1843, 1861, 1879, 1897, 1915, 1933, 1951, - 1969, 1987, 2005, 2023, 2041, 2059, 2077, 2095, 2113, 2131, 2149, 2167, - 2831, 2849, 2867, 2885, 2903, 2921, 2939, 2957, 2975, 2993, 3011, 3029, - 3047, 3065, 3083, 3101, 3119, 3137, 3155, 3173, 3191, 3209, 3227, 3245, - 3263, 3281, 3299, 3317, 3335, 3353, 3371, 3389, 3407, 3425, 3443, 3461, - 3479, 3497, 3515, 3533, 3551, 3569, 3587, 3605, 3623, 3641, 3659, 3677, - 3695, 3713, 3731, 3749, 3767, 3785, 3803, 3821, 3839, 3857, 3875, 3893, - 3911, 3929, 3947, 3965, 3983, 4001, 4019, 4037, 4055, 4073, 4091, 4109, - 4127, 4145, 4163, 4181, 4199, 4217, 4235, 4253, 4271, 4289, 4307, 4325, - 4343, 4361, 4379, 4397, 4415, 4433, 4451, 4469, 4487, 4505, 4523, 4541, - 4559, 4577, 4595, 4613, 4631, 4649, 4667, 4685, 4703, 4721, 4739, 4757, - 4775, 4793, 4811, 4829, 4847, 4865, 4883, 4901, 4919, 4937, 4955, 4973, - 4991, 5009, 5027, 5045, 5063, 5081, 5099, 5117, 5135, 5153, 5171, 5189, - 5207, 5225, 5243, 5261, 5279, 5297, 5315, 5333, 5351, 5369, 5387, 5405, - 5423, 5441, 5459, 5477, 5495, 5513, 5531, 5549, 5567, 5585, 5603, 5621, - 5639, 5657, 5675, 5693, 5711, 5729, 5747, 5765, 5783, 5801, 5819, 5837, - 5855, 5873, 5891, 5909, 5927, 5945, 5963, 5981, 5999, 6017, 6035, 6053, - 6071, 6089, 6107, 6125, 6143, 6161, 6179, 6197, 6215, 6233, 6251, 6269, - 6287, 6305, 6323, 6341, 6359, 6377, 6395, 6413, 6431, 6449, 6467, 5, - 23, 41, 59, 77, 95, 113, 131, 149, 167, 185, 203, 221, - 239, 257, 275, 293, 311, 329, 347, 365, 383, 401, 419, 437, - 455, 473, 491, 509, 527, 545, 563, 581, 599, 617, 635, 653, - 671, 689, 707, 725, 743, 761, 779, 797, 815, 833, 851, 869, - 887, 905, 923, 941, 959, 977, 995, 1013, 1031, 1049, 1067, 1085, - 1103, 1121, 1139, 1157, 1175, 1193, 1211, 1229, 1247, 1265, 1283, 1301, - 1319, 1337, 1355, 1373, 1391, 1409, 1427, 1445, 1463, 1481, 1499, 1517, - 1535, 1553, 1571, 1589, 1607, 1625, 1643, 1661, 1679, 1697, 1715, 1733, - 1751, 1769, 1787, 1805, 1823, 1841, 1859, 1877, 1895, 1913, 1931, 1949, - 1967, 1985, 2003, 2021, 2039, 2057, 2075, 2093, 2111, 2129, 2147, 2165, - 2183, 2201, 2219, 2237, 2255, 2273, 2291, 2309, 2327, 2345, 2363, 2381, - 2399, 2417, 2435, 2453, 2471, 2489, 2507, 2525, 2543, 2561, 2579, 2597, - 2615, 2633, 2651, 2669, 2687, 2705, 2723, 2741, 2759, 2777, 2795, 2813, - 2162, 2180, 2198, 2216, 2234, 2252, 2270, 2288, 2306, 2324, 2342, 2360, - 2378, 2396, 2414, 2432, 2450, 2468, 2486, 2504, 2522, 2540, 2558, 2576, - 2594, 2612, 2630, 2648, 2666, 2684, 2702, 2720, 2738, 2756, 2774, 2792, - 2810, 2828, 2846, 2864, 2882, 2900, 2918, 2936, 2954, 2972, 2990, 3008, - 3026, 3044, 3062, 3080, 3098, 3116, 3134, 3152, 3170, 3188, 3206, 3224, - 3242, 3260, 3278, 3296, 3314, 3332, 3350, 3368, 3386, 3404, 3422, 3440, - 3458, 3476, 3494, 3512, 3530, 3548, 3566, 3584, 3602, 3620, 3638, 3656, - 3674, 3692, 3710, 3728, 3746, 3764, 3782, 3800, 3818, 3836, 3854, 3872, - 3890, 3908, 3926, 3944, 3962, 3980, 3998, 4016, 4034, 4052, 4070, 4088, - 4106, 4124, 4142, 4160, 4178, 4196, 4214, 4232, 4250, 4268, 4286, 4304, - 4322, 4340, 4358, 4376, 4394, 4412, 4430, 4448, 4466, 4484, 4502, 4520, - 4538, 4556, 4574, 4592, 4610, 4628, 4646, 4664, 4682, 4700, 4718, 4736, - 4754, 4772, 4790, 4808, 4826, 4844, 4862, 4880, 4898, 4916, 4934, 4952, - 4970, 4988, 5006, 5024, 5042, 5060, 5078, 5096, 5114, 5132, 5150, 5168, - 5186, 5204, 5222, 5240, 5258, 5276, 5294, 5312, 5330, 5348, 5366, 5384, - 5402, 5420, 5438, 5456, 5474, 5492, 5510, 5528, 5546, 5564, 5582, 5600, - 5618, 5636, 5654, 5672, 5690, 5708, 5726, 5744, 5762, 5780, 5798, 5816, - 5834, 5852, 5870, 5888, 5906, 5924, 5942, 5960, 5978, 5996, 6014, 6032, - 6050, 6068, 6086, 6104, 6122, 6140, 6158, 6176, 6194, 6212, 6230, 6248, - 6266, 6284, 6302, 6320, 6338, 6356, 6374, 6392, 6410, 6428, 6446, 6464, - 2, 20, 38, 56, 74, 92, 110, 128, 146, 164, 182, 200, - 218, 236, 254, 272, 290, 308, 326, 344, 362, 380, 398, 416, - 434, 452, 470, 488, 506, 524, 542, 560, 578, 596, 614, 632, - 650, 668, 686, 704, 722, 740, 758, 776, 794, 812, 830, 848, - 866, 884, 902, 920, 938, 956, 974, 992, 1010, 1028, 1046, 1064, - 1082, 1100, 1118, 1136, 1154, 1172, 1190, 1208, 1226, 1244, 1262, 1280, - 1298, 1316, 1334, 1352, 1370, 1388, 1406, 1424, 1442, 1460, 1478, 1496, - 1514, 1532, 1550, 1568, 1586, 1604, 1622, 1640, 1658, 1676, 1694, 1712, - 1730, 1748, 1766, 1784, 1802, 1820, 1838, 1856, 1874, 1892, 1910, 1928, - 1946, 1964, 1982, 2000, 2018, 2036, 2054, 2072, 2090, 2108, 2126, 2144, - 1381, 1399, 1417, 1435, 1453, 1471, 1489, 1507, 1525, 1543, 1561, 1579, - 1597, 1615, 1633, 1651, 1669, 1687, 1705, 1723, 1741, 1759, 1777, 1795, - 1813, 1831, 1849, 1867, 1885, 1903, 1921, 1939, 1957, 1975, 1993, 2011, - 2029, 2047, 2065, 2083, 2101, 2119, 2137, 2155, 2173, 2191, 2209, 2227, - 2245, 2263, 2281, 2299, 2317, 2335, 2353, 2371, 2389, 2407, 2425, 2443, - 2461, 2479, 2497, 2515, 2533, 2551, 2569, 2587, 2605, 2623, 2641, 2659, - 2677, 2695, 2713, 2731, 2749, 2767, 2785, 2803, 2821, 2839, 2857, 2875, - 2893, 2911, 2929, 2947, 2965, 2983, 3001, 3019, 3037, 3055, 3073, 3091, - 3109, 3127, 3145, 3163, 3181, 3199, 3217, 3235, 3253, 3271, 3289, 3307, - 3325, 3343, 3361, 3379, 3397, 3415, 3433, 3451, 3469, 3487, 3505, 3523, - 3541, 3559, 3577, 3595, 3613, 3631, 3649, 3667, 3685, 3703, 3721, 3739, - 3757, 3775, 3793, 3811, 3829, 3847, 3865, 3883, 3901, 3919, 3937, 3955, - 3973, 3991, 4009, 4027, 4045, 4063, 4081, 4099, 4117, 4135, 4153, 4171, - 4189, 4207, 4225, 4243, 4261, 4279, 4297, 4315, 4333, 4351, 4369, 4387, - 4405, 4423, 4441, 4459, 4477, 4495, 4513, 4531, 4549, 4567, 4585, 4603, - 4621, 4639, 4657, 4675, 4693, 4711, 4729, 4747, 4765, 4783, 4801, 4819, - 4837, 4855, 4873, 4891, 4909, 4927, 4945, 4963, 4981, 4999, 5017, 5035, - 5053, 5071, 5089, 5107, 5125, 5143, 5161, 5179, 5197, 5215, 5233, 5251, - 5269, 5287, 5305, 5323, 5341, 5359, 5377, 5395, 5413, 5431, 5449, 5467, - 5485, 5503, 5521, 5539, 5557, 5575, 5593, 5611, 5629, 5647, 5665, 5683, - 5701, 5719, 5737, 5755, 5773, 5791, 5809, 5827, 5845, 5863, 5881, 5899, - 5917, 5935, 5953, 5971, 5989, 6007, 6025, 6043, 6061, 6079, 6097, 6115, - 6133, 6151, 6169, 6187, 6205, 6223, 6241, 6259, 6277, 6295, 6313, 6331, - 6349, 6367, 6385, 6403, 6421, 6439, 6457, 6475, 13, 31, 49, 67, - 85, 103, 121, 139, 157, 175, 193, 211, 229, 247, 265, 283, - 301, 319, 337, 355, 373, 391, 409, 427, 445, 463, 481, 499, - 517, 535, 553, 571, 589, 607, 625, 643, 661, 679, 697, 715, - 733, 751, 769, 787, 805, 823, 841, 859, 877, 895, 913, 931, - 949, 967, 985, 1003, 1021, 1039, 1057, 1075, 1093, 1111, 1129, 1147, - 1165, 1183, 1201, 1219, 1237, 1255, 1273, 1291, 1309, 1327, 1345, 1363, - 2503, 2521, 2539, 2557, 2575, 2593, 2611, 2629, 2647, 2665, 2683, 2701, - 2719, 2737, 2755, 2773, 2791, 2809, 2827, 2845, 2863, 2881, 2899, 2917, - 2935, 2953, 2971, 2989, 3007, 3025, 3043, 3061, 3079, 3097, 3115, 3133, - 3151, 3169, 3187, 3205, 3223, 3241, 3259, 3277, 3295, 3313, 3331, 3349, - 3367, 3385, 3403, 3421, 3439, 3457, 3475, 3493, 3511, 3529, 3547, 3565, - 3583, 3601, 3619, 3637, 3655, 3673, 3691, 3709, 3727, 3745, 3763, 3781, - 3799, 3817, 3835, 3853, 3871, 3889, 3907, 3925, 3943, 3961, 3979, 3997, - 4015, 4033, 4051, 4069, 4087, 4105, 4123, 4141, 4159, 4177, 4195, 4213, - 4231, 4249, 4267, 4285, 4303, 4321, 4339, 4357, 4375, 4393, 4411, 4429, - 4447, 4465, 4483, 4501, 4519, 4537, 4555, 4573, 4591, 4609, 4627, 4645, - 4663, 4681, 4699, 4717, 4735, 4753, 4771, 4789, 4807, 4825, 4843, 4861, - 4879, 4897, 4915, 4933, 4951, 4969, 4987, 5005, 5023, 5041, 5059, 5077, - 5095, 5113, 5131, 5149, 5167, 5185, 5203, 5221, 5239, 5257, 5275, 5293, - 5311, 5329, 5347, 5365, 5383, 5401, 5419, 5437, 5455, 5473, 5491, 5509, - 5527, 5545, 5563, 5581, 5599, 5617, 5635, 5653, 5671, 5689, 5707, 5725, - 5743, 5761, 5779, 5797, 5815, 5833, 5851, 5869, 5887, 5905, 5923, 5941, - 5959, 5977, 5995, 6013, 6031, 6049, 6067, 6085, 6103, 6121, 6139, 6157, - 6175, 6193, 6211, 6229, 6247, 6265, 6283, 6301, 6319, 6337, 6355, 6373, - 6391, 6409, 6427, 6445, 6463, 1, 19, 37, 55, 73, 91, 109, - 127, 145, 163, 181, 199, 217, 235, 253, 271, 289, 307, 325, - 343, 361, 379, 397, 415, 433, 451, 469, 487, 505, 523, 541, - 559, 577, 595, 613, 631, 649, 667, 685, 703, 721, 739, 757, - 775, 793, 811, 829, 847, 865, 883, 901, 919, 937, 955, 973, - 991, 1009, 1027, 1045, 1063, 1081, 1099, 1117, 1135, 1153, 1171, 1189, - 1207, 1225, 1243, 1261, 1279, 1297, 1315, 1333, 1351, 1369, 1387, 1405, - 1423, 1441, 1459, 1477, 1495, 1513, 1531, 1549, 1567, 1585, 1603, 1621, - 1639, 1657, 1675, 1693, 1711, 1729, 1747, 1765, 1783, 1801, 1819, 1837, - 1855, 1873, 1891, 1909, 1927, 1945, 1963, 1981, 1999, 2017, 2035, 2053, - 2071, 2089, 2107, 2125, 2143, 2161, 2179, 2197, 2215, 2233, 2251, 2269, - 2287, 2305, 2323, 2341, 2359, 2377, 2395, 2413, 2431, 2449, 2467, 2485, - 3972, 3990, 4008, 4026, 4044, 4062, 4080, 4098, 4116, 4134, 4152, 4170, - 4188, 4206, 4224, 4242, 4260, 4278, 4296, 4314, 4332, 4350, 4368, 4386, - 4404, 4422, 4440, 4458, 4476, 4494, 4512, 4530, 4548, 4566, 4584, 4602, - 4620, 4638, 4656, 4674, 4692, 4710, 4728, 4746, 4764, 4782, 4800, 4818, - 4836, 4854, 4872, 4890, 4908, 4926, 4944, 4962, 4980, 4998, 5016, 5034, - 5052, 5070, 5088, 5106, 5124, 5142, 5160, 5178, 5196, 5214, 5232, 5250, - 5268, 5286, 5304, 5322, 5340, 5358, 5376, 5394, 5412, 5430, 5448, 5466, - 5484, 5502, 5520, 5538, 5556, 5574, 5592, 5610, 5628, 5646, 5664, 5682, - 5700, 5718, 5736, 5754, 5772, 5790, 5808, 5826, 5844, 5862, 5880, 5898, - 5916, 5934, 5952, 5970, 5988, 6006, 6024, 6042, 6060, 6078, 6096, 6114, - 6132, 6150, 6168, 6186, 6204, 6222, 6240, 6258, 6276, 6294, 6312, 6330, - 6348, 6366, 6384, 6402, 6420, 6438, 6456, 6474, 12, 30, 48, 66, - 84, 102, 120, 138, 156, 174, 192, 210, 228, 246, 264, 282, - 300, 318, 336, 354, 372, 390, 408, 426, 444, 462, 480, 498, - 516, 534, 552, 570, 588, 606, 624, 642, 660, 678, 696, 714, - 732, 750, 768, 786, 804, 822, 840, 858, 876, 894, 912, 930, - 948, 966, 984, 1002, 1020, 1038, 1056, 1074, 1092, 1110, 1128, 1146, - 1164, 1182, 1200, 1218, 1236, 1254, 1272, 1290, 1308, 1326, 1344, 1362, - 1380, 1398, 1416, 1434, 1452, 1470, 1488, 1506, 1524, 1542, 1560, 1578, - 1596, 1614, 1632, 1650, 1668, 1686, 1704, 1722, 1740, 1758, 1776, 1794, - 1812, 1830, 1848, 1866, 1884, 1902, 1920, 1938, 1956, 1974, 1992, 2010, - 2028, 2046, 2064, 2082, 2100, 2118, 2136, 2154, 2172, 2190, 2208, 2226, - 2244, 2262, 2280, 2298, 2316, 2334, 2352, 2370, 2388, 2406, 2424, 2442, - 2460, 2478, 2496, 2514, 2532, 2550, 2568, 2586, 2604, 2622, 2640, 2658, - 2676, 2694, 2712, 2730, 2748, 2766, 2784, 2802, 2820, 2838, 2856, 2874, - 2892, 2910, 2928, 2946, 2964, 2982, 3000, 3018, 3036, 3054, 3072, 3090, - 3108, 3126, 3144, 3162, 3180, 3198, 3216, 3234, 3252, 3270, 3288, 3306, - 3324, 3342, 3360, 3378, 3396, 3414, 3432, 3450, 3468, 3486, 3504, 3522, - 3540, 3558, 3576, 3594, 3612, 3630, 3648, 3666, 3684, 3702, 3720, 3738, - 3756, 3774, 3792, 3810, 3828, 3846, 3864, 3882, 3900, 3918, 3936, 3954, - 5986, 6004, 6022, 6040, 6058, 6076, 6094, 6112, 6130, 6148, 6166, 6184, - 6202, 6220, 6238, 6256, 6274, 6292, 6310, 6328, 6346, 6364, 6382, 6400, - 6418, 6436, 6454, 6472, 10, 28, 46, 64, 82, 100, 118, 136, - 154, 172, 190, 208, 226, 244, 262, 280, 298, 316, 334, 352, - 370, 388, 406, 424, 442, 460, 478, 496, 514, 532, 550, 568, - 586, 604, 622, 640, 658, 676, 694, 712, 730, 748, 766, 784, - 802, 820, 838, 856, 874, 892, 910, 928, 946, 964, 982, 1000, - 1018, 1036, 1054, 1072, 1090, 1108, 1126, 1144, 1162, 1180, 1198, 1216, - 1234, 1252, 1270, 1288, 1306, 1324, 1342, 1360, 1378, 1396, 1414, 1432, - 1450, 1468, 1486, 1504, 1522, 1540, 1558, 1576, 1594, 1612, 1630, 1648, - 1666, 1684, 1702, 1720, 1738, 1756, 1774, 1792, 1810, 1828, 1846, 1864, - 1882, 1900, 1918, 1936, 1954, 1972, 1990, 2008, 2026, 2044, 2062, 2080, - 2098, 2116, 2134, 2152, 2170, 2188, 2206, 2224, 2242, 2260, 2278, 2296, - 2314, 2332, 2350, 2368, 2386, 2404, 2422, 2440, 2458, 2476, 2494, 2512, - 2530, 2548, 2566, 2584, 2602, 2620, 2638, 2656, 2674, 2692, 2710, 2728, - 2746, 2764, 2782, 2800, 2818, 2836, 2854, 2872, 2890, 2908, 2926, 2944, - 2962, 2980, 2998, 3016, 3034, 3052, 3070, 3088, 3106, 3124, 3142, 3160, - 3178, 3196, 3214, 3232, 3250, 3268, 3286, 3304, 3322, 3340, 3358, 3376, - 3394, 3412, 3430, 3448, 3466, 3484, 3502, 3520, 3538, 3556, 3574, 3592, - 3610, 3628, 3646, 3664, 3682, 3700, 3718, 3736, 3754, 3772, 3790, 3808, - 3826, 3844, 3862, 3880, 3898, 3916, 3934, 3952, 3970, 3988, 4006, 4024, - 4042, 4060, 4078, 4096, 4114, 4132, 4150, 4168, 4186, 4204, 4222, 4240, - 4258, 4276, 4294, 4312, 4330, 4348, 4366, 4384, 4402, 4420, 4438, 4456, - 4474, 4492, 4510, 4528, 4546, 4564, 4582, 4600, 4618, 4636, 4654, 4672, - 4690, 4708, 4726, 4744, 4762, 4780, 4798, 4816, 4834, 4852, 4870, 4888, - 4906, 4924, 4942, 4960, 4978, 4996, 5014, 5032, 5050, 5068, 5086, 5104, - 5122, 5140, 5158, 5176, 5194, 5212, 5230, 5248, 5266, 5284, 5302, 5320, - 5338, 5356, 5374, 5392, 5410, 5428, 5446, 5464, 5482, 5500, 5518, 5536, - 5554, 5572, 5590, 5608, 5626, 5644, 5662, 5680, 5698, 5716, 5734, 5752, - 5770, 5788, 5806, 5824, 5842, 5860, 5878, 5896, 5914, 5932, 5950, 5968, - 1734, 1752, 1770, 1788, 1806, 1824, 1842, 1860, 1878, 1896, 1914, 1932, - 1950, 1968, 1986, 2004, 2022, 2040, 2058, 2076, 2094, 2112, 2130, 2148, - 2166, 2184, 2202, 2220, 2238, 2256, 2274, 2292, 2310, 2328, 2346, 2364, - 2382, 2400, 2418, 2436, 2454, 2472, 2490, 2508, 2526, 2544, 2562, 2580, - 2598, 2616, 2634, 2652, 2670, 2688, 2706, 2724, 2742, 2760, 2778, 2796, - 2814, 2832, 2850, 2868, 2886, 2904, 2922, 2940, 2958, 2976, 2994, 3012, - 3030, 3048, 3066, 3084, 3102, 3120, 3138, 3156, 3174, 3192, 3210, 3228, - 3246, 3264, 3282, 3300, 3318, 3336, 3354, 3372, 3390, 3408, 3426, 3444, - 3462, 3480, 3498, 3516, 3534, 3552, 3570, 3588, 3606, 3624, 3642, 3660, - 3678, 3696, 3714, 3732, 3750, 3768, 3786, 3804, 3822, 3840, 3858, 3876, - 3894, 3912, 3930, 3948, 3966, 3984, 4002, 4020, 4038, 4056, 4074, 4092, - 4110, 4128, 4146, 4164, 4182, 4200, 4218, 4236, 4254, 4272, 4290, 4308, - 4326, 4344, 4362, 4380, 4398, 4416, 4434, 4452, 4470, 4488, 4506, 4524, - 4542, 4560, 4578, 4596, 4614, 4632, 4650, 4668, 4686, 4704, 4722, 4740, - 4758, 4776, 4794, 4812, 4830, 4848, 4866, 4884, 4902, 4920, 4938, 4956, - 4974, 4992, 5010, 5028, 5046, 5064, 5082, 5100, 5118, 5136, 5154, 5172, - 5190, 5208, 5226, 5244, 5262, 5280, 5298, 5316, 5334, 5352, 5370, 5388, - 5406, 5424, 5442, 5460, 5478, 5496, 5514, 5532, 5550, 5568, 5586, 5604, - 5622, 5640, 5658, 5676, 5694, 5712, 5730, 5748, 5766, 5784, 5802, 5820, - 5838, 5856, 5874, 5892, 5910, 5928, 5946, 5964, 5982, 6000, 6018, 6036, - 6054, 6072, 6090, 6108, 6126, 6144, 6162, 6180, 6198, 6216, 6234, 6252, - 6270, 6288, 6306, 6324, 6342, 6360, 6378, 6396, 6414, 6432, 6450, 6468, - 6, 24, 42, 60, 78, 96, 114, 132, 150, 168, 186, 204, - 222, 240, 258, 276, 294, 312, 330, 348, 366, 384, 402, 420, - 438, 456, 474, 492, 510, 528, 546, 564, 582, 600, 618, 636, - 654, 672, 690, 708, 726, 744, 762, 780, 798, 816, 834, 852, - 870, 888, 906, 924, 942, 960, 978, 996, 1014, 1032, 1050, 1068, - 1086, 1104, 1122, 1140, 1158, 1176, 1194, 1212, 1230, 1248, 1266, 1284, - 1302, 1320, 1338, 1356, 1374, 1392, 1410, 1428, 1446, 1464, 1482, 1500, - 1518, 1536, 1554, 1572, 1590, 1608, 1626, 1644, 1662, 1680, 1698, 1716, - 3787, 3805, 3823, 3841, 3859, 3877, 3895, 3913, 3931, 3949, 3967, 3985, - 4003, 4021, 4039, 4057, 4075, 4093, 4111, 4129, 4147, 4165, 4183, 4201, - 4219, 4237, 4255, 4273, 4291, 4309, 4327, 4345, 4363, 4381, 4399, 4417, - 4435, 4453, 4471, 4489, 4507, 4525, 4543, 4561, 4579, 4597, 4615, 4633, - 4651, 4669, 4687, 4705, 4723, 4741, 4759, 4777, 4795, 4813, 4831, 4849, - 4867, 4885, 4903, 4921, 4939, 4957, 4975, 4993, 5011, 5029, 5047, 5065, - 5083, 5101, 5119, 5137, 5155, 5173, 5191, 5209, 5227, 5245, 5263, 5281, - 5299, 5317, 5335, 5353, 5371, 5389, 5407, 5425, 5443, 5461, 5479, 5497, - 5515, 5533, 5551, 5569, 5587, 5605, 5623, 5641, 5659, 5677, 5695, 5713, - 5731, 5749, 5767, 5785, 5803, 5821, 5839, 5857, 5875, 5893, 5911, 5929, - 5947, 5965, 5983, 6001, 6019, 6037, 6055, 6073, 6091, 6109, 6127, 6145, - 6163, 6181, 6199, 6217, 6235, 6253, 6271, 6289, 6307, 6325, 6343, 6361, - 6379, 6397, 6415, 6433, 6451, 6469, 7, 25, 43, 61, 79, 97, - 115, 133, 151, 169, 187, 205, 223, 241, 259, 277, 295, 313, - 331, 349, 367, 385, 403, 421, 439, 457, 475, 493, 511, 529, - 547, 565, 583, 601, 619, 637, 655, 673, 691, 709, 727, 745, - 763, 781, 799, 817, 835, 853, 871, 889, 907, 925, 943, 961, - 979, 997, 1015, 1033, 1051, 1069, 1087, 1105, 1123, 1141, 1159, 1177, - 1195, 1213, 1231, 1249, 1267, 1285, 1303, 1321, 1339, 1357, 1375, 1393, - 1411, 1429, 1447, 1465, 1483, 1501, 1519, 1537, 1555, 1573, 1591, 1609, - 1627, 1645, 1663, 1681, 1699, 1717, 1735, 1753, 1771, 1789, 1807, 1825, - 1843, 1861, 1879, 1897, 1915, 1933, 1951, 1969, 1987, 2005, 2023, 2041, - 2059, 2077, 2095, 2113, 2131, 2149, 2167, 2185, 2203, 2221, 2239, 2257, - 2275, 2293, 2311, 2329, 2347, 2365, 2383, 2401, 2419, 2437, 2455, 2473, - 2491, 2509, 2527, 2545, 2563, 2581, 2599, 2617, 2635, 2653, 2671, 2689, - 2707, 2725, 2743, 2761, 2779, 2797, 2815, 2833, 2851, 2869, 2887, 2905, - 2923, 2941, 2959, 2977, 2995, 3013, 3031, 3049, 3067, 3085, 3103, 3121, - 3139, 3157, 3175, 3193, 3211, 3229, 3247, 3265, 3283, 3301, 3319, 3337, - 3355, 3373, 3391, 3409, 3427, 3445, 3463, 3481, 3499, 3517, 3535, 3553, - 3571, 3589, 3607, 3625, 3643, 3661, 3679, 3697, 3715, 3733, 3751, 3769, - 4293, 4311, 4329, 4347, 4365, 4383, 4401, 4419, 4437, 4455, 4473, 4491, - 4509, 4527, 4545, 4563, 4581, 4599, 4617, 4635, 4653, 4671, 4689, 4707, - 4725, 4743, 4761, 4779, 4797, 4815, 4833, 4851, 4869, 4887, 4905, 4923, - 4941, 4959, 4977, 4995, 5013, 5031, 5049, 5067, 5085, 5103, 5121, 5139, - 5157, 5175, 5193, 5211, 5229, 5247, 5265, 5283, 5301, 5319, 5337, 5355, - 5373, 5391, 5409, 5427, 5445, 5463, 5481, 5499, 5517, 5535, 5553, 5571, - 5589, 5607, 5625, 5643, 5661, 5679, 5697, 5715, 5733, 5751, 5769, 5787, - 5805, 5823, 5841, 5859, 5877, 5895, 5913, 5931, 5949, 5967, 5985, 6003, - 6021, 6039, 6057, 6075, 6093, 6111, 6129, 6147, 6165, 6183, 6201, 6219, - 6237, 6255, 6273, 6291, 6309, 6327, 6345, 6363, 6381, 6399, 6417, 6435, - 6453, 6471, 9, 27, 45, 63, 81, 99, 117, 135, 153, 171, - 189, 207, 225, 243, 261, 279, 297, 315, 333, 351, 369, 387, - 405, 423, 441, 459, 477, 495, 513, 531, 549, 567, 585, 603, - 621, 639, 657, 675, 693, 711, 729, 747, 765, 783, 801, 819, - 837, 855, 873, 891, 909, 927, 945, 963, 981, 999, 1017, 1035, - 1053, 1071, 1089, 1107, 1125, 1143, 1161, 1179, 1197, 1215, 1233, 1251, - 1269, 1287, 1305, 1323, 1341, 1359, 1377, 1395, 1413, 1431, 1449, 1467, - 1485, 1503, 1521, 1539, 1557, 1575, 1593, 1611, 1629, 1647, 1665, 1683, - 1701, 1719, 1737, 1755, 1773, 1791, 1809, 1827, 1845, 1863, 1881, 1899, - 1917, 1935, 1953, 1971, 1989, 2007, 2025, 2043, 2061, 2079, 2097, 2115, - 2133, 2151, 2169, 2187, 2205, 2223, 2241, 2259, 2277, 2295, 2313, 2331, - 2349, 2367, 2385, 2403, 2421, 2439, 2457, 2475, 2493, 2511, 2529, 2547, - 2565, 2583, 2601, 2619, 2637, 2655, 2673, 2691, 2709, 2727, 2745, 2763, - 2781, 2799, 2817, 2835, 2853, 2871, 2889, 2907, 2925, 2943, 2961, 2979, - 2997, 3015, 3033, 3051, 3069, 3087, 3105, 3123, 3141, 3159, 3177, 3195, - 3213, 3231, 3249, 3267, 3285, 3303, 3321, 3339, 3357, 3375, 3393, 3411, - 3429, 3447, 3465, 3483, 3501, 3519, 3537, 3555, 3573, 3591, 3609, 3627, - 3645, 3663, 3681, 3699, 3717, 3735, 3753, 3771, 3789, 3807, 3825, 3843, - 3861, 3879, 3897, 3915, 3933, 3951, 3969, 3987, 4005, 4023, 4041, 4059, - 4077, 4095, 4113, 4131, 4149, 4167, 4185, 4203, 4221, 4239, 4257, 4275, - 5693, 5711, 5729, 5747, 5765, 5783, 5801, 5819, 5837, 5855, 5873, 5891, - 5909, 5927, 5945, 5963, 5981, 5999, 6017, 6035, 6053, 6071, 6089, 6107, - 6125, 6143, 6161, 6179, 6197, 6215, 6233, 6251, 6269, 6287, 6305, 6323, - 6341, 6359, 6377, 6395, 6413, 6431, 6449, 6467, 5, 23, 41, 59, - 77, 95, 113, 131, 149, 167, 185, 203, 221, 239, 257, 275, - 293, 311, 329, 347, 365, 383, 401, 419, 437, 455, 473, 491, - 509, 527, 545, 563, 581, 599, 617, 635, 653, 671, 689, 707, - 725, 743, 761, 779, 797, 815, 833, 851, 869, 887, 905, 923, - 941, 959, 977, 995, 1013, 1031, 1049, 1067, 1085, 1103, 1121, 1139, - 1157, 1175, 1193, 1211, 1229, 1247, 1265, 1283, 1301, 1319, 1337, 1355, - 1373, 1391, 1409, 1427, 1445, 1463, 1481, 1499, 1517, 1535, 1553, 1571, - 1589, 1607, 1625, 1643, 1661, 1679, 1697, 1715, 1733, 1751, 1769, 1787, - 1805, 1823, 1841, 1859, 1877, 1895, 1913, 1931, 1949, 1967, 1985, 2003, - 2021, 2039, 2057, 2075, 2093, 2111, 2129, 2147, 2165, 2183, 2201, 2219, - 2237, 2255, 2273, 2291, 2309, 2327, 2345, 2363, 2381, 2399, 2417, 2435, - 2453, 2471, 2489, 2507, 2525, 2543, 2561, 2579, 2597, 2615, 2633, 2651, - 2669, 2687, 2705, 2723, 2741, 2759, 2777, 2795, 2813, 2831, 2849, 2867, - 2885, 2903, 2921, 2939, 2957, 2975, 2993, 3011, 3029, 3047, 3065, 3083, - 3101, 3119, 3137, 3155, 3173, 3191, 3209, 3227, 3245, 3263, 3281, 3299, - 3317, 3335, 3353, 3371, 3389, 3407, 3425, 3443, 3461, 3479, 3497, 3515, - 3533, 3551, 3569, 3587, 3605, 3623, 3641, 3659, 3677, 3695, 3713, 3731, - 3749, 3767, 3785, 3803, 3821, 3839, 3857, 3875, 3893, 3911, 3929, 3947, - 3965, 3983, 4001, 4019, 4037, 4055, 4073, 4091, 4109, 4127, 4145, 4163, - 4181, 4199, 4217, 4235, 4253, 4271, 4289, 4307, 4325, 4343, 4361, 4379, - 4397, 4415, 4433, 4451, 4469, 4487, 4505, 4523, 4541, 4559, 4577, 4595, - 4613, 4631, 4649, 4667, 4685, 4703, 4721, 4739, 4757, 4775, 4793, 4811, - 4829, 4847, 4865, 4883, 4901, 4919, 4937, 4955, 4973, 4991, 5009, 5027, - 5045, 5063, 5081, 5099, 5117, 5135, 5153, 5171, 5189, 5207, 5225, 5243, - 5261, 5279, 5297, 5315, 5333, 5351, 5369, 5387, 5405, 5423, 5441, 5459, - 5477, 5495, 5513, 5531, 5549, 5567, 5585, 5603, 5621, 5639, 5657, 5675, - 267, 285, 303, 321, 339, 357, 375, 393, 411, 429, 447, 465, - 483, 501, 519, 537, 555, 573, 591, 609, 627, 645, 663, 681, - 699, 717, 735, 753, 771, 789, 807, 825, 843, 861, 879, 897, - 915, 933, 951, 969, 987, 1005, 1023, 1041, 1059, 1077, 1095, 1113, - 1131, 1149, 1167, 1185, 1203, 1221, 1239, 1257, 1275, 1293, 1311, 1329, - 1347, 1365, 1383, 1401, 1419, 1437, 1455, 1473, 1491, 1509, 1527, 1545, - 1563, 1581, 1599, 1617, 1635, 1653, 1671, 1689, 1707, 1725, 1743, 1761, - 1779, 1797, 1815, 1833, 1851, 1869, 1887, 1905, 1923, 1941, 1959, 1977, - 1995, 2013, 2031, 2049, 2067, 2085, 2103, 2121, 2139, 2157, 2175, 2193, - 2211, 2229, 2247, 2265, 2283, 2301, 2319, 2337, 2355, 2373, 2391, 2409, - 2427, 2445, 2463, 2481, 2499, 2517, 2535, 2553, 2571, 2589, 2607, 2625, - 2643, 2661, 2679, 2697, 2715, 2733, 2751, 2769, 2787, 2805, 2823, 2841, - 2859, 2877, 2895, 2913, 2931, 2949, 2967, 2985, 3003, 3021, 3039, 3057, - 3075, 3093, 3111, 3129, 3147, 3165, 3183, 3201, 3219, 3237, 3255, 3273, - 3291, 3309, 3327, 3345, 3363, 3381, 3399, 3417, 3435, 3453, 3471, 3489, - 3507, 3525, 3543, 3561, 3579, 3597, 3615, 3633, 3651, 3669, 3687, 3705, - 3723, 3741, 3759, 3777, 3795, 3813, 3831, 3849, 3867, 3885, 3903, 3921, - 3939, 3957, 3975, 3993, 4011, 4029, 4047, 4065, 4083, 4101, 4119, 4137, - 4155, 4173, 4191, 4209, 4227, 4245, 4263, 4281, 4299, 4317, 4335, 4353, - 4371, 4389, 4407, 4425, 4443, 4461, 4479, 4497, 4515, 4533, 4551, 4569, - 4587, 4605, 4623, 4641, 4659, 4677, 4695, 4713, 4731, 4749, 4767, 4785, - 4803, 4821, 4839, 4857, 4875, 4893, 4911, 4929, 4947, 4965, 4983, 5001, - 5019, 5037, 5055, 5073, 5091, 5109, 5127, 5145, 5163, 5181, 5199, 5217, - 5235, 5253, 5271, 5289, 5307, 5325, 5343, 5361, 5379, 5397, 5415, 5433, - 5451, 5469, 5487, 5505, 5523, 5541, 5559, 5577, 5595, 5613, 5631, 5649, - 5667, 5685, 5703, 5721, 5739, 5757, 5775, 5793, 5811, 5829, 5847, 5865, - 5883, 5901, 5919, 5937, 5955, 5973, 5991, 6009, 6027, 6045, 6063, 6081, - 6099, 6117, 6135, 6153, 6171, 6189, 6207, 6225, 6243, 6261, 6279, 6297, - 6315, 6333, 6351, 6369, 6387, 6405, 6423, 6441, 6459, 6477, 15, 33, - 51, 69, 87, 105, 123, 141, 159, 177, 195, 213, 231, 249, - 4914, 4932, 4950, 4968, 4986, 5004, 5022, 5040, 5058, 5076, 5094, 5112, - 5130, 5148, 5166, 5184, 5202, 5220, 5238, 5256, 5274, 5292, 5310, 5328, - 5346, 5364, 5382, 5400, 5418, 5436, 5454, 5472, 5490, 5508, 5526, 5544, - 5562, 5580, 5598, 5616, 5634, 5652, 5670, 5688, 5706, 5724, 5742, 5760, - 5778, 5796, 5814, 5832, 5850, 5868, 5886, 5904, 5922, 5940, 5958, 5976, - 5994, 6012, 6030, 6048, 6066, 6084, 6102, 6120, 6138, 6156, 6174, 6192, - 6210, 6228, 6246, 6264, 6282, 6300, 6318, 6336, 6354, 6372, 6390, 6408, - 6426, 6444, 6462, 6480, 18, 36, 54, 72, 90, 108, 126, 144, - 162, 180, 198, 216, 234, 252, 270, 288, 306, 324, 342, 360, - 378, 396, 414, 432, 450, 468, 486, 504, 522, 540, 558, 576, - 594, 612, 630, 648, 666, 684, 702, 720, 738, 756, 774, 792, - 810, 828, 846, 864, 882, 900, 918, 936, 954, 972, 990, 1008, - 1026, 1044, 1062, 1080, 1098, 1116, 1134, 1152, 1170, 1188, 1206, 1224, - 1242, 1260, 1278, 1296, 1314, 1332, 1350, 1368, 1386, 1404, 1422, 1440, - 1458, 1476, 1494, 1512, 1530, 1548, 1566, 1584, 1602, 1620, 1638, 1656, - 1674, 1692, 1710, 1728, 1746, 1764, 1782, 1800, 1818, 1836, 1854, 1872, - 1890, 1908, 1926, 1944, 1962, 1980, 1998, 2016, 2034, 2052, 2070, 2088, - 2106, 2124, 2142, 2160, 2178, 2196, 2214, 2232, 2250, 2268, 2286, 2304, - 2322, 2340, 2358, 2376, 2394, 2412, 2430, 2448, 2466, 2484, 2502, 2520, - 2538, 2556, 2574, 2592, 2610, 2628, 2646, 2664, 2682, 2700, 2718, 2736, - 2754, 2772, 2790, 2808, 2826, 2844, 2862, 2880, 2898, 2916, 2934, 2952, - 2970, 2988, 3006, 3024, 3042, 3060, 3078, 3096, 3114, 3132, 3150, 3168, - 3186, 3204, 3222, 3240, 3258, 3276, 3294, 3312, 3330, 3348, 3366, 3384, - 3402, 3420, 3438, 3456, 3474, 3492, 3510, 3528, 3546, 3564, 3582, 3600, - 3618, 3636, 3654, 3672, 3690, 3708, 3726, 3744, 3762, 3780, 3798, 3816, - 3834, 3852, 3870, 3888, 3906, 3924, 3942, 3960, 3978, 3996, 4014, 4032, - 4050, 4068, 4086, 4104, 4122, 4140, 4158, 4176, 4194, 4212, 4230, 4248, - 4266, 4284, 4302, 4320, 4338, 4356, 4374, 4392, 4410, 4428, 4446, 4464, - 4482, 4500, 4518, 4536, 4554, 4572, 4590, 4608, 4626, 4644, 4662, 4680, - 4698, 4716, 4734, 4752, 4770, 4788, 4806, 4824, 4842, 4860, 4878, 4896, - 4764, 4782, 4800, 4818, 4836, 4854, 4872, 4890, 4908, 4926, 4944, 4962, - 4980, 4998, 5016, 5034, 5052, 5070, 5088, 5106, 5124, 5142, 5160, 5178, - 5196, 5214, 5232, 5250, 5268, 5286, 5304, 5322, 5340, 5358, 5376, 5394, - 5412, 5430, 5448, 5466, 5484, 5502, 5520, 5538, 5556, 5574, 5592, 5610, - 5628, 5646, 5664, 5682, 5700, 5718, 5736, 5754, 5772, 5790, 5808, 5826, - 5844, 5862, 5880, 5898, 5916, 5934, 5952, 5970, 5988, 6006, 6024, 6042, - 6060, 6078, 6096, 6114, 6132, 6150, 6168, 6186, 6204, 6222, 6240, 6258, - 6276, 6294, 6312, 6330, 6348, 6366, 6384, 6402, 6420, 6438, 6456, 6474, - 12, 30, 48, 66, 84, 102, 120, 138, 156, 174, 192, 210, - 228, 246, 264, 282, 300, 318, 336, 354, 372, 390, 408, 426, - 444, 462, 480, 498, 516, 534, 552, 570, 588, 606, 624, 642, - 660, 678, 696, 714, 732, 750, 768, 786, 804, 822, 840, 858, - 876, 894, 912, 930, 948, 966, 984, 1002, 1020, 1038, 1056, 1074, - 1092, 1110, 1128, 1146, 1164, 1182, 1200, 1218, 1236, 1254, 1272, 1290, - 1308, 1326, 1344, 1362, 1380, 1398, 1416, 1434, 1452, 1470, 1488, 1506, - 1524, 1542, 1560, 1578, 1596, 1614, 1632, 1650, 1668, 1686, 1704, 1722, - 1740, 1758, 1776, 1794, 1812, 1830, 1848, 1866, 1884, 1902, 1920, 1938, - 1956, 1974, 1992, 2010, 2028, 2046, 2064, 2082, 2100, 2118, 2136, 2154, - 2172, 2190, 2208, 2226, 2244, 2262, 2280, 2298, 2316, 2334, 2352, 2370, - 2388, 2406, 2424, 2442, 2460, 2478, 2496, 2514, 2532, 2550, 2568, 2586, - 2604, 2622, 2640, 2658, 2676, 2694, 2712, 2730, 2748, 2766, 2784, 2802, - 2820, 2838, 2856, 2874, 2892, 2910, 2928, 2946, 2964, 2982, 3000, 3018, - 3036, 3054, 3072, 3090, 3108, 3126, 3144, 3162, 3180, 3198, 3216, 3234, - 3252, 3270, 3288, 3306, 3324, 3342, 3360, 3378, 3396, 3414, 3432, 3450, - 3468, 3486, 3504, 3522, 3540, 3558, 3576, 3594, 3612, 3630, 3648, 3666, - 3684, 3702, 3720, 3738, 3756, 3774, 3792, 3810, 3828, 3846, 3864, 3882, - 3900, 3918, 3936, 3954, 3972, 3990, 4008, 4026, 4044, 4062, 4080, 4098, - 4116, 4134, 4152, 4170, 4188, 4206, 4224, 4242, 4260, 4278, 4296, 4314, - 4332, 4350, 4368, 4386, 4404, 4422, 4440, 4458, 4476, 4494, 4512, 4530, - 4548, 4566, 4584, 4602, 4620, 4638, 4656, 4674, 4692, 4710, 4728, 4746, - 3591, 3609, 3627, 3645, 3663, 3681, 3699, 3717, 3735, 3753, 3771, 3789, - 3807, 3825, 3843, 3861, 3879, 3897, 3915, 3933, 3951, 3969, 3987, 4005, - 4023, 4041, 4059, 4077, 4095, 4113, 4131, 4149, 4167, 4185, 4203, 4221, - 4239, 4257, 4275, 4293, 4311, 4329, 4347, 4365, 4383, 4401, 4419, 4437, - 4455, 4473, 4491, 4509, 4527, 4545, 4563, 4581, 4599, 4617, 4635, 4653, - 4671, 4689, 4707, 4725, 4743, 4761, 4779, 4797, 4815, 4833, 4851, 4869, - 4887, 4905, 4923, 4941, 4959, 4977, 4995, 5013, 5031, 5049, 5067, 5085, - 5103, 5121, 5139, 5157, 5175, 5193, 5211, 5229, 5247, 5265, 5283, 5301, - 5319, 5337, 5355, 5373, 5391, 5409, 5427, 5445, 5463, 5481, 5499, 5517, - 5535, 5553, 5571, 5589, 5607, 5625, 5643, 5661, 5679, 5697, 5715, 5733, - 5751, 5769, 5787, 5805, 5823, 5841, 5859, 5877, 5895, 5913, 5931, 5949, - 5967, 5985, 6003, 6021, 6039, 6057, 6075, 6093, 6111, 6129, 6147, 6165, - 6183, 6201, 6219, 6237, 6255, 6273, 6291, 6309, 6327, 6345, 6363, 6381, - 6399, 6417, 6435, 6453, 6471, 9, 27, 45, 63, 81, 99, 117, - 135, 153, 171, 189, 207, 225, 243, 261, 279, 297, 315, 333, - 351, 369, 387, 405, 423, 441, 459, 477, 495, 513, 531, 549, - 567, 585, 603, 621, 639, 657, 675, 693, 711, 729, 747, 765, - 783, 801, 819, 837, 855, 873, 891, 909, 927, 945, 963, 981, - 999, 1017, 1035, 1053, 1071, 1089, 1107, 1125, 1143, 1161, 1179, 1197, - 1215, 1233, 1251, 1269, 1287, 1305, 1323, 1341, 1359, 1377, 1395, 1413, - 1431, 1449, 1467, 1485, 1503, 1521, 1539, 1557, 1575, 1593, 1611, 1629, - 1647, 1665, 1683, 1701, 1719, 1737, 1755, 1773, 1791, 1809, 1827, 1845, - 1863, 1881, 1899, 1917, 1935, 1953, 1971, 1989, 2007, 2025, 2043, 2061, - 2079, 2097, 2115, 2133, 2151, 2169, 2187, 2205, 2223, 2241, 2259, 2277, - 2295, 2313, 2331, 2349, 2367, 2385, 2403, 2421, 2439, 2457, 2475, 2493, - 2511, 2529, 2547, 2565, 2583, 2601, 2619, 2637, 2655, 2673, 2691, 2709, - 2727, 2745, 2763, 2781, 2799, 2817, 2835, 2853, 2871, 2889, 2907, 2925, - 2943, 2961, 2979, 2997, 3015, 3033, 3051, 3069, 3087, 3105, 3123, 3141, - 3159, 3177, 3195, 3213, 3231, 3249, 3267, 3285, 3303, 3321, 3339, 3357, - 3375, 3393, 3411, 3429, 3447, 3465, 3483, 3501, 3519, 3537, 3555, 3573, - 2567, 2585, 2603, 2621, 2639, 2657, 2675, 2693, 2711, 2729, 2747, 2765, - 2783, 2801, 2819, 2837, 2855, 2873, 2891, 2909, 2927, 2945, 2963, 2981, - 2999, 3017, 3035, 3053, 3071, 3089, 3107, 3125, 3143, 3161, 3179, 3197, - 3215, 3233, 3251, 3269, 3287, 3305, 3323, 3341, 3359, 3377, 3395, 3413, - 3431, 3449, 3467, 3485, 3503, 3521, 3539, 3557, 3575, 3593, 3611, 3629, - 3647, 3665, 3683, 3701, 3719, 3737, 3755, 3773, 3791, 3809, 3827, 3845, - 3863, 3881, 3899, 3917, 3935, 3953, 3971, 3989, 4007, 4025, 4043, 4061, - 4079, 4097, 4115, 4133, 4151, 4169, 4187, 4205, 4223, 4241, 4259, 4277, - 4295, 4313, 4331, 4349, 4367, 4385, 4403, 4421, 4439, 4457, 4475, 4493, - 4511, 4529, 4547, 4565, 4583, 4601, 4619, 4637, 4655, 4673, 4691, 4709, - 4727, 4745, 4763, 4781, 4799, 4817, 4835, 4853, 4871, 4889, 4907, 4925, - 4943, 4961, 4979, 4997, 5015, 5033, 5051, 5069, 5087, 5105, 5123, 5141, - 5159, 5177, 5195, 5213, 5231, 5249, 5267, 5285, 5303, 5321, 5339, 5357, - 5375, 5393, 5411, 5429, 5447, 5465, 5483, 5501, 5519, 5537, 5555, 5573, - 5591, 5609, 5627, 5645, 5663, 5681, 5699, 5717, 5735, 5753, 5771, 5789, - 5807, 5825, 5843, 5861, 5879, 5897, 5915, 5933, 5951, 5969, 5987, 6005, - 6023, 6041, 6059, 6077, 6095, 6113, 6131, 6149, 6167, 6185, 6203, 6221, - 6239, 6257, 6275, 6293, 6311, 6329, 6347, 6365, 6383, 6401, 6419, 6437, - 6455, 6473, 11, 29, 47, 65, 83, 101, 119, 137, 155, 173, - 191, 209, 227, 245, 263, 281, 299, 317, 335, 353, 371, 389, - 407, 425, 443, 461, 479, 497, 515, 533, 551, 569, 587, 605, - 623, 641, 659, 677, 695, 713, 731, 749, 767, 785, 803, 821, - 839, 857, 875, 893, 911, 929, 947, 965, 983, 1001, 1019, 1037, - 1055, 1073, 1091, 1109, 1127, 1145, 1163, 1181, 1199, 1217, 1235, 1253, - 1271, 1289, 1307, 1325, 1343, 1361, 1379, 1397, 1415, 1433, 1451, 1469, - 1487, 1505, 1523, 1541, 1559, 1577, 1595, 1613, 1631, 1649, 1667, 1685, - 1703, 1721, 1739, 1757, 1775, 1793, 1811, 1829, 1847, 1865, 1883, 1901, - 1919, 1937, 1955, 1973, 1991, 2009, 2027, 2045, 2063, 2081, 2099, 2117, - 2135, 2153, 2171, 2189, 2207, 2225, 2243, 2261, 2279, 2297, 2315, 2333, - 2351, 2369, 2387, 2405, 2423, 2441, 2459, 2477, 2495, 2513, 2531, 2549, - 5209, 5227, 5245, 5263, 5281, 5299, 5317, 5335, 5353, 5371, 5389, 5407, - 5425, 5443, 5461, 5479, 5497, 5515, 5533, 5551, 5569, 5587, 5605, 5623, - 5641, 5659, 5677, 5695, 5713, 5731, 5749, 5767, 5785, 5803, 5821, 5839, - 5857, 5875, 5893, 5911, 5929, 5947, 5965, 5983, 6001, 6019, 6037, 6055, - 6073, 6091, 6109, 6127, 6145, 6163, 6181, 6199, 6217, 6235, 6253, 6271, - 6289, 6307, 6325, 6343, 6361, 6379, 6397, 6415, 6433, 6451, 6469, 7, - 25, 43, 61, 79, 97, 115, 133, 151, 169, 187, 205, 223, - 241, 259, 277, 295, 313, 331, 349, 367, 385, 403, 421, 439, - 457, 475, 493, 511, 529, 547, 565, 583, 601, 619, 637, 655, - 673, 691, 709, 727, 745, 763, 781, 799, 817, 835, 853, 871, - 889, 907, 925, 943, 961, 979, 997, 1015, 1033, 1051, 1069, 1087, - 1105, 1123, 1141, 1159, 1177, 1195, 1213, 1231, 1249, 1267, 1285, 1303, - 1321, 1339, 1357, 1375, 1393, 1411, 1429, 1447, 1465, 1483, 1501, 1519, - 1537, 1555, 1573, 1591, 1609, 1627, 1645, 1663, 1681, 1699, 1717, 1735, - 1753, 1771, 1789, 1807, 1825, 1843, 1861, 1879, 1897, 1915, 1933, 1951, - 1969, 1987, 2005, 2023, 2041, 2059, 2077, 2095, 2113, 2131, 2149, 2167, - 2185, 2203, 2221, 2239, 2257, 2275, 2293, 2311, 2329, 2347, 2365, 2383, - 2401, 2419, 2437, 2455, 2473, 2491, 2509, 2527, 2545, 2563, 2581, 2599, - 2617, 2635, 2653, 2671, 2689, 2707, 2725, 2743, 2761, 2779, 2797, 2815, - 2833, 2851, 2869, 2887, 2905, 2923, 2941, 2959, 2977, 2995, 3013, 3031, - 3049, 3067, 3085, 3103, 3121, 3139, 3157, 3175, 3193, 3211, 3229, 3247, - 3265, 3283, 3301, 3319, 3337, 3355, 3373, 3391, 3409, 3427, 3445, 3463, - 3481, 3499, 3517, 3535, 3553, 3571, 3589, 3607, 3625, 3643, 3661, 3679, - 3697, 3715, 3733, 3751, 3769, 3787, 3805, 3823, 3841, 3859, 3877, 3895, - 3913, 3931, 3949, 3967, 3985, 4003, 4021, 4039, 4057, 4075, 4093, 4111, - 4129, 4147, 4165, 4183, 4201, 4219, 4237, 4255, 4273, 4291, 4309, 4327, - 4345, 4363, 4381, 4399, 4417, 4435, 4453, 4471, 4489, 4507, 4525, 4543, - 4561, 4579, 4597, 4615, 4633, 4651, 4669, 4687, 4705, 4723, 4741, 4759, - 4777, 4795, 4813, 4831, 4849, 4867, 4885, 4903, 4921, 4939, 4957, 4975, - 4993, 5011, 5029, 5047, 5065, 5083, 5101, 5119, 5137, 5155, 5173, 5191, - 3941, 3959, 3977, 3995, 4013, 4031, 4049, 4067, 4085, 4103, 4121, 4139, - 4157, 4175, 4193, 4211, 4229, 4247, 4265, 4283, 4301, 4319, 4337, 4355, - 4373, 4391, 4409, 4427, 4445, 4463, 4481, 4499, 4517, 4535, 4553, 4571, - 4589, 4607, 4625, 4643, 4661, 4679, 4697, 4715, 4733, 4751, 4769, 4787, - 4805, 4823, 4841, 4859, 4877, 4895, 4913, 4931, 4949, 4967, 4985, 5003, - 5021, 5039, 5057, 5075, 5093, 5111, 5129, 5147, 5165, 5183, 5201, 5219, - 5237, 5255, 5273, 5291, 5309, 5327, 5345, 5363, 5381, 5399, 5417, 5435, - 5453, 5471, 5489, 5507, 5525, 5543, 5561, 5579, 5597, 5615, 5633, 5651, - 5669, 5687, 5705, 5723, 5741, 5759, 5777, 5795, 5813, 5831, 5849, 5867, - 5885, 5903, 5921, 5939, 5957, 5975, 5993, 6011, 6029, 6047, 6065, 6083, - 6101, 6119, 6137, 6155, 6173, 6191, 6209, 6227, 6245, 6263, 6281, 6299, - 6317, 6335, 6353, 6371, 6389, 6407, 6425, 6443, 6461, 6479, 17, 35, - 53, 71, 89, 107, 125, 143, 161, 179, 197, 215, 233, 251, - 269, 287, 305, 323, 341, 359, 377, 395, 413, 431, 449, 467, - 485, 503, 521, 539, 557, 575, 593, 611, 629, 647, 665, 683, - 701, 719, 737, 755, 773, 791, 809, 827, 845, 863, 881, 899, - 917, 935, 953, 971, 989, 1007, 1025, 1043, 1061, 1079, 1097, 1115, - 1133, 1151, 1169, 1187, 1205, 1223, 1241, 1259, 1277, 1295, 1313, 1331, - 1349, 1367, 1385, 1403, 1421, 1439, 1457, 1475, 1493, 1511, 1529, 1547, - 1565, 1583, 1601, 1619, 1637, 1655, 1673, 1691, 1709, 1727, 1745, 1763, - 1781, 1799, 1817, 1835, 1853, 1871, 1889, 1907, 1925, 1943, 1961, 1979, - 1997, 2015, 2033, 2051, 2069, 2087, 2105, 2123, 2141, 2159, 2177, 2195, - 2213, 2231, 2249, 2267, 2285, 2303, 2321, 2339, 2357, 2375, 2393, 2411, - 2429, 2447, 2465, 2483, 2501, 2519, 2537, 2555, 2573, 2591, 2609, 2627, - 2645, 2663, 2681, 2699, 2717, 2735, 2753, 2771, 2789, 2807, 2825, 2843, - 2861, 2879, 2897, 2915, 2933, 2951, 2969, 2987, 3005, 3023, 3041, 3059, - 3077, 3095, 3113, 3131, 3149, 3167, 3185, 3203, 3221, 3239, 3257, 3275, - 3293, 3311, 3329, 3347, 3365, 3383, 3401, 3419, 3437, 3455, 3473, 3491, - 3509, 3527, 3545, 3563, 3581, 3599, 3617, 3635, 3653, 3671, 3689, 3707, - 3725, 3743, 3761, 3779, 3797, 3815, 3833, 3851, 3869, 3887, 3905, 3923, - 5110, 5128, 5146, 5164, 5182, 5200, 5218, 5236, 5254, 5272, 5290, 5308, - 5326, 5344, 5362, 5380, 5398, 5416, 5434, 5452, 5470, 5488, 5506, 5524, - 5542, 5560, 5578, 5596, 5614, 5632, 5650, 5668, 5686, 5704, 5722, 5740, - 5758, 5776, 5794, 5812, 5830, 5848, 5866, 5884, 5902, 5920, 5938, 5956, - 5974, 5992, 6010, 6028, 6046, 6064, 6082, 6100, 6118, 6136, 6154, 6172, - 6190, 6208, 6226, 6244, 6262, 6280, 6298, 6316, 6334, 6352, 6370, 6388, - 6406, 6424, 6442, 6460, 6478, 16, 34, 52, 70, 88, 106, 124, - 142, 160, 178, 196, 214, 232, 250, 268, 286, 304, 322, 340, - 358, 376, 394, 412, 430, 448, 466, 484, 502, 520, 538, 556, - 574, 592, 610, 628, 646, 664, 682, 700, 718, 736, 754, 772, - 790, 808, 826, 844, 862, 880, 898, 916, 934, 952, 970, 988, - 1006, 1024, 1042, 1060, 1078, 1096, 1114, 1132, 1150, 1168, 1186, 1204, - 1222, 1240, 1258, 1276, 1294, 1312, 1330, 1348, 1366, 1384, 1402, 1420, - 1438, 1456, 1474, 1492, 1510, 1528, 1546, 1564, 1582, 1600, 1618, 1636, - 1654, 1672, 1690, 1708, 1726, 1744, 1762, 1780, 1798, 1816, 1834, 1852, - 1870, 1888, 1906, 1924, 1942, 1960, 1978, 1996, 2014, 2032, 2050, 2068, - 2086, 2104, 2122, 2140, 2158, 2176, 2194, 2212, 2230, 2248, 2266, 2284, - 2302, 2320, 2338, 2356, 2374, 2392, 2410, 2428, 2446, 2464, 2482, 2500, - 2518, 2536, 2554, 2572, 2590, 2608, 2626, 2644, 2662, 2680, 2698, 2716, - 2734, 2752, 2770, 2788, 2806, 2824, 2842, 2860, 2878, 2896, 2914, 2932, - 2950, 2968, 2986, 3004, 3022, 3040, 3058, 3076, 3094, 3112, 3130, 3148, - 3166, 3184, 3202, 3220, 3238, 3256, 3274, 3292, 3310, 3328, 3346, 3364, - 3382, 3400, 3418, 3436, 3454, 3472, 3490, 3508, 3526, 3544, 3562, 3580, - 3598, 3616, 3634, 3652, 3670, 3688, 3706, 3724, 3742, 3760, 3778, 3796, - 3814, 3832, 3850, 3868, 3886, 3904, 3922, 3940, 3958, 3976, 3994, 4012, - 4030, 4048, 4066, 4084, 4102, 4120, 4138, 4156, 4174, 4192, 4210, 4228, - 4246, 4264, 4282, 4300, 4318, 4336, 4354, 4372, 4390, 4408, 4426, 4444, - 4462, 4480, 4498, 4516, 4534, 4552, 4570, 4588, 4606, 4624, 4642, 4660, - 4678, 4696, 4714, 4732, 4750, 4768, 4786, 4804, 4822, 4840, 4858, 4876, - 4894, 4912, 4930, 4948, 4966, 4984, 5002, 5020, 5038, 5056, 5074, 5092, - 4909, 4927, 4945, 4963, 4981, 4999, 5017, 5035, 5053, 5071, 5089, 5107, - 5125, 5143, 5161, 5179, 5197, 5215, 5233, 5251, 5269, 5287, 5305, 5323, - 5341, 5359, 5377, 5395, 5413, 5431, 5449, 5467, 5485, 5503, 5521, 5539, - 5557, 5575, 5593, 5611, 5629, 5647, 5665, 5683, 5701, 5719, 5737, 5755, - 5773, 5791, 5809, 5827, 5845, 5863, 5881, 5899, 5917, 5935, 5953, 5971, - 5989, 6007, 6025, 6043, 6061, 6079, 6097, 6115, 6133, 6151, 6169, 6187, - 6205, 6223, 6241, 6259, 6277, 6295, 6313, 6331, 6349, 6367, 6385, 6403, - 6421, 6439, 6457, 6475, 13, 31, 49, 67, 85, 103, 121, 139, - 157, 175, 193, 211, 229, 247, 265, 283, 301, 319, 337, 355, - 373, 391, 409, 427, 445, 463, 481, 499, 517, 535, 553, 571, - 589, 607, 625, 643, 661, 679, 697, 715, 733, 751, 769, 787, - 805, 823, 841, 859, 877, 895, 913, 931, 949, 967, 985, 1003, - 1021, 1039, 1057, 1075, 1093, 1111, 1129, 1147, 1165, 1183, 1201, 1219, - 1237, 1255, 1273, 1291, 1309, 1327, 1345, 1363, 1381, 1399, 1417, 1435, - 1453, 1471, 1489, 1507, 1525, 1543, 1561, 1579, 1597, 1615, 1633, 1651, - 1669, 1687, 1705, 1723, 1741, 1759, 1777, 1795, 1813, 1831, 1849, 1867, - 1885, 1903, 1921, 1939, 1957, 1975, 1993, 2011, 2029, 2047, 2065, 2083, - 2101, 2119, 2137, 2155, 2173, 2191, 2209, 2227, 2245, 2263, 2281, 2299, - 2317, 2335, 2353, 2371, 2389, 2407, 2425, 2443, 2461, 2479, 2497, 2515, - 2533, 2551, 2569, 2587, 2605, 2623, 2641, 2659, 2677, 2695, 2713, 2731, - 2749, 2767, 2785, 2803, 2821, 2839, 2857, 2875, 2893, 2911, 2929, 2947, - 2965, 2983, 3001, 3019, 3037, 3055, 3073, 3091, 3109, 3127, 3145, 3163, - 3181, 3199, 3217, 3235, 3253, 3271, 3289, 3307, 3325, 3343, 3361, 3379, - 3397, 3415, 3433, 3451, 3469, 3487, 3505, 3523, 3541, 3559, 3577, 3595, - 3613, 3631, 3649, 3667, 3685, 3703, 3721, 3739, 3757, 3775, 3793, 3811, - 3829, 3847, 3865, 3883, 3901, 3919, 3937, 3955, 3973, 3991, 4009, 4027, - 4045, 4063, 4081, 4099, 4117, 4135, 4153, 4171, 4189, 4207, 4225, 4243, - 4261, 4279, 4297, 4315, 4333, 4351, 4369, 4387, 4405, 4423, 4441, 4459, - 4477, 4495, 4513, 4531, 4549, 4567, 4585, 4603, 4621, 4639, 4657, 4675, - 4693, 4711, 4729, 4747, 4765, 4783, 4801, 4819, 4837, 4855, 4873, 4891, - 6427, 6445, 6463, 1, 19, 37, 55, 73, 91, 109, 127, 145, - 163, 181, 199, 217, 235, 253, 271, 289, 307, 325, 343, 361, - 379, 397, 415, 433, 451, 469, 487, 505, 523, 541, 559, 577, - 595, 613, 631, 649, 667, 685, 703, 721, 739, 757, 775, 793, - 811, 829, 847, 865, 883, 901, 919, 937, 955, 973, 991, 1009, - 1027, 1045, 1063, 1081, 1099, 1117, 1135, 1153, 1171, 1189, 1207, 1225, - 1243, 1261, 1279, 1297, 1315, 1333, 1351, 1369, 1387, 1405, 1423, 1441, - 1459, 1477, 1495, 1513, 1531, 1549, 1567, 1585, 1603, 1621, 1639, 1657, - 1675, 1693, 1711, 1729, 1747, 1765, 1783, 1801, 1819, 1837, 1855, 1873, - 1891, 1909, 1927, 1945, 1963, 1981, 1999, 2017, 2035, 2053, 2071, 2089, - 2107, 2125, 2143, 2161, 2179, 2197, 2215, 2233, 2251, 2269, 2287, 2305, - 2323, 2341, 2359, 2377, 2395, 2413, 2431, 2449, 2467, 2485, 2503, 2521, - 2539, 2557, 2575, 2593, 2611, 2629, 2647, 2665, 2683, 2701, 2719, 2737, - 2755, 2773, 2791, 2809, 2827, 2845, 2863, 2881, 2899, 2917, 2935, 2953, - 2971, 2989, 3007, 3025, 3043, 3061, 3079, 3097, 3115, 3133, 3151, 3169, - 3187, 3205, 3223, 3241, 3259, 3277, 3295, 3313, 3331, 3349, 3367, 3385, - 3403, 3421, 3439, 3457, 3475, 3493, 3511, 3529, 3547, 3565, 3583, 3601, - 3619, 3637, 3655, 3673, 3691, 3709, 3727, 3745, 3763, 3781, 3799, 3817, - 3835, 3853, 3871, 3889, 3907, 3925, 3943, 3961, 3979, 3997, 4015, 4033, - 4051, 4069, 4087, 4105, 4123, 4141, 4159, 4177, 4195, 4213, 4231, 4249, - 4267, 4285, 4303, 4321, 4339, 4357, 4375, 4393, 4411, 4429, 4447, 4465, - 4483, 4501, 4519, 4537, 4555, 4573, 4591, 4609, 4627, 4645, 4663, 4681, - 4699, 4717, 4735, 4753, 4771, 4789, 4807, 4825, 4843, 4861, 4879, 4897, - 4915, 4933, 4951, 4969, 4987, 5005, 5023, 5041, 5059, 5077, 5095, 5113, - 5131, 5149, 5167, 5185, 5203, 5221, 5239, 5257, 5275, 5293, 5311, 5329, - 5347, 5365, 5383, 5401, 5419, 5437, 5455, 5473, 5491, 5509, 5527, 5545, - 5563, 5581, 5599, 5617, 5635, 5653, 5671, 5689, 5707, 5725, 5743, 5761, - 5779, 5797, 5815, 5833, 5851, 5869, 5887, 5905, 5923, 5941, 5959, 5977, - 5995, 6013, 6031, 6049, 6067, 6085, 6103, 6121, 6139, 6157, 6175, 6193, - 6211, 6229, 6247, 6265, 6283, 6301, 6319, 6337, 6355, 6373, 6391, 6409, - 2209, 2227, 2245, 2263, 2281, 2299, 2317, 2335, 2353, 2371, 2389, 2407, - 2425, 2443, 2461, 2479, 2497, 2515, 2533, 2551, 2569, 2587, 2605, 2623, - 2641, 2659, 2677, 2695, 2713, 2731, 2749, 2767, 2785, 2803, 2821, 2839, - 2857, 2875, 2893, 2911, 2929, 2947, 2965, 2983, 3001, 3019, 3037, 3055, - 3073, 3091, 3109, 3127, 3145, 3163, 3181, 3199, 3217, 3235, 3253, 3271, - 3289, 3307, 3325, 3343, 3361, 3379, 3397, 3415, 3433, 3451, 3469, 3487, - 3505, 3523, 3541, 3559, 3577, 3595, 3613, 3631, 3649, 3667, 3685, 3703, - 3721, 3739, 3757, 3775, 3793, 3811, 3829, 3847, 3865, 3883, 3901, 3919, - 3937, 3955, 3973, 3991, 4009, 4027, 4045, 4063, 4081, 4099, 4117, 4135, - 4153, 4171, 4189, 4207, 4225, 4243, 4261, 4279, 4297, 4315, 4333, 4351, - 4369, 4387, 4405, 4423, 4441, 4459, 4477, 4495, 4513, 4531, 4549, 4567, - 4585, 4603, 4621, 4639, 4657, 4675, 4693, 4711, 4729, 4747, 4765, 4783, - 4801, 4819, 4837, 4855, 4873, 4891, 4909, 4927, 4945, 4963, 4981, 4999, - 5017, 5035, 5053, 5071, 5089, 5107, 5125, 5143, 5161, 5179, 5197, 5215, - 5233, 5251, 5269, 5287, 5305, 5323, 5341, 5359, 5377, 5395, 5413, 5431, - 5449, 5467, 5485, 5503, 5521, 5539, 5557, 5575, 5593, 5611, 5629, 5647, - 5665, 5683, 5701, 5719, 5737, 5755, 5773, 5791, 5809, 5827, 5845, 5863, - 5881, 5899, 5917, 5935, 5953, 5971, 5989, 6007, 6025, 6043, 6061, 6079, - 6097, 6115, 6133, 6151, 6169, 6187, 6205, 6223, 6241, 6259, 6277, 6295, - 6313, 6331, 6349, 6367, 6385, 6403, 6421, 6439, 6457, 6475, 13, 31, - 49, 67, 85, 103, 121, 139, 157, 175, 193, 211, 229, 247, - 265, 283, 301, 319, 337, 355, 373, 391, 409, 427, 445, 463, - 481, 499, 517, 535, 553, 571, 589, 607, 625, 643, 661, 679, - 697, 715, 733, 751, 769, 787, 805, 823, 841, 859, 877, 895, - 913, 931, 949, 967, 985, 1003, 1021, 1039, 1057, 1075, 1093, 1111, - 1129, 1147, 1165, 1183, 1201, 1219, 1237, 1255, 1273, 1291, 1309, 1327, - 1345, 1363, 1381, 1399, 1417, 1435, 1453, 1471, 1489, 1507, 1525, 1543, - 1561, 1579, 1597, 1615, 1633, 1651, 1669, 1687, 1705, 1723, 1741, 1759, - 1777, 1795, 1813, 1831, 1849, 1867, 1885, 1903, 1921, 1939, 1957, 1975, - 1993, 2011, 2029, 2047, 2065, 2083, 2101, 2119, 2137, 2155, 2173, 2191, - 5778, 5796, 5814, 5832, 5850, 5868, 5886, 5904, 5922, 5940, 5958, 5976, - 5994, 6012, 6030, 6048, 6066, 6084, 6102, 6120, 6138, 6156, 6174, 6192, - 6210, 6228, 6246, 6264, 6282, 6300, 6318, 6336, 6354, 6372, 6390, 6408, - 6426, 6444, 6462, 6480, 18, 36, 54, 72, 90, 108, 126, 144, - 162, 180, 198, 216, 234, 252, 270, 288, 306, 324, 342, 360, - 378, 396, 414, 432, 450, 468, 486, 504, 522, 540, 558, 576, - 594, 612, 630, 648, 666, 684, 702, 720, 738, 756, 774, 792, - 810, 828, 846, 864, 882, 900, 918, 936, 954, 972, 990, 1008, - 1026, 1044, 1062, 1080, 1098, 1116, 1134, 1152, 1170, 1188, 1206, 1224, - 1242, 1260, 1278, 1296, 1314, 1332, 1350, 1368, 1386, 1404, 1422, 1440, - 1458, 1476, 1494, 1512, 1530, 1548, 1566, 1584, 1602, 1620, 1638, 1656, - 1674, 1692, 1710, 1728, 1746, 1764, 1782, 1800, 1818, 1836, 1854, 1872, - 1890, 1908, 1926, 1944, 1962, 1980, 1998, 2016, 2034, 2052, 2070, 2088, - 2106, 2124, 2142, 2160, 2178, 2196, 2214, 2232, 2250, 2268, 2286, 2304, - 2322, 2340, 2358, 2376, 2394, 2412, 2430, 2448, 2466, 2484, 2502, 2520, - 2538, 2556, 2574, 2592, 2610, 2628, 2646, 2664, 2682, 2700, 2718, 2736, - 2754, 2772, 2790, 2808, 2826, 2844, 2862, 2880, 2898, 2916, 2934, 2952, - 2970, 2988, 3006, 3024, 3042, 3060, 3078, 3096, 3114, 3132, 3150, 3168, - 3186, 3204, 3222, 3240, 3258, 3276, 3294, 3312, 3330, 3348, 3366, 3384, - 3402, 3420, 3438, 3456, 3474, 3492, 3510, 3528, 3546, 3564, 3582, 3600, - 3618, 3636, 3654, 3672, 3690, 3708, 3726, 3744, 3762, 3780, 3798, 3816, - 3834, 3852, 3870, 3888, 3906, 3924, 3942, 3960, 3978, 3996, 4014, 4032, - 4050, 4068, 4086, 4104, 4122, 4140, 4158, 4176, 4194, 4212, 4230, 4248, - 4266, 4284, 4302, 4320, 4338, 4356, 4374, 4392, 4410, 4428, 4446, 4464, - 4482, 4500, 4518, 4536, 4554, 4572, 4590, 4608, 4626, 4644, 4662, 4680, - 4698, 4716, 4734, 4752, 4770, 4788, 4806, 4824, 4842, 4860, 4878, 4896, - 4914, 4932, 4950, 4968, 4986, 5004, 5022, 5040, 5058, 5076, 5094, 5112, - 5130, 5148, 5166, 5184, 5202, 5220, 5238, 5256, 5274, 5292, 5310, 5328, - 5346, 5364, 5382, 5400, 5418, 5436, 5454, 5472, 5490, 5508, 5526, 5544, - 5562, 5580, 5598, 5616, 5634, 5652, 5670, 5688, 5706, 5724, 5742, 5760, - 4758, 4776, 4794, 4812, 4830, 4848, 4866, 4884, 4902, 4920, 4938, 4956, - 4974, 4992, 5010, 5028, 5046, 5064, 5082, 5100, 5118, 5136, 5154, 5172, - 5190, 5208, 5226, 5244, 5262, 5280, 5298, 5316, 5334, 5352, 5370, 5388, - 5406, 5424, 5442, 5460, 5478, 5496, 5514, 5532, 5550, 5568, 5586, 5604, - 5622, 5640, 5658, 5676, 5694, 5712, 5730, 5748, 5766, 5784, 5802, 5820, - 5838, 5856, 5874, 5892, 5910, 5928, 5946, 5964, 5982, 6000, 6018, 6036, - 6054, 6072, 6090, 6108, 6126, 6144, 6162, 6180, 6198, 6216, 6234, 6252, - 6270, 6288, 6306, 6324, 6342, 6360, 6378, 6396, 6414, 6432, 6450, 6468, - 6, 24, 42, 60, 78, 96, 114, 132, 150, 168, 186, 204, - 222, 240, 258, 276, 294, 312, 330, 348, 366, 384, 402, 420, - 438, 456, 474, 492, 510, 528, 546, 564, 582, 600, 618, 636, - 654, 672, 690, 708, 726, 744, 762, 780, 798, 816, 834, 852, - 870, 888, 906, 924, 942, 960, 978, 996, 1014, 1032, 1050, 1068, - 1086, 1104, 1122, 1140, 1158, 1176, 1194, 1212, 1230, 1248, 1266, 1284, - 1302, 1320, 1338, 1356, 1374, 1392, 1410, 1428, 1446, 1464, 1482, 1500, - 1518, 1536, 1554, 1572, 1590, 1608, 1626, 1644, 1662, 1680, 1698, 1716, - 1734, 1752, 1770, 1788, 1806, 1824, 1842, 1860, 1878, 1896, 1914, 1932, - 1950, 1968, 1986, 2004, 2022, 2040, 2058, 2076, 2094, 2112, 2130, 2148, - 2166, 2184, 2202, 2220, 2238, 2256, 2274, 2292, 2310, 2328, 2346, 2364, - 2382, 2400, 2418, 2436, 2454, 2472, 2490, 2508, 2526, 2544, 2562, 2580, - 2598, 2616, 2634, 2652, 2670, 2688, 2706, 2724, 2742, 2760, 2778, 2796, - 2814, 2832, 2850, 2868, 2886, 2904, 2922, 2940, 2958, 2976, 2994, 3012, - 3030, 3048, 3066, 3084, 3102, 3120, 3138, 3156, 3174, 3192, 3210, 3228, - 3246, 3264, 3282, 3300, 3318, 3336, 3354, 3372, 3390, 3408, 3426, 3444, - 3462, 3480, 3498, 3516, 3534, 3552, 3570, 3588, 3606, 3624, 3642, 3660, - 3678, 3696, 3714, 3732, 3750, 3768, 3786, 3804, 3822, 3840, 3858, 3876, - 3894, 3912, 3930, 3948, 3966, 3984, 4002, 4020, 4038, 4056, 4074, 4092, - 4110, 4128, 4146, 4164, 4182, 4200, 4218, 4236, 4254, 4272, 4290, 4308, - 4326, 4344, 4362, 4380, 4398, 4416, 4434, 4452, 4470, 4488, 4506, 4524, - 4542, 4560, 4578, 4596, 4614, 4632, 4650, 4668, 4686, 4704, 4722, 4740, - 4475, 4493, 4511, 4529, 4547, 4565, 4583, 4601, 4619, 4637, 4655, 4673, - 4691, 4709, 4727, 4745, 4763, 4781, 4799, 4817, 4835, 4853, 4871, 4889, - 4907, 4925, 4943, 4961, 4979, 4997, 5015, 5033, 5051, 5069, 5087, 5105, - 5123, 5141, 5159, 5177, 5195, 5213, 5231, 5249, 5267, 5285, 5303, 5321, - 5339, 5357, 5375, 5393, 5411, 5429, 5447, 5465, 5483, 5501, 5519, 5537, - 5555, 5573, 5591, 5609, 5627, 5645, 5663, 5681, 5699, 5717, 5735, 5753, - 5771, 5789, 5807, 5825, 5843, 5861, 5879, 5897, 5915, 5933, 5951, 5969, - 5987, 6005, 6023, 6041, 6059, 6077, 6095, 6113, 6131, 6149, 6167, 6185, - 6203, 6221, 6239, 6257, 6275, 6293, 6311, 6329, 6347, 6365, 6383, 6401, - 6419, 6437, 6455, 6473, 11, 29, 47, 65, 83, 101, 119, 137, - 155, 173, 191, 209, 227, 245, 263, 281, 299, 317, 335, 353, - 371, 389, 407, 425, 443, 461, 479, 497, 515, 533, 551, 569, - 587, 605, 623, 641, 659, 677, 695, 713, 731, 749, 767, 785, - 803, 821, 839, 857, 875, 893, 911, 929, 947, 965, 983, 1001, - 1019, 1037, 1055, 1073, 1091, 1109, 1127, 1145, 1163, 1181, 1199, 1217, - 1235, 1253, 1271, 1289, 1307, 1325, 1343, 1361, 1379, 1397, 1415, 1433, - 1451, 1469, 1487, 1505, 1523, 1541, 1559, 1577, 1595, 1613, 1631, 1649, - 1667, 1685, 1703, 1721, 1739, 1757, 1775, 1793, 1811, 1829, 1847, 1865, - 1883, 1901, 1919, 1937, 1955, 1973, 1991, 2009, 2027, 2045, 2063, 2081, - 2099, 2117, 2135, 2153, 2171, 2189, 2207, 2225, 2243, 2261, 2279, 2297, - 2315, 2333, 2351, 2369, 2387, 2405, 2423, 2441, 2459, 2477, 2495, 2513, - 2531, 2549, 2567, 2585, 2603, 2621, 2639, 2657, 2675, 2693, 2711, 2729, - 2747, 2765, 2783, 2801, 2819, 2837, 2855, 2873, 2891, 2909, 2927, 2945, - 2963, 2981, 2999, 3017, 3035, 3053, 3071, 3089, 3107, 3125, 3143, 3161, - 3179, 3197, 3215, 3233, 3251, 3269, 3287, 3305, 3323, 3341, 3359, 3377, - 3395, 3413, 3431, 3449, 3467, 3485, 3503, 3521, 3539, 3557, 3575, 3593, - 3611, 3629, 3647, 3665, 3683, 3701, 3719, 3737, 3755, 3773, 3791, 3809, - 3827, 3845, 3863, 3881, 3899, 3917, 3935, 3953, 3971, 3989, 4007, 4025, - 4043, 4061, 4079, 4097, 4115, 4133, 4151, 4169, 4187, 4205, 4223, 4241, - 4259, 4277, 4295, 4313, 4331, 4349, 4367, 4385, 4403, 4421, 4439, 4457, - 5140, 5158, 5176, 5194, 5212, 5230, 5248, 5266, 5284, 5302, 5320, 5338, - 5356, 5374, 5392, 5410, 5428, 5446, 5464, 5482, 5500, 5518, 5536, 5554, - 5572, 5590, 5608, 5626, 5644, 5662, 5680, 5698, 5716, 5734, 5752, 5770, - 5788, 5806, 5824, 5842, 5860, 5878, 5896, 5914, 5932, 5950, 5968, 5986, - 6004, 6022, 6040, 6058, 6076, 6094, 6112, 6130, 6148, 6166, 6184, 6202, - 6220, 6238, 6256, 6274, 6292, 6310, 6328, 6346, 6364, 6382, 6400, 6418, - 6436, 6454, 6472, 10, 28, 46, 64, 82, 100, 118, 136, 154, - 172, 190, 208, 226, 244, 262, 280, 298, 316, 334, 352, 370, - 388, 406, 424, 442, 460, 478, 496, 514, 532, 550, 568, 586, - 604, 622, 640, 658, 676, 694, 712, 730, 748, 766, 784, 802, - 820, 838, 856, 874, 892, 910, 928, 946, 964, 982, 1000, 1018, - 1036, 1054, 1072, 1090, 1108, 1126, 1144, 1162, 1180, 1198, 1216, 1234, - 1252, 1270, 1288, 1306, 1324, 1342, 1360, 1378, 1396, 1414, 1432, 1450, - 1468, 1486, 1504, 1522, 1540, 1558, 1576, 1594, 1612, 1630, 1648, 1666, - 1684, 1702, 1720, 1738, 1756, 1774, 1792, 1810, 1828, 1846, 1864, 1882, - 1900, 1918, 1936, 1954, 1972, 1990, 2008, 2026, 2044, 2062, 2080, 2098, - 2116, 2134, 2152, 2170, 2188, 2206, 2224, 2242, 2260, 2278, 2296, 2314, - 2332, 2350, 2368, 2386, 2404, 2422, 2440, 2458, 2476, 2494, 2512, 2530, - 2548, 2566, 2584, 2602, 2620, 2638, 2656, 2674, 2692, 2710, 2728, 2746, - 2764, 2782, 2800, 2818, 2836, 2854, 2872, 2890, 2908, 2926, 2944, 2962, - 2980, 2998, 3016, 3034, 3052, 3070, 3088, 3106, 3124, 3142, 3160, 3178, - 3196, 3214, 3232, 3250, 3268, 3286, 3304, 3322, 3340, 3358, 3376, 3394, - 3412, 3430, 3448, 3466, 3484, 3502, 3520, 3538, 3556, 3574, 3592, 3610, - 3628, 3646, 3664, 3682, 3700, 3718, 3736, 3754, 3772, 3790, 3808, 3826, - 3844, 3862, 3880, 3898, 3916, 3934, 3952, 3970, 3988, 4006, 4024, 4042, - 4060, 4078, 4096, 4114, 4132, 4150, 4168, 4186, 4204, 4222, 4240, 4258, - 4276, 4294, 4312, 4330, 4348, 4366, 4384, 4402, 4420, 4438, 4456, 4474, - 4492, 4510, 4528, 4546, 4564, 4582, 4600, 4618, 4636, 4654, 4672, 4690, - 4708, 4726, 4744, 4762, 4780, 4798, 4816, 4834, 4852, 4870, 4888, 4906, - 4924, 4942, 4960, 4978, 4996, 5014, 5032, 5050, 5068, 5086, 5104, 5122, - 2907, 2925, 2943, 2961, 2979, 2997, 3015, 3033, 3051, 3069, 3087, 3105, - 3123, 3141, 3159, 3177, 3195, 3213, 3231, 3249, 3267, 3285, 3303, 3321, - 3339, 3357, 3375, 3393, 3411, 3429, 3447, 3465, 3483, 3501, 3519, 3537, - 3555, 3573, 3591, 3609, 3627, 3645, 3663, 3681, 3699, 3717, 3735, 3753, - 3771, 3789, 3807, 3825, 3843, 3861, 3879, 3897, 3915, 3933, 3951, 3969, - 3987, 4005, 4023, 4041, 4059, 4077, 4095, 4113, 4131, 4149, 4167, 4185, - 4203, 4221, 4239, 4257, 4275, 4293, 4311, 4329, 4347, 4365, 4383, 4401, - 4419, 4437, 4455, 4473, 4491, 4509, 4527, 4545, 4563, 4581, 4599, 4617, - 4635, 4653, 4671, 4689, 4707, 4725, 4743, 4761, 4779, 4797, 4815, 4833, - 4851, 4869, 4887, 4905, 4923, 4941, 4959, 4977, 4995, 5013, 5031, 5049, - 5067, 5085, 5103, 5121, 5139, 5157, 5175, 5193, 5211, 5229, 5247, 5265, - 5283, 5301, 5319, 5337, 5355, 5373, 5391, 5409, 5427, 5445, 5463, 5481, - 5499, 5517, 5535, 5553, 5571, 5589, 5607, 5625, 5643, 5661, 5679, 5697, - 5715, 5733, 5751, 5769, 5787, 5805, 5823, 5841, 5859, 5877, 5895, 5913, - 5931, 5949, 5967, 5985, 6003, 6021, 6039, 6057, 6075, 6093, 6111, 6129, - 6147, 6165, 6183, 6201, 6219, 6237, 6255, 6273, 6291, 6309, 6327, 6345, - 6363, 6381, 6399, 6417, 6435, 6453, 6471, 9, 27, 45, 63, 81, - 99, 117, 135, 153, 171, 189, 207, 225, 243, 261, 279, 297, - 315, 333, 351, 369, 387, 405, 423, 441, 459, 477, 495, 513, - 531, 549, 567, 585, 603, 621, 639, 657, 675, 693, 711, 729, - 747, 765, 783, 801, 819, 837, 855, 873, 891, 909, 927, 945, - 963, 981, 999, 1017, 1035, 1053, 1071, 1089, 1107, 1125, 1143, 1161, - 1179, 1197, 1215, 1233, 1251, 1269, 1287, 1305, 1323, 1341, 1359, 1377, - 1395, 1413, 1431, 1449, 1467, 1485, 1503, 1521, 1539, 1557, 1575, 1593, - 1611, 1629, 1647, 1665, 1683, 1701, 1719, 1737, 1755, 1773, 1791, 1809, - 1827, 1845, 1863, 1881, 1899, 1917, 1935, 1953, 1971, 1989, 2007, 2025, - 2043, 2061, 2079, 2097, 2115, 2133, 2151, 2169, 2187, 2205, 2223, 2241, - 2259, 2277, 2295, 2313, 2331, 2349, 2367, 2385, 2403, 2421, 2439, 2457, - 2475, 2493, 2511, 2529, 2547, 2565, 2583, 2601, 2619, 2637, 2655, 2673, - 2691, 2709, 2727, 2745, 2763, 2781, 2799, 2817, 2835, 2853, 2871, 2889, - 5416, 5434, 5452, 5470, 5488, 5506, 5524, 5542, 5560, 5578, 5596, 5614, - 5632, 5650, 5668, 5686, 5704, 5722, 5740, 5758, 5776, 5794, 5812, 5830, - 5848, 5866, 5884, 5902, 5920, 5938, 5956, 5974, 5992, 6010, 6028, 6046, - 6064, 6082, 6100, 6118, 6136, 6154, 6172, 6190, 6208, 6226, 6244, 6262, - 6280, 6298, 6316, 6334, 6352, 6370, 6388, 6406, 6424, 6442, 6460, 6478, - 16, 34, 52, 70, 88, 106, 124, 142, 160, 178, 196, 214, - 232, 250, 268, 286, 304, 322, 340, 358, 376, 394, 412, 430, - 448, 466, 484, 502, 520, 538, 556, 574, 592, 610, 628, 646, - 664, 682, 700, 718, 736, 754, 772, 790, 808, 826, 844, 862, - 880, 898, 916, 934, 952, 970, 988, 1006, 1024, 1042, 1060, 1078, - 1096, 1114, 1132, 1150, 1168, 1186, 1204, 1222, 1240, 1258, 1276, 1294, - 1312, 1330, 1348, 1366, 1384, 1402, 1420, 1438, 1456, 1474, 1492, 1510, - 1528, 1546, 1564, 1582, 1600, 1618, 1636, 1654, 1672, 1690, 1708, 1726, - 1744, 1762, 1780, 1798, 1816, 1834, 1852, 1870, 1888, 1906, 1924, 1942, - 1960, 1978, 1996, 2014, 2032, 2050, 2068, 2086, 2104, 2122, 2140, 2158, - 2176, 2194, 2212, 2230, 2248, 2266, 2284, 2302, 2320, 2338, 2356, 2374, - 2392, 2410, 2428, 2446, 2464, 2482, 2500, 2518, 2536, 2554, 2572, 2590, - 2608, 2626, 2644, 2662, 2680, 2698, 2716, 2734, 2752, 2770, 2788, 2806, - 2824, 2842, 2860, 2878, 2896, 2914, 2932, 2950, 2968, 2986, 3004, 3022, - 3040, 3058, 3076, 3094, 3112, 3130, 3148, 3166, 3184, 3202, 3220, 3238, - 3256, 3274, 3292, 3310, 3328, 3346, 3364, 3382, 3400, 3418, 3436, 3454, - 3472, 3490, 3508, 3526, 3544, 3562, 3580, 3598, 3616, 3634, 3652, 3670, - 3688, 3706, 3724, 3742, 3760, 3778, 3796, 3814, 3832, 3850, 3868, 3886, - 3904, 3922, 3940, 3958, 3976, 3994, 4012, 4030, 4048, 4066, 4084, 4102, - 4120, 4138, 4156, 4174, 4192, 4210, 4228, 4246, 4264, 4282, 4300, 4318, - 4336, 4354, 4372, 4390, 4408, 4426, 4444, 4462, 4480, 4498, 4516, 4534, - 4552, 4570, 4588, 4606, 4624, 4642, 4660, 4678, 4696, 4714, 4732, 4750, - 4768, 4786, 4804, 4822, 4840, 4858, 4876, 4894, 4912, 4930, 4948, 4966, - 4984, 5002, 5020, 5038, 5056, 5074, 5092, 5110, 5128, 5146, 5164, 5182, - 5200, 5218, 5236, 5254, 5272, 5290, 5308, 5326, 5344, 5362, 5380, 5398, - 4070, 4088, 4106, 4124, 4142, 4160, 4178, 4196, 4214, 4232, 4250, 4268, - 4286, 4304, 4322, 4340, 4358, 4376, 4394, 4412, 4430, 4448, 4466, 4484, - 4502, 4520, 4538, 4556, 4574, 4592, 4610, 4628, 4646, 4664, 4682, 4700, - 4718, 4736, 4754, 4772, 4790, 4808, 4826, 4844, 4862, 4880, 4898, 4916, - 4934, 4952, 4970, 4988, 5006, 5024, 5042, 5060, 5078, 5096, 5114, 5132, - 5150, 5168, 5186, 5204, 5222, 5240, 5258, 5276, 5294, 5312, 5330, 5348, - 5366, 5384, 5402, 5420, 5438, 5456, 5474, 5492, 5510, 5528, 5546, 5564, - 5582, 5600, 5618, 5636, 5654, 5672, 5690, 5708, 5726, 5744, 5762, 5780, - 5798, 5816, 5834, 5852, 5870, 5888, 5906, 5924, 5942, 5960, 5978, 5996, - 6014, 6032, 6050, 6068, 6086, 6104, 6122, 6140, 6158, 6176, 6194, 6212, - 6230, 6248, 6266, 6284, 6302, 6320, 6338, 6356, 6374, 6392, 6410, 6428, - 6446, 6464, 2, 20, 38, 56, 74, 92, 110, 128, 146, 164, - 182, 200, 218, 236, 254, 272, 290, 308, 326, 344, 362, 380, - 398, 416, 434, 452, 470, 488, 506, 524, 542, 560, 578, 596, - 614, 632, 650, 668, 686, 704, 722, 740, 758, 776, 794, 812, - 830, 848, 866, 884, 902, 920, 938, 956, 974, 992, 1010, 1028, - 1046, 1064, 1082, 1100, 1118, 1136, 1154, 1172, 1190, 1208, 1226, 1244, - 1262, 1280, 1298, 1316, 1334, 1352, 1370, 1388, 1406, 1424, 1442, 1460, - 1478, 1496, 1514, 1532, 1550, 1568, 1586, 1604, 1622, 1640, 1658, 1676, - 1694, 1712, 1730, 1748, 1766, 1784, 1802, 1820, 1838, 1856, 1874, 1892, - 1910, 1928, 1946, 1964, 1982, 2000, 2018, 2036, 2054, 2072, 2090, 2108, - 2126, 2144, 2162, 2180, 2198, 2216, 2234, 2252, 2270, 2288, 2306, 2324, - 2342, 2360, 2378, 2396, 2414, 2432, 2450, 2468, 2486, 2504, 2522, 2540, - 2558, 2576, 2594, 2612, 2630, 2648, 2666, 2684, 2702, 2720, 2738, 2756, - 2774, 2792, 2810, 2828, 2846, 2864, 2882, 2900, 2918, 2936, 2954, 2972, - 2990, 3008, 3026, 3044, 3062, 3080, 3098, 3116, 3134, 3152, 3170, 3188, - 3206, 3224, 3242, 3260, 3278, 3296, 3314, 3332, 3350, 3368, 3386, 3404, - 3422, 3440, 3458, 3476, 3494, 3512, 3530, 3548, 3566, 3584, 3602, 3620, - 3638, 3656, 3674, 3692, 3710, 3728, 3746, 3764, 3782, 3800, 3818, 3836, - 3854, 3872, 3890, 3908, 3926, 3944, 3962, 3980, 3998, 4016, 4034, 4052, - 2654, 2672, 2690, 2708, 2726, 2744, 2762, 2780, 2798, 2816, 2834, 2852, - 2870, 2888, 2906, 2924, 2942, 2960, 2978, 2996, 3014, 3032, 3050, 3068, - 3086, 3104, 3122, 3140, 3158, 3176, 3194, 3212, 3230, 3248, 3266, 3284, - 3302, 3320, 3338, 3356, 3374, 3392, 3410, 3428, 3446, 3464, 3482, 3500, - 3518, 3536, 3554, 3572, 3590, 3608, 3626, 3644, 3662, 3680, 3698, 3716, - 3734, 3752, 3770, 3788, 3806, 3824, 3842, 3860, 3878, 3896, 3914, 3932, - 3950, 3968, 3986, 4004, 4022, 4040, 4058, 4076, 4094, 4112, 4130, 4148, - 4166, 4184, 4202, 4220, 4238, 4256, 4274, 4292, 4310, 4328, 4346, 4364, - 4382, 4400, 4418, 4436, 4454, 4472, 4490, 4508, 4526, 4544, 4562, 4580, - 4598, 4616, 4634, 4652, 4670, 4688, 4706, 4724, 4742, 4760, 4778, 4796, - 4814, 4832, 4850, 4868, 4886, 4904, 4922, 4940, 4958, 4976, 4994, 5012, - 5030, 5048, 5066, 5084, 5102, 5120, 5138, 5156, 5174, 5192, 5210, 5228, - 5246, 5264, 5282, 5300, 5318, 5336, 5354, 5372, 5390, 5408, 5426, 5444, - 5462, 5480, 5498, 5516, 5534, 5552, 5570, 5588, 5606, 5624, 5642, 5660, - 5678, 5696, 5714, 5732, 5750, 5768, 5786, 5804, 5822, 5840, 5858, 5876, - 5894, 5912, 5930, 5948, 5966, 5984, 6002, 6020, 6038, 6056, 6074, 6092, - 6110, 6128, 6146, 6164, 6182, 6200, 6218, 6236, 6254, 6272, 6290, 6308, - 6326, 6344, 6362, 6380, 6398, 6416, 6434, 6452, 6470, 8, 26, 44, - 62, 80, 98, 116, 134, 152, 170, 188, 206, 224, 242, 260, - 278, 296, 314, 332, 350, 368, 386, 404, 422, 440, 458, 476, - 494, 512, 530, 548, 566, 584, 602, 620, 638, 656, 674, 692, - 710, 728, 746, 764, 782, 800, 818, 836, 854, 872, 890, 908, - 926, 944, 962, 980, 998, 1016, 1034, 1052, 1070, 1088, 1106, 1124, - 1142, 1160, 1178, 1196, 1214, 1232, 1250, 1268, 1286, 1304, 1322, 1340, - 1358, 1376, 1394, 1412, 1430, 1448, 1466, 1484, 1502, 1520, 1538, 1556, - 1574, 1592, 1610, 1628, 1646, 1664, 1682, 1700, 1718, 1736, 1754, 1772, - 1790, 1808, 1826, 1844, 1862, 1880, 1898, 1916, 1934, 1952, 1970, 1988, - 2006, 2024, 2042, 2060, 2078, 2096, 2114, 2132, 2150, 2168, 2186, 2204, - 2222, 2240, 2258, 2276, 2294, 2312, 2330, 2348, 2366, 2384, 2402, 2420, - 2438, 2456, 2474, 2492, 2510, 2528, 2546, 2564, 2582, 2600, 2618, 2636, - 1462, 1480, 1498, 1516, 1534, 1552, 1570, 1588, 1606, 1624, 1642, 1660, - 1678, 1696, 1714, 1732, 1750, 1768, 1786, 1804, 1822, 1840, 1858, 1876, - 1894, 1912, 1930, 1948, 1966, 1984, 2002, 2020, 2038, 2056, 2074, 2092, - 2110, 2128, 2146, 2164, 2182, 2200, 2218, 2236, 2254, 2272, 2290, 2308, - 2326, 2344, 2362, 2380, 2398, 2416, 2434, 2452, 2470, 2488, 2506, 2524, - 2542, 2560, 2578, 2596, 2614, 2632, 2650, 2668, 2686, 2704, 2722, 2740, - 2758, 2776, 2794, 2812, 2830, 2848, 2866, 2884, 2902, 2920, 2938, 2956, - 2974, 2992, 3010, 3028, 3046, 3064, 3082, 3100, 3118, 3136, 3154, 3172, - 3190, 3208, 3226, 3244, 3262, 3280, 3298, 3316, 3334, 3352, 3370, 3388, - 3406, 3424, 3442, 3460, 3478, 3496, 3514, 3532, 3550, 3568, 3586, 3604, - 3622, 3640, 3658, 3676, 3694, 3712, 3730, 3748, 3766, 3784, 3802, 3820, - 3838, 3856, 3874, 3892, 3910, 3928, 3946, 3964, 3982, 4000, 4018, 4036, - 4054, 4072, 4090, 4108, 4126, 4144, 4162, 4180, 4198, 4216, 4234, 4252, - 4270, 4288, 4306, 4324, 4342, 4360, 4378, 4396, 4414, 4432, 4450, 4468, - 4486, 4504, 4522, 4540, 4558, 4576, 4594, 4612, 4630, 4648, 4666, 4684, - 4702, 4720, 4738, 4756, 4774, 4792, 4810, 4828, 4846, 4864, 4882, 4900, - 4918, 4936, 4954, 4972, 4990, 5008, 5026, 5044, 5062, 5080, 5098, 5116, - 5134, 5152, 5170, 5188, 5206, 5224, 5242, 5260, 5278, 5296, 5314, 5332, - 5350, 5368, 5386, 5404, 5422, 5440, 5458, 5476, 5494, 5512, 5530, 5548, - 5566, 5584, 5602, 5620, 5638, 5656, 5674, 5692, 5710, 5728, 5746, 5764, - 5782, 5800, 5818, 5836, 5854, 5872, 5890, 5908, 5926, 5944, 5962, 5980, - 5998, 6016, 6034, 6052, 6070, 6088, 6106, 6124, 6142, 6160, 6178, 6196, - 6214, 6232, 6250, 6268, 6286, 6304, 6322, 6340, 6358, 6376, 6394, 6412, - 6430, 6448, 6466, 4, 22, 40, 58, 76, 94, 112, 130, 148, - 166, 184, 202, 220, 238, 256, 274, 292, 310, 328, 346, 364, - 382, 400, 418, 436, 454, 472, 490, 508, 526, 544, 562, 580, - 598, 616, 634, 652, 670, 688, 706, 724, 742, 760, 778, 796, - 814, 832, 850, 868, 886, 904, 922, 940, 958, 976, 994, 1012, - 1030, 1048, 1066, 1084, 1102, 1120, 1138, 1156, 1174, 1192, 1210, 1228, - 1246, 1264, 1282, 1300, 1318, 1336, 1354, 1372, 1390, 1408, 1426, 1444, - 3708, 3726, 3744, 3762, 3780, 3798, 3816, 3834, 3852, 3870, 3888, 3906, - 3924, 3942, 3960, 3978, 3996, 4014, 4032, 4050, 4068, 4086, 4104, 4122, - 4140, 4158, 4176, 4194, 4212, 4230, 4248, 4266, 4284, 4302, 4320, 4338, - 4356, 4374, 4392, 4410, 4428, 4446, 4464, 4482, 4500, 4518, 4536, 4554, - 4572, 4590, 4608, 4626, 4644, 4662, 4680, 4698, 4716, 4734, 4752, 4770, - 4788, 4806, 4824, 4842, 4860, 4878, 4896, 4914, 4932, 4950, 4968, 4986, - 5004, 5022, 5040, 5058, 5076, 5094, 5112, 5130, 5148, 5166, 5184, 5202, - 5220, 5238, 5256, 5274, 5292, 5310, 5328, 5346, 5364, 5382, 5400, 5418, - 5436, 5454, 5472, 5490, 5508, 5526, 5544, 5562, 5580, 5598, 5616, 5634, - 5652, 5670, 5688, 5706, 5724, 5742, 5760, 5778, 5796, 5814, 5832, 5850, - 5868, 5886, 5904, 5922, 5940, 5958, 5976, 5994, 6012, 6030, 6048, 6066, - 6084, 6102, 6120, 6138, 6156, 6174, 6192, 6210, 6228, 6246, 6264, 6282, - 6300, 6318, 6336, 6354, 6372, 6390, 6408, 6426, 6444, 6462, 6480, 18, - 36, 54, 72, 90, 108, 126, 144, 162, 180, 198, 216, 234, - 252, 270, 288, 306, 324, 342, 360, 378, 396, 414, 432, 450, - 468, 486, 504, 522, 540, 558, 576, 594, 612, 630, 648, 666, - 684, 702, 720, 738, 756, 774, 792, 810, 828, 846, 864, 882, - 900, 918, 936, 954, 972, 990, 1008, 1026, 1044, 1062, 1080, 1098, - 1116, 1134, 1152, 1170, 1188, 1206, 1224, 1242, 1260, 1278, 1296, 1314, - 1332, 1350, 1368, 1386, 1404, 1422, 1440, 1458, 1476, 1494, 1512, 1530, - 1548, 1566, 1584, 1602, 1620, 1638, 1656, 1674, 1692, 1710, 1728, 1746, - 1764, 1782, 1800, 1818, 1836, 1854, 1872, 1890, 1908, 1926, 1944, 1962, - 1980, 1998, 2016, 2034, 2052, 2070, 2088, 2106, 2124, 2142, 2160, 2178, - 2196, 2214, 2232, 2250, 2268, 2286, 2304, 2322, 2340, 2358, 2376, 2394, - 2412, 2430, 2448, 2466, 2484, 2502, 2520, 2538, 2556, 2574, 2592, 2610, - 2628, 2646, 2664, 2682, 2700, 2718, 2736, 2754, 2772, 2790, 2808, 2826, - 2844, 2862, 2880, 2898, 2916, 2934, 2952, 2970, 2988, 3006, 3024, 3042, - 3060, 3078, 3096, 3114, 3132, 3150, 3168, 3186, 3204, 3222, 3240, 3258, - 3276, 3294, 3312, 3330, 3348, 3366, 3384, 3402, 3420, 3438, 3456, 3474, - 3492, 3510, 3528, 3546, 3564, 3582, 3600, 3618, 3636, 3654, 3672, 3690, - 1058, 1076, 1094, 1112, 1130, 1148, 1166, 1184, 1202, 1220, 1238, 1256, - 1274, 1292, 1310, 1328, 1346, 1364, 1382, 1400, 1418, 1436, 1454, 1472, - 1490, 1508, 1526, 1544, 1562, 1580, 1598, 1616, 1634, 1652, 1670, 1688, - 1706, 1724, 1742, 1760, 1778, 1796, 1814, 1832, 1850, 1868, 1886, 1904, - 1922, 1940, 1958, 1976, 1994, 2012, 2030, 2048, 2066, 2084, 2102, 2120, - 2138, 2156, 2174, 2192, 2210, 2228, 2246, 2264, 2282, 2300, 2318, 2336, - 2354, 2372, 2390, 2408, 2426, 2444, 2462, 2480, 2498, 2516, 2534, 2552, - 2570, 2588, 2606, 2624, 2642, 2660, 2678, 2696, 2714, 2732, 2750, 2768, - 2786, 2804, 2822, 2840, 2858, 2876, 2894, 2912, 2930, 2948, 2966, 2984, - 3002, 3020, 3038, 3056, 3074, 3092, 3110, 3128, 3146, 3164, 3182, 3200, - 3218, 3236, 3254, 3272, 3290, 3308, 3326, 3344, 3362, 3380, 3398, 3416, - 3434, 3452, 3470, 3488, 3506, 3524, 3542, 3560, 3578, 3596, 3614, 3632, - 3650, 3668, 3686, 3704, 3722, 3740, 3758, 3776, 3794, 3812, 3830, 3848, - 3866, 3884, 3902, 3920, 3938, 3956, 3974, 3992, 4010, 4028, 4046, 4064, - 4082, 4100, 4118, 4136, 4154, 4172, 4190, 4208, 4226, 4244, 4262, 4280, - 4298, 4316, 4334, 4352, 4370, 4388, 4406, 4424, 4442, 4460, 4478, 4496, - 4514, 4532, 4550, 4568, 4586, 4604, 4622, 4640, 4658, 4676, 4694, 4712, - 4730, 4748, 4766, 4784, 4802, 4820, 4838, 4856, 4874, 4892, 4910, 4928, - 4946, 4964, 4982, 5000, 5018, 5036, 5054, 5072, 5090, 5108, 5126, 5144, - 5162, 5180, 5198, 5216, 5234, 5252, 5270, 5288, 5306, 5324, 5342, 5360, - 5378, 5396, 5414, 5432, 5450, 5468, 5486, 5504, 5522, 5540, 5558, 5576, - 5594, 5612, 5630, 5648, 5666, 5684, 5702, 5720, 5738, 5756, 5774, 5792, - 5810, 5828, 5846, 5864, 5882, 5900, 5918, 5936, 5954, 5972, 5990, 6008, - 6026, 6044, 6062, 6080, 6098, 6116, 6134, 6152, 6170, 6188, 6206, 6224, - 6242, 6260, 6278, 6296, 6314, 6332, 6350, 6368, 6386, 6404, 6422, 6440, - 6458, 6476, 14, 32, 50, 68, 86, 104, 122, 140, 158, 176, - 194, 212, 230, 248, 266, 284, 302, 320, 338, 356, 374, 392, - 410, 428, 446, 464, 482, 500, 518, 536, 554, 572, 590, 608, - 626, 644, 662, 680, 698, 716, 734, 752, 770, 788, 806, 824, - 842, 860, 878, 896, 914, 932, 950, 968, 986, 1004, 1022, 1040, - 6063, 6081, 6099, 6117, 6135, 6153, 6171, 6189, 6207, 6225, 6243, 6261, - 6279, 6297, 6315, 6333, 6351, 6369, 6387, 6405, 6423, 6441, 6459, 6477, - 15, 33, 51, 69, 87, 105, 123, 141, 159, 177, 195, 213, - 231, 249, 267, 285, 303, 321, 339, 357, 375, 393, 411, 429, - 447, 465, 483, 501, 519, 537, 555, 573, 591, 609, 627, 645, - 663, 681, 699, 717, 735, 753, 771, 789, 807, 825, 843, 861, - 879, 897, 915, 933, 951, 969, 987, 1005, 1023, 1041, 1059, 1077, - 1095, 1113, 1131, 1149, 1167, 1185, 1203, 1221, 1239, 1257, 1275, 1293, - 1311, 1329, 1347, 1365, 1383, 1401, 1419, 1437, 1455, 1473, 1491, 1509, - 1527, 1545, 1563, 1581, 1599, 1617, 1635, 1653, 1671, 1689, 1707, 1725, - 1743, 1761, 1779, 1797, 1815, 1833, 1851, 1869, 1887, 1905, 1923, 1941, - 1959, 1977, 1995, 2013, 2031, 2049, 2067, 2085, 2103, 2121, 2139, 2157, - 2175, 2193, 2211, 2229, 2247, 2265, 2283, 2301, 2319, 2337, 2355, 2373, - 2391, 2409, 2427, 2445, 2463, 2481, 2499, 2517, 2535, 2553, 2571, 2589, - 2607, 2625, 2643, 2661, 2679, 2697, 2715, 2733, 2751, 2769, 2787, 2805, - 2823, 2841, 2859, 2877, 2895, 2913, 2931, 2949, 2967, 2985, 3003, 3021, - 3039, 3057, 3075, 3093, 3111, 3129, 3147, 3165, 3183, 3201, 3219, 3237, - 3255, 3273, 3291, 3309, 3327, 3345, 3363, 3381, 3399, 3417, 3435, 3453, - 3471, 3489, 3507, 3525, 3543, 3561, 3579, 3597, 3615, 3633, 3651, 3669, - 3687, 3705, 3723, 3741, 3759, 3777, 3795, 3813, 3831, 3849, 3867, 3885, - 3903, 3921, 3939, 3957, 3975, 3993, 4011, 4029, 4047, 4065, 4083, 4101, - 4119, 4137, 4155, 4173, 4191, 4209, 4227, 4245, 4263, 4281, 4299, 4317, - 4335, 4353, 4371, 4389, 4407, 4425, 4443, 4461, 4479, 4497, 4515, 4533, - 4551, 4569, 4587, 4605, 4623, 4641, 4659, 4677, 4695, 4713, 4731, 4749, - 4767, 4785, 4803, 4821, 4839, 4857, 4875, 4893, 4911, 4929, 4947, 4965, - 4983, 5001, 5019, 5037, 5055, 5073, 5091, 5109, 5127, 5145, 5163, 5181, - 5199, 5217, 5235, 5253, 5271, 5289, 5307, 5325, 5343, 5361, 5379, 5397, - 5415, 5433, 5451, 5469, 5487, 5505, 5523, 5541, 5559, 5577, 5595, 5613, - 5631, 5649, 5667, 5685, 5703, 5721, 5739, 5757, 5775, 5793, 5811, 5829, - 5847, 5865, 5883, 5901, 5919, 5937, 5955, 5973, 5991, 6009, 6027, 6045, - 6029, 6047, 6065, 6083, 6101, 6119, 6137, 6155, 6173, 6191, 6209, 6227, - 6245, 6263, 6281, 6299, 6317, 6335, 6353, 6371, 6389, 6407, 6425, 6443, - 6461, 6479, 17, 35, 53, 71, 89, 107, 125, 143, 161, 179, - 197, 215, 233, 251, 269, 287, 305, 323, 341, 359, 377, 395, - 413, 431, 449, 467, 485, 503, 521, 539, 557, 575, 593, 611, - 629, 647, 665, 683, 701, 719, 737, 755, 773, 791, 809, 827, - 845, 863, 881, 899, 917, 935, 953, 971, 989, 1007, 1025, 1043, - 1061, 1079, 1097, 1115, 1133, 1151, 1169, 1187, 1205, 1223, 1241, 1259, - 1277, 1295, 1313, 1331, 1349, 1367, 1385, 1403, 1421, 1439, 1457, 1475, - 1493, 1511, 1529, 1547, 1565, 1583, 1601, 1619, 1637, 1655, 1673, 1691, - 1709, 1727, 1745, 1763, 1781, 1799, 1817, 1835, 1853, 1871, 1889, 1907, - 1925, 1943, 1961, 1979, 1997, 2015, 2033, 2051, 2069, 2087, 2105, 2123, - 2141, 2159, 2177, 2195, 2213, 2231, 2249, 2267, 2285, 2303, 2321, 2339, - 2357, 2375, 2393, 2411, 2429, 2447, 2465, 2483, 2501, 2519, 2537, 2555, - 2573, 2591, 2609, 2627, 2645, 2663, 2681, 2699, 2717, 2735, 2753, 2771, - 2789, 2807, 2825, 2843, 2861, 2879, 2897, 2915, 2933, 2951, 2969, 2987, - 3005, 3023, 3041, 3059, 3077, 3095, 3113, 3131, 3149, 3167, 3185, 3203, - 3221, 3239, 3257, 3275, 3293, 3311, 3329, 3347, 3365, 3383, 3401, 3419, - 3437, 3455, 3473, 3491, 3509, 3527, 3545, 3563, 3581, 3599, 3617, 3635, - 3653, 3671, 3689, 3707, 3725, 3743, 3761, 3779, 3797, 3815, 3833, 3851, - 3869, 3887, 3905, 3923, 3941, 3959, 3977, 3995, 4013, 4031, 4049, 4067, - 4085, 4103, 4121, 4139, 4157, 4175, 4193, 4211, 4229, 4247, 4265, 4283, - 4301, 4319, 4337, 4355, 4373, 4391, 4409, 4427, 4445, 4463, 4481, 4499, - 4517, 4535, 4553, 4571, 4589, 4607, 4625, 4643, 4661, 4679, 4697, 4715, - 4733, 4751, 4769, 4787, 4805, 4823, 4841, 4859, 4877, 4895, 4913, 4931, - 4949, 4967, 4985, 5003, 5021, 5039, 5057, 5075, 5093, 5111, 5129, 5147, - 5165, 5183, 5201, 5219, 5237, 5255, 5273, 5291, 5309, 5327, 5345, 5363, - 5381, 5399, 5417, 5435, 5453, 5471, 5489, 5507, 5525, 5543, 5561, 5579, - 5597, 5615, 5633, 5651, 5669, 5687, 5705, 5723, 5741, 5759, 5777, 5795, - 5813, 5831, 5849, 5867, 5885, 5903, 5921, 5939, 5957, 5975, 5993, 6011, - 1937, 1955, 1973, 1991, 2009, 2027, 2045, 2063, 2081, 2099, 2117, 2135, - 2153, 2171, 2189, 2207, 2225, 2243, 2261, 2279, 2297, 2315, 2333, 2351, - 2369, 2387, 2405, 2423, 2441, 2459, 2477, 2495, 2513, 2531, 2549, 2567, - 2585, 2603, 2621, 2639, 2657, 2675, 2693, 2711, 2729, 2747, 2765, 2783, - 2801, 2819, 2837, 2855, 2873, 2891, 2909, 2927, 2945, 2963, 2981, 2999, - 3017, 3035, 3053, 3071, 3089, 3107, 3125, 3143, 3161, 3179, 3197, 3215, - 3233, 3251, 3269, 3287, 3305, 3323, 3341, 3359, 3377, 3395, 3413, 3431, - 3449, 3467, 3485, 3503, 3521, 3539, 3557, 3575, 3593, 3611, 3629, 3647, - 3665, 3683, 3701, 3719, 3737, 3755, 3773, 3791, 3809, 3827, 3845, 3863, - 3881, 3899, 3917, 3935, 3953, 3971, 3989, 4007, 4025, 4043, 4061, 4079, - 4097, 4115, 4133, 4151, 4169, 4187, 4205, 4223, 4241, 4259, 4277, 4295, - 4313, 4331, 4349, 4367, 4385, 4403, 4421, 4439, 4457, 4475, 4493, 4511, - 4529, 4547, 4565, 4583, 4601, 4619, 4637, 4655, 4673, 4691, 4709, 4727, - 4745, 4763, 4781, 4799, 4817, 4835, 4853, 4871, 4889, 4907, 4925, 4943, - 4961, 4979, 4997, 5015, 5033, 5051, 5069, 5087, 5105, 5123, 5141, 5159, - 5177, 5195, 5213, 5231, 5249, 5267, 5285, 5303, 5321, 5339, 5357, 5375, - 5393, 5411, 5429, 5447, 5465, 5483, 5501, 5519, 5537, 5555, 5573, 5591, - 5609, 5627, 5645, 5663, 5681, 5699, 5717, 5735, 5753, 5771, 5789, 5807, - 5825, 5843, 5861, 5879, 5897, 5915, 5933, 5951, 5969, 5987, 6005, 6023, - 6041, 6059, 6077, 6095, 6113, 6131, 6149, 6167, 6185, 6203, 6221, 6239, - 6257, 6275, 6293, 6311, 6329, 6347, 6365, 6383, 6401, 6419, 6437, 6455, - 6473, 11, 29, 47, 65, 83, 101, 119, 137, 155, 173, 191, - 209, 227, 245, 263, 281, 299, 317, 335, 353, 371, 389, 407, - 425, 443, 461, 479, 497, 515, 533, 551, 569, 587, 605, 623, - 641, 659, 677, 695, 713, 731, 749, 767, 785, 803, 821, 839, - 857, 875, 893, 911, 929, 947, 965, 983, 1001, 1019, 1037, 1055, - 1073, 1091, 1109, 1127, 1145, 1163, 1181, 1199, 1217, 1235, 1253, 1271, - 1289, 1307, 1325, 1343, 1361, 1379, 1397, 1415, 1433, 1451, 1469, 1487, - 1505, 1523, 1541, 1559, 1577, 1595, 1613, 1631, 1649, 1667, 1685, 1703, - 1721, 1739, 1757, 1775, 1793, 1811, 1829, 1847, 1865, 1883, 1901, 1919, - 957, 975, 993, 1011, 1029, 1047, 1065, 1083, 1101, 1119, 1137, 1155, - 1173, 1191, 1209, 1227, 1245, 1263, 1281, 1299, 1317, 1335, 1353, 1371, - 1389, 1407, 1425, 1443, 1461, 1479, 1497, 1515, 1533, 1551, 1569, 1587, - 1605, 1623, 1641, 1659, 1677, 1695, 1713, 1731, 1749, 1767, 1785, 1803, - 1821, 1839, 1857, 1875, 1893, 1911, 1929, 1947, 1965, 1983, 2001, 2019, - 2037, 2055, 2073, 2091, 2109, 2127, 2145, 2163, 2181, 2199, 2217, 2235, - 2253, 2271, 2289, 2307, 2325, 2343, 2361, 2379, 2397, 2415, 2433, 2451, - 2469, 2487, 2505, 2523, 2541, 2559, 2577, 2595, 2613, 2631, 2649, 2667, - 2685, 2703, 2721, 2739, 2757, 2775, 2793, 2811, 2829, 2847, 2865, 2883, - 2901, 2919, 2937, 2955, 2973, 2991, 3009, 3027, 3045, 3063, 3081, 3099, - 3117, 3135, 3153, 3171, 3189, 3207, 3225, 3243, 3261, 3279, 3297, 3315, - 3333, 3351, 3369, 3387, 3405, 3423, 3441, 3459, 3477, 3495, 3513, 3531, - 3549, 3567, 3585, 3603, 3621, 3639, 3657, 3675, 3693, 3711, 3729, 3747, - 3765, 3783, 3801, 3819, 3837, 3855, 3873, 3891, 3909, 3927, 3945, 3963, - 3981, 3999, 4017, 4035, 4053, 4071, 4089, 4107, 4125, 4143, 4161, 4179, - 4197, 4215, 4233, 4251, 4269, 4287, 4305, 4323, 4341, 4359, 4377, 4395, - 4413, 4431, 4449, 4467, 4485, 4503, 4521, 4539, 4557, 4575, 4593, 4611, - 4629, 4647, 4665, 4683, 4701, 4719, 4737, 4755, 4773, 4791, 4809, 4827, - 4845, 4863, 4881, 4899, 4917, 4935, 4953, 4971, 4989, 5007, 5025, 5043, - 5061, 5079, 5097, 5115, 5133, 5151, 5169, 5187, 5205, 5223, 5241, 5259, - 5277, 5295, 5313, 5331, 5349, 5367, 5385, 5403, 5421, 5439, 5457, 5475, - 5493, 5511, 5529, 5547, 5565, 5583, 5601, 5619, 5637, 5655, 5673, 5691, - 5709, 5727, 5745, 5763, 5781, 5799, 5817, 5835, 5853, 5871, 5889, 5907, - 5925, 5943, 5961, 5979, 5997, 6015, 6033, 6051, 6069, 6087, 6105, 6123, - 6141, 6159, 6177, 6195, 6213, 6231, 6249, 6267, 6285, 6303, 6321, 6339, - 6357, 6375, 6393, 6411, 6429, 6447, 6465, 3, 21, 39, 57, 75, - 93, 111, 129, 147, 165, 183, 201, 219, 237, 255, 273, 291, - 309, 327, 345, 363, 381, 399, 417, 435, 453, 471, 489, 507, - 525, 543, 561, 579, 597, 615, 633, 651, 669, 687, 705, 723, - 741, 759, 777, 795, 813, 831, 849, 867, 885, 903, 921, 939, - 3418, 3436, 3454, 3472, 3490, 3508, 3526, 3544, 3562, 3580, 3598, 3616, - 3634, 3652, 3670, 3688, 3706, 3724, 3742, 3760, 3778, 3796, 3814, 3832, - 3850, 3868, 3886, 3904, 3922, 3940, 3958, 3976, 3994, 4012, 4030, 4048, - 4066, 4084, 4102, 4120, 4138, 4156, 4174, 4192, 4210, 4228, 4246, 4264, - 4282, 4300, 4318, 4336, 4354, 4372, 4390, 4408, 4426, 4444, 4462, 4480, - 4498, 4516, 4534, 4552, 4570, 4588, 4606, 4624, 4642, 4660, 4678, 4696, - 4714, 4732, 4750, 4768, 4786, 4804, 4822, 4840, 4858, 4876, 4894, 4912, - 4930, 4948, 4966, 4984, 5002, 5020, 5038, 5056, 5074, 5092, 5110, 5128, - 5146, 5164, 5182, 5200, 5218, 5236, 5254, 5272, 5290, 5308, 5326, 5344, - 5362, 5380, 5398, 5416, 5434, 5452, 5470, 5488, 5506, 5524, 5542, 5560, - 5578, 5596, 5614, 5632, 5650, 5668, 5686, 5704, 5722, 5740, 5758, 5776, - 5794, 5812, 5830, 5848, 5866, 5884, 5902, 5920, 5938, 5956, 5974, 5992, - 6010, 6028, 6046, 6064, 6082, 6100, 6118, 6136, 6154, 6172, 6190, 6208, - 6226, 6244, 6262, 6280, 6298, 6316, 6334, 6352, 6370, 6388, 6406, 6424, - 6442, 6460, 6478, 16, 34, 52, 70, 88, 106, 124, 142, 160, - 178, 196, 214, 232, 250, 268, 286, 304, 322, 340, 358, 376, - 394, 412, 430, 448, 466, 484, 502, 520, 538, 556, 574, 592, - 610, 628, 646, 664, 682, 700, 718, 736, 754, 772, 790, 808, - 826, 844, 862, 880, 898, 916, 934, 952, 970, 988, 1006, 1024, - 1042, 1060, 1078, 1096, 1114, 1132, 1150, 1168, 1186, 1204, 1222, 1240, - 1258, 1276, 1294, 1312, 1330, 1348, 1366, 1384, 1402, 1420, 1438, 1456, - 1474, 1492, 1510, 1528, 1546, 1564, 1582, 1600, 1618, 1636, 1654, 1672, - 1690, 1708, 1726, 1744, 1762, 1780, 1798, 1816, 1834, 1852, 1870, 1888, - 1906, 1924, 1942, 1960, 1978, 1996, 2014, 2032, 2050, 2068, 2086, 2104, - 2122, 2140, 2158, 2176, 2194, 2212, 2230, 2248, 2266, 2284, 2302, 2320, - 2338, 2356, 2374, 2392, 2410, 2428, 2446, 2464, 2482, 2500, 2518, 2536, - 2554, 2572, 2590, 2608, 2626, 2644, 2662, 2680, 2698, 2716, 2734, 2752, - 2770, 2788, 2806, 2824, 2842, 2860, 2878, 2896, 2914, 2932, 2950, 2968, - 2986, 3004, 3022, 3040, 3058, 3076, 3094, 3112, 3130, 3148, 3166, 3184, - 3202, 3220, 3238, 3256, 3274, 3292, 3310, 3328, 3346, 3364, 3382, 3400, - 4879, 4897, 4915, 4933, 4951, 4969, 4987, 5005, 5023, 5041, 5059, 5077, - 5095, 5113, 5131, 5149, 5167, 5185, 5203, 5221, 5239, 5257, 5275, 5293, - 5311, 5329, 5347, 5365, 5383, 5401, 5419, 5437, 5455, 5473, 5491, 5509, - 5527, 5545, 5563, 5581, 5599, 5617, 5635, 5653, 5671, 5689, 5707, 5725, - 5743, 5761, 5779, 5797, 5815, 5833, 5851, 5869, 5887, 5905, 5923, 5941, - 5959, 5977, 5995, 6013, 6031, 6049, 6067, 6085, 6103, 6121, 6139, 6157, - 6175, 6193, 6211, 6229, 6247, 6265, 6283, 6301, 6319, 6337, 6355, 6373, - 6391, 6409, 6427, 6445, 6463, 1, 19, 37, 55, 73, 91, 109, - 127, 145, 163, 181, 199, 217, 235, 253, 271, 289, 307, 325, - 343, 361, 379, 397, 415, 433, 451, 469, 487, 505, 523, 541, - 559, 577, 595, 613, 631, 649, 667, 685, 703, 721, 739, 757, - 775, 793, 811, 829, 847, 865, 883, 901, 919, 937, 955, 973, - 991, 1009, 1027, 1045, 1063, 1081, 1099, 1117, 1135, 1153, 1171, 1189, - 1207, 1225, 1243, 1261, 1279, 1297, 1315, 1333, 1351, 1369, 1387, 1405, - 1423, 1441, 1459, 1477, 1495, 1513, 1531, 1549, 1567, 1585, 1603, 1621, - 1639, 1657, 1675, 1693, 1711, 1729, 1747, 1765, 1783, 1801, 1819, 1837, - 1855, 1873, 1891, 1909, 1927, 1945, 1963, 1981, 1999, 2017, 2035, 2053, - 2071, 2089, 2107, 2125, 2143, 2161, 2179, 2197, 2215, 2233, 2251, 2269, - 2287, 2305, 2323, 2341, 2359, 2377, 2395, 2413, 2431, 2449, 2467, 2485, - 2503, 2521, 2539, 2557, 2575, 2593, 2611, 2629, 2647, 2665, 2683, 2701, - 2719, 2737, 2755, 2773, 2791, 2809, 2827, 2845, 2863, 2881, 2899, 2917, - 2935, 2953, 2971, 2989, 3007, 3025, 3043, 3061, 3079, 3097, 3115, 3133, - 3151, 3169, 3187, 3205, 3223, 3241, 3259, 3277, 3295, 3313, 3331, 3349, - 3367, 3385, 3403, 3421, 3439, 3457, 3475, 3493, 3511, 3529, 3547, 3565, - 3583, 3601, 3619, 3637, 3655, 3673, 3691, 3709, 3727, 3745, 3763, 3781, - 3799, 3817, 3835, 3853, 3871, 3889, 3907, 3925, 3943, 3961, 3979, 3997, - 4015, 4033, 4051, 4069, 4087, 4105, 4123, 4141, 4159, 4177, 4195, 4213, - 4231, 4249, 4267, 4285, 4303, 4321, 4339, 4357, 4375, 4393, 4411, 4429, - 4447, 4465, 4483, 4501, 4519, 4537, 4555, 4573, 4591, 4609, 4627, 4645, - 4663, 4681, 4699, 4717, 4735, 4753, 4771, 4789, 4807, 4825, 4843, 4861, - 3248, 3266, 3284, 3302, 3320, 3338, 3356, 3374, 3392, 3410, 3428, 3446, - 3464, 3482, 3500, 3518, 3536, 3554, 3572, 3590, 3608, 3626, 3644, 3662, - 3680, 3698, 3716, 3734, 3752, 3770, 3788, 3806, 3824, 3842, 3860, 3878, - 3896, 3914, 3932, 3950, 3968, 3986, 4004, 4022, 4040, 4058, 4076, 4094, - 4112, 4130, 4148, 4166, 4184, 4202, 4220, 4238, 4256, 4274, 4292, 4310, - 4328, 4346, 4364, 4382, 4400, 4418, 4436, 4454, 4472, 4490, 4508, 4526, - 4544, 4562, 4580, 4598, 4616, 4634, 4652, 4670, 4688, 4706, 4724, 4742, - 4760, 4778, 4796, 4814, 4832, 4850, 4868, 4886, 4904, 4922, 4940, 4958, - 4976, 4994, 5012, 5030, 5048, 5066, 5084, 5102, 5120, 5138, 5156, 5174, - 5192, 5210, 5228, 5246, 5264, 5282, 5300, 5318, 5336, 5354, 5372, 5390, - 5408, 5426, 5444, 5462, 5480, 5498, 5516, 5534, 5552, 5570, 5588, 5606, - 5624, 5642, 5660, 5678, 5696, 5714, 5732, 5750, 5768, 5786, 5804, 5822, - 5840, 5858, 5876, 5894, 5912, 5930, 5948, 5966, 5984, 6002, 6020, 6038, - 6056, 6074, 6092, 6110, 6128, 6146, 6164, 6182, 6200, 6218, 6236, 6254, - 6272, 6290, 6308, 6326, 6344, 6362, 6380, 6398, 6416, 6434, 6452, 6470, - 8, 26, 44, 62, 80, 98, 116, 134, 152, 170, 188, 206, - 224, 242, 260, 278, 296, 314, 332, 350, 368, 386, 404, 422, - 440, 458, 476, 494, 512, 530, 548, 566, 584, 602, 620, 638, - 656, 674, 692, 710, 728, 746, 764, 782, 800, 818, 836, 854, - 872, 890, 908, 926, 944, 962, 980, 998, 1016, 1034, 1052, 1070, - 1088, 1106, 1124, 1142, 1160, 1178, 1196, 1214, 1232, 1250, 1268, 1286, - 1304, 1322, 1340, 1358, 1376, 1394, 1412, 1430, 1448, 1466, 1484, 1502, - 1520, 1538, 1556, 1574, 1592, 1610, 1628, 1646, 1664, 1682, 1700, 1718, - 1736, 1754, 1772, 1790, 1808, 1826, 1844, 1862, 1880, 1898, 1916, 1934, - 1952, 1970, 1988, 2006, 2024, 2042, 2060, 2078, 2096, 2114, 2132, 2150, - 2168, 2186, 2204, 2222, 2240, 2258, 2276, 2294, 2312, 2330, 2348, 2366, - 2384, 2402, 2420, 2438, 2456, 2474, 2492, 2510, 2528, 2546, 2564, 2582, - 2600, 2618, 2636, 2654, 2672, 2690, 2708, 2726, 2744, 2762, 2780, 2798, - 2816, 2834, 2852, 2870, 2888, 2906, 2924, 2942, 2960, 2978, 2996, 3014, - 3032, 3050, 3068, 3086, 3104, 3122, 3140, 3158, 3176, 3194, 3212, 3230, - 3938, 3956, 3974, 3992, 4010, 4028, 4046, 4064, 4082, 4100, 4118, 4136, - 4154, 4172, 4190, 4208, 4226, 4244, 4262, 4280, 4298, 4316, 4334, 4352, - 4370, 4388, 4406, 4424, 4442, 4460, 4478, 4496, 4514, 4532, 4550, 4568, - 4586, 4604, 4622, 4640, 4658, 4676, 4694, 4712, 4730, 4748, 4766, 4784, - 4802, 4820, 4838, 4856, 4874, 4892, 4910, 4928, 4946, 4964, 4982, 5000, - 5018, 5036, 5054, 5072, 5090, 5108, 5126, 5144, 5162, 5180, 5198, 5216, - 5234, 5252, 5270, 5288, 5306, 5324, 5342, 5360, 5378, 5396, 5414, 5432, - 5450, 5468, 5486, 5504, 5522, 5540, 5558, 5576, 5594, 5612, 5630, 5648, - 5666, 5684, 5702, 5720, 5738, 5756, 5774, 5792, 5810, 5828, 5846, 5864, - 5882, 5900, 5918, 5936, 5954, 5972, 5990, 6008, 6026, 6044, 6062, 6080, - 6098, 6116, 6134, 6152, 6170, 6188, 6206, 6224, 6242, 6260, 6278, 6296, - 6314, 6332, 6350, 6368, 6386, 6404, 6422, 6440, 6458, 6476, 14, 32, - 50, 68, 86, 104, 122, 140, 158, 176, 194, 212, 230, 248, - 266, 284, 302, 320, 338, 356, 374, 392, 410, 428, 446, 464, - 482, 500, 518, 536, 554, 572, 590, 608, 626, 644, 662, 680, - 698, 716, 734, 752, 770, 788, 806, 824, 842, 860, 878, 896, - 914, 932, 950, 968, 986, 1004, 1022, 1040, 1058, 1076, 1094, 1112, - 1130, 1148, 1166, 1184, 1202, 1220, 1238, 1256, 1274, 1292, 1310, 1328, - 1346, 1364, 1382, 1400, 1418, 1436, 1454, 1472, 1490, 1508, 1526, 1544, - 1562, 1580, 1598, 1616, 1634, 1652, 1670, 1688, 1706, 1724, 1742, 1760, - 1778, 1796, 1814, 1832, 1850, 1868, 1886, 1904, 1922, 1940, 1958, 1976, - 1994, 2012, 2030, 2048, 2066, 2084, 2102, 2120, 2138, 2156, 2174, 2192, - 2210, 2228, 2246, 2264, 2282, 2300, 2318, 2336, 2354, 2372, 2390, 2408, - 2426, 2444, 2462, 2480, 2498, 2516, 2534, 2552, 2570, 2588, 2606, 2624, - 2642, 2660, 2678, 2696, 2714, 2732, 2750, 2768, 2786, 2804, 2822, 2840, - 2858, 2876, 2894, 2912, 2930, 2948, 2966, 2984, 3002, 3020, 3038, 3056, - 3074, 3092, 3110, 3128, 3146, 3164, 3182, 3200, 3218, 3236, 3254, 3272, - 3290, 3308, 3326, 3344, 3362, 3380, 3398, 3416, 3434, 3452, 3470, 3488, - 3506, 3524, 3542, 3560, 3578, 3596, 3614, 3632, 3650, 3668, 3686, 3704, - 3722, 3740, 3758, 3776, 3794, 3812, 3830, 3848, 3866, 3884, 3902, 3920, - 2904, 2922, 2940, 2958, 2976, 2994, 3012, 3030, 3048, 3066, 3084, 3102, - 3120, 3138, 3156, 3174, 3192, 3210, 3228, 3246, 3264, 3282, 3300, 3318, - 3336, 3354, 3372, 3390, 3408, 3426, 3444, 3462, 3480, 3498, 3516, 3534, - 3552, 3570, 3588, 3606, 3624, 3642, 3660, 3678, 3696, 3714, 3732, 3750, - 3768, 3786, 3804, 3822, 3840, 3858, 3876, 3894, 3912, 3930, 3948, 3966, - 3984, 4002, 4020, 4038, 4056, 4074, 4092, 4110, 4128, 4146, 4164, 4182, - 4200, 4218, 4236, 4254, 4272, 4290, 4308, 4326, 4344, 4362, 4380, 4398, - 4416, 4434, 4452, 4470, 4488, 4506, 4524, 4542, 4560, 4578, 4596, 4614, - 4632, 4650, 4668, 4686, 4704, 4722, 4740, 4758, 4776, 4794, 4812, 4830, - 4848, 4866, 4884, 4902, 4920, 4938, 4956, 4974, 4992, 5010, 5028, 5046, - 5064, 5082, 5100, 5118, 5136, 5154, 5172, 5190, 5208, 5226, 5244, 5262, - 5280, 5298, 5316, 5334, 5352, 5370, 5388, 5406, 5424, 5442, 5460, 5478, - 5496, 5514, 5532, 5550, 5568, 5586, 5604, 5622, 5640, 5658, 5676, 5694, - 5712, 5730, 5748, 5766, 5784, 5802, 5820, 5838, 5856, 5874, 5892, 5910, - 5928, 5946, 5964, 5982, 6000, 6018, 6036, 6054, 6072, 6090, 6108, 6126, - 6144, 6162, 6180, 6198, 6216, 6234, 6252, 6270, 6288, 6306, 6324, 6342, - 6360, 6378, 6396, 6414, 6432, 6450, 6468, 6, 24, 42, 60, 78, - 96, 114, 132, 150, 168, 186, 204, 222, 240, 258, 276, 294, - 312, 330, 348, 366, 384, 402, 420, 438, 456, 474, 492, 510, - 528, 546, 564, 582, 600, 618, 636, 654, 672, 690, 708, 726, - 744, 762, 780, 798, 816, 834, 852, 870, 888, 906, 924, 942, - 960, 978, 996, 1014, 1032, 1050, 1068, 1086, 1104, 1122, 1140, 1158, - 1176, 1194, 1212, 1230, 1248, 1266, 1284, 1302, 1320, 1338, 1356, 1374, - 1392, 1410, 1428, 1446, 1464, 1482, 1500, 1518, 1536, 1554, 1572, 1590, - 1608, 1626, 1644, 1662, 1680, 1698, 1716, 1734, 1752, 1770, 1788, 1806, - 1824, 1842, 1860, 1878, 1896, 1914, 1932, 1950, 1968, 1986, 2004, 2022, - 2040, 2058, 2076, 2094, 2112, 2130, 2148, 2166, 2184, 2202, 2220, 2238, - 2256, 2274, 2292, 2310, 2328, 2346, 2364, 2382, 2400, 2418, 2436, 2454, - 2472, 2490, 2508, 2526, 2544, 2562, 2580, 2598, 2616, 2634, 2652, 2670, - 2688, 2706, 2724, 2742, 2760, 2778, 2796, 2814, 2832, 2850, 2868, 2886, - 4216, 4234, 4252, 4270, 4288, 4306, 4324, 4342, 4360, 4378, 4396, 4414, - 4432, 4450, 4468, 4486, 4504, 4522, 4540, 4558, 4576, 4594, 4612, 4630, - 4648, 4666, 4684, 4702, 4720, 4738, 4756, 4774, 4792, 4810, 4828, 4846, - 4864, 4882, 4900, 4918, 4936, 4954, 4972, 4990, 5008, 5026, 5044, 5062, - 5080, 5098, 5116, 5134, 5152, 5170, 5188, 5206, 5224, 5242, 5260, 5278, - 5296, 5314, 5332, 5350, 5368, 5386, 5404, 5422, 5440, 5458, 5476, 5494, - 5512, 5530, 5548, 5566, 5584, 5602, 5620, 5638, 5656, 5674, 5692, 5710, - 5728, 5746, 5764, 5782, 5800, 5818, 5836, 5854, 5872, 5890, 5908, 5926, - 5944, 5962, 5980, 5998, 6016, 6034, 6052, 6070, 6088, 6106, 6124, 6142, - 6160, 6178, 6196, 6214, 6232, 6250, 6268, 6286, 6304, 6322, 6340, 6358, - 6376, 6394, 6412, 6430, 6448, 6466, 4, 22, 40, 58, 76, 94, - 112, 130, 148, 166, 184, 202, 220, 238, 256, 274, 292, 310, - 328, 346, 364, 382, 400, 418, 436, 454, 472, 490, 508, 526, - 544, 562, 580, 598, 616, 634, 652, 670, 688, 706, 724, 742, - 760, 778, 796, 814, 832, 850, 868, 886, 904, 922, 940, 958, - 976, 994, 1012, 1030, 1048, 1066, 1084, 1102, 1120, 1138, 1156, 1174, - 1192, 1210, 1228, 1246, 1264, 1282, 1300, 1318, 1336, 1354, 1372, 1390, - 1408, 1426, 1444, 1462, 1480, 1498, 1516, 1534, 1552, 1570, 1588, 1606, - 1624, 1642, 1660, 1678, 1696, 1714, 1732, 1750, 1768, 1786, 1804, 1822, - 1840, 1858, 1876, 1894, 1912, 1930, 1948, 1966, 1984, 2002, 2020, 2038, - 2056, 2074, 2092, 2110, 2128, 2146, 2164, 2182, 2200, 2218, 2236, 2254, - 2272, 2290, 2308, 2326, 2344, 2362, 2380, 2398, 2416, 2434, 2452, 2470, - 2488, 2506, 2524, 2542, 2560, 2578, 2596, 2614, 2632, 2650, 2668, 2686, - 2704, 2722, 2740, 2758, 2776, 2794, 2812, 2830, 2848, 2866, 2884, 2902, - 2920, 2938, 2956, 2974, 2992, 3010, 3028, 3046, 3064, 3082, 3100, 3118, - 3136, 3154, 3172, 3190, 3208, 3226, 3244, 3262, 3280, 3298, 3316, 3334, - 3352, 3370, 3388, 3406, 3424, 3442, 3460, 3478, 3496, 3514, 3532, 3550, - 3568, 3586, 3604, 3622, 3640, 3658, 3676, 3694, 3712, 3730, 3748, 3766, - 3784, 3802, 3820, 3838, 3856, 3874, 3892, 3910, 3928, 3946, 3964, 3982, - 4000, 4018, 4036, 4054, 4072, 4090, 4108, 4126, 4144, 4162, 4180, 4198, - 4708, 4726, 4744, 4762, 4780, 4798, 4816, 4834, 4852, 4870, 4888, 4906, - 4924, 4942, 4960, 4978, 4996, 5014, 5032, 5050, 5068, 5086, 5104, 5122, - 5140, 5158, 5176, 5194, 5212, 5230, 5248, 5266, 5284, 5302, 5320, 5338, - 5356, 5374, 5392, 5410, 5428, 5446, 5464, 5482, 5500, 5518, 5536, 5554, - 5572, 5590, 5608, 5626, 5644, 5662, 5680, 5698, 5716, 5734, 5752, 5770, - 5788, 5806, 5824, 5842, 5860, 5878, 5896, 5914, 5932, 5950, 5968, 5986, - 6004, 6022, 6040, 6058, 6076, 6094, 6112, 6130, 6148, 6166, 6184, 6202, - 6220, 6238, 6256, 6274, 6292, 6310, 6328, 6346, 6364, 6382, 6400, 6418, - 6436, 6454, 6472, 10, 28, 46, 64, 82, 100, 118, 136, 154, - 172, 190, 208, 226, 244, 262, 280, 298, 316, 334, 352, 370, - 388, 406, 424, 442, 460, 478, 496, 514, 532, 550, 568, 586, - 604, 622, 640, 658, 676, 694, 712, 730, 748, 766, 784, 802, - 820, 838, 856, 874, 892, 910, 928, 946, 964, 982, 1000, 1018, - 1036, 1054, 1072, 1090, 1108, 1126, 1144, 1162, 1180, 1198, 1216, 1234, - 1252, 1270, 1288, 1306, 1324, 1342, 1360, 1378, 1396, 1414, 1432, 1450, - 1468, 1486, 1504, 1522, 1540, 1558, 1576, 1594, 1612, 1630, 1648, 1666, - 1684, 1702, 1720, 1738, 1756, 1774, 1792, 1810, 1828, 1846, 1864, 1882, - 1900, 1918, 1936, 1954, 1972, 1990, 2008, 2026, 2044, 2062, 2080, 2098, - 2116, 2134, 2152, 2170, 2188, 2206, 2224, 2242, 2260, 2278, 2296, 2314, - 2332, 2350, 2368, 2386, 2404, 2422, 2440, 2458, 2476, 2494, 2512, 2530, - 2548, 2566, 2584, 2602, 2620, 2638, 2656, 2674, 2692, 2710, 2728, 2746, - 2764, 2782, 2800, 2818, 2836, 2854, 2872, 2890, 2908, 2926, 2944, 2962, - 2980, 2998, 3016, 3034, 3052, 3070, 3088, 3106, 3124, 3142, 3160, 3178, - 3196, 3214, 3232, 3250, 3268, 3286, 3304, 3322, 3340, 3358, 3376, 3394, - 3412, 3430, 3448, 3466, 3484, 3502, 3520, 3538, 3556, 3574, 3592, 3610, - 3628, 3646, 3664, 3682, 3700, 3718, 3736, 3754, 3772, 3790, 3808, 3826, - 3844, 3862, 3880, 3898, 3916, 3934, 3952, 3970, 3988, 4006, 4024, 4042, - 4060, 4078, 4096, 4114, 4132, 4150, 4168, 4186, 4204, 4222, 4240, 4258, - 4276, 4294, 4312, 4330, 4348, 4366, 4384, 4402, 4420, 4438, 4456, 4474, - 4492, 4510, 4528, 4546, 4564, 4582, 4600, 4618, 4636, 4654, 4672, 4690, - 3389, 3407, 3425, 3443, 3461, 3479, 3497, 3515, 3533, 3551, 3569, 3587, - 3605, 3623, 3641, 3659, 3677, 3695, 3713, 3731, 3749, 3767, 3785, 3803, - 3821, 3839, 3857, 3875, 3893, 3911, 3929, 3947, 3965, 3983, 4001, 4019, - 4037, 4055, 4073, 4091, 4109, 4127, 4145, 4163, 4181, 4199, 4217, 4235, - 4253, 4271, 4289, 4307, 4325, 4343, 4361, 4379, 4397, 4415, 4433, 4451, - 4469, 4487, 4505, 4523, 4541, 4559, 4577, 4595, 4613, 4631, 4649, 4667, - 4685, 4703, 4721, 4739, 4757, 4775, 4793, 4811, 4829, 4847, 4865, 4883, - 4901, 4919, 4937, 4955, 4973, 4991, 5009, 5027, 5045, 5063, 5081, 5099, - 5117, 5135, 5153, 5171, 5189, 5207, 5225, 5243, 5261, 5279, 5297, 5315, - 5333, 5351, 5369, 5387, 5405, 5423, 5441, 5459, 5477, 5495, 5513, 5531, - 5549, 5567, 5585, 5603, 5621, 5639, 5657, 5675, 5693, 5711, 5729, 5747, - 5765, 5783, 5801, 5819, 5837, 5855, 5873, 5891, 5909, 5927, 5945, 5963, - 5981, 5999, 6017, 6035, 6053, 6071, 6089, 6107, 6125, 6143, 6161, 6179, - 6197, 6215, 6233, 6251, 6269, 6287, 6305, 6323, 6341, 6359, 6377, 6395, - 6413, 6431, 6449, 6467, 5, 23, 41, 59, 77, 95, 113, 131, - 149, 167, 185, 203, 221, 239, 257, 275, 293, 311, 329, 347, - 365, 383, 401, 419, 437, 455, 473, 491, 509, 527, 545, 563, - 581, 599, 617, 635, 653, 671, 689, 707, 725, 743, 761, 779, - 797, 815, 833, 851, 869, 887, 905, 923, 941, 959, 977, 995, - 1013, 1031, 1049, 1067, 1085, 1103, 1121, 1139, 1157, 1175, 1193, 1211, - 1229, 1247, 1265, 1283, 1301, 1319, 1337, 1355, 1373, 1391, 1409, 1427, - 1445, 1463, 1481, 1499, 1517, 1535, 1553, 1571, 1589, 1607, 1625, 1643, - 1661, 1679, 1697, 1715, 1733, 1751, 1769, 1787, 1805, 1823, 1841, 1859, - 1877, 1895, 1913, 1931, 1949, 1967, 1985, 2003, 2021, 2039, 2057, 2075, - 2093, 2111, 2129, 2147, 2165, 2183, 2201, 2219, 2237, 2255, 2273, 2291, - 2309, 2327, 2345, 2363, 2381, 2399, 2417, 2435, 2453, 2471, 2489, 2507, - 2525, 2543, 2561, 2579, 2597, 2615, 2633, 2651, 2669, 2687, 2705, 2723, - 2741, 2759, 2777, 2795, 2813, 2831, 2849, 2867, 2885, 2903, 2921, 2939, - 2957, 2975, 2993, 3011, 3029, 3047, 3065, 3083, 3101, 3119, 3137, 3155, - 3173, 3191, 3209, 3227, 3245, 3263, 3281, 3299, 3317, 3335, 3353, 3371, - 4557, 4575, 4593, 4611, 4629, 4647, 4665, 4683, 4701, 4719, 4737, 4755, - 4773, 4791, 4809, 4827, 4845, 4863, 4881, 4899, 4917, 4935, 4953, 4971, - 4989, 5007, 5025, 5043, 5061, 5079, 5097, 5115, 5133, 5151, 5169, 5187, - 5205, 5223, 5241, 5259, 5277, 5295, 5313, 5331, 5349, 5367, 5385, 5403, - 5421, 5439, 5457, 5475, 5493, 5511, 5529, 5547, 5565, 5583, 5601, 5619, - 5637, 5655, 5673, 5691, 5709, 5727, 5745, 5763, 5781, 5799, 5817, 5835, - 5853, 5871, 5889, 5907, 5925, 5943, 5961, 5979, 5997, 6015, 6033, 6051, - 6069, 6087, 6105, 6123, 6141, 6159, 6177, 6195, 6213, 6231, 6249, 6267, - 6285, 6303, 6321, 6339, 6357, 6375, 6393, 6411, 6429, 6447, 6465, 3, - 21, 39, 57, 75, 93, 111, 129, 147, 165, 183, 201, 219, - 237, 255, 273, 291, 309, 327, 345, 363, 381, 399, 417, 435, - 453, 471, 489, 507, 525, 543, 561, 579, 597, 615, 633, 651, - 669, 687, 705, 723, 741, 759, 777, 795, 813, 831, 849, 867, - 885, 903, 921, 939, 957, 975, 993, 1011, 1029, 1047, 1065, 1083, - 1101, 1119, 1137, 1155, 1173, 1191, 1209, 1227, 1245, 1263, 1281, 1299, - 1317, 1335, 1353, 1371, 1389, 1407, 1425, 1443, 1461, 1479, 1497, 1515, - 1533, 1551, 1569, 1587, 1605, 1623, 1641, 1659, 1677, 1695, 1713, 1731, - 1749, 1767, 1785, 1803, 1821, 1839, 1857, 1875, 1893, 1911, 1929, 1947, - 1965, 1983, 2001, 2019, 2037, 2055, 2073, 2091, 2109, 2127, 2145, 2163, - 2181, 2199, 2217, 2235, 2253, 2271, 2289, 2307, 2325, 2343, 2361, 2379, - 2397, 2415, 2433, 2451, 2469, 2487, 2505, 2523, 2541, 2559, 2577, 2595, - 2613, 2631, 2649, 2667, 2685, 2703, 2721, 2739, 2757, 2775, 2793, 2811, - 2829, 2847, 2865, 2883, 2901, 2919, 2937, 2955, 2973, 2991, 3009, 3027, - 3045, 3063, 3081, 3099, 3117, 3135, 3153, 3171, 3189, 3207, 3225, 3243, - 3261, 3279, 3297, 3315, 3333, 3351, 3369, 3387, 3405, 3423, 3441, 3459, - 3477, 3495, 3513, 3531, 3549, 3567, 3585, 3603, 3621, 3639, 3657, 3675, - 3693, 3711, 3729, 3747, 3765, 3783, 3801, 3819, 3837, 3855, 3873, 3891, - 3909, 3927, 3945, 3963, 3981, 3999, 4017, 4035, 4053, 4071, 4089, 4107, - 4125, 4143, 4161, 4179, 4197, 4215, 4233, 4251, 4269, 4287, 4305, 4323, - 4341, 4359, 4377, 4395, 4413, 4431, 4449, 4467, 4485, 4503, 4521, 4539, - 4178, 4196, 4214, 4232, 4250, 4268, 4286, 4304, 4322, 4340, 4358, 4376, - 4394, 4412, 4430, 4448, 4466, 4484, 4502, 4520, 4538, 4556, 4574, 4592, - 4610, 4628, 4646, 4664, 4682, 4700, 4718, 4736, 4754, 4772, 4790, 4808, - 4826, 4844, 4862, 4880, 4898, 4916, 4934, 4952, 4970, 4988, 5006, 5024, - 5042, 5060, 5078, 5096, 5114, 5132, 5150, 5168, 5186, 5204, 5222, 5240, - 5258, 5276, 5294, 5312, 5330, 5348, 5366, 5384, 5402, 5420, 5438, 5456, - 5474, 5492, 5510, 5528, 5546, 5564, 5582, 5600, 5618, 5636, 5654, 5672, - 5690, 5708, 5726, 5744, 5762, 5780, 5798, 5816, 5834, 5852, 5870, 5888, - 5906, 5924, 5942, 5960, 5978, 5996, 6014, 6032, 6050, 6068, 6086, 6104, - 6122, 6140, 6158, 6176, 6194, 6212, 6230, 6248, 6266, 6284, 6302, 6320, - 6338, 6356, 6374, 6392, 6410, 6428, 6446, 6464, 2, 20, 38, 56, - 74, 92, 110, 128, 146, 164, 182, 200, 218, 236, 254, 272, - 290, 308, 326, 344, 362, 380, 398, 416, 434, 452, 470, 488, - 506, 524, 542, 560, 578, 596, 614, 632, 650, 668, 686, 704, - 722, 740, 758, 776, 794, 812, 830, 848, 866, 884, 902, 920, - 938, 956, 974, 992, 1010, 1028, 1046, 1064, 1082, 1100, 1118, 1136, - 1154, 1172, 1190, 1208, 1226, 1244, 1262, 1280, 1298, 1316, 1334, 1352, - 1370, 1388, 1406, 1424, 1442, 1460, 1478, 1496, 1514, 1532, 1550, 1568, - 1586, 1604, 1622, 1640, 1658, 1676, 1694, 1712, 1730, 1748, 1766, 1784, - 1802, 1820, 1838, 1856, 1874, 1892, 1910, 1928, 1946, 1964, 1982, 2000, - 2018, 2036, 2054, 2072, 2090, 2108, 2126, 2144, 2162, 2180, 2198, 2216, - 2234, 2252, 2270, 2288, 2306, 2324, 2342, 2360, 2378, 2396, 2414, 2432, - 2450, 2468, 2486, 2504, 2522, 2540, 2558, 2576, 2594, 2612, 2630, 2648, - 2666, 2684, 2702, 2720, 2738, 2756, 2774, 2792, 2810, 2828, 2846, 2864, - 2882, 2900, 2918, 2936, 2954, 2972, 2990, 3008, 3026, 3044, 3062, 3080, - 3098, 3116, 3134, 3152, 3170, 3188, 3206, 3224, 3242, 3260, 3278, 3296, - 3314, 3332, 3350, 3368, 3386, 3404, 3422, 3440, 3458, 3476, 3494, 3512, - 3530, 3548, 3566, 3584, 3602, 3620, 3638, 3656, 3674, 3692, 3710, 3728, - 3746, 3764, 3782, 3800, 3818, 3836, 3854, 3872, 3890, 3908, 3926, 3944, - 3962, 3980, 3998, 4016, 4034, 4052, 4070, 4088, 4106, 4124, 4142, 4160, - 3597, 3615, 3633, 3651, 3669, 3687, 3705, 3723, 3741, 3759, 3777, 3795, - 3813, 3831, 3849, 3867, 3885, 3903, 3921, 3939, 3957, 3975, 3993, 4011, - 4029, 4047, 4065, 4083, 4101, 4119, 4137, 4155, 4173, 4191, 4209, 4227, - 4245, 4263, 4281, 4299, 4317, 4335, 4353, 4371, 4389, 4407, 4425, 4443, - 4461, 4479, 4497, 4515, 4533, 4551, 4569, 4587, 4605, 4623, 4641, 4659, - 4677, 4695, 4713, 4731, 4749, 4767, 4785, 4803, 4821, 4839, 4857, 4875, - 4893, 4911, 4929, 4947, 4965, 4983, 5001, 5019, 5037, 5055, 5073, 5091, - 5109, 5127, 5145, 5163, 5181, 5199, 5217, 5235, 5253, 5271, 5289, 5307, - 5325, 5343, 5361, 5379, 5397, 5415, 5433, 5451, 5469, 5487, 5505, 5523, - 5541, 5559, 5577, 5595, 5613, 5631, 5649, 5667, 5685, 5703, 5721, 5739, - 5757, 5775, 5793, 5811, 5829, 5847, 5865, 5883, 5901, 5919, 5937, 5955, - 5973, 5991, 6009, 6027, 6045, 6063, 6081, 6099, 6117, 6135, 6153, 6171, - 6189, 6207, 6225, 6243, 6261, 6279, 6297, 6315, 6333, 6351, 6369, 6387, - 6405, 6423, 6441, 6459, 6477, 15, 33, 51, 69, 87, 105, 123, - 141, 159, 177, 195, 213, 231, 249, 267, 285, 303, 321, 339, - 357, 375, 393, 411, 429, 447, 465, 483, 501, 519, 537, 555, - 573, 591, 609, 627, 645, 663, 681, 699, 717, 735, 753, 771, - 789, 807, 825, 843, 861, 879, 897, 915, 933, 951, 969, 987, - 1005, 1023, 1041, 1059, 1077, 1095, 1113, 1131, 1149, 1167, 1185, 1203, - 1221, 1239, 1257, 1275, 1293, 1311, 1329, 1347, 1365, 1383, 1401, 1419, - 1437, 1455, 1473, 1491, 1509, 1527, 1545, 1563, 1581, 1599, 1617, 1635, - 1653, 1671, 1689, 1707, 1725, 1743, 1761, 1779, 1797, 1815, 1833, 1851, - 1869, 1887, 1905, 1923, 1941, 1959, 1977, 1995, 2013, 2031, 2049, 2067, - 2085, 2103, 2121, 2139, 2157, 2175, 2193, 2211, 2229, 2247, 2265, 2283, - 2301, 2319, 2337, 2355, 2373, 2391, 2409, 2427, 2445, 2463, 2481, 2499, - 2517, 2535, 2553, 2571, 2589, 2607, 2625, 2643, 2661, 2679, 2697, 2715, - 2733, 2751, 2769, 2787, 2805, 2823, 2841, 2859, 2877, 2895, 2913, 2931, - 2949, 2967, 2985, 3003, 3021, 3039, 3057, 3075, 3093, 3111, 3129, 3147, - 3165, 3183, 3201, 3219, 3237, 3255, 3273, 3291, 3309, 3327, 3345, 3363, - 3381, 3399, 3417, 3435, 3453, 3471, 3489, 3507, 3525, 3543, 3561, 3579, - 724, 742, 760, 778, 796, 814, 832, 850, 868, 886, 904, 922, - 940, 958, 976, 994, 1012, 1030, 1048, 1066, 1084, 1102, 1120, 1138, - 1156, 1174, 1192, 1210, 1228, 1246, 1264, 1282, 1300, 1318, 1336, 1354, - 1372, 1390, 1408, 1426, 1444, 1462, 1480, 1498, 1516, 1534, 1552, 1570, - 1588, 1606, 1624, 1642, 1660, 1678, 1696, 1714, 1732, 1750, 1768, 1786, - 1804, 1822, 1840, 1858, 1876, 1894, 1912, 1930, 1948, 1966, 1984, 2002, - 2020, 2038, 2056, 2074, 2092, 2110, 2128, 2146, 2164, 2182, 2200, 2218, - 2236, 2254, 2272, 2290, 2308, 2326, 2344, 2362, 2380, 2398, 2416, 2434, - 2452, 2470, 2488, 2506, 2524, 2542, 2560, 2578, 2596, 2614, 2632, 2650, - 2668, 2686, 2704, 2722, 2740, 2758, 2776, 2794, 2812, 2830, 2848, 2866, - 2884, 2902, 2920, 2938, 2956, 2974, 2992, 3010, 3028, 3046, 3064, 3082, - 3100, 3118, 3136, 3154, 3172, 3190, 3208, 3226, 3244, 3262, 3280, 3298, - 3316, 3334, 3352, 3370, 3388, 3406, 3424, 3442, 3460, 3478, 3496, 3514, - 3532, 3550, 3568, 3586, 3604, 3622, 3640, 3658, 3676, 3694, 3712, 3730, - 3748, 3766, 3784, 3802, 3820, 3838, 3856, 3874, 3892, 3910, 3928, 3946, - 3964, 3982, 4000, 4018, 4036, 4054, 4072, 4090, 4108, 4126, 4144, 4162, - 4180, 4198, 4216, 4234, 4252, 4270, 4288, 4306, 4324, 4342, 4360, 4378, - 4396, 4414, 4432, 4450, 4468, 4486, 4504, 4522, 4540, 4558, 4576, 4594, - 4612, 4630, 4648, 4666, 4684, 4702, 4720, 4738, 4756, 4774, 4792, 4810, - 4828, 4846, 4864, 4882, 4900, 4918, 4936, 4954, 4972, 4990, 5008, 5026, - 5044, 5062, 5080, 5098, 5116, 5134, 5152, 5170, 5188, 5206, 5224, 5242, - 5260, 5278, 5296, 5314, 5332, 5350, 5368, 5386, 5404, 5422, 5440, 5458, - 5476, 5494, 5512, 5530, 5548, 5566, 5584, 5602, 5620, 5638, 5656, 5674, - 5692, 5710, 5728, 5746, 5764, 5782, 5800, 5818, 5836, 5854, 5872, 5890, - 5908, 5926, 5944, 5962, 5980, 5998, 6016, 6034, 6052, 6070, 6088, 6106, - 6124, 6142, 6160, 6178, 6196, 6214, 6232, 6250, 6268, 6286, 6304, 6322, - 6340, 6358, 6376, 6394, 6412, 6430, 6448, 6466, 4, 22, 40, 58, - 76, 94, 112, 130, 148, 166, 184, 202, 220, 238, 256, 274, - 292, 310, 328, 346, 364, 382, 400, 418, 436, 454, 472, 490, - 508, 526, 544, 562, 580, 598, 616, 634, 652, 670, 688, 706, - 3097, 3115, 3133, 3151, 3169, 3187, 3205, 3223, 3241, 3259, 3277, 3295, - 3313, 3331, 3349, 3367, 3385, 3403, 3421, 3439, 3457, 3475, 3493, 3511, - 3529, 3547, 3565, 3583, 3601, 3619, 3637, 3655, 3673, 3691, 3709, 3727, - 3745, 3763, 3781, 3799, 3817, 3835, 3853, 3871, 3889, 3907, 3925, 3943, - 3961, 3979, 3997, 4015, 4033, 4051, 4069, 4087, 4105, 4123, 4141, 4159, - 4177, 4195, 4213, 4231, 4249, 4267, 4285, 4303, 4321, 4339, 4357, 4375, - 4393, 4411, 4429, 4447, 4465, 4483, 4501, 4519, 4537, 4555, 4573, 4591, - 4609, 4627, 4645, 4663, 4681, 4699, 4717, 4735, 4753, 4771, 4789, 4807, - 4825, 4843, 4861, 4879, 4897, 4915, 4933, 4951, 4969, 4987, 5005, 5023, - 5041, 5059, 5077, 5095, 5113, 5131, 5149, 5167, 5185, 5203, 5221, 5239, - 5257, 5275, 5293, 5311, 5329, 5347, 5365, 5383, 5401, 5419, 5437, 5455, - 5473, 5491, 5509, 5527, 5545, 5563, 5581, 5599, 5617, 5635, 5653, 5671, - 5689, 5707, 5725, 5743, 5761, 5779, 5797, 5815, 5833, 5851, 5869, 5887, - 5905, 5923, 5941, 5959, 5977, 5995, 6013, 6031, 6049, 6067, 6085, 6103, - 6121, 6139, 6157, 6175, 6193, 6211, 6229, 6247, 6265, 6283, 6301, 6319, - 6337, 6355, 6373, 6391, 6409, 6427, 6445, 6463, 1, 19, 37, 55, - 73, 91, 109, 127, 145, 163, 181, 199, 217, 235, 253, 271, - 289, 307, 325, 343, 361, 379, 397, 415, 433, 451, 469, 487, - 505, 523, 541, 559, 577, 595, 613, 631, 649, 667, 685, 703, - 721, 739, 757, 775, 793, 811, 829, 847, 865, 883, 901, 919, - 937, 955, 973, 991, 1009, 1027, 1045, 1063, 1081, 1099, 1117, 1135, - 1153, 1171, 1189, 1207, 1225, 1243, 1261, 1279, 1297, 1315, 1333, 1351, - 1369, 1387, 1405, 1423, 1441, 1459, 1477, 1495, 1513, 1531, 1549, 1567, - 1585, 1603, 1621, 1639, 1657, 1675, 1693, 1711, 1729, 1747, 1765, 1783, - 1801, 1819, 1837, 1855, 1873, 1891, 1909, 1927, 1945, 1963, 1981, 1999, - 2017, 2035, 2053, 2071, 2089, 2107, 2125, 2143, 2161, 2179, 2197, 2215, - 2233, 2251, 2269, 2287, 2305, 2323, 2341, 2359, 2377, 2395, 2413, 2431, - 2449, 2467, 2485, 2503, 2521, 2539, 2557, 2575, 2593, 2611, 2629, 2647, - 2665, 2683, 2701, 2719, 2737, 2755, 2773, 2791, 2809, 2827, 2845, 2863, - 2881, 2899, 2917, 2935, 2953, 2971, 2989, 3007, 3025, 3043, 3061, 3079, - 3158, 3176, 3194, 3212, 3230, 3248, 3266, 3284, 3302, 3320, 3338, 3356, - 3374, 3392, 3410, 3428, 3446, 3464, 3482, 3500, 3518, 3536, 3554, 3572, - 3590, 3608, 3626, 3644, 3662, 3680, 3698, 3716, 3734, 3752, 3770, 3788, - 3806, 3824, 3842, 3860, 3878, 3896, 3914, 3932, 3950, 3968, 3986, 4004, - 4022, 4040, 4058, 4076, 4094, 4112, 4130, 4148, 4166, 4184, 4202, 4220, - 4238, 4256, 4274, 4292, 4310, 4328, 4346, 4364, 4382, 4400, 4418, 4436, - 4454, 4472, 4490, 4508, 4526, 4544, 4562, 4580, 4598, 4616, 4634, 4652, - 4670, 4688, 4706, 4724, 4742, 4760, 4778, 4796, 4814, 4832, 4850, 4868, - 4886, 4904, 4922, 4940, 4958, 4976, 4994, 5012, 5030, 5048, 5066, 5084, - 5102, 5120, 5138, 5156, 5174, 5192, 5210, 5228, 5246, 5264, 5282, 5300, - 5318, 5336, 5354, 5372, 5390, 5408, 5426, 5444, 5462, 5480, 5498, 5516, - 5534, 5552, 5570, 5588, 5606, 5624, 5642, 5660, 5678, 5696, 5714, 5732, - 5750, 5768, 5786, 5804, 5822, 5840, 5858, 5876, 5894, 5912, 5930, 5948, - 5966, 5984, 6002, 6020, 6038, 6056, 6074, 6092, 6110, 6128, 6146, 6164, - 6182, 6200, 6218, 6236, 6254, 6272, 6290, 6308, 6326, 6344, 6362, 6380, - 6398, 6416, 6434, 6452, 6470, 8, 26, 44, 62, 80, 98, 116, - 134, 152, 170, 188, 206, 224, 242, 260, 278, 296, 314, 332, - 350, 368, 386, 404, 422, 440, 458, 476, 494, 512, 530, 548, - 566, 584, 602, 620, 638, 656, 674, 692, 710, 728, 746, 764, - 782, 800, 818, 836, 854, 872, 890, 908, 926, 944, 962, 980, - 998, 1016, 1034, 1052, 1070, 1088, 1106, 1124, 1142, 1160, 1178, 1196, - 1214, 1232, 1250, 1268, 1286, 1304, 1322, 1340, 1358, 1376, 1394, 1412, - 1430, 1448, 1466, 1484, 1502, 1520, 1538, 1556, 1574, 1592, 1610, 1628, - 1646, 1664, 1682, 1700, 1718, 1736, 1754, 1772, 1790, 1808, 1826, 1844, - 1862, 1880, 1898, 1916, 1934, 1952, 1970, 1988, 2006, 2024, 2042, 2060, - 2078, 2096, 2114, 2132, 2150, 2168, 2186, 2204, 2222, 2240, 2258, 2276, - 2294, 2312, 2330, 2348, 2366, 2384, 2402, 2420, 2438, 2456, 2474, 2492, - 2510, 2528, 2546, 2564, 2582, 2600, 2618, 2636, 2654, 2672, 2690, 2708, - 2726, 2744, 2762, 2780, 2798, 2816, 2834, 2852, 2870, 2888, 2906, 2924, - 2942, 2960, 2978, 2996, 3014, 3032, 3050, 3068, 3086, 3104, 3122, 3140, - 60, 78, 96, 114, 132, 150, 168, 186, 204, 222, 240, 258, - 276, 294, 312, 330, 348, 366, 384, 402, 420, 438, 456, 474, - 492, 510, 528, 546, 564, 582, 600, 618, 636, 654, 672, 690, - 708, 726, 744, 762, 780, 798, 816, 834, 852, 870, 888, 906, - 924, 942, 960, 978, 996, 1014, 1032, 1050, 1068, 1086, 1104, 1122, - 1140, 1158, 1176, 1194, 1212, 1230, 1248, 1266, 1284, 1302, 1320, 1338, - 1356, 1374, 1392, 1410, 1428, 1446, 1464, 1482, 1500, 1518, 1536, 1554, - 1572, 1590, 1608, 1626, 1644, 1662, 1680, 1698, 1716, 1734, 1752, 1770, - 1788, 1806, 1824, 1842, 1860, 1878, 1896, 1914, 1932, 1950, 1968, 1986, - 2004, 2022, 2040, 2058, 2076, 2094, 2112, 2130, 2148, 2166, 2184, 2202, - 2220, 2238, 2256, 2274, 2292, 2310, 2328, 2346, 2364, 2382, 2400, 2418, - 2436, 2454, 2472, 2490, 2508, 2526, 2544, 2562, 2580, 2598, 2616, 2634, - 2652, 2670, 2688, 2706, 2724, 2742, 2760, 2778, 2796, 2814, 2832, 2850, - 2868, 2886, 2904, 2922, 2940, 2958, 2976, 2994, 3012, 3030, 3048, 3066, - 3084, 3102, 3120, 3138, 3156, 3174, 3192, 3210, 3228, 3246, 3264, 3282, - 3300, 3318, 3336, 3354, 3372, 3390, 3408, 3426, 3444, 3462, 3480, 3498, - 3516, 3534, 3552, 3570, 3588, 3606, 3624, 3642, 3660, 3678, 3696, 3714, - 3732, 3750, 3768, 3786, 3804, 3822, 3840, 3858, 3876, 3894, 3912, 3930, - 3948, 3966, 3984, 4002, 4020, 4038, 4056, 4074, 4092, 4110, 4128, 4146, - 4164, 4182, 4200, 4218, 4236, 4254, 4272, 4290, 4308, 4326, 4344, 4362, - 4380, 4398, 4416, 4434, 4452, 4470, 4488, 4506, 4524, 4542, 4560, 4578, - 4596, 4614, 4632, 4650, 4668, 4686, 4704, 4722, 4740, 4758, 4776, 4794, - 4812, 4830, 4848, 4866, 4884, 4902, 4920, 4938, 4956, 4974, 4992, 5010, - 5028, 5046, 5064, 5082, 5100, 5118, 5136, 5154, 5172, 5190, 5208, 5226, - 5244, 5262, 5280, 5298, 5316, 5334, 5352, 5370, 5388, 5406, 5424, 5442, - 5460, 5478, 5496, 5514, 5532, 5550, 5568, 5586, 5604, 5622, 5640, 5658, - 5676, 5694, 5712, 5730, 5748, 5766, 5784, 5802, 5820, 5838, 5856, 5874, - 5892, 5910, 5928, 5946, 5964, 5982, 6000, 6018, 6036, 6054, 6072, 6090, - 6108, 6126, 6144, 6162, 6180, 6198, 6216, 6234, 6252, 6270, 6288, 6306, - 6324, 6342, 6360, 6378, 6396, 6414, 6432, 6450, 6468, 6, 24, 42, - 3737, 3755, 3773, 3791, 3809, 3827, 3845, 3863, 3881, 3899, 3917, 3935, - 3953, 3971, 3989, 4007, 4025, 4043, 4061, 4079, 4097, 4115, 4133, 4151, - 4169, 4187, 4205, 4223, 4241, 4259, 4277, 4295, 4313, 4331, 4349, 4367, - 4385, 4403, 4421, 4439, 4457, 4475, 4493, 4511, 4529, 4547, 4565, 4583, - 4601, 4619, 4637, 4655, 4673, 4691, 4709, 4727, 4745, 4763, 4781, 4799, - 4817, 4835, 4853, 4871, 4889, 4907, 4925, 4943, 4961, 4979, 4997, 5015, - 5033, 5051, 5069, 5087, 5105, 5123, 5141, 5159, 5177, 5195, 5213, 5231, - 5249, 5267, 5285, 5303, 5321, 5339, 5357, 5375, 5393, 5411, 5429, 5447, - 5465, 5483, 5501, 5519, 5537, 5555, 5573, 5591, 5609, 5627, 5645, 5663, - 5681, 5699, 5717, 5735, 5753, 5771, 5789, 5807, 5825, 5843, 5861, 5879, - 5897, 5915, 5933, 5951, 5969, 5987, 6005, 6023, 6041, 6059, 6077, 6095, - 6113, 6131, 6149, 6167, 6185, 6203, 6221, 6239, 6257, 6275, 6293, 6311, - 6329, 6347, 6365, 6383, 6401, 6419, 6437, 6455, 6473, 11, 29, 47, - 65, 83, 101, 119, 137, 155, 173, 191, 209, 227, 245, 263, - 281, 299, 317, 335, 353, 371, 389, 407, 425, 443, 461, 479, - 497, 515, 533, 551, 569, 587, 605, 623, 641, 659, 677, 695, - 713, 731, 749, 767, 785, 803, 821, 839, 857, 875, 893, 911, - 929, 947, 965, 983, 1001, 1019, 1037, 1055, 1073, 1091, 1109, 1127, - 1145, 1163, 1181, 1199, 1217, 1235, 1253, 1271, 1289, 1307, 1325, 1343, - 1361, 1379, 1397, 1415, 1433, 1451, 1469, 1487, 1505, 1523, 1541, 1559, - 1577, 1595, 1613, 1631, 1649, 1667, 1685, 1703, 1721, 1739, 1757, 1775, - 1793, 1811, 1829, 1847, 1865, 1883, 1901, 1919, 1937, 1955, 1973, 1991, - 2009, 2027, 2045, 2063, 2081, 2099, 2117, 2135, 2153, 2171, 2189, 2207, - 2225, 2243, 2261, 2279, 2297, 2315, 2333, 2351, 2369, 2387, 2405, 2423, - 2441, 2459, 2477, 2495, 2513, 2531, 2549, 2567, 2585, 2603, 2621, 2639, - 2657, 2675, 2693, 2711, 2729, 2747, 2765, 2783, 2801, 2819, 2837, 2855, - 2873, 2891, 2909, 2927, 2945, 2963, 2981, 2999, 3017, 3035, 3053, 3071, - 3089, 3107, 3125, 3143, 3161, 3179, 3197, 3215, 3233, 3251, 3269, 3287, - 3305, 3323, 3341, 3359, 3377, 3395, 3413, 3431, 3449, 3467, 3485, 3503, - 3521, 3539, 3557, 3575, 3593, 3611, 3629, 3647, 3665, 3683, 3701, 3719, - 3286, 3304, 3322, 3340, 3358, 3376, 3394, 3412, 3430, 3448, 3466, 3484, - 3502, 3520, 3538, 3556, 3574, 3592, 3610, 3628, 3646, 3664, 3682, 3700, - 3718, 3736, 3754, 3772, 3790, 3808, 3826, 3844, 3862, 3880, 3898, 3916, - 3934, 3952, 3970, 3988, 4006, 4024, 4042, 4060, 4078, 4096, 4114, 4132, - 4150, 4168, 4186, 4204, 4222, 4240, 4258, 4276, 4294, 4312, 4330, 4348, - 4366, 4384, 4402, 4420, 4438, 4456, 4474, 4492, 4510, 4528, 4546, 4564, - 4582, 4600, 4618, 4636, 4654, 4672, 4690, 4708, 4726, 4744, 4762, 4780, - 4798, 4816, 4834, 4852, 4870, 4888, 4906, 4924, 4942, 4960, 4978, 4996, - 5014, 5032, 5050, 5068, 5086, 5104, 5122, 5140, 5158, 5176, 5194, 5212, - 5230, 5248, 5266, 5284, 5302, 5320, 5338, 5356, 5374, 5392, 5410, 5428, - 5446, 5464, 5482, 5500, 5518, 5536, 5554, 5572, 5590, 5608, 5626, 5644, - 5662, 5680, 5698, 5716, 5734, 5752, 5770, 5788, 5806, 5824, 5842, 5860, - 5878, 5896, 5914, 5932, 5950, 5968, 5986, 6004, 6022, 6040, 6058, 6076, - 6094, 6112, 6130, 6148, 6166, 6184, 6202, 6220, 6238, 6256, 6274, 6292, - 6310, 6328, 6346, 6364, 6382, 6400, 6418, 6436, 6454, 6472, 10, 28, - 46, 64, 82, 100, 118, 136, 154, 172, 190, 208, 226, 244, - 262, 280, 298, 316, 334, 352, 370, 388, 406, 424, 442, 460, - 478, 496, 514, 532, 550, 568, 586, 604, 622, 640, 658, 676, - 694, 712, 730, 748, 766, 784, 802, 820, 838, 856, 874, 892, - 910, 928, 946, 964, 982, 1000, 1018, 1036, 1054, 1072, 1090, 1108, - 1126, 1144, 1162, 1180, 1198, 1216, 1234, 1252, 1270, 1288, 1306, 1324, - 1342, 1360, 1378, 1396, 1414, 1432, 1450, 1468, 1486, 1504, 1522, 1540, - 1558, 1576, 1594, 1612, 1630, 1648, 1666, 1684, 1702, 1720, 1738, 1756, - 1774, 1792, 1810, 1828, 1846, 1864, 1882, 1900, 1918, 1936, 1954, 1972, - 1990, 2008, 2026, 2044, 2062, 2080, 2098, 2116, 2134, 2152, 2170, 2188, - 2206, 2224, 2242, 2260, 2278, 2296, 2314, 2332, 2350, 2368, 2386, 2404, - 2422, 2440, 2458, 2476, 2494, 2512, 2530, 2548, 2566, 2584, 2602, 2620, - 2638, 2656, 2674, 2692, 2710, 2728, 2746, 2764, 2782, 2800, 2818, 2836, - 2854, 2872, 2890, 2908, 2926, 2944, 2962, 2980, 2998, 3016, 3034, 3052, - 3070, 3088, 3106, 3124, 3142, 3160, 3178, 3196, 3214, 3232, 3250, 3268, - 1706, 1724, 1742, 1760, 1778, 1796, 1814, 1832, 1850, 1868, 1886, 1904, - 1922, 1940, 1958, 1976, 1994, 2012, 2030, 2048, 2066, 2084, 2102, 2120, - 2138, 2156, 2174, 2192, 2210, 2228, 2246, 2264, 2282, 2300, 2318, 2336, - 2354, 2372, 2390, 2408, 2426, 2444, 2462, 2480, 2498, 2516, 2534, 2552, - 2570, 2588, 2606, 2624, 2642, 2660, 2678, 2696, 2714, 2732, 2750, 2768, - 2786, 2804, 2822, 2840, 2858, 2876, 2894, 2912, 2930, 2948, 2966, 2984, - 3002, 3020, 3038, 3056, 3074, 3092, 3110, 3128, 3146, 3164, 3182, 3200, - 3218, 3236, 3254, 3272, 3290, 3308, 3326, 3344, 3362, 3380, 3398, 3416, - 3434, 3452, 3470, 3488, 3506, 3524, 3542, 3560, 3578, 3596, 3614, 3632, - 3650, 3668, 3686, 3704, 3722, 3740, 3758, 3776, 3794, 3812, 3830, 3848, - 3866, 3884, 3902, 3920, 3938, 3956, 3974, 3992, 4010, 4028, 4046, 4064, - 4082, 4100, 4118, 4136, 4154, 4172, 4190, 4208, 4226, 4244, 4262, 4280, - 4298, 4316, 4334, 4352, 4370, 4388, 4406, 4424, 4442, 4460, 4478, 4496, - 4514, 4532, 4550, 4568, 4586, 4604, 4622, 4640, 4658, 4676, 4694, 4712, - 4730, 4748, 4766, 4784, 4802, 4820, 4838, 4856, 4874, 4892, 4910, 4928, - 4946, 4964, 4982, 5000, 5018, 5036, 5054, 5072, 5090, 5108, 5126, 5144, - 5162, 5180, 5198, 5216, 5234, 5252, 5270, 5288, 5306, 5324, 5342, 5360, - 5378, 5396, 5414, 5432, 5450, 5468, 5486, 5504, 5522, 5540, 5558, 5576, - 5594, 5612, 5630, 5648, 5666, 5684, 5702, 5720, 5738, 5756, 5774, 5792, - 5810, 5828, 5846, 5864, 5882, 5900, 5918, 5936, 5954, 5972, 5990, 6008, - 6026, 6044, 6062, 6080, 6098, 6116, 6134, 6152, 6170, 6188, 6206, 6224, - 6242, 6260, 6278, 6296, 6314, 6332, 6350, 6368, 6386, 6404, 6422, 6440, - 6458, 6476, 14, 32, 50, 68, 86, 104, 122, 140, 158, 176, - 194, 212, 230, 248, 266, 284, 302, 320, 338, 356, 374, 392, - 410, 428, 446, 464, 482, 500, 518, 536, 554, 572, 590, 608, - 626, 644, 662, 680, 698, 716, 734, 752, 770, 788, 806, 824, - 842, 860, 878, 896, 914, 932, 950, 968, 986, 1004, 1022, 1040, - 1058, 1076, 1094, 1112, 1130, 1148, 1166, 1184, 1202, 1220, 1238, 1256, - 1274, 1292, 1310, 1328, 1346, 1364, 1382, 1400, 1418, 1436, 1454, 1472, - 1490, 1508, 1526, 1544, 1562, 1580, 1598, 1616, 1634, 1652, 1670, 1688, - 5655, 5673, 5691, 5709, 5727, 5745, 5763, 5781, 5799, 5817, 5835, 5853, - 5871, 5889, 5907, 5925, 5943, 5961, 5979, 5997, 6015, 6033, 6051, 6069, - 6087, 6105, 6123, 6141, 6159, 6177, 6195, 6213, 6231, 6249, 6267, 6285, - 6303, 6321, 6339, 6357, 6375, 6393, 6411, 6429, 6447, 6465, 3, 21, - 39, 57, 75, 93, 111, 129, 147, 165, 183, 201, 219, 237, - 255, 273, 291, 309, 327, 345, 363, 381, 399, 417, 435, 453, - 471, 489, 507, 525, 543, 561, 579, 597, 615, 633, 651, 669, - 687, 705, 723, 741, 759, 777, 795, 813, 831, 849, 867, 885, - 903, 921, 939, 957, 975, 993, 1011, 1029, 1047, 1065, 1083, 1101, - 1119, 1137, 1155, 1173, 1191, 1209, 1227, 1245, 1263, 1281, 1299, 1317, - 1335, 1353, 1371, 1389, 1407, 1425, 1443, 1461, 1479, 1497, 1515, 1533, - 1551, 1569, 1587, 1605, 1623, 1641, 1659, 1677, 1695, 1713, 1731, 1749, - 1767, 1785, 1803, 1821, 1839, 1857, 1875, 1893, 1911, 1929, 1947, 1965, - 1983, 2001, 2019, 2037, 2055, 2073, 2091, 2109, 2127, 2145, 2163, 2181, - 2199, 2217, 2235, 2253, 2271, 2289, 2307, 2325, 2343, 2361, 2379, 2397, - 2415, 2433, 2451, 2469, 2487, 2505, 2523, 2541, 2559, 2577, 2595, 2613, - 2631, 2649, 2667, 2685, 2703, 2721, 2739, 2757, 2775, 2793, 2811, 2829, - 2847, 2865, 2883, 2901, 2919, 2937, 2955, 2973, 2991, 3009, 3027, 3045, - 3063, 3081, 3099, 3117, 3135, 3153, 3171, 3189, 3207, 3225, 3243, 3261, - 3279, 3297, 3315, 3333, 3351, 3369, 3387, 3405, 3423, 3441, 3459, 3477, - 3495, 3513, 3531, 3549, 3567, 3585, 3603, 3621, 3639, 3657, 3675, 3693, - 3711, 3729, 3747, 3765, 3783, 3801, 3819, 3837, 3855, 3873, 3891, 3909, - 3927, 3945, 3963, 3981, 3999, 4017, 4035, 4053, 4071, 4089, 4107, 4125, - 4143, 4161, 4179, 4197, 4215, 4233, 4251, 4269, 4287, 4305, 4323, 4341, - 4359, 4377, 4395, 4413, 4431, 4449, 4467, 4485, 4503, 4521, 4539, 4557, - 4575, 4593, 4611, 4629, 4647, 4665, 4683, 4701, 4719, 4737, 4755, 4773, - 4791, 4809, 4827, 4845, 4863, 4881, 4899, 4917, 4935, 4953, 4971, 4989, - 5007, 5025, 5043, 5061, 5079, 5097, 5115, 5133, 5151, 5169, 5187, 5205, - 5223, 5241, 5259, 5277, 5295, 5313, 5331, 5349, 5367, 5385, 5403, 5421, - 5439, 5457, 5475, 5493, 5511, 5529, 5547, 5565, 5583, 5601, 5619, 5637, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1375, 1393, 1411, 1429, 1447, 1465, 1483, 1501, 1519, 1537, 1555, 1573, - 1591, 1609, 1627, 1645, 1663, 1681, 1699, 1717, 1735, 1753, 1771, 1789, - 1807, 1825, 1843, 1861, 1879, 1897, 1915, 1933, 1951, 1969, 1987, 2005, - 2023, 2041, 2059, 2077, 2095, 2113, 2131, 2149, 2167, 2185, 2203, 2221, - 2239, 2257, 2275, 2293, 2311, 2329, 2347, 2365, 2383, 2401, 2419, 2437, - 2455, 2473, 2491, 2509, 2527, 2545, 2563, 2581, 2599, 2617, 2635, 2653, - 2671, 2689, 2707, 2725, 2743, 2761, 2779, 2797, 2815, 2833, 2851, 2869, - 2887, 2905, 2923, 2941, 2959, 2977, 2995, 3013, 3031, 3049, 3067, 3085, - 3103, 3121, 3139, 3157, 3175, 3193, 3211, 3229, 3247, 3265, 3283, 3301, - 3319, 3337, 3355, 3373, 3391, 3409, 3427, 3445, 3463, 3481, 3499, 3517, - 3535, 3553, 3571, 3589, 3607, 3625, 3643, 3661, 3679, 3697, 3715, 3733, - 3751, 3769, 3787, 3805, 3823, 3841, 3859, 3877, 3895, 3913, 3931, 3949, - 3967, 3985, 4003, 4021, 4039, 4057, 4075, 4093, 4111, 4129, 4147, 4165, - 4183, 4201, 4219, 4237, 4255, 4273, 4291, 4309, 4327, 4345, 4363, 4381, - 4399, 4417, 4435, 4453, 4471, 4489, 4507, 4525, 4543, 4561, 4579, 4597, - 4615, 4633, 4651, 4669, 4687, 4705, 4723, 4741, 4759, 4777, 4795, 4813, - 4831, 4849, 4867, 4885, 4903, 4921, 4939, 4957, 4975, 4993, 5011, 5029, - 5047, 5065, 5083, 5101, 5119, 5137, 5155, 5173, 5191, 5209, 5227, 5245, - 5263, 5281, 5299, 5317, 5335, 5353, 5371, 5389, 5407, 5425, 5443, 5461, - 5479, 5497, 5515, 5533, 5551, 5569, 5587, 5605, 5623, 5641, 5659, 5677, - 5695, 5713, 5731, 5749, 5767, 5785, 5803, 5821, 5839, 5857, 5875, 5893, - 5911, 5929, 5947, 5965, 5983, 6001, 6019, 6037, 6055, 6073, 6091, 6109, - 6127, 6145, 6163, 6181, 6199, 6217, 6235, 6253, 6271, 6289, 6307, 6325, - 6343, 6361, 6379, 6397, 6415, 6433, 6451, 6469, 7, 25, 43, 61, - 79, 97, 115, 133, 151, 169, 187, 205, 223, 241, 259, 277, - 295, 313, 331, 349, 367, 385, 403, 421, 439, 457, 475, 493, - 511, 529, 547, 565, 583, 601, 619, 637, 655, 673, 691, 709, - 727, 745, 763, 781, 799, 817, 835, 853, 871, 889, 907, 925, - 943, 961, 979, 997, 1015, 1033, 1051, 1069, 1087, 1105, 1123, 1141, - 1159, 1177, 1195, 1213, 1231, 1249, 1267, 1285, 1303, 1321, 1339, 1357, - 1247, 1265, 1283, 1301, 1319, 1337, 1355, 1373, 1391, 1409, 1427, 1445, - 1463, 1481, 1499, 1517, 1535, 1553, 1571, 1589, 1607, 1625, 1643, 1661, - 1679, 1697, 1715, 1733, 1751, 1769, 1787, 1805, 1823, 1841, 1859, 1877, - 1895, 1913, 1931, 1949, 1967, 1985, 2003, 2021, 2039, 2057, 2075, 2093, - 2111, 2129, 2147, 2165, 2183, 2201, 2219, 2237, 2255, 2273, 2291, 2309, - 2327, 2345, 2363, 2381, 2399, 2417, 2435, 2453, 2471, 2489, 2507, 2525, - 2543, 2561, 2579, 2597, 2615, 2633, 2651, 2669, 2687, 2705, 2723, 2741, - 2759, 2777, 2795, 2813, 2831, 2849, 2867, 2885, 2903, 2921, 2939, 2957, - 2975, 2993, 3011, 3029, 3047, 3065, 3083, 3101, 3119, 3137, 3155, 3173, - 3191, 3209, 3227, 3245, 3263, 3281, 3299, 3317, 3335, 3353, 3371, 3389, - 3407, 3425, 3443, 3461, 3479, 3497, 3515, 3533, 3551, 3569, 3587, 3605, - 3623, 3641, 3659, 3677, 3695, 3713, 3731, 3749, 3767, 3785, 3803, 3821, - 3839, 3857, 3875, 3893, 3911, 3929, 3947, 3965, 3983, 4001, 4019, 4037, - 4055, 4073, 4091, 4109, 4127, 4145, 4163, 4181, 4199, 4217, 4235, 4253, - 4271, 4289, 4307, 4325, 4343, 4361, 4379, 4397, 4415, 4433, 4451, 4469, - 4487, 4505, 4523, 4541, 4559, 4577, 4595, 4613, 4631, 4649, 4667, 4685, - 4703, 4721, 4739, 4757, 4775, 4793, 4811, 4829, 4847, 4865, 4883, 4901, - 4919, 4937, 4955, 4973, 4991, 5009, 5027, 5045, 5063, 5081, 5099, 5117, - 5135, 5153, 5171, 5189, 5207, 5225, 5243, 5261, 5279, 5297, 5315, 5333, - 5351, 5369, 5387, 5405, 5423, 5441, 5459, 5477, 5495, 5513, 5531, 5549, - 5567, 5585, 5603, 5621, 5639, 5657, 5675, 5693, 5711, 5729, 5747, 5765, - 5783, 5801, 5819, 5837, 5855, 5873, 5891, 5909, 5927, 5945, 5963, 5981, - 5999, 6017, 6035, 6053, 6071, 6089, 6107, 6125, 6143, 6161, 6179, 6197, - 6215, 6233, 6251, 6269, 6287, 6305, 6323, 6341, 6359, 6377, 6395, 6413, - 6431, 6449, 6467, 5, 23, 41, 59, 77, 95, 113, 131, 149, - 167, 185, 203, 221, 239, 257, 275, 293, 311, 329, 347, 365, - 383, 401, 419, 437, 455, 473, 491, 509, 527, 545, 563, 581, - 599, 617, 635, 653, 671, 689, 707, 725, 743, 761, 779, 797, - 815, 833, 851, 869, 887, 905, 923, 941, 959, 977, 995, 1013, - 1031, 1049, 1067, 1085, 1103, 1121, 1139, 1157, 1175, 1193, 1211, 1229, - 4283, 4301, 4319, 4337, 4355, 4373, 4391, 4409, 4427, 4445, 4463, 4481, - 4499, 4517, 4535, 4553, 4571, 4589, 4607, 4625, 4643, 4661, 4679, 4697, - 4715, 4733, 4751, 4769, 4787, 4805, 4823, 4841, 4859, 4877, 4895, 4913, - 4931, 4949, 4967, 4985, 5003, 5021, 5039, 5057, 5075, 5093, 5111, 5129, - 5147, 5165, 5183, 5201, 5219, 5237, 5255, 5273, 5291, 5309, 5327, 5345, - 5363, 5381, 5399, 5417, 5435, 5453, 5471, 5489, 5507, 5525, 5543, 5561, - 5579, 5597, 5615, 5633, 5651, 5669, 5687, 5705, 5723, 5741, 5759, 5777, - 5795, 5813, 5831, 5849, 5867, 5885, 5903, 5921, 5939, 5957, 5975, 5993, - 6011, 6029, 6047, 6065, 6083, 6101, 6119, 6137, 6155, 6173, 6191, 6209, - 6227, 6245, 6263, 6281, 6299, 6317, 6335, 6353, 6371, 6389, 6407, 6425, - 6443, 6461, 6479, 17, 35, 53, 71, 89, 107, 125, 143, 161, - 179, 197, 215, 233, 251, 269, 287, 305, 323, 341, 359, 377, - 395, 413, 431, 449, 467, 485, 503, 521, 539, 557, 575, 593, - 611, 629, 647, 665, 683, 701, 719, 737, 755, 773, 791, 809, - 827, 845, 863, 881, 899, 917, 935, 953, 971, 989, 1007, 1025, - 1043, 1061, 1079, 1097, 1115, 1133, 1151, 1169, 1187, 1205, 1223, 1241, - 1259, 1277, 1295, 1313, 1331, 1349, 1367, 1385, 1403, 1421, 1439, 1457, - 1475, 1493, 1511, 1529, 1547, 1565, 1583, 1601, 1619, 1637, 1655, 1673, - 1691, 1709, 1727, 1745, 1763, 1781, 1799, 1817, 1835, 1853, 1871, 1889, - 1907, 1925, 1943, 1961, 1979, 1997, 2015, 2033, 2051, 2069, 2087, 2105, - 2123, 2141, 2159, 2177, 2195, 2213, 2231, 2249, 2267, 2285, 2303, 2321, - 2339, 2357, 2375, 2393, 2411, 2429, 2447, 2465, 2483, 2501, 2519, 2537, - 2555, 2573, 2591, 2609, 2627, 2645, 2663, 2681, 2699, 2717, 2735, 2753, - 2771, 2789, 2807, 2825, 2843, 2861, 2879, 2897, 2915, 2933, 2951, 2969, - 2987, 3005, 3023, 3041, 3059, 3077, 3095, 3113, 3131, 3149, 3167, 3185, - 3203, 3221, 3239, 3257, 3275, 3293, 3311, 3329, 3347, 3365, 3383, 3401, - 3419, 3437, 3455, 3473, 3491, 3509, 3527, 3545, 3563, 3581, 3599, 3617, - 3635, 3653, 3671, 3689, 3707, 3725, 3743, 3761, 3779, 3797, 3815, 3833, - 3851, 3869, 3887, 3905, 3923, 3941, 3959, 3977, 3995, 4013, 4031, 4049, - 4067, 4085, 4103, 4121, 4139, 4157, 4175, 4193, 4211, 4229, 4247, 4265, - 5665, 5683, 5701, 5719, 5737, 5755, 5773, 5791, 5809, 5827, 5845, 5863, - 5881, 5899, 5917, 5935, 5953, 5971, 5989, 6007, 6025, 6043, 6061, 6079, - 6097, 6115, 6133, 6151, 6169, 6187, 6205, 6223, 6241, 6259, 6277, 6295, - 6313, 6331, 6349, 6367, 6385, 6403, 6421, 6439, 6457, 6475, 13, 31, - 49, 67, 85, 103, 121, 139, 157, 175, 193, 211, 229, 247, - 265, 283, 301, 319, 337, 355, 373, 391, 409, 427, 445, 463, - 481, 499, 517, 535, 553, 571, 589, 607, 625, 643, 661, 679, - 697, 715, 733, 751, 769, 787, 805, 823, 841, 859, 877, 895, - 913, 931, 949, 967, 985, 1003, 1021, 1039, 1057, 1075, 1093, 1111, - 1129, 1147, 1165, 1183, 1201, 1219, 1237, 1255, 1273, 1291, 1309, 1327, - 1345, 1363, 1381, 1399, 1417, 1435, 1453, 1471, 1489, 1507, 1525, 1543, - 1561, 1579, 1597, 1615, 1633, 1651, 1669, 1687, 1705, 1723, 1741, 1759, - 1777, 1795, 1813, 1831, 1849, 1867, 1885, 1903, 1921, 1939, 1957, 1975, - 1993, 2011, 2029, 2047, 2065, 2083, 2101, 2119, 2137, 2155, 2173, 2191, - 2209, 2227, 2245, 2263, 2281, 2299, 2317, 2335, 2353, 2371, 2389, 2407, - 2425, 2443, 2461, 2479, 2497, 2515, 2533, 2551, 2569, 2587, 2605, 2623, - 2641, 2659, 2677, 2695, 2713, 2731, 2749, 2767, 2785, 2803, 2821, 2839, - 2857, 2875, 2893, 2911, 2929, 2947, 2965, 2983, 3001, 3019, 3037, 3055, - 3073, 3091, 3109, 3127, 3145, 3163, 3181, 3199, 3217, 3235, 3253, 3271, - 3289, 3307, 3325, 3343, 3361, 3379, 3397, 3415, 3433, 3451, 3469, 3487, - 3505, 3523, 3541, 3559, 3577, 3595, 3613, 3631, 3649, 3667, 3685, 3703, - 3721, 3739, 3757, 3775, 3793, 3811, 3829, 3847, 3865, 3883, 3901, 3919, - 3937, 3955, 3973, 3991, 4009, 4027, 4045, 4063, 4081, 4099, 4117, 4135, - 4153, 4171, 4189, 4207, 4225, 4243, 4261, 4279, 4297, 4315, 4333, 4351, - 4369, 4387, 4405, 4423, 4441, 4459, 4477, 4495, 4513, 4531, 4549, 4567, - 4585, 4603, 4621, 4639, 4657, 4675, 4693, 4711, 4729, 4747, 4765, 4783, - 4801, 4819, 4837, 4855, 4873, 4891, 4909, 4927, 4945, 4963, 4981, 4999, - 5017, 5035, 5053, 5071, 5089, 5107, 5125, 5143, 5161, 5179, 5197, 5215, - 5233, 5251, 5269, 5287, 5305, 5323, 5341, 5359, 5377, 5395, 5413, 5431, - 5449, 5467, 5485, 5503, 5521, 5539, 5557, 5575, 5593, 5611, 5629, 5647, - 1722, 1740, 1758, 1776, 1794, 1812, 1830, 1848, 1866, 1884, 1902, 1920, - 1938, 1956, 1974, 1992, 2010, 2028, 2046, 2064, 2082, 2100, 2118, 2136, - 2154, 2172, 2190, 2208, 2226, 2244, 2262, 2280, 2298, 2316, 2334, 2352, - 2370, 2388, 2406, 2424, 2442, 2460, 2478, 2496, 2514, 2532, 2550, 2568, - 2586, 2604, 2622, 2640, 2658, 2676, 2694, 2712, 2730, 2748, 2766, 2784, - 2802, 2820, 2838, 2856, 2874, 2892, 2910, 2928, 2946, 2964, 2982, 3000, - 3018, 3036, 3054, 3072, 3090, 3108, 3126, 3144, 3162, 3180, 3198, 3216, - 3234, 3252, 3270, 3288, 3306, 3324, 3342, 3360, 3378, 3396, 3414, 3432, - 3450, 3468, 3486, 3504, 3522, 3540, 3558, 3576, 3594, 3612, 3630, 3648, - 3666, 3684, 3702, 3720, 3738, 3756, 3774, 3792, 3810, 3828, 3846, 3864, - 3882, 3900, 3918, 3936, 3954, 3972, 3990, 4008, 4026, 4044, 4062, 4080, - 4098, 4116, 4134, 4152, 4170, 4188, 4206, 4224, 4242, 4260, 4278, 4296, - 4314, 4332, 4350, 4368, 4386, 4404, 4422, 4440, 4458, 4476, 4494, 4512, - 4530, 4548, 4566, 4584, 4602, 4620, 4638, 4656, 4674, 4692, 4710, 4728, - 4746, 4764, 4782, 4800, 4818, 4836, 4854, 4872, 4890, 4908, 4926, 4944, - 4962, 4980, 4998, 5016, 5034, 5052, 5070, 5088, 5106, 5124, 5142, 5160, - 5178, 5196, 5214, 5232, 5250, 5268, 5286, 5304, 5322, 5340, 5358, 5376, - 5394, 5412, 5430, 5448, 5466, 5484, 5502, 5520, 5538, 5556, 5574, 5592, - 5610, 5628, 5646, 5664, 5682, 5700, 5718, 5736, 5754, 5772, 5790, 5808, - 5826, 5844, 5862, 5880, 5898, 5916, 5934, 5952, 5970, 5988, 6006, 6024, - 6042, 6060, 6078, 6096, 6114, 6132, 6150, 6168, 6186, 6204, 6222, 6240, - 6258, 6276, 6294, 6312, 6330, 6348, 6366, 6384, 6402, 6420, 6438, 6456, - 6474, 12, 30, 48, 66, 84, 102, 120, 138, 156, 174, 192, - 210, 228, 246, 264, 282, 300, 318, 336, 354, 372, 390, 408, - 426, 444, 462, 480, 498, 516, 534, 552, 570, 588, 606, 624, - 642, 660, 678, 696, 714, 732, 750, 768, 786, 804, 822, 840, - 858, 876, 894, 912, 930, 948, 966, 984, 1002, 1020, 1038, 1056, - 1074, 1092, 1110, 1128, 1146, 1164, 1182, 1200, 1218, 1236, 1254, 1272, - 1290, 1308, 1326, 1344, 1362, 1380, 1398, 1416, 1434, 1452, 1470, 1488, - 1506, 1524, 1542, 1560, 1578, 1596, 1614, 1632, 1650, 1668, 1686, 1704, - 2000, 2018, 2036, 2054, 2072, 2090, 2108, 2126, 2144, 2162, 2180, 2198, - 2216, 2234, 2252, 2270, 2288, 2306, 2324, 2342, 2360, 2378, 2396, 2414, - 2432, 2450, 2468, 2486, 2504, 2522, 2540, 2558, 2576, 2594, 2612, 2630, - 2648, 2666, 2684, 2702, 2720, 2738, 2756, 2774, 2792, 2810, 2828, 2846, - 2864, 2882, 2900, 2918, 2936, 2954, 2972, 2990, 3008, 3026, 3044, 3062, - 3080, 3098, 3116, 3134, 3152, 3170, 3188, 3206, 3224, 3242, 3260, 3278, - 3296, 3314, 3332, 3350, 3368, 3386, 3404, 3422, 3440, 3458, 3476, 3494, - 3512, 3530, 3548, 3566, 3584, 3602, 3620, 3638, 3656, 3674, 3692, 3710, - 3728, 3746, 3764, 3782, 3800, 3818, 3836, 3854, 3872, 3890, 3908, 3926, - 3944, 3962, 3980, 3998, 4016, 4034, 4052, 4070, 4088, 4106, 4124, 4142, - 4160, 4178, 4196, 4214, 4232, 4250, 4268, 4286, 4304, 4322, 4340, 4358, - 4376, 4394, 4412, 4430, 4448, 4466, 4484, 4502, 4520, 4538, 4556, 4574, - 4592, 4610, 4628, 4646, 4664, 4682, 4700, 4718, 4736, 4754, 4772, 4790, - 4808, 4826, 4844, 4862, 4880, 4898, 4916, 4934, 4952, 4970, 4988, 5006, - 5024, 5042, 5060, 5078, 5096, 5114, 5132, 5150, 5168, 5186, 5204, 5222, - 5240, 5258, 5276, 5294, 5312, 5330, 5348, 5366, 5384, 5402, 5420, 5438, - 5456, 5474, 5492, 5510, 5528, 5546, 5564, 5582, 5600, 5618, 5636, 5654, - 5672, 5690, 5708, 5726, 5744, 5762, 5780, 5798, 5816, 5834, 5852, 5870, - 5888, 5906, 5924, 5942, 5960, 5978, 5996, 6014, 6032, 6050, 6068, 6086, - 6104, 6122, 6140, 6158, 6176, 6194, 6212, 6230, 6248, 6266, 6284, 6302, - 6320, 6338, 6356, 6374, 6392, 6410, 6428, 6446, 6464, 2, 20, 38, - 56, 74, 92, 110, 128, 146, 164, 182, 200, 218, 236, 254, - 272, 290, 308, 326, 344, 362, 380, 398, 416, 434, 452, 470, - 488, 506, 524, 542, 560, 578, 596, 614, 632, 650, 668, 686, - 704, 722, 740, 758, 776, 794, 812, 830, 848, 866, 884, 902, - 920, 938, 956, 974, 992, 1010, 1028, 1046, 1064, 1082, 1100, 1118, - 1136, 1154, 1172, 1190, 1208, 1226, 1244, 1262, 1280, 1298, 1316, 1334, - 1352, 1370, 1388, 1406, 1424, 1442, 1460, 1478, 1496, 1514, 1532, 1550, - 1568, 1586, 1604, 1622, 1640, 1658, 1676, 1694, 1712, 1730, 1748, 1766, - 1784, 1802, 1820, 1838, 1856, 1874, 1892, 1910, 1928, 1946, 1964, 1982, - 1258, 1276, 1294, 1312, 1330, 1348, 1366, 1384, 1402, 1420, 1438, 1456, - 1474, 1492, 1510, 1528, 1546, 1564, 1582, 1600, 1618, 1636, 1654, 1672, - 1690, 1708, 1726, 1744, 1762, 1780, 1798, 1816, 1834, 1852, 1870, 1888, - 1906, 1924, 1942, 1960, 1978, 1996, 2014, 2032, 2050, 2068, 2086, 2104, - 2122, 2140, 2158, 2176, 2194, 2212, 2230, 2248, 2266, 2284, 2302, 2320, - 2338, 2356, 2374, 2392, 2410, 2428, 2446, 2464, 2482, 2500, 2518, 2536, - 2554, 2572, 2590, 2608, 2626, 2644, 2662, 2680, 2698, 2716, 2734, 2752, - 2770, 2788, 2806, 2824, 2842, 2860, 2878, 2896, 2914, 2932, 2950, 2968, - 2986, 3004, 3022, 3040, 3058, 3076, 3094, 3112, 3130, 3148, 3166, 3184, - 3202, 3220, 3238, 3256, 3274, 3292, 3310, 3328, 3346, 3364, 3382, 3400, - 3418, 3436, 3454, 3472, 3490, 3508, 3526, 3544, 3562, 3580, 3598, 3616, - 3634, 3652, 3670, 3688, 3706, 3724, 3742, 3760, 3778, 3796, 3814, 3832, - 3850, 3868, 3886, 3904, 3922, 3940, 3958, 3976, 3994, 4012, 4030, 4048, - 4066, 4084, 4102, 4120, 4138, 4156, 4174, 4192, 4210, 4228, 4246, 4264, - 4282, 4300, 4318, 4336, 4354, 4372, 4390, 4408, 4426, 4444, 4462, 4480, - 4498, 4516, 4534, 4552, 4570, 4588, 4606, 4624, 4642, 4660, 4678, 4696, - 4714, 4732, 4750, 4768, 4786, 4804, 4822, 4840, 4858, 4876, 4894, 4912, - 4930, 4948, 4966, 4984, 5002, 5020, 5038, 5056, 5074, 5092, 5110, 5128, - 5146, 5164, 5182, 5200, 5218, 5236, 5254, 5272, 5290, 5308, 5326, 5344, - 5362, 5380, 5398, 5416, 5434, 5452, 5470, 5488, 5506, 5524, 5542, 5560, - 5578, 5596, 5614, 5632, 5650, 5668, 5686, 5704, 5722, 5740, 5758, 5776, - 5794, 5812, 5830, 5848, 5866, 5884, 5902, 5920, 5938, 5956, 5974, 5992, - 6010, 6028, 6046, 6064, 6082, 6100, 6118, 6136, 6154, 6172, 6190, 6208, - 6226, 6244, 6262, 6280, 6298, 6316, 6334, 6352, 6370, 6388, 6406, 6424, - 6442, 6460, 6478, 16, 34, 52, 70, 88, 106, 124, 142, 160, - 178, 196, 214, 232, 250, 268, 286, 304, 322, 340, 358, 376, - 394, 412, 430, 448, 466, 484, 502, 520, 538, 556, 574, 592, - 610, 628, 646, 664, 682, 700, 718, 736, 754, 772, 790, 808, - 826, 844, 862, 880, 898, 916, 934, 952, 970, 988, 1006, 1024, - 1042, 1060, 1078, 1096, 1114, 1132, 1150, 1168, 1186, 1204, 1222, 1240, - 5643, 5661, 5679, 5697, 5715, 5733, 5751, 5769, 5787, 5805, 5823, 5841, - 5859, 5877, 5895, 5913, 5931, 5949, 5967, 5985, 6003, 6021, 6039, 6057, - 6075, 6093, 6111, 6129, 6147, 6165, 6183, 6201, 6219, 6237, 6255, 6273, - 6291, 6309, 6327, 6345, 6363, 6381, 6399, 6417, 6435, 6453, 6471, 9, - 27, 45, 63, 81, 99, 117, 135, 153, 171, 189, 207, 225, - 243, 261, 279, 297, 315, 333, 351, 369, 387, 405, 423, 441, - 459, 477, 495, 513, 531, 549, 567, 585, 603, 621, 639, 657, - 675, 693, 711, 729, 747, 765, 783, 801, 819, 837, 855, 873, - 891, 909, 927, 945, 963, 981, 999, 1017, 1035, 1053, 1071, 1089, - 1107, 1125, 1143, 1161, 1179, 1197, 1215, 1233, 1251, 1269, 1287, 1305, - 1323, 1341, 1359, 1377, 1395, 1413, 1431, 1449, 1467, 1485, 1503, 1521, - 1539, 1557, 1575, 1593, 1611, 1629, 1647, 1665, 1683, 1701, 1719, 1737, - 1755, 1773, 1791, 1809, 1827, 1845, 1863, 1881, 1899, 1917, 1935, 1953, - 1971, 1989, 2007, 2025, 2043, 2061, 2079, 2097, 2115, 2133, 2151, 2169, - 2187, 2205, 2223, 2241, 2259, 2277, 2295, 2313, 2331, 2349, 2367, 2385, - 2403, 2421, 2439, 2457, 2475, 2493, 2511, 2529, 2547, 2565, 2583, 2601, - 2619, 2637, 2655, 2673, 2691, 2709, 2727, 2745, 2763, 2781, 2799, 2817, - 2835, 2853, 2871, 2889, 2907, 2925, 2943, 2961, 2979, 2997, 3015, 3033, - 3051, 3069, 3087, 3105, 3123, 3141, 3159, 3177, 3195, 3213, 3231, 3249, - 3267, 3285, 3303, 3321, 3339, 3357, 3375, 3393, 3411, 3429, 3447, 3465, - 3483, 3501, 3519, 3537, 3555, 3573, 3591, 3609, 3627, 3645, 3663, 3681, - 3699, 3717, 3735, 3753, 3771, 3789, 3807, 3825, 3843, 3861, 3879, 3897, - 3915, 3933, 3951, 3969, 3987, 4005, 4023, 4041, 4059, 4077, 4095, 4113, - 4131, 4149, 4167, 4185, 4203, 4221, 4239, 4257, 4275, 4293, 4311, 4329, - 4347, 4365, 4383, 4401, 4419, 4437, 4455, 4473, 4491, 4509, 4527, 4545, - 4563, 4581, 4599, 4617, 4635, 4653, 4671, 4689, 4707, 4725, 4743, 4761, - 4779, 4797, 4815, 4833, 4851, 4869, 4887, 4905, 4923, 4941, 4959, 4977, - 4995, 5013, 5031, 5049, 5067, 5085, 5103, 5121, 5139, 5157, 5175, 5193, - 5211, 5229, 5247, 5265, 5283, 5301, 5319, 5337, 5355, 5373, 5391, 5409, - 5427, 5445, 5463, 5481, 5499, 5517, 5535, 5553, 5571, 5589, 5607, 5625, - 1296, 1314, 1332, 1350, 1368, 1386, 1404, 1422, 1440, 1458, 1476, 1494, - 1512, 1530, 1548, 1566, 1584, 1602, 1620, 1638, 1656, 1674, 1692, 1710, - 1728, 1746, 1764, 1782, 1800, 1818, 1836, 1854, 1872, 1890, 1908, 1926, - 1944, 1962, 1980, 1998, 2016, 2034, 2052, 2070, 2088, 2106, 2124, 2142, - 2160, 2178, 2196, 2214, 2232, 2250, 2268, 2286, 2304, 2322, 2340, 2358, - 2376, 2394, 2412, 2430, 2448, 2466, 2484, 2502, 2520, 2538, 2556, 2574, - 2592, 2610, 2628, 2646, 2664, 2682, 2700, 2718, 2736, 2754, 2772, 2790, - 2808, 2826, 2844, 2862, 2880, 2898, 2916, 2934, 2952, 2970, 2988, 3006, - 3024, 3042, 3060, 3078, 3096, 3114, 3132, 3150, 3168, 3186, 3204, 3222, - 3240, 3258, 3276, 3294, 3312, 3330, 3348, 3366, 3384, 3402, 3420, 3438, - 3456, 3474, 3492, 3510, 3528, 3546, 3564, 3582, 3600, 3618, 3636, 3654, - 3672, 3690, 3708, 3726, 3744, 3762, 3780, 3798, 3816, 3834, 3852, 3870, - 3888, 3906, 3924, 3942, 3960, 3978, 3996, 4014, 4032, 4050, 4068, 4086, - 4104, 4122, 4140, 4158, 4176, 4194, 4212, 4230, 4248, 4266, 4284, 4302, - 4320, 4338, 4356, 4374, 4392, 4410, 4428, 4446, 4464, 4482, 4500, 4518, - 4536, 4554, 4572, 4590, 4608, 4626, 4644, 4662, 4680, 4698, 4716, 4734, - 4752, 4770, 4788, 4806, 4824, 4842, 4860, 4878, 4896, 4914, 4932, 4950, - 4968, 4986, 5004, 5022, 5040, 5058, 5076, 5094, 5112, 5130, 5148, 5166, - 5184, 5202, 5220, 5238, 5256, 5274, 5292, 5310, 5328, 5346, 5364, 5382, - 5400, 5418, 5436, 5454, 5472, 5490, 5508, 5526, 5544, 5562, 5580, 5598, - 5616, 5634, 5652, 5670, 5688, 5706, 5724, 5742, 5760, 5778, 5796, 5814, - 5832, 5850, 5868, 5886, 5904, 5922, 5940, 5958, 5976, 5994, 6012, 6030, - 6048, 6066, 6084, 6102, 6120, 6138, 6156, 6174, 6192, 6210, 6228, 6246, - 6264, 6282, 6300, 6318, 6336, 6354, 6372, 6390, 6408, 6426, 6444, 6462, - 6480, 18, 36, 54, 72, 90, 108, 126, 144, 162, 180, 198, - 216, 234, 252, 270, 288, 306, 324, 342, 360, 378, 396, 414, - 432, 450, 468, 486, 504, 522, 540, 558, 576, 594, 612, 630, - 648, 666, 684, 702, 720, 738, 756, 774, 792, 810, 828, 846, - 864, 882, 900, 918, 936, 954, 972, 990, 1008, 1026, 1044, 1062, - 1080, 1098, 1116, 1134, 1152, 1170, 1188, 1206, 1224, 1242, 1260, 1278, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4812, 4830, 4848, 4866, 4884, 4902, 4920, 4938, 4956, 4974, 4992, 5010, - 5028, 5046, 5064, 5082, 5100, 5118, 5136, 5154, 5172, 5190, 5208, 5226, - 5244, 5262, 5280, 5298, 5316, 5334, 5352, 5370, 5388, 5406, 5424, 5442, - 5460, 5478, 5496, 5514, 5532, 5550, 5568, 5586, 5604, 5622, 5640, 5658, - 5676, 5694, 5712, 5730, 5748, 5766, 5784, 5802, 5820, 5838, 5856, 5874, - 5892, 5910, 5928, 5946, 5964, 5982, 6000, 6018, 6036, 6054, 6072, 6090, - 6108, 6126, 6144, 6162, 6180, 6198, 6216, 6234, 6252, 6270, 6288, 6306, - 6324, 6342, 6360, 6378, 6396, 6414, 6432, 6450, 6468, 6, 24, 42, - 60, 78, 96, 114, 132, 150, 168, 186, 204, 222, 240, 258, - 276, 294, 312, 330, 348, 366, 384, 402, 420, 438, 456, 474, - 492, 510, 528, 546, 564, 582, 600, 618, 636, 654, 672, 690, - 708, 726, 744, 762, 780, 798, 816, 834, 852, 870, 888, 906, - 924, 942, 960, 978, 996, 1014, 1032, 1050, 1068, 1086, 1104, 1122, - 1140, 1158, 1176, 1194, 1212, 1230, 1248, 1266, 1284, 1302, 1320, 1338, - 1356, 1374, 1392, 1410, 1428, 1446, 1464, 1482, 1500, 1518, 1536, 1554, - 1572, 1590, 1608, 1626, 1644, 1662, 1680, 1698, 1716, 1734, 1752, 1770, - 1788, 1806, 1824, 1842, 1860, 1878, 1896, 1914, 1932, 1950, 1968, 1986, - 2004, 2022, 2040, 2058, 2076, 2094, 2112, 2130, 2148, 2166, 2184, 2202, - 2220, 2238, 2256, 2274, 2292, 2310, 2328, 2346, 2364, 2382, 2400, 2418, - 2436, 2454, 2472, 2490, 2508, 2526, 2544, 2562, 2580, 2598, 2616, 2634, - 2652, 2670, 2688, 2706, 2724, 2742, 2760, 2778, 2796, 2814, 2832, 2850, - 2868, 2886, 2904, 2922, 2940, 2958, 2976, 2994, 3012, 3030, 3048, 3066, - 3084, 3102, 3120, 3138, 3156, 3174, 3192, 3210, 3228, 3246, 3264, 3282, - 3300, 3318, 3336, 3354, 3372, 3390, 3408, 3426, 3444, 3462, 3480, 3498, - 3516, 3534, 3552, 3570, 3588, 3606, 3624, 3642, 3660, 3678, 3696, 3714, - 3732, 3750, 3768, 3786, 3804, 3822, 3840, 3858, 3876, 3894, 3912, 3930, - 3948, 3966, 3984, 4002, 4020, 4038, 4056, 4074, 4092, 4110, 4128, 4146, - 4164, 4182, 4200, 4218, 4236, 4254, 4272, 4290, 4308, 4326, 4344, 4362, - 4380, 4398, 4416, 4434, 4452, 4470, 4488, 4506, 4524, 4542, 4560, 4578, - 4596, 4614, 4632, 4650, 4668, 4686, 4704, 4722, 4740, 4758, 4776, 4794, - 2929, 2947, 2965, 2983, 3001, 3019, 3037, 3055, 3073, 3091, 3109, 3127, - 3145, 3163, 3181, 3199, 3217, 3235, 3253, 3271, 3289, 3307, 3325, 3343, - 3361, 3379, 3397, 3415, 3433, 3451, 3469, 3487, 3505, 3523, 3541, 3559, - 3577, 3595, 3613, 3631, 3649, 3667, 3685, 3703, 3721, 3739, 3757, 3775, - 3793, 3811, 3829, 3847, 3865, 3883, 3901, 3919, 3937, 3955, 3973, 3991, - 4009, 4027, 4045, 4063, 4081, 4099, 4117, 4135, 4153, 4171, 4189, 4207, - 4225, 4243, 4261, 4279, 4297, 4315, 4333, 4351, 4369, 4387, 4405, 4423, - 4441, 4459, 4477, 4495, 4513, 4531, 4549, 4567, 4585, 4603, 4621, 4639, - 4657, 4675, 4693, 4711, 4729, 4747, 4765, 4783, 4801, 4819, 4837, 4855, - 4873, 4891, 4909, 4927, 4945, 4963, 4981, 4999, 5017, 5035, 5053, 5071, - 5089, 5107, 5125, 5143, 5161, 5179, 5197, 5215, 5233, 5251, 5269, 5287, - 5305, 5323, 5341, 5359, 5377, 5395, 5413, 5431, 5449, 5467, 5485, 5503, - 5521, 5539, 5557, 5575, 5593, 5611, 5629, 5647, 5665, 5683, 5701, 5719, - 5737, 5755, 5773, 5791, 5809, 5827, 5845, 5863, 5881, 5899, 5917, 5935, - 5953, 5971, 5989, 6007, 6025, 6043, 6061, 6079, 6097, 6115, 6133, 6151, - 6169, 6187, 6205, 6223, 6241, 6259, 6277, 6295, 6313, 6331, 6349, 6367, - 6385, 6403, 6421, 6439, 6457, 6475, 13, 31, 49, 67, 85, 103, - 121, 139, 157, 175, 193, 211, 229, 247, 265, 283, 301, 319, - 337, 355, 373, 391, 409, 427, 445, 463, 481, 499, 517, 535, - 553, 571, 589, 607, 625, 643, 661, 679, 697, 715, 733, 751, - 769, 787, 805, 823, 841, 859, 877, 895, 913, 931, 949, 967, - 985, 1003, 1021, 1039, 1057, 1075, 1093, 1111, 1129, 1147, 1165, 1183, - 1201, 1219, 1237, 1255, 1273, 1291, 1309, 1327, 1345, 1363, 1381, 1399, - 1417, 1435, 1453, 1471, 1489, 1507, 1525, 1543, 1561, 1579, 1597, 1615, - 1633, 1651, 1669, 1687, 1705, 1723, 1741, 1759, 1777, 1795, 1813, 1831, - 1849, 1867, 1885, 1903, 1921, 1939, 1957, 1975, 1993, 2011, 2029, 2047, - 2065, 2083, 2101, 2119, 2137, 2155, 2173, 2191, 2209, 2227, 2245, 2263, - 2281, 2299, 2317, 2335, 2353, 2371, 2389, 2407, 2425, 2443, 2461, 2479, - 2497, 2515, 2533, 2551, 2569, 2587, 2605, 2623, 2641, 2659, 2677, 2695, - 2713, 2731, 2749, 2767, 2785, 2803, 2821, 2839, 2857, 2875, 2893, 2911, - 6239, 6257, 6275, 6293, 6311, 6329, 6347, 6365, 6383, 6401, 6419, 6437, - 6455, 6473, 11, 29, 47, 65, 83, 101, 119, 137, 155, 173, - 191, 209, 227, 245, 263, 281, 299, 317, 335, 353, 371, 389, - 407, 425, 443, 461, 479, 497, 515, 533, 551, 569, 587, 605, - 623, 641, 659, 677, 695, 713, 731, 749, 767, 785, 803, 821, - 839, 857, 875, 893, 911, 929, 947, 965, 983, 1001, 1019, 1037, - 1055, 1073, 1091, 1109, 1127, 1145, 1163, 1181, 1199, 1217, 1235, 1253, - 1271, 1289, 1307, 1325, 1343, 1361, 1379, 1397, 1415, 1433, 1451, 1469, - 1487, 1505, 1523, 1541, 1559, 1577, 1595, 1613, 1631, 1649, 1667, 1685, - 1703, 1721, 1739, 1757, 1775, 1793, 1811, 1829, 1847, 1865, 1883, 1901, - 1919, 1937, 1955, 1973, 1991, 2009, 2027, 2045, 2063, 2081, 2099, 2117, - 2135, 2153, 2171, 2189, 2207, 2225, 2243, 2261, 2279, 2297, 2315, 2333, - 2351, 2369, 2387, 2405, 2423, 2441, 2459, 2477, 2495, 2513, 2531, 2549, - 2567, 2585, 2603, 2621, 2639, 2657, 2675, 2693, 2711, 2729, 2747, 2765, - 2783, 2801, 2819, 2837, 2855, 2873, 2891, 2909, 2927, 2945, 2963, 2981, - 2999, 3017, 3035, 3053, 3071, 3089, 3107, 3125, 3143, 3161, 3179, 3197, - 3215, 3233, 3251, 3269, 3287, 3305, 3323, 3341, 3359, 3377, 3395, 3413, - 3431, 3449, 3467, 3485, 3503, 3521, 3539, 3557, 3575, 3593, 3611, 3629, - 3647, 3665, 3683, 3701, 3719, 3737, 3755, 3773, 3791, 3809, 3827, 3845, - 3863, 3881, 3899, 3917, 3935, 3953, 3971, 3989, 4007, 4025, 4043, 4061, - 4079, 4097, 4115, 4133, 4151, 4169, 4187, 4205, 4223, 4241, 4259, 4277, - 4295, 4313, 4331, 4349, 4367, 4385, 4403, 4421, 4439, 4457, 4475, 4493, - 4511, 4529, 4547, 4565, 4583, 4601, 4619, 4637, 4655, 4673, 4691, 4709, - 4727, 4745, 4763, 4781, 4799, 4817, 4835, 4853, 4871, 4889, 4907, 4925, - 4943, 4961, 4979, 4997, 5015, 5033, 5051, 5069, 5087, 5105, 5123, 5141, - 5159, 5177, 5195, 5213, 5231, 5249, 5267, 5285, 5303, 5321, 5339, 5357, - 5375, 5393, 5411, 5429, 5447, 5465, 5483, 5501, 5519, 5537, 5555, 5573, - 5591, 5609, 5627, 5645, 5663, 5681, 5699, 5717, 5735, 5753, 5771, 5789, - 5807, 5825, 5843, 5861, 5879, 5897, 5915, 5933, 5951, 5969, 5987, 6005, - 6023, 6041, 6059, 6077, 6095, 6113, 6131, 6149, 6167, 6185, 6203, 6221, - 3957, 3975, 3993, 4011, 4029, 4047, 4065, 4083, 4101, 4119, 4137, 4155, - 4173, 4191, 4209, 4227, 4245, 4263, 4281, 4299, 4317, 4335, 4353, 4371, - 4389, 4407, 4425, 4443, 4461, 4479, 4497, 4515, 4533, 4551, 4569, 4587, - 4605, 4623, 4641, 4659, 4677, 4695, 4713, 4731, 4749, 4767, 4785, 4803, - 4821, 4839, 4857, 4875, 4893, 4911, 4929, 4947, 4965, 4983, 5001, 5019, - 5037, 5055, 5073, 5091, 5109, 5127, 5145, 5163, 5181, 5199, 5217, 5235, - 5253, 5271, 5289, 5307, 5325, 5343, 5361, 5379, 5397, 5415, 5433, 5451, - 5469, 5487, 5505, 5523, 5541, 5559, 5577, 5595, 5613, 5631, 5649, 5667, - 5685, 5703, 5721, 5739, 5757, 5775, 5793, 5811, 5829, 5847, 5865, 5883, - 5901, 5919, 5937, 5955, 5973, 5991, 6009, 6027, 6045, 6063, 6081, 6099, - 6117, 6135, 6153, 6171, 6189, 6207, 6225, 6243, 6261, 6279, 6297, 6315, - 6333, 6351, 6369, 6387, 6405, 6423, 6441, 6459, 6477, 15, 33, 51, - 69, 87, 105, 123, 141, 159, 177, 195, 213, 231, 249, 267, - 285, 303, 321, 339, 357, 375, 393, 411, 429, 447, 465, 483, - 501, 519, 537, 555, 573, 591, 609, 627, 645, 663, 681, 699, - 717, 735, 753, 771, 789, 807, 825, 843, 861, 879, 897, 915, - 933, 951, 969, 987, 1005, 1023, 1041, 1059, 1077, 1095, 1113, 1131, - 1149, 1167, 1185, 1203, 1221, 1239, 1257, 1275, 1293, 1311, 1329, 1347, - 1365, 1383, 1401, 1419, 1437, 1455, 1473, 1491, 1509, 1527, 1545, 1563, - 1581, 1599, 1617, 1635, 1653, 1671, 1689, 1707, 1725, 1743, 1761, 1779, - 1797, 1815, 1833, 1851, 1869, 1887, 1905, 1923, 1941, 1959, 1977, 1995, - 2013, 2031, 2049, 2067, 2085, 2103, 2121, 2139, 2157, 2175, 2193, 2211, - 2229, 2247, 2265, 2283, 2301, 2319, 2337, 2355, 2373, 2391, 2409, 2427, - 2445, 2463, 2481, 2499, 2517, 2535, 2553, 2571, 2589, 2607, 2625, 2643, - 2661, 2679, 2697, 2715, 2733, 2751, 2769, 2787, 2805, 2823, 2841, 2859, - 2877, 2895, 2913, 2931, 2949, 2967, 2985, 3003, 3021, 3039, 3057, 3075, - 3093, 3111, 3129, 3147, 3165, 3183, 3201, 3219, 3237, 3255, 3273, 3291, - 3309, 3327, 3345, 3363, 3381, 3399, 3417, 3435, 3453, 3471, 3489, 3507, - 3525, 3543, 3561, 3579, 3597, 3615, 3633, 3651, 3669, 3687, 3705, 3723, - 3741, 3759, 3777, 3795, 3813, 3831, 3849, 3867, 3885, 3903, 3921, 3939, - 737, 755, 773, 791, 809, 827, 845, 863, 881, 899, 917, 935, - 953, 971, 989, 1007, 1025, 1043, 1061, 1079, 1097, 1115, 1133, 1151, - 1169, 1187, 1205, 1223, 1241, 1259, 1277, 1295, 1313, 1331, 1349, 1367, - 1385, 1403, 1421, 1439, 1457, 1475, 1493, 1511, 1529, 1547, 1565, 1583, - 1601, 1619, 1637, 1655, 1673, 1691, 1709, 1727, 1745, 1763, 1781, 1799, - 1817, 1835, 1853, 1871, 1889, 1907, 1925, 1943, 1961, 1979, 1997, 2015, - 2033, 2051, 2069, 2087, 2105, 2123, 2141, 2159, 2177, 2195, 2213, 2231, - 2249, 2267, 2285, 2303, 2321, 2339, 2357, 2375, 2393, 2411, 2429, 2447, - 2465, 2483, 2501, 2519, 2537, 2555, 2573, 2591, 2609, 2627, 2645, 2663, - 2681, 2699, 2717, 2735, 2753, 2771, 2789, 2807, 2825, 2843, 2861, 2879, - 2897, 2915, 2933, 2951, 2969, 2987, 3005, 3023, 3041, 3059, 3077, 3095, - 3113, 3131, 3149, 3167, 3185, 3203, 3221, 3239, 3257, 3275, 3293, 3311, - 3329, 3347, 3365, 3383, 3401, 3419, 3437, 3455, 3473, 3491, 3509, 3527, - 3545, 3563, 3581, 3599, 3617, 3635, 3653, 3671, 3689, 3707, 3725, 3743, - 3761, 3779, 3797, 3815, 3833, 3851, 3869, 3887, 3905, 3923, 3941, 3959, - 3977, 3995, 4013, 4031, 4049, 4067, 4085, 4103, 4121, 4139, 4157, 4175, - 4193, 4211, 4229, 4247, 4265, 4283, 4301, 4319, 4337, 4355, 4373, 4391, - 4409, 4427, 4445, 4463, 4481, 4499, 4517, 4535, 4553, 4571, 4589, 4607, - 4625, 4643, 4661, 4679, 4697, 4715, 4733, 4751, 4769, 4787, 4805, 4823, - 4841, 4859, 4877, 4895, 4913, 4931, 4949, 4967, 4985, 5003, 5021, 5039, - 5057, 5075, 5093, 5111, 5129, 5147, 5165, 5183, 5201, 5219, 5237, 5255, - 5273, 5291, 5309, 5327, 5345, 5363, 5381, 5399, 5417, 5435, 5453, 5471, - 5489, 5507, 5525, 5543, 5561, 5579, 5597, 5615, 5633, 5651, 5669, 5687, - 5705, 5723, 5741, 5759, 5777, 5795, 5813, 5831, 5849, 5867, 5885, 5903, - 5921, 5939, 5957, 5975, 5993, 6011, 6029, 6047, 6065, 6083, 6101, 6119, - 6137, 6155, 6173, 6191, 6209, 6227, 6245, 6263, 6281, 6299, 6317, 6335, - 6353, 6371, 6389, 6407, 6425, 6443, 6461, 6479, 17, 35, 53, 71, - 89, 107, 125, 143, 161, 179, 197, 215, 233, 251, 269, 287, - 305, 323, 341, 359, 377, 395, 413, 431, 449, 467, 485, 503, - 521, 539, 557, 575, 593, 611, 629, 647, 665, 683, 701, 719, - 5890, 5908, 5926, 5944, 5962, 5980, 5998, 6016, 6034, 6052, 6070, 6088, - 6106, 6124, 6142, 6160, 6178, 6196, 6214, 6232, 6250, 6268, 6286, 6304, - 6322, 6340, 6358, 6376, 6394, 6412, 6430, 6448, 6466, 4, 22, 40, - 58, 76, 94, 112, 130, 148, 166, 184, 202, 220, 238, 256, - 274, 292, 310, 328, 346, 364, 382, 400, 418, 436, 454, 472, - 490, 508, 526, 544, 562, 580, 598, 616, 634, 652, 670, 688, - 706, 724, 742, 760, 778, 796, 814, 832, 850, 868, 886, 904, - 922, 940, 958, 976, 994, 1012, 1030, 1048, 1066, 1084, 1102, 1120, - 1138, 1156, 1174, 1192, 1210, 1228, 1246, 1264, 1282, 1300, 1318, 1336, - 1354, 1372, 1390, 1408, 1426, 1444, 1462, 1480, 1498, 1516, 1534, 1552, - 1570, 1588, 1606, 1624, 1642, 1660, 1678, 1696, 1714, 1732, 1750, 1768, - 1786, 1804, 1822, 1840, 1858, 1876, 1894, 1912, 1930, 1948, 1966, 1984, - 2002, 2020, 2038, 2056, 2074, 2092, 2110, 2128, 2146, 2164, 2182, 2200, - 2218, 2236, 2254, 2272, 2290, 2308, 2326, 2344, 2362, 2380, 2398, 2416, - 2434, 2452, 2470, 2488, 2506, 2524, 2542, 2560, 2578, 2596, 2614, 2632, - 2650, 2668, 2686, 2704, 2722, 2740, 2758, 2776, 2794, 2812, 2830, 2848, - 2866, 2884, 2902, 2920, 2938, 2956, 2974, 2992, 3010, 3028, 3046, 3064, - 3082, 3100, 3118, 3136, 3154, 3172, 3190, 3208, 3226, 3244, 3262, 3280, - 3298, 3316, 3334, 3352, 3370, 3388, 3406, 3424, 3442, 3460, 3478, 3496, - 3514, 3532, 3550, 3568, 3586, 3604, 3622, 3640, 3658, 3676, 3694, 3712, - 3730, 3748, 3766, 3784, 3802, 3820, 3838, 3856, 3874, 3892, 3910, 3928, - 3946, 3964, 3982, 4000, 4018, 4036, 4054, 4072, 4090, 4108, 4126, 4144, - 4162, 4180, 4198, 4216, 4234, 4252, 4270, 4288, 4306, 4324, 4342, 4360, - 4378, 4396, 4414, 4432, 4450, 4468, 4486, 4504, 4522, 4540, 4558, 4576, - 4594, 4612, 4630, 4648, 4666, 4684, 4702, 4720, 4738, 4756, 4774, 4792, - 4810, 4828, 4846, 4864, 4882, 4900, 4918, 4936, 4954, 4972, 4990, 5008, - 5026, 5044, 5062, 5080, 5098, 5116, 5134, 5152, 5170, 5188, 5206, 5224, - 5242, 5260, 5278, 5296, 5314, 5332, 5350, 5368, 5386, 5404, 5422, 5440, - 5458, 5476, 5494, 5512, 5530, 5548, 5566, 5584, 5602, 5620, 5638, 5656, - 5674, 5692, 5710, 5728, 5746, 5764, 5782, 5800, 5818, 5836, 5854, 5872, - 5798, 5816, 5834, 5852, 5870, 5888, 5906, 5924, 5942, 5960, 5978, 5996, - 6014, 6032, 6050, 6068, 6086, 6104, 6122, 6140, 6158, 6176, 6194, 6212, - 6230, 6248, 6266, 6284, 6302, 6320, 6338, 6356, 6374, 6392, 6410, 6428, - 6446, 6464, 2, 20, 38, 56, 74, 92, 110, 128, 146, 164, - 182, 200, 218, 236, 254, 272, 290, 308, 326, 344, 362, 380, - 398, 416, 434, 452, 470, 488, 506, 524, 542, 560, 578, 596, - 614, 632, 650, 668, 686, 704, 722, 740, 758, 776, 794, 812, - 830, 848, 866, 884, 902, 920, 938, 956, 974, 992, 1010, 1028, - 1046, 1064, 1082, 1100, 1118, 1136, 1154, 1172, 1190, 1208, 1226, 1244, - 1262, 1280, 1298, 1316, 1334, 1352, 1370, 1388, 1406, 1424, 1442, 1460, - 1478, 1496, 1514, 1532, 1550, 1568, 1586, 1604, 1622, 1640, 1658, 1676, - 1694, 1712, 1730, 1748, 1766, 1784, 1802, 1820, 1838, 1856, 1874, 1892, - 1910, 1928, 1946, 1964, 1982, 2000, 2018, 2036, 2054, 2072, 2090, 2108, - 2126, 2144, 2162, 2180, 2198, 2216, 2234, 2252, 2270, 2288, 2306, 2324, - 2342, 2360, 2378, 2396, 2414, 2432, 2450, 2468, 2486, 2504, 2522, 2540, - 2558, 2576, 2594, 2612, 2630, 2648, 2666, 2684, 2702, 2720, 2738, 2756, - 2774, 2792, 2810, 2828, 2846, 2864, 2882, 2900, 2918, 2936, 2954, 2972, - 2990, 3008, 3026, 3044, 3062, 3080, 3098, 3116, 3134, 3152, 3170, 3188, - 3206, 3224, 3242, 3260, 3278, 3296, 3314, 3332, 3350, 3368, 3386, 3404, - 3422, 3440, 3458, 3476, 3494, 3512, 3530, 3548, 3566, 3584, 3602, 3620, - 3638, 3656, 3674, 3692, 3710, 3728, 3746, 3764, 3782, 3800, 3818, 3836, - 3854, 3872, 3890, 3908, 3926, 3944, 3962, 3980, 3998, 4016, 4034, 4052, - 4070, 4088, 4106, 4124, 4142, 4160, 4178, 4196, 4214, 4232, 4250, 4268, - 4286, 4304, 4322, 4340, 4358, 4376, 4394, 4412, 4430, 4448, 4466, 4484, - 4502, 4520, 4538, 4556, 4574, 4592, 4610, 4628, 4646, 4664, 4682, 4700, - 4718, 4736, 4754, 4772, 4790, 4808, 4826, 4844, 4862, 4880, 4898, 4916, - 4934, 4952, 4970, 4988, 5006, 5024, 5042, 5060, 5078, 5096, 5114, 5132, - 5150, 5168, 5186, 5204, 5222, 5240, 5258, 5276, 5294, 5312, 5330, 5348, - 5366, 5384, 5402, 5420, 5438, 5456, 5474, 5492, 5510, 5528, 5546, 5564, - 5582, 5600, 5618, 5636, 5654, 5672, 5690, 5708, 5726, 5744, 5762, 5780, - 4887, 4905, 4923, 4941, 4959, 4977, 4995, 5013, 5031, 5049, 5067, 5085, - 5103, 5121, 5139, 5157, 5175, 5193, 5211, 5229, 5247, 5265, 5283, 5301, - 5319, 5337, 5355, 5373, 5391, 5409, 5427, 5445, 5463, 5481, 5499, 5517, - 5535, 5553, 5571, 5589, 5607, 5625, 5643, 5661, 5679, 5697, 5715, 5733, - 5751, 5769, 5787, 5805, 5823, 5841, 5859, 5877, 5895, 5913, 5931, 5949, - 5967, 5985, 6003, 6021, 6039, 6057, 6075, 6093, 6111, 6129, 6147, 6165, - 6183, 6201, 6219, 6237, 6255, 6273, 6291, 6309, 6327, 6345, 6363, 6381, - 6399, 6417, 6435, 6453, 6471, 9, 27, 45, 63, 81, 99, 117, - 135, 153, 171, 189, 207, 225, 243, 261, 279, 297, 315, 333, - 351, 369, 387, 405, 423, 441, 459, 477, 495, 513, 531, 549, - 567, 585, 603, 621, 639, 657, 675, 693, 711, 729, 747, 765, - 783, 801, 819, 837, 855, 873, 891, 909, 927, 945, 963, 981, - 999, 1017, 1035, 1053, 1071, 1089, 1107, 1125, 1143, 1161, 1179, 1197, - 1215, 1233, 1251, 1269, 1287, 1305, 1323, 1341, 1359, 1377, 1395, 1413, - 1431, 1449, 1467, 1485, 1503, 1521, 1539, 1557, 1575, 1593, 1611, 1629, - 1647, 1665, 1683, 1701, 1719, 1737, 1755, 1773, 1791, 1809, 1827, 1845, - 1863, 1881, 1899, 1917, 1935, 1953, 1971, 1989, 2007, 2025, 2043, 2061, - 2079, 2097, 2115, 2133, 2151, 2169, 2187, 2205, 2223, 2241, 2259, 2277, - 2295, 2313, 2331, 2349, 2367, 2385, 2403, 2421, 2439, 2457, 2475, 2493, - 2511, 2529, 2547, 2565, 2583, 2601, 2619, 2637, 2655, 2673, 2691, 2709, - 2727, 2745, 2763, 2781, 2799, 2817, 2835, 2853, 2871, 2889, 2907, 2925, - 2943, 2961, 2979, 2997, 3015, 3033, 3051, 3069, 3087, 3105, 3123, 3141, - 3159, 3177, 3195, 3213, 3231, 3249, 3267, 3285, 3303, 3321, 3339, 3357, - 3375, 3393, 3411, 3429, 3447, 3465, 3483, 3501, 3519, 3537, 3555, 3573, - 3591, 3609, 3627, 3645, 3663, 3681, 3699, 3717, 3735, 3753, 3771, 3789, - 3807, 3825, 3843, 3861, 3879, 3897, 3915, 3933, 3951, 3969, 3987, 4005, - 4023, 4041, 4059, 4077, 4095, 4113, 4131, 4149, 4167, 4185, 4203, 4221, - 4239, 4257, 4275, 4293, 4311, 4329, 4347, 4365, 4383, 4401, 4419, 4437, - 4455, 4473, 4491, 4509, 4527, 4545, 4563, 4581, 4599, 4617, 4635, 4653, - 4671, 4689, 4707, 4725, 4743, 4761, 4779, 4797, 4815, 4833, 4851, 4869, - 2952, 2970, 2988, 3006, 3024, 3042, 3060, 3078, 3096, 3114, 3132, 3150, - 3168, 3186, 3204, 3222, 3240, 3258, 3276, 3294, 3312, 3330, 3348, 3366, - 3384, 3402, 3420, 3438, 3456, 3474, 3492, 3510, 3528, 3546, 3564, 3582, - 3600, 3618, 3636, 3654, 3672, 3690, 3708, 3726, 3744, 3762, 3780, 3798, - 3816, 3834, 3852, 3870, 3888, 3906, 3924, 3942, 3960, 3978, 3996, 4014, - 4032, 4050, 4068, 4086, 4104, 4122, 4140, 4158, 4176, 4194, 4212, 4230, - 4248, 4266, 4284, 4302, 4320, 4338, 4356, 4374, 4392, 4410, 4428, 4446, - 4464, 4482, 4500, 4518, 4536, 4554, 4572, 4590, 4608, 4626, 4644, 4662, - 4680, 4698, 4716, 4734, 4752, 4770, 4788, 4806, 4824, 4842, 4860, 4878, - 4896, 4914, 4932, 4950, 4968, 4986, 5004, 5022, 5040, 5058, 5076, 5094, - 5112, 5130, 5148, 5166, 5184, 5202, 5220, 5238, 5256, 5274, 5292, 5310, - 5328, 5346, 5364, 5382, 5400, 5418, 5436, 5454, 5472, 5490, 5508, 5526, - 5544, 5562, 5580, 5598, 5616, 5634, 5652, 5670, 5688, 5706, 5724, 5742, - 5760, 5778, 5796, 5814, 5832, 5850, 5868, 5886, 5904, 5922, 5940, 5958, - 5976, 5994, 6012, 6030, 6048, 6066, 6084, 6102, 6120, 6138, 6156, 6174, - 6192, 6210, 6228, 6246, 6264, 6282, 6300, 6318, 6336, 6354, 6372, 6390, - 6408, 6426, 6444, 6462, 6480, 18, 36, 54, 72, 90, 108, 126, - 144, 162, 180, 198, 216, 234, 252, 270, 288, 306, 324, 342, - 360, 378, 396, 414, 432, 450, 468, 486, 504, 522, 540, 558, - 576, 594, 612, 630, 648, 666, 684, 702, 720, 738, 756, 774, - 792, 810, 828, 846, 864, 882, 900, 918, 936, 954, 972, 990, - 1008, 1026, 1044, 1062, 1080, 1098, 1116, 1134, 1152, 1170, 1188, 1206, - 1224, 1242, 1260, 1278, 1296, 1314, 1332, 1350, 1368, 1386, 1404, 1422, - 1440, 1458, 1476, 1494, 1512, 1530, 1548, 1566, 1584, 1602, 1620, 1638, - 1656, 1674, 1692, 1710, 1728, 1746, 1764, 1782, 1800, 1818, 1836, 1854, - 1872, 1890, 1908, 1926, 1944, 1962, 1980, 1998, 2016, 2034, 2052, 2070, - 2088, 2106, 2124, 2142, 2160, 2178, 2196, 2214, 2232, 2250, 2268, 2286, - 2304, 2322, 2340, 2358, 2376, 2394, 2412, 2430, 2448, 2466, 2484, 2502, - 2520, 2538, 2556, 2574, 2592, 2610, 2628, 2646, 2664, 2682, 2700, 2718, - 2736, 2754, 2772, 2790, 2808, 2826, 2844, 2862, 2880, 2898, 2916, 2934, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2183, 2201, 2219, 2237, 2255, 2273, 2291, 2309, 2327, 2345, 2363, 2381, - 2399, 2417, 2435, 2453, 2471, 2489, 2507, 2525, 2543, 2561, 2579, 2597, - 2615, 2633, 2651, 2669, 2687, 2705, 2723, 2741, 2759, 2777, 2795, 2813, - 2831, 2849, 2867, 2885, 2903, 2921, 2939, 2957, 2975, 2993, 3011, 3029, - 3047, 3065, 3083, 3101, 3119, 3137, 3155, 3173, 3191, 3209, 3227, 3245, - 3263, 3281, 3299, 3317, 3335, 3353, 3371, 3389, 3407, 3425, 3443, 3461, - 3479, 3497, 3515, 3533, 3551, 3569, 3587, 3605, 3623, 3641, 3659, 3677, - 3695, 3713, 3731, 3749, 3767, 3785, 3803, 3821, 3839, 3857, 3875, 3893, - 3911, 3929, 3947, 3965, 3983, 4001, 4019, 4037, 4055, 4073, 4091, 4109, - 4127, 4145, 4163, 4181, 4199, 4217, 4235, 4253, 4271, 4289, 4307, 4325, - 4343, 4361, 4379, 4397, 4415, 4433, 4451, 4469, 4487, 4505, 4523, 4541, - 4559, 4577, 4595, 4613, 4631, 4649, 4667, 4685, 4703, 4721, 4739, 4757, - 4775, 4793, 4811, 4829, 4847, 4865, 4883, 4901, 4919, 4937, 4955, 4973, - 4991, 5009, 5027, 5045, 5063, 5081, 5099, 5117, 5135, 5153, 5171, 5189, - 5207, 5225, 5243, 5261, 5279, 5297, 5315, 5333, 5351, 5369, 5387, 5405, - 5423, 5441, 5459, 5477, 5495, 5513, 5531, 5549, 5567, 5585, 5603, 5621, - 5639, 5657, 5675, 5693, 5711, 5729, 5747, 5765, 5783, 5801, 5819, 5837, - 5855, 5873, 5891, 5909, 5927, 5945, 5963, 5981, 5999, 6017, 6035, 6053, - 6071, 6089, 6107, 6125, 6143, 6161, 6179, 6197, 6215, 6233, 6251, 6269, - 6287, 6305, 6323, 6341, 6359, 6377, 6395, 6413, 6431, 6449, 6467, 5, - 23, 41, 59, 77, 95, 113, 131, 149, 167, 185, 203, 221, - 239, 257, 275, 293, 311, 329, 347, 365, 383, 401, 419, 437, - 455, 473, 491, 509, 527, 545, 563, 581, 599, 617, 635, 653, - 671, 689, 707, 725, 743, 761, 779, 797, 815, 833, 851, 869, - 887, 905, 923, 941, 959, 977, 995, 1013, 1031, 1049, 1067, 1085, - 1103, 1121, 1139, 1157, 1175, 1193, 1211, 1229, 1247, 1265, 1283, 1301, - 1319, 1337, 1355, 1373, 1391, 1409, 1427, 1445, 1463, 1481, 1499, 1517, - 1535, 1553, 1571, 1589, 1607, 1625, 1643, 1661, 1679, 1697, 1715, 1733, - 1751, 1769, 1787, 1805, 1823, 1841, 1859, 1877, 1895, 1913, 1931, 1949, - 1967, 1985, 2003, 2021, 2039, 2057, 2075, 2093, 2111, 2129, 2147, 2165, - 399, 417, 435, 453, 471, 489, 507, 525, 543, 561, 579, 597, - 615, 633, 651, 669, 687, 705, 723, 741, 759, 777, 795, 813, - 831, 849, 867, 885, 903, 921, 939, 957, 975, 993, 1011, 1029, - 1047, 1065, 1083, 1101, 1119, 1137, 1155, 1173, 1191, 1209, 1227, 1245, - 1263, 1281, 1299, 1317, 1335, 1353, 1371, 1389, 1407, 1425, 1443, 1461, - 1479, 1497, 1515, 1533, 1551, 1569, 1587, 1605, 1623, 1641, 1659, 1677, - 1695, 1713, 1731, 1749, 1767, 1785, 1803, 1821, 1839, 1857, 1875, 1893, - 1911, 1929, 1947, 1965, 1983, 2001, 2019, 2037, 2055, 2073, 2091, 2109, - 2127, 2145, 2163, 2181, 2199, 2217, 2235, 2253, 2271, 2289, 2307, 2325, - 2343, 2361, 2379, 2397, 2415, 2433, 2451, 2469, 2487, 2505, 2523, 2541, - 2559, 2577, 2595, 2613, 2631, 2649, 2667, 2685, 2703, 2721, 2739, 2757, - 2775, 2793, 2811, 2829, 2847, 2865, 2883, 2901, 2919, 2937, 2955, 2973, - 2991, 3009, 3027, 3045, 3063, 3081, 3099, 3117, 3135, 3153, 3171, 3189, - 3207, 3225, 3243, 3261, 3279, 3297, 3315, 3333, 3351, 3369, 3387, 3405, - 3423, 3441, 3459, 3477, 3495, 3513, 3531, 3549, 3567, 3585, 3603, 3621, - 3639, 3657, 3675, 3693, 3711, 3729, 3747, 3765, 3783, 3801, 3819, 3837, - 3855, 3873, 3891, 3909, 3927, 3945, 3963, 3981, 3999, 4017, 4035, 4053, - 4071, 4089, 4107, 4125, 4143, 4161, 4179, 4197, 4215, 4233, 4251, 4269, - 4287, 4305, 4323, 4341, 4359, 4377, 4395, 4413, 4431, 4449, 4467, 4485, - 4503, 4521, 4539, 4557, 4575, 4593, 4611, 4629, 4647, 4665, 4683, 4701, - 4719, 4737, 4755, 4773, 4791, 4809, 4827, 4845, 4863, 4881, 4899, 4917, - 4935, 4953, 4971, 4989, 5007, 5025, 5043, 5061, 5079, 5097, 5115, 5133, - 5151, 5169, 5187, 5205, 5223, 5241, 5259, 5277, 5295, 5313, 5331, 5349, - 5367, 5385, 5403, 5421, 5439, 5457, 5475, 5493, 5511, 5529, 5547, 5565, - 5583, 5601, 5619, 5637, 5655, 5673, 5691, 5709, 5727, 5745, 5763, 5781, - 5799, 5817, 5835, 5853, 5871, 5889, 5907, 5925, 5943, 5961, 5979, 5997, - 6015, 6033, 6051, 6069, 6087, 6105, 6123, 6141, 6159, 6177, 6195, 6213, - 6231, 6249, 6267, 6285, 6303, 6321, 6339, 6357, 6375, 6393, 6411, 6429, - 6447, 6465, 3, 21, 39, 57, 75, 93, 111, 129, 147, 165, - 183, 201, 219, 237, 255, 273, 291, 309, 327, 345, 363, 381, - 4940, 4958, 4976, 4994, 5012, 5030, 5048, 5066, 5084, 5102, 5120, 5138, - 5156, 5174, 5192, 5210, 5228, 5246, 5264, 5282, 5300, 5318, 5336, 5354, - 5372, 5390, 5408, 5426, 5444, 5462, 5480, 5498, 5516, 5534, 5552, 5570, - 5588, 5606, 5624, 5642, 5660, 5678, 5696, 5714, 5732, 5750, 5768, 5786, - 5804, 5822, 5840, 5858, 5876, 5894, 5912, 5930, 5948, 5966, 5984, 6002, - 6020, 6038, 6056, 6074, 6092, 6110, 6128, 6146, 6164, 6182, 6200, 6218, - 6236, 6254, 6272, 6290, 6308, 6326, 6344, 6362, 6380, 6398, 6416, 6434, - 6452, 6470, 8, 26, 44, 62, 80, 98, 116, 134, 152, 170, - 188, 206, 224, 242, 260, 278, 296, 314, 332, 350, 368, 386, - 404, 422, 440, 458, 476, 494, 512, 530, 548, 566, 584, 602, - 620, 638, 656, 674, 692, 710, 728, 746, 764, 782, 800, 818, - 836, 854, 872, 890, 908, 926, 944, 962, 980, 998, 1016, 1034, - 1052, 1070, 1088, 1106, 1124, 1142, 1160, 1178, 1196, 1214, 1232, 1250, - 1268, 1286, 1304, 1322, 1340, 1358, 1376, 1394, 1412, 1430, 1448, 1466, - 1484, 1502, 1520, 1538, 1556, 1574, 1592, 1610, 1628, 1646, 1664, 1682, - 1700, 1718, 1736, 1754, 1772, 1790, 1808, 1826, 1844, 1862, 1880, 1898, - 1916, 1934, 1952, 1970, 1988, 2006, 2024, 2042, 2060, 2078, 2096, 2114, - 2132, 2150, 2168, 2186, 2204, 2222, 2240, 2258, 2276, 2294, 2312, 2330, - 2348, 2366, 2384, 2402, 2420, 2438, 2456, 2474, 2492, 2510, 2528, 2546, - 2564, 2582, 2600, 2618, 2636, 2654, 2672, 2690, 2708, 2726, 2744, 2762, - 2780, 2798, 2816, 2834, 2852, 2870, 2888, 2906, 2924, 2942, 2960, 2978, - 2996, 3014, 3032, 3050, 3068, 3086, 3104, 3122, 3140, 3158, 3176, 3194, - 3212, 3230, 3248, 3266, 3284, 3302, 3320, 3338, 3356, 3374, 3392, 3410, - 3428, 3446, 3464, 3482, 3500, 3518, 3536, 3554, 3572, 3590, 3608, 3626, - 3644, 3662, 3680, 3698, 3716, 3734, 3752, 3770, 3788, 3806, 3824, 3842, - 3860, 3878, 3896, 3914, 3932, 3950, 3968, 3986, 4004, 4022, 4040, 4058, - 4076, 4094, 4112, 4130, 4148, 4166, 4184, 4202, 4220, 4238, 4256, 4274, - 4292, 4310, 4328, 4346, 4364, 4382, 4400, 4418, 4436, 4454, 4472, 4490, - 4508, 4526, 4544, 4562, 4580, 4598, 4616, 4634, 4652, 4670, 4688, 4706, - 4724, 4742, 4760, 4778, 4796, 4814, 4832, 4850, 4868, 4886, 4904, 4922, - 6046, 6064, 6082, 6100, 6118, 6136, 6154, 6172, 6190, 6208, 6226, 6244, - 6262, 6280, 6298, 6316, 6334, 6352, 6370, 6388, 6406, 6424, 6442, 6460, - 6478, 16, 34, 52, 70, 88, 106, 124, 142, 160, 178, 196, - 214, 232, 250, 268, 286, 304, 322, 340, 358, 376, 394, 412, - 430, 448, 466, 484, 502, 520, 538, 556, 574, 592, 610, 628, - 646, 664, 682, 700, 718, 736, 754, 772, 790, 808, 826, 844, - 862, 880, 898, 916, 934, 952, 970, 988, 1006, 1024, 1042, 1060, - 1078, 1096, 1114, 1132, 1150, 1168, 1186, 1204, 1222, 1240, 1258, 1276, - 1294, 1312, 1330, 1348, 1366, 1384, 1402, 1420, 1438, 1456, 1474, 1492, - 1510, 1528, 1546, 1564, 1582, 1600, 1618, 1636, 1654, 1672, 1690, 1708, - 1726, 1744, 1762, 1780, 1798, 1816, 1834, 1852, 1870, 1888, 1906, 1924, - 1942, 1960, 1978, 1996, 2014, 2032, 2050, 2068, 2086, 2104, 2122, 2140, - 2158, 2176, 2194, 2212, 2230, 2248, 2266, 2284, 2302, 2320, 2338, 2356, - 2374, 2392, 2410, 2428, 2446, 2464, 2482, 2500, 2518, 2536, 2554, 2572, - 2590, 2608, 2626, 2644, 2662, 2680, 2698, 2716, 2734, 2752, 2770, 2788, - 2806, 2824, 2842, 2860, 2878, 2896, 2914, 2932, 2950, 2968, 2986, 3004, - 3022, 3040, 3058, 3076, 3094, 3112, 3130, 3148, 3166, 3184, 3202, 3220, - 3238, 3256, 3274, 3292, 3310, 3328, 3346, 3364, 3382, 3400, 3418, 3436, - 3454, 3472, 3490, 3508, 3526, 3544, 3562, 3580, 3598, 3616, 3634, 3652, - 3670, 3688, 3706, 3724, 3742, 3760, 3778, 3796, 3814, 3832, 3850, 3868, - 3886, 3904, 3922, 3940, 3958, 3976, 3994, 4012, 4030, 4048, 4066, 4084, - 4102, 4120, 4138, 4156, 4174, 4192, 4210, 4228, 4246, 4264, 4282, 4300, - 4318, 4336, 4354, 4372, 4390, 4408, 4426, 4444, 4462, 4480, 4498, 4516, - 4534, 4552, 4570, 4588, 4606, 4624, 4642, 4660, 4678, 4696, 4714, 4732, - 4750, 4768, 4786, 4804, 4822, 4840, 4858, 4876, 4894, 4912, 4930, 4948, - 4966, 4984, 5002, 5020, 5038, 5056, 5074, 5092, 5110, 5128, 5146, 5164, - 5182, 5200, 5218, 5236, 5254, 5272, 5290, 5308, 5326, 5344, 5362, 5380, - 5398, 5416, 5434, 5452, 5470, 5488, 5506, 5524, 5542, 5560, 5578, 5596, - 5614, 5632, 5650, 5668, 5686, 5704, 5722, 5740, 5758, 5776, 5794, 5812, - 5830, 5848, 5866, 5884, 5902, 5920, 5938, 5956, 5974, 5992, 6010, 6028, - 2998, 3016, 3034, 3052, 3070, 3088, 3106, 3124, 3142, 3160, 3178, 3196, - 3214, 3232, 3250, 3268, 3286, 3304, 3322, 3340, 3358, 3376, 3394, 3412, - 3430, 3448, 3466, 3484, 3502, 3520, 3538, 3556, 3574, 3592, 3610, 3628, - 3646, 3664, 3682, 3700, 3718, 3736, 3754, 3772, 3790, 3808, 3826, 3844, - 3862, 3880, 3898, 3916, 3934, 3952, 3970, 3988, 4006, 4024, 4042, 4060, - 4078, 4096, 4114, 4132, 4150, 4168, 4186, 4204, 4222, 4240, 4258, 4276, - 4294, 4312, 4330, 4348, 4366, 4384, 4402, 4420, 4438, 4456, 4474, 4492, - 4510, 4528, 4546, 4564, 4582, 4600, 4618, 4636, 4654, 4672, 4690, 4708, - 4726, 4744, 4762, 4780, 4798, 4816, 4834, 4852, 4870, 4888, 4906, 4924, - 4942, 4960, 4978, 4996, 5014, 5032, 5050, 5068, 5086, 5104, 5122, 5140, - 5158, 5176, 5194, 5212, 5230, 5248, 5266, 5284, 5302, 5320, 5338, 5356, - 5374, 5392, 5410, 5428, 5446, 5464, 5482, 5500, 5518, 5536, 5554, 5572, - 5590, 5608, 5626, 5644, 5662, 5680, 5698, 5716, 5734, 5752, 5770, 5788, - 5806, 5824, 5842, 5860, 5878, 5896, 5914, 5932, 5950, 5968, 5986, 6004, - 6022, 6040, 6058, 6076, 6094, 6112, 6130, 6148, 6166, 6184, 6202, 6220, - 6238, 6256, 6274, 6292, 6310, 6328, 6346, 6364, 6382, 6400, 6418, 6436, - 6454, 6472, 10, 28, 46, 64, 82, 100, 118, 136, 154, 172, - 190, 208, 226, 244, 262, 280, 298, 316, 334, 352, 370, 388, - 406, 424, 442, 460, 478, 496, 514, 532, 550, 568, 586, 604, - 622, 640, 658, 676, 694, 712, 730, 748, 766, 784, 802, 820, - 838, 856, 874, 892, 910, 928, 946, 964, 982, 1000, 1018, 1036, - 1054, 1072, 1090, 1108, 1126, 1144, 1162, 1180, 1198, 1216, 1234, 1252, - 1270, 1288, 1306, 1324, 1342, 1360, 1378, 1396, 1414, 1432, 1450, 1468, - 1486, 1504, 1522, 1540, 1558, 1576, 1594, 1612, 1630, 1648, 1666, 1684, - 1702, 1720, 1738, 1756, 1774, 1792, 1810, 1828, 1846, 1864, 1882, 1900, - 1918, 1936, 1954, 1972, 1990, 2008, 2026, 2044, 2062, 2080, 2098, 2116, - 2134, 2152, 2170, 2188, 2206, 2224, 2242, 2260, 2278, 2296, 2314, 2332, - 2350, 2368, 2386, 2404, 2422, 2440, 2458, 2476, 2494, 2512, 2530, 2548, - 2566, 2584, 2602, 2620, 2638, 2656, 2674, 2692, 2710, 2728, 2746, 2764, - 2782, 2800, 2818, 2836, 2854, 2872, 2890, 2908, 2926, 2944, 2962, 2980, - 4363, 4381, 4399, 4417, 4435, 4453, 4471, 4489, 4507, 4525, 4543, 4561, - 4579, 4597, 4615, 4633, 4651, 4669, 4687, 4705, 4723, 4741, 4759, 4777, - 4795, 4813, 4831, 4849, 4867, 4885, 4903, 4921, 4939, 4957, 4975, 4993, - 5011, 5029, 5047, 5065, 5083, 5101, 5119, 5137, 5155, 5173, 5191, 5209, - 5227, 5245, 5263, 5281, 5299, 5317, 5335, 5353, 5371, 5389, 5407, 5425, - 5443, 5461, 5479, 5497, 5515, 5533, 5551, 5569, 5587, 5605, 5623, 5641, - 5659, 5677, 5695, 5713, 5731, 5749, 5767, 5785, 5803, 5821, 5839, 5857, - 5875, 5893, 5911, 5929, 5947, 5965, 5983, 6001, 6019, 6037, 6055, 6073, - 6091, 6109, 6127, 6145, 6163, 6181, 6199, 6217, 6235, 6253, 6271, 6289, - 6307, 6325, 6343, 6361, 6379, 6397, 6415, 6433, 6451, 6469, 7, 25, - 43, 61, 79, 97, 115, 133, 151, 169, 187, 205, 223, 241, - 259, 277, 295, 313, 331, 349, 367, 385, 403, 421, 439, 457, - 475, 493, 511, 529, 547, 565, 583, 601, 619, 637, 655, 673, - 691, 709, 727, 745, 763, 781, 799, 817, 835, 853, 871, 889, - 907, 925, 943, 961, 979, 997, 1015, 1033, 1051, 1069, 1087, 1105, - 1123, 1141, 1159, 1177, 1195, 1213, 1231, 1249, 1267, 1285, 1303, 1321, - 1339, 1357, 1375, 1393, 1411, 1429, 1447, 1465, 1483, 1501, 1519, 1537, - 1555, 1573, 1591, 1609, 1627, 1645, 1663, 1681, 1699, 1717, 1735, 1753, - 1771, 1789, 1807, 1825, 1843, 1861, 1879, 1897, 1915, 1933, 1951, 1969, - 1987, 2005, 2023, 2041, 2059, 2077, 2095, 2113, 2131, 2149, 2167, 2185, - 2203, 2221, 2239, 2257, 2275, 2293, 2311, 2329, 2347, 2365, 2383, 2401, - 2419, 2437, 2455, 2473, 2491, 2509, 2527, 2545, 2563, 2581, 2599, 2617, - 2635, 2653, 2671, 2689, 2707, 2725, 2743, 2761, 2779, 2797, 2815, 2833, - 2851, 2869, 2887, 2905, 2923, 2941, 2959, 2977, 2995, 3013, 3031, 3049, - 3067, 3085, 3103, 3121, 3139, 3157, 3175, 3193, 3211, 3229, 3247, 3265, - 3283, 3301, 3319, 3337, 3355, 3373, 3391, 3409, 3427, 3445, 3463, 3481, - 3499, 3517, 3535, 3553, 3571, 3589, 3607, 3625, 3643, 3661, 3679, 3697, - 3715, 3733, 3751, 3769, 3787, 3805, 3823, 3841, 3859, 3877, 3895, 3913, - 3931, 3949, 3967, 3985, 4003, 4021, 4039, 4057, 4075, 4093, 4111, 4129, - 4147, 4165, 4183, 4201, 4219, 4237, 4255, 4273, 4291, 4309, 4327, 4345, - 3817, 3835, 3853, 3871, 3889, 3907, 3925, 3943, 3961, 3979, 3997, 4015, - 4033, 4051, 4069, 4087, 4105, 4123, 4141, 4159, 4177, 4195, 4213, 4231, - 4249, 4267, 4285, 4303, 4321, 4339, 4357, 4375, 4393, 4411, 4429, 4447, - 4465, 4483, 4501, 4519, 4537, 4555, 4573, 4591, 4609, 4627, 4645, 4663, - 4681, 4699, 4717, 4735, 4753, 4771, 4789, 4807, 4825, 4843, 4861, 4879, - 4897, 4915, 4933, 4951, 4969, 4987, 5005, 5023, 5041, 5059, 5077, 5095, - 5113, 5131, 5149, 5167, 5185, 5203, 5221, 5239, 5257, 5275, 5293, 5311, - 5329, 5347, 5365, 5383, 5401, 5419, 5437, 5455, 5473, 5491, 5509, 5527, - 5545, 5563, 5581, 5599, 5617, 5635, 5653, 5671, 5689, 5707, 5725, 5743, - 5761, 5779, 5797, 5815, 5833, 5851, 5869, 5887, 5905, 5923, 5941, 5959, - 5977, 5995, 6013, 6031, 6049, 6067, 6085, 6103, 6121, 6139, 6157, 6175, - 6193, 6211, 6229, 6247, 6265, 6283, 6301, 6319, 6337, 6355, 6373, 6391, - 6409, 6427, 6445, 6463, 1, 19, 37, 55, 73, 91, 109, 127, - 145, 163, 181, 199, 217, 235, 253, 271, 289, 307, 325, 343, - 361, 379, 397, 415, 433, 451, 469, 487, 505, 523, 541, 559, - 577, 595, 613, 631, 649, 667, 685, 703, 721, 739, 757, 775, - 793, 811, 829, 847, 865, 883, 901, 919, 937, 955, 973, 991, - 1009, 1027, 1045, 1063, 1081, 1099, 1117, 1135, 1153, 1171, 1189, 1207, - 1225, 1243, 1261, 1279, 1297, 1315, 1333, 1351, 1369, 1387, 1405, 1423, - 1441, 1459, 1477, 1495, 1513, 1531, 1549, 1567, 1585, 1603, 1621, 1639, - 1657, 1675, 1693, 1711, 1729, 1747, 1765, 1783, 1801, 1819, 1837, 1855, - 1873, 1891, 1909, 1927, 1945, 1963, 1981, 1999, 2017, 2035, 2053, 2071, - 2089, 2107, 2125, 2143, 2161, 2179, 2197, 2215, 2233, 2251, 2269, 2287, - 2305, 2323, 2341, 2359, 2377, 2395, 2413, 2431, 2449, 2467, 2485, 2503, - 2521, 2539, 2557, 2575, 2593, 2611, 2629, 2647, 2665, 2683, 2701, 2719, - 2737, 2755, 2773, 2791, 2809, 2827, 2845, 2863, 2881, 2899, 2917, 2935, - 2953, 2971, 2989, 3007, 3025, 3043, 3061, 3079, 3097, 3115, 3133, 3151, - 3169, 3187, 3205, 3223, 3241, 3259, 3277, 3295, 3313, 3331, 3349, 3367, - 3385, 3403, 3421, 3439, 3457, 3475, 3493, 3511, 3529, 3547, 3565, 3583, - 3601, 3619, 3637, 3655, 3673, 3691, 3709, 3727, 3745, 3763, 3781, 3799, - 2334, 2352, 2370, 2388, 2406, 2424, 2442, 2460, 2478, 2496, 2514, 2532, - 2550, 2568, 2586, 2604, 2622, 2640, 2658, 2676, 2694, 2712, 2730, 2748, - 2766, 2784, 2802, 2820, 2838, 2856, 2874, 2892, 2910, 2928, 2946, 2964, - 2982, 3000, 3018, 3036, 3054, 3072, 3090, 3108, 3126, 3144, 3162, 3180, - 3198, 3216, 3234, 3252, 3270, 3288, 3306, 3324, 3342, 3360, 3378, 3396, - 3414, 3432, 3450, 3468, 3486, 3504, 3522, 3540, 3558, 3576, 3594, 3612, - 3630, 3648, 3666, 3684, 3702, 3720, 3738, 3756, 3774, 3792, 3810, 3828, - 3846, 3864, 3882, 3900, 3918, 3936, 3954, 3972, 3990, 4008, 4026, 4044, - 4062, 4080, 4098, 4116, 4134, 4152, 4170, 4188, 4206, 4224, 4242, 4260, - 4278, 4296, 4314, 4332, 4350, 4368, 4386, 4404, 4422, 4440, 4458, 4476, - 4494, 4512, 4530, 4548, 4566, 4584, 4602, 4620, 4638, 4656, 4674, 4692, - 4710, 4728, 4746, 4764, 4782, 4800, 4818, 4836, 4854, 4872, 4890, 4908, - 4926, 4944, 4962, 4980, 4998, 5016, 5034, 5052, 5070, 5088, 5106, 5124, - 5142, 5160, 5178, 5196, 5214, 5232, 5250, 5268, 5286, 5304, 5322, 5340, - 5358, 5376, 5394, 5412, 5430, 5448, 5466, 5484, 5502, 5520, 5538, 5556, - 5574, 5592, 5610, 5628, 5646, 5664, 5682, 5700, 5718, 5736, 5754, 5772, - 5790, 5808, 5826, 5844, 5862, 5880, 5898, 5916, 5934, 5952, 5970, 5988, - 6006, 6024, 6042, 6060, 6078, 6096, 6114, 6132, 6150, 6168, 6186, 6204, - 6222, 6240, 6258, 6276, 6294, 6312, 6330, 6348, 6366, 6384, 6402, 6420, - 6438, 6456, 6474, 12, 30, 48, 66, 84, 102, 120, 138, 156, - 174, 192, 210, 228, 246, 264, 282, 300, 318, 336, 354, 372, - 390, 408, 426, 444, 462, 480, 498, 516, 534, 552, 570, 588, - 606, 624, 642, 660, 678, 696, 714, 732, 750, 768, 786, 804, - 822, 840, 858, 876, 894, 912, 930, 948, 966, 984, 1002, 1020, - 1038, 1056, 1074, 1092, 1110, 1128, 1146, 1164, 1182, 1200, 1218, 1236, - 1254, 1272, 1290, 1308, 1326, 1344, 1362, 1380, 1398, 1416, 1434, 1452, - 1470, 1488, 1506, 1524, 1542, 1560, 1578, 1596, 1614, 1632, 1650, 1668, - 1686, 1704, 1722, 1740, 1758, 1776, 1794, 1812, 1830, 1848, 1866, 1884, - 1902, 1920, 1938, 1956, 1974, 1992, 2010, 2028, 2046, 2064, 2082, 2100, - 2118, 2136, 2154, 2172, 2190, 2208, 2226, 2244, 2262, 2280, 2298, 2316, - 3920, 3938, 3956, 3974, 3992, 4010, 4028, 4046, 4064, 4082, 4100, 4118, - 4136, 4154, 4172, 4190, 4208, 4226, 4244, 4262, 4280, 4298, 4316, 4334, - 4352, 4370, 4388, 4406, 4424, 4442, 4460, 4478, 4496, 4514, 4532, 4550, - 4568, 4586, 4604, 4622, 4640, 4658, 4676, 4694, 4712, 4730, 4748, 4766, - 4784, 4802, 4820, 4838, 4856, 4874, 4892, 4910, 4928, 4946, 4964, 4982, - 5000, 5018, 5036, 5054, 5072, 5090, 5108, 5126, 5144, 5162, 5180, 5198, - 5216, 5234, 5252, 5270, 5288, 5306, 5324, 5342, 5360, 5378, 5396, 5414, - 5432, 5450, 5468, 5486, 5504, 5522, 5540, 5558, 5576, 5594, 5612, 5630, - 5648, 5666, 5684, 5702, 5720, 5738, 5756, 5774, 5792, 5810, 5828, 5846, - 5864, 5882, 5900, 5918, 5936, 5954, 5972, 5990, 6008, 6026, 6044, 6062, - 6080, 6098, 6116, 6134, 6152, 6170, 6188, 6206, 6224, 6242, 6260, 6278, - 6296, 6314, 6332, 6350, 6368, 6386, 6404, 6422, 6440, 6458, 6476, 14, - 32, 50, 68, 86, 104, 122, 140, 158, 176, 194, 212, 230, - 248, 266, 284, 302, 320, 338, 356, 374, 392, 410, 428, 446, - 464, 482, 500, 518, 536, 554, 572, 590, 608, 626, 644, 662, - 680, 698, 716, 734, 752, 770, 788, 806, 824, 842, 860, 878, - 896, 914, 932, 950, 968, 986, 1004, 1022, 1040, 1058, 1076, 1094, - 1112, 1130, 1148, 1166, 1184, 1202, 1220, 1238, 1256, 1274, 1292, 1310, - 1328, 1346, 1364, 1382, 1400, 1418, 1436, 1454, 1472, 1490, 1508, 1526, - 1544, 1562, 1580, 1598, 1616, 1634, 1652, 1670, 1688, 1706, 1724, 1742, - 1760, 1778, 1796, 1814, 1832, 1850, 1868, 1886, 1904, 1922, 1940, 1958, - 1976, 1994, 2012, 2030, 2048, 2066, 2084, 2102, 2120, 2138, 2156, 2174, - 2192, 2210, 2228, 2246, 2264, 2282, 2300, 2318, 2336, 2354, 2372, 2390, - 2408, 2426, 2444, 2462, 2480, 2498, 2516, 2534, 2552, 2570, 2588, 2606, - 2624, 2642, 2660, 2678, 2696, 2714, 2732, 2750, 2768, 2786, 2804, 2822, - 2840, 2858, 2876, 2894, 2912, 2930, 2948, 2966, 2984, 3002, 3020, 3038, - 3056, 3074, 3092, 3110, 3128, 3146, 3164, 3182, 3200, 3218, 3236, 3254, - 3272, 3290, 3308, 3326, 3344, 3362, 3380, 3398, 3416, 3434, 3452, 3470, - 3488, 3506, 3524, 3542, 3560, 3578, 3596, 3614, 3632, 3650, 3668, 3686, - 3704, 3722, 3740, 3758, 3776, 3794, 3812, 3830, 3848, 3866, 3884, 3902, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 545, 563, 581, 599, 617, 635, 653, 671, 689, 707, 725, 743, - 761, 779, 797, 815, 833, 851, 869, 887, 905, 923, 941, 959, - 977, 995, 1013, 1031, 1049, 1067, 1085, 1103, 1121, 1139, 1157, 1175, - 1193, 1211, 1229, 1247, 1265, 1283, 1301, 1319, 1337, 1355, 1373, 1391, - 1409, 1427, 1445, 1463, 1481, 1499, 1517, 1535, 1553, 1571, 1589, 1607, - 1625, 1643, 1661, 1679, 1697, 1715, 1733, 1751, 1769, 1787, 1805, 1823, - 1841, 1859, 1877, 1895, 1913, 1931, 1949, 1967, 1985, 2003, 2021, 2039, - 2057, 2075, 2093, 2111, 2129, 2147, 2165, 2183, 2201, 2219, 2237, 2255, - 2273, 2291, 2309, 2327, 2345, 2363, 2381, 2399, 2417, 2435, 2453, 2471, - 2489, 2507, 2525, 2543, 2561, 2579, 2597, 2615, 2633, 2651, 2669, 2687, - 2705, 2723, 2741, 2759, 2777, 2795, 2813, 2831, 2849, 2867, 2885, 2903, - 2921, 2939, 2957, 2975, 2993, 3011, 3029, 3047, 3065, 3083, 3101, 3119, - 3137, 3155, 3173, 3191, 3209, 3227, 3245, 3263, 3281, 3299, 3317, 3335, - 3353, 3371, 3389, 3407, 3425, 3443, 3461, 3479, 3497, 3515, 3533, 3551, - 3569, 3587, 3605, 3623, 3641, 3659, 3677, 3695, 3713, 3731, 3749, 3767, - 3785, 3803, 3821, 3839, 3857, 3875, 3893, 3911, 3929, 3947, 3965, 3983, - 4001, 4019, 4037, 4055, 4073, 4091, 4109, 4127, 4145, 4163, 4181, 4199, - 4217, 4235, 4253, 4271, 4289, 4307, 4325, 4343, 4361, 4379, 4397, 4415, - 4433, 4451, 4469, 4487, 4505, 4523, 4541, 4559, 4577, 4595, 4613, 4631, - 4649, 4667, 4685, 4703, 4721, 4739, 4757, 4775, 4793, 4811, 4829, 4847, - 4865, 4883, 4901, 4919, 4937, 4955, 4973, 4991, 5009, 5027, 5045, 5063, - 5081, 5099, 5117, 5135, 5153, 5171, 5189, 5207, 5225, 5243, 5261, 5279, - 5297, 5315, 5333, 5351, 5369, 5387, 5405, 5423, 5441, 5459, 5477, 5495, - 5513, 5531, 5549, 5567, 5585, 5603, 5621, 5639, 5657, 5675, 5693, 5711, - 5729, 5747, 5765, 5783, 5801, 5819, 5837, 5855, 5873, 5891, 5909, 5927, - 5945, 5963, 5981, 5999, 6017, 6035, 6053, 6071, 6089, 6107, 6125, 6143, - 6161, 6179, 6197, 6215, 6233, 6251, 6269, 6287, 6305, 6323, 6341, 6359, - 6377, 6395, 6413, 6431, 6449, 6467, 5, 23, 41, 59, 77, 95, - 113, 131, 149, 167, 185, 203, 221, 239, 257, 275, 293, 311, - 329, 347, 365, 383, 401, 419, 437, 455, 473, 491, 509, 527, - 5740, 5758, 5776, 5794, 5812, 5830, 5848, 5866, 5884, 5902, 5920, 5938, - 5956, 5974, 5992, 6010, 6028, 6046, 6064, 6082, 6100, 6118, 6136, 6154, - 6172, 6190, 6208, 6226, 6244, 6262, 6280, 6298, 6316, 6334, 6352, 6370, - 6388, 6406, 6424, 6442, 6460, 6478, 16, 34, 52, 70, 88, 106, - 124, 142, 160, 178, 196, 214, 232, 250, 268, 286, 304, 322, - 340, 358, 376, 394, 412, 430, 448, 466, 484, 502, 520, 538, - 556, 574, 592, 610, 628, 646, 664, 682, 700, 718, 736, 754, - 772, 790, 808, 826, 844, 862, 880, 898, 916, 934, 952, 970, - 988, 1006, 1024, 1042, 1060, 1078, 1096, 1114, 1132, 1150, 1168, 1186, - 1204, 1222, 1240, 1258, 1276, 1294, 1312, 1330, 1348, 1366, 1384, 1402, - 1420, 1438, 1456, 1474, 1492, 1510, 1528, 1546, 1564, 1582, 1600, 1618, - 1636, 1654, 1672, 1690, 1708, 1726, 1744, 1762, 1780, 1798, 1816, 1834, - 1852, 1870, 1888, 1906, 1924, 1942, 1960, 1978, 1996, 2014, 2032, 2050, - 2068, 2086, 2104, 2122, 2140, 2158, 2176, 2194, 2212, 2230, 2248, 2266, - 2284, 2302, 2320, 2338, 2356, 2374, 2392, 2410, 2428, 2446, 2464, 2482, - 2500, 2518, 2536, 2554, 2572, 2590, 2608, 2626, 2644, 2662, 2680, 2698, - 2716, 2734, 2752, 2770, 2788, 2806, 2824, 2842, 2860, 2878, 2896, 2914, - 2932, 2950, 2968, 2986, 3004, 3022, 3040, 3058, 3076, 3094, 3112, 3130, - 3148, 3166, 3184, 3202, 3220, 3238, 3256, 3274, 3292, 3310, 3328, 3346, - 3364, 3382, 3400, 3418, 3436, 3454, 3472, 3490, 3508, 3526, 3544, 3562, - 3580, 3598, 3616, 3634, 3652, 3670, 3688, 3706, 3724, 3742, 3760, 3778, - 3796, 3814, 3832, 3850, 3868, 3886, 3904, 3922, 3940, 3958, 3976, 3994, - 4012, 4030, 4048, 4066, 4084, 4102, 4120, 4138, 4156, 4174, 4192, 4210, - 4228, 4246, 4264, 4282, 4300, 4318, 4336, 4354, 4372, 4390, 4408, 4426, - 4444, 4462, 4480, 4498, 4516, 4534, 4552, 4570, 4588, 4606, 4624, 4642, - 4660, 4678, 4696, 4714, 4732, 4750, 4768, 4786, 4804, 4822, 4840, 4858, - 4876, 4894, 4912, 4930, 4948, 4966, 4984, 5002, 5020, 5038, 5056, 5074, - 5092, 5110, 5128, 5146, 5164, 5182, 5200, 5218, 5236, 5254, 5272, 5290, - 5308, 5326, 5344, 5362, 5380, 5398, 5416, 5434, 5452, 5470, 5488, 5506, - 5524, 5542, 5560, 5578, 5596, 5614, 5632, 5650, 5668, 5686, 5704, 5722, - 1120, 1138, 1156, 1174, 1192, 1210, 1228, 1246, 1264, 1282, 1300, 1318, - 1336, 1354, 1372, 1390, 1408, 1426, 1444, 1462, 1480, 1498, 1516, 1534, - 1552, 1570, 1588, 1606, 1624, 1642, 1660, 1678, 1696, 1714, 1732, 1750, - 1768, 1786, 1804, 1822, 1840, 1858, 1876, 1894, 1912, 1930, 1948, 1966, - 1984, 2002, 2020, 2038, 2056, 2074, 2092, 2110, 2128, 2146, 2164, 2182, - 2200, 2218, 2236, 2254, 2272, 2290, 2308, 2326, 2344, 2362, 2380, 2398, - 2416, 2434, 2452, 2470, 2488, 2506, 2524, 2542, 2560, 2578, 2596, 2614, - 2632, 2650, 2668, 2686, 2704, 2722, 2740, 2758, 2776, 2794, 2812, 2830, - 2848, 2866, 2884, 2902, 2920, 2938, 2956, 2974, 2992, 3010, 3028, 3046, - 3064, 3082, 3100, 3118, 3136, 3154, 3172, 3190, 3208, 3226, 3244, 3262, - 3280, 3298, 3316, 3334, 3352, 3370, 3388, 3406, 3424, 3442, 3460, 3478, - 3496, 3514, 3532, 3550, 3568, 3586, 3604, 3622, 3640, 3658, 3676, 3694, - 3712, 3730, 3748, 3766, 3784, 3802, 3820, 3838, 3856, 3874, 3892, 3910, - 3928, 3946, 3964, 3982, 4000, 4018, 4036, 4054, 4072, 4090, 4108, 4126, - 4144, 4162, 4180, 4198, 4216, 4234, 4252, 4270, 4288, 4306, 4324, 4342, - 4360, 4378, 4396, 4414, 4432, 4450, 4468, 4486, 4504, 4522, 4540, 4558, - 4576, 4594, 4612, 4630, 4648, 4666, 4684, 4702, 4720, 4738, 4756, 4774, - 4792, 4810, 4828, 4846, 4864, 4882, 4900, 4918, 4936, 4954, 4972, 4990, - 5008, 5026, 5044, 5062, 5080, 5098, 5116, 5134, 5152, 5170, 5188, 5206, - 5224, 5242, 5260, 5278, 5296, 5314, 5332, 5350, 5368, 5386, 5404, 5422, - 5440, 5458, 5476, 5494, 5512, 5530, 5548, 5566, 5584, 5602, 5620, 5638, - 5656, 5674, 5692, 5710, 5728, 5746, 5764, 5782, 5800, 5818, 5836, 5854, - 5872, 5890, 5908, 5926, 5944, 5962, 5980, 5998, 6016, 6034, 6052, 6070, - 6088, 6106, 6124, 6142, 6160, 6178, 6196, 6214, 6232, 6250, 6268, 6286, - 6304, 6322, 6340, 6358, 6376, 6394, 6412, 6430, 6448, 6466, 4, 22, - 40, 58, 76, 94, 112, 130, 148, 166, 184, 202, 220, 238, - 256, 274, 292, 310, 328, 346, 364, 382, 400, 418, 436, 454, - 472, 490, 508, 526, 544, 562, 580, 598, 616, 634, 652, 670, - 688, 706, 724, 742, 760, 778, 796, 814, 832, 850, 868, 886, - 904, 922, 940, 958, 976, 994, 1012, 1030, 1048, 1066, 1084, 1102, - 564, 582, 600, 618, 636, 654, 672, 690, 708, 726, 744, 762, - 780, 798, 816, 834, 852, 870, 888, 906, 924, 942, 960, 978, - 996, 1014, 1032, 1050, 1068, 1086, 1104, 1122, 1140, 1158, 1176, 1194, - 1212, 1230, 1248, 1266, 1284, 1302, 1320, 1338, 1356, 1374, 1392, 1410, - 1428, 1446, 1464, 1482, 1500, 1518, 1536, 1554, 1572, 1590, 1608, 1626, - 1644, 1662, 1680, 1698, 1716, 1734, 1752, 1770, 1788, 1806, 1824, 1842, - 1860, 1878, 1896, 1914, 1932, 1950, 1968, 1986, 2004, 2022, 2040, 2058, - 2076, 2094, 2112, 2130, 2148, 2166, 2184, 2202, 2220, 2238, 2256, 2274, - 2292, 2310, 2328, 2346, 2364, 2382, 2400, 2418, 2436, 2454, 2472, 2490, - 2508, 2526, 2544, 2562, 2580, 2598, 2616, 2634, 2652, 2670, 2688, 2706, - 2724, 2742, 2760, 2778, 2796, 2814, 2832, 2850, 2868, 2886, 2904, 2922, - 2940, 2958, 2976, 2994, 3012, 3030, 3048, 3066, 3084, 3102, 3120, 3138, - 3156, 3174, 3192, 3210, 3228, 3246, 3264, 3282, 3300, 3318, 3336, 3354, - 3372, 3390, 3408, 3426, 3444, 3462, 3480, 3498, 3516, 3534, 3552, 3570, - 3588, 3606, 3624, 3642, 3660, 3678, 3696, 3714, 3732, 3750, 3768, 3786, - 3804, 3822, 3840, 3858, 3876, 3894, 3912, 3930, 3948, 3966, 3984, 4002, - 4020, 4038, 4056, 4074, 4092, 4110, 4128, 4146, 4164, 4182, 4200, 4218, - 4236, 4254, 4272, 4290, 4308, 4326, 4344, 4362, 4380, 4398, 4416, 4434, - 4452, 4470, 4488, 4506, 4524, 4542, 4560, 4578, 4596, 4614, 4632, 4650, - 4668, 4686, 4704, 4722, 4740, 4758, 4776, 4794, 4812, 4830, 4848, 4866, - 4884, 4902, 4920, 4938, 4956, 4974, 4992, 5010, 5028, 5046, 5064, 5082, - 5100, 5118, 5136, 5154, 5172, 5190, 5208, 5226, 5244, 5262, 5280, 5298, - 5316, 5334, 5352, 5370, 5388, 5406, 5424, 5442, 5460, 5478, 5496, 5514, - 5532, 5550, 5568, 5586, 5604, 5622, 5640, 5658, 5676, 5694, 5712, 5730, - 5748, 5766, 5784, 5802, 5820, 5838, 5856, 5874, 5892, 5910, 5928, 5946, - 5964, 5982, 6000, 6018, 6036, 6054, 6072, 6090, 6108, 6126, 6144, 6162, - 6180, 6198, 6216, 6234, 6252, 6270, 6288, 6306, 6324, 6342, 6360, 6378, - 6396, 6414, 6432, 6450, 6468, 6, 24, 42, 60, 78, 96, 114, - 132, 150, 168, 186, 204, 222, 240, 258, 276, 294, 312, 330, - 348, 366, 384, 402, 420, 438, 456, 474, 492, 510, 528, 546, - 429, 447, 465, 483, 501, 519, 537, 555, 573, 591, 609, 627, - 645, 663, 681, 699, 717, 735, 753, 771, 789, 807, 825, 843, - 861, 879, 897, 915, 933, 951, 969, 987, 1005, 1023, 1041, 1059, - 1077, 1095, 1113, 1131, 1149, 1167, 1185, 1203, 1221, 1239, 1257, 1275, - 1293, 1311, 1329, 1347, 1365, 1383, 1401, 1419, 1437, 1455, 1473, 1491, - 1509, 1527, 1545, 1563, 1581, 1599, 1617, 1635, 1653, 1671, 1689, 1707, - 1725, 1743, 1761, 1779, 1797, 1815, 1833, 1851, 1869, 1887, 1905, 1923, - 1941, 1959, 1977, 1995, 2013, 2031, 2049, 2067, 2085, 2103, 2121, 2139, - 2157, 2175, 2193, 2211, 2229, 2247, 2265, 2283, 2301, 2319, 2337, 2355, - 2373, 2391, 2409, 2427, 2445, 2463, 2481, 2499, 2517, 2535, 2553, 2571, - 2589, 2607, 2625, 2643, 2661, 2679, 2697, 2715, 2733, 2751, 2769, 2787, - 2805, 2823, 2841, 2859, 2877, 2895, 2913, 2931, 2949, 2967, 2985, 3003, - 3021, 3039, 3057, 3075, 3093, 3111, 3129, 3147, 3165, 3183, 3201, 3219, - 3237, 3255, 3273, 3291, 3309, 3327, 3345, 3363, 3381, 3399, 3417, 3435, - 3453, 3471, 3489, 3507, 3525, 3543, 3561, 3579, 3597, 3615, 3633, 3651, - 3669, 3687, 3705, 3723, 3741, 3759, 3777, 3795, 3813, 3831, 3849, 3867, - 3885, 3903, 3921, 3939, 3957, 3975, 3993, 4011, 4029, 4047, 4065, 4083, - 4101, 4119, 4137, 4155, 4173, 4191, 4209, 4227, 4245, 4263, 4281, 4299, - 4317, 4335, 4353, 4371, 4389, 4407, 4425, 4443, 4461, 4479, 4497, 4515, - 4533, 4551, 4569, 4587, 4605, 4623, 4641, 4659, 4677, 4695, 4713, 4731, - 4749, 4767, 4785, 4803, 4821, 4839, 4857, 4875, 4893, 4911, 4929, 4947, - 4965, 4983, 5001, 5019, 5037, 5055, 5073, 5091, 5109, 5127, 5145, 5163, - 5181, 5199, 5217, 5235, 5253, 5271, 5289, 5307, 5325, 5343, 5361, 5379, - 5397, 5415, 5433, 5451, 5469, 5487, 5505, 5523, 5541, 5559, 5577, 5595, - 5613, 5631, 5649, 5667, 5685, 5703, 5721, 5739, 5757, 5775, 5793, 5811, - 5829, 5847, 5865, 5883, 5901, 5919, 5937, 5955, 5973, 5991, 6009, 6027, - 6045, 6063, 6081, 6099, 6117, 6135, 6153, 6171, 6189, 6207, 6225, 6243, - 6261, 6279, 6297, 6315, 6333, 6351, 6369, 6387, 6405, 6423, 6441, 6459, - 6477, 15, 33, 51, 69, 87, 105, 123, 141, 159, 177, 195, - 213, 231, 249, 267, 285, 303, 321, 339, 357, 375, 393, 411, - 3807, 3825, 3843, 3861, 3879, 3897, 3915, 3933, 3951, 3969, 3987, 4005, - 4023, 4041, 4059, 4077, 4095, 4113, 4131, 4149, 4167, 4185, 4203, 4221, - 4239, 4257, 4275, 4293, 4311, 4329, 4347, 4365, 4383, 4401, 4419, 4437, - 4455, 4473, 4491, 4509, 4527, 4545, 4563, 4581, 4599, 4617, 4635, 4653, - 4671, 4689, 4707, 4725, 4743, 4761, 4779, 4797, 4815, 4833, 4851, 4869, - 4887, 4905, 4923, 4941, 4959, 4977, 4995, 5013, 5031, 5049, 5067, 5085, - 5103, 5121, 5139, 5157, 5175, 5193, 5211, 5229, 5247, 5265, 5283, 5301, - 5319, 5337, 5355, 5373, 5391, 5409, 5427, 5445, 5463, 5481, 5499, 5517, - 5535, 5553, 5571, 5589, 5607, 5625, 5643, 5661, 5679, 5697, 5715, 5733, - 5751, 5769, 5787, 5805, 5823, 5841, 5859, 5877, 5895, 5913, 5931, 5949, - 5967, 5985, 6003, 6021, 6039, 6057, 6075, 6093, 6111, 6129, 6147, 6165, - 6183, 6201, 6219, 6237, 6255, 6273, 6291, 6309, 6327, 6345, 6363, 6381, - 6399, 6417, 6435, 6453, 6471, 9, 27, 45, 63, 81, 99, 117, - 135, 153, 171, 189, 207, 225, 243, 261, 279, 297, 315, 333, - 351, 369, 387, 405, 423, 441, 459, 477, 495, 513, 531, 549, - 567, 585, 603, 621, 639, 657, 675, 693, 711, 729, 747, 765, - 783, 801, 819, 837, 855, 873, 891, 909, 927, 945, 963, 981, - 999, 1017, 1035, 1053, 1071, 1089, 1107, 1125, 1143, 1161, 1179, 1197, - 1215, 1233, 1251, 1269, 1287, 1305, 1323, 1341, 1359, 1377, 1395, 1413, - 1431, 1449, 1467, 1485, 1503, 1521, 1539, 1557, 1575, 1593, 1611, 1629, - 1647, 1665, 1683, 1701, 1719, 1737, 1755, 1773, 1791, 1809, 1827, 1845, - 1863, 1881, 1899, 1917, 1935, 1953, 1971, 1989, 2007, 2025, 2043, 2061, - 2079, 2097, 2115, 2133, 2151, 2169, 2187, 2205, 2223, 2241, 2259, 2277, - 2295, 2313, 2331, 2349, 2367, 2385, 2403, 2421, 2439, 2457, 2475, 2493, - 2511, 2529, 2547, 2565, 2583, 2601, 2619, 2637, 2655, 2673, 2691, 2709, - 2727, 2745, 2763, 2781, 2799, 2817, 2835, 2853, 2871, 2889, 2907, 2925, - 2943, 2961, 2979, 2997, 3015, 3033, 3051, 3069, 3087, 3105, 3123, 3141, - 3159, 3177, 3195, 3213, 3231, 3249, 3267, 3285, 3303, 3321, 3339, 3357, - 3375, 3393, 3411, 3429, 3447, 3465, 3483, 3501, 3519, 3537, 3555, 3573, - 3591, 3609, 3627, 3645, 3663, 3681, 3699, 3717, 3735, 3753, 3771, 3789, - 818, 836, 854, 872, 890, 908, 926, 944, 962, 980, 998, 1016, - 1034, 1052, 1070, 1088, 1106, 1124, 1142, 1160, 1178, 1196, 1214, 1232, - 1250, 1268, 1286, 1304, 1322, 1340, 1358, 1376, 1394, 1412, 1430, 1448, - 1466, 1484, 1502, 1520, 1538, 1556, 1574, 1592, 1610, 1628, 1646, 1664, - 1682, 1700, 1718, 1736, 1754, 1772, 1790, 1808, 1826, 1844, 1862, 1880, - 1898, 1916, 1934, 1952, 1970, 1988, 2006, 2024, 2042, 2060, 2078, 2096, - 2114, 2132, 2150, 2168, 2186, 2204, 2222, 2240, 2258, 2276, 2294, 2312, - 2330, 2348, 2366, 2384, 2402, 2420, 2438, 2456, 2474, 2492, 2510, 2528, - 2546, 2564, 2582, 2600, 2618, 2636, 2654, 2672, 2690, 2708, 2726, 2744, - 2762, 2780, 2798, 2816, 2834, 2852, 2870, 2888, 2906, 2924, 2942, 2960, - 2978, 2996, 3014, 3032, 3050, 3068, 3086, 3104, 3122, 3140, 3158, 3176, - 3194, 3212, 3230, 3248, 3266, 3284, 3302, 3320, 3338, 3356, 3374, 3392, - 3410, 3428, 3446, 3464, 3482, 3500, 3518, 3536, 3554, 3572, 3590, 3608, - 3626, 3644, 3662, 3680, 3698, 3716, 3734, 3752, 3770, 3788, 3806, 3824, - 3842, 3860, 3878, 3896, 3914, 3932, 3950, 3968, 3986, 4004, 4022, 4040, - 4058, 4076, 4094, 4112, 4130, 4148, 4166, 4184, 4202, 4220, 4238, 4256, - 4274, 4292, 4310, 4328, 4346, 4364, 4382, 4400, 4418, 4436, 4454, 4472, - 4490, 4508, 4526, 4544, 4562, 4580, 4598, 4616, 4634, 4652, 4670, 4688, - 4706, 4724, 4742, 4760, 4778, 4796, 4814, 4832, 4850, 4868, 4886, 4904, - 4922, 4940, 4958, 4976, 4994, 5012, 5030, 5048, 5066, 5084, 5102, 5120, - 5138, 5156, 5174, 5192, 5210, 5228, 5246, 5264, 5282, 5300, 5318, 5336, - 5354, 5372, 5390, 5408, 5426, 5444, 5462, 5480, 5498, 5516, 5534, 5552, - 5570, 5588, 5606, 5624, 5642, 5660, 5678, 5696, 5714, 5732, 5750, 5768, - 5786, 5804, 5822, 5840, 5858, 5876, 5894, 5912, 5930, 5948, 5966, 5984, - 6002, 6020, 6038, 6056, 6074, 6092, 6110, 6128, 6146, 6164, 6182, 6200, - 6218, 6236, 6254, 6272, 6290, 6308, 6326, 6344, 6362, 6380, 6398, 6416, - 6434, 6452, 6470, 8, 26, 44, 62, 80, 98, 116, 134, 152, - 170, 188, 206, 224, 242, 260, 278, 296, 314, 332, 350, 368, - 386, 404, 422, 440, 458, 476, 494, 512, 530, 548, 566, 584, - 602, 620, 638, 656, 674, 692, 710, 728, 746, 764, 782, 800, - 288, 306, 324, 342, 360, 378, 396, 414, 432, 450, 468, 486, - 504, 522, 540, 558, 576, 594, 612, 630, 648, 666, 684, 702, - 720, 738, 756, 774, 792, 810, 828, 846, 864, 882, 900, 918, - 936, 954, 972, 990, 1008, 1026, 1044, 1062, 1080, 1098, 1116, 1134, - 1152, 1170, 1188, 1206, 1224, 1242, 1260, 1278, 1296, 1314, 1332, 1350, - 1368, 1386, 1404, 1422, 1440, 1458, 1476, 1494, 1512, 1530, 1548, 1566, - 1584, 1602, 1620, 1638, 1656, 1674, 1692, 1710, 1728, 1746, 1764, 1782, - 1800, 1818, 1836, 1854, 1872, 1890, 1908, 1926, 1944, 1962, 1980, 1998, - 2016, 2034, 2052, 2070, 2088, 2106, 2124, 2142, 2160, 2178, 2196, 2214, - 2232, 2250, 2268, 2286, 2304, 2322, 2340, 2358, 2376, 2394, 2412, 2430, - 2448, 2466, 2484, 2502, 2520, 2538, 2556, 2574, 2592, 2610, 2628, 2646, - 2664, 2682, 2700, 2718, 2736, 2754, 2772, 2790, 2808, 2826, 2844, 2862, - 2880, 2898, 2916, 2934, 2952, 2970, 2988, 3006, 3024, 3042, 3060, 3078, - 3096, 3114, 3132, 3150, 3168, 3186, 3204, 3222, 3240, 3258, 3276, 3294, - 3312, 3330, 3348, 3366, 3384, 3402, 3420, 3438, 3456, 3474, 3492, 3510, - 3528, 3546, 3564, 3582, 3600, 3618, 3636, 3654, 3672, 3690, 3708, 3726, - 3744, 3762, 3780, 3798, 3816, 3834, 3852, 3870, 3888, 3906, 3924, 3942, - 3960, 3978, 3996, 4014, 4032, 4050, 4068, 4086, 4104, 4122, 4140, 4158, - 4176, 4194, 4212, 4230, 4248, 4266, 4284, 4302, 4320, 4338, 4356, 4374, - 4392, 4410, 4428, 4446, 4464, 4482, 4500, 4518, 4536, 4554, 4572, 4590, - 4608, 4626, 4644, 4662, 4680, 4698, 4716, 4734, 4752, 4770, 4788, 4806, - 4824, 4842, 4860, 4878, 4896, 4914, 4932, 4950, 4968, 4986, 5004, 5022, - 5040, 5058, 5076, 5094, 5112, 5130, 5148, 5166, 5184, 5202, 5220, 5238, - 5256, 5274, 5292, 5310, 5328, 5346, 5364, 5382, 5400, 5418, 5436, 5454, - 5472, 5490, 5508, 5526, 5544, 5562, 5580, 5598, 5616, 5634, 5652, 5670, - 5688, 5706, 5724, 5742, 5760, 5778, 5796, 5814, 5832, 5850, 5868, 5886, - 5904, 5922, 5940, 5958, 5976, 5994, 6012, 6030, 6048, 6066, 6084, 6102, - 6120, 6138, 6156, 6174, 6192, 6210, 6228, 6246, 6264, 6282, 6300, 6318, - 6336, 6354, 6372, 6390, 6408, 6426, 6444, 6462, 6480, 18, 36, 54, - 72, 90, 108, 126, 144, 162, 180, 198, 216, 234, 252, 270, - 1357, 1375, 1393, 1411, 1429, 1447, 1465, 1483, 1501, 1519, 1537, 1555, - 1573, 1591, 1609, 1627, 1645, 1663, 1681, 1699, 1717, 1735, 1753, 1771, - 1789, 1807, 1825, 1843, 1861, 1879, 1897, 1915, 1933, 1951, 1969, 1987, - 2005, 2023, 2041, 2059, 2077, 2095, 2113, 2131, 2149, 2167, 2185, 2203, - 2221, 2239, 2257, 2275, 2293, 2311, 2329, 2347, 2365, 2383, 2401, 2419, - 2437, 2455, 2473, 2491, 2509, 2527, 2545, 2563, 2581, 2599, 2617, 2635, - 2653, 2671, 2689, 2707, 2725, 2743, 2761, 2779, 2797, 2815, 2833, 2851, - 2869, 2887, 2905, 2923, 2941, 2959, 2977, 2995, 3013, 3031, 3049, 3067, - 3085, 3103, 3121, 3139, 3157, 3175, 3193, 3211, 3229, 3247, 3265, 3283, - 3301, 3319, 3337, 3355, 3373, 3391, 3409, 3427, 3445, 3463, 3481, 3499, - 3517, 3535, 3553, 3571, 3589, 3607, 3625, 3643, 3661, 3679, 3697, 3715, - 3733, 3751, 3769, 3787, 3805, 3823, 3841, 3859, 3877, 3895, 3913, 3931, - 3949, 3967, 3985, 4003, 4021, 4039, 4057, 4075, 4093, 4111, 4129, 4147, - 4165, 4183, 4201, 4219, 4237, 4255, 4273, 4291, 4309, 4327, 4345, 4363, - 4381, 4399, 4417, 4435, 4453, 4471, 4489, 4507, 4525, 4543, 4561, 4579, - 4597, 4615, 4633, 4651, 4669, 4687, 4705, 4723, 4741, 4759, 4777, 4795, - 4813, 4831, 4849, 4867, 4885, 4903, 4921, 4939, 4957, 4975, 4993, 5011, - 5029, 5047, 5065, 5083, 5101, 5119, 5137, 5155, 5173, 5191, 5209, 5227, - 5245, 5263, 5281, 5299, 5317, 5335, 5353, 5371, 5389, 5407, 5425, 5443, - 5461, 5479, 5497, 5515, 5533, 5551, 5569, 5587, 5605, 5623, 5641, 5659, - 5677, 5695, 5713, 5731, 5749, 5767, 5785, 5803, 5821, 5839, 5857, 5875, - 5893, 5911, 5929, 5947, 5965, 5983, 6001, 6019, 6037, 6055, 6073, 6091, - 6109, 6127, 6145, 6163, 6181, 6199, 6217, 6235, 6253, 6271, 6289, 6307, - 6325, 6343, 6361, 6379, 6397, 6415, 6433, 6451, 6469, 7, 25, 43, - 61, 79, 97, 115, 133, 151, 169, 187, 205, 223, 241, 259, - 277, 295, 313, 331, 349, 367, 385, 403, 421, 439, 457, 475, - 493, 511, 529, 547, 565, 583, 601, 619, 637, 655, 673, 691, - 709, 727, 745, 763, 781, 799, 817, 835, 853, 871, 889, 907, - 925, 943, 961, 979, 997, 1015, 1033, 1051, 1069, 1087, 1105, 1123, - 1141, 1159, 1177, 1195, 1213, 1231, 1249, 1267, 1285, 1303, 1321, 1339, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3395, 3413, 3431, 3449, 3467, 3485, 3503, 3521, 3539, 3557, 3575, 3593, - 3611, 3629, 3647, 3665, 3683, 3701, 3719, 3737, 3755, 3773, 3791, 3809, - 3827, 3845, 3863, 3881, 3899, 3917, 3935, 3953, 3971, 3989, 4007, 4025, - 4043, 4061, 4079, 4097, 4115, 4133, 4151, 4169, 4187, 4205, 4223, 4241, - 4259, 4277, 4295, 4313, 4331, 4349, 4367, 4385, 4403, 4421, 4439, 4457, - 4475, 4493, 4511, 4529, 4547, 4565, 4583, 4601, 4619, 4637, 4655, 4673, - 4691, 4709, 4727, 4745, 4763, 4781, 4799, 4817, 4835, 4853, 4871, 4889, - 4907, 4925, 4943, 4961, 4979, 4997, 5015, 5033, 5051, 5069, 5087, 5105, - 5123, 5141, 5159, 5177, 5195, 5213, 5231, 5249, 5267, 5285, 5303, 5321, - 5339, 5357, 5375, 5393, 5411, 5429, 5447, 5465, 5483, 5501, 5519, 5537, - 5555, 5573, 5591, 5609, 5627, 5645, 5663, 5681, 5699, 5717, 5735, 5753, - 5771, 5789, 5807, 5825, 5843, 5861, 5879, 5897, 5915, 5933, 5951, 5969, - 5987, 6005, 6023, 6041, 6059, 6077, 6095, 6113, 6131, 6149, 6167, 6185, - 6203, 6221, 6239, 6257, 6275, 6293, 6311, 6329, 6347, 6365, 6383, 6401, - 6419, 6437, 6455, 6473, 11, 29, 47, 65, 83, 101, 119, 137, - 155, 173, 191, 209, 227, 245, 263, 281, 299, 317, 335, 353, - 371, 389, 407, 425, 443, 461, 479, 497, 515, 533, 551, 569, - 587, 605, 623, 641, 659, 677, 695, 713, 731, 749, 767, 785, - 803, 821, 839, 857, 875, 893, 911, 929, 947, 965, 983, 1001, - 1019, 1037, 1055, 1073, 1091, 1109, 1127, 1145, 1163, 1181, 1199, 1217, - 1235, 1253, 1271, 1289, 1307, 1325, 1343, 1361, 1379, 1397, 1415, 1433, - 1451, 1469, 1487, 1505, 1523, 1541, 1559, 1577, 1595, 1613, 1631, 1649, - 1667, 1685, 1703, 1721, 1739, 1757, 1775, 1793, 1811, 1829, 1847, 1865, - 1883, 1901, 1919, 1937, 1955, 1973, 1991, 2009, 2027, 2045, 2063, 2081, - 2099, 2117, 2135, 2153, 2171, 2189, 2207, 2225, 2243, 2261, 2279, 2297, - 2315, 2333, 2351, 2369, 2387, 2405, 2423, 2441, 2459, 2477, 2495, 2513, - 2531, 2549, 2567, 2585, 2603, 2621, 2639, 2657, 2675, 2693, 2711, 2729, - 2747, 2765, 2783, 2801, 2819, 2837, 2855, 2873, 2891, 2909, 2927, 2945, - 2963, 2981, 2999, 3017, 3035, 3053, 3071, 3089, 3107, 3125, 3143, 3161, - 3179, 3197, 3215, 3233, 3251, 3269, 3287, 3305, 3323, 3341, 3359, 3377, - 266, 284, 302, 320, 338, 356, 374, 392, 410, 428, 446, 464, - 482, 500, 518, 536, 554, 572, 590, 608, 626, 644, 662, 680, - 698, 716, 734, 752, 770, 788, 806, 824, 842, 860, 878, 896, - 914, 932, 950, 968, 986, 1004, 1022, 1040, 1058, 1076, 1094, 1112, - 1130, 1148, 1166, 1184, 1202, 1220, 1238, 1256, 1274, 1292, 1310, 1328, - 1346, 1364, 1382, 1400, 1418, 1436, 1454, 1472, 1490, 1508, 1526, 1544, - 1562, 1580, 1598, 1616, 1634, 1652, 1670, 1688, 1706, 1724, 1742, 1760, - 1778, 1796, 1814, 1832, 1850, 1868, 1886, 1904, 1922, 1940, 1958, 1976, - 1994, 2012, 2030, 2048, 2066, 2084, 2102, 2120, 2138, 2156, 2174, 2192, - 2210, 2228, 2246, 2264, 2282, 2300, 2318, 2336, 2354, 2372, 2390, 2408, - 2426, 2444, 2462, 2480, 2498, 2516, 2534, 2552, 2570, 2588, 2606, 2624, - 2642, 2660, 2678, 2696, 2714, 2732, 2750, 2768, 2786, 2804, 2822, 2840, - 2858, 2876, 2894, 2912, 2930, 2948, 2966, 2984, 3002, 3020, 3038, 3056, - 3074, 3092, 3110, 3128, 3146, 3164, 3182, 3200, 3218, 3236, 3254, 3272, - 3290, 3308, 3326, 3344, 3362, 3380, 3398, 3416, 3434, 3452, 3470, 3488, - 3506, 3524, 3542, 3560, 3578, 3596, 3614, 3632, 3650, 3668, 3686, 3704, - 3722, 3740, 3758, 3776, 3794, 3812, 3830, 3848, 3866, 3884, 3902, 3920, - 3938, 3956, 3974, 3992, 4010, 4028, 4046, 4064, 4082, 4100, 4118, 4136, - 4154, 4172, 4190, 4208, 4226, 4244, 4262, 4280, 4298, 4316, 4334, 4352, - 4370, 4388, 4406, 4424, 4442, 4460, 4478, 4496, 4514, 4532, 4550, 4568, - 4586, 4604, 4622, 4640, 4658, 4676, 4694, 4712, 4730, 4748, 4766, 4784, - 4802, 4820, 4838, 4856, 4874, 4892, 4910, 4928, 4946, 4964, 4982, 5000, - 5018, 5036, 5054, 5072, 5090, 5108, 5126, 5144, 5162, 5180, 5198, 5216, - 5234, 5252, 5270, 5288, 5306, 5324, 5342, 5360, 5378, 5396, 5414, 5432, - 5450, 5468, 5486, 5504, 5522, 5540, 5558, 5576, 5594, 5612, 5630, 5648, - 5666, 5684, 5702, 5720, 5738, 5756, 5774, 5792, 5810, 5828, 5846, 5864, - 5882, 5900, 5918, 5936, 5954, 5972, 5990, 6008, 6026, 6044, 6062, 6080, - 6098, 6116, 6134, 6152, 6170, 6188, 6206, 6224, 6242, 6260, 6278, 6296, - 6314, 6332, 6350, 6368, 6386, 6404, 6422, 6440, 6458, 6476, 14, 32, - 50, 68, 86, 104, 122, 140, 158, 176, 194, 212, 230, 248, - 6464, 2, 20, 38, 56, 74, 92, 110, 128, 146, 164, 182, - 200, 218, 236, 254, 272, 290, 308, 326, 344, 362, 380, 398, - 416, 434, 452, 470, 488, 506, 524, 542, 560, 578, 596, 614, - 632, 650, 668, 686, 704, 722, 740, 758, 776, 794, 812, 830, - 848, 866, 884, 902, 920, 938, 956, 974, 992, 1010, 1028, 1046, - 1064, 1082, 1100, 1118, 1136, 1154, 1172, 1190, 1208, 1226, 1244, 1262, - 1280, 1298, 1316, 1334, 1352, 1370, 1388, 1406, 1424, 1442, 1460, 1478, - 1496, 1514, 1532, 1550, 1568, 1586, 1604, 1622, 1640, 1658, 1676, 1694, - 1712, 1730, 1748, 1766, 1784, 1802, 1820, 1838, 1856, 1874, 1892, 1910, - 1928, 1946, 1964, 1982, 2000, 2018, 2036, 2054, 2072, 2090, 2108, 2126, - 2144, 2162, 2180, 2198, 2216, 2234, 2252, 2270, 2288, 2306, 2324, 2342, - 2360, 2378, 2396, 2414, 2432, 2450, 2468, 2486, 2504, 2522, 2540, 2558, - 2576, 2594, 2612, 2630, 2648, 2666, 2684, 2702, 2720, 2738, 2756, 2774, - 2792, 2810, 2828, 2846, 2864, 2882, 2900, 2918, 2936, 2954, 2972, 2990, - 3008, 3026, 3044, 3062, 3080, 3098, 3116, 3134, 3152, 3170, 3188, 3206, - 3224, 3242, 3260, 3278, 3296, 3314, 3332, 3350, 3368, 3386, 3404, 3422, - 3440, 3458, 3476, 3494, 3512, 3530, 3548, 3566, 3584, 3602, 3620, 3638, - 3656, 3674, 3692, 3710, 3728, 3746, 3764, 3782, 3800, 3818, 3836, 3854, - 3872, 3890, 3908, 3926, 3944, 3962, 3980, 3998, 4016, 4034, 4052, 4070, - 4088, 4106, 4124, 4142, 4160, 4178, 4196, 4214, 4232, 4250, 4268, 4286, - 4304, 4322, 4340, 4358, 4376, 4394, 4412, 4430, 4448, 4466, 4484, 4502, - 4520, 4538, 4556, 4574, 4592, 4610, 4628, 4646, 4664, 4682, 4700, 4718, - 4736, 4754, 4772, 4790, 4808, 4826, 4844, 4862, 4880, 4898, 4916, 4934, - 4952, 4970, 4988, 5006, 5024, 5042, 5060, 5078, 5096, 5114, 5132, 5150, - 5168, 5186, 5204, 5222, 5240, 5258, 5276, 5294, 5312, 5330, 5348, 5366, - 5384, 5402, 5420, 5438, 5456, 5474, 5492, 5510, 5528, 5546, 5564, 5582, - 5600, 5618, 5636, 5654, 5672, 5690, 5708, 5726, 5744, 5762, 5780, 5798, - 5816, 5834, 5852, 5870, 5888, 5906, 5924, 5942, 5960, 5978, 5996, 6014, - 6032, 6050, 6068, 6086, 6104, 6122, 6140, 6158, 6176, 6194, 6212, 6230, - 6248, 6266, 6284, 6302, 6320, 6338, 6356, 6374, 6392, 6410, 6428, 6446, - 4285, 4303, 4321, 4339, 4357, 4375, 4393, 4411, 4429, 4447, 4465, 4483, - 4501, 4519, 4537, 4555, 4573, 4591, 4609, 4627, 4645, 4663, 4681, 4699, - 4717, 4735, 4753, 4771, 4789, 4807, 4825, 4843, 4861, 4879, 4897, 4915, - 4933, 4951, 4969, 4987, 5005, 5023, 5041, 5059, 5077, 5095, 5113, 5131, - 5149, 5167, 5185, 5203, 5221, 5239, 5257, 5275, 5293, 5311, 5329, 5347, - 5365, 5383, 5401, 5419, 5437, 5455, 5473, 5491, 5509, 5527, 5545, 5563, - 5581, 5599, 5617, 5635, 5653, 5671, 5689, 5707, 5725, 5743, 5761, 5779, - 5797, 5815, 5833, 5851, 5869, 5887, 5905, 5923, 5941, 5959, 5977, 5995, - 6013, 6031, 6049, 6067, 6085, 6103, 6121, 6139, 6157, 6175, 6193, 6211, - 6229, 6247, 6265, 6283, 6301, 6319, 6337, 6355, 6373, 6391, 6409, 6427, - 6445, 6463, 1, 19, 37, 55, 73, 91, 109, 127, 145, 163, - 181, 199, 217, 235, 253, 271, 289, 307, 325, 343, 361, 379, - 397, 415, 433, 451, 469, 487, 505, 523, 541, 559, 577, 595, - 613, 631, 649, 667, 685, 703, 721, 739, 757, 775, 793, 811, - 829, 847, 865, 883, 901, 919, 937, 955, 973, 991, 1009, 1027, - 1045, 1063, 1081, 1099, 1117, 1135, 1153, 1171, 1189, 1207, 1225, 1243, - 1261, 1279, 1297, 1315, 1333, 1351, 1369, 1387, 1405, 1423, 1441, 1459, - 1477, 1495, 1513, 1531, 1549, 1567, 1585, 1603, 1621, 1639, 1657, 1675, - 1693, 1711, 1729, 1747, 1765, 1783, 1801, 1819, 1837, 1855, 1873, 1891, - 1909, 1927, 1945, 1963, 1981, 1999, 2017, 2035, 2053, 2071, 2089, 2107, - 2125, 2143, 2161, 2179, 2197, 2215, 2233, 2251, 2269, 2287, 2305, 2323, - 2341, 2359, 2377, 2395, 2413, 2431, 2449, 2467, 2485, 2503, 2521, 2539, - 2557, 2575, 2593, 2611, 2629, 2647, 2665, 2683, 2701, 2719, 2737, 2755, - 2773, 2791, 2809, 2827, 2845, 2863, 2881, 2899, 2917, 2935, 2953, 2971, - 2989, 3007, 3025, 3043, 3061, 3079, 3097, 3115, 3133, 3151, 3169, 3187, - 3205, 3223, 3241, 3259, 3277, 3295, 3313, 3331, 3349, 3367, 3385, 3403, - 3421, 3439, 3457, 3475, 3493, 3511, 3529, 3547, 3565, 3583, 3601, 3619, - 3637, 3655, 3673, 3691, 3709, 3727, 3745, 3763, 3781, 3799, 3817, 3835, - 3853, 3871, 3889, 3907, 3925, 3943, 3961, 3979, 3997, 4015, 4033, 4051, - 4069, 4087, 4105, 4123, 4141, 4159, 4177, 4195, 4213, 4231, 4249, 4267, - 3808, 3826, 3844, 3862, 3880, 3898, 3916, 3934, 3952, 3970, 3988, 4006, - 4024, 4042, 4060, 4078, 4096, 4114, 4132, 4150, 4168, 4186, 4204, 4222, - 4240, 4258, 4276, 4294, 4312, 4330, 4348, 4366, 4384, 4402, 4420, 4438, - 4456, 4474, 4492, 4510, 4528, 4546, 4564, 4582, 4600, 4618, 4636, 4654, - 4672, 4690, 4708, 4726, 4744, 4762, 4780, 4798, 4816, 4834, 4852, 4870, - 4888, 4906, 4924, 4942, 4960, 4978, 4996, 5014, 5032, 5050, 5068, 5086, - 5104, 5122, 5140, 5158, 5176, 5194, 5212, 5230, 5248, 5266, 5284, 5302, - 5320, 5338, 5356, 5374, 5392, 5410, 5428, 5446, 5464, 5482, 5500, 5518, - 5536, 5554, 5572, 5590, 5608, 5626, 5644, 5662, 5680, 5698, 5716, 5734, - 5752, 5770, 5788, 5806, 5824, 5842, 5860, 5878, 5896, 5914, 5932, 5950, - 5968, 5986, 6004, 6022, 6040, 6058, 6076, 6094, 6112, 6130, 6148, 6166, - 6184, 6202, 6220, 6238, 6256, 6274, 6292, 6310, 6328, 6346, 6364, 6382, - 6400, 6418, 6436, 6454, 6472, 10, 28, 46, 64, 82, 100, 118, - 136, 154, 172, 190, 208, 226, 244, 262, 280, 298, 316, 334, - 352, 370, 388, 406, 424, 442, 460, 478, 496, 514, 532, 550, - 568, 586, 604, 622, 640, 658, 676, 694, 712, 730, 748, 766, - 784, 802, 820, 838, 856, 874, 892, 910, 928, 946, 964, 982, - 1000, 1018, 1036, 1054, 1072, 1090, 1108, 1126, 1144, 1162, 1180, 1198, - 1216, 1234, 1252, 1270, 1288, 1306, 1324, 1342, 1360, 1378, 1396, 1414, - 1432, 1450, 1468, 1486, 1504, 1522, 1540, 1558, 1576, 1594, 1612, 1630, - 1648, 1666, 1684, 1702, 1720, 1738, 1756, 1774, 1792, 1810, 1828, 1846, - 1864, 1882, 1900, 1918, 1936, 1954, 1972, 1990, 2008, 2026, 2044, 2062, - 2080, 2098, 2116, 2134, 2152, 2170, 2188, 2206, 2224, 2242, 2260, 2278, - 2296, 2314, 2332, 2350, 2368, 2386, 2404, 2422, 2440, 2458, 2476, 2494, - 2512, 2530, 2548, 2566, 2584, 2602, 2620, 2638, 2656, 2674, 2692, 2710, - 2728, 2746, 2764, 2782, 2800, 2818, 2836, 2854, 2872, 2890, 2908, 2926, - 2944, 2962, 2980, 2998, 3016, 3034, 3052, 3070, 3088, 3106, 3124, 3142, - 3160, 3178, 3196, 3214, 3232, 3250, 3268, 3286, 3304, 3322, 3340, 3358, - 3376, 3394, 3412, 3430, 3448, 3466, 3484, 3502, 3520, 3538, 3556, 3574, - 3592, 3610, 3628, 3646, 3664, 3682, 3700, 3718, 3736, 3754, 3772, 3790, - 4535, 4553, 4571, 4589, 4607, 4625, 4643, 4661, 4679, 4697, 4715, 4733, - 4751, 4769, 4787, 4805, 4823, 4841, 4859, 4877, 4895, 4913, 4931, 4949, - 4967, 4985, 5003, 5021, 5039, 5057, 5075, 5093, 5111, 5129, 5147, 5165, - 5183, 5201, 5219, 5237, 5255, 5273, 5291, 5309, 5327, 5345, 5363, 5381, - 5399, 5417, 5435, 5453, 5471, 5489, 5507, 5525, 5543, 5561, 5579, 5597, - 5615, 5633, 5651, 5669, 5687, 5705, 5723, 5741, 5759, 5777, 5795, 5813, - 5831, 5849, 5867, 5885, 5903, 5921, 5939, 5957, 5975, 5993, 6011, 6029, - 6047, 6065, 6083, 6101, 6119, 6137, 6155, 6173, 6191, 6209, 6227, 6245, - 6263, 6281, 6299, 6317, 6335, 6353, 6371, 6389, 6407, 6425, 6443, 6461, - 6479, 17, 35, 53, 71, 89, 107, 125, 143, 161, 179, 197, - 215, 233, 251, 269, 287, 305, 323, 341, 359, 377, 395, 413, - 431, 449, 467, 485, 503, 521, 539, 557, 575, 593, 611, 629, - 647, 665, 683, 701, 719, 737, 755, 773, 791, 809, 827, 845, - 863, 881, 899, 917, 935, 953, 971, 989, 1007, 1025, 1043, 1061, - 1079, 1097, 1115, 1133, 1151, 1169, 1187, 1205, 1223, 1241, 1259, 1277, - 1295, 1313, 1331, 1349, 1367, 1385, 1403, 1421, 1439, 1457, 1475, 1493, - 1511, 1529, 1547, 1565, 1583, 1601, 1619, 1637, 1655, 1673, 1691, 1709, - 1727, 1745, 1763, 1781, 1799, 1817, 1835, 1853, 1871, 1889, 1907, 1925, - 1943, 1961, 1979, 1997, 2015, 2033, 2051, 2069, 2087, 2105, 2123, 2141, - 2159, 2177, 2195, 2213, 2231, 2249, 2267, 2285, 2303, 2321, 2339, 2357, - 2375, 2393, 2411, 2429, 2447, 2465, 2483, 2501, 2519, 2537, 2555, 2573, - 2591, 2609, 2627, 2645, 2663, 2681, 2699, 2717, 2735, 2753, 2771, 2789, - 2807, 2825, 2843, 2861, 2879, 2897, 2915, 2933, 2951, 2969, 2987, 3005, - 3023, 3041, 3059, 3077, 3095, 3113, 3131, 3149, 3167, 3185, 3203, 3221, - 3239, 3257, 3275, 3293, 3311, 3329, 3347, 3365, 3383, 3401, 3419, 3437, - 3455, 3473, 3491, 3509, 3527, 3545, 3563, 3581, 3599, 3617, 3635, 3653, - 3671, 3689, 3707, 3725, 3743, 3761, 3779, 3797, 3815, 3833, 3851, 3869, - 3887, 3905, 3923, 3941, 3959, 3977, 3995, 4013, 4031, 4049, 4067, 4085, - 4103, 4121, 4139, 4157, 4175, 4193, 4211, 4229, 4247, 4265, 4283, 4301, - 4319, 4337, 4355, 4373, 4391, 4409, 4427, 4445, 4463, 4481, 4499, 4517, - 876, 894, 912, 930, 948, 966, 984, 1002, 1020, 1038, 1056, 1074, - 1092, 1110, 1128, 1146, 1164, 1182, 1200, 1218, 1236, 1254, 1272, 1290, - 1308, 1326, 1344, 1362, 1380, 1398, 1416, 1434, 1452, 1470, 1488, 1506, - 1524, 1542, 1560, 1578, 1596, 1614, 1632, 1650, 1668, 1686, 1704, 1722, - 1740, 1758, 1776, 1794, 1812, 1830, 1848, 1866, 1884, 1902, 1920, 1938, - 1956, 1974, 1992, 2010, 2028, 2046, 2064, 2082, 2100, 2118, 2136, 2154, - 2172, 2190, 2208, 2226, 2244, 2262, 2280, 2298, 2316, 2334, 2352, 2370, - 2388, 2406, 2424, 2442, 2460, 2478, 2496, 2514, 2532, 2550, 2568, 2586, - 2604, 2622, 2640, 2658, 2676, 2694, 2712, 2730, 2748, 2766, 2784, 2802, - 2820, 2838, 2856, 2874, 2892, 2910, 2928, 2946, 2964, 2982, 3000, 3018, - 3036, 3054, 3072, 3090, 3108, 3126, 3144, 3162, 3180, 3198, 3216, 3234, - 3252, 3270, 3288, 3306, 3324, 3342, 3360, 3378, 3396, 3414, 3432, 3450, - 3468, 3486, 3504, 3522, 3540, 3558, 3576, 3594, 3612, 3630, 3648, 3666, - 3684, 3702, 3720, 3738, 3756, 3774, 3792, 3810, 3828, 3846, 3864, 3882, - 3900, 3918, 3936, 3954, 3972, 3990, 4008, 4026, 4044, 4062, 4080, 4098, - 4116, 4134, 4152, 4170, 4188, 4206, 4224, 4242, 4260, 4278, 4296, 4314, - 4332, 4350, 4368, 4386, 4404, 4422, 4440, 4458, 4476, 4494, 4512, 4530, - 4548, 4566, 4584, 4602, 4620, 4638, 4656, 4674, 4692, 4710, 4728, 4746, - 4764, 4782, 4800, 4818, 4836, 4854, 4872, 4890, 4908, 4926, 4944, 4962, - 4980, 4998, 5016, 5034, 5052, 5070, 5088, 5106, 5124, 5142, 5160, 5178, - 5196, 5214, 5232, 5250, 5268, 5286, 5304, 5322, 5340, 5358, 5376, 5394, - 5412, 5430, 5448, 5466, 5484, 5502, 5520, 5538, 5556, 5574, 5592, 5610, - 5628, 5646, 5664, 5682, 5700, 5718, 5736, 5754, 5772, 5790, 5808, 5826, - 5844, 5862, 5880, 5898, 5916, 5934, 5952, 5970, 5988, 6006, 6024, 6042, - 6060, 6078, 6096, 6114, 6132, 6150, 6168, 6186, 6204, 6222, 6240, 6258, - 6276, 6294, 6312, 6330, 6348, 6366, 6384, 6402, 6420, 6438, 6456, 6474, - 12, 30, 48, 66, 84, 102, 120, 138, 156, 174, 192, 210, - 228, 246, 264, 282, 300, 318, 336, 354, 372, 390, 408, 426, - 444, 462, 480, 498, 516, 534, 552, 570, 588, 606, 624, 642, - 660, 678, 696, 714, 732, 750, 768, 786, 804, 822, 840, 858, - 1849, 1867, 1885, 1903, 1921, 1939, 1957, 1975, 1993, 2011, 2029, 2047, - 2065, 2083, 2101, 2119, 2137, 2155, 2173, 2191, 2209, 2227, 2245, 2263, - 2281, 2299, 2317, 2335, 2353, 2371, 2389, 2407, 2425, 2443, 2461, 2479, - 2497, 2515, 2533, 2551, 2569, 2587, 2605, 2623, 2641, 2659, 2677, 2695, - 2713, 2731, 2749, 2767, 2785, 2803, 2821, 2839, 2857, 2875, 2893, 2911, - 2929, 2947, 2965, 2983, 3001, 3019, 3037, 3055, 3073, 3091, 3109, 3127, - 3145, 3163, 3181, 3199, 3217, 3235, 3253, 3271, 3289, 3307, 3325, 3343, - 3361, 3379, 3397, 3415, 3433, 3451, 3469, 3487, 3505, 3523, 3541, 3559, - 3577, 3595, 3613, 3631, 3649, 3667, 3685, 3703, 3721, 3739, 3757, 3775, - 3793, 3811, 3829, 3847, 3865, 3883, 3901, 3919, 3937, 3955, 3973, 3991, - 4009, 4027, 4045, 4063, 4081, 4099, 4117, 4135, 4153, 4171, 4189, 4207, - 4225, 4243, 4261, 4279, 4297, 4315, 4333, 4351, 4369, 4387, 4405, 4423, - 4441, 4459, 4477, 4495, 4513, 4531, 4549, 4567, 4585, 4603, 4621, 4639, - 4657, 4675, 4693, 4711, 4729, 4747, 4765, 4783, 4801, 4819, 4837, 4855, - 4873, 4891, 4909, 4927, 4945, 4963, 4981, 4999, 5017, 5035, 5053, 5071, - 5089, 5107, 5125, 5143, 5161, 5179, 5197, 5215, 5233, 5251, 5269, 5287, - 5305, 5323, 5341, 5359, 5377, 5395, 5413, 5431, 5449, 5467, 5485, 5503, - 5521, 5539, 5557, 5575, 5593, 5611, 5629, 5647, 5665, 5683, 5701, 5719, - 5737, 5755, 5773, 5791, 5809, 5827, 5845, 5863, 5881, 5899, 5917, 5935, - 5953, 5971, 5989, 6007, 6025, 6043, 6061, 6079, 6097, 6115, 6133, 6151, - 6169, 6187, 6205, 6223, 6241, 6259, 6277, 6295, 6313, 6331, 6349, 6367, - 6385, 6403, 6421, 6439, 6457, 6475, 13, 31, 49, 67, 85, 103, - 121, 139, 157, 175, 193, 211, 229, 247, 265, 283, 301, 319, - 337, 355, 373, 391, 409, 427, 445, 463, 481, 499, 517, 535, - 553, 571, 589, 607, 625, 643, 661, 679, 697, 715, 733, 751, - 769, 787, 805, 823, 841, 859, 877, 895, 913, 931, 949, 967, - 985, 1003, 1021, 1039, 1057, 1075, 1093, 1111, 1129, 1147, 1165, 1183, - 1201, 1219, 1237, 1255, 1273, 1291, 1309, 1327, 1345, 1363, 1381, 1399, - 1417, 1435, 1453, 1471, 1489, 1507, 1525, 1543, 1561, 1579, 1597, 1615, - 1633, 1651, 1669, 1687, 1705, 1723, 1741, 1759, 1777, 1795, 1813, 1831, - 885, 903, 921, 939, 957, 975, 993, 1011, 1029, 1047, 1065, 1083, - 1101, 1119, 1137, 1155, 1173, 1191, 1209, 1227, 1245, 1263, 1281, 1299, - 1317, 1335, 1353, 1371, 1389, 1407, 1425, 1443, 1461, 1479, 1497, 1515, - 1533, 1551, 1569, 1587, 1605, 1623, 1641, 1659, 1677, 1695, 1713, 1731, - 1749, 1767, 1785, 1803, 1821, 1839, 1857, 1875, 1893, 1911, 1929, 1947, - 1965, 1983, 2001, 2019, 2037, 2055, 2073, 2091, 2109, 2127, 2145, 2163, - 2181, 2199, 2217, 2235, 2253, 2271, 2289, 2307, 2325, 2343, 2361, 2379, - 2397, 2415, 2433, 2451, 2469, 2487, 2505, 2523, 2541, 2559, 2577, 2595, - 2613, 2631, 2649, 2667, 2685, 2703, 2721, 2739, 2757, 2775, 2793, 2811, - 2829, 2847, 2865, 2883, 2901, 2919, 2937, 2955, 2973, 2991, 3009, 3027, - 3045, 3063, 3081, 3099, 3117, 3135, 3153, 3171, 3189, 3207, 3225, 3243, - 3261, 3279, 3297, 3315, 3333, 3351, 3369, 3387, 3405, 3423, 3441, 3459, - 3477, 3495, 3513, 3531, 3549, 3567, 3585, 3603, 3621, 3639, 3657, 3675, - 3693, 3711, 3729, 3747, 3765, 3783, 3801, 3819, 3837, 3855, 3873, 3891, - 3909, 3927, 3945, 3963, 3981, 3999, 4017, 4035, 4053, 4071, 4089, 4107, - 4125, 4143, 4161, 4179, 4197, 4215, 4233, 4251, 4269, 4287, 4305, 4323, - 4341, 4359, 4377, 4395, 4413, 4431, 4449, 4467, 4485, 4503, 4521, 4539, - 4557, 4575, 4593, 4611, 4629, 4647, 4665, 4683, 4701, 4719, 4737, 4755, - 4773, 4791, 4809, 4827, 4845, 4863, 4881, 4899, 4917, 4935, 4953, 4971, - 4989, 5007, 5025, 5043, 5061, 5079, 5097, 5115, 5133, 5151, 5169, 5187, - 5205, 5223, 5241, 5259, 5277, 5295, 5313, 5331, 5349, 5367, 5385, 5403, - 5421, 5439, 5457, 5475, 5493, 5511, 5529, 5547, 5565, 5583, 5601, 5619, - 5637, 5655, 5673, 5691, 5709, 5727, 5745, 5763, 5781, 5799, 5817, 5835, - 5853, 5871, 5889, 5907, 5925, 5943, 5961, 5979, 5997, 6015, 6033, 6051, - 6069, 6087, 6105, 6123, 6141, 6159, 6177, 6195, 6213, 6231, 6249, 6267, - 6285, 6303, 6321, 6339, 6357, 6375, 6393, 6411, 6429, 6447, 6465, 3, - 21, 39, 57, 75, 93, 111, 129, 147, 165, 183, 201, 219, - 237, 255, 273, 291, 309, 327, 345, 363, 381, 399, 417, 435, - 453, 471, 489, 507, 525, 543, 561, 579, 597, 615, 633, 651, - 669, 687, 705, 723, 741, 759, 777, 795, 813, 831, 849, 867, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2841, 2859, 2877, 2895, 2913, 2931, 2949, 2967, 2985, 3003, 3021, 3039, - 3057, 3075, 3093, 3111, 3129, 3147, 3165, 3183, 3201, 3219, 3237, 3255, - 3273, 3291, 3309, 3327, 3345, 3363, 3381, 3399, 3417, 3435, 3453, 3471, - 3489, 3507, 3525, 3543, 3561, 3579, 3597, 3615, 3633, 3651, 3669, 3687, - 3705, 3723, 3741, 3759, 3777, 3795, 3813, 3831, 3849, 3867, 3885, 3903, - 3921, 3939, 3957, 3975, 3993, 4011, 4029, 4047, 4065, 4083, 4101, 4119, - 4137, 4155, 4173, 4191, 4209, 4227, 4245, 4263, 4281, 4299, 4317, 4335, - 4353, 4371, 4389, 4407, 4425, 4443, 4461, 4479, 4497, 4515, 4533, 4551, - 4569, 4587, 4605, 4623, 4641, 4659, 4677, 4695, 4713, 4731, 4749, 4767, - 4785, 4803, 4821, 4839, 4857, 4875, 4893, 4911, 4929, 4947, 4965, 4983, - 5001, 5019, 5037, 5055, 5073, 5091, 5109, 5127, 5145, 5163, 5181, 5199, - 5217, 5235, 5253, 5271, 5289, 5307, 5325, 5343, 5361, 5379, 5397, 5415, - 5433, 5451, 5469, 5487, 5505, 5523, 5541, 5559, 5577, 5595, 5613, 5631, - 5649, 5667, 5685, 5703, 5721, 5739, 5757, 5775, 5793, 5811, 5829, 5847, - 5865, 5883, 5901, 5919, 5937, 5955, 5973, 5991, 6009, 6027, 6045, 6063, - 6081, 6099, 6117, 6135, 6153, 6171, 6189, 6207, 6225, 6243, 6261, 6279, - 6297, 6315, 6333, 6351, 6369, 6387, 6405, 6423, 6441, 6459, 6477, 15, - 33, 51, 69, 87, 105, 123, 141, 159, 177, 195, 213, 231, - 249, 267, 285, 303, 321, 339, 357, 375, 393, 411, 429, 447, - 465, 483, 501, 519, 537, 555, 573, 591, 609, 627, 645, 663, - 681, 699, 717, 735, 753, 771, 789, 807, 825, 843, 861, 879, - 897, 915, 933, 951, 969, 987, 1005, 1023, 1041, 1059, 1077, 1095, - 1113, 1131, 1149, 1167, 1185, 1203, 1221, 1239, 1257, 1275, 1293, 1311, - 1329, 1347, 1365, 1383, 1401, 1419, 1437, 1455, 1473, 1491, 1509, 1527, - 1545, 1563, 1581, 1599, 1617, 1635, 1653, 1671, 1689, 1707, 1725, 1743, - 1761, 1779, 1797, 1815, 1833, 1851, 1869, 1887, 1905, 1923, 1941, 1959, - 1977, 1995, 2013, 2031, 2049, 2067, 2085, 2103, 2121, 2139, 2157, 2175, - 2193, 2211, 2229, 2247, 2265, 2283, 2301, 2319, 2337, 2355, 2373, 2391, - 2409, 2427, 2445, 2463, 2481, 2499, 2517, 2535, 2553, 2571, 2589, 2607, - 2625, 2643, 2661, 2679, 2697, 2715, 2733, 2751, 2769, 2787, 2805, 2823, - 5602, 5620, 5638, 5656, 5674, 5692, 5710, 5728, 5746, 5764, 5782, 5800, - 5818, 5836, 5854, 5872, 5890, 5908, 5926, 5944, 5962, 5980, 5998, 6016, - 6034, 6052, 6070, 6088, 6106, 6124, 6142, 6160, 6178, 6196, 6214, 6232, - 6250, 6268, 6286, 6304, 6322, 6340, 6358, 6376, 6394, 6412, 6430, 6448, - 6466, 4, 22, 40, 58, 76, 94, 112, 130, 148, 166, 184, - 202, 220, 238, 256, 274, 292, 310, 328, 346, 364, 382, 400, - 418, 436, 454, 472, 490, 508, 526, 544, 562, 580, 598, 616, - 634, 652, 670, 688, 706, 724, 742, 760, 778, 796, 814, 832, - 850, 868, 886, 904, 922, 940, 958, 976, 994, 1012, 1030, 1048, - 1066, 1084, 1102, 1120, 1138, 1156, 1174, 1192, 1210, 1228, 1246, 1264, - 1282, 1300, 1318, 1336, 1354, 1372, 1390, 1408, 1426, 1444, 1462, 1480, - 1498, 1516, 1534, 1552, 1570, 1588, 1606, 1624, 1642, 1660, 1678, 1696, - 1714, 1732, 1750, 1768, 1786, 1804, 1822, 1840, 1858, 1876, 1894, 1912, - 1930, 1948, 1966, 1984, 2002, 2020, 2038, 2056, 2074, 2092, 2110, 2128, - 2146, 2164, 2182, 2200, 2218, 2236, 2254, 2272, 2290, 2308, 2326, 2344, - 2362, 2380, 2398, 2416, 2434, 2452, 2470, 2488, 2506, 2524, 2542, 2560, - 2578, 2596, 2614, 2632, 2650, 2668, 2686, 2704, 2722, 2740, 2758, 2776, - 2794, 2812, 2830, 2848, 2866, 2884, 2902, 2920, 2938, 2956, 2974, 2992, - 3010, 3028, 3046, 3064, 3082, 3100, 3118, 3136, 3154, 3172, 3190, 3208, - 3226, 3244, 3262, 3280, 3298, 3316, 3334, 3352, 3370, 3388, 3406, 3424, - 3442, 3460, 3478, 3496, 3514, 3532, 3550, 3568, 3586, 3604, 3622, 3640, - 3658, 3676, 3694, 3712, 3730, 3748, 3766, 3784, 3802, 3820, 3838, 3856, - 3874, 3892, 3910, 3928, 3946, 3964, 3982, 4000, 4018, 4036, 4054, 4072, - 4090, 4108, 4126, 4144, 4162, 4180, 4198, 4216, 4234, 4252, 4270, 4288, - 4306, 4324, 4342, 4360, 4378, 4396, 4414, 4432, 4450, 4468, 4486, 4504, - 4522, 4540, 4558, 4576, 4594, 4612, 4630, 4648, 4666, 4684, 4702, 4720, - 4738, 4756, 4774, 4792, 4810, 4828, 4846, 4864, 4882, 4900, 4918, 4936, - 4954, 4972, 4990, 5008, 5026, 5044, 5062, 5080, 5098, 5116, 5134, 5152, - 5170, 5188, 5206, 5224, 5242, 5260, 5278, 5296, 5314, 5332, 5350, 5368, - 5386, 5404, 5422, 5440, 5458, 5476, 5494, 5512, 5530, 5548, 5566, 5584, - 5299, 5317, 5335, 5353, 5371, 5389, 5407, 5425, 5443, 5461, 5479, 5497, - 5515, 5533, 5551, 5569, 5587, 5605, 5623, 5641, 5659, 5677, 5695, 5713, - 5731, 5749, 5767, 5785, 5803, 5821, 5839, 5857, 5875, 5893, 5911, 5929, - 5947, 5965, 5983, 6001, 6019, 6037, 6055, 6073, 6091, 6109, 6127, 6145, - 6163, 6181, 6199, 6217, 6235, 6253, 6271, 6289, 6307, 6325, 6343, 6361, - 6379, 6397, 6415, 6433, 6451, 6469, 7, 25, 43, 61, 79, 97, - 115, 133, 151, 169, 187, 205, 223, 241, 259, 277, 295, 313, - 331, 349, 367, 385, 403, 421, 439, 457, 475, 493, 511, 529, - 547, 565, 583, 601, 619, 637, 655, 673, 691, 709, 727, 745, - 763, 781, 799, 817, 835, 853, 871, 889, 907, 925, 943, 961, - 979, 997, 1015, 1033, 1051, 1069, 1087, 1105, 1123, 1141, 1159, 1177, - 1195, 1213, 1231, 1249, 1267, 1285, 1303, 1321, 1339, 1357, 1375, 1393, - 1411, 1429, 1447, 1465, 1483, 1501, 1519, 1537, 1555, 1573, 1591, 1609, - 1627, 1645, 1663, 1681, 1699, 1717, 1735, 1753, 1771, 1789, 1807, 1825, - 1843, 1861, 1879, 1897, 1915, 1933, 1951, 1969, 1987, 2005, 2023, 2041, - 2059, 2077, 2095, 2113, 2131, 2149, 2167, 2185, 2203, 2221, 2239, 2257, - 2275, 2293, 2311, 2329, 2347, 2365, 2383, 2401, 2419, 2437, 2455, 2473, - 2491, 2509, 2527, 2545, 2563, 2581, 2599, 2617, 2635, 2653, 2671, 2689, - 2707, 2725, 2743, 2761, 2779, 2797, 2815, 2833, 2851, 2869, 2887, 2905, - 2923, 2941, 2959, 2977, 2995, 3013, 3031, 3049, 3067, 3085, 3103, 3121, - 3139, 3157, 3175, 3193, 3211, 3229, 3247, 3265, 3283, 3301, 3319, 3337, - 3355, 3373, 3391, 3409, 3427, 3445, 3463, 3481, 3499, 3517, 3535, 3553, - 3571, 3589, 3607, 3625, 3643, 3661, 3679, 3697, 3715, 3733, 3751, 3769, - 3787, 3805, 3823, 3841, 3859, 3877, 3895, 3913, 3931, 3949, 3967, 3985, - 4003, 4021, 4039, 4057, 4075, 4093, 4111, 4129, 4147, 4165, 4183, 4201, - 4219, 4237, 4255, 4273, 4291, 4309, 4327, 4345, 4363, 4381, 4399, 4417, - 4435, 4453, 4471, 4489, 4507, 4525, 4543, 4561, 4579, 4597, 4615, 4633, - 4651, 4669, 4687, 4705, 4723, 4741, 4759, 4777, 4795, 4813, 4831, 4849, - 4867, 4885, 4903, 4921, 4939, 4957, 4975, 4993, 5011, 5029, 5047, 5065, - 5083, 5101, 5119, 5137, 5155, 5173, 5191, 5209, 5227, 5245, 5263, 5281, - 2442, 2460, 2478, 2496, 2514, 2532, 2550, 2568, 2586, 2604, 2622, 2640, - 2658, 2676, 2694, 2712, 2730, 2748, 2766, 2784, 2802, 2820, 2838, 2856, - 2874, 2892, 2910, 2928, 2946, 2964, 2982, 3000, 3018, 3036, 3054, 3072, - 3090, 3108, 3126, 3144, 3162, 3180, 3198, 3216, 3234, 3252, 3270, 3288, - 3306, 3324, 3342, 3360, 3378, 3396, 3414, 3432, 3450, 3468, 3486, 3504, - 3522, 3540, 3558, 3576, 3594, 3612, 3630, 3648, 3666, 3684, 3702, 3720, - 3738, 3756, 3774, 3792, 3810, 3828, 3846, 3864, 3882, 3900, 3918, 3936, - 3954, 3972, 3990, 4008, 4026, 4044, 4062, 4080, 4098, 4116, 4134, 4152, - 4170, 4188, 4206, 4224, 4242, 4260, 4278, 4296, 4314, 4332, 4350, 4368, - 4386, 4404, 4422, 4440, 4458, 4476, 4494, 4512, 4530, 4548, 4566, 4584, - 4602, 4620, 4638, 4656, 4674, 4692, 4710, 4728, 4746, 4764, 4782, 4800, - 4818, 4836, 4854, 4872, 4890, 4908, 4926, 4944, 4962, 4980, 4998, 5016, - 5034, 5052, 5070, 5088, 5106, 5124, 5142, 5160, 5178, 5196, 5214, 5232, - 5250, 5268, 5286, 5304, 5322, 5340, 5358, 5376, 5394, 5412, 5430, 5448, - 5466, 5484, 5502, 5520, 5538, 5556, 5574, 5592, 5610, 5628, 5646, 5664, - 5682, 5700, 5718, 5736, 5754, 5772, 5790, 5808, 5826, 5844, 5862, 5880, - 5898, 5916, 5934, 5952, 5970, 5988, 6006, 6024, 6042, 6060, 6078, 6096, - 6114, 6132, 6150, 6168, 6186, 6204, 6222, 6240, 6258, 6276, 6294, 6312, - 6330, 6348, 6366, 6384, 6402, 6420, 6438, 6456, 6474, 12, 30, 48, - 66, 84, 102, 120, 138, 156, 174, 192, 210, 228, 246, 264, - 282, 300, 318, 336, 354, 372, 390, 408, 426, 444, 462, 480, - 498, 516, 534, 552, 570, 588, 606, 624, 642, 660, 678, 696, - 714, 732, 750, 768, 786, 804, 822, 840, 858, 876, 894, 912, - 930, 948, 966, 984, 1002, 1020, 1038, 1056, 1074, 1092, 1110, 1128, - 1146, 1164, 1182, 1200, 1218, 1236, 1254, 1272, 1290, 1308, 1326, 1344, - 1362, 1380, 1398, 1416, 1434, 1452, 1470, 1488, 1506, 1524, 1542, 1560, - 1578, 1596, 1614, 1632, 1650, 1668, 1686, 1704, 1722, 1740, 1758, 1776, - 1794, 1812, 1830, 1848, 1866, 1884, 1902, 1920, 1938, 1956, 1974, 1992, - 2010, 2028, 2046, 2064, 2082, 2100, 2118, 2136, 2154, 2172, 2190, 2208, - 2226, 2244, 2262, 2280, 2298, 2316, 2334, 2352, 2370, 2388, 2406, 2424, - 1514, 1532, 1550, 1568, 1586, 1604, 1622, 1640, 1658, 1676, 1694, 1712, - 1730, 1748, 1766, 1784, 1802, 1820, 1838, 1856, 1874, 1892, 1910, 1928, - 1946, 1964, 1982, 2000, 2018, 2036, 2054, 2072, 2090, 2108, 2126, 2144, - 2162, 2180, 2198, 2216, 2234, 2252, 2270, 2288, 2306, 2324, 2342, 2360, - 2378, 2396, 2414, 2432, 2450, 2468, 2486, 2504, 2522, 2540, 2558, 2576, - 2594, 2612, 2630, 2648, 2666, 2684, 2702, 2720, 2738, 2756, 2774, 2792, - 2810, 2828, 2846, 2864, 2882, 2900, 2918, 2936, 2954, 2972, 2990, 3008, - 3026, 3044, 3062, 3080, 3098, 3116, 3134, 3152, 3170, 3188, 3206, 3224, - 3242, 3260, 3278, 3296, 3314, 3332, 3350, 3368, 3386, 3404, 3422, 3440, - 3458, 3476, 3494, 3512, 3530, 3548, 3566, 3584, 3602, 3620, 3638, 3656, - 3674, 3692, 3710, 3728, 3746, 3764, 3782, 3800, 3818, 3836, 3854, 3872, - 3890, 3908, 3926, 3944, 3962, 3980, 3998, 4016, 4034, 4052, 4070, 4088, - 4106, 4124, 4142, 4160, 4178, 4196, 4214, 4232, 4250, 4268, 4286, 4304, - 4322, 4340, 4358, 4376, 4394, 4412, 4430, 4448, 4466, 4484, 4502, 4520, - 4538, 4556, 4574, 4592, 4610, 4628, 4646, 4664, 4682, 4700, 4718, 4736, - 4754, 4772, 4790, 4808, 4826, 4844, 4862, 4880, 4898, 4916, 4934, 4952, - 4970, 4988, 5006, 5024, 5042, 5060, 5078, 5096, 5114, 5132, 5150, 5168, - 5186, 5204, 5222, 5240, 5258, 5276, 5294, 5312, 5330, 5348, 5366, 5384, - 5402, 5420, 5438, 5456, 5474, 5492, 5510, 5528, 5546, 5564, 5582, 5600, - 5618, 5636, 5654, 5672, 5690, 5708, 5726, 5744, 5762, 5780, 5798, 5816, - 5834, 5852, 5870, 5888, 5906, 5924, 5942, 5960, 5978, 5996, 6014, 6032, - 6050, 6068, 6086, 6104, 6122, 6140, 6158, 6176, 6194, 6212, 6230, 6248, - 6266, 6284, 6302, 6320, 6338, 6356, 6374, 6392, 6410, 6428, 6446, 6464, - 2, 20, 38, 56, 74, 92, 110, 128, 146, 164, 182, 200, - 218, 236, 254, 272, 290, 308, 326, 344, 362, 380, 398, 416, - 434, 452, 470, 488, 506, 524, 542, 560, 578, 596, 614, 632, - 650, 668, 686, 704, 722, 740, 758, 776, 794, 812, 830, 848, - 866, 884, 902, 920, 938, 956, 974, 992, 1010, 1028, 1046, 1064, - 1082, 1100, 1118, 1136, 1154, 1172, 1190, 1208, 1226, 1244, 1262, 1280, - 1298, 1316, 1334, 1352, 1370, 1388, 1406, 1424, 1442, 1460, 1478, 1496, - 5410, 5428, 5446, 5464, 5482, 5500, 5518, 5536, 5554, 5572, 5590, 5608, - 5626, 5644, 5662, 5680, 5698, 5716, 5734, 5752, 5770, 5788, 5806, 5824, - 5842, 5860, 5878, 5896, 5914, 5932, 5950, 5968, 5986, 6004, 6022, 6040, - 6058, 6076, 6094, 6112, 6130, 6148, 6166, 6184, 6202, 6220, 6238, 6256, - 6274, 6292, 6310, 6328, 6346, 6364, 6382, 6400, 6418, 6436, 6454, 6472, - 10, 28, 46, 64, 82, 100, 118, 136, 154, 172, 190, 208, - 226, 244, 262, 280, 298, 316, 334, 352, 370, 388, 406, 424, - 442, 460, 478, 496, 514, 532, 550, 568, 586, 604, 622, 640, - 658, 676, 694, 712, 730, 748, 766, 784, 802, 820, 838, 856, - 874, 892, 910, 928, 946, 964, 982, 1000, 1018, 1036, 1054, 1072, - 1090, 1108, 1126, 1144, 1162, 1180, 1198, 1216, 1234, 1252, 1270, 1288, - 1306, 1324, 1342, 1360, 1378, 1396, 1414, 1432, 1450, 1468, 1486, 1504, - 1522, 1540, 1558, 1576, 1594, 1612, 1630, 1648, 1666, 1684, 1702, 1720, - 1738, 1756, 1774, 1792, 1810, 1828, 1846, 1864, 1882, 1900, 1918, 1936, - 1954, 1972, 1990, 2008, 2026, 2044, 2062, 2080, 2098, 2116, 2134, 2152, - 2170, 2188, 2206, 2224, 2242, 2260, 2278, 2296, 2314, 2332, 2350, 2368, - 2386, 2404, 2422, 2440, 2458, 2476, 2494, 2512, 2530, 2548, 2566, 2584, - 2602, 2620, 2638, 2656, 2674, 2692, 2710, 2728, 2746, 2764, 2782, 2800, - 2818, 2836, 2854, 2872, 2890, 2908, 2926, 2944, 2962, 2980, 2998, 3016, - 3034, 3052, 3070, 3088, 3106, 3124, 3142, 3160, 3178, 3196, 3214, 3232, - 3250, 3268, 3286, 3304, 3322, 3340, 3358, 3376, 3394, 3412, 3430, 3448, - 3466, 3484, 3502, 3520, 3538, 3556, 3574, 3592, 3610, 3628, 3646, 3664, - 3682, 3700, 3718, 3736, 3754, 3772, 3790, 3808, 3826, 3844, 3862, 3880, - 3898, 3916, 3934, 3952, 3970, 3988, 4006, 4024, 4042, 4060, 4078, 4096, - 4114, 4132, 4150, 4168, 4186, 4204, 4222, 4240, 4258, 4276, 4294, 4312, - 4330, 4348, 4366, 4384, 4402, 4420, 4438, 4456, 4474, 4492, 4510, 4528, - 4546, 4564, 4582, 4600, 4618, 4636, 4654, 4672, 4690, 4708, 4726, 4744, - 4762, 4780, 4798, 4816, 4834, 4852, 4870, 4888, 4906, 4924, 4942, 4960, - 4978, 4996, 5014, 5032, 5050, 5068, 5086, 5104, 5122, 5140, 5158, 5176, - 5194, 5212, 5230, 5248, 5266, 5284, 5302, 5320, 5338, 5356, 5374, 5392, - 2312, 2330, 2348, 2366, 2384, 2402, 2420, 2438, 2456, 2474, 2492, 2510, - 2528, 2546, 2564, 2582, 2600, 2618, 2636, 2654, 2672, 2690, 2708, 2726, - 2744, 2762, 2780, 2798, 2816, 2834, 2852, 2870, 2888, 2906, 2924, 2942, - 2960, 2978, 2996, 3014, 3032, 3050, 3068, 3086, 3104, 3122, 3140, 3158, - 3176, 3194, 3212, 3230, 3248, 3266, 3284, 3302, 3320, 3338, 3356, 3374, - 3392, 3410, 3428, 3446, 3464, 3482, 3500, 3518, 3536, 3554, 3572, 3590, - 3608, 3626, 3644, 3662, 3680, 3698, 3716, 3734, 3752, 3770, 3788, 3806, - 3824, 3842, 3860, 3878, 3896, 3914, 3932, 3950, 3968, 3986, 4004, 4022, - 4040, 4058, 4076, 4094, 4112, 4130, 4148, 4166, 4184, 4202, 4220, 4238, - 4256, 4274, 4292, 4310, 4328, 4346, 4364, 4382, 4400, 4418, 4436, 4454, - 4472, 4490, 4508, 4526, 4544, 4562, 4580, 4598, 4616, 4634, 4652, 4670, - 4688, 4706, 4724, 4742, 4760, 4778, 4796, 4814, 4832, 4850, 4868, 4886, - 4904, 4922, 4940, 4958, 4976, 4994, 5012, 5030, 5048, 5066, 5084, 5102, - 5120, 5138, 5156, 5174, 5192, 5210, 5228, 5246, 5264, 5282, 5300, 5318, - 5336, 5354, 5372, 5390, 5408, 5426, 5444, 5462, 5480, 5498, 5516, 5534, - 5552, 5570, 5588, 5606, 5624, 5642, 5660, 5678, 5696, 5714, 5732, 5750, - 5768, 5786, 5804, 5822, 5840, 5858, 5876, 5894, 5912, 5930, 5948, 5966, - 5984, 6002, 6020, 6038, 6056, 6074, 6092, 6110, 6128, 6146, 6164, 6182, - 6200, 6218, 6236, 6254, 6272, 6290, 6308, 6326, 6344, 6362, 6380, 6398, - 6416, 6434, 6452, 6470, 8, 26, 44, 62, 80, 98, 116, 134, - 152, 170, 188, 206, 224, 242, 260, 278, 296, 314, 332, 350, - 368, 386, 404, 422, 440, 458, 476, 494, 512, 530, 548, 566, - 584, 602, 620, 638, 656, 674, 692, 710, 728, 746, 764, 782, - 800, 818, 836, 854, 872, 890, 908, 926, 944, 962, 980, 998, - 1016, 1034, 1052, 1070, 1088, 1106, 1124, 1142, 1160, 1178, 1196, 1214, - 1232, 1250, 1268, 1286, 1304, 1322, 1340, 1358, 1376, 1394, 1412, 1430, - 1448, 1466, 1484, 1502, 1520, 1538, 1556, 1574, 1592, 1610, 1628, 1646, - 1664, 1682, 1700, 1718, 1736, 1754, 1772, 1790, 1808, 1826, 1844, 1862, - 1880, 1898, 1916, 1934, 1952, 1970, 1988, 2006, 2024, 2042, 2060, 2078, - 2096, 2114, 2132, 2150, 2168, 2186, 2204, 2222, 2240, 2258, 2276, 2294, - 1122, 1140, 1158, 1176, 1194, 1212, 1230, 1248, 1266, 1284, 1302, 1320, - 1338, 1356, 1374, 1392, 1410, 1428, 1446, 1464, 1482, 1500, 1518, 1536, - 1554, 1572, 1590, 1608, 1626, 1644, 1662, 1680, 1698, 1716, 1734, 1752, - 1770, 1788, 1806, 1824, 1842, 1860, 1878, 1896, 1914, 1932, 1950, 1968, - 1986, 2004, 2022, 2040, 2058, 2076, 2094, 2112, 2130, 2148, 2166, 2184, - 2202, 2220, 2238, 2256, 2274, 2292, 2310, 2328, 2346, 2364, 2382, 2400, - 2418, 2436, 2454, 2472, 2490, 2508, 2526, 2544, 2562, 2580, 2598, 2616, - 2634, 2652, 2670, 2688, 2706, 2724, 2742, 2760, 2778, 2796, 2814, 2832, - 2850, 2868, 2886, 2904, 2922, 2940, 2958, 2976, 2994, 3012, 3030, 3048, - 3066, 3084, 3102, 3120, 3138, 3156, 3174, 3192, 3210, 3228, 3246, 3264, - 3282, 3300, 3318, 3336, 3354, 3372, 3390, 3408, 3426, 3444, 3462, 3480, - 3498, 3516, 3534, 3552, 3570, 3588, 3606, 3624, 3642, 3660, 3678, 3696, - 3714, 3732, 3750, 3768, 3786, 3804, 3822, 3840, 3858, 3876, 3894, 3912, - 3930, 3948, 3966, 3984, 4002, 4020, 4038, 4056, 4074, 4092, 4110, 4128, - 4146, 4164, 4182, 4200, 4218, 4236, 4254, 4272, 4290, 4308, 4326, 4344, - 4362, 4380, 4398, 4416, 4434, 4452, 4470, 4488, 4506, 4524, 4542, 4560, - 4578, 4596, 4614, 4632, 4650, 4668, 4686, 4704, 4722, 4740, 4758, 4776, - 4794, 4812, 4830, 4848, 4866, 4884, 4902, 4920, 4938, 4956, 4974, 4992, - 5010, 5028, 5046, 5064, 5082, 5100, 5118, 5136, 5154, 5172, 5190, 5208, - 5226, 5244, 5262, 5280, 5298, 5316, 5334, 5352, 5370, 5388, 5406, 5424, - 5442, 5460, 5478, 5496, 5514, 5532, 5550, 5568, 5586, 5604, 5622, 5640, - 5658, 5676, 5694, 5712, 5730, 5748, 5766, 5784, 5802, 5820, 5838, 5856, - 5874, 5892, 5910, 5928, 5946, 5964, 5982, 6000, 6018, 6036, 6054, 6072, - 6090, 6108, 6126, 6144, 6162, 6180, 6198, 6216, 6234, 6252, 6270, 6288, - 6306, 6324, 6342, 6360, 6378, 6396, 6414, 6432, 6450, 6468, 6, 24, - 42, 60, 78, 96, 114, 132, 150, 168, 186, 204, 222, 240, - 258, 276, 294, 312, 330, 348, 366, 384, 402, 420, 438, 456, - 474, 492, 510, 528, 546, 564, 582, 600, 618, 636, 654, 672, - 690, 708, 726, 744, 762, 780, 798, 816, 834, 852, 870, 888, - 906, 924, 942, 960, 978, 996, 1014, 1032, 1050, 1068, 1086, 1104, - 1787, 1805, 1823, 1841, 1859, 1877, 1895, 1913, 1931, 1949, 1967, 1985, - 2003, 2021, 2039, 2057, 2075, 2093, 2111, 2129, 2147, 2165, 2183, 2201, - 2219, 2237, 2255, 2273, 2291, 2309, 2327, 2345, 2363, 2381, 2399, 2417, - 2435, 2453, 2471, 2489, 2507, 2525, 2543, 2561, 2579, 2597, 2615, 2633, - 2651, 2669, 2687, 2705, 2723, 2741, 2759, 2777, 2795, 2813, 2831, 2849, - 2867, 2885, 2903, 2921, 2939, 2957, 2975, 2993, 3011, 3029, 3047, 3065, - 3083, 3101, 3119, 3137, 3155, 3173, 3191, 3209, 3227, 3245, 3263, 3281, - 3299, 3317, 3335, 3353, 3371, 3389, 3407, 3425, 3443, 3461, 3479, 3497, - 3515, 3533, 3551, 3569, 3587, 3605, 3623, 3641, 3659, 3677, 3695, 3713, - 3731, 3749, 3767, 3785, 3803, 3821, 3839, 3857, 3875, 3893, 3911, 3929, - 3947, 3965, 3983, 4001, 4019, 4037, 4055, 4073, 4091, 4109, 4127, 4145, - 4163, 4181, 4199, 4217, 4235, 4253, 4271, 4289, 4307, 4325, 4343, 4361, - 4379, 4397, 4415, 4433, 4451, 4469, 4487, 4505, 4523, 4541, 4559, 4577, - 4595, 4613, 4631, 4649, 4667, 4685, 4703, 4721, 4739, 4757, 4775, 4793, - 4811, 4829, 4847, 4865, 4883, 4901, 4919, 4937, 4955, 4973, 4991, 5009, - 5027, 5045, 5063, 5081, 5099, 5117, 5135, 5153, 5171, 5189, 5207, 5225, - 5243, 5261, 5279, 5297, 5315, 5333, 5351, 5369, 5387, 5405, 5423, 5441, - 5459, 5477, 5495, 5513, 5531, 5549, 5567, 5585, 5603, 5621, 5639, 5657, - 5675, 5693, 5711, 5729, 5747, 5765, 5783, 5801, 5819, 5837, 5855, 5873, - 5891, 5909, 5927, 5945, 5963, 5981, 5999, 6017, 6035, 6053, 6071, 6089, - 6107, 6125, 6143, 6161, 6179, 6197, 6215, 6233, 6251, 6269, 6287, 6305, - 6323, 6341, 6359, 6377, 6395, 6413, 6431, 6449, 6467, 5, 23, 41, - 59, 77, 95, 113, 131, 149, 167, 185, 203, 221, 239, 257, - 275, 293, 311, 329, 347, 365, 383, 401, 419, 437, 455, 473, - 491, 509, 527, 545, 563, 581, 599, 617, 635, 653, 671, 689, - 707, 725, 743, 761, 779, 797, 815, 833, 851, 869, 887, 905, - 923, 941, 959, 977, 995, 1013, 1031, 1049, 1067, 1085, 1103, 1121, - 1139, 1157, 1175, 1193, 1211, 1229, 1247, 1265, 1283, 1301, 1319, 1337, - 1355, 1373, 1391, 1409, 1427, 1445, 1463, 1481, 1499, 1517, 1535, 1553, - 1571, 1589, 1607, 1625, 1643, 1661, 1679, 1697, 1715, 1733, 1751, 1769, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4311, 4329, 4347, 4365, 4383, 4401, 4419, 4437, 4455, 4473, 4491, 4509, - 4527, 4545, 4563, 4581, 4599, 4617, 4635, 4653, 4671, 4689, 4707, 4725, - 4743, 4761, 4779, 4797, 4815, 4833, 4851, 4869, 4887, 4905, 4923, 4941, - 4959, 4977, 4995, 5013, 5031, 5049, 5067, 5085, 5103, 5121, 5139, 5157, - 5175, 5193, 5211, 5229, 5247, 5265, 5283, 5301, 5319, 5337, 5355, 5373, - 5391, 5409, 5427, 5445, 5463, 5481, 5499, 5517, 5535, 5553, 5571, 5589, - 5607, 5625, 5643, 5661, 5679, 5697, 5715, 5733, 5751, 5769, 5787, 5805, - 5823, 5841, 5859, 5877, 5895, 5913, 5931, 5949, 5967, 5985, 6003, 6021, - 6039, 6057, 6075, 6093, 6111, 6129, 6147, 6165, 6183, 6201, 6219, 6237, - 6255, 6273, 6291, 6309, 6327, 6345, 6363, 6381, 6399, 6417, 6435, 6453, - 6471, 9, 27, 45, 63, 81, 99, 117, 135, 153, 171, 189, - 207, 225, 243, 261, 279, 297, 315, 333, 351, 369, 387, 405, - 423, 441, 459, 477, 495, 513, 531, 549, 567, 585, 603, 621, - 639, 657, 675, 693, 711, 729, 747, 765, 783, 801, 819, 837, - 855, 873, 891, 909, 927, 945, 963, 981, 999, 1017, 1035, 1053, - 1071, 1089, 1107, 1125, 1143, 1161, 1179, 1197, 1215, 1233, 1251, 1269, - 1287, 1305, 1323, 1341, 1359, 1377, 1395, 1413, 1431, 1449, 1467, 1485, - 1503, 1521, 1539, 1557, 1575, 1593, 1611, 1629, 1647, 1665, 1683, 1701, - 1719, 1737, 1755, 1773, 1791, 1809, 1827, 1845, 1863, 1881, 1899, 1917, - 1935, 1953, 1971, 1989, 2007, 2025, 2043, 2061, 2079, 2097, 2115, 2133, - 2151, 2169, 2187, 2205, 2223, 2241, 2259, 2277, 2295, 2313, 2331, 2349, - 2367, 2385, 2403, 2421, 2439, 2457, 2475, 2493, 2511, 2529, 2547, 2565, - 2583, 2601, 2619, 2637, 2655, 2673, 2691, 2709, 2727, 2745, 2763, 2781, - 2799, 2817, 2835, 2853, 2871, 2889, 2907, 2925, 2943, 2961, 2979, 2997, - 3015, 3033, 3051, 3069, 3087, 3105, 3123, 3141, 3159, 3177, 3195, 3213, - 3231, 3249, 3267, 3285, 3303, 3321, 3339, 3357, 3375, 3393, 3411, 3429, - 3447, 3465, 3483, 3501, 3519, 3537, 3555, 3573, 3591, 3609, 3627, 3645, - 3663, 3681, 3699, 3717, 3735, 3753, 3771, 3789, 3807, 3825, 3843, 3861, - 3879, 3897, 3915, 3933, 3951, 3969, 3987, 4005, 4023, 4041, 4059, 4077, - 4095, 4113, 4131, 4149, 4167, 4185, 4203, 4221, 4239, 4257, 4275, 4293, - 5994, 6012, 6030, 6048, 6066, 6084, 6102, 6120, 6138, 6156, 6174, 6192, - 6210, 6228, 6246, 6264, 6282, 6300, 6318, 6336, 6354, 6372, 6390, 6408, - 6426, 6444, 6462, 6480, 18, 36, 54, 72, 90, 108, 126, 144, - 162, 180, 198, 216, 234, 252, 270, 288, 306, 324, 342, 360, - 378, 396, 414, 432, 450, 468, 486, 504, 522, 540, 558, 576, - 594, 612, 630, 648, 666, 684, 702, 720, 738, 756, 774, 792, - 810, 828, 846, 864, 882, 900, 918, 936, 954, 972, 990, 1008, - 1026, 1044, 1062, 1080, 1098, 1116, 1134, 1152, 1170, 1188, 1206, 1224, - 1242, 1260, 1278, 1296, 1314, 1332, 1350, 1368, 1386, 1404, 1422, 1440, - 1458, 1476, 1494, 1512, 1530, 1548, 1566, 1584, 1602, 1620, 1638, 1656, - 1674, 1692, 1710, 1728, 1746, 1764, 1782, 1800, 1818, 1836, 1854, 1872, - 1890, 1908, 1926, 1944, 1962, 1980, 1998, 2016, 2034, 2052, 2070, 2088, - 2106, 2124, 2142, 2160, 2178, 2196, 2214, 2232, 2250, 2268, 2286, 2304, - 2322, 2340, 2358, 2376, 2394, 2412, 2430, 2448, 2466, 2484, 2502, 2520, - 2538, 2556, 2574, 2592, 2610, 2628, 2646, 2664, 2682, 2700, 2718, 2736, - 2754, 2772, 2790, 2808, 2826, 2844, 2862, 2880, 2898, 2916, 2934, 2952, - 2970, 2988, 3006, 3024, 3042, 3060, 3078, 3096, 3114, 3132, 3150, 3168, - 3186, 3204, 3222, 3240, 3258, 3276, 3294, 3312, 3330, 3348, 3366, 3384, - 3402, 3420, 3438, 3456, 3474, 3492, 3510, 3528, 3546, 3564, 3582, 3600, - 3618, 3636, 3654, 3672, 3690, 3708, 3726, 3744, 3762, 3780, 3798, 3816, - 3834, 3852, 3870, 3888, 3906, 3924, 3942, 3960, 3978, 3996, 4014, 4032, - 4050, 4068, 4086, 4104, 4122, 4140, 4158, 4176, 4194, 4212, 4230, 4248, - 4266, 4284, 4302, 4320, 4338, 4356, 4374, 4392, 4410, 4428, 4446, 4464, - 4482, 4500, 4518, 4536, 4554, 4572, 4590, 4608, 4626, 4644, 4662, 4680, - 4698, 4716, 4734, 4752, 4770, 4788, 4806, 4824, 4842, 4860, 4878, 4896, - 4914, 4932, 4950, 4968, 4986, 5004, 5022, 5040, 5058, 5076, 5094, 5112, - 5130, 5148, 5166, 5184, 5202, 5220, 5238, 5256, 5274, 5292, 5310, 5328, - 5346, 5364, 5382, 5400, 5418, 5436, 5454, 5472, 5490, 5508, 5526, 5544, - 5562, 5580, 5598, 5616, 5634, 5652, 5670, 5688, 5706, 5724, 5742, 5760, - 5778, 5796, 5814, 5832, 5850, 5868, 5886, 5904, 5922, 5940, 5958, 5976, - 6321, 6339, 6357, 6375, 6393, 6411, 6429, 6447, 6465, 3, 21, 39, - 57, 75, 93, 111, 129, 147, 165, 183, 201, 219, 237, 255, - 273, 291, 309, 327, 345, 363, 381, 399, 417, 435, 453, 471, - 489, 507, 525, 543, 561, 579, 597, 615, 633, 651, 669, 687, - 705, 723, 741, 759, 777, 795, 813, 831, 849, 867, 885, 903, - 921, 939, 957, 975, 993, 1011, 1029, 1047, 1065, 1083, 1101, 1119, - 1137, 1155, 1173, 1191, 1209, 1227, 1245, 1263, 1281, 1299, 1317, 1335, - 1353, 1371, 1389, 1407, 1425, 1443, 1461, 1479, 1497, 1515, 1533, 1551, - 1569, 1587, 1605, 1623, 1641, 1659, 1677, 1695, 1713, 1731, 1749, 1767, - 1785, 1803, 1821, 1839, 1857, 1875, 1893, 1911, 1929, 1947, 1965, 1983, - 2001, 2019, 2037, 2055, 2073, 2091, 2109, 2127, 2145, 2163, 2181, 2199, - 2217, 2235, 2253, 2271, 2289, 2307, 2325, 2343, 2361, 2379, 2397, 2415, - 2433, 2451, 2469, 2487, 2505, 2523, 2541, 2559, 2577, 2595, 2613, 2631, - 2649, 2667, 2685, 2703, 2721, 2739, 2757, 2775, 2793, 2811, 2829, 2847, - 2865, 2883, 2901, 2919, 2937, 2955, 2973, 2991, 3009, 3027, 3045, 3063, - 3081, 3099, 3117, 3135, 3153, 3171, 3189, 3207, 3225, 3243, 3261, 3279, - 3297, 3315, 3333, 3351, 3369, 3387, 3405, 3423, 3441, 3459, 3477, 3495, - 3513, 3531, 3549, 3567, 3585, 3603, 3621, 3639, 3657, 3675, 3693, 3711, - 3729, 3747, 3765, 3783, 3801, 3819, 3837, 3855, 3873, 3891, 3909, 3927, - 3945, 3963, 3981, 3999, 4017, 4035, 4053, 4071, 4089, 4107, 4125, 4143, - 4161, 4179, 4197, 4215, 4233, 4251, 4269, 4287, 4305, 4323, 4341, 4359, - 4377, 4395, 4413, 4431, 4449, 4467, 4485, 4503, 4521, 4539, 4557, 4575, - 4593, 4611, 4629, 4647, 4665, 4683, 4701, 4719, 4737, 4755, 4773, 4791, - 4809, 4827, 4845, 4863, 4881, 4899, 4917, 4935, 4953, 4971, 4989, 5007, - 5025, 5043, 5061, 5079, 5097, 5115, 5133, 5151, 5169, 5187, 5205, 5223, - 5241, 5259, 5277, 5295, 5313, 5331, 5349, 5367, 5385, 5403, 5421, 5439, - 5457, 5475, 5493, 5511, 5529, 5547, 5565, 5583, 5601, 5619, 5637, 5655, - 5673, 5691, 5709, 5727, 5745, 5763, 5781, 5799, 5817, 5835, 5853, 5871, - 5889, 5907, 5925, 5943, 5961, 5979, 5997, 6015, 6033, 6051, 6069, 6087, - 6105, 6123, 6141, 6159, 6177, 6195, 6213, 6231, 6249, 6267, 6285, 6303, - 3413, 3431, 3449, 3467, 3485, 3503, 3521, 3539, 3557, 3575, 3593, 3611, - 3629, 3647, 3665, 3683, 3701, 3719, 3737, 3755, 3773, 3791, 3809, 3827, - 3845, 3863, 3881, 3899, 3917, 3935, 3953, 3971, 3989, 4007, 4025, 4043, - 4061, 4079, 4097, 4115, 4133, 4151, 4169, 4187, 4205, 4223, 4241, 4259, - 4277, 4295, 4313, 4331, 4349, 4367, 4385, 4403, 4421, 4439, 4457, 4475, - 4493, 4511, 4529, 4547, 4565, 4583, 4601, 4619, 4637, 4655, 4673, 4691, - 4709, 4727, 4745, 4763, 4781, 4799, 4817, 4835, 4853, 4871, 4889, 4907, - 4925, 4943, 4961, 4979, 4997, 5015, 5033, 5051, 5069, 5087, 5105, 5123, - 5141, 5159, 5177, 5195, 5213, 5231, 5249, 5267, 5285, 5303, 5321, 5339, - 5357, 5375, 5393, 5411, 5429, 5447, 5465, 5483, 5501, 5519, 5537, 5555, - 5573, 5591, 5609, 5627, 5645, 5663, 5681, 5699, 5717, 5735, 5753, 5771, - 5789, 5807, 5825, 5843, 5861, 5879, 5897, 5915, 5933, 5951, 5969, 5987, - 6005, 6023, 6041, 6059, 6077, 6095, 6113, 6131, 6149, 6167, 6185, 6203, - 6221, 6239, 6257, 6275, 6293, 6311, 6329, 6347, 6365, 6383, 6401, 6419, - 6437, 6455, 6473, 11, 29, 47, 65, 83, 101, 119, 137, 155, - 173, 191, 209, 227, 245, 263, 281, 299, 317, 335, 353, 371, - 389, 407, 425, 443, 461, 479, 497, 515, 533, 551, 569, 587, - 605, 623, 641, 659, 677, 695, 713, 731, 749, 767, 785, 803, - 821, 839, 857, 875, 893, 911, 929, 947, 965, 983, 1001, 1019, - 1037, 1055, 1073, 1091, 1109, 1127, 1145, 1163, 1181, 1199, 1217, 1235, - 1253, 1271, 1289, 1307, 1325, 1343, 1361, 1379, 1397, 1415, 1433, 1451, - 1469, 1487, 1505, 1523, 1541, 1559, 1577, 1595, 1613, 1631, 1649, 1667, - 1685, 1703, 1721, 1739, 1757, 1775, 1793, 1811, 1829, 1847, 1865, 1883, - 1901, 1919, 1937, 1955, 1973, 1991, 2009, 2027, 2045, 2063, 2081, 2099, - 2117, 2135, 2153, 2171, 2189, 2207, 2225, 2243, 2261, 2279, 2297, 2315, - 2333, 2351, 2369, 2387, 2405, 2423, 2441, 2459, 2477, 2495, 2513, 2531, - 2549, 2567, 2585, 2603, 2621, 2639, 2657, 2675, 2693, 2711, 2729, 2747, - 2765, 2783, 2801, 2819, 2837, 2855, 2873, 2891, 2909, 2927, 2945, 2963, - 2981, 2999, 3017, 3035, 3053, 3071, 3089, 3107, 3125, 3143, 3161, 3179, - 3197, 3215, 3233, 3251, 3269, 3287, 3305, 3323, 3341, 3359, 3377, 3395, - 4733, 4751, 4769, 4787, 4805, 4823, 4841, 4859, 4877, 4895, 4913, 4931, - 4949, 4967, 4985, 5003, 5021, 5039, 5057, 5075, 5093, 5111, 5129, 5147, - 5165, 5183, 5201, 5219, 5237, 5255, 5273, 5291, 5309, 5327, 5345, 5363, - 5381, 5399, 5417, 5435, 5453, 5471, 5489, 5507, 5525, 5543, 5561, 5579, - 5597, 5615, 5633, 5651, 5669, 5687, 5705, 5723, 5741, 5759, 5777, 5795, - 5813, 5831, 5849, 5867, 5885, 5903, 5921, 5939, 5957, 5975, 5993, 6011, - 6029, 6047, 6065, 6083, 6101, 6119, 6137, 6155, 6173, 6191, 6209, 6227, - 6245, 6263, 6281, 6299, 6317, 6335, 6353, 6371, 6389, 6407, 6425, 6443, - 6461, 6479, 17, 35, 53, 71, 89, 107, 125, 143, 161, 179, - 197, 215, 233, 251, 269, 287, 305, 323, 341, 359, 377, 395, - 413, 431, 449, 467, 485, 503, 521, 539, 557, 575, 593, 611, - 629, 647, 665, 683, 701, 719, 737, 755, 773, 791, 809, 827, - 845, 863, 881, 899, 917, 935, 953, 971, 989, 1007, 1025, 1043, - 1061, 1079, 1097, 1115, 1133, 1151, 1169, 1187, 1205, 1223, 1241, 1259, - 1277, 1295, 1313, 1331, 1349, 1367, 1385, 1403, 1421, 1439, 1457, 1475, - 1493, 1511, 1529, 1547, 1565, 1583, 1601, 1619, 1637, 1655, 1673, 1691, - 1709, 1727, 1745, 1763, 1781, 1799, 1817, 1835, 1853, 1871, 1889, 1907, - 1925, 1943, 1961, 1979, 1997, 2015, 2033, 2051, 2069, 2087, 2105, 2123, - 2141, 2159, 2177, 2195, 2213, 2231, 2249, 2267, 2285, 2303, 2321, 2339, - 2357, 2375, 2393, 2411, 2429, 2447, 2465, 2483, 2501, 2519, 2537, 2555, - 2573, 2591, 2609, 2627, 2645, 2663, 2681, 2699, 2717, 2735, 2753, 2771, - 2789, 2807, 2825, 2843, 2861, 2879, 2897, 2915, 2933, 2951, 2969, 2987, - 3005, 3023, 3041, 3059, 3077, 3095, 3113, 3131, 3149, 3167, 3185, 3203, - 3221, 3239, 3257, 3275, 3293, 3311, 3329, 3347, 3365, 3383, 3401, 3419, - 3437, 3455, 3473, 3491, 3509, 3527, 3545, 3563, 3581, 3599, 3617, 3635, - 3653, 3671, 3689, 3707, 3725, 3743, 3761, 3779, 3797, 3815, 3833, 3851, - 3869, 3887, 3905, 3923, 3941, 3959, 3977, 3995, 4013, 4031, 4049, 4067, - 4085, 4103, 4121, 4139, 4157, 4175, 4193, 4211, 4229, 4247, 4265, 4283, - 4301, 4319, 4337, 4355, 4373, 4391, 4409, 4427, 4445, 4463, 4481, 4499, - 4517, 4535, 4553, 4571, 4589, 4607, 4625, 4643, 4661, 4679, 4697, 4715, - 6385, 6403, 6421, 6439, 6457, 6475, 13, 31, 49, 67, 85, 103, - 121, 139, 157, 175, 193, 211, 229, 247, 265, 283, 301, 319, - 337, 355, 373, 391, 409, 427, 445, 463, 481, 499, 517, 535, - 553, 571, 589, 607, 625, 643, 661, 679, 697, 715, 733, 751, - 769, 787, 805, 823, 841, 859, 877, 895, 913, 931, 949, 967, - 985, 1003, 1021, 1039, 1057, 1075, 1093, 1111, 1129, 1147, 1165, 1183, - 1201, 1219, 1237, 1255, 1273, 1291, 1309, 1327, 1345, 1363, 1381, 1399, - 1417, 1435, 1453, 1471, 1489, 1507, 1525, 1543, 1561, 1579, 1597, 1615, - 1633, 1651, 1669, 1687, 1705, 1723, 1741, 1759, 1777, 1795, 1813, 1831, - 1849, 1867, 1885, 1903, 1921, 1939, 1957, 1975, 1993, 2011, 2029, 2047, - 2065, 2083, 2101, 2119, 2137, 2155, 2173, 2191, 2209, 2227, 2245, 2263, - 2281, 2299, 2317, 2335, 2353, 2371, 2389, 2407, 2425, 2443, 2461, 2479, - 2497, 2515, 2533, 2551, 2569, 2587, 2605, 2623, 2641, 2659, 2677, 2695, - 2713, 2731, 2749, 2767, 2785, 2803, 2821, 2839, 2857, 2875, 2893, 2911, - 2929, 2947, 2965, 2983, 3001, 3019, 3037, 3055, 3073, 3091, 3109, 3127, - 3145, 3163, 3181, 3199, 3217, 3235, 3253, 3271, 3289, 3307, 3325, 3343, - 3361, 3379, 3397, 3415, 3433, 3451, 3469, 3487, 3505, 3523, 3541, 3559, - 3577, 3595, 3613, 3631, 3649, 3667, 3685, 3703, 3721, 3739, 3757, 3775, - 3793, 3811, 3829, 3847, 3865, 3883, 3901, 3919, 3937, 3955, 3973, 3991, - 4009, 4027, 4045, 4063, 4081, 4099, 4117, 4135, 4153, 4171, 4189, 4207, - 4225, 4243, 4261, 4279, 4297, 4315, 4333, 4351, 4369, 4387, 4405, 4423, - 4441, 4459, 4477, 4495, 4513, 4531, 4549, 4567, 4585, 4603, 4621, 4639, - 4657, 4675, 4693, 4711, 4729, 4747, 4765, 4783, 4801, 4819, 4837, 4855, - 4873, 4891, 4909, 4927, 4945, 4963, 4981, 4999, 5017, 5035, 5053, 5071, - 5089, 5107, 5125, 5143, 5161, 5179, 5197, 5215, 5233, 5251, 5269, 5287, - 5305, 5323, 5341, 5359, 5377, 5395, 5413, 5431, 5449, 5467, 5485, 5503, - 5521, 5539, 5557, 5575, 5593, 5611, 5629, 5647, 5665, 5683, 5701, 5719, - 5737, 5755, 5773, 5791, 5809, 5827, 5845, 5863, 5881, 5899, 5917, 5935, - 5953, 5971, 5989, 6007, 6025, 6043, 6061, 6079, 6097, 6115, 6133, 6151, - 6169, 6187, 6205, 6223, 6241, 6259, 6277, 6295, 6313, 6331, 6349, 6367, - 3544, 3562, 3580, 3598, 3616, 3634, 3652, 3670, 3688, 3706, 3724, 3742, - 3760, 3778, 3796, 3814, 3832, 3850, 3868, 3886, 3904, 3922, 3940, 3958, - 3976, 3994, 4012, 4030, 4048, 4066, 4084, 4102, 4120, 4138, 4156, 4174, - 4192, 4210, 4228, 4246, 4264, 4282, 4300, 4318, 4336, 4354, 4372, 4390, - 4408, 4426, 4444, 4462, 4480, 4498, 4516, 4534, 4552, 4570, 4588, 4606, - 4624, 4642, 4660, 4678, 4696, 4714, 4732, 4750, 4768, 4786, 4804, 4822, - 4840, 4858, 4876, 4894, 4912, 4930, 4948, 4966, 4984, 5002, 5020, 5038, - 5056, 5074, 5092, 5110, 5128, 5146, 5164, 5182, 5200, 5218, 5236, 5254, - 5272, 5290, 5308, 5326, 5344, 5362, 5380, 5398, 5416, 5434, 5452, 5470, - 5488, 5506, 5524, 5542, 5560, 5578, 5596, 5614, 5632, 5650, 5668, 5686, - 5704, 5722, 5740, 5758, 5776, 5794, 5812, 5830, 5848, 5866, 5884, 5902, - 5920, 5938, 5956, 5974, 5992, 6010, 6028, 6046, 6064, 6082, 6100, 6118, - 6136, 6154, 6172, 6190, 6208, 6226, 6244, 6262, 6280, 6298, 6316, 6334, - 6352, 6370, 6388, 6406, 6424, 6442, 6460, 6478, 16, 34, 52, 70, - 88, 106, 124, 142, 160, 178, 196, 214, 232, 250, 268, 286, - 304, 322, 340, 358, 376, 394, 412, 430, 448, 466, 484, 502, - 520, 538, 556, 574, 592, 610, 628, 646, 664, 682, 700, 718, - 736, 754, 772, 790, 808, 826, 844, 862, 880, 898, 916, 934, - 952, 970, 988, 1006, 1024, 1042, 1060, 1078, 1096, 1114, 1132, 1150, - 1168, 1186, 1204, 1222, 1240, 1258, 1276, 1294, 1312, 1330, 1348, 1366, - 1384, 1402, 1420, 1438, 1456, 1474, 1492, 1510, 1528, 1546, 1564, 1582, - 1600, 1618, 1636, 1654, 1672, 1690, 1708, 1726, 1744, 1762, 1780, 1798, - 1816, 1834, 1852, 1870, 1888, 1906, 1924, 1942, 1960, 1978, 1996, 2014, - 2032, 2050, 2068, 2086, 2104, 2122, 2140, 2158, 2176, 2194, 2212, 2230, - 2248, 2266, 2284, 2302, 2320, 2338, 2356, 2374, 2392, 2410, 2428, 2446, - 2464, 2482, 2500, 2518, 2536, 2554, 2572, 2590, 2608, 2626, 2644, 2662, - 2680, 2698, 2716, 2734, 2752, 2770, 2788, 2806, 2824, 2842, 2860, 2878, - 2896, 2914, 2932, 2950, 2968, 2986, 3004, 3022, 3040, 3058, 3076, 3094, - 3112, 3130, 3148, 3166, 3184, 3202, 3220, 3238, 3256, 3274, 3292, 3310, - 3328, 3346, 3364, 3382, 3400, 3418, 3436, 3454, 3472, 3490, 3508, 3526, - 3596, 3614, 3632, 3650, 3668, 3686, 3704, 3722, 3740, 3758, 3776, 3794, - 3812, 3830, 3848, 3866, 3884, 3902, 3920, 3938, 3956, 3974, 3992, 4010, - 4028, 4046, 4064, 4082, 4100, 4118, 4136, 4154, 4172, 4190, 4208, 4226, - 4244, 4262, 4280, 4298, 4316, 4334, 4352, 4370, 4388, 4406, 4424, 4442, - 4460, 4478, 4496, 4514, 4532, 4550, 4568, 4586, 4604, 4622, 4640, 4658, - 4676, 4694, 4712, 4730, 4748, 4766, 4784, 4802, 4820, 4838, 4856, 4874, - 4892, 4910, 4928, 4946, 4964, 4982, 5000, 5018, 5036, 5054, 5072, 5090, - 5108, 5126, 5144, 5162, 5180, 5198, 5216, 5234, 5252, 5270, 5288, 5306, - 5324, 5342, 5360, 5378, 5396, 5414, 5432, 5450, 5468, 5486, 5504, 5522, - 5540, 5558, 5576, 5594, 5612, 5630, 5648, 5666, 5684, 5702, 5720, 5738, - 5756, 5774, 5792, 5810, 5828, 5846, 5864, 5882, 5900, 5918, 5936, 5954, - 5972, 5990, 6008, 6026, 6044, 6062, 6080, 6098, 6116, 6134, 6152, 6170, - 6188, 6206, 6224, 6242, 6260, 6278, 6296, 6314, 6332, 6350, 6368, 6386, - 6404, 6422, 6440, 6458, 6476, 14, 32, 50, 68, 86, 104, 122, - 140, 158, 176, 194, 212, 230, 248, 266, 284, 302, 320, 338, - 356, 374, 392, 410, 428, 446, 464, 482, 500, 518, 536, 554, - 572, 590, 608, 626, 644, 662, 680, 698, 716, 734, 752, 770, - 788, 806, 824, 842, 860, 878, 896, 914, 932, 950, 968, 986, - 1004, 1022, 1040, 1058, 1076, 1094, 1112, 1130, 1148, 1166, 1184, 1202, - 1220, 1238, 1256, 1274, 1292, 1310, 1328, 1346, 1364, 1382, 1400, 1418, - 1436, 1454, 1472, 1490, 1508, 1526, 1544, 1562, 1580, 1598, 1616, 1634, - 1652, 1670, 1688, 1706, 1724, 1742, 1760, 1778, 1796, 1814, 1832, 1850, - 1868, 1886, 1904, 1922, 1940, 1958, 1976, 1994, 2012, 2030, 2048, 2066, - 2084, 2102, 2120, 2138, 2156, 2174, 2192, 2210, 2228, 2246, 2264, 2282, - 2300, 2318, 2336, 2354, 2372, 2390, 2408, 2426, 2444, 2462, 2480, 2498, - 2516, 2534, 2552, 2570, 2588, 2606, 2624, 2642, 2660, 2678, 2696, 2714, - 2732, 2750, 2768, 2786, 2804, 2822, 2840, 2858, 2876, 2894, 2912, 2930, - 2948, 2966, 2984, 3002, 3020, 3038, 3056, 3074, 3092, 3110, 3128, 3146, - 3164, 3182, 3200, 3218, 3236, 3254, 3272, 3290, 3308, 3326, 3344, 3362, - 3380, 3398, 3416, 3434, 3452, 3470, 3488, 3506, 3524, 3542, 3560, 3578, - 397, 415, 433, 451, 469, 487, 505, 523, 541, 559, 577, 595, - 613, 631, 649, 667, 685, 703, 721, 739, 757, 775, 793, 811, - 829, 847, 865, 883, 901, 919, 937, 955, 973, 991, 1009, 1027, - 1045, 1063, 1081, 1099, 1117, 1135, 1153, 1171, 1189, 1207, 1225, 1243, - 1261, 1279, 1297, 1315, 1333, 1351, 1369, 1387, 1405, 1423, 1441, 1459, - 1477, 1495, 1513, 1531, 1549, 1567, 1585, 1603, 1621, 1639, 1657, 1675, - 1693, 1711, 1729, 1747, 1765, 1783, 1801, 1819, 1837, 1855, 1873, 1891, - 1909, 1927, 1945, 1963, 1981, 1999, 2017, 2035, 2053, 2071, 2089, 2107, - 2125, 2143, 2161, 2179, 2197, 2215, 2233, 2251, 2269, 2287, 2305, 2323, - 2341, 2359, 2377, 2395, 2413, 2431, 2449, 2467, 2485, 2503, 2521, 2539, - 2557, 2575, 2593, 2611, 2629, 2647, 2665, 2683, 2701, 2719, 2737, 2755, - 2773, 2791, 2809, 2827, 2845, 2863, 2881, 2899, 2917, 2935, 2953, 2971, - 2989, 3007, 3025, 3043, 3061, 3079, 3097, 3115, 3133, 3151, 3169, 3187, - 3205, 3223, 3241, 3259, 3277, 3295, 3313, 3331, 3349, 3367, 3385, 3403, - 3421, 3439, 3457, 3475, 3493, 3511, 3529, 3547, 3565, 3583, 3601, 3619, - 3637, 3655, 3673, 3691, 3709, 3727, 3745, 3763, 3781, 3799, 3817, 3835, - 3853, 3871, 3889, 3907, 3925, 3943, 3961, 3979, 3997, 4015, 4033, 4051, - 4069, 4087, 4105, 4123, 4141, 4159, 4177, 4195, 4213, 4231, 4249, 4267, - 4285, 4303, 4321, 4339, 4357, 4375, 4393, 4411, 4429, 4447, 4465, 4483, - 4501, 4519, 4537, 4555, 4573, 4591, 4609, 4627, 4645, 4663, 4681, 4699, - 4717, 4735, 4753, 4771, 4789, 4807, 4825, 4843, 4861, 4879, 4897, 4915, - 4933, 4951, 4969, 4987, 5005, 5023, 5041, 5059, 5077, 5095, 5113, 5131, - 5149, 5167, 5185, 5203, 5221, 5239, 5257, 5275, 5293, 5311, 5329, 5347, - 5365, 5383, 5401, 5419, 5437, 5455, 5473, 5491, 5509, 5527, 5545, 5563, - 5581, 5599, 5617, 5635, 5653, 5671, 5689, 5707, 5725, 5743, 5761, 5779, - 5797, 5815, 5833, 5851, 5869, 5887, 5905, 5923, 5941, 5959, 5977, 5995, - 6013, 6031, 6049, 6067, 6085, 6103, 6121, 6139, 6157, 6175, 6193, 6211, - 6229, 6247, 6265, 6283, 6301, 6319, 6337, 6355, 6373, 6391, 6409, 6427, - 6445, 6463, 1, 19, 37, 55, 73, 91, 109, 127, 145, 163, - 181, 199, 217, 235, 253, 271, 289, 307, 325, 343, 361, 379, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 772, 790, 808, 826, 844, 862, 880, 898, 916, 934, 952, 970, - 988, 1006, 1024, 1042, 1060, 1078, 1096, 1114, 1132, 1150, 1168, 1186, - 1204, 1222, 1240, 1258, 1276, 1294, 1312, 1330, 1348, 1366, 1384, 1402, - 1420, 1438, 1456, 1474, 1492, 1510, 1528, 1546, 1564, 1582, 1600, 1618, - 1636, 1654, 1672, 1690, 1708, 1726, 1744, 1762, 1780, 1798, 1816, 1834, - 1852, 1870, 1888, 1906, 1924, 1942, 1960, 1978, 1996, 2014, 2032, 2050, - 2068, 2086, 2104, 2122, 2140, 2158, 2176, 2194, 2212, 2230, 2248, 2266, - 2284, 2302, 2320, 2338, 2356, 2374, 2392, 2410, 2428, 2446, 2464, 2482, - 2500, 2518, 2536, 2554, 2572, 2590, 2608, 2626, 2644, 2662, 2680, 2698, - 2716, 2734, 2752, 2770, 2788, 2806, 2824, 2842, 2860, 2878, 2896, 2914, - 2932, 2950, 2968, 2986, 3004, 3022, 3040, 3058, 3076, 3094, 3112, 3130, - 3148, 3166, 3184, 3202, 3220, 3238, 3256, 3274, 3292, 3310, 3328, 3346, - 3364, 3382, 3400, 3418, 3436, 3454, 3472, 3490, 3508, 3526, 3544, 3562, - 3580, 3598, 3616, 3634, 3652, 3670, 3688, 3706, 3724, 3742, 3760, 3778, - 3796, 3814, 3832, 3850, 3868, 3886, 3904, 3922, 3940, 3958, 3976, 3994, - 4012, 4030, 4048, 4066, 4084, 4102, 4120, 4138, 4156, 4174, 4192, 4210, - 4228, 4246, 4264, 4282, 4300, 4318, 4336, 4354, 4372, 4390, 4408, 4426, - 4444, 4462, 4480, 4498, 4516, 4534, 4552, 4570, 4588, 4606, 4624, 4642, - 4660, 4678, 4696, 4714, 4732, 4750, 4768, 4786, 4804, 4822, 4840, 4858, - 4876, 4894, 4912, 4930, 4948, 4966, 4984, 5002, 5020, 5038, 5056, 5074, - 5092, 5110, 5128, 5146, 5164, 5182, 5200, 5218, 5236, 5254, 5272, 5290, - 5308, 5326, 5344, 5362, 5380, 5398, 5416, 5434, 5452, 5470, 5488, 5506, - 5524, 5542, 5560, 5578, 5596, 5614, 5632, 5650, 5668, 5686, 5704, 5722, - 5740, 5758, 5776, 5794, 5812, 5830, 5848, 5866, 5884, 5902, 5920, 5938, - 5956, 5974, 5992, 6010, 6028, 6046, 6064, 6082, 6100, 6118, 6136, 6154, - 6172, 6190, 6208, 6226, 6244, 6262, 6280, 6298, 6316, 6334, 6352, 6370, - 6388, 6406, 6424, 6442, 6460, 6478, 16, 34, 52, 70, 88, 106, - 124, 142, 160, 178, 196, 214, 232, 250, 268, 286, 304, 322, - 340, 358, 376, 394, 412, 430, 448, 466, 484, 502, 520, 538, - 556, 574, 592, 610, 628, 646, 664, 682, 700, 718, 736, 754, - 2616, 2634, 2652, 2670, 2688, 2706, 2724, 2742, 2760, 2778, 2796, 2814, - 2832, 2850, 2868, 2886, 2904, 2922, 2940, 2958, 2976, 2994, 3012, 3030, - 3048, 3066, 3084, 3102, 3120, 3138, 3156, 3174, 3192, 3210, 3228, 3246, - 3264, 3282, 3300, 3318, 3336, 3354, 3372, 3390, 3408, 3426, 3444, 3462, - 3480, 3498, 3516, 3534, 3552, 3570, 3588, 3606, 3624, 3642, 3660, 3678, - 3696, 3714, 3732, 3750, 3768, 3786, 3804, 3822, 3840, 3858, 3876, 3894, - 3912, 3930, 3948, 3966, 3984, 4002, 4020, 4038, 4056, 4074, 4092, 4110, - 4128, 4146, 4164, 4182, 4200, 4218, 4236, 4254, 4272, 4290, 4308, 4326, - 4344, 4362, 4380, 4398, 4416, 4434, 4452, 4470, 4488, 4506, 4524, 4542, - 4560, 4578, 4596, 4614, 4632, 4650, 4668, 4686, 4704, 4722, 4740, 4758, - 4776, 4794, 4812, 4830, 4848, 4866, 4884, 4902, 4920, 4938, 4956, 4974, - 4992, 5010, 5028, 5046, 5064, 5082, 5100, 5118, 5136, 5154, 5172, 5190, - 5208, 5226, 5244, 5262, 5280, 5298, 5316, 5334, 5352, 5370, 5388, 5406, - 5424, 5442, 5460, 5478, 5496, 5514, 5532, 5550, 5568, 5586, 5604, 5622, - 5640, 5658, 5676, 5694, 5712, 5730, 5748, 5766, 5784, 5802, 5820, 5838, - 5856, 5874, 5892, 5910, 5928, 5946, 5964, 5982, 6000, 6018, 6036, 6054, - 6072, 6090, 6108, 6126, 6144, 6162, 6180, 6198, 6216, 6234, 6252, 6270, - 6288, 6306, 6324, 6342, 6360, 6378, 6396, 6414, 6432, 6450, 6468, 6, - 24, 42, 60, 78, 96, 114, 132, 150, 168, 186, 204, 222, - 240, 258, 276, 294, 312, 330, 348, 366, 384, 402, 420, 438, - 456, 474, 492, 510, 528, 546, 564, 582, 600, 618, 636, 654, - 672, 690, 708, 726, 744, 762, 780, 798, 816, 834, 852, 870, - 888, 906, 924, 942, 960, 978, 996, 1014, 1032, 1050, 1068, 1086, - 1104, 1122, 1140, 1158, 1176, 1194, 1212, 1230, 1248, 1266, 1284, 1302, - 1320, 1338, 1356, 1374, 1392, 1410, 1428, 1446, 1464, 1482, 1500, 1518, - 1536, 1554, 1572, 1590, 1608, 1626, 1644, 1662, 1680, 1698, 1716, 1734, - 1752, 1770, 1788, 1806, 1824, 1842, 1860, 1878, 1896, 1914, 1932, 1950, - 1968, 1986, 2004, 2022, 2040, 2058, 2076, 2094, 2112, 2130, 2148, 2166, - 2184, 2202, 2220, 2238, 2256, 2274, 2292, 2310, 2328, 2346, 2364, 2382, - 2400, 2418, 2436, 2454, 2472, 2490, 2508, 2526, 2544, 2562, 2580, 2598, - 4017, 4035, 4053, 4071, 4089, 4107, 4125, 4143, 4161, 4179, 4197, 4215, - 4233, 4251, 4269, 4287, 4305, 4323, 4341, 4359, 4377, 4395, 4413, 4431, - 4449, 4467, 4485, 4503, 4521, 4539, 4557, 4575, 4593, 4611, 4629, 4647, - 4665, 4683, 4701, 4719, 4737, 4755, 4773, 4791, 4809, 4827, 4845, 4863, - 4881, 4899, 4917, 4935, 4953, 4971, 4989, 5007, 5025, 5043, 5061, 5079, - 5097, 5115, 5133, 5151, 5169, 5187, 5205, 5223, 5241, 5259, 5277, 5295, - 5313, 5331, 5349, 5367, 5385, 5403, 5421, 5439, 5457, 5475, 5493, 5511, - 5529, 5547, 5565, 5583, 5601, 5619, 5637, 5655, 5673, 5691, 5709, 5727, - 5745, 5763, 5781, 5799, 5817, 5835, 5853, 5871, 5889, 5907, 5925, 5943, - 5961, 5979, 5997, 6015, 6033, 6051, 6069, 6087, 6105, 6123, 6141, 6159, - 6177, 6195, 6213, 6231, 6249, 6267, 6285, 6303, 6321, 6339, 6357, 6375, - 6393, 6411, 6429, 6447, 6465, 3, 21, 39, 57, 75, 93, 111, - 129, 147, 165, 183, 201, 219, 237, 255, 273, 291, 309, 327, - 345, 363, 381, 399, 417, 435, 453, 471, 489, 507, 525, 543, - 561, 579, 597, 615, 633, 651, 669, 687, 705, 723, 741, 759, - 777, 795, 813, 831, 849, 867, 885, 903, 921, 939, 957, 975, - 993, 1011, 1029, 1047, 1065, 1083, 1101, 1119, 1137, 1155, 1173, 1191, - 1209, 1227, 1245, 1263, 1281, 1299, 1317, 1335, 1353, 1371, 1389, 1407, - 1425, 1443, 1461, 1479, 1497, 1515, 1533, 1551, 1569, 1587, 1605, 1623, - 1641, 1659, 1677, 1695, 1713, 1731, 1749, 1767, 1785, 1803, 1821, 1839, - 1857, 1875, 1893, 1911, 1929, 1947, 1965, 1983, 2001, 2019, 2037, 2055, - 2073, 2091, 2109, 2127, 2145, 2163, 2181, 2199, 2217, 2235, 2253, 2271, - 2289, 2307, 2325, 2343, 2361, 2379, 2397, 2415, 2433, 2451, 2469, 2487, - 2505, 2523, 2541, 2559, 2577, 2595, 2613, 2631, 2649, 2667, 2685, 2703, - 2721, 2739, 2757, 2775, 2793, 2811, 2829, 2847, 2865, 2883, 2901, 2919, - 2937, 2955, 2973, 2991, 3009, 3027, 3045, 3063, 3081, 3099, 3117, 3135, - 3153, 3171, 3189, 3207, 3225, 3243, 3261, 3279, 3297, 3315, 3333, 3351, - 3369, 3387, 3405, 3423, 3441, 3459, 3477, 3495, 3513, 3531, 3549, 3567, - 3585, 3603, 3621, 3639, 3657, 3675, 3693, 3711, 3729, 3747, 3765, 3783, - 3801, 3819, 3837, 3855, 3873, 3891, 3909, 3927, 3945, 3963, 3981, 3999, - 6335, 6353, 6371, 6389, 6407, 6425, 6443, 6461, 6479, 17, 35, 53, - 71, 89, 107, 125, 143, 161, 179, 197, 215, 233, 251, 269, - 287, 305, 323, 341, 359, 377, 395, 413, 431, 449, 467, 485, - 503, 521, 539, 557, 575, 593, 611, 629, 647, 665, 683, 701, - 719, 737, 755, 773, 791, 809, 827, 845, 863, 881, 899, 917, - 935, 953, 971, 989, 1007, 1025, 1043, 1061, 1079, 1097, 1115, 1133, - 1151, 1169, 1187, 1205, 1223, 1241, 1259, 1277, 1295, 1313, 1331, 1349, - 1367, 1385, 1403, 1421, 1439, 1457, 1475, 1493, 1511, 1529, 1547, 1565, - 1583, 1601, 1619, 1637, 1655, 1673, 1691, 1709, 1727, 1745, 1763, 1781, - 1799, 1817, 1835, 1853, 1871, 1889, 1907, 1925, 1943, 1961, 1979, 1997, - 2015, 2033, 2051, 2069, 2087, 2105, 2123, 2141, 2159, 2177, 2195, 2213, - 2231, 2249, 2267, 2285, 2303, 2321, 2339, 2357, 2375, 2393, 2411, 2429, - 2447, 2465, 2483, 2501, 2519, 2537, 2555, 2573, 2591, 2609, 2627, 2645, - 2663, 2681, 2699, 2717, 2735, 2753, 2771, 2789, 2807, 2825, 2843, 2861, - 2879, 2897, 2915, 2933, 2951, 2969, 2987, 3005, 3023, 3041, 3059, 3077, - 3095, 3113, 3131, 3149, 3167, 3185, 3203, 3221, 3239, 3257, 3275, 3293, - 3311, 3329, 3347, 3365, 3383, 3401, 3419, 3437, 3455, 3473, 3491, 3509, - 3527, 3545, 3563, 3581, 3599, 3617, 3635, 3653, 3671, 3689, 3707, 3725, - 3743, 3761, 3779, 3797, 3815, 3833, 3851, 3869, 3887, 3905, 3923, 3941, - 3959, 3977, 3995, 4013, 4031, 4049, 4067, 4085, 4103, 4121, 4139, 4157, - 4175, 4193, 4211, 4229, 4247, 4265, 4283, 4301, 4319, 4337, 4355, 4373, - 4391, 4409, 4427, 4445, 4463, 4481, 4499, 4517, 4535, 4553, 4571, 4589, - 4607, 4625, 4643, 4661, 4679, 4697, 4715, 4733, 4751, 4769, 4787, 4805, - 4823, 4841, 4859, 4877, 4895, 4913, 4931, 4949, 4967, 4985, 5003, 5021, - 5039, 5057, 5075, 5093, 5111, 5129, 5147, 5165, 5183, 5201, 5219, 5237, - 5255, 5273, 5291, 5309, 5327, 5345, 5363, 5381, 5399, 5417, 5435, 5453, - 5471, 5489, 5507, 5525, 5543, 5561, 5579, 5597, 5615, 5633, 5651, 5669, - 5687, 5705, 5723, 5741, 5759, 5777, 5795, 5813, 5831, 5849, 5867, 5885, - 5903, 5921, 5939, 5957, 5975, 5993, 6011, 6029, 6047, 6065, 6083, 6101, - 6119, 6137, 6155, 6173, 6191, 6209, 6227, 6245, 6263, 6281, 6299, 6317, - 6196, 6214, 6232, 6250, 6268, 6286, 6304, 6322, 6340, 6358, 6376, 6394, - 6412, 6430, 6448, 6466, 4, 22, 40, 58, 76, 94, 112, 130, - 148, 166, 184, 202, 220, 238, 256, 274, 292, 310, 328, 346, - 364, 382, 400, 418, 436, 454, 472, 490, 508, 526, 544, 562, - 580, 598, 616, 634, 652, 670, 688, 706, 724, 742, 760, 778, - 796, 814, 832, 850, 868, 886, 904, 922, 940, 958, 976, 994, - 1012, 1030, 1048, 1066, 1084, 1102, 1120, 1138, 1156, 1174, 1192, 1210, - 1228, 1246, 1264, 1282, 1300, 1318, 1336, 1354, 1372, 1390, 1408, 1426, - 1444, 1462, 1480, 1498, 1516, 1534, 1552, 1570, 1588, 1606, 1624, 1642, - 1660, 1678, 1696, 1714, 1732, 1750, 1768, 1786, 1804, 1822, 1840, 1858, - 1876, 1894, 1912, 1930, 1948, 1966, 1984, 2002, 2020, 2038, 2056, 2074, - 2092, 2110, 2128, 2146, 2164, 2182, 2200, 2218, 2236, 2254, 2272, 2290, - 2308, 2326, 2344, 2362, 2380, 2398, 2416, 2434, 2452, 2470, 2488, 2506, - 2524, 2542, 2560, 2578, 2596, 2614, 2632, 2650, 2668, 2686, 2704, 2722, - 2740, 2758, 2776, 2794, 2812, 2830, 2848, 2866, 2884, 2902, 2920, 2938, - 2956, 2974, 2992, 3010, 3028, 3046, 3064, 3082, 3100, 3118, 3136, 3154, - 3172, 3190, 3208, 3226, 3244, 3262, 3280, 3298, 3316, 3334, 3352, 3370, - 3388, 3406, 3424, 3442, 3460, 3478, 3496, 3514, 3532, 3550, 3568, 3586, - 3604, 3622, 3640, 3658, 3676, 3694, 3712, 3730, 3748, 3766, 3784, 3802, - 3820, 3838, 3856, 3874, 3892, 3910, 3928, 3946, 3964, 3982, 4000, 4018, - 4036, 4054, 4072, 4090, 4108, 4126, 4144, 4162, 4180, 4198, 4216, 4234, - 4252, 4270, 4288, 4306, 4324, 4342, 4360, 4378, 4396, 4414, 4432, 4450, - 4468, 4486, 4504, 4522, 4540, 4558, 4576, 4594, 4612, 4630, 4648, 4666, - 4684, 4702, 4720, 4738, 4756, 4774, 4792, 4810, 4828, 4846, 4864, 4882, - 4900, 4918, 4936, 4954, 4972, 4990, 5008, 5026, 5044, 5062, 5080, 5098, - 5116, 5134, 5152, 5170, 5188, 5206, 5224, 5242, 5260, 5278, 5296, 5314, - 5332, 5350, 5368, 5386, 5404, 5422, 5440, 5458, 5476, 5494, 5512, 5530, - 5548, 5566, 5584, 5602, 5620, 5638, 5656, 5674, 5692, 5710, 5728, 5746, - 5764, 5782, 5800, 5818, 5836, 5854, 5872, 5890, 5908, 5926, 5944, 5962, - 5980, 5998, 6016, 6034, 6052, 6070, 6088, 6106, 6124, 6142, 6160, 6178, - 5810, 5828, 5846, 5864, 5882, 5900, 5918, 5936, 5954, 5972, 5990, 6008, - 6026, 6044, 6062, 6080, 6098, 6116, 6134, 6152, 6170, 6188, 6206, 6224, - 6242, 6260, 6278, 6296, 6314, 6332, 6350, 6368, 6386, 6404, 6422, 6440, - 6458, 6476, 14, 32, 50, 68, 86, 104, 122, 140, 158, 176, - 194, 212, 230, 248, 266, 284, 302, 320, 338, 356, 374, 392, - 410, 428, 446, 464, 482, 500, 518, 536, 554, 572, 590, 608, - 626, 644, 662, 680, 698, 716, 734, 752, 770, 788, 806, 824, - 842, 860, 878, 896, 914, 932, 950, 968, 986, 1004, 1022, 1040, - 1058, 1076, 1094, 1112, 1130, 1148, 1166, 1184, 1202, 1220, 1238, 1256, - 1274, 1292, 1310, 1328, 1346, 1364, 1382, 1400, 1418, 1436, 1454, 1472, - 1490, 1508, 1526, 1544, 1562, 1580, 1598, 1616, 1634, 1652, 1670, 1688, - 1706, 1724, 1742, 1760, 1778, 1796, 1814, 1832, 1850, 1868, 1886, 1904, - 1922, 1940, 1958, 1976, 1994, 2012, 2030, 2048, 2066, 2084, 2102, 2120, - 2138, 2156, 2174, 2192, 2210, 2228, 2246, 2264, 2282, 2300, 2318, 2336, - 2354, 2372, 2390, 2408, 2426, 2444, 2462, 2480, 2498, 2516, 2534, 2552, - 2570, 2588, 2606, 2624, 2642, 2660, 2678, 2696, 2714, 2732, 2750, 2768, - 2786, 2804, 2822, 2840, 2858, 2876, 2894, 2912, 2930, 2948, 2966, 2984, - 3002, 3020, 3038, 3056, 3074, 3092, 3110, 3128, 3146, 3164, 3182, 3200, - 3218, 3236, 3254, 3272, 3290, 3308, 3326, 3344, 3362, 3380, 3398, 3416, - 3434, 3452, 3470, 3488, 3506, 3524, 3542, 3560, 3578, 3596, 3614, 3632, - 3650, 3668, 3686, 3704, 3722, 3740, 3758, 3776, 3794, 3812, 3830, 3848, - 3866, 3884, 3902, 3920, 3938, 3956, 3974, 3992, 4010, 4028, 4046, 4064, - 4082, 4100, 4118, 4136, 4154, 4172, 4190, 4208, 4226, 4244, 4262, 4280, - 4298, 4316, 4334, 4352, 4370, 4388, 4406, 4424, 4442, 4460, 4478, 4496, - 4514, 4532, 4550, 4568, 4586, 4604, 4622, 4640, 4658, 4676, 4694, 4712, - 4730, 4748, 4766, 4784, 4802, 4820, 4838, 4856, 4874, 4892, 4910, 4928, - 4946, 4964, 4982, 5000, 5018, 5036, 5054, 5072, 5090, 5108, 5126, 5144, - 5162, 5180, 5198, 5216, 5234, 5252, 5270, 5288, 5306, 5324, 5342, 5360, - 5378, 5396, 5414, 5432, 5450, 5468, 5486, 5504, 5522, 5540, 5558, 5576, - 5594, 5612, 5630, 5648, 5666, 5684, 5702, 5720, 5738, 5756, 5774, 5792, - 1206, 1224, 1242, 1260, 1278, 1296, 1314, 1332, 1350, 1368, 1386, 1404, - 1422, 1440, 1458, 1476, 1494, 1512, 1530, 1548, 1566, 1584, 1602, 1620, - 1638, 1656, 1674, 1692, 1710, 1728, 1746, 1764, 1782, 1800, 1818, 1836, - 1854, 1872, 1890, 1908, 1926, 1944, 1962, 1980, 1998, 2016, 2034, 2052, - 2070, 2088, 2106, 2124, 2142, 2160, 2178, 2196, 2214, 2232, 2250, 2268, - 2286, 2304, 2322, 2340, 2358, 2376, 2394, 2412, 2430, 2448, 2466, 2484, - 2502, 2520, 2538, 2556, 2574, 2592, 2610, 2628, 2646, 2664, 2682, 2700, - 2718, 2736, 2754, 2772, 2790, 2808, 2826, 2844, 2862, 2880, 2898, 2916, - 2934, 2952, 2970, 2988, 3006, 3024, 3042, 3060, 3078, 3096, 3114, 3132, - 3150, 3168, 3186, 3204, 3222, 3240, 3258, 3276, 3294, 3312, 3330, 3348, - 3366, 3384, 3402, 3420, 3438, 3456, 3474, 3492, 3510, 3528, 3546, 3564, - 3582, 3600, 3618, 3636, 3654, 3672, 3690, 3708, 3726, 3744, 3762, 3780, - 3798, 3816, 3834, 3852, 3870, 3888, 3906, 3924, 3942, 3960, 3978, 3996, - 4014, 4032, 4050, 4068, 4086, 4104, 4122, 4140, 4158, 4176, 4194, 4212, - 4230, 4248, 4266, 4284, 4302, 4320, 4338, 4356, 4374, 4392, 4410, 4428, - 4446, 4464, 4482, 4500, 4518, 4536, 4554, 4572, 4590, 4608, 4626, 4644, - 4662, 4680, 4698, 4716, 4734, 4752, 4770, 4788, 4806, 4824, 4842, 4860, - 4878, 4896, 4914, 4932, 4950, 4968, 4986, 5004, 5022, 5040, 5058, 5076, - 5094, 5112, 5130, 5148, 5166, 5184, 5202, 5220, 5238, 5256, 5274, 5292, - 5310, 5328, 5346, 5364, 5382, 5400, 5418, 5436, 5454, 5472, 5490, 5508, - 5526, 5544, 5562, 5580, 5598, 5616, 5634, 5652, 5670, 5688, 5706, 5724, - 5742, 5760, 5778, 5796, 5814, 5832, 5850, 5868, 5886, 5904, 5922, 5940, - 5958, 5976, 5994, 6012, 6030, 6048, 6066, 6084, 6102, 6120, 6138, 6156, - 6174, 6192, 6210, 6228, 6246, 6264, 6282, 6300, 6318, 6336, 6354, 6372, - 6390, 6408, 6426, 6444, 6462, 6480, 18, 36, 54, 72, 90, 108, - 126, 144, 162, 180, 198, 216, 234, 252, 270, 288, 306, 324, - 342, 360, 378, 396, 414, 432, 450, 468, 486, 504, 522, 540, - 558, 576, 594, 612, 630, 648, 666, 684, 702, 720, 738, 756, - 774, 792, 810, 828, 846, 864, 882, 900, 918, 936, 954, 972, - 990, 1008, 1026, 1044, 1062, 1080, 1098, 1116, 1134, 1152, 1170, 1188, - 6023, 6041, 6059, 6077, 6095, 6113, 6131, 6149, 6167, 6185, 6203, 6221, - 6239, 6257, 6275, 6293, 6311, 6329, 6347, 6365, 6383, 6401, 6419, 6437, - 6455, 6473, 11, 29, 47, 65, 83, 101, 119, 137, 155, 173, - 191, 209, 227, 245, 263, 281, 299, 317, 335, 353, 371, 389, - 407, 425, 443, 461, 479, 497, 515, 533, 551, 569, 587, 605, - 623, 641, 659, 677, 695, 713, 731, 749, 767, 785, 803, 821, - 839, 857, 875, 893, 911, 929, 947, 965, 983, 1001, 1019, 1037, - 1055, 1073, 1091, 1109, 1127, 1145, 1163, 1181, 1199, 1217, 1235, 1253, - 1271, 1289, 1307, 1325, 1343, 1361, 1379, 1397, 1415, 1433, 1451, 1469, - 1487, 1505, 1523, 1541, 1559, 1577, 1595, 1613, 1631, 1649, 1667, 1685, - 1703, 1721, 1739, 1757, 1775, 1793, 1811, 1829, 1847, 1865, 1883, 1901, - 1919, 1937, 1955, 1973, 1991, 2009, 2027, 2045, 2063, 2081, 2099, 2117, - 2135, 2153, 2171, 2189, 2207, 2225, 2243, 2261, 2279, 2297, 2315, 2333, - 2351, 2369, 2387, 2405, 2423, 2441, 2459, 2477, 2495, 2513, 2531, 2549, - 2567, 2585, 2603, 2621, 2639, 2657, 2675, 2693, 2711, 2729, 2747, 2765, - 2783, 2801, 2819, 2837, 2855, 2873, 2891, 2909, 2927, 2945, 2963, 2981, - 2999, 3017, 3035, 3053, 3071, 3089, 3107, 3125, 3143, 3161, 3179, 3197, - 3215, 3233, 3251, 3269, 3287, 3305, 3323, 3341, 3359, 3377, 3395, 3413, - 3431, 3449, 3467, 3485, 3503, 3521, 3539, 3557, 3575, 3593, 3611, 3629, - 3647, 3665, 3683, 3701, 3719, 3737, 3755, 3773, 3791, 3809, 3827, 3845, - 3863, 3881, 3899, 3917, 3935, 3953, 3971, 3989, 4007, 4025, 4043, 4061, - 4079, 4097, 4115, 4133, 4151, 4169, 4187, 4205, 4223, 4241, 4259, 4277, - 4295, 4313, 4331, 4349, 4367, 4385, 4403, 4421, 4439, 4457, 4475, 4493, - 4511, 4529, 4547, 4565, 4583, 4601, 4619, 4637, 4655, 4673, 4691, 4709, - 4727, 4745, 4763, 4781, 4799, 4817, 4835, 4853, 4871, 4889, 4907, 4925, - 4943, 4961, 4979, 4997, 5015, 5033, 5051, 5069, 5087, 5105, 5123, 5141, - 5159, 5177, 5195, 5213, 5231, 5249, 5267, 5285, 5303, 5321, 5339, 5357, - 5375, 5393, 5411, 5429, 5447, 5465, 5483, 5501, 5519, 5537, 5555, 5573, - 5591, 5609, 5627, 5645, 5663, 5681, 5699, 5717, 5735, 5753, 5771, 5789, - 5807, 5825, 5843, 5861, 5879, 5897, 5915, 5933, 5951, 5969, 5987, 6005, - 4739, 4757, 4775, 4793, 4811, 4829, 4847, 4865, 4883, 4901, 4919, 4937, - 4955, 4973, 4991, 5009, 5027, 5045, 5063, 5081, 5099, 5117, 5135, 5153, - 5171, 5189, 5207, 5225, 5243, 5261, 5279, 5297, 5315, 5333, 5351, 5369, - 5387, 5405, 5423, 5441, 5459, 5477, 5495, 5513, 5531, 5549, 5567, 5585, - 5603, 5621, 5639, 5657, 5675, 5693, 5711, 5729, 5747, 5765, 5783, 5801, - 5819, 5837, 5855, 5873, 5891, 5909, 5927, 5945, 5963, 5981, 5999, 6017, - 6035, 6053, 6071, 6089, 6107, 6125, 6143, 6161, 6179, 6197, 6215, 6233, - 6251, 6269, 6287, 6305, 6323, 6341, 6359, 6377, 6395, 6413, 6431, 6449, - 6467, 5, 23, 41, 59, 77, 95, 113, 131, 149, 167, 185, - 203, 221, 239, 257, 275, 293, 311, 329, 347, 365, 383, 401, - 419, 437, 455, 473, 491, 509, 527, 545, 563, 581, 599, 617, - 635, 653, 671, 689, 707, 725, 743, 761, 779, 797, 815, 833, - 851, 869, 887, 905, 923, 941, 959, 977, 995, 1013, 1031, 1049, - 1067, 1085, 1103, 1121, 1139, 1157, 1175, 1193, 1211, 1229, 1247, 1265, - 1283, 1301, 1319, 1337, 1355, 1373, 1391, 1409, 1427, 1445, 1463, 1481, - 1499, 1517, 1535, 1553, 1571, 1589, 1607, 1625, 1643, 1661, 1679, 1697, - 1715, 1733, 1751, 1769, 1787, 1805, 1823, 1841, 1859, 1877, 1895, 1913, - 1931, 1949, 1967, 1985, 2003, 2021, 2039, 2057, 2075, 2093, 2111, 2129, - 2147, 2165, 2183, 2201, 2219, 2237, 2255, 2273, 2291, 2309, 2327, 2345, - 2363, 2381, 2399, 2417, 2435, 2453, 2471, 2489, 2507, 2525, 2543, 2561, - 2579, 2597, 2615, 2633, 2651, 2669, 2687, 2705, 2723, 2741, 2759, 2777, - 2795, 2813, 2831, 2849, 2867, 2885, 2903, 2921, 2939, 2957, 2975, 2993, - 3011, 3029, 3047, 3065, 3083, 3101, 3119, 3137, 3155, 3173, 3191, 3209, - 3227, 3245, 3263, 3281, 3299, 3317, 3335, 3353, 3371, 3389, 3407, 3425, - 3443, 3461, 3479, 3497, 3515, 3533, 3551, 3569, 3587, 3605, 3623, 3641, - 3659, 3677, 3695, 3713, 3731, 3749, 3767, 3785, 3803, 3821, 3839, 3857, - 3875, 3893, 3911, 3929, 3947, 3965, 3983, 4001, 4019, 4037, 4055, 4073, - 4091, 4109, 4127, 4145, 4163, 4181, 4199, 4217, 4235, 4253, 4271, 4289, - 4307, 4325, 4343, 4361, 4379, 4397, 4415, 4433, 4451, 4469, 4487, 4505, - 4523, 4541, 4559, 4577, 4595, 4613, 4631, 4649, 4667, 4685, 4703, 4721, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_16200_9720.h b/vendor/codec2_flutter_ios_only/src/codec2/src/H_16200_9720.h deleted file mode 100644 index ab4832c..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_16200_9720.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - FILE....: H_16200_9720.h - - Static arrays for LDPC codec H_16200_9720, generated by ldpc_gen_c_h_file.m. -*/ - -#define H_16200_9720_NUMBERPARITYBITS 6480 -#define H_16200_9720_MAX_ROW_WEIGHT 9 -#define H_16200_9720_CODELENGTH 16200 -#define H_16200_9720_NUMBERROWSHCOLS 9720 -#define H_16200_9720_MAX_COL_WEIGHT 12 -#define H_16200_9720_DEC_TYPE 0 -#define H_16200_9720_MAX_ITER 100 - -#include - -extern const uint16_t H_16200_9720_H_rows[]; -extern const uint16_t H_16200_9720_H_cols[]; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_2064_516_sparse.c b/vendor/codec2_flutter_ios_only/src/codec2/src/H_2064_516_sparse.c deleted file mode 100644 index 697bcfd..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_2064_516_sparse.c +++ /dev/null @@ -1,1920 +0,0 @@ -/* - FILE....: ../src/H_2064_516_sparse.c - - Static arrays for CML LDPC codec, generated - by test_ldpc_fsk.m:simple_ut(). - -*/ - -#define NUMBERPARITYBITS 516 -#define MAX_ROW_WEIGHT 12 -#define CODELENGTH 2580 -#define NUMBERROWSHCOLS 2064 -#define MAX_COL_WEIGHT 3 -#define DEC_TYPE 0 -#define MAX_ITER 10 - -#include "H_2064_516_sparse.h" - -#include - -const uint16_t H_2064_516_sparse_H_rows[] = { - 870, 276, 110, 54, 226, 85, 59, 153, 31, 60, 46, 75, - 139, 239, 56, 13, 30, 45, 63, 34, 54, 21, 77, 204, - 441, 11, 297, 126, 148, 104, 269, 57, 369, 213, 117, 479, - 53, 124, 405, 97, 42, 132, 67, 103, 389, 156, 237, 105, - 418, 11, 60, 12, 195, 32, 11, 21, 10, 191, 176, 237, - 140, 376, 115, 9, 149, 304, 129, 308, 234, 129, 453, 215, - 176, 213, 151, 169, 41, 106, 421, 103, 83, 62, 124, 3, - 574, 39, 31, 472, 69, 8, 40, 352, 62, 275, 74, 121, - 125, 35, 83, 52, 21, 422, 229, 233, 62, 125, 181, 175, - 28, 43, 113, 340, 71, 4, 40, 249, 134, 168, 97, 15, - 26, 135, 104, 80, 206, 108, 307, 494, 358, 82, 159, 137, - 19, 210, 6, 19, 65, 285, 45, 154, 276, 14, 137, 79, - 241, 235, 116, 129, 84, 3, 122, 370, 132, 451, 77, 89, - 262, 79, 170, 469, 24, 163, 128, 18, 120, 244, 8, 153, - 151, 441, 95, 327, 284, 96, 84, 35, 61, 286, 20, 22, - 68, 131, 106, 30, 280, 343, 99, 124, 262, 208, 277, 44, - 349, 41, 10, 761, 39, 445, 165, 81, 393, 194, 18, 250, - 589, 70, 307, 1, 365, 47, 4, 9, 283, 133, 90, 601, - 117, 228, 212, 58, 420, 230, 142, 25, 57, 518, 88, 180, - 24, 122, 379, 143, 33, 30, 140, 68, 150, 320, 55, 33, - 132, 2, 22, 16, 272, 44, 264, 49, 174, 234, 86, 39, - 10, 278, 177, 178, 20, 126, 18, 90, 6, 184, 158, 111, - 246, 229, 221, 48, 267, 6, 172, 49, 291, 185, 67, 50, - 157, 66, 32, 525, 257, 196, 260, 92, 72, 163, 144, 329, - 134, 156, 47, 82, 49, 391, 26, 1, 88, 52, 56, 8, - 111, 138, 219, 57, 447, 182, 263, 38, 98, 75, 36, 83, - 245, 5, 419, 63, 12, 287, 603, 58, 507, 37, 2, 214, - 539, 55, 53, 81, 186, 73, 85, 97, 91, 332, 123, 66, - 188, 591, 158, 324, 88, 53, 214, 84, 389, 104, 271, 211, - 7, 393, 281, 242, 119, 848, 705, 428, 50, 28, 52, 15, - 5, 2, 230, 38, 76, 295, 217, 1, 56, 170, 145, 5, - 72, 460, 203, 145, 211, 121, 68, 538, 44, 133, 87, 494, - 325, 161, 781, 370, 51, 115, 262, 106, 614, 29, 220, 189, - 224, 165, 17, 72, 46, 17, 64, 19, 447, 13, 9, 270, - 4, 91, 471, 35, 23, 407, 34, 38, 82, 321, 112, 195, - 651, 7, 43, 431, 249, 171, 196, 311, 15, 66, 16, 633, - 37, 94, 102, 23, 3, 214, 252, 256, 173, 316, 125, 96, - 341, 71, 73, 338, 256, 165, 140, 108, 471, 434, 137, 642, - 172, 51, 113, 67, 172, 93, 23, 318, 514, 50, 118, 245, - 169, 14, 64, 40, 859, 95, 308, 65, 93, 42, 339, 46, - 7, 96, 142, 36, 131, 60, 13, 12, 25, 31, 183, 94, - 43, 241, 162, 26, 232, 120, 128, 118, 89, 164, 51, 29, - 127, 177, 180, 95, 332, 284, 32, 802, 452, 25, 382, 187, - 892, 432, 162, 126, 587, 342, 205, 170, 255, 73, 605, 579, - 398, 305, 58, 110, 178, 244, 306, 178, 166, 28, 368, 224, - 582, 135, 420, 618, 264, 234, 346, 223, 439, 399, 150, 655, - 242, 248, 750, 199, 242, 277, 112, 163, 545, 359, 487, 322, - 570, 64, 402, 412, 252, 116, 147, 109, 27, 197, 204, 251, - 282, 455, 118, 390, 225, 382, 215, 373, 554, 371, 568, 289, - 225, 405, 160, 414, 290, 109, 524, 406, 344, 188, 385, 33, - 791, 261, 171, 475, 100, 183, 156, 564, 78, 395, 144, 497, - 334, 45, 167, 79, 27, 520, 239, 449, 138, 347, 667, 572, - 61, 278, 136, 375, 231, 320, 167, 304, 389, 185, 171, 109, - 468, 243, 206, 210, 305, 160, 682, 514, 433, 152, 375, 1064, - 48, 522, 139, 98, 191, 557, 127, 189, 372, 54, 515, 406, - 370, 950, 549, 352, 319, 27, 489, 440, 636, 941, 153, 102, - 268, 120, 190, 719, 451, 175, 539, 477, 279, 474, 17, 232, - 221, 476, 174, 415, 545, 357, 368, 149, 94, 409, 218, 76, - 87, 136, 114, 245, 596, 408, 335, 246, 511, 560, 438, 298, - 351, 91, 22, 813, 108, 546, 248, 218, 629, 212, 223, 569, - 611, 93, 399, 185, 427, 260, 20, 111, 354, 187, 150, 702, - 316, 666, 541, 227, 558, 486, 207, 450, 224, 568, 222, 341, - 81, 222, 386, 441, 484, 159, 289, 142, 372, 534, 157, 78, - 337, 522, 70, 293, 318, 161, 325, 74, 194, 797, 130, 128, - 70, 386, 657, 611, 105, 456, 230, 100, 61, 274, 358, 135, - 249, 236, 247, 264, 279, 123, 345, 59, 397, 645, 448, 80, - 192, 149, 190, 564, 292, 508, 359, 202, 152, 459, 200, 446, - 293, 512, 103, 154, 229, 492, 145, 256, 828, 55, 296, 133, - 147, 314, 220, 190, 481, 208, 290, 198, 146, 100, 202, 259, - 295, 16, 505, 251, 86, 375, 618, 266, 891, 166, 159, 269, - 850, 127, 397, 759, 494, 141, 567, 339, 119, 336, 162, 98, - 265, 770, 423, 380, 346, 116, 402, 101, 628, 623, 286, 309, - 107, 453, 406, 496, 200, 865, 720, 429, 187, 107, 609, 439, - 90, 48, 330, 59, 87, 632, 323, 219, 101, 865, 203, 14, - 74, 466, 462, 160, 448, 168, 474, 980, 396, 148, 244, 904, - 438, 198, 982, 601, 199, 119, 300, 240, 702, 241, 258, 192, - 291, 227, 34, 698, 78, 107, 123, 89, 704, 114, 274, 461, - 151, 115, 576, 323, 201, 468, 271, 231, 92, 592, 220, 909, - 829, 243, 480, 466, 345, 763, 404, 356, 86, 110, 210, 688, - 353, 271, 740, 226, 352, 247, 288, 758, 338, 426, 235, 405, - 625, 155, 146, 475, 491, 189, 177, 216, 962, 503, 216, 726, - 381, 219, 183, 102, 332, 113, 155, 440, 922, 450, 379, 294, - 301, 36, 80, 75, 875, 462, 547, 69, 330, 186, 527, 92, - 138, 157, 169, 69, 143, 401, 24, 283, 41, 37, 472, 309, - 117, 747, 342, 251, 300, 182, 216, 202, 266, 192, 217, 302, - 660, 360, 663, 130, 355, 367, 47, 1103, 519, 811, 586, 488, - 983, 652, 303, 201, 759, 860, 416, 585, 268, 428, 928, 819, - 821, 379, 340, 493, 260, 752, 599, 314, 182, 444, 612, 369, - 692, 311, 523, 622, 335, 259, 499, 225, 526, 409, 188, 709, - 356, 606, 777, 222, 541, 327, 201, 176, 551, 544, 1008, 372, - 628, 181, 523, 549, 476, 464, 240, 593, 181, 254, 223, 305, - 285, 595, 217, 887, 550, 552, 278, 381, 621, 517, 953, 538, - 265, 581, 313, 540, 366, 626, 647, 511, 467, 508, 890, 63, - 976, 275, 312, 885, 598, 254, 180, 687, 196, 398, 146, 675, - 380, 101, 443, 122, 85, 531, 347, 463, 167, 536, 724, 710, - 288, 351, 232, 387, 424, 650, 363, 544, 540, 248, 279, 121, - 479, 267, 218, 445, 485, 240, 737, 692, 1017, 331, 716, 1130, - 207, 602, 274, 750, 261, 572, 131, 435, 672, 253, 729, 542, - 739, 1062, 731, 619, 328, 65, 769, 502, 898, 966, 158, 211, - 289, 193, 314, 784, 533, 396, 567, 497, 280, 696, 348, 290, - 383, 636, 526, 470, 622, 541, 411, 286, 378, 561, 374, 194, - 349, 166, 143, 390, 697, 533, 570, 304, 615, 709, 476, 679, - 454, 287, 114, 904, 535, 786, 270, 308, 828, 302, 506, 732, - 626, 533, 584, 186, 456, 495, 350, 317, 672, 343, 315, 919, - 367, 820, 548, 296, 614, 635, 209, 543, 350, 733, 239, 376, - 287, 344, 470, 563, 607, 319, 323, 473, 428, 677, 212, 263, - 386, 567, 435, 328, 616, 255, 729, 147, 320, 855, 267, 426, - 261, 458, 977, 670, 173, 478, 366, 112, 71, 419, 968, 139, - 606, 292, 275, 463, 344, 671, 810, 77, 465, 755, 579, 179, - 353, 357, 442, 599, 354, 805, 453, 407, 193, 510, 285, 513, - 583, 645, 325, 173, 621, 573, 423, 479, 912, 130, 300, 227, - 184, 391, 293, 204, 673, 282, 371, 324, 313, 228, 334, 343, - 655, 42, 532, 559, 658, 484, 921, 373, 944, 329, 184, 302, - 861, 205, 414, 771, 606, 312, 652, 503, 413, 415, 238, 449, - 781, 874, 586, 544, 402, 468, 525, 155, 845, 714, 295, 564, - 197, 509, 863, 640, 209, 986, 808, 691, 317, 355, 789, 779, - 281, 141, 594, 336, 105, 682, 360, 299, 559, 876, 608, 315, - 401, 632, 480, 161, 577, 284, 657, 1012, 481, 330, 388, 1011, - 524, 423, 1019, 812, 416, 168, 322, 258, 710, 703, 1027, 195, - 447, 259, 633, 990, 710, 215, 410, 458, 760, 174, 312, 605, - 269, 206, 617, 534, 554, 497, 296, 393, 236, 784, 483, 1189, - 892, 602, 788, 709, 382, 831, 537, 695, 99, 563, 424, 759, - 432, 281, 795, 319, 422, 684, 331, 866, 377, 638, 247, 501, - 711, 463, 475, 631, 507, 310, 298, 252, 1059, 757, 364, 785, - 410, 233, 411, 236, 487, 339, 341, 473, 1022, 527, 515, 700, - 380, 388, 414, 253, 913, 466, 773, 238, 638, 335, 896, 298, - 310, 658, 461, 207, 205, 550, 29, 425, 141, 76, 649, 442, - 322, 832, 730, 307, 385, 401, 268, 301, 311, 306, 291, 364, - 864, 560, 840, 199, 358, 385, 179, 1142, 520, 986, 600, 712, - 1018, 661, 365, 237, 769, 953, 517, 605, 396, 459, 991, 867, - 899, 415, 700, 556, 324, 788, 639, 778, 226, 743, 685, 706, - 883, 362, 970, 785, 387, 376, 734, 392, 730, 448, 250, 731, - 387, 665, 1015, 243, 812, 391, 795, 346, 588, 737, 1077, 874, - 933, 412, 817, 585, 550, 491, 273, 640, 208, 542, 338, 436, - 895, 694, 257, 899, 583, 629, 327, 815, 744, 573, 1226, 727, - 272, 607, 331, 1050, 594, 754, 716, 515, 524, 695, 1086, 297, - 1177, 400, 678, 1004, 648, 294, 555, 780, 316, 486, 689, 679, - 430, 136, 717, 233, 400, 646, 383, 530, 263, 574, 749, 790, - 336, 377, 409, 609, 499, 686, 518, 595, 601, 334, 531, 197, - 485, 348, 424, 701, 579, 500, 1147, 797, 1085, 404, 738, 1200, - 253, 714, 427, 756, 303, 610, 313, 1399, 770, 455, 732, 796, - 824, 1230, 927, 929, 397, 276, 794, 741, 957, 1052, 1002, 213, - 392, 566, 461, 832, 798, 433, 590, 723, 718, 755, 878, 446, - 615, 669, 776, 608, 659, 565, 443, 457, 407, 577, 631, 255, - 365, 399, 152, 766, 814, 556, 640, 1137, 1000, 767, 745, 733, - 1194, 529, 238, 1034, 789, 1314, 436, 493, 853, 492, 654, 809, - 885, 636, 596, 270, 848, 774, 364, 512, 832, 411, 516, 927, - 700, 857, 588, 703, 756, 758, 315, 574, 810, 885, 416, 600, - 690, 417, 501, 626, 707, 581, 377, 916, 660, 808, 587, 265, - 395, 613, 906, 381, 661, 310, 799, 148, 632, 941, 750, 578, - 277, 1065, 1242, 1018, 326, 551, 459, 134, 99, 510, 1097, 198, - 673, 531, 450, 697, 394, 749, 948, 193, 664, 965, 818, 454, - 419, 556, 721, 742, 473, 886, 647, 694, 209, 906, 433, 674, - 620, 666, 464, 446, 634, 728, 430, 630, 990, 435, 371, 534, - 394, 467, 928, 326, 723, 490, 816, 699, 490, 530, 384, 361, - 772, 374, 554, 619, 672, 613, 924, 677, 1079, 404, 367, 337, - 898, 228, 418, 844, 766, 317, 680, 690, 566, 680, 333, 726, - 960, 942, 637, 607, 452, 664, 698, 235, 942, 736, 368, 584, - 362, 650, 871, 683, 328, 1141, 988, 715, 915, 495, 1084, 919, - 613, 179, 888, 355, 144, 1243, 655, 551, 582, 993, 730, 340, - 548, 774, 643, 469, 651, 392, 843, 1196, 590, 573, 545, 1211, - 593, 439, 1027, 869, 586, 442, 762, 502, 758, 822, 1048, 254, - 628, 417, 683, 996, 752, 384, 725, 676, 842, 360, 374, 688, - 353, 549, 661, 648, 584, 624, 348, 530, 250, 1135, 667, 1298, - 1033, 623, 1102, 715, 594, 888, 871, 833, 321, 634, 491, 766, - 505, 297, 1024, 388, 460, 707, 735, 1023, 444, 1098, 629, 505, - 807, 581, 543, 687, 598, 337, 434, 806, 1111, 761, 521, 826, - 547, 257, 434, 412, 688, 577, 363, 839, 1187, 1306, 648, 808, - 504, 760, 429, 309, 916, 503, 777, 403, 1076, 512, 1127, 592, - 351, 692, 711, 474, 587, 558, 487, 498, 326, 164, 902, 456, - 471, 836, 748, 469, 480, 537, 553, 507, 347, 490, 498, 420, - 1010, 598, 1022, 283, 362, 958, 553, 1156, 712, 1108, 718, 753, - 1067, 681, 398, 483, 903, 956, 698, 612, 578, 489, 1294, 990, - 920, 592, 1113, 862, 464, 1435, 835, 788, 280, 957, 795, 743, - 1108, 425, 1026, 879, 488, 701, 931, 610, 741, 1061, 282, 830, - 413, 983, 1159, 1067, 1071, 437, 843, 506, 610, 890, 1133, 1034, - 954, 452, 925, 785, 836, 620, 597, 722, 258, 858, 342, 455, - 927, 706, 299, 1104, 660, 811, 333, 1173, 878, 858, 1336, 816, - 457, 948, 563, 1054, 678, 764, 733, 565, 555, 873, 1150, 485, - 1303, 496, 796, 1218, 823, 634, 624, 878, 686, 684, 879, 1100, - 454, 154, 1002, 357, 822, 676, 740, 578, 350, 1124, 834, 876, - 500, 486, 426, 663, 529, 947, 656, 621, 823, 361, 615, 421, - 585, 417, 538, 707, 656, 861, 1236, 831, 1087, 508, 768, 1269, - 292, 786, 478, 1043, 593, 765, 408, 1439, 806, 528, 801, 912, - 882, 1348, 1050, 1077, 528, 349, 996, 799, 976, 1265, 1100, 674, - 470, 617, 540, 847, 862, 457, 757, 841, 973, 921, 969, 539, - 646, 699, 959, 654, 670, 787, 872, 559, 744, 1276, 666, 273, - 569, 833, 191, 775, 896, 576, 935, 1231, 1046, 923, 804, 949, - 1201, 572, 303, 1162, 827, 1346, 897, 612, 937, 599, 675, 992, - 930, 644, 1151, 301, 1103, 1086, 482, 831, 1130, 472, 753, 1007, - 852, 1054, 635, 705, 955, 823, 425, 596, 962, 908, 445, 880, - 867, 478, 509, 653, 775, 591, 510, 1055, 798, 1021, 740, 294, - 427, 679, 973, 484, 686, 369, 836, 410, 802, 1245, 883, 649, - 431, 1102, 1267, 1262, 557, 1092, 837, 164, 881, 726, 1120, 273, - 697, 1097, 609, 708, 663, 838, 985, 552, 968, 1042, 1044, 483, - 520, 691, 736, 756, 521, 895, 779, 914, 266, 1356, 548, 742, - 964, 888, 481, 877, 685, 791, 437, 696, 991, 825, 643, 708, - 969, 683, 1080, 1001, 1012, 617, 1030, 734, 792, 1069, 504, 394, - 864, 595, 676, 782, 695, 837, 1154, 819, 1104, 437, 413, 383, - 913, 627, 624, 987, 1394, 449, 839, 825, 1054, 1180, 378, 1211, - 1090, 1114, 804, 897, 558, 1032, 746, 246, 1051, 870, 958, 725, - 536, 702, 1035, 971, 356, 1195, 1061, 827, 1090, 526, 1092, 1250, - 1025, 231, 947, 659, 272, 1284, 802, 826, 902, 1040, 870, 345, - 658, 822, 715, 1012, 872, 575, 945, 1232, 805, 720, 580, 1215, - 854, 603, 1074, 1056, 991, 528, 1218, 642, 1060, 1010, 1203, 288, - 978, 884, 762, 1118, 763, 430, 786, 922, 928, 886, 529, 706, - 403, 1104, 693, 868, 815, 670, 366, 546, 378, 1151, 901, 1522, - 1107, 671, 1333, 745, 724, 1230, 1073, 911, 429, 646, 611, 889, - 746, 403, 1032, 616, 637, 1382, 767, 1083, 451, 1212, 803, 1318, - 849, 662, 955, 712, 971, 571, 496, 977, 1145, 1160, 931, 830, - 580, 359, 805, 668, 770, 771, 390, 882, 1329, 1572, 851, 829, - 535, 944, 535, 373, 930, 669, 828, 565, 1219, 620, 1308, 793, - 361, 938, 859, 482, 946, 1186, 742, 591, 846, 221, 906, 641, - 631, 1068, 780, 536, 517, 844, 652, 721, 552, 523, 627, 525, - 1186, 944, 1039, 794, 498, 1076, 654, 1167, 856, 1264, 890, 768, - 1225, 691, 729, 543, 936, 1016, 1210, 656, 604, 608, 1324, 1035, - 1095, 639, 1311, 1281, 877, 1519, 923, 974, 431, 1057, 903, 809, - 1137, 569, 1243, 1118, 880, 720, 1102, 1168, 821, 1193, 432, 999, - 555, 1013, 1375, 1200, 1080, 495, 982, 519, 630, 1066, 1164, 1091, - 1006, 1039, 943, 1195, 1103, 665, 894, 908, 329, 1081, 951, 641, - 1060, 793, 719, 1232, 713, 847, 395, 1213, 1038, 1041, 1587, 984, - 752, 1125, 929, 1095, 988, 940, 845, 603, 623, 875, 1158, 772, - 1503, 506, 816, 1500, 1007, 638, 633, 936, 703, 704, 1173, 1171, - 724, 175, 1051, 604, 1174, 682, 819, 854, 384, 1196, 1249, 1029, - 509, 504, 537, 722, 571, 1121, 739, 838, 1027, 363, 743, 570, - 818, 546, 721, 736, 842, 905, 1372, 932, 1178, 863, 840, 1334, - 299, 855, 499, 1293, 1202, 1061, 689, 1516, 866, 614, 862, 955, - 981, 1511, 1153, 1256, 768, 501, 1044, 1282, 985, 1455, 1235, 711, - 1001, 627, 641, 889, 914, 644, 877, 913, 1149, 1138, 1188, 557, - 871, 787, 1015, 727, 731, 868, 892, 560, 778, 1331, 1025, 318, - 619, 864, 203, 911, 1052, 705, 1079, 1461, 1090, 994, 1023, 1050, - 1535, 625, 999, 1344, 933, 1498, 1045, 939, 1249, 650, 910, 1294, - 951, 649, 1163, 418, 1133, 1089, 493, 1116, 1309, 561, 857, 1073, - 1112, 1223, 909, 807, 989, 1053, 997, 813, 976, 1074, 527, 1070, - 966, 775, 511, 1004, 800, 717, 933, 1120, 900, 1389, 922, 684, - 440, 704, 1106, 668, 767, 757, 847, 936, 835, 1293, 893, 895, - 647, 1269, 1480, 1304, 782, 1166, 952, 566, 1124, 846, 1203, 354, - 893, 1200, 952, 792, 667, 1164, 1003, 718, 1002, 1139, 1163, 1096, - 685, 769, 1003, 977, 532, 1128, 905, 926, 443, 1405, 576, 835, - 1116, 1145, 562, 1063, 737, 883, 639, 790, 1021, 967, 772, 995, - 1165, 754, 1422, 1583, 1075, 997, 1082, 748, 827, 1197, 516, 465, - 1451, 645, 879, 809, 739, 855, 1155, 948, 1117, 460, 465, 791, - 1098, 693, 673, 1087, 1400, 532, 910, 829, 1171, 1214, 400, 1221, - 1603, 1323, 834, 965, 787, 1045, 918, 589, 1074, 1171, 1116, 744, - 905, 931, 1176, 1005, 589, 1238, 1107, 972, 1115, 600, 1181, 1609, - 1105, 521, 1158, 1049, 306, 1389, 804, 963, 971, 1199, 917, 716, - 668, 973, 998, 1174, 903, 590, 1130, 1472, 841, 811, 597, 1399, - 956, 719, 1301, 1083, 1044, 622, 1446, 1097, 1206, 1119, 1345, 604, - 1324, 920, 1129, 1340, 798, 444, 980, 997, 1232, 1087, 884, 1093, - 422, 1135, 909, 1026, 1055, 824, 462, 678, 945, 1234, 1149, 1542, - 1177, 675, 1421, 779, 1013, 1486, 1388, 1191, 514, 1219, 760, 974, - 773, 477, 1190, 784, 674, 1428, 778, 1257, 477, 1252, 901, 1352, - 1037, 1224, 970, 813, 1009, 1162, 519, 1088, 1157, 1409, 1182, 1089, - 755, 438, 1076, 725, 869, 900, 436, 1148, 1421, 1588, 956, 978, - 749, 950, 932, 516, 1046, 814, 865, 588, 1303, 713, 1614, 1024, - 421, 959, 897, 518, 987, 1275, 765, 887, 893, 333, 925, 732, - 635, 1169, 910, 1434, 575, 959, 653, 850, 728, 583, 1093, 542, - 1316, 1031, 1059, 1122, 642, 1121, 891, 1209, 925, 1299, 896, 932, - 1288, 934, 984, 580, 1113, 1413, 1224, 964, 643, 773, 1337, 1663, - 1341, 657, 1357, 1473, 1292, 1551, 970, 1209, 792, 1339, 1141, 1140, - 1320, 616, 1383, 1126, 980, 1014, 1146, 1245, 859, 1298, 513, 1182, - 662, 1014, 1562, 1297, 1151, 502, 1139, 874, 1259, 1645, 1169, 1242, - 1072, 1412, 1115, 1275, 1466, 1239, 1038, 1184, 458, 1094, 1440, 810, - 1352, 1339, 830, 1354, 801, 848, 671, 1300, 1147, 1047, 1625, 1117, - 1046, 1327, 1047, 1237, 1101, 1018, 1016, 745, 1066, 1132, 1221, 841, - 1512, 522, 853, 1535, 1248, 975, 694, 1143, 824, 1009, 1185, 1288, - 908, 200, 1308, 904, 1665, 687, 843, 943, 1199, 1198, 1379, 1168, - 571, 789, 630, 846, 602, 1342, 1350, 995, 1114, 408, 1043, 1304, - 945, 751, 793, 741, 1072, 1006, 1401, 1331, 1296, 1152, 856, 1337, - 321, 881, 937, 1318, 1535, 1560, 806, 1696, 924, 625, 994, 1058, - 996, 1649, 1183, 1442, 1118, 901, 1094, 1408, 1016, 1653, 1259, 800, - 1317, 677, 815, 894, 1017, 1278, 957, 1109, 1284, 1321, 1220, 947, - 1383, 860, 1220, 783, 873, 979, 1025, 1228, 1007, 1417, 1231, 735, - 783, 872, 492, 1028, 1244, 852, 1144, 1645, 1172, 1088, 1110, 1204, - 1622, 738, 1146, 1513, 1106, 1564, 1079, 1021, 1436, 776, 917, 1467, - 1051, 814, 1217, 812, 1174, 1271, 863, 1187, 1461, 644, 1308, 1154, - 1263, 1225, 1121, 867, 1110, 1157, 1139, 989, 1033, 1270, 1163, 1170, - 1037, 880, 803, 1098, 807, 968, 1446, 1235, 1064, 1547, 979, 842, - 500, 838, 1398, 939, 916, 953, 920, 946, 851, 1428, 1210, 960, - 762, 1456, 1519, 1384, 898, 1361, 995, 1100, 1508, 856, 1284, 553, - 1330, 1249, 1258, 1020, 764, 1165, 1179, 1047, 1056, 1285, 1266, 1286, - 853, 1397, 1515, 987, 547, 1296, 1215, 965, 489, 1444, 800, 849, - 1300, 1242, 662, 1085, 818, 918, 748, 954, 1024, 1022, 954, 1109, - 1218, 821, 1431, 1587, 1315, 1081, 1140, 754, 943, 1371, 1003, 840, - 1475, 722, 1081, 1033, 1216, 1254, 1175, 1122, 1203, 728, 488, 1189, - 1377, 1136, 907, 1267, 1416, 751, 1169, 1101, 1289, 1241, 597, 1322, - 1625, 1332, 961, 985, 915, 1128, 1069, 764, 1175, 1177, 1156, 889, - 1075, 1088, 1251, 1031, 738, 1523, 1229, 994, 1489, 637, 1185, 1651, - 1112, 680, 1608, 1197, 513, 1538, 978, 1040, 1000, 1432, 1030, 887, - 833, 1057, 1094, 1565, 1190, 696, 1178, 1556, 1045, 1307, 1294, 1436, - 1096, 747, 1485, 1128, 1430, 664, 1653, 1180, 1597, 1167, 1452, 776, - 1341, 1305, 1142, 1418, 849, 562, 1247, 998, 1391, 1161, 941, 1387, - 912, 1149, 1078, 1029, 1141, 1197, 582, 701, 961, 1423, 1195, 1674, - 1205, 964, 1633, 929, 1127, 1571, 1581, 1291, 681, 1272, 781, 981, - 783, 765, 1295, 974, 1015, 1516, 873, 1324, 482, 1262, 1371, 1648, - 1101, 1240, 1115, 837, 1048, 1301, 763, 1260, 1229, 1426, 1316, 1208, - 963, 1083, 1125, 992, 882, 1034, 467, 1176, 1429, 1610, 1452, 1376, - 753, 1184, 1239, 777, 1291, 1264, 1223, 659, 1378, 797, 1632, 1071, - 575, 1099, 926, 801, 1042, 1322, 1111, 1234, 1112, 979, 962, 993, - 713, 1271, 1008, 1533, 653, 999, 746, 876, 751, 1123, 1319, 693, - 1354, 1209, 1207, 1159, 1250, 1192, 1385, 1350, 952, 1543, 1020, 1067, - 1632, 1119, 1635, 1165, 1161, 1483, 1347, 983, 669, 796, 1412, 1684, - 1374, 886, 1468, 1479, 1594, 1781, 1113, 1274, 969, 1343, 1403, 1261, - 1440, 681, 1424, 1216, 1207, 1210, 1172, 1325, 935, 1414, 1123, 1287, - 1158, 1032, 1589, 1554, 1326, 562, 1313, 949, 1296, 1760, 1260, 1552, - 1129, 1422, 1258, 1542, 1525, 1253, 1089, 1255, 1131, 1220, 1652, 869, - 1410, 1351, 1266, 1518, 868, 884, 1302, 1486, 1362, 1185, 1652, 1172, - 1205, 1388, 1479, 1270, 1224, 1297, 1138, 817, 1170, 1214, 1240, 1153, - 1551, 817, 915, 1553, 1319, 1496, 717, 1194, 850, 1091, 1256, 1541, - 1039, 561, 1358, 938, 1707, 1557, 1368, 1160, 1342, 1404, 1515, 1435, - 727, 790, 1396, 854, 891, 1783, 1365, 1271, 1183, 1400, 1205, 1367, - 1068, 794, 1006, 803, 1485, 1164, 1422, 1502, 1334, 1359, 1215, 1698, - 1042, 1204, 1028, 1458, 1550, 1600, 1111, 1700, 1132, 992, 1134, 1430, - 1049, 1731, 1323, 1555, 1228, 1456, 1099, 1545, 1091, 1685, 1445, 857, - 1612, 735, 1126, 946, 1168, 1399, 1222, 1192, 1373, 1575, 1317, 1073, - 1506, 1143, 1440, 1438, 1263, 1105, 1327, 1256, 1126, 1619, 1265, 924, - 961, 1023, 866, 1070, 1437, 1132, 1487, 1675, 1333, 1423, 1182, 1295, - 1683, 939, 1154, 1617, 1212, 1665, 1414, 1107, 1534, 1282, 1402, 1485, - 1096, 1059, 1495, 981, 1235, 1381, 1017, 1240, 1534, 875, 1561, 1279, - 1354, 1353, 1396, 1243, 1547, 1356, 1166, 1181, 1343, 1285, 1247, 1255, - 1357, 975, 919, 1318, 988, 1477, 1521, 1358, 1206, 1549, 1146, 1117, - 1305, 1019, 1406, 982, 942, 1014, 1075, 1004, 860, 1512, 1241, 1053, - 858, 1620, 1527, 1415, 1251, 1497, 1108, 1166, 1667, 967, 1434, 665, - 1335, 1313, 1406, 1283, 902, 1362, 1358, 1501, 1222, 1427, 1280, 1309, - 984, 1647, 1573, 1449, 618, 1328, 1310, 1120, 844, 1739, 1424, 1246, - 1474, 1561, 699, 1277, 826, 1386, 1257, 1227, 1056, 1189, 975, 1125, - 1329, 917, 1464, 1784, 1405, 1152, 1153, 935, 1092, 1464, 1040, 907, - 1592, 1428, 1136, 1063, 1420, 1390, 1251, 1217, 1268, 1143, 708, 1603, - 1407, 1160, 1207, 1340, 1488, 998, 1315, 1344, 1300, 1365, 1134, 1401, - 1629, 1366, 1008, 1013, 1211, 1179, 1188, 825, 1262, 1393, 1469, 1173, - 1077, 1248, 1417, 1095, 907, 1654, 1320, 1065, 1598, 799, 1601, 1656, - 1190, 714, 1754, 1595, 651, 1647, 1063, 1397, 1157, 1481, 1237, 1060, - 1482, 1287, 1192, 1618, 1394, 1259, 1558, 1635, 1162, 1377, 1803, 1492, - 1476, 774, 1626, 1420, 1504, 689, 1687, 1372, 1616, 1199, 1471, 934, - 1342, 1351, 1261, 1442, 923, 723, 1361, 1084, 1450, 1233, 1011, 1389, - 1338, 1186, 1340, 1110, 1327, 1225, 690, 1483, 1064, 1443, 1258, 1697, - 1213, 966, 1687, 1161, 1314, 1605, 1877, 1477, 747, 1280, 1028, 1138, - 820, 782, 1560, 1038, 1592, 1517, 894, 1586, 568, 1276, 1379, 1753, - 1230, 1749, 1122, 1458, 1080, 1526, 1411, 1309, 1332, 1430, 1381, 1255, - 1648, 1248, 1267, 1459, 914, 1085, 1184, 1180, 1459, 1629, 1463, 1378, - 845, 1343, 1415, 1037, 1292, 1336, 1431, 734, 1426, 1193, 1688, 1279, - 940, 1313, 1036, 1155, 1099, 1406, 1490, 1326, 1556, 1069, 1005, 1142, - 1010, 1273, 1312, 1546, 761, 1624, 1065, 921, 1055, 1134, 1518, 839, - 1435, 1234, 1244, 1238, 1297, 1254, 1494, 1484, 1145, 1604, 1404, 1289, - 1645, 1131, 1658, 1198, 1392, 1557, 1667, 1082, 972, 918, 1432, 1701, - 1637, 1312, 1579, 1680, 1864, 1825, 1194, 1457, 1370, 1411, 1479, 1398, - 1510, 1049, 1447, 1576, 1252, 1290, 1360, 1679, 1070, 1506, 1699, 1359, - 1204, 1222, 1818, 1596, 1363, 834, 1383, 1513, 1499, 1766, 1646, 1629, - 1328, 1423, 1460, 1640, 1923, 1302, 1216, 1364, 1369, 1233, 1739, 1031, - 1624, 1505, 1434, 1630, 1451, 1196, 1548, 1527, 1454, 1520, 1707, 1407, - 1467, 1561, 1604, 1319, 1543, 1456, 1374, 881, 1453, 1323, 1735, 1246, - 1660, 1381, 1188, 1709, 1391, 1532, 771, 1264, 851, 1219, 1322, 1639, - 1144, 960, 1615, 1136, 1732, 1690, 1371, 1433, 1377, 1459, 1571, 1447, - 1058, 1245, 1451, 1053, 949, 1894, 1531, 1305, 1253, 1493, 1303, 1380, - 1581, 1330, 1082, 1036, 1541, 1520, 1437, 1585, 1359, 1425, 1410, 1857, - 1465, 1239, 1208, 1585, 1642, 1807, 1743, 1710, 1167, 1135, 1465, 1513, - 1175, 1759, 1524, 1655, 1348, 1471, 1150, 1581, 1917, 1694, 1545, 911, - 1622, 852, 1348, 1191, 1261, 1410, 1491, 1237, 1401, 1822, 1325, 1457, - 1668, 1236, 1449, 1698, 1270, 1392, 1418, 1486, 1133, 1797, 1503, 1041, - 1198, 1392, 1041, 1632, 1621, 1311, 1638, 1832, 1364, 1452, 1499, 1472, - 1913, 1295, 1208, 1766, 1369, 1780, 1541, 1462, 1545, 1336, 1569, 1693, - 1385, 1276, 1547, 1266, 1338, 1505, 1029, 1493, 1670, 958, 1572, 1607, - 1446, 1634, 1530, 1414, 1704, 1552, 1441, 1653, 1480, 1310, 1712, 1347, - 1403, 1408, 951, 1360, 1213, 1562, 1710, 1419, 1528, 1589, 1443, 1345, - 1636, 1071, 1637, 1026, 1644, 1030, 1638, 1221, 1119, 1570, 1712, 1253, - 989, 1742, 1790, 1537, 1619, 1508, 1150, 1326, 1926, 1470, 1702, 940, - 1733, 1362, 1429, 1299, 938, 1606, 1453, 1568, 1335, 1738, 1564, 1312, - 1275, 1718, 1575, 1528, 937, 1491, 1415, 1179, 900, 1843, 1471, 1345, - 1536, 1573, 930, 1301, 1020, 1482, 1412, 1274, 1105, 1347, 1344, 1764, - 1729, 1062, 1563, 1843, 1532, 1228, 1302, 1273, 1397, 1591, 1391, 1052, - 1662, 1470, 1181, 1425, 1427, 1578, 1263, 1395, 1292, 1317, 899, 1808, - 1539, 1650, 1231, 1376, 1515, 1001, 1330, 1603, 1331, 1419, 1369, 1444, - 1709, 1374, 1068, 1019, 1306, 1298, 1293, 1011, 1831, 1502, 1590, 1238, - 1148, 1269, 1555, 1114, 1036, 1740, 1325, 1405, 1670, 1062, 1773, 1688, - 1335, 1476, 1827, 1723, 820, 1748, 1072, 1536, 1398, 1732, 1587, 1400, - 1529, 1355, 1304, 1651, 1722, 1268, 1673, 1800, 1178, 1503, 1847, 1656, - 1497, 1595, 1689, 1576, 1740, 963, 1822, 1393, 1743, 1246, 1499, 1106, - 1356, 1387, 1367, 1745, 1009, 780, 1458, 1206, 1673, 1250, 1662, 1611, - 1555, 1193, 1353, 1597, 1559, 1445, 1187, 1677, 1155, 1464, 1497, 1713, - 1357, 1450, 1696, 1257, 1339, 1685, 1894, 1615, 1733, 1315, 1364, 1363, - 1418, 1123, 1738, 1445, 1620, 1660, 1156, 1599, 926, 1507, 1640, 1763, - 1289, 1791, 1648, 1601, 1321, 1544, 1577, 1683, 1376, 1543, 1540, 1361, - 1666, 1273, 1433, 1504, 993, 1265, 1288, 1454, 1482, 1736, 1481, 1439, - 1286, 1467, 1461, 1474, 1510, 1489, 1681, 934, 1643, 1606, 1791, 1491, - 1341, 1429, 1127, 1227, 1299, 1600, 1904, 1395, 1588, 1084, 1057, 1183, - 1252, 1283, 1478, 1611, 1320, 1851, 1355, 1223, 1147, 1403, 1576, 1035, - 1460, 1260, 1641, 1538, 1368, 1475, 1511, 1672, 1329, 1764, 1426, 1353, - 1691, 1214, 1915, 1247, 1538, 1658, 1716, 1689, 1000, 986, 1884, 1975, - 1730, 1899, 1623, 1834, 1981, 1952, 1473, 1490, 1529, 1557, 1748, 1544, - 1617, 1720, 1690, 1667, 1630, 1641, 1678, 1750, 1367, 1525, 1786, 1447, - 1395, 1390, 1826, 1598, 1427, 861, 1582, 1658, 1878, 1768, 1651, 1699, - 1532, 1498, 1529, 1765, 1939, 1384, 1723, 1872, 1758, 1438, 1742, 1093, - 1657, 1759, 1650, 1634, 1519, 1290, 1569, 1573, 1591, 1643, 1928, 1411, - 1786, 1582, 1661, 1521, 1657, 1609, 1633, 972, 1468, 1644, 1776, 1388, - 1692, 1409, 1278, 1812, 1631, 1873, 1310, 1272, 1109, 1333, 1522, 1722, - 1612, 1048, 1741, 1674, 1755, 1711, 1568, 1437, 1484, 1567, 1746, 1583, - 1148, 1307, 1570, 1314, 950, 1906, 1654, 1379, 1494, 1518, 1455, 1393, - 1703, 1390, 1606, 1226, 1669, 1580, 1692, 1719, 1366, 1438, 1433, 1982, - 1514, 1676, 1609, 1742, 1690, 1819, 1763, 1730, 1321, 1566, 2031, 1680, - 1741, 1839, 1762, 1925, 1536, 1524, 1283, 1723, 1924, 1706, 1558, 1375, - 1758, 1417, 1691, 1350, 1727, 1475, 1537, 1457, 1506, 1917, 1386, 1695, - 1753, 1355, 1756, 1775, 1613, 1563, 1425, 1488, 1176, 1827, 1556, 1131, - 1349, 1448, 1281, 1749, 1664, 1572, 1744, 1860, 1813, 1762, 1642, 1689, - 1928, 1570, 1878, 1890, 1739, 1809, 1799, 1663, 1591, 1495, 1695, 1762, - 1580, 1306, 1879, 1462, 1413, 1637, 1078, 1567, 1785, 1078, 1659, 1801, - 1530, 1769, 1579, 1549, 1747, 1682, 1796, 1668, 1727, 1822, 1836, 1378, - 1551, 1501, 1810, 1478, 1278, 1574, 1764, 1533, 1627, 1714, 1489, 1480, - 1726, 1584, 1643, 1387, 1655, 1058, 1720, 1370, 1595, 1795, 1832, 1843, - 1212, 1871, 1840, 1886, 1831, 1720, 1272, 1765, 1956, 1496, 1855, 1144, - 1830, 1404, 1593, 1507, 967, 1768, 1671, 1842, 1469, 1829, 1593, 1621, - 1516, 1763, 1612, 1982, 1124, 1613, 1715, 1375, 1311, 1844, 1509, 1448, - 1542, 1660, 1005, 1490, 1408, 1620, 1707, 1277, 1568, 1373, 1887, 1827, - 1778, 1510, 1782, 1886, 1537, 1424, 1402, 1282, 1496, 1681, 1649, 1286, - 1858, 1566, 1622, 1972, 1562, 1868, 1316, 1754, 1725, 1559, 1086, 1873, - 1594, 1792, 1351, 1579, 1889, 1043, 1380, 1789, 1588, 1481, 1487, 1650, - 1717, 1602, 1413, 1226, 1370, 1368, 1346, 1493, 1902, 1554, 1713, 1564, - 1244, 1432, 1597, 1328, 1285, 1828, 1484, 1466, 1719, 1550, 1909, 1854, - 1582, 1596, 1903, 1751, 1530, 1905, 1227, 1771, 1605, 1807, 1777, 1738, - 1592, 1460, 1507, 1708, 1745, 1385, 1686, 1869, 1277, 1517, 1867, 1776, - 1846, 1809, 1803, 1674, 1748, 1191, 1837, 1420, 1754, 1274, 1644, 1201, - 1366, 1450, 1402, 1757, 1140, 1500, 1465, 1509, 1793, 1352, 1804, 1702, - 1560, 1431, 1549, 1679, 1769, 1615, 1229, 1740, 1775, 1534, 1498, 1757, - 1416, 1567, 1711, 1360, 1472, 1705, 1923, 1782, 1746, 1767, 1575, 1531, - 1628, 1772, 1868, 1771, 1628, 1719, 1287, 1623, 1900, 1709, 1703, 1840, - 1382, 1841, 1808, 1860, 1788, 1652, 1687, 1810, 1488, 1661, 1867, 1476, - 1785, 1646, 1468, 1611, 1159, 1492, 1291, 1463, 1716, 1778, 1669, 1448, - 1539, 1633, 1511, 1523, 1672, 1821, 1718, 1349, 1875, 1659, 1835, 1558, - 1520, 1670, 1639, 1540, 1885, 1779, 1972, 1531, 1874, 1627, 1202, 1639, - 1553, 1540, 1539, 1646, 1439, 1856, 1444, 1279, 1241, 1952, 1701, 1280, - 1616, 1332, 1692, 1664, 1373, 1781, 1733, 1995, 1571, 1777, 1593, 1578, - 1869, 1233, 1916, 1504, 1849, 1704, 1729, 1896, 1953, 1449, 1899, 2007, - 1744, 2003, 1875, 1935, 2016, 1993, 1527, 1788, 1734, 1726, 1823, 1636, - 1619, 1734, 1755, 1829, 1773, 1799, 1700, 1947, 1938, 1647, 1789, 1550, - 1396, 1590, 1964, 1951, 1634, 1066, 1856, 1717, 1988, 1791, 1664, 1977, - 1544, 1715, 1563, 1801, 1988, 1725, 1815, 1921, 1897, 1442, 1831, 1217, - 1752, 1866, 1861, 1659, 1706, 1724, 1678, 1714, 1724, 1958, 2036, 1487, - 1978, 1657, 1997, 1800, 1895, 1708, 1811, 1678, 1705, 1962, 1927, 1699, - 1694, 1625, 1501, 1844, 1686, 1958, 1614, 1307, 1129, 1407, 1683, 1835, - 1800, 1152, 1793, 1879, 1820, 1747, 1598, 1922, 1553, 1768, 1811, 1838, - 1290, 1953, 1781, 1610, 1626, 1936, 1751, 1665, 1584, 1823, 1816, 1758, - 1932, 1454, 1793, 1436, 1817, 1675, 1697, 1927, 1655, 1546, 1677, 2003, - 1666, 1735, 1811, 1808, 1813, 1834, 1850, 1821, 1565, 1975, 2045, 1816, - 1809, 1951, 1862, 2048, 1911, 1686, 1441, 1878, 1976, 1865, 1906, 1608, - 1871, 1469, 1803, 1932, 1798, 1862, 1881, 1577, 1802, 1979, 1455, 1977, - 1820, 1495, 1816, 1907, 1784, 1774, 1789, 1743, 1533, 1830, 1684, 1201, - 1548, 1566, 1334, 1776, 1724, 1752, 1880, 1908, 1863, 1898, 1925, 1693, - 2033, 1799, 1910, 1893, 1928, 1833, 1841, 1706, 1801, 1599, 1737, 1934, - 1688, 2035, 1885, 1796, 1807, 1881, 1419, 1901, 1948, 1137, 1685, 1848, - 1624, 1829, 1868, 1630, 1819, 1772, 1946, 1787, 1805, 1941, 1854, 1554, - 1722, 1729, 1877, 1863, 1736, 1626, 1918, 1631, 1628, 1986, 1616, 1679, - 1820, 1869, 1756, 1662, 1876, 1380, 1815, 1914, 1680, 1956, 1870, 1947, - 1421, 1886, 1936, 1911, 1918, 1728, 1346, 1769, 2021, 1601, 1912, 1548, - 1835, 1502, 1605, 1927, 1372, 1865, 1673, 1891, 1494, 1882, 1779, 1814, - 1940, 1806, 1759, 2011, 1441, 1623, 1846, 1514, 1663, 2033, 1552, 1819, - 1574, 1850, 1671, 1702, 1757, 1756, 1836, 1384, 1980, 1640, 2038, 2006, - 1794, 1805, 1785, 1955, 1580, 1930, 1583, 1526, 1523, 1833, 1725, 1462, - 1883, 1682, 1794, 1995, 1892, 1874, 1349, 1818, 1730, 1604, 1170, 1890, - 1777, 1806, 1701, 1589, 1911, 1254, 1526, 1942, 1825, 1514, 1966, 1780, - 1864, 1671, 1817, 1677, 1443, 1855, 1569, 1922, 1934, 1712, 1931, 1765, - 1888, 1463, 1627, 1505, 1492, 1870, 1590, 1565, 1922, 1698, 1956, 1985, - 2006, 1635, 1931, 1899, 1600, 1973, 1268, 1823, 1710, 1867, 1916, 1804, - 1642, 1466, 1767, 1832, 1996, 1672, 1824, 1921, 1924, 1838, 1904, 1908, - 1861, 1960, 1998, 1728, 1760, 1394, 1993, 1546, 1974, 1525, 1847, 1202, - 1613, 1453, 1602, 1826, 1875, 1594, 1596, 1753, 1970, 1478, 2055, 1853, - 1713, 1474, 1797, 1682, 1943, 1745, 1830, 1814, 1897, 1621, 1817, 1802, - 1617, 1649, 1978, 1500, 1483, 1804, 2040, 1983, 1775, 1893, 1636, 1896, - 1774, 1784, 1903, 1782, 1783, 1852, 1894, 1770, 1924, 2020, 1926, 1929, - 1714, 2009, 1989, 1865, 1898, 1737, 1945, 1847, 1696, 1767, 1907, 1715, - 1849, 1967, 1694, 1747, 1337, 1608, 1363, 1676, 1734, 1859, 1755, 1470, - 1584, 1957, 1919, 1528, 1788, 1900, 1741, 1508, 1971, 1749, 1937, 1970, - 1941, 1794, 1693, 1721, 1991, 1915, 1997, 1824, 1942, 1996, 1236, 1669, - 1887, 1654, 1982, 1898, 1761, 1883, 1700, 1521, 1681, 2011, 1751, 1281, - 1684, 1607, 1845, 1860, 1524, 1844, 1901, 1999, 1760, 1940, 1705, 1736, - 1987, 1721, 2033, 2024, 1990, 2047, 1965, 2018, 2044, 1473, 1920, 2030, - 1968, 2045, 2025, 1995, 2054, 2017, 1559, 1876, 1891, 1871, 2013, 1949, - 1821, 1892, 1834, 1946, 1778, 1880, 1864, 2042, 2016, 2026, 1945, 2031, - 1574, 1853, 1980, 2034, 2056, 2012, 1912, 1812, 2031, 1836, 1992, 2058, - 1941, 1814, 2007, 2051, 2048, 2044, 1880, 1926, 2047, 1761, 1839, 1365, - 1772, 1986, 1985, 1905, 2060, 1909, 1857, 1944, 1826, 2000, 2050, 2023, - 2020, 1931, 2023, 2043, 2005, 1967, 1872, 1907, 1944, 1981, 1965, 1999, - 1711, 1916, 1517, 1958, 1954, 2023, 1961, 2064, 1798, 1577, 1930, 1896, - 1859, 1382, 1987, 2039, 2037, 1787, 1666, 1984, 1602, 1933, 2008, 2057, - 1338, 1976, 2038, 1971, 1950, 1954, 1991, 1828, 1695, 1845, 1873, 1889, - 2037, 1641, 1961, 1731, 1884, 1881, 1914, 1978, 1783, 1925, 1882, 2010, - 2062, 1846, 1921, 2029, 2046, 1910, 2026, 1953, 1607, 2063, 2059, 2000, - 1884, 2008, 2014, 2052, 2015, 1848, 1716, 2003, 2036, 2006, 1932, 1973, - 1976, 1522, 2028, 2059, 1917, 1947, 2027, 1954, 1964, 2059, 2035, 1999, - 1910, 1893, 1877, 1933, 1934, 2019, 1858, 1990, 2037, 1876, 1903, 1792, - 1966, 2025, 1509, 1853, 1908, 1837, 2044, 1914, 1938, 1913, 2004, 1824, - 2047, 1856, 1938, 2032, 2022, 1870, 1912, 1779, 2039, 2049, 1761, 1983, - 1950, 2054, 2002, 1959, 1848, 1919, 1790, 1993, 1967, 1900, 1718, 1897, - 2019, 2051, 2053, 1838, 1930, 1918, 2015, 2036, 1904, 1962, 1890, 1852, - 1845, 2009, 2050, 2004, 2032, 1883, 2057, 2028, 2040, 2056, 1851, 1737, - 1939, 1872, 1939, 1975, 1988, 1676, 1919, 1994, 2019, 1984, 1885, 2005, - 1812, 2008, 2040, 1957, 2028, 1842, 2032, 2039, 2062, 1828, 1992, 1746, - 1841, 1980, 1940, 1994, 1416, 1937, 1866, 1996, 1866, 1929, 2013, 1815, - 2064, 1959, 2012, 2022, 1735, 1727, 1950, 1981, 1991, 2043, 1929, 1920, - 1578, 1859, 1960, 1949, 1852, 1955, 1966, 2018, 2063, 1656, 2055, 2041, - 1969, 2046, 1905, 2017, 1726, 1943, 1717, 2009, 1802, 2062, 1750, 1675, - 1990, 1963, 1795, 2061, 1998, 2042, 1770, 2049, 1862, 1668, 2056, 2000, - 1987, 2002, 1797, 1882, 1963, 1512, 1708, 1949, 1901, 1935, 1997, 1971, - 2017, 2054, 1920, 1691, 1585, 2001, 2005, 1963, 2015, 1933, 2026, 1909, - 1913, 1704, 1798, 1962, 1610, 2024, 1969, 1810, 1994, 1703, 2055, 2021, - 2030, 2024, 1986, 1906, 1825, 2002, 1770, 1855, 1837, 2014, 2010, 1849, - 1697, 1661, 1863, 1935, 2052, 1957, 2058, 1937, 2061, 2035, 2045, 1984, - 1888, 1965, 2058, 1854, 2007, 1842, 2060, 1888, 1989, 1599, 2014, 1638, - 2027, 1731, 2012, 1891, 1936, 1614, 1618, 1806, 2030, 1586, 2057, 1968, - 1974, 1477, 1959, 1840, 1973, 1970, 1955, 1951, 1998, 1985, 1892, 1818, - 1874, 1961, 2046, 1989, 1960, 2041, 2049, 2001, 1948, 2048, 1983, 1944, - 1790, 2042, 2051, 1992, 1923, 2041, 1952, 1972, 1945, 2029, 1948, 1974, - 1943, 2038, 2050, 1942, 1968, 1805, 1977, 2004, 1752, 1787, 1915, 1732, - 2063, 2021, 1766, 1946, 1618, 1858, 2025, 1857, 1773, 1895, 1833, 1887, - 1744, 1979, 2010, 1850, 2061, 2016, 1780, 1586, 2027, 1969, 2034, 1979, - 2018, 1813, 1839, 1902, 2013, 2011, 2052, 1851, 2029, 2064, 1386, 1750, - 1902, 1771, 2034, 2001, 1795, 2053, 1792, 1631, 1964, 2053, 1796, 1409, - 1774, 1721, 1889, 1879, 1728, 2020, 2043, 2060, 1895, 2022, 1861, 1786}; - -const uint16_t H_2064_516_sparse_H_cols[] = { - 208, 242, 84, 114, 314, 135, 349, 90, 64, 57, 26, 52, 16, 142, 120, - 244, 167, 164, 133, 179, 22, 180, 413, 161, 224, 121, 57, 22, 394, 17, - 9, 54, 84, 20, 98, 311, 322, 308, 86, 91, 77, 41, 110, 192, 18, - 11, 210, 133, 248, 276, 389, 100, 37, 4, 239, 15, 32, 15, 7, 10, - 109, 82, 19, 50, 137, 278, 43, 181, 89, 206, 113, 285, 10, 95, 12, - 180, 23, 93, 100, 124, 200, 130, 81, 149, 6, 251, 181, 227, 156, 215, - 194, 284, 206, 177, 171, 174, 40, 136, 187, 89, 98, 156, 44, 30, 48, - 78, 349, 126, 56, 3, 212, 43, 111, 183, 63, 54, 35, 63, 333, 158, - 96, 100, 270, 38, 97, 4, 139, 163, 67, 251, 139, 42, 214, 117, 26, - 98, 132, 105, 13, 61, 330, 223, 183, 95, 295, 95, 55, 29, 65, 35, - 75, 130, 8, 98, 344, 46, 239, 155, 131, 75, 246, 3, 44, 260, 199, - 21, 99, 118, 76, 8, 87, 271, 257, 171, 98, 44, 255, 17, 276, 91, - 50, 21, 90, 262, 118, 208, 214, 35, 140, 159, 58, 277, 158, 180, 53, - 93, 58, 264, 40, 98, 4, 284, 183, 24, 7, 123, 133, 57, 223, 124, - 156, 202, 34, 324, 67, 452, 63, 123, 303, 303, 169, 40, 32, 24, 32, - 5, 220, 218, 103, 222, 113, 111, 100, 30, 146, 266, 4, 195, 14, 55, - 145, 37, 40, 18, 184, 188, 267, 38, 116, 35, 60, 53, 133, 58, 9, - 296, 63, 57, 30, 17, 86, 157, 105, 29, 73, 285, 122, 9, 31, 199, - 347, 73, 55, 135, 86, 2, 42, 67, 119, 21, 351, 35, 213, 173, 61, - 176, 194, 109, 72, 77, 273, 133, 244, 90, 313, 220, 27, 192, 63, 299, - 208, 202, 3, 66, 14, 19, 127, 68, 348, 246, 26, 87, 75, 20, 215, - 93, 212, 180, 149, 114, 133, 48, 235, 17, 247, 257, 42, 149, 57, 363, - 75, 334, 67, 97, 29, 109, 241, 59, 332, 15, 228, 6, 186, 81, 271, - 31, 103, 122, 150, 105, 110, 92, 277, 213, 358, 37, 100, 129, 46, 367, - 118, 26, 115, 211, 3, 77, 217, 23, 24, 145, 70, 48, 68, 179, 112, - 30, 110, 177, 14, 97, 68, 66, 103, 105, 83, 231, 29, 383, 45, 64, - 42, 32, 201, 269, 67, 9, 149, 3, 34, 86, 373, 51, 409, 130, 39, - 80, 177, 118, 34, 248, 175, 50, 37, 76, 14, 7, 122, 49, 262, 27, - 79, 102, 295, 113, 26, 111, 135, 10, 356, 97, 21, 2, 129, 451, 140, - 60, 42, 191, 33, 152, 25, 279, 99, 22, 124, 168, 305, 34, 104, 224, - 154, 50, 71, 97, 60, 209, 73, 57, 10, 322, 159, 375, 104, 17, 273, - 374, 81, 121, 160, 157, 411, 88, 236, 166, 88, 53, 164, 135, 36, 375, - 291, 211, 4, 233, 84, 94, 47, 29, 10, 306, 54, 183, 16, 128, 42, - 86, 96, 488, 31, 109, 150, 42, 332, 110, 315, 44, 321, 82, 109, 235, - 80, 212, 35, 128, 80, 215, 7, 115, 44, 102, 281, 86, 27, 79, 280, - 33, 227, 142, 113, 104, 102, 281, 161, 238, 197, 106, 111, 72, 163, 76, - 41, 58, 4, 46, 45, 122, 281, 219, 52, 53, 45, 66, 264, 69, 37, - 16, 138, 221, 176, 176, 98, 42, 75, 92, 80, 158, 163, 71, 26, 49, - 109, 108, 70, 85, 378, 186, 178, 9, 12, 4, 74, 25, 65, 207, 8, - 339, 5, 45, 205, 163, 234, 14, 56, 77, 62, 185, 55, 89, 19, 228, - 117, 113, 80, 9, 8, 38, 74, 10, 112, 32, 205, 8, 242, 142, 119, - 26, 158, 28, 148, 54, 69, 28, 81, 91, 142, 78, 158, 49, 66, 45, - 179, 249, 91, 90, 219, 153, 339, 90, 14, 56, 60, 392, 9, 162, 274, - 102, 79, 89, 206, 114, 365, 2, 232, 172, 36, 8, 14, 317, 173, 65, - 2, 37, 112, 273, 38, 179, 107, 244, 9, 173, 67, 141, 265, 156, 96, - 102, 158, 77, 96, 331, 2, 102, 302, 94, 23, 93, 92, 408, 95, 229, - 2, 25, 326, 62, 82, 166, 185, 7, 170, 15, 30, 216, 93, 94, 186, - 24, 124, 268, 36, 108, 156, 448, 65, 134, 356, 79, 91, 165, 63, 30, - 123, 56, 164, 97, 348, 262, 72, 294, 3, 33, 36, 143, 79, 31, 158, - 124, 46, 131, 115, 103, 33, 280, 22, 69, 80, 343, 386, 295, 107, 39, - 122, 18, 215, 78, 166, 136, 163, 222, 5, 405, 196, 253, 401, 78, 138, - 184, 190, 131, 5, 141, 91, 84, 10, 210, 184, 171, 39, 20, 283, 92, - 337, 257, 172, 160, 28, 134, 170, 18, 110, 108, 85, 21, 62, 122, 23, - 10, 128, 161, 152, 156, 65, 249, 124, 191, 282, 139, 220, 238, 24, 60, - 66, 41, 196, 185, 68, 72, 51, 121, 12, 218, 13, 101, 89, 93, 298, - 293, 197, 201, 332, 36, 128, 160, 182, 42, 19, 53, 259, 116, 331, 131, - 84, 125, 43, 285, 79, 112, 66, 66, 288, 93, 93, 158, 87, 104, 134, - 131, 156, 58, 33, 6, 42, 16, 130, 182, 354, 141, 12, 65, 60, 1, - 169, 175, 82, 44, 82, 108, 17, 69, 28, 29, 80, 145, 25, 66, 88, - 14, 64, 290, 160, 46, 113, 1, 251, 55, 61, 185, 199, 153, 13, 237, - 150, 269, 5, 100, 126, 243, 312, 56, 219, 203, 156, 144, 164, 161, 87, - 236, 203, 10, 216, 13, 166, 239, 19, 141, 51, 284, 61, 11, 75, 205, - 31, 128, 49, 2, 33, 5, 135, 100, 194, 78, 154, 245, 51, 321, 121, - 160, 114, 74, 44, 113, 59, 259, 6, 49, 144, 6, 22, 214, 171, 98, - 181, 225, 368, 8, 274, 154, 262, 234, 21, 19, 352, 9, 165, 20, 90, - 85, 255, 367, 174, 29, 145, 43, 1, 3, 153, 10, 280, 77, 221, 12, - 11, 142, 370, 143, 116, 145, 223, 330, 36, 9, 157, 99, 271, 88, 291, - 49, 89, 47, 94, 394, 344, 305, 38, 30, 39, 6, 129, 1, 242, 268, - 200, 298, 182, 297, 175, 27, 117, 135, 108, 246, 60, 38, 225, 48, 12, - 124, 229, 55, 50, 311, 70, 133, 119, 151, 199, 73, 70, 98, 26, 76, - 99, 154, 112, 76, 236, 273, 22, 109, 206, 61, 34, 146, 292, 132, 254, - 42, 1, 121, 310, 33, 41, 49, 168, 226, 247, 459, 47, 211, 187, 41, - 58, 8, 388, 359, 129, 83, 129, 190, 55, 189, 48, 258, 60, 58, 13, - 205, 263, 232, 151, 96, 77, 31, 53, 64, 174, 197, 200, 25, 93, 191, - 139, 217, 5, 117, 51, 212, 72, 28, 2, 236, 114, 320, 35, 106, 74, - 28, 425, 282, 49, 132, 2, 82, 47, 143, 142, 100, 25, 79, 43, 24, - 23, 399, 92, 97, 290, 31, 69, 109, 165, 83, 41, 98, 84, 195, 319, - 347, 222, 37, 39, 104, 5, 196, 207, 47, 4, 223, 141, 32, 47, 81, - 96, 31, 68, 101, 145, 177, 85, 129, 271, 334, 224, 36, 117, 56, 70, - 410, 212, 87, 298, 361, 160, 164, 34, 19, 52, 66, 310, 4, 105, 40, - 180, 137, 263, 37, 73, 237, 29, 135, 20, 7, 336, 197, 68, 2, 131, - 28, 60, 88, 94, 58, 83, 38, 218, 7, 1, 71, 296, 149, 355, 146, - 179, 64, 2, 418, 155, 127, 76, 348, 54, 83, 251, 48, 27, 185, 32, - 84, 4, 89, 107, 360, 257, 29, 54, 318, 56, 95, 295, 51, 45, 47, - 24, 256, 173, 92, 154, 63, 255, 321, 132, 76, 116, 92, 308, 20, 52, - 178, 292, 87, 216, 275, 16, 152, 151, 165, 226, 276, 36, 1, 333, 30, - 428, 17, 136, 11, 192, 45, 40, 34, 268, 68, 292, 54, 85, 120, 116, - 206, 92, 99, 213, 91, 15, 14, 43, 112, 305, 319, 157, 136, 76, 25, - 141, 95, 82, 11, 32, 41, 74, 49, 301, 122, 128, 338, 94, 129, 265, - 71, 11, 109, 22, 328, 13, 105, 22, 196, 240, 198, 7, 146, 181, 115, - 62, 61, 218, 64, 170, 222, 15, 99, 36, 31, 258, 69, 41, 56, 60, - 129, 33, 103, 57, 21, 103, 127, 165, 13, 39, 328, 105, 228, 107, 120, - 86, 98, 27, 54, 205, 167, 244, 74, 238, 38, 89, 5, 120, 329, 37, - 37, 278, 24, 140, 118, 127, 203, 23, 106, 286, 243, 72, 152, 86, 61, - 22, 11, 6, 34, 256, 269, 158, 175, 211, 317, 253, 50, 50, 27, 130, - 454, 41, 250, 267, 144, 303, 11, 104, 63, 18, 124, 104, 58, 140, 25, - 151, 58, 239, 286, 155, 217, 27, 182, 10, 398, 65, 190, 81, 69, 119, - 78, 20, 136, 106, 51, 188, 200, 350, 303, 133, 53, 73, 15, 158, 262, - 150, 192, 10, 289, 162, 362, 234, 232, 16, 225, 334, 294, 6, 105, 125, - 68, 72, 176, 239, 20, 163, 353, 118, 117, 170, 90, 258, 50, 45, 88, - 87, 128, 85, 4, 62, 34, 268, 258, 183, 25, 146, 85, 44, 133, 107, - 140, 87, 64, 18, 70, 76, 95, 309, 147, 34, 308, 19, 237, 21, 217, - 115, 49, 177, 201, 88, 149, 163, 5, 325, 455, 96, 52, 77, 24, 152, - 130, 207, 67, 220, 36, 18, 48, 88, 40, 148, 179, 6, 155, 19, 138, - 74, 39, 51, 198, 141, 142, 106, 103, 67, 111, 107, 186, 68, 37, 166, - 28, 94, 289, 15, 126, 121, 43, 108, 117, 128, 406, 71, 333, 39, 38, - 69, 313, 267, 17, 249, 40, 351, 40, 202, 138, 262, 105, 324, 75, 267, - 123, 141, 156, 78, 112, 408, 97, 173, 91, 99, 239, 25, 376, 25, 254, - 185, 157, 15, 61, 71, 113, 237, 237, 48, 29, 89, 1, 79, 41, 3, - 24, 13, 187, 96, 52, 30, 137, 70, 82, 1, 47, 34, 444, 146, 63, - 47, 59, 154, 115, 129, 298, 61, 3, 64, 85, 75, 244, 12, 47, 101, - 103, 7, 169, 125, 213, 271, 378, 271, 100, 126, 134, 131, 31, 32, 16, - 310, 222, 95, 12, 154, 89, 391, 205, 8, 27, 1, 85, 192, 85, 117, - 140, 127, 132, 35, 31, 12, 263, 121, 6, 81, 65, 71, 78, 88, 140, - 85, 227, 347, 68, 50, 7, 44, 215, 128, 26, 2, 96, 55, 66, 54, - 22, 161, 258, 7, 13, 124, 101, 265, 21, 83, 233, 203, 274, 59, 354, - 99, 59, 139, 13, 377, 107, 102, 23, 184, 32, 115, 61, 169, 320, 27, - 171, 293, 57, 62, 46, 58, 147, 139, 235, 52, 46, 375, 46, 218, 319, - 368, 61, 29, 174, 172, 83, 325, 29, 200, 198, 18, 303, 114, 173, 213, - 35, 102, 20, 35, 211, 46, 180, 99, 301, 250, 208, 178, 93, 30, 76, - 52, 165, 159, 372, 225, 278, 138, 136, 145, 231, 79, 44, 137, 50, 55, - 119, 125, 39, 138, 101, 25, 166, 23, 192, 18, 39, 178, 116, 28, 178, - 59, 188, 198, 16, 96, 46, 186, 108, 59, 255, 199, 258, 252, 88, 118, - 134, 383, 150, 5, 139, 239, 228, 38, 227, 263, 43, 67, 175, 97, 188, - 63, 147, 189, 17, 154, 62, 370, 219, 1, 198, 22, 56, 90, 318, 15, - 20, 171, 45, 100, 30, 126, 131, 234, 11, 207, 254, 299, 349, 120, 196, - 21, 26, 170, 114, 77, 8, 57, 190, 11, 214, 212, 345, 179, 225, 64, - 114, 80, 185, 66, 138, 149, 43, 190, 127, 3, 3, 153, 222, 210, 11, - 56, 104, 53, 153, 130, 56, 83, 71, 274, 95, 74, 121, 106, 173, 16, - 114, 270, 33, 53, 267, 49, 332, 306, 68, 35, 28, 32, 213, 24, 113, - 40, 18, 9, 89, 294, 250, 256, 70, 208, 291, 91, 82, 314, 39, 7, - 181, 78, 13, 301, 405, 112, 316, 156, 393, 12, 110, 48, 73, 166, 39, - 17, 132, 204, 104, 63, 62, 1, 45, 393, 5, 115, 47, 18, 248, 16, - 272, 75, 317, 84, 70, 342, 207, 14, 191, 77, 154, 12, 107, 230, 132, - 280, 42, 23, 147, 149, 17, 18, 8, 174, 73, 261, 197, 72, 4, 15, - 34, 163, 159, 136, 12, 36, 196, 3, 40, 167, 71, 101, 111, 100, 237, - 300, 32, 76, 9, 14, 137, 6, 53, 202, 71, 52, 148, 219, 17, 299, - 41, 108, 48, 143, 65, 316, 133, 142, 92, 296, 323, 150, 211, 361, 261, - 422, 167, 212, 195, 50, 317, 406, 372, 360, 314, 399, 203, 136, 211, 56, - 195, 436, 229, 489, 295, 101, 109, 487, 184, 87, 279, 233, 399, 176, 470, - 433, 364, 197, 115, 194, 314, 423, 246, 98, 401, 291, 268, 272, 357, 458, - 298, 327, 21, 298, 299, 225, 220, 272, 51, 177, 93, 84, 403, 150, 336, - 275, 236, 476, 243, 261, 373, 330, 248, 310, 365, 155, 240, 144, 276, 229, - 292, 99, 175, 101, 317, 365, 297, 404, 260, 333, 417, 462, 434, 474, 444, - 119, 309, 261, 260, 344, 435, 80, 123, 257, 183, 358, 197, 78, 16, 264, - 260, 459, 195, 390, 147, 217, 467, 353, 165, 120, 151, 335, 83, 106, 28, - 326, 252, 70, 298, 182, 153, 300, 260, 122, 111, 143, 302, 135, 235, 362, - 236, 232, 287, 371, 309, 248, 248, 176, 215, 169, 183, 155, 140, 446, 91, - 277, 263, 234, 126, 376, 335, 162, 490, 398, 182, 105, 378, 469, 159, 119, - 457, 292, 249, 108, 59, 451, 20, 362, 228, 57, 306, 459, 301, 208, 329, - 357, 82, 396, 279, 137, 396, 272, 202, 396, 282, 120, 308, 389, 287, 43, - 311, 371, 59, 326, 125, 223, 190, 285, 134, 348, 219, 74, 343, 72, 455, - 367, 179, 368, 395, 267, 227, 59, 225, 65, 21, 300, 310, 266, 259, 362, - 168, 104, 69, 344, 417, 47, 335, 103, 126, 394, 41, 122, 166, 313, 265, - 438, 118, 265, 204, 316, 439, 142, 90, 180, 440, 281, 392, 312, 210, 137, - 189, 240, 247, 240, 320, 251, 157, 324, 208, 415, 245, 180, 262, 94, 141, - 191, 110, 165, 165, 361, 61, 488, 378, 138, 178, 229, 396, 157, 168, 397, - 266, 289, 240, 347, 299, 84, 451, 133, 391, 469, 324, 137, 116, 60, 365, - 207, 200, 472, 450, 428, 330, 139, 159, 223, 217, 330, 245, 234, 238, 418, - 391, 367, 308, 291, 304, 67, 244, 288, 382, 130, 461, 335, 118, 187, 334, - 324, 441, 462, 112, 445, 59, 214, 230, 372, 44, 106, 167, 181, 211, 193, - 148, 409, 264, 364, 353, 174, 263, 283, 406, 312, 349, 118, 455, 181, 259, - 323, 175, 33, 152, 299, 141, 320, 314, 131, 62, 235, 335, 231, 340, 244, - 425, 169, 311, 497, 241, 37, 436, 117, 184, 294, 157, 350, 301, 94, 162, - 273, 13, 182, 101, 486, 341, 434, 322, 74, 144, 284, 139, 111, 403, 214, - 52, 323, 327, 172, 227, 230, 208, 277, 221, 120, 409, 339, 123, 223, 252, - 209, 237, 429, 295, 253, 35, 162, 454, 243, 199, 295, 385, 360, 241, 170, - 390, 175, 402, 198, 288, 397, 275, 330, 267, 161, 341, 283, 193, 62, 258, - 162, 254, 259, 374, 408, 415, 268, 54, 312, 424, 302, 342, 376, 172, 453, - 214, 281, 379, 447, 170, 434, 230, 121, 423, 305, 441, 276, 244, 121, 110, - 461, 323, 151, 309, 431, 202, 200, 329, 210, 352, 164, 503, 113, 126, 231, - 152, 454, 311, 433, 86, 449, 130, 231, 262, 189, 290, 288, 429, 143, 311, - 70, 226, 451, 277, 362, 134, 51, 81, 343, 171, 466, 149, 194, 310, 119, - 315, 186, 300, 469, 349, 427, 123, 168, 117, 174, 144, 224, 116, 173, 198, - 457, 287, 147, 65, 258, 272, 499, 315, 81, 186, 168, 341, 316, 190, 178, - 291, 232, 280, 174, 260, 242, 226, 181, 120, 113, 138, 294, 106, 481, 287, - 377, 104, 125, 383, 234, 369, 289, 348, 52, 389, 239, 219, 344, 378, 338, - 418, 137, 363, 116, 207, 335, 449, 202, 358, 216, 134, 319, 100, 11, 265, - 233, 172, 267, 45, 256, 23, 318, 221, 169, 245, 306, 281, 181, 289, 116, - 173, 346, 327, 194, 205, 326, 345, 201, 111, 448, 366, 399, 293, 222, 170, - 358, 442, 19, 187, 159, 456, 299, 206, 290, 169, 253, 412, 252, 202, 377, - 331, 497, 203, 313, 115, 255, 373, 364, 237, 245, 291, 269, 342, 54, 218, - 269, 373, 170, 256, 270, 213, 305, 288, 203, 315, 238, 87, 192, 334, 26, - 127, 352, 240, 277, 114, 102, 432, 139, 332, 278, 128, 411, 91, 317, 296, - 265, 343, 291, 217, 124, 350, 220, 242, 220, 62, 233, 300, 190, 393, 445, - 513, 478, 346, 375, 131, 99, 272, 160, 355, 279, 112, 305, 107, 403, 336, - 109, 322, 143, 371, 147, 204, 192, 308, 180, 279, 127, 194, 145, 239, 124, - 288, 24, 177, 191, 433, 429, 308, 270, 136, 330, 73, 469, 302, 274, 221, - 246, 393, 328, 431, 454, 391, 426, 269, 434, 329, 245, 149, 151, 338, 328, - 299, 433, 374, 230, 202, 472, 177, 360, 402, 387, 316, 181, 418, 52, 198, - 174, 20, 197, 110, 294, 268, 123, 151, 43, 87, 250, 237, 247, 233, 143, - 367, 231, 339, 381, 141, 233, 355, 204, 225, 382, 208, 224, 206, 159, 87, - 80, 275, 103, 365, 33, 374, 117, 145, 332, 368, 309, 297, 421, 63, 212, - 213, 373, 107, 249, 247, 318, 242, 464, 312, 164, 240, 103, 328, 345, 262, - 160, 209, 401, 325, 249, 186, 201, 112, 250, 262, 215, 70, 473, 170, 126, - 143, 211, 313, 370, 183, 220, 174, 388, 346, 351, 182, 173, 48, 214, 370, - 163, 92, 95, 228, 134, 461, 251, 398, 205, 282, 372, 363, 348, 83, 321, - 175, 265, 160, 252, 479, 340, 257, 64, 285, 419, 369, 23, 196, 283, 286, - 327, 97, 411, 331, 184, 297, 325, 284, 341, 245, 302, 294, 231, 247, 319, - 404, 190, 180, 491, 441, 147, 303, 148, 291, 350, 471, 197, 396, 187, 92, - 201, 269, 200, 264, 250, 338, 104, 470, 379, 248, 168, 271, 113, 146, 205, - 267, 71, 296, 221, 385, 153, 347, 482, 252, 339, 453, 390, 289, 284, 229, - 269, 263, 167, 27, 369, 80, 243, 432, 230, 153, 280, 397, 239, 380, 208, - 244, 8, 72, 271, 354, 328, 233, 224, 297, 297, 204, 461, 190, 259, 151, - 306, 375, 195, 189, 304, 155, 279, 232, 352, 123, 177, 339, 401, 493, 384, - 376, 340, 38, 171, 79, 161, 78, 340, 293, 238, 465, 191, 435, 179, 244, - 387, 184, 211, 307, 352, 342, 316, 196, 351, 353, 445, 69, 97, 368, 180, - 274, 136, 275, 342, 189, 75, 395, 145, 147, 205, 185, 222, 218, 413, 297, - 374, 144, 453, 372, 138, 302, 316, 237, 356, 46, 40, 339, 343, 184, 242, - 125, 216, 345, 305, 477, 148, 214, 199, 303, 306, 123, 440, 404, 292, 210, - 328, 350, 210, 337, 94, 309, 408, 151, 76, 276, 266, 325, 482, 155, 332, - 254, 209, 321, 297, 243, 355, 259, 164, 221, 453, 361, 15, 338, 357, 289, - 240, 149, 249, 263, 219, 447, 434, 261, 300, 159, 479, 342, 93, 213, 57, - 141, 177, 335, 410, 315, 188, 166, 223, 307, 354, 492, 170, 187, 453, 195, - 127, 349, 410, 151, 207, 130, 147, 216, 417, 439, 369, 83, 461, 326, 406, - 381, 227, 126, 270, 258, 394, 108, 331, 228, 333, 72, 95, 209, 319, 351, - 346, 379, 284, 392, 315, 191, 147, 463, 95, 486, 415, 167, 324, 377, 390, - 375, 410, 92, 354, 106, 364, 106, 370, 132, 193, 396, 321, 134, 119, 393, - 327, 195, 506, 30, 341, 253, 233, 82, 283, 55, 207, 301, 430, 167, 248, - 163, 475, 77, 218, 124, 367, 176, 415, 426, 188, 380, 58, 488, 209, 170, - 164, 354, 134, 212, 334, 255, 220, 349, 110, 288, 227, 350, 201, 406, 319, - 442, 117, 330, 228, 148, 424, 267, 155, 452, 161, 345, 217, 474, 179, 208, - 328, 367, 254, 173, 210, 259, 458, 296, 277, 206, 296, 162, 480, 430, 183, - 202, 268, 263, 274, 312, 374, 96, 445, 66, 463, 321, 250, 204, 194, 129, - 78, 342, 485, 289, 387, 67, 119, 256, 241, 341, 110, 215, 276, 226, 186, - 276, 266, 198, 331, 455, 167, 232, 89, 355, 166, 336, 147, 397, 167, 260, - 175, 282, 465, 265, 178, 453, 189, 132, 273, 202, 132, 209, 62, 400, 397, - 114, 225, 299, 288, 259, 228, 149, 319, 160, 327, 406, 411, 217, 374, 286, - 229, 236, 129, 232, 403, 266, 432, 189, 115, 338, 120, 342, 197, 248, 310, - 269, 298, 79, 156, 453, 325, 468, 116, 246, 210, 438, 43, 256, 378, 294, - 398, 84, 366, 122, 311, 174, 346, 377, 320, 111, 309, 243, 162, 329, 165, - 307, 229, 266, 305, 267, 94, 230, 454, 131, 72, 50, 209, 199, 283, 329, - 178, 400, 236, 388, 423, 127, 190, 287, 175, 477, 274, 314, 465, 389, 410, - 350, 131, 263, 108, 201, 127, 130, 468, 59, 223, 148, 341, 336, 414, 235, - 36, 288, 171, 405, 111, 395, 271, 122, 154, 150, 164, 403, 460, 374, 213, - 208, 464, 310, 143, 356, 204, 81, 273, 314, 287, 380, 16, 410, 313, 385, - 410, 406, 23, 240, 370, 373, 416, 355, 204, 176, 187, 329, 357, 292, 282, - 384, 212, 273, 202, 262, 385, 198, 191, 402, 230, 266, 179, 389, 210, 165, - 375, 261, 287, 302, 471, 250, 144, 284, 279, 277, 382, 118, 65, 126, 235, - 158, 354, 150, 53, 331, 68, 280, 51, 219, 432, 90, 236, 213, 137, 289, - 256, 366, 469, 484, 125, 289, 454, 49, 155, 392, 221, 181, 238, 137, 85, - 222, 105, 228, 351, 380, 22, 379, 322, 409, 215, 234, 174, 275, 356, 182, - 212, 272, 203, 194, 426, 215, 279, 234, 279, 388, 164, 318, 219, 205, 152, - 74, 304, 242, 136, 440, 304, 466, 238, 347, 201, 373, 275, 325, 364, 362, - 393, 103, 394, 365, 359, 338, 332, 322, 369, 270, 216, 363, 135, 353, 460, - 157, 282, 402, 414, 393, 196, 403, 178, 294, 276, 193, 282, 217, 86, 234, - 351, 433, 337, 64, 236, 184, 423, 64, 362, 241, 210, 247, 483, 298, 122, - 191, 243, 245, 46, 458, 278, 447, 311, 326, 360, 71, 224, 354, 148, 360, - 74, 6, 215, 290, 374, 313, 200, 185, 116, 133, 28, 224, 467, 357, 291, - 473, 379, 388, 188, 246, 340, 67, 240, 144, 475, 314, 193, 179, 215, 150, - 423, 360, 192, 102, 159, 127, 204, 154, 168, 423, 373, 172, 48, 140, 327, - 292, 358, 221, 426, 154, 101, 331, 337, 235, 102, 251, 409, 238, 283, 151, - 307, 278, 357, 247, 484, 229, 152, 69, 311, 241, 225, 388, 230, 140, 146, - 370, 429, 26, 134, 466, 240, 372, 197, 389, 145, 136, 176, 187, 400, 264, - 221, 366, 446, 311, 364, 186, 404, 363, 101, 243, 400, 120, 146, 389, 203, - 190, 278, 300, 260, 196, 430, 106, 260, 367, 436, 222, 359, 433, 417, 184, - 371, 301, 275, 336, 111, 428, 129, 304, 303, 73, 224, 449, 175, 255, 446, - 326, 123, 315, 315, 223, 327, 161, 194, 97, 201, 309, 383, 407, 302, 326, - 209, 324, 198, 356, 107, 88, 189, 276, 247, 144, 339, 320, 221, 169, 140, - 226, 118, 379, 333, 69, 300, 262, 218, 265, 257, 251, 310, 27, 265, 227, - 369, 220, 146, 412, 265, 272, 286, 286, 229, 283, 395, 209, 372, 290, 488, - 293, 184, 360, 342, 194, 132, 313, 290, 448, 385, 162, 232, 31, 270, 271, - 383, 318, 242, 251, 157, 79, 119, 421, 401, 178, 231, 152, 207, 55, 163, - 274, 313, 125, 251, 256, 468, 385, 329, 227, 272, 317, 196, 427, 466, 96, - 216, 449, 14, 441, 333, 484, 363, 383, 303, 155, 172, 188, 348, 169, 256, - 199, 193, 188, 455, 86, 161, 235, 247, 288, 135, 344, 427, 381, 148, 261, - 128, 193, 287, 221, 347, 155, 172, 204, 334, 255, 380, 189, 241, 277, 226, - 448, 413, 81, 441, 223, 162, 429, 292, 205, 146, 439, 110, 114, 304, 261, - 378, 88, 278, 386, 123, 226, 329, 165, 83, 295, 213, 408, 355, 414, 336, - 440, 366, 409, 142, 153, 168, 128, 470, 266, 82, 280, 428, 250, 360, 238, - 99, 53, 424, 176, 285, 263, 212, 268, 316, 377, 335, 387, 168, 144, 428, - 326, 132, 232, 252, 300, 51, 146, 308, 371, 486, 279, 275, 370, 223, 33, - 304, 296, 217, 442, 360, 280, 75, 354, 182, 139, 397, 236, 442, 361, 45, - 233, 193, 479, 206, 153, 121, 299, 201, 255, 426, 318, 286, 54, 143, 302, - 57, 148, 320, 231, 218, 377, 498, 206, 359, 238, 235, 379, 160, 391, 381, - 261, 297, 277, 368, 362, 437, 409, 372, 270, 481, 300, 407, 253, 55, 488, - 487, 470, 429, 431, 402, 259, 404, 257, 101, 243, 463, 487, 514, 496, 150, - 358, 504, 234, 490, 511, 240, 415, 412, 484, 490, 416, 252, 472, 489, 478, - 493, 381, 139, 480, 511, 362, 293, 466, 503, 359, 342, 142, 326, 369, 304, - 320, 364, 486, 261, 105, 316, 471, 476, 430, 460, 379, 484, 253, 446, 400, - 447, 373, 472, 490, 272, 401, 158, 471, 328, 417, 312, 344, 331, 429, 383, - 341, 501, 361, 410, 480, 477, 492, 508, 482, 332, 336, 429, 310, 369, 460, - 291, 346, 365, 392, 402, 452, 120, 430, 301, 419, 462, 406, 410, 342, 493, - 500, 390, 498, 378, 230, 403, 188, 443, 258, 505, 499, 148, 508, 485, 241, - 382, 289, 264, 182, 455, 481, 264, 451, 489, 483, 485, 365, 376, 447, 301, - 382, 278, 237, 409, 285, 168, 292, 463, 290, 482, 339, 323, 376, 386, 495, - 286, 502, 450, 322, 115, 390, 483, 370, 426, 461, 441, 406, 162, 73, 506, - 256, 511, 507, 107, 498, 491, 323, 274, 478, 516, 337, 450, 304, 183, 502, - 285, 249, 420, 427, 349, 386, 508, 353, 413, 500, 375, 304, 485, 410, 484, - 306, 353, 431, 377, 239, 156, 438, 402, 499, 503, 200, 458, 419, 490, 230, - 203, 397, 73, 436, 398, 326, 293, 363, 416, 497, 458, 250, 443, 460, 60, - 476, 227, 392, 494, 352, 422, 383, 468, 344, 443, 199, 425, 417, 496, 452, - 472, 396, 246, 449, 458, 395, 398, 283, 253, 391, 307, 268, 337, 501, 269, - 499, 409, 408, 434, 365, 264, 407, 267, 150, 253, 254, 269, 185, 434, 306, - 508, 510, 287, 347, 318, 439, 235, 307, 503, 281, 303, 468, 366, 415, 434, - 480, 368, 497, 500, 504, 195, 188, 125, 502, 496, 475, 492, 481, 501, 407, - 309, 302, 372, 442, 357, 464, 436, 249, 429, 493, 412, 340, 385, 489, 172, - 353, 322, 477, 439, 509, 490, 311, 478, 364, 450, 448, 479, 372, 463, 495, - 312, 269, 425, 341, 501, 415, 193, 225, 481, 437, 433, 281, 509, 428, 278, - 509, 458, 506, 481, 509, 463, 504, 209, 415, 510, 347, 246, 388, 307, 237, - 472, 407, 318, 228, 441, 417, 467, 469, 457, 515, 324, 402, 510, 254, 112, - 470, 345, 463, 302, 378, 416, 312, 241, 381, 327, 94, 207, 335, 498, 343, - 476, 427, 444, 351, 414, 186, 178, 457, 459, 460, 333, 471, 334, 389, 398, - 327, 315, 504, 481, 437, 386, 431, 488, 442, 241, 356, 471, 402, 424, 433, - 287, 459, 298, 463, 322, 458, 386, 464, 232, 492, 285, 441, 227, 292, 405, - 377, 336, 466, 441, 513, 350, 276, 142, 492, 176, 404, 286, 437, 483, 474, - 446, 291, 323, 474, 463, 414, 496, 231, 493, 491, 464, 484, 448, 191, 441, - 258, 296, 497, 381, 484, 419, 318, 125, 222, 487, 516, 285, 502, 449, 294, - 211, 384, 358, 451, 414, 509, 135, 241, 444, 392, 474, 469, 444, 203, 500, - 282, 350, 286, 231, 478, 365, 465, 467, 472, 497, 484, 513, 513, 455, 242, - 502, 385, 504, 358, 479, 390, 407, 416, 266, 330, 206, 412, 471, 496, 498, - 380, 325, 159, 219, 504, 447, 340, 383, 416, 475, 373, 410, 486, 368, 501, - 511, 413, 91, 278, 257, 486, 369, 506, 214, 402, 430, 348, 476, 333, 331, - 441, 204, 187, 450, 194, 382, 224, 497, 411, 462, 252, 275, 457, 446, 415, - 502, 413, 121, 515, 485, 476, 353, 381, 488, 480, 385, 425, 314, 224, 383, - 506, 280, 515, 388, 422, 386, 396, 408, 329, 340, 371, 359, 138, 431, 200, - 361, 393, 189, 436, 411, 319, 316, 478, 293, 390, 422, 414, 445, 232, 503, - 397, 443, 296, 493, 374, 432, 430, 493, 206, 437, 477, 295, 352, 492, 509, - 375, 214, 314, 430, 283, 467, 491, 350, 421, 499, 499, 511, 367, 125, 379, - 482, 476, 505, 411, 446, 507, 390, 264, 290, 419, 460, 474, 414, 422, 317, - 327, 437, 422, 404, 320, 416, 242, 362, 429, 366, 399, 438, 293, 245, 448, - 461, 390, 415, 356, 482, 504, 284, 428, 378, 268, 400, 308, 468, 416, 393, - 394, 405, 355, 408, 438, 323, 424, 401, 483, 516, 493, 362, 424, 372, 234, - 515, 386, 382, 500, 314, 402, 425, 460, 456, 172, 501, 247, 495, 173, 492, - 226, 476, 439, 346, 293, 353, 317, 435, 152, 487, 119, 348, 424, 499, 494, - 495, 469, 251, 501, 401, 516, 308, 457, 280, 454, 440, 432, 470, 497, 399, - 451, 344, 487, 432, 439, 516, 278, 461, 462, 313, 475, 386, 233, 396, 475, - 439, 424, 495, 431, 434, 433, 436, 456, 403, 341, 423, 359, 296, 324, 309, - 480, 508, 435, 144, 478, 401, 358, 287, 484, 512, 443, 367, 459, 452, 445, - 468, 316, 271, 514, 388, 448, 474, 413, 307, 86, 293, 320, 433, 302, 394, - 222, 414, 344, 456, 356, 475, 468, 456, 426, 494, 428, 339, 288, 494, 448, - 270, 504, 507, 381, 405, 379, 498, 469, 489, 247, 354, 445, 500, 467, 217, - 277, 385, 318, 513, 218, 253, 483, 249, 325, 161, 351, 505, 475, 440, 229, - 412, 461, 371, 427, 377, 439, 338, 473, 500, 292, 167, 315, 230, 261, 464, - 294, 407, 226, 406, 488, 426, 432, 515, 511, 421, 489, 439, 282, 515, 483, - 325, 323, 462, 443, 491, 377, 384, 349, 491, 353, 226, 420, 495, 428, 409, - 473, 461, 357, 473, 371, 343, 360, 398, 500, 465, 401, 319, 513, 483, 216, - 405, 424, 473, 455, 516, 235, 476, 308, 248, 281, 482, 244, 481, 407, 345, - 309, 506, 417, 485, 363, 320, 192, 470, 231, 513, 246, 299, 447, 467, 163, - 510, 498, 337, 417, 491, 457, 422, 340, 422, 298, 273, 301, 447, 449, 356, - 374, 436, 299, 225, 452, 468, 490, 403, 432, 387, 38, 277, 340, 514, 485, - 355, 253, 400, 389, 460, 492, 356, 300, 400, 404, 404, 498, 369, 330, 273, - 311, 248, 491, 126, 216, 495, 449, 505, 407, 380, 425, 246, 437, 153, 211, - 256, 387, 515, 297, 507, 440, 480, 361, 412, 395, 431, 412, 371, 506, 435, - 421, 462, 504, 483, 472, 436, 507, 370, 183, 485, 330, 389, 381, 473, 272, - 449, 364, 192, 345, 312, 252, 333, 501, 388, 491, 246, 507, 393, 355, 358, - 367, 417, 499, 81, 516, 494, 490, 228, 480, 367, 427, 387, 349, 510, 349, - 411, 321, 449, 315, 307, 458, 490, 462, 323, 406, 452, 456, 357, 153, 359, - 503, 375, 352, 385, 392, 442, 485, 260, 445, 423, 512, 410, 361, 396, 421, - 514, 300, 412, 487, 489, 19, 352, 447, 347, 321, 400, 394, 284, 510, 508, - 502, 281, 459, 177, 483, 388, 399, 379, 180, 186, 209, 502, 418, 326, 214, - 432, 274, 401, 413, 512, 322, 264, 513, 239, 501, 464, 419, 259, 418, 306, - 307, 319, 484, 512, 453, 363, 508, 454, 424, 450, 275, 270, 301, 260, 512, - 161, 494, 323, 346, 189, 348, 376, 345, 464, 421, 381, 342, 464, 359, 455, - 492, 470, 359, 505, 465, 343, 420, 435, 428, 510, 478, 193, 419, 380, 414, - 181, 394, 266, 396, 491, 395, 192, 421, 404, 507, 456, 512, 251, 384, 442, - 421, 334, 384, 317, 320, 391, 477, 171, 336, 273, 500, 446, 414, 340, 484, - 306, 453, 445, 327, 405, 406, 506, 236, 491, 371, 508, 471, 446, 501, 290, - 366, 507, 250, 394, 403, 458, 266, 509, 351, 493, 252, 510, 456, 176, 440, - 419, 378, 506, 399, 442, 319, 514, 462, 275, 459, 378, 350, 226, 494, 430, - 494, 394, 486, 442, 381, 233, 500, 504, 504, 308, 494, 366, 353, 469, 439, - 463, 516, 109, 473, 473, 343, 383, 435, 282, 509, 420, 514, 333, 450, 307, - 477, 375, 398, 466, 382, 479, 452, 283, 285, 495, 482, 425, 430, 505, 322, - 444, 503, 497, 449, 486, 338, 440, 355, 488, 413, 352, 513, 331, 333, 506, - 423, 183, 361, 474, 461, 409, 425, 411, 481, 397, 470, 332, 395, 343, 298, - 159, 476, 512, 398, 444, 516, 505, 499, 397, 421, 271, 130, 424, 456, 270, - 463, 431, 334, 397, 399, 509, 335, 341, 443, 392, 509, 338, 284, 468, 382, - 477, 443, 331, 455, 445, 169, 296, 511, 491, 408, 427, 408, 318, 405, 182, - 392, 390, 488, 219, 368, 369, 384, 372, 336, 399, 502, 515, 356, 486, 325, - 293, 504, 162, 451, 295, 339, 220, 471, 421, 351, 433, 334, 392, 465, 303, - 418, 306, 316, 515, 317, 438, 482, 454, 475, 370, 459, 496, 505, 384, 185, - 172, 497, 171, 281, 400, 418, 499, 436, 391, 108, 468, 280, 422, 313, 467, - 398, 464, 167, 254, 168, 448, 465, 505, 471, 312, 467, 418, 403, 374, 470, - 459, 347, 468, 395, 425, 19, 472, 510, 456, 428, 495, 75, 255, 467, 465, - 425, 512, 387, 426, 335, 453, 474, 487, 480, 462, 344, 511, 207, 309, 419, - 419, 395, 424, 272, 346, 382, 460, 352, 169, 442, 476, 404, 473, 511, 330, - 196, 334, 329, 438, 438, 503, 255, 481, 500, 420, 472, 509, 394, 450, 255, - 472, 373, 365, 488, 305, 496, 418, 193, 368, 305, 508, 495, 494, 199, 420, - 514, 450, 201, 496, 238, 264, 411, 358, 229, 287, 493, 346, 409, 489, 102, - 480, 413, 435, 290, 317, 303, 348, 376, 314, 422, 297, 343, 250, 513, 466, - 290, 289, 431, 503, 451, 516, 328, 305, 427, 361, 307, 469, 341, 476, 371, - 489, 328, 355, 310, 437, 515, 402, 386, 403, 412, 357, 440, 486, 448, 399, - 337, 514, 426, 478, 506, 462, 360, 466, 496, 279, 397, 479, 428, 505, 421, - 461, 257, 437, 418, 315, 440, 498, 337, 387, 490, 437, 466, 220, 500, 479, - 470, 218, 380, 431, 243, 396, 492, 443, 507, 373, 477, 395, 188, 496, 366, - 457, 422, 336, 376, 450, 391, 494, 245, 384, 77, 44, 478, 438, 454, 407, - 285, 508, 198, 457, 261, 322, 492, 482, 338, 512, 405, 420, 312, 464, 416, - 80, 412, 249, 501, 412, 452, 505, 426, 379, 451, 479, 387, 137, 340, 507, - 483, 459, 203, 453, 420, 358, 84, 499, 503, 408, 443, 350, 515, 200, 295, - 376, 442, 369, 423, 346, 420, 445, 456, 465, 337, 475, 438, 258, 506, 377, - 364, 185, 321, 305, 282, 509, 301, 321, 398, 456, 511, 465, 281, 516, 450, - 435, 286, 416, 475, 254, 393, 469, 414, 429, 460, 389, 478, 492, 503, 453, - 444, 393, 467, 294, 420, 157, 279, 513, 497, 204, 444, 514, 348, 459, 454, - 270, 413, 440, 494, 434, 465, 505, 429, 384, 514, 466, 486, 475, 510, 436, - 437, 434, 457, 516, 454, 473, 332, 433, 479, 499, 405, 482, 497, 503, 411, - 351, 199, 380, 216, 420, 387, 426, 450, 404, 370, 447, 386, 452, 135, 253, - 482, 416, 276, 171, 419, 420, 288, 241, 474, 391, 368, 488, 365, 400, 363, - 354, 274, 415, 345, 376, 467, 138, 479, 295, 391, 382, 483, 444, 446, 390, - 304, 510, 507, 385, 452, 216, 457, 472, 498, 438, 408, 388, 368, 498, 464, - 462, 466, 508, 515, 321, 375, 337, 448, 273, 455, 435, 380, 354, 254, 242, - 324, 489, 477, 245, 427, 195, 508, 187, 210, 328, 498, 145, 485, 304, 493, - 392, 507, 324, 400, 419, 430, 439, 513, 432, 417, 496, 364, 474, 511, 493, - 435, 487, 366, 364, 455, 384, 359, 195, 329, 263, 349, 248, 486, 371, 166, - 257, 471, 339, 380, 357, 437, 441, 191, 443, 268, 197, 444, 306, 363, 160, - 346, 345, 376, 401, 479, 195, 243, 514, 481, 489, 445, 432, 451, 460, 252, - 443, 332, 283, 416, 502, 140, 164, 415, 359, 470, 90, 411, 425, 422, 352, - 344, 501, 386, 335, 458, 449, 478, 480, 477, 487, 413, 444, 244, 157, 451, - 423, 480, 297, 284, 495, 431, 384, 418, 363, 325, 245, 447, 313, 485, 436, - 391, 357, 512, 490, 487, 417, 512, 324, 496, 366, 152, 452, 343, 361, 389, - 254, 446, 471, 502, 399, 485, 395, 345, 474, 337, 481, 249, 510, 458, 514, - 90, 362, 463, 347, 477, 257, 489, 405, 143, 259, 286, 495, 382, 224, 177, - 446, 260, 427, 438, 434, 511, 187, 383, 423, 193, 430, 427, 447, 435, 487, - 502, 338, 407, 323, 407, 387, 166, 512, 473, 310, 457, 490}; - -const float H_2064_516_sparse_input[] = { - -2.8588758611049867, -11.692946618257562, -2.0931111592429659, - 11.110696212718175, 6.6118168080332342, 5.5228669775147967, - -10.351976177615544, -6.2055936928533972, 15.766842028131405, - 10.150684036103069, -8.459063190320423, 3.5621047687812557, - -3.4741612771047636, 3.324748317571744, 8.996614205792751, - -11.020291727957101, 12.081427681651697, -8.8928631203159583, - -3.3519010114052263, 7.7902118547439443, 9.6608001848411806, - -7.1066822779231593, -18.837368573809297, 6.7301895647238608, - 6.7933629603091008, 5.9697810424393483, 8.344011991064086, - 12.19791145343228, 9.4167774696594435, 7.423418316685729, - 9.0291842080564226, 12.492983259925982, 7.1203329881309401, - 9.8776999539720336, 7.3657220051725565, 5.4066464900536131, - -12.553405951140983, -8.4918025628237199, -11.352365915823617, - 14.756685666538061, -8.0938336502539876, -2.7071697789206022, - -2.4795849849319289, 14.778716053676311, -12.149933491676437, - -8.5931326392610909, -5.4147618905983697, 1.7095221079392837, - -12.75286957597447, -6.560818125727109, 5.5288804134600262, - -16.774264848727494, -10.397477377823613, -14.47470382199227, - -12.095199384731899, -0.68504635593676977, 2.6623689185177528, - 13.264791388391092, -15.654931986196731, 6.1276196890542334, - 4.5068190091793028, -13.394637229913476, -6.9231832293793651, - -12.113429033794846, 1.2142140703098925, 8.9363539352870394, - -12.687063373304539, -3.3458614784673091, -3.4123481785186587, - 17.559631253372945, 13.470764559481434, 5.3912902961422002, - 8.0737946505557545, -12.755710856932868, -3.569697890412812, - -6.2613535644882905, 0.068556269783912271, 6.2629797657916875, - -9.2663011036090968, -4.4829975567184634, -9.6136989537403004, - -8.7663852688801143, -13.974856274599134, 11.407302219619563, - -10.302223327202944, -8.9771589068473983, -6.1388609170833384, - 4.2370800072671333, 1.7760515525196516, -12.120232639630231, - -12.958157445638765, 5.2985241644932541, -16.484657731002855, - -6.3532421360393387, -9.0395804464700298, -7.2671128749847744, - -12.616882711750195, -4.9350723080331012, -6.6905936282318637, - 18.568407538602393, 12.530577696234687, -9.7889565176657243, - -15.214958325061282, 7.215674131215513, -7.5394667988733808, - 9.0137713371297465, 6.2553392643094785, 9.1953246360263154, - -11.131787953429392, -5.4020937991353657, -4.0642543197135739, - -0.44036236539366824, 8.0650609441874703, 0.85520780385748785, - 7.2621337620159085, 0.29865166967486761, -9.2011814546979203, - -10.330862011400864, -7.3191138151867943, -9.4852558149271111, - 14.762260259194324, -5.0853268103463423, -11.2925794883785, - 13.026909781206733, 7.9504343630905412, 10.148928930852414, - -8.9032450603232327, 7.0914762951954913, 10.89340681888671, - -12.705821222595254, 13.126012326275292, 9.4442919029362749, - 5.0277440210736879, 0.21756213342494518, 12.710361373031621, - 5.6453651213768019, -13.49634180382726, 6.4754225359227204, - 9.6275804629486004, 5.8125840672452975, 9.7028326962213836, - 6.1260130958734562, 3.3623596073706641, 10.736024757333299, - 4.6569987032041826, -8.5021099021622799, -2.5832378575026125, - 17.984880998940056, -13.974611077713172, -7.8550941092339874, - -2.6917314432377575, 10.825283872831294, 11.217940706150642, - 1.8301222470027103, 6.2062091666111812, -12.440863506480019, - -19.955292055354317, -3.6699151522797462, 2.2154324244303956, - -3.7363628672311142, -10.271027034445964, -9.2862432349117547, - 9.7847963699436011, -5.9471830363214551, 11.139859339322513, - -9.2599913694963618, 5.0422863933763367, -7.1141487133220043, - 4.2177963601947308, 10.657785123505857, -5.7952000401674324, - -6.826355874510365, 8.7268751949597245, -8.5906649209875745, - 2.2758857640658201, -6.1665377492933358, -7.3104026599884433, - -3.2424605164178031, 16.796591996286164, 15.671215006757382, - -7.8445348658392806, 12.2589312976831, -2.5670307012079139, - -11.537316744819945, -2.4858301794672331, 5.0542510171190438, - -6.6860957990782133, -7.2619018024969462, -6.7329842279273242, - -7.3146812058251234, 8.0821157274412183, 2.4005920765968378, - 9.3157871935284753, -12.908851857280949, 5.2927115546650425, - 9.9926730185778059, 3.9229860372333749, -5.5126846245121035, - 12.313688019948762, 7.9681453222519041, 17.181368769149195, - -8.962498225939207, -11.548950041024865, 12.014544817430894, - 11.485639169870186, 11.939774664713912, -14.36069895314143, - -11.812874687185857, 12.249194120883461, 4.8839501930831242, - -10.540165871108648, -14.829380396239381, -6.4665012687326051, - 4.7430459960995295, -7.1378949876943016, -15.357105375923917, - 7.3351294975306445, -9.6095153441695373, 4.381145332149095, - -9.2910048695861427, 4.894239034759102, 7.864879034656453, - -8.3265429253416077, 10.497214061711553, -0.39338042557070996, - -4.4611306847986816, 0.76940119561902198, 2.3535542193708272, - 10.459438806533345, 9.4938186880252005, -6.4805717587307994, - -13.457392617761585, -10.487085219177404, -9.8506932711478576, - 11.274019685851906, -12.3031017274995, 8.3324030035106826, - -2.3013116280481358, 8.3664075310158825, -10.402109920341072, - -5.2924293563600742, -12.008098192077149, 10.992304106359162, - -5.5591947469243506, -12.838234842015352, 8.1682577157065577, - -6.4919177172949487, 13.568876091933316, 8.0352162745849594, - 8.7834139460450125, -11.335870474093099, -10.790767171281415, - -2.8875937626970223, 14.64505222675956, 11.436743007190451, - -2.9337339836825955, -12.707240342338084, 16.661129912274529, - -19.171798326126961, 12.280144746488103, 6.5975965145696174, - -13.019719338217644, -3.4328503704209457, 4.822535491209953, - -8.1340577921572415, 11.549182216506546, 9.6431724916100059, - 5.5547407614902173, 15.019668995173307, -1.6514898426907461, - 16.110709054474917, -10.9397931999944, 12.04576668183285, - -8.4818868311872198, -6.103248438757908, 8.2975079067215702, - 2.5480181038085412, 18.799878298920927, 16.231939791740228, - -18.011602750805633, 3.7139764502467689, 12.751595841360283, - -7.8718015936255812, -0.40802815212428428, -15.47812599016518, - 3.2584854200798588, 14.976391986507007, 9.1367378814346782, - 3.4155780056910059, -13.292285487599507, -12.855991908912157, - 14.013291588644732, 9.6911017234399335, -5.8910196575740752, - -2.2280612655108047, -11.219438047247786, -2.5955623953948517, - -3.4460676112793136, 3.5682986120247073, -11.70300520092221, - 11.99455548751415, 7.319096625369828, 8.400961847094683, - 12.142806695044221, -3.6775894169196279, 8.3797255658565142, - -12.156985373281584, -17.475193610019677, -14.228116929396922, - 10.726007504360073, 15.267119384103992, 12.781072511062279, - 8.0326533999697229, -17.51207194760946, -7.554034280962183, - 10.066411068992132, 14.13799652436988, -6.7247334837075705, - -11.112518294834185, -5.7326833292155523, 3.6877552031425131, - 8.7105204152043516, 9.3857694378580963, 19.127569440965896, - -3.8614826162666089, 7.9404471399280068, 6.3807591097483005, - -6.8888859894612535, 10.317928637508684, 2.1736529765433783, - 10.953222318849482, -7.6682531128958038, 5.0318286636058982, - -6.9463690764775503, -3.0184853792276383, 9.6041512562391542, - -0.88225262267439808, 6.4852292067129724, -2.3181001351577644, - -13.197351056460056, -6.8047677874499586, 5.3843074707174692, - 5.1196343577870644, -17.820822197855577, -12.257015718775355, - 5.1913937352654651, -5.0162460867599536, 9.9461758050913041, - -9.7414598652248081, 8.1378256819797858, 12.564281794378495, - -5.6365288176451322, -9.1029468332924104, -5.6355130288814301, - -13.719331548944416, -5.8613058178495017, -9.2573519867695815, - 6.0620773131346706, 5.8947778726542905, 11.265652594812099, - -11.760986024368906, -7.7447348268870124, 19.076436411627338, - 14.505720191829832, -9.0750817120358054, -5.2025480400034789, - -3.1960162333402482, -11.659437264119374, -7.9842387274926709, - 8.5980388295231229, 14.858752059828165, 6.8639263237417376, - 6.0631638589074024, 2.7093921939507379, -4.9581002755473795, - 4.4179924464321392, -11.144868427484562, 12.546476704938177, - 13.606433000436612, 4.0208619807458295, 6.2408832155761376, - 3.0941528835943455, -11.347668662075096, 1.9313877794966201, - 11.65105372954261, -14.681336156121709, 7.2969958167198605, - 11.59264621157577, -8.831465763669156, -12.759130509205734, - -9.0714254556796128, 8.9948895559776467, -8.3736028555285831, - -13.115027308542444, -0.21628815052066303, 7.7132708674061705, - 14.055053470061472, 13.370601410874029, 3.3283307501026052, - -11.9653642849229, -5.6440590777489144, -4.2508984635752549, - 13.005398229132568, -11.5296140873405, 11.286858942494266, - 9.8110403874583074, -13.263569122014866, -6.4297799553106456, - 7.9672918799786396, 2.1515462864377719, -8.490571668881163, - 7.5548103934198929, -13.121628447449439, -5.7901204816768361, - 7.5171762671769704, -5.4216710822831979, -0.95140907859749113, - -5.6992105242986471, -0.91737830538166343, -8.2053563541920571, - -4.9100295191078036, -8.650093905400162, 10.400080220873763, - 7.2829351923330092, 5.3481291290736603, -9.5017802399357425, - -9.8687523002255393, 11.82329840938681, -3.1919281246249707, - -10.124868011353035, 6.8360355157042028, -14.032171223888698, - 18.148403140529073, -9.5731633683674744, 4.0453611070899935, - -4.114147796015585, -8.4912512496909898, -7.9968991599686872, - 12.922672789580542, -6.7315939113482681, -16.414580925551139, - 10.417406116722118, -9.5795995211441394, -7.974905790034116, - -13.727944328842275, -15.024522822723423, 4.9026741637309703, - -10.662764572620276, -19.122555879539242, 9.217115643469544, - -2.9661166430929642, 13.154514394206242, 9.8788596316167272, - 4.2669291411005252, 10.239868792823961, 0.50928446540137651, - -6.9544644508051245, 2.9807945285095245, -8.2689690969205181, - 3.5499295458600972, 12.732733620631645, 11.61935741986054, - 8.4137329217700945, -13.703811206903364, 8.5347899814747166, - 13.941804015126218, 11.213731601489895, 11.550008187296406, - -10.885532785062049, -6.0320756476152395, -7.945602926688589, - 18.178022024827495, 4.2378890109434684, -8.419937978328889, - 14.273513193884424, -8.1801725060827586, 13.690183625733544, - -17.518387733265431, -8.6392702216784656, -13.927446312699148, - -8.651607062718659, -12.712917239643309, 15.009792996204254, - 0.15853783962329626, -10.462310302523948, -12.535567399778486, - 8.8192610919401329, 13.066656030822525, 18.005415525102343, - -16.007576967175243, 11.052574245331391, -1.1810954342450888, - -12.762633127175347, -11.427571726679494, -1.8068233566411038, - -3.8651597939182674, 6.9028603232990591, -9.9188843352819767, - -13.607089316301986, 5.8989769757503172, -10.266998033319117, - 12.946619994251195, -7.3433271276853551, 13.594756446262442, - -1.4802835189751626, 2.9459432512420887, 9.0127453411993006, - 12.34274116102957, -0.99056567004691576, -1.0211228826859517, - 10.87969885601588, -15.669877762479704, 16.01192464298973, - 10.789218207135569, 6.1523737440350752, 10.844976713696601, - -18.796538678004055, -7.3982730413954201, -6.5213519941388851, - -18.571369340190397, -9.6913300045155282, 1.0175474995943568, - -8.0705533615168754, 14.251221745808563, -14.054781652173469, - -10.906074448438877, 9.9932114606110058, 9.2204934537976815, - -11.102967677965665, -15.06146952578059, 11.282374133246716, - -3.4111780254645643, 7.3857075662336609, 10.330601600777463, - 5.6502615537426548, -7.2776853004382911, -12.041052757776699, - -11.046289906579057, -2.8519140526114701, -14.358095698121817, - 4.6207960341417813, -12.368837238636017, -7.2377430770905917, - -7.1306536664479809, -10.374815173234571, 7.5287331560402384, - -5.4660620697715716, -13.441122458297521, -6.5962962593129824, - -8.4930653390556969, -5.473757203858737, -16.42318744504734, - -7.678902139771755, -6.1724752873292612, 17.227224731420481, - 2.7992443468423089, -11.010643413583562, -6.0460973993600238, - -11.514094016830022, 7.2250024006000091, -7.8426213114387204, - 10.647716150585898, 5.7539405508617296, 9.727218535739766, - -10.217949794886991, -10.197658817694322, 1.4534950594678713, - 12.10682632749001, -0.51088307163622715, 17.710760548825679, - -7.7470194812395397, -24.372971692573486, -6.6052580469808717, - 8.826482956514015, -6.7872955696686779, 3.6389619856040674, - 9.9237321927880782, 12.100520790781362, -6.8842633676573595, - 2.8844843405481937, 13.672108533544661, -5.6338295492883859, - -7.1944131155704678, 6.9746870716875398, -8.2312590639291852, - -10.25205738032861, 3.9564297173352139, -11.16342115946062, - -8.4103856915642865, -3.86058459788803, 6.7693385059336668, - -5.5093604081945458, 9.9112156966838256, -11.829917793796264, - 12.06350448472004, -9.8908904770778552, -17.725516485129567, - 5.0710728367340741, 2.3733785626266992, -12.373813495428958, - -8.2010211819107539, -12.301300323962623, 10.576063861117305, - -2.4429576335852246, -9.8126936984062763, 10.720987427999063, - 5.3468144210345949, -7.436093608771988, -12.085562323273949, - 9.616133130427178, -7.2337117418265358, 6.590012489497771, - -12.933819456719151, 9.0992320680750058, -4.7115096872358144, - -12.444448996962361, -9.2431835291508904, 8.9400870181220906, - -14.84487535501597, 6.9572855730306786, 8.679259378600257, - -11.728117564638417, 11.57774167266283, -11.089244669418909, - 4.4545841055164113, -10.471036138424958, -7.9268850048012363, - 10.006310688982033, 7.3307629546995496, -0.70086411051328346, - 3.4399790497959652, 7.5780305602750353, 15.952535940468001, - 1.1236075069228646, -10.56946563987197, -16.455271371728593, - 14.943737550316991, 15.270538328279843, 1.8246123975329285, - -11.861267836196021, -12.897409417413272, -8.0295182717849976, - 2.5085092290718261, -2.997769928368061, 7.7106512520538253, - -9.7986312114017196, 3.8597867083890951, 14.715042117673541, - 3.6286772784703238, 4.6804229784596041, 10.468442660987332, - 6.0309605373905297, -7.2836222700763322, 7.3372979832476464, - -9.125874340732242, 12.431154776537063, -12.652059501141041, - 8.520614267493885, -14.669291764198016, -5.4369263583494511, - -6.9272239504642288, 14.411503339302335, -6.5090359387453871, - -3.8249288367587844, 6.226877964919483, 5.4872378813688707, - -12.071286274848809, -14.839631376528764, 14.929556186968613, - -13.550466083272015, -17.79040452965922, 5.2176515285150078, - -8.4073909354978511, 13.152357868676932, 11.880434179671278, - -15.154722117187848, 3.3578570344364098, 3.7992951070371852, - 12.544849221875657, 4.4664223998223864, -16.02563218730095, - -16.858694781271584, 5.8423687431569373, 14.717494305248145, - -6.3014233972716296, 7.8246512200173655, 0.2490959399462627, - 10.09774947224876, 8.2302536611399972, -2.0230125836350608, - -10.877543890130998, -10.315299910440396, -17.814418691884743, - -4.7984509876179366, -10.569732541659832, 12.468245506360125, - -8.1994351150315588, -8.4938440033843783, -15.646554844352739, - 11.104862652426069, 5.4254710709054565, -7.075912451839514, - -13.038488980503107, 8.6283602505517099, -0.1897762834069755, - -15.926221800862628, -9.4620561439869952, 11.028601034997564, - 6.2202218101379954, 13.01838761394424, 3.8814455959068872, - -10.571348353520641, 9.3930545668475638, -7.4486485829571807, - -15.896920034679038, -7.6634637506716583, -13.744383772875613, - -16.289316553121051, 4.2240572521775093, -5.9728476753105495, - 1.4435980912356212, -9.482201269588181, -7.1075995048298424, - -8.4496788887326719, 5.5233585701859731, 8.8295065675835449, - -6.8321409197770491, 14.622652588625614, 8.1030077299922656, - -5.0997213512339847, 10.535820013561885, -11.687469584683409, - 3.0547169868379771, 8.210959869395893, 10.201179428221021, - -11.658463276051274, -13.563724058479169, 11.01039677555352, - -7.1382476676607203, 14.955134349802455, -13.750666848543476, - 10.162311270235616, 5.7884645703783697, 7.3371242692507819, - -9.6841606635170585, 5.466449250298048, 8.4163518309029381, - -7.1508542487337046, -6.6797959016182888, -4.7449989886325188, - 2.4393509869405792, 8.654752655597532, 10.070879973393719, - -13.17581052395726, 8.5470611298539545, 6.660259185215466, - -6.0653871786400737, -6.5193717691612134, -12.615899043092323, - 6.700881216282939, -4.8478946577189745, 5.1988868211607864, - -12.549358461765644, -10.045744010088018, -12.380860324318006, - -3.8616068170109248, -14.465705737907983, 0.4164829268257374, - -17.143567612135136, 9.487366827722223, 12.652721901108753, - 0.7645899772346989, -11.920812995054151, 5.348021509175628, - 8.3879926788022008, -4.6246359904401313, 11.089899173175201, - -3.8332542947304775, -13.36196018971258, 8.2464982273107097, - 14.657515986404208, 10.904966172392774, 11.533578255944192, - -13.982006985588614, -11.973821478795168, -16.592644946389242, - 9.2836692767439004, -12.678645783087854, 10.730932446196368, - 9.5849200107862327, 8.4498461340685918, -8.6907116625889529, - 14.156816081594213, -2.5856081507256512, -9.2993749691896994, - -3.6239666126178607, -1.8399557052395836, -9.9970546829752251, - -11.017332480853435, -11.692178962270885, 6.3025733321249016, - -16.175906955071767, -14.423994620868056, -14.689511946206805, - -7.2353003125032167, -9.3660212630661839, -13.858073820033896, - 4.7709918994882639, -6.7026088232668739, -10.527782639004828, - 16.58828557927492, 15.050247187970289, -4.0564185563228934, - -10.640020339068798, 5.0431846567205971, 10.934348304548614, - 0.75988821460881439, -10.291366703091549, -13.942020188031572, - 14.135017480152827, 11.151498767692816, -11.537353350061172, - 10.343082453782436, 7.976541387752091, -3.5774431227145778, - 6.7912849734238856, 1.8417106851238594, 8.8764923317563689, - -14.359256236175909, -5.6171451890921933, 5.9817930874266256, - 3.2031461221092781, -3.5231009274983971, -14.863876345356418, - 13.612377512426715, -8.9030335281364348, 5.1285813990983709, - 4.8771312118802621, -3.1813763041012044, -8.1658030154444532, - 9.2635478384894121, -11.938316318486482, -10.581389864174858, - -9.041740376889754, -11.289532586451648, 9.8541909326330934, - -10.813754378648875, -10.992626098956032, -4.2128060145436059, - -13.803513190675977, -3.4047166821717285, -14.699309096179331, - -12.322199151029571, 1.9847013546589598, 3.443351936013523, - -7.7412573332668169, -9.4014738152531816, -6.0936722951459252, - 11.249057062872248, 5.3612317349290048, -6.0934505412619844, - -10.329491262921293, -8.3782268065652321, 10.610705115588038, - -7.7383153101209938, 8.5683043797354852, 9.5214421313463742, - 9.4646448974772674, -15.945188235432587, 13.571842719150663, - 9.1766386061343823, 3.9788060864638335, -16.400242920289237, - -12.152955170027367, -11.743525499640301, -10.778431692576483, - -9.560949750398839, -11.274506489189537, -10.497378072608422, - -11.313774108583567, -8.6889440492171826, -16.999837953521492, - 2.8463220500405759, -9.3414733746083147, 14.505309388696032, - 7.2740770646355823, -15.216612609375215, -7.7754295642857443, - -7.9668693810493751, -11.838336074962589, 9.3302243430363134, - -6.1546909317578038, -11.643770269023584, -7.3067290482575826, - -7.6586644572207598, 4.1554355791738411, 5.5784827988725025, - -6.6788226812914591, -10.099712087346221, -6.812608788772855, - -8.6942723276748133, -9.1414982497263626, -5.5404435688554674, - 13.782301424897506, 6.4913332097552408, -14.843570407301076, - 9.1090159582398744, -11.810479272023766, 10.734632284091132, - 12.106233609286406, 1.2074129428018001, 9.05135706765188, - 7.0513320487712221, 5.7063731455704252, 17.827025603920255, - 8.2204534825947988, 6.859838386896449, -17.066087459633668, - -10.546186910811119, 12.544407506754297, -10.501953033608231, - 11.631217929282226, -7.3247345033456455, -0.30451282566541621, - -8.8097804299616289, 12.580754884209387, -2.4535950387210703, - 9.2528280654920945, -6.6762373246501507, 8.5487856314147361, - -9.8862934311079176, -7.405954429775278, 11.460818356885351, - 9.4241123506707218, -6.0650535086957591, 11.749931801221361, - 13.45158323366806, 8.509266618399371, 3.0990921451133864, - -11.845686618745093, 4.6809017476948664, -9.0788995203187035, - -14.154172714949322, 11.436663871420148, -11.686823110591192, - -10.466322347645878, -1.8093094588126659, -8.2842513297508678, - 6.998530934794041, -2.8130875381789773, -4.7458503858358174, - 14.892214325455083, -13.297630549395505, 14.137398522674463, - -5.1741407656371132, 10.811880263388231, 7.6909240450423546, - 1.2020066622797796, 8.3882554040760446, -13.296889605096078, - -14.12122762385526, -0.86913405214011996, -1.7012640446050573, - 12.135944269100591, 13.696947616128121, -4.5178290393967648, - 11.379039879071998, -17.142332699109016, -6.2502893853176538, - 14.551005043468933, -15.922443449630226, 7.9749887358427554, - 7.5006183839537428, -10.731307185445075, 11.828405368248815, - -11.242740313773945, 8.6857287401789396, -2.3357416563180076, - -9.2522949403141723, 10.057172114119057, 4.2142804964077794, - -7.25445812349398, -4.7859211707096279, 12.212717205630641, - -0.68060465039856421, 8.3585750011161384, 9.4355684709667997, - 5.8736217498953929, -10.357680904873, -15.182609723791906, - -10.528438249903205, -10.728845332160351, 4.4271186570969041, - -9.5459159618972773, 7.698786708464044, -5.7616256574906473, - -6.74427916594568, 5.0713712230747952, 4.9757324493057258, - -7.5822193975454732, 2.1521506074067127, 11.702619296651129, - 2.475868836880037, -8.5152128927626887, -8.8176272081621523, - -6.7396490012107382, -7.1103087325178862, -12.249044472908748, - 5.7223187192045835, 6.0785970538718885, 13.311388408274434, - -5.1967232459428514, 10.616058764924363, 4.1131834199366937, - 9.1157637550044708, 5.0981827919094043, 3.9623438215809581, - -5.1277684895200872, 10.717366089367347, -9.6119167010571456, - -17.671933631733026, -0.93466484572541053, 9.4511618566836688, - 0.51145591409598801, -7.4842698912260595, -12.965780155817985, - -11.049283246505306, -9.4204398537725336, 14.713331608978752, - 6.1294522089617445, 12.762571544243462, 4.2519976479727246, - 11.581799865407062, 4.0540310044195316, 6.7583036711124178, - -8.4596629969850596, -11.555561625120337, -13.223361797635503, - -11.022881346403601, 7.820188150462851, 10.050313550691401, - -2.8748772822692796, -3.975284267526737, 10.165011610963463, - 8.361153496598952, 10.23454765876409, 6.9861352278001991, - -14.063066120834387, 5.5703634980353156, 4.5720288674742182, - -10.208336872812145, -3.8841964569917136, 15.871358616035476, - -10.375333061106602, -17.028934392886523, 9.6095097993772214, - 2.8612197492337277, 7.3984151374847418, 12.882442279479097, - -3.8593872267618985, -3.3505651418910092, 9.1400352361857795, - 3.4607159608677991, -11.802758101252648, 16.131696084668302, - 4.3485520924992915, 4.9299693363247012, 10.20608409504235, - 11.350181288635312, 0.71079817132091727, 7.1011529322063716, - -9.9921413971440192, -5.8089676277937103, 21.431868331238753, - -7.0747060210352215, 12.069527047899687, -9.4828998378865119, - 10.122263948520756, -13.538606127789073, 9.6375976702501429, - -4.4100604567201094, -11.99790766311845, -5.976372779813337, - -8.272146596627568, -8.9450436886845743, 1.9542103075796229, - -2.5876227697187235, -14.368094001362385, -2.985471188013614, - -2.478307267502168, 2.7456040916726456, 12.581031236480218, - -11.4758779722525, -15.599590155208737, -12.992869206559288, - 9.953747866291776, -11.025999481843595, 9.7008748889831633, - 9.4677048052865693, 6.0665148799454283, -11.021027787278838, - 4.1148665510329865, 9.9715457939675805, -4.524015231428284, - 18.833454602793879, 7.5018420072802252, 6.536477074456216, - 10.39532612887518, -7.7192567198190574, -5.8633746049064728, - -9.4739325485451946, -12.966876834521914, -4.8932353347242916, - -7.50082678824488, 7.9240662467055403, 15.473285728117284, - -7.874821177550495, 3.9913525758800343, -20.203393732375613, - 13.177667766939793, -11.905585671112627, 8.76829420558043, - -6.6904194950549218, -2.0990812946584643, 16.352167450942488, - -8.6839871579774304, 0.65535704062993771, -9.0914298192610481, - 6.226432112620512, 14.414606788199343, 5.3327990949329722, - -9.2825422873145076, 5.2444348695624967, -13.52476436519694, - -10.565017103537128, -7.9458267805510605, 6.2385267794539532, - -10.620897086888419, -14.02491825647715, -17.249193736529822, - 21.822546537373011, -14.525572761291961, -9.6352912168501117, - 7.7923236942745477, -0.43905931375127905, -1.1677511335028592, - 7.9195608711842009, -1.7261157613467151, 0.81574419315180335, - -6.6258630940789853, 11.446710993602048, 10.423767215464459, - 10.131515821910522, -4.0813762630157786, 5.3099875815632895, - 15.005238483277349, 3.9458100113193013, 12.997541564501073, - -13.401349640520106, 6.0898523220056484, 8.5430795315739463, - -6.727566986421512, -6.0976964106078926, -1.5514248251358895, - -6.9251342133096534, -5.0010498589221326, 19.36294632958224, - -10.995748094036278, 6.8230876895289425, -8.9816761374312737, - 19.252689002798032, 15.018231032342973, 0.75032883111291693, - -10.512852145797988, 15.952636394768637, -13.876019658000088, - 7.4282002133627536, -15.007337649734009, -20.867628639436518, - -12.864466413292632, 12.282886216105501, 5.6117260976193588, - 7.7243055425354985, 0.74537471606410499, -8.3753274103443793, - 8.7297402808334041, -3.8752359373415373, -7.8660891683218042, - -8.8027160564205786, 7.7988010166838881, -7.8129632889899385, - -5.8353090570942738, 11.438552747844, -9.8854956847581263, - 6.193488211617348, 5.7060858140643864, -5.8417400083956581, - -7.1659403388854175, 8.8621684734697617, -13.828395956746165, - 11.58722476958626, -8.7757625064865632, 9.7638601085689327, - -13.63897121774294, 10.692146632523938, 9.1954815513953641, - -9.7262358263602646, -3.0742135000084518, -11.831625275045802, - 10.346151064081882, 13.860225574621548, 5.3434462647847401, - -12.667486708061194, -7.6071393527596891, 10.497824234551809, - 9.1398524858692305, -4.8312688599490299, -9.6866353191391568, - -14.936854315955886, -4.5645292398393735, 10.306087472805107, - 16.435616799434957, 9.7618939189542857, 7.3359442918945499, - 5.4777235052650965, 12.827631906540597, -9.3557044067803972, - -8.6207571310957753, -6.9067986860795303, 9.4266173165645881, - 8.2700014055707438, -14.396299560527304, -9.1945433850102294, - -5.0742673058143186, 5.9363570201246212, 9.1825801770474449, - -14.26016478123667, -8.9647881473585791, -10.999991358949853, - -5.2643587807317358, 17.966460043223208, 4.5038323715849113, - -7.3643627119764705, -8.0021495622334466, -5.5012765171131761, - -8.6385795076142866, 10.642859565399243, 16.418157809689014, - -12.558310319227193, -5.6944436186565675, -16.620579134203229, - 5.2993074909249556, -9.5535858720998252, -6.194850562303122, - 7.9283758132069577, -4.3938243314441445, -16.08461551423154, - -6.1053020627578558, -7.8156662613007883, -4.2010902685294225, - -11.260598796472106, -17.361798229363732, 10.523477968271544, - -9.2997205134904561, 4.7239785905440819, -16.55663724338849, - 7.336212674126954, -6.9284736037251049, -5.9733477242286268, - 16.958437027673817, -9.3688626284447736, 12.335069283139083, - 4.4003768017589344, -9.6375650205771759, 4.3025216992304607, - 8.1709809734149754, 6.0840979096543046, -1.7791701081822009, - -9.7212268065403915, -6.3728373407996992, 9.4709301635928664, - -9.8099415495718265, 10.216669472304444, -7.9089613940445638, - 9.0133309428613888, 15.233159549099527, 14.443197589960937, - 12.315849008505751, 15.22683390790605, -12.204208274855294, - 8.0545420942912056, 11.261686524342778, -10.088714704911705, - -14.758394330397744, -8.3506925495196622, -5.7190575904160488, - -10.474095362096637, 6.7558531383042801, 10.839875782803038, - 9.6223187492013871, 4.0011315315627671, 5.3452889051100145, - 0.29628684358052387, 10.260560792716758, 10.010269925150098, - 12.309818259037518, 8.3443036587520112, -5.4014577244395916, - -12.309450717768483, 6.227119823086781, -0.90098300040336077, - -5.9574142236058796, -6.5290358544134426, -7.443075641870017, - 9.5718761708906559, 5.9045525168917088, -14.09287394192167, - 8.537557668616758, -14.160598968888243, 5.8051719496039951, - -6.239975019204187, 7.4524259174698209, -7.4731349725176219, - -8.5239733925114809, 16.110254200184002, -10.257968713373153, - 9.5898379203607735, 3.4675905258102322, 8.1300367938993361, - 4.7762632339122959, -5.8974433337845085, -9.3140122423426206, - 3.5847848816848376, -9.5355250106758724, 8.6839175133173008, - -6.6948323819511488, 6.7933016290691377, -6.3800902026507824, - 0.76093699061175468, 2.6435457529778015, 7.4138748481937027, - 6.0247308500592567, 5.9280863177297123, -3.8920878288506016, - -8.4621386416944677, -18.750651564949948, -7.6188990491921116, - -2.1334205811758622, 8.7540093304816082, -9.8600851053842149, - 16.342033110995256, -10.800872299968921, -13.998298573757474, - -3.2934871871896396, 14.06180118603365, -9.271874228911658, - -11.048285130582032, 6.1595626190926716, 8.0570216147192557, - 0.66340001966893403, 6.5132884000227351, -5.4201122315987309, - -9.7412562635013984, -7.0486139617141514, 16.981384687745692, - -8.7022380510622721, 14.647877845477861, -8.0820055541788722, - 7.2226523022245761, 5.3790569210687584, 13.728807132743302, - 8.5317048523035623, -2.7316549253863927, 5.3846139594020226, - 5.4103146460176523, -6.694268736004001, 8.7300406717059573, - -13.347383859719848, -8.335174873152722, -10.945696086225201, - -10.4875598953527, -6.2891459907155456, -9.3671321709341981, - -11.585498988590738, 6.512870728010193, 6.33239714027453, - 8.7682544573530521, -6.7439993019333704, 9.5026784978124166, - -7.0246760343330656, 6.4372813340255446, 8.1945894173399711, - 10.262887249545706, -7.5060931723177706, -14.674750300787338, - -13.287289997793177, -8.4928309129257595, 7.4563888548291644, - -4.5195874938690226, 8.5442291590063935, 9.7115273312730501, - 15.092119744113154, -6.4263051953856785, 0.12831365323535676, - 8.7640439297438597, -6.1460218943241305, -10.889755958467752, - 13.67769695151666, 6.312988951937812, -13.227320725213115, - -11.784825668882982, -7.6748667604861192, 7.7787450544407344, - -9.3711259762266828, 13.023365017019263, -7.0200584128511876, - 13.494925467734497, 4.2227722997626005, -13.760223253172747, - 6.1777636365323456, 12.067306433588751, -9.9155428829691132, - -6.5766064428842856, -15.151662906193899, 9.6988065214723864, - -10.152731302282174, -8.5735676931961322, -9.9418795299730185, - -6.2260760507460198, 9.447544122507308, -8.1319644337468215, - -4.145324424570318, -3.5485961822808565, -13.467769122062073, - -5.7514070303621585, 4.2372927865136871, 10.111694661148967, - -7.4186471554037379, 11.430760000153063, 12.312843067890855, - -12.810688665750249, -1.4448074235360808, 7.986361807585828, - -1.7676683131382003, -14.521209725348982, -4.352705664193615, - 18.914853195668275, -1.5113121651615482, -3.6397864185997131, - -8.6196558356553385, 4.1199321080626019, -8.4888399293551817, - 0.57614759104880209, -3.8170562650576274, 6.5118953364681147, - 4.0953213386352472, -5.3421050165325257, -12.272356482934088, - -3.0358640779517354, 4.2481637384966975, -2.7752337082527849, - -8.0160326885318369, 9.5768553793879043, -1.8524775210440534, - -11.009861394679287, 8.9742068648070266, 12.471334080830026, - 9.9992644688047552, 8.0039800551702207, -8.7981872925635614, - 6.6433407975833738, 6.5480704488332835, 7.2841246634294423, - -6.3252439319780178, -6.0513426125451124, -6.3988334931556485, - -17.469331458693546, -4.580254889517116, 8.9993454898016569, - 3.2238207283793323, -7.7799510625287303, -13.803751678166556, - 9.7121916487763045, -8.1746700971358059, -8.8126126733994941, - -4.8155492973679186, -10.804453969532291, 7.0086143651800121, - 3.1481410707654631, -12.810183673768677, 2.3362046780839187, - 5.744619950986845, 3.8643342874084374, -13.249939418679734, - 11.415744222471059, 12.554737671029878, 9.8333778447831257, - 5.0957400772063437, -3.9991407502674661, 9.8345770583999279, - -9.7368996360840274, -19.449417624721992, -7.5133274868764675, - 6.0619042605430966, 7.197156700662827, -7.0063836107615485, - -19.263860108465263, 13.028208109141358, 7.1331219897936977, - 5.4720228485501652, -7.3579311406347925, 7.1801636071660138, - 14.640572831964421, -3.8340913302192701, -3.3062445113231744, - 17.400159670258972, -7.1681505547822413, -4.3542281808553351, - -8.4546164816007607, 13.421193429578857, -14.905121149794782, - 8.3143744117862095, 4.9730046756217972, 8.3532232015837344, - -7.5969825424753346, 12.3177910080973, 8.7607875220531426, - 8.5127047792303561, 3.5774587189097899, -9.6494548210828786, - 7.5331539937229897, -7.4747114284701679, -8.6591660587053916, - 7.3468316363038637, -3.622337543593344, 0.47384090625185044, - -6.0463560480716252, 8.0499483448215017, 9.7022755442800293, - -10.776004671468062, 8.3543427603924503, -5.5360568466131905, - 6.0186808121336659, -7.3543970398820848, 9.2806086183805689, - -12.230546104506987, 7.4673092848302733, 10.975472812952574, - 6.7926415721593818, 4.8749321283736755, 9.5323516120815874, - -3.0280886662753885, 5.5571898549900514, 10.226559964818154, - -5.8034190385368811, 6.5444311969384019, -9.130374827280793, - 15.819448485436817, 5.5538576215556326, 2.8637826501217618, - 4.0706674231610558, 6.4597011042272623, -8.3735378854139135, - -9.5667300995851061, -13.845901714228189, 12.714093428899416, - -8.3628461969588557, 7.5987675327409425, 5.9272125723131186, - 4.6950385206484189, -4.8195825770873233, -7.908711363482686, - -6.0290697566338824, -8.6859336035752293, -4.5193059923378351, - -4.5940077637319696, -4.3311584091869832, 5.3536488354562275, - 1.9921280360174241, -9.4633153479117045, -6.6570051760469031, - 14.208357863252012, 9.4845107231608647, -7.1832992233853066, - -8.8475487049318655, -13.630287949249563, -6.0719107719352952, - -14.274798405390152, -11.162105305503859, 13.054901490270078, - 12.995371746588807, -13.146715820058548, 12.945646134893682, - 3.0460739976722446, -12.155229015360904, 2.7412678887489506, - 11.780611735174173, -5.3341954653614927, -10.032480770112713, - -5.8447538785525053, 0.52725472542845364, 13.379456926012971, - 9.6135830134952744, -1.944448284069229, 9.0502993001659355, - -11.346127451101133, 4.2434870682337369, -9.5043367843183457, - -2.9775157830606012, 5.4193649803215109, 5.9212605221007886, - 6.8739591477125153, -9.3618138585411454, -11.34734301929147, - -2.8580136600449677, 9.7314938797272301, 10.716957084696832, - 2.261487615173849, -11.936472547545375, -11.596497065616539, - 8.1683014049841454, -1.9741314291525349, -3.8079032870338203, - -18.998387033650793, 14.785213606318443, -2.4675987407306512, - -12.092457768834166, 8.3055089082183038, -9.8880041321383381, - -12.17693749962149, -5.6119106856770609, 9.3346742365750952, - 5.9978824704833622, 0.13754021975113387, -14.894732183908136, - 14.747292229007831, -9.7097733323647439, 7.1041665937562009, - 8.747982309638612, -1.1124715705618149, -1.3453533016361534, - -7.2336827315963976, -3.3065754079116902, 10.610359888132521, - 6.439770888743964, 11.42420401634142, 6.5388842458764689, - -10.853598132676623, -15.353822721495742, -8.0675862924724751, - 14.459019981256141, -12.566396596207603, 3.4205186262164231, - 5.630487549883056, -8.073684341188935, 0.82126057392054652, - 13.882060246971731, -11.094144048902541, -11.389801550560342, - -10.3187260289045, 2.991571648758196, -6.4911734708363165, - -11.245496138683489, 10.9851776336762, -13.130504876870628, - 3.7733165504957942, 8.4076079303113911, 7.5529546967120051, - 9.1048736341912768, 2.7287083950923141, -6.4019633593747214, - -6.7703960792021753, -7.6283872602484184, -7.6359394699956251, - -11.153289601654617, 4.0727793884727168, 8.3062884746691932, - 15.72392064712384, 0.9811577968163786, -11.722310671012934, - -11.342923130703641, 4.6538782013854689, -7.3739066993524025, - -5.8947067956510093, 11.486762613574625, 12.413880145399126, - 10.786268654735865, -14.830950842039924, -12.718664091764236, - 11.838893611398694, 16.960744319691706, -0.90885433404131177, - 11.805632469674961, 8.787147329142396, 7.4670599584679005, - 13.783711428147573, 2.6889832573487715, 9.8277282208337393, - -12.621979239155044, 11.900463485129047, 7.3974913674936378, - 7.9790082301381764, -18.460977129782226, 9.6868989422260476, - -7.4849707679692381, 2.791279213037106, 5.9072811103444005, - 10.027746084723706, 5.481378194108391, 0.94657543605496242, - 3.1638084348680802, -11.565804912112132, 8.1295825065418228, - 6.2454385368905463, -8.7244225637155086, 9.2949740971114814, - -15.413745662976126, -9.2767171742637053, 20.883637553321279, - 2.1729042705598971, 5.2123425513190229, 11.260222333457566, - 5.4759025599371576, 8.1537344500122764, -12.294121929916995, - 8.802476739158374, -20.703918322925325, -9.4123075195898913, - 14.838015503157582, 8.1809389421993437, -7.6381202529000944, - 5.0731354695422288, -9.7523696522120105, -13.519239387616903, - 7.7323479369959101, 12.148583040284464, 5.4807070910189717, - 4.8696229713233139, 5.0087903276064836, 6.4402113569592467, - 13.277426855835845, 9.6524651881369721, 10.826902095836219, - 16.183489895274345, -9.6318043844967534, -1.373132442179763, - -11.219593888898418, -15.004319828107285, 18.258393722812315, - 3.7354456310459385, 8.0651749744359105, -6.5164044554554748, - -12.565266643553137, -12.030885912645394, -8.5404810535779507, - 12.314165209697041, 7.2947873166397219, -10.819275536058335, - -8.0129408622894012, -3.8121662128657552, -7.6091124585846721, - -8.4798365873122474, -3.9868453977970675, 11.38629202057937, - 3.5714802941824, 2.9518831049273677, 6.3322250488086071, - 11.580034774188221, 13.479927163429085, 2.0786137569475098, - 7.9330224326080057, -3.6943001859225055, -3.2256160391289095, - -12.811450358156192, 13.541505165687818, 2.6411149013180362, - -6.3489619114245244, 13.373338952003571, 12.628299743258562, - 1.0027687748564038, 9.2077227922659706, -13.768254699816865, - 6.8324600540916247, -14.524379303203943, 9.2715316925285709, - 8.7678396133255916, -7.7000840765938703, -7.6752994649649313, - -6.9178464084480851, -2.824297046557938, -10.067962153214038, - 9.8382780470022801, 9.8343360207768367, -10.442346656794413, - -11.531825845771756, -5.6955603852302623, 7.9952115376447042, - 7.2796481632297372, -3.9815702225402285, -13.888827599999129, - -8.7028698626538308, -6.0635186121417952, -1.0917426165389645, - -7.5444189349932813, -13.502585170286313, 5.3738984196649149, - 5.1002418292985094, -2.2415640749653791, 8.3993581378656117, - 17.872303247028064, -5.7930453662663712, -9.5610560588597515, - 8.0594903059030294, 5.9955468570765671, -8.4016643820784811, - 16.017479926774133, 12.457791465479348, 14.251050296430238, - 13.550966058757862, -8.762120073439311, -19.568799520529904, - 14.473633275887034, 4.7150108398434316, 17.622896812791758, - 8.5532109821391256, -7.8861564007563967, 2.8018084587073706, - 11.238281768369326, 19.036214400042667, -12.627994340787289, - -3.229926146308185, -6.2106083456766665, -12.029815325633603, - -12.732678066605525, 16.114114027765005, -8.8878875737603433, - -9.1952288940063198, 2.9514348736209386, -14.875969949421576, - 7.426537438524826, 4.0988218779588257, 5.1048469008081083, - 8.3561664083509974, -7.1680838371486972, 0.079559302266173665, - 7.234447616829998, 9.2153180384359938, 11.380502523658766, - 3.7813665464468564, 9.3571471630839476, -5.6198950965916659, - -2.6112846832626295, -13.074922193350705, 7.1458325396315745, - -6.8553238201936848, 14.037347515845747, 6.1114574644258219, - 2.6233447927944442, -6.6962191818230385, -15.054560815064955, - -3.8509653059595634, 5.6193134186600444, 8.4632418525580135, - 9.06084843255511, 8.7155312766304451, 14.146656363113056, - 9.4485647712524159, -11.894790263269002, 6.3630883640874796, - 6.0659222594215532, 9.3423771994935656, -11.56898779218068, - -12.569317170483185, -3.1542401369229229, -14.317618053977442, - -16.07713062656423, -13.866270731830225, 8.9731628045127234, - -2.7568654754219311, 10.650056946180007, -0.38554919912492391, - -19.636918428478758, -7.261084813408365, 18.261599502237281, - 4.365909470450525, 9.4604701736004575, 9.3379768195852684, - -5.9721332777841125, 1.8392337494849149, 12.236588220433115, - 10.729755869202716, -5.0163355160529157, 7.8745146479874295, - -12.210717308250283, 9.9053843786672573, 4.3176048616878999, - -7.1321033170654076, 9.8376099896153644, 13.994875675654404, - -11.800822210877568, -12.467732532409068, -4.8096053846346782, - -15.806886200214143, -16.011053902031289, 3.3108259217896991, - 9.3708906824355758, 4.9387906035182194, -7.2811664484622529, - -7.2283659694812323, -4.3994107454794076, 13.986557692605393, - 16.267589496305209, -12.5211237853249, -8.6162733581098614, - 11.875897506788261, -5.7924040049014529, 9.60395357854315, - -13.371234187638548, 7.4044876769030976, -9.9169764629346115, - -11.960026798255779, -5.6929530819152605, -14.080996179546117, - -4.9741440758010285, -7.2894457453898616, 1.7385165163304241, - 10.659988023147882, -1.4616437274123262, -10.074637029156758, - -17.086127613435742, 12.235716666711239, -7.9575522168496349, - 5.807625236075423, -9.2779276010226894, -16.480345338445041, - 9.5297786981975108, -12.287759229285887, -5.793455825490601, - 11.046928184816098, 12.263531584491689, -15.868613864191206, - 6.1089590101381299, 7.7043039642206841, 6.7725058819006509, - 0.19765926454723443, -10.92190123421037, -8.6903416862217444, - -3.604954070470813, 10.780882529813848, 7.6342821794581255, - 1.819027960022801, 8.9622472070627612, -3.7731185676641705, - 2.6511830669363676, -5.936256145443763, -3.5065708446633179, - -1.6756694810431396, -9.4457045728120921, 5.1176087336867671, - 9.0843869892318665, -4.9165468247185249, 9.6190501542416023, - 5.7720688303614107, -8.8665231351704143, -16.776765049597191, - 5.1935200585542409, -7.0317717992679913, 8.5952975711448651, - 15.701379400382201, -5.1747900955843287, 6.644409479106538, - -12.294043736596755, -15.483394542555223, -6.9161043885800755, - -16.902160692468406, 13.140408586007654, 7.9585367038084494, - -0.60142488467217781, -10.583573691246794, 7.6570812407643905, - 10.488467203766263, -12.229594163883426, -12.105180821633089, - -10.100333917660924, 10.582889173673999, -4.3524138084056574, - 4.1598294177868027, -7.7208623056787218, 9.8373959423124191, - -9.843437056863948, 9.2758547221503864, 13.917929858415311, - 9.6348606573169207, 6.1603576344825903, 7.2761550553448275, - -5.6132644264075031, 16.925921888188984, 13.099232943399601, - -12.169951256692608, 8.0341465714582103, 9.5080586839310293, - -8.9153040306547862, -6.2778930359354987, 0.65702865949253608, - 6.1455975831103666, 3.4956736733487177, -13.101966614043903, - -8.4917541060921486, -7.7703858331616402, 2.9540207920840338, - -2.8250454453694225, 16.471572201031012, -8.3401753077338174, - 8.5209392200398799, -8.4562622463700912, 5.3451445327350049, - 8.3227551961577149, 9.5505384761710648, -9.6168853444985132, - 7.8088619634040271, -10.010194534199005, 10.407541359870157, - -12.730901681260953, 10.062237956980878, -8.301093581147164, - -11.221782089013969, 5.0699226682185836, 6.8670809315755763, - 9.5183305660198574, -12.477293633009369, -3.0829984725185011, - 14.251075736126907, -0.50381312202666373, 1.3945668674871461, - 4.4380349292124333, -8.4792849992484687, 15.740298722260704, - 6.4916661990457039, 9.8781328856963952, 14.524311425947424, - 8.623227064986775, 1.82594923740208, 8.1658888991281113, - 19.519909829772214, -0.71626812905103776, 1.7182300090879543, - -8.0056305624195137, 8.8667806307632393, -6.8903486607996696, - 5.3931378831660304, -14.284745953661838, 11.800779205285183, - 11.828892295047666, 11.579327959504184, 5.9644626407280574, - -10.637566489206868, -6.3308930175168046, 10.362896991246821, - -13.136681551103671, -10.69114929291889, -8.2804076555200332, - -8.7620956793565572, -8.3349590113674843, 6.0390086996968186, - -0.92206940007654714, 16.688147291793179, -7.7396944231238889, - -10.556885976235911, -5.5034713893873217, 10.684323799177031, - 10.164740010619706, -18.644906837500962, 7.8255279920941758, - 7.1184183927575999, -8.5879829996361785, 10.058536284915368, - -3.9577147638427337, -9.4390455070755355, -10.813502747434075, - 3.1725069430189179, 14.646645070268773, -6.6958720302719321, - 7.1891012020482057, 2.776770380964142, -5.3045752723276198, - 11.024688310314966, -8.8716706651748609, -6.2182144207648875, - 7.2174155723591822, 9.2363647659736916, -0.13811663085025644, - -6.5095852199241193, 2.7850661520962201, 5.7288466875807895, - 3.8404238060339386, -11.979694823507765, -8.1566218452888641, - 8.4872181623141802, 4.0684730663558621, 9.433119896225687, - 17.452359798566942, -9.1852211978356539, 3.7813711040017632, - 13.687886395835575, 8.3110503099043083, -12.263855365231695, - -0.29265821325473718, -5.7786710506977288, 0.32000221107421295, - -13.152220176187292, -6.5995903240006717, -13.649334703564579, - -7.5516513340805105, -15.16406327996164, -6.7664832291371457, - 9.9511431024063146, -11.833825853245724, -11.726480937964023, - -4.6960938337568416, 3.6909792826776235, -5.7241654435325771, - 0.84009221550172219, 3.981445765587416, 8.3193977689219309, - -14.855487044550641, -12.13768399449228, 8.2575189786919658, - -12.482209307351347, 12.288265749008579, 12.92588605732125, - -0.89651953932604156, -17.178851924529209, 13.465060130471429, - -0.66179931634497746, -4.7361380949519907, -8.5915497494217874, - 9.8633923545024036, -11.075503948766817, -11.521258634171812, - -16.937563321814299, -8.4089961555477153, 10.316744468138424, - 11.068755254870558, -12.812559137681774, -11.716000182253042, - -10.794814834414403, -14.695829972179469, -5.7734367211811755, - 19.281663549262714, -7.7079679114509911, 18.982133221850518, - 6.7278265135517552, 9.4200950070653935, -5.0327780626629206, - -1.1472749532062567, 8.9655615288611052, -10.289968622568939, - -4.5317886320427014, -5.0717832150149214, -12.403158065152988, - 16.054879478569319, 11.910769204629043, 8.8721630995550154, - 12.946670225247273, -20.040326823281728, 15.061437997065909, - 12.371159663686912, -5.2434241432319393, -6.539600733678907, - 8.9759004731301122, 10.399696431036546, -9.7820158235043255, - -1.8655127741351087, -7.2564512028104291, -9.2402317505484497, - -15.743596514833451, 8.0518221334585913, 8.064389141916843, - -5.1750464722524647, -1.2577099412771857, 11.088648050953193, - 14.734664098438651, -8.7257834129372487, -4.9071340910761805, - -7.2288497019818241, 11.368753439780507, 11.259515603467754, - -0.9190234527098583, 10.508309728639846, 5.5014236641516137, - -1.0062376510942861, 3.9510038373896794, -3.3772476520373296, - -12.298064413396816, 1.1518807046710942, 9.8347990668982277, - -9.6697877164226895, -5.1708006319540161, 10.90534178699129, - 9.0780310964231923, -11.06717326378323, -10.193153698637712, - 1.6370922062264599, -1.599701860652494, 7.4493340597532782, - 10.079750519485344, 5.9817167134058051, -6.1883642950981734, - -8.7859917448021054, 7.6925693496530796, -11.726693947959594, - 1.5292664230077266, -3.7640503328337047, -9.2026303785959076, - 8.3703384923817321, 9.2968574133785165, -9.0282964165522213, - 14.082662142896044, 7.0391904432891064, -8.1892402659133481, - -8.494960679412987, -8.3171594195215324, -4.1204583607408765, - -12.464929795412097, -8.2800259108270922, 5.0158695467591343, - 2.90504266938304, 5.5802620759772603, 9.6053945607379294, - 7.4665086294967553, 7.2836197716168538, -6.0797636096551519, - 5.9192672325212143, 4.3197502963078556, -2.5794586298505413, - -8.3804827856018385, -5.7616389244014083, 7.5165636982133597, - -3.7871806468757891, 2.6957388838195038, -3.0339814791522679, - 7.7390014359139343, 1.0179611498135317, 0.57428282151728316, - 9.2486809887277968, 8.9851820183067517, -12.322228892543235, - 2.1846637256927366, -6.9268224211182101, -5.6465263096341207, - -9.8609073169739414, -8.0437109222330996, -2.5924823061626299, - 10.799267368908426, 9.5532367964485942, 2.1510949897407339, - 0.72813586085734983, -7.6316236927774765, -6.6634161974825536, - -7.6995131312161114, -2.6469146283491312, -7.8927242011683072, - 7.9686594739655217, -8.0858268153723696, -11.113628935027652, - -4.2312391545249435, 7.400536752330261, -15.878877108958942, - 5.267992480772417, 11.16296673206628, -17.540164979801386, - -14.801126830818111, -11.385201143366997, -14.508310090705075, - 14.464207778841862, 11.215905228606482, 8.9532196390944634, - 3.1058203222772014, 8.0753828772231113, 10.559485384240654, - -8.2414912742823354, -11.714805939566189, 4.7281042573450431, - 12.657353257890819, -6.3043093049399248, 5.067000914225444, - -14.714628033981958, -7.7444814248447615, -2.5025562382741042, - 13.564851064978582, -9.4328409951276662, 10.04126088038934, - -10.570084081595921, 2.3444801610493466, 7.1831276221853866, - 7.404162681313343, 1.1684082688282307, -8.8884680285241533, - 1.9400943416397112, -13.196562462363692, -4.5705203572273359, - 11.003636571194738, 11.468673888105736, -10.534610194739036, - 4.4477979444487845, 7.3667611650061362, -12.044187016767467, - -11.396051178941862, 3.9462512050906744, -12.988661501036244, - 10.545881026800801, -8.0309289513402735, 9.9370741830104734, - 13.654579804016825, 7.0469488853837321, -10.938942295813185, - 5.1800344871423132, 10.882232153707738, 1.2710853105543087, - -6.5661242949766816, 9.7776412282696459, 13.321850745505881, - -8.1153422577009291, -2.2941713421233958, -8.7097542589155221, - 2.2618606797252978, 3.1810406025700315, 4.829995467844082, - -8.8230523342209999, -7.8350849175265527, -9.1156429568037076, - -11.442019665347123, 2.2127249998070249, 18.018245968154236, - 6.7919203279388967, 10.818120665998064, 15.957114328595093, - 9.436472994391762, -15.0724442489973, 10.177531220212931, - 8.7382348206500033, -7.4439716572652967, -10.135340539629416, - -1.5478693068716267, -6.2520881203409369, 21.51870984833112, - 6.7814496888686202, -5.4629593689724354, -1.0810664038442734, - 11.680093350196586, -1.1684404824410481, -8.8192804660387161, - 11.947180907432026, -11.865540708697406, -12.073158010228243, - -9.3168616660647103, -10.855717378744718, 12.832277402471462, - -15.233827235544979, 3.719489187613028, 12.974696537296685, - -8.75959465422536, -2.4475947054420195, 11.313184053568827, - 6.9182165488811229, 12.123675956468196, 9.6442923820443145, - 10.799907622549545, 1.3696427348286129, 12.109212710737127, - 2.6404947713803306, 9.5435762973738267, -5.4268755145327745, - 10.974370356637689, 11.459181655827159, 10.228613791177938, - -2.0376202581586202, 8.5519223504193267, -15.144108617549279, - 10.208111627929036, -16.074632706297336, 9.535346082793712, - 12.968894012265515, 4.2926497043948793, -7.6447760416419124, - 7.3591604897068219, -6.294066487171917, 8.6661482650382133, - 4.3524844886549072, -9.6284187314739373, -16.389868048898698, - 14.370574991274481, -8.2963813089615268, 16.504114329831857, - -8.4564658970066731, -6.3969858495492078, -7.0522130158545027, - 16.328014713505098, 4.0676774938327931, -8.8805902890220576, - -5.6438005548253818, 10.887856323753418, -13.497382772819085, - -17.229682704447541, 10.177341730428909, -10.959196430060141, - -15.892999214486872, -0.39312548358593402, 17.548662000796629, - 8.138747505659067, -11.081466337015, 9.3549081143588229, - -5.2668052531909293, 0.59145215464277101, 13.865804154173629, - -6.7446135707105945, 10.591472647241186, -6.8775928522394087, - 0.79035105716724385, -0.83434363179526505, 13.426811179256797, - 13.480253964577903, 7.9579945693584886, 7.8687287842784803, - -1.2711852125721312, -6.5831626138029433, -10.255988526378117, - -9.3721646222445631, -4.5483019698635951, 12.654546996958775, - -2.2845772848784054, -13.395748226685187, 10.227730333720137, - -8.9275038607977386, 9.2096733075692399, -9.1994549499155589, - -4.5768838702423018, 7.4336970353205523, 6.1990136188764922, - 5.392562974045604, 6.8615159418299543, -9.9148725697134683, - 10.272013543022926, -6.541146389868957, 6.1996539988491746, - -8.5702789915391175, 6.0710850780527128, 0.41216255793753664, - -6.8452494187073416, -7.3698306482120808, -4.3788198137924814, - 5.254192997316685, 7.0651978737141468, -8.3496697717376325, - -15.541186410630397, -13.361062248182593, 11.869712905857645, - 8.8858662456220436, 2.315280646740792, 9.1370562156627635, - 10.612212040886574, 15.723923545841364, 9.3000796832012966, - -12.203790919241875, 9.5229433645020229, -11.332560886601259, - -11.799762316157022, 8.6718707861873146, 3.4390494326490342, - 10.948206478975262, 10.351083327208633, -2.3551385999606347, - 3.6593868571158006, -10.912461508095474, 6.3601915796808566, - 12.644105697007012, 8.0987317607631102, 6.8425116090817673, - -7.8614337809266139, -16.777952262404956, -15.092829035089149, - -10.867283176676434, 9.7617585972043095, 7.0699740006630494, - -0.80345056050581032, 7.2341098943011026, -2.7901743760803868, - -14.023920253719963, -8.6493250885626658, 12.119156062865828, - -12.565363519164727, -6.6257256922764087, 9.9530063133378111, - 6.2285641482405287, 8.5890710113124502, 10.901661163934543, - 1.7011000225296526, 9.2328185698429888, -2.5151197107048353, - -0.78814118951465995, -6.3782804075339934, 0.77016194990540299, - 4.7860592575330942, -18.091131028655795, 6.6618347947308489, - -4.5537746303503699, 12.906362988375243, 6.6637236513957019, - 5.4194732758517778, -5.626683563346548, 4.8295291548347352, - -11.904932030289029, 9.9944164460741938, -11.027348899069844, - -0.014743410131345848, -7.3410368137184197, -12.558702052466645, - -9.2966083471503538, -2.8582301845790048, 16.122229949617235, - 6.0332133243788979, 9.4423884847579131, -6.7953848219405604, - -8.640997496023326, 11.564755524473357, 7.7370575077503672, - 11.178600690994582, 9.6609341268345741, -5.0924071871300569, - 2.9472182219982841, 11.322674214116185, 17.636604816170465, - -8.112421382991716, 5.7980976514734257, 10.587871354585735, - -10.207529594090163, -13.012906685255201, 1.6439826301840548, - 4.7959168408892552, -9.1817793609379343, 15.910744159295755, - 11.988413488939839, 10.225499838967904, -2.1100999951643771, - 7.7773391391119979, 4.2070274590049737, 3.1789918079199362, - 11.389698381773869, -5.6797986359782069, -4.7261529062162424, - -6.1926650154600731, 9.5097255166801595, -4.4005426737892748, - 4.8284348550831577, -7.4035564503513553, -10.371755556185054, - -11.138214834764621, -11.479591917367713, 7.3492465579271542, - -8.6401023000535666, 2.4737379805053212, -8.4391176745455763, - -3.5699286239866383, -8.1254703716775829, 11.948227614312263, - 7.880462510583679, 1.8623842706739999, 7.3888689386136646, - -1.2896033177393418, -8.2116493851785464, -9.0121076446113531, - 2.6038276518722672, 7.9944375021940459, -4.3649859784435145, - 5.1704186172538593, 7.7846827735959723, -0.51775021699396251, - -13.814395914977867, 11.155615752700793, -4.0116122940272048}; - -const char H_2064_516_sparse_detected_data[] = { - 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, - 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, - 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, - 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, - 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, - 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, - 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, - 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, - 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, - 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, - 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, - 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, - 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, - 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, - 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, - 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, - 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, - 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, - 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, - 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, - 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, - 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, - 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, - 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, - 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, - 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, - 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, - 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, - 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, - 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, - 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, - 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, - 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, - 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, - 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, - 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, - 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, - 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, - 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, - 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, - 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, - 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, - 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, - 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, - 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, - 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, - 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, - 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, - 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, - 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, - 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, - 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, - 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, - 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, - 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, - 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, - 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, - 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, - 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, - 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, - 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, - 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, - 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, - 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, - 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, - 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, - 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, - 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, - 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, - 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, - 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, - 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, - 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, - 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, - 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, - 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, - 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, - 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, - 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, - 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, - 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, - 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, - 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, - 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, - 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, - 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, - 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, - 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, - 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, - 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, - 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, - 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, - 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, - 0, 0, 1, 0, 1}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_2064_516_sparse.h b/vendor/codec2_flutter_ios_only/src/codec2/src/H_2064_516_sparse.h deleted file mode 100644 index 0c489ba..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_2064_516_sparse.h +++ /dev/null @@ -1,22 +0,0 @@ -/* - FILE....: ../src/H_2064_516_sparse.h - - Static arrays for CML LDPC codec, generated - by test_ldpc_fsk.m:simple_ut(). - -*/ - -#include - -#define NUMBERPARITYBITS 516 -#define MAX_ROW_WEIGHT 12 -#define CODELENGTH 2580 -#define NUMBERROWSHCOLS 2064 -#define MAX_COL_WEIGHT 3 -#define DEC_TYPE 0 -#define MAX_ITER 10 - -extern const uint16_t H_2064_516_sparse_H_rows[]; -extern const uint16_t H_2064_516_sparse_H_cols[]; -extern const float H_2064_516_sparse_input[]; -extern const char H_2064_516_sparse_detected_data[]; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_212_158.c b/vendor/codec2_flutter_ios_only/src/codec2/src/H_212_158.c deleted file mode 100644 index e3992bf..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_212_158.c +++ /dev/null @@ -1,132 +0,0 @@ -/* - FILE....: H_212_158.c - - Static arrays for LDPC codec H_212_158, generated by ldpc_gen_c_h_file.m. -*/ - -#include "H_212_158.h" - -#include - -const uint16_t H_212_158_H_rows[] = { - 26, 3, 35, 2, 7, 22, 4, 1, 14, 11, 12, 13, 16, 6, 19, - 22, 3, 6, 3, 19, 7, 4, 25, 27, 12, 3, 24, 11, 7, 2, - 7, 16, 3, 40, 3, 28, 1, 22, 1, 19, 13, 44, 6, 5, 14, - 25, 24, 39, 18, 8, 46, 12, 31, 22, 9, 2, 27, 23, 71, 5, - 11, 56, 7, 8, 17, 34, 47, 55, 56, 61, 32, 25, 42, 36, 7, - 21, 10, 23, 51, 77, 23, 5, 27, 15, 13, 22, 43, 21, 17, 61, - 4, 30, 45, 33, 37, 22, 30, 54, 8, 9, 72, 53, 35, 46, 29, - 27, 48, 66, 55, 27, 15, 10, 38, 32, 80, 13, 16, 66, 14, 31, - 20, 49, 60, 57, 59, 73, 46, 31, 43, 62, 9, 26, 15, 27, 55, - 86, 28, 11, 49, 33, 34, 44, 48, 27, 18, 67, 13, 38, 61, 35, - 52, 63, 61, 84, 20, 10, 75, 112, 58, 60, 35, 50, 57, 67, 70, - 29, 20, 17, 41, 65, 111, 53, 18, 118, 21, 33, 53, 61, 63, 74, - 71, 78, 47, 39, 45, 67, 87, 36, 24, 58, 60, 88, 37, 25, 51, - 38, 45, 60, 52, 32, 50, 69, 22, 65, 71, 41, 62, 76, 82, 89, - 26, 22, 80, 118, 83, 93, 37, 54, 62, 71, 87, 34, 47, 29, 52, - 92, 117, 75, 41, 121, 59, 34, 54, 80, 75, 100, 75, 104, 69, 50, - 75, 74, 89, 40, 25, 69, 64, 105, 53, 44, 104, 39, 66, 68, 55, - 70, 58, 91, 71, 75, 124, 55, 103, 83, 85, 109, 49, 28, 84, 125, - 84, 95, 42, 55, 92, 73, 104, 78, 55, 115, 64, 99, 126, 92, 68, - 130, 94, 40, 68, 89, 87, 103, 77, 107, 82, 57, 78, 82, 91, 55, - 30, 81, 67, 114, 61, 70, 125, 71, 95, 73, 61, 83, 64, 98, 108, - 91, 129, 59, 104, 123, 90, 120, 77, 36, 103, 133, 107, 103, 48, 56, - 106, 101, 105, 98, 85, 126, 110, 102, 133, 104, 84, 131, 125, 43, 88, - 94, 108, 110, 81, 110, 96, 99, 88, 86, 97, 73, 42, 100, 97, 117, - 76, 81, 126, 72, 123, 79, 63, 108, 79, 106, 119, 93, 132, 96, 134, - 152, 137, 124, 90, 94, 123, 146, 115, 119, 74, 65, 112, 103, 119, 133, - 93, 127, 119, 109, 150, 114, 113, 132, 128, 44, 97, 96, 113, 131, 98, - 111, 105, 124, 137, 109, 129, 113, 77, 135, 102, 136, 79, 86, 152, 105, - 0, 85, 72, 131, 90, 114, 147, 130, 151, 109, 139, 0, 0, 136, 99, - 100, 0, 155, 132, 120, 105, 107, 127, 136, 151, 134, 106, 139, 124, 123, - 0, 120, 117, 153, 139, 51, 111, 102, 116, 0, 0, 122, 144, 140, 138, - 128, 141, 148, 101, 137, 122, 156, 119, 103, 0, 138, 0, 105, 154, 138, - 95, 118, 0, 0, 0, 116, 147, 0, 0, 143, 103, 122, 0, 156, 0, - 141, 121, 139, 130, 142, 0, 149, 123, 155, 153, 0, 0, 121, 127, 0, - 149, 76, 134, 131, 124, 0, 0, 123, 149, 142, 0, 140, 153, 0, 109, - 141, 130, 0, 0, 132, 0, 0, 0, 129, 0, 143, 101, 139, 0, 0, - 0, 135, 0, 0, 0, 147, 115, 144, 0, 0, 0, 0, 122, 146, 152, - 144, 0, 154, 125, 0, 0, 0, 0, 128, 140, 0, 150, 101, 0, 0, - 133, 0, 0, 141, 0, 0, 0, 151, 155, 0, 119, 142, 150, 0, 0, - 0, 0, 0, 0, 146, 0, 0, 104, 0, 0, 0, 0, 0, 0, 0, - 0, 148, 130, 0, 0, 0, 0, 0, 125, 0, 0, 0, 0, 0, 132, - 0, 0, 0, 0, 135, 145, 0, 0, 112, 0, 0, 139, 0, 0, 143, - 0, 0, 0, 0, 0, 0, 131, 145, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 116, 0, 0, 0, 0, 0, 0, 0, 0, 154, 133, 0, - 0, 0, 0, 0, 148, 0, 0, 0, 0, 0, 142, 0, 0, 0, 0, - 0, 0, 0, 0, 121, 0, 0, 0, 0, 0, 156, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0}; - -const uint16_t H_212_158_H_cols[] = { - 8, 4, 2, 7, 4, 14, 5, 8, 19, 21, 5, 11, 4, 7, 21, 5, 9, 5, 15, - 9, 7, 6, 2, 21, 16, 1, 1, 25, 49, 21, 8, 2, 8, 8, 3, 18, 25, 1, - 16, 8, 1, 17, 8, 8, 17, 15, 11, 31, 10, 16, 8, 1, 4, 9, 12, 6, 12, - 22, 7, 11, 10, 18, 11, 1, 2, 6, 18, 5, 15, 26, 3, 28, 14, 12, 4, 8, - 13, 14, 25, 3, 13, 15, 32, 5, 30, 18, 11, 9, 10, 33, 19, 2, 36, 7, 29, - 10, 9, 13, 2, 12, 8, 2, 12, 4, 15, 34, 14, 11, 2, 1, 3, 8, 5, 4, - 43, 11, 3, 6, 1, 4, 4, 14, 2, 1, 7, 3, 5, 4, 19, 6, 6, 6, 3, - 9, 4, 24, 17, 17, 7, 5, 8, 16, 14, 15, 5, 30, 35, 20, 7, 3, 18, 27, - 1, 31, 19, 14, 37, 30, 17, 22, 26, 18, 7, 43, 44, 44, 10, 25, 12, 9, 28, - 13, 33, 33, 20, 43, 20, 16, 22, 27, 21, 20, 22, 36, 54, 36, 16, 15, 28, 10, - 38, 20, 39, 28, 28, 20, 5, 21, 17, 26, 29, 48, 15, 49, 27, 33, 23, 31, 9, - 42, 20, 13, 16, 33, 13, 23, 14, 39, 31, 23, 36, 29, 23, 9, 22, 32, 13, 31, - 20, 18, 11, 25, 21, 17, 30, 10, 22, 18, 40, 42, 41, 24, 19, 17, 19, 41, 34, - 4, 48, 10, 33, 15, 19, 34, 16, 22, 21, 10, 26, 14, 24, 51, 47, 32, 18, 12, - 9, 46, 11, 24, 47, 33, 5, 34, 21, 42, 6, 23, 14, 11, 27, 27, 51, 7, 30, - 23, 10, 26, 11, 39, 22, 42, 22, 28, 11, 16, 14, 22, 32, 44, 22, 46, 39, 42, - 15, 7, 37, 40, 6, 42, 46, 24, 39, 56, 19, 35, 44, 43, 19, 50, 55, 56, 26, - 52, 29, 45, 55, 32, 56, 49, 40, 55, 32, 30, 25, 47, 23, 43, 24, 44, 56, 41, - 53, 32, 38, 29, 47, 44, 49, 36, 48, 34, 38, 49, 31, 30, 37, 51, 55, 51, 43, - 50, 27, 39, 25, 50, 23, 50, 51, 47, 38, 30, 25, 51, 40, 33, 50, 52, 34, 30, - 34, 53, 28, 45, 30, 49, 13, 40, 24, 54, 33, 45, 26, 41, 47, 45, 55, 26, 53, - 24, 42, 43, 36, 51, 55, 44, 48, 38, 23, 54, 43, 44, 33, 23, 39, 27, 28, 55, - 50, 35, 21, 14, 14, 51, 20, 34, 56, 38, 24, 46, 25, 48, 8, 44, 29, 16, 46, - 56, 56, 18, 37, 36, 12, 37, 43, 54, 38, 52, 41, 32, 34, 18, 19, 52, 42, 52, - 43, 50, 42, 49, 54, 23, 53, 51, 19, 54, 56, 46, 0, 0, 26, 0, 0, 0, 21, - 0, 0, 0, 28, 0, 35, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 0, 26, 0, - 27, 0, 0, 0, 0, 0, 0, 54, 49, 0, 0, 0, 0, 0, 0, 0, 0, 42, 0, - 0, 0, 0, 0, 0, 0, 0, 46, 0, 31, 0, 0, 0, 0, 48, 31, 0, 0, 0, - 0, 0, 52, 0, 0, 0, 35, 0, 52, 0, 17, 0, 43, 0, 0, 0, 0, 0, 0, - 47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, - 43, 33, 30, 0, 0, 0, 38, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 0, 49, - 49, 40, 37, 49, 0, 0, 0, 0, 43, 21, 47, 46, 0, 0, 0, 0, 0, 39, 0, - 22, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, - 0, 0, 0, 29, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 38, - 0, 0, 46, 0, 32, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38, 0, 0, 0, 0, 0, - 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 0, 0, 0, 36, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 45, 39, 49, 0, 0, 0, 42, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 48, 0, 0, 0, 45, 42, 55, 0, 0, 0, 0, 51, 32, 55, 54, 0, 0, 0, - 0, 0, 50, 0, 48, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 35, 0, 0, 0, 31, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 40, 0, 0, 0, 0, 50, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 50, 0, - 0, 0, 0, 0, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 45, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 48, 53, 53, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 53, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 44, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 53, 0, 0, 0, 0, 0, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 54, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_212_158.h b/vendor/codec2_flutter_ios_only/src/codec2/src/H_212_158.h deleted file mode 100644 index 8e2e067..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_212_158.h +++ /dev/null @@ -1,18 +0,0 @@ -/* - FILE....: H_212_158.h - - Static arrays for LDPC codec H_212_158, generated by ldpc_gen_c_h_file.m. -*/ - -#define H_212_158_NUMBERPARITYBITS 56 -#define H_212_158_MAX_ROW_WEIGHT 14 -#define H_212_158_CODELENGTH 212 -#define H_212_158_NUMBERROWSHCOLS 156 -#define H_212_158_MAX_COL_WEIGHT 8 -#define H_212_158_DEC_TYPE 0 -#define H_212_158_MAX_ITER 100 - -#include - -extern const uint16_t H_212_158_H_rows[]; -extern const uint16_t H_212_158_H_cols[]; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_256_512_4.c b/vendor/codec2_flutter_ios_only/src/codec2/src/H_256_512_4.c deleted file mode 100644 index 793e585..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_256_512_4.c +++ /dev/null @@ -1,345 +0,0 @@ -/* - FILE....: H_256_512_4.c - - Static arrays for LDPC codec H_256_512_4, generated by ldpc_gen_c_h_file.m. -*/ - -#include "H_256_512_4.h" - -#include - -const uint16_t H_256_512_4_H_rows[] = { - 31, 4, 119, 30, 148, 50, 53, 47, 6, 1, 91, 82, 20, 91, 180, - 41, 42, 48, 97, 129, 5, 8, 162, 5, 55, 10, 100, 18, 111, 9, - 71, 130, 26, 77, 29, 14, 9, 3, 170, 176, 18, 35, 21, 73, 80, - 41, 62, 34, 72, 45, 141, 39, 121, 12, 46, 16, 91, 24, 84, 57, - 16, 21, 2, 65, 44, 14, 32, 39, 143, 106, 53, 23, 31, 100, 24, - 75, 27, 25, 13, 67, 23, 81, 99, 101, 28, 7, 153, 13, 43, 38, - 64, 97, 7, 76, 22, 34, 35, 8, 19, 31, 40, 54, 43, 11, 52, - 40, 7, 123, 21, 46, 10, 18, 98, 63, 48, 37, 25, 58, 33, 58, - 84, 41, 16, 47, 185, 65, 58, 41, 8, 12, 63, 93, 60, 47, 23, - 92, 4, 28, 52, 6, 74, 57, 43, 17, 148, 1, 11, 52, 12, 10, - 109, 19, 74, 40, 3, 49, 69, 30, 20, 64, 31, 6, 82, 71, 89, - 36, 17, 68, 67, 56, 110, 20, 172, 54, 36, 15, 56, 4, 26, 24, - 14, 45, 158, 69, 5, 6, 2, 19, 16, 8, 72, 58, 108, 57, 125, - 38, 24, 105, 56, 27, 73, 82, 63, 25, 22, 112, 44, 19, 14, 133, - 50, 55, 3, 18, 34, 17, 42, 21, 1, 7, 26, 128, 75, 95, 111, - 51, 15, 5, 3, 78, 79, 32, 1, 48, 108, 11, 32, 29, 72, 66, - 15, 2, 66, 4, 2, 87, 113, 80, 84, 13, 9, 104, 23, 69, 29, - 101, 54, 20, 136, 61, 203, 52, 93, 75, 9, 168, 142, 102, 140, 110, - 194, 139, 160, 83, 145, 132, 62, 50, 198, 46, 94, 60, 130, 72, 192, - 60, 76, 131, 50, 155, 179, 163, 12, 113, 197, 183, 120, 118, 70, 103, - 120, 83, 208, 96, 172, 56, 174, 124, 161, 68, 140, 51, 139, 186, 143, - 95, 93, 92, 98, 85, 107, 25, 123, 44, 155, 121, 96, 106, 133, 103, - 125, 78, 59, 83, 66, 159, 112, 90, 133, 224, 131, 51, 157, 32, 49, - 134, 79, 216, 11, 81, 33, 53, 128, 26, 28, 68, 85, 162, 67, 87, - 68, 92, 87, 133, 40, 144, 45, 80, 187, 118, 131, 114, 35, 91, 135, - 172, 98, 195, 17, 76, 213, 70, 141, 48, 70, 105, 79, 96, 149, 88, - 99, 111, 38, 147, 86, 45, 77, 118, 61, 42, 161, 61, 73, 71, 44, - 63, 216, 53, 117, 71, 60, 55, 81, 49, 33, 139, 134, 28, 188, 171, - 176, 121, 119, 89, 70, 164, 151, 29, 195, 157, 135, 43, 59, 47, 36, - 78, 35, 59, 179, 88, 13, 69, 22, 101, 119, 150, 80, 116, 171, 159, - 172, 86, 122, 107, 66, 46, 100, 169, 159, 163, 101, 149, 105, 27, 54, - 154, 86, 165, 170, 132, 93, 115, 142, 65, 106, 39, 150, 136, 90, 198, - 124, 132, 82, 22, 183, 103, 118, 37, 30, 112, 190, 83, 98, 30, 120, - 97, 39, 36, 109, 88, 33, 111, 156, 97, 94, 62, 74, 130, 34, 77, - 51, 109, 175, 94, 208, 115, 217, 107, 164, 180, 10, 229, 184, 155, 158, - 152, 204, 142, 187, 130, 209, 185, 110, 75, 219, 151, 95, 116, 200, 226, - 194, 89, 162, 157, 78, 181, 240, 178, 77, 150, 217, 202, 179, 136, 163, - 126, 204, 100, 236, 99, 183, 137, 236, 188, 217, 107, 204, 115, 218, 204, - 145, 162, 241, 183, 121, 117, 160, 148, 143, 152, 169, 221, 166, 149, 153, - 223, 127, 122, 144, 125, 138, 191, 146, 177, 146, 245, 153, 129, 231, 169, - 73, 165, 112, 240, 15, 88, 158, 64, 163, 126, 59, 114, 137, 171, 126, - 125, 176, 108, 124, 221, 202, 184, 65, 108, 230, 174, 146, 134, 87, 144, - 189, 186, 106, 199, 109, 86, 219, 191, 205, 64, 173, 234, 141, 239, 168, - 90, 123, 137, 76, 182, 114, 85, 102, 219, 74, 242, 215, 156, 122, 177, - 156, 168, 228, 131, 173, 81, 205, 67, 85, 94, 38, 196, 161, 89, 201, - 226, 206, 170, 139, 153, 178, 166, 184, 49, 203, 215, 233, 102, 62, 140, - 42, 184, 57, 116, 189, 99, 37, 154, 37, 138, 196, 197, 92, 147, 243, - 178, 210, 140, 180, 114, 190, 120, 104, 194, 220, 203, 200, 205, 110, 182, - 161, 181, 151, 178, 225, 157, 196, 230, 152, 128, 187, 115, 160, 174, 102, - 220, 207, 240, 124, 27, 197, 127, 196, 222, 84, 148, 239, 104, 228, 145, - 147, 169, 61, 223, 164, 143, 134, 128, 160, 190, 229, 188, 156, 132, 79, - 90, 104, 242, 252, 145, 253, 193, 238, 150, 224, 211, 117, 251, 199, 180, - 254, 208, 209, 250, 248, 232, 254, 232, 144, 177, 246, 167, 159, 141, 245, - 231, 210, 113, 175, 182, 227, 234, 254, 217, 154, 176, 233, 226, 182, 213, - 197, 135, 254, 127, 255, 198, 206, 255, 253, 208, 247, 113, 211, 216, 253, - 210, 228, 165, 243, 212, 222, 256, 227, 232, 181, 248, 209, 238, 214, 229, - 215, 250, 199, 126, 147, 195, 244, 251, 221, 256, 214, 250, 214, 213, 252, - 234, 193, 175, 218, 241, 193, 198, 167, 146, 235, 233, 166, 249, 239, 185, - 173, 192, 252, 226, 136, 222, 256, 186, 174, 240, 242, 235, 215, 167, 129, - 236, 223, 199, 123, 218, 224, 177, 243, 235, 218, 245, 256, 249, 149, 246, - 225, 155, 237, 190, 95, 231, 175, 166, 201, 220, 251, 250, 221, 248, 127, - 202, 201, 191, 230, 245, 191, 246, 206, 135, 96, 251, 55, 224, 222, 116, - 234, 252, 231, 187, 152, 154, 233, 239, 227, 189, 205, 232, 247, 122, 138, - 209, 103, 211, 185, 236, 200, 181, 105, 214, 244, 164, 213, 202, 210, 206, - 246, 235, 212, 167, 192, 151, 207, 158, 189, 207, 229, 212, 223, 238, 188, - 200, 165, 249, 211, 247, 238, 171, 219, 248, 227, 137, 225, 119, 170, 255, - 173, 237, 255, 243, 192, 138, 203, 142, 253, 249, 230, 195, 241, 129, 244, - 216, 186, 228, 201, 242, 241, 237, 247, 212, 225, 194, 237, 207, 168, 179, - 220, 117, 193, 244}; - -const uint16_t H_256_512_4_H_cols[] = { - 10, 63, 38, 2, 21, 9, 86, 22, 9, 9, 93, 37, 79, 36, 93, - 56, 123, 28, 99, 2, 43, 95, 72, 58, 66, 33, 77, 85, 35, 4, - 1, 67, 95, 48, 42, 166, 116, 90, 52, 101, 16, 17, 89, 65, 50, - 24, 8, 18, 89, 6, 56, 6, 7, 1, 25, 50, 60, 118, 77, 26, - 4, 21, 114, 91, 64, 79, 80, 54, 157, 43, 31, 28, 44, 141, 8, - 31, 34, 33, 91, 45, 82, 12, 18, 59, 64, 124, 104, 94, 30, 82, - 11, 62, 7, 2, 25, 48, 19, 63, 48, 27, 84, 12, 44, 201, 130, - 70, 6, 106, 123, 14, 29, 81, 30, 100, 4, 26, 9, 42, 3, 41, - 53, 76, 67, 52, 75, 44, 46, 97, 20, 18, 32, 20, 73, 90, 44, - 3, 50, 79, 16, 13, 26, 11, 59, 21, 2, 81, 77, 5, 72, 6, - 24, 14, 73, 37, 12, 146, 32, 13, 25, 17, 53, 23, 36, 7, 60, - 71, 24, 10, 69, 39, 102, 49, 103, 51, 1, 38, 22, 36, 35, 8, - 34, 32, 40, 11, 20, 58, 17, 52, 119, 136, 80, 29, 4, 15, 78, - 160, 39, 23, 11, 27, 141, 40, 5, 15, 127, 49, 199, 3, 15, 29, - 8, 62, 42, 71, 73, 56, 5, 57, 23, 142, 70, 63, 74, 7, 133, - 28, 33, 59, 10, 113, 28, 18, 39, 34, 97, 47, 135, 5, 101, 35, - 61, 113, 61, 79, 27, 23, 53, 17, 100, 16, 10, 1, 3, 13, 47, - 64, 146, 187, 155, 137, 24, 140, 93, 98, 30, 26, 104, 54, 88, 66, - 176, 61, 144, 41, 152, 13, 62, 187, 81, 75, 78, 98, 200, 99, 172, - 158, 73, 88, 119, 96, 97, 175, 185, 137, 68, 106, 46, 144, 103, 68, - 111, 55, 124, 115, 156, 22, 86, 105, 71, 102, 156, 170, 142, 120, 99, - 30, 143, 47, 131, 96, 111, 199, 103, 100, 184, 126, 148, 49, 89, 143, - 22, 94, 37, 76, 131, 112, 94, 163, 46, 121, 101, 139, 107, 134, 162, - 134, 14, 106, 61, 25, 60, 71, 92, 113, 83, 46, 188, 141, 74, 236, - 185, 72, 54, 112, 151, 21, 136, 91, 38, 116, 56, 162, 64, 114, 167, - 45, 63, 147, 108, 107, 78, 76, 75, 218, 86, 27, 85, 214, 83, 116, - 119, 42, 101, 177, 57, 55, 51, 16, 67, 77, 19, 83, 138, 66, 131, - 38, 171, 68, 85, 168, 34, 149, 87, 95, 80, 65, 145, 31, 43, 170, - 90, 99, 95, 133, 88, 166, 164, 120, 129, 111, 31, 40, 82, 169, 41, - 12, 67, 41, 49, 110, 102, 110, 113, 163, 172, 199, 126, 104, 89, 29, - 122, 189, 43, 48, 75, 183, 149, 109, 173, 45, 155, 155, 202, 14, 19, - 58, 55, 195, 86, 83, 115, 92, 36, 91, 125, 203, 81, 108, 119, 84, - 213, 40, 65, 151, 72, 151, 87, 20, 98, 88, 114, 51, 224, 70, 132, - 92, 92, 144, 125, 187, 84, 132, 175, 68, 130, 74, 80, 87, 51, 19, - 50, 82, 219, 242, 213, 178, 185, 162, 107, 129, 37, 111, 147, 130, 185, - 181, 227, 123, 167, 112, 188, 159, 109, 205, 135, 180, 117, 179, 208, 138, - 238, 233, 100, 232, 159, 215, 117, 179, 187, 159, 220, 109, 122, 179, 143, - 149, 140, 110, 134, 128, 158, 33, 226, 139, 96, 174, 159, 177, 181, 127, - 177, 133, 146, 177, 150, 128, 126, 240, 156, 105, 186, 129, 154, 191, 147, - 153, 76, 124, 141, 180, 231, 191, 154, 202, 78, 233, 140, 196, 117, 184, - 165, 223, 57, 136, 132, 158, 137, 132, 240, 121, 135, 74, 205, 176, 179, - 252, 198, 121, 65, 193, 243, 171, 225, 206, 54, 139, 216, 182, 153, 142, - 189, 200, 70, 176, 121, 225, 104, 98, 147, 222, 117, 32, 115, 226, 108, - 161, 156, 107, 136, 188, 160, 178, 127, 217, 69, 110, 59, 96, 192, 145, - 133, 190, 198, 167, 87, 186, 69, 247, 174, 183, 194, 221, 161, 60, 97, - 188, 209, 140, 116, 150, 202, 213, 193, 173, 153, 114, 90, 105, 124, 194, - 183, 15, 184, 138, 62, 171, 125, 120, 166, 207, 183, 235, 150, 197, 93, - 202, 173, 215, 190, 94, 120, 205, 163, 148, 204, 55, 173, 165, 225, 47, - 69, 191, 180, 204, 125, 85, 145, 151, 39, 122, 142, 224, 108, 161, 205, - 123, 219, 106, 171, 237, 203, 216, 138, 66, 169, 130, 126, 118, 244, 206, - 170, 112, 235, 242, 193, 237, 128, 154, 212, 146, 210, 84, 143, 105, 57, - 35, 222, 109, 233, 245, 229, 244, 228, 186, 220, 190, 251, 150, 236, 149, - 250, 209, 241, 189, 216, 214, 208, 172, 218, 228, 253, 197, 204, 221, 228, - 162, 255, 238, 161, 237, 245, 253, 181, 242, 232, 196, 241, 154, 128, 217, - 176, 207, 182, 200, 178, 234, 172, 211, 255, 148, 152, 209, 212, 199, 194, - 192, 182, 155, 241, 250, 203, 160, 218, 243, 169, 168, 254, 169, 164, 239, - 201, 251, 223, 137, 254, 230, 253, 248, 157, 227, 236, 249, 157, 211, 246, - 244, 168, 254, 118, 191, 215, 249, 224, 157, 248, 237, 184, 201, 256, 223, - 230, 255, 207, 219, 198, 235, 256, 207, 246, 234, 247, 198, 220, 192, 254, - 231, 220, 239, 166, 197, 135, 227, 195, 103, 230, 246, 236, 252, 152, 252, - 210, 245, 175, 222, 218, 228, 167, 196, 131, 230, 244, 118, 238, 115, 239, - 234, 206, 221, 211, 217, 168, 210, 134, 251, 214, 200, 203, 247, 209, 102, - 204, 243, 212, 170, 196, 251, 240, 221, 214, 195, 223, 222, 139, 165, 148, - 212, 252, 197, 210, 208, 229, 180, 181, 239, 219, 250, 201, 248, 153, 227, - 255, 248, 234, 231, 229, 224, 122, 208, 241, 190, 229, 58, 206, 192, 250, - 52, 178, 195, 211, 246, 189, 186, 174, 238, 53, 127, 215, 253, 145, 232, - 242, 160, 247, 164, 217, 240, 249, 233, 165, 174, 175, 163, 194, 182, 249, - 213, 235, 226, 243, 256, 226, 256, 152, 193, 245, 216, 232, 144, 158, 164, - 231, 45, 225, 129}; -const float H_256_512_4_input[] = { - 0.51757034789149192, 3.6747768327751107, 7.7236521981742676, - -4.7107278911943427, 7.7122230429603542, -14.946266731679888, - -9.5567730710166714, -7.5877780009775071, -8.3629835471455127, - 8.4844922006171419, 9.4734932311757394, -6.8841383473145763, - -4.6284234216637214, -7.8669368046418358, 12.226645532420404, - -7.3774603770015981, 7.7649435759022252, -12.127076055381709, - 7.4012504229333951, 6.5535650029238361, -12.318540215486564, - -15.835684442673877, 10.779009024429017, 11.841953278425423, - 7.1804756215244456, 2.8408801132499808, -11.09563707808943, - 7.1789245659484093, 10.24316438845271, 6.4838781564425041, - 15.604657058526026, 17.695904359387381, 6.4313440196217382, - 4.9488783865887793, 9.9527088015343548, -2.7205772402494488, - 12.156344173793103, -11.205004871994769, -12.211802140176635, - -5.4465825069640195, -10.152012956739171, -1.1179875067929763, - -10.479027227263707, -8.5090340518598531, -7.5030586007744553, - -4.9370617561264698, -0.78486455084153151, -9.9902064527523908, - -7.1974696423785023, 15.904653930974046, -3.2958890233801612, - 6.9052860853356819, -15.446573781345712, 8.2911853913447402, - 0.40395028984397091, -1.5672283593714793, 11.262818645299314, - 7.1710703603039994, 4.1597725238676002, -11.382339164684311, - 14.132112287584638, 3.2925942129085506, -6.1011528087958027, - 7.8516182070629279, 5.9768136552516342, 2.699484726705069, - 5.2066829520768056, -0.7207484827070334, -8.2386610240355651, - 6.0717182827619967, -8.5076501195080585, -13.703946410299512, - 9.2623574093742604, -6.9682747118380446, -4.9023588860381846, - 9.3084136203033694, 11.148851565040838, 9.1302433636417319, - -6.9420186741739887, 7.9337725600954645, 15.582342768204805, - 10.766162729242598, -4.9576813210420525, 6.6727325567460882, - -12.196894026695226, 11.022208518924467, 1.6977876257198246, - -8.9073010297491386, -3.4873714683714097, 10.267082736130799, - -6.2704199741458089, -6.7409188535835654, 7.0799113259507331, - 4.2517449421654421, 10.988809910933929, 8.3098010378717788, - 0.65053609686067293, -9.8680908214463745, -0.13210703660490827, - 10.569960823465198, 5.631834756326584, -17.599792146333385, - -7.4505114988199814, 2.0876055933892643, -11.848744235597531, - -6.370769553578242, 10.349368965148454, -11.054250547489133, - 4.9685950633439182, 16.26542564640426, 8.9946743875150297, - -6.9695225550874884, -12.491901775385568, 5.221170286398829, - -14.57146740285134, -11.185574766943571, -1.4528792719442074, - 16.807973653612009, -2.14773040667668, -6.5893455221648924, - -10.366321204598048, 11.545810725289135, 11.526831005704754, - 3.8156547809267578, -14.793195556950453, 10.727608736368884, - 4.245416988419259, -14.823682249573251, -0.055849778718978338, - 0.12268898147135411, -5.3423951302536539, 8.9810197259759086, - 13.968989424307708, 10.292317467705674, 10.814835776145282, - 7.8639985326787416, -15.489411581463163, -5.3160377506090404, - 9.6739321724911669, 7.3738788431938094, -7.2089426352102386, - 3.2896767517308105, 11.134312631894316, 6.8196648270250888, - 11.696870111795384, 11.33636158982544, 7.6883282280715841, - -8.5354168089995976, 5.5939282378823458, -9.6804348667718987, - 10.27449691588806, -4.601540486911178, 11.476772689524227, - 13.587705068864731, -5.4206086888829965, -8.2565155897262077, - 11.240961601590284, 13.474564188433188, 2.9546569324344847, - 6.7205439189069738, -13.857561305882877, -16.669935196013508, - 7.7992349867934445, -9.1054167276310629, 13.234970834427072, - 3.8904964584199755, -0.007103062296974271, -7.5226178742319778, - 11.799567862083773, 10.306340656379247, -9.6031596648762214, - 4.7873593091676456, -8.7508487803331807, -11.418105573040524, - -8.9917029259865018, -4.8764541287524565, -13.141445425385772, - 10.478907923003296, -15.62610293315559, 12.174935599981024, - 14.110425042238267, -5.3351060433143189, -10.448529758835216, - 7.1555832021079713, -3.7581044977756339, 4.9877839461702953, - 6.4352605191478229, 6.2681705969506636, 1.0591230129022271, - 4.6014572060908856, 3.630881166938468, 5.2610118858162744, - -4.0406336475456959, 6.7089084012087339, -12.399263098594448, - -8.6885785210631923, 10.200283753268543, -9.6711128555761476, - 7.9523636179902066, -1.6194893091097409, 7.8100926558018475, - 4.7308921409583666, 4.2870845092503842, -5.5113211353649589, - 4.6632369877554547, 13.580052366571808, -13.989676528031513, - 7.4788332322884292, -7.9055834172669863, -5.4521774799559077, - -2.3832875853818489, 12.500172468473709, 4.4257047233124993, - 8.6185463356078564, 1.6503341929121846, 9.3817571992318136, - 14.707911493485314, -8.8168554234237906, 16.686275657629849, - 8.0726217002484866, -5.7336803150162323, 11.199173436763308, - 2.9624772806565214, 6.084008649398772, 13.651210034355321, - -5.3568028597546125, -8.1131526120118433, 20.586630811135656, - 3.2537667200472802, 2.4661860405319476, -12.302300974267494, - 10.14496212813636, 12.013406576337029, 12.48076525937795, - -7.7705021913306842, 4.4923244656818495, 3.9070226775151733, - 5.2441749708856884, 5.3679526862494482, 13.94196173641695, - 4.5296297811057684, -7.1127741954540973, -14.014901825754492, - -5.4003616016916451, 11.30329597194279, 13.212639183152664, - -6.7394206827710148, -9.3081209755867338, -2.8134083772289786, - 12.362737057742141, -7.5816771419304487, -6.4823236067192118, - 6.4368678007326325, 4.2139501741847152, -1.3015955505891499, - -7.0693979078400888, 5.1567879937036976, -14.29429720815733, - 7.0965274119499995, 14.335090253318402, -1.1060086481123688, - 12.280127372295182, 15.355627698217484, 7.1118230503395736, - 0.080951481678914361, 4.5275811277845772, -12.807880002244142, - -7.9315604470260013, -10.460706930669154, -8.6438350740702976, - -5.0714513528336349, 4.1875900660492, 8.7133453013769007, - -9.8239011192052565, 6.2390365458120005, -8.4029965191052352, - 4.984656567448889, -11.441087746951402, -2.8554666393879051, - 8.7117720128765459, -10.315850818433494, 8.7178427912116181, - 4.5674735423087416, 5.059245742630825, -6.9741413761506754, - 6.8923077141725289, -7.3195029505868936, 7.0150611857028995, - -13.57329609597363, 2.4003974632430873, -12.79534048621632, - 14.073423100856756, 13.050627886243262, -9.9719834315477431, - -8.9255382467931454, 6.4498466627026518, 7.9947952448158626, - 7.2030719578630773, -13.912680862467084, 8.6608429906142881, - 8.3632503895529862, 5.9305710042005879, -2.9130898919754795, - -11.254118896275536, -13.798108618024084, 13.07950958186338, - 14.355477267752258, 3.222947027333253, 5.9042659378475841, - -8.1324540511219237, 7.1175191808602341, -6.585103539549686, - -9.2836832446594695, -15.365446897780474, -10.994019011437626, - 4.0590717801675913, 9.5109814268426955, -4.3279461184809049, - -15.720038357484848, 11.951856945935143, 12.682014968828179, - 16.336475563256471, 7.6649931256123782, 5.3001533728428951, - 14.811865942579626, -7.1591674243249166, 6.9641361242422413, - 2.2887071087144921, -7.4283680060564725, 9.8045942879168955, - -6.4177702207017902, 10.47585866871807, -7.6078593665950418, - 8.6728241961706676, -2.3844019549449365, -12.333348889567585, - -8.0410508790992044, -15.319448351686553, 4.1439520121183158, - 10.124921135545005, -2.719059876565721, -7.15172555283569, - -13.928003800487966, 5.0190908596544332, -10.550763525222086, - -9.6902455518808601, 3.4656033167131572, 5.7434253113056117, - 2.2353462963087205, 8.2800699204033581, -9.5917816492257746, - 6.604246872114893, 5.7926392372814988, -13.95249621884361, - -6.3255003024458976, -9.0958782067905091, 6.6894074274331334, - -16.305393183977255, -14.754831506925347, 9.9598275167453405, - -2.2953313029712268, -9.9770589384486907, -1.2849873707603492, - -11.674107434694577, 4.2308935045924834, -15.986216502652635, - -12.496143349107586, -6.961301171448163, 7.173141034418097, - -16.747323708994283, -6.1459334756956441, -7.6817564340549813, - -2.9759502920998209, 4.4290936044370053, 15.85792699420073, - 3.8733475037532075, 13.282888674545026, -8.8075790389214674, - 15.756528771444074, -0.9172738378747668, -5.8878468427817152, - 5.3239983067421415, 7.0650495320494038, 10.266937497463937, - -6.4024274906880185, 5.7532733339731017, -16.811716029564213, - -8.4435829388264345, -14.547150170272406, -8.5663296440687802, - 7.9505572216380145, 6.6923964384181422, 5.1145018718318767, - 6.7546204865730397, -5.7136099383940193, 6.5164149727652187, - 8.5399580765014118, 11.118659305825421, -5.11256462073184, - -7.4204131176081027, 2.4372467698010158, -11.332205684329931, - -2.300944450055125, -7.5761485315412722, 7.9239226824179134, - 15.148232300109672, -8.2866195088681511, -12.500886819111757, - 5.8898233180615511, 6.0191326161618939, -9.571768060299096, - 8.2993401574423782, 13.192810814495525, 9.2287810197171662, - -6.3446655091317981, 4.6194007533037533, -12.299288931968976, - -11.301088930234318, -12.748142414710747, -11.089177834341021, - -11.952684158007653, -12.201173925517882, -7.8885413991638051, - 6.162990209842949, 10.074139560291529, 0.33052151002636837, - -13.233240567315669, 8.5041479968410876, -3.877731464378761, - -8.4152150964636405, -4.416934778774996, -2.7605197724504817, - 8.4248907474003509, 9.6866360704229582, -6.7860748062114764, - 5.350251139963115, 8.0461693937601364, 5.4866837755943072, - 8.2170770706027305, -4.9303099776579087, 0.19594956934783084, - -3.0366818211786448, -0.89771548197359008, -9.2559494368024176, - 13.057529669212126, 1.3182610405525714, -5.379813192370591, - 7.0595292864637926, -8.0652416728279732, -10.017709623333209, - -19.043167085088943, 4.2036836072934642, 7.2607959496260142, - -20.579086044233659, -10.955745136261804, 2.8075247300020623, - 6.158819317084113, -4.1432994280765003, -8.4759687111809825, - -7.4063800738713441, -11.809011583528154, 3.7455788861378996, - 11.055125561517878, -11.050002999845985, -12.641967828832232, - 9.7182304238773387, -9.6040255370844871, 8.5406323003146039, - 5.5370300264242678, 9.6390471518242808, -4.5175089872689815, - 11.211130149275418, -7.0619345213828808, 9.0284753188655795, - 6.5193504139524956, 5.9080653530360792, -6.9270802426346494, - -7.5939041868540862, 11.483724465414687, -6.4198704940922147, - 11.594197774773704, 9.8177782003472842, 7.8573132285189722, - -14.764671284444628, 10.836352484846104, -5.1661833245215307, - -2.2845730141844491, 1.4521554038891078, 14.07531661629624, - 14.874495505085839, -10.926627051439677, 1.0207490010126001, - -1.9216020879305911, 14.405401350119591, 11.010298478850032, - 3.7506698273138919, -11.982303137905003, -6.2083663060173526, - 6.2522765425768316, 7.7069832341275522, -18.065137191023226, - 6.792106322469885, -0.93798035245625377, 7.8641939572750079, - 10.30225964497456, -7.0018228039310735, -7.0742108654561564, - 4.1031586655458723, 2.3748564555251002, -4.3322313906258154, - 9.6230244300270638, 19.666940225626419}; -const char H_256_512_4_detected_data[] = { - 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, - 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, - 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, - 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, - 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, - 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, - 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, - 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, - 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, - 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, - 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, - 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, - 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, - 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, - 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, - 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, - 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, - 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, - 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_256_512_4.h b/vendor/codec2_flutter_ios_only/src/codec2/src/H_256_512_4.h deleted file mode 100644 index d593461..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_256_512_4.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - FILE....: H_256_512_4.h - - Static arrays for LDPC codec H_256_512_4, generated by ldpc_gen_c_h_file.m. -*/ - -#define H_256_512_4_NUMBERPARITYBITS 256 -#define H_256_512_4_MAX_ROW_WEIGHT 4 -#define H_256_512_4_CODELENGTH 512 -#define H_256_512_4_NUMBERROWSHCOLS 256 -#define H_256_512_4_MAX_COL_WEIGHT 4 -#define H_256_512_4_DEC_TYPE 0 -#define H_256_512_4_MAX_ITER 100 - -#include - -extern const uint16_t H_256_512_4_H_rows[]; -extern const uint16_t H_256_512_4_H_cols[]; -extern const float H_256_512_4_input[]; -extern const char H_256_512_4_detected_data[]; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_256_768_22.c b/vendor/codec2_flutter_ios_only/src/codec2/src/H_256_768_22.c deleted file mode 100644 index af4304b..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_256_768_22.c +++ /dev/null @@ -1,440 +0,0 @@ -/* - FILE....: H_256_768_22.c - - Static arrays for LDPC codec H_256_768_22, generated by ldpc_gen_c_h_file.m. -*/ - -#include "H_256_768_22.h" - -#include - -const uint16_t H_256_768_22_H_rows[] = { - 35, 7, 24, 203, 138, 29, 39, 28, 114, 79, 49, 43, 218, 92, 70, - 192, 59, 1, 194, 129, 15, 5, 25, 62, 50, 28, 23, 119, 191, 112, - 195, 18, 164, 117, 148, 82, 25, 120, 41, 100, 61, 4, 31, 7, 13, - 135, 108, 128, 48, 45, 96, 201, 67, 17, 143, 42, 91, 44, 168, 49, - 26, 38, 83, 169, 16, 86, 22, 25, 69, 42, 122, 94, 226, 145, 121, - 242, 131, 165, 55, 81, 74, 5, 58, 46, 59, 32, 115, 139, 180, 6, - 78, 20, 7, 135, 78, 88, 49, 28, 77, 158, 94, 125, 21, 152, 23, - 7, 123, 160, 53, 11, 85, 82, 32, 60, 74, 65, 3, 13, 111, 143, - 121, 46, 68, 121, 72, 177, 54, 166, 20, 130, 30, 139, 34, 151, 97, - 47, 126, 1, 76, 72, 64, 32, 9, 125, 54, 114, 17, 82, 2, 30, - 102, 29, 137, 2, 16, 206, 2, 27, 3, 13, 199, 123, 226, 20, 60, - 221, 15, 53, 35, 93, 9, 124, 1, 109, 103, 73, 190, 51, 140, 90, - 130, 57, 52, 225, 8, 47, 177, 66, 8, 112, 110, 62, 64, 104, 156, - 33, 101, 26, 107, 60, 26, 196, 39, 34, 14, 54, 68, 17, 66, 5, - 33, 104, 3, 214, 200, 35, 170, 51, 90, 113, 122, 8, 70, 65, 42, - 80, 134, 157, 88, 19, 3, 98, 112, 19, 60, 119, 76, 18, 43, 232, - 141, 175, 154, 118, 187, 182, 113, 37, 95, 169, 36, 17, 36, 64, 191, - 51, 63, 24, 36, 21, 223, 27, 94, 142, 18, 22, 53, 45, 161, 81, - 80, 68, 22, 169, 52, 109, 180, 61, 33, 121, 98, 118, 26, 96, 156, - 101, 100, 73, 31, 87, 71, 20, 93, 132, 173, 1, 39, 151, 166, 106, - 67, 87, 116, 196, 173, 56, 102, 120, 147, 30, 69, 137, 108, 21, 88, - 84, 81, 48, 37, 102, 10, 86, 158, 78, 162, 39, 14, 144, 9, 91, - 106, 96, 55, 6, 127, 135, 87, 163, 5, 25, 42, 56, 171, 225, 213, - 99, 46, 133, 12, 194, 234, 159, 59, 55, 84, 10, 24, 40, 130, 228, - 181, 186, 163, 72, 35, 115, 4, 149, 106, 19, 16, 67, 11, 8, 100, - 144, 154, 27, 62, 37, 164, 2, 226, 11, 183, 48, 10, 176, 171, 197, - 216, 155, 198, 44, 52, 75, 70, 74, 138, 184, 10, 96, 4, 99, 79, - 208, 18, 62, 113, 167, 41, 38, 48, 40, 144, 97, 57, 134, 159, 211, - 21, 146, 9, 83, 58, 51, 116, 32, 15, 50, 100, 6, 74, 31, 12, - 19, 58, 78, 197, 162, 50, 11, 43, 89, 188, 132, 85, 94, 50, 65, - 99, 66, 105, 69, 40, 157, 16, 97, 22, 63, 207, 72, 59, 142, 29, - 76, 55, 206, 54, 136, 45, 40, 46, 41, 185, 6, 231, 13, 107, 208, - 23, 173, 92, 145, 88, 144, 111, 119, 151, 68, 14, 129, 108, 89, 23, - 36, 44, 47, 210, 4, 146, 89, 132, 111, 69, 57, 90, 117, 31, 14, - 234, 183, 116, 214, 84, 249, 179, 209, 238, 47, 248, 227, 161, 125, 237, - 220, 223, 237, 63, 200, 213, 240, 161, 212, 252, 250, 81, 214, 34, 159, - 217, 184, 222, 240, 204, 147, 210, 211, 229, 133, 162, 185, 153, 249, 65, - 15, 119, 204, 122, 161, 133, 138, 103, 204, 248, 38, 201, 173, 98, 181, - 255, 73, 186, 73, 150, 189, 176, 128, 184, 101, 230, 56, 186, 160, 234, - 205, 168, 243, 212, 205, 80, 147, 82, 93, 120, 214, 189, 195, 205, 141, - 183, 152, 133, 255, 128, 174, 215, 229, 86, 160, 122, 206, 188, 165, 83, - 246, 170, 85, 182, 219, 158, 118, 253, 104, 231, 220, 136, 191, 179, 79, - 178, 166, 239, 116, 108, 167, 207, 221, 210, 207, 30, 158, 239, 209, 224, - 199, 203, 142, 172, 67, 227, 75, 231, 34, 254, 145, 222, 240, 207, 107, - 98, 168, 154, 233, 238, 33, 227, 236, 208, 241, 103, 141, 245, 190, 242, - 128, 103, 232, 28, 159, 70, 197, 29, 155, 185, 218, 111, 188, 224, 252, - 219, 164, 236, 163, 149, 241, 172, 219, 238, 216, 12, 156, 232, 217, 118, - 136, 157, 247, 123, 230, 245, 202, 235, 217, 235, 64, 77, 95, 110, 140, - 211, 254, 251, 235, 149, 253, 248, 226, 222, 256, 196, 170, 235, 152, 124, - 168, 157, 127, 169, 184, 170, 71, 45, 247, 146, 120, 179, 176, 129, 249, - 106, 251, 165, 199, 251, 220, 201, 224, 229, 194, 148, 220, 164, 193, 57, - 183, 250, 52, 172, 180, 242, 175, 250, 91, 155, 187, 131, 61, 139, 252, - 174, 107, 99, 77, 176, 179, 126, 192, 182, 125, 71, 124, 175, 202, 66, - 178, 233, 105, 145, 140, 243, 135, 232, 85, 248, 153, 244, 115, 77, 216, - 187, 139, 79, 171, 253, 204, 212, 156, 150, 218, 186, 86, 83, 198, 192, - 151, 101, 127, 192, 58, 97, 208, 87, 188, 209, 137, 247, 136, 221, 154, - 37, 199, 165, 126, 105, 12, 246, 187, 196, 242, 236, 256, 131, 213, 217, - 230, 233, 105, 155, 198, 178, 203, 243, 228, 134, 123, 182, 49, 178, 222, - 254, 244, 195, 225, 223, 193, 163, 141, 194, 252, 146, 237, 129, 76, 231, - 92, 203, 177, 221, 117, 75, 197, 243, 27, 253, 92, 202, 215, 174, 228, - 193, 254, 230, 239, 218, 80, 63, 223, 167, 109, 189, 228, 38, 149, 131, - 210, 115, 241, 89, 193, 138, 250, 150, 171, 162, 113, 215, 185, 143, 172, - 206, 245, 41, 209, 213, 216, 247, 148, 124, 44, 142, 117, 132, 127, 198, - 255, 126, 110, 71, 177, 200, 175, 91, 152, 112, 212, 239, 249, 234, 140, - 245, 167, 181, 104, 256, 241, 189, 244, 61, 200, 43, 148, 219, 143, 95, - 174, 130, 114, 84, 244, 181, 137, 229, 95, 160, 215, 205, 24, 246, 53, - 109, 251, 190, 236, 134, 153, 190, 150, 180, 227, 211, 237, 238, 153, 147, - 93, 195, 201, 246, 166, 256, 56, 233, 114, 240, 202, 102, 75, 191, 225, - 90, 110, 255, 224}; - -const uint16_t H_256_768_22_H_cols[] = { - 18, 149, 117, 42, 22, 90, 2, 185, 143, 321, 110, 189, 45, 205, 21, - 65, 54, 32, 230, 92, 103, 67, 27, 3, 23, 61, 158, 8, 6, 129, - 43, 86, 154, 27, 1, 251, 248, 54, 7, 358, 39, 56, 12, 58, 50, - 84, 8, 49, 11, 25, 178, 183, 109, 127, 79, 70, 182, 83, 17, 114, - 41, 24, 17, 141, 43, 188, 53, 123, 69, 15, 230, 125, 60, 81, 140, - 139, 99, 91, 10, 79, 25, 36, 63, 3, 106, 66, 290, 96, 407, 180, - 57, 14, 82, 72, 206, 51, 135, 57, 271, 40, 68, 151, 51, 112, 286, - 239, 148, 47, 174, 191, 119, 30, 220, 9, 87, 1, 34, 110, 28, 38, - 75, 47, 107, 172, 12, 137, 226, 48, 20, 130, 77, 294, 38, 227, 46, - 115, 153, 5, 88, 179, 88, 136, 55, 328, 74, 233, 34, 35, 183, 63, - 134, 90, 41, 151, 172, 190, 195, 100, 28, 72, 11, 39, 182, 33, 78, - 120, 124, 59, 64, 105, 302, 137, 56, 94, 242, 65, 126, 119, 5, 89, - 58, 107, 89, 30, 40, 61, 245, 101, 64, 162, 29, 16, 252, 19, 31, - 202, 170, 312, 134, 18, 52, 200, 4, 33, 74, 100, 125, 157, 6, 35, - 36, 22, 19, 2, 95, 188, 29, 13, 108, 14, 126, 31, 15, 133, 184, - 73, 10, 352, 37, 69, 113, 166, 152, 73, 201, 156, 13, 7, 121, 20, - 158, 76, 76, 295, 161, 104, 196, 9, 4, 24, 211, 23, 111, 143, 59, - 218, 138, 154, 159, 367, 82, 334, 44, 189, 171, 356, 373, 334, 118, 327, - 44, 155, 147, 238, 234, 129, 260, 266, 105, 258, 37, 198, 262, 26, 152, - 131, 289, 113, 196, 133, 169, 253, 319, 62, 203, 414, 411, 70, 239, 394, - 231, 122, 136, 318, 60, 430, 218, 256, 168, 145, 333, 306, 253, 318, 85, - 165, 266, 192, 257, 193, 116, 209, 138, 207, 311, 169, 279, 140, 62, 115, - 379, 237, 205, 95, 118, 226, 80, 81, 103, 316, 111, 97, 302, 229, 444, - 219, 262, 374, 170, 101, 249, 284, 319, 149, 346, 287, 197, 307, 159, 194, - 333, 300, 199, 123, 276, 207, 175, 190, 247, 146, 296, 122, 378, 193, 45, - 83, 121, 71, 162, 223, 102, 275, 316, 66, 237, 181, 265, 431, 49, 353, - 94, 194, 312, 50, 132, 208, 160, 264, 120, 376, 144, 369, 80, 249, 213, - 307, 298, 104, 294, 243, 263, 195, 225, 109, 168, 98, 21, 325, 338, 180, - 102, 128, 397, 75, 227, 217, 343, 185, 295, 269, 260, 236, 187, 284, 117, - 258, 361, 246, 254, 67, 173, 71, 264, 176, 85, 177, 116, 276, 364, 248, - 86, 219, 380, 348, 161, 215, 55, 282, 135, 46, 78, 156, 128, 320, 132, - 127, 209, 77, 342, 26, 386, 298, 192, 174, 179, 114, 166, 145, 261, 177, - 344, 163, 139, 360, 96, 198, 141, 191, 285, 351, 203, 181, 16, 153, 131, - 32, 184, 163, 289, 360, 199, 335, 232, 53, 42, 255, 240, 178, 214, 210, - 92, 340, 173, 157, 213, 403, 210, 432, 93, 222, 329, 387, 384, 349, 160, - 491, 167, 371, 208, 265, 370, 164, 314, 273, 481, 357, 68, 201, 378, 98, - 171, 150, 434, 142, 211, 142, 216, 259, 329, 401, 297, 455, 421, 225, 443, - 428, 268, 347, 186, 386, 97, 441, 256, 275, 267, 206, 354, 342, 417, 425, - 353, 200, 278, 379, 395, 204, 224, 283, 301, 272, 454, 223, 291, 364, 176, - 398, 396, 372, 272, 324, 301, 271, 270, 112, 311, 355, 292, 310, 321, 315, - 494, 507, 330, 384, 293, 263, 463, 332, 416, 232, 404, 375, 286, 320, 165, - 212, 346, 331, 270, 313, 398, 436, 487, 233, 409, 466, 366, 303, 430, 244, - 236, 234, 124, 99, 197, 280, 144, 332, 335, 93, 371, 359, 341, 446, 91, - 418, 290, 326, 324, 399, 267, 288, 241, 429, 417, 415, 287, 422, 309, 426, - 368, 411, 314, 222, 484, 328, 347, 285, 228, 130, 352, 108, 48, 413, 363, - 251, 241, 299, 410, 150, 250, 220, 389, 257, 305, 387, 281, 273, 376, 349, - 235, 277, 451, 277, 385, 228, 416, 309, 299, 322, 399, 481, 255, 313, 389, - 350, 361, 304, 390, 393, 242, 439, 245, 385, 350, 52, 87, 419, 147, 406, - 323, 404, 420, 305, 345, 84, 415, 391, 202, 308, 186, 244, 327, 217, 363, - 246, 362, 216, 155, 388, 247, 344, 373, 240, 345, 447, 212, 339, 370, 187, - 392, 146, 406, 259, 351, 456, 420, 477, 325, 215, 238, 261, 243, 268, 303, - 359, 434, 453, 296, 382, 231, 500, 339, 476, 106, 374, 423, 401, 442, 435, - 478, 510, 429, 457, 252, 407, 436, 292, 421, 459, 495, 476, 340, 283, 382, - 167, 465, 310, 509, 428, 279, 204, 365, 496, 380, 412, 326, 472, 474, 341, - 459, 497, 471, 473, 498, 413, 356, 449, 426, 395, 478, 469, 467, 500, 506, - 437, 463, 235, 457, 408, 460, 254, 450, 452, 372, 490, 505, 397, 437, 462, - 288, 433, 506, 466, 297, 438, 405, 394, 317, 148, 424, 467, 447, 322, 337, - 485, 502, 509, 441, 483, 494, 448, 472, 402, 458, 281, 451, 431, 315, 505, - 175, 452, 453, 369, 479, 493, 479, 510, 504, 443, 414, 502, 405, 427, 508, - 282, 488, 308, 280, 221, 354, 427, 278, 435, 432, 164, 492, 465, 403, 503, - 348, 483, 336, 470, 470, 409, 300, 448, 366, 464, 462, 486, 484, 501, 493, - 460, 402, 486, 489, 442, 492, 377, 392, 306, 456, 323, 419, 473, 269, 440, - 365, 381, 331, 498, 450, 224, 274, 229, 412, 418, 482, 464, 440, 388, 438, - 357, 274, 487, 469, 355, 512, 400, 475, 362, 336, 445, 455, 485, 507, 317, - 408, 367, 495, 337, 439, 433, 330, 458, 496, 504, 375, 304, 475, 468, 461, - 480, 422, 499, 489, 444, 423, 214, 474, 424, 343, 393, 461, 250, 377, 358, - 396, 512, 508, 383, 488, 400, 471, 391, 477, 291, 501, 511, 221, 482, 490, - 491, 445, 503, 454, 338, 381, 468, 449, 497, 425, 293, 446, 410, 480, 368, - 383, 390, 511, 499}; -const float H_256_768_22_input[] = { - 8.9323881489912722, -14.346922710565353, 7.9693390759559781, - -5.575983146144643, -11.430007344507024, -11.797433382704103, - -7.6498596597609545, -7.881023325143766, 4.7029642025464975, - 5.490489593506263, 1.4577054829853482, 7.2204914066015347, - -6.4495501165249394, 11.025143103007442, -9.6136273661905971, - -1.6292633004367878, 20.082835454091001, -15.940623976141929, - -2.9320120314706735, -4.3372895006030534, 5.8549869318024657, - -7.8135927951559925, 4.4717025005955255, -7.1804626225242245, - 8.8281745058367793, 3.457866082712139, -11.660964767047432, - 15.344085170249253, -14.466810773633428, -10.293997562512834, - -6.5294617860841004, 2.6337196833307024, -11.070543876657444, - 5.7359108096272164, 9.0013294714941843, -9.1923366442599423, - 8.3397116927192272, -7.3466443766727068, -7.0208885950279667, - -9.8833064990274835, -11.070411858783441, 16.189201249627562, - -6.6872549284064142, -11.752890503765991, 8.888774213749782, - 6.0968391171951497, 4.6589995649358533, -13.575988817182116, - 11.224485296177397, -10.220694397171258, -5.4572791361037458, - 3.0379566142247696, -10.350052412180393, 10.682941155969285, - -4.9736564167026174, 11.948298747287996, -9.0750233401887872, - 8.9486285395989267, -8.0970017828965126, -6.5844009128903371, - 8.5356201812866281, 6.8576026698255736, 3.5824292008949179, - 6.386672876216724, -15.44333294899913, -14.723335707927411, - -7.1535041654585925, 10.057507199075706, -6.9304518083413749, - -13.454196499566493, -4.138927837975757, -9.8229530349333984, - -4.7378733928678765, 9.7370721449903357, -11.850883212615898, - 5.8425014756304456, -6.9027200123108363, 8.7507430345166597, - -2.8432533600339798, 7.1365746925349614, -6.098608401582597, - 10.486813349939659, -8.8989094853818393, 7.6668852841834365, - 6.3748984557020911, -5.4320648642184377, 12.959555816131948, - 6.6472990487222825, -4.5586715631096242, -10.121473995028611, - 13.889214737960058, 7.8618812777297702, 0.65114006436468486, - 5.6488480073158049, 5.572561535915213, 2.4203295039424271, - 5.3724413783839795, 10.445189341740317, -15.231581540217265, - 11.189031424930562, 13.490253048718506, -7.5847033262880901, - 8.1341785315194368, 4.667483152501207, 10.057012188688605, - -12.532915718955612, 17.831016306467532, -7.0233337748720057, - -8.1477498232874108, 6.5993887776727203, -6.605350841986966, - -7.0309413757967123, -0.87776810176011932, -7.9287494770117224, - 5.1536577951126938, 0.56224938859050333, 7.7410604756629082, - -10.567376193912894, -2.4437814999269047, -1.2455732716974919, - -8.9878404597781163, -10.226284826932922, 4.5715929705982656, - -1.3060897521729748, 9.6931031456180285, 6.3549868823010955, - -7.6817147139176463, 8.4268904957327955, 0.72594931178019784, - -4.9826196594501706, 8.5326984912532176, 2.0637319625971493, - -4.2933223803232075, 8.0239298244286879, 1.7951957372413565, - 0.084600427180267501, 9.4399601205840362, 10.396717221311645, - 12.856923054222854, 3.3295462715836468, -7.6253580712992282, - 4.4434471213207374, 6.3733997531278987, 5.4209913860102539, - -5.9866755286453737, -7.0287078896424156, -9.2179437166191374, - -11.790731307180192, 8.455859639343128, -8.3117274581248051, - 13.838681948013669, 7.5475760198641648, -10.086023553300919, - -11.224918245135393, -3.3058930832202531, -6.8195757099451129, - 11.709166727746231, 11.710100491323546, -11.077873187765078, - -10.227016885555694, -4.2941243793572408, 8.1424248467837987, - 9.7722584940844754, 7.1104245309154912, 9.3804477382031415, - -7.106685163129332, -7.2437598314289575, 11.947702093459393, - -1.057260209023416, -6.765299028699161, 3.3425539547981304, - 13.328906459054352, 4.4101064786390305, 1.8051901230395977, - 11.535802590105595, 0.81386101415425482, -8.165348209826135, - -8.5774987728328416, -6.0775939508580219, 2.5963421619843943, - 6.3292406903055642, -8.4458269581431491, 8.7662642361276717, - -5.819334215801403, -13.610981269704446, 5.0765800356900179, - 8.6249353046138477, -4.9634433316247675, -3.9950013700332065, - -7.6929117100191453, -6.3633253856519749, 0.83722518023775461, - 10.425061034991041, 10.934194165601433, 10.580235622153944, - -17.515337920449952, -1.537113005053216, 10.026745250979713, - 18.991835102357538, -9.10384082546339, -13.768910919694958, - 5.4796127108483343, -8.9244398152912101, -11.548649423930978, - 15.611931291120561, -8.908049321272264, -11.715023369923955, - -8.5067714993118528, 8.669606218924919, 8.6186685199527773, - -0.30417248355831389, -14.992242521244618, -11.237143275747075, - 15.47971006097473, 7.0259516978639338, 10.065037137491313, - 7.8868287877920169, -12.78707872542274, 7.4550220422461217, - -16.404346129675449, 13.30456637678888, 9.9512518647161254, - 7.5942461140693247, 3.7624642178418926, 9.8925251212558027, - 14.146774666880505, -6.8718384088583475, -3.9981741290451276, - 9.4511470096099846, 11.953465594032014, -11.215529849347973, - 15.45129835369298, -7.3274909872161418, -4.9654010419320853, - 7.7259448497328904, 9.8641694370073871, 1.1150439872404596, - -10.084099868296887, 12.049728969177872, 13.071957031320016, - 6.9097309932538309, -0.39659296549442785, -2.9217410655323537, - -9.5561149122145306, 4.3607269616443673, -7.3795521023764916, - -11.702904880630188, -1.5433424172046679, 15.057989444533467, - -1.2565455630730749, 8.9880357276703204, 6.1129770246307693, - 11.328910534091127, -2.9309511311565144, 11.207912500256919, - -5.7404867114420988, 5.9950024570017471, -5.7910643096127341, - 5.4208744627397838, -4.5716714958282108, 8.1298949011896831, - -11.711123662713085, -12.017719365072217, -9.7122748441533471, - -6.6047630492267668, -14.567681472229127, 7.7859507737798745, - -13.177213209080305, 1.409111307587259, -1.5011399595588764, - 12.057098493693852, 6.4171185080762427, -11.634125892968456, - 11.044794834453159, -14.65558507132892, 13.72196292983746, - 11.040226522930523, 6.2584434572994629, 10.730689310638432, - -4.618515034465152, -1.2143032307321182, -7.4189186448958875, - -7.669206125358758, -9.1157167366336314, 4.9339345930796563, - 8.3824960985509129, 9.5126664524245168, -4.4260649375190164, - 3.6144449441325635, -10.893425304008998, 8.3182825177379076, - 13.628768431834336, 7.1730917891722781, 10.087828497729179, - -10.489116618742848, 3.8856613599836791, -15.602509765497121, - 7.2487646720202497, 12.218582462579505, 0.49211467796430364, - -0.066484718374747426, -8.4329617736870581, -3.0127430939186324, - 5.8144883342823128, 8.6729115102941527, 6.121491141792947, - 12.360054236262307, 13.543171514998027, 12.1058948920289, - -12.808248849582228, 7.3365859144200227, 2.0678328559134647, - -1.7234260199225477, -13.299836520520724, -14.789707963127125, - 6.6006452928112296, -11.956138068501044, -8.8455623029732315, - -2.9088913906661178, -9.2132364101435229, -5.8435384831621802, - 5.8547803901805464, 8.8126231169253515, 5.5222906262970843, - -10.39753464755324, -12.211638565038697, 17.292580458421533, - -8.5876470036423616, 4.7678649428994673, -8.4226853315054129, - 8.700249181036531, 12.952510035514349, -7.6833594373108234, - -3.0202355585479235, 8.7526883579126586, 11.663176352140155, - 11.981232949878732, 11.031377901823634, -9.9501241218952927, - -15.089187715856323, -10.601089041749843, -6.388179627159027, - -4.6793834219078603, 3.9045854726147744, 9.8861746042718845, - 0.042855319175376341, 14.3414643477855, -10.407450105082846, - 3.0336086321363265, 13.793872516546351, 8.0501940947932038, - 4.5991785638040428, -7.9303874601996593, 14.049591025574657, - 17.380262133125449, -7.8459793004203222, 8.705024309261562, - 6.6262770303011473, -10.086319438204431, 11.047015628809582, - -7.3582609209654937, 8.2545626149113698, -11.989564968227834, - 2.5193529800955838, -13.244337020280915, 4.8502499826361731, - 14.474602979942233, 6.9452935547158612, -7.0450024656821544, - -10.212713949627561, 13.849620674538945, 9.6833988531870752, - -5.9081325241866898, -10.018382284344064, -6.6229672412657683, - 13.879028902842597, -14.33382686638503, 1.9643288191802857, - 0.16885137143821174, 4.2277292060928415, 10.805548194765471, - -2.4964830143581742, -13.101405042095365, -13.302619999785827, - -5.9241726080344108, 14.467933324092012, -8.4591055199339298, - -10.184465268318146, -19.503434376811896, -15.229997219469618, - 4.8345001979789908, 8.0104662922364813, 4.4017092080658031, - -10.231395640484859, 3.9727378370282236, 14.2026231360392, - -8.4599285310056196, -12.215460236402727, 5.394330835754074, - -7.3356861012337502, -3.6795675270857404, 8.0787223556775896, - -9.3271996634056915, -7.4552893328088974, 6.4828043001554736, - -5.9782833623900453, -1.9874116057406432, -7.5397619196439196, - 6.0283880381663453, 7.1105241207440057, 10.966410901409223, - -12.375355422502105, -13.997023100211885, 7.7681673568373251, - 6.0215105845435861, -0.44409932549081066, 5.2745451861685329, - -7.2390124351491778, 9.8045113653170404, -3.5483006663908347, - 8.4455042050030151, 6.750717907091107, -9.4719350776568856, - -10.118021370720959, 2.7210293880017544, 8.2387439951112835, - -8.6980762983904132, -11.317194860133458, 14.906902369795306, - 8.5196626788523204, -5.7269320734414473, -6.4873691363023527, - 11.118139263369434, -5.131366585591298, -5.1884527453006095, - 2.1617883533714988, -3.2189908119713868, 9.1103687701917888, - 6.1325191653578388, 2.411217194453199, -3.9050656149976706, - -7.7536941054127926, -11.37779012533324, 2.2663187424687767, - -14.954242385161651, -11.78196073144464, -5.9162280171814157, - -14.78759715146799, 4.6557410991557671, -5.9735521657583144, - 6.6275285823558434, 3.1024480512797177, 10.06871404793227, - -10.543486892529438, -4.7522704594310561, -0.61601641164246079, - -7.6838548304456449, 15.87411724597454, -11.665450977940896, - -4.4365872375343205, 3.8247335268174831, 6.5326004536991329, - 12.435275476860919, 8.2570494940406931, -3.3808435906687064, - -4.7552502897093776, 4.5050634114776189, 10.672688962977514, - 12.075918776794476, 1.7986308060137437, 4.1923629883751303, - 11.752733569678064, -10.339474897439999, -16.186126637379726, - -10.796197122972746, -9.214305404692233, 13.497270712719919, - -9.4453197440185637, -15.69391834232802, 12.700707467329744, - 4.7024717561391816, -10.327031105585643, 3.8477541445369963, - -5.4896217736139521, 8.0519776507030638, 5.0341370218785944, - 6.0456145072449026, -10.710449576292405, -8.6533964520637863, - -12.257979327405108, -12.078971121036197, -10.881473761466781, - 14.147239535310518, -2.6328735032346162, -15.716779182806999, - -9.4242407781207191, 8.1426142269915331, 8.1611227842517025, - -3.6252335542783207, -9.8025397455364676, 12.763568770750853, - -9.5331346940178729, 4.9974585644427902, 5.9879812547323237, - -6.2951737225996656, -3.9498007698755808, 10.122100576790197, - 6.6618355586974447, 4.6997313218613739, 8.1707413233409465, - 12.216703169693357, -12.426888921432578, -11.146002828849364, - 6.3741370321379085, 7.6566213756894941, 2.2128160251661328, - -5.4585144064775051, 11.139007406371906, -0.057747253315553991, - -5.7619887506088023, 11.559333388163129, -7.7967134901859065, - 1.5414474492709742, 10.25242202166922, -2.4376317695445988, - 2.4485328874029482, -5.2527291639016829, 6.6966144242231938, - 10.1056403723797, 9.6715660466767641, 12.199837902638398, - -9.9779918730035462, 7.0398600566727509, 13.235714186918685, - 6.2264247221125624, 0.49429650260801106, 11.011555724458017, - -10.232864614422217, 1.0779763774514628, 2.3155686395401807, - 13.340589994791694, -1.4927270737348184, -6.3253956772331872, - 11.17892183418669, 4.6804642104000935, 9.9681133942788716, - -15.354347685766472, 12.132973558045073, 16.863099386593074, - -16.254027114251262, 8.9259599464113109, 4.4137266569998239, - 13.238368561676072, 7.7024856954025447, -14.55028063381018, - 2.9997759568600673, 5.9324435315675945, 8.9709392409618971, - 9.9626050864742304, 6.0433161763769014, -11.094500816935717, - 5.0773121433888173, 8.8653918721034444, 13.358789208346618, - -3.3614825528284049, -13.508375784100188, -9.738962524121586, - -6.8429863842661831, 9.3377608423949319, 9.1681044258536648, - 2.6799203842673007, -8.1054023029408491, 3.7516032358089029, - -8.7628704110935036, -11.00085544248971, -5.7755226059613731, - -0.22395652308977335, -6.5936781093194714, -10.208015637116542, - -13.848721312194234, 9.876782398829647, 9.437177021184711, - 13.967144290195598, -1.5603470410313784, -12.959548633651529, - -13.772706675904137, 9.4983989705496406, 4.8575506841930132, - -13.426339798518415, -6.8882549582242767, 10.020963852018646, - 10.738289970141997, -3.5322181002015958, 8.9790411088584392, - -4.3462795772567171, 18.871182150839772, 6.1273012327332719, - -6.5695645965276261, -8.2641966395439947, 0.85103670621664851, - -16.902729440065183, 8.2697379486332849, -13.872113727992556, - 13.619190901125434, -12.016737280921415, 1.639362596352592, - 7.9267314843757219, 9.5913300412571747, -7.091648374422606, - 5.8969231337131776, -6.4726579518981842, -4.3486881710817249, - -9.3821085024104374, 10.917473221565318, 2.0279974118340656, - 11.063658410060127, 6.9102623370057179, 6.2072533209374354, - 11.520596314303049, -1.5151713191609242, -6.5680763433887153, - 16.444160798635387, -5.3791474454897958, -2.2789027240044306, - -11.56354929134242, 12.427791285408714, 8.610090315178283, - -4.0511067764443416, 7.8692225359304206, -6.7079554414922891, - 5.3999766490636549, -8.3179099730168247, 3.6976737002905016, - -17.552301172297032, 6.1364424779438496, -9.7751306565781455, - 6.1931141049267051, 16.865997593208082, 3.7361395596034965, - 3.8267814056050402, 10.269712544637359, -12.797853578296257, - -11.480255281563355, -10.876303582685193, -5.4324292010775084, - -6.498689183845423, -3.8053637987749771, 13.525521072484571, - -9.0129342094166027, 12.475202758118572, 0.35156955969912357, - -13.374269540997016, -10.783210983288953, 10.807251662994091, - -12.38126506382245, -5.8440304046740765, 6.1261248782561006, - 10.426389918103478, -10.251207974472264, 5.7090742604182871, - -7.3918232768010466, 14.40018609866692, 10.516336495878081, - 5.0907717527746268, -10.790845519857502, -10.344691466108914, - -0.81606960094075376, 5.8009330688061373, -6.4523871686156467, - -13.804096639962156, -3.8036780326942807, 4.4403995451427036, - -6.0454707691007998, -4.457208611267375, -9.3857200039694799, - -4.2448642066932596, 11.390356801037848, -11.880538676942361, - 16.20974462472968, -8.1065692722381755, 0.10605368805162664, - -4.0113679201569177, -3.6764938206674111, 7.1589548870717845, - -14.894945704589089, 19.416913935254374, 10.455230095243721, - 19.094980784068856, 12.749384013660427, -10.507945794429656, - -8.6068528180875727, 6.4779699897920597, -7.4688822584989687, - 11.422119526982375, 12.683635758259111, 6.9141103733570297, - -3.4807019716082186, -1.0659446865294615, -5.5303642351312705, - -8.4756723068747828, 6.5495058918879581, 17.01132173619504, - -8.6901951713633352, 0.73205096704640338, 12.18517096248061, - 9.6207253649723565, -0.11293013857241167, 14.416380598864535, - -3.4842485223978721, 8.538043021108594, 7.9853181927735468, - -0.17854963422944989, 15.297082129948347, -8.6558345268403372, - -8.8359118745350518, 6.8797931777949346, -13.579058234606006, - 5.6056971276091021, -4.7325737401807606, -10.043277228766703, - -8.496193000774646, 13.208604057890039, -2.6125003977921626, - -9.0028742948434246, -8.3466406676435714, 4.0100931584168364, - 8.607156558507457, -9.0376712732526396, 11.431914424287775, - -0.65772909230851129, 9.5881935247089132, 14.183768387632979, - 1.0198498160186804, 12.12574599778624, -8.8946934403733184, - 17.588496278735882, -1.8672309187831959, -10.261023592868218, - -10.98895162511046, -2.7839860694432046, 8.6202133936627021, - -2.9996428552260639, 12.935041261170362, 10.751931118319499, - 9.6367189688985686, 10.40091951562113, -9.8677128130479659, - -0.85076949696133808, -8.7094472775564959, -2.7363773372569646, - -10.036127502962517, -3.494015934190208, -4.2404950010667983, - 4.590562970442905, -11.458041901958747, 9.3378179645353931, - 12.328201773184455, 4.9840870074452948, 12.800873263637309, - -12.800832354798168, -8.3806105857214561, -7.1573424713736697, - -3.454056906476644, -10.568266292992009, -3.1957929098569293, - -12.197503600264985, 14.897621213566064, 4.3558337641415363}; -const char H_256_768_22_detected_data[] = { - 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, - 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, - 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, - 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, - 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, - 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, - 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, - 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, - 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, - 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, - 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, - 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, - 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, - 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, - 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, - 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, - 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, - 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, - 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, - 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, - 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, - 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, - 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, - 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, - 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, - 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, - 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, - 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_256_768_22.h b/vendor/codec2_flutter_ios_only/src/codec2/src/H_256_768_22.h deleted file mode 100644 index 38fce4e..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_256_768_22.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - FILE....: H_256_768_22.h - - Static arrays for LDPC codec H_256_768_22, generated by ldpc_gen_c_h_file.m. -*/ - -#define H_256_768_22_NUMBERPARITYBITS 512 -#define H_256_768_22_MAX_ROW_WEIGHT 2 -#define H_256_768_22_CODELENGTH 768 -#define H_256_768_22_NUMBERROWSHCOLS 256 -#define H_256_768_22_MAX_COL_WEIGHT 4 -#define H_256_768_22_DEC_TYPE 0 -#define H_256_768_22_MAX_ITER 100 - -#include - -extern const uint16_t H_256_768_22_H_rows[]; -extern const uint16_t H_256_768_22_H_cols[]; -extern const float H_256_768_22_input[]; -extern const char H_256_768_22_detected_data[]; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_4096_8192_3d.c b/vendor/codec2_flutter_ios_only/src/codec2/src/H_4096_8192_3d.c deleted file mode 100644 index 3001770..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_4096_8192_3d.c +++ /dev/null @@ -1,10584 +0,0 @@ -/* - FILE....: H_4096_8192_3d.c - - Static arrays for LDPC codec H_4096_8192_3d, generated by ldpc_gen_c_h_file.m. -*/ - -#include "H_4096_8192_3d.h" - -#include - -const uint16_t H_4096_8192_3d_H_rows[] = { - 68, 31, 76, 127, 68, 376, 36, 1118, 15, 68, 436, 58, - 375, 32, 320, 150, 266, 2, 436, 191, 79, 52, 2109, 249, - 340, 288, 258, 462, 2891, 21, 255, 24, 79, 167, 96, 86, - 94, 16, 377, 163, 101, 477, 246, 60, 337, 217, 474, 53, - 54, 16, 5, 1591, 124, 1740, 214, 1309, 427, 171, 23, 477, - 202, 484, 185, 57, 33, 109, 1326, 392, 1507, 81, 415, 93, - 810, 317, 52, 162, 425, 416, 146, 319, 110, 273, 170, 254, - 119, 242, 147, 126, 413, 154, 287, 499, 91, 72, 1502, 104, - 189, 235, 263, 312, 124, 71, 141, 769, 887, 132, 101, 390, - 466, 641, 382, 393, 515, 139, 281, 157, 229, 266, 64, 112, - 60, 280, 966, 1296, 248, 331, 56, 267, 50, 155, 982, 492, - 906, 326, 78, 227, 374, 21, 429, 113, 491, 237, 252, 451, - 101, 440, 7, 147, 373, 96, 678, 186, 311, 29, 448, 2335, - 114, 212, 352, 367, 147, 82, 320, 300, 370, 132, 235, 255, - 487, 101, 533, 379, 29, 352, 82, 41, 78, 181, 174, 1629, - 104, 319, 23, 86, 187, 440, 571, 999, 114, 596, 587, 838, - 333, 389, 139, 1006, 454, 699, 65, 309, 1187, 377, 31, 173, - 189, 310, 536, 250, 4, 1516, 6, 41, 14, 49, 319, 378, - 118, 3108, 175, 150, 107, 286, 167, 61, 594, 294, 13, 477, - 2038, 124, 204, 1027, 245, 819, 159, 84, 153, 71, 38, 419, - 574, 211, 290, 6, 886, 1, 1248, 183, 272, 470, 312, 115, - 6, 264, 242, 2054, 7, 609, 74, 690, 2641, 434, 137, 265, - 996, 9, 417, 192, 102, 22, 20, 1021, 299, 246, 207, 1678, - 827, 357, 9, 169, 37, 153, 433, 51, 5, 44, 416, 406, - 117, 165, 36, 178, 2887, 238, 2369, 98, 311, 1348, 855, 215, - 1469, 605, 135, 987, 88, 244, 580, 2043, 164, 415, 372, 126, - 237, 116, 236, 181, 99, 224, 154, 1191, 317, 2031, 835, 306, - 200, 8, 15, 195, 176, 1658, 1072, 161, 341, 412, 291, 104, - 2812, 180, 1587, 161, 147, 368, 411, 21, 1246, 457, 335, 24, - 1258, 342, 1453, 136, 84, 104, 191, 152, 144, 333, 165, 6, - 130, 370, 57, 54, 1302, 277, 53, 80, 18, 230, 122, 217, - 21, 424, 184, 296, 1880, 827, 859, 2275, 42, 313, 1443, 354, - 170, 110, 724, 264, 206, 17, 57, 354, 97, 43, 354, 321, - 70, 471, 74, 1124, 425, 21, 35, 56, 382, 126, 168, 382, - 132, 16, 152, 218, 483, 20, 3, 45, 503, 283, 357, 68, - 495, 41, 124, 13, 14, 18, 285, 364, 291, 20, 92, 141, - 349, 35, 354, 5, 222, 1080, 390, 113, 136, 181, 77, 235, - 61, 2, 209, 73, 17, 10, 75, 10, 95, 99, 131, 468, - 369, 94, 11, 278, 381, 228, 62, 106, 62, 79, 171, 35, - 369, 3, 131, 222, 315, 336, 92, 49, 390, 2159, 1724, 80, - 110, 27, 132, 3428, 328, 199, 112, 1267, 2731, 478, 776, 275, - 60, 147, 1193, 388, 49, 25, 208, 1583, 364, 41, 192, 202, - 100, 631, 210, 946, 35, 226, 159, 120, 866, 28, 149, 143, - 2881, 171, 369, 66, 88, 1476, 290, 425, 950, 1200, 2139, 229, - 272, 112, 324, 108, 892, 122, 105, 190, 52, 7, 239, 84, - 179, 2273, 99, 20, 352, 322, 264, 288, 4, 232, 127, 231, - 361, 446, 230, 247, 243, 17, 146, 1115, 31, 410, 111, 55, - 380, 157, 355, 90, 358, 343, 1062, 251, 145, 219, 497, 263, - 400, 1533, 72, 763, 1297, 2, 461, 163, 301, 276, 352, 434, - 251, 205, 44, 39, 336, 610, 65, 165, 401, 444, 73, 373, - 224, 109, 254, 452, 184, 177, 40, 221, 2, 92, 333, 1285, - 76, 210, 59, 250, 3155, 291, 185, 271, 1009, 265, 216, 19, - 34, 135, 216, 2352, 10, 1498, 228, 418, 2332, 11, 1639, 623, - 20, 691, 1838, 140, 159, 280, 149, 36, 326, 1983, 32, 453, - 261, 287, 202, 486, 57, 873, 182, 821, 17, 181, 385, 99, - 3134, 47, 86, 282, 106, 63, 548, 226, 98, 283, 169, 306, - 95, 87, 305, 367, 324, 2118, 75, 179, 164, 410, 81, 313, - 37, 263, 337, 3044, 3043, 486, 206, 743, 348, 2588, 2127, 1666, - 90, 183, 52, 302, 193, 52, 315, 191, 123, 14, 20, 479, - 197, 2, 98, 2074, 144, 140, 129, 1064, 348, 203, 379, 293, - 56, 317, 468, 413, 458, 305, 19, 85, 427, 272, 181, 324, - 1120, 179, 137, 11, 54, 1473, 246, 566, 457, 46, 126, 38, - 3204, 805, 80, 1693, 8, 2971, 1140, 69, 680, 254, 15, 163, - 234, 28, 212, 349, 65, 133, 1199, 276, 2756, 64, 157, 21, - 145, 125, 100, 792, 2192, 95, 611, 262, 32, 64, 76, 314, - 58, 106, 127, 45, 1214, 603, 14, 546, 265, 414, 79, 2488, - 2165, 16, 179, 47, 302, 45, 261, 153, 106, 460, 204, 174, - 100, 260, 2071, 391, 338, 94, 654, 415, 692, 216, 161, 42, - 369, 334, 91, 48, 43, 142, 441, 356, 22, 464, 208, 18, - 205, 430, 124, 56, 731, 254, 459, 346, 1900, 160, 96, 73, - 41, 360, 138, 314, 523, 9, 129, 466, 434, 184, 143, 100, - 935, 86, 2755, 37, 2737, 165, 2371, 242, 202, 780, 288, 2690, - 37, 28, 568, 275, 278, 89, 146, 449, 113, 721, 464, 300, - 19, 541, 84, 291, 157, 145, 141, 494, 661, 2455, 66, 42, - 370, 2187, 119, 248, 443, 81, 88, 175, 436, 320, 410, 234, - 14, 106, 277, 170, 99, 379, 281, 8, 141, 51, 174, 367, - 72, 251, 102, 1008, 335, 49, 407, 299, 307, 290, 614, 108, - 406, 186, 978, 1511, 169, 64, 423, 1737, 384, 200, 42, 89, - 301, 386, 34, 2076, 266, 4, 426, 630, 371, 277, 59, 5, - 28, 190, 1999, 542, 316, 5, 141, 399, 178, 87, 214, 402, - 2179, 58, 1961, 37, 322, 1681, 11, 223, 52, 131, 414, 129, - 252, 37, 365, 76, 450, 651, 76, 363, 169, 43, 351, 307, - 214, 42, 291, 149, 1970, 77, 48, 209, 286, 1664, 749, 1750, - 55, 339, 2340, 231, 8, 1674, 356, 54, 115, 328, 124, 162, - 66, 154, 123, 41, 143, 8, 179, 261, 293, 125, 422, 401, - 10, 98, 193, 143, 125, 16, 30, 1399, 174, 276, 213, 2314, - 147, 308, 198, 90, 71, 567, 185, 128, 487, 300, 548, 256, - 163, 2087, 565, 111, 529, 393, 270, 172, 136, 292, 2158, 206, - 83, 456, 121, 57, 4, 106, 50, 203, 996, 219, 77, 99, - 69, 2711, 197, 43, 2206, 60, 33, 3799, 224, 96, 517, 307, - 394, 1547, 229, 8, 1549, 492, 107, 809, 193, 225, 483, 1487, - 1523, 2095, 18, 119, 76, 31, 1716, 88, 77, 301, 479, 187, - 1289, 97, 19, 51, 366, 523, 99, 234, 355, 252, 176, 38, - 403, 105, 12, 456, 1651, 3161, 374, 383, 225, 13, 394, 492, - 82, 781, 1, 224, 98, 40, 58, 147, 9, 432, 75, 425, - 100, 74, 8, 69, 88, 1251, 1606, 282, 289, 193, 338, 131, - 211, 51, 7, 373, 2615, 938, 2, 38, 195, 13, 14, 341, - 168, 85, 213, 432, 33, 153, 147, 2876, 13, 1016, 38, 213, - 52, 194, 281, 2275, 279, 107, 117, 637, 312, 436, 1051, 16, - 4, 181, 239, 266, 1874, 1568, 300, 1116, 27, 65, 8, 143, - 197, 92, 223, 112, 121, 19, 70, 103, 366, 136, 1162, 683, - 19, 1396, 24, 598, 206, 59, 343, 381, 96, 217, 381, 1049, - 134, 372, 407, 21, 145, 58, 70, 92, 155, 776, 18, 323, - 66, 752, 103, 202, 473, 612, 6, 455, 52, 648, 70, 123, - 10, 9, 48, 25, 265, 306, 258, 229, 3, 1798, 308, 165, - 1, 207, 945, 213, 12, 112, 491, 845, 117, 147, 645, 1359, - 191, 97, 14, 1043, 7, 21, 141, 70, 340, 204, 406, 314, - 2625, 26, 420, 90, 244, 262, 85, 3219, 38, 279, 222, 4, - 115, 484, 71, 285, 228, 35, 734, 1307, 109, 178, 252, 120, - 135, 499, 131, 51, 128, 380, 256, 784, 270, 306, 251, 397, - 812, 22, 43, 40, 1351, 286, 79, 215, 57, 34, 1110, 951, - 129, 150, 286, 243, 138, 63, 2306, 426, 285, 2206, 207, 1313, - 2023, 197, 230, 1564, 128, 182, 350, 19, 66, 201, 17, 493, - 94, 67, 64, 176, 435, 1861, 206, 701, 748, 77, 386, 96, - 83, 476, 134, 1204, 365, 1010, 1972, 514, 2015, 210, 266, 167, - 166, 117, 9, 176, 26, 1887, 59, 469, 71, 432, 194, 455, - 243, 1498, 41, 1551, 156, 2340, 128, 1395, 201, 114, 99, 384, - 31, 144, 168, 33, 75, 365, 302, 420, 168, 317, 61, 107, - 211, 1282, 101, 376, 1281, 405, 179, 2145, 175, 142, 718, 12, - 1091, 50, 170, 116, 160, 1669, 48, 178, 371, 464, 376, 1244, - 2357, 295, 103, 15, 2401, 47, 408, 246, 2583, 292, 444, 1117, - 1057, 399, 424, 280, 95, 869, 30, 350, 316, 186, 63, 323, - 143, 432, 221, 48, 346, 107, 76, 106, 311, 64, 404, 2101, - 1063, 88, 232, 427, 42, 49, 145, 109, 163, 78, 1974, 82, - 45, 434, 18, 13, 404, 774, 857, 126, 297, 809, 187, 109, - 1315, 277, 280, 245, 115, 205, 171, 1012, 24, 83, 446, 52, - 1575, 144, 67, 72, 832, 144, 1086, 4, 432, 50, 860, 2999, - 56, 140, 201, 17, 55, 112, 77, 275, 55, 460, 498, 371, - 138, 494, 20, 390, 357, 2000, 353, 262, 115, 118, 164, 61, - 461, 564, 187, 84, 472, 627, 461, 215, 1058, 342, 208, 1170, - 131, 173, 20, 12, 150, 337, 118, 46, 407, 207, 306, 33, - 138, 482, 188, 153, 53, 172, 72, 10, 369, 87, 818, 111, - 2183, 175, 482, 123, 15, 19, 177, 50, 383, 362, 2492, 23, - 967, 311, 254, 146, 25, 268, 22, 120, 7, 202, 54, 33, - 257, 499, 3615, 379, 78, 430, 1811, 1206, 198, 80, 34, 55, - 2265, 396, 144, 613, 92, 421, 267, 2173, 936, 166, 60, 2396, - 9, 117, 83, 134, 906, 37, 142, 2164, 441, 149, 727, 1733, - 133, 1727, 135, 237, 61, 12, 208, 45, 154, 287, 238, 259, - 221, 102, 1837, 273, 456, 488, 674, 93, 2572, 182, 153, 22, - 510, 158, 420, 12, 896, 698, 2057, 1698, 298, 152, 907, 149, - 480, 115, 496, 766, 660, 160, 146, 359, 159, 211, 178, 197, - 16, 182, 226, 260, 1227, 266, 1377, 113, 138, 35, 157, 3023, - 1145, 389, 248, 353, 3411, 249, 70, 255, 2302, 1083, 229, 23, - 1207, 41, 316, 765, 126, 2232, 1769, 315, 2182, 478, 433, 380, - 58, 1119, 71, 100, 16, 175, 43, 3467, 146, 439, 79, 90, - 2310, 377, 184, 353, 963, 1435, 18, 21, 51, 1466, 105, 71, - 68, 27, 115, 334, 497, 166, 83, 278, 175, 139, 93, 77, - 93, 59, 213, 100, 1038, 411, 495, 290, 279, 201, 182, 46, - 257, 476, 33, 212, 263, 1473, 90, 33, 202, 772, 68, 490, - 103, 152, 534, 136, 26, 101, 1129, 704, 1733, 104, 279, 482, - 316, 82, 232, 361, 330, 162, 16, 336, 171, 2490, 14, 449, - 24, 41, 2507, 196, 4, 771, 357, 111, 10, 370, 3087, 238, - 140, 1906, 1379, 146, 1255, 116, 25, 331, 20, 130, 57, 308, - 161, 64, 259, 475, 82, 51, 363, 221, 123, 424, 161, 191, - 243, 82, 818, 306, 274, 1273, 2366, 340, 77, 544, 2445, 545, - 337, 405, 32, 302, 114, 13, 134, 81, 59, 423, 392, 78, - 118, 209, 398, 282, 163, 56, 156, 82, 465, 1318, 470, 795, - 168, 271, 247, 730, 336, 401, 251, 267, 1259, 132, 2256, 84, - 253, 160, 115, 384, 49, 72, 434, 17, 134, 133, 128, 209, - 19, 262, 220, 259, 712, 155, 99, 31, 720, 3, 237, 62, - 42, 1345, 453, 186, 195, 751, 202, 177, 49, 1591, 2409, 298, - 4, 50, 346, 311, 13, 21, 39, 903, 146, 262, 147, 138, - 30, 312, 45, 1199, 244, 1055, 2862, 1228, 440, 9, 236, 39, - 18, 216, 396, 98, 1654, 32, 172, 1, 3126, 88, 495, 81, - 1745, 284, 349, 70, 3072, 214, 131, 495, 1718, 558, 74, 35, - 126, 125, 240, 59, 333, 826, 107, 241, 267, 431, 118, 26, - 520, 388, 642, 118, 27, 119, 121, 32, 54, 224, 807, 360, - 389, 1440, 233, 80, 171, 236, 43, 3133, 69, 1500, 137, 206, - 149, 91, 236, 222, 1926, 1738, 447, 34, 276, 387, 457, 2558, - 135, 410, 97, 331, 1815, 13, 302, 228, 15, 176, 54, 773, - 2167, 158, 166, 167, 438, 78, 63, 2345, 24, 74, 364, 1047, - 426, 178, 6, 216, 85, 507, 1594, 189, 179, 439, 47, 65, - 371, 44, 130, 1062, 12, 795, 527, 745, 15, 17, 158, 208, - 1001, 223, 922, 250, 23, 1477, 366, 347, 258, 819, 307, 169, - 418, 312, 119, 22, 24, 42, 55, 803, 127, 190, 208, 7, - 488, 427, 1173, 212, 32, 63, 255, 120, 71, 93, 130, 720, - 143, 72, 2043, 204, 51, 1202, 1436, 40, 797, 699, 2823, 181, - 357, 478, 407, 83, 186, 322, 122, 111, 5, 661, 27, 2500, - 108, 35, 492, 201, 139, 508, 1141, 2216, 37, 321, 54, 1807, - 467, 246, 1195, 57, 133, 1696, 125, 104, 220, 279, 1363, 564, - 86, 171, 30, 166, 1521, 842, 1390, 420, 439, 197, 148, 322, - 27, 1085, 1708, 294, 353, 194, 225, 812, 220, 95, 10, 408, - 61, 25, 205, 2584, 248, 71, 6, 53, 429, 5, 214, 267, - 67, 63, 90, 379, 184, 163, 28, 1357, 337, 339, 306, 360, - 2898, 1620, 26, 180, 67, 193, 238, 152, 366, 190, 208, 169, - 211, 200, 191, 960, 236, 204, 479, 174, 595, 86, 256, 15, - 69, 441, 274, 489, 3194, 22, 1070, 11, 87, 811, 647, 213, - 2751, 310, 854, 2167, 438, 1327, 59, 130, 173, 138, 140, 243, - 7, 301, 205, 103, 293, 283, 89, 325, 339, 447, 268, 154, - 485, 6, 281, 1009, 80, 1139, 118, 873, 47, 59, 339, 76, - 132, 315, 25, 57, 1153, 284, 49, 29, 274, 2, 133, 381, - 316, 22, 1175, 1189, 74, 23, 126, 42, 1, 24, 365, 1260, - 137, 464, 638, 336, 449, 452, 231, 121, 259, 1421, 72, 191, - 133, 34, 15, 49, 1176, 447, 24, 50, 333, 1046, 175, 2344, - 193, 225, 102, 85, 395, 299, 533, 124, 62, 169, 450, 899, - 11, 138, 200, 251, 42, 229, 61, 194, 2177, 16, 344, 226, - 114, 465, 2723, 65, 16, 20, 350, 93, 196, 197, 1639, 241, - 23, 57, 1700, 2291, 65, 279, 234, 307, 95, 75, 10, 106, - 302, 443, 108, 105, 1337, 800, 18, 220, 288, 150, 76, 40, - 151, 78, 475, 74, 113, 196, 150, 73, 117, 1039, 325, 2, - 707, 176, 69, 20, 306, 175, 48, 249, 377, 44, 227, 597, - 32, 150, 3, 247, 413, 1488, 192, 271, 335, 1004, 258, 66, - 32, 24, 302, 11, 30, 321, 252, 84, 329, 171, 418, 384, - 171, 297, 2787, 2109, 853, 84, 11, 417, 429, 86, 40, 2484, - 36, 103, 40, 2833, 259, 38, 110, 680, 417, 191, 329, 137, - 193, 2, 2942, 289, 145, 444, 460, 196, 1015, 95, 327, 445, - 259, 440, 236, 79, 125, 28, 37, 141, 37, 9, 200, 40, - 7, 12, 95, 142, 319, 321, 193, 303, 331, 198, 220, 97, - 321, 364, 468, 18, 241, 1286, 59, 2066, 226, 391, 2581, 580, - 334, 267, 68, 1032, 73, 70, 257, 151, 81, 170, 261, 391, - 48, 82, 514, 15, 46, 305, 965, 213, 75, 403, 233, 373, - 1352, 220, 262, 386, 399, 341, 82, 276, 112, 245, 116, 168, - 246, 1612, 160, 88, 157, 199, 73, 79, 3, 18, 246, 39, - 1034, 104, 1664, 114, 336, 316, 139, 93, 50, 145, 55, 30, - 180, 139, 201, 71, 263, 1378, 176, 269, 39, 145, 272, 111, - 499, 49, 196, 530, 743, 308, 42, 1157, 349, 121, 258, 64, - 46, 433, 31, 573, 28, 300, 82, 1881, 2689, 160, 53, 109, - 325, 50, 286, 123, 142, 36, 15, 28, 2022, 35, 912, 112, - 368, 393, 441, 12, 130, 19, 108, 69, 1311, 74, 921, 408, - 68, 860, 249, 120, 50, 180, 190, 252, 733, 315, 127, 7, - 297, 116, 157, 179, 41, 148, 110, 329, 400, 86, 63, 192, - 301, 175, 31, 242, 30, 3, 123, 189, 44, 115, 174, 39, - 488, 155, 494, 769, 307, 101, 3, 3129, 26, 403, 66, 1212, - 35, 1711, 444, 1824, 231, 20, 188, 215, 84, 2247, 95, 1347, - 43, 2646, 79, 2255, 2533, 864, 787, 85, 290, 39, 183, 149, - 1997, 187, 484, 419, 986, 3577, 421, 437, 175, 117, 96, 41, - 234, 241, 485, 646, 447, 5, 174, 167, 129, 250, 355, 102, - 8, 75, 29, 2246, 1574, 2318, 53, 23, 19, 173, 67, 58, - 342, 297, 389, 44, 195, 335, 381, 163, 412, 348, 235, 877, - 231, 929, 406, 6, 371, 282, 121, 39, 1208, 86, 105, 336, - 46, 186, 1827, 390, 181, 145, 22, 240, 419, 89, 178, 327, - 136, 2943, 26, 184, 189, 48, 792, 93, 207, 119, 392, 1605, - 96, 62, 45, 367, 589, 274, 45, 1344, 36, 762, 214, 252, - 198, 261, 67, 198, 1942, 50, 1403, 105, 138, 2309, 933, 320, - 295, 101, 1147, 74, 361, 325, 301, 161, 491, 470, 447, 1767, - 144, 305, 1350, 128, 430, 164, 243, 465, 451, 221, 128, 233, - 144, 294, 11, 19, 111, 253, 77, 198, 196, 248, 395, 257, - 58, 332, 166, 129, 256, 53, 93, 185, 261, 319, 1780, 97, - 130, 13, 1430, 131, 133, 139, 282, 502, 302, 947, 256, 143, - 55, 56, 3, 1457, 133, 162, 512, 170, 29, 6, 118, 556, - 151, 426, 4, 76, 83, 116, 58, 55, 724, 64, 186, 323, - 1656, 619, 68, 195, 3178, 80, 36, 420, 31, 227, 173, 368, - 122, 174, 168, 49, 108, 60, 239, 258, 280, 8, 1688, 177, - 208, 308, 143, 1126, 494, 412, 232, 739, 46, 155, 129, 57, - 198, 254, 223, 1442, 111, 258, 230, 228, 255, 269, 404, 236, - 1227, 1, 35, 1372, 207, 271, 257, 362, 1697, 16, 311, 384, - 26, 245, 340, 611, 81, 659, 210, 67, 398, 107, 825, 178, - 116, 346, 65, 151, 463, 485, 214, 90, 51, 47, 233, 48, - 30, 33, 485, 451, 396, 244, 423, 351, 85, 226, 56, 231, - 75, 47, 1959, 291, 3, 363, 103, 155, 87, 424, 1414, 400, - 336, 345, 493, 203, 109, 444, 1456, 5, 2138, 1737, 252, 189, - 278, 348, 64, 2736, 823, 171, 409, 204, 1371, 579, 1707, 214, - 154, 38, 150, 124, 113, 132, 239, 86, 242, 61, 254, 516, - 1464, 393, 242, 167, 18, 177, 221, 62, 302, 1175, 347, 1953, - 94, 351, 312, 648, 815, 118, 170, 50, 61, 295, 1386, 210, - 313, 149, 71, 238, 95, 1210, 531, 65, 34, 111, 1076, 94, - 217, 49, 66, 44, 25, 150, 11, 2487, 26, 43, 283, 177, - 155, 83, 1022, 149, 266, 158, 134, 898, 94, 205, 700, 172, - 1897, 247, 168, 480, 338, 425, 260, 55, 235, 29, 33, 28, - 95, 1260, 360, 529, 98, 2793, 326, 176, 290, 478, 387, 93, - 435, 296, 474, 481, 38, 1018, 116, 794, 1538, 281, 1078, 274, - 357, 205, 180, 383, 27, 266, 264, 67, 8, 62, 30, 58, - 109, 297, 263, 1013, 16, 198, 33, 343, 674, 212, 60, 500, - 2263, 129, 284, 480, 172, 52, 88, 148, 442, 31, 1561, 682, - 210, 320, 210, 1042, 398, 189, 138, 375, 76, 183, 165, 239, - 74, 407, 237, 484, 473, 468, 38, 294, 1412, 325, 6, 191, - 238, 133, 1218, 25, 643, 328, 182, 451, 854, 169, 209, 217, - 337, 2360, 1527, 197, 298, 490, 187, 27, 80, 528, 410, 49, - 126, 144, 496, 129, 1341, 482, 2042, 210, 187, 788, 174, 192, - 380, 472, 462, 1414, 162, 127, 237, 140, 146, 153, 551, 235, - 574, 142, 2004, 1579, 147, 1891, 1034, 372, 102, 15, 58, 341, - 228, 108, 91, 10, 1814, 400, 81, 124, 72, 125, 442, 391, - 261, 1193, 50, 79, 48, 28, 171, 103, 828, 161, 164, 513, - 147, 154, 196, 888, 17, 54, 441, 369, 3, 1424, 102, 1683, - 468, 1221, 185, 14, 55, 159, 90, 122, 323, 286, 263, 15, - 253, 110, 123, 2489, 109, 346, 363, 89, 6, 126, 75, 21, - 28, 443, 172, 293, 294, 299, 1787, 94, 177, 94, 377, 161, - 64, 104, 1631, 225, 12, 1205, 1454, 997, 229, 1972, 35, 258, - 339, 178, 81, 334, 46, 345, 283, 165, 39, 339, 90, 61, - 958, 44, 97, 232, 149, 349, 360, 598, 193, 53, 313, 5, - 51, 201, 277, 55, 250, 268, 399, 264, 1305, 116, 497, 67, - 374, 56, 464, 502, 25, 325, 745, 445, 11, 298, 1089, 1126, - 2482, 3187, 448, 253, 344, 470, 51, 104, 439, 89, 38, 32, - 2004, 271, 183, 29, 846, 64, 120, 316, 124, 45, 378, 119, - 51, 121, 120, 791, 12, 1165, 376, 214, 1105, 77, 310, 34, - 63, 207, 54, 2, 481, 247, 94, 1841, 2890, 349, 24, 2398, - 2665, 56, 8, 825, 303, 403, 234, 261, 1735, 152, 463, 87, - 32, 870, 115, 347, 44, 4, 258, 134, 110, 118, 483, 135, - 48, 227, 105, 289, 171, 69, 93, 115, 2837, 618, 402, 230, - 186, 27, 395, 45, 287, 120, 474, 326, 198, 420, 185, 136, - 1402, 194, 1048, 245, 269, 127, 169, 156, 657, 44, 393, 799, - 84, 1081, 9, 898, 327, 317, 1089, 340, 362, 214, 153, 246, - 2124, 437, 69, 822, 59, 200, 323, 189, 122, 215, 419, 44, - 114, 77, 361, 44, 101, 798, 36, 222, 259, 2254, 25, 380, - 2687, 899, 5, 31, 175, 259, 60, 344, 148, 140, 190, 45, - 2476, 375, 188, 526, 68, 96, 151, 143, 22, 63, 112, 96, - 273, 9, 107, 160, 2366, 301, 220, 423, 1803, 3, 352, 1418, - 1703, 31, 230, 6, 348, 246, 9, 72, 105, 46, 67, 68, - 152, 300, 362, 1502, 253, 753, 39, 379, 223, 2454, 264, 1999, - 350, 145, 324, 195, 92, 439, 337, 53, 121, 187, 117, 1006, - 54, 280, 276, 454, 26, 416, 1634, 32, 1288, 20, 149, 377, - 255, 131, 434, 1554, 75, 411, 489, 258, 69, 84, 3596, 211, - 231, 91, 200, 238, 62, 266, 919, 413, 154, 97, 453, 27, - 1439, 341, 218, 338, 123, 240, 405, 323, 330, 327, 123, 162, - 411, 240, 217, 337, 146, 358, 53, 97, 575, 233, 253, 221, - 437, 327, 2114, 3, 469, 1395, 3251, 13, 33, 162, 3013, 2132, - 1870, 122, 836, 40, 60, 24, 477, 292, 326, 9, 44, 186, - 352, 25, 284, 593, 1085, 201, 34, 1050, 297, 460, 288, 453, - 179, 900, 128, 221, 117, 139, 204, 249, 413, 1640, 335, 421, - 76, 122, 1417, 200, 534, 19, 135, 101, 426, 223, 746, 1094, - 490, 177, 890, 240, 664, 58, 12, 172, 270, 113, 81, 13, - 1044, 2216, 78, 294, 155, 17, 167, 288, 1757, 2, 39, 1238, - 498, 208, 1221, 390, 288, 193, 98, 178, 42, 259, 148, 122, - 28, 10, 231, 213, 11, 29, 58, 29, 1997, 407, 225, 265, - 236, 189, 57, 191, 82, 342, 22, 1390, 143, 2321, 47, 60, - 7, 14, 30, 102, 215, 5, 204, 85, 265, 31, 223, 2316, - 153, 62, 347, 1584, 107, 98, 185, 174, 452, 1784, 181, 1081, - 952, 705, 82, 444, 342, 11, 114, 40, 367, 1954, 7, 192, - 164, 33, 116, 209, 62, 246, 384, 1621, 500, 303, 170, 156, - 863, 26, 1264, 189, 334, 304, 422, 294, 440, 1343, 57, 104, - 156, 102, 2620, 106, 323, 377, 1592, 1675, 460, 30, 172, 110, - 80, 36, 291, 10, 391, 51, 160, 227, 81, 2244, 271, 778, - 41, 757, 29, 118, 91, 140, 21, 46, 442, 355, 27, 35, - 1684, 100, 199, 2284, 88, 209, 101, 125, 140, 163, 93, 913, - 213, 180, 62, 375, 156, 92, 205, 137, 1335, 376, 125, 32, - 103, 310, 230, 29, 194, 4, 299, 256, 147, 36, 431, 371, - 283, 22, 7, 385, 18, 90, 207, 112, 71, 599, 24, 1103, - 445, 2, 413, 17, 12, 60, 1, 1250, 157, 487, 1714, 713, - 148, 187, 148, 196, 432, 979, 332, 108, 295, 108, 104, 93, - 1574, 10, 496, 107, 53, 5, 499, 321, 48, 670, 802, 156, - 1832, 14, 96, 78, 410, 85, 1417, 2657, 280, 245, 284, 148, - 189, 2, 52, 54, 384, 127, 1037, 140, 119, 73, 410, 1690, - 322, 148, 396, 1988, 248, 4, 264, 375, 98, 153, 283, 345, - 8, 402, 879, 159, 3552, 283, 26, 186, 295, 92, 110, 453, - 361, 107, 1937, 202, 1653, 314, 363, 14, 419, 271, 1000, 558, - 86, 23, 1, 195, 878, 421, 2020, 46, 73, 228, 400, 68, - 389, 34, 442, 273, 337, 1373, 408, 238, 2511, 127, 440, 521, - 105, 40, 171, 1125, 257, 244, 410, 37, 160, 52, 359, 1460, - 40, 400, 3423, 408, 357, 473, 230, 141, 415, 237, 55, 293, - 34, 305, 346, 205, 155, 642, 294, 173, 166, 306, 25, 358, - 251, 381, 46, 34, 452, 179, 1302, 118, 247, 2665, 575, 108, - 804, 788, 333, 154, 283, 327, 1528, 3318, 87, 431, 173, 3183, - 128, 2880, 457, 63, 408, 347, 891, 376, 306, 41, 493, 460, - 588, 212, 2597, 2526, 846, 1253, 975, 1391, 2911, 1416, 714, 114, - 149, 182, 155, 1248, 330, 343, 952, 3005, 402, 1128, 314, 123, - 973, 1968, 2265, 358, 192, 358, 159, 2557, 465, 1863, 427, 3469, - 443, 219, 105, 843, 365, 523, 553, 2143, 362, 496, 1334, 412, - 2254, 1135, 1523, 448, 1076, 971, 148, 1640, 858, 2303, 318, 475, - 192, 310, 1771, 501, 206, 1153, 470, 367, 467, 1621, 337, 874, - 200, 125, 2952, 188, 411, 1887, 367, 2146, 256, 548, 245, 2576, - 1794, 385, 980, 2757, 1931, 1531, 459, 1108, 1425, 617, 400, 757, - 255, 305, 158, 2370, 328, 3181, 1138, 1901, 505, 1267, 281, 386, - 1177, 192, 1165, 2945, 1327, 345, 1234, 402, 388, 2009, 2119, 380, - 1965, 485, 3092, 1122, 257, 731, 989, 194, 2365, 459, 1265, 324, - 1077, 412, 643, 2877, 1834, 307, 397, 372, 2087, 318, 2276, 362, - 2710, 304, 436, 308, 1632, 307, 2019, 490, 313, 442, 911, 166, - 358, 418, 199, 1819, 105, 1024, 617, 711, 269, 1785, 2107, 1691, - 138, 2662, 1212, 2010, 388, 428, 344, 1709, 2451, 1135, 280, 423, - 1458, 977, 328, 428, 805, 2078, 2848, 434, 602, 2234, 2798, 389, - 496, 353, 413, 468, 240, 3365, 264, 625, 2641, 2643, 257, 248, - 1143, 732, 427, 498, 2988, 2462, 215, 1525, 687, 1814, 188, 168, - 750, 3797, 81, 2736, 995, 1491, 2140, 2951, 3726, 500, 1379, 315, - 459, 1955, 331, 244, 96, 1411, 557, 2204, 151, 1736, 269, 1766, - 3451, 1205, 1783, 1897, 1453, 567, 781, 287, 196, 65, 141, 2742, - 360, 372, 450, 1978, 1817, 414, 299, 1791, 215, 270, 913, 903, - 184, 83, 762, 2185, 120, 1780, 249, 362, 3840, 279, 2897, 240, - 2032, 3508, 2181, 454, 2528, 1872, 261, 2271, 161, 262, 1271, 2407, - 206, 735, 718, 289, 456, 482, 284, 1087, 148, 227, 1730, 1868, - 1982, 3057, 2713, 2632, 2203, 250, 116, 563, 251, 1925, 3121, 1585, - 1865, 1873, 431, 199, 3163, 242, 1625, 304, 2137, 922, 1213, 3547, - 2251, 2934, 487, 105, 3311, 1567, 1545, 270, 358, 269, 1010, 2878, - 378, 487, 2105, 1939, 284, 1790, 89, 212, 1434, 927, 103, 1910, - 185, 3422, 1822, 280, 439, 463, 1280, 434, 2316, 3724, 1581, 2947, - 1095, 492, 1880, 959, 232, 278, 3335, 1960, 223, 304, 140, 920, - 127, 121, 386, 1880, 499, 851, 253, 1945, 629, 981, 372, 292, - 591, 127, 924, 619, 2070, 38, 213, 459, 1693, 73, 37, 287, - 2374, 359, 1591, 238, 778, 894, 186, 156, 351, 23, 460, 486, - 3248, 539, 242, 174, 1235, 91, 483, 38, 432, 2510, 601, 2825, - 622, 310, 605, 1975, 344, 17, 272, 162, 774, 153, 224, 385, - 176, 511, 751, 1099, 1024, 905, 36, 1062, 1083, 235, 333, 1154, - 227, 125, 186, 376, 392, 1616, 233, 573, 3513, 678, 703, 397, - 494, 2998, 2252, 1846, 155, 43, 1274, 3925, 430, 256, 474, 1587, - 2865, 620, 1459, 396, 281, 298, 2733, 459, 309, 294, 302, 2307, - 973, 2012, 1241, 2158, 290, 836, 338, 2082, 223, 1450, 324, 329, - 1181, 45, 299, 267, 3075, 1291, 1252, 242, 1143, 1861, 445, 986, - 2767, 2555, 3371, 280, 1388, 374, 1830, 458, 932, 693, 158, 438, - 178, 487, 247, 173, 486, 3590, 124, 181, 2368, 379, 694, 474, - 977, 651, 1082, 466, 366, 815, 465, 702, 359, 403, 170, 2127, - 371, 2281, 1230, 1112, 438, 569, 555, 194, 1019, 2190, 2566, 282, - 352, 670, 951, 295, 491, 1854, 673, 2132, 2787, 224, 1261, 1427, - 3572, 388, 491, 493, 1863, 250, 137, 264, 349, 3137, 417, 496, - 434, 2034, 243, 1099, 309, 137, 278, 782, 1659, 1858, 182, 923, - 21, 208, 364, 1924, 265, 334, 466, 880, 3439, 315, 290, 2259, - 3364, 358, 440, 264, 392, 1588, 730, 3473, 144, 1694, 313, 3738, - 3312, 113, 3192, 2694, 395, 2196, 2245, 2222, 329, 2413, 397, 177, - 465, 3080, 158, 1570, 334, 688, 216, 1434, 78, 2847, 208, 2021, - 384, 450, 709, 262, 3920, 292, 354, 1485, 2334, 373, 2210, 1572, - 1282, 592, 2098, 676, 199, 89, 2271, 492, 2085, 2172, 384, 364, - 459, 1184, 499, 929, 47, 305, 466, 3165, 3121, 2059, 303, 1147, - 979, 3144, 3190, 2067, 169, 310, 401, 916, 354, 1963, 3143, 477, - 719, 283, 152, 640, 1760, 422, 296, 3069, 1104, 141, 369, 1795, - 1521, 233, 757, 1858, 122, 3882, 476, 1217, 2217, 315, 2564, 126, - 510, 448, 954, 570, 1338, 571, 457, 83, 217, 1973, 489, 1829, - 2223, 56, 438, 544, 3491, 1080, 1170, 2056, 180, 3206, 1933, 332, - 898, 886, 2384, 320, 1608, 334, 232, 543, 566, 261, 2759, 817, - 3324, 422, 170, 983, 158, 392, 275, 948, 2686, 1726, 692, 844, - 2897, 279, 178, 461, 223, 222, 262, 381, 1529, 928, 1801, 1447, - 354, 1041, 86, 2596, 2436, 525, 713, 260, 1404, 219, 1102, 203, - 393, 907, 313, 330, 490, 2180, 2828, 1279, 666, 196, 1547, 2442, - 3565, 308, 2817, 157, 1156, 2821, 220, 232, 500, 313, 1036, 636, - 449, 1201, 469, 389, 2274, 2048, 463, 3091, 3573, 1107, 1618, 993, - 3098, 225, 183, 300, 931, 665, 156, 661, 537, 268, 1512, 2705, - 463, 312, 239, 240, 992, 1367, 2872, 1984, 4015, 284, 3403, 909, - 457, 2342, 1792, 2954, 443, 112, 595, 716, 621, 139, 222, 967, - 303, 1297, 969, 766, 127, 1152, 89, 1584, 217, 1545, 374, 572, - 2780, 3024, 216, 135, 405, 2404, 2637, 440, 519, 107, 143, 407, - 2223, 458, 492, 528, 145, 480, 2834, 206, 368, 635, 1485, 400, - 671, 167, 293, 976, 239, 1096, 132, 2675, 462, 213, 883, 2719, - 2408, 518, 1650, 203, 1442, 1595, 2290, 2091, 1656, 375, 1449, 2208, - 420, 244, 2060, 480, 808, 2707, 103, 2425, 344, 309, 1799, 2296, - 375, 1972, 369, 161, 88, 1635, 2008, 1670, 865, 732, 396, 1000, - 1269, 185, 1603, 471, 2873, 209, 2593, 473, 325, 2959, 188, 227, - 168, 289, 424, 1824, 857, 327, 456, 180, 1304, 1023, 228, 402, - 211, 46, 1645, 513, 2025, 149, 314, 445, 3019, 145, 243, 394, - 1834, 2150, 1235, 3398, 357, 2364, 3430, 738, 86, 2850, 1721, 266, - 1537, 1462, 792, 618, 1776, 260, 637, 188, 144, 87, 2643, 2248, - 314, 868, 437, 585, 206, 232, 203, 159, 1602, 339, 89, 2116, - 941, 380, 230, 2846, 521, 2336, 363, 492, 2638, 891, 405, 214, - 733, 856, 1869, 417, 198, 3132, 1876, 335, 1700, 499, 1220, 439, - 160, 841, 3529, 300, 422, 1026, 122, 341, 136, 142, 289, 405, - 1460, 434, 446, 493, 1599, 2778, 498, 94, 2765, 164, 54, 4029, - 1943, 389, 613, 428, 1348, 2079, 378, 247, 2585, 764, 2644, 2436, - 240, 448, 1957, 1948, 2006, 2281, 47, 489, 368, 91, 1752, 160, - 174, 1675, 1172, 2322, 2085, 98, 215, 482, 901, 3542, 1765, 373, - 1035, 423, 1044, 409, 1345, 353, 193, 2019, 3035, 3463, 394, 2135, - 588, 188, 1240, 1983, 210, 803, 3636, 2311, 99, 66, 250, 1093, - 1301, 999, 338, 964, 196, 153, 13, 1501, 910, 1523, 2884, 1145, - 1672, 420, 498, 1386, 1488, 78, 1555, 1162, 3026, 3085, 368, 142, - 229, 17, 816, 1680, 1947, 91, 756, 1768, 1116, 210, 437, 3114, - 70, 3659, 602, 2218, 63, 1465, 374, 2324, 468, 151, 249, 2543, - 468, 467, 2523, 36, 61, 211, 392, 611, 3077, 2006, 464, 3367, - 383, 526, 471, 268, 335, 229, 262, 460, 2702, 937, 237, 1860, - 2062, 3231, 2949, 2913, 114, 3156, 332, 1847, 222, 353, 355, 990, - 235, 1483, 1792, 1843, 480, 582, 3258, 98, 159, 253, 1410, 761, - 370, 852, 62, 995, 128, 1587, 170, 507, 1731, 1173, 2576, 878, - 1826, 2385, 1166, 228, 164, 442, 217, 151, 428, 674, 340, 2014, - 201, 2006, 472, 222, 162, 477, 3163, 489, 23, 130, 969, 1188, - 1832, 338, 1758, 1933, 1207, 932, 113, 1760, 133, 207, 411, 304, - 753, 205, 462, 2087, 3483, 87, 1595, 151, 358, 2276, 1431, 3447, - 2025, 361, 226, 98, 375, 942, 173, 392, 243, 387, 988, 2574, - 790, 1160, 1097, 267, 942, 2351, 177, 204, 272, 460, 1103, 1075, - 376, 483, 388, 1365, 1634, 1257, 354, 510, 3017, 2323, 142, 799, - 338, 479, 3114, 1547, 204, 219, 387, 392, 371, 416, 3772, 1746, - 2150, 2920, 397, 1554, 2064, 2972, 1856, 3120, 190, 281, 444, 493, - 167, 321, 263, 1243, 414, 236, 448, 485, 2412, 2591, 342, 780, - 793, 437, 1351, 104, 272, 1152, 290, 1952, 570, 1867, 2484, 3285, - 2860, 1213, 349, 436, 478, 221, 358, 458, 1606, 3655, 2835, 1657, - 158, 638, 242, 2696, 313, 3098, 1581, 3270, 263, 3014, 399, 2708, - 285, 2385, 4030, 2487, 1224, 2568, 265, 211, 1254, 465, 1996, 782, - 400, 442, 289, 274, 2253, 3381, 709, 1398, 1650, 1016, 556, 2320, - 196, 1481, 1440, 561, 1261, 67, 275, 304, 590, 1952, 66, 1362, - 2545, 1442, 686, 2531, 2756, 324, 120, 1272, 2461, 2533, 503, 2319, - 3249, 398, 1845, 1452, 1666, 1596, 1797, 323, 371, 1629, 77, 432, - 461, 453, 331, 334, 164, 473, 3457, 97, 3416, 530, 1890, 241, - 2376, 156, 1358, 2701, 2111, 397, 3357, 3569, 445, 278, 322, 450, - 201, 459, 2806, 136, 80, 3283, 287, 125, 1036, 2876, 1226, 214, - 418, 2128, 847, 122, 2352, 442, 2572, 340, 394, 742, 453, 1737, - 264, 216, 1987, 534, 2619, 271, 316, 446, 3242, 1043, 2075, 23, - 1210, 111, 933, 3054, 1139, 2613, 2010, 251, 1354, 364, 237, 839, - 336, 3130, 990, 388, 178, 1284, 404, 2268, 495, 3545, 402, 1641, - 236, 233, 1254, 312, 3086, 2313, 345, 183, 2532, 934, 775, 2811, - 1936, 884, 2285, 1197, 1024, 277, 135, 292, 245, 350, 410, 385, - 729, 3236, 649, 1084, 155, 925, 667, 201, 84, 1711, 1663, 364, - 1539, 209, 3401, 172, 2394, 330, 1056, 673, 30, 126, 259, 129, - 504, 1393, 2520, 1349, 3202, 391, 267, 1957, 43, 342, 366, 505, - 116, 1035, 2148, 213, 1033, 580, 3711, 2582, 281, 1544, 2663, 3030, - 328, 239, 206, 233, 2341, 423, 232, 998, 121, 2337, 417, 2358, - 1521, 294, 78, 3158, 27, 152, 2507, 468, 3138, 670, 785, 3337, - 560, 2942, 890, 1808, 872, 2273, 356, 1028, 80, 66, 359, 470, - 426, 1306, 407, 3472, 409, 1417, 2022, 346, 974, 1151, 1844, 1710, - 3194, 954, 176, 152, 1984, 1067, 967, 332, 2462, 3460, 2305, 2308, - 561, 2039, 2691, 242, 1908, 243, 993, 3125, 3693, 765, 518, 1802, - 395, 1923, 767, 488, 30, 377, 391, 1006, 1853, 1226, 1754, 195, - 1060, 203, 864, 3095, 1358, 759, 251, 1005, 3454, 1155, 338, 2315, - 2582, 3102, 405, 1804, 1215, 111, 1441, 3296, 273, 3979, 2953, 392, - 2554, 1607, 457, 3149, 75, 1907, 3309, 137, 83, 2356, 703, 3618, - 239, 1612, 94, 320, 2955, 2126, 639, 761, 1178, 1455, 233, 113, - 95, 1786, 425, 817, 151, 1267, 218, 419, 1045, 406, 137, 2357, - 1137, 475, 445, 314, 1528, 129, 473, 1054, 1883, 476, 1691, 1556, - 408, 1205, 202, 100, 2502, 679, 59, 3766, 307, 1636, 289, 633, - 211, 3658, 538, 979, 330, 304, 1074, 195, 356, 1381, 2525, 2225, - 1877, 218, 1017, 532, 2721, 135, 694, 1779, 347, 331, 333, 383, - 190, 3340, 1245, 1725, 531, 451, 3062, 2862, 2368, 1143, 397, 364, - 324, 408, 3358, 1037, 144, 2537, 1513, 438, 1736, 218, 104, 346, - 1058, 180, 224, 614, 395, 241, 320, 616, 373, 96, 1719, 297, - 303, 2009, 223, 199, 2496, 2306, 2602, 624, 1527, 2974, 2393, 1141, - 604, 1177, 2548, 1954, 387, 480, 136, 2138, 984, 366, 194, 944, - 853, 1169, 3202, 191, 458, 2520, 404, 1875, 1180, 377, 249, 211, - 809, 1706, 2369, 1778, 1711, 345, 1645, 1192, 343, 770, 2098, 1904, - 2190, 213, 2746, 307, 291, 444, 199, 474, 187, 247, 2061, 3022, - 258, 411, 292, 244, 25, 1541, 273, 1561, 1469, 397, 522, 138, - 848, 2232, 254, 385, 1526, 2508, 635, 2102, 337, 1447, 1744, 1400, - 421, 1616, 2580, 335, 42, 81, 1292, 356, 2005, 229, 419, 1182, - 461, 1810, 362, 247, 1868, 327, 445, 1745, 272, 1149, 2940, 1614, - 1954, 234, 415, 160, 454, 606, 2666, 343, 3395, 156, 445, 43, - 3361, 322, 1466, 801, 2629, 1629, 716, 146, 3444, 3040, 141, 1741, - 1901, 2090, 506, 820, 137, 189, 779, 68, 843, 844, 467, 388, - 1128, 1190, 789, 1781, 911, 439, 821, 123, 1554, 247, 454, 233, - 340, 405, 3421, 669, 1457, 1876, 249, 244, 389, 1194, 243, 3552, - 449, 3222, 185, 2027, 3257, 154, 1003, 1813, 1950, 2249, 1198, 229, - 312, 1669, 1926, 2869, 199, 465, 1731, 655, 2684, 228, 420, 385, - 26, 2033, 1519, 1063, 2891, 165, 417, 1053, 2754, 406, 246, 3252, - 150, 1699, 2038, 2990, 549, 461, 2149, 1517, 158, 644, 1966, 419, - 182, 3799, 52, 657, 1582, 430, 490, 1269, 673, 2763, 671, 2597, - 355, 500, 172, 461, 1692, 320, 1011, 307, 311, 1717, 520, 370, - 1490, 1998, 344, 477, 2930, 400, 226, 1342, 415, 332, 331, 2249, - 499, 1354, 313, 1932, 1171, 1446, 2524, 385, 67, 163, 466, 318, - 134, 218, 350, 1583, 432, 129, 2752, 388, 889, 1283, 2422, 120, - 1077, 3458, 3183, 430, 456, 664, 1589, 295, 487, 804, 162, 569, - 313, 904, 156, 3105, 2312, 462, 1159, 1730, 2503, 1470, 1295, 3540, - 114, 500, 99, 2029, 1684, 463, 2909, 113, 319, 1993, 310, 370, - 466, 296, 3518, 2254, 226, 297, 161, 351, 1549, 1013, 2296, 1311, - 460, 485, 265, 327, 28, 1611, 2831, 425, 433, 1374, 322, 1039, - 2147, 1565, 326, 851, 276, 309, 473, 2732, 422, 909, 22, 217, - 488, 111, 369, 289, 79, 254, 334, 705, 1676, 1019, 47, 2859, - 402, 377, 2824, 606, 3935, 2603, 92, 319, 269, 408, 373, 218, - 911, 1631, 309, 1287, 421, 1538, 939, 3797, 376, 1158, 733, 840, - 1501, 151, 1845, 275, 1941, 1770, 343, 657, 3545, 108, 1379, 398, - 281, 1504, 983, 504, 3228, 351, 2151, 3223, 2013, 1914, 553, 411, - 215, 323, 454, 831, 36, 422, 1613, 251, 953, 387, 3214, 479, - 2034, 476, 2289, 379, 498, 128, 2923, 1654, 315, 1855, 198, 1890, - 238, 394, 1974, 209, 418, 1248, 1890, 1423, 3351, 869, 557, 406, - 355, 130, 220, 486, 325, 2435, 1291, 1756, 216, 75, 380, 459, - 23, 394, 875, 3291, 331, 1517, 3120, 562, 3534, 1212, 994, 369, - 293, 3086, 188, 915, 948, 62, 340, 71, 2635, 1543, 177, 1731, - 438, 2190, 317, 2864, 885, 390, 367, 212, 446, 478, 3401, 180, - 163, 382, 1182, 1790, 114, 401, 915, 2178, 140, 230, 303, 1770, - 2432, 259, 866, 277, 1548, 961, 2964, 1510, 72, 467, 925, 962, - 297, 366, 2135, 2116, 296, 1148, 2722, 2346, 131, 1539, 457, 1649, - 2870, 268, 793, 165, 773, 1203, 188, 320, 1796, 1518, 205, 464, - 309, 397, 394, 1515, 692, 497, 1328, 2193, 204, 472, 491, 1182, - 1185, 2376, 2214, 491, 2449, 930, 452, 92, 819, 304, 247, 1923, - 418, 1857, 1276, 660, 99, 428, 1040, 2592, 431, 2359, 339, 2786, - 360, 1247, 1598, 2464, 194, 238, 1960, 195, 39, 1286, 816, 285, - 497, 328, 631, 2365, 204, 367, 3280, 3173, 1228, 355, 1550, 2230, - 1734, 468, 235, 3793, 80, 371, 234, 2963, 260, 266, 117, 1389, - 769, 419, 1586, 195, 1751, 650, 3070, 304, 472, 492, 1609, 252, - 2287, 134, 390, 508, 363, 1272, 1722, 278, 917, 167, 2495, 478, - 43, 100, 458, 417, 1915, 219, 131, 165, 567, 695, 1303, 535, - 547, 517, 710, 814, 1572, 374, 473, 89, 469, 3313, 180, 2562, - 240, 1264, 2809, 2746, 1328, 402, 192, 1433, 212, 91, 326, 285, - 159, 290, 353, 2569, 168, 365, 3854, 237, 279, 424, 1649, 397, - 156, 410, 1741, 636, 1850, 301, 328, 659, 1557, 994, 2901, 577, - 206, 267, 144, 239, 327, 1874, 197, 286, 279, 387, 422, 1069, - 29, 435, 579, 94, 2384, 203, 2894, 133, 422, 1863, 228, 1117, - 74, 359, 455, 130, 682, 155, 1576, 349, 1651, 2213, 2083, 1924, - 103, 227, 295, 1215, 3221, 253, 412, 1273, 1382, 1398, 413, 1749, - 2790, 199, 2061, 2191, 327, 2648, 150, 1725, 158, 667, 395, 2116, - 3432, 177, 298, 173, 759, 1298, 301, 1315, 274, 931, 777, 477, - 2803, 292, 1012, 317, 1492, 1499, 2402, 399, 391, 724, 1436, 103, - 1683, 328, 1892, 2060, 164, 1220, 299, 893, 353, 289, 838, 566, - 1787, 646, 375, 393, 2626, 457, 219, 422, 154, 304, 281, 1678, - 1875, 225, 298, 1937, 467, 217, 199, 1370, 447, 287, 314, 298, - 114, 481, 455, 1197, 1273, 351, 1324, 2912, 663, 572, 45, 3446, - 361, 1717, 91, 3577, 2047, 2835, 1344, 2685, 249, 191, 1167, 736, - 585, 3776, 112, 1888, 207, 3050, 164, 3778, 2551, 3749, 1505, 207, - 332, 3291, 908, 654, 2651, 301, 1492, 555, 1084, 3959, 441, 3221, - 238, 162, 330, 2220, 668, 306, 1590, 2486, 604, 157, 288, 2425, - 216, 431, 423, 278, 128, 112, 271, 3112, 2856, 2716, 106, 78, - 65, 221, 2729, 2508, 744, 1232, 1950, 95, 421, 368, 389, 1986, - 448, 1615, 629, 1893, 1138, 1894, 416, 237, 2264, 351, 134, 414, - 3066, 528, 225, 1031, 1749, 214, 3584, 1753, 779, 475, 235, 345, - 472, 92, 293, 597, 165, 3288, 277, 786, 433, 704, 3196, 122, - 354, 203, 1785, 2430, 314, 108, 74, 433, 2262, 715, 1911, 1408, - 2712, 1873, 265, 1444, 462, 1839, 346, 403, 2433, 121, 1646, 141, - 1470, 2382, 1490, 409, 361, 359, 1382, 478, 746, 478, 329, 206, - 1519, 563, 3402, 3247, 1288, 333, 2408, 677, 456, 467, 498, 796, - 1007, 324, 225, 352, 550, 787, 315, 361, 245, 1154, 207, 429, - 270, 250, 964, 989, 204, 463, 224, 318, 2420, 1072, 395, 1387, - 317, 494, 2265, 1462, 828, 61, 2280, 228, 357, 1741, 385, 1412, - 970, 1178, 2886, 1054, 1183, 85, 612, 2600, 185, 260, 1049, 364, - 452, 48, 2179, 3127, 275, 1744, 133, 129, 109, 461, 188, 907, - 881, 326, 543, 398, 1858, 2004, 1675, 248, 3372, 982, 1190, 948, - 2300, 286, 414, 1831, 167, 308, 352, 955, 765, 299, 409, 1627, - 1688, 201, 2644, 288, 998, 1320, 427, 2780, 536, 1763, 475, 2460, - 386, 2501, 634, 2095, 305, 270, 330, 2783, 568, 330, 428, 400, - 425, 2749, 462, 1405, 1551, 379, 472, 1407, 311, 2957, 363, 2878, - 3168, 219, 1411, 487, 3590, 260, 1295, 2659, 250, 912, 473, 203, - 807, 134, 2306, 194, 230, 1054, 1844, 241, 540, 1743, 296, 941, - 272, 132, 313, 304, 117, 40, 960, 452, 718, 461, 452, 440, - 113, 386, 91, 492, 632, 209, 3329, 459, 755, 439, 165, 2381, - 414, 905, 3756, 622, 1771, 748, 587, 479, 2705, 1125, 3496, 14, - 3092, 2157, 1476, 300, 479, 432, 350, 3039, 933, 471, 649, 400, - 1893, 3269, 2836, 3634, 1294, 289, 310, 182, 1092, 450, 1913, 110, - 398, 1060, 381, 1308, 1534, 2407, 270, 382, 63, 188, 236, 2091, - 352, 1333, 415, 2101, 312, 438, 2271, 2717, 2692, 332, 226, 597, - 2580, 368, 1720, 256, 405, 1956, 166, 1762, 439, 1272, 1251, 70, - 233, 120, 2469, 456, 1109, 125, 341, 1339, 29, 457, 158, 3314, - 61, 1866, 3688, 451, 184, 1118, 2117, 282, 2765, 2584, 450, 2370, - 102, 481, 3239, 484, 2315, 836, 360, 497, 1917, 1211, 1030, 97, - 373, 37, 486, 76, 2924, 3712, 430, 2038, 2383, 3478, 1116, 1828, - 1076, 1799, 576, 319, 2294, 1223, 2203, 1152, 228, 1699, 348, 833, - 1945, 527, 3297, 1142, 656, 1010, 316, 586, 562, 2118, 477, 185, - 74, 293, 344, 362, 127, 382, 469, 2141, 318, 241, 1311, 624, - 2982, 2819, 292, 3480, 2710, 161, 475, 940, 350, 231, 3065, 215, - 669, 70, 1718, 2334, 484, 378, 1106, 1298, 2166, 202, 245, 647, - 166, 461, 363, 621, 140, 785, 966, 2239, 506, 2766, 292, 2373, - 1872, 1886, 92, 212, 416, 301, 2298, 356, 3398, 2223, 1639, 1118, - 1683, 255, 1705, 2216, 2603, 2706, 2690, 2157, 1095, 635, 1114, 403, - 385, 1734, 1130, 273, 402, 166, 2467, 372, 1713, 2419, 3466, 369, - 188, 926, 261, 342, 1486, 1271, 783, 1803, 921, 304, 1356, 270, - 381, 1979, 591, 1643, 857, 176, 2347, 2444, 1714, 2481, 1254, 1146, - 1384, 59, 135, 399, 616, 638, 218, 321, 3153, 650, 218, 248, - 80, 212, 1029, 1777, 393, 1303, 1055, 88, 308, 367, 1064, 383, - 1320, 3073, 183, 2102, 398, 167, 440, 2928, 368, 431, 2270, 1448, - 195, 3146, 312, 2151, 1328, 1775, 425, 225, 1740, 409, 1615, 473, - 3262, 1571, 723, 273, 254, 1384, 139, 2558, 286, 1889, 1606, 383, - 70, 3212, 87, 174, 1183, 2447, 476, 1018, 1210, 952, 2079, 463, - 480, 296, 1126, 272, 109, 2743, 3011, 1140, 349, 2904, 2588, 1467, - 250, 2332, 293, 471, 2708, 238, 141, 1382, 1268, 473, 1252, 417, - 110, 1192, 1100, 756, 1383, 85, 278, 422, 708, 1697, 1791, 1862, - 481, 241, 370, 79, 70, 296, 365, 102, 326, 1739, 695, 500, - 3203, 397, 2369, 73, 1238, 90, 1136, 1872, 1866, 1194, 976, 1746, - 433, 402, 2001, 1847, 3968, 3243, 1608, 289, 1601, 1484, 190, 483, - 1807, 453, 1283, 311, 2227, 1732, 800, 113, 1047, 329, 789, 406, - 390, 89, 424, 229, 262, 839, 1146, 820, 295, 1265, 536, 298, - 1255, 401, 341, 219, 211, 786, 66, 471, 696, 2126, 199, 1919, - 2893, 415, 124, 2701, 3161, 447, 2209, 1083, 1308, 741, 1721, 1903, - 3237, 696, 1558, 244, 1975, 1537, 433, 950, 217, 348, 2232, 1306, - 164, 139, 1333, 287, 682, 343, 381, 474, 184, 73, 175, 1796, - 3039, 1211, 436, 252, 901, 106, 401, 56, 546, 135, 734, 373, - 1021, 545, 851, 313, 1940, 310, 1635, 578, 639, 430, 366, 157, - 1029, 278, 1375, 2575, 1208, 1484, 339, 2907, 1658, 2049, 2240, 793, - 1071, 816, 290, 443, 2525, 476, 339, 908, 1022, 387, 483, 224, - 1817, 315, 972, 151, 1172, 232, 1577, 653, 207, 1453, 97, 904, - 455, 2386, 139, 1840, 3109, 2948, 134, 2301, 356, 1592, 559, 1461, - 539, 152, 469, 632, 3290, 610, 356, 1293, 220, 179, 806, 226, - 398, 87, 222, 363, 1188, 64, 401, 2414, 3687, 1661, 1256, 1319, - 2742, 326, 1413, 1627, 3199, 330, 297, 121, 365, 823, 437, 858, - 374, 332, 469, 190, 276, 372, 1097, 2258, 551, 2046, 130, 2472, - 415, 3823, 344, 2851, 1486, 236, 662, 2089, 449, 633, 1340, 132, - 2355, 387, 274, 1690, 1623, 758, 2349, 2396, 232, 525, 2667, 65, - 1425, 235, 177, 1733, 1541, 300, 3336, 1634, 132, 414, 604, 370, - 111, 203, 3705, 242, 251, 1216, 208, 1703, 1655, 666, 3154, 785, - 882, 275, 2703, 467, 2296, 461, 470, 2197, 181, 272, 2197, 970, - 609, 2996, 210, 2255, 1576, 577, 1070, 1404, 2167, 737, 274, 302, - 939, 876, 309, 267, 455, 680, 2932, 119, 1884, 1588, 3776, 239, - 56, 322, 3279, 2495, 2103, 239, 2592, 406, 205, 142, 837, 388, - 1996, 1204, 1289, 1765, 1393, 396, 493, 817, 1121, 455, 88, 1198, - 1825, 2331, 640, 564, 215, 1028, 288, 425, 244, 170, 405, 285, - 1148, 2506, 896, 702, 437, 221, 1767, 1470, 3053, 274, 2640, 1290, - 1069, 429, 1862, 1161, 735, 380, 1130, 409, 1416, 348, 275, 1793, - 1422, 318, 109, 350, 2033, 2471, 89, 340, 1217, 67, 1347, 2652, - 1853, 2014, 323, 3003, 1029, 267, 2688, 1869, 322, 1190, 1017, 401, - 102, 482, 183, 492, 72, 423, 1244, 405, 426, 312, 116, 159, - 3373, 2345, 2581, 450, 355, 917, 1335, 949, 1445, 1653, 91, 1617, - 146, 2416, 72, 253, 27, 3231, 47, 351, 268, 39, 229, 1370, - 2479, 1429, 275, 3268, 490, 926, 418, 1927, 627, 376, 362, 1779, - 1628, 3319, 265, 1270, 3140, 1218, 87, 2074, 1618, 233, 230, 60, - 368, 2166, 484, 277, 248, 256, 420, 468, 2871, 1677, 751, 2585, - 1556, 361, 428, 503, 1498, 34, 3330, 321, 965, 480, 644, 1200, - 1307, 3135, 184, 746, 939, 256, 3486, 465, 1307, 442, 2784, 2562, - 470, 142, 833, 237, 176, 136, 1793, 47, 3040, 750, 2396, 963, - 1665, 3245, 2159, 908, 308, 3179, 216, 356, 278, 1851, 123, 77, - 1339, 383, 218, 1326, 2750, 401, 404, 2857, 173, 417, 132, 170, - 336, 386, 162, 1716, 297, 1518, 110, 2867, 1021, 383, 2072, 343, - 1528, 887, 900, 73, 332, 962, 439, 295, 450, 169, 474, 262, - 205, 894, 520, 2813, 1694, 443, 273, 1028, 2266, 215, 1887, 368, - 73, 2504, 69, 1701, 953, 53, 761, 311, 2417, 294, 75, 2025, - 399, 1631, 2680, 3327, 748, 495, 219, 1877, 802, 1015, 1477, 829, - 316, 231, 304, 309, 3030, 99, 1031, 190, 488, 1258, 1119, 823, - 335, 1622, 3113, 285, 2228, 136, 182, 491, 998, 1700, 1579, 3539, - 482, 256, 947, 168, 2208, 1706, 1377, 460, 1927, 181, 1175, 267, - 333, 1848, 605, 3180, 491, 276, 2054, 2493, 805, 226, 519, 453, - 396, 1924, 335, 1981, 85, 708, 1647, 462, 3613, 372, 2156, 309, - 438, 466, 130, 493, 762, 697, 1984, 987, 2113, 601, 3210, 180, - 479, 1419, 1087, 672, 137, 3237, 83, 1684, 1986, 478, 2111, 153, - 1144, 1420, 1337, 314, 2231, 53, 2462, 2202, 371, 3546, 594, 426, - 2996, 729, 1529, 1257, 191, 546, 337, 3743, 416, 316, 499, 428, - 1285, 192, 2655, 1763, 498, 1538, 3516, 1652, 375, 1759, 302, 222, - 2813, 852, 512, 517, 272, 388, 485, 685, 2420, 2021, 1582, 218, - 1949, 347, 128, 513, 310, 653, 486, 297, 1269, 344, 2802, 197, - 330, 3412, 3035, 2177, 810, 1892, 464, 476, 371, 3678, 3995, 3752, - 318, 620, 723, 3699, 241, 2994, 1983, 255, 1357, 446, 1513, 1899, - 1324, 429, 1985, 1119, 2185, 690, 3992, 3759, 2409, 1539, 1001, 1980, - 3223, 2776, 2465, 1871, 224, 1612, 446, 4093, 466, 349, 970, 3834, - 978, 1708, 953, 2438, 2375, 2514, 2918, 1569, 2003, 922, 455, 3703, - 614, 3695, 709, 3872, 490, 719, 212, 3416, 487, 2110, 628, 2450, - 1508, 861, 3597, 467, 3329, 1155, 1836, 474, 1859, 2174, 1090, 1701, - 2581, 3606, 2535, 1660, 469, 374, 2447, 744, 329, 1854, 2309, 401, - 1319, 3144, 1808, 1432, 2723, 440, 3668, 223, 431, 3042, 390, 2539, - 427, 2403, 283, 3137, 1943, 492, 1237, 3778, 3184, 2480, 1804, 1493, - 3472, 2906, 2794, 2675, 578, 2378, 467, 2907, 477, 3355, 1228, 2184, - 1468, 1625, 522, 399, 2236, 341, 3911, 3852, 2490, 1986, 2852, 419, - 892, 3756, 2212, 909, 2483, 741, 3592, 1330, 1561, 4078, 2529, 441, - 3139, 2613, 3310, 591, 1728, 443, 2255, 3454, 3015, 499, 794, 2022, - 2436, 2550, 2947, 374, 3464, 463, 1262, 2964, 3149, 1718, 2284, 2656, - 385, 1762, 3193, 305, 486, 745, 301, 3014, 1057, 2316, 1125, 1691, - 2189, 2950, 3761, 3459, 249, 3052, 3201, 2518, 419, 1186, 2305, 3394, - 3138, 2596, 2522, 3314, 2093, 3200, 2385, 1431, 1268, 2469, 3024, 835, - 1358, 2465, 2849, 393, 927, 858, 2262, 1253, 273, 3512, 2515, 1816, - 2784, 3561, 586, 437, 3961, 1406, 1191, 2211, 3936, 2813, 255, 2299, - 3877, 2570, 1961, 245, 2312, 4053, 259, 3640, 1310, 2294, 3670, 3205, - 3736, 1381, 3037, 2406, 871, 3261, 396, 269, 134, 2233, 711, 3760, - 1506, 2405, 394, 3685, 3860, 3095, 3757, 1915, 1664, 2374, 2412, 1355, - 1058, 311, 786, 3829, 758, 403, 500, 2360, 3876, 788, 3068, 3763, - 583, 540, 2624, 1795, 210, 254, 1295, 3243, 783, 2341, 322, 378, - 3889, 1072, 3109, 365, 2313, 4048, 3330, 628, 3663, 3529, 863, 2397, - 471, 376, 3777, 2623, 2351, 1931, 2060, 352, 889, 957, 300, 1428, - 387, 359, 2269, 2516, 3216, 3612, 3246, 3349, 2736, 2634, 458, 2309, - 467, 3254, 3792, 1705, 2435, 3356, 2199, 293, 3229, 295, 2050, 364, - 2505, 1898, 1557, 3747, 3868, 3021, 2230, 428, 3784, 2439, 1971, 1420, - 3171, 290, 1455, 3064, 442, 1131, 2208, 3566, 896, 2948, 367, 274, - 2449, 1179, 1225, 2677, 2205, 3783, 3589, 1104, 2261, 2137, 1848, 1440, - 2380, 4041, 3489, 3986, 3088, 2090, 3557, 2973, 526, 1023, 3524, 3675, - 355, 2337, 3118, 2308, 2017, 282, 871, 2654, 594, 1686, 345, 2622, - 1057, 2075, 453, 1132, 4054, 1468, 2033, 860, 3078, 1287, 260, 887, - 3621, 105, 115, 841, 3420, 656, 2280, 1451, 1001, 1525, 389, 616, - 3585, 365, 480, 2121, 3391, 1113, 2530, 257, 1962, 431, 849, 69, - 2330, 3346, 2731, 3774, 1091, 429, 3711, 2881, 1884, 345, 1157, 268, - 3558, 2250, 1026, 2239, 319, 1977, 2494, 3383, 1736, 1543, 364, 1739, - 3806, 499, 1671, 3849, 524, 502, 232, 2179, 475, 3665, 1449, 3721, - 3680, 2643, 2051, 1225, 2053, 3872, 2854, 2136, 516, 130, 1573, 4084, - 1463, 1316, 834, 2061, 3771, 1426, 2764, 659, 329, 2015, 3512, 1366, - 435, 361, 2578, 3365, 1368, 3763, 3739, 3185, 331, 1155, 449, 4004, - 641, 2429, 360, 2863, 1955, 84, 1159, 285, 3253, 2077, 3579, 346, - 2421, 3101, 446, 2325, 3090, 3665, 3706, 760, 3734, 2272, 3139, 651, - 2546, 2251, 343, 1852, 643, 1765, 456, 699, 2073, 4043, 486, 456, - 3587, 395, 2851, 1142, 2272, 1286, 2172, 1396, 837, 2036, 1146, 1120, - 1446, 1271, 576, 2954, 424, 2586, 2790, 2550, 554, 3005, 2181, 2678, - 3692, 2212, 3627, 1168, 370, 3960, 2235, 382, 2156, 3255, 1688, 3931, - 3379, 2509, 1560, 2649, 3927, 391, 584, 1317, 4028, 299, 157, 327, - 717, 3471, 474, 1727, 771, 2703, 2561, 2529, 2547, 198, 1974, 1529, - 3786, 3461, 199, 1745, 198, 294, 2175, 2861, 325, 684, 1482, 1136, - 3965, 1847, 752, 2486, 4061, 1158, 2674, 382, 2750, 2708, 1667, 3932, - 2403, 3853, 431, 3835, 3684, 117, 3489, 3174, 1195, 3544, 2744, 2460, - 2056, 3476, 2697, 408, 3156, 3131, 3070, 2633, 1263, 2586, 273, 3689, - 173, 3971, 1207, 3871, 412, 872, 3056, 303, 4095, 1484, 714, 1522, - 2451, 916, 4053, 2443, 3053, 910, 2213, 3197, 292, 195, 4029, 915, - 3018, 2753, 577, 2952, 652, 1229, 1938, 1349, 186, 2448, 2515, 3259, - 3893, 2211, 2860, 3894, 1389, 4077, 3241, 2445, 316, 345, 3335, 996, - 2161, 3798, 3598, 721, 1032, 1068, 401, 707, 3094, 1318, 1185, 4094, - 1474, 685, 609, 4036, 3263, 303, 3209, 2857, 246, 4075, 1593, 1673, - 3024, 740, 3175, 1902, 529, 2300, 1352, 1636, 3929, 3480, 652, 287, - 461, 3212, 708, 3122, 2377, 319, 1563, 1059, 3918, 2952, 2222, 3355, - 197, 3802, 3333, 711, 3882, 1595, 2676, 1940, 2791, 1320, 350, 3408, - 1792, 600, 3471, 1042, 3938, 772, 3465, 1553, 284, 1176, 1441, 2129, - 3265, 1859, 2543, 1451, 3293, 1511, 622, 589, 448, 314, 269, 2332, - 1586, 1276, 2858, 3514, 2718, 3879, 404, 2661, 3884, 2834, 1309, 317, - 3477, 296, 2324, 469, 2782, 2577, 451, 2036, 625, 2573, 3690, 2124, - 2329, 489, 3555, 3344, 3595, 784, 2986, 359, 1181, 3273, 444, 367, - 2124, 2455, 2401, 2714, 886, 1979, 648, 451, 3000, 2783, 633, 3341, - 3778, 2692, 2524, 1661, 3201, 1229, 272, 1810, 1149, 1133, 406, 1409, - 1671, 552, 1654, 3186, 2122, 2845, 869, 435, 3432, 2083, 3623, 2599, - 4021, 296, 3639, 2879, 1579, 3645, 3044, 3190, 1215, 3570, 2608, 721, - 2170, 161, 356, 1999, 354, 4027, 1391, 1827, 211, 2186, 298, 2622, - 482, 2935, 1123, 862, 2943, 3198, 241, 279, 1107, 2559, 3157, 463, - 2320, 1888, 1461, 3537, 2545, 1402, 889, 3151, 2204, 1454, 2917, 407, - 1340, 770, 1570, 505, 1061, 280, 2189, 2695, 1219, 1543, 3452, 3179, - 1323, 396, 1474, 3244, 2497, 890, 2264, 3671, 3317, 2134, 3040, 3428, - 2705, 2077, 1544, 3033, 1662, 407, 2706, 2820, 2444, 3167, 985, 3673, - 571, 1195, 2505, 2494, 535, 3772, 391, 167, 202, 3650, 3256, 2201, - 1256, 2256, 430, 1428, 3336, 1762, 1859, 631, 3095, 297, 2984, 1243, - 2735, 3347, 336, 363, 1065, 350, 2304, 2800, 3946, 550, 2509, 258, - 1343, 3313, 474, 582, 329, 286, 1689, 972, 2841, 320, 408, 2161, - 3184, 165, 1002, 429, 2146, 3091, 1486, 3836, 538, 3237, 3453, 1044, - 317, 3333, 1896, 286, 2883, 1747, 3077, 1000, 2774, 319, 2718, 244, - 346, 1369, 2699, 2620, 321, 2118, 470, 681, 477, 565, 320, 558, - 2214, 589, 219, 3866, 2777, 2654, 2526, 3775, 1805, 2923, 986, 961, - 3527, 2668, 3363, 393, 1025, 1730, 2773, 1823, 1321, 3699, 2970, 3153, - 2288, 2989, 2227, 1808, 263, 1918, 3753, 437, 448, 2637, 334, 2619, - 189, 223, 324, 650, 2150, 488, 3185, 3003, 1687, 3021, 501, 341, - 4064, 494, 101, 4093, 2045, 675, 767, 447, 2732, 3556, 1452, 1233, - 3366, 1917, 2755, 4058, 2278, 1129, 1976, 2704, 2344, 2840, 293, 495, - 701, 1016, 2242, 279, 342, 2066, 1342, 2477, 2447, 2248, 378, 701, - 1192, 3811, 2196, 376, 3162, 1825, 3677, 2472, 2600, 368, 355, 2832, - 3978, 3668, 1871, 2466, 1491, 491, 1245, 2377, 309, 3941, 3851, 3511, - 131, 119, 364, 1389, 2055, 1997, 1931, 2081, 260, 305, 324, 1852, - 1200, 3487, 3893, 1944, 2237, 2322, 675, 1800, 2683, 85, 2730, 1695, - 3808, 3563, 655, 299, 454, 137, 2618, 3820, 3083, 202, 961, 2656, - 3901, 552, 2716, 3659, 397, 4014, 1882, 2649, 278, 3585, 1005, 3648, - 1427, 1712, 3561, 3424, 671, 914, 2972, 65, 119, 306, 1722, 883, - 3478, 2864, 2415, 3418, 438, 1325, 2339, 437, 390, 336, 1067, 584, - 3412, 1383, 366, 3007, 2685, 3656, 3177, 3803, 903, 3535, 1780, 3922, - 1318, 3259, 1603, 2148, 245, 1630, 3259, 2367, 1810, 2088, 3424, 241, - 339, 483, 1478, 2766, 2162, 4042, 162, 1172, 343, 4034, 755, 2805, - 1963, 1589, 2912, 3054, 3053, 3303, 2949, 446, 418, 905, 992, 227, - 1052, 685, 557, 2297, 253, 3487, 1432, 484, 169, 2195, 4022, 932, - 152, 370, 1433, 3983, 3369, 361, 2069, 1941, 1682, 2082, 403, 1873, - 512, 776, 930, 2065, 1312, 231, 1051, 2507, 3567, 2273, 2413, 173, - 1909, 3019, 2841, 3794, 3189, 1626, 975, 774, 1087, 2220, 610, 452, - 262, 853, 4076, 2674, 2040, 1478, 1302, 321, 1848, 2981, 845, 353, - 308, 1235, 3069, 3370, 1222, 2056, 3441, 3360, 3742, 3045, 358, 2599, - 3943, 2786, 902, 3641, 971, 859, 4014, 1787, 479, 443, 2279, 1408, - 3263, 1929, 3944, 2146, 2601, 3200, 463, 3781, 3155, 3523, 2193, 3256, - 274, 2083, 3304, 2260, 1782, 698, 1495, 2610, 2420, 309, 3282, 1337, - 2435, 2768, 493, 842, 2575, 3361, 1712, 371, 294, 1353, 1867, 2599, - 603, 3582, 3312, 3320, 3171, 1841, 1329, 2325, 2997, 3352, 1282, 599, - 1719, 3953, 2958, 2467, 216, 1564, 1259, 3765, 471, 3115, 3482, 3360, - 3978, 3575, 1851, 3204, 1322, 2717, 4050, 3018, 1685, 2594, 1465, 1007, - 2601, 1517, 2627, 3140, 2398, 664, 488, 416, 2653, 4012, 1620, 2703, - 3218, 1388, 1835, 3157, 456, 1748, 2706, 1713, 2225, 200, 1114, 1922, - 3435, 3105, 602, 2367, 3886, 1704, 3898, 3962, 2931, 2417, 957, 1964, - 3642, 3714, 1794, 2931, 3621, 420, 2488, 3810, 2328, 2626, 3348, 3266, - 1916, 3575, 166, 632, 2105, 950, 997, 563, 1252, 1522, 4065, 288, - 3425, 3230, 2847, 312, 3654, 179, 2698, 2909, 2554, 623, 3810, 3883, - 2615, 341, 810, 1805, 373, 2244, 4084, 200, 184, 3627, 459, 296, - 3172, 3869, 3717, 239, 1750, 2257, 1943, 1332, 4057, 1450, 3545, 365, - 756, 1287, 1142, 3749, 337, 382, 2391, 2992, 3619, 2113, 470, 1822, - 3469, 2879, 3241, 115, 1964, 118, 3530, 3885, 1412, 3443, 3700, 3695, - 1681, 2094, 1031, 1530, 356, 3383, 2634, 1387, 2355, 2921, 791, 2750, - 676, 3641, 991, 2541, 447, 3434, 1763, 418, 3474, 2948, 532, 415, - 3649, 2544, 1764, 3434, 3676, 1361, 2775, 1797, 1314, 2625, 286, 487, - 372, 2522, 2840, 429, 1392, 3418, 3536, 1911, 1662, 2045, 845, 1059, - 139, 3953, 3647, 877, 1624, 398, 3566, 433, 2715, 1321, 2362, 3555, - 180, 218, 2399, 131, 1163, 2868, 3142, 2235, 3256, 875, 1163, 3299, - 433, 885, 381, 2853, 1134, 3669, 2671, 2100, 2442, 1284, 3806, 3103, - 485, 3717, 3035, 4040, 608, 354, 462, 1151, 3619, 623, 463, 3713, - 196, 3359, 462, 3182, 2454, 488, 357, 3217, 172, 271, 3699, 1759, - 3788, 768, 3441, 3494, 1263, 3332, 2168, 3841, 1644, 2901, 484, 1368, - 246, 117, 2233, 850, 440, 3475, 487, 3844, 717, 3247, 3870, 702, - 1238, 1643, 1951, 1830, 3758, 1088, 221, 362, 3840, 1298, 2681, 1431, - 2917, 3741, 3165, 2983, 2625, 2140, 2929, 413, 3298, 2403, 2378, 3584, - 3837, 1753, 1534, 2713, 897, 2305, 1134, 883, 258, 393, 2903, 3272, - 3255, 1544, 4020, 307, 2231, 2114, 1012, 3666, 3172, 1255, 1325, 2789, - 3744, 3973, 348, 3152, 2656, 3615, 754, 3072, 2761, 248, 2317, 3934, - 287, 4091, 3773, 695, 4036, 3878, 771, 3704, 181, 2331, 3963, 295, - 102, 3406, 2590, 4054, 323, 2535, 176, 946, 3235, 2768, 811, 1346, - 2868, 3682, 763, 143, 429, 2112, 469, 2026, 1322, 2888, 541, 422, - 2143, 452, 227, 2492, 2789, 2491, 479, 2097, 1633, 1281, 1604, 1232, - 3856, 2525, 2266, 1715, 1866, 3666, 416, 268, 2699, 893, 69, 4005, - 728, 2635, 686, 1424, 253, 3951, 1112, 3538, 530, 1956, 2120, 452, - 2875, 3029, 4096, 3723, 2048, 1243, 1185, 2099, 3999, 282, 2673, 2481, - 833, 1037, 418, 1830, 394, 3788, 1820, 1913, 3160, 1682, 3116, 3417, - 3236, 2310, 1213, 378, 416, 1647, 3414, 1333, 291, 3453, 3719, 475, - 3301, 256, 681, 2013, 2612, 348, 2884, 1443, 3132, 282, 1436, 2054, - 2114, 409, 2492, 321, 454, 2846, 257, 716, 3322, 2414, 3849, 1930, - 3117, 3038, 2858, 2734, 2481, 3886, 3386, 2730, 1174, 3816, 1181, 2908, - 1173, 587, 427, 1738, 1138, 1303, 3448, 653, 2288, 3251, 1081, 2519, - 2468, 481, 1471, 359, 2165, 2489, 2687, 3493, 2680, 354, 3163, 1438, - 411, 3103, 2133, 3913, 2350, 254, 3777, 314, 320, 645, 254, 981, - 382, 413, 2888, 3100, 485, 1812, 1509, 1239, 231, 1838, 395, 1798, - 1618, 441, 665, 1323, 2307, 2349, 669, 402, 2648, 3806, 2030, 2277, - 588, 3974, 2454, 1766, 737, 2555, 2798, 755, 1562, 303, 2411, 383, - 3205, 2542, 3058, 4092, 770, 2175, 3023, 263, 3449, 1889, 1278, 3880, - 411, 1367, 2993, 3935, 2363, 277, 440, 260, 640, 2640, 3350, 379, - 3604, 1052, 521, 300, 3407, 344, 1649, 1356, 2759, 3006, 2537, 1953, - 3863, 3644, 172, 3143, 3319, 3815, 1911, 3220, 1108, 885, 2439, 100, - 1300, 3833, 2833, 457, 2831, 1755, 1920, 2318, 3123, 1580, 3275, 3991, - 2453, 703, 693, 481, 694, 415, 3915, 1174, 1930, 2360, 1893, 1124, - 1224, 2526, 2973, 3761, 592, 3921, 310, 4008, 3951, 434, 2092, 2073, - 2872, 3941, 2277, 424, 455, 2243, 2192, 2956, 1231, 3437, 2238, 3099, - 3597, 482, 1438, 1014, 1041, 2563, 3467, 2018, 3816, 197, 993, 1262, - 2842, 1857, 277, 3519, 1572, 2727, 2288, 3511, 2676, 2724, 2375, 2592, - 1082, 2476, 4072, 1380, 3906, 3819, 109, 3475, 1988, 1662, 1939, 2485, - 929, 3683, 1496, 2695, 483, 1761, 234, 621, 2024, 2761, 3964, 1829, - 2546, 3283, 550, 380, 1913, 2725, 454, 794, 3673, 2410, 276, 2614, - 1294, 2841, 426, 2553, 813, 2959, 2106, 2050, 1535, 2553, 2896, 1316, - 2902, 187, 1462, 822, 2531, 408, 414, 2257, 962, 481, 3230, 749, - 3311, 3276, 3812, 142, 3967, 3737, 3436, 1395, 1616, 3146, 1806, 357, - 1312, 3262, 760, 3514, 1611, 2573, 1906, 4071, 3782, 4040, 3485, 2513, - 2875, 1723, 3564, 3752, 160, 584, 931, 2327, 2082, 590, 4090, 158, - 489, 3804, 2545, 1078, 923, 1410, 3980, 3754, 234, 1557, 190, 768, - 1621, 4053, 3119, 1508, 498, 2522, 478, 1685, 2120, 4017, 3052, 2848, - 469, 1491, 439, 1069, 2639, 1633, 338, 1515, 715, 453, 666, 4049, - 3796, 1092, 472, 3438, 1354, 807, 1394, 737, 168, 1174, 1063, 2229, - 2960, 2981, 380, 3698, 1735, 412, 3033, 728, 4056, 3979, 398, 325, - 552, 419, 1902, 726, 3548, 2002, 400, 3464, 3574, 3331, 1559, 3963, - 412, 1274, 951, 988, 2071, 683, 2074, 287, 4048, 3146, 374, 1306, - 3792, 3067, 1508, 410, 476, 2368, 3739, 549, 3696, 2240, 3267, 3488, - 2191, 3914, 859, 655, 332, 482, 1340, 2745, 276, 1581, 2104, 386, - 2626, 1171, 3773, 710, 3786, 1244, 3396, 1975, 1648, 2192, 3548, 2709, - 1275, 2796, 276, 4010, 305, 3333, 2459, 842, 1742, 3719, 2531, 1800, - 3694, 3171, 2453, 1633, 1478, 227, 423, 2001, 403, 3496, 1531, 2499, - 1769, 209, 449, 2473, 87, 4048, 3233, 3379, 449, 3923, 3658, 815, - 3547, 1900, 1177, 1754, 626, 3212, 318, 1088, 1403, 2122, 1011, 164, - 2738, 2877, 920, 2130, 2169, 3470, 448, 3821, 2985, 935, 2281, 242, - 3049, 707, 3873, 2399, 1301, 451, 3206, 3820, 484, 1256, 3039, 3477, - 855, 955, 2133, 2249, 2502, 347, 1098, 2758, 4037, 1378, 4092, 2631, - 150, 2428, 1216, 2844, 438, 947, 2611, 3672, 574, 2799, 2914, 2663, - 2536, 3094, 539, 3667, 2913, 281, 2886, 194, 1677, 2086, 974, 1073, - 2386, 1980, 1716, 480, 414, 803, 782, 3008, 741, 1362, 2682, 3071, - 270, 495, 1326, 2971, 2647, 3282, 3252, 732, 3308, 1251, 910, 260, - 1764, 434, 935, 2057, 1592, 3862, 1362, 2584, 210, 1905, 1991, 3229, - 1624, 2715, 983, 2889, 411, 1687, 2125, 2471, 248, 284, 2515, 224, - 97, 2722, 1020, 484, 2120, 1206, 1135, 3396, 247, 1209, 3291, 3419, - 1457, 2690, 3456, 2810, 3762, 2080, 324, 3870, 83, 691, 327, 3038, - 282, 1115, 183, 2693, 827, 1784, 1666, 3129, 3399, 1369, 3375, 2544, - 554, 808, 2185, 2217, 2370, 2310, 1709, 806, 1495, 2641, 2051, 1826, - 3112, 308, 2916, 1180, 340, 981, 2393, 467, 3376, 333, 179, 240, - 3420, 2638, 2733, 2867, 1085, 760, 1245, 1090, 1617, 3003, 1969, 146, - 498, 3501, 1124, 3701, 372, 3919, 3387, 2778, 1454, 1261, 2660, 3780, - 1003, 107, 1111, 417, 375, 596, 509, 3076, 1802, 420, 4033, 489, - 387, 987, 3693, 442, 303, 3225, 3110, 1994, 2093, 325, 383, 2218, - 2077, 2236, 4043, 779, 273, 1909, 543, 318, 2364, 3393, 368, 391, - 479, 1535, 3581, 1277, 270, 1002, 835, 133, 3591, 406, 3380, 2057, - 1506, 2751, 231, 3216, 1445, 1434, 2796, 1020, 3788, 481, 2480, 388, - 3620, 3148, 3193, 2541, 672, 418, 777, 3910, 3451, 1921, 2779, 2323, - 3433, 3468, 493, 3819, 3090, 2323, 3341, 2981, 453, 3292, 347, 2097, - 280, 3427, 2400, 3482, 3539, 185, 876, 288, 1105, 2011, 1114, 2433, - 2924, 1050, 2441, 480, 3793, 348, 2788, 1638, 2556, 2623, 3861, 1710, - 3566, 2919, 2390, 2501, 2589, 2103, 3662, 2552, 172, 3750, 2709, 1003, - 1050, 798, 2429, 3494, 2983, 1202, 2712, 1137, 3380, 752, 340, 991, - 169, 863, 726, 2160, 2408, 345, 457, 2085, 2482, 252, 334, 3622, - 1334, 802, 1490, 959, 203, 2815, 880, 3348, 2608, 380, 1558, 3876, - 1642, 1692, 235, 3517, 386, 2267, 291, 3828, 2873, 3655, 2392, 2843, - 447, 662, 2445, 1642, 1007, 3942, 216, 3396, 1270, 3546, 423, 4078, - 3605, 4055, 2743, 1229, 353, 3890, 2319, 1926, 2858, 2047, 2229, 855, - 4068, 3989, 1088, 3406, 476, 277, 457, 2348, 1161, 2996, 1726, 3547, - 1694, 636, 497, 2930, 3034, 1040, 1249, 318, 325, 865, 1369, 3637, - 3348, 3437, 798, 397, 1402, 426, 2764, 3684, 2609, 2574, 3515, 1459, - 1432, 1445, 464, 2191, 2946, 2456, 2496, 3116, 2938, 2889, 2139, 839, - 3902, 424, 183, 451, 3087, 2343, 436, 1065, 2279, 2020, 3629, 3720, - 1355, 504, 284, 360, 1150, 271, 705, 2112, 318, 3626, 305, 2434, - 1524, 1098, 3322, 1903, 2532, 322, 2538, 4007, 348, 200, 221, 1577, - 4024, 1131, 2354, 3061, 3001, 4011, 1194, 1729, 949, 1938, 1102, 1351, - 3650, 220, 3639, 255, 1715, 3505, 3191, 416, 401, 710, 2821, 1070, - 3580, 2387, 389, 241, 1976, 1995, 3445, 3415, 2939, 814, 4080, 722, - 3388, 1221, 1341, 994, 3702, 474, 263, 1845, 749, 1156, 378, 1106, - 451, 2602, 2183, 2381, 2698, 445, 3440, 3130, 338, 832, 284, 360, - 2898, 2326, 407, 1803, 412, 1566, 3463, 2058, 1739, 1433, 2557, 426, - 465, 3363, 2194, 2796, 2602, 3588, 3858, 1219, 2099, 458, 984, 3935, - 224, 840, 2818, 868, 1184, 442, 3390, 3456, 486, 2670, 924, 428, - 2168, 1236, 1695, 3028, 1151, 824, 612, 1981, 3442, 3881, 1676, 275, - 3991, 3041, 1223, 2604, 2726, 722, 438, 2511, 396, 452, 2292, 3630, - 1463, 1427, 471, 3068, 2755, 1053, 2786, 305, 1904, 2566, 2922, 3288, - 870, 3898, 2542, 2552, 1004, 2519, 1239, 2856, 1541, 1507, 1448, 3297, - 844, 409, 463, 2196, 1752, 3295, 2401, 1489, 1757, 381, 1285, 2399, - 1197, 3394, 3722, 4086, 3514, 2773, 2252, 489, 3949, 645, 4011, 3565, - 277, 1394, 2485, 329, 2677, 1336, 3584, 934, 1041, 2574, 2338, 425, - 840, 2993, 985, 1196, 1123, 852, 344, 376, 342, 63, 1008, 928, - 2804, 1094, 1977, 2000, 193, 409, 151, 1413, 1708, 435, 3373, 925, - 1184, 813, 391, 2382, 734, 1096, 3969, 934, 1942, 2373, 864, 1973, - 3012, 1222, 3613, 226, 3494, 2788, 2236, 352, 1447, 2961, 3681, 4009, - 3750, 2873, 1603, 2037, 2658, 3378, 3208, 3988, 1479, 966, 1059, 2397, - 3922, 464, 2285, 1101, 2205, 3272, 1319, 2704, 2286, 3833, 1148, 2944, - 270, 404, 1438, 2976, 818, 2480, 2361, 3703, 1331, 1107, 3799, 3577, - 2900, 347, 1849, 2423, 3347, 429, 3428, 607, 494, 2103, 378, 1904, - 1749, 4013, 1481, 292, 1799, 444, 3536, 1451, 2036, 374, 357, 2019, - 101, 1928, 1466, 3610, 90, 2072, 3728, 717, 245, 1361, 3276, 3982, - 2920, 4077, 519, 2693, 106, 750, 3706, 489, 3949, 1689, 383, 2662, - 3550, 2754, 2379, 108, 630, 142, 1685, 2295, 3441, 3890, 1590, 2895, - 2766, 3839, 1821, 3162, 2088, 2334, 1854, 341, 2301, 1755, 2864, 1774, - 3618, 3210, 2012, 1413, 2571, 1159, 3317, 2770, 1920, 1209, 2915, 1623, - 2016, 2446, 1300, 323, 106, 849, 491, 1625, 390, 462, 2978, 3797, - 399, 373, 3362, 1345, 3294, 2824, 406, 3661, 3777, 467, 1846, 2136, - 2590, 243, 3174, 393, 2499, 192, 3405, 3138, 944, 744, 2115, 3404, - 2363, 372, 2497, 1585, 306, 1885, 575, 791, 1015, 1610, 1614, 2448, - 1991, 2995, 615, 2575, 4062, 1932, 315, 355, 1870, 396, 4085, 606, - 4078, 3340, 3687, 1536, 3362, 945, 1743, 2464, 3079, 3225, 3338, 2819, - 1673, 2520, 1690, 697, 1419, 2166, 2941, 3657, 829, 2389, 3034, 378, - 3838, 3205, 3858, 2180, 1162, 1220, 465, 2143, 3363, 2263, 1925, 3775, - 2474, 2250, 2918, 361, 629, 3933, 1233, 1967, 2614, 900, 3509, 3845, - 2958, 2781, 2312, 1902, 2333, 328, 183, 1127, 3760, 868, 293, 407, - 4059, 3316, 219, 2578, 311, 2570, 1925, 3266, 547, 3707, 4032, 2513, - 434, 1834, 2182, 872, 1672, 3722, 432, 2141, 2975, 359, 630, 3896, - 824, 3050, 3240, 2663, 2042, 3240, 847, 2374, 2078, 1965, 1144, 2506, - 3045, 421, 2091, 3326, 3466, 1950, 1196, 547, 377, 2928, 236, 2655, - 365, 2283, 3055, 396, 79, 3720, 2459, 646, 2867, 3178, 497, 2969, - 2564, 1217, 2188, 1614, 515, 497, 2620, 455, 182, 2853, 3845, 3813, - 2132, 2916, 2782, 1929, 1316, 3944, 1313, 1583, 3491, 494, 234, 2018, - 1535, 1375, 2745, 450, 1775, 1292, 3947, 2617, 1530, 2639, 2326, 2125, - 1401, 2774, 2017, 2395, 1079, 797, 1578, 403, 318, 773, 483, 1895, - 1193, 3047, 3513, 1665, 3647, 446, 3233, 222, 2337, 834, 3268, 3753, - 2304, 2596, 2450, 2816, 1499, 446, 3453, 2248, 3972, 3317, 2165, 600, - 3232, 1742, 700, 675, 1811, 1137, 1907, 2686, 2719, 2134, 829, 495, - 3865, 2129, 2126, 432, 4070, 119, 2609, 768, 333, 958, 1768, 2801, - 422, 3027, 2217, 2228, 2080, 1068, 481, 291, 225, 1386, 121, 1150, - 2159, 2631, 237, 2291, 3770, 2505, 444, 3715, 3875, 778, 3060, 3125, - 2362, 2154, 2726, 2275, 3957, 740, 2760, 1404, 2893, 1622, 1280, 2633, - 338, 693, 2627, 3007, 2389, 249, 3022, 292, 1540, 1833, 426, 1134, - 362, 187, 424, 2032, 3209, 1400, 485, 416, 2933, 132, 482, 318, - 569, 1363, 1630, 1020, 1236, 3544, 1357, 706, 3743, 1100, 2433, 1355, - 2819, 1392, 374, 897, 1935, 1278, 2607, 3081, 2253, 1918, 1113, 4075, - 2569, 2437, 2340, 3081, 1359, 1795, 723, 507, 3583, 3409, 1674, 3758, - 2259, 1332, 3032, 1230, 3724, 3080, 2476, 553, 1398, 255, 2226, 2695, - 436, 2894, 924, 1232, 1758, 3010, 1849, 2758, 3148, 3222, 154, 2362, - 435, 1964, 1497, 2197, 3058, 478, 3690, 3052, 3868, 1503, 460, 3779, - 1970, 663, 2770, 298, 2053, 1045, 407, 2449, 1657, 135, 484, 2803, - 4069, 2378, 1373, 2163, 3417, 339, 1820, 3950, 3838, 446, 372, 882, - 1071, 2775, 1322, 1909, 433, 936, 1122, 212, 454, 1837, 2026, 3412, - 1406, 2730, 382, 3843, 1033, 3891, 475, 3174, 2039, 344, 2478, 2152, - 1515, 895, 3226, 481, 3387, 940, 373, 3537, 2771, 1128, 3407, 3560, - 2063, 2763, 3602, 1165, 2758, 414, 1464, 1928, 3705, 980, 3846, 3632, - 1353, 697, 831, 1127, 409, 250, 3791, 1428, 369, 3378, 488, 3525, - 1822, 1751, 4002, 2163, 2741, 370, 3368, 497, 3574, 1383, 1180, 2911, - 1942, 384, 2891, 1167, 1310, 3219, 331, 2679, 3232, 2283, 3385, 2156, - 3051, 3362, 1264, 498, 3978, 1782, 366, 914, 1396, 2616, 3671, 1368, - 2968, 1958, 3938, 317, 120, 392, 3385, 2632, 2303, 1818, 3973, 1380, - 261, 148, 2219, 656, 2404, 3105, 1771, 3544, 2180, 2936, 1476, 1376, - 3465, 677, 255, 2342, 1977, 2776, 2642, 2032, 326, 2149, 1562, 1226, - 1218, 490, 462, 542, 1520, 3612, 1668, 2532, 1179, 291, 1828, 1646, - 4012, 392, 3585, 1729, 2106, 831, 2653, 3099, 1102, 388, 2427, 1976, - 1446, 1093, 1869, 2113, 2681, 1133, 2406, 1263, 2095, 2982, 1099, 437, - 2729, 406, 4083, 2738, 3817, 2470, 1511, 4050, 1571, 332, 3248, 2210, - 329, 1249, 2579, 704, 2002, 1605, 328, 1360, 200, 3250, 2011, 471, - 1376, 476, 175, 533, 3985, 3624, 2772, 542, 1299, 1169, 1575, 1349, - 2598, 3086, 316, 2358, 286, 2696, 100, 489, 183, 3953, 230, 668, - 2538, 60, 2335, 2147, 3021, 2198, 1661, 3731, 1274, 2144, 1257, 2885, - 1353, 945, 1782, 2781, 2647, 3405, 581, 1781, 3386, 2049, 436, 2567, - 1990, 330, 266, 148, 2258, 3762, 1951, 300, 471, 335, 476, 1367, - 3451, 2018, 1761, 2588, 2892, 1071, 578, 1823, 1947, 283, 3408, 3501, - 2894, 654, 2041, 1437, 1494, 4041, 275, 1219, 2209, 261, 3686, 1553, - 2411, 572, 3351, 2960, 968, 1270, 3097, 259, 268, 2059, 3177, 163, - 3634, 1679, 2410, 1706, 1721, 3419, 2852, 2024, 2621, 3614, 2967, 727, - 1360, 2001, 250, 269, 2697, 1390, 1814, 1364, 3423, 976, 485, 3461, - 1750, 1426, 556, 1121, 500, 1066, 435, 3300, 639, 2270, 266, 3733, - 2659, 1169, 2866, 618, 1565, 3275, 3928, 1774, 747, 1839, 2870, 340, - 454, 225, 968, 419, 353, 2012, 764, 3220, 3115, 775, 997, 2145, - 2463, 958, 3231, 1552, 321, 2825, 309, 2506, 1596, 201, 3150, 464, - 2509, 799, 119, 3516, 433, 2444, 2835, 3546, 3422, 1709, 743, 2783, - 913, 2693, 3046, 1201, 2551, 3905, 427, 375, 3390, 404, 1036, 448, - 938, 2938, 2865, 1570, 1604, 1864, 3300, 450, 2242, 2640, 1857, 586, - 1277, 3622, 3669, 3850, 2105, 264, 1672, 739, 2815, 2237, 2226, 1109, - 2234, 351, 4071, 1160, 1208, 2220, 3615, 4086, 1503, 477, 2890, 3783, - 3520, 496, 2885, 2171, 412, 3809, 470, 3059, 430, 3509, 1686, 496, - 3661, 393, 2410, 495, 3897, 561, 1104, 689, 1760, 1260, 2887, 2645, - 3286, 2169, 3734, 856, 2665, 3216, 1189, 1048, 369, 3257, 302, 2882, - 3005, 828, 2926, 1844, 2135, 2892, 2463, 1644, 2878, 240, 2834, 3102, - 1650, 3824, 1066, 1804, 3678, 3240, 2548, 2849, 474, 3692, 358, 3765, - 2073, 1772, 2871, 902, 2021, 249, 2869, 2601, 2527, 2203, 3968, 2468, - 381, 2371, 1158, 398, 3903, 943, 1558, 3554, 1816, 2760, 1241, 1500, - 3312, 3605, 1916, 322, 2437, 1504, 138, 1008, 1914, 1643, 873, 468, - 1325, 359, 3696, 244, 2313, 3668, 3981, 3106, 2088, 3244, 607, 490, - 1626, 0, 0, 3835, 334, 736, 2684, 0, 3779, 3425, 3389, 349, - 3384, 2052, 2589, 4007, 2760, 559, 3175, 3028, 0, 1046, 0, 0, - 2990, 0, 3278, 3211, 0, 0, 0, 3063, 3243, 2427, 2194, 0, - 848, 642, 3832, 0, 3011, 2670, 2826, 2649, 3378, 3278, 3161, 2921, - 3822, 3903, 877, 0, 1281, 0, 2934, 0, 1860, 1091, 459, 0, - 1495, 3293, 4033, 2740, 3757, 1164, 0, 570, 0, 3759, 2475, 767, - 0, 2400, 1843, 2777, 0, 0, 2793, 2975, 1305, 1231, 3372, 2451, - 615, 2871, 3874, 1899, 1435, 3263, 1877, 3228, 3273, 3525, 0, 471, - 458, 0, 1080, 2816, 2741, 0, 938, 0, 0, 496, 3208, 4072, - 0, 0, 3632, 2014, 0, 3765, 3186, 2930, 1789, 3455, 1597, 0, - 1608, 0, 0, 0, 2392, 3940, 2514, 1111, 4044, 1338, 0, 0, - 0, 2807, 0, 1372, 2068, 3775, 2563, 2253, 0, 1552, 0, 3690, - 2685, 0, 3383, 1660, 3906, 3275, 0, 2838, 2483, 1103, 2538, 0, - 3611, 3559, 811, 2027, 0, 3338, 3648, 435, 0, 627, 1746, 3250, - 0, 2184, 0, 0, 1617, 3554, 0, 490, 1559, 2740, 415, 0, - 1586, 3301, 1594, 3895, 3436, 3588, 0, 0, 1638, 0, 0, 0, - 2979, 2523, 2461, 0, 0, 0, 2877, 3748, 0, 3533, 2791, 2354, - 2510, 2682, 0, 1896, 1944, 0, 2968, 1948, 2108, 2785, 3353, 1624, - 508, 0, 2767, 1946, 3694, 0, 1463, 551, 0, 2339, 2058, 2424, - 0, 3345, 456, 0, 0, 0, 1995, 248, 3958, 0, 276, 0, - 0, 3501, 4019, 0, 0, 3814, 0, 3234, 1004, 3807, 1090, 2937, - 384, 0, 3972, 0, 3540, 0, 920, 0, 0, 3625, 0, 3402, - 0, 2589, 3496, 2241, 1674, 379, 1905, 0, 2497, 1969, 2394, 0, - 0, 1203, 3950, 0, 2457, 988, 3867, 3988, 343, 884, 1839, 0, - 2833, 3402, 500, 1971, 0, 3055, 0, 1597, 0, 0, 0, 888, - 0, 0, 3098, 0, 472, 490, 0, 0, 0, 2324, 3904, 649, - 3784, 1053, 3025, 2205, 1777, 2084, 2287, 0, 0, 0, 0, 0, - 0, 3344, 549, 2976, 1038, 0, 0, 3739, 3480, 3358, 3371, 1048, - 0, 345, 0, 458, 2609, 3691, 2825, 0, 0, 3569, 3466, 441, - 0, 3506, 0, 3224, 3458, 298, 2311, 0, 714, 1492, 3409, 3849, - 3218, 3754, 894, 394, 0, 1299, 2218, 3295, 3937, 0, 4018, 3397, - 2294, 3481, 2381, 2804, 0, 0, 0, 0, 0, 2712, 0, 0, - 1509, 1308, 0, 3744, 2954, 2945, 3330, 0, 2744, 525, 1009, 3268, - 706, 0, 464, 0, 2348, 2499, 1046, 1136, 0, 2188, 3004, 2227, - 3897, 4025, 379, 2045, 0, 390, 871, 3076, 0, 789, 0, 3421, - 2514, 0, 1548, 956, 4000, 445, 1921, 2272, 4019, 3476, 2892, 1501, - 3616, 495, 2241, 3073, 0, 0, 2910, 3936, 3909, 466, 0, 3770, - 2798, 830, 1577, 917, 3659, 3017, 3769, 3571, 641, 2792, 2830, 3892, - 0, 2583, 3328, 3502, 0, 956, 3413, 3996, 603, 1527, 1105, 3030, - 2937, 0, 1793, 3967, 0, 3027, 2066, 3104, 2827, 0, 0, 3957, - 1429, 1421, 1979, 0, 2628, 3878, 2115, 0, 0, 3663, 0, 2788, - 2153, 2567, 0, 1738, 599, 1788, 3984, 0, 3426, 0, 0, 0, - 2519, 0, 879, 0, 1919, 0, 412, 3789, 0, 234, 1546, 3425, - 0, 0, 3728, 441, 4046, 0, 1140, 4083, 0, 0, 0, 1108, - 0, 3533, 4069, 3578, 0, 3924, 1393, 2071, 1785, 2204, 2372, 2488, - 2134, 0, 1883, 3042, 0, 1802, 3065, 2994, 3399, 2914, 2652, 2349, - 1209, 3397, 1719, 3059, 2577, 1284, 2387, 0, 444, 0, 0, 0, - 2587, 3486, 2594, 0, 3834, 3599, 0, 1416, 466, 0, 3555, 1678, - 0, 0, 2889, 0, 0, 3078, 3780, 3151, 3960, 596, 2941, 2037, - 0, 416, 257, 466, 2634, 0, 3654, 2503, 3589, 3491, 4035, 2925, - 3426, 742, 2953, 2593, 0, 0, 243, 3299, 280, 2855, 2556, 0, - 600, 3843, 1994, 3731, 0, 2395, 2050, 3534, 0, 2317, 3398, 689, - 2882, 3601, 0, 0, 2773, 0, 442, 3892, 0, 184, 0, 0, - 1430, 0, 0, 3500, 4021, 3798, 3270, 496, 0, 0, 4049, 0, - 1480, 3732, 435, 3962, 1336, 0, 3029, 0, 1497, 2899, 0, 423, - 0, 1922, 1516, 4027, 2987, 1460, 0, 3617, 3959, 1953, 3109, 0, - 895, 1525, 0, 954, 3610, 0, 1889, 3463, 2491, 2176, 2162, 0, - 347, 3528, 3675, 0, 0, 2298, 3449, 0, 0, 0, 0, 0, - 581, 486, 4052, 1545, 3332, 3977, 3704, 1522, 2595, 2800, 435, 1610, - 0, 2330, 3842, 0, 3438, 3294, 3551, 0, 3907, 1831, 4009, 4089, - 493, 0, 3593, 2764, 3586, 2887, 0, 3790, 3622, 3229, 0, 1973, - 0, 0, 1767, 1945, 1421, 0, 2262, 0, 0, 3527, 2070, 3519, - 0, 0, 3197, 0, 354, 0, 0, 3459, 0, 2846, 2946, 3374, - 3462, 1717, 537, 3987, 2164, 2543, 0, 2107, 0, 2008, 3647, 1611, - 353, 1636, 1505, 0, 0, 3043, 0, 3527, 3542, 1720, 2225, 3353, - 613, 2443, 347, 2508, 0, 0, 3373, 0, 2778, 0, 509, 0, - 0, 0, 1373, 901, 3859, 424, 0, 787, 3693, 0, 1458, 2692, - 985, 2943, 0, 4096, 3276, 1092, 0, 0, 0, 2215, 3483, 3181, - 2686, 0, 579, 2055, 2304, 2623, 2683, 3653, 1885, 3681, 1826, 978, - 3124, 4061, 1168, 3380, 0, 2859, 2528, 4057, 0, 2540, 355, 2421, - 1821, 0, 758, 2395, 0, 937, 3364, 3851, 3650, 3819, 3458, 2517, - 0, 4032, 0, 0, 0, 1936, 0, 3414, 2997, 0, 3122, 0, - 1682, 3609, 0, 2787, 2671, 163, 1480, 2694, 383, 0, 3342, 4070, - 319, 0, 303, 3382, 496, 0, 1439, 3354, 0, 0, 1385, 691, - 1455, 0, 0, 895, 2475, 2094, 2839, 3592, 3643, 2390, 1123, 3660, - 3149, 3074, 3316, 1233, 3490, 0, 2775, 2188, 1910, 1693, 2823, 3335, - 1778, 2335, 3673, 0, 2769, 410, 0, 3662, 3332, 2286, 0, 0, - 0, 3726, 0, 0, 4089, 2988, 3177, 0, 3930, 626, 3970, 3032, - 2997, 3351, 1117, 0, 1042, 2101, 2987, 0, 3006, 3793, 438, 1546, - 220, 3745, 0, 0, 2147, 3377, 1879, 0, 3627, 3913, 3536, 1689, - 0, 325, 0, 1806, 3439, 0, 447, 478, 1145, 363, 3583, 3160, - 4073, 764, 2903, 494, 3137, 0, 1074, 804, 1164, 608, 0, 2277, - 3968, 524, 3115, 2379, 0, 289, 2089, 1555, 3531, 0, 0, 0, - 1855, 3260, 0, 2840, 3264, 0, 2713, 404, 0, 2031, 3839, 0, - 3288, 497, 3258, 362, 531, 1668, 3025, 3885, 399, 3718, 2044, 3318, - 1562, 2616, 433, 583, 3519, 797, 1023, 0, 0, 3557, 3025, 0, - 3795, 3616, 1052, 2540, 3831, 0, 3391, 957, 1698, 1871, 0, 2561, - 2456, 0, 0, 3525, 0, 3421, 3244, 1831, 287, 0, 0, 483, - 2059, 0, 560, 2875, 2219, 881, 1720, 1668, 0, 1474, 3529, 3328, - 3961, 0, 3210, 1637, 0, 832, 358, 0, 0, 1399, 0, 532, - 0, 0, 1816, 1406, 0, 3000, 0, 0, 2598, 1623, 2517, 0, - 0, 0, 403, 1401, 3543, 1018, 0, 2970, 1878, 2431, 3918, 0, - 0, 2999, 2377, 2278, 2995, 0, 3760, 1648, 0, 2452, 0, 0, - 4056, 2461, 949, 3873, 0, 0, 2423, 3976, 2261, 696, 1296, 2564, - 2769, 0, 0, 3682, 150, 1026, 725, 3188, 0, 2669, 3019, 3801, - 1540, 1956, 2765, 2963, 3541, 0, 0, 2680, 2636, 3966, 918, 3128, - 0, 537, 3762, 3286, 0, 0, 1458, 413, 501, 265, 3644, 3919, - 3853, 336, 3347, 3227, 3924, 2688, 3535, 0, 443, 0, 2698, 3660, - 848, 0, 2081, 0, 2363, 2096, 3923, 0, 2200, 964, 0, 100, - 1732, 3651, 1824, 3424, 0, 0, 2797, 0, 2040, 2485, 3883, 2512, - 398, 712, 2011, 3393, 0, 3124, 2240, 3261, 3160, 0, 0, 0, - 1064, 0, 1915, 0, 2558, 3917, 2884, 2170, 688, 2908, 3905, 0, - 2556, 3366, 0, 436, 1075, 484, 3072, 0, 2844, 0, 846, 2614, - 608, 0, 2176, 3179, 2009, 0, 0, 3136, 0, 0, 2980, 453, - 2478, 1669, 2322, 1939, 4068, 3921, 2428, 3292, 2256, 0, 1740, 999, - 342, 3899, 0, 946, 194, 1414, 3176, 0, 0, 944, 0, 0, - 3455, 3334, 540, 0, 2367, 943, 1481, 3715, 2336, 1927, 2534, 3884, - 0, 2503, 3977, 264, 2043, 3246, 3631, 0, 3631, 1998, 1692, 2939, - 1756, 3322, 2576, 3608, 363, 2795, 0, 0, 2946, 3863, 3689, 350, - 3825, 4008, 2422, 2637, 341, 1632, 0, 0, 1594, 3100, 4067, 0, - 0, 3446, 830, 2895, 0, 3576, 3822, 3789, 1356, 3672, 0, 0, - 1514, 455, 3346, 3267, 3375, 3992, 0, 3141, 2888, 0, 626, 0, - 0, 0, 2321, 0, 1160, 2720, 4037, 0, 1882, 2639, 2326, 3562, - 3948, 1912, 3654, 3602, 2929, 0, 2985, 0, 0, 3841, 2037, 3562, - 2463, 1992, 2814, 0, 2991, 0, 0, 0, 0, 2346, 2257, 0, - 3185, 3733, 1600, 3774, 3306, 0, 3879, 3374, 3144, 2738, 2748, 0, - 1894, 0, 3672, 0, 0, 0, 2224, 0, 1888, 3325, 0, 3646, - 0, 0, 4000, 1628, 3782, 2960, 3156, 3159, 2424, 1168, 1464, 677, - 3580, 0, 1921, 3918, 0, 3558, 0, 0, 1637, 3679, 0, 3199, - 0, 271, 3180, 3716, 0, 0, 1038, 3746, 4044, 3857, 0, 0, - 0, 3894, 2518, 2784, 0, 0, 3498, 0, 0, 2195, 0, 0, - 0, 3341, 3732, 3339, 2863, 0, 182, 3484, 2815, 2252, 0, 1777, - 2432, 2035, 0, 350, 0, 3628, 4030, 443, 0, 1865, 0, 0, - 0, 2804, 0, 0, 2984, 720, 1726, 2924, 2926, 2985, 0, 2170, - 360, 0, 2089, 1061, 0, 0, 0, 307, 2674, 0, 3769, 2065, - 0, 3568, 3789, 470, 2176, 3618, 1253, 0, 359, 516, 2573, 0, - 0, 3934, 527, 3504, 0, 3358, 0, 184, 3175, 492, 0, 0, - 2202, 3714, 0, 3795, 2123, 2466, 2359, 3506, 1437, 3738, 2739, 1885, - 2809, 3258, 1990, 3516, 1170, 0, 1560, 3999, 972, 3740, 3591, 3452, - 0, 0, 2737, 2341, 3867, 0, 2570, 0, 0, 3245, 4027, 0, - 2380, 3199, 429, 1204, 1423, 3181, 0, 1330, 2270, 3901, 3916, 3813, - 2484, 2547, 0, 1914, 347, 4000, 0, 1371, 2162, 1186, 0, 1101, - 0, 1615, 3671, 3805, 1293, 298, 2899, 145, 3371, 3207, 0, 3697, - 0, 3242, 3706, 3880, 689, 1467, 499, 3431, 3764, 0, 2896, 2739, - 3791, 2718, 0, 0, 2046, 0, 0, 0, 1833, 2963, 2209, 2658, - 0, 1422, 2181, 0, 303, 3533, 470, 0, 0, 1022, 2646, 0, - 681, 2086, 0, 3955, 0, 1727, 0, 0, 1903, 0, 0, 0, - 3817, 0, 850, 2375, 1227, 283, 2605, 1407, 1242, 0, 2921, 0, - 2568, 3845, 0, 3617, 2945, 3524, 0, 3818, 0, 2093, 405, 428, - 0, 1835, 3448, 0, 0, 0, 0, 0, 2986, 3124, 0, 1030, - 3468, 3309, 3814, 0, 0, 3652, 0, 2726, 4015, 0, 3020, 2659, - 1552, 1494, 3433, 4086, 0, 2949, 0, 338, 3080, 2511, 3215, 0, - 0, 2405, 2402, 3801, 0, 0, 1324, 3590, 0, 0, 1461, 0, - 0, 421, 3431, 0, 955, 0, 0, 3831, 0, 0, 3235, 0, - 263, 0, 0, 2450, 319, 0, 3701, 0, 3097, 3478, 351, 1735, - 0, 0, 2966, 1818, 0, 0, 2811, 1250, 436, 0, 2347, 3404, - 2094, 3782, 719, 3614, 3843, 1487, 1960, 3324, 3429, 2836, 2260, 3721, - 3543, 0, 3104, 4074, 0, 3134, 2669, 2530, 2866, 3727, 2289, 311, - 3027, 3497, 197, 0, 1100, 0, 1899, 3803, 1687, 0, 3937, 3768, - 2752, 3260, 0, 820, 3445, 3411, 0, 0, 0, 3919, 1832, 0, - 0, 1900, 0, 3083, 3041, 2500, 960, 2366, 1531, 0, 3587, 3635, - 3679, 2086, 0, 3829, 0, 0, 1807, 2339, 3067, 2263, 0, 3621, - 1361, 0, 0, 491, 0, 1329, 1301, 3939, 2850, 2899, 3306, 2380, - 3183, 2351, 1657, 3770, 2198, 747, 0, 342, 1183, 3977, 426, 1906, - 3839, 3629, 0, 2600, 3753, 0, 0, 0, 3853, 0, 0, 0, - 1994, 0, 3807, 3337, 2148, 3688, 1840, 4045, 2971, 2829, 0, 2597, - 2914, 3324, 1512, 3015, 3168, 3063, 3432, 2586, 3462, 0, 3284, 0, - 0, 2977, 0, 0, 524, 3415, 2897, 0, 0, 269, 0, 679, - 486, 2247, 2994, 1112, 1111, 1056, 3091, 3271, 1996, 2371, 3861, 1537, - 282, 2017, 2139, 2062, 0, 1499, 3435, 2388, 0, 3447, 700, 1299, - 3046, 0, 3251, 2342, 1374, 0, 3907, 2754, 854, 0, 0, 1437, - 2414, 431, 2512, 790, 0, 3810, 3900, 0, 1479, 3830, 3180, 2117, - 0, 2397, 1289, 0, 483, 0, 0, 0, 3553, 725, 1025, 447, - 1702, 3224, 3558, 386, 0, 3139, 3045, 475, 0, 590, 3837, 2174, - 0, 0, 3280, 2701, 0, 0, 219, 0, 0, 0, 3664, 3964, - 2297, 1471, 0, 458, 3136, 0, 2974, 1540, 4080, 2587, 1988, 2536, - 0, 2466, 0, 4057, 2667, 1722, 1240, 790, 1982, 1459, 0, 2075, - 2795, 0, 1967, 1993, 1429, 0, 3061, 0, 1415, 0, 445, 0, - 3957, 1477, 3497, 3485, 0, 0, 0, 940, 2154, 3646, 3002, 0, - 1773, 3535, 3756, 3387, 0, 2516, 3983, 1620, 3082, 0, 4031, 0, - 0, 260, 2044, 0, 3685, 2440, 834, 0, 2358, 2969, 3774, 0, - 2714, 3812, 3269, 3751, 1989, 0, 0, 1467, 4069, 0, 560, 3847, - 2373, 1761, 3278, 0, 2235, 0, 0, 0, 617, 1837, 2801, 1141, - 0, 3029, 0, 3406, 3781, 0, 0, 684, 2097, 0, 923, 2966, - 0, 3877, 282, 3717, 3011, 3972, 1568, 0, 1032, 3865, 3444, 3234, - 4066, 3709, 0, 1607, 3274, 235, 3287, 2572, 2700, 1179, 593, 0, - 2100, 740, 0, 2039, 0, 0, 0, 203, 0, 0, 0, 1449, - 2664, 3709, 2610, 2587, 0, 0, 1493, 3686, 3203, 0, 2142, 0, - 3940, 0, 0, 3063, 3572, 0, 0, 0, 1937, 1420, 1198, 0, - 0, 2756, 0, 345, 2458, 0, 3340, 1247, 2031, 2068, 0, 0, - 308, 1841, 296, 2007, 0, 0, 0, 1513, 725, 3454, 2552, 3571, - 4059, 0, 0, 3198, 2426, 3741, 1030, 0, 0, 2174, 1014, 0, - 3941, 1381, 1283, 0, 0, 2534, 2419, 0, 2689, 2200, 2153, 1344, - 234, 1482, 2182, 3302, 3751, 0, 465, 0, 2136, 1985, 3409, 3730, - 0, 0, 427, 384, 849, 2824, 2430, 3727, 0, 4087, 687, 3710, - 3638, 0, 3060, 0, 435, 1441, 3697, 3170, 0, 2870, 0, 430, - 0, 0, 882, 1860, 0, 3629, 0, 487, 506, 0, 0, 2384, - 0, 2967, 0, 0, 2807, 0, 3192, 1094, 2829, 1039, 3107, 3106, - 356, 1801, 2415, 3141, 3667, 3089, 0, 1820, 0, 3522, 3906, 2347, - 1713, 3145, 0, 0, 1578, 0, 326, 0, 1079, 3664, 3925, 2210, - 1922, 4029, 3058, 2070, 0, 0, 3895, 2400, 3606, 386, 429, 2224, - 469, 3661, 0, 0, 2055, 299, 2207, 3808, 157, 0, 3284, 0, - 3008, 3973, 0, 2452, 4066, 2717, 0, 2258, 2133, 0, 377, 2837, - 1878, 3745, 1898, 1065, 0, 3249, 1696, 3864, 3127, 0, 489, 0, - 0, 2123, 2856, 497, 3184, 4028, 0, 2606, 2221, 1304, 3988, 0, - 2797, 1309, 0, 3518, 1418, 1411, 2155, 3709, 0, 356, 1156, 0, - 0, 1681, 0, 3167, 190, 3334, 1360, 3791, 2293, 963, 0, 3854, - 1670, 3642, 0, 0, 3437, 3523, 1702, 4016, 0, 405, 3993, 824, - 3808, 0, 2847, 1607, 0, 0, 2728, 3195, 573, 2412, 1095, 0, - 2962, 1833, 3366, 0, 367, 1331, 1371, 3507, 0, 0, 3490, 2711, - 0, 2475, 2555, 2383, 3164, 1819, 1231, 3878, 2707, 0, 0, 0, - 365, 3827, 2612, 0, 3596, 0, 3203, 0, 518, 0, 4085, 3950, - 343, 335, 3090, 601, 218, 0, 4036, 1131, 4012, 1574, 3737, 4083, - 285, 2657, 0, 0, 0, 3117, 0, 3262, 0, 3301, 402, 0, - 110, 1998, 408, 0, 421, 2836, 352, 0, 1343, 2041, 2548, 3796, - 3771, 1566, 0, 3007, 1563, 2795, 2261, 2749, 0, 2421, 2957, 3326, - 2357, 2957, 2800, 3303, 3483, 1313, 3727, 1652, 1952, 1086, 3489, 620, - 3520, 2128, 472, 285, 3871, 3073, 3036, 0, 2536, 3020, 2184, 1422, - 2956, 0, 0, 346, 1966, 0, 2571, 0, 1377, 3987, 0, 0, - 2585, 3723, 2827, 0, 1196, 265, 3014, 2880, 414, 3226, 2647, 3475, - 2812, 730, 0, 593, 497, 2668, 0, 862, 2448, 3970, 3391, 2127, - 0, 576, 421, 2438, 3936, 3101, 4064, 2541, 468, 2752, 1397, 366, - 2446, 0, 382, 465, 1176, 2510, 4046, 3282, 2664, 1479, 2276, 449, - 0, 801, 0, 3044, 3752, 2802, 270, 3357, 2278, 3308, 3532, 2554, - 3848, 1388, 3022, 2137, 0, 0, 3548, 3767, 3036, 686, 1659, 0, - 0, 2603, 2859, 0, 0, 4051, 784, 0, 3910, 2644, 4034, 0, - 1865, 3846, 509, 0, 1556, 3983, 3123, 0, 0, 273, 1855, 370, - 3223, 3522, 3092, 0, 3511, 1055, 3786, 754, 0, 391, 0, 2230, - 3302, 0, 3913, 3459, 3873, 4052, 2724, 4038, 0, 2446, 0, 2747, - 290, 0, 3604, 4052, 3645, 1971, 3700, 0, 0, 1907, 3815, 3457, - 4016, 3093, 1127, 1980, 2299, 1334, 2811, 3188, 3611, 897, 989, 3855, - 3423, 269, 477, 3840, 1947, 2267, 3530, 2392, 227, 3728, 1132, 3390, - 3628, 411, 2818, 0, 3562, 3343, 310, 0, 1598, 3113, 328, 0, - 0, 0, 3431, 0, 1385, 1849, 3636, 2610, 3835, 0, 731, 0, - 1512, 0, 460, 0, 0, 0, 0, 3284, 1350, 0, 2560, 3556, - 0, 3281, 0, 1627, 0, 0, 1187, 3559, 838, 404, 1908, 2496, - 2772, 3126, 3121, 0, 2745, 1115, 2153, 3209, 3573, 1532, 2978, 1161, - 2243, 1370, 2933, 0, 0, 0, 965, 583, 1856, 1079, 4042, 4056, - 2987, 0, 3623, 1673, 3517, 3193, 1426, 0, 3591, 3505, 2793, 0, - 3507, 0, 2199, 1567, 0, 971, 411, 495, 0, 3104, 445, 3172, - 3089, 2473, 0, 3934, 1641, 1034, 1827, 672, 1569, 2100, 2955, 3837, - 330, 0, 1747, 2806, 2425, 3933, 0, 3986, 2624, 476, 3047, 0, - 902, 1056, 1602, 3346, 0, 1266, 4068, 0, 3108, 0, 1489, 1934, - 1352, 2844, 1480, 2096, 0, 800, 0, 421, 3787, 0, 0, 500, - 1266, 2843, 0, 3037, 3683, 2606, 412, 268, 3880, 0, 3949, 0, - 3869, 2681, 0, 0, 3769, 1912, 3075, 2104, 3738, 1769, 977, 2661, - 1962, 3265, 3134, 3264, 2817, 3832, 3947, 3825, 2799, 3122, 3997, 3369, - 366, 875, 333, 3996, 3684, 3194, 1660, 2314, 1958, 3493, 0, 0, - 2566, 1560, 0, 475, 488, 3704, 3472, 0, 0, 0, 4026, 0, - 2516, 1017, 1397, 0, 279, 1400, 0, 3257, 3607, 754, 3625, 0, - 1532, 3823, 1206, 919, 3965, 3085, 2944, 3499, 0, 2084, 1806, 2215, - 0, 0, 2131, 874, 0, 4079, 0, 3077, 2812, 1293, 559, 3126, - 619, 1949, 2618, 0, 3410, 1626, 1280, 3997, 3805, 1347, 0, 891, - 0, 3283, 3056, 0, 1239, 0, 0, 0, 1599, 3264, 2848, 3004, - 1759, 1881, 2291, 0, 3785, 1856, 3747, 3164, 3046, 3586, 2799, 0, - 0, 2295, 3605, 0, 2904, 4013, 3736, 0, 0, 3927, 2767, 1002, - 0, 2152, 0, 0, 3990, 0, 3502, 581, 2989, 2007, 0, 2186, - 2578, 3729, 0, 634, 1766, 0, 3570, 2092, 3182, 1133, 472, 1773, - 480, 2645, 2141, 3448, 0, 1524, 2642, 2042, 209, 658, 257, 2372, - 3304, 1149, 0, 3443, 0, 2595, 1110, 2456, 2164, 2243, 0, 3277, - 3862, 3783, 3828, 2991, 0, 1940, 0, 430, 0, 0, 2260, 2177, - 2830, 3538, 3723, 0, 0, 3023, 3790, 3017, 0, 0, 0, 0, - 3415, 2938, 3886, 2861, 0, 688, 3191, 3037, 2549, 3394, 2452, 0, - 0, 0, 0, 3474, 1526, 1157, 2995, 3505, 2295, 0, 3912, 0, - 1728, 1435, 0, 0, 0, 1978, 2389, 2732, 0, 493, 0, 813, - 3187, 2364, 1060, 3713, 0, 0, 0, 414, 3931, 973, 0, 2638, - 0, 775, 428, 4039, 1905, 2048, 2826, 0, 660, 0, 0, 3912, - 3930, 0, 0, 4006, 0, 0, 1584, 0, 136, 2199, 0, 1949, - 0, 0, 522, 3226, 0, 3239, 3508, 3111, 2874, 281, 2239, 2794, - 3795, 0, 2000, 0, 3427, 0, 2282, 3669, 2682, 3740, 4005, 927, - 3313, 2579, 3640, 3581, 4031, 0, 2744, 0, 0, 3852, 0, 2880, - 3360, 2779, 3217, 4096, 3397, 3071, 2523, 538, 159, 937, 2567, 1679, - 403, 3215, 3894, 0, 1290, 943, 0, 3711, 0, 2966, 1609, 3761, - 0, 1568, 3951, 2882, 3725, 399, 0, 2231, 3755, 335, 0, 0, - 1366, 3920, 3307, 0, 3151, 1019, 2942, 2404, 1910, 3513, 1559, 2734, - 2269, 4067, 0, 3056, 3189, 3150, 942, 0, 0, 2119, 491, 425, - 2416, 3470, 0, 2941, 0, 3848, 0, 3436, 0, 1645, 3563, 3318, - 4091, 0, 0, 3033, 3159, 0, 3592, 1725, 2907, 0, 3826, 0, - 3681, 2630, 0, 3218, 0, 0, 0, 2391, 1166, 0, 1472, 2472, - 0, 0, 3515, 0, 2986, 3042, 3875, 607, 2328, 0, 0, 2658, - 0, 1665, 0, 0, 3856, 0, 0, 3306, 3896, 2201, 1364, 1520, - 0, 2753, 2155, 1297, 0, 3493, 2221, 3856, 1852, 3153, 3847, 0, - 1781, 0, 0, 3609, 822, 2161, 3273, 2284, 0, 0, 2443, 0, - 4058, 1365, 2468, 0, 3107, 0, 0, 3981, 3081, 0, 1794, 0, - 3074, 0, 2928, 3069, 3517, 2517, 3925, 3403, 3549, 3002, 1815, 841, - 392, 0, 652, 0, 3923, 2845, 0, 451, 124, 4060, 3214, 2331, - 3352, 3610, 515, 4014, 3131, 3159, 0, 2898, 1288, 1291, 2774, 722, - 801, 3323, 0, 0, 3349, 0, 0, 0, 3559, 0, 2428, 2128, - 0, 1955, 2131, 0, 3534, 3271, 0, 663, 1789, 1667, 0, 0, - 0, 2722, 2560, 2298, 2893, 3686, 3096, 0, 2829, 1728, 2940, 1715, - 379, 2111, 667, 3173, 1290, 0, 3722, 1896, 0, 1596, 3542, 431, - 0, 2084, 0, 0, 3481, 3759, 0, 0, 2455, 1526, 0, 0, - 0, 0, 3048, 2479, 0, 3395, 1211, 3820, 2346, 2361, 2865, 3002, - 0, 2413, 991, 511, 0, 3196, 2493, 726, 0, 269, 0, 1864, - 1338, 0, 3305, 0, 428, 0, 2293, 3369, 0, 1748, 2215, 1443, - 1084, 4084, 152, 1842, 0, 2707, 251, 0, 0, 3931, 1748, 0, - 0, 2319, 0, 0, 2932, 3595, 0, 0, 0, 1278, 2979, 1593, - 3509, 0, 3800, 2790, 479, 3901, 0, 3716, 2418, 738, 0, 3716, - 3740, 0, 568, 2338, 427, 1536, 514, 2376, 0, 0, 830, 2493, - 3150, 268, 1640, 884, 3834, 2178, 3337, 2618, 3565, 3553, 1842, 1992, - 0, 3730, 0, 0, 0, 1518, 427, 2605, 0, 2440, 3232, 0, - 3414, 0, 1702, 0, 3847, 4085, 0, 3858, 2816, 0, 941, 2041, - 0, 3911, 1933, 0, 3376, 1415, 3235, 2144, 3981, 3389, 2805, 888, - 3298, 3388, 4020, 3524, 713, 0, 2563, 1409, 2152, 0, 3321, 3869, - 0, 0, 2955, 2521, 595, 1985, 1542, 4051, 4010, 488, 0, 0, - 0, 2759, 487, 0, 3049, 3866, 0, 301, 2202, 2740, 2287, 2802, - 2422, 154, 878, 3772, 0, 3637, 0, 0, 0, 647, 0, 0, - 0, 995, 452, 1242, 1941, 3191, 3700, 2809, 1214, 2810, 1241, 2814, - 469, 3692, 3696, 0, 3377, 0, 2224, 4025, 2245, 0, 772, 0, - 3670, 2607, 0, 2292, 1686, 2913, 3708, 1805, 3633, 1846, 2064, 0, - 3601, 1744, 3794, 3859, 2489, 3066, 0, 2502, 0, 0, 2067, 2621, - 3955, 1707, 0, 0, 0, 3379, 1891, 3170, 443, 444, 0, 1520, - 3285, 0, 1276, 0, 2820, 0, 0, 0, 0, 3287, 4051, 3315, - 0, 1514, 1697, 3468, 3372, 431, 0, 3386, 0, 0, 1045, 4072, - 3271, 0, 3757, 3593, 3844, 0, 1680, 930, 0, 2660, 2962, 2594, - 3407, 3188, 0, 2145, 3169, 0, 0, 1886, 441, 1655, 0, 0, - 0, 3154, 0, 2219, 2245, 295, 2657, 1510, 0, 3503, 0, 0, - 3626, 3310, 2591, 0, 0, 2416, 644, 0, 3864, 0, 2792, 2386, - 351, 0, 2027, 2980, 2211, 1663, 2047, 919, 2426, 0, 4002, 0, - 2110, 418, 0, 1878, 0, 3016, 3730, 3707, 0, 1242, 0, 0, - 3712, 1372, 0, 4031, 0, 0, 3927, 3296, 2694, 4042, 2762, 3158, - 0, 0, 1506, 1246, 3832, 1075, 0, 2753, 0, 3846, 2976, 0, - 3515, 3863, 0, 3995, 676, 3994, 0, 866, 3206, 3227, 348, 3443, - 222, 3507, 2700, 1653, 1598, 2121, 455, 2794, 0, 3914, 3099, 1346, - 1671, 3567, 0, 1850, 0, 4060, 324, 0, 2544, 0, 252, 1331, - 2028, 0, 912, 2937, 2679, 66, 2353, 0, 0, 0, 2246, 0, - 1505, 3750, 2968, 0, 2186, 1851, 2549, 0, 3702, 0, 1791, 0, - 0, 0, 1027, 0, 2896, 1247, 385, 285, 4020, 0, 2338, 481, - 1588, 439, 2518, 2720, 3694, 3433, 0, 0, 0, 2379, 687, 2151, - 0, 409, 0, 3741, 4016, 2872, 3319, 3169, 0, 0, 3572, 4074, - 0, 441, 0, 4017, 3729, 3084, 0, 0, 1961, 2318, 0, 395, - 1658, 2424, 3286, 2551, 4087, 3940, 2915, 3207, 0, 0, 3009, 0, - 2716, 0, 3603, 1130, 3986, 2565, 317, 420, 0, 1439, 2725, 3954, - 0, 0, 1061, 0, 1987, 3320, 1067, 3076, 2302, 2709, 679, 0, - 1504, 3211, 317, 0, 3031, 3036, 3238, 1189, 0, 3498, 3975, 3830, - 2415, 3564, 4093, 658, 1339, 483, 1214, 2290, 2350, 2789, 3550, 0, - 0, 956, 1380, 3928, 3602, 1514, 3274, 2154, 351, 0, 331, 0, - 2961, 1035, 3952, 1496, 3897, 2863, 432, 0, 968, 3998, 0, 0, - 3993, 2356, 2417, 3857, 0, 0, 3113, 1475, 3809, 3917, 449, 2044, - 0, 880, 1488, 783, 1236, 3250, 2910, 2144, 2343, 0, 0, 850, - 0, 0, 2122, 1279, 2106, 0, 0, 0, 2965, 1641, 2950, 1049, - 3749, 0, 2283, 1842, 2622, 496, 0, 3861, 2763, 3800, 4062, 0, - 1747, 1139, 3598, 0, 3735, 2757, 3157, 3657, 780, 3999, 582, 3929, - 1991, 3881, 0, 1222, 0, 2168, 3859, 545, 0, 921, 2016, 1199, - 1938, 1363, 0, 2861, 0, 3456, 4095, 2112, 2702, 4075, 0, 0, - 2002, 3718, 346, 4004, 0, 2950, 0, 2650, 3192, 3656, 3010, 2697, - 3272, 385, 3903, 4062, 3345, 0, 1599, 3444, 0, 3803, 3140, 0, - 1610, 3974, 3050, 0, 3726, 2052, 4005, 2052, 2645, 253, 2874, 0, - 3253, 3821, 0, 2874, 466, 0, 1573, 2172, 3964, 1758, 2866, 3713, - 2268, 3349, 1705, 3118, 0, 0, 0, 2579, 3552, 1604, 252, 2805, - 2490, 1895, 1732, 498, 0, 489, 0, 1043, 2650, 0, 0, 3521, - 0, 0, 1266, 1106, 2725, 0, 0, 0, 454, 2528, 3083, 0, - 0, 0, 0, 446, 0, 3594, 0, 0, 0, 1336, 0, 0, - 0, 3166, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3450, 3826, 2429, 0, 1934, 2533, 0, 0, 4087, 0, 3538, 0, - 0, 0, 0, 0, 0, 0, 2028, 0, 1314, 0, 0, 0, - 1935, 3780, 485, 0, 2560, 0, 0, 0, 0, 2394, 0, 928, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1378, 0, 0, 3600, 0, 0, 2430, 0, 0, 3111, 0, - 3479, 3838, 0, 867, 2131, 0, 1502, 0, 3392, 0, 1743, 0, - 0, 974, 0, 0, 0, 0, 3781, 0, 0, 0, 4089, 0, - 2241, 3945, 2013, 0, 2028, 0, 0, 0, 0, 0, 0, 2142, - 0, 3311, 0, 0, 0, 3136, 0, 2735, 3526, 0, 0, 0, - 0, 3079, 0, 0, 0, 0, 0, 3132, 0, 0, 0, 3135, - 0, 1472, 0, 0, 0, 0, 0, 0, 0, 3532, 0, 1493, - 0, 0, 0, 0, 0, 0, 0, 0, 2869, 3608, 0, 808, - 2838, 3992, 2138, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4026, 0, 0, 0, 3481, 2534, 2683, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3269, 0, 0, 0, 2029, - 2457, 3198, 3881, 0, 1646, 0, 0, 0, 0, 0, 2771, 742, - 0, 0, 0, 3032, 0, 0, 0, 0, 0, 0, 2615, 395, - 0, 0, 2299, 0, 0, 0, 0, 0, 0, 3945, 0, 3677, - 1078, 0, 3904, 0, 1014, 0, 0, 0, 0, 0, 1516, 0, - 0, 0, 0, 0, 0, 0, 0, 2439, 3213, 2650, 3128, 0, - 4080, 2770, 0, 0, 0, 4003, 0, 0, 3745, 1630, 0, 0, - 2099, 3062, 0, 0, 3254, 0, 1590, 2078, 0, 3893, 0, 2418, - 0, 0, 0, 1132, 0, 0, 0, 0, 1647, 1550, 0, 0, - 0, 0, 0, 0, 0, 2010, 0, 0, 1995, 2115, 0, 0, - 0, 0, 0, 0, 0, 3912, 1163, 0, 1714, 0, 0, 0, - 0, 0, 3958, 1315, 0, 511, 0, 1268, 0, 0, 0, 0, - 0, 0, 4026, 1366, 0, 0, 0, 0, 0, 2157, 0, 0, - 2973, 0, 0, 0, 3345, 0, 1005, 1120, 0, 0, 3926, 0, - 0, 0, 0, 0, 2521, 0, 0, 2970, 0, 0, 0, 0, - 0, 3512, 0, 0, 2402, 2301, 0, 0, 4063, 0, 0, 0, - 3763, 795, 0, 0, 4046, 0, 1394, 0, 0, 0, 1259, 3195, - 0, 2983, 0, 0, 0, 0, 494, 0, 0, 2266, 3297, 0, - 0, 2631, 0, 3833, 0, 0, 2670, 2881, 0, 447, 2479, 0, - 0, 0, 2902, 2608, 0, 2280, 3506, 3915, 0, 0, 0, 0, - 0, 2571, 0, 0, 0, 1275, 2279, 2246, 0, 3321, 0, 0, - 1576, 0, 0, 0, 0, 0, 0, 0, 0, 1764, 0, 0, - 0, 3532, 2333, 0, 3309, 0, 1958, 0, 0, 0, 0, 3660, - 0, 0, 0, 0, 1948, 1473, 0, 0, 3652, 4047, 3568, 0, - 0, 0, 0, 3926, 3315, 3449, 0, 1770, 1487, 1978, 4070, 0, - 0, 0, 0, 0, 3708, 0, 0, 0, 0, 0, 899, 0, - 0, 500, 1813, 3939, 0, 0, 0, 482, 0, 0, 1359, 0, - 0, 0, 0, 2925, 0, 0, 0, 0, 0, 0, 1809, 0, - 3836, 0, 2843, 0, 0, 0, 2827, 3321, 0, 1970, 0, 0, - 0, 0, 0, 2627, 3384, 0, 3142, 0, 2776, 1569, 3766, 0, - 1534, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3747, - 735, 0, 0, 1876, 0, 0, 0, 0, 0, 3339, 0, 0, - 0, 1350, 3224, 2630, 0, 459, 455, 3510, 0, 0, 0, 3960, - 3961, 0, 0, 0, 0, 3377, 3214, 0, 0, 0, 288, 0, - 2267, 3233, 0, 0, 637, 0, 2714, 0, 0, 2780, 2406, 0, - 0, 0, 0, 3467, 0, 0, 0, 0, 2883, 0, 3010, 0, - 0, 3130, 0, 0, 1772, 0, 0, 0, 0, 0, 0, 2469, - 0, 0, 0, 0, 0, 0, 456, 0, 1542, 0, 3945, 0, - 3359, 3461, 0, 2700, 0, 0, 0, 0, 0, 3898, 0, 0, - 0, 0, 0, 0, 3089, 0, 0, 3331, 0, 0, 3767, 3735, - 2582, 0, 3094, 0, 410, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3600, 3100, 0, 0, 3611, 0, 0, 0, - 0, 3679, 893, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3111, 0, 0, 3435, 0, 3967, 0, 0, 3855, 0, 0, - 0, 3751, 0, 0, 0, 0, 3103, 3382, 2498, 0, 0, 0, - 0, 3785, 0, 0, 0, 0, 0, 0, 1644, 0, 0, 0, - 0, 0, 0, 0, 0, 2636, 1234, 0, 0, 2962, 0, 0, - 0, 3120, 0, 0, 458, 0, 2853, 0, 0, 0, 0, 0, - 0, 3339, 0, 0, 1277, 2956, 1415, 0, 0, 0, 0, 0, - 0, 0, 1423, 0, 0, 0, 0, 1292, 0, 625, 0, 1098, - 0, 0, 1850, 3698, 1452, 0, 0, 0, 0, 1186, 0, 0, - 0, 0, 0, 0, 0, 0, 2947, 3068, 0, 2785, 0, 0, - 2314, 0, 3959, 1294, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2687, 417, 0, 0, 0, 3907, 0, 0, 2140, 0, 0, - 3862, 0, 3603, 0, 0, 0, 0, 0, 0, 3609, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 3477, 0, - 598, 0, 0, 0, 2108, 0, 1323, 0, 867, 0, 3638, 0, - 0, 0, 1821, 3553, 2779, 0, 0, 1171, 0, 2289, 3368, 0, - 0, 0, 3016, 0, 3598, 0, 0, 2838, 0, 0, 0, 3323, - 0, 3249, 0, 0, 3683, 0, 0, 0, 0, 1734, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3503, 0, 0, - 0, 2189, 0, 4018, 0, 0, 1419, 0, 1835, 2557, 0, 0, - 0, 0, 1314, 0, 698, 0, 0, 0, 0, 0, 2193, 0, - 0, 4088, 0, 2967, 0, 449, 0, 3987, 3442, 0, 984, 479, - 0, 2925, 0, 0, 0, 2274, 3266, 759, 0, 0, 1444, 2810, - 2715, 1279, 0, 0, 0, 1753, 3201, 0, 0, 3916, 3942, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3307, 0, 0, 2329, - 0, 0, 0, 0, 0, 1472, 0, 413, 2062, 3154, 0, 0, - 847, 0, 3178, 0, 0, 3882, 449, 1635, 0, 3721, 2704, 0, - 0, 3663, 3561, 0, 0, 0, 2365, 3148, 0, 0, 3670, 1262, - 0, 0, 0, 3267, 0, 0, 0, 0, 0, 0, 0, 3361, - 378, 0, 0, 1836, 2065, 0, 3714, 0, 3850, 3597, 1800, 2917, - 0, 4082, 0, 0, 0, 0, 3920, 2007, 0, 3009, 1783, 0, - 0, 0, 0, 1375, 0, 0, 0, 0, 0, 0, 0, 0, - 3543, 2441, 0, 0, 0, 0, 473, 0, 0, 3734, 0, 3887, - 2604, 0, 0, 0, 0, 3922, 3643, 3645, 0, 0, 0, 2527, - 0, 0, 0, 0, 0, 3165, 1025, 0, 0, 0, 0, 0, - 0, 2440, 0, 0, 3166, 0, 0, 0, 274, 3426, 3093, 0, - 0, 0, 3648, 0, 3389, 2068, 3152, 0, 0, 0, 0, 0, - 0, 0, 1790, 0, 0, 3413, 0, 0, 0, 0, 3633, 3682, - 1699, 423, 0, 0, 0, 380, 0, 0, 0, 4019, 0, 0, - 592, 0, 0, 0, 0, 0, 3773, 0, 0, 0, 0, 0, - 2677, 3457, 0, 421, 3476, 3804, 0, 0, 0, 0, 3993, 0, - 4007, 0, 0, 3729, 409, 1990, 0, 3826, 0, 0, 3575, 0, - 0, 0, 0, 0, 2723, 0, 3735, 0, 0, 0, 3043, 0, - 1797, 0, 0, 0, 0, 0, 0, 554, 1147, 1652, 0, 0, - 3596, 0, 2580, 0, 2628, 0, 2617, 0, 0, 0, 0, 0, - 0, 0, 0, 1485, 0, 2500, 0, 1968, 0, 0, 2482, 0, - 2710, 0, 2751, 1710, 399, 0, 0, 3526, 378, 2742, 0, 0, - 0, 969, 0, 0, 0, 0, 690, 0, 3238, 3400, 3975, 0, - 0, 2465, 2879, 0, 0, 0, 0, 2183, 2785, 0, 0, 0, - 0, 0, 3084, 3350, 3937, 0, 2951, 4088, 1097, 3802, 0, 0, - 0, 0, 0, 1096, 0, 0, 2944, 2885, 394, 0, 0, 0, - 2757, 0, 0, 0, 0, 0, 1578, 0, 0, 0, 0, 0, - 0, 4033, 0, 0, 1917, 1622, 0, 0, 0, 0, 0, 0, - 0, 0, 1773, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3055, 0, 0, 3110, 0, 3742, 0, 0, 3419, 0, - 0, 0, 0, 0, 2669, 0, 3865, 0, 0, 0, 0, 0, - 0, 0, 3462, 0, 0, 4015, 3989, 0, 0, 0, 0, 0, - 3375, 0, 2842, 0, 3633, 0, 0, 0, 0, 0, 3510, 0, - 0, 0, 0, 0, 0, 0, 0, 3827, 0, 0, 0, 0, - 2820, 1424, 3012, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3495, 0, 0, 0, 0, 1403, 3281, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2735, 0, 0, 0, 0, 0, 0, 3354, 0, 192, 0, - 3579, 0, 0, 0, 3106, 2854, 0, 796, 0, 0, 0, 1401, - 0, 3127, 0, 0, 0, 0, 0, 0, 0, 1329, 0, 2990, - 3400, 3966, 0, 2739, 2214, 0, 2290, 1542, 0, 0, 0, 1801, - 0, 0, 0, 3796, 0, 0, 0, 2562, 2540, 0, 1969, 0, - 0, 2198, 0, 0, 0, 4060, 1546, 0, 0, 0, 0, 2034, - 0, 1384, 0, 0, 0, 0, 0, 0, 0, 2611, 2678, 0, - 1884, 0, 0, 3680, 2977, 0, 2671, 0, 2904, 0, 0, 0, - 3868, 0, 0, 3963, 0, 0, 0, 2619, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 684, 2895, 3128, 0, 0, 2828, - 0, 0, 0, 0, 0, 0, 0, 2345, 3169, 0, 0, 3954, - 0, 1300, 0, 1392, 0, 2459, 0, 0, 2906, 395, 0, 323, - 0, 0, 0, 0, 0, 3607, 0, 0, 1304, 0, 500, 0, - 0, 0, 0, 3344, 0, 0, 0, 0, 2336, 0, 0, 0, - 2072, 3254, 2922, 4023, 0, 0, 3408, 0, 415, 0, 490, 0, - 0, 1202, 3327, 0, 2464, 2474, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1073, 0, 1510, 1883, 0, 2606, - 1891, 0, 3438, 0, 0, 0, 0, 3674, 0, 0, 0, 0, - 0, 0, 2119, 3666, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3070, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4091, 1667, 0, 0, 0, 0, 0, 3497, - 0, 0, 0, 0, 0, 0, 4088, 0, 0, 0, 3197, 0, - 0, 0, 0, 0, 0, 856, 0, 0, 2233, 0, 0, 0, - 0, 0, 4018, 0, 1234, 0, 0, 2822, 3066, 0, 0, 0, - 3725, 0, 1178, 3260, 0, 0, 0, 0, 0, 0, 0, 1946, - 2282, 0, 2527, 0, 3982, 0, 3909, 4009, 0, 2029, 2761, 0, - 0, 0, 3643, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2979, 0, 2611, 683, 0, 0, 1619, 0, 2064, 0, 0, 0, - 3504, 0, 0, 0, 3576, 3526, 0, 1011, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3325, 0, 0, 3492, 2583, 2675, 2651, - 1919, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2504, 2711, - 0, 0, 0, 0, 1536, 0, 0, 1077, 0, 2791, 0, 0, - 0, 3817, 3790, 0, 0, 2418, 0, 0, 3678, 2104, 0, 1929, - 1868, 0, 1813, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3241, 0, 0, 0, 0, 4055, 2876, 0, - 0, 0, 0, 3173, 0, 0, 3395, 0, 0, 3213, 3850, 2747, - 0, 0, 0, 0, 0, 3576, 0, 0, 3652, 0, 0, 0, - 0, 387, 0, 3299, 3485, 0, 3416, 1756, 1819, 1609, 0, 0, - 2187, 3096, 0, 0, 796, 0, 2842, 0, 0, 2989, 0, 2908, - 0, 0, 0, 2457, 0, 0, 0, 0, 3822, 0, 0, 0, - 1408, 0, 0, 3665, 3067, 3087, 0, 980, 0, 0, 3962, 0, - 2030, 0, 0, 2315, 0, 0, 3855, 0, 4095, 0, 0, 0, - 0, 1093, 1696, 1566, 3308, 0, 0, 2238, 0, 3818, 3695, 1405, - 0, 2247, 0, 0, 0, 0, 0, 0, 0, 0, 448, 0, - 0, 0, 0, 0, 2529, 0, 0, 982, 0, 0, 0, 3848, - 0, 0, 0, 0, 0, 3982, 0, 0, 0, 3725, 1246, 2676, - 3357, 2020, 0, 0, 0, 0, 3062, 2234, 0, 0, 0, 0, - 3541, 0, 488, 0, 0, 2648, 0, 0, 0, 0, 0, 0, - 2559, 0, 0, 0, 2213, 0, 0, 0, 0, 0, 0, 0, - 3984, 0, 0, 0, 0, 727, 3991, 0, 0, 0, 1840, 0, - 3674, 0, 0, 0, 0, 0, 0, 0, 2498, 0, 0, 0, - 0, 0, 3158, 0, 0, 3870, 0, 0, 0, 0, 0, 0, - 1966, 3974, 3220, 2808, 0, 3744, 0, 0, 0, 0, 0, 879, - 0, 0, 3057, 3492, 0, 0, 332, 0, 3247, 0, 1784, 0, - 3176, 0, 0, 0, 0, 0, 0, 0, 3656, 268, 3612, 0, - 4030, 0, 874, 0, 2442, 3889, 0, 2274, 0, 0, 0, 1310, - 0, 0, 0, 0, 0, 0, 0, 3994, 0, 0, 3554, 0, - 3465, 0, 3430, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3018, 0, 1385, 0, 0, 0, 0, 349, 3114, 0, 0, 3187, - 2629, 3606, 0, 0, 387, 0, 1040, 2901, 0, 0, 0, 0, - 1788, 3675, 3904, 0, 0, 0, 0, 0, 3642, 0, 1348, 0, - 0, 0, 3447, 0, 4045, 2353, 3771, 0, 0, 0, 2607, 0, - 2814, 0, 2438, 2317, 299, 0, 0, 0, 0, 0, 541, 0, - 4004, 2591, 0, 0, 0, 0, 3102, 1853, 1789, 3492, 3305, 0, - 0, 0, 1965, 0, 3930, 0, 0, 0, 2040, 0, 0, 0, - 0, 0, 0, 1335, 0, 0, 1489, 0, 0, 0, 0, 881, - 2354, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1187, - 3567, 1796, 3307, 0, 615, 2393, 0, 3531, 0, 0, 0, 2372, - 0, 3689, 0, 3253, 0, 3556, 0, 0, 0, 0, 1027, 0, - 1729, 3813, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2598, - 0, 975, 1503, 2537, 2530, 0, 0, 0, 2221, 1992, 3588, 0, - 159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1154, 0, 0, 0, 0, 1465, 0, 0, 1698, 0, - 3499, 0, 565, 0, 0, 2689, 3732, 2169, 3510, 4067, 0, 0, - 2434, 3135, 0, 0, 2886, 2998, 0, 0, 0, 1724, 3293, 0, - 0, 436, 0, 0, 0, 0, 0, 0, 1305, 0, 0, 0, - 2927, 2237, 0, 0, 4073, 0, 0, 0, 4017, 0, 3900, 0, - 0, 430, 0, 3624, 0, 0, 4050, 3766, 0, 0, 3867, 3320, - 1593, 2691, 2984, 0, 0, 3238, 0, 0, 493, 3110, 4023, 0, - 0, 0, 0, 2746, 0, 0, 3703, 2980, 0, 3006, 0, 0, - 0, 0, 0, 0, 377, 0, 0, 0, 3955, 0, 0, 0, - 2427, 0, 0, 0, 2125, 386, 0, 2121, 240, 0, 0, 1456, - 0, 3004, 0, 0, 339, 3582, 0, 0, 0, 0, 0, 0, - 0, 3731, 441, 0, 126, 3164, 837, 0, 1580, 4063, 1418, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3842, 3998, 0, 0, - 0, 0, 3860, 0, 0, 0, 0, 0, 0, 2546, 0, 1809, - 3646, 2550, 3687, 1642, 0, 3001, 1879, 1317, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 360, 2679, 0, 3804, 0, - 1567, 0, 0, 0, 0, 0, 2905, 0, 2919, 870, 3430, 0, - 1237, 0, 3842, 0, 4022, 3034, 0, 2026, 1275, 0, 0, 0, - 2922, 0, 0, 0, 0, 3255, 1223, 0, 0, 0, 0, 0, - 2250, 2977, 0, 1962, 3718, 0, 384, 678, 1564, 0, 0, 0, - 0, 0, 0, 1047, 0, 2918, 0, 4047, 3892, 0, 1882, 0, - 0, 3900, 0, 2926, 0, 1659, 0, 0, 0, 0, 0, 0, - 3473, 916, 0, 0, 0, 0, 3384, 0, 0, 0, 2964, 0, - 0, 2974, 0, 0, 2929, 0, 1628, 0, 3787, 0, 0, 0, - 0, 665, 2905, 1656, 0, 0, 0, 0, 0, 0, 0, 2939, - 0, 1677, 0, 3891, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3041, 0, 0, 0, 0, 3074, 0, 0, - 0, 0, 0, 3801, 0, 0, 2426, 3342, 0, 1364, 3064, 0, - 0, 2171, 2297, 0, 0, 284, 2972, 0, 2684, 2330, 0, 3061, - 1203, 4055, 3896, 0, 0, 777, 0, 0, 0, 0, 375, 0, - 2437, 0, 1469, 0, 0, 0, 0, 0, 2251, 0, 0, 0, - 0, 0, 1494, 0, 1928, 0, 1409, 0, 0, 0, 0, 3607, - 1875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1524, 0, - 1450, 1613, 2405, 0, 0, 3794, 0, 0, 0, 1707, 3381, 0, - 0, 1946, 3370, 2076, 2487, 3889, 3952, 0, 0, 0, 0, 2108, - 1879, 1703, 0, 0, 0, 0, 0, 3088, 0, 4032, 2654, 0, - 0, 0, 0, 0, 0, 0, 2748, 1754, 0, 3123, 494, 3455, - 0, 0, 0, 0, 0, 3088, 0, 0, 0, 3958, 3984, 2090, - 0, 2808, 3289, 0, 658, 0, 2005, 0, 2837, 0, 0, 0, - 3617, 1376, 0, 0, 1772, 1704, 3484, 0, 0, 0, 0, 0, - 0, 0, 2661, 0, 3651, 0, 2178, 0, 0, 1475, 0, 555, - 0, 0, 0, 1153, 4045, 0, 0, 3279, 0, 0, 2327, 285, - 0, 0, 0, 0, 0, 3888, 0, 0, 0, 2483, 0, 0, - 0, 2081, 1751, 3392, 0, 0, 3583, 4038, 3112, 0, 0, 0, - 0, 4047, 0, 0, 2501, 2855, 357, 0, 0, 0, 0, 0, - 3296, 0, 0, 0, 0, 3342, 0, 812, 826, 0, 0, 0, - 0, 0, 0, 0, 0, 2242, 0, 0, 2769, 0, 0, 3658, - 0, 2839, 0, 0, 1936, 0, 0, 2201, 0, 3595, 0, 0, - 0, 2458, 0, 3370, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1509, 3200, 0, 3353, 2049, 2672, 0, 0, 0, 2382, 0, - 0, 0, 0, 3719, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3096, 1959, 0, 0, 0, 2696, 4066, 0, - 3300, 0, 0, 0, 0, 3186, 3809, 0, 3625, 0, 0, 0, - 0, 0, 0, 2030, 0, 3942, 0, 0, 4001, 0, 3779, 0, - 0, 4064, 0, 3909, 2958, 0, 0, 2772, 0, 0, 0, 0, - 0, 2069, 867, 2477, 862, 2668, 0, 3888, 0, 2076, 0, 3549, - 257, 1110, 271, 3097, 0, 2282, 0, 0, 0, 3830, 2458, 0, - 3905, 0, 0, 0, 0, 0, 0, 3720, 0, 0, 0, 1425, - 0, 0, 0, 2699, 3168, 0, 3933, 0, 0, 3281, 0, 3908, - 0, 0, 0, 0, 0, 3784, 0, 3767, 0, 2460, 0, 0, - 0, 0, 2900, 0, 0, 0, 0, 3812, 1752, 2226, 3427, 0, - 0, 0, 0, 0, 1912, 2900, 0, 0, 0, 3225, 2478, 0, - 0, 3252, 0, 2175, 3450, 0, 3131, 0, 0, 0, 0, 473, - 0, 1216, 0, 3915, 0, 1341, 443, 0, 2434, 3364, 3667, 0, - 2782, 0, 0, 4065, 3948, 0, 0, 0, 0, 0, 1836, 0, - 382, 0, 0, 3613, 0, 0, 1968, 3490, 0, 0, 0, 3857, - 3119, 1619, 3528, 3401, 0, 0, 3792, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3429, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 876, - 1870, 1530, 4094, 1932, 2975, 3828, 3994, 0, 1934, 2672, 0, 0, - 0, 0, 1704, 0, 0, 1798, 0, 0, 0, 544, 0, 3064, - 0, 404, 0, 0, 1391, 0, 0, 0, 0, 4008, 0, 0, - 2749, 3736, 3724, 0, 3768, 0, 0, 0, 0, 0, 3196, 0, - 0, 0, 496, 2035, 0, 3599, 0, 0, 0, 0, 0, 0, - 0, 2565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3980, - 3570, 0, 0, 0, 0, 3908, 0, 4002, 0, 0, 0, 2868, - 0, 0, 1701, 2822, 0, 0, 0, 0, 0, 3274, 0, 3176, - 0, 0, 0, 0, 0, 3990, 0, 0, 0, 0, 0, 0, - 0, 3551, 0, 0, 0, 0, 0, 2285, 0, 0, 2806, 0, - 0, 0, 0, 0, 1918, 0, 0, 3676, 2024, 2539, 0, 4039, - 0, 0, 2624, 0, 0, 1582, 2830, 0, 0, 0, 0, 0, - 3641, 0, 1823, 0, 0, 0, 3976, 3287, 0, 2822, 0, 0, - 0, 0, 0, 1121, 417, 0, 1828, 0, 0, 0, 0, 1237, - 217, 0, 0, 0, 0, 0, 3816, 0, 0, 0, 0, 0, - 0, 3503, 0, 2906, 1565, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2453, 3108, 0, 3277, 0, 0, 0, 0, 0, 3285, - 2688, 0, 0, 0, 0, 0, 3758, 0, 0, 0, 0, 0, - 3707, 4024, 3680, 1723, 481, 2473, 1166, 3245, 3365, 0, 0, 2149, - 0, 4034, 0, 1812, 0, 4081, 0, 0, 0, 0, 0, 0, - 3586, 3292, 0, 0, 0, 0, 0, 0, 0, 0, 3755, 0, - 0, 4065, 0, 0, 0, 0, 0, 1963, 0, 0, 0, 763, - 0, 458, 0, 2927, 2173, 0, 0, 0, 3818, 0, 0, 0, - 0, 4001, 3929, 2264, 2325, 0, 1374, 0, 0, 0, 3016, 0, - 0, 0, 3975, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3518, 0, 0, 0, 0, 3875, 0, 0, 0, - 0, 1788, 0, 0, 0, 0, 826, 0, 2666, 3966, 628, 0, - 0, 0, 1122, 2768, 0, 1224, 3057, 1895, 0, 3712, 0, 0, - 0, 0, 0, 3581, 0, 0, 0, 0, 0, 3013, 437, 0, - 0, 0, 0, 0, 0, 0, 2792, 0, 0, 0, 0, 0, - 0, 0, 1779, 3614, 0, 4079, 0, 0, 0, 3129, 3289, 2633, - 0, 0, 0, 1144, 0, 4035, 0, 0, 1619, 0, 3599, 0, - 2672, 0, 3908, 0, 0, 0, 3302, 0, 2828, 0, 0, 0, - 0, 1164, 0, 0, 0, 0, 728, 0, 4022, 0, 0, 494, - 0, 0, 2513, 4028, 0, 166, 3486, 0, 0, 0, 0, 0, - 0, 1553, 0, 0, 0, 3298, 2470, 1405, 3508, 0, 4006, 0, - 0, 3891, 0, 3539, 739, 0, 0, 0, 0, 0, 3280, 0, - 0, 0, 2673, 0, 0, 2912, 0, 0, 0, 0, 0, 2409, - 0, 2542, 2195, 0, 0, 0, 0, 0, 3207, 0, 0, 2965, - 0, 0, 3636, 0, 0, 3653, 0, 0, 0, 3635, 0, 4076, - 495, 2015, 0, 0, 3854, 0, 3746, 0, 0, 0, 0, 0, - 0, 4094, 0, 0, 0, 3000, 1776, 0, 0, 498, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3118, 2320, - 0, 0, 3079, 0, 0, 0, 0, 0, 0, 0, 0, 2212, - 3343, 2398, 0, 0, 0, 3952, 0, 0, 2361, 450, 0, 1551, - 0, 0, 0, 0, 0, 3701, 0, 0, 0, 0, 1901, 0, - 0, 0, 0, 0, 715, 0, 2803, 3946, 3289, 2569, 2388, 1818, - 0, 0, 0, 0, 2155, 712, 0, 0, 0, 3638, 0, 0, - 0, 3521, 0, 0, 0, 3442, 0, 0, 0, 0, 0, 0, - 0, 0, 3093, 3560, 0, 0, 3764, 1296, 0, 2821, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2632, 0, 0, 0, - 3634, 3305, 451, 0, 1874, 4092, 0, 1695, 3147, 2731, 2961, 2857, - 0, 0, 0, 4073, 2110, 0, 0, 0, 0, 0, 3082, 0, - 3261, 0, 1068, 4024, 3954, 0, 1600, 0, 0, 187, 3411, 0, - 0, 0, 2352, 0, 0, 0, 0, 0, 0, 3049, 0, 0, - 0, 0, 1812, 0, 0, 0, 1321, 0, 0, 3504, 747, 448, - 0, 0, 0, 1317, 2771, 1074, 4038, 0, 0, 0, 0, 0, - 0, 2539, 1775, 0, 0, 454, 0, 0, 0, 3805, 0, 0, - 0, 0, 0, 0, 0, 562, 0, 0, 0, 0, 0, 0, - 0, 2621, 0, 3051, 1663, 3715, 0, 3217, 0, 0, 0, 0, - 0, 0, 0, 0, 3841, 0, 3737, 0, 0, 0, 328, 1188, - 0, 3182, 0, 0, 0, 0, 1496, 0, 2207, 0, 1550, 0, - 2491, 0, 1957, 0, 0, 0, 1580, 0, 0, 3932, 0, 3755, - 0, 0, 0, 0, 3422, 0, 0, 1327, 2832, 1240, 2593, 2292, - 2748, 0, 0, 0, 0, 3075, 3008, 0, 0, 2702, 0, 2187, - 1089, 0, 3213, 0, 0, 2158, 0, 3852, 0, 0, 1742, 0, - 3874, 0, 0, 0, 0, 3537, 2903, 0, 0, 0, 0, 0, - 0, 4076, 2016, 3814, 0, 2080, 0, 3623, 3829, 0, 0, 0, - 3418, 0, 0, 861, 0, 0, 3413, 2628, 0, 0, 0, 0, - 3911, 2721, 0, 0, 0, 0, 0, 3698, 0, 2721, 0, 0, - 3580, 0, 0, 0, 2629, 2053, 0, 0, 0, 3573, 0, 0, - 1013, 0, 936, 0, 2850, 0, 0, 3374, 0, 2286, 0, 753, - 0, 1648, 4082, 1519, 0, 0, 0, 0, 0, 0, 0, 2423, - 0, 0, 0, 0, 3802, 0, 1167, 0, 0, 3047, 0, 3921, - 0, 0, 0, 4039, 0, 1109, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2163, 0, 3460, 0, 0, 4090, 0, 3450, - 0, 2008, 0, 0, 0, 0, 0, 0, 2432, 0, 1783, 3071, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2728, - 0, 3236, 275, 0, 0, 0, 0, 1548, 0, 1086, 0, 1051, - 3222, 0, 0, 0, 0, 0, 0, 3568, 3315, 0, 0, 0, - 471, 0, 0, 0, 0, 0, 0, 1655, 0, 0, 0, 0, - 0, 2206, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4006, 0, 2992, 2613, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3048, 0, - 0, 0, 0, 0, 3807, 0, 2348, 0, 2931, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2123, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1601, 2431, 0, 0, 0, - 0, 0, 2862, 0, 0, 3971, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3630, 0, 0, 0, 0, 0, 0, 0, 3899, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2741, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2470, 0, 0, 0, 0, 0, 0, 0, 0, - 3119, 0, 0, 1930, 4041, 0, 2388, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3403, 0, 0, 0, - 0, 0, 0, 4054, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 450, 0, 0, 3600, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3219, 0, 0, 0, - 0, 0, 1993, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3326, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2737, 0, 0, 0, 0, 0, 3549, 2935, - 0, 0, 0, 2630, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3328, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3026, 3107, 0, 0, 0, 0, 0, 0, 0, 0, 1482, 0, - 1944, 0, 0, 0, 0, 0, 0, 3473, 0, 1113, 0, 2259, - 0, 0, 0, 0, 0, 0, 0, 3211, 0, 0, 0, 0, - 0, 3926, 0, 0, 4035, 0, 0, 0, 0, 0, 0, 2173, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3316, 0, 0, 0, 0, 1600, 0, - 0, 0, 3685, 0, 0, 0, 0, 0, 0, 0, 2512, 0, - 0, 2667, 4061, 0, 0, 0, 0, 0, 0, 0, 3304, 0, - 0, 918, 2934, 0, 0, 0, 0, 3038, 0, 2646, 0, 0, - 0, 0, 0, 0, 0, 3331, 0, 0, 0, 1330, 0, 3932, - 0, 0, 0, 0, 1601, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3488, 0, 3452, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1989, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3578, 2160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1500, 0, 0, 3393, 0, 0, 0, 0, 0, 843, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2063, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2067, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3890, 0, 0, 2616, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2831, 0, 0, 0, 475, 1201, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3710, 0, 0, - 0, 0, 315, 0, 2636, 3811, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3329, 0, 0, 3702, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2935, 0, 0, 0, 0, 0, 0, 464, 0, - 1637, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 806, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 4021, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3821, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1757, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3811, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3048, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3446, 0, - 0, 0, 0, 0, 0, 0, 1563, 0, 0, 0, 0, 0, - 0, 1532, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2999, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3440, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1989, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3162, 3560, 0, 2653, 0, 0, 0, 0, 0, 1483, 0, - 1448, 0, 0, 0, 0, 0, 3924, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3060, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2343, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2477, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3824, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 904, 0, 0, - 0, 0, 990, 861, 0, 3020, 0, 0, 0, 0, 0, 1908, - 0, 0, 2992, 0, 0, 0, 0, 0, 0, 2991, 3688, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3708, 0, 0, 3152, 0, 0, 0, 0, 0, 2781, 0, 634, - 3487, 0, 0, 0, 2561, 0, 3314, 0, 0, 0, 1724, 0, - 0, 0, 3578, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3141, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2553, 0, 0, 2344, 0, 0, 0, 0, - 0, 4023, 3078, 0, 0, 0, 0, 0, 0, 0, 0, 2927, - 0, 3872, 0, 0, 0, 0, 0, 2419, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2092, 0, - 0, 0, 0, 0, 3787, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3662, 0, 0, 0, 0, 0, 0, 3697, 0, - 0, 0, 0, 0, 0, 2852, 0, 0, 3470, 0, 0, 0, - 329, 0, 0, 0, 0, 0, 0, 0, 3434, 2303, 4043, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1475, 0, 0, 0, 1397, 0, 0, - 0, 0, 0, 0, 1332, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3059, 4010, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 766, 2801, 0, 0, - 0, 0, 3603, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2222, 0, 0, 0, 0, 0, 0, 1755, - 2978, 2063, 0, 0, 0, 0, 2959, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2854, 0, 0, 0, 3996, - 0, 0, 0, 0, 3710, 0, 0, 2651, 3170, 0, 0, 0, - 892, 3031, 0, 0, 0, 0, 0, 0, 0, 0, 1483, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2359, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3404, 0, 0, 0, 0, 0, 0, 2353, 0, 0, 0, 0, - 1258, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2993, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2883, 0, 0, - 0, 0, 0, 0, 0, 0, 2098, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3248, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3985, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3851, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2129, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3155, 0, 0, 0, 0, 0, 0, - 0, 0, 624, 0, 0, 0, 0, 0, 0, 0, 0, 1613, - 0, 0, 0, 2890, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2808, 2662, 0, 0, 3495, - 0, 0, 0, 1959, 0, 0, 0, 0, 0, 0, 0, 2936, - 0, 0, 0, 0, 0, 2932, 0, 0, 0, 0, 2200, 0, - 0, 0, 0, 3368, 0, 3051, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2617, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3445, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3464, 2988, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3541, 0, 0, 0, 0, 3054, 0, 3279, 0, 0, 0, 0, - 0, 435, 0, 389, 0, 0, 0, 0, 0, 0, 0, 0, - 3471, 0, 825, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3883, 0, 0, 0, 0, 0, - 424, 0, 1768, 0, 0, 2486, 0, 0, 0, 2817, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2387, 0, - 1533, 2660, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3234, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2411, 0, 0, - 0, 0, 0, 3956, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3500, 0, 0, 0, 0, 0, 0, 1786, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2855, 0, 0, 0, - 3691, 0, 0, 0, 0, 0, 2207, 0, 0, 0, 0, 0, - 0, 0, 0, 2268, 3367, 0, 2719, 0, 0, 0, 0, 0, - 0, 2504, 3910, 0, 0, 0, 4044, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 729, 0, 0, 2664, 0, - 0, 0, 0, 0, 3589, 0, 0, 0, 0, 0, 0, 2734, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3569, 0, 0, 0, 0, 2244, 0, 0, 3593, - 0, 3303, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3101, 0, 2109, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4081, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3676, 0, 3970, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 413, 0, 0, 3971, 0, 0, 0, - 0, 2521, 0, 0, 0, 0, 0, 0, 3484, 0, 3239, 0, - 0, 3295, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3356, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2329, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2160, 3651, 2933, 0, 0, 0, 3969, - 0, 0, 0, 3521, 0, 3938, 0, 0, 0, 0, 0, 0, - 0, 0, 1082, 0, 0, 0, 0, 0, 0, 0, 0, 1265, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3653, 0, 3400, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3031, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3085, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2023, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3902, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 918, 0, - 0, 0, 3640, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 472, 0, 0, 0, 0, 3147, 0, 0, 0, 0, 0, - 0, 0, 0, 1670, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1982, - 4081, 0, 0, 0, 0, 0, 0, 0, 1676, 0, 1250, 0, - 0, 0, 0, 0, 2762, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4049, 0, 0, 0, 3979, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 706, 0, 0, 0, - 0, 0, 1774, 0, 0, 0, 0, 0, 0, 0, 3125, 0, - 0, 4079, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3995, 0, 0, 3392, 0, - 0, 0, 0, 1815, 3631, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3742, 0, 0, 3825, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2832, 2005, 0, 3943, 0, 0, 0, - 0, 0, 3836, 0, 193, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2729, 0, 0, 0, 0, 2678, - 0, 0, 0, 0, 0, 0, 3887, 0, 0, 0, 0, 2910, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1312, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1342, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3980, 0, 0, 0, 0, 0, 0, 0, - 1555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3657, 0, 0, 0, 0, 0, 0, 1571, 0, 0, 0, - 0, 0, 0, 0, 2535, 0, 0, 0, 3147, 1444, 0, 0, - 326, 0, 0, 0, 0, 0, 0, 0, 2441, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1897, 0, 331, 0, 0, 0, - 0, 0, 2471, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3334, 0, 0, 0, 0, 0, 0, 0, 4058, 2390, 1712, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1951, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1864, 0, 0, 2302, 0, 0, 0, 0, 0, 0, 3228, - 3831, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3649, 0, - 0, 0, 0, 0, 2902, 0, 0, 2923, 0, 0, 404, 2936, - 3202, 0, 0, 0, 0, 0, 0, 1867, 0, 3619, 0, 0, - 0, 0, 2549, 0, 0, 0, 0, 0, 0, 2666, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3479, 0, 0, 0, 0, 0, 3499, 0, 0, 0, - 0, 0, 0, 0, 0, 2069, 0, 3439, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3026, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3917, 0, - 0, 0, 0, 0, 0, 3733, 0, 0, 0, 1829, 0, 0, - 0, 0, 0, 0, 1892, 0, 0, 0, 0, 1129, 0, 0, - 0, 0, 2079, 0, 3133, 0, 3557, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1862, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2797, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3748, 0, 0, 0, - 0, 0, 0, 3815, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3550, 926, 3637, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2733, 0, 3564, 0, 0, 3914, 0, 2058, 0, - 0, 0, 0, 0, 0, 2107, 0, 0, 2003, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3013, 0, 914, 0, 0, 0, 1533, 0, 0, 0, 0, - 0, 0, 3620, 291, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3440, 2920, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3015, 0, 535, 0, - 0, 0, 0, 0, 3410, 0, 0, 0, 0, 0, 0, 3632, - 2407, 0, 0, 0, 0, 0, 0, 0, 0, 2728, 0, 0, - 4040, 0, 0, 0, 0, 3350, 0, 0, 2612, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3359, 0, 3530, 2229, 0, 0, - 0, 0, 3874, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3743, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3776, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3876, 0, 1365, 3871, 0, 0, - 0, 0, 0, 0, 462, 2969, 1894, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2194, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2747, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2228, 2845, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3624, 0, 0, 3594, 0, 4013, 0, - 0, 0, 0, 662, 0, 2547, 0, 0, 0, 0, 1898, 0, - 0, 0, 0, 0, 4077, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 425, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3242, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2321, 0, 0, 0, 3001, 3989, 0, 0, - 2307, 0, 0, 0, 0, 0, 0, 0, 0, 3405, 0, 0, - 0, 1602, 0, 0, 0, 821, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3495, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1346, 2142, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3635, - 0, 0, 2953, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3343, 0, 0, 0, 0, 0, 0, 0, 0, 1920, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 738, 0, 0, 0, - 0, 0, 0, 1605, 814, 0, 0, 0, 0, 0, 3844, 0, - 0, 0, 0, 0, 0, 4071, 0, 0, 1575, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 865, 0, 2383, 0, - 0, 0, 0, 0, 0, 0, 0, 3639, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3864, - 0, 0, 0, 2495, 0, 1387, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3460, 0, - 0, 0, 0, 0, 0, 0, 3990, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3628, 0, - 2839, 0, 3195, 0, 0, 0, 0, 0, 0, 3528, 3956, 1967, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1033, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3469, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3785, 0, 0, 0, 0, 1923, 0, 0, 0, 0, 2023, 0, - 0, 0, 0, 1778, 0, 0, 0, 0, 0, 1776, 3885, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3336, 0, - 0, 0, 0, 0, 0, 0, 0, 3582, 2818, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2849, 0, 0, 3947, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4003, 0, 0, 0, 3866, 0, 3888, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1430, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3928, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2350, 3354, 2909, 0, 0, 0, 0, 0, 0, - 3429, 2356, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3290, 0, 0, 0, 0, 0, 781, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3902, 0, 0, - 0, 3948, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3290, - 0, 3479, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2916, 0, 0, 0, 0, 0, 3325, 0, 2604, 0, 0, 3474, - 0, 3399, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3277, 0, 2051, 0, 0, 0, 3215, 0, - 0, 296, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3594, 1861, 1786, 0, 0, 0, 1597, 3410, 4059, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 906, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1825, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 342, 2467, 0, 0, 0, 0, 0, 0, 1497, 0, - 0, 0, 0, 0, 3208, 0, 0, 0, 0, 0, 3976, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2727, - 3084, 3587, 0, 3644, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2565, 0, 0, 0, 0, 3117, 0, 0, - 0, 0, 3604, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2130, 0, 0, 2333, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2915, 0, 0, 0, 0, 0, 0, 0, 2905, 0, 0, - 0, 0, 0, 0, 2102, 0, 1549, 0, 3664, 0, 0, 0, - 0, 3012, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3998, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1150, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2642, 0, 3824, 0, - 0, 0, 0, 0, 0, 2673, 0, 0, 0, 0, 0, 0, - 2965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3649, 0, 0, 472, 0, 0, 0, 0, 1638, - 0, 3190, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2590, 0, 0, 0, 0, 0, 0, 4090, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3800, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 4001, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3608, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 1407, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3571, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3352, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3798, 0, 3520, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3674, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3381, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3895, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1399, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1680, 0, 0, 0, 0, 0, - 0, 0, 0, 2807, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2328, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1679, 1573, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3523, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3985, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3916, 0, 0, 0, 0, - 0, 0, 2171, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1723, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3270, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3116, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2635, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 4063, 0, 0, 0, 0, 0, 0, - 0, 0, 3166, 0, 1817, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3367, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1987, 0, 0, 0, 0, 0, 1073, 0, 3764, 0, 0, - 0, 0, 0, 2911, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 668, 0, 0, 0, 0, 3388, 0, 0, 0, - 0, 0, 2035, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2577, 0, 0, 3382, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2777, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2498, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3385, 0, 0, - 0, 2568, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2655, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1410, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3522, 0, 0, 0, 0, 0, 0, 3748, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3143, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3482, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3488, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4025, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 486, 0, 736, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3944, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1651, 0, 3142, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2269, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3009, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2391, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1101, - 0, 0, 3327, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1225, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 4082, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3969, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3965, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 1507, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3655, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3551, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3065, 0, 0, 0, 0, 0, 0, 0, 0, - 2300, 0, 3189, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1066, 0, 0, 0, 0, 0, 2595, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2919, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2951, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 220, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 3028, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1632, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3204, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2046, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1191, 0, 0, 0, 0, 0, 0, 0, - 3601, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2117, 0, - 394, 0, 0, 0, 0, 0, 3294, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2982, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2293, 0, 0, 3227, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3943, 0, 0, 0, - 0, 0, 2494, 0, 0, 0, 0, 0, 0, 0, 0, 2311, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2474, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3145, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 4074, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 4037, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1230, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3133, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3997, 0, 0, 0, 3167, - 0, 0, 0, 0, 0, 0, 0, 3502, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3531, 0, 2860, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3230, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1916, 0, 0, 0, 0, 0, 0, 0, 992, 0, 2355, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3082, 0, 0, 0, 0, - 0, 0, 3356, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 959, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3420, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3946, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2762, 0, 0, 0, 0, 0, 0, 0, 1843, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2998, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2940, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3620, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1838, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 1809, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3500, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 2003, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3221, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2431, 0, - 0, 0, 0, 0, 0, 1585, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 2826, 0, 0, 0, 3939, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2727, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 2130, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2743, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2238, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3877, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2851, 0, 0, - 0, 0, 0, 0, 3579, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 585, 0, - 0, 0, 0, 3823, 0, 3338, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 3310, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3899, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 1881, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 1886, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 2605, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2096, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3884, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 2652, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3630, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2691, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3956, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2724, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2823, 0, 1589, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1811, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3754, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3879, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3887, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3355, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3616, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2720, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3376, 0, 1249, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3540, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 3574, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3323, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4003, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 4011, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 1468, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3498, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 3677, 0, 0, 0, 0, 0, 0, 0, - 3746, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3417, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3705, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3626, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3860, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2559, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3768, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3145, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3827, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 2524, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 2327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1981, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2308, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3563, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 3265, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; - -const uint16_t H_4096_8192_3d_H_cols[] = { - 246, 18, 415, 209, 51, 211, 147, 326, 266, 450, 459, 1119, - 227, 213, 9, 38, 390, 369, 624, 271, 30, 270, 59, 32, - 498, 1286, 482, 514, 154, 1027, 2, 14, 65, 625, 403, 7, - 281, 239, 592, 607, 18, 381, 394, 286, 416, 742, 662, 820, - 214, 129, 284, 22, 48, 49, 564, 127, 64, 12, 615, 44, - 224, 463, 12, 119, 199, 520, 1358, 1, 436, 397, 102, 94, - 414, 259, 451, 3, 443, 135, 21, 368, 70, 162, 286, 236, - 728, 36, 5, 305, 363, 568, 93, 431, 72, 37, 453, 35, - 393, 296, 317, 505, 41, 269, 367, 96, 59, 464, 221, 532, - 66, 81, 563, 120, 140, 32, 252, 314, 289, 217, 85, 289, - 394, 371, 44, 53, 94, 88, 4, 9, 715, 361, 455, 106, - 762, 253, 303, 352, 263, 189, 114, 391, 103, 822, 516, 357, - 573, 79, 87, 75, 33, 16, 257, 356, 237, 90, 35, 424, - 116, 119, 51, 838, 305, 76, 40, 309, 290, 176, 34, 236, - 280, 83, 58, 1052, 7, 179, 219, 329, 606, 292, 541, 338, - 178, 34, 248, 285, 63, 152, 185, 96, 97, 536, 20, 49, - 701, 148, 328, 269, 709, 602, 179, 93, 1257, 61, 718, 231, - 590, 85, 275, 499, 447, 285, 242, 22, 411, 55, 231, 623, - 46, 412, 58, 819, 608, 437, 96, 33, 838, 510, 136, 462, - 117, 370, 552, 385, 471, 514, 98, 315, 142, 294, 539, 217, - 9, 86, 557, 252, 103, 43, 539, 125, 24, 208, 329, 143, - 399, 84, 12, 101, 145, 27, 239, 411, 303, 306, 99, 219, - 264, 17, 128, 448, 185, 282, 620, 249, 82, 364, 492, 239, - 366, 386, 294, 122, 115, 394, 1, 315, 427, 222, 91, 26, - 312, 243, 335, 404, 336, 226, 338, 376, 962, 354, 273, 164, - 179, 499, 660, 166, 118, 17, 158, 168, 200, 82, 153, 100, - 173, 43, 248, 697, 74, 5, 80, 15, 396, 291, 1236, 152, - 613, 134, 2, 121, 85, 37, 126, 752, 193, 5, 347, 474, - 45, 507, 998, 25, 130, 350, 38, 195, 134, 520, 14, 693, - 12, 759, 425, 159, 214, 384, 389, 824, 278, 48, 318, 273, - 498, 65, 968, 340, 61, 553, 88, 342, 457, 165, 1, 160, - 149, 82, 13, 6, 39, 216, 172, 140, 461, 111, 873, 253, - 106, 128, 317, 137, 194, 99, 586, 68, 112, 259, 236, 251, - 159, 1201, 128, 115, 88, 41, 274, 791, 889, 288, 896, 13, - 1116, 562, 97, 68, 89, 278, 71, 78, 267, 178, 136, 933, - 1188, 710, 200, 374, 77, 943, 55, 194, 18, 485, 6, 437, - 283, 208, 164, 11, 224, 536, 373, 94, 148, 174, 57, 561, - 426, 12, 426, 72, 507, 236, 144, 604, 403, 5, 51, 231, - 11, 97, 59, 20, 583, 28, 166, 399, 53, 37, 68, 216, - 81, 87, 5, 305, 964, 47, 80, 723, 42, 490, 708, 427, - 1878, 314, 413, 62, 59, 177, 61, 1066, 739, 57, 141, 106, - 19, 411, 421, 66, 575, 228, 92, 246, 84, 466, 417, 1593, - 125, 1979, 1240, 217, 791, 729, 338, 1277, 984, 1376, 113, 481, - 1079, 922, 893, 1993, 1033, 127, 62, 465, 394, 385, 1515, 900, - 729, 1470, 1013, 1080, 171, 1512, 945, 207, 759, 997, 430, 282, - 878, 952, 760, 744, 1860, 788, 2493, 102, 327, 974, 224, 846, - 63, 565, 567, 1423, 255, 1024, 18, 1059, 1428, 2308, 328, 1550, - 1022, 740, 266, 867, 566, 68, 187, 884, 472, 241, 3179, 559, - 679, 117, 819, 307, 697, 980, 281, 587, 1020, 223, 191, 21, - 780, 1433, 152, 670, 2111, 225, 867, 190, 2412, 873, 497, 613, - 439, 209, 465, 1857, 302, 1958, 3060, 982, 258, 594, 775, 1242, - 781, 53, 85, 424, 114, 1008, 408, 6, 869, 441, 636, 1459, - 220, 934, 166, 63, 401, 944, 506, 1460, 831, 1012, 906, 824, - 613, 1390, 1743, 708, 110, 38, 155, 2058, 1271, 2638, 2243, 827, - 312, 1064, 532, 681, 1872, 811, 1159, 418, 2064, 2773, 492, 1685, - 844, 2682, 2669, 1414, 842, 809, 1575, 1012, 1919, 574, 909, 2577, - 579, 1254, 1078, 672, 1416, 151, 1778, 753, 1020, 2569, 1212, 614, - 714, 1439, 233, 650, 624, 22, 638, 775, 534, 547, 1724, 1126, - 3212, 949, 198, 1919, 1097, 556, 475, 1796, 2200, 397, 708, 739, - 55, 2264, 184, 1202, 795, 31, 2185, 868, 593, 311, 58, 1482, - 704, 2824, 7, 387, 1135, 2216, 1643, 1781, 1569, 627, 146, 226, - 1041, 1303, 310, 6, 1929, 1000, 2924, 726, 142, 224, 692, 84, - 178, 2813, 1842, 1365, 995, 237, 455, 619, 1281, 1715, 1239, 1167, - 116, 273, 976, 528, 1232, 287, 580, 974, 1686, 876, 72, 1638, - 104, 906, 597, 766, 2040, 449, 1555, 491, 2579, 421, 1983, 862, - 267, 604, 289, 814, 1639, 271, 800, 278, 418, 1305, 1539, 772, - 1365, 159, 394, 1468, 1026, 2634, 1328, 2382, 1968, 2658, 1130, 980, - 205, 685, 2003, 176, 1088, 73, 159, 1321, 2097, 2496, 554, 1163, - 764, 1583, 234, 1792, 656, 2108, 3017, 2376, 1603, 1986, 277, 2857, - 3217, 446, 2256, 1074, 1805, 487, 208, 506, 553, 192, 1532, 2228, - 416, 1364, 60, 776, 1268, 25, 1017, 37, 435, 1647, 398, 1234, - 1302, 1929, 299, 1042, 973, 77, 379, 408, 66, 884, 303, 1703, - 953, 513, 96, 1018, 851, 2514, 249, 658, 654, 92, 1598, 2603, - 51, 1244, 507, 616, 1062, 2235, 919, 286, 1602, 245, 105, 300, - 313, 922, 15, 137, 707, 363, 673, 361, 1689, 753, 511, 3242, - 796, 1327, 284, 962, 458, 133, 802, 2699, 140, 670, 175, 2615, - 283, 1186, 676, 666, 448, 426, 2884, 259, 2627, 50, 608, 407, - 1574, 2755, 213, 68, 684, 1279, 841, 533, 1523, 1554, 853, 1629, - 846, 103, 2223, 2024, 1029, 1298, 1278, 1270, 1263, 508, 2362, 772, - 1119, 525, 575, 39, 43, 676, 1721, 424, 314, 3349, 384, 1807, - 1036, 2113, 1745, 1140, 2527, 123, 872, 3849, 875, 39, 74, 984, - 45, 106, 27, 912, 202, 41, 693, 107, 402, 131, 768, 967, - 805, 524, 304, 282, 147, 967, 1543, 853, 836, 2311, 241, 265, - 1463, 1624, 188, 956, 27, 991, 2019, 249, 363, 196, 1408, 916, - 395, 355, 1792, 1508, 2166, 253, 2469, 1098, 1799, 1098, 569, 2431, - 272, 1630, 386, 182, 1041, 451, 232, 1648, 3263, 1680, 1531, 705, - 1609, 2557, 1113, 823, 1806, 329, 2180, 2163, 790, 764, 1276, 1000, - 1757, 22, 2052, 336, 1224, 2610, 1187, 1035, 314, 1768, 1950, 1587, - 181, 269, 744, 1701, 909, 460, 1477, 716, 969, 2197, 1203, 706, - 2180, 2239, 3501, 294, 968, 979, 1229, 73, 153, 249, 2277, 99, - 1875, 551, 461, 1572, 2174, 1519, 316, 1666, 3383, 75, 58, 810, - 1136, 2252, 381, 914, 1301, 800, 456, 1781, 1584, 799, 154, 372, - 467, 2836, 834, 112, 3073, 1331, 128, 564, 338, 1431, 560, 1169, - 939, 8, 20, 364, 3300, 144, 883, 400, 183, 2920, 2643, 42, - 1090, 3215, 358, 300, 842, 1605, 70, 404, 1761, 123, 1525, 523, - 1856, 548, 225, 3291, 969, 555, 692, 2366, 841, 2769, 1620, 878, - 86, 464, 70, 817, 447, 622, 515, 1306, 2713, 1156, 327, 66, - 131, 1247, 2683, 572, 1870, 747, 892, 1103, 1242, 1861, 2295, 770, - 129, 1739, 366, 1877, 513, 1940, 1845, 682, 711, 194, 201, 1268, - 2296, 1990, 227, 1109, 495, 2010, 637, 2513, 1560, 2023, 763, 526, - 591, 1630, 278, 1372, 262, 1616, 655, 2757, 553, 1521, 3102, 191, - 343, 785, 865, 2359, 724, 3195, 913, 1051, 2826, 1317, 2535, 1405, - 367, 1495, 1649, 123, 682, 563, 82, 1768, 904, 135, 433, 2886, - 107, 1661, 1908, 1127, 503, 1653, 964, 1440, 1127, 345, 2156, 36, - 2449, 1748, 1146, 519, 26, 1409, 1706, 953, 1322, 349, 403, 2304, - 583, 167, 649, 2506, 151, 2790, 126, 205, 957, 2689, 307, 1444, - 1854, 483, 446, 786, 781, 1947, 808, 375, 53, 669, 2118, 558, - 612, 550, 410, 2821, 1105, 3149, 518, 796, 1589, 828, 287, 124, - 581, 1670, 366, 1582, 1137, 365, 1870, 977, 81, 1654, 1304, 386, - 56, 241, 2168, 1281, 1344, 53, 336, 486, 588, 710, 89, 758, - 1045, 1401, 879, 17, 1198, 67, 133, 2391, 1379, 144, 2394, 1173, - 1824, 67, 2232, 18, 1360, 130, 3076, 905, 2827, 1103, 977, 2196, - 1117, 1744, 2688, 298, 684, 586, 1325, 731, 1370, 1529, 268, 1329, - 13, 209, 523, 2359, 1558, 1436, 2159, 2646, 1320, 348, 854, 501, - 1014, 2656, 1580, 136, 795, 1925, 1080, 2782, 1699, 82, 247, 2060, - 246, 2585, 1206, 1522, 887, 1152, 1536, 529, 693, 2167, 28, 1569, - 535, 399, 1400, 552, 1166, 1420, 426, 1928, 1096, 898, 1430, 797, - 1964, 226, 236, 1336, 844, 1231, 254, 1525, 2988, 1266, 783, 30, - 1658, 2345, 939, 352, 482, 1622, 791, 1414, 113, 490, 584, 316, - 481, 637, 204, 92, 1267, 365, 89, 1839, 1533, 1888, 883, 376, - 771, 925, 383, 979, 2565, 557, 788, 881, 471, 510, 420, 805, - 265, 902, 355, 2432, 2005, 201, 491, 666, 895, 1006, 223, 1415, - 1178, 1750, 1602, 125, 301, 2142, 1879, 154, 482, 713, 1162, 522, - 2018, 1231, 1941, 649, 1279, 327, 879, 662, 664, 995, 497, 1153, - 2235, 2085, 242, 358, 112, 1694, 61, 2071, 657, 630, 1914, 511, - 432, 95, 2291, 2242, 771, 257, 69, 65, 385, 1649, 778, 847, - 15, 1333, 2184, 210, 1410, 2382, 2039, 3252, 717, 664, 71, 2707, - 232, 1921, 466, 3, 604, 1532, 110, 798, 578, 561, 2101, 1825, - 1005, 2222, 26, 1141, 1910, 653, 458, 931, 351, 515, 811, 423, - 1085, 306, 1396, 142, 768, 1344, 992, 1772, 343, 2667, 177, 583, - 145, 1021, 743, 1348, 2182, 1956, 350, 1194, 48, 648, 2413, 668, - 483, 2434, 1513, 453, 447, 1323, 861, 1994, 379, 2065, 500, 880, - 332, 181, 339, 626, 1242, 291, 52, 2409, 723, 183, 754, 1454, - 119, 2423, 1069, 399, 96, 1025, 959, 1767, 2784, 1147, 1726, 121, - 1902, 708, 768, 34, 1468, 1952, 1586, 470, 173, 835, 1779, 1419, - 90, 1334, 1090, 216, 126, 1, 2704, 1408, 180, 282, 2218, 169, - 1765, 1321, 950, 732, 653, 189, 635, 76, 1544, 2484, 1662, 749, - 983, 217, 305, 1112, 1967, 923, 1121, 1230, 3760, 847, 12, 929, - 1388, 330, 605, 80, 836, 933, 1579, 265, 3242, 696, 627, 1014, - 1250, 952, 463, 1149, 724, 269, 1102, 2161, 2377, 276, 590, 511, - 966, 865, 2625, 2149, 1405, 398, 1069, 579, 960, 3211, 184, 1295, - 413, 630, 1156, 1955, 2949, 1041, 1161, 1049, 76, 1957, 2734, 1438, - 332, 1882, 2718, 42, 196, 1260, 1578, 1182, 1428, 329, 1772, 1099, - 758, 170, 555, 778, 1003, 1191, 685, 479, 1812, 774, 596, 153, - 2277, 319, 1241, 1189, 1644, 918, 1740, 258, 932, 496, 460, 54, - 1976, 2281, 103, 1927, 608, 167, 1006, 1426, 2588, 996, 2461, 1099, - 986, 1699, 1228, 1297, 749, 1271, 1636, 709, 2066, 174, 1547, 462, - 538, 260, 735, 1168, 1723, 496, 83, 637, 1343, 2203, 3290, 1009, - 317, 913, 1804, 290, 1992, 1353, 263, 2095, 186, 1718, 1332, 498, - 117, 362, 280, 761, 471, 105, 284, 2254, 1221, 1258, 943, 1063, - 787, 546, 2852, 111, 1033, 964, 1819, 91, 535, 840, 1615, 1906, - 515, 234, 2033, 220, 277, 1744, 180, 1811, 841, 371, 1044, 972, - 1114, 827, 876, 3116, 740, 531, 718, 1269, 1617, 157, 941, 71, - 1659, 639, 287, 1867, 1378, 3424, 75, 1663, 1451, 480, 618, 375, - 2682, 803, 1399, 536, 1697, 86, 997, 1347, 2046, 606, 73, 57, - 522, 2691, 54, 2514, 333, 1773, 1371, 320, 1043, 3141, 32, 302, - 334, 1193, 1876, 576, 91, 1101, 955, 377, 426, 1175, 543, 445, - 825, 590, 98, 894, 679, 1471, 1653, 2627, 2007, 1393, 3364, 208, - 264, 342, 16, 837, 124, 728, 1641, 1892, 271, 1826, 1730, 976, - 1289, 368, 1572, 1358, 1812, 1576, 264, 1457, 1086, 1054, 509, 1991, - 427, 662, 1690, 612, 330, 2021, 1282, 2689, 1338, 176, 109, 2100, - 751, 37, 57, 858, 2145, 683, 360, 756, 1272, 2801, 105, 209, - 400, 220, 1165, 212, 2906, 2021, 1663, 1372, 670, 1860, 250, 1142, - 1091, 471, 1496, 388, 235, 433, 702, 1444, 141, 2059, 2007, 46, - 274, 546, 292, 946, 732, 603, 444, 1091, 454, 276, 483, 28, - 2449, 321, 11, 856, 19, 134, 962, 1991, 482, 1202, 2415, 1370, - 259, 615, 235, 1411, 1138, 1294, 872, 1542, 2292, 2218, 49, 2894, - 1937, 1093, 1072, 766, 138, 192, 1203, 502, 119, 112, 494, 3137, - 393, 2040, 171, 2002, 656, 160, 1345, 2077, 985, 1752, 160, 51, - 212, 1923, 322, 297, 407, 598, 1023, 554, 588, 229, 1678, 1197, - 2458, 2984, 308, 1019, 412, 1613, 2677, 830, 2906, 339, 475, 14, - 477, 256, 820, 641, 1675, 227, 690, 311, 488, 1013, 535, 1345, - 1057, 475, 561, 137, 1271, 409, 536, 1617, 541, 712, 402, 940, - 518, 206, 1082, 2446, 1140, 508, 854, 318, 677, 1634, 161, 1226, - 991, 382, 928, 1095, 201, 894, 1094, 685, 1764, 671, 285, 1608, - 942, 1924, 2626, 1842, 359, 2099, 187, 213, 23, 62, 1477, 1750, - 1514, 1702, 318, 1028, 1944, 678, 139, 1791, 428, 849, 82, 808, - 2423, 1742, 560, 1498, 772, 2324, 97, 580, 1891, 541, 1124, 480, - 341, 179, 527, 243, 2979, 128, 64, 3512, 1424, 100, 953, 1220, - 2055, 994, 2247, 2954, 493, 2025, 2347, 577, 354, 504, 478, 498, - 701, 683, 3560, 761, 793, 3173, 2041, 1643, 2325, 869, 651, 551, - 364, 74, 611, 682, 2349, 2344, 468, 806, 299, 1725, 1288, 124, - 21, 878, 890, 406, 185, 570, 2249, 773, 955, 35, 1262, 638, - 3536, 1510, 335, 1185, 952, 1525, 325, 256, 316, 18, 1739, 359, - 1619, 667, 228, 139, 671, 1025, 814, 2144, 725, 367, 1061, 1298, - 2297, 640, 741, 1399, 779, 3042, 408, 3041, 2200, 347, 1701, 1722, - 254, 210, 575, 129, 1149, 1960, 452, 1207, 117, 1099, 2026, 1486, - 639, 448, 1898, 1016, 2022, 450, 345, 479, 140, 69, 155, 954, - 1379, 2312, 340, 1352, 373, 215, 1822, 923, 47, 414, 609, 1540, - 319, 1569, 304, 428, 542, 829, 380, 163, 984, 1089, 447, 419, - 562, 1749, 3306, 171, 1559, 922, 319, 1049, 894, 927, 2368, 2907, - 2361, 242, 2942, 944, 1256, 690, 232, 730, 386, 1713, 78, 821, - 195, 1339, 500, 392, 87, 1741, 355, 237, 297, 825, 1712, 182, - 622, 1992, 1448, 893, 1347, 1104, 1326, 310, 524, 1355, 1625, 561, - 809, 437, 1730, 633, 467, 665, 156, 1034, 390, 2967, 226, 999, - 290, 862, 918, 1056, 1576, 1378, 1751, 59, 552, 1893, 309, 628, - 1308, 204, 1537, 1734, 1441, 1628, 1288, 276, 3047, 1587, 1181, 998, - 149, 1808, 1224, 545, 295, 120, 859, 539, 2065, 266, 45, 1473, - 741, 118, 988, 377, 375, 2806, 2404, 755, 203, 2381, 559, 179, - 3055, 898, 1511, 125, 1855, 66, 618, 1632, 304, 1413, 1591, 74, - 823, 385, 102, 890, 258, 248, 308, 921, 25, 2090, 1694, 267, - 642, 1850, 1195, 3193, 1442, 296, 1080, 1357, 521, 1311, 1123, 228, - 940, 2177, 34, 1255, 35, 88, 97, 1465, 2608, 2337, 333, 161, - 2673, 44, 268, 1126, 1090, 812, 668, 937, 696, 2545, 83, 686, - 365, 64, 84, 1114, 1997, 1629, 822, 1045, 213, 2153, 1586, 640, - 195, 230, 1369, 1633, 31, 1124, 1388, 1877, 206, 164, 2424, 1116, - 2300, 1634, 71, 2058, 934, 1249, 427, 110, 1804, 1255, 141, 1375, - 1198, 620, 1404, 540, 1882, 133, 681, 1595, 3403, 455, 2479, 1849, - 273, 737, 402, 1250, 2624, 1777, 596, 1758, 341, 3292, 1284, 784, - 582, 205, 1702, 411, 2140, 46, 219, 320, 852, 192, 505, 1595, - 373, 199, 194, 835, 1770, 24, 1112, 6, 147, 431, 1440, 1553, - 38, 194, 79, 1992, 1826, 155, 100, 838, 1544, 1938, 762, 1554, - 897, 533, 601, 1859, 2563, 162, 2693, 2171, 1053, 1477, 526, 611, - 52, 1217, 890, 61, 599, 1504, 139, 727, 3202, 571, 494, 1166, - 2520, 234, 442, 1503, 806, 1304, 1365, 104, 557, 499, 3122, 1235, - 77, 681, 458, 2188, 1085, 562, 565, 694, 15, 5, 1362, 2056, - 604, 567, 705, 198, 23, 1089, 856, 1117, 1341, 1851, 2210, 1101, - 651, 1652, 2191, 432, 341, 1356, 1530, 1833, 38, 1236, 235, 576, - 1239, 1163, 1060, 1016, 3612, 400, 308, 283, 1285, 1454, 552, 485, - 1969, 296, 418, 324, 648, 326, 839, 609, 891, 1037, 1354, 1958, - 221, 2983, 222, 1087, 2978, 434, 2397, 1921, 44, 270, 1260, 551, - 873, 396, 1230, 172, 2438, 1620, 1692, 1650, 792, 190, 1615, 1779, - 3433, 1959, 414, 1038, 1138, 42, 869, 2907, 1803, 623, 116, 755, - 368, 568, 2501, 1148, 1671, 206, 195, 7, 145, 773, 838, 1170, - 2193, 864, 1053, 804, 2456, 636, 912, 1392, 643, 1175, 1015, 660, - 1476, 1205, 598, 1027, 848, 935, 938, 626, 2272, 165, 1070, 382, - 323, 615, 981, 1171, 1402, 789, 920, 1350, 1801, 2367, 93, 1133, - 1, 1688, 2050, 2383, 2315, 1155, 439, 1081, 495, 1792, 136, 240, - 285, 1390, 1488, 64, 101, 272, 2695, 393, 2256, 1895, 1880, 1391, - 2468, 625, 1259, 1789, 678, 1928, 855, 765, 108, 2352, 763, 17, - 1717, 2169, 2070, 491, 1073, 1232, 219, 1362, 917, 274, 223, 2713, - 629, 1009, 907, 30, 76, 789, 889, 618, 1010, 801, 830, 221, - 214, 1326, 581, 492, 1708, 563, 203, 454, 79, 115, 1302, 2274, - 1195, 211, 2366, 706, 1202, 2562, 2613, 376, 1240, 1487, 134, 1488, - 1537, 980, 1556, 337, 230, 1371, 1461, 100, 815, 2667, 3154, 936, - 818, 1732, 911, 2207, 343, 43, 477, 807, 1870, 455, 586, 1120, - 289, 794, 1387, 1762, 2316, 152, 895, 1000, 985, 1391, 539, 1233, - 850, 754, 654, 207, 211, 1002, 547, 135, 771, 479, 610, 2331, - 720, 787, 834, 691, 612, 103, 512, 1194, 489, 1773, 2492, 1594, - 173, 2230, 86, 855, 961, 3105, 1060, 1172, 156, 356, 860, 10, - 424, 625, 629, 1147, 1312, 2341, 293, 1341, 579, 1472, 29, 431, - 3353, 2559, 1324, 1607, 295, 2209, 658, 3035, 1646, 431, 975, 1541, - 2511, 114, 120, 1222, 1476, 439, 29, 1243, 1212, 550, 3135, 2479, - 903, 47, 2240, 1342, 48, 1619, 1034, 1484, 528, 1485, 1072, 3280, - 1361, 116, 61, 1510, 1956, 55, 292, 1504, 252, 2749, 1296, 1951, - 587, 1642, 806, 1311, 132, 755, 163, 362, 1211, 186, 244, 95, - 603, 389, 1741, 782, 2471, 1387, 966, 1410, 3014, 762, 1144, 168, - 3608, 1743, 960, 211, 2050, 376, 750, 1187, 357, 1854, 80, 328, - 1537, 1229, 193, 1247, 1310, 2500, 406, 963, 1363, 815, 665, 229, - 1050, 25, 986, 37, 1323, 10, 1109, 2714, 861, 478, 810, 829, - 2486, 2027, 1068, 407, 40, 945, 1208, 2305, 1074, 631, 41, 1415, - 2802, 180, 157, 899, 450, 677, 989, 970, 346, 1904, 1704, 207, - 315, 317, 474, 20, 655, 468, 1266, 228, 932, 2522, 1121, 2491, - 247, 432, 2343, 927, 1805, 98, 689, 688, 1322, 1921, 2783, 51, - 2333, 2690, 1522, 190, 669, 1244, 294, 659, 322, 1939, 556, 904, - 2011, 286, 32, 356, 547, 1733, 1821, 279, 712, 647, 2392, 1231, - 436, 902, 517, 416, 1007, 409, 142, 646, 3285, 2037, 7, 1295, - 1158, 1549, 1823, 381, 673, 525, 832, 143, 1135, 683, 262, 1906, - 1737, 303, 2032, 698, 522, 1714, 735, 476, 1434, 1465, 318, 218, - 295, 1358, 91, 2477, 2674, 1172, 987, 769, 1853, 391, 173, 766, - 331, 740, 1993, 829, 1684, 1965, 1474, 271, 2460, 634, 646, 148, - 2012, 661, 152, 134, 104, 197, 149, 1412, 1040, 555, 703, 90, - 2270, 2126, 2111, 1036, 169, 3186, 584, 1004, 1048, 1014, 617, 645, - 891, 1632, 1412, 972, 47, 870, 337, 2405, 688, 22, 938, 1877, - 1577, 1261, 353, 1493, 1872, 636, 19, 1267, 931, 1019, 916, 1431, - 122, 1628, 8, 109, 504, 115, 2156, 1136, 1293, 695, 2807, 635, - 175, 1665, 404, 2779, 672, 214, 1428, 202, 191, 1597, 2133, 745, - 244, 750, 1594, 107, 719, 1071, 28, 738, 269, 603, 1703, 321, - 1632, 361, 253, 1980, 2581, 2014, 29, 352, 2530, 2518, 1168, 92, - 337, 1470, 1210, 3389, 610, 248, 1727, 1570, 998, 1277, 1911, 3283, - 695, 1517, 33, 920, 1558, 323, 1658, 429, 910, 168, 1874, 2048, - 517, 289, 578, 951, 2017, 1011, 688, 998, 250, 2130, 90, 1001, - 773, 975, 1044, 396, 208, 643, 1904, 1696, 93, 2105, 150, 809, - 3000, 27, 1584, 1971, 1431, 1359, 1490, 1883, 1376, 1156, 2107, 1009, - 2771, 3541, 2304, 1256, 62, 714, 368, 1720, 415, 1681, 608, 2937, - 182, 2200, 1246, 423, 2215, 1385, 1001, 1957, 469, 5, 130, 633, - 978, 200, 1, 394, 925, 4, 1977, 1376, 450, 1298, 908, 765, - 1402, 274, 1631, 306, 69, 299, 442, 701, 751, 1274, 387, 957, - 1640, 162, 582, 1810, 832, 875, 2670, 326, 230, 438, 966, 1455, - 324, 1296, 938, 285, 215, 884, 122, 334, 1479, 334, 657, 1320, - 1052, 3151, 1039, 621, 218, 1085, 918, 895, 1269, 1316, 335, 83, - 787, 756, 1337, 2447, 602, 45, 581, 832, 399, 736, 147, 13, - 1162, 1859, 2032, 1017, 11, 2664, 429, 101, 514, 196, 1875, 2267, - 372, 623, 549, 1278, 1583, 264, 217, 1301, 3158, 1734, 1965, 760, - 359, 2853, 1709, 1205, 463, 860, 1890, 60, 1816, 1196, 1363, 417, - 420, 370, 2653, 1184, 10, 501, 2598, 484, 1761, 999, 1604, 853, - 1695, 1141, 721, 185, 2030, 713, 617, 820, 1319, 965, 1526, 1973, - 1552, 783, 1292, 1671, 494, 33, 261, 469, 999, 156, 118, 2443, - 1186, 353, 188, 1674, 606, 757, 680, 165, 767, 347, 624, 1681, - 56, 1129, 594, 113, 336, 1549, 1654, 430, 797, 1193, 93, 333, - 193, 1395, 815, 1460, 1897, 566, 1013, 467, 379, 905, 598, 1805, - 1884, 1640, 1425, 267, 1700, 1447, 2325, 640, 242, 460, 930, 1516, - 2746, 350, 2396, 298, 3243, 592, 1132, 218, 473, 788, 2739, 1540, - 2672, 2159, 744, 340, 1964, 1301, 607, 387, 94, 137, 742, 686, - 302, 1523, 993, 162, 202, 620, 1171, 959, 896, 43, 2601, 257, - 1145, 777, 1089, 638, 1503, 2690, 344, 2217, 291, 2754, 715, 2012, - 888, 174, 575, 1082, 383, 449, 158, 871, 222, 1356, 1158, 2143, - 813, 360, 1285, 487, 346, 866, 253, 585, 833, 2221, 1207, 1326, - 2676, 497, 519, 1417, 2551, 1374, 971, 1684, 425, 725, 545, 186, - 371, 542, 1547, 143, 723, 14, 813, 1233, 67, 703, 570, 85, - 626, 1360, 851, 1961, 2693, 78, 1598, 164, 858, 677, 157, 322, - 3007, 1756, 1611, 433, 668, 1506, 1513, 2573, 413, 729, 855, 2376, - 262, 2774, 571, 1470, 1850, 128, 1291, 111, 1159, 3024, 1812, 1131, - 2728, 883, 859, 240, 1328, 1445, 897, 1163, 862, 1404, 767, 163, - 1553, 849, 1190, 485, 824, 595, 1386, 1210, 2406, 1786, 449, 476, - 2294, 920, 301, 1979, 470, 1668, 2261, 95, 1606, 243, 924, 1330, - 915, 364, 388, 1557, 248, 2, 706, 473, 826, 1132, 913, 633, - 260, 2132, 2483, 987, 652, 144, 342, 569, 801, 221, 54, 2245, - 1119, 804, 8, 1527, 1735, 634, 52, 703, 3487, 527, 3266, 505, - 2102, 602, 443, 3110, 1624, 1059, 1280, 1432, 1495, 1018, 1827, 2764, - 472, 2947, 1796, 378, 1737, 245, 1774, 519, 1200, 2208, 616, 650, - 1382, 529, 680, 245, 2122, 632, 332, 1546, 1674, 1321, 2934, 388, - 281, 1436, 344, 200, 1508, 2630, 730, 4, 1055, 362, 3165, 138, - 65, 1665, 24, 256, 187, 1155, 280, 970, 114, 559, 679, 1788, - 451, 444, 489, 946, 1179, 440, 138, 2686, 307, 108, 9, 58, - 111, 1409, 370, 313, 742, 605, 1101, 1637, 512, 728, 1609, 331, - 946, 1292, 1033, 1500, 238, 338, 1076, 59, 1140, 750, 1212, 1190, - 1588, 461, 57, 1157, 2943, 1452, 610, 2054, 1572, 246, 1978, 1862, - 1645, 1664, 850, 1164, 736, 49, 2882, 949, 1309, 34, 1408, 2676, - 272, 1942, 1037, 39, 420, 40, 4, 537, 1685, 94, 1007, 293, - 1366, 711, 614, 1656, 1658, 2594, 2064, 1988, 360, 1061, 848, 132, - 630, 2364, 726, 1769, 1438, 2867, 797, 261, 1907, 849, 1306, 2324, - 1371, 1028, 283, 345, 1494, 1659, 656, 56, 1120, 87, 3235, 277, - 233, 486, 790, 1600, 215, 722, 1199, 769, 1016, 1437, 1100, 2822, - 293, 573, 2616, 456, 294, 692, 184, 2663, 409, 666, 136, 1939, - 1169, 2075, 50, 251, 1223, 149, 717, 3020, 441, 1759, 131, 326, - 958, 2250, 436, 644, 1218, 745, 1164, 661, 1254, 1106, 1183, 534, - 484, 354, 585, 3656, 733, 933, 580, 448, 2778, 1514, 1952, 229, - 369, 765, 516, 126, 1130, 991, 1325, 1339, 118, 973, 2839, 1357, - 2819, 279, 1786, 2727, 1386, 1580, 1636, 1095, 480, 237, 669, 574, - 225, 652, 1548, 1980, 617, 1150, 472, 985, 1960, 935, 106, 255, - 1710, 1926, 1279, 1124, 702, 1121, 1722, 2159, 3284, 1753, 1268, 499, - 631, 380, 760, 284, 1383, 2957, 1996, 23, 1195, 2128, 3, 464, - 2804, 2466, 1544, 425, 97, 3220, 278, 508, 1780, 35, 16, 1310, - 719, 1189, 2794, 1418, 2946, 1174, 857, 2372, 2174, 371, 243, 1699, - 641, 1263, 1062, 2789, 410, 189, 664, 589, 675, 1403, 2039, 854, - 63, 1238, 357, 716, 1351, 2624, 3076, 1616, 177, 1234, 542, 129, - 1868, 397, 486, 298, 647, 1403, 2586, 699, 238, 224, 1866, 1117, - 836, 1088, 2173, 1514, 415, 3189, 389, 1073, 1467, 2101, 1319, 1253, - 531, 499, 2136, 108, 973, 1768, 722, 1303, 694, 146, 2214, 273, - 1867, 1066, 524, 484, 2423, 1696, 41, 958, 115, 12, 1693, 1940, - 36, 712, 661, 808, 1131, 446, 470, 549, 285, 244, 257, 749, - 279, 452, 634, 1265, 424, 425, 327, 50, 446, 426, 727, 414, - 138, 825, 183, 348, 1252, 1385, 1197, 758, 173, 1459, 203, 647, - 1075, 939, 434, 291, 415, 410, 1939, 1134, 176, 816, 482, 591, - 514, 982, 685, 991, 476, 1063, 910, 75, 367, 364, 997, 404, - 363, 781, 947, 121, 445, 465, 666, 766, 270, 887, 1430, 5, - 752, 1173, 238, 579, 448, 399, 679, 613, 990, 177, 33, 480, - 239, 175, 736, 353, 1154, 184, 674, 521, 674, 697, 434, 475, - 1664, 458, 673, 150, 1106, 669, 454, 771, 107, 915, 939, 181, - 181, 665, 894, 924, 602, 386, 1048, 487, 440, 157, 415, 327, - 634, 1522, 891, 512, 1059, 534, 705, 101, 466, 312, 393, 1040, - 847, 482, 471, 166, 1277, 1225, 626, 441, 591, 843, 195, 640, - 271, 1062, 851, 629, 769, 559, 148, 317, 515, 220, 1182, 411, - 282, 319, 130, 843, 566, 535, 235, 1053, 332, 448, 584, 681, - 359, 1381, 223, 407, 671, 385, 467, 1578, 204, 432, 896, 453, - 644, 537, 680, 749, 316, 607, 698, 375, 369, 423, 1104, 235, - 205, 950, 355, 81, 1023, 568, 674, 810, 749, 609, 336, 325, - 1354, 504, 800, 803, 829, 309, 1262, 610, 962, 507, 877, 59, - 918, 959, 281, 627, 372, 1590, 574, 949, 1382, 472, 389, 318, - 1090, 668, 318, 631, 528, 555, 1000, 467, 718, 757, 167, 1358, - 313, 420, 851, 296, 887, 255, 599, 306, 233, 274, 556, 224, - 189, 326, 572, 973, 1230, 286, 31, 486, 223, 976, 1591, 796, - 649, 660, 576, 254, 613, 118, 516, 846, 252, 352, 1430, 447, - 217, 1133, 771, 586, 903, 460, 778, 199, 127, 572, 103, 361, - 516, 982, 268, 548, 970, 354, 429, 662, 720, 498, 576, 711, - 1497, 494, 279, 315, 585, 700, 691, 340, 176, 324, 170, 814, - 497, 206, 270, 251, 382, 780, 473, 953, 321, 79, 182, 163, - 1017, 546, 1456, 511, 962, 645, 592, 203, 493, 804, 251, 1215, - 358, 614, 917, 593, 91, 809, 1026, 1255, 333, 1101, 285, 445, - 338, 836, 685, 717, 38, 970, 983, 174, 769, 392, 567, 871, - 419, 50, 418, 511, 553, 164, 970, 428, 296, 1109, 99, 905, - 469, 362, 561, 274, 600, 137, 930, 16, 202, 292, 270, 565, - 784, 405, 1124, 657, 173, 395, 1302, 193, 212, 108, 808, 469, - 212, 364, 546, 492, 476, 1450, 956, 577, 597, 136, 558, 1004, - 1039, 843, 904, 644, 1201, 682, 343, 154, 215, 790, 179, 287, - 595, 632, 193, 1150, 1626, 766, 660, 561, 401, 1340, 57, 204, - 139, 830, 97, 1138, 1023, 262, 497, 19, 1019, 565, 1052, 146, - 348, 357, 154, 598, 523, 14, 967, 155, 825, 275, 803, 1300, - 648, 197, 591, 313, 346, 327, 111, 427, 737, 917, 374, 651, - 555, 109, 89, 456, 800, 250, 96, 1259, 1095, 72, 469, 1370, - 60, 968, 968, 902, 2000, 520, 435, 1230, 142, 428, 169, 1415, - 810, 172, 577, 132, 588, 477, 434, 106, 1010, 1071, 158, 275, - 1071, 2864, 1447, 2244, 908, 2241, 2058, 2142, 2519, 1324, 454, 2875, - 3276, 2523, 3315, 1510, 2494, 1687, 3091, 2083, 1963, 1915, 845, 986, - 794, 1198, 2071, 2758, 1049, 1789, 1813, 1551, 2335, 1791, 2492, 2921, - 845, 1787, 2371, 1275, 1755, 3704, 2543, 1858, 3478, 3473, 3265, 667, - 2053, 2083, 3239, 1170, 2251, 1228, 2704, 2880, 1255, 1978, 2903, 1641, - 1677, 3137, 1464, 2160, 1047, 761, 1038, 2933, 2132, 732, 734, 2670, - 2385, 2365, 3657, 2534, 2540, 3484, 2555, 1610, 2960, 1226, 1024, 1204, - 2685, 3136, 1866, 1125, 1026, 1966, 405, 1173, 2524, 397, 2229, 586, - 2772, 1216, 1384, 762, 2428, 1175, 786, 2717, 443, 2208, 3236, 1237, - 715, 1299, 1192, 2871, 1079, 923, 2257, 1840, 183, 3466, 2894, 490, - 2076, 779, 1478, 1852, 798, 1343, 1554, 300, 2747, 3105, 960, 2989, - 1784, 2927, 1923, 2532, 1011, 2307, 3485, 1957, 453, 1995, 537, 3691, - 1898, 2716, 3176, 1246, 1571, 2462, 550, 735, 3520, 2700, 2032, 3133, - 2236, 2986, 2536, 2412, 885, 3068, 3344, 2126, 1915, 2187, 2598, 2713, - 2004, 1638, 1185, 2768, 1588, 1663, 1151, 1541, 2824, 474, 1896, 2456, - 1633, 3168, 1776, 1563, 1254, 1783, 2219, 1221, 1601, 260, 888, 813, - 1999, 1803, 2490, 3425, 3618, 1354, 540, 3095, 1108, 1660, 1735, 2778, - 2771, 2197, 2334, 3353, 659, 2495, 255, 1913, 3521, 357, 2790, 1848, - 1657, 1427, 705, 1917, 868, 2902, 3299, 2622, 1954, 2647, 2042, 2208, - 1776, 1888, 833, 954, 2227, 2997, 573, 1592, 2196, 3301, 3577, 2114, - 2389, 602, 2585, 2737, 2072, 3719, 3811, 3002, 2116, 3094, 1926, 1238, - 3582, 2612, 1932, 1505, 719, 843, 1706, 2131, 1744, 2794, 1747, 1086, - 1720, 1201, 1079, 2164, 2457, 1890, 1727, 1786, 2377, 1296, 3074, 1234, - 2611, 3434, 2540, 1364, 1130, 1412, 3231, 1316, 3182, 2776, 2695, 3226, - 1991, 1936, 3180, 1007, 2375, 2088, 1884, 1909, 2121, 2731, 3492, 2802, - 2558, 3941, 2096, 2130, 746, 2472, 2194, 937, 1498, 1483, 1743, 2180, - 2994, 2822, 2308, 2431, 1752, 1851, 2086, 1980, 1995, 3269, 3570, 2890, - 2963, 2861, 378, 3273, 3399, 1323, 3619, 1517, 3128, 2047, 323, 3098, - 2451, 2635, 2752, 2874, 1054, 2166, 520, 1986, 1311, 1235, 1499, 1177, - 2213, 1652, 2184, 2974, 1869, 2247, 2345, 1718, 1495, 214, 1330, 1523, - 968, 2528, 2646, 2694, 2726, 2351, 881, 2876, 1458, 2921, 395, 1645, - 2276, 2111, 2303, 3140, 1580, 3555, 2084, 2663, 2240, 3568, 1192, 1558, - 1982, 754, 412, 3280, 899, 1643, 1038, 533, 1778, 422, 892, 1673, - 2650, 3092, 2340, 3698, 1109, 2785, 1213, 2134, 1250, 1637, 1679, 3508, - 860, 1145, 1993, 2958, 3888, 2804, 2316, 700, 2477, 1151, 3631, 392, - 3233, 342, 2087, 2883, 2359, 3226, 366, 786, 2069, 2402, 2147, 1264, - 2807, 2964, 2330, 3574, 1206, 1158, 3657, 3160, 2972, 1309, 3150, 1868, - 3202, 1264, 2866, 2317, 2797, 1462, 1332, 3318, 2261, 731, 2346, 462, - 1040, 3410, 2660, 2224, 1167, 2360, 2362, 1186, 2731, 3026, 1597, 3907, - 1267, 2865, 1329, 1545, 501, 1661, 1295, 3379, 549, 828, 1788, 1936, - 1900, 1984, 2243, 1865, 939, 1035, 2526, 1303, 2651, 1220, 2644, 1251, - 1683, 2538, 1236, 700, 3332, 2917, 1138, 1008, 421, 2554, 2513, 2422, - 1179, 1696, 2685, 2979, 621, 1374, 2079, 1703, 3148, 2036, 3181, 1174, - 2870, 3126, 2202, 2568, 3477, 3087, 978, 457, 1119, 1058, 2275, 3698, - 3489, 2179, 2760, 2097, 3487, 2766, 1606, 1493, 1824, 1435, 2254, 2415, - 2037, 941, 1518, 1115, 3550, 403, 2556, 3483, 2875, 2633, 1283, 1253, - 2044, 2868, 2610, 1902, 401, 1557, 1576, 3034, 1492, 571, 2040, 1213, - 2320, 3886, 1670, 3418, 2552, 2812, 3569, 331, 1647, 1791, 1316, 3071, - 1828, 2156, 2734, 438, 3494, 1975, 1714, 2705, 2493, 2482, 1297, 2316, - 3499, 251, 441, 2190, 1954, 2982, 2387, 1308, 1307, 2351, 600, 3347, - 1776, 2799, 1315, 713, 2605, 3171, 889, 528, 3976, 2986, 1901, 1787, - 430, 2607, 2454, 1196, 1452, 3086, 1730, 556, 3689, 3467, 899, 2008, - 3006, 3323, 3252, 1989, 1795, 3723, 2432, 404, 2974, 1691, 198, 616, - 2640, 1869, 2274, 751, 2076, 1507, 521, 3516, 1148, 3248, 1229, 3039, - 1950, 3424, 1662, 1370, 2285, 2315, 506, 2351, 2588, 2226, 2139, 1349, - 2724, 1211, 1593, 981, 3414, 3225, 3644, 831, 3770, 1541, 2101, 1236, - 1865, 2004, 3046, 2321, 1858, 1745, 2110, 2480, 817, 2339, 2869, 2877, - 1799, 810, 2252, 3553, 3896, 2899, 320, 1888, 3266, 2795, 942, 2972, - 2664, 2147, 1948, 1145, 826, 2118, 2378, 1564, 1774, 2434, 1273, 3493, - 2438, 3066, 3391, 2310, 1378, 3573, 1717, 3070, 3318, 3701, 2868, 2630, - 3290, 3006, 2899, 2009, 476, 1698, 1697, 1952, 838, 2755, 2029, 2738, - 1084, 759, 995, 3477, 2517, 3373, 2921, 1999, 3575, 3568, 1356, 2266, - 1811, 1999, 2422, 247, 2723, 2163, 2402, 1465, 216, 1547, 1829, 2342, - 3795, 1313, 1391, 3110, 1429, 1040, 1641, 3655, 1984, 2809, 488, 340, - 2068, 3804, 558, 2474, 2584, 2226, 2273, 2411, 2552, 3442, 982, 2911, - 1421, 1383, 2187, 1538, 2943, 2430, 1506, 3321, 1947, 3365, 2295, 1935, - 2902, 2093, 2143, 1127, 874, 2606, 1920, 1985, 1831, 1307, 2491, 1601, - 2357, 2236, 3837, 3036, 795, 2120, 2625, 2129, 2478, 947, 1501, 2104, - 2488, 1217, 3035, 2918, 1586, 1753, 917, 1711, 1707, 2395, 2250, 2509, - 1482, 446, 3049, 1500, 3046, 2646, 3771, 653, 2381, 733, 3873, 2255, - 3074, 2092, 2457, 2679, 1922, 3191, 2914, 1081, 1596, 2697, 1367, 2533, - 3617, 2098, 2765, 1968, 2204, 1475, 1272, 3756, 1825, 2390, 3474, 3251, - 2977, 496, 1950, 1648, 2462, 2726, 2395, 2944, 3559, 2178, 3342, 3688, - 2505, 2354, 1827, 3676, 1794, 2811, 3349, 3249, 2147, 3059, 2852, 1422, - 1136, 3776, 875, 1584, 1594, 2195, 2124, 1214, 2543, 2586, 1028, 2874, - 1472, 2733, 2317, 3444, 2940, 1084, 1652, 1929, 2691, 1265, 2346, 2864, - 3128, 2999, 2013, 572, 3711, 2455, 3213, 2146, 737, 2496, 1565, 1784, - 3008, 2743, 1181, 956, 2009, 2859, 1291, 1259, 2512, 652, 1746, 2119, - 1932, 2035, 3637, 1427, 1719, 1438, 1836, 2426, 2742, 2102, 1926, 2931, - 931, 1502, 776, 1083, 351, 2509, 889, 3007, 2441, 803, 2002, 1065, - 1715, 2107, 485, 3037, 1407, 1967, 2060, 406, 1913, 2805, 1982, 1010, - 738, 919, 2802, 3011, 2082, 1306, 2554, 871, 1426, 615, 1222, 3390, - 907, 3229, 1092, 2418, 2795, 2659, 1125, 2617, 164, 2687, 1355, 3879, - 3535, 1394, 2618, 2014, 1144, 99, 3542, 3889, 2695, 2561, 2091, 2168, - 1907, 2356, 928, 1875, 1827, 3638, 2388, 259, 2056, 3486, 2817, 3624, - 1629, 704, 1093, 2777, 422, 3041, 1853, 1765, 785, 3142, 1809, 2722, - 1649, 1687, 2550, 3200, 1908, 3129, 1581, 1988, 2929, 1492, 914, 1614, - 700, 948, 1082, 2353, 2165, 2443, 2941, 1693, 3562, 1997, 1155, 2597, - 2162, 3443, 2223, 1543, 1912, 1933, 791, 1390, 3325, 2462, 2505, 2095, - 558, 907, 3298, 2049, 591, 2729, 3325, 2571, 2788, 2273, 3244, 2453, - 1395, 3278, 2112, 3091, 3176, 785, 488, 3666, 1592, 2715, 419, 3534, - 2385, 1317, 926, 3370, 296, 2673, 2925, 1383, 453, 2787, 1219, 3957, - 3308, 1385, 2104, 757, 2467, 3182, 2133, 1738, 2259, 3183, 2746, 1930, - 2497, 1913, 3106, 2036, 2165, 3446, 3136, 1581, 339, 1294, 2912, 2595, - 1458, 1222, 3327, 1314, 2182, 3607, 1024, 770, 1072, 2616, 2363, 3471, - 2765, 2669, 3240, 1645, 1887, 2803, 1822, 2269, 2372, 1421, 1625, 2480, - 3774, 1961, 3629, 2604, 1839, 3497, 2570, 148, 3558, 1573, 3702, 994, - 3368, 1453, 1694, 1064, 1434, 2120, 845, 3273, 2740, 1002, 2895, 2201, - 2614, 576, 3144, 1164, 1529, 1273, 3201, 3877, 2172, 3593, 1785, 2913, - 983, 3600, 188, 2077, 748, 2717, 2887, 2154, 3354, 1676, 2050, 2367, - 3227, 2371, 3565, 2786, 3203, 3860, 3023, 2175, 2471, 1664, 1885, 1367, - 2269, 3245, 2805, 2383, 2082, 1977, 1385, 1063, 3439, 1998, 2142, 1023, - 2596, 1483, 1638, 3049, 2796, 1042, 2031, 3398, 1797, 2445, 2205, 457, - 1508, 1868, 2857, 1259, 2531, 3390, 2970, 2882, 1948, 1340, 2775, 3418, - 2761, 1497, 2831, 2937, 1686, 2312, 1990, 1900, 2941, 3525, 2929, 1276, - 2074, 958, 2922, 1555, 1111, 1928, 2820, 1627, 2297, 2234, 3001, 2785, - 2029, 3124, 3345, 3554, 1464, 1884, 3503, 1215, 3265, 3658, 1075, 2458, - 537, 1750, 2637, 2169, 2213, 1151, 3355, 863, 3728, 1447, 716, 2381, - 1455, 1912, 3069, 1152, 1496, 1688, 3232, 1716, 1484, 2127, 2148, 1052, - 2480, 1225, 1625, 3372, 1847, 3257, 2240, 1083, 881, 3674, 1901, 2264, - 887, 1516, 3287, 1191, 3693, 1245, 2763, 3303, 2080, 1664, 1052, 1799, - 2390, 993, 1423, 1056, 2074, 1910, 2798, 2047, 2162, 3479, 1224, 2967, - 2231, 3159, 1216, 1309, 3055, 2533, 3798, 1144, 2212, 578, 2274, 2733, - 2410, 720, 774, 1208, 1362, 3356, 589, 3408, 1474, 3082, 1374, 1845, - 3727, 3193, 1042, 3189, 1276, 2546, 2649, 1047, 1797, 2317, 2487, 383, - 2600, 1353, 1650, 1533, 1536, 3190, 1386, 1401, 1946, 2276, 3246, 2661, - 2748, 2750, 3472, 1003, 2447, 2319, 88, 1802, 1977, 2215, 2780, 2917, - 2414, 1848, 2638, 1681, 2542, 909, 1979, 2826, 2085, 2250, 1215, 2977, - 1333, 3265, 1809, 3133, 1419, 1432, 2408, 2576, 3231, 2027, 3796, 3078, - 1844, 1852, 310, 3144, 1272, 2796, 2413, 1557, 2652, 2798, 1252, 3006, - 2233, 3001, 1077, 329, 736, 1748, 2657, 481, 3096, 2739, 2500, 1434, - 1972, 1953, 513, 1790, 1600, 2853, 2930, 1759, 963, 2544, 1241, 1521, - 2219, 2073, 3240, 1252, 1507, 989, 351, 1375, 738, 1487, 2268, 2817, - 2983, 498, 826, 2382, 2892, 2001, 646, 1669, 2206, 2744, 1511, 2065, - 839, 1539, 3185, 2298, 2008, 1861, 317, 1905, 2701, 2086, 951, 2984, - 3383, 3753, 2785, 3243, 2291, 1194, 2164, 951, 1241, 314, 2606, 3127, - 1832, 1256, 1377, 3947, 1910, 3340, 1120, 2762, 4053, 1659, 2042, 3269, - 1293, 2524, 2016, 121, 1758, 1941, 1006, 3464, 2038, 1520, 1466, 804, - 1367, 2051, 2116, 1305, 3504, 3223, 1289, 2043, 1077, 2393, 2702, 1797, - 3498, 619, 2475, 4050, 3549, 1840, 1137, 748, 2408, 2775, 1057, 935, - 1903, 1209, 1230, 1781, 1280, 1102, 696, 1142, 2602, 743, 807, 3082, - 2020, 2231, 1519, 2724, 930, 292, 2671, 3417, 1179, 1274, 1350, 2890, - 1105, 1814, 1046, 3117, 1491, 1978, 3044, 2019, 1666, 1530, 2928, 1182, - 2085, 1343, 1800, 2113, 1476, 3276, 3062, 2259, 1461, 3717, 764, 877, - 1844, 3709, 3362, 2772, 3728, 1841, 487, 2364, 2447, 1018, 1667, 2173, - 2428, 2318, 1529, 821, 2425, 3403, 695, 2486, 1430, 3842, 2895, 3329, - 2313, 926, 2363, 2205, 374, 1864, 1911, 846, 3148, 2135, 1757, 3794, - 3664, 993, 2181, 1607, 3368, 1065, 3288, 3525, 2195, 3438, 3255, 3652, - 3010, 1055, 3425, 1954, 988, 1233, 3632, 1640, 1881, 3214, 2248, 2885, - 2332, 1220, 2650, 678, 1628, 1968, 1942, 1239, 3012, 2799, 961, 3224, - 567, 2199, 1585, 170, 288, 2964, 1905, 908, 911, 1893, 2592, 2027, - 1347, 2863, 1450, 1111, 3640, 1841, 2751, 1515, 2884, 3549, 3123, 538, - 369, 1073, 2299, 932, 3435, 2280, 690, 570, 2029, 1489, 2892, 3204, - 2468, 1176, 3676, 2712, 2337, 747, 897, 2292, 1429, 3519, 1051, 3416, - 2703, 2444, 3164, 1918, 1651, 2008, 1596, 2538, 2362, 2031, 3107, 2246, - 268, 2870, 2725, 1825, 3585, 2728, 1966, 1106, 2096, 2541, 534, 1462, - 1417, 2160, 2692, 1257, 1498, 3580, 620, 1763, 1125, 739, 3157, 2753, - 1621, 1771, 2658, 1748, 1718, 3283, 675, 530, 1286, 974, 1180, 1290, - 1924, 1108, 1335, 434, 1094, 2990, 3650, 3272, 3031, 3037, 2469, 1873, - 1775, 1491, 2931, 3592, 2514, 373, 3045, 2167, 1981, 3195, 239, 2161, - 3121, 2517, 1142, 971, 1675, 1850, 1917, 1676, 328, 1818, 1132, 2137, - 1550, 1032, 1944, 377, 1719, 2730, 2699, 1424, 3141, 1150, 2584, 799, - 1380, 2850, 2148, 1453, 1004, 710, 3312, 784, 3249, 3118, 914, 1281, - 1626, 3460, 1199, 1398, 1552, 1924, 2758, 1093, 2048, 2368, 2268, 401, - 1918, 3668, 1310, 1501, 2186, 2241, 2987, 3678, 1760, 2049, 1531, 2006, - 3394, 3437, 1953, 2545, 1035, 1855, 1277, 1817, 1883, 2469, 1906, 2264, - 3002, 417, 1648, 2398, 1107, 1683, 3103, 1561, 2840, 2911, 3113, 2244, - 1246, 3526, 1647, 1916, 3218, 2487, 1739, 2660, 2258, 275, 844, 3604, - 1946, 3432, 2336, 2288, 1445, 1707, 629, 3176, 1706, 619, 2861, 2649, - 1931, 3859, 1935, 1361, 1287, 1933, 2259, 3690, 3929, 1838, 2191, 2849, - 840, 2119, 3056, 1413, 2720, 2643, 2421, 2358, 510, 2215, 1102, 2349, - 2801, 2776, 1361, 793, 3498, 2195, 350, 2046, 2437, 1609, 782, 3244, - 1859, 2626, 1105, 2529, 2401, 1732, 197, 2308, 2287, 1927, 886, 2746, - 281, 2890, 2279, 2924, 1118, 1673, 3917, 2424, 210, 1530, 3219, 3279, - 644, 3567, 2455, 3228, 2762, 2661, 893, 3515, 1104, 3055, 3388, 2571, - 1857, 2653, 153, 1573, 2068, 1630, 2725, 792, 3304, 1810, 1762, 1760, - 3468, 944, 3404, 2712, 921, 1133, 2296, 1806, 2845, 2349, 1286, 1819, - 943, 3706, 1635, 1922, 975, 438, 2904, 1200, 3268, 127, 687, 2034, - 1091, 1443, 1876, 1874, 1902, 1566, 1187, 1592, 1795, 1031, 1751, 301, - 600, 1772, 2109, 2781, 1446, 1283, 1738, 2369, 1971, 2783, 3270, 1036, - 2540, 2923, 775, 2464, 1437, 2081, 1574, 2459, 3033, 564, 3856, 2628, - 2096, 1725, 1930, 1225, 942, 2028, 2025, 2699, 1017, 2504, 2038, 1128, - 3870, 2857, 3143, 1406, 3497, 1555, 2503, 1665, 1511, 2738, 3188, 1243, - 802, 2965, 3751, 1931, 2507, 1612, 1449, 2412, 2509, 650, 1990, 3331, - 266, 1735, 2206, 2416, 963, 1406, 2203, 792, 1872, 2288, 1324, 1852, - 1409, 2838, 2582, 2900, 1651, 2336, 3491, 867, 2737, 2127, 1775, 2415, - 150, 2092, 1157, 1022, 1533, 2907, 1513, 3323, 3850, 880, 822, 2781, - 1562, 2261, 1411, 1237, 2157, 588, 2356, 3672, 3448, 593, 1782, 758, - 1058, 2490, 2181, 3715, 261, 3695, 474, 2590, 4012, 1631, 2519, 2018, - 584, 4028, 1808, 839, 1417, 1030, 3304, 1168, 3679, 3021, 2956, 2511, - 2795, 1489, 2368, 2125, 4017, 2570, 1997, 2526, 1369, 423, 1539, 3150, - 3587, 1304, 916, 2000, 1185, 1531, 3648, 1885, 2822, 2391, 823, 2033, - 1209, 817, 1883, 3345, 2330, 2442, 1679, 834, 3092, 872, 2072, 2934, - 3873, 1475, 1777, 2109, 1972, 3918, 1420, 1092, 929, 1427, 2409, 1400, - 2631, 1257, 1820, 2639, 1003, 824, 1585, 2730, 2310, 1011, 1751, 2393, - 3970, 2430, 1213, 2054, 2086, 2901, 3830, 2870, 2735, 1860, 489, 2188, - 2491, 1856, 965, 325, 857, 2321, 1535, 178, 154, 1266, 3326, 639, - 2717, 2400, 2628, 2751, 2938, 1540, 2245, 2115, 3254, 2045, 1087, 1441, - 1317, 3528, 1969, 3443, 1759, 3301, 3606, 724, 1143, 3113, 525, 1742, - 1129, 3132, 3601, 2968, 1043, 3323, 1559, 557, 1029, 1070, 2583, 885, - 3246, 3081, 2932, 1444, 822, 2420, 868, 2615, 1761, 2589, 757, 3495, - 2747, 3108, 2005, 2567, 2341, 445, 2841, 972, 2075, 3552, 3556, 1478, - 3515, 2776, 520, 2076, 2507, 2444, 1747, 2521, 3912, 2193, 2662, 3380, - 1634, 2875, 3208, 1413, 2811, 3228, 1590, 2214, 440, 3079, 543, 1568, - 2253, 3013, 1989, 2290, 1987, 903, 2678, 2454, 2777, 177, 2878, 1094, - 1291, 1911, 2680, 2360, 3042, 1032, 1471, 2176, 3596, 1833, 3588, 1126, - 1604, 1248, 1729, 2729, 3764, 1855, 2204, 1377, 3028, 1816, 1457, 2328, - 3395, 3895, 3313, 1745, 2028, 2373, 3821, 2021, 2677, 4055, 1793, 1494, - 199, 2948, 1283, 2516, 444, 3160, 1005, 1219, 3796, 2375, 726, 1754, - 2420, 3429, 2041, 3825, 3429, 3522, 1564, 2103, 777, 2849, 1591, 3050, - 2164, 2105, 1695, 2945, 2603, 1589, 3213, 1864, 2151, 2332, 976, 2668, - 2373, 1873, 3859, 3330, 1064, 2558, 2513, 2831, 1538, 2529, 2271, 2609, - 600, 2568, 2361, 3291, 1679, 2089, 1441, 3437, 2727, 346, 644, 2548, - 469, 3026, 2612, 3359, 3196, 2463, 885, 2887, 390, 1305, 380, 1550, - 1247, 3971, 1299, 680, 1723, 560, 2771, 2028, 2474, 2965, 1235, 2201, - 3763, 2389, 1618, 2355, 3969, 2088, 2246, 3665, 2986, 1047, 1869, 1346, - 384, 1987, 3145, 3044, 1886, 2723, 1773, 2404, 2202, 3153, 1676, 1481, - 1486, 1677, 943, 930, 1914, 1484, 1373, 979, 1951, 548, 3043, 3646, - 937, 2342, 1106, 1086, 2793, 3298, 2498, 2434, 566, 1970, 2464, 2388, - 1729, 3526, 2093, 3005, 3486, 1398, 1876, 3427, 1325, 1404, 1139, 1691, - 1070, 2571, 1943, 725, 1015, 1157, 1777, 2332, 1794, 1616, 2015, 936, - 2207, 2721, 1615, 2577, 2812, 1854, 3016, 1974, 2629, 544, 774, 863, - 1963, 2937, 3366, 769, 3545, 3282, 3653, 2175, 1245, 1524, 1355, 2919, - 2087, 2283, 1188, 2223, 2660, 1815, 1878, 2647, 2152, 2757, 1933, 820, - 1315, 1680, 3138, 1716, 2490, 2634, 2827, 2520, 1193, 582, 3205, 1701, - 3492, 3068, 1165, 3846, 2025, 2314, 1934, 2740, 2262, 2427, 994, 2607, - 2642, 709, 961, 2929, 2988, 837, 3720, 1318, 1842, 2211, 1612, 1767, - 2136, 2256, 2255, 2793, 671, 2394, 718, 2728, 3943, 1331, 1394, 1815, - 2442, 3655, 2167, 1348, 689, 863, 2599, 1206, 2211, 2714, 2325, 1152, - 2672, 1534, 3063, 1046, 2673, 1770, 2338, 1244, 594, 1637, 531, 3805, - 1340, 1595, 1472, 694, 2671, 2234, 2425, 2574, 901, 3469, 900, 1143, - 3257, 3631, 1345, 1214, 1424, 2063, 3209, 1209, 1122, 1113, 1263, 2450, - 1118, 879, 2356, 2949, 3665, 2228, 1377, 1705, 2440, 3163, 727, 2097, - 1211, 2897, 1240, 1943, 816, 2973, 1837, 989, 1067, 848, 3061, 2648, - 2163, 864, 3031, 2251, 2575, 2237, 2384, 3187, 747, 886, 1562, 1342, - 837, 1871, 2419, 1400, 1937, 2339, 3605, 3023, 2720, 3126, 348, 2314, - 1878, 2263, 3146, 2564, 3135, 1421, 1292, 2075, 2708, 3530, 2248, 587, - 3054, 3100, 2517, 2245, 730, 2115, 3782, 3491, 2303, 1667, 1741, 1817, - 3441, 2390, 3095, 3286, 1519, 1598, 288, 1051, 3364, 546, 2093, 1358, - 1449, 3758, 1923, 2399, 2268, 330, 1697, 1348, 2876, 1227, 1218, 1740, - 1208, 2444, 717, 2836, 2834, 1456, 1336, 3375, 2055, 749, 3342, 3034, - 818, 3234, 1995, 2118, 3338, 46, 2812, 2439, 2702, 2398, 2082, 2303, - 3344, 3855, 3292, 2774, 3511, 3691, 2439, 2594, 777, 2455, 1914, 2853, - 2932, 3517, 1600, 3888, 1829, 2617, 1830, 1351, 3411, 1835, 2255, 2401, - 1682, 151, 349, 1375, 2502, 1019, 493, 903, 3131, 1020, 3802, 2384, - 544, 1849, 2671, 1760, 1802, 2472, 1779, 459, 631, 391, 676, 921, - 1002, 2358, 699, 3567, 1864, 3207, 778, 2155, 1454, 2644, 3269, 812, - 361, 1335, 1167, 2664, 3329, 1959, 2285, 1382, 780, 1457, 748, 1934, - 2001, 1518, 1626, 1396, 1366, 3201, 2862, 847, 500, 1226, 1196, 1520, - 2844, 2723, 527, 2897, 2991, 1388, 1389, 2485, 954, 3022, 2304, 2559, - 1418, 880, 456, 553, 3651, 3644, 2507, 2825, 1141, 2879, 1039, 2235, - 1204, 2946, 1961, 2436, 554, 996, 2461, 1485, 2335, 290, 859, 1752, - 3167, 2080, 3603, 1623, 2207, 2909, 1794, 3580, 1154, 1823, 2820, 1469, - 3406, 1570, 2440, 2489, 1050, 3901, 3877, 1192, 516, 601, 3043, 928, - 3127, 2135, 1719, 1879, 2585, 1546, 1433, 2123, 2369, 1655, 965, 2830, - 1639, 2893, 2992, 2099, 1793, 1322, 1918, 1871, 691, 3061, 2581, 915, - 1826, 1709, 1273, 2880, 1467, 851, 752, 3423, 658, 1379, 1122, 1563, - 2133, 3223, 1736, 2586, 1517, 2326, 763, 1656, 628, 3040, 2064, 642, - 871, 1738, 2587, 734, 374, 1496, 1285, 1909, 2020, 3555, 1146, 1522, - 635, 2399, 745, 2088, 2854, 2636, 1492, 2294, 1778, 3166, 2593, 1711, - 2502, 2816, 3322, 1785, 2806, 435, 2749, 3103, 3445, 1399, 2052, 382, - 3178, 2132, 3231, 3932, 2741, 2344, 1025, 2485, 3718, 2266, 1346, 1662, - 1048, 1264, 776, 3107, 1055, 2659, 2260, 466, 530, 2309, 1214, 1571, - 3600, 1788, 3576, 2144, 1577, 1110, 1097, 3478, 1542, 3936, 2309, 2271, - 2984, 3101, 2120, 4001, 1953, 2131, 811, 2270, 1030, 1422, 2708, 3604, - 1031, 1368, 3203, 2770, 2956, 1583, 2253, 1502, 1480, 2971, 452, 2141, - 2721, 2547, 1398, 1789, 2706, 532, 1461, 2813, 3124, 2438, 2835, 2763, - 1178, 2938, 1811, 2299, 597, 1712, 2557, 896, 1828, 3061, 2886, 2417, - 1062, 901, 3194, 239, 2437, 3607, 1207, 2631, 2943, 2158, 2696, 174, - 866, 3080, 701, 2107, 3096, 3504, 1714, 1034, 1660, 1736, 1621, 2815, - 1449, 2656, 2739, 3058, 2879, 3554, 957, 2665, 2238, 1023, 1293, 2860, - 1393, 3753, 3256, 2683, 2756, 2221, 2803, 2095, 1542, 2177, 1107, 1974, - 1108, 2026, 1579, 1139, 2535, 950, 1955, 1686, 2000, 1359, 2106, 2105, - 3216, 2307, 1172, 900, 3156, 1112, 490, 2278, 526, 1704, 2372, 1122, - 3116, 1039, 1587, 1395, 940, 1660, 687, 1878, 1115, 1841, 1426, 1536, - 3015, 1160, 2070, 2736, 403, 3354, 3199, 1866, 1307, 807, 1733, 3578, - 1685, 2285, 1528, 3579, 1596, 2204, 1046, 2635, 2504, 2829, 2403, 1728, - 3613, 1599, 3357, 1001, 2126, 1257, 1611, 3474, 3064, 1446, 3432, 3452, - 1614, 2545, 2282, 3004, 1026, 3274, 2510, 3179, 1998, 926, 2216, 2662, - 2966, 3482, 2446, 1455, 2650, 1098, 1215, 2947, 2435, 1534, 503, 3118, - 2178, 1360, 3481, 1709, 950, 3309, 572, 1308, 2694, 3017, 2056, 2144, - 1853, 2091, 3391, 2031, 263, 3351, 70, 1111, 2012, 2445, 393, 1605, - 1392, 1780, 2576, 3181, 1499, 1840, 2187, 1339, 1723, 1384, 1032, 2952, - 1895, 833, 2959, 583, 1344, 1754, 3002, 349, 2933, 2265, 2597, 1810, - 1328, 1835, 2360, 2237, 2448, 2714, 1528, 2189, 2224, 642, 2062, 3447, - 1708, 1302, 1784, 2154, 2913, 1611, 250, 2300, 3945, 1479, 759, 2119, - 2278, 1683, 2639, 2041, 1834, 1962, 2062, 2340, 2328, 1327, 3586, 4038, - 2257, 1204, 2414, 3003, 1816, 2994, 1724, 2838, 1986, 569, 632, 996, - 1967, 3221, 1849, 1669, 1644, 2465, 1757, 3315, 3244, 3615, 3263, 2569, - 464, 1879, 1131, 3130, 1165, 2523, 1947, 3245, 3104, 3223, 3604, 2471, - 2619, 2410, 1973, 3400, 2098, 3546, 1553, 1545, 2821, 2066, 2489, 478, - 2335, 2911, 3433, 2668, 2090, 1726, 1387, 1948, 2894, 753, 1480, 793, - 1524, 1858, 2152, 2980, 2114, 2698, 3574, 632, 689, 1442, 414, 3249, - 3929, 1439, 236, 2371, 1570, 2753, 4035, 311, 2997, 2061, 843, 3218, - 1755, 2580, 3506, 3047, 1892, 2773, 2003, 990, 2643, 1103, 1798, 1071, - 2014, 1216, 2306, 887, 2279, 367, 2950, 3899, 3419, 2221, 3069, 628, - 3015, 1720, 2209, 440, 1297, 1966, 1832, 2137, 2022, 2686, 2293, 1603, - 246, 3191, 3347, 3085, 2953, 2424, 2017, 3674, 1578, 3781, 2417, 1700, - 2017, 335, 827, 585, 597, 1440, 1731, 2079, 2042, 1486, 723, 3385, - 2015, 1880, 654, 2094, 2306, 2074, 3431, 3291, 1287, 1397, 2183, 2385, - 3513, 1994, 2035, 2037, 1369, 2780, 964, 2339, 2706, 3242, 2043, 178, - 2375, 3147, 2232, 1252, 2843, 3934, 1801, 1407, 2957, 3631, 2755, 2205, - 3119, 3088, 1197, 2016, 1756, 2276, 2955, 2433, 3063, 1331, 1382, 2641, - 2369, 936, 429, 3519, 698, 2521, 1620, 3358, 1563, 347, 874, 2334, - 1076, 1471, 3125, 2742, 1330, 2591, 599, 1725, 2353, 2836, 3272, 2138, - 378, 2735, 1143, 1437, 2185, 521, 2560, 2233, 2179, 2379, 3536, 2622, - 667, 405, 2662, 2209, 1501, 2486, 3257, 3310, 621, 3983, 870, 2539, - 3084, 2309, 2334, 2705, 2061, 876, 3322, 2059, 2365, 2691, 3496, 3620, - 3081, 2692, 2898, 1989, 2153, 1960, 2436, 1487, 3195, 2948, 2218, 1300, - 720, 2151, 1722, 2355, 1076, 3143, 1949, 1795, 1261, 582, 1257, 942, - 436, 253, 538, 908, 846, 629, 736, 1428, 1126, 706, 755, 410, - 449, 828, 877, 430, 344, 1322, 426, 1215, 1601, 1793, 1633, 866, - 2288, 1589, 561, 777, 1169, 1330, 468, 459, 685, 436, 1956, 1324, - 212, 888, 821, 2066, 784, 1568, 796, 1251, 497, 1430, 1108, 537, - 1577, 737, 1529, 721, 391, 962, 1218, 493, 1189, 1235, 1177, 778, - 595, 1009, 1515, 10, 1069, 1207, 1037, 913, 599, 1142, 1139, 779, - 1067, 653, 466, 747, 683, 1129, 1057, 514, 1166, 663, 958, 895, - 870, 1036, 819, 610, 1763, 810, 774, 253, 1274, 711, 543, 805, - 145, 1658, 1208, 336, 348, 782, 1087, 2137, 1305, 481, 1522, 530, - 634, 189, 1005, 1432, 1183, 1546, 1096, 1308, 1205, 721, 1011, 230, - 770, 406, 406, 1237, 972, 1266, 970, 409, 1645, 1371, 888, 1053, - 602, 1337, 870, 714, 432, 1160, 895, 713, 882, 871, 161, 2171, - 643, 1133, 1252, 707, 450, 1010, 481, 1397, 591, 647, 511, 1100, - 340, 1008, 756, 1074, 596, 1459, 910, 969, 697, 559, 518, 1584, - 540, 804, 1425, 1115, 1311, 779, 734, 976, 442, 655, 839, 605, - 619, 467, 1499, 967, 1061, 1349, 704, 130, 1089, 1178, 1161, 1141, - 1071, 1035, 486, 934, 1401, 651, 924, 1282, 1282, 389, 1278, 655, - 992, 614, 981, 158, 1031, 985, 300, 651, 737, 1755, 798, 1911, - 1467, 782, 509, 451, 1125, 1295, 465, 979, 1083, 1031, 1282, 550, - 1546, 900, 444, 1545, 1207, 1655, 913, 852, 1228, 338, 607, 934, - 236, 721, 1084, 236, 291, 590, 589, 1114, 1257, 603, 117, 1044, - 432, 1255, 1656, 806, 762, 776, 686, 388, 622, 941, 1308, 1200, - 259, 1051, 1514, 529, 651, 1349, 868, 764, 946, 603, 888, 372, - 493, 664, 418, 769, 1300, 993, 416, 607, 990, 505, 618, 673, - 911, 610, 1442, 798, 1844, 879, 515, 840, 937, 797, 718, 390, - 675, 672, 921, 1034, 601, 442, 297, 850, 631, 782, 607, 1461, - 722, 162, 215, 756, 1308, 965, 1464, 531, 965, 2183, 974, 485, - 512, 1586, 505, 1672, 463, 649, 1048, 967, 687, 1139, 1229, 1281, - 1060, 1261, 535, 941, 399, 1013, 783, 1711, 433, 1308, 1739, 312, - 1118, 395, 839, 1003, 997, 177, 557, 842, 1270, 292, 980, 459, - 426, 1207, 160, 1097, 519, 573, 945, 311, 666, 164, 945, 306, - 1694, 357, 411, 1030, 1220, 408, 1197, 679, 452, 938, 1335, 496, - 423, 414, 947, 625, 801, 992, 637, 918, 643, 1582, 1017, 908, - 699, 960, 1095, 1475, 1064, 925, 919, 987, 1657, 685, 1279, 334, - 724, 971, 310, 590, 839, 1249, 240, 1287, 1718, 1019, 931, 798, - 524, 1653, 101, 348, 442, 955, 335, 1168, 1584, 376, 651, 167, - 1056, 743, 1738, 186, 520, 631, 865, 819, 988, 35, 1080, 730, - 872, 658, 828, 1758, 1248, 300, 1244, 539, 735, 340, 150, 802, - 780, 1283, 831, 826, 645, 442, 119, 723, 827, 1019, 305, 1553, - 1241, 487, 590, 1770, 121, 1381, 1103, 936, 2114, 881, 1056, 1260, - 1360, 541, 347, 1630, 1096, 176, 587, 382, 721, 884, 1096, 213, - 1757, 1151, 397, 291, 1161, 3376, 3828, 2766, 1604, 3185, 3504, 2472, - 2595, 1669, 3400, 4067, 4080, 3463, 3321, 3036, 4068, 2421, 3991, 3911, - 4044, 3099, 1110, 1889, 3606, 3544, 3130, 3214, 3112, 2584, 3067, 1800, - 3764, 3713, 2847, 3415, 1154, 3140, 3537, 2969, 2203, 3768, 2891, 3162, - 4004, 4046, 3300, 1043, 2244, 2833, 3581, 2213, 3516, 2465, 2804, 3883, - 2287, 4020, 3535, 2063, 4006, 3842, 2818, 3696, 2327, 2636, 2489, 3459, - 3473, 1373, 941, 3846, 2596, 3241, 4091, 3119, 3650, 3827, 3022, 2508, - 3803, 3995, 2732, 2146, 4079, 3964, 3003, 1925, 2789, 2150, 3239, 2013, - 3688, 4039, 3533, 2518, 3056, 3356, 3922, 3388, 4014, 1435, 1373, 3619, - 3983, 3196, 4095, 1617, 3645, 3542, 2956, 2891, 1624, 1836, 3187, 3253, - 2073, 3896, 2905, 2484, 3180, 3000, 1622, 3152, 805, 2313, 3797, 3463, - 3237, 3279, 2435, 3540, 3594, 2968, 3210, 2718, 1184, 3254, 3889, 3695, - 509, 4074, 3197, 3835, 2954, 3312, 3562, 3052, 3019, 3258, 978, 3303, - 4082, 3834, 2252, 3680, 3489, 3904, 2958, 3081, 2134, 3591, 3546, 3725, - 2602, 3630, 3363, 3784, 3165, 3958, 2071, 4020, 2069, 3153, 3392, 3749, - 3690, 2548, 3887, 3662, 1831, 3457, 2230, 2084, 4072, 2578, 3827, 3030, - 4008, 1275, 2450, 2389, 3450, 2001, 3367, 3442, 4010, 1674, 2122, 3391, - 1364, 3708, 1998, 3752, 3806, 3480, 2401, 3998, 1419, 2810, 752, 3710, - 3936, 663, 3697, 1971, 3084, 2981, 1755, 2112, 874, 3324, 3503, 2889, - 2169, 3404, 3868, 3543, 4042, 2522, 2687, 2400, 2637, 3475, 3721, 2684, - 3654, 3454, 3972, 3442, 3438, 1506, 3939, 3170, 3379, 3840, 3901, 3937, - 2833, 3858, 3823, 2642, 4004, 2878, 2993, 3348, 3866, 3602, 2605, 2494, - 3927, 4009, 3404, 3911, 2909, 1684, 1691, 3408, 2668, 1941, 1818, 3587, - 3362, 1494, 3914, 1278, 2666, 3864, 2765, 3993, 3697, 2387, 3952, 2587, - 3632, 3422, 2834, 4094, 3403, 2000, 3412, 2779, 3500, 3128, 2070, 2828, - 3358, 3522, 3930, 3399, 3325, 3959, 2386, 4093, 3989, 3547, 2961, 2466, - 1881, 4093, 2242, 2860, 3060, 3309, 3053, 3502, 3688, 3045, 2405, 3412, - 3166, 3508, 3956, 3281, 3436, 3459, 2457, 4026, 3944, 3467, 3718, 2846, - 3851, 3374, 2555, 3675, 3679, 2709, 3410, 2969, 3300, 2280, 1985, 2933, - 1575, 3401, 3287, 1917, 3142, 3960, 3479, 4066, 2441, 3201, 2704, 4016, - 3241, 3572, 2251, 2630, 3960, 2977, 3829, 3003, 3361, 3752, 2975, 3254, - 2286, 3446, 415, 3272, 4083, 2896, 2846, 3658, 2748, 4025, 3999, 3950, - 2889, 3633, 1692, 3472, 2329, 825, 3898, 3516, 2117, 3723, 2916, 1265, - 2632, 3910, 3594, 3707, 3488, 3496, 3530, 3899, 3469, 4052, 1940, 3524, - 2998, 3830, 2888, 3864, 2190, 2403, 2217, 3783, 3941, 3660, 2343, 2578, - 3770, 2091, 3704, 2323, 4006, 2079, 2157, 3523, 2992, 3794, 3120, 2980, - 2750, 3656, 2610, 1274, 3017, 3000, 2407, 3995, 3142, 3953, 3841, 3598, - 3503, 3187, 4066, 3169, 3798, 1740, 3971, 2900, 3772, 3448, 2227, 3805, - 3925, 1666, 2908, 3914, 1443, 3918, 3093, 2979, 2354, 3902, 3860, 2843, - 3833, 3183, 1671, 3933, 1270, 3644, 2754, 3515, 3070, 2379, 2290, 3878, - 2831, 927, 3942, 3614, 2482, 2898, 2419, 2871, 2971, 2705, 4012, 2228, - 2844, 1535, 3399, 2985, 2043, 2828, 3566, 1065, 3915, 3965, 1260, 4019, - 2077, 2952, 2632, 2925, 1708, 3600, 2829, 4080, 2272, 3134, 2319, 2615, - 3993, 2183, 3942, 1422, 3751, 3316, 3174, 3476, 3893, 3509, 1027, 1561, - 1955, 1134, 3807, 3916, 3745, 3103, 3951, 2512, 3585, 3247, 3926, 3951, - 3979, 1769, 2398, 2722, 2965, 3172, 4088, 3733, 3647, 2326, 3401, 4020, - 3972, 3692, 4088, 1962, 2914, 2966, 3267, 2786, 1453, 1833, 3027, 3063, - 3879, 2068, 2199, 3271, 2760, 4039, 3883, 3779, 3717, 3651, 3826, 2850, - 2380, 3818, 3738, 3117, 2121, 3131, 3357, 746, 3804, 2057, 3436, 3421, - 3689, 4086, 4019, 2707, 3921, 2496, 1429, 3029, 3726, 3720, 3209, 2998, - 3579, 2778, 3735, 3482, 3032, 3721, 3924, 4007, 3417, 4096, 3050, 1981, - 4034, 2995, 2515, 1900, 3495, 3211, 2718, 3115, 2564, 3200, 3955, 733, - 3884, 3575, 2973, 2503, 4048, 3384, 3620, 3602, 2666, 3868, 2790, 2663, - 3730, 3460, 2435, 3375, 3394, 2749, 3986, 3328, 2143, 3132, 1818, 4029, - 1705, 3411, 2811, 3705, 2990, 4034, 2889, 3124, 2808, 2838, 1710, 2834, - 3042, 4063, 3130, 3980, 3720, 3225, 1599, 3538, 3608, 3363, 4023, 1414, - 3894, 1560, 2262, 3517, 2103, 2198, 3979, 2549, 2311, 2866, 3709, 3639, - 1863, 2396, 3313, 2993, 2397, 1582, 2707, 3872, 4019, 3750, 2429, 3346, - 3365, 3378, 2151, 3299, 2945, 3692, 4008, 3836, 3944, 2638, 2661, 3682, - 3330, 2883, 1717, 3981, 3134, 3317, 3466, 2676, 1819, 3907, 2580, 3626, - 3737, 3806, 3840, 3226, 3747, 4000, 3122, 3470, 1894, 3700, 2941, 2441, - 2696, 3512, 2407, 3524, 3239, 1729, 1314, 3953, 3308, 3744, 2927, 3906, - 4071, 3718, 1798, 3759, 2495, 3736, 3810, 2282, 3750, 3932, 3067, 3343, - 1507, 3247, 3417, 3559, 4044, 3954, 1893, 4010, 2510, 2044, 3732, 3831, - 3414, 4095, 1754, 3341, 4085, 3850, 3230, 3066, 2665, 3793, 2525, 3627, - 3965, 3490, 3964, 3447, 1766, 1418, 3395, 1610, 4053, 2502, 2220, 3609, - 3683, 3716, 3322, 3346, 3544, 3025, 2955, 3736, 3256, 3172, 3769, 3139, - 2337, 4087, 3266, 2338, 3369, 3452, 3845, 3437, 2342, 3645, 3151, 2350, - 3335, 1561, 2608, 3333, 3816, 1882, 3560, 3273, 3807, 3571, 1916, 2667, - 4085, 3876, 3904, 3289, 1830, 1568, 3780, 3510, 3455, 2657, 3897, 2962, - 4031, 3409, 3905, 3595, 3221, 2374, 3838, 2792, 3152, 3768, 3739, 2179, - 3772, 2823, 2800, 2797, 3797, 2193, 3484, 3235, 3479, 1705, 3501, 3869, - 3086, 2411, 4010, 3876, 3278, 3169, 3820, 3664, 2727, 3788, 3021, 3722, - 4038, 3423, 3491, 3761, 3975, 2574, 2239, 3915, 2186, 3340, 3638, 3302, - 2681, 3422, 3406, 2570, 2456, 3874, 3169, 3486, 3685, 2958, 3666, 3661, - 2871, 3517, 1078, 3466, 3353, 3481, 2803, 3652, 3568, 3581, 2944, 2792, - 3524, 2158, 2951, 3189, 3563, 3232, 3510, 3725, 3967, 3564, 4018, 4030, - 2314, 3729, 2284, 3286, 3609, 3882, 2910, 3624, 3790, 3642, 1672, 2741, - 2858, 2566, 3050, 2623, 3836, 3043, 3874, 2006, 2226, 2932, 3420, 2796, - 3773, 3725, 3013, 3284, 2124, 2709, 3072, 1452, 3522, 3331, 1746, 3697, - 2872, 1159, 2740, 4056, 3536, 2856, 2909, 3611, 2320, 3079, 3332, 3093, - 2675, 3712, 2985, 3227, 1782, 1066, 3944, 3687, 3943, 2289, 3025, 2799, - 3067, 2198, 1275, 3494, 1248, 3589, 1758, 3951, 2940, 2807, 2178, 2703, - 2131, 3837, 2473, 3928, 3879, 3829, 3381, 4072, 2229, 3580, 3985, 4078, - 3793, 3735, 2930, 2239, 2902, 3680, 3743, 2689, 2168, 3918, 3593, 663, - 2306, 3890, 4008, 3705, 2165, 1466, 1146, 2982, 674, 3382, 3207, 3897, - 4043, 3349, 2295, 2881, 2808, 3037, 3341, 3462, 3446, 4058, 2370, 3457, - 3613, 3535, 2322, 1698, 882, 1515, 1332, 4084, 3995, 3883, 3680, 3920, - 3844, 3616, 2393, 3825, 2537, 4067, 3179, 2858, 3167, 3699, 2465, 2549, - 3897, 2854, 2752, 3158, 2769, 3956, 3745, 2497, 4063, 3949, 3771, 3649, - 3519, 3359, 3967, 3891, 2258, 4075, 3336, 3796, 3786, 2459, 1238, 3817, - 2127, 3111, 1930, 3847, 3444, 2059, 1287, 3925, 3816, 3761, 4039, 3783, - 3389, 3162, 3019, 4078, 3754, 3307, 2380, 3387, 3155, 4045, 2174, 2546, - 2710, 3320, 3295, 2125, 3776, 3809, 3521, 2210, 3824, 3958, 3601, 2417, - 3144, 2910, 3564, 3801, 1970, 3475, 3934, 2350, 2288, 3616, 3483, 1782, - 1425, 4084, 3199, 3706, 3970, 2684, 4082, 4032, 3202, 3712, 3999, 4006, - 2527, 4037, 2573, 4060, 4013, 2272, 3670, 2893, 3553, 3853, 2579, 2851, - 3791, 2066, 3853, 2559, 3861, 2459, 3346, 3707, 2026, 2365, 3769, 3971, - 3209, 3507, 3848, 2895, 3822, 2648, 3858, 3655, 2354, 1814, 3288, 4024, - 3107, 3999, 2422, 2915, 3098, 3984, 1771, 2670, 910, 3913, 3760, 2323, - 3639, 2323, 3126, 3966, 3924, 3495, 3628, 3155, 4071, 3974, 3614, 2989, - 3938, 2620, 2678, 2488, 3221, 3935, 3360, 3888, 2674, 3167, 1843, 3059, - 3861, 2475, 3360, 2346, 3212, 2715, 1646, 3358, 3716, 2140, 2324, 4083, - 3612, 3214, 3441, 1829, 3010, 2022, 3366, 3293, 2862, 3931, 3203, 3602, - 1969, 3380, 3985, 3431, 3065, 3881, 3630, 3041, 2764, 2752, 3122, 2296, - 3741, 4066, 4062, 4009, 3823, 3064, 4056, 2405, 3684, 2969, 3711, 3411, - 2830, 2348, 3683, 4050, 2976, 3900, 3827, 3639, 3264, 3548, 3800, 2855, - 3804, 3799, 4063, 3802, 2783, 3812, 3319, 3454, 3345, 2340, 3803, 1223, - 3855, 3287, 3502, 3464, 1560, 3158, 3118, 2284, 2258, 2521, 3561, 4040, - 3596, 2891, 3393, 1644, 3554, 1942, 3393, 3803, 2020, 3875, 3299, 4069, - 3513, 3704, 2406, 3563, 3115, 3629, 3828, 2680, 3842, 2476, 2767, 3711, - 2654, 1808, 2904, 3961, 3458, 3270, 1670, 3091, 3578, 3487, 3902, 3528, - 3428, 3976, 3309, 4028, 2832, 3598, 3384, 3982, 3527, 3772, 3870, 3261, - 3741, 3119, 2603, 2934, 3963, 2893, 959, 2236, 3811, 3719, 2562, 3958, - 2593, 3377, 2556, 1945, 3748, 3673, 1123, 3376, 2794, 3757, 2697, 2006, - 3940, 3712, 2733, 396, 2930, 2563, 1769, 3665, 3178, 3668, 3919, 2688, - 3306, 2283, 3619, 4094, 3021, 2987, 4082, 3368, 3097, 3075, 1783, 2310, - 3691, 3248, 3440, 3064, 3077, 2135, 3395, 2711, 3572, 3177, 2791, 3049, - 3031, 4081, 2485, 4075, 3101, 3494, 3428, 3278, 2582, 2281, 3538, 3994, - 3263, 2700, 3977, 3612, 3332, 2005, 1139, 3190, 3507, 3149, 3489, 2881, - 4011, 4009, 2067, 3481, 3569, 3641, 1499, 1148, 3129, 2722, 3829, 1092, - 4077, 3298, 3815, 2481, 3048, 3814, 3338, 3062, 3887, 3666, 2991, 2427, - 3849, 2833, 3400, 3534, 3290, 2501, 3472, 3099, 2499, 3545, 2634, 3334, - 3004, 2279, 3445, 3724, 3693, 3054, 3238, 2644, 3996, 2152, 1128, 4011, - 3534, 4025, 3881, 3988, 2057, 3809, 3997, 3480, 2154, 2532, 2818, 3681, - 3765, 2450, 3588, 3111, 3870, 4021, 3642, 3397, 2775, 1258, 2962, 4054, - 1846, 1527, 3759, 3910, 2249, 3742, 3622, 4007, 3355, 3822, 3076, 4027, - 4074, 2613, 3543, 3864, 3932, 3579, 3699, 3781, 2148, 2952, 2157, 3696, - 3733, 2265, 3192, 3073, 3020, 3112, 3589, 2225, 3835, 3285, 2115, 3948, - 1574, 3582, 3703, 3078, 3806, 2100, 3779, 4052, 3986, 3987, 2297, 1318, - 2560, 2856, 3854, 2628, 2591, 1912, 3605, 3599, 1500, 2504, 3611, 2158, - 2974, 2284, 2229, 3895, 4049, 3808, 2004, 2982, 2537, 3289, 3319, 3950, - 2830, 2149, 2575, 3374, 2652, 2378, 1284, 4093, 3592, 2768, 3295, 2972, - 2533, 1753, 3733, 2800, 2596, 1891, 2869, 2770, 3048, 3993, 3673, 2828, - 3969, 3965, 2782, 2732, 2440, 3769, 4027, 4016, 4013, 3663, 3171, 2600, - 3087, 3138, 3190, 2433, 3762, 3963, 2330, 3505, 3352, 3426, 2532, 3336, - 3402, 3947, 3339, 3672, 2347, 3398, 4029, 3160, 2572, 3009, 2751, 1678, - 3276, 3192, 3228, 3956, 3916, 1340, 3788, 1865, 3698, 1341, 3828, 3592, - 2719, 3920, 3709, 4003, 3208, 3926, 3863, 2648, 3270, 1581, 4045, 2997, - 3387, 3814, 3653, 4002, 4014, 1488, 3992, 4064, 3409, 2182, 3060, 1505, - 4092, 3474, 2879, 3685, 1623, 3271, 2839, 2495, 2467, 3797, 3920, 3319, - 934, 2326, 2744, 2270, 2392, 3008, 3599, 2936, 3643, 3790, 3094, 2194, - 3250, 4036, 4058, 901, 3033, 1342, 3881, 3973, 3841, 3748, 3701, 3668, - 2574, 2399, 3419, 3734, 3415, 2536, 3679, 3982, 3259, 1221, 3198, 3583, - 1796, 3975, 3397, 3961, 2906, 2616, 4033, 3451, 1721, 3977, 2069, 3011, - 3974, 3947, 3184, 3499, 435, 3961, 2998, 3862, 3677, 3791, 2686, 3384, - 2348, 3234, 2681, 2951, 3493, 3526, 3648, 1895, 2112, 3813, 3509, 3011, - 2467, 2789, 3230, 3420, 2855, 3917, 2674, 4069, 3181, 3890, 3051, 549, - 1646, 2116, 3440, 2555, 2023, 2565, 2761, 2859, 2331, 3115, 3975, 3880, - 3256, 4002, 3551, 2051, 2267, 3908, 3428, 3908, 3415, 3121, 3108, 3637, - 2651, 3352, 2645, 2901, 3532, 3885, 3673, 3377, 1690, 2963, 3149, 3093, - 2806, 2470, 2556, 3247, 4089, 2852, 3097, 3792, 2196, 3850, 3434, 3656, - 3778, 1251, 2590, 1180, 3421, 3351, 2815, 3237, 1944, 2658, 3694, 3334, - 3950, 3168, 3787, 1613, 3373, 3815, 1820, 3499, 1621, 3692, 3957, 2328, - 3766, 3393, 3243, 2712, 3603, 3909, 1838, 3791, 3787, 2791, 3597, 3938, - 2473, 3776, 2418, 3206, 3677, 3532, 3173, 3062, 2436, 3557, 1436, 2242, - 3371, 3092, 4062, 2988, 3188, 3288, 2055, 3464, 1128, 3558, 3826, 1836, - 2996, 2996, 3363, 2557, 1402, 3696, 2814, 3703, 3453, 2623, 3224, 2679, - 2483, 1585, 3356, 3859, 3028, 3670, 2944, 2599, 2939, 2619, 1682, 3681, - 2711, 3731, 3038, 2823, 3596, 4003, 3845, 2386, 3398, 3556, 3901, 3778, - 3939, 3453, 3222, 4073, 2470, 3553, 4016, 3854, 2777, 3705, 3723, 3335, - 2635, 2784, 3779, 4061, 3483, 3077, 2294, 1088, 4077, 2536, 1983, 3490, - 2611, 2113, 3275, 3934, 2683, 3138, 3314, 3184, 3552, 3379, 665, 3035, - 3335, 3586, 3381, 2996, 1920, 2995, 3311, 3030, 1445, 4035, 4031, 3204, - 1282, 1994, 3872, 4060, 3071, 3742, 3734, 3584, 3362, 3233, 2402, 3541, - 2976, 3591, 3789, 3046, 3246, 3385, 2826, 2448, 2959, 2716, 3080, 1451, - 3605, 4081, 3885, 1843, 3988, 2547, 3672, 2747, 3175, 2057, 3165, 2136, - 2926, 3608, 2141, 3922, 3430, 3924, 1815, 2736, 3929, 2550, 4041, 1935, - 3551, 421, 2427, 2869, 3294, 3819, 2926, 3210, 3532, 2170, 3139, 2103, - 3505, 2010, 4057, 835, 1981, 2293, 2283, 3708, 2693, 2190, 2421, 2493, - 2292, 3785, 3826, 1505, 2576, 3598, 1184, 3777, 2155, 2478, 3070, 4043, - 3799, 2482, 3945, 2924, 2102, 2568, 2403, 2617, 2859, 3304, 3786, 3351, - 1044, 3848, 3523, 3317, 3921, 2918, 3808, 1657, 3702, 3262, 3129, 2108, - 2134, 2966, 3492, 1299, 1053, 3260, 4076, 3057, 3767, 1713, 1806, 3090, - 3824, 1880, 2128, 3824, 2625, 3161, 3687, 3675, 3907, 3660, 2994, 3378, - 2072, 3773, 1372, 2872, 4056, 2865, 3205, 3757, 3488, 2814, 3590, 2665, - 3407, 2684, 2363, 2881, 1526, 3241, 1481, 3662, 3348, 3476, 1552, 3843, - 3865, 3977, 2618, 3275, 1677, 2641, 3451, 3964, 3985, 3218, 3426, 3749, - 3512, 1535, 2321, 1149, 1312, 3072, 3350, 3962, 2474, 4045, 1015, 2915, - 4053, 2690, 3801, 2594, 1176, 4089, 2701, 3740, 3719, 2743, 4055, 1713, - 3968, 3240, 3893, 3658, 2832, 3100, 3284, 2553, 4090, 3461, 3607, 2978, - 1771, 2882, 1607, 3525, 4054, 1497, 1807, 2053, 2961, 2320, 3785, 3935, - 3729, 3117, 1153, 2657, 2680, 3396, 3529, 3747, 2601, 3207, 2386, 3053, - 3942, 3729, 3520, 3778, 4032, 2841, 3012, 3759, 3432, 4017, 3635, 3036, - 3005, 3206, 3426, 3337, 3886, 3157, 2400, 2793, 1688, 2053, 2418, 3865, - 3052, 1610, 3397, 3820, 3978, 3350, 2355, 2623, 3875, 3439, 3904, 4076, - 3737, 3582, 3762, 3056, 2768, 3180, 1450, 3016, 1551, 3740, 1608, 3550, - 3633, 3561, 3871, 3127, 3343, 2508, 3030, 3909, 3177, 3877, 2562, 2542, - 3740, 3102, 2913, 2150, 3990, 3609, 3542, 4070, 2078, 3731, 3981, 2735, - 3089, 3186, 2951, 3468, 2873, 3547, 3817, 3767, 2950, 3354, 3570, 3694, - 1095, 2508, 3134, 2920, 3800, 3331, 3940, 3847, 1289, 2915, 2439, 3010, - 3910, 3448, 1830, 3695, 3114, 3764, 2466, 2864, 2710, 1931, 2939, 2475, - 3412, 4087, 3699, 2981, 4080, 3259, 2249, 2770, 3572, 3574, 2647, 2901, - 4065, 3576, 3973, 3501, 2837, 3577, 3485, 3629, 3738, 3294, 2123, 3154, - 3922, 3812, 2511, 3533, 3357, 3279, 2175, 3905, 2452, 4035, 3935, 3023, - 3465, 904, 3461, 1567, 2094, 2045, 2810, 2798, 3306, 1846, 2379, 2927, - 4044, 3997, 4054, 3863, 3326, 1466, 2846, 2928, 3880, 2701, 2583, 2847, - 4012, 1951, 3930, 3123, 3955, 4067, 3892, 3224, 4055, 3903, 4051, 3834, - 3018, 4060, 2141, 1867, 2322, 4033, 1518, 3132, 517, 4024, 1334, 1835, - 3991, 2867, 4011, 1903, 2750, 3987, 3643, 4030, 3445, 3833, 3112, 3809, - 1891, 3320, 1834, 3053, 2539, 2541, 3939, 3330, 3986, 3324, 3496, 1916, - 3670, 3955, 3640, 3590, 3594, 2367, 3978, 3749, 1673, 3235, 2622, 3089, - 1655, 2919, 2544, 3109, 970, 4027, 3408, 3302, 2593, 2720, 1448, 3663, - 3469, 427, 882, 3686, 3784, 3954, 2821, 3406, 3215, 3175, 2774, 3040, - 1661, 2745, 819, 3530, 1698, 4026, 2291, 746, 3259, 864, 3531, 2497, - 2946, 3245, 2098, 3848, 3925, 3659, 2452, 2587, 4061, 3154, 3867, 3795, - 3316, 1100, 2396, 2655, 2011, 2590, 3277, 3743, 2542, 3147, 3443, 3700, - 2592, 3734, 2637, 2387, 2329, 3233, 2737, 1564, 2961, 2052, 3004, 1512, - 2970, 1899, 3186, 4041, 1381, 3361, 1524, 3638, 3145, 3396, 3744, 2928, - 4025, 2406, 3452, 3915, 3863, 4031, 3327, 4002, 3671, 2515, 2845, 3714, - 3020, 2145, 1290, 2494, 3789, 3455, 3018, 886, 1031, 2614, 3414, 2888, - 2078, 3949, 3893, 3511, 3208, 3219, 4091, 3894, 3032, 2452, 3465, 3857, - 2898, 3234, 1219, 2560, 3293, 3943, 4026, 3387, 3798, 4047, 3852, 3540, - 3713, 1582, 3307, 3184, 3471, 3537, 3996, 3435, 2792, 2007, 2140, 3164, - 3163, 3606, 2238, 2912, 3292, 2463, 4064, 1973, 3274, 3289, 3914, 3884, - 2900, 1063, 3659, 3514, 3500, 3775, 1804, 3905, 2886, 3774, 2757, 2762, - 2761, 2589, 1903, 3009, 3731, 2370, 1704, 3355, 3851, 1394, 3767, 1904, - 2538, 4036, 1890, 2758, 3682, 4092, 3281, 3336, 3529, 2531, 3104, 2837, - 3959, 2153, 3913, 2748, 3926, 4072, 3105, 2307, 2715, 2842, 2754, 1678, - 3436, 2904, 2880, 1565, 3510, 2844, 3317, 1837, 2782, 2835, 3838, 1985, - 977, 3168, 1962, 4043, 2260, 1627, 1976, 1389, 3871, 3286, 3761, 3529, - 1728, 3927, 3173, 1712, 3262, 3674, 1450, 1411, 3991, 3732, 3318, 1813, - 3433, 3116, 1887, 2936, 1675, 1129, 2808, 3013, 3836, 3620, 2286, 2760, - 3364, 3588, 1521, 3236, 3855, 3314, 3866, 3984, 1566, 3874, 2123, 2333, - 1381, 2942, 3386, 3662, 3185, 4086, 3570, 4029, 2742, 2850, 3463, 3402, - 1711, 2176, 3565, 2903, 987, 2549, 3369, 2374, 3222, 3753, 3860, 3885, - 3465, 4015, 3890, 3310, 3923, 3311, 3783, 4018, 3856, 3220, 3646, 3912, - 3678, 4089, 2605, 1958, 3206, 3595, 3754, 2524, 2416, 2861, 3919, 3649, - 3371, 2100, 3511, 4078, 4022, 3895, 3102, 4042, 1861, 3106, 3386, 4094, - 3862, 1290, 2820, 3747, 2322, 3954, 3667, 3058, 4057, 1618, 2534, 1597, - 4022, 1538, 1223, 1790, 3777, 3297, 1337, 2926, 3871, 3264, 2247, 3792, - 3022, 1396, 3649, 4033, 3271, 3919, 3898, 3087, 3777, 2067, 3671, 3583, - 3018, 2552, 2918, 2696, 3625, 4013, 3634, 2920, 3701, 3736, 2698, 3382, - 2347, 3153, 2938, 3728, 3131, 3566, 1896, 3959, 2446, 3531, 2476, 2989, - 3754, 3248, 3171, 2566, 1731, 3686, 2117, 4073, 3121, 3080, 3636, 3258, - 3386, 3204, 3835, 3882, 3527, 2779, 3326, 1874, 3755, 3296, 3936, 1068, - 2991, 3831, 2222, 1642, 2278, 2478, 912, 3615, 3475, 4086, 1456, 3198, - 2591, 2858, 3669, 1608, 4037, 2788, 3057, 2729, 4070, 2878, 3847, 3313, - 2905, 3669, 2301, 3075, 2564, 1823, 2903, 3133, 1965, 3654, 3229, 3078, - 3365, 2391, 1749, 3635, 3416, 2892, 1593, 3641, 3765, 4000, 2463, 3509, - 3581, 3626, 3618, 2641, 2719, 1056, 1534, 2583, 3671, 3805, 3597, 3518, - 3514, 3949, 2531, 2832, 2546, 3034, 3390, 2688, 3137, 3197, 3762, 2002, - 3108, 2819, 3296, 3172, 3802, 2708, 3661, 3831, 3506, 3817, 3787, 4090, - 3963, 3493, 3025, 1899, 3561, 3957, 3862, 3166, 2003, 3937, 4059, 1227, - 1469, 1134, 3113, 3059, 3677, 2515, 2679, 2601, 3822, 1556, 1915, 3200, - 2730, 2192, 2604, 2843, 3109, 3722, 3756, 4040, 2819, 2672, 2183, 2980, - 1945, 4052, 3821, 1548, 3383, 2170, 2756, 4014, 2640, 2122, 2620, 4047, - 3880, 1881, 2855, 2220, 3689, 3297, 2039, 3640, 3521, 3194, 1601, 2863, - 2577, 3760, 2520, 1189, 2344, 3114, 3738, 3156, 3377, 2600, 2477, 2787, - 2139, 3843, 1258, 2248, 2483, 3100, 3337, 2214, 3258, 3009, 3177, 3007, - 2019, 3898, 2888, 3577, 3832, 2959, 3682, 3810, 3044, 1532, 3758, 3569, - 3998, 2333, 2609, 495, 3367, 2949, 3745, 4059, 3293, 3444, 2048, 3989, - 4092, 2606, 2370, 3520, 3628, 1790, 1037, 3470, 1067, 2905, 2845, 2567, - 1626, 3341, 2030, 3071, 3938, 3014, 3968, 2500, 2013, 3371, 1765, 3684, - 2237, 4038, 2716, 2575, 3297, 3911, 3250, 4077, 3478, 4068, 1588, 2700, - 2675, 1959, 3333, 3732, 1183, 2669, 3786, 3902, 3477, 2621, 3770, 4096, - 1820, 3213, 2172, 3839, 3990, 3637, 1458, 1886, 3052, 1027, 4061, 3981, - 3480, 3576, 3505, 2963, 3715, 3381, 3906, 2866, 1785, 2953, 2745, 3211, - 3652, 3810, 3438, 3623, 2033, 3987, 3523, 697, 3601, 3917, 3867, 3931, - 4074, 2289, 2877, 1300, 3268, 3314, 2649, 3706, 4001, 3866, 3983, 2350, - 2781, 3125, 2558, 3470, 1824, 3966, 3952, 3766, 2945, 3685, 1490, 3459, - 2763, 2908, 2241, 3616, 3597, 3857, 3618, 3611, 3558, 3714, 3372, 3123, - 3285, 2366, 1763, 3908, 2633, 2481, 3369, 1180, 4076, 2801, 2797, 1889, - 3614, 1473, 2678, 4030, 3992, 2876, 1174, 1176, 4001, 2627, 1030, 3997, - 1932, 1774, 3079, 4090, 3967, 3589, 3663, 2364, 2089, 2049, 2170, 3268, - 3301, 4041, 1813, 3359, 3217, 1746, 2813, 2849, 2045, 3843, 3557, 3083, - 2266, 3539, 1934, 4046, 2527, 3821, 1963, 4087, 2227, 3976, 1635, 3571, - 3686, 3801, 3048, 2862, 3623, 3095, 3716, 3595, 2348, 2220, 3152, 3721, - 4068, 1526, 3854, 3456, 2092, 4022, 2916, 3310, 1764, 3367, 3015, 3513, - 3161, 4049, 2479, 3083, 3845, 3715, 3792, 2331, 3892, 4015, 3989, 3178, - 3867, 2829, 2243, 3457, 3832, 2254, 4048, 2078, 2318, 3627, 2935, 2725, - 3973, 3794, 2201, 2561, 3376, 2160, 3896, 2999, 3651, 3508, 3378, 3253, - 3156, 3814, 502, 3735, 4048, 2380, 3028, 3812, 2825, 3429, 2461, 3556, - 2263, 2051, 3232, 3667, 3157, 2692, 3544, 2512, 2081, 2137, 3988, 3026, - 3533, 2611, 2805, 2569, 1503, 3019, 3623, 3111, 2613, 3603, 3109, 2460, - 3148, 702, 3051, 3982, 2640, 4021, 4042, 2503, 3834, 1922, 1863, 2377, - 3994, 1938, 1110, 3040, 3328, 3948, 2732, 3315, 3741, 3413, 2588, 3392, - 4058, 1925, 4084, 4047, 2840, 3215, 4079, 3146, 3953, 3900, 2525, 3737, - 3038, 3473, 2685, 2299, 2772, 3565, 3114, 2656, 3865, 2519, 3584, 3653, - 3327, 3742, 3497, 3198, 1851, 3968, 1415, 3928, 1857, 3625, 2652, 3260, - 3940, 3500, 4003, 3678, 3980, 3001, 3746, 3693, 3401, 3625, 2383, 3541, - 3528, 2448, 2978, 1074, 2621, 3933, 3449, 2975, 3978, 2408, 2106, 2817, - 3998, 1022, 1619, 1284, 3555, 3027, 2327, 3627, 2726, 3110, 3586, 2561, - 1147, 3147, 2287, 3280, 4005, 2922, 1262, 2566, 3450, 3710, 4065, 2171, - 3946, 2267, 1927, 3527, 2964, 2589, 3969, 3084, 2619, 3766, 3072, 1571, - 3946, 1420, 2506, 3170, 4028, 3029, 3305, 1169, 3295, 492, 3727, 3916, - 3996, 3085, 3430, 3894, 3238, 2764, 2872, 2537, 1787, 3667, 3816, 3858, - 2185, 2954, 2541, 3334, 655, 3700, 3599, 3714, 3097, 3564, 3159, 3927, - 3782, 3876, 3613, 3471, 3441, 2766, 2706, 596, 1069, 1939, 2224, 4065, - 2885, 3462, 2121, 4059, 2999, 2530, 1897, 3385, 3675, 4046, 3899, 3891, - 1846, 3657, 2210, 3212, 4091, 3088, 2598, 2767, 3765, 3869, 2506, 3024, - 3146, 3431, 2897, 1338, 3937, 3750, 3748, 2848, 2912, 4021, 3994, 1578, - 3418, 3707, 3621, 4024, 4051, 3571, 2784, 3174, 3016, 3537, 3075, 3713, - 3066, 3316, 1689, 3833, 3844, 1727, 1170, 3813, 857, 3545, 2395, 3780, - 3584, 2867, 1559, 3552, 2282, 2109, 3724, 3267, 2523, 3370, 3518, 2431, - 2710, 3819, 4032, 2873, 3838, 3730, 2539, 1763, 2809, 2551, 2842, 2302, - 2188, 3744, 3635, 2632, 2166, 1736, 2694, 2736, 1996, 3277, 3818, 3774, - 830, 4036, 2454, 2962, 3394, 2935, 3182, 2791, 3557, 3405, 3979, 3648, - 3768, 3840, 4018, 3946, 3090, 3197, 3506, 2823, 3374, 4007, 3739, 3422, - 3498, 3984, 3857, 1707, 929, 4050, 3205, 3758, 3903, 3634, 4015, 3136, - 1964, 609, 1918, 1061, 948, 360, 1155, 1001, 1137, 1021, 967, 1564, - 1143, 787, 1444, 794, 558, 1095, 1107, 544, 373, 1603, 1265, 1509, - 1831, 1992, 1754, 949, 2553, 1693, 1098, 1863, 1408, 1619, 509, 644, - 856, 744, 2429, 2120, 422, 935, 982, 2410, 798, 1776, 1095, 1435, - 918, 1522, 1154, 699, 2192, 1004, 1533, 742, 653, 1135, 1387, 1074, - 1415, 1920, 1338, 930, 761, 1134, 2105, 420, 1144, 1231, 1299, 1516, - 840, 1979, 1409, 976, 1101, 1154, 791, 1489, 894, 1488, 1369, 540, - 1291, 791, 1014, 949, 879, 1288, 1098, 1202, 1765, 1072, 1457, 839, - 1468, 1022, 660, 852, 170, 1733, 1239, 354, 414, 801, 1182, 2238, - 1484, 2449, 1584, 866, 873, 1213, 1297, 1605, 1269, 1567, 1134, 1443, - 1625, 1059, 1248, 423, 1018, 728, 551, 1313, 1333, 1834, 1133, 483, - 1906, 1636, 1309, 1061, 735, 1537, 1577, 1526, 714, 1327, 1013, 1013, - 901, 1600, 341, 2646, 986, 1334, 1288, 1265, 800, 1653, 1233, 1474, - 767, 769, 641, 1433, 815, 1235, 870, 1249, 858, 1630, 948, 1165, - 929, 767, 1507, 1633, 653, 911, 1586, 1360, 1591, 957, 795, 1589, - 544, 1350, 1552, 634, 958, 685, 1551, 1012, 1982, 1809, 1273, 268, - 1119, 1265, 1700, 1425, 1201, 1045, 607, 1430, 1485, 861, 1023, 1312, - 1506, 691, 1343, 827, 1582, 1129, 1153, 364, 1167, 1040, 1107, 814, - 881, 1798, 1027, 2157, 1657, 871, 781, 582, 2179, 1695, 968, 1248, - 1161, 1347, 1909, 759, 1620, 1112, 462, 1955, 1531, 1824, 1191, 1089, - 1472, 431, 991, 1012, 1221, 739, 1887, 892, 1183, 616, 914, 1307, - 1785, 754, 168, 1315, 591, 1693, 1839, 1010, 799, 783, 1053, 547, - 789, 1004, 1599, 1602, 354, 1317, 1634, 730, 1660, 1416, 1431, 1030, - 1502, 869, 1100, 528, 907, 1148, 670, 858, 1341, 1004, 650, 863, - 1063, 523, 880, 1054, 1017, 1369, 1732, 858, 2162, 1590, 590, 876, - 1102, 1411, 873, 1280, 686, 1190, 984, 1259, 942, 698, 1473, 1185, - 684, 844, 618, 1515, 796, 2108, 453, 898, 1354, 1483, 1592, 677, - 2212, 2275, 1946, 1006, 641, 1789, 1463, 2091, 611, 758, 1201, 1166, - 1509, 1151, 2206, 1504, 1072, 1363, 570, 1966, 446, 1469, 1577, 1834, - 593, 1351, 2164, 545, 1218, 435, 1113, 1533, 1541, 353, 816, 1489, - 1294, 1012, 1035, 501, 975, 1209, 363, 1118, 715, 889, 1337, 403, - 1112, 530, 1297, 468, 1742, 1053, 546, 1166, 1223, 576, 1593, 933, - 659, 1367, 1861, 586, 828, 439, 1598, 770, 1040, 1081, 1590, 955, - 1173, 1875, 1261, 1413, 707, 980, 1117, 1493, 1422, 1283, 934, 1447, - 1842, 899, 1770, 511, 1012, 1357, 812, 1338, 1044, 1497, 1756, 1412, - 1929, 1057, 1114, 971, 1140, 1847, 227, 1080, 992, 1614, 434, 1390, - 1601, 588, 707, 897, 1171, 947, 1994, 623, 823, 1250, 893, 1351, - 1481, 523, 1545, 781, 962, 977, 1814, 1792, 1462, 1161, 1334, 544, - 741, 532, 249, 1204, 1461, 1619, 849, 875, 1410, 552, 329, 1181, - 1388, 1504, 398, 2106, 1466, 548, 1762, 1778, 228, 1726, 1330, 1225, - 2570, 1108, 1091, 1298, 1613, 543, 358, 1662, 1264, 306, 1126, 676, - 1068, 976, 1541, 596, 2332, 1535, 462, 514, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 2301, 710, 2415, 1189, 954, 1243, 1277, 1014, - 1250, 1249, 2240, 1650, 1162, 901, 1589, 1026, 657, 1235, 1206, 637, - 402, 1668, 1520, 1813, 1909, 2037, 1997, 2173, 2727, 1945, 1405, 1962, - 1572, 2024, 1302, 1188, 865, 1116, 2556, 2388, 502, 986, 1072, 2661, - 1489, 2525, 1446, 1468, 1482, 1592, 1312, 702, 2603, 1075, 1620, 832, - 1060, 1230, 1766, 1631, 1548, 2318, 1463, 1359, 1188, 1237, 2197, 1753, - 1779, 1247, 1389, 1579, 2396, 2050, 1729, 979, 1366, 1486, 1327, 1618, - 1868, 1802, 1510, 879, 2057, 854, 1286, 1100, 936, 1740, 1166, 1232, - 2110, 1357, 1749, 1078, 2031, 1106, 905, 1141, 1075, 2331, 1443, 1368, - 535, 902, 1416, 2379, 1500, 2455, 1718, 1204, 1275, 1402, 1505, 1830, - 1382, 1873, 1189, 1604, 1999, 1500, 1588, 543, 1025, 743, 783, 1349, - 1592, 2067, 1152, 915, 2153, 1867, 1563, 1210, 1162, 1573, 1762, 1825, - 883, 1426, 1024, 1406, 990, 1687, 494, 3164, 988, 1565, 1753, 1634, - 1142, 2018, 1573, 1879, 816, 1389, 1024, 1686, 870, 1261, 1045, 1465, - 990, 1758, 1353, 1407, 981, 904, 1809, 1963, 1288, 1029, 1734, 1384, - 1928, 1306, 1015, 1834, 658, 1459, 2455, 850, 1039, 926, 1901, 1126, - 2060, 2098, 1848, 503, 1150, 1391, 1792, 1625, 1346, 1617, 673, 1488, - 1527, 949, 1064, 1333, 2187, 904, 1570, 870, 1874, 1170, 1190, 759, - 1176, 1496, 1328, 887, 1222, 1830, 1066, 2181, 1667, 1217, 968, 601, - 2330, 2091, 1252, 1301, 1202, 2346, 2311, 820, 1747, 1954, 1221, 2010, - 1648, 2215, 1496, 1983, 1838, 520, 1301, 1289, 1504, 1448, 1902, 1707, - 1710, 1135, 1319, 2431, 1897, 834, 231, 1830, 1609, 1905, 1912, 1141, - 1016, 1203, 1355, 592, 1162, 1192, 1627, 1776, 783, 2393, 1886, 839, - 1721, 1853, 1532, 2025, 1562, 1177, 1181, 609, 1179, 1802, 706, 1970, - 1401, 1326, 736, 1468, 1149, 619, 987, 1450, 1095, 1630, 2128, 1492, - 2361, 1677, 920, 1042, 2258, 1864, 879, 1432, 726, 1254, 1080, 1313, - 1129, 2015, 1598, 1472, 803, 987, 703, 1719, 1001, 2315, 742, 986, - 1844, 1966, 1737, 732, 2264, 2429, 2172, 1617, 981, 1805, 1806, 2094, - 1807, 818, 1932, 1202, 1566, 1270, 2265, 1856, 1164, 1558, 1219, 2087, - 698, 1660, 1805, 2614, 760, 1460, 2246, 573, 1312, 663, 1119, 1647, - 1631, 569, 1509, 2004, 1804, 1594, 1301, 611, 1373, 1603, 676, 1159, - 817, 1233, 1368, 1226, 1156, 883, 2517, 1112, 1878, 1083, 719, 1314, - 1603, 624, 1808, 1404, 1568, 1960, 1894, 1319, 1078, 477, 1695, 1191, - 1050, 1123, 1689, 1622, 1320, 2211, 1399, 2090, 1020, 1543, 1275, 1539, - 1667, 1758, 1227, 1773, 2808, 918, 1889, 657, 1160, 2111, 1552, 1416, - 1627, 1548, 1939, 1450, 2221, 1756, 1162, 1455, 1751, 2053, 729, 1253, - 1563, 2066, 631, 1460, 1727, 597, 852, 1186, 1200, 1197, 2062, 892, - 1641, 1414, 1173, 1451, 1763, 554, 1956, 1057, 1023, 1484, 2338, 2310, - 1507, 1845, 1392, 651, 861, 725, 412, 1314, 1549, 1627, 892, 1195, - 1881, 573, 1186, 1185, 1751, 1515, 960, 2191, 1767, 595, 1828, 2241, - 704, 2126, 1333, 1681, 2662, 1574, 1230, 1647, 1905, 652, 538, 1692, - 2153, 805, 1267, 899, 1352, 1074, 1771, 644, 2390, 2169, 683, 821, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 2942, 1159, 2553, 1296, - 2133, 2055, 1605, 1084, 1383, 1580, 2341, 1672, 1173, 1163, 2037, 1188, - 1162, 1491, 1213, 707, 609, 2092, 1596, 2049, 2186, 2211, 2135, 2203, - 2877, 2163, 1916, 2000, 1608, 2318, 1702, 2257, 964, 1160, 2577, 2447, - 841, 1481, 1323, 2740, 1652, 2593, 2063, 2407, 1901, 1934, 1749, 969, - 2731, 1607, 2095, 1525, 1329, 1729, 1779, 2910, 1649, 2337, 2047, 1474, - 1198, 1353, 2213, 1787, 2013, 1280, 1731, 1902, 2513, 2297, 2298, 1097, - 1459, 1613, 1739, 1649, 1934, 1841, 1635, 1552, 2332, 1001, 1582, 1145, - 1027, 1783, 2018, 1625, 2360, 1739, 2182, 1221, 2429, 1133, 1068, 1188, - 1419, 2724, 1789, 1798, 1118, 1062, 1470, 2623, 2063, 2647, 1820, 1266, - 1700, 1865, 1520, 2543, 1634, 1991, 1998, 2108, 2312, 2131, 1845, 831, - 1492, 1496, 877, 1399, 1766, 2111, 1311, 1894, 2291, 1905, 1647, 1488, - 1732, 1701, 2141, 2255, 909, 1639, 1200, 1514, 1229, 1737, 1033, 3537, - 1642, 2049, 2230, 1668, 1170, 2268, 1914, 1962, 881, 1670, 1229, 1898, - 948, 1806, 1485, 1547, 1260, 2043, 1380, 1413, 1261, 1239, 2009, 1975, - 1299, 1101, 1761, 1667, 2323, 1436, 1423, 2212, 731, 1666, 2699, 1489, - 2015, 1462, 2106, 1575, 2660, 2163, 1872, 1459, 2214, 1867, 1925, 1816, - 1692, 2275, 1848, 2222, 1576, 1166, 1702, 2116, 2259, 1021, 2689, 1559, - 1908, 1378, 1408, 1780, 1264, 1974, 1556, 1389, 1251, 2110, 1334, 2291, - 1844, 1260, 1062, 1077, 2650, 2161, 1759, 2034, 1256, 2935, 2563, 1022, - 2000, 2075, 2106, 2019, 1919, 2277, 1618, 2429, 1988, 860, 1336, 1908, - 1565, 1649, 1944, 1718, 1879, 2080, 1528, 2468, 2582, 1599, 1712, 2231, - 1777, 2085, 2313, 1696, 2519, 1290, 1397, 624, 1253, 1379, 1892, 2106, - 1894, 2553, 2420, 1313, 1911, 2235, 2232, 2091, 1954, 1482, 1294, 642, - 1350, 1838, 1650, 2286, 2432, 1335, 1053, 2385, 1415, 922, 1825, 1564, - 2261, 2176, 2579, 2158, 2438, 1932, 1160, 1056, 2534, 2035, 1625, 1790, - 1142, 1318, 1496, 1836, 1358, 2155, 1776, 1548, 822, 1017, 726, 1801, - 1414, 2544, 877, 1023, 2146, 2130, 2254, 1063, 2293, 2515, 2451, 2434, - 1133, 2711, 1832, 2253, 1985, 1059, 2421, 1533, 1861, 1329, 2279, 2001, - 1313, 1602, 1237, 2351, 1551, 1832, 2084, 2746, 1379, 1468, 2666, 587, - 1543, 701, 1219, 1793, 1819, 622, 1651, 2208, 2673, 1668, 1843, 680, - 1410, 1866, 820, 2547, 947, 1266, 1437, 1565, 1485, 1123, 2639, 1317, - 2206, 1107, 906, 1728, 2292, 1510, 1936, 1900, 1920, 2260, 2026, 1536, - 1592, 1201, 2506, 1300, 1694, 1127, 1837, 1959, 1343, 2240, 1454, 2219, - 1890, 1920, 2293, 1875, 1715, 2046, 1569, 1822, 2911, 1567, 1906, 2206, - 1680, 2385, 1625, 1775, 2043, 1807, 2060, 1671, 2453, 2189, 1622, 1625, - 2176, 2095, 1480, 1668, 1568, 2124, 1934, 1466, 2177, 849, 1361, 1228, - 1366, 1828, 2169, 1653, 1914, 1502, 1334, 1898, 1947, 1067, 2023, 1090, - 1812, 2339, 2756, 2403, 1923, 1957, 2025, 975, 1727, 769, 496, 1534, - 1555, 2138, 1343, 1438, 2030, 592, 1987, 1636, 2177, 1627, 1199, 2394, - 2187, 979, 1840, 2266, 1021, 2171, 1763, 1862, 3094, 1587, 1318, 2341, - 2170, 690, 1041, 2015, 2236, 1627, 1828, 1036, 1356, 1538, 1967, 881, - 2433, 2269, 1050, 1603, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 3931, 2290, 2658, 1520, 2194, 2191, 2100, 1143, 1633, 1821, 2428, 2069, - 1492, 1275, 2073, 1693, 1355, 1747, 1352, 1539, 768, 2191, 1716, 2093, - 2283, 2673, 2173, 2478, 3077, 2429, 2595, 2105, 1779, 3069, 1980, 2449, - 974, 1175, 2664, 2451, 1012, 1921, 1601, 3076, 1947, 2761, 2203, 2521, - 1929, 2324, 1842, 1177, 2850, 2001, 2567, 1878, 1835, 2736, 1869, 3155, - 2185, 2786, 2106, 1838, 2064, 1435, 2735, 1984, 2233, 1711, 1752, 2114, - 2551, 2392, 2374, 1471, 1531, 1631, 2197, 2008, 1968, 1850, 1733, 1577, - 2696, 2161, 2241, 1478, 2263, 2199, 2514, 2211, 2564, 2556, 2373, 1368, - 2496, 1228, 1111, 1732, 1794, 3093, 2260, 1831, 1751, 1472, 1987, 2786, - 2604, 3032, 2132, 1530, 1748, 2145, 1545, 2642, 1650, 1996, 2091, 2120, - 2590, 2780, 1996, 1007, 1982, 1590, 2097, 1907, 2114, 2252, 1561, 2281, - 2317, 2109, 1802, 1792, 1759, 1916, 2563, 2345, 955, 2120, 1465, 1518, - 1483, 1828, 1136, 3678, 1680, 2357, 2389, 1678, 1576, 2645, 2570, 2135, - 1703, 2042, 1689, 1956, 1837, 2131, 1877, 2320, 2042, 2164, 2044, 1885, - 2088, 1431, 2162, 2075, 1562, 2228, 2327, 1739, 2602, 1537, 1474, 2336, - 1190, 1694, 2755, 1520, 2602, 1924, 2702, 2315, 2777, 2218, 2223, 2419, - 2301, 2178, 2428, 2361, 1779, 2494, 1899, 2343, 1774, 1240, 2120, 2226, - 2383, 1056, 2696, 1651, 2280, 2413, 1417, 2104, 1608, 2195, 2253, 1510, - 2192, 2216, 1975, 2301, 2734, 1295, 1203, 1132, 2759, 2352, 2290, 2036, - 1715, 2965, 2681, 1479, 2007, 2161, 2447, 2225, 2524, 2426, 1737, 2488, - 2364, 1391, 1393, 1949, 2542, 2047, 1998, 2189, 2007, 2722, 1707, 2636, - 2838, 1894, 2107, 2849, 1847, 2423, 2350, 1956, 2798, 1301, 1729, 1288, - 1407, 1698, 1989, 2267, 2213, 2563, 2727, 1369, 2541, 2289, 2881, 2185, - 2047, 1760, 1773, 910, 1613, 1876, 2262, 2426, 2437, 1563, 1491, 2604, - 1783, 1371, 1897, 1907, 2313, 2834, 2809, 2163, 2641, 2603, 2197, 1195, - 2607, 2377, 1845, 2406, 2277, 1571, 1700, 2161, 2186, 2246, 1936, 1946, - 1393, 1284, 1724, 2293, 2327, 2724, 1010, 1740, 2430, 2172, 2892, 1143, - 2399, 2890, 2471, 2535, 2433, 2773, 2032, 2697, 2325, 1464, 2426, 1808, - 1925, 1700, 2419, 2319, 1482, 1844, 1889, 2975, 1886, 1935, 2350, 2785, - 1971, 1566, 2754, 2455, 1708, 749, 2073, 1936, 2125, 1075, 1688, 2421, - 2809, 1943, 2473, 1135, 1504, 2083, 912, 2617, 1581, 1822, 1457, 2505, - 1841, 1179, 2671, 1420, 2315, 1265, 1612, 2084, 2743, 1901, 2535, 2212, - 2036, 2290, 2161, 1988, 1706, 1540, 2520, 1336, 2618, 1313, 1911, 2905, - 1478, 2892, 2537, 2649, 2342, 2205, 2530, 2547, 1862, 2288, 1655, 2110, - 2934, 2030, 1949, 2225, 1894, 2517, 1955, 1821, 2444, 2089, 2214, 2035, - 2535, 2258, 1870, 1846, 2937, 2734, 1867, 2414, 1749, 2232, 1990, 1521, - 2594, 1066, 1590, 1380, 2708, 2045, 2179, 1953, 2234, 2528, 1472, 2466, - 1963, 1248, 2266, 1359, 2013, 3030, 2829, 2877, 2186, 1999, 2567, 1058, - 1988, 898, 590, 2169, 1941, 2797, 1623, 2306, 2203, 615, 2149, 2446, - 2293, 1652, 1393, 2465, 2499, 1900, 1964, 2709, 1262, 2334, 2227, 2384, - 3124, 1800, 1949, 2432, 2269, 698, 1564, 2101, 2327, 1788, 2395, 1086, - 1363, 2667, 1976, 1683, 2525, 2501, 1310, 2074, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 4023, 2400, 2671, 1817, 2718, 2270, 2257, 1199, - 1954, 2183, 2443, 2486, 1866, 1811, 2232, 1733, 1528, 1957, 1590, 1563, - 1228, 2238, 2081, 2302, 3077, 2775, 3137, 2597, 3106, 2568, 2655, 2413, - 1784, 3420, 2138, 2610, 1638, 1293, 2698, 2484, 1395, 1933, 1735, 3350, - 2671, 2925, 2277, 2778, 2287, 2565, 2117, 1245, 3358, 2039, 2869, 2870, - 2152, 2845, 1984, 3535, 2347, 3044, 2198, 2592, 2356, 1650, 2799, 2511, - 2403, 1972, 2109, 2315, 3372, 2565, 2529, 2280, 1764, 1872, 2476, 2273, - 2517, 1880, 1759, 1896, 2870, 2230, 2301, 1966, 2500, 2972, 2675, 2404, - 2780, 3049, 2470, 1842, 2856, 1296, 1133, 1768, 2670, 3249, 2450, 2156, - 2380, 2376, 2514, 2909, 2885, 3302, 2194, 2541, 2152, 2341, 1682, 2886, - 2397, 2275, 2782, 2632, 2755, 2905, 2608, 2336, 2155, 1721, 2639, 2270, - 2721, 2290, 1592, 2974, 2556, 2470, 2029, 1863, 1981, 1944, 2570, 3181, - 1279, 2488, 1748, 1623, 1592, 1941, 1171, 3755, 2017, 2386, 2516, 1790, - 1667, 3025, 2666, 2529, 2301, 2057, 2301, 2145, 1847, 2710, 2106, 2629, - 2376, 2847, 2478, 2197, 2220, 2518, 2434, 2629, 2253, 2663, 2406, 2038, - 2916, 1691, 2061, 2503, 1729, 1775, 3178, 1743, 2852, 2129, 3211, 2379, - 3012, 2357, 2316, 2511, 2329, 2348, 2460, 2394, 2042, 2797, 2029, 2483, - 2140, 1606, 2558, 2393, 3094, 1217, 2781, 2076, 2298, 2959, 1690, 2332, - 1767, 2762, 2684, 1958, 2654, 2429, 2486, 2384, 2787, 2020, 1847, 1835, - 2831, 2505, 2411, 2563, 1938, 3468, 2749, 1623, 2531, 2197, 2671, 2475, - 2752, 2709, 2544, 2505, 2501, 1680, 1682, 2008, 2837, 2150, 2407, 2425, - 2408, 2842, 1891, 2654, 3301, 1899, 2804, 2867, 2515, 2591, 2453, 2042, - 2853, 1544, 1781, 1509, 2171, 2454, 2196, 2374, 2576, 2841, 2770, 1949, - 2602, 2609, 2896, 2257, 2352, 2476, 1799, 1456, 2241, 1909, 3083, 2654, - 2488, 2548, 1654, 2719, 2196, 1772, 2675, 2614, 2771, 3188, 3058, 2365, - 2738, 2651, 2298, 1964, 2653, 2427, 1934, 2464, 2526, 1852, 1781, 2478, - 2219, 2671, 2081, 2025, 2099, 1764, 2273, 2562, 2616, 2773, 1733, 1839, - 2490, 2179, 3140, 1442, 2534, 3115, 2545, 2626, 2459, 2931, 2095, 2846, - 2486, 1756, 2742, 1889, 2205, 1711, 2437, 2481, 2538, 2737, 1960, 3143, - 2152, 2500, 2595, 3014, 2152, 2111, 2984, 2832, 1744, 789, 2289, 2257, - 2128, 1289, 1880, 2500, 2813, 2948, 2947, 1530, 2303, 2217, 2331, 2742, - 2195, 2084, 1536, 3174, 2215, 2235, 3176, 1439, 2409, 1820, 1960, 2203, - 2942, 2338, 3099, 2436, 2104, 2426, 2262, 1994, 2005, 2330, 2548, 1724, - 2640, 1505, 2333, 2981, 1819, 2961, 2620, 2936, 2809, 2447, 2674, 2710, - 2002, 2558, 2127, 2184, 2986, 2240, 2252, 2583, 1902, 2756, 2002, 2751, - 2457, 2281, 2458, 2168, 2707, 2551, 2291, 2024, 2968, 2860, 2102, 2884, - 2193, 2374, 2417, 2113, 2777, 1490, 2225, 1749, 3487, 2249, 2994, 1955, - 2447, 2878, 2378, 2679, 2015, 1511, 2322, 1975, 2299, 3091, 2837, 2906, - 2593, 2087, 2663, 1120, 2027, 1384, 681, 2467, 2054, 2939, 2150, 2384, - 2354, 687, 2358, 2499, 2501, 1883, 2911, 2487, 2959, 2830, 2391, 2782, - 2088, 2480, 2264, 2612, 3357, 2034, 2073, 2703, 2715, 1590, 1655, 2193, - 2524, 2067, 2400, 1128, 2393, 2755, 2394, 3191, 2719, 2827, 1603, 2146, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 2462, 2871, 1933, - 3008, 2752, 2485, 2725, 2482, 2375, 2835, 2620, 1937, 3008, 2319, 1807, - 1904, 2383, 1909, 1833, 1278, 2294, 2298, 2323, 3196, 2953, 3212, 2612, - 3400, 2657, 2901, 2425, 2978, 3691, 2614, 2793, 2145, 2454, 2756, 2978, - 1718, 2094, 1964, 3449, 2787, 3341, 2974, 2878, 2320, 2606, 2973, 1512, - 3596, 2147, 2888, 2987, 2284, 2887, 2251, 3677, 2858, 3142, 2651, 2890, - 2369, 2424, 2960, 2629, 2624, 2514, 2190, 2357, 3462, 2626, 2726, 2387, - 1857, 2046, 2552, 2449, 2957, 2522, 2128, 2432, 2985, 2446, 2997, 2548, - 2770, 3081, 2987, 2770, 2851, 3072, 2487, 2711, 3104, 1960, 1403, 1776, - 2810, 3287, 2577, 2558, 2759, 2731, 2962, 3104, 3005, 3345, 2580, 2616, - 2393, 2353, 1755, 2965, 2455, 2879, 3406, 3070, 2802, 3296, 2659, 3028, - 2477, 1981, 3145, 2725, 2848, 2568, 1975, 3030, 2560, 2755, 3251, 2773, - 2015, 2254, 2862, 3236, 1975, 2609, 2113, 1825, 2465, 1972, 1270, 3812, - 2700, 2395, 2881, 2216, 3238, 3278, 2926, 3488, 2549, 2075, 2517, 2547, - 2163, 2874, 2202, 2691, 2488, 3063, 2720, 2521, 2338, 2876, 2437, 3096, - 2604, 2719, 2654, 2402, 3042, 2054, 2487, 2569, 2124, 2061, 3251, 2201, - 2873, 2762, 3225, 2683, 3174, 2635, 2458, 2652, 2461, 2376, 2741, 2468, - 2170, 2800, 2550, 2786, 2571, 1775, 2661, 2437, 3134, 1363, 2839, 2099, - 2985, 3060, 1785, 2513, 1894, 2795, 3164, 2056, 3073, 3255, 2643, 2495, - 2830, 3372, 2078, 2002, 3292, 2986, 2578, 2860, 2024, 3567, 2988, 1803, - 2832, 2371, 2747, 2940, 3183, 3064, 2911, 2768, 2714, 2332, 1849, 2982, - 2954, 2545, 2416, 2842, 2631, 2957, 2260, 2796, 3388, 1919, 2937, 3060, - 2844, 2912, 2473, 2404, 3227, 1910, 1944, 3139, 2514, 3089, 2510, 2816, - 2654, 2930, 2946, 2579, 3216, 2790, 3634, 2275, 2710, 2724, 2158, 1503, - 2271, 2091, 3343, 2767, 2516, 2607, 1721, 2916, 2464, 2518, 2816, 3068, - 3142, 3317, 3413, 2971, 3146, 2660, 2334, 2598, 2702, 2865, 2347, 2646, - 2775, 2207, 1896, 2586, 2385, 3027, 2945, 2090, 2133, 1896, 2282, 3135, - 2853, 2848, 2153, 1897, 2497, 2782, 3297, 1821, 2605, 3365, 2593, 2675, - 2648, 2934, 2305, 3054, 2822, 2199, 3166, 2308, 3205, 2183, 3337, 2643, - 3075, 2977, 2235, 3389, 2650, 2799, 3047, 3127, 2572, 2359, 3050, 2907, - 2177, 873, 2442, 2350, 2847, 1323, 2566, 2768, 2836, 3144, 2994, 1580, - 2413, 2362, 2393, 2904, 2312, 2156, 2065, 3220, 2532, 2498, 3542, 2225, - 2413, 2835, 2200, 2299, 3035, 2547, 3136, 2547, 2863, 2536, 2525, 2116, - 2009, 2471, 2614, 1871, 3038, 1809, 2599, 3194, 1914, 3033, 3149, 3000, - 3418, 2510, 2800, 2939, 2374, 2751, 2851, 2214, 3019, 2530, 2421, 2745, - 2417, 2903, 2093, 2808, 2484, 2409, 2704, 2522, 2741, 2561, 2691, 2526, - 3093, 2882, 2211, 2935, 2291, 2825, 2722, 3014, 2788, 1903, 2554, 2350, - 3506, 2325, 3065, 2474, 2619, 3165, 3075, 3006, 2472, 1516, 2657, 2327, - 2305, 3344, 2980, 2980, 3394, 2255, 3324, 1425, 2371, 1873, 835, 2691, - 2076, 2985, 2846, 2743, 2548, 848, 2484, 2541, 3147, 2818, 3018, 2769, - 3068, 3123, 2766, 3315, 2612, 2812, 2549, 2977, 3361, 2254, 3363, 3096, - 2970, 1897, 2129, 2665, 2952, 3210, 2817, 1522, 2587, 2854, 2756, 3219, - 3100, 3642, 1610, 2808, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3424, 2993, 2883, 3360, 2878, 2640, 2914, 3495, 3256, 3079, 3329, - 2034, 3292, 2524, 2350, 2074, 2500, 2622, 2358, 1748, 2767, 2301, 2426, - 3377, 3081, 3470, 3108, 3762, 2977, 3166, 3396, 3107, 3830, 2677, 2899, - 2479, 3026, 3345, 3676, 1814, 2300, 2011, 3490, 2791, 3574, 2990, 2976, - 2582, 2633, 3361, 2063, 3655, 3282, 3104, 3374, 2366, 3144, 2278, 3780, - 3034, 3629, 2978, 3015, 2733, 2675, 3140, 2895, 3462, 3068, 2320, 3261, - 3900, 2787, 2989, 2884, 2839, 2390, 2691, 2898, 3259, 2539, 2449, 2442, - 3350, 2650, 3311, 3163, 3308, 3295, 3255, 3191, 3120, 3093, 2687, 2785, - 3351, 3113, 1915, 1984, 3077, 3364, 2624, 3326, 2804, 3093, 3555, 3254, - 3145, 3453, 2837, 2687, 2985, 2560, 1899, 3127, 2710, 3054, 3408, 3403, - 3410, 3513, 3303, 3260, 3074, 2299, 3234, 2824, 2884, 2621, 2369, 3470, - 2861, 2962, 3456, 3093, 2305, 2342, 3303, 3538, 2480, 3106, 2868, 2543, - 2566, 2500, 1943, 3937, 3062, 2414, 2968, 3423, 3503, 3531, 2996, 3828, - 2643, 2152, 3141, 2602, 2816, 3233, 2337, 2826, 2773, 3177, 2905, 2544, - 2645, 3055, 3018, 3161, 2734, 2906, 2709, 2575, 3084, 2771, 2644, 2634, - 2765, 3028, 3275, 2776, 3140, 2891, 3462, 2887, 3512, 3391, 2682, 3166, - 2491, 2425, 2896, 2583, 2362, 2840, 2590, 3510, 2914, 1785, 2782, 2845, - 3677, 1619, 2945, 2219, 2990, 3169, 1880, 3154, 2244, 2971, 3514, 2297, - 3204, 3259, 2950, 2534, 3043, 3524, 2931, 2428, 3328, 3008, 2661, 2936, - 2346, 3783, 3162, 2923, 2975, 2451, 2767, 3043, 3235, 3193, 3031, 3642, - 2816, 2656, 2011, 3444, 3085, 2555, 2437, 2896, 2681, 3333, 2344, 3011, - 3581, 2198, 3202, 3818, 2947, 2934, 3525, 2453, 3265, 1942, 2573, 3368, - 2795, 3138, 2542, 3366, 2938, 3039, 2987, 2973, 3300, 3132, 3727, 2540, - 2775, 3013, 2370, 2597, 2374, 2453, 3830, 2847, 2816, 2902, 2232, 3695, - 2634, 2629, 2992, 3155, 3255, 3736, 3678, 3122, 3567, 3209, 2631, 3012, - 2815, 3045, 2492, 2976, 2822, 2405, 2080, 2906, 3659, 3419, 2951, 3049, - 2975, 2659, 2638, 3404, 3498, 3149, 2212, 2078, 3256, 3670, 3511, 2447, - 2725, 3476, 2772, 3198, 2815, 3566, 2449, 3574, 2847, 2509, 3707, 2561, - 3595, 2845, 3346, 2955, 3120, 3228, 2425, 3536, 2768, 2966, 3054, 3450, - 2589, 3015, 3697, 3012, 2519, 1323, 2723, 3196, 2861, 1383, 2810, 2848, - 3236, 3461, 3179, 1820, 2522, 2544, 2438, 3058, 3224, 2604, 2450, 3248, - 3105, 3074, 3892, 2976, 3301, 3063, 2268, 2666, 3237, 3040, 3272, 2952, - 3213, 2673, 2550, 2572, 2739, 2764, 2621, 2783, 3164, 2278, 2843, 3308, - 2386, 3173, 3162, 3020, 3471, 3217, 3145, 3042, 3061, 3155, 3182, 2451, - 3294, 3215, 2666, 2815, 2587, 2997, 3047, 3193, 2516, 2435, 2769, 2900, - 2804, 2644, 2723, 2754, 3102, 3459, 2919, 3075, 2445, 3008, 3282, 3275, - 3381, 2018, 2990, 2759, 3571, 2361, 3393, 2984, 2707, 3263, 3314, 3070, - 2759, 2333, 2681, 2745, 2309, 3678, 3084, 2983, 3635, 3577, 3525, 1661, - 2642, 1984, 1486, 3543, 2886, 3146, 2935, 3030, 2828, 2107, 2653, 3186, - 3539, 3390, 3336, 2943, 3185, 3460, 2860, 3506, 2655, 2814, 3004, 3100, - 3419, 3222, 3392, 3169, 2979, 2292, 2240, 2861, 3096, 3702, 3143, 2139, - 3003, 2921, 3400, 3951, 3315, 3656, 2097, 3156, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 3742, 3285, 3450, 3531, 3191, 3781, 3141, - 3554, 3758, 3381, 3413, 2858, 3782, 2611, 2357, 3281, 2554, 2733, 2404, - 1938, 3549, 2365, 3431, 3527, 3605, 3636, 3270, 3764, 3143, 3532, 3445, - 3151, 4034, 2943, 3523, 2481, 3125, 3583, 3812, 2645, 2345, 2481, 3516, - 3406, 3872, 3779, 3269, 2908, 2802, 3391, 3162, 3926, 3423, 3293, 3434, - 2928, 3251, 2503, 3786, 3057, 3794, 3041, 3325, 2967, 3075, 3372, 3545, - 3507, 3166, 2572, 3572, 3921, 2812, 3311, 3108, 3418, 2732, 3268, 3213, - 3339, 2599, 2885, 2685, 3788, 2758, 3444, 3268, 3394, 3347, 3626, 3593, - 3463, 3320, 2740, 3546, 3523, 3751, 2147, 2482, 3521, 3753, 2995, 3392, - 3459, 3141, 3797, 3944, 3305, 3852, 2933, 2726, 3029, 2661, 2662, 3370, - 2977, 3454, 3664, 3411, 3423, 3674, 3641, 3309, 3262, 2449, 3486, 2831, - 2927, 2857, 2487, 3596, 2873, 3091, 3474, 3480, 2460, 2805, 3454, 3870, - 2804, 3242, 2919, 2821, 2578, 3237, 3245, 3939, 3088, 2595, 2987, 3442, - 3793, 3554, 3085, 3841, 2718, 2597, 3294, 3556, 3158, 3648, 2744, 3275, - 2995, 3218, 3040, 2907, 3202, 3702, 3271, 3315, 2903, 3227, 3463, 3116, - 3321, 2964, 3546, 3135, 3641, 3199, 3399, 3085, 3291, 3469, 3598, 3042, - 3770, 3539, 3192, 3228, 2985, 2964, 3285, 2841, 2547, 2929, 2655, 3627, - 3362, 1927, 2960, 3020, 3895, 2016, 3422, 2917, 3203, 3171, 2221, 3192, - 2528, 3024, 3697, 2687, 3309, 3639, 3259, 2802, 3660, 3551, 3585, 2847, - 3421, 3055, 2902, 3125, 3333, 3811, 3625, 3352, 3069, 2713, 3105, 3303, - 3427, 3338, 3180, 3650, 2968, 3033, 2256, 3701, 3175, 3504, 3098, 3260, - 3454, 3365, 3427, 3468, 3659, 2930, 3518, 3842, 2985, 3336, 3534, 2874, - 3440, 2535, 2831, 3587, 3768, 3630, 3660, 3470, 3406, 3041, 3398, 3324, - 3553, 3599, 3791, 3577, 2957, 3351, 2525, 2913, 2647, 2754, 3913, 3159, - 3704, 3298, 2658, 3699, 3026, 2697, 3420, 3187, 3316, 3836, 3904, 3322, - 3693, 3382, 2910, 3578, 3194, 3656, 2529, 3234, 2916, 2714, 2087, 2918, - 3923, 3482, 3261, 3051, 3061, 2785, 2835, 3775, 3668, 3361, 2489, 2380, - 3832, 3749, 3644, 2830, 2814, 3562, 3497, 3250, 2960, 3645, 2493, 3746, - 3409, 2655, 3818, 2760, 3652, 3101, 3495, 3500, 3252, 3774, 3152, 3587, - 3002, 3306, 3448, 3569, 3329, 3161, 3784, 3045, 2633, 1618, 3192, 3533, - 3075, 3654, 3278, 3099, 3519, 3501, 3307, 2051, 3305, 2845, 2788, 3281, - 3284, 3359, 2753, 3567, 3150, 3373, 3948, 3415, 3323, 3170, 2942, 3229, - 3459, 3093, 3308, 3642, 3811, 2925, 3119, 3680, 2743, 3145, 2995, 3301, - 3265, 2302, 2851, 3686, 2528, 3277, 3252, 3258, 3555, 3382, 3212, 3166, - 3643, 3404, 3256, 2628, 3621, 3965, 2755, 2853, 3632, 3068, 3430, 3468, - 3301, 2578, 3515, 3478, 3294, 3352, 2983, 2998, 3192, 3717, 3461, 3413, - 2840, 3111, 3372, 3404, 3447, 2406, 3121, 3467, 3661, 2903, 3594, 3279, - 3283, 3846, 3504, 3431, 2842, 3370, 2717, 3387, 2556, 3768, 3200, 3567, - 3696, 3604, 3661, 2125, 2651, 2483, 1491, 3694, 2982, 3231, 2969, 3375, - 2861, 2157, 2826, 3289, 3575, 3639, 3424, 2975, 3296, 3475, 2923, 3762, - 3139, 3118, 3013, 3160, 3425, 3471, 3455, 3184, 3467, 2881, 2952, 3538, - 3619, 3721, 3191, 2466, 3058, 3061, 3621, 3978, 3322, 3745, 2581, 3368, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 3926, 3562, 3906, - 3786, 3309, 3815, 3435, 3571, 3856, 3761, 3727, 3668, 3962, 3250, 2950, - 3738, 3041, 2836, 2682, 3312, 3775, 2732, 3678, 3686, 3830, 3781, 3313, - 3867, 3783, 3566, 3608, 3669, 4069, 3335, 3854, 3106, 3187, 3743, 4046, - 2712, 2587, 2689, 3520, 3472, 4028, 3783, 3457, 3074, 3056, 3409, 3975, - 3953, 3601, 3364, 3472, 3771, 3726, 3250, 3812, 3081, 3821, 3421, 3402, - 3068, 3423, 3575, 3576, 3621, 3309, 3063, 3757, 3982, 3141, 3617, 3177, - 3518, 3735, 3309, 3261, 3731, 3773, 3086, 3493, 3966, 3032, 3550, 3691, - 3406, 3374, 3775, 3894, 3887, 3322, 3065, 3552, 3634, 3798, 2413, 3779, - 3716, 3784, 3272, 3840, 3573, 3470, 3952, 3946, 3325, 3891, 3070, 3551, - 3400, 3517, 3447, 3763, 3599, 3868, 3931, 3474, 3568, 3710, 3647, 3405, - 3884, 3217, 3978, 3699, 3158, 3583, 2860, 3617, 2883, 3452, 3554, 3854, - 3896, 3175, 3527, 3885, 3339, 3678, 3548, 2833, 2766, 3653, 3277, 3972, - 3353, 3027, 3516, 3538, 3994, 3633, 3737, 3893, 3488, 3079, 3764, 3859, - 3274, 3670, 3856, 3453, 3179, 3554, 3278, 3099, 3487, 3827, 3461, 3728, - 3881, 3312, 3533, 3242, 3611, 3338, 3697, 3890, 3803, 3325, 3755, 3461, - 3479, 3684, 3786, 3225, 3832, 3576, 3772, 3816, 3357, 3482, 3592, 3279, - 3208, 3150, 3427, 3712, 3690, 3174, 3004, 3703, 3909, 2541, 3521, 3627, - 3820, 3224, 3421, 3262, 3760, 3416, 3785, 2721, 3449, 3875, 3420, 3545, - 3700, 3757, 3718, 2873, 3767, 3548, 3458, 3253, 3408, 3903, 3759, 3518, - 3658, 3339, 3240, 3590, 3852, 3628, 3668, 3724, 3150, 3039, 2827, 4050, - 3484, 3570, 3426, 3817, 3704, 3622, 3625, 3779, 3780, 3035, 3613, 3908, - 2987, 3451, 3754, 2954, 3677, 3409, 3147, 3970, 3789, 3811, 3746, 3785, - 3485, 3236, 3863, 3642, 3915, 3655, 3839, 3603, 3363, 3490, 2549, 3602, - 3106, 2863, 3995, 3687, 3812, 3305, 3456, 3740, 3388, 3117, 3710, 3456, - 3335, 3930, 3945, 3362, 3889, 3416, 3318, 3614, 3548, 4023, 3437, 3834, - 2929, 3177, 2372, 3269, 3948, 3902, 3396, 3287, 3359, 4014, 3191, 3945, - 3871, 3472, 2854, 2808, 3921, 3985, 3743, 3591, 3190, 3681, 3646, 3755, - 3402, 3810, 3647, 3901, 3981, 3340, 3957, 3001, 4037, 3449, 3507, 3736, - 3419, 3809, 3458, 3590, 3342, 4023, 3795, 3726, 3354, 3589, 3921, 3563, - 2697, 1886, 3769, 3543, 3133, 4047, 4055, 3111, 3826, 3579, 3552, 2498, - 3363, 3487, 3270, 3813, 3625, 3620, 3912, 3578, 3476, 3487, 3992, 3798, - 3612, 3220, 3361, 3528, 4061, 3146, 3874, 3823, 3916, 2986, 3510, 3722, - 2815, 3405, 3264, 3670, 3491, 2387, 3471, 3987, 2732, 3549, 3367, 4031, - 3752, 3467, 3360, 3879, 3703, 3676, 3551, 4039, 3724, 3983, 3618, 2922, - 3705, 3610, 3585, 3606, 3344, 3710, 3908, 3819, 3708, 3413, 3560, 3407, - 3291, 3761, 3487, 3827, 3058, 3486, 3642, 3931, 3573, 3269, 3533, 3521, - 3709, 3050, 3818, 3837, 3669, 3873, 3621, 3622, 3380, 3382, 2819, 3812, - 3593, 3905, 3308, 3801, 3992, 3830, 3690, 2825, 2711, 2870, 2300, 3849, - 3178, 3703, 3320, 3928, 3227, 4006, 3158, 3820, 3577, 3849, 3760, 3230, - 3342, 3907, 3159, 3819, 3679, 3538, 3449, 3321, 3596, 3754, 3511, 3555, - 3879, 3107, 3543, 3627, 3780, 3793, 3964, 2988, 3687, 3338, 3938, 3990, - 3371, 4057, 3955, 3825, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 3974, 3664, 3990, 3954, 3568, 3915, 3997, 3682, 3950, 3810, 3929, - 3732, 4016, 3300, 3149, 3928, 3917, 3714, 3610, 3871, 3914, 4022, 3923, - 4079, 4003, 3875, 3757, 3904, 3850, 3790, 3900, 3818, 4084, 3876, 3910, - 4052, 3395, 3786, 4057, 3865, 3753, 3082, 3683, 3540, 4083, 3856, 3957, - 3216, 3267, 3858, 4054, 4034, 3976, 4067, 3669, 3839, 3763, 3509, 3930, - 3348, 3891, 3550, 3554, 3608, 3786, 3738, 4032, 3923, 3361, 3921, 3779, - 4029, 3181, 3931, 3709, 3872, 3964, 3360, 3853, 3861, 3807, 4023, 3622, - 3997, 4021, 3807, 3881, 3735, 3918, 3869, 4006, 3948, 3427, 3109, 3963, - 3656, 3993, 3950, 3878, 3883, 3842, 3901, 3947, 4045, 3844, 4010, 4092, - 3731, 4007, 3621, 3920, 3730, 3811, 3464, 3819, 3701, 4088, 3981, 3669, - 3597, 3756, 3871, 3431, 3899, 3310, 4042, 4079, 3220, 4007, 3614, 3883, - 3194, 3531, 3715, 3962, 4021, 4079, 3702, 3980, 4064, 3850, 3777, 3218, - 3590, 3777, 3909, 3986, 3611, 3078, 3547, 3577, 4028, 4096, 4073, 3960, - 3933, 3090, 4000, 4053, 3324, 3887, 3886, 3817, 3344, 4077, 3739, 3972, - 3906, 3884, 4047, 3851, 4076, 3800, 3763, 3853, 3722, 3752, 4086, 4016, - 3978, 3963, 3781, 3839, 3799, 4004, 3938, 3543, 3973, 3952, 4045, 4054, - 3750, 3905, 4024, 3940, 4088, 3477, 3879, 3757, 3926, 4012, 3622, 3787, - 4072, 2816, 3919, 3746, 3882, 3647, 3624, 3576, 3889, 3502, 3918, 3867, - 3651, 4076, 3939, 3559, 3710, 4064, 3791, 3512, 3906, 3990, 3860, 4030, - 3787, 4063, 3946, 3605, 3810, 3439, 3610, 3769, 4066, 4040, 3674, 4034, - 3358, 3624, 3162, 4088, 3970, 3822, 4089, 3989, 4054, 3871, 4081, 4079, - 4054, 3301, 3691, 3970, 4049, 3620, 3852, 3103, 3842, 3908, 3299, 3991, - 3803, 3891, 3980, 3853, 3872, 3729, 4018, 4069, 4036, 3714, 4079, 3986, - 3816, 3869, 2873, 3969, 3130, 3088, 4002, 3971, 3960, 3777, 3473, 3749, - 3460, 3503, 3855, 3680, 4068, 4075, 4005, 3786, 4084, 3548, 3907, 3816, - 3558, 4063, 3826, 3947, 4070, 4078, 2669, 3865, 4004, 4081, 3928, 3762, - 3480, 4032, 3514, 4050, 3891, 3730, 3120, 3170, 3956, 4076, 3845, 3775, - 3378, 3697, 3662, 3871, 3749, 4089, 3923, 3943, 4095, 3833, 3995, 3885, - 4047, 3640, 3562, 3904, 3638, 3871, 3896, 4086, 3996, 4071, 4078, 3755, - 3430, 3732, 3978, 3685, 3909, 2781, 3874, 3868, 4061, 4080, 4086, 3355, - 4009, 3799, 4015, 2876, 3569, 3659, 3813, 3920, 4021, 3634, 4037, 4002, - 3599, 3573, 4061, 3898, 3846, 3407, 3584, 3722, 4082, 3583, 3894, 3977, - 4034, 3886, 3598, 4070, 4033, 3748, 3857, 3714, 4002, 2449, 3852, 3993, - 3370, 4064, 3933, 4058, 3878, 3998, 3438, 3950, 3760, 3738, 3766, 4060, - 3830, 4051, 3649, 3993, 3927, 3618, 4065, 4049, 3882, 3795, 4017, 3872, - 4026, 3835, 3758, 3463, 3700, 4040, 3947, 4052, 3718, 3997, 3911, 3941, - 3933, 3615, 3887, 3807, 3736, 4005, 3903, 4043, 3842, 4035, 3914, 3808, - 3925, 3566, 3434, 3952, 3947, 3960, 3755, 4085, 4008, 3905, 3763, 3072, - 3078, 3406, 2992, 3976, 3638, 4000, 3443, 4095, 3844, 4061, 3636, 4084, - 3665, 3995, 3817, 4079, 4062, 4045, 3587, 4096, 3986, 4026, 4017, 3834, - 3816, 3969, 3906, 3815, 4071, 4083, 3934, 3953, 4086, 4096, 3985, 3756, - 4008, 3548, 4004, 4000, 3636, 4084, 4051, 3885, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0}; -const float H_4096_8192_3d_input[] = { - 11.852162234851706, 7.0103776711404908, 3.6619359861492673, - 9.1155659337359651, 6.795951531382654, 8.6693010702449591, - -8.23827897319795, 0.53165879290715867, 12.37912440997912, - 6.8418050353375426, 10.802319289914337, 11.0638091710385, - -7.7866481722334679, -4.8420100015139598, -6.8818670299223434, - -8.2450578579286891, -7.2246894597896008, -13.815987133628951, - 12.234902365241059, -6.9198331467931302, 15.160223910436569, - -4.5765959155807234, 2.1484900276377519, -4.9196084573928518, - -16.426663730230732, 5.8977022766980651, -16.030910288790917, - -0.24586731175381885, 1.4726914953126813, 3.5871240318927358, - 15.458510455388435, -10.98031892270658, 6.9279611100247118, - -7.933561985282596, 4.3891940661748912, -13.812675339667404, - 6.7914919672067642, -12.203132891070263, -12.317652041719844, - -8.3021764626005385, -0.77739811052311958, -12.432640728863277, - 14.289974286204039, -5.5150189346697038, 11.547145236606516, - -5.1736147941182464, -13.447736295418046, 10.413127356393893, - -2.6729465454008059, -10.729411552653465, 6.5555201942237238, - -11.14433713195789, 13.458451742879602, 9.6447015865820465, - -12.302090740163194, 9.8687463840475296, -10.637342777071272, - 7.1778509359003975, 6.8268531761459119, 8.7068281158836012, - -15.40339167220862, -9.8296506950508089, -15.280917762828489, - 10.102496828664545, 10.037807270690561, 2.4867958468392133, - 1.5319150444766332, 2.7112921117745921, 7.9889723896025524, - 12.905833618771201, 11.00245683272405, -8.3107418252762226, - 10.705033599923738, 11.912486445703268, -8.4081265077051892, - -8.3025042540547016, -5.9142638277949331, 6.867038040093588, - 3.1567085236762717, -14.534241677148046, -12.01689262177565, - -3.8412916991891328, 6.3786080585444953, 9.4837369133142211, - -11.075276289896468, -11.925721231361601, -5.4124139821564548, - 8.2303728395014968, -13.750199366192035, -4.3314232665367056, - -3.732456805346037, -17.295039854808323, -15.232902687351071, - -7.5988314451312435, -9.5932544936015738, -7.3591078974534163, - 8.6527118214619172, -10.608033142382668, -4.2032772324090244, - -6.5085189200544926, 14.134044288331616, 4.4085632854650365, - -4.5210532847247746, -8.4975231327737504, 12.277990534144504, - 15.150130037398975, -10.227258018348129, 17.948861291429097, - 7.4173114502152595, 12.362776847751627, 4.8547293037318235, - 6.3837603116600432, 14.087489189989547, -1.9380985184061332, - -7.9696678961374925, 4.6059836342656899, 6.8183217574223667, - -6.8901903967415219, -14.325821680951959, -1.3621121662714455, - -11.149847668005521, 5.6833891974043862, -17.398485016935354, - 6.3370092934725513, -9.6926235420538767, -17.960802334972445, - 13.547835590566937, -16.451894282762098, -7.5577889478681159, - -1.0982925426375461, -5.7669050004987508, 11.375367155954425, - -6.4107510452532788, -8.7207638586733562, -9.1539348930425479, - -13.633137903872361, -7.0081337564945265, 5.4180605521415544, - 2.9680844338645205, -6.5310659644000255, -8.2872761646593993, - -11.760139277151676, 13.382166905042041, -6.0047682130962281, - 3.2451347130941364, -2.0983582950687798, 8.0680309516812514, - -12.377986061470123, -12.358162277163119, -5.2920128479525648, - -9.202112202542164, -5.6654376221077563, -5.8110927985741485, - -4.984676819547551, 6.3016022666512397, 10.38212336351639, - 1.6487659492093847, -11.063498383826518, -9.3364733355871579, - -13.426754544804615, 7.9359711669654969, 7.0591108612555526, - 11.63486957350829, -9.0269661526237055, -8.6632957575356464, - -7.0684291859722208, -6.9541491917610934, -8.5499008046873524, - -11.95275094242079, -14.577751370567405, 7.92565420601432, - 13.265770899061641, 6.5227249157502625, 12.649384608136366, - -8.3035216691676741, -8.4837140909479327, -1.7621082901418452, - 11.064948293934235, 9.8955732057806269, -5.2006112065475802, - -16.609541870425645, -4.1563385545013416, 0.91112171860938895, - -12.709318786199471, 6.9261739544913699, 15.622947349737608, - -5.9748260335048391, -6.2084520599854978, 4.5326675370634977, - -10.190200128059862, -9.0182739518530965, 7.7990243565929234, - 11.016287638043895, 7.1274548793238948, -8.5088898394843291, - -6.3753383395958672, 8.4458247674289417, 7.0899296466375441, - 11.984742407457288, -8.6997143935860084, 6.617717259407943, - -8.6211765783576588, 8.0571281026284201, 8.2215638031313709, - -11.853165323809973, -11.220981285243187, -4.3770395500199921, - 9.957777885767797, -1.5614058322047073, -9.56164241353585, - 7.3792373063941277, 6.9920671675894948, 5.9799488599242361, - 1.461883121442231, 11.700348102506707, -5.2194626192370359, - -6.0603567908988003, -8.1431285255806856, 10.93990987379744, - 9.5381901110903051, -11.466961877786789, -10.507751479156317, - 14.428027308035865, -5.4370273484553913, -5.6747013525591967, - -9.9762942471273934, 1.9692091719828315, -8.4206281749827721, - 6.8899330422146594, -9.8324002842385241, 0.66168400552588214, - 8.6516044033634287, 10.65559107155409, 9.7754600143798633, - -8.8306105049263834, 6.1770006762428427, 14.456377606617053, - 2.4403104433038201, -12.633954694196738, -12.024403140645889, - -5.0527916191406135, -6.9352208566553832, 9.4384867856948844, - -13.373923816314992, 8.7356124420999599, -9.5270461696321664, - 10.480812629474718, -3.4687409495354067, -7.6636427108879923, - -10.896129661276621, -16.064091728119134, 22.476534329946553, - 12.460754581359602, 12.087618911587649, 0.51377717054611638, - 5.5500395425073492, 4.9591318659994164, 5.5053463280191135, - 9.0332303928329463, 7.937396425761964, 6.6491955641641933, - 14.874164932122154, -11.391128249290208, 3.169135882092851, - -1.8400528212873013, -4.0964252848802376, 9.4117328208476536, - -12.593571458178959, -5.1728063343608373, -2.0242804594425396, - -7.1426529934991043, 6.622101708069974, -16.392117821465206, - 9.1077195568830138, -11.835790666635249, -15.065298034974141, - -8.7710386430596365, -0.30877893122877215, -5.2306016562458142, - -1.1863392825524115, -17.232954172250324, 4.4787746080943949, - -4.081066098262939, -14.903892606586338, -0.51135806197439337, - -9.974082856724543, 10.97578876027282, 15.2893043712315, - -11.13092785115396, -1.9074874511930142, 3.2050565854522359, - 13.289562124770748, -9.2824501805811419, -0.86689339429455436, - -9.4077211103368672, -1.0128498072031238, -11.424484441892933, - 13.505559237096781, -14.111275253120381, -10.426533281521948, - 0.36688942851726047, -8.5830248103322884, 3.8345302704261743, - 4.9414391940031317, 8.9432236478109655, 0.055208574238455675, - -12.115262711332303, -4.068136420980486, -11.843343002389492, - 10.583962363060127, 11.130757227942066, -7.3409476249301377, - -13.416870788702695, 7.6236503465776373, 10.072515155349375, - -6.2216809086788194, 9.8166429337719912, -5.3031299440036861, - -6.6235012830395386, -13.764819271600768, 3.8557639548592864, - -3.3181185983845203, -11.243059309352699, -12.611089376900733, - -15.897667241135203, 8.8329589779154141, -9.135706506752193, - -11.422564479033543, -11.642579626028745, 3.1132478747504968, - -2.1434978144486383, -15.934518757357043, -10.557115149142858, - 6.2308860438668718, -13.739105501743138, -4.3915587851524212, - -10.419872652099752, 8.1112198553932267, -8.0273906192655193, - 5.2239517391735335, 8.0434155203510045, 7.5842021180171599, - 12.631932512287561, 2.4859951309492123, -5.4847073726029469, - 2.908656446600995, -16.092641302221626, -4.1982700477429225, - -6.178163729520965, -10.732042015347554, 8.2982728113062105, - -6.8665949618133846, 13.57740270884686, -1.2643195110945262, - 9.8022838676304502, -6.4233691609370105, 3.8242562234068851, - -5.182967579044881, 7.0944436760142038, -12.324612229746279, - 12.794879744676324, -4.0155602075996786, 12.511504532676657, - -9.1320095199193183, 9.2556023858738161, 11.631662838014581, - 17.216281625720601, 7.1659577752705221, 16.051548211691429, - -8.7388242030409558, -3.4004503641521802, -1.9946663617003413, - 12.023458388822098, 1.4700405113699626, -6.9181864133887903, - 16.791392657544414, -8.6631176405187311, 4.5674127213503288, - 10.664528010800908, 8.2944988052587405, 8.5825626385790077, - -5.6427914562593999, 4.2779399881534923, -10.175893849281154, - -7.2192065435357264, 3.140283780903613, 10.837060473203007, - 6.4038543569395916, -15.819883190567426, 4.3940223675038643, - -18.036559041052769, -7.8147548616524434, -2.6076616130875916, - -6.4742631481878554, -3.7958217747998599, -7.2948016609161348, - 6.6323878871482016, -2.255281573000754, 2.8842198986078764, - 10.659970486702305, -15.569498144370991, 11.390070437002256, - -2.9482405155022557, -13.376525755764128, 8.682108767499308, - -4.9454187674641732, -9.6031277309502645, -10.196124831949369, - -9.0217868605044558, -2.5107837667804862, -14.858770639972604, - -8.141178103509489, -8.5471398578274389, -3.1869173504354151, - 8.8957282181027519, 13.358898132254073, -4.9187666990055874, - -10.228703540264316, -12.346941929546555, 11.554539081207805, - 11.957225349009214, -11.472723315138442, -11.539223260247994, - -9.694197741233495, -10.814894685262868, -13.686233988885167, - 5.7377733456960787, -3.3230070437503634, 2.2490730563707366, - 6.12847572055448, 2.3536601808115556, -9.6767432576922392, - -10.954820690491808, 11.86814480279536, -9.3155290781984252, - 14.141162451253175, -1.4111009040109763, 3.3702115944390596, - -0.98701110295130623, -10.652104782446946, -5.6828295739196912, - -4.0663135145926104, -10.095528767706245, -6.3121380563889229, - 1.9120925466183012, 11.360542554317204, 21.042270964456723, - -16.659873911031575, 11.603621003485147, -9.6777504121808953, - 1.7207302252910317, -11.29409320247472, -11.180036360709401, - -1.1247306222267544, 6.1904287248508867, 10.210101738234316, - 7.0486975536873739, 16.031938158124891, -8.9308814719358764, - -12.431649255706118, 16.692435840967139, 5.2357717202564009, - 12.423164816444851, -11.250581960281878, 13.430914550376267, - 15.343462914852701, 7.8079002483516744, -3.6709333275618681, - -8.8629125797112316, -14.31120951941063, 4.3406926758242452, - 10.463301680233609, 8.6489346124984543, 11.191263935935545, - -5.0521803698731969, -10.333058606811804, -8.5400809112919642, - -7.1779877442246081, -7.6103785194202018, -5.3417155702671248, - -10.451403615154376, -12.172717561180237, -4.0679164951460942, - 6.1506735164799053, -3.6440853392578565, 1.9433343296831092, - -5.4755600582915411, -16.357475888743817, -16.517778074154876, - -1.2039643247733316, 4.5018459122634571, -7.0744532694934668, - 5.3770800058176924, 6.282466912156818, 8.3610249181869101, - 4.8986050239506751, 5.3280071180523274, 6.1464146475343426, - -6.0108406957887768, 12.755972489786537, -8.4578495576716968, - 9.2571030183130549, -0.90434384520253952, -12.986580731138242, - 9.9535150158240739, 10.827528804939245, 11.747515740760758, - -15.16087284652537, -13.087386783252583, 10.629311095924464, - -5.2148823797940365, -2.6329597953943216, -5.5467525289215098, - -8.8404156607741093, -5.7853062363628798, -9.6115554463827682, - -18.889969367477391, -4.2325934493849227, -10.285889677913188, - 4.5969906810446215, 0.45378395656837561, -5.2343788566385898, - 6.4724226890338548, 6.7928342375575088, 7.8077790568267371, - -2.6568661465988948, 9.4096509466272025, 11.669118375894259, - -9.9553406325655409, -6.3303387260871826, -0.34466246402459871, - -13.691429091400373, -13.156577206028633, -6.1513694320309815, - -7.901802513607203, 12.221162679427714, 6.649236864790371, - 13.317311499241065, -5.7970159963996366, -17.357823517948706, - 8.270939734241308, -6.195066527041619, -12.849459296555617, - 11.652018884141436, -8.0449214444329744, -4.6951452329584145, - 1.7769542408723182, -5.1632932513788541, 8.212354634679043, - -14.191579158142765, 6.4303208307092943, -0.90871698965024839, - 10.606516635015241, -8.1011311449339072, -10.243987353238843, - 7.4591880910627006, -6.5152549231194605, 7.7121540392018115, - -4.3569532486078533, 12.00591388282222, 2.4746766943454785, - -20.087190886572834, -9.1172366408631582, -6.6238587915848806, - 17.914330870398388, -1.6868311119764172, 8.0132561252788168, - -4.0467870947940794, 2.3260501959545832, 8.1309552950795503, - -2.8213887397473871, -8.8621258027825629, 6.8177161869910501, - 7.8641580898949943, -9.1469397285483218, 9.0967720192620156, - -9.3166140585545332, 9.4569551350765515, 7.1007118204232631, - 8.3756462433046686, 4.6694993510050598, 7.1515263039687182, - 2.8523595630594913, -3.4741239698997162, -0.10995521113142948, - 3.9540238233698299, -9.1534225071490436, -17.923208439995076, - -8.8636707688627148, 14.965752168216021, -10.23555118408442, - 2.1282088388958402, 6.7125800223509948, -9.8693908028803428, - -12.187767767487951, -5.8471084933737414, 9.6931543841647052, - -13.672759143337181, 12.706659800260432, 1.4726006339350921, - -7.3467125470221255, 0.60736645449389881, -1.9027817610980031, - -8.6768604500952566, 5.1654956072697278, -7.8451284391906944, - -4.957748036893582, -13.397215304447361, 7.0040349274753995, - 4.641473004210444, 5.487007301223163, -9.6273581630058676, - 16.374185605837095, -9.7342921955291786, -11.365160222452676, - -14.203028207976782, -10.151383734547659, 13.628501908584022, - 12.709075886891771, -6.6936152910684665, -6.2279802866864244, - -5.3628359361071647, -2.6913495881673302, 7.1138952384277898, - 4.5472848611830976, 10.538614146453622, 3.0027041674993393, - -4.5129950162998655, 13.929432209869022, -14.334414792485857, - -7.6430080791311292, 7.2113454856008135, -2.5473048779929162, - -9.7982912586592725, 14.20003752638376, -11.43779305242056, - -11.788928136757081, -9.2702732072107601, -7.4402405253529276, - 2.2577745820483472, -4.0065489272257437, 17.327253826968342, - 10.564656643482731, 4.9362649999299286, -9.6827658569722317, - 8.5740726414795692, 13.972819550183335, 10.142649942755849, - -7.5505089381177264, 6.696698382812559, 6.1350463920502829, - 7.0980567064179256, -7.1739648051060803, -4.8241454156612136, - 11.523185452716827, 5.15143919727939, 8.2887451440406092, - 9.3194658667920365, 5.0752787775781885, -3.6974163215820433, - 10.009475686455609, -5.0500616477503311, 8.0495440815500334, - 6.9634210532733123, 0.74952844797906104, 9.2888896580566058, - -8.9836598970543786, -11.976984601087814, 14.180425924043737, - 9.5949237487536259, -6.9806176014976495, 15.203989667738226, - 5.493621596505367, -7.6955098868525882, 9.5564647992545364, - 10.079356604075551, -10.960076969559537, 7.2042424232206992, - -14.531624249964095, 6.5286867902033308, -11.463904598934056, - 6.3615813591453119, 11.416387712259898, 7.0427168358236125, - 13.822852330215177, 7.2746500528888527, -8.3450266043795249, - 12.806608348123776, -8.2535126123648936, 5.8510702559397432, - -11.72864058021125, -13.525703617514484, -3.4673986791846629, - 8.8257475497907567, 8.1617848896097982, -10.511226281526806, - -6.5898403692543042, -3.2708944298983913, -8.2863826836910714, - 4.3118003065244856, -8.739126028339717, -7.266249505524506, - -12.722343971179958, 11.857858107459306, 12.911981733235436, - -10.65461960338774, -8.4472396688027516, 6.6651405743509189, - 11.580579384141151, -7.476951619445769, 9.2634695098381989, - -9.1478306927597437, -7.8825061512029215, 12.660129998551898, - 9.4635781422095882, 17.727946307041069, -10.471079620658342, - 13.465213687900388, 7.3119927884332858, 11.463991072120113, - 6.9772621837497031, 4.4282053470168625, -4.8042111521791862, - -13.26622055962914, 13.184702932454989, 5.8920985561126233, - 4.9607673707960149, -6.2145046667516981, 4.9892348599039815, - 13.386955196389408, 11.050110269593503, -12.670345450307799, - 6.8919385748089095, -6.995509703845781, -2.1490703014355343, - 4.3577224727703934, -2.687681135653762, 9.6117562706775512, - 11.440484820731625, 8.8717842123429058, 10.901792493383279, - 9.9966531326723, -2.166562149137035, 10.759372446591094, - -11.145782653874074, -13.643983964564196, -7.4947536090369651, - 6.8729516444398113, 6.1255906136871214, 10.286427618569139, - -3.8954533403572982, -15.009404348795689, 10.416272528141709, - 10.773417627973688, 13.473131534196293, -12.269492414050813, - -3.5818855637200442, -2.9078381779448681, -9.3090084191796318, - -10.106912381860665, 9.8707437855810021, -13.277992270605163, - 8.2476749947176113, -8.8274321958792843, -12.638876954450266, - -11.37387078264226, 6.310839667953493, 12.505381714845957, - 5.9770606555099137, 12.571542220434118, 9.9007684373602896, - 10.053443429632159, 1.5818774444782795, -11.202245256178113, - -6.3338053973968904, 10.273087000056226, 6.3747900737833705, - 7.5548325974206021, -7.5617215418668815, -14.246992208284086, - 3.6218243017485983, -8.5325540980340548, -2.3238622952828707, - 14.565041102861516, 6.4324516848911006, -11.086714498316114, - -7.5045302416397384, 5.2026398416795994, -6.853203104711123, - 2.1843689141131324, 4.5710236867227421, -8.1096546261933575, - 6.8516131596677754, 15.749131604121894, 4.8170171857120234, - 12.738222513171431, 10.237566783706301, 8.4519598141169237, - -12.480409549357107, 8.8391211926715538, 8.2890453802332456, - -2.4407905630831244, 3.5387036940209624, -3.6252104368372637, - -10.758160531341717, 15.757385534263314, 15.300017753661741, - -6.4977207422761278, 14.316071119369459, -7.6509169554472871, - -14.240089324876473, 17.946531936112731, 0.21891599627778507, - -14.327642522308526, -10.198438570466465, -6.5254022288421698, - -8.9170677031243279, -19.733600738139021, 9.8575790819227116, - -13.439453971096134, -8.08549743821699, -7.0580010359915093, - 8.309267780115082, 11.234207036389543, 6.0726783164608014, - 15.587458237921769, -7.0535490866185722, -4.5092092976529417, - -6.3389155754995201, 8.8389289188970324, -13.748748681697574, - -10.541386063792364, 3.1701281296367463, -14.503520722624311, - 11.450835790167169, -4.1646167487606398, -8.4877909951424595, - 13.349350976255494, 6.805877878755318, -6.0136669492638335, - -9.3639356707055494, 7.7593202577468361, 0.50113711390472682, - -11.966738431991194, 12.724874408920027, 3.5582910322431047, - 2.6950418641475302, 13.624278919557449, -14.882267598720199, - -10.522071180638532, 10.177398998976383, -14.988145883986871, - 12.749221128051207, 16.9417703024852, 10.798411089097906, - -7.5603646872325196, -13.887620488443355, 6.795459150479954, - 8.9187603996083489, -2.0975322825452452, -1.9757625488414245, - 7.3999518935819824, 0.55507580729811956, -12.499441910415001, - -17.623680811226599, 4.6027405025951635, -12.851870220608683, - -7.3653468732952403, 11.972212571862007, 5.0650581632440161, - 10.184194371691481, -7.4685323577351861, -13.91941422673203, - -3.023728251254604, -7.5331742909246113, 6.884248527279258, - 0.45905900344021811, 7.9221026748242638, -13.738522130398389, - -7.192484909334925, -8.6492261161697765, 13.362572855468146, - 11.756208490055306, -5.1379560916061688, 0.79142269505050344, - -0.76803621547792877, 7.7549707855525991, -8.580692212271444, - 12.55718276709921, 13.824515712934444, 4.6771582940006207, - 7.5690824104994574, 8.9468688797966607, 15.149701027144566, - -7.5543759673724367, -15.762504230620095, 6.0226666138366562, - -14.441395804471442, 10.042802710491094, -10.413666974887784, - 9.9977859314096555, 6.661089886374179, -15.232744712455945, - -0.29385443370198283, -7.6550938684627798, 10.155100661839109, - 12.382405486599948, -4.0908481515728976, 8.2741386936014951, - -13.144677979369291, 14.828710495467698, 11.928398028195682, - 8.6295134545955268, 8.27163552072793, -6.1797837465827472, - -6.8523963227916527, 10.235531050029158, 6.3420892704922895, - -18.986839986174921, -10.031153094491204, 9.8664552318103755, - 9.0490519851328521, 5.8122608319082092, -9.9313476791104556, - 8.9233711466623227, -11.063483670478442, -10.506601643910665, - -7.8199885544402337, 10.624711496812944, 11.535453029335885, - -11.086350278419017, 10.274989797342863, 14.174471922522534, - 14.369396939115374, -8.8582757132378074, -7.8522922263977346, - 9.1770638890238008, 4.404279119885941, -13.44742860575303, - 7.1166789006321016, -5.4330041512079497, -15.427562347420725, - -3.6868407799916638, 5.1866180381410762, 7.6709901568170613, - 18.345854267912042, -4.9003530729536049, 10.468660952737869, - 4.776982165598695, -5.6287843488915614, -9.3412091622328344, - -13.912648151648625, -9.5237512831144624, 13.450520990138015, - 13.396914326134098, -3.1904784969275046, 15.798741916285385, - -10.810269144195532, 1.509656071998684, -13.878323717490971, - -0.20820114068063908, -11.747048527427133, 7.3833991188681747, - -0.87088303478322637, 7.9643245630936503, -4.4926178036020943, - -1.254207052775153, 11.483542272294349, -13.148499319806293, - -6.136615041458259, -13.927479206508691, 5.0953914081395162, - 3.6709312625305595, 7.957426713199852, -3.3451767036242064, - -10.759041525323852, -11.394330854721302, 10.015078374525395, - 3.3832848670040567, -9.5028638140867212, -10.033492516835205, - 7.3632139540821244, 12.599386844473557, 9.5584005725098873, - 2.798264002893208, 16.990209741896582, 18.391755783844861, - 1.4510639061574093, 9.2270278377989303, -5.0621183330469739, - 10.261183127076439, 5.2327787155031551, 3.9453000986056503, - -15.583642576320866, 8.6770041976506533, -17.128999463647837, - -11.871728406502932, -10.394587892496528, 8.6180369341985319, - 6.516417535746335, 5.2913995336538404, 4.8920041513719799, - 3.8949061070604571, 13.054505805979804, -5.8996637983125462, - 8.4678526015978157, 10.839440938044268, -6.5759334159049434, - 11.749783919524603, -8.3008136710011637, -7.5878550938702638, - 11.049012705452856, 4.3126061849927586, 5.3560587614804769, - 10.023853466943383, 11.37326701911334, 8.8843983915607065, - 1.540899479443554, -7.5465559519347849, 18.054805657697649, - -2.0115237285322016, -12.814863310780851, 10.300533589310888, - -6.3500042773701466, 14.22332127064872, 13.779487188987437, - -3.7179509929171135, -5.520450741398685, 0.51276478894695843, - 8.6235352232391911, -7.7774452311411801, 6.2272696577872706, - -12.717758311029774, 6.713094215146894, -13.891940533941439, - -8.4385045057010863, 3.6768186667920526, -4.942185960950189, - 8.5164419735753558, 6.7067488901926673, 5.8779092097317802, - 9.9041099161469006, 8.0396297371718521, -12.470612524570162, - 4.2414224907458538, 14.417893166887747, -10.589000910389235, - 2.3567319148834502, -4.6520348649684005, -6.8229956976610051, - 4.7579072132700571, 6.6876842630205742, -9.5112615220330188, - 9.3965638107074518, -12.652626449162325, -3.6137257652131685, - 15.100829996189638, 8.0278764178809237, 12.47343748740065, - 4.6779711419495627, 17.406972295614676, -12.638777832947442, - -10.07196559889231, -16.201071966186017, 15.766943531676265, - -2.5337629189273931, 11.037478731206264, 8.3935660687449261, - -3.4843112856040341, 5.7667317959977229, -5.3151466193187202, - 11.549579134132895, 9.5716752390853728, -12.665556642702606, - -1.7511867802006553, 10.985055588271223, -10.741148932483979, - 1.4019719168524369, -5.2045187620417268, 11.520370040656143, - 3.4924841632665826, 8.6752981268622982, 11.018478120004746, - 8.1489597222712415, 11.29111284603824, -9.6803162781143506, - -0.69125945953762036, 4.8185876420223934, -5.1333637201042297, - 6.5442549321761927, 3.2039724440150965, -6.2844002977197171, - -13.943989648080665, -3.6481612704102528, 5.0868961274638762, - 7.3942765422230146, 7.3315403748027332, -9.4483165283216302, - -7.3124139257558314, -8.6128026626373195, 10.91457529531389, - 1.733227719165531, 7.0515524594718402, 13.652369540451556, - 10.898954365978197, 9.2234193891834249, -9.2875331260833853, - -10.685830486589493, -9.0127297945144704, 11.035103945201103, - -7.8322667143447484, 7.4267534186815451, -14.484459451128094, - -12.892365226446056, 12.400895260681445, -1.3610327467613308, - 9.3710008526675921, -7.9889220544643997, -14.066078429121703, - -11.572131599185612, 9.4125317298352584, 3.9802853427821323, - 13.552578451225509, 11.769160366424329, 3.7460148440107841, - -8.3276216170574511, 10.275676549317508, -3.4534581690765345, - -8.8116083610844402, 9.6112860243291927, 12.035762619746887, - -10.750923241926531, -11.412270039830078, 12.675791970384855, - 2.7681940494895843, -6.0352888595830061, 14.728012341239245, - 11.069071903329069, -2.0294905334347346, 1.7881059261978625, - -13.11079855945869, 2.0016203546328484, -11.03896297245949, - 9.6728784225332927, -5.356139039572609, 14.758199485169646, - -19.306747408930303, -9.747547631500602, -2.9278803393127815, - 10.631512677428598, -11.505058349758947, 5.6196809164954686, - -13.515125494634967, 6.3402475206937208, 8.7001279685380375, - 6.7967971617036218, -0.61466117759236438, -9.6918272788876365, - -5.7814172661505134, 9.7193625354241195, -16.906686969321548, - -7.5235604086018659, -10.199947204902026, -9.7936604259492075, - 10.01674666169402, -13.651634389305608, 11.544416297731889, - -7.802468828816064, -0.47286071579940786, -10.284350842394733, - 1.6609289836184331, -17.147457229744042, 13.226952440518131, - -4.6840531754119121, 15.962355895657987, 15.585997744528594, - 5.6171915212526669, 8.1922569110624757, -8.3396720427279387, - 4.3655115127384114, 19.088815362267884, 11.244495022370169, - 5.4582347037393157, -5.2064921575862328, 5.4611195524777605, - 13.265834398774388, -6.6027106768866277, -8.3567593701557072, - -5.2100995091538564, -8.872279835990085, 8.8511624708986645, - -2.8415032528176893, -8.90721966561083, 8.6092509418838414, - -12.794506748396167, 4.9154587769777436, -4.8718835188143297, - 15.736412560032944, -8.1284028841157152, -9.0115555660864839, - -11.572722456268854, -11.54267186253375, 6.3231823600864097, - 13.698252471102595, 7.4397798943065991, -7.3874140559903809, - 11.957330149348136, 16.578828659769322, -13.447758494504617, - -8.3867453187310108, 12.858858544686701, -13.679184488254624, - -17.989097393966127, 6.9729467845720619, 7.1557629738277102, - -3.0150050427482507, -3.4241894478207389, 8.9891730143911452, - 5.58684640242714, -2.4252419098432401, -2.3220109947144993, - -10.153271947550676, -6.4440956220548893, 6.4637660777872128, - -11.98185730058993, 4.679160341854538, 11.939393545528494, - 5.673039776742324, -9.2794663394043297, 14.620894004671618, - -15.198717126548939, -4.0577596386535824, 11.246729386246329, - 9.248388521657537, -18.067138024674023, 12.088146785215971, - 8.2659830137778165, -7.5472358634932197, -15.294952231861169, - 5.6915318739840428, 7.7225018465581643, -13.5239318206515, - -7.189678144592845, -7.1572966467678922, -5.1603147018447704, - 4.5948288513931832, -6.6943032046232229, -3.4953462966606299, - -12.323004086614523, 4.079938074910487, 9.0295814179780045, - -17.116687230726722, 9.2253574210667679, 3.3356620718687418, - -3.4843562000350015, 7.0034196772098234, 9.1169590232165749, - -7.6022819833838513, -8.634002290186892, 15.757020023721649, - 14.56916548664309, 9.8166793299488067, -14.012585858097601, - -16.303460348540753, 6.328706318837547, 10.356673659537377, - 12.957932809919667, -4.453315353345574, 13.89076036854844, - 3.3562344300251992, 10.837065377652365, 11.946045527632085, - -1.9666919744239404, 14.882311996893341, 0.87293515964638224, - -7.3995595376333032, 12.740578972023727, -12.286008018201061, - 1.4725257765501467, 11.51005572552633, 2.9456158607087239, - 3.1894702453909649, 5.6935460538968989, -5.1304463471226711, - -4.3501309014212834, -1.3570596265231303, 12.169493014791488, - -4.8125938886484949, -11.812988590923077, 8.5953572216745684, - 11.547929174117135, -3.8475647480475508, -6.0916817670803702, - 4.3949441458543461, 10.708986715171134, -4.9176921083382519, - 6.9845454201115134, 13.211641265878763, -8.0470742395724351, - -3.0286311518396092, -8.1094174702539839, 6.0130079461473995, - 15.048154145048182, -6.1061849982201561, -1.3184724514862096, - 13.374931551593706, 8.2757038905352509, -11.896200834415041, - 0.54178209264090349, -12.548924448766257, -8.9496731923140622, - -0.18895807082266591, 15.161251263512716, -1.2114640022291989, - -5.9797180926754736, -7.4864095919046978, -10.395424746434434, - -6.2601439237082941, -0.78388481451542258, -8.3179201645007659, - 6.6459706305820747, -12.923380447931299, 3.615294672750057, - 11.552240701361072, -6.8065229429104148, 11.514049754206534, - -6.951551124245662, 7.3756260828927998, -13.184709643806741, - 10.708471747988494, -9.1265574178045057, 12.95334276157795, - -5.9328741480790832, 8.5189835350582932, -9.6064834713593523, - 14.569174263026152, 3.6101279644153479, -14.407362539728334, - -9.6916542679832922, 9.1021824980895101, -7.7838634129812734, - 4.6265281144994796, -12.811796997416144, 2.4737443327095394, - -15.765944056522786, 13.810646962664299, -6.6826075126122557, - -15.214618900142634, 12.384568606895954, -5.113057234728787, - 5.4752854091274656, -6.4734766293881032, 5.3882128477325431, - -6.2935902033018669, 15.281124782217196, 10.227168963872938, - 2.4002256043101666, -15.970147775044056, 3.1440767271601184, - 6.7732778748049984, -18.043555367127105, 6.2587742916927098, - 5.073341261952673, 6.8434249233348678, -10.146405202190969, - -7.761279649797781, 17.122835345190957, -16.71550688700729, - -6.6392405644821197, -8.2855465718737928, -6.1015327408102618, - 10.509447644247613, -6.196253145657459, 6.5915995178005184, - 6.6493068177259573, -13.418767003702035, -11.838590849090032, - -8.8536466551640238, 6.7441440259065617, -11.233560165332051, - 6.2511143161814928, -12.561411951219709, 5.6917742570339165, - 6.0195651949396973, 3.1302245727470228, 12.399852677999395, - -6.1013696033368623, -4.560197760086167, -7.2970469952711241, - 6.9434258713676744, 14.905481648178487, -7.803760764028655, - -8.4000082243078698, 11.207158223790749, -14.044730651708779, - -7.8313315132907579, -12.235152234029428, 11.136317582870022, - 8.5021201344630768, 8.8357802624088837, 2.6404269486070744, - -9.5531813349412591, 4.1309417669496149, 5.3565672754402778, - -6.4993313376325643, 7.8618252498382928, 3.4036857519553001, - 21.117270836562358, -1.0777031479727912, 13.213765666837727, - 11.226925735994588, -7.434238253724879, -12.379361114192896, - 8.1857356067213995, -17.721328914211902, 2.5994412397049405, - 4.580182358706347, -6.1851110111017178, 9.5483993032200498, - -3.388048302369135, -1.2434012601938385, -11.388179126452277, - -5.2704296569704319, 13.836266257339551, 12.426177180866615, - -3.712653671352121, -15.37192782267153, 11.115913266636323, - -0.53084052425103223, -8.5531836317448757, -2.3960965742081477, - -16.824415089461844, 8.528633555428943, 7.4291777654381193, - 10.845205472942885, 4.7533091629320188, 8.706535518693503, - 3.6415567084201865, -7.5311585622382724, 8.1385104057196145, - -5.1846823294179556, -9.0411000335542351, -1.049797347380828, - -2.8991299409155036, 7.6642968095550668, -7.8754005720659004, - 11.234209101420854, -16.535698415852959, -7.0761628572882707, - 9.5129669797652046, -9.0915131266390379, -11.338577074414022, - 8.6917393354363597, -10.441358915674826, -16.799225321298831, - 11.462376475765517, -11.381858065615928, -6.006466185089919, - 1.4218953389200917, -6.3336533594667781, 8.4319232831859381, - -9.717098034997294, 8.0892362419338664, -4.4241276845686519, - 10.777993092031785, -7.9653063564165452, 7.0811172545915397, - -19.055379407830856, 0.82018651615128857, 15.902418361919008, - -6.6523234412747971, -3.5190833152978787, -5.5983997363422535, - 5.961651908141202, -5.283895209877528, -9.485610542033621, - 7.1197178523319673, -5.1431746838525134, 15.731219522549045, - 12.204109650879342, 10.045284749059858, -12.453771419859859, - 6.7070119235556298, -3.2495420061650209, -9.933597401656975, - 12.613995392210095, 3.8923057163848043, -6.7265810636893635, - 10.202198476222028, 14.937110700220286, 9.9291200265860464, - 1.2182368642709354, -13.482511938916684, 9.7397502023428917, - 12.060260344292528, -7.7164747300221821, 11.088723515650697, - 13.59882585990256, 8.5875615550533464, -2.6728882082663308, - 6.9742749868970142, 16.050061905406896, -17.287365682206858, - 11.610268597397205, -0.478999021364924, -13.448866900059636, - 10.268606140244966, 6.8488744118944309, -10.805803643054629, - 13.09149051672107, 10.457994420705443, 11.115406559578915, - 15.265860587040104, 10.387581370330105, 10.68015423177933, - -6.9281895541132519, 12.382285456655122, -6.9998267808613601, - 4.8278805410410719, 7.6728193873633206, 5.1894373221354657, - 0.6047929092252613, 0.026281099406445813, -8.9353793037232094, - 1.8370791762025767, 5.6045212635283859, -13.530818183808643, - -5.2241143603891045, 5.6467000442691999, -8.3601900324819685, - 15.580110340267103, 12.448550246324379, 9.244179471592302, - -10.692642766748435, 11.265438569904388, 14.640272258473741, - 12.278384955124491, 7.2107914118877598, -8.0054847671413807, - -11.462142352840875, -6.0742575491542334, 17.641209829491661, - 5.9871163254682926, 5.7469080116907181, -8.9032409472018124, - 4.2429733292587901, -2.7389315233277163, -9.6446438947698532, - 2.7967348472090148, -3.4148591201095875, 18.664051844743707, - 3.4074255236556037, -12.249090420977334, -0.25565600080895073, - 7.7782868604639885, 10.759195499220814, -13.06615516385078, - -7.9312405028980937, -7.6092160358577825, 13.381488025999262, - 9.2184027828119763, -13.065067924866678, -13.99595254716275, - -10.354516863399754, 2.1159358415695975, 11.204524792614153, - -0.17369963008825268, -6.9519798763711611, -12.165651540299224, - -9.5886410200609475, 5.7958048555370052, -10.156424734101444, - -8.2040790862411086, -0.77913730753640742, 9.4152589263397193, - 13.79774413078886, 12.626464051252848, 9.7362475220497338, - -0.31859196000836415, 12.303528001954142, 15.416856708857889, - -11.722490916973536, 7.731294427210047, 3.5445750942898115, - -8.79441010275605, -12.935601819474821, 8.6274816331847308, - 11.670238397250388, 9.1781032773605471, -6.4700073767892583, - -10.292119361114118, -10.587037840001271, -4.0477617895718492, - -12.416666162915941, 6.0095694108892737, 7.872931310878359, - 4.6504742175567486, 1.1795014476310262, 6.3971417145413039, - -12.975806430284388, 17.687825846257336, 5.9023746681632208, - -5.7648647495656196, 8.6501535760031896, -15.441651023525264, - -12.967673304474536, 5.8390491924331789, -7.6707823630416101, - 10.715516344169677, -1.3799039597705547, -16.268084813446897, - -4.9478113643643731, -19.232343298357264, -7.0326206396257973, - 6.4588825368707283, -4.3623514985780654, -7.2557172005271546, - 3.1729293446071836, -9.2872454414091745, -6.7520172159004144, - 9.360773462449437, 15.075065116807112, -5.8199102241339684, - 12.16458546788604, 12.616259699040233, -2.359417488100592, - 13.342880200649253, -17.433480070010553, -7.8139368511252307, - -7.8860820755753132, 1.6757646091923626, -7.6150460064359988, - -8.9520426221442673, 5.9388268589557187, 17.918089227380467, - -8.385877295726786, -5.4547881664848665, -4.1678660755250947, - -9.5640330099369688, 17.718522536663194, -11.00107119671582, - 8.8235092010494931, -4.1431750124231623, 4.4570344747327901, - 4.3192488744554591, -4.323283429375099, 6.6443095710230304, - 4.2436320742463085, -10.123373133616772, -13.497355900222427, - 11.635677517007872, -13.708283876943096, -11.789269125051952, - -8.6790457755277313, -14.923708130768105, -10.779508566883559, - 3.0111052311215132, 4.3318021997818779, 3.3921649422833013, - -9.9200023970997044, -9.2241497004122408, 13.076316150405908, - 12.198883314765592, -2.8893535664416445, -10.835252022034291, - -4.1756971905060292, 9.3241907874911121, 11.74591818091446, - -0.41468148061332066, 11.005099298412622, 12.90285739239734, - -11.513483161241171, 5.8023997911506875, -19.842759325639776, - -11.14220163145564, 2.6147400997630355, -8.1755408052785867, - 5.8028711345469306, 11.338635411548497, 10.155470431507846, - 5.866099295676543, -8.7506491853715254, -2.3529860236958013, - 8.7192808354659412, 8.7800330321227875, 15.901590800621991, - 9.8420059064360341, 6.2859911462142612, -15.94382946727076, - 12.224223055827411, -11.151539703034198, 19.102240130806635, - -13.231970466598606, -8.3674455522516791, -11.23620392166519, - -3.8671242083470245, 9.4115981420869783, 8.9023690199977725, - 11.763159643569763, -1.2487125207201661, 4.5613554682636828, - 2.1083148435243353, 13.379705903979737, 4.6079544485210615, - -10.991203960864372, 2.6393443559434173, 2.1598167243667206, - -1.4650142251642544, 12.16038132227016, -10.087904284920654, - -8.4087615854979418, -3.6752931249126499, -15.188245869039655, - 1.3386374066104185, -9.4320191721678377, -0.9244876337558332, - -8.9145540437636477, -15.598791129744665, 11.102711779607843, - 6.0092996661745568, -4.1172604182707451, -17.822854113479544, - -10.394956887778527, -0.24904841687850143, 3.5795278142231797, - -13.409786698797731, 2.0004975694652498, -11.751978789676981, - -10.796422076754126, -10.315435500557737, 3.8025558418979766, - 5.6839981235115795, -8.9060443724010732, -4.5042034036314087, - 7.3611600223165743, -9.775589724158948, 13.094252496096637, - -1.2946847639753136, 10.124910678490659, 0.47009194946550542, - 6.5102851671458319, 5.1911915662323223, -5.5275500609095527, - -9.9009560970804795, 7.9394075081278572, -4.9412639244707943, - 0.33209829728380935, -13.572261813403511, 1.278524345210186, - -10.939477249738239, 10.343649119879172, -9.9166521419300313, - 8.5963073901722815, -7.9136794766477481, -13.537752042685888, - 5.7141114425726887, 2.7462370878405524, 9.6308203815918159, - -10.242490205539937, -8.8448491700627834, -8.908163675313995, - -3.1540167553652028, -8.3650677009656675, -7.8645559956153166, - -3.3956135445690578, -15.092273022703647, 8.7386594845279628, - -7.64168736254467, 8.3282894933552889, 7.1206055576658542, - -11.636985714342019, 5.7482913245387248, 0.38557744560440499, - -15.520924994182364, -3.4663093751692506, -10.220555313913019, - -7.8767472306081743, 9.8049255589322808, -11.743691560905706, - 10.90060458412287, 5.7027256343225048, 3.5634763258595932, - -9.4332617402256993, -12.907158852613646, 7.3437710389871445, - 6.4224264741445269, -11.780029658718391, -10.255599411481802, - 9.824815940498997, 13.471325664316714, -7.897911026637928, - 4.5225408816538781, -1.3648220792130474, -12.468016263957127, - 2.7253296783542367, -14.144697784853903, -7.3029368517572957, - -12.793492818023527, 3.8381063883952522, 15.317961843219877, - -6.0052031603156522, -12.514763926468744, 15.877540929741453, - 0.61088113778153852, -6.1592064839769307, 15.436051691131352, - 15.196421844249166, -7.9524221743551156, 4.6960112554635582, - 9.6643095751172776, -8.8061133127716236, -4.1569116006895435, - -12.043869416407549, -9.8489712570407413, -4.416164149455037, - -2.3751241162356029, -7.1076676202581659, 14.549835244818897, - -7.0364463682543299, -9.57459467709824, -15.916210706030727, - -10.343033482420225, 0.17583841065979969, 11.309889143213837, - -9.1767631688394538, 5.4457002218235919, 7.6520636286137469, - 17.875717882470106, 5.4607018998955494, 9.9730091695084049, - -9.4063865838535321, 16.414865690105522, -5.4655831176518106, - 3.4481799490511476, -13.857108102081813, 12.278404314793011, - -10.997015991483092, -13.665206291325111, -3.8917982349406577, - -12.944258946979291, 6.934355479472524, 3.5520742554878519, - 5.8448212130702899, -7.9846728653530983, -10.442030179914655, - 1.8116267084120916, 10.533180661886703, 5.9912045712019637, - 10.181989692640384, 2.5294371945932075, 7.1601923369207086, - 5.2245056838221275, -7.2085049059710506, 11.650748889886504, - 2.2403555267004824, 4.1713007388495162, -9.810284186114254, - -7.7862447167415034, 7.803360341551425, 10.681846395872466, - -0.73514697807991591, -7.0616978292276977, -11.541252153508923, - -12.651346646008676, -8.7083287483228418, 9.9926465847397861, - 8.5725129943174547, 2.4734681347719825, -8.2705868397502957, - 6.3175344994567419, -11.238482167456663, -12.423679267369664, - 15.458102611704938, -4.2203576982288187, -4.8349099076163515, - -15.253882372933196, 12.620734621886482, 5.554707029523148, - 10.681606852240641, 12.740994817703543, -16.701739323271273, - -10.357840015033499, -9.6347705928889376, -1.0197036461171523, - -10.361500412092868, 14.588820454640596, -12.273911322922809, - -7.1534525909864923, 2.4887106471203326, -6.9783794947522413, - -16.914643018696669, -3.308021111542137, -9.7928817800813182, - -2.7773545283755832, 10.664048278214972, 16.124421617806792, - 13.332949981342887, -6.1883417525843925, -9.5671220386460742, - -6.4034398019043417, 17.507113923905393, -15.799219971033381, - -5.1244376222717847, 6.5499056322239113, -6.9274593074166644, - -10.02522942311735, -6.4648383452943259, -8.0559734919978663, - 5.8508591064884161, -13.663385449968544, -10.741130476266658, - -15.586002390849039, 5.3228122736660346, -13.900742729895358, - -8.1443955190869985, 6.0778168887439277, 8.4487327832373822, - 16.179411336529803, -8.5478447352917346, -8.6117715505588688, - 7.5233629399829578, 10.47395956494743, 4.1637262040087037, - -12.577349862861306, 8.6631908916561802, -10.009156639118391, - -7.790039469900405, -10.273618616553795, -11.626063505620669, - 9.8843563429043968, -2.1648389561163901, 12.627488564910944, - -11.92641792129942, 12.875207397558762, -5.689943606778634, - -0.42627508263895625, -14.125378900701909, -11.787997582023536, - -17.510830980261296, 11.900212157732458, 7.6031367772812537, - 4.712889272608507, 2.8558923153710833, 8.3365282584230354, - -3.6907189087896586, -7.9408079865486192, 9.4773464158001151, - -6.669274508902296, 11.235370423403161, 5.7727456834268809, - 8.0009050439562088, -8.8319573086661727, -5.5861440336532215, - -2.2551132729490839, -14.882826705947069, -11.151230464595699, - -10.507341312312601, 12.005985900789115, 6.5277714650756886, - -8.7310816504769733, 3.349640268798256, 8.3943736573172512, - 9.936895256657186, 6.4818064494301222, -16.067249160990343, - 10.531768825793742, 3.9041863577623683, 9.9541300079607389, - 11.579961939779807, -10.041774066770378, 8.9147724692237276, - 8.0612344173860428, -2.5401314754838444, 6.3324737103316053, - 9.4628096279015566, 7.3928636736144, -9.0404812662822138, - 11.702316851730769, 3.0707190712028352, -15.634797015645539, - 10.26301390639618, 6.0417147207582786, -5.3375369794136942, - -10.042082014564309, -6.1393506916846396, 7.7589640398460613, - -6.2464269532393484, 11.710227470417095, 4.0029908782806185, - 14.536059420957649, -4.8965149541372188, -13.224962782852066, - -2.5274991627098635, 13.874630408995118, 9.9091180042641973, - -8.9402253514149912, -10.875826531577054, -2.6027034729150746, - -4.4684662299295956, 12.129794078523673, 6.795964566892791, - 7.8728803304179218, 7.7045296854806731, -5.9256395690174877, - 17.418777047091638, 9.1174986094443522, 1.3699530901510981, - -12.220020717113929, -11.712679953225253, 8.4029580408672562, - -7.4075634699218975, 7.8720925855058281, -8.5979155978362662, - -1.1945499226429255, -7.5751933544001329, -11.567418165223193, - -8.4383645030315702, -5.5893567061119453, -3.8870110517155276, - 7.3717991926841568, 9.867976643627161, 8.6802691916301828, - 13.728961551696305, 11.192620661505453, 4.9023016881224066, - 8.1579717447658044, -13.242924941434154, 9.5936591106736486, - -3.8117214833622475, -6.3035862454812035, -7.7160226172300028, - 9.9959514092206661, 11.756493464375927, 14.37762402384978, - -4.115115883256518, -9.1792609532719478, -7.3145744647627016, - -9.4766698599175569, 9.7751794282507731, 9.0272691314360465, - -7.543155490691416, 0.27054546841006966, 13.742714660213156, - -9.2554118867355744, 6.3732407840439169, 13.866382673947626, - 8.8549907485502199, -4.0914428805898435, -5.4393097243094823, - -5.1615932143538545, -13.820538462633627, -5.7587228301953131, - -8.409032023934115, -7.866125354877803, -6.0574316740498331, - 14.616371069847439, 4.4305070825394761, -12.655433084839949, - 9.7152429270274467, 13.678358991988919, -16.681205684451857, - -13.135523695577218, -0.43019347954747339, -7.213408710007255, - 8.9722417258916511, -2.7579680144482261, 3.1605789086068588, - -8.5917577712716593, 7.6483022386169299, 7.3620421778788163, - -2.5144078967274948, -14.80097919002133, -10.378958057713316, - -12.423609314434076, 6.3492577685520022, -13.755207583373789, - -7.4628641049213433, -10.946311470854832, 8.3964857971528222, - -14.353265947046399, -5.2195947812408026, -11.689219390654475, - 5.1108881774677668, 11.122793692828452, -14.275545912449198, - 12.238691955821688, -12.945127292644656, -7.7272732949939158, - 11.776891843644615, -11.829453859935171, 18.818781543167866, - -2.9742346133600628, -5.5609940173429013, -10.938020112020942, - -6.4631228205345099, -5.5059276343325507, 5.9646255532259262, - -1.0779705695272852, 3.8778210705267977, 4.5845326052873236, - 11.5691050376736, 12.097228792912233, 5.9105157959693946, - -11.166774213386226, -16.587325747347354, 12.440943703498279, - -13.357466549299222, 15.891950718214515, 9.1781340592334928, - -10.64096690701828, -5.2674529143387439, -5.2809357618830521, - 7.3520830481341255, 13.586304026303599, -8.4832759332501464, - 6.3739261163095362, 12.266590270675158, 3.828722886127899, - 4.908685474284761, 3.6917937575859083, 15.641599228776847, - 11.042885241301711, -4.1222572777803022, 10.108222902355037, - -14.555747429456098, -7.5753220961957926, -10.506770331155707, - -5.6575466212188648, -15.537936205846732, 5.0638903880388684, - -13.193604766169555, 9.8591912260526282, 12.19045308257618, - -10.27937514945609, -8.6859184760021417, 10.999805848781332, - -12.503268671559189, -7.7523916905123187, 2.7511802565360792, - 2.91428262440192, 4.9538110547032836, -6.0509214047198121, - -5.8277258513800874, 10.806625396451087, 9.0978591937138908, - -5.9198559325792637, 7.6981625486332463, -13.011979583721279, - 8.5757048389994619, -9.7029712203457716, -7.9451177714223888, - 6.7854513634350466, -8.807201439073868, -4.3828802329481231, - 10.410648673501008, -8.1902920660382321, 11.842120761983574, - -4.1527980583223405, -9.7988786310021805, -11.285180269216866, - -13.018148864756428, 4.1186403754428751, 10.43001479524419, - -7.0461109729085987, 8.5786032717719856, 15.504024777950846, - 11.250457025887693, 6.4135256729456147, -5.7082075180607248, - -9.5999004096756941, 9.6691960845162672, 9.8918269808574824, - 8.9989618758512009, 4.9721805407110411, -15.483517468280615, - 4.5089607195091403, 14.971146029994701, 7.4151288411862772, - 10.333025179117493, 6.1087557040707443, 11.939158390088201, - 9.4227302096150911, 3.0989377240380871, 14.393938803705243, - 8.5357504357724636, 15.79171513099924, 6.1553084792525885, - -2.0683513251200756, -2.0367062690856366, -1.8370657534990695, - -5.6341637554510804, -10.718165392145542, -1.9577132182931185, - 14.110414135064598, -10.923438151562504, 13.350105745198872, - 4.7383841491474028, 2.6284704173289102, 8.3545884091939513, - -17.705997089259448, -6.6618052906582346, -3.7094389338620899, - 13.043407295210464, -12.090881144797782, -0.87424284072270309, - -11.677251243575197, -9.4751367032352025, 7.979339147611288, - 12.192501593634544, 2.4193720583478719, 11.727349419385401, - -13.753140487033642, -9.8845978225030731, -14.58469090828075, - 0.67132150664422219, 5.1992795194822943, 11.98911382060918, - 5.197917631334116, -3.3682229692886492, -9.5973226052799809, - -7.4042120531721123, 11.711164736502393, 15.329921988302832, - 10.544637842781498, 12.707232330190807, -12.260791662759944, - -6.002085995554963, -3.3564688110787517, -12.48230008552035, - 12.742419947435556, 16.280707317322165, 1.797760980082328, - 6.451075169749843, 9.2789684087299875, 7.8328635729252296, - 11.319166296368785, 6.6366058426609582, -5.6821956093078789, - 9.7505100479775848, 13.643278756372229, -5.8821087090272135, - -10.840590644225463, -3.2877032684944933, -9.7530049929920288, - -3.9588761306877696, -0.046283068270417858, 6.4114242454599584, - -6.273247838007431, -7.0068926726779148, 4.5642607847928813, - 5.5679681443306697, 11.011803422556758, -16.417859985503334, - 7.3707964909192585, 3.4603305932723418, 7.3165044946497222, - -9.7386092725447586, -11.054841772579875, -14.157989358873229, - 3.3531121026862376, -9.0818111900906366, 7.9496874275799314, - -9.7922025138451669, 10.892570063558015, 3.1925967027925428, - 9.9288316965895511, -10.295865327908349, -10.749616464301408, - 6.6541457023403892, 8.8843698521826973, -4.8260039438391669, - 7.0098869680757296, -16.186198061926294, -6.3409635703000591, - -11.862142531167313, 9.6735958918486578, -2.4892150310175158, - -10.169290524477779, 6.6322096491333591, -2.305470093930718, - -0.92641224293566915, -1.3010295726717143, -0.11437024806972292, - -13.427505183685376, -11.30462950847023, 16.047768688138433, - -14.215325469420904, 9.3351350662345745, -6.62593414805026, - 1.8173348956009636, 9.6688678736026201, 15.434722843484117, - 4.7741734648897634, 7.3832922534979426, -4.0637141564326127, - -16.632389376826612, 10.935696435540672, -7.081299751733459, - 0.22763411781244652, -10.55933337996192, -6.9479455795804341, - 9.9512334143567251, -5.4446202104490693, -10.105751963329556, - 9.1634336498698268, -4.2792605756754938, -9.2549481581422839, - -5.2489925669533992, 19.990654802947347, 10.890656037663639, - 12.487357089066776, 19.360197646812569, -7.3783790277563934, - 9.5046824613475227, -13.591058244634368, 3.11317714742817, - -10.723902307250402, -6.7339814905779498, 14.077111891404819, - 16.803064214501958, -6.6876176657608646, -7.9006602931645018, - -5.0764202236341491, 4.9841071290352268, 9.7814723530355394, - 8.3971640792724891, 8.2735062132309363, -7.343717477237572, - 10.704175450350458, 3.3376016525255663, 8.5376145056555295, - 5.1183016398664902, 12.788877989306105, 4.823044753973603, - 12.09038966734628, -4.8326440520127303, 10.836783759007622, - 9.7445450759775536, -5.0643687009157787, 8.0020380362902461, - -4.3544777923263842, -5.1443620768550948, -4.3841879140244435, - -12.342919506685856, 4.6585657846115112, -8.9955353113214418, - -3.9378324291350699, 18.76831940558948, 10.593515326959263, - 13.755226684913398, 17.32223373585656, 7.5677818925004896, - 9.9959949039426075, -13.467166175002891, -3.3233741030655093, - 5.8397368478590215, 5.6554446774753817, 12.481137989151302, - -3.4605381289188801, -12.936456484307767, 8.9588216682055783, - -11.358027862440869, -14.535078014828125, 8.4036740098083111, - 15.318980936170789, 10.181738404142989, -8.2458670275406121, - 6.5273443907881292, 7.5693966824517709, -11.487789267309887, - 4.6197821734713367, -8.5101700136982927, 10.347196972732212, - 16.93143430452665, -13.651395878189438, -13.007370433839954, - -7.4011539999326379, -12.282594263318641, 3.3436733608313731, - -2.9447552589107668, -14.307488849249935, -2.7255444416103551, - -8.7895841084542443, -12.266575557327084, -7.4131469273876203, - 8.1019294731314577, -1.6653052256131047, -12.591122331046678, - 11.735557144451287, -13.013584629306072, -7.6922705625835368, - -13.284713947515424, -5.8184980008476366, -11.849770154209333, - 16.688688325399426, 17.471854546822666, -11.645255906604998, - -9.0885843959852775, -12.647963608466975, -3.8099543328197099, - -10.880874758740418, -4.1473670259801008, -14.639569631570911, - 8.7138093857824011, -13.822796058112012, -13.738345053963657, - -11.393551563531128, -5.2322322565930559, -7.5536960558140018, - -11.275837809446775, 7.0493120295662086, -11.495883157524871, - -5.3506068206962345, 6.0863457261783367, 2.6024562610224224, - -4.3910043242459986, 13.266082202531447, -10.633085069705819, - 17.389083961901875, -7.2756101633830044, -13.763828056572528, - 8.9856589118935606, -13.480273961235731, -3.4553497377554279, - 9.7381726474873975, -6.369724810111709, -10.086391133229103, - 6.4293949222961952, 5.9683952678802079, -4.0990824639168837, - 1.7437098180891848, -7.7016012774880576, -8.4844600189760193, - 9.1893202047690039, 8.6651007642966693, -11.829582408134147, - 8.7826963578541868, -5.6119822216472128, -4.8323497850512211, - 4.1293398189117854, -6.8453470802900247, -13.137052335003585, - 14.1466368492529, -7.9020692253071836, -2.3198030355941053, - -12.533244924167176, 12.687624857913404, 10.604333767857344, - 13.081925807956365, -6.601747726974426, -7.7407580139728465, - 7.7496708826984708, -8.0739640447604515, -3.3367864814164028, - 3.0374065023865104, 8.0080286921171826, 10.711993271692345, - 8.6119291624602106, 10.926957223041676, 0.29045126210502026, - -8.1587846895130873, 8.0274389539045909, -2.9453365652242041, - -6.5448805075983145, 6.0833041931893339, 9.0075953200278462, - 3.1312146796530302, -6.8006849703358769, -17.775984097862878, - -3.5369907505502827, -17.576852096236113, 10.520521116512336, - 5.6330901972994001, -11.836467222517808, 6.512983517744197, - 11.099469938581883, 4.8689021298621959, -2.4840163146975192, - 8.0459475068645521, -12.445118938675833, 14.454596000855354, - 18.749585441555716, -4.3142804847329792, -6.8140088104694048, - 4.1938343604915413, -4.7390036585400539, -17.047960923737332, - 10.043538248830409, 9.7312884784260216, -9.0825885775800721, - -13.400536391049796, -14.633811808024046, -6.789844072222313, - 16.459902474177767, -10.704285929525481, -4.143102220069526, - -9.9729425722486944, -9.0733585329518576, -9.8252388847239356, - -5.782652929259938, 3.2702429125204531, -8.96578492151286, - 2.5738390571445646, -7.3003453665291635, -8.0675295362665729, - -6.6523497704239851, -4.7114734355173855, 10.817370657802163, - 13.229340132968971, 13.936824505696832, -5.1449108589254182, - 5.094805455505635, 9.0851667046369275, 8.6935818878545188, - -24.541887783667313, 10.200171777056864, 12.926037368839031, - -8.3872175171792787, 8.1448038467622084, -7.8438775464753672, - 4.6813748298043523, 10.472220550456475, 11.662260406917614, - -3.6150086659137828, -11.822927586612508, -0.27115354452394252, - 13.465234854471303, -3.7022629500638824, -17.032244486703604, - -1.1420650868975353, 12.524864252729175, -8.5199248989400953, - -11.953891355961096, -4.9768544809496795, -10.750856257473449, - -10.338547847224065, -14.03803375517422, -9.7465993949364762, - -8.333170323918182, 13.500209257233413, 14.975504278572, - -5.26565375581092, -10.378505557727769, -3.378579617560292, - -7.917681184663131, -12.088911879315894, 11.471471648036372, - -10.467886695061511, -9.1538487102515216, -5.8725628436732009, - -0.72700618400923545, -9.343116993033286, 14.132267328890361, - -9.7492192743451049, 5.8447783636706321, -10.314022502884665, - -5.0427078887372296, 3.1249540209824644, 6.665534608137536, - 11.00125240321317, -7.645872535685398, 3.2994904672053322, - 6.1087469276876813, -16.636017120578416, -6.7142903845325383, - -3.0637836635521074, -5.987429177711582, 4.5867414144010388, - 11.903338873262948, 5.546621915691226, 8.877828171790501, - -9.5325826476356177, -17.925038057734707, -17.95754681311406, - 8.7021632908222255, 2.3500014615901241, 3.9781454540883514, - -8.2968266440677425, -11.584776302147445, -13.871114693191826, - -13.808169957609348, -15.365811199934758, -11.722093398446583, - 7.9065699610447933, -3.7867986204958983, -5.193748074992663, - -7.0063567970532725, 16.155003698975008, 5.6285796526630731, - 1.1008459538509225, -8.9404468905550942, -15.492315017914086, - -1.2254804022379275, -17.53578378608163, 7.7334490937841336, - -12.575066454491562, 6.3539397107869613, -5.1940384700204669, - 15.478815908248222, 4.8153649025360403, 10.549527191598537, - 5.7586154485672525, -9.1523285568131882, 8.2301933431081995, - 11.076049644121628, 1.4048748346148339, 17.680992657656397, - -17.156282141042357, 3.9405618842675247, -11.022968272456895, - 4.7039306505329463, -8.1033152382041447, 9.9320461759506689, - -8.6859035771239075, -10.416803628381452, -3.832332560855745, - -5.499421495065147, 12.037089144233898, 9.0578434364707388, - -3.7499073524213604, 12.145318983903506, 3.2868973900262204, - 6.5146639369717629, -0.11912077698912106, 7.7687677759847649, - -2.49234974854433, 3.2195262598332541, 13.864824607825108, - 9.7585587656326886, 7.4620959132744549, 14.530253585432856, - 4.1460655399977071, 17.133860547348835, -0.21658147838314543, - -3.7441443662962248, -7.1864742485171842, 8.4883177394567841, - 15.567779522064212, -9.3135632329246416, 11.773164978389989, - 13.375249050157439, -15.096103139523713, 10.872541583022523, - -8.728983764197352, -1.117019795319558, -7.1802026193677921, - -8.0663754418938485, 12.138614601630454, -11.500707586920139, - -10.339554937180493, -10.49665361370926, -6.6853747836305537, - -1.9202095928289293, 6.8414250695767178, -15.668081706539194, - 10.026696627862279, -13.046912685857212, 0.96073616083549684, - -6.4951989518546682, 7.2727331875764252, 0.12275884589746414, - 8.1031294499185762, 11.748755017674974, -15.961396688615034, - -6.51983232314441, 8.3790045327367793, 19.882188000935049, - -9.8802908125151241, -13.782260526035202, -11.711868137791965, - 7.4910613330567655, 11.316626049730003, -9.1713170036896514, - -1.3558918513179827, 6.7925213853142195, 6.6380651744740211, - -6.8829192924386522, 0.87177461205081652, -8.0191184910356892, - 6.3367390325000068, 8.8409368391837333, -2.9806062674634788, - -3.5263764896228627, -10.133785537733756, -9.4693079587693259, - -9.7921417244860152, 0.51861812019185616, 10.09230254347956, - -12.971764905884083, -12.052273835705604, 18.583085064671192, - -0.86204580890364102, -7.5798316728486936, -6.3042697708444289, - -5.7839575127892955, -0.78031489164027179, -6.0756300205878695, - 5.920047464233158, 15.90125420051865, -8.2561890220056036, - -6.316730427890862, -17.112560781913842, -15.618378467966808, - -15.605165881395044, 5.7827066200739683, -5.814448216322095, - -5.6579673713480405, 7.858747062543558, -8.6800762584169533, - -8.853084676252994, 6.5398358942397392, -4.0769566859583541, - -10.070967930641229, -7.0444315327388098, 10.713537398853527, - -8.1858054951247574, 9.8392166944600792, -13.273657253630088, - -14.782824983527521, 9.9738045937556752, 8.0727677463103511, - 14.051009379403297, 5.4554221310966806, -15.51431224767364, - -18.95094561196472, 10.452335718661404, -14.373041203117644, - 9.5424493026970065, 12.041271865149948, 17.745166603125458, - -13.655476896313528, -9.5246702220468933, 8.7645428450818343, - 11.009556926621658, 4.4129976820718504, -12.601276089992229, - -9.5125587488883401, 10.369218466609645, 13.637847207772163, - 9.7106767556102369, -9.5153697082252648, 10.617905798941301, - -10.171392984479089, 4.9033786019499654, 10.785571756935216, - 11.517977185627027, 11.995050011235344, -10.765606388919098, - 9.7124115109741194, -9.4336423513088103, -7.0799866499499524, - 9.5573396626749716, -3.7400406328277387, 3.9540016242832605, - 7.994573528898858, -7.0926119932432652, 1.7747890555450034, - 7.1277441127715875, 10.31968262463773, -9.7427242346209866, - -4.9706229908463513, -4.054729205207865, 16.644700577232069, - 12.446337049019133, -8.8266798630275254, 9.9533330349399822, - 5.8985788824886667, 6.4254992407320772, -11.330274874165758, - -13.621173112468961, 8.6583130537753785, -9.7467426564835247, - 14.019625549829424, 4.1025672798571255, -6.5243455781343291, - 8.1179973526810585, 5.2868657574152893, -11.404734998713046, - 9.4001119862216314, -8.8837391303153623, 7.7029578094612781, - 14.205110275793917, -14.157972838622758, -12.835297828097444, - -11.381216873394536, 11.348319892129114, 11.774800999444416, - 13.115060784080129, -14.714424435227102, 11.107448445172487, - -10.261586453503945, 19.217080651953655, -14.700221149884923, - 9.3055840164795267, -7.0684493200274821, -8.5129268466286465, - 12.827336358015138, -13.690486404607888, -12.079784957188663, - -8.4049758507179604, 10.196261124015754, 7.4495433623347793, - 7.5202963684893351, 9.2973011113675526, -10.041509871827305, - -6.9513248742528893, 6.7356155756655234, 13.909493816324378, - -5.3404146005425579, 8.2096549934361089, -10.182158508949881, - 7.6093153509572931, 7.5296889052686655, -12.394287160493166, - -10.829602612631144, -7.3124772964041211, 5.1296451149748439, - 5.7371649358467129, 14.147479898284733, 17.780386744613317, - 14.149104045409134, 5.4181418627493398, 2.1898190479949791, - -2.1708656743846504, 11.700068807022188, 8.0902996039934596, - 11.56005684486502, 13.903452567230378, -5.2245020700173379, - 6.7443105190558361, 6.1193142091528268, 8.8016313720455379, - 8.0768030756167306, -12.839067800880638, -1.2830901294340233, - -9.7878975688885284, 1.8645477064148943, -13.974692533580448, - -14.857731412966432, 7.2303550022498513, 9.8062609888668142, - 3.3278991029209983, 15.032376273333014, -0.49801478656576625, - 10.077175027562221, -8.9735194962801099, -10.235221682526202, - 4.5570596868834752, 15.726532933993642, 6.8757914496828327, - -14.729377843192212, 12.167391329176921, 5.7539347969768624, - 0.48952544285513888, 2.4543908592831225, 11.257709673973242, - -8.9874216419784538, -12.852189526074815, -2.9421713884855847, - -4.7431055851061448, 9.0271745594553234, 0.94219527722910723, - 6.7616955013871047, -3.8898503941585982, 6.8294182031604, - 10.167070228627409, 5.7844531203034171, 14.427801187107544, - -4.4339900159707417, -6.3113030093534128, -5.2080910080771003, - -8.2150554052359741, -3.4738142152033902, 19.811997586747694, - -9.792139014132422, 4.2054775232685886, 1.1862726852927021, - -8.9696414965465703, 17.03843493430967, 11.619001614802277, - 11.495144908831962, -4.4987478490423758, 9.4848886845267248, - -11.077080611002563, 4.2507486883943866, 3.9408293058220196, - 4.8149498312429637, 12.808930733959476, 4.3710690282483187, - -3.0499835755729792, 8.3933523380044619, -8.7347974807205393, - -11.329742354216993, -7.3448458877833938, -9.3568981730694905, - -13.564284597457476, 17.95771511316574, -13.828593117253744, - 9.4721834503346507, 8.9318657174834524, 10.55666510138199, - 7.8641845481086392, 8.7199534064833948, -12.387154026094619, - -12.267566772355323, 11.495709953023843, -6.0056535952698926, - 3.6624945771183075, 4.0383886124610404, -8.7930635410121187, - 2.3941772032131632, -6.173478947867955, -1.8157670205797287, - -10.032402438433051, 9.6184182552765449, -12.109808963645667, - 7.486517747919498, -13.476166097704631, -5.0446331966972275, - 10.776335775341987, -5.6846966203517937, 6.7152716615976056, - 9.8681202923675819, -11.598779795710493, 13.508729060155845, - -1.2440233508756258, -12.813026981689468, -2.0889856342157977, - 2.9985539708264048, 4.5334945821026871, -6.4388481193702214, - 8.5100323825881699, -11.680469594870019, -7.5127903668750857, - -8.6224230687650287, 5.5911326330375433, -3.5923542399401915, - -7.7762287341035901, 3.168850391514404, 12.408893643198397, - -14.794116574724242, -7.0600184425157861, 6.6862419677158096, - -4.6942430724053663, 5.8848234508115915, -9.3764550520798284, - 8.6974679621831363, 11.149167498318171, 9.6316081265039113, - 12.861435187502302, 8.2813864372376838, -6.5239712912096026, - 8.0017129229235628, -8.3170860531825674, 9.8084833497484922, - 9.4805867080525932, 17.910827544782947, -10.757043091274724, - -17.314809948301299, -9.649280148187108, 13.759896753218332, - -10.998439056183795, -11.186617615490665, 6.9991497087209762, - -8.4727056349033241, 13.896627638754673, -13.329481761259695, - -7.4445754132635464, 8.9771081657676088, 12.794499520786585, - 18.176470074804723, 9.4507759160782268, 11.029010554066552, - -14.710045020078885, -6.8851568829262328, 8.4640336972524359, - 8.1748496328462945, 12.053805056421105, -7.4527756525909359, - -11.579587394726165, 9.279460015245947, 9.4393155085720117, - 7.7509113211927971, 14.315942571170485, 7.9883391993774806, - -9.7307158194311896, 9.7270282543036615, -6.4400171852199373, - -8.320396491967319, 17.027720003105944, 7.9088061318233498, - -6.9662181381811319, 7.7440903291830248, 8.6835410865248903, - -14.725951439993025, -13.65323995114823, 5.1915728226377169, - 6.9332430729193453, 13.509622186196918, 0.58467227666761168, - 1.3594487921408738, -9.5031391731053088, -10.293746605785483, - 1.4609130729849051, -9.5213145461700357, 7.3522665777916991, - 5.0984133233310844, -12.085784131269749, -13.047710820458079, - -12.236720883437403, -7.2607844001656696, -6.7156109720545389, - 12.974343871859906, 10.331032165775552, -14.595868922755482, - -16.515482275597275, 5.1852148493667212, -2.2584173230432225, - 2.7573407611881664, -5.7248712882073818, -8.4038204979667803, - 5.2602206584373707, -16.786220270373605, -8.505222795605432, - 8.0393368253871387, -3.0364416165074561, -8.0253326219695786, - -10.244487348944496, 8.7677985282707862, -16.64905159819979, - -6.9414375043461796, -13.792120018019242, -11.520571639337666, - 15.997074750795631, 5.1571515901374614, 12.011480432844102, - -0.66154822971732552, 0.6809223534568305, -11.149936722480716, - 18.565726411489109, -13.687163769231971, -3.6279553797045336, - 7.5040200498419987, 8.0177420186038937, -11.92371969976551, - -10.494591034625103, 11.978188256211952, 4.8139792665278112, - 2.0276526555698693, 3.4530936910505243, -2.5078901416589794, - 4.2361215553760694, 8.8980252911718622, -6.1080037745454145, - -5.8943982266039257, -5.8465806197454198, 5.2882382288489254, - -9.9868601088835121, 3.3115848393233618, -6.1518947243701678, - -8.5727172146207593, 0.86317951109219171, 8.4192432326959992, - 8.4194420403586445, 16.523520926224748, 4.9460289842159337, - 14.61523168882279, -6.2384946517242801, -4.4620883807322542, - 7.7250368015542179, 14.500054051314601, 14.151224316305482, - -6.1879519779248495, -2.7212295586905411, 6.5629586951270671, - -10.482198394547403, -5.1702702177846724, -6.6638561248768227, - -10.225374064472188, -3.5846676771508745, 2.5527508818121447, - 3.6391349429527482, -8.9953388429520746, -9.2417485425484287, - -9.12945807693891, 1.2090788910674934, -9.630853551157216, - 5.1515793612794791, -10.011254323734802, -12.61349255708639, - -13.927778119790645, 3.4056253326121246, 12.068250724813156, - 9.1910784498640208, -12.709192819289633, -7.6486128967644529, - 11.067689364867803, 8.9893153079547705, -1.6385475824288549, - 8.9123970217632245, -12.883575420679991, -9.0371785390987576, - -1.7686534068752013, -10.406335210290218, -9.2527616771795973, - -4.0434190287293665, 10.983497522148708, 15.093053604538387, - -1.5142378602151647, -3.2411399100271918, 10.944473334861055, - -8.9394866509964857, 9.8641405898420818, 10.202973250156212, - -2.4112327374440925, 15.169414332276546, -9.2420519730863706, - -11.729059265309118, -7.0691394276780031, 17.896668657613908, - -12.212623000578935, 9.7541379207938412, -10.261520630630978, - -7.2137735752266341, -0.50093887089907907, 11.217935364062654, - 11.758529327117524, -10.306983843668496, 7.6875480941091405, - -7.2653149497928009, 14.26959242718582, 5.2602691866731286, - 12.115786454898007, -7.7760266191642371, 8.6845952325756155, - 14.451174760234439, -8.0271429445729154, -12.200958154973145, - 9.6301740267921527, 6.4792620727287229, -1.2107082007701655, - 7.1453868368230911, 10.372100346865585, -3.7046356710377353, - 13.618489604283125, 14.774146173194307, -8.1296078621505359, - -10.042457463069148, 8.9277404625167947, 13.941142486163608, - -11.923804624178089, -12.287479094879695, -9.5607214095721051, - 3.5134354546682105, -3.2118861602483855, 3.2586988712462297, - 5.4377916681685745, 5.465685336701597, 7.3269299342768415, - -6.8187112739529958, -15.457066482245729, -15.863114104760093, - -11.392836030182616, -6.2231646336742177, -5.6946580732567078, - -0.12054977865483564, 16.180926553252661, 11.378965473010075, - 1.0172865269701592, -11.428245638293065, 5.8537661543134307, - 7.4606083163453523, 15.806102204127907, 17.663486354735731, - 13.393445073535254, -12.592653293633267, -7.8594023873229713, - 8.2731824550410469, -7.7096227625427769, -3.797994187736756, - 10.57439107200813, -6.1890944564964636, 13.848252215313867, - 5.5608104876853286, 7.715450280896313, 12.485414668991902, - -12.914020693523998, 1.7226826367869563, 8.1714019985439652, - 10.986144634157721, -12.026111695925035, -5.8276979734574184, - -4.1594376502380772, -5.9915197466054728, -20.790381542951796, - 8.5473752794631732, -11.821961410088885, -6.2633191674745454, - -13.324424499584351, 4.4359567001634943, 5.5901099262818423, - -16.026794681392406, 11.146610731428918, -5.5799373239256003, - 9.3586712605770401, -12.901383218171745, 16.924692493561125, - 12.342403248858647, -9.7927013479707092, 9.3995592031531459, - 20.564352508527435, 6.4084980960953377, -1.914969575882757, - -13.062687976283243, -5.9672724071060284, 8.3619988063118242, - -7.0327318931875604, 3.8820053402163275, -13.929507583511796, - -12.070173527090596, -4.5562181866251237, 2.1500258946736981, - 4.3411268486569279, -5.5508998861763938, 4.0867857187305887, - -12.048371959047554, 7.7208884763159062, -0.28618439116313671, - 4.7103454121649335, -7.2593849542605628, 5.9722728804203769, - -9.7793294958592529, 15.055495847608924, -9.2621092349957301, - 10.708264470470867, -19.295178071022541, -1.5429531530801917, - -9.2957096175507239, 8.4504278351477389, -5.4815184480042749, - 13.222096003137574, -16.61024243229717, 11.263931613306763, - -11.480221960078653, 10.905274136169979, -15.048986352665642, - 7.9101002611317055, 4.2031424891161224, 0.56894559008391909, - 1.7204890572791447, -5.8203449132244787, 8.0918850963130478, - 9.2487791997682773, 7.5605820317777743, 9.4865148321502062, - 5.3245192801717023, -6.4731250578077741, -14.860399433417449, - -6.9953105573889358, -6.8322984055784008, 15.860067151063904, - -11.254002684644968, -10.564877989026145, 7.1711824335463366, - 10.802265599100307, -6.485430837506045, 13.127502081458044, - -9.0765346156370761, 6.4716596599652405, 10.786797223952554, - -7.1498649862807593, -6.3155763335181359, -4.5977036331039978, - 8.4663199773063447, 9.2713482496036939, -12.945417687672462, - 13.368304866123649, 10.471163770684178, 9.1602792500133514, - 3.2745118484936455, 13.67592225504449, -6.0110505545955375, - 11.64645052721716, -9.0613792217970666, -6.0805752543147067, - 17.424722272229776, -7.9367116097541714, -8.4155350011223256, - -7.4653100054422028, 12.349168033297483, -6.8305278993599865, - 11.598406799430336, 9.8206521920580947, 1.6301930576177086, - -8.4162124281899668, 4.8582834807432453, -3.8450454854573501, - 11.801494110400265, -9.2627975357438572, 3.5562729803965443, - -3.8874539253246931, -6.1729954724127722, 9.5829128813391478, - -12.291755258462466, 10.552669523928301, 9.923212359204836, - 11.206000773742145, -4.0020915571456204, 5.6859671308645545, - 13.363069495497923, -11.467056869226994, -5.9936294342163636, - 1.9690754612055845, -15.62010741543013, 12.803917096070535, - 14.389056553433326, -9.7502242992702239, 2.7524440556970875, - -12.990040174838372, 2.1198661124081397, 12.255847203419847, - 20.256703111621302, 14.985208893207879, 9.2135163379452116, - 20.45261985950021, 10.557627664100822, 12.264203352611055, - 9.7773986915854909, 2.8954438600292312, -8.2179048257810265, - 8.1597406054123933, 13.047920937393751, 5.4709800769774564, - 7.9398715593822899, -8.691252895531937, 16.14635896165839, - -10.141845225867687, -9.1097800064036356, -16.007845954102521, - 0.48695293010215607, 14.742398381852254, -13.906870710304331, - 5.5651950654118147, 6.7979564186546204, -13.835394297869396, - -7.4739339633812749, -22.175297887770014, -9.5064261221589206, - 12.802550303472998, -11.0504308657042, -11.700140824989083, - 16.737304324987711, -12.808634660095572, 1.1953293963554319, - -15.273191964444301, -13.965760240654076, -8.3346572109927717, - 9.0099924341840349, -8.9783896144930857, -11.606954480275437, - 7.2533828116969712, 10.911607070936354, -11.991126193619641, - 11.25900728802193, 12.966329743479223, 16.157352155830981, - 11.148162086199683, -6.3267940998455634, -5.6484589346865013, - 10.642656618886736, 9.3573367986259317, -10.901355997390375, - -13.680427637102545, 10.565345460488684, 3.0228764258397089, - 10.951589690880219, -9.0433075197572688, -12.406176320124878, - -0.066524505159634262, 7.5260652915794841, -5.9032373349924878, - -17.023974036311714, -7.1371762723391567, -5.4883456996402025, - 3.8829428644305395, -10.012306328122195, 0.18605677744032958, - 5.7586435846188353, 10.620093957741931, -7.1087775745866653, - -12.560913762416449, -16.477297265407753, -8.9040127849196065, - -14.589971709595272, -10.658294584730728, -8.8075097417950552, - -7.1214824215853678, -12.539396910565111, 9.565864047385622, - 12.844310399115948, -14.349669695022058, 10.27170291282148, - -18.602342514141743, 8.5583634320554225, -4.9370326753189877, - -2.1382722527216274, 8.2073659384963786, -7.3732813689060732, - 2.403264814138947, -2.8005536063568806, -7.5845935705146426, - -13.779475315057411, 10.981204046751332, -4.1731763035357679, - 15.871386103925467, 10.917116574468329, 0.80707983804068206, - 12.790445864327342, -3.116302572314094, 4.4957628462854533, - 14.079577538787566, 7.1226099286799922, -7.8502869519323975, - 13.933901453879173, -19.700422912615601, -14.243844584311592, - 7.0725920309619212, 10.332585843706537, -10.845203407911576, - 0.24231486603821201, -4.010036765106368, -12.998698334858497, - 7.1339997379283391, -16.057450071172088, -5.1660849155794875, - 15.518273493981818, 13.181443280533991, -14.320590440388848, - 15.137001600853049, -13.187637858202674, 12.240158386179877, - -11.210103216566063, -13.194037906486583, -8.0391954352747117, - 15.317310842099767, -15.108473709579298, -14.253152712936174, - -6.691756891954971, 13.66845665060522, -0.31309130846603073, - 2.9234363919361646, -8.5151074390254919, -7.41413904586706, - 11.28088164841861, 8.4122869650024406, 3.5256072654603212, - -7.2527553003079994, -10.408109330313421, 9.9160539281727544, - 13.090530793420285, 13.252806116246937, 8.809461873970303, - 10.15538641054647, 6.3403228943364933, 9.959071627882782, - 6.6996006552526728, 11.443622119547575, -13.950181644460212, - -4.6587315033740442, 13.272647969577896, -0.52216790901174581, - 6.0998404476526691, -9.6031992971915585, -13.780500603102247, - 4.7874134131263686, -8.8596952931981772, 10.85639587760547, - -12.534681927829213, -12.092645714051185, -8.6391701943844605, - -4.8885656161138522, 9.660913373000982, -1.0379079296202014, - -9.3565089146677742, 5.9411223993844029, 5.1576887564066709, - 8.6467421625567198, 6.1854396092087365, -2.4087898054057382, - 11.758245385312559, -5.8302756487886729, -16.761840510741479, - 6.1253859174586323, -13.103426397686144, 11.514572465256583, - -14.597527659154306, 9.4987085193677441, -2.2754109819414654, - -10.39419192274306, -17.821637810038638, 9.5875357765851206, - -10.355595326000792, 6.2790668381068189, 7.8149827894831558, - -11.861156478717344, 9.5488287652000583, -10.552949593799564, - -16.98950918002506, -10.835301066527878, -4.9896672258342694, - -6.2191845439553486, -11.694221412742303, 8.1128454544927671, - -7.1327951793530033, -12.389634386825444, -4.0686237683693713, - 8.5194595893072087, 2.7623505271434041, 10.105013714636646, - 11.118801729179557, -8.5972251554248107, 12.260440091179616, - -14.295932934045686, 15.656949639011085, 8.3668325283479845, - -10.909619736430511, -5.7058231812857594, -8.8792231004396225, - -12.772901358327463, -10.173872828952089, 15.625530187647135, - 9.8172850294445819, -14.666220409384927, -6.9229469558779426, - 13.2357386324794, 16.416641100773294, -7.7106007484641959, - 4.5769714931500189, 14.014974583064099, -9.3194159833794838, - -13.619447262552601, -5.7549461460603641, 11.353782674327727, - 5.3123797354937929, -6.2780291598741282, 10.283760630633777, - 2.8416570220436186, -8.7924968028492412, -6.2145129268769326, - -8.4587877594743066, 13.21973825364071, -8.3756195269621116, - -14.249415522525007, -9.2323116721281888, 12.911316018767248, - -9.277212873988562, 6.716305209767679, -4.9026416439016236, - 8.5848515967203962, 6.3894308876341093, 4.3142065842571071, - -12.53857451184637, -6.7276552671633283, -4.4357762680528854, - -11.146937264504627, 5.2427117742275726, -5.4735275512258177, - -3.5731654527606547, -1.7709635850453831, -10.860422946786615, - 2.6061236810203359, -9.081063810087409, 17.410378564758602, - -11.562271849072657, -15.109645098589235, -11.611926301280375, - -1.2930095073260202, -13.062975531892999, -14.147243968457699, - -17.161087985155845, 9.2826154476180776, -13.266400217353009, - 8.653694537898172, 7.1765864914171047, -1.1801952981507955, - -14.913000943431788, -8.360713646983216, -9.7487048234202938, - 5.5607906117589812, -6.8847495555005649, 12.135286029289524, - -6.5726420141275721, -6.2708900885105674, -3.9871226614456905, - -1.7065449333662257, 9.2413980680159806, 5.6109535779264972, - 10.777876030569464, 13.517695426098815, -1.4097374670893166, - 6.8559516613831848, 15.778819010475557, 7.915591437510817, - 5.2510986407594995, 17.28606471248229, 9.7631667539339002, - -6.7645527303317934, -14.786188403271789, 10.613014385092955, - -5.4286283498645256, 4.832380760520854, -9.7056418220859229, - 2.5674523559575797, 5.6570084224339992, 7.7122248955885961, - -7.6527439273655515, -12.134048817406615, -11.941614228572236, - 6.2729422133737236, -14.442283251676416, 9.0248009672963878, - -9.6470625626903299, 4.8059610080845125, -6.0434803225273335, - 9.5585090511858297, -11.233511637096294, -4.7272838314756651, - -7.7200282617113185, -7.9060890668787476, 6.1284868200977645, - -13.169729390434615, 11.508050321996537, -6.7743354289640365, - -7.139861200234014, 11.666341425041699, -11.740039036778199, - -3.4764739755291716, 12.373141498019594, 4.5345952437902968, - 11.31832376359478, -14.579887645456397, 3.1465160453936818, - 8.4251430916775725, -4.752562912242789, 6.9415998674328367, - -5.6167379887514626, 6.3561211582358341, 0.47321530932012074, - 11.649692884500945, 13.388781200324246, 10.33961869502215, - -7.5458338362989776, 13.615088497717474, 14.816185564321776, - -0.54012490501556154, -4.4154331283717081, -5.7552713884915052, - 9.9330120943453792, -0.83508107072409921, 5.5921318500621071, - -7.766548964375648, 7.542532883751802, 6.4600363731145398, - -7.4284231255591973, -10.057876793723317, 10.313265410781062, - -10.16191281293359, -13.823600904064632, -8.0242560308031621, - 9.5162645766365035, -6.4523072190544797, -6.5950575417916228, - 8.1548439321874291, 4.7423131293413787, 17.951658376336923, - -13.632282980910503, 14.90377954612218, 6.9734171710592294, - -6.8104705083861701, 0.42653321155256052, -15.582049920923927, - 10.065678352943644, -10.837777555324999, -1.6032427746573299, - 11.353931098453048, 8.3048835250497373, 9.7678727021578275, - 13.302700370215392, 6.6502142699217339, 7.3539178284520261, - 3.7650419668838242, 16.069166542560598, -3.9062359013363892, - 15.49968253336619, -11.93181100869136, 4.8725969871315318, - -16.361950811590066, 8.8590621997714489, -11.618381589151797, - -5.4456400777867211, 4.5022421401458406, 3.9805429554379104, - 2.7721016049837304, 3.1025288134841538, 11.319142806637647, - -3.7358641070056167, -12.649035101587346, -8.5398583799688517, - -1.4954904734778918, 2.8243851001765097, 7.8276107140656057, - -10.753812220727593, 10.018148172630438, 6.7707798322435906, - 7.4561472033959815, 6.7346819233850157, 2.5155524403304175, - 4.7270961717554743, -6.9262359054306355, 16.758386229619624, - -12.476237927984346, 8.2481971895098347, -10.635029683876461, - 5.2645197954934559, -3.6192776018869761, 11.498933466896935, - 4.8409026284745957, -12.927282840847173, 12.37329456846536, - -10.743604900032471, -8.23442355974435, -17.477812162148659, - -8.8538798907705232, 14.867540311683406, 11.384561707857021, - 13.580476507950065, 8.7732454274746843, -5.9443472039020646, - -6.3416623252691879, -12.490426499978449, -3.5834570525460694, - 13.605738035951063, 1.3320840297518255, -0.28501971350495253, - -8.5250847103928926, -4.1564691677316246, -11.748106081586172, - -7.2665790070827212, -14.034318247591797, 8.5019355400237355, - -9.7290313992054624, 5.8293474172153505, -11.67832196230883, - -3.6743845111367621, 2.9538037098482617, 4.5686747136089405, - 11.580097199330536, 0.6609922956440013, 4.4079244164038656, - -0.739867123394089, 10.072401965820758, 3.9113086507465464, - -2.4793539902599937, -8.8591449946204861, 12.365719775495634, - 5.0961647623646762, -10.374552313415913, -10.169113964300875, - 7.7445033354447919, -0.17125566553424465, 14.777534889572108, - -6.7190002046901665, 4.584757693699987, 9.7576507971790853, - 4.9707592829127343, 4.7058369325599161, 9.8474915330435024, - 13.454689772092728, 20.70986390718895, 12.37090558536995, - 4.816207693438959, -5.4305901296079204, -10.807830342219793, - 7.1507761813457842, 7.2910315590684833, 2.702844584947969, - -8.0842533213856438, 10.806318481172813, -9.0612454464875931, - 5.2022614246922556, -4.3721387144662955, 12.006216151780054, - 0.91626416282621881, -6.281416327478448, -21.015726019497283, - -12.441362130467233, 14.823681627972853, -5.9737733837951597, - 5.2890983143890562, 12.453299560205791, 11.44357307505399, - 12.792338207392973, -11.842251891471685, 12.628993456477263, - 4.426428903833437, -10.357513998215616, 10.687506904818898, - -7.3359369555237022, -12.130893191437801, -12.119373930539281, - -8.8904465456031474, -3.9592431900029155, 3.4912699248569865, - 10.021655886437408, 11.389852318070259, -8.2140054336137727, - 12.916396512044814, 8.8707694269182404, -3.0146219794404625, - 10.908940857387732, 7.2183407791594956, -11.273285688877968, - 18.925065607086726, 9.4419637821611371, 5.1526960269597319, - 10.278568754729992, 6.0868565632983582, 14.595941198851291, - 2.9627540717985865, -11.664151201209767, -9.8451428180586156, - -8.3297186886176906, -4.0965466054696327, 4.371301602399476, - -6.6873268835396882, 7.6497678945883765, 10.142948210715518, - 8.5549105706425888, 5.7372054620861492, 9.2261204501353831, - -9.0052392161028063, -8.3173183046725825, 8.9418770860670342, - -12.710146347496487, 15.504315947365392, 14.002910153900046, - -8.6895015271525082, -2.365346192988262, -8.3209697962844338, - 9.9739282375052944, 7.6450334231194983, 10.805316553794658, - -8.0294321608432178, -5.2786779082757533, -10.907931831464452, - 10.434947251589801, -10.178756757061942, -8.588918296756308, - -16.008003412739821, -14.711476603033734, -11.131297491758239, - 10.779696355668207, -14.218903652421291, -13.07747618174365, - 3.0513738579016545, 9.0528751647383654, -9.988237355702049, - 4.0855436023983245, -1.7271018037878672, 12.576648010345217, - -8.2484699027070576, -9.8949664737691982, -2.9333072415924035, - 7.6216888249631571, 11.416747027707636, -8.3411207267233163, - 8.3472897818956664, 5.1773212671886935, -12.135391087757361, - -7.9667189023640175, -11.399331069906735, 7.3378951214623065, - 9.110413809684875, 9.5271199299692295, 9.0916501285599338, - -13.651140846822798, -10.657679592594063, -14.760042009354954, - 12.365971193057486, -8.5456941261815089, -17.385132524492416, - 9.0477237505417865, 2.3980862318742111, -11.35168124684207, - -8.3915288830926436, -5.6142527235712789, 2.9764984039323759, - 7.5089204982023245, -6.1829145921758553, 6.9826006768764168, - -6.5157940253555227, -8.1210656665448475, -7.668687646907709, - 13.557807110499484, -0.47689062439860214, -5.8959077644906852, - 8.2112998554058265, -7.6926854402799272, 7.8143300459928779, - 7.6696047144055166, 17.390971400518151, -8.8551571933003235, - 10.808600986091362, -9.3160059068340821, 14.597810052185789, - -6.2784256458854255, 9.0317914209379424, -4.4387863093144295, - -12.230661823448365, 6.4478010626096838, 11.637680855506359, - -5.925634664568129, 15.567647360060445, -8.9655126923073496, - 1.6378635408078031, -6.5571492457974827, 2.2459347250391324, - -8.7278852724059224, 1.9522263544989593, -4.1269423175622251, - -6.0511449443589953, -6.396706251064054, -4.524236272358432, - 15.333972030957289, -11.138156751379457, 9.3483166773367063, - 1.3650811650357257, 13.060319385372006, -15.9940004354346, - -15.80828958854179, 3.675830033052947, -2.6024401814231979, - 11.185151959519217, 11.640923470919059, -17.358112622331948, - -7.8324230114019358, 12.230512366807387, -5.5457409217090934, - -5.5418787969037417, 7.1279784938251423, 10.73660818676476, - -9.0782728234751744, 4.281979189393577, 9.9192786036259584, - 10.586491510155625, -6.3141222933478023, -2.1996754424320568, - 7.5548136249454529, 4.4022445477889107, -9.4143548298198194, - -10.201893755039519, 13.931201425442868, -2.2698384949545698, - -10.579983047728001, 13.51127730879095, 10.565554932102074, - 8.1647534689145935, 16.644366558417868, -13.119843912849221, - 8.4055282143269601, 6.7340741588579336, 7.6330963805743126, - -10.41437347372432, 9.476716000460863, -8.223064919562324, - -5.6563409010634178, -9.6918549632136202, -15.210174436508188, - 13.403836827339145, -15.061817940960925, -12.723458055571076, - -7.9070917686436459, -6.5985018849503057, 10.69420199445106, - -9.5230835036149664, -3.030178376547755, 10.314795728045368, - -10.371212254338326, -15.298880437668403, 13.103627221980929, - 1.7446184318650735, 12.837596466073093, -4.3212811233922679, - 2.469475396736347, -2.4731315346686418, 10.375460669062887, - -6.1731601586596536, -12.197629840761127, -12.546212804528841, - -7.9114559541859588, -7.6376040212603602, -7.1813303845913303, - 6.077508682821084, -10.602106244397396, 4.6913620956006259, - 11.722654312575846, 7.8103118177270252, -7.8330447148903524, - 2.4140293060940845, 7.8286851111362559, -14.292408958117155, - -9.9668515042743682, 10.837884678824144, 13.551763280116345, - -7.5792922479514875, 10.217841217450923, -10.506554793512848, - 1.2173477926859024, -13.359553263436801, 2.2819782977613929, - 0.36179344750487991, 13.324677982177514, -12.791944560799728, - -15.326887424794496, -12.172088759146694, -11.712837669991464, - 10.876790384940454, -14.6840911903316, -11.194104386500852, - -17.06577027000257, 4.5212765662350414, 11.154517994439368, - -10.635351699696184, 8.3363268533381945, 19.457634084088721, - 7.1884872668499309, 8.2101471484760111, -5.8467729257860555, - -8.2507979673788565, 5.6590233767335958, 5.9419912613075967, - -10.350515607109967, -10.464713258197657, 14.243379436009276, - -8.327667628536302, -7.418154499247092, 0.96836438649033885, - 8.3303756589689275, 9.5641643330217647, -3.1940953992649317, - -4.057742602145284, 10.340391662053941, -6.879331816797376, - -12.852288647577636, 1.3115463364763715, -12.543598991149683, - 17.395441160786131, 8.3269518047927615, 6.1059895946325566, - -8.4277131199397619, -12.314302302807999, -7.1979553063364889, - 14.211351316667047, 13.409938994856759, -15.105726701680716, - 7.9394923034759763, -6.9818677198262353, -10.800652938712561, - -3.7670249131981333, 4.9346480804151085, 3.5138980216813902, - -4.4641141764462224, -21.055732903559026, 1.8466918969452111, - 10.123309892032941, 5.0371299054365695, 8.5373871586148731, - -7.8443868348219077, -10.905249355794272, 7.4929241203617929, - -8.220133898014458, 8.976541798665048, 2.8178642475610309, - 8.7977119103552521, -14.65607904062723, 6.2887216338623713, - 6.3883586201269953, -3.4738839100100636, -7.4159592419013425, - 3.2968043777303637, -17.320091265873646, -3.9006949060769531, - -15.446480099240977, 9.3353819020082103, 11.096981317725822, - -9.1428237016903271, 4.8194916094778364, 3.807216101304193, - -15.900482395066971, 10.451055528314384, -4.2223942597505788, - -9.024778897274274, -16.880767212590861, -11.025501807743925, - 8.7326617059563176, -6.183936008286989, 5.9011640435584152, - -5.9177854805632411, 14.878288799645901, 8.8183674666871745, - -6.7508840299696908, -17.047751323059487, -16.149463219973399, - -2.8735302640376843, 12.4186576274844, 6.6026407239510414, - -8.5611102544238449, -9.6908404520509244, -6.8329976768053546, - -10.339501891688746, 9.741806457268666, -5.7590976333778663, - 12.722244333419306, -4.4465611521921984, 7.7012615798377535, - 4.6680058171109424, 3.5846521894160586, 15.030602927696552, - 8.8293573213169463, 9.7054397716787992, -4.0701668630148999, - 1.9184729014981985, 14.651761060160453, -12.805800920882021, - -7.2647057655566929, 4.1276583671685643, -1.631528541010119, - -8.5633241535170743, -0.29247809033464373, 7.0984870073169049, - -7.0386385280531174, 3.9525715901018907, 8.1913920501374431, - -8.5074544652610591, 5.495575890510267, -12.430708117687118, - 5.97276797167667, -5.0804661362259873, -6.4231252291136549, - -5.0729442596835499, 12.124041417555082, 8.8499895815144178, - -2.4437358139873533, -15.496150297312425, -12.655276658718305, - 10.519788030397699, -9.2115779188684996, 3.3950389496073741, - 0.32905702242372031, -14.410878771789454, 12.212348093285945, - -8.7199237942570882, -8.6760456480297741, 5.2247403230045961, - -5.0291643808982256, -10.761369331866735, -19.203770492652545, - -13.263125077697193, 7.6266463198133891, 14.153458163923816, - 7.1617913164760321, 7.1144889349290796, 1.345813906666453, - -6.1874295250037141, -12.498973922694637, -10.82326193399736, - 2.5660414233158177, 0.62968686165328625, -5.1908619356096493, - -12.587621586720372, 5.3651510943332852, -11.242800406052355, - 15.095985948996933, 9.928326280176714, 9.5883246830773263, - -7.9859566049726824, -5.9976892857695372, -2.2959998603483931, - -14.141721558480041, 3.6056535578269266, 12.926302725362218, - -13.639902946440108, 14.875234618340132, -8.6448925055435382, - 7.9831722329138577, 11.549891211989442, 11.461459085606565, - 7.2857575981701714, -9.2270540378836614, 5.3067440069230649, - -5.4862032296572849, -13.6655077858962, 15.174251668117495, - -9.3087009876435296, -12.726065673856308, -6.1785093641362812, - -12.890235921037734, 8.1087260074266663, -13.889065494101713, - 9.0717802682418505, 7.6691475680995245, 12.445719346528879, - -9.1119235411683217, 10.402303365724171, 8.3513068163152955, - 9.651077177151393, -5.9853047767526171, -15.766675077606115, - 14.392598082127982, -16.542441775591964, 6.6176414985718006, - 1.1763718926824847, 12.953480602417816, 10.796382841159257, - -4.093780496031445, -10.152825642659057, -8.9005024898234968, - 0.30327613904854955, 11.390251643499608, -11.75711968512033, - -9.5833217575382985, -6.4576917881922702, -15.414144806491558, - 7.2439542659341942, -6.8998677787770157, 6.4607186078331971, - -5.02639535643541, -16.089115261261789, 16.348400076141484, - -13.83645520770431, 3.7481494945197129, 4.0497679674883855, - -13.403170854742045, -3.2658758875600911, 15.628774351833318, - 12.740734881887544, 10.303588286874485, -8.3367865164010961, - -7.954139312420641, -15.819370546545009, -14.742738079502558, - -14.079886777226065, 7.2254994683204918, 9.7125046955119299, - 5.4490460888017331, 6.061905822509341, 12.617370169626561, - 4.0431541884640083, -13.631515821779267, -7.1471186237044639, - -4.5176441761627988, -10.94925956117711, -12.565959924548505, - 3.3677480120876169, 6.1653584703748683, 11.489096690257293, - 10.40210318675167, -15.14537117274776, 2.9537722181208022, - -6.6027173882383812, -11.0054480305749, 7.3554833803130384, - -0.8174751300427856, 5.6522100640590036, 3.8167044039104701, - 6.7172289240850134, 7.028558852105772, -9.8320049598073389, - 8.1835307340736172, -10.600978479173857, 7.5248398245621475, - 8.1028253740583498, 9.1869660690769308, -8.6633294373089775, - 4.862627532230297, -16.393472998261629, -6.5438161130230643, - 5.0556454924094245, 3.8703781814319234, -3.6308128667781365, - -11.46889345644729, 6.6372018623224704, -9.5794040059520658, - -13.805097707279627, 10.114212654730773, 10.067130457147128, - -11.901791906683718, 11.19726801446599, -3.8149351883366243, - 13.081583529016925, 1.4480272776177645, -6.8162158126807242, - 11.181577132194709, -12.714480848213737, 5.3658328127941148, - -8.3699479507385064, -10.928108994254181, -6.8580906466257687, - -6.9376987651615307, 16.605363795830041, 13.342459450520076, - -19.246573429106455, -7.1589316353066641, 13.511443027553485, - 7.588546943890953, -9.1724085985991746, -7.1723433683352731, - 8.0051341635444775, -12.497826539673664, -8.8986924414821313, - 12.1430742948708, -13.488942962670228, -6.7874643817677924, - 7.5405544546934795, 7.0330509405247756, -7.3978694385714769, - -2.5049913539592001, -16.113762442448408, 8.3461248783746829, - -14.140230605875061, 19.817797227178563, -11.727868000372833, - 10.536455543413602, -4.1646797322155589, 8.9643278483277911, - 5.6997086235802952, -8.194167968474348, -9.4900557800548064, - -10.203232798778842, -7.377645683512843, 11.114323708786344, - -11.129413925075667, -13.662721026144926, -1.9593914968827952, - 3.7651555436058097, 7.8968315315212338, -15.65802913412778, - -12.555906061492522, -9.07183312013691, -11.817875487515439, - -7.7841327705026186, 13.993369709253221, 12.841312748042256, - 17.156455087414471, -16.051522915057898, 3.9786049235545669, - -21.015196338966561, 8.7133705303298949, 9.5303853252585586, - 10.367939566907191, 7.5160927391312846, 4.9709335199294173, - -10.980707406721557, -10.35515831375006, 8.0001897687366093, - 4.6646563363280098, -9.4126442740415897, 9.3084575075457714, - 10.907637564502942, 14.357584443771001, -12.030960905696011, - 6.7442831573909938, -5.6743335188573099, 9.3070095334049068, - 20.090631228733358, -9.9182746112164928, 14.211919200276979, - 15.008410036220484, -14.859390149365256, -9.8921367355538088, - 8.0766461332372597, -7.7625926870490591, -0.75633574808206139, - 6.9272468673207683, 12.032245097041196, 14.288418285112828, - -7.7456922126886267, 4.8331804438952002, 3.0734583352340064, - 3.5864699332256613, -10.370026281044771, 7.0203122786383902, - -5.8886780898784483, -14.591739376395635, 19.866814875356418, - 7.6929267908141474, -9.2738362896696991, -3.1835699346837907, - -5.5513820709870076, -2.5503234375086077, -9.8248725997955297, - 10.866645918635795, 13.82246152303998, -14.007190447545439, - -2.5586305422062301, 4.026636003024624, -6.5981537981103093, - -3.4628917483531261, -12.103573601608634, -7.8855749813245373, - 10.963183034776939, -4.4175857409888364, 15.141910696531978, - 7.8484691435905649, -10.8830582712206, -9.6305574772933102, - -9.0060955910398057, -7.9385853675380273, -6.0883950116234429, - -8.1690846784881934, -2.4101816365078941, 7.8648643951348447, - 3.6970209436929808, -11.228409719118897, 16.916110739699427, - 11.502363483900913, -7.0676447322037763, 15.378261789953561, - 9.0105139836539738, 6.0752376646391912, 7.7089815057891542, - 12.080838381285085, -10.439009426303196, 15.806810509866835, - -8.7437797215916948, 4.2304953775751448, 12.996512499218092, - -6.0201583751831595, 6.9365682895843994, -10.548128778209085, - -15.742829644825152, 3.6998158879629113, -4.5074702831619868, - -9.2552154506323223, -14.754719391156428, 13.758849266086925, - -10.863216934147474, -9.9127382622775038, -5.0213654564249106, - -15.188096154269765, 8.7245007344899115, 1.2389232398006267, - 10.934230779569225, -6.4393708304202715, -6.9707954091416253, - -7.3301631279841954, -10.66748552282853, -13.453090921601861, - 5.0747818794194997, 8.8974423876857713, 8.8792692732490401, - 4.7491945880491624, -11.095540184001166, -4.875603930846113, - -8.3300531591574938, -3.0638156715373941, 10.88627584812868, - -13.376680633112292, -1.8485091244969876, 14.744568729757839, - 6.9066756707444226, -12.320675247555984, 9.3604823575671183, - -15.029370620263002, 9.7099911652157047, 7.1718198828984816, - -8.4994865580889698, 9.2278770819246905, -10.733545487204845, - 10.08197932290223, 1.0713815708786152, -21.494987778292966, - -6.7323064920575693, -13.414349901732432, -5.7897001067302565, - 12.428527186496074, 1.5509990313172464, -5.7670067032907104, - -7.7983603199626765, 5.3335463064093673, -12.190738573154626, - 6.3390376704756557, 4.7693671045184454, 16.847048348864522, - 4.4191695443961354, -9.3640799647682531, 9.258647726264293, - 8.3288417601659468, -0.78367727886888505, 10.131531426995702, - -10.412902009852315, 5.8228523774912331, 10.316964914370844, - -9.9599099015297128, 4.8739975946167506, -13.714574994825467, - 7.2201177386007513, 13.857521108343581, 5.5298435363069292, - 9.4128292879404167, 17.050340872320767, 7.5013637742565509, - 7.1817720431625078, 20.305121900719595, 8.7898782463512948, - 9.4056715022306179, -4.2657243710526496, 9.3214320347269641, - 4.4286015748992469, -9.1022450943510602, 7.1954776559592553, - -13.253737961625049, 16.717357671317831, -9.884934809799784, - -3.1110873357436266, -12.18631321105979, 17.551656649236996, - 11.08724495323357, -11.967295990444581, 2.0905271800878444, - 4.5701202355251258, 11.23060742868933, 7.9432986724359891, - -7.1122776735906861, 15.284491815766254, 3.7490756610617257, - 8.0892231418915017, -9.8352473170911257, 5.494233878288437, - -23.088232741671852, 11.171550630803566, 12.747326461825349, - -10.397856449865049, -14.291332560547424, -4.1653988793688619, - -8.0842307351057023, 0.36519824348190477, 14.490243603824146, - 11.648414371991864, -16.393779139153164, -6.0342527301237965, - 7.775004041472994, 6.5293576672497888, -9.2826990813860846, - -4.1652321280906737, 10.997044901921416, -9.7742304172999059, - 7.8323286652840141, 10.47877960615117, -10.966088791957388, - -8.5206814263866981, -11.353422842622162, 1.1067499539694665, - 10.076021320382866, 3.3487383663741221, 15.906508156426158, - 12.762425196368822, 9.6389629936392449, 4.105595056407128, - 11.174561704580764, 10.339475433475101, -6.5396278423353751, - 13.517179684529431, 11.619444305889109, -13.842774719767178, - 7.9412677141437484, -8.7824419718098312, -2.718371555359111, - 3.3908195743855933, 7.7751463350366183, 6.7011166463622729, - -5.11658508259102, 7.992655050280721, 4.6572233317384342, - -1.5522752962726871, -0.75028314131586116, -5.193423090690434, - 2.0480871728864622, -9.9229041532819906, -10.660156855777927, - -6.1084296872528618, 6.5939919856362623, 9.3421604318116955, - 10.759874765456967, 9.4603190710786453, -9.2651685788797717, - 9.6291171179553974, -9.0687653547970619, 9.5659495525882523, - 8.867450098819031, 20.580956392766133, 11.16246991375187, - 7.6676711997781632, 12.303655259508551, 11.61514542696194, - -16.384840134875038, 7.5507331230791914, -8.9913207437506788, - 6.6004868962959247, -8.6285623342474427, -6.0665322670278767, - -5.7221075019294174, -7.0650923535060546, 6.410945674454136, - -2.1916491819924357, 6.4980816064973483, -9.2978461505686312, - 17.085450018375781, 10.43835468231384, -4.9520108636598064, - -8.0268242198968434, -14.543949389330887, 13.188409663654349, - -5.2283081808484377, 14.609411914336661, -14.753182491604827, - -7.6893144702649368, 9.5004286904480058, -10.985432198356174, - -8.8642905686503948, 5.6718211501411959, 16.342048556093328, - -7.6289272114262268, -12.030225238292241, -9.6381102647731538, - 15.77823202532602, 7.4703787538541997, -8.0450075949578892, - -14.687546503969109, 7.1364573833147675, 14.846139359714277, - -8.1887395819534721, 5.9210675896997236, 13.941404745139831, - -6.887849167495129, 7.536343339596935, -2.3430546962671985, - 7.7110292424607794, -14.99102970020966, 13.568855544259584, - -12.024147334892504, -6.9930701274833043, 8.8530963243202194, - 4.1819686905909661, -10.785809880858015, -12.423091249704473, - 13.78453464176406, -5.0198517884755329, -2.4966269446427578, - -10.814669080592378, -2.4006520332754411, -11.401718246099751, - -12.100885963360183, 14.121484767911273, 12.709171910847632, - 11.31480469211561, -2.4579101888912076, 7.2201392923650358, - 11.820890175097428, -3.0619504320076878, 1.8521915915784701, - -17.781126025821884, 15.760743275171484, 5.9369063798384998, - -9.0648510234189352, 6.6033877490270125, 5.6320917546615767, - -8.1425241167294811, -10.996675777574961, 9.8703862770356583, - 7.2788707187552006, 12.741994809114846, 6.7154912002386258, - -2.5406684592307225, -6.0010888435617087, 8.728474717846666, - -0.21166257380549669, 10.893597158505248, 12.862430790722074, - 5.1667782498414292, -11.819488793225467, -2.3712031380379504, - -13.222711382467608, 6.5242831109372377, -3.263261041665277, - -15.000938752945114, -1.6724084926642551, 9.7172423290600012, - 1.1733058374466891, -5.8116717817273651, 18.816725804499924, - -11.779150987896481, 13.857695603489177, 8.1557642585627725, - 1.4888685099348598, 10.84477620455956, 16.221556560511846, - 0.74647986990281157, 4.1512993618499525, -9.2987597333261061, - 6.5049670662032923, 15.077486366016723, -12.769578981080461, - 10.513358297288722, 7.7114523157501775, 4.3479698461565857, - -10.429138576646958, -12.290795535161685, 8.747108697259053, - 13.792878917025243, 1.8826218929454861, -6.4623107469723102, - 10.502086711082809, 6.9357465361879393, 8.7750688501203857, - 12.446665388997239, -2.8267588536660169, 3.2223279910615181, - 9.5630128844704032, 3.9597052407582671, -3.8197131545274448, - -13.444658882510057, -9.9182787412791136, 7.513070049552975, - 10.340486266300775, 11.600431046370822, 5.0451845600566863, - 12.74863336851493, 10.364662362220068, -2.4384235209453706, - -2.6086234014196816, -10.185100016984862, -5.7981832553469568, - -0.38450569435511861, 11.834031259960121, 8.9430905500898881, - -6.4549491684852223, -10.505141795839775, -7.3615588314880913, - 1.3372828216784016, -9.9318831675417272, -11.049103308701532, - -5.626091031807011, 2.7803777342117204, 0.52503417246841178, - -1.6806886763482836, 8.3170446234919329, 11.788315338716185, - -7.0158325804072392, 11.857702971982228, -4.8488008569730674, - 13.253773067157299, 8.20568258305242, -9.0389030015722049, - 14.887610867231814, -1.0154383239487503, -6.8086594759283212, - 14.887441534664491, -9.8622532802902629, -1.9687249977474892, - 3.4266024369051147, 9.2675140027210112, 3.6181986230281087, - -4.1340511878428954, -6.5843884284700609, -8.1765271158574695, - -6.6959753637255535, 9.1330058007274904, -11.580628686763648, - 10.412036890798372, -7.9852535908764803, -2.066028681155462, - -10.756565036526728, -9.8133785064660888, 4.8114898712850085, - -1.4958379149956031, -6.4667598569271991, 7.7184116648576424, - -14.143983800278873, 12.36732920927196, -4.5964111816335791, - 11.671988769413542, 7.01089754277249, -9.7847464601757004, - 4.4476625882665486, 11.241171870736423, 6.9121362588472701, - -18.546226320839764, -12.540231699471711, -8.6150767219004756, - -0.092545964682283821, 10.8998139352605, 8.2795712101849883, - -14.573994046100974, 3.3125027457401388, 9.0904337928529149, - -10.902036425206635, -15.148823388838307, -8.7347152263289125, - 7.7391065697158332, -7.919315463347389, 7.9592504585066974, - 5.9648188917822162, -3.0106034285134666, -9.0938472573403057, - -8.3364039693511334, -8.8986027900838245, -9.5851209160661206, - -15.335543519783313, -9.1773884216004316, -10.011785811167911, - 10.122745364098886, -8.633738252541125, 5.6251697697143577, - 8.1908926997540767, -8.8131518267902802, -9.8786020040978677, - 16.379951689509195, 15.466103575511026, 8.5125959576275196, - -1.7023983504980822, -5.0160270923626538, 8.5542466792098555, - 11.273426369135882, 13.829410869652042, -12.954649410138616, - 7.0799135994674023, -14.959793004116543, -9.5643525089997823, - 12.72453316249624, -10.77781601559705, -9.0053926092097178, - 10.913493735165888, 13.257764256419453, 10.93721165226353, - -9.7368734846652263, 12.99363281305792, -6.6567821019994895, - 4.6536726929252223, 9.6439124219609287, -10.142082317274832, - 5.8908605698429755, 8.9011495383446171, -15.881017409949878, - -0.84678824947172149, 11.030375023503865, 12.699876172410905, - -14.501436073518041, -6.3718745077042076, 8.7154172506189216, - -8.5919297375605552, -6.5064908011803002, -9.8958136528636498, - -9.5838858337467521, -4.8928250013172407, 2.7409361524707689, - -7.6894330159685103, -11.363952695394833, -13.70607067963785, - -5.3469266767749737, -23.3789788247995, 10.326347771315914, - 12.689154787984338, 11.671864351277186, 4.8725115464611291, - 16.376577944608385, -12.081594440873031, 15.659365725642424, - 14.061507482319595, 2.8370432258418505, -8.4830856115755342, - 10.144570163744154, 11.353444525450906, 14.458537113108267, - 4.791206875640702, 8.8352129273228961, -11.664461988421746, - 9.9940575173815489, -8.6630839607454035, -9.5673509344602135, - -9.246591750822164, -7.3345027912797152, -12.095298763025212, - -4.0184114995793552, -3.0210628120927234, -12.848224924090761, - -6.6001975337837733, 19.33902694583438, -0.68210716517027581, - 13.194243893359641, -4.0082360578050631, 5.1404823992836182, - -10.003310793611988, -6.3394610018939677, 6.6723255926611023, - 5.8759314259957414, 11.926921272680948, -8.580642143328733, - 12.379442682929596, 9.9509920638225022, 8.0740136700440921, - 7.2490974845377654, -6.3898648023378781, 9.2529383018887312, - 3.6436181259242328, -4.8882896763052095, 10.23797565990545, - -5.460880266974848, -10.639651353010095, -10.554526245203862, - 6.4030951998046799, -11.755977980935455, 2.8411247602237655, - -12.259188165948634, 9.0075707977810566, -4.7318328373201188, - -7.2765223909636836, 6.3179397618510995, 2.6306066922179019, - 9.630759721297121, -16.198841216114644, 5.165511353133458, - -4.5830181629512055, 3.3750964260001117, 11.548015647303192, - -0.50783202101455527, -3.3430631440796121, 10.676416137916966, - 11.032319766738961, -13.211604095315202, -5.5770664141484891, - -2.9653936980691067, -10.63874093233181, -9.7276984860278368, - -5.8417169547552827, 0.94317100452253233, 13.400988632906433, - -7.9624495791974548, -13.709842459323442, 12.553687701609002, - -10.937940350186638, 15.755977699168517, 10.284565347521939, - 9.7272205603442981, -6.6301607508816218, -10.068513769995134, - 1.2408468920713884, -2.2009681520313884, -9.56401565076753, - -2.5175193826520843, -10.398935686852829, 15.621955102193711, - -12.569234547946492, 6.8291257431012857, -11.798025890317072, - -12.476239993015655, 10.053724402954618, -12.445250842550683, - 8.2396779351113434, 13.824134714657966, -5.2017126426219322, - -9.102672620364217, 14.973696859918942, 3.2725609101646218, - 13.568564891102868, -9.2433182890042875, -8.2713103750951298, - -5.0147865248038705, -11.309600038830599, 9.2590048476162643, - -4.0690646525538074, -5.1568273802219728, 6.660030654377203, - -7.927437683210643, 11.189284087168199, 9.2168274865844761, - -8.6499471634947103, -5.516662441462624, -8.1376904914916643, - 8.892945556147982, 5.6785627029778087, 0.66768034018891653, - -9.3798027259603636, 12.887278538074565, -9.2998086401665354, - 7.3834409357521791, 10.380456754185703, -10.487869873972667, - -12.906812701740503, 12.28572872271654, -13.1763395556542, - -15.888870724017384, -2.469340653443445, 11.081100710703042, - -10.467715813720705, -9.7389749121508782, -8.2681125773150548, - 15.184079152116249, -6.9214487756633822, 7.0721797990868955, - -12.64070192586945, -4.7062672334588953, -12.847633808878607, - 8.5381112828162919, -5.3039544077537384, 10.020211784230248, - -14.910200760977006, -10.053541389554871, -14.941875759965423, - 8.6870838393152514, -8.6373342393783386, 10.730268540646634, - 9.8601210063994316, 4.8780620924903682, -2.7115610821025689, - 3.367923539748868, -11.312679258640989, 11.821375457455002, - 10.410174103493345, 11.399906697384074, 6.926324572712458, - -8.1371207041809956, -1.6110491092625596, -4.5910601692545576, - -9.5153951339232528, 2.3329308802756268, -8.0750195984204094, - -5.3886599270109077, -15.657204154119897, -9.1468718406440424, - 11.231457963459656, 7.143788502590052, -1.0446379422622789, - -13.751959805382818, -0.91849801044455281, -2.8453007697880612, - -11.848232738399904, -5.9527103225739406, -11.76390486174334, - -3.704608825630721, -15.558574645005072, -4.4980354132408271, - 13.394440934883939, -7.1888152196346651, 3.1256174122904281, - -11.421511054937122, -13.123551160306411, 0.28473636356439541, - 9.5446270072766328, -4.7794426504031735, 9.6113726265797066, - 6.3511751501222573, -9.9505275608424739, 12.18016045027511, - -13.670434950599086, 13.537936862988031, -12.61835131762717, - 10.271770155403473, -3.2553354515019612, -7.3509435380450183, - 10.833255136758646, -7.7197971718014138, -0.72306396363408609, - -11.465237834772823, 10.581790724509975, -6.0259420116213835, - 11.591447385790643, -3.9265857523693195, 2.4198387554236693, - -6.7703518545048338, -20.893767335428699, 19.580597405889041, - 10.89114390131035, -7.9837304366895285, 6.9808666958992776, - 14.080621928372013, -11.955871462857358, 7.1494059040079136, - 15.008216955793108, -9.2423061655340426, 16.328585068217539, - 7.3562653818568036, 2.7533625539782731, 11.89584977909254, - -8.7835126179447069, 13.029987689249989, 10.129515440180452, - -4.7509372163449077, 7.5564892687881171, 3.4689526152445627, - -5.6741492148129966, 14.184505909652174, 9.7666178084443356, - 5.250664467926816, -16.052283362837375, 9.8589958224650296, - 2.0076120429754387, 5.7779072291833184, -10.862664796401271, - -4.905494742783695, -8.77258404473233, -12.472655098663514, - -10.107007631429786, -5.5274628133367534, 6.2207490633007057, - 9.5720057731592423, -6.5249739929745001, -15.577672570807019, - -16.194582605297995, 13.089243246399228, 1.3304335534782381, - 0.056644287255924283, 1.5296115776582058, -7.489938472282585, - 9.4643405904881472, -10.41195983931766, -3.2720761440648727, - 17.091876912066706, -7.8753750173034529, 2.9084690450097175, - 9.5977127026006652, -13.073081278860617, -9.3912861069398925, - 2.8902317210057271, 12.169354141435969, -8.1160141482378343, - 16.646694364960751, 9.3282856800443081, 11.069548409303584, - 5.798461002057997, 10.259563884401397, 9.0788175722812241, - -19.796494364196604, -7.3887430327020729, -5.8709278551344291, - 5.5872333376686329, 10.821854873289302, -9.2117848091927552, - 11.763462170656508, -2.6369334318903506, 10.141891947201049, - 8.6191276538897057, 0.060308685313455589, 9.6030055714419014, - -5.6959577523367066, -18.343108808786941, -7.6303400155026138, - 9.3559490975863948, 12.357508694753873, 9.0088405984393027, - -6.594815545935119, 12.373204997732341, 4.3032531419372111, - 7.9583601073514458, -10.104429052647333, -8.5431279295203808, - 6.0048846292362645, -13.118172786262546, -5.9034495169594692, - -14.91821876129139, -5.6892017442809335, -5.0459958592321454, - 3.1067745178551216, 9.1009009525656914, -9.2588666195830296, - 11.310864612378349, -3.5769656266267416, -3.9410358089529032, - -7.5267568189390301, -14.212705460947818, -0.95934492159774754, - 4.1995059689812608, 8.1327371589701638, -1.2405721673007322, - 9.9454506813696959, -10.795907496764855, -14.371296251661679, - -6.145642067695924, 3.3537388396884693, 11.460026212007147, - 10.060874444797005, 12.445997093239916, 13.563765242083305, - -5.5683739229828557, 11.724930235207101, -24.92486229511022, - -5.7363446021592779, -7.643311057943472, 1.9495072245230483, - 12.444028344015855, 2.1982035913666835, -12.71186290477196, - 5.9208843181710638, -6.2008222855571731, 12.997935822047708, - 11.273961986631612, -12.977223299891167, -7.4067328110779176, - -7.6433062825585703, -11.759754665070405, -4.5023084792766364, - -3.1263587585303005, 11.967640076286415, 3.9394188894380844, - -0.024459741792052098, 7.6821639766969483, -11.444676059901822, - -2.5340473769901855, 14.596454875389364, 11.25633255621916, - -13.268516358186741, 10.227635531884278, -10.329097618632543, - -10.628285162557344, 10.458055468193511, 3.9399692202818888, - -10.807338477574921, -6.5158216451492788, 11.233457946282265, - -12.55364665911174, -4.3622614115872169, -6.4784001802861972, - -7.1819953246727763, 11.216936663295916, -13.109092327339763, - 3.6490816825095873, 7.4334190816175552, 10.989086529386073, - -6.2835154318038802, 11.827149801252338, -8.7113852245559826, - -12.17845318564053, -12.196351844509872, 5.029455990964018, - -2.0032032011310723, 5.4992707477796037, 16.750637715891042, - 7.5779066119432583, 6.5917946632592042, -16.483457770059836, - -1.3750677320518387, 7.3653910133394671, -17.547851829050469, - -0.91317384347254482, -14.449860367806366, -13.129943980980743, - 7.0343812078810375, 12.93199550042285, -6.2658341174797947, - 5.056809395680868, -8.4984099185233823, 13.527235870745638, - 9.1700988933463528, 8.9518037238347272, 15.38239443386037, - 9.2796059226143601, 9.8950393951872915, -8.2871941119309884, - -5.8724797261630206, 10.312578271613047, 9.3850597794148367, - -6.1283458817109357, 5.981963556094918, 0.19289616113519786, - 11.070131006261589, 1.7848040167416142, -11.914566190360178, - -6.5962433860207232, 4.3661436704478289, 11.668463502840444, - -10.483625202117352, -12.57990946916861, -2.3351420125495639, - 3.7379368821818617, -2.1708563817437607, 7.1479883890788543, - -11.572903146508375, 12.466634758011518, 15.993442360723387, - 15.551745070208922, 12.547618574592333, 5.9812704799618901, - -9.5012134668775907, -8.7128302302143421, 11.068467107284492, - 11.390106316921248, 1.8556097346524216, -19.027875255828462, - 6.4920835939963748, -14.407744570520471, 5.2743591534222345, - -7.8345818080386396, 10.251983670724487, -3.3770829861192131, - 4.8495060651650359, 8.1134818713292596, 8.6673409612812904, - 13.759404759509, 6.5608895337556126, -8.4504140736500304, - 10.867734190135552, 4.5805961393548547, -8.4994872034112543, - 8.0493700381300357, 10.379487480115118, -4.2681052765451586, - 4.4230987827190242, 8.6680104760927392, -9.123851904128788, - -6.2192996694508169, 9.7821588468812717, 5.9746876764071475, - 7.150112919102277, 11.388505143270159, 6.8970384277549943, - 12.899063155496266, -12.216129939999169, 1.3345357381732421, - 15.843004829874642, 11.476757870058082, 0.84648778741628539, - -11.010491353288907, -6.4243126221162346, 3.5243026819309637, - -10.893862256899521, 10.545102216697073, -6.9407728223936473, - 11.847353035062339, -12.518514281454504, 9.1491637350018262, - -9.220178709737576, 12.420700201577754, 10.840693895790904, - 15.889604842647676, -14.706291825675073, -5.2468963020460162, - -9.8980538246403675, 9.4281290403753584, -7.8234571617167941, - 14.490934356796954, -9.9565171841537516, -21.196395608707391, - 10.777615449431181, -2.5274093338479298, 7.5639129272789285, - 2.1634842199712145, 5.2538355816304483, 13.621706406804465, - -10.199311691516732, -9.975495080010873, 4.0461123458139161, - -8.7266540055545558, -7.5918775812631933, -13.093941708884659, - 7.9860050041439834, -8.2647658391518277, 7.7693559227144124, - 0.30326175943596811, -8.3718403260702559, 2.6965787636991316, - -2.8285941502417455, 5.6932393967475372, -12.802637551045798, - -15.921585982527628, 6.7598636895517092, 9.5739640036300777, - 2.1437203215721659, 19.274557700888156, 14.186451685402922, - 4.8156152875822373, 6.5941783547118851, -12.476683458489228, - -4.0595815125258028, 13.289269406582722, -15.359341456844174, - 9.1452295599634628, -0.36956416032003164, 10.164498232132253, - 13.497907263581888, -12.574073174432012, -14.369910615653447, - 14.595566395668738, 4.262123397101286, 9.2403420626304253, - 13.020035787114878, 11.184821812638717, -12.689353805376726, - 8.9898204662386938, -9.9395089409718906, 3.7477974066815571, - -7.5478986094789002, 0.30827049287555108, -10.632731433094182, - 8.6509936373629994, 14.203293048242141, 5.3123260446797627, - 12.218946384575505, -3.4989049374701628, 13.154370720075143, - -6.8453303019106402, 10.234110695682048, -12.498002583592742, - 1.9328362267668107, -15.865771283796738, -8.500290210195363, - -7.6416963325244183, -5.2090897088438375, 9.0278625698084234, - 5.0077359916576762, 13.81591279250183, 6.8533945073005613, - -5.2796443429282869, -4.2188625399546407, 4.9833358398413763, - 6.5035974341877072, 15.401815020804325, 3.6498581342817098, - -3.7092995442487431, -14.772103340972043, -3.8499989037028421, - -11.899075874254772, 11.637001202076837, 9.1311542742963177, - 6.8696967679037142, -1.4412808959383745, 13.260317151375006, - -2.2477787979979231, 5.6509777566254549, 12.814344729793421, - -7.6538958921747415, -7.7373815587184414, 5.7307723733012956, - 13.865039371081226, -5.0976735258646944, -16.139774609330164, - -6.3744397928476086, 8.2994000602719211, 5.7107072384600714, - 9.3915892793489206, 5.9788732367412445, -10.165257260202708, - 8.4706781129522462, 9.9680351544077013, 4.5752415131710409, - 8.8460954809898915, 1.4084876068896433, 12.079715004253076, - 8.167098634626921, 10.257528021659796, 12.7838726115424, - 10.087718561167314, -4.9265588365205684, -5.71336958007499, - -6.6200053140981341, -2.8632680909484205, -8.2056430247964105, - 6.0795192489291496, -8.3739876682364169, 8.3506902431390362, - 8.5827329794624028, 3.8229036278995974, 5.5306279900753728, - 14.286490578386031, -5.242961643015942, -3.9320348537355119, - 8.8537796722198152, 2.9578439436040003, -11.977220014657023, - 8.0565192410534561, -14.586550468974357, 7.947736618315365, - 8.4997819543644759, -9.9581751461658357, 4.8344561169862352, - -7.9991693206089023, 8.0663494999380312, -9.1855747219664874, - 8.4547398463833883, -12.555601727503381, 5.193398052185815, - -11.534267701364611, -0.24826068304076013, -2.2659583767318465, - -3.5297925676655053, -13.792757080178019, 0.020651899665136787, - -10.82691497438269, 11.125750043275966, -11.202184595883416, - -14.332514963681728, -13.007037963799233, -9.3663022611177045, - 2.6454382633357936, -4.3767974250990314, -7.032067469363942, - 3.9429717758049376, 9.1000417704767607, -2.5975223093612043, - 3.3597553084067648, 11.728530617294055, -16.282013965882829, - -13.735547969055839, 1.2223751114072647, 11.410173258664868, - -6.2817759010550995, -15.456469171939647, 2.3309520640239345, - 3.8234601538373285, -9.2207454962996245, -10.757324451790554, - 12.658809152900984, -8.0010308818015901, 12.416923259313892, - 8.8533496294497525, 17.644337319408891, 5.5377420229343146, - 0.39968367447506781, 12.255322685467403, -0.82056449248738628, - -0.89478577218300959, 15.766508326327928, 1.8656530144229491, - -5.5734270545955784, 6.5783431783778994, 1.4574613731521846, - -11.875855113444731, -14.74954132514952, 1.614691824491348, - -2.2672179702236566, -12.350748814764398, -1.659191184165467, - -11.97642497760312, 10.306954804165716, 10.288692183528191, - -1.5666334589630291, -6.4276042820225223, -2.7235893732187142, - -6.2890378417815374, -4.0396276312463426, 12.012542891452499, - 11.305634920588719, 8.9046443134397961, 1.303553040931112, - 0.25402772362193354, -4.9609521910981558, 13.642465650294374, - 5.7586071884420171, 10.604057182726418, -12.796857528412364, - 3.209714263569317, 8.0981529180609648, 11.786463780018897, - -18.167094832662602, -10.173111477721411, 10.569677508981252, - 15.737505994110974, 4.2408210503771544, 3.4415615237063268, - -9.802723203041408, 7.9636830482111147, 8.53521478601062, - -9.5789715754895486, 6.8653669135069118, -8.4288256716904559, - -5.7725809971800013, 17.663452281719142, -16.145351742637505, - 9.4012301361431376, -3.1946286936004382, 10.809895115399719, - -6.6784478942339742, -14.434374181763573, 4.3120574029224361, - 1.9879581074935853, 8.0812516047815635, -5.8884153146443996, - -13.250854145402261, 3.5828297992860096, 10.730443164856686, - 7.9954989855863587, -13.936790432680235, -14.084719983004398, - 3.0969867857090643, 0.8468894360058542, -6.5190851690039811, - 10.150950465166176, -3.7956467633964359, 19.77148993259355, - 8.5716923621684646, -11.282284837192964, 3.2731205336493163, - 8.5821306275759781, -8.1557789719108467, 9.4744702143802737, - 7.7587621830356239, -10.699156778947703, 14.492273529600732, - -10.683443826654308, -16.422731910618708, 3.015006591521733, - -7.7243819285004029, -18.752567346765677, 12.760859128249985, - -12.880073901966947, 1.3443214052879913, -12.669427285762106, - -17.335979616763833, -8.4100051376722895, -4.8411803751856333, - 12.767500785197029, -7.6321049719493841, -16.958146517022104, - 11.267199267224086, 8.8615676635391214, -9.5094315816322492, - -16.145023918917229, 12.676527895917543, 10.232042566826248, - -10.648819446699044, -6.3564933801292511, -6.1186828258301489, - 9.4800739994979448, 11.92813731799294, -8.9972565149173569, - -12.041397573930874, 14.687724096661672, 7.1074061356686844, - 4.6606803766717588, 12.305481779701218, 8.5996540355704294, - -0.067960734434929809, -9.191807083254897, -9.052712478990566, - 11.104517133229594, -8.8996676363846721, -9.2384645619773238, - -9.4567395329014623, 7.1009655611453368, 2.8792183927778749, - -9.2805448020053696, -7.372209230463417, -10.862605168622229, - -12.593946519490427, -10.90304003042273, -17.590922187058876, - 11.858016598612258, 5.0275254448191706, 1.2935087286449309, - 7.1363510342023622, -15.164316286232856, -7.0872657562491437, - -5.2098981686012449, -2.9494279085048367, -10.868858857812127, - -7.8106126024436024, 13.143994970263892, 7.2701377013501309, - -11.995400292171105, 10.913483151880431, -14.888482826701974, - -9.6569452217443672, -10.779897050898533, -3.1580538915739793, - -2.2169060636729889, 15.106021484900053, 9.0514038299308179, - 0.2135309864887463, -0.65532990418859183, -6.0205440197800861, - -9.2923645249593232, 7.9732684072889057, 0.5626864801868362, - -9.2245916816445579, 7.239928874590988, -11.488509188849928, - -6.2795614131052861, 3.4491690990480808, 10.850511312762027, - 6.0765734817670944, 17.477582943673379, 1.7976153953750558, - -12.365951575260052, -10.491771492501799, -9.3035812587710947, - -7.7036052613088257, -14.677134616109955, 2.2225730258422631, - -8.3078811115911986, -14.283066240218153, -8.2067309736350254, - -12.484186491620973, 7.892512776667715, 8.2370605401935073, - -1.0832695154723395, -3.807396275285889, 1.4020328352760474, - -8.6452441436727288, 12.878158843556914, -1.3842967976222773, - -9.5074499904947345, 14.858822782013151, 10.926383660595645, - 14.768008383886619, 13.231038621220492, 10.366374144110637, - -2.9888302546509204, -0.93227958874848049, 17.031411762828316, - 5.7555798525432627, -8.0536924067883433, 13.061357063604698, - 11.377969353532476, 10.894654970793198, -2.9767074883523952, - -8.8377973946711919, -10.778944038949504, 10.647067525762411, - -6.188764309615963, 13.347300400165818, -4.7270721657665087, - -4.585380300639601, 5.3355943012099063, -17.15778496757736, - 8.2106960918769047, -7.6659395419612464, 5.1702505999872379, - -9.9416320512862875, -10.567100608036739, -6.6621754475203439, - 10.737490600455919, 7.0642401408977893, 14.17535007708662, - 11.921006764883527, -9.7296722042334842, 2.2774455540384966, - 11.100299306781297, 13.379169512097267, 5.5438403185182228, - -1.7038402586094779, -4.4438959711592307, -11.015732144621818, - 6.353422936701925, -12.49811409528342, -8.7892635123435436, - 7.4431993280251199, -11.851997290475913, 11.180195368120183, - -9.4564999247374093, -8.0571277799672796, -10.168682889015153, - 7.6865489416168051, 6.9537720654183168, 5.7547238970657499, - 7.8132907544544787, -7.6758670509140217, -13.461429518026945, - -10.21288294821395, -8.9098639059356817, 11.07076135706861, - 11.62484900908216, -12.80595192629648, 8.1187644795461757, - -11.015077271568005, -8.4774451076199036, -3.7096485345399364, - 6.9589204466001604, -11.504810029744057, -10.826137748223829, - 7.1007040765558553, 0.4600037552640116, 7.4392930631755414, - -7.8921933421371309, 4.1688449003654826, 2.6934001642570053, - -11.552349631762612, -9.1209688622927398, 7.7694234234253194, - 9.8541491939831918, 4.7846984132130768, -12.01616573075494, - -10.384957877116683, 2.1213555162396389, -1.2631465733111062, - 7.2765963448974311, 11.702037814375164, -4.6419600934704146, - 3.035465372956204, -12.665485915380279, 14.87611948425597, - 6.3759617209222226, 15.416368328953348, 11.102568001802966, - -2.2016521936524409, -5.7507417423155722, -9.7315904892549394, - -8.4533661972365834, 6.6915869140653612, 1.2563325618563539, - 3.6818170750750916, -10.259664812806617, -17.42001606587694, - -9.8723329562376083, 16.722298258724223, 5.8040784034758586, - 5.043607134265649, -6.0884200501280628, -12.46479120131055, - 11.417428746168465, 8.6016774355254189, 6.3327612659413601, - -4.9756593440796895, 11.629008498395986, -6.582432456627223, - -10.213175795466436, -10.537627190552456, -9.7385382870935207, - 4.3497930106733751, 11.46262376326475, 6.5885174585720812, - 0.80127702445627158, -5.9415294686811571, -8.6848050853324796, - -7.3296356415492445, -3.2092966109871042, -9.0362020696847036, - 10.187380715001016, 3.7228244668059678, 14.264384934482761, - -11.939066238066045, -6.6539140316404284, -3.423568905912433, - 15.172211417184364, 5.8169136055759321, 12.933803177204824, - 4.8346094455609157, 4.6986051929163697, 12.4369083741919, - -6.6598620961966191, -7.7823160592086698, -9.3322714485992755, - -10.024348687264132, -6.3620854849135808, 10.787347554796357, - -10.33142787740011, 9.4500345698383548, 13.338004661729089, - -4.5117170200486107, 5.2748841876325061, 0.65397841680353774, - -5.8761113418485245, 13.212466762144471, -10.594227246502985, - 12.112481630417129, 10.462985730443359, 7.9597277388679517, - 11.168354220466401, 13.529660217502212, 6.5173434441594349, - -4.5222832689981001, -9.3978450335701282, 7.1889266022608851, - -14.447029209881949, -6.5235646091062192, -14.132016943844164, - -8.0244107145546391, -11.606452161409562, 13.815542635639725, - -3.8276831428638993, 4.2130923262199236, 13.828479540531756, - -9.7289631886400425, -12.759138440911896, -8.7186212797923037, - 5.2230635175818199, -11.345353990911796, -10.299784628268064, - -10.79288996976482, 6.9682631644991639, 12.038605651601326, - -6.4692420245604199, 11.717537423121463, -6.7001782186968626, - -14.575297080856853, -1.5602359163616726, 5.9362855798012815, - 0.053309261692154032, 13.727680199769171, -19.21601303076698, - 9.9590436208956561, 8.4333811952899769, -12.018634733813567, - 8.5363560304033648, 15.137481720632351, 6.062257135960758, - -3.2889128605836442, 10.260771927717066, 2.4632555224341304, - 8.4086305044090022, 11.711569740767839, 7.7204012579914778, - 9.8119902891687243, 13.324844217197874, -4.2495385800474086, - 14.368646300234614, 5.1645642781494425, -9.2471861571779659, - 8.6630893038122512, -7.1887250035793606, -6.8602782891685674, - 13.419107217610165, 3.4043006150275064, -6.7408661758971542, - 16.4728982324621, 5.3908439557489158, -11.850071648780423, - 6.6294164361592429, 3.5102842168909265, -7.7004658329293392, - -9.0380414317908215, 7.2683287339235907, -10.90875887650364, - -9.4671319965598677, 7.290246718106669, 10.194252235745626, - -8.2970544751001114, 11.98884743157034, 9.2368156990094477, - -6.4873227933783086, 5.5050009515327103, -11.673571357782851, - -11.234442449958753, -14.282675949300783, -13.973379689925856, - -9.8025955582936284, 10.068919032389493, -5.5194546219210849, - -8.4363464834511248, -16.467089815648173, 8.2091648066291736, - -5.2783999034357993, -6.8017497521044961, 12.303739925792215, - -8.0359828918804457, 10.305533030109581, 11.59795817137849, - 9.6806921783447883, 12.902365914945838, 12.670600223545529, - 3.3950854128118233, -1.8139059111126397, 13.03804337638576, - -7.5951176153867577, 5.9670540300451185, -7.8696197105134971, - -9.7280763222251245, -9.8409744232972702, 15.044642043049675, - 4.5460409379484377, 10.314735842137413, 13.503698127629693, - -11.956176571233238, -8.7865839890228159, 1.5241949249285471, - 11.55185376611958, -8.7901715775954923, -13.669017306605566, - -8.5137964990716366, 10.098894897804108, 9.1581783387855236, - 10.553747212142603, 4.9012418108031452, 10.804820430022708, - 1.3546435398917904, -15.841568600599345, 9.3125819558595744, - -7.7527041555622382, -9.6665818839437367, -13.059319393960703, - -9.4240125295256476, 6.0729155369324035, 5.4145709073585344, - -14.60360711132752, 15.682389792220297, -10.238640987180267, - 5.0128647550420862, 10.231961772476289, -1.4687385091297409, - 6.7096888494541664, 12.964085312575433, 3.1670249038373921, - -12.969620112740943, -10.372929327871624, 5.3157927159894731, - -1.2875702904651249, 4.8921463804033758, -10.625794605734429, - -11.159438189661586, -13.733381751212868, 11.443685619260323, - -8.8915178935260073, -20.346988345474948, 4.0335471465574733, - -12.824806178403986, 3.6873678792332445, 10.546015218664492, - -2.6370258420414205, -5.4554007063968504, -11.935828785231617, - 7.993131878916377, 7.7987390596111625, 8.1278841095315979, - -10.447696625826101, 10.09752487859515, -12.487899934172088, - 9.052363585497714, 10.65488392739527, -13.01574361953946, - -8.1912611142460179, -4.4315824475935521, -13.533957031398074, - 10.001291063927491, 4.4956219078986237, -12.774086686298736, - -3.033753462001179, 5.7830251511533559, 10.481630510937473, - 12.104585725078877, 8.1274499689650295, -4.1862773784168548, - -4.2128636240024706, -7.4142799842538878, 10.309963038524865, - 9.310196199375584, 2.2194734138476999, -7.2146745741995719, - -6.161847400892019, -9.4496219507699557, -9.5126556117631687, - -15.483814832789088, 10.449722034346701, -8.2919390053547524, - 6.3187706788239923, -8.8567684339790453, 8.7692762195028298, - -10.065092529374217, 10.93620056130894, 2.2197263801830327, - -10.352888199019365, -6.7050985429835368, -16.404539501045683, - -0.86181186850133484, 9.759706664911489, 6.6007660627159872, - -7.8968015885672562, 0.59988079160594709, -13.68647043497003, - -11.672130998444938, 12.782322289287292, 10.209900139552792, - -14.897584452195668, 6.3987648291500507, 8.3069552354442138, - 9.1258435300278169, -5.9677138075482921, -9.769943670431676, - 5.1300235319621867, 7.5748074516742934, 2.6157064588089916, - -10.958766965322992, 8.7363901361174801, 9.4469516716909467, - 9.4208641956986412, 8.862200224574968, -10.003433404845952, - 8.6723469208433688, -5.0596204195500221, 9.7054781038224682, - 3.225647012632646, -7.8283918766904019, -16.486460325582886, - 4.0046986591730258, 10.973336019335751, -10.083763509953066, - -6.8134244066090037, 13.663269808215247, 8.2967402354139121, - -12.795459502216282, 7.942979947759917, 12.783610094437263, - 7.6498621116418422, -11.61105873000175, -9.6482154954829458, - 7.8615631199265277, -6.7110396380590602, -8.4485479306691271, - -8.4591279895154941, 8.4458195564514984, -14.179773890407974, - -9.374594265273883, 9.4877789539723558, -9.4281379458228773, - 18.178525813472664, -8.0356775899078805, -9.9171761436246495, - -1.3315078860166603, 2.9417408294576926, 4.896165963846026, - 13.000697285165449, -4.2586076812979918, -7.0003945354068335, - -14.301761484914877, 16.445959899038328, -7.6848364498717245, - 14.181040270858116, -16.814223643694909, 15.774494834914851, - -15.982703165401782, 9.776880368726971, 10.696066459594027, - -13.754385184655046, -6.3340609450213599, 12.943079814101948, - -7.7915856620928965, 9.0289706849684137, 2.4194211028414569, - 14.937517511388124, -7.5685051051841805, -8.483112376317262, - 13.660431422681251, 7.8254420439979571, 9.2327187414249412, - 7.5356688487456855, -14.875031729014038, -5.5568642128541414, - 9.5281074666604528, -13.155238033224853, -1.2964596583852588, - -4.1700436510402623, 9.234118380926736, 14.833083715521987, - -11.356381258100983, 6.8889669947554939, -10.432582532612269, - -8.0747593399432667, -4.4510112946627407, -12.162236236643324, - -2.1349362702487831, 12.849327908938594, 6.2443293976873981, - 2.0614851716247737, -5.294782571195543, -3.0189962320104047, - 5.6258016692948596, -10.119023790486994, -14.227025420558943, - -0.64016438986307633, 10.830131260646207, 11.966006378392212, - -13.106840410697478, 15.748441367406915, -12.718522372614043, - -10.050278769151365, -5.6224258593627399, 12.178718542163715, - 2.1101196808882583, -5.3037651992600665, 12.172135996737884, - -13.373151494605489, 13.781174835824583, -15.005831328373574, - -20.310893663227798, -4.2773819134422801, -12.562284168818776, - 7.1701937998072314, -11.952948152910784, -4.1809790243362066, - 13.035229254969643, 6.5740979902647592, 9.0476524101632894, - 8.5414171236797678, -11.900086707080444, 5.8681875585876044, - 10.08813208368691, -10.896117012959856, -9.2268609574562834, - 0.00012179904393089082, 6.3011528642126535, 11.082558880935993, - 7.7501126703341052, 7.7717625876404037, 4.5877674768326164, - 10.108008655356745, -6.5583606447890279, -7.8084294771567917, - 10.007255777798608, 11.010943853274455, -10.389889817204471, - 12.93207784354629, -10.702367773568486, 1.5785104109292216, - -8.0183281003022344, 4.8067645633925631, -6.4240232596040849, - -14.847116119523358, 9.0931620218730274, 5.1193674541507637, - -8.4657528358170424, -6.9354105814068827, -6.1975838002070907, - 3.5661593177875992, 7.371377280974869, 4.6060546197169323, - 13.542364806372001, 6.4566339759043192, 11.30736567495444, - -7.3708290151623732, 13.404241573475678, 0.45340399080754967, - -4.0282544713129242, -4.3552403051371726, 9.8939152437685429, - 14.424260690928543, 13.305889294814065, -5.9338071015794291, - 12.632273758711346, -5.3483639385659245, 6.9202470565060965, - 0.35521477401275342, 9.5585192472779177, -8.3588001373466643, - 6.4432925830046663, 12.692899206005086, -9.3260450565419912, - 17.970512112186597, -11.642094085542254, 1.066350713959042, - 9.8708030261666746, -6.1490457555507145, -9.010451161529625, - -12.584372001827008, -5.6935370193849231, -12.153009418626528, - 4.2440182351010609, -5.1992962978616797, 7.4133632394172206, - 2.9416912687062799, -13.051931744453341, -4.622910695904225, - -13.923817389740298, 7.0992949508164882, 6.5745333246775521, - -12.661795446302476, -17.6337292535754, 11.455118665101697, - 7.239558330535508, -5.8790741455188771, -2.7376088707744057, - -10.660221646135241, 9.6276183569507801, 10.373026255278685, - -3.0053375986759332, 9.0528373488525204, -5.9442824135447507, - 13.642738234427142, 12.194322434991111, -11.149932076160269, - 1.7037571410992967, 14.880097250814613, -7.8008430683859533, - 4.3243063942597137, -10.223795606165496, 12.915193889436331, - -12.152048146552264, 10.659226946366665, -7.9356265648658342, - -8.3307716932546256, 16.673768474193082, 1.5653365436944993, - 4.8455603065916764, -3.0899243786328423, -6.1051754560390492, - -5.7705513295323296, -6.8852769128710598, 7.623164999687833, - 7.8939155137164718, 10.765459642631717, 9.0210677456172679, - -12.224995119408002, -14.150465933557312, 5.345651519941768, - 13.841522794536196, -2.3000948174338163, -4.7845597979864705, - -5.4351375866788922, 3.5245019574522667, 2.8386771818649672, - 15.268104243557156, -9.7430277942233872, 15.811612740175535, - -5.4515623294515514, -8.6572002917907867, -6.219673181988802, - -0.89082305270793227, -8.2417318668768953, 6.9975040078322897, - -6.7323255935971762, -7.3304533939475434, 4.7401807263860904, - 5.5832271769294897, 6.6058089982366228, -3.1503394508619929, - -21.460472844997067, 7.8852878774403807, 6.8939788257420389, - 10.957685147046078, -15.625074848243537, -11.723592094918972, - -15.798764631629782, -8.2060371876474854, 15.124469958355371, - -7.3702221540864885, 14.838537979466452, 8.3093859386252849, - 1.5784525900525741, 4.3747052902542656, 16.030788451943696, - -8.9631984697985452, 7.3190431925150241, -9.756945072729291, - -14.440714344139529, -6.9739174783516722, 6.8071561331354875, - -2.2355445200087205, -6.2250786595685961, -5.8997288467987739, - 5.5047242373373253, -10.356173792896181, 5.1435334830424244, - -9.3653788049292839, 12.462285027688363, 12.377914817889968, - 9.4213853579752094, -9.3455590861526687, 17.26727241131405, - 7.3245528251114562, -6.2155462169180931, -12.137609705769792, - 13.060557896488179, 19.238310206324147, -8.5685627346211657, - 8.3551763945930269, 9.8196973732066706, 8.4823602209291344, - 2.8049898098660888, 13.666768487510247, -9.7851073243969182, - -8.9455268353087174, -2.8029418150655503, 14.782189986400054, - 8.4667377266868993, -13.755929311816228, -8.0729370143454471, - 10.805604109404412, 12.599814047825573, -17.135366471430803, - 11.992116376132229, -13.042876582164091, 7.8861617083451607, - -6.5794687495056721, -5.3930873541370534, -15.622499754201419, - 5.9419050462504526, 13.804813765474663, 5.6395158003457579, - -9.0897997637088714, -3.5776553470838923, 7.7610284903648434, - -11.016645146589239, -10.874331190780543, 0.72147388952628144, - 13.843587309587207, 9.9280047806148186, -16.170066037341662, - 9.7022254213821402, -5.3933217351906055, 2.3517092424825323, - 6.9870679849197135, 11.851520784501398, 10.510028176174309, - -14.311343746445708, 3.3026680341318051, 4.4390021050862023, - -7.7588835681572457, 3.6223844414911199, -11.392883009644892, - 4.8263325419461847, -7.0772231218009019, 22.934531428839488, - -9.0971943504307866, 16.694009911082297, 6.8967067321010127, - 7.2611735295029289, -6.1876050526649653, 7.6539276420311149, - -15.629995301594667, -22.73669213681206, 12.806472572315222, - -13.602880032619632, 4.8079421474964272, 0.70951529321680884, - -11.56763783292867, 13.896373123645859, 11.011258512420138, - 3.4407824906450677, 11.879887345204146, 7.7757338364439814, - 15.738146153816711, -0.41419103567747156, -2.4147541320834862, - 14.987369948472574, -8.4743572404909084, -12.672499794220743, - 12.497184056807704, -0.28001570199239545, -12.94992332785943, - -7.6301713282575729, -2.2337484590278605, 11.415679406520967, - -9.859159218067342, 9.1936659018278792, -8.9943101669652474, - -8.5499699832361991, 6.7410389932048123, 9.2520173624572184, - 10.227159413103134, 7.1425592927034662, -18.745554500440871, - -17.775969642643719, 11.801682544507194, -7.7273473779921202, - 7.1236464453325734, 9.7057719190583818, 13.727508285912711, - -12.362641071943072, -5.1402983533682178, -14.170537521621373, - 5.6895432488336324, -3.5191979245355194, -6.1045249711767653, - 14.290504482992581, 12.308816547136075, -5.6938214774477149, - -5.6008341501264587, 0.52212712464339661, -5.5362642349039284, - 7.6660157545229879, -7.905382180848842, 9.810612009834534, - -17.70809516106922, -1.2403496601772057, -0.15782160435460715, - 4.2133602640322456, -10.476969606208971, 10.295486523727636, - -7.0575322738844042, 7.7362494053033721, -6.0086321448039755, - -1.4831550089545567, -8.6265711358744266, 11.360761705764855, - 4.2063453526761281, 12.519646951127399, -13.336133743363282, - -8.5272902525625458, 3.0551420237824538, 4.9850797587816889, - 4.2373879358262148, 5.3635610202254798, -7.7527269354388633, - 14.985488704950225, -4.1003720759692515, 12.065115491028516, - -17.998495351452643, -16.357350954349631, -8.9589079155288349, - 13.936041342572953, 7.8027559972324481, -12.282070003495111, - -16.144531408950069, -9.4866664183547194, -11.727943374015606, - 9.6630970145456185, 6.9048921290158711, -19.934166904009778, - -11.734783532097213, -7.3573804987635745, 10.787048512449948, - 1.8203855387085228, 6.9468911229683599, -6.8060936745270908, - -4.0675525333779117, 12.619597822150968, -21.186471068237122, - -12.083502013544569, 4.4663418289706298, -5.3789656375315742, - -14.890316058246391, -1.316216404781305, 9.5406000026277162, - 12.532017263054071, 9.4332244405976855, 6.7225013362098425, - 11.834640960454053, -8.593891646368407, 10.556917035201668, - 14.71791330562338, -13.276952011083337, -5.2089121161512768, - -3.5936619210165119, 8.9003033594997092, 11.937206935501351, - 11.056226117943536, 8.4803819209352689, 4.9292204037487464, - -15.4894843762475, 7.8410390318769148, -6.502762516216654, - -5.628969685451529, 5.5683372686771238, 8.5956169477608242, - 4.472466013052478, 18.757542007188665, 7.9719147147337361, - -5.5287206755327487, -9.3320448759453605, 15.34734052739287, - 7.6828857696716151, -16.459798706354498, -16.841613702717492, - 5.3562657808691876, 8.6483141202497151, 6.5470262041926519, - -11.758310175669873, -13.71448361719005, -11.967662791630813, - 14.019415949151576, 0.99768989610712699, -4.7405294585483704, - 8.2686539059129966, 5.9924670797184021, -9.7057188735666351, - 10.897854736806242, 8.6225617364240712, -4.6254881131065666, - -19.799763308758489, 10.677967750816642, 14.67689507247813, - 8.2131587707771487, 6.7567017394245097, -17.811631700831676, - 1.3610916001536324, 7.2814560088894069, -9.1537527830940011, - 2.5743196175751164, 8.1949937228689684, -15.847454456087357, - -8.2348678641368931, -4.6092561926323699, 15.95837864535717, - -16.246026149005907, -11.322113612304321, -10.247729706228281, - 9.7881733796327133, -9.5255805136607208, -17.160321858540268, - 12.806643453656026, 2.2906395553284815, -5.8389294206172666, - -11.351664468462687, 15.745887439935712, 5.1275152933086918, - 5.9522255564741897, 7.7738811806988144, 8.61082160389069, - -9.3855791347890083, 2.5014849307967948, -4.2172595594011568, - -3.0110339875413583, 14.204561493723595, -3.1852038907069082, - -6.59988003522004, -0.17505945320512115, -11.433156799003305, - 3.7025055912426708, 18.034317449567027, -2.7251025249102638, - 9.4671609715304186, 7.1769944641650572, -11.396310961617562, - -12.592840695224545, 12.026224240131368, 5.6957143367711769, - 7.807121731548242, 3.270443736815237, -16.679716796878186, - -4.6589191630942342, -11.148250366288135, 6.5055253990434201, - -13.847068952373904, 7.9248346467136264, -13.586383530008991, - -8.5101262931135508, -11.077321445278956, 7.6332915260329965, - -8.579089530179516, -3.6424426068516773, -8.0663491127446605, - -8.8174376218081427, -14.791858979245854, 10.034150100242613, - 4.1684695809251009, -19.201350275958589, -4.6234537991384483, - -7.7633367436425234, -5.4425737644220131, 17.084060252304933, - 11.759495245512234, 4.6241551353967125, -0.80287380991582924, - 1.9852059370167341, -8.8577936413585974, -10.668578698777646, - 13.770343230351907, 7.8544289530123237, -5.906146447848811, - -7.1070820548176536, -7.2021040833003989, -6.6751055119961658, - -1.4835767915993865, -8.5188957712276672, 6.644056862816611, - -0.23652820765960442, 4.845459195664124, 8.3584436935830908, - 6.9840270972529952, -8.4756792799880483, 4.6255673586830426, - -7.6496994258940427, -6.900506260644816, -4.5762513134810616, - -6.4107151653342864, 8.7568199990470994, 10.688380154933624, - -9.3272647156587709, -10.849469504466718, 2.8600596241588958, - 13.419158843392887, 6.9116547193589399, 0.54100615712660804, - -6.3079948291966561, 13.979407000058522, -9.9592168253966857, - 9.1210143897798748, 13.76739384938506, -11.698421170166652, - -11.210325207431763, -0.43878865611267875, -9.5267307360997435, - -13.91603273796381, -7.6019597739674456, -14.787299906373772, - 8.515353855339642, -7.9993484620749449, -6.5031571953255547, - -10.564438266421821, -10.531656539716323, 8.3907769535673147, - -10.200579878869272, 8.4067262551472268, -13.120429865483102, - -9.9585614360850432, -4.8885839432667177, 12.236140609639621, - 1.4006400472648162, -4.7117532472597325, 11.808206752798553, - 9.4586915682783683, -11.821793626295042, 16.643803837386208, - 5.6220113043274909, 8.792079118000915, 8.4798465777015082, - 12.61789365506335, -8.438754197025828, 8.7752428370746856, - 15.288077226376224, 4.2876022696475387, 10.147670162932087, - 8.1398121820970371, 8.9633754494349347, 6.9072249690725727, - 10.562749070811192, -10.272627788718927, 8.2592313293813469, - -7.9850097881175808, -0.77775536093954867, -14.654038273436273, - -3.090713736850645, -11.007111929551995, -12.143908051261743, - 13.145067754028833, 17.014195080548721, -13.59295962221198, - -6.0558196589843734, 10.690919110927839, 9.5939627348082759, - -13.626523608590157, 2.7382196037839943, 6.2789031843755936, - -11.950324014375081, 1.2890044547091108, -9.203655039058777, - 9.7296284513826272, 12.616615916941006, 5.3147485845339419, - -12.656051045459119, -5.5986635440919565, 9.3002076429347422, - 3.3292279505682338, -4.9103514382931657, 13.222584899299941, - 9.5144587067569262, 8.440118521265628, 9.4441265152637737, - 18.529033902678044, 14.862696264490703, -5.8665961938352309, - 13.872033632124255, -14.906419172392699, -11.551436113537365, - 13.108661252054045, -8.2712840782120569, 7.7956086657436519, - 9.6836685337831092, 9.1880246557516205, -0.35720244225408904, - -8.5753236713258811, 9.6884666985614167, -14.078139760738791, - -8.0567269702966779, 14.239050097870303, 11.180573010720785, - -8.3438476973649784, -14.588404350831867, -10.806339389614816, - 15.148980847475608, 10.836208389659197, -14.522225776219754, - -7.7397343392337188, 11.832691570898515, 4.4086234295019064, - 9.3809378478579415, -12.776911649129225, 12.752335969651673, - -2.4193756721526625, 9.08709683132229, 3.717276243936952, - -0.28602641626801117, -8.4165416877523285, 8.2724324937486831, - -5.7101228345996704, 8.0194030781629397, 3.7247779864241277, - -15.996389160401096, -6.6467534065125804, 7.8864006711869301, - -10.643940035845176, 11.665222436201226, -6.6019801720611273, - 12.318091635259712, 9.505211432023728, -6.3740213658786562, - -12.643872523315254, 10.933363724548427, -4.6402401805190676, - -7.9548575561227448, 18.615251024853279, -9.1327510274897623, - -12.386332918020443, -9.6970271567877422, 10.360767067849318, - 10.017239558854548, -5.7946809622471713, 10.24748680692058, - 3.4663078263957696, -5.7127129001187793, 7.2854274512896708, - 3.2942963972057817, -15.447448082666996, 9.4240943563912616, - 4.2740494691676441, -2.8083506483212206, -11.306321543498909, - -7.8598045521703677, -10.085092744793673, -9.3809770834528106, - -8.1125987155174748, -7.0607164230981736, -17.84689520797702, - 0.26017075111447463, 10.097398266363028, -7.6969520530928976, - -11.846175967216304, -8.8291032095345621, -12.207788762284949, - -0.85154969541207071, -9.4826356063043278, -10.806758203777139, - 11.945254878769713, -15.802038222512115, 4.5363494878871542, - 22.477445008753747, 7.7153212809717395, -8.7016885715837855, - -10.007145298623586, -8.795354435120359, -5.2764732292246563, - -18.514008734874949, 9.9312388777733691, -8.6578667710667112, - 6.46688169377442, 6.9298690698896204, -4.2756570960415736, - 8.4808841268697428, 7.7873527996353795, -8.2073426100958109, - -8.4872576201416674, 8.2937560393098444, 7.5054131715887227, - 8.2394651400881891, 7.8481348021152186, 11.479257590457429, - -3.1673599551672513, 12.182950823831176, 11.788485703799161, - 10.613525222212976, 3.8898478128694616, -2.1666985168099973, - -18.063401350520685, -12.751117343050547, 14.550046910528055, - 2.8273257047602933, -12.559761991203947, -5.1410541548272528, - -12.454640798040879, -13.078940288941613, -12.828468511430206, - -4.4879330219490843, -9.3996787168401461, -9.8258621369858332, - -1.3135111381601494, 0.38819487278835541, 9.1421981585343204, - 2.7612354102366319, -10.436298814581436, 7.8534234118293771, - -9.8445919709569818, 5.97193447341464, -1.122699223283266, - -0.35565779883507898, 8.6272393953323707, -2.6785629143030141, - -4.2415840794457695, -3.6974364556373041, -11.162890147623219, - -1.0549609581685737, 5.0308101352447876, 2.2952270979876421, - -12.315318298211947, -10.695852212595735, 9.4196311784105813, - 5.4565356992299696, -2.8633610173573181, 6.1651586785957386, - 8.3636672225449065, 5.4793808824707169, -12.90333209146946, - -2.917909411244644, -18.171572853055814, 5.5692562076095564, - 9.4272302354981878, 22.37397145244622, -9.6263355853146226, - 12.56665274255262, -8.4230789476868768, 14.292402246765404, - 9.6755109502586905, 10.650146100250515, -14.501997245776215, - 5.8382255030698671, 7.4369544152182838, 11.674980225393304, - -11.786725006479465, -16.772831123624936, 3.8216491213794792, - 15.77259758739986, -9.3479878856330032, 5.9950230722209144, - 5.958729372581371, 7.2462686497735733, 10.332660701091482, - -10.204140767232445, 7.9808905023820502, 8.2782586246593102, - 6.8390222765844291, 7.0654728355247078, 7.6480295899519355, - -3.9185027035687048, -0.4255074072498965, -3.6431994408263657, - 11.140066389082302, -9.8098156821360636, -13.896130482467072, - 5.7907261691618359, 17.222088493761053, -16.920381740703927, - 7.9242825734996547, -2.688244813594495, -15.985663904040829, - -12.754606213446827, 13.950582776791954, -5.353910870790374, - 1.5595648567928815, 4.9908161576287231, -9.9205742817077969, - 8.7860382238341703, 5.5146521334834713, -11.443914321477775, - -12.875588137706325, 11.928543354774042, 9.7949495217437477, - 3.0596159141130483, -17.110449287400556, 14.904415575765301, - 6.3932641020011367, 11.703663252144132, 8.8510994551776303, - -4.9488441381477051, 6.0141351951131101, -1.616597923995984, - 10.958784259960206, 9.1227822179108102, 12.152585312821476, - 10.379738123290229, -14.813934163937317, -8.0486858029122974, - -10.468696961721317, -10.799428246081964, -18.131714651248306, - 10.923313475297233, 8.9703208918471784, 15.96222270113857, - -8.7661420666330141, 7.6020823206691786, 5.3308713164776842, - 2.4841448628964948, 8.8418522933758332, -3.2565822141546716, - 13.967329148190965, -13.883497137177436, -6.3211637919820207, - -8.7551098627283537, 0.24851512254299432, -10.440516253836366, - 11.747040525430812, 4.1482957738112507, 3.4063067929440405, - 8.9044096742573302, -4.533883066117661, -10.060016037094814, - 8.2165816247037746, 1.8593226609457101, -8.5265761308565295, - 16.14419842265152, -4.003167438457524, 16.533944688013928, - -21.327055302195756, 9.7008097133554756, -3.9906435398272566, - -11.21150304966454, -2.7948474085927382, -9.364844542610351, - -4.2756978804099237, 5.8141271039535711, -0.76694285700648002, - -16.378244424874616, 10.914821034039642, 16.369755081163987, - -7.7447057730452871, -8.1738488670482514, 5.0835789127951436, - -11.318782974932084, 12.128049901454446, -9.9118013833855763, - 5.8035693732582301, -16.725072628287645, 5.8582619856016809, - 11.841875797644564, 18.792232468145812, -6.2998330510773926, - 4.3652040812023083, 11.060526545644189, -13.359396837315156, - -2.2695101549764649, 4.2878526546937348, 8.7944164914466629, - -3.9990440871916042, -14.629067914849822, -15.681880762002669, - -3.8670963304243546, 3.480137857328875, 5.5874406151862583, - -3.1797062611049576, 7.3180755962823776, -10.128595726861276, - -9.1174957700263022, -14.980244041683607, 16.109280291992576, - 11.480512096977547, -10.311691598794816, 1.0011865103708153, - 8.6924180410487768, 6.3189823445331479, 12.194923875359811, - -5.2471028051769002, 4.4810642115580661, 3.5767787412932912, - 8.1371206073826539, 11.009844998489241, 2.352372633790496, - -11.785028325130343, -5.7430223971542294, -4.0330159172532749, - -17.56714335153762, -0.69837806311042638, 10.071956177186964, - -9.2379726328002221, -5.6954164560048781, 3.2282866389031661, - 14.19966736952165, -11.173139672395717, 10.918018476892463, - -16.209246908879869, 10.006757459930895, -10.685128505008947, - -0.80813344465943648, -7.7725116132154568, 5.4694480818752123, - -11.723461223559775, 4.3972758243309356, -2.746658870485382, - -10.571105349066855, -8.4602973618932946, 11.668195823157037, - -5.5560296820764581, 4.2868444031571951, -12.586104046837292, - 11.116589306261053, 16.708751653338254, -4.1380749013481637, - -5.304918777374966, -3.6321959214972299, 6.4836505223889134, - -6.4898794312031054, 4.7755273510416201, 4.7059724502395577, - -11.348341058700028, -2.3894998316920693, 7.7024164485972211, - 7.474516689403738, -3.754442161175565, -9.2452925879999928, - -12.22839364468452, 13.946576099794985, -16.64398659265704, - 6.7770641097097508, 6.8518280519883517, 11.40188370673337, - 4.9537315509978948, 7.1111193200908858, -6.7191754742225047, - 4.5635294299740607, -10.262970411674237, -3.9845888680297481, - -0.2324331749676018, -0.40356490082002627, 15.985289100858274, - 9.3965056026374327, 3.4160795536131108, 13.621857670347838, - 14.878550026106467, 2.4671248748490635, 1.2677903124668533, - 10.971312030524174, -11.207046712100073, -11.640311189135987, - -6.2777844536640313, 12.129463415385345, -3.2735634828650624, - -16.99880285343048, 17.207987943726486, 13.880418691753789, - 7.1345976935567039, -6.0921309113900426, -12.916783447286308, - -0.37175928860132518, 5.3795595921617778, 11.474666767728971, - 7.0272923425911724, -7.7992948111621532, 13.053545050163368, - -11.125579161935159, -4.9734162038204666, 11.929760432601684, - -16.353627702899804, 12.828965151459983, -6.7007792718721912, - -13.362734444168062, 9.4783264667528435, 9.7261137035627598, - 9.2099175046317381, -0.2719331694496081, 12.895782337004352, - -5.1315028687660558, 9.241451823362242, -2.1662823373946867, - -5.4023510845884939, 8.0145086312998544, -14.636845339016727, - 4.6576194840142362, -4.0006553278703239, 8.3384948780835586, - -6.3109591816404915, -14.523997573082733, -7.9786516212499015, - 5.5706537175478106, -0.18481561801713964, -8.1249338573796681, - 4.8293312255355296, -6.4878466660084699, -8.0428722880523242, - 9.7154788568544816, -3.7634095596341886, -5.0816731470260024, - -7.7916227681242267, 3.4940339692638638, -10.289437014508398, - -15.219845494385298, 12.995575491261707, 4.9137445428624966, - -7.9629573187705143, 11.219541958420926, 12.579169413573306, - -5.5632263161877527, 4.3244956027533856, -5.4018763855163758, - 9.3532602977578332, -15.574718543519731, -7.5391648176870891, - -8.3898770516422605, 5.4643582959567576, 19.452032686663497, - 6.1134164797347879, 12.523157246223509, 6.5452318210497289, - -15.527032324278245, 9.8889627824321256, -9.8221837999669699, - -9.5911766203792848, -9.7470711255260891, 1.1168169059934649, - -8.2960509989484734, -13.169177510817329, -13.637864244280458, - 12.833989630763297, 5.8431250479789956, -14.41459427937188, - 11.436201429539272, -11.440704230308189, -4.6605177554561878, - 6.0103734824551509, 8.8048544503260899, -14.722303045928138, - 11.823402801942454, -7.8164585124822334, -8.232953902774744, - -13.886365465665408, 8.840783671939624, 15.917335631836213, - 11.733379827065031, 8.5863892262928321, -6.3502014878601392, - 4.2519211099199783, 8.9575070499147049, 10.95856743167278, - -9.332360115881098, -8.4440260122275443, -4.0611922369466953, - 14.699231999887989, 11.501755848438288, -0.52251793181859396, - -8.3240561791721746, -13.017699204188929, 13.862085343793936, - 3.5246269674530311, -12.575260309305678, 8.8505292322744236, - -16.160514751280466, -11.987606347753729, 7.7594652616640536, - -5.6910847947056791, -11.982557604332538, -7.9943803194070249, - -11.87513054558424, -5.9220296361607261, 5.3857386820956448, - 1.3684074142164342, 7.8855235491385018, -7.2936109122376758, - 12.973360400699073, 8.9378164601271202, 8.2183380628963967, - -8.1258310489511292, -8.3418561682642896, 9.3140758124148313, - 8.9364762225415717, -7.7593878229899724, 6.5113635006824149, - 6.3101163907375719, -14.918246639214061, 13.656191397146385, - 5.8145605023995133, 5.790589877095452, 11.042264699393407, - -14.460089500394686, -8.5558978411383713, -11.890624991752267, - 9.1525039554099816, 5.3913413701654322, 13.54219340877337, - 7.1378985170394227, 13.827006140692903, 17.07127099715148, - -5.416714667986021, -10.094832206832885, 6.8118702124201906, - 9.6895115398714591, 8.7508693370687158, -8.9726099467869087, - -6.3825788556224756, -1.2811892681142396, -7.9006554532473725, - 11.991550041295781, -15.41868271279273, 10.399633667435214, - 10.25224425186277, 2.0476462887020261, -6.2087210303134732, - -13.850177857009358, 5.9216685138105953, -11.725632862109929, - -5.6223675222282647, 2.5395243562790468, -5.006470643723187, - 8.384941400951341, -13.676198969239875, -14.674173361213084, - -3.6794433215855835, 14.47578115705271, 14.106661973176443, - 6.3803571400630812, 6.3022752087290064, 9.6858881197789639, - 8.46745889047234, 4.8235109347915737, 6.2970736529909601, - 6.8398844271558676, 5.4355289101119171, -12.595917333745797, - -16.10769796175218, -11.030056234295563, -19.383981644912097, - 6.6153991326993182, -8.2620846218601045, -9.7372222168275044, - -5.9754966524223843, 5.099067163869246, 10.579232537911697, - 10.305783673284692, -5.9402938055717325, -3.5627778290193794, - 3.7215761553797764, -10.814343838161236, 7.2071720573256535, - 10.230481403156768, -6.0457170095637167, -4.0775725815462147, - 7.9957387228148695, 16.218084726623868, 11.154854336413793, - 3.6660505610321241, 4.5629032092296571, -3.7613295568483625, - 15.715664674215235, -7.1900277802063224, 9.0957779002834975, - 7.9878026138983254, 6.306124168959764, 8.8828525381624139, - 8.721765253660628, -8.4786042032403302, -9.3481374713384362, - -15.968539115654474, -12.371027164088257, 7.6395778685304663, - 4.4001441528189096, 10.920171272031924, 6.6419684708410927, - -12.778931766007094, -11.762446433381475, 7.6029684772295836, - -5.7530563842838651, -9.278300564698263, -8.6364290246359179, - 8.5380212522911432, -6.5156528288397819, 11.12605540978076, - 5.5317523996230342, -6.371230734193678, 8.6110210931749993, - -14.136763934565353, -3.325398350005996, -8.350684983762422, - -10.304377774156745, -8.3940251671508275, -8.0763593520142454, - -15.711255832370867, -1.3901134745614421, -9.9201181679174564, - 3.6762776285891374, -3.027745253408118, 3.5951178436958218, - -10.971642177404679, 8.2562901762736214, 8.3702239228132633, - 8.0927467951588898, 9.1407003009808996, 10.141245463336926, - -5.2674684020735612, 0.0038156237976130062, -3.7799349726831526, - 7.4968099930271954, 14.604208551696219, -8.8259931271859369, - -6.3243333569121711, 5.1119354064702609, -12.608102567241415, - -0.15550817742430292, -7.9404349902684608, -6.9086361598432484, - 5.7169315009538186, -5.7678559474164688, -9.9620966406213132, - 11.827724138085108, -9.5612259870659759, 7.2643256707314112, - -8.1336844275508628, 8.067406989564839, 3.1687667577463965, - 8.3775004800894344, -5.277606415155379, 15.336501694310613, - -4.7070349088479553, -7.2391458405315685, 5.2891447775935045, - -14.240394433252353, -7.4683465049173909, 9.5098429100560775, - 7.0524937265552987, -4.699596407944612, 7.1548196417129413, - 3.7757352152588068, 13.613370907926351, 9.3633279061784691, - -11.557527439640607, -14.012943624771856, 7.3474746726395423, - 5.2883987850331868, 13.132951699082062, 8.9466349827348211, - 13.267381623482532, -15.779073009326543, 8.032743244950252, - -6.1729291332819773, -16.086736861451836, 9.8901824415489088, - -11.522547874300223, -11.039678505808, -8.9536772557557835, - -0.79142011376136789, 4.3166975282733917, 5.1393017176327902, - -6.3197807372629278, 7.1773149312112974, -3.3356114786016748, - -7.4632594293525276, 12.15740148209151, 17.021497031256764, - 16.542438678045002, 4.7378203956000897, 14.845217323234882, - -7.2756424294972062, -7.9547005492110463, 9.193618599704461, - -7.5604327042012542, -8.1467060632587884, 6.3174795179981418, - 0.7536321058409664, 7.6986470566040817, -3.3754253578426234, - 2.6279128588755247, 10.051578061037993, 10.925533383954232, - -8.9061476723656874, -20.506099007820808, 14.128311245160457, - 9.7959616452139926, -12.43896437098876, -6.2641844155929478, - -7.5029331980512666, -12.192807734526079, -7.5158451935031385, - -11.210721435314145, 10.80351997655597, 3.2237621553055051, - -11.493430158458887, 7.4759875079534561, 8.7887085190462386, - -11.237257345761609, 4.9929877961788778, 6.6053051305972668, - -11.960492486668706, -11.986237490124884, 5.1070170181504384, - 4.5800543267651985, 5.4569228926003772, -12.014404000919589, - -12.327689384525359, 2.3450763619185495, -9.1846545569217142, - 4.8727425718388053, 7.2559899137243784, -10.074516945074379, - -9.8222229064973803, 2.2863391276278286, -8.7400761928041675, - -11.837723535940322, -4.4389959099922747, -3.5522064174916173, - -3.9825563609640251, -8.3095611758915098, -5.4952116706131706, - -6.7650687300300891, 11.535631654544098, -7.1952205595613057, - 13.192400852916503, -5.228605287227996, -3.4756815197644064, - 4.5448576750084744, -11.096523655162001, -8.0759285993896679, - 6.8294188484826837, -8.1148457922426314, 2.8919333068042086, - -1.8055807373910648, -9.1618657103163628, 18.95516137338171, - 14.701615562276213, 10.576040902959432, 6.9472405004529243, - 10.8509054756131, -4.2393321628034837, 7.3628769667854135, - -15.942801597936789, -13.09791276409155, -8.1192986128006535, - -2.4956021728557478, 4.4062225724764703, -12.705159555014562, - 14.611257019811106, 5.4487889924037836, 4.6811247028870682, - 7.8660698571613787, 4.6606439804949416, -13.056105688986326, - -10.877807412860054, -9.5630044307484816, -8.336671584502314, - -7.212332183373066, -6.0724287058013449, 5.6058632757502158, - 9.3822916694775689, 2.42285945557725, 9.641242013817461, - 10.674625497643289, -20.504761900048337, -7.3203307395360833, - -17.782026379472534, -9.735986037460254, -5.2634387516032799, - 6.799610895926369, -10.482358434473838, -9.9267338829086853, - 1.8815547880166452, -5.7225605181727941, -10.32085956341931, - -14.680546047832154, 1.3745157768279728, -9.0962042001843155, - 17.819003862604216, -5.4500305924782211, -7.116020542837953, - -4.277099520410796, -7.8010119492276786, 4.171818029192381, - -1.3712297957577866, -6.6583249385161043, 14.600889530125094, - 11.302441607798515, -3.9244391523237829, -11.875059302004088, - 13.955038081840771, 7.9089371967792328, -7.0382148094414347, - 10.339905992502993, -5.2543438374613363, 11.658450166023897, - -12.260784693279277, -10.567202181764241, 7.7818871780187164, - 11.469695204852945, 11.633486260660284, -7.9554988128763675, - -11.353654384257666, 5.8142491989297058, 9.253802323894794, - 12.252383629657103, 13.743458587742163, -4.5990699094437071, - 8.1674889900765191, -10.405234290473693, -4.3503211424306096, - -2.5352832982285238, -8.0329959531566715, -11.096227581298097, - -11.635882729494188, 13.841735492761007, 7.9211223012103931, - -7.8204116277296309, -11.400201996861236, -5.1390918588260295, - -10.152632304102763, -9.2722777072893567, 12.630289521752468, - -6.3311089827653779, 22.041405387767668, 10.030760738542526, - -11.015029259590074, -10.750221260345983, 9.8774814664839088, - 10.243600159868437, 10.47497065590202, 8.1475889932077727, - 10.019493153334773, -7.8612573662283625, 9.3356880428997453, - -6.5500876131080021, 9.6522744435849201, -8.9747623869991138, - 17.924301874073105, -8.2996248260234431, 11.278399997043214, - -6.4926958757794448, 3.7847950238685, 15.344497495538429, - 4.9354655746844953, 12.198358538684232, -12.353439550559809, - -4.290111282687775, 1.8013128339335276, 11.579132571580397, - -14.978620927074862, 9.1640921689945465, -5.301934549004784, - 5.3570590110206942, -12.575832581107141, -2.6075057032237736, - 6.2802480360154735, 1.2819497158937185, 4.0370287893441716, - 5.689180319581105, -11.659257077007823, -13.709675708045252, - -7.2955461047029706, -7.9351310864161704, -1.9719236556382971, - 11.636620978187096, 8.0623417904254051, 11.044122711313531, - 9.0069951057714874, -5.9396329955529055, 6.5144624673546936, - -6.6237325665461277, 5.7505943507059047, 6.4480568683630661, - 16.1112369091577, 8.6016424590576257, 7.4714033965767532, - -13.528592080057718, -8.4982760948147362, 9.7204545497931232, - -6.4562558170458875, -14.150178377947556, 11.751616118553367, - 6.0070165159337243, 6.9449626418548203, -15.126256210437514, - -9.7431764764776236, -8.876463218361474, 9.0284399719220438, - 15.073453876128392, 13.206659377846192, -3.4523853853115929, - 9.7558870023124271, -12.058967118435369, -7.513853728934679, - 14.964746497968617, 7.3467639146759316, -16.267222146617634, - 10.457316186984949, -1.3736876992731295, -19.028624862193571, - 6.2689422477285071, -7.2052733901016355, 19.395946436315498, - -3.132819208979996, 11.798928050870122, 9.2702304868755583, - -7.7224549316281159, -6.9578013286952274, 3.0911876615360234, - -11.041946426442932, 14.013325139306163, -8.7052677346673892, - 12.75898769362635, 16.761060445164567, -9.7151229616148491, - -4.0703315492617795, 5.6473020008957269, -10.612999413615965, - -9.4254350779685243, -3.9276038128045752, -17.026729820593356, - -8.424154215942611, 1.2187489164289478, 5.8313796661521602, - -6.2180611669233414, 12.998036492324015, -1.9067037718113109, - -8.0612877855389282, 4.2253038888647296, -10.732641648813859, - -7.3045004676514553, 7.7590428982291675, 5.1995141586647611, - -9.9275214342240954, 9.2358499096791942, 16.320055456396389, - 6.4700313827782239, 7.4560079428470925, -11.188331333348085, - -5.8742724314680048, -6.9160594311406891, 16.994775009862593, - -12.580529494819087, 12.251765927166845, -6.0397211911585096, - 18.500338227610456, -9.3415798998849979, 4.2166328223989247, - 15.992495543868285, -8.8374303192229871, 7.794601511254994, - -9.2446173872942285, -4.2241407599800276, -3.6317947891654878, - -11.503645352085876, 2.2293891779349062, -7.0972594752682587, - 7.4553347426404102, -5.4871239754921124, 11.941843447047516, - -6.5685789359629787, -5.7519598526588727, 11.132163514263386, - -8.7158284177121814, -15.465587317683815, 9.2269600789591095, - 10.514920493473857, -7.9515038807449656, -1.7659455589649102, - 11.517020043615382, -2.842147983237294, -17.07404226916794, - 7.6546092959597152, 6.0366140934254533, -4.9119038255795822, - 3.0017790334729799, 7.364629533044333, -0.30876757355657375, - 4.6704944379670055, -3.7846453090986092, 8.1168663608460996, - 12.569433049081056, -6.5680452544341019, -11.687875571530249, - 5.3455252949030152, -5.8739384126537999, 12.336912846866278, - -12.187352179937047, -10.762736511657643, -13.728362176358916, - 13.481091197376205, 20.215728760391368, -4.6330724568460946, - -11.010865640213632, -15.546423484526052, -9.180879292495792, - 5.60969984579312, 7.0458207069452508, -9.0859663557451587, - 3.1218915795514603, -3.5746161372551124, 6.3046716775629115, - 4.7049417414875361, 12.658169509453071, 7.6896814005156253, - -10.100222971064603, 8.1975588789479144, 10.664698634012799, - -7.684453515628392, -9.0663855675442004, 2.0159640621040276, - -2.6901451586564513, -6.5423957586759558, -12.548026160146915, - 8.5246035903640482, -0.20760014096318802, 2.513881830001568, - -10.022801591620444, 7.4682387360959597, 5.8601101886230893, - -12.699060743172828, -12.594971033148521, -7.2651889828829619, - -7.7181201727819539, 5.7325939890446032, 1.9037734923840721, - 6.4679849367511659, -4.5854626437630408, 9.7791348666583922, - 6.9463515044744693, 5.7589530811862488, 7.4387964231457664, - -10.548676785892669, -8.0141310532314787, -13.733069931485234, - -5.9563447776774918, 2.3094845147950966, -15.548183407459007, - 3.6403641528393331, 7.0657980779558498, -12.060589974915199, - -7.5435216465553632, -7.9451035097999121, -11.355855965761799, - -13.604227465548648, -5.2858045894514616, -15.074237039252267, - 5.0342256970296031, -10.047891334829437, -7.5476650028120877, - -13.135553638531196, 13.335291210589279, -8.3015934461830483, - -7.1242078757196632, 7.4165964331245746, -11.978530018893565, - 9.2825552390489801, 10.297494895739936, -5.6352022080705124, - -10.775907668538773, -12.425421895665409, -11.578418328876452, - 11.726677767952202, -5.6800250032733786, 7.5055956687306411, - -5.0822668435272913, -6.1806882302960169, 2.7619111917324486, - 1.3880530895730505, -3.267061215531363, -7.9062358776983608, - -9.8822254887225895, 0.042596987384144601, -18.721186098480946, - 6.2809470491135153, -8.5919361907833967, -9.4528212650574002, - -0.42946614787551551, -9.7471847022480738, -2.5180103438457606, - 7.1026257172531837, 15.054405511077857, -8.3632931292168653, - -10.62711764548111, -12.729565385666962, 13.352497567712332, - -4.13019164432668, -7.8355600520889723, -3.4095215304340725, - -2.7246229213887867, 13.561843730450432, -14.379007078568874, - 11.826952848891258, -11.400536273804352, 8.3810471390962462, - -14.184050570248575, 7.5105880109842111, -2.2878414379050076, - 15.169788102943443, -12.423854278773089, -16.853481953907202, - -3.0539856062495048, 9.5258258006608738, -13.294954954033772, - -7.1935249107278372, 12.621221969275366, 7.8989220530602893, - 3.8377543005570955, 4.7690377320246871, -7.384166148934951, - 10.334861379144421, -10.274185725776984, -7.660512381552711, - 7.3680216050980096, 17.2154865886667, -11.555638968508676, - -5.2123312917408828, -8.6742651332660614, 5.0064889708760525, - -5.5487370240093012, 7.1983809609150224, 9.9944498733302272, - 15.041759259342541, -7.0968495665534554, -5.3048916738390384, - -4.4004665558320015, 0.61130867486904827, -9.5652360197388209, - 2.3804090476127437, -13.00880511434177, 3.1004911438401592, - -7.9257672664784797, -1.8498710126451656, 9.4089658079582676, - -9.3980833510896122, 3.2850011750268808, 11.14162677836504, - 9.0463525052204901, 17.759167515399369, -8.8862696648537689, - 5.1450915491649409, -15.615150307773268, 8.2649197485165651, - 3.3389335977197661, -14.403893803387318, -5.6464545636723633, - 9.3258220331606356, -16.489910476642127, 0.94272857156461431, - -7.117796211634638, 8.6340635171552211, -1.2102285972486879, - 6.2782088175979966, -11.716934692108198, -13.052164576733411, - 18.843873738601541, -8.4224555986266356, -1.1432524799001162, - -3.8398585674607997, -8.4714833622312913, 2.0076683906851831, - 9.2963876576745346, -8.0839565376672269, 12.295453213278766, - 1.5119421372641451, 9.8998470462031776, -5.4780824940352852, - 1.1647911971025293, -12.103113874013506, -3.7658943085565455, - 9.0166245080951626, -8.6305499914144281, -7.8916091318734143, - -13.664449973608248, 5.0933679355857704, -11.878457052893864, - 16.283617978951966, 6.481687968258778, -7.6764315788480753, - -10.637829608202328, 6.7202557437259403, 13.070109182549373, - 11.32861639589585, 1.6023878516954715, 10.81099319579819, - 11.064755987893601, -8.8993382477578553, 1.1065340825911127, - -4.0072350338781044, -13.247125215116327, -12.902201228698958, - 15.169451502840104, -3.8842697226530465, 7.225301354379301, - -11.797852685816045, -8.4876550257372188, 15.014740389697723, - -7.1777134822539024, 4.1563808876431727, 6.7961656493164897, - 9.7772439433017837, 2.6003534672856192, -9.7640847894151364, - -4.2051688010879182, -15.33565658024747, -12.504579708311388, - 17.697085446646163, 5.6312969757365874, 10.240899486109848, - 9.1619551197188134, 4.7029812523887085, -2.2046888221920842, - 14.66532470205472, 9.4017352298948325, -6.117210458506948, - -6.2527105853832241, 7.3418788249859661, -3.6555906611950397, - 7.4710208495267914, 5.5773908821928915, 5.6464739233408832, - -11.615308048177509, -10.69821757689555, -13.369385393755998, - 6.0300942733256271, 15.607387338825525, -8.3086246196607227, - -7.139670830160231, 8.8784588291256075, 4.1708577896337715, - 2.6199826223917646, -13.065911490156337, -12.032534201424433, - 9.6843978770284949, 7.1524531158330165, -13.135769434302969, - 1.2427684037042608, 6.2493750435616269, 0.73878143318346856, - 8.7227099006195505, 7.9663740421354419, 7.4937386461486719, - 5.774464047604746, 4.2168093825758302, 4.7039817600578395, - 13.415247674093951, -7.3174039448491781, -5.3909250082277875, - 18.695142956129555, -12.304572907796414, -6.5398571898751117, - 18.631807413371877, 9.4536969028645768, -13.511273178728333, - -10.098213695601105, 16.086137486114445, 18.171369447471893, - -2.1734552236459308, -11.782729170896866, 5.849586272815432, - 2.8432532912453499, -8.6659364132968726, -9.397193645256646, - -6.3510378255402182, 10.834119352361396, -12.567501212291639, - -14.398105520628647, 0.5239804902430778, -11.960984222249122, - 6.8701999902207866, 8.0199245631006484, 14.269997689580181, - 15.2180752462958, -5.4141452527800009, -8.4604656780780214, - -10.694272205515562, -12.821403781193764, 8.6812253918746212, - 0.4525232549543311, -10.871924654919006, 2.4785398516664845, - 12.674109486125982, -4.7531674501584495, -8.0661831358532119, - 3.4451825561063716, 8.755949031759954, -9.4833485583637032, - -2.0114798466168886, 6.0122157485115482, -10.758596640141253, - -13.761354665322369, 8.5905176393054177, -18.228562554601435, - 9.080612052222488, 8.0100529390576689, 3.070646795107026, - -7.9897143166324804, -5.9493600674042657, -11.682410982429239, - 9.9461080066481919, 13.875657245813436, -11.973248443192302, - -10.046380635362567, 11.90216103103017, -9.8334952670900346, - 9.5612352151746371, 13.116744300854657, 14.890206611587024, - -5.1652284438441471, -9.1408609862296188, 0.68131117120729867, - 10.105102898176298, 3.0892960928571287, 8.7208655049996171, - -8.7314249296659536, 6.2622037924388589, 11.764851162340614, - -10.158475697384489, -8.241762229290357, -4.392241536128906, - 2.1365025208899553, 12.213135386472439, 10.674973455418831, - -5.6136099825764028, 9.2271565795945918, -7.8507177690892025, - -10.08053767291975, -6.422447124457614, -2.6002837724789458, - 13.401297355087104, -6.8962451976034886, -7.5969203877193712, - 15.930628754629025, 14.097561380198398, 6.6046768448215545, - 10.60230900465903, -11.02144608625337, -16.832723742932952, - 8.4030535324322333, -12.145417589148504, -14.454852580995478, - 1.9572939413308439, -9.3989472440312198, -2.5327484722969262, - -3.1432884014579705, -13.818082107891763, 7.5956036075988456, - 10.968509524909171, 11.885444086327313, -2.3464206973006023, - -12.277090696751678, 9.8489528008234171, 0.67512123985906181, - -13.143678504215814, 14.094369358052766, 7.4943084657254548, - -14.048054835858178, 9.6379845559922277, -3.7260180377250842, - -17.784311336615762, -9.9122096142624407, -6.9409869403274822, - -4.4694695770167767, -5.582926198616228, -3.1915641871381251, - -8.5710422806326072, 12.761174819911322, 1.9876912021969184, - -4.3233301507084612, -6.8999907772043469, -15.301865440425326, - 10.916938981775766, -12.350602455670384, -10.542931739727027, - 8.1739508602352391, 4.3903649389270001, 8.6785615014862216, - -1.0832203953721748, 6.8106936608319817, 10.280910758363124, - 7.9331359435106927, -6.2680382802730632, 9.3832393897838688, - -11.100371066619278, 14.991146890736436, 9.4952786314282243, - -12.3279500947281, 4.0471278249600369, 7.6407267357926916, - 5.9145188591615749, -1.2642658202804962, 0.99680562205569856, - -4.4005432201193422, 4.2794794689942304, 10.246091749207004, - -14.172753816473582, 6.284155849638533, -7.4755210690065725, - -11.133460612054247, -3.114492056114071, 11.612187785869857, - -6.0797169756769698, 10.483978967793448, -7.4498355642649798, - -9.6201040952112962, 4.1172134388084691, -1.0727347582503111, - 7.5416007802447753, 8.485412175873023, -5.0536124690858752, - -4.3415708303883287, -9.8603165390514871, 4.9595291263974532, - 11.78565325523018, -8.8417637712915234, -3.3465091650762329, - -12.955124625468562, 12.481083523950533, 8.0649722531194925, - -7.4942449660127082, -6.930756000836765, -20.146436634823356, - -8.2923264891201871, 10.119682922667883, 15.081958191316007, - 10.959298710885019, -7.702423224481203, -8.5494236533905532, - 11.214983659935584, -0.44116248520876644}; -const char H_4096_8192_3d_detected_data[] = { - 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, - 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, - 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, - 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, - 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, - 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, - 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, - 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, - 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, - 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, - 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, - 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, - 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, - 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, - 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, - 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, - 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, - 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, - 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, - 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, - 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, - 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, - 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, - 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, - 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, - 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, - 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, - 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, - 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, - 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, - 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, - 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, - 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, - 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, - 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, - 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, - 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, - 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, - 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, - 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, - 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, - 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, - 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, - 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, - 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, - 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, - 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, - 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, - 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, - 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, - 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, - 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, - 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, - 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, - 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, - 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, - 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, - 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, - 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, - 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, - 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, - 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, - 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, - 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, - 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, - 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, - 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, - 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, - 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, - 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, - 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, - 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, - 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, - 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, - 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, - 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, - 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, - 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, - 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, - 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, - 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, - 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, - 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, - 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, - 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, - 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, - 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, - 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, - 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, - 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, - 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, - 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, - 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, - 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, - 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, - 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, - 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, - 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, - 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, - 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, - 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, - 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, - 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, - 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, - 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, - 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, - 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, - 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, - 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, - 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, - 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, - 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, - 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, - 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, - 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, - 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, - 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, - 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, - 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, - 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, - 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, - 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, - 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, - 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, - 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, - 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, - 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, - 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, - 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, - 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, - 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, - 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, - 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, - 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, - 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, - 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, - 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, - 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, - 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, - 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, - 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, - 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, - 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, - 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, - 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, - 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, - 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, - 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, - 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, - 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, - 1, 1, 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, - 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, - 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, - 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, - 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, - 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, - 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, - 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 0, - 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, - 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, - 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, - 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, - 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, - 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, - 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, - 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, - 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, - 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, - 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, - 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, - 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, - 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, - 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, 1, 1, 1, - 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 0, - 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, - 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, - 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, - 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, - 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, - 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, - 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, - 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, - 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, - 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, - 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, - 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, - 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, - 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, - 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, - 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, - 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, - 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, - 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, - 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, - 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, - 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, - 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, - 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, - 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 1, 1, - 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, - 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, - 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, - 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, - 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, - 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, - 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, - 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, - 1, 0, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, - 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, - 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, - 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, - 0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, - 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, - 1, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, - 1, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 0, - 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, - 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, - 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, - 1, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 0, 0, - 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, - 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, - 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 1, - 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, - 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, - 0, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, - 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, - 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, - 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, - 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, - 1, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, - 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, - 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, - 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, - 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, - 0, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, - 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, - 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, - 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, - 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 1, - 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, - 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, - 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, - 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, - 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, - 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, - 0, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, - 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, - 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, - 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 0, 1, - 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, - 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, - 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, - 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, - 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, - 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, - 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, - 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, - 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, - 0, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, - 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, - 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, - 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, - 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, - 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, - 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 0, 1, - 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, - 0, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, - 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, - 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 1, 1, - 0, 1, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, - 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, - 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, - 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 1, 1, 0, - 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, - 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, - 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, - 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, - 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, - 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, - 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 0, - 0, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, - 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 0, 0, - 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 1, 0, - 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, - 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 1, - 1, 0, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, - 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, - 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, - 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 1, 1, - 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, - 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, - 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, - 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, 0, - 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, - 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, - 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, - 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, - 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 1, 1, - 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 1, 0, - 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, - 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/H_4096_8192_3d.h b/vendor/codec2_flutter_ios_only/src/codec2/src/H_4096_8192_3d.h deleted file mode 100644 index 95e22cd..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/H_4096_8192_3d.h +++ /dev/null @@ -1,20 +0,0 @@ -/* - FILE....: H_4096_8192_3d.h - - Static arrays for LDPC codec H_4096_8192_3d, generated by ldpc_gen_c_h_file.m. -*/ - -#define H_4096_8192_3d_NUMBERPARITYBITS 4096 -#define H_4096_8192_3d_MAX_ROW_WEIGHT 9 -#define H_4096_8192_3d_CODELENGTH 8192 -#define H_4096_8192_3d_NUMBERROWSHCOLS 4096 -#define H_4096_8192_3d_MAX_COL_WEIGHT 13 -#define H_4096_8192_3d_DEC_TYPE 0 -#define H_4096_8192_3d_MAX_ITER 100 - -#include - -extern const uint16_t H_4096_8192_3d_H_rows[]; -extern const uint16_t H_4096_8192_3d_H_cols[]; -extern const float H_4096_8192_3d_input[]; -extern const char H_4096_8192_3d_detected_data[]; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/_kiss_fft_guts.h b/vendor/codec2_flutter_ios_only/src/codec2/src/_kiss_fft_guts.h deleted file mode 100644 index 16305af..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/_kiss_fft_guts.h +++ /dev/null @@ -1,194 +0,0 @@ -/* -Copyright (c) 2003-2010, Mark Borgerding - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - * Neither the author nor the names of any contributors may be used to -endorse or promote products derived from this software without specific prior -written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -/* kiss_fft.h - defines kiss_fft_scalar as either short or a float type - and defines - typedef struct { kiss_fft_scalar r; kiss_fft_scalar i; }kiss_fft_cpx; */ -#include - -#include "kiss_fft.h" - -#define MAXFACTORS 32 -/* e.g. an fft of length 128 has 4 factors - as far as kissfft is concerned - 4*4*4*2 - */ - -struct kiss_fft_state { - int nfft; - int inverse; - int factors[2 * MAXFACTORS]; - kiss_fft_cpx twiddles[1]; -}; - -/* - Explanation of macros dealing with complex math: - - C_MUL(m,a,b) : m = a*b - C_FIXDIV( c , div ) : if a fixed point impl., c /= div. noop otherwise - C_SUB( res, a,b) : res = a - b - C_SUBFROM( res , a) : res -= a - C_ADDTO( res , a) : res += a - * */ -#ifdef FIXED_POINT -#if (FIXED_POINT == 32) -#define FRACBITS 31 -#define SAMPPROD int64_t -#define SAMP_MAX 2147483647 -#else -#define FRACBITS 15 -#define SAMPPROD int32_t -#define SAMP_MAX 32767 -#endif - -#define SAMP_MIN -SAMP_MAX - -#if defined(CHECK_OVERFLOW) -#define CHECK_OVERFLOW_OP(a, op, b) \ - if ((SAMPPROD)(a)op(SAMPPROD)(b) > SAMP_MAX || \ - (SAMPPROD)(a)op(SAMPPROD)(b) < SAMP_MIN) { \ - fprintf(stderr, \ - "WARNING:overflow @ " __FILE__ "(%d): (%d " #op " %d) = %ld\n", \ - __LINE__, (a), (b), (SAMPPROD)(a)op(SAMPPROD)(b)); \ - } -#endif - -#define smul(a, b) ((SAMPPROD)(a) * (b)) -#define sround(x) (kiss_fft_scalar)(((x) + (1 << (FRACBITS - 1))) >> FRACBITS) - -#define S_MUL(a, b) sround(smul(a, b)) - -#define C_MUL(m, a, b) \ - do { \ - (m).r = sround(smul((a).r, (b).r) - smul((a).i, (b).i)); \ - (m).i = sround(smul((a).r, (b).i) + smul((a).i, (b).r)); \ - } while (0) - -#define DIVSCALAR(x, k) (x) = sround(smul(x, SAMP_MAX / k)) - -#define C_FIXDIV(c, div) \ - do { \ - DIVSCALAR((c).r, div); \ - DIVSCALAR((c).i, div); \ - } while (0) - -#define C_MULBYSCALAR(c, s) \ - do { \ - (c).r = sround(smul((c).r, s)); \ - (c).i = sround(smul((c).i, s)); \ - } while (0) - -#else /* not FIXED_POINT*/ - -#define S_MUL(a, b) ((a) * (b)) -#define C_MUL(m, a, b) \ - do { \ - (m).r = (a).r * (b).r - (a).i * (b).i; \ - (m).i = (a).r * (b).i + (a).i * (b).r; \ - } while (0) -#define C_FIXDIV(c, div) /* NOOP */ -#define C_MULBYSCALAR(c, s) \ - do { \ - (c).r *= (s); \ - (c).i *= (s); \ - } while (0) -#endif - -#ifndef CHECK_OVERFLOW_OP -#define CHECK_OVERFLOW_OP(a, op, b) /* noop */ -#endif - -#define C_ADD(res, a, b) \ - do { \ - CHECK_OVERFLOW_OP((a).r, +, (b).r) \ - CHECK_OVERFLOW_OP((a).i, +, (b).i) \ - (res).r = (a).r + (b).r; \ - (res).i = (a).i + (b).i; \ - } while (0) -#define C_SUB(res, a, b) \ - do { \ - CHECK_OVERFLOW_OP((a).r, -, (b).r) \ - CHECK_OVERFLOW_OP((a).i, -, (b).i) \ - (res).r = (a).r - (b).r; \ - (res).i = (a).i - (b).i; \ - } while (0) -#define C_ADDTO(res, a) \ - do { \ - CHECK_OVERFLOW_OP((res).r, +, (a).r) \ - CHECK_OVERFLOW_OP((res).i, +, (a).i) \ - (res).r += (a).r; \ - (res).i += (a).i; \ - } while (0) - -#define C_SUBFROM(res, a) \ - do { \ - CHECK_OVERFLOW_OP((res).r, -, (a).r) \ - CHECK_OVERFLOW_OP((res).i, -, (a).i) \ - (res).r -= (a).r; \ - (res).i -= (a).i; \ - } while (0) - -#ifdef FIXED_POINT -#define KISS_FFT_COS(phase) floorf(.5 + SAMP_MAX * cosf(phase)) -#define KISS_FFT_SIN(phase) floorf(.5 + SAMP_MAX * sinf(phase)) -#define HALF_OF(x) ((x) >> 1) -#elif defined(USE_SIMD) -#define KISS_FFT_COS(phase) _mm_set1_ps(cosf(phase)) -#define KISS_FFT_SIN(phase) _mm_set1_ps(sinf(phase)) -#define HALF_OF(x) ((x)*_mm_set1_ps(.5)) -#else -#define KISS_FFT_COS(phase) (kiss_fft_scalar) cosf(phase) -#define KISS_FFT_SIN(phase) (kiss_fft_scalar) sinf(phase) -#define HALF_OF(x) ((x)*.5) -#endif - -#define kf_cexp(x, phase) \ - do { \ - (x)->r = KISS_FFT_COS(phase); \ - (x)->i = KISS_FFT_SIN(phase); \ - } while (0) - -/* a debugging function */ -#define pcpx(c) \ - fprintf(stderr, "%g + %gi\n", (double)((c)->r), (double)((c)->i)) - -#ifdef KISS_FFT_USE_ALLOCA -// define this to allow use of alloca instead of malloc for temporary buffers -// Temporary buffers are used in two case: -// 1. FFT sizes that have "bad" factors. i.e. not 2,3 and 5 -// 2. "in-place" FFTs. Notice the quotes, since kissfft does not really do an -// in-place transform. -#include -#define KISS_FFT_TMP_ALLOC(nbytes) alloca(nbytes) -#define KISS_FFT_TMP_FREE(ptr) -#else -#define KISS_FFT_TMP_ALLOC(nbytes) KISS_FFT_MALLOC(nbytes) -#define KISS_FFT_TMP_FREE(ptr) KISS_FFT_FREE(ptr) -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/bpf.h b/vendor/codec2_flutter_ios_only/src/codec2/src/bpf.h deleted file mode 100644 index d74e059..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/bpf.h +++ /dev/null @@ -1,18 +0,0 @@ -#define BPF_N 101 - -float bpf[] = { - 0.002174, 0.003245, 0.002147, 0.001866, 0.002764, 0.000567, -0.001641, - -0.000565, -0.002415, -0.005837, -0.003620, -0.002828, -0.006268, -0.002787, - 0.001963, -0.001234, 0.001446, 0.009200, 0.005331, 0.003521, 0.011821, - 0.006951, -0.002015, 0.005137, 0.001828, -0.013390, -0.007058, -0.003273, - -0.020458, -0.014321, 0.001751, -0.012891, -0.009730, 0.018993, 0.008544, - 0.000534, 0.035755, 0.029074, -0.001192, 0.030852, 0.030983, -0.029834, - -0.009550, 0.011945, -0.081971, -0.082875, 0.000423, -0.133526, -0.211778, - 0.182628, 0.514906, 0.182628, -0.211778, -0.133526, 0.000423, -0.082875, - -0.081971, 0.011945, -0.009550, -0.029834, 0.030983, 0.030852, -0.001192, - 0.029074, 0.035755, 0.000534, 0.008544, 0.018993, -0.009730, -0.012891, - 0.001751, -0.014321, -0.020458, -0.003273, -0.007058, -0.013390, 0.001828, - 0.005137, -0.002015, 0.006951, 0.011821, 0.003521, 0.005331, 0.009200, - 0.001446, -0.001234, 0.001963, -0.002787, -0.006268, -0.002828, -0.003620, - -0.005837, -0.002415, -0.000565, -0.001641, 0.000567, 0.002764, 0.001866, - 0.002147, 0.003245, 0.002174}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/bpfb.h b/vendor/codec2_flutter_ios_only/src/codec2/src/bpfb.h deleted file mode 100644 index e3a958f..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/bpfb.h +++ /dev/null @@ -1,18 +0,0 @@ -#define BPFB_N 101 - -float bpfb[] = { - 0.003795, 0.006827, 0.002261, 0.002523, 0.005758, -0.000264, -0.000674, - 0.003113, -0.004144, -0.004923, 0.000043, -0.008017, -0.008711, -0.001802, - -0.010210, -0.010428, -0.000899, -0.009413, -0.009072, 0.003469, -0.005335, - -0.004828, 0.010724, 0.000941, 0.000708, 0.018957, 0.007084, 0.004825, - 0.025418, 0.010147, 0.004452, 0.027434, 0.007550, -0.002861, 0.023483, - -0.001944, -0.018138, 0.014122, -0.017583, -0.040768, 0.002598, -0.036604, - -0.069541, -0.004273, -0.054876, -0.107289, 0.010068, -0.068052, -0.200119, - 0.207287, 0.597150, 0.207287, -0.200119, -0.068052, 0.010068, -0.107289, - -0.054876, -0.004273, -0.069541, -0.036604, 0.002598, -0.040768, -0.017583, - 0.014122, -0.018138, -0.001944, 0.023483, -0.002861, 0.007550, 0.027434, - 0.004452, 0.010147, 0.025418, 0.004825, 0.007084, 0.018957, 0.000708, - 0.000941, 0.010724, -0.004828, -0.005335, 0.003469, -0.009072, -0.009413, - -0.000899, -0.010428, -0.010210, -0.001802, -0.008711, -0.008017, 0.000043, - -0.004923, -0.004144, 0.003113, -0.000674, -0.000264, 0.005758, 0.002523, - 0.002261, 0.006827, 0.003795}; \ No newline at end of file diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/c2dec.c b/vendor/codec2_flutter_ios_only/src/codec2/src/c2dec.c deleted file mode 100644 index b852078..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/c2dec.c +++ /dev/null @@ -1,420 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: c2dec.c - AUTHOR......: David Rowe - DATE CREATED: 23/8/2010 - - Decodes a file of bits to a file of raw speech samples using codec2. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2010 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include - -#include "c2file.h" -#include "codec2.h" -#include "dump.h" - -#define NONE 0 /* no bit errors */ -#define UNIFORM 1 /* random bit errors */ -#define TWO_STATE 2 /* Two state error model */ -#define UNIFORM_RANGE 3 /* random bit errors over a certain range */ - -void print_help(const struct option *long_options, int num_opts, char *argv[]); - -int main(int argc, char *argv[]) { - int mode = 0; - void *codec2; - FILE *fin; - FILE *fout; - FILE *fber = NULL; - short *buf; - unsigned char *bits; - float *softdec_bits; - char *bitperchar_bits; - int nsam, nbit, nbyte, i, byte, bits_proc, bit_errors, error_mode; - int nstart_bit, nend_bit, bit_rate; - int state, next_state; - float ber, r, burst_length, burst_period, burst_timer, ber_est; - unsigned char mask; - int natural, softdec, bit, ret, bitperchar; -#ifdef DUMP - int dump; -#endif - int report_energy; - FILE *f_ratek = NULL; - float *user_ratek; - int K; - - char *opt_string = "h:"; - struct option long_options[] = {{"ber", required_argument, NULL, 0}, - {"startbit", required_argument, NULL, 0}, - {"endbit", required_argument, NULL, 0}, - {"berfile", required_argument, NULL, 0}, - {"natural", no_argument, &natural, 1}, - {"softdec", no_argument, &softdec, 1}, - {"bitperchar", no_argument, &bitperchar, 1}, -#ifdef DUMP - {"dump", required_argument, &dump, 1}, -#endif - {"energy", no_argument, NULL, 0}, - {"mlfeat", required_argument, NULL, 0}, - {"loadcb", required_argument, NULL, 0}, - {"loadratek", required_argument, NULL, 0}, - {"nopf", no_argument, NULL, 0}, - {"help", no_argument, NULL, 'h'}, - {NULL, no_argument, NULL, 0}}; - int num_opts = sizeof(long_options) / sizeof(struct option); - - if (argc < 4) print_help(long_options, num_opts, argv); - - if (strcmp(argv[2], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[2], "rb")) == NULL) { - fprintf(stderr, "Error opening input bit file: %s: %s.\n", argv[2], - strerror(errno)); - exit(1); - } - - if (strcmp(argv[3], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[3], "wb")) == NULL) { - fprintf(stderr, "Error opening output speech file: %s: %s.\n", argv[3], - strerror(errno)); - exit(1); - } - - // Attempt to detect a .c2 file with a header - struct c2_header in_hdr; - char *ext = strrchr(argv[2], '.'); - if ((ext != NULL) && (strcmp(ext, ".c2") == 0)) { - int nread = fread(&in_hdr, sizeof(in_hdr), 1, fin); - assert(nread == 1); - - if (memcmp(in_hdr.magic, c2_file_magic, sizeof(c2_file_magic)) == 0) { - fprintf(stderr, "Detected Codec2 file version %d.%d in mode %d\n", - in_hdr.version_major, in_hdr.version_minor, in_hdr.mode); - - mode = in_hdr.mode; - } else { - fprintf(stderr, "Codec2 file specified but no header detected\n"); - // Rewind the input file so we can try to decode - // based on command line mode selection - fseek(fin, 0, SEEK_SET); - } /* end if - magic detection */ - } else { - // If we got here, we need to honor the command line mode - if (strcmp(argv[1], "3200") == 0) - mode = CODEC2_MODE_3200; - else if (strcmp(argv[1], "2400") == 0) - mode = CODEC2_MODE_2400; - else if (strcmp(argv[1], "1600") == 0) - mode = CODEC2_MODE_1600; - else if (strcmp(argv[1], "1400") == 0) - mode = CODEC2_MODE_1400; - else if (strcmp(argv[1], "1300") == 0) - mode = CODEC2_MODE_1300; - else if (strcmp(argv[1], "1200") == 0) - mode = CODEC2_MODE_1200; - else if (strcmp(argv[1], "700C") == 0) - mode = CODEC2_MODE_700C; - else { - fprintf(stderr, - "Error in mode: %s. Must be 3200, 2400, 1600, 1400, 1300, 1200, " - "700C\n", - argv[1]); - exit(1); - } - bit_rate = atoi(argv[1]); - }; /* end if - extension / header detection */ - - error_mode = NONE; - ber = 0.0; - burst_length = burst_period = 0.0; - burst_timer = 0.0; - natural = softdec = bitperchar = 0; - report_energy = 0; -#ifdef DUMP - dump = 0; -#endif - - codec2 = codec2_create(mode); - assert(codec2 != NULL); - nsam = codec2_samples_per_frame(codec2); - nbit = codec2_bits_per_frame(codec2); - buf = (short *)malloc(nsam * sizeof(short)); - nbyte = (nbit + 7) / 8; - bits = (unsigned char *)malloc(nbyte * sizeof(char)); - softdec_bits = (float *)malloc(nbit * sizeof(float)); - bitperchar_bits = (char *)malloc(nbit * sizeof(char)); - bit_errors = bits_proc = 0; - nstart_bit = 0; - nend_bit = nbit - 1; - - while (1) { - int option_index = 0; - int opt = getopt_long(argc, argv, opt_string, long_options, &option_index); - if (opt == -1) break; - - switch (opt) { - case 0: - if (strcmp(long_options[option_index].name, "ber") == 0) { - ber = atof(optarg); - error_mode = UNIFORM; - } else if (strcmp(long_options[option_index].name, "startbit") == 0) { - nstart_bit = atoi(optarg); - } else if (strcmp(long_options[option_index].name, "endbit") == 0) { - nend_bit = atoi(optarg); - } else if (strcmp(long_options[option_index].name, "berfile") == 0) { - if ((fber = fopen(optarg, "wt")) == NULL) { - fprintf(stderr, "Error opening BER file: %s %s.\n", optarg, - strerror(errno)); - exit(1); - } - - } -#ifdef DUMP - else if (strcmp(long_options[option_index].name, "dump") == 0) { - if (dump) dump_on(optarg); - } -#endif - else if (strcmp(long_options[option_index].name, "energy") == 0) { - report_energy = 1; - } else if (strcmp(long_options[option_index].name, "loadcb") == 0) { - /* load VQ stage (700C only) */ - // fprintf(stderr, "%s\n", optarg+1); - codec2_load_codebook(codec2, atoi(optarg) - 1, argv[optind]); - } else if (strcmp(long_options[option_index].name, "loadratek") == 0) { - /* load rate K vectors (by passing quantisation) for 700C VQ tests */ - fprintf(stderr, "%s\n", optarg); - f_ratek = fopen(optarg, "rb"); - assert(f_ratek != NULL); - user_ratek = codec2_enable_user_ratek(codec2, &K); - } else if (strcmp(long_options[option_index].name, "nopf") == 0) { - codec2_700c_post_filter(codec2, 0); - } else if (strcmp(long_options[option_index].name, "mlfeat") == 0) { - /* dump machine learning features (700C only) */ - codec2_open_mlfeat(codec2, optarg, NULL); - } - break; - - case 'h': - print_help(long_options, num_opts, argv); - break; - - default: - /* This will never be reached */ - break; - } - } - assert(nend_bit <= nbit); - codec2_set_natural_or_gray(codec2, !natural); - // printf("%d %d\n", nstart_bit, nend_bit); - - // fprintf(stderr, "softdec: %d natural: %d\n", softdec, natural); - if (softdec) { - ret = (fread(softdec_bits, sizeof(float), nbit, fin) == (size_t)nbit); - } - if (bitperchar) { - ret = (fread(bitperchar_bits, sizeof(char), nbit, fin) == (size_t)nbit); - } - if (!softdec && !bitperchar) { - ret = (fread(bits, sizeof(char), nbyte, fin) == (size_t)nbyte); - } - - while (ret) { - // apply bit errors, MSB of byte 0 is bit 0 in frame, only works in packed - // mode - - if ((error_mode == UNIFORM) || (error_mode == UNIFORM_RANGE)) { - assert(softdec == 0); - for (i = nstart_bit; i < nend_bit + 1; i++) { - r = (float)rand() / RAND_MAX; - if (r < ber) { - byte = i / 8; - // printf("nbyte %d nbit %d i %d byte %d bits[%d] 0x%0x ", nbyte, - // nbit, i, byte, byte, bits[byte]); - mask = 1 << (7 - i + byte * 8); - bits[byte] ^= mask; - // printf("shift: %d mask: 0x%0x bits[%d] 0x%0x\n", 7 - i + byte*8, - // mask, byte, bits[byte] ); - bit_errors++; - } - bits_proc++; - } - } - - if (error_mode == TWO_STATE) { - assert(softdec == 0); - burst_timer += (float)nbit / bit_rate; - fprintf(stderr, "burst_timer: %f state: %d\n", burst_timer, state); - - next_state = state; - switch (state) { - case 0: - - /* clear channel state - no bit errors */ - - if (burst_timer > (burst_period - burst_length)) next_state = 1; - break; - - case 1: - - /* burst error state - 50% bit error rate */ - - for (i = nstart_bit; i < nend_bit + 1; i++) { - r = (float)rand() / RAND_MAX; - if (r < 0.5) { - byte = i / 8; - bits[byte] ^= 1 << (7 - i + byte * 8); - bit_errors++; - } - bits_proc++; - } - - if (burst_timer > burst_period) { - burst_timer = 0.0; - next_state = 0; - } - break; - } - - state = next_state; - } - - if (fber != NULL) { - if (fread(&ber_est, sizeof(float), 1, fber) != 1) { - fprintf(stderr, "ran out of BER estimates!\n"); - exit(1); - } - // fprintf(stderr, "ber_est: %f\n", ber_est); - } else - ber_est = 0.0; - - if (softdec) { - /* pack bits, MSB received first */ - - bit = 7; - byte = 0; - memset(bits, 0, nbyte); - for (i = 0; i < nbit; i++) { - bits[byte] |= ((softdec_bits[i] < 0.0) << bit); - bit--; - if (bit < 0) { - bit = 7; - byte++; - } - } - codec2_set_softdec(codec2, softdec_bits); - } - - if (bitperchar) { - /* pack bits, MSB received first */ - - bit = 7; - byte = 0; - memset(bits, 0, nbyte); - for (i = 0; i < nbit; i++) { - bits[byte] |= bitperchar_bits[i] << bit; - bit--; - if (bit < 0) { - bit = 7; - byte++; - } - } - } - - if (report_energy) - fprintf(stderr, "Energy: %1.3f\n", codec2_get_energy(codec2, bits)); - - if (f_ratek != NULL) ret = fread(user_ratek, sizeof(float), K, f_ratek); - - codec2_decode_ber(codec2, buf, bits, ber_est); - fwrite(buf, sizeof(short), nsam, fout); - - // if this is in a pipeline, we probably don't want the usual - // buffering to occur - - if (fout == stdout) fflush(stdout); - - if (softdec) { - ret = (fread(softdec_bits, sizeof(float), nbit, fin) == (size_t)nbit); - } - if (bitperchar) { - ret = (fread(bitperchar_bits, sizeof(char), nbit, fin) == (size_t)nbit); - } - if (!softdec && !bitperchar) { - ret = (fread(bits, sizeof(char), nbyte, fin) == (size_t)nbyte); - } - } - - if (error_mode) - fprintf(stderr, "actual BER: %1.3f\n", (float)bit_errors / bits_proc); - - codec2_destroy(codec2); - - free(buf); - free(bits); - free(softdec_bits); - free(bitperchar_bits); - fclose(fin); - fclose(fout); - if (fber != NULL) { - fclose(fber); - } - - return 0; -} - -void print_help(const struct option *long_options, int num_opts, char *argv[]) { - int i; - char *option_parameters; - fprintf(stderr, - "\nc2dec - Codec 2 decoder and bit error simulation program\n" - "usage: %s 3200|2400|1600|1400|1300|1200|700C InputFile " - "OutputRawFile [OPTIONS]\n\n" - "Options:\n", - argv[0]); - for (i = 0; i < num_opts - 1; i++) { - if (long_options[i].has_arg == no_argument) { - option_parameters = ""; - } else if (strcmp("ber", long_options[i].name) == 0) { - option_parameters = " BER"; - } else if (strcmp("startbit", long_options[i].name) == 0) { - option_parameters = " startBit"; - } else if (strcmp("endbit", long_options[i].name) == 0) { - option_parameters = " endBit"; - } else if (strcmp("berfile", long_options[i].name) == 0) { - option_parameters = " berFileName"; - } else if (strcmp("dump", long_options[i].name) == 0) { - option_parameters = " dumpFilePrefix"; - } else if (strcmp("lspEWov", long_options[i].name) == 0) { - option_parameters = " featureFileName"; - } else { - option_parameters = " "; - } - fprintf(stderr, "\t--%s%s\n", long_options[i].name, option_parameters); - } - exit(1); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/c2enc.c b/vendor/codec2_flutter_ios_only/src/codec2/src/c2enc.c deleted file mode 100644 index 5511d9d..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/c2enc.c +++ /dev/null @@ -1,207 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: c2enc.c - AUTHOR......: David Rowe - DATE CREATED: 23/8/2010 - - Encodes a file of raw speech samples using codec2 and outputs a file - of bits. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2010 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include - -#include "c2file.h" -#include "codec2.h" - -int main(int argc, char *argv[]) { - int mode; - void *codec2; - FILE *fin; - FILE *fout; - short *buf; - unsigned char *bits; - int nsam, nbit, nbyte, gray, softdec, bitperchar; - float *unpacked_bits_float; - char *unpacked_bits_char; - int bit, byte, i; - int report_var = 0; - int eq = 0; - - if (argc < 4) { - printf( - "usage: c2enc 3200|2400|1600|1400|1300|1200|700C " - "InputRawspeechFile OutputBitFile [--natural] [--softdec] " - "[--bitperchar] [--mlfeat f32File modelFile] [--loadcb stageNum " - "Filename] [--var] [--eq]\n"); - printf("e.g. (headerless) c2enc 1300 ../raw/hts1a.raw hts1a.bin\n"); - printf( - "e.g. (with header to detect mode) c2enc 1300 ../raw/hts1a.raw " - "hts1a.c2\n"); - exit(1); - } - - if (strcmp(argv[1], "3200") == 0) - mode = CODEC2_MODE_3200; - else if (strcmp(argv[1], "2400") == 0) - mode = CODEC2_MODE_2400; - else if (strcmp(argv[1], "1600") == 0) - mode = CODEC2_MODE_1600; - else if (strcmp(argv[1], "1400") == 0) - mode = CODEC2_MODE_1400; - else if (strcmp(argv[1], "1300") == 0) - mode = CODEC2_MODE_1300; - else if (strcmp(argv[1], "1200") == 0) - mode = CODEC2_MODE_1200; - else if (strcmp(argv[1], "700C") == 0) - mode = CODEC2_MODE_700C; - else { - fprintf(stderr, - "Error in mode: %s. Must be 3200, 2400, 1600, 1400, 1300, 1200, " - "700C\n", - argv[1]); - exit(1); - } - - if (strcmp(argv[2], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[2], "rb")) == NULL) { - fprintf(stderr, "Error opening input speech file: %s: %s.\n", argv[2], - strerror(errno)); - exit(1); - } - - if (strcmp(argv[3], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[3], "wb")) == NULL) { - fprintf(stderr, "Error opening output compressed bit file: %s: %s.\n", - argv[3], strerror(errno)); - exit(1); - } - - // Write a header if we're writing to a .c2 file - char *ext = strrchr(argv[3], '.'); - if (ext != NULL) { - if (strcmp(ext, ".c2") == 0) { - struct c2_header out_hdr; - memcpy(out_hdr.magic, c2_file_magic, sizeof(c2_file_magic)); - out_hdr.mode = mode; - out_hdr.version_major = CODEC2_VERSION_MAJOR; - out_hdr.version_minor = CODEC2_VERSION_MINOR; - // TODO: Handle flags (this block needs to be moved down) - out_hdr.flags = 0; - fwrite(&out_hdr, sizeof(out_hdr), 1, fout); - }; - }; - - codec2 = codec2_create(mode); - nsam = codec2_samples_per_frame(codec2); - nbit = codec2_bits_per_frame(codec2); - buf = (short *)malloc(nsam * sizeof(short)); - nbyte = (nbit + 7) / 8; - - bits = (unsigned char *)malloc(nbyte * sizeof(char)); - unpacked_bits_float = (float *)malloc(nbit * sizeof(float)); - unpacked_bits_char = (char *)malloc(nbit * sizeof(char)); - - gray = 1; - softdec = 0; - bitperchar = 0; - for (i = 4; i < argc; i++) { - if (strcmp(argv[i], "--natural") == 0) { - gray = 0; - } - if (strcmp(argv[i], "--softdec") == 0) { - softdec = 1; - } - if (strcmp(argv[i], "--bitperchar") == 0) { - bitperchar = 1; - } - if (strcmp(argv[i], "--mlfeat") == 0) { - /* dump machine learning features (700C only) */ - codec2_open_mlfeat(codec2, argv[i + 1], argv[i + 2]); - } - if (strcmp(argv[i], "--loadcb") == 0) { - /* load VQ stage (700C only) */ - codec2_load_codebook(codec2, atoi(argv[i + 1]) - 1, argv[i + 2]); - } - if (strcmp(argv[i], "--var") == 0) { - report_var = 1; - } - if (strcmp(argv[i], "--eq") == 0) { - eq = 1; - } - } - codec2_set_natural_or_gray(codec2, gray); - codec2_700c_eq(codec2, eq); - - // fprintf(stderr,"gray: %d softdec: %d\n", gray, softdec); - - while (fread(buf, sizeof(short), nsam, fin) == (size_t)nsam) { - codec2_encode(codec2, bits, buf); - - if (softdec || bitperchar) { - /* unpack bits, MSB first, send as soft decision float */ - - bit = 7; - byte = 0; - for (i = 0; i < nbit; i++) { - unpacked_bits_float[i] = 1.0 - 2.0 * ((bits[byte] >> bit) & 0x1); - unpacked_bits_char[i] = (bits[byte] >> bit) & 0x1; - bit--; - if (bit < 0) { - bit = 7; - byte++; - } - } - if (softdec) { - fwrite(unpacked_bits_float, sizeof(float), nbit, fout); - } - if (bitperchar) { - fwrite(unpacked_bits_char, sizeof(char), nbit, fout); - } - } else - fwrite(bits, sizeof(char), nbyte, fout); - - // if this is in a pipeline, we probably don't want the usual - // buffering to occur - - if (fout == stdout) fflush(stdout); - } - - if (report_var) { - float var = codec2_get_var(codec2); - fprintf(stderr, "%s var: %5.2f std: %5.2f\n", argv[2], var, sqrt(var)); - } - codec2_destroy(codec2); - - free(buf); - free(bits); - free(unpacked_bits_float); - free(unpacked_bits_char); - fclose(fin); - fclose(fout); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/c2file.h b/vendor/codec2_flutter_ios_only/src/codec2/src/c2file.h deleted file mode 100644 index 66c1e4a..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/c2file.h +++ /dev/null @@ -1,19 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: c2file.h - AUTHOR......: Kevin Otte - DATE CREATED: 2017-08-01 - - Header structures for Codec2 file storage - -\*---------------------------------------------------------------------------*/ - -const char c2_file_magic[3] = {0xc0, 0xde, 0xc2}; - -struct c2_header { - char magic[3]; - char version_major; - char version_minor; - char mode; - char flags; -}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/c2sim.c b/vendor/codec2_flutter_ios_only/src/codec2/src/c2sim.c deleted file mode 100644 index 3117415..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/c2sim.c +++ /dev/null @@ -1,1187 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: c2sim.c - AUTHOR......: David Rowe - DATE CREATED: 20/8/2010 - - Codec2 simulation. Combines encoder and decoder and allows - switching in and out various algorithms and quantisation steps. Used - for algorithm development. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "bpf.h" -#include "bpfb.h" -#include "defines.h" -#include "dump.h" -#include "interp.h" -#include "lpc.h" -#include "lpcnet_freq.h" -#include "lsp.h" -#include "newamp1.h" -#include "nlp.h" -#include "phase.h" -#include "postfilter.h" -#include "quantise.h" -#include "sd.h" -#include "sine.h" - -void synth_one_frame(int n_samp, codec2_fftr_cfg fftr_inv_cfg, short buf[], - MODEL *model, float Sn_[], float Pn[], int prede, - float *de_mem, float gain); -void print_help(const struct option *long_options, int num_opts, char *argv[]); - -#define N_SAMP n_samp /* quick fix for run time sample rate selection */ - -/*---------------------------------------------------------------------------*\ - - MAIN - -\*---------------------------------------------------------------------------*/ - -int main(int argc, char *argv[]) { - int Fs = 8000; - int set_fs; - - int lpc_model = 0, order = LPC_ORD; - int lsp = 0, lspd = 0, lspvq = 0; - int lspjmv = 0; - int prede = 0; - int postfilt; - int hand_voicing = 0, hi = 0, simlpcpf = 0, modelin = 0, modelout = 0; - int lpcpf = 0; - FILE *fvoicing = 0; - int dec; - int decimate = 1; - int amread, Woread, pahw; - int awread; - int hmread; - int phase0 = 0; - int scalar_quant_Wo_e = 0; - int scalar_quant_Wo_e_low = 0; - int vector_quant_Wo_e = 0; - int dump_pitch_e = 0; - float gain = 1.0; - int bpf_en = 0; - int bpfb_en = 0; - FILE *fam = NULL, *fWo = NULL; - FILE *faw = NULL; - FILE *fhm = NULL; - FILE *fjmv = NULL; - FILE *flspEWov = NULL; - FILE *ften_ms_centre = NULL; - FILE *fmodelout = NULL; - FILE *fmodelin = NULL; -#ifdef DUMP - int dump; -#endif - char out_file[MAX_STR]; - FILE *fout = NULL; /* output speech file */ - int rateK = 0, newamp1vq = 0, rate_K_dec = 0, perframe = 0; - int bands = 0, bands_lower_en; - float bands_lower = -1E32; - int K = 20; - float framelength_s = N_S; - int lspEWov = 0, rateKWov = 0, first = 0; - FILE *frateKWov = NULL; - int ten_ms_centre = 0; - FILE *fphasenn = NULL; - FILE *frateK = NULL; - FILE *frateKin = NULL; - int rateKout, rateKin; - FILE *fbands = NULL; - int bands_resample = 0; - - char *opt_string = "ho:"; - struct option long_options[] = { - {"Fs", required_argument, &set_fs, 1}, - {"rateK", no_argument, &rateK, 1}, - {"perframe", no_argument, &perframe, 1}, - {"newamp1vq", no_argument, &newamp1vq, 1}, - {"rateKdec", required_argument, &rate_K_dec, 1}, - {"rateKout", required_argument, &rateKout, 1}, - {"rateKin", required_argument, &rateKin, 1}, - {"bands", required_argument, &bands, 1}, - {"bands_lower", required_argument, &bands_lower_en, 1}, - {"bands_resample", no_argument, &bands_resample, 1}, - {"lpc", required_argument, &lpc_model, 1}, - {"lsp", no_argument, &lsp, 1}, - {"lspd", no_argument, &lspd, 1}, - {"lspvq", no_argument, &lspvq, 1}, - {"lspjmv", no_argument, &lspjmv, 1}, - {"phase0", no_argument, &phase0, 1}, - {"postfilter", no_argument, &postfilt, 1}, - {"hand_voicing", required_argument, &hand_voicing, 1}, - {"dec", required_argument, &dec, 1}, - {"hi", no_argument, &hi, 1}, - {"simlpcpf", no_argument, &simlpcpf, 1}, - {"lpcpf", no_argument, &lpcpf, 1}, - {"prede", no_argument, &prede, 1}, - {"dump_pitch_e", required_argument, &dump_pitch_e, 1}, - {"sq_pitch_e", no_argument, &scalar_quant_Wo_e, 1}, - {"sq_pitch_e_low", no_argument, &scalar_quant_Wo_e_low, 1}, - {"vq_pitch_e", no_argument, &vector_quant_Wo_e, 1}, - {"rate", required_argument, NULL, 0}, - {"gain", required_argument, NULL, 0}, - {"bpf", no_argument, &bpf_en, 1}, - {"bpfb", no_argument, &bpfb_en, 1}, - {"amread", required_argument, &amread, 1}, - {"hmread", required_argument, &hmread, 1}, - {"awread", required_argument, &awread, 1}, - {"Woread", required_argument, &Woread, 1}, - {"pahw", required_argument, &pahw, 1}, - {"lspEWov", required_argument, &lspEWov, 1}, - {"rateKWov", required_argument, &rateKWov, 1}, - {"first", no_argument, &first, 1}, - {"ten_ms_centre", required_argument, &ten_ms_centre, 1}, - {"framelength_s", required_argument, NULL, 0}, - {"modelout", required_argument, &modelout, 1}, - {"modelin", required_argument, &modelin, 1}, -#ifdef DUMP - {"dump", required_argument, &dump, 1}, -#endif - {"help", no_argument, NULL, 'h'}, - {NULL, no_argument, NULL, 0}}; - int num_opts = sizeof(long_options) / sizeof(struct option); - - /*----------------------------------------------------------------*\ - - Interpret Command Line Arguments - - \*----------------------------------------------------------------*/ - - if (argc < 2) { - print_help(long_options, num_opts, argv); - } - - while (1) { - int option_index = 0; - int opt = getopt_long(argc, argv, opt_string, long_options, &option_index); - if (opt == -1) break; - switch (opt) { - case 0: - if (strcmp(long_options[option_index].name, "Fs") == 0) { - Fs = atoi(optarg); - if ((Fs != 8000) && (Fs != 16000)) { - fprintf(stderr, "Error Fs must be 8000 or 16000\n"); - exit(1); - } - } else if (strcmp(long_options[option_index].name, "lpc") == 0) { - order = atoi(optarg); -#ifdef DUMP - } else if (strcmp(long_options[option_index].name, "dump") == 0) { - if (dump) dump_on(optarg); -#endif - } else if (strcmp(long_options[option_index].name, "lsp") == 0 || - strcmp(long_options[option_index].name, "lspd") == 0 || - strcmp(long_options[option_index].name, "lspvq") == 0) { - assert(order == LPC_ORD); - } else if (strcmp(long_options[option_index].name, "rateKdec") == 0) { - rate_K_dec = atoi(optarg); - fprintf(stderr, "rate_K_dec: %d\n", rate_K_dec); - } else if (strcmp(long_options[option_index].name, "rateKout") == 0) { - /* read model records from file or stdin */ - if ((frateK = fopen(optarg, "wb")) == NULL) { - fprintf(stderr, "Error opening output rateK file: %s: %s\n", optarg, - strerror(errno)); - exit(1); - } - fprintf(stderr, "each record is %d bytes\n", - (int)(K * sizeof(float))); - } else if (strcmp(long_options[option_index].name, "rateKin") == 0) { - /* read model records from file or stdin */ - if ((frateKin = fopen(optarg, "rb")) == NULL) { - fprintf(stderr, "Error opening input rateK file: %s: %s\n", optarg, - strerror(errno)); - exit(1); - } - fprintf(stderr, "each record is %d bytes\n", - (int)(K * sizeof(float))); - } else if (strcmp(long_options[option_index].name, "bands") == 0) { - /* write mel spaced band energies to file or stdout */ - if ((fbands = fopen(optarg, "wb")) == NULL) { - fprintf(stderr, "Error opening bands file: %s: %s\n", optarg, - strerror(errno)); - exit(1); - } - } else if (strcmp(long_options[option_index].name, "bands_lower") == - 0) { - bands_lower = atof(optarg); - fprintf(stderr, "bands_lower: %f\n", bands_lower); - } else if (strcmp(long_options[option_index].name, "dec") == 0) { - decimate = atoi(optarg); - if ((decimate != 2) && (decimate != 3) && (decimate != 4)) { - fprintf(stderr, "Error in --dec, must be 2, 3, or 4\n"); - exit(1); - } - - if (!phase0) { - fprintf(stderr, - "needs --phase0 to resample phase when using --dec\n"); - exit(1); - } - if (!lpc_model) { - fprintf(stderr, - "needs --lpc [order] to resample amplitudes when using " - "--dec\n"); - exit(1); - } - - } else if (strcmp(long_options[option_index].name, "hand_voicing") == - 0) { - if ((fvoicing = fopen(optarg, "rt")) == NULL) { - fprintf(stderr, "Error opening voicing file: %s: %s.\n", optarg, - strerror(errno)); - exit(1); - } - } else if (strcmp(long_options[option_index].name, "Woread") == 0) { - if ((fWo = fopen(optarg, "rb")) == NULL) { - fprintf(stderr, "Error opening float Wo file: %s: %s.\n", optarg, - strerror(errno)); - exit(1); - } - } else if (strcmp(long_options[option_index].name, "amread") == 0) { - if ((fam = fopen(optarg, "rb")) == NULL) { - fprintf(stderr, "Error opening float Am file: %s: %s.\n", optarg, - strerror(errno)); - exit(1); - } - } else if (strcmp(long_options[option_index].name, "hmread") == 0) { - if ((fhm = fopen(optarg, "rb")) == NULL) { - fprintf(stderr, "Error opening float Hm file: %s: %s.\n", optarg, - strerror(errno)); - exit(1); - } - } else if (strcmp(long_options[option_index].name, "awread") == 0) { - if ((faw = fopen(optarg, "rb")) == NULL) { - fprintf(stderr, "Error opening float Aw file: %s: %s.\n", optarg, - strerror(errno)); - exit(1); - } - } else if (strcmp(long_options[option_index].name, "dump_pitch_e") == - 0) { - if ((fjmv = fopen(optarg, "wt")) == NULL) { - fprintf(stderr, "Error opening pitch & energy dump file: %s: %s.\n", - optarg, strerror(errno)); - exit(1); - } - } else if (strcmp(long_options[option_index].name, "gain") == 0) { - gain = atof(optarg); - } else if (strcmp(long_options[option_index].name, "framelength_s") == - 0) { - framelength_s = atof(optarg); - } else if (strcmp(long_options[option_index].name, "pahw") == 0) { - /* set up a bunch of arguments instead of having to enter them on cmd - * line every time */ - - phase0 = postfilt = amread = hmread = Woread = 1; - char file_name[MAX_STR]; - sprintf(file_name, "%s_am.out", optarg); - fprintf(stderr, "reading %s", file_name); - if ((fam = fopen(file_name, "rb")) == NULL) { - fprintf(stderr, "Error opening float Am file: %s: %s.\n", file_name, - strerror(errno)); - exit(1); - } - sprintf(file_name, "%s_hm.out", optarg); - fprintf(stderr, " %s", file_name); - if ((fhm = fopen(file_name, "rb")) == NULL) { - fprintf(stderr, "Error opening float Hm file: %s: %s.\n", file_name, - strerror(errno)); - exit(1); - } - sprintf(file_name, "%s_Wo.out", optarg); - fprintf(stderr, " %s\n", file_name); - if ((fWo = fopen(file_name, "rb")) == NULL) { - fprintf(stderr, "Error opening float Wo file: %s: %s.\n", file_name, - strerror(errno)); - exit(1); - } - } else if (strcmp(long_options[option_index].name, "lspEWov") == 0) { - /* feature file for deep learning experiments */ - lpc_model = 1; - phase0 = 1; - if ((flspEWov = fopen(optarg, "wb")) == NULL) { - fprintf(stderr, "Error opening lspEWov float file: %s: %s\n", - optarg, strerror(errno)); - exit(1); - } - } else if (strcmp(long_options[option_index].name, "rateKWov") == 0) { - /* feature file for deep learning experiments */ - rateK = 1; - newamp1vq = 1; - if ((frateKWov = fopen(optarg, "wb")) == NULL) { - fprintf(stderr, "Error opening rateKWov float file: %s: %s\n", - optarg, strerror(errno)); - exit(1); - } - } else if (strcmp(long_options[option_index].name, "ten_ms_centre") == - 0) { - /* dump 10ms of audio centred on analysis frame to check time - alignment with 16 kHz source audio */ - ten_ms_centre = 1; - if ((ften_ms_centre = fopen(optarg, "wb")) == NULL) { - fprintf(stderr, "Error opening ten_ms_centre short file: %s: %s\n", - optarg, strerror(errno)); - exit(1); - } - } else if (strcmp(long_options[option_index].name, "modelout") == 0) { - /* write model records to file or stdout */ - modelout = 1; - if (strcmp(optarg, "-") == 0) - fmodelout = stdout; - else if ((fmodelout = fopen(optarg, "wb")) == NULL) { - fprintf(stderr, "Error opening modelout file: %s: %s\n", optarg, - strerror(errno)); - exit(1); - } - fprintf(stderr, "each model record is %d bytes\n", - (int)sizeof(MODEL)); - } else if (strcmp(long_options[option_index].name, "modelin") == 0) { - /* read model records from file or stdin */ - modelin = 1; - if (strcmp(optarg, "-") == 0) - fmodelin = stdin; - else if ((fmodelin = fopen(optarg, "rb")) == NULL) { - fprintf(stderr, "Error opening modelin file: %s: %s\n", optarg, - strerror(errno)); - exit(1); - } - fprintf(stderr, "each model record is %d bytes\n", - (int)sizeof(MODEL)); - } else if (strcmp(long_options[option_index].name, "rate") == 0) { - if (strcmp(optarg, "3200") == 0) { - lpc_model = 1; - scalar_quant_Wo_e = 1; - lspd = 1; - phase0 = 1; - postfilt = 1; - decimate = 1; - lpcpf = 1; - } else if (strcmp(optarg, "2400") == 0) { - lpc_model = 1; - vector_quant_Wo_e = 1; - lsp = 1; - phase0 = 1; - postfilt = 1; - decimate = 2; - lpcpf = 1; - } else if (strcmp(optarg, "1400") == 0) { - lpc_model = 1; - vector_quant_Wo_e = 1; - lsp = 1; - phase0 = 1; - postfilt = 1; - decimate = 4; - lpcpf = 1; - } else if (strcmp(optarg, "1300") == 0) { - lpc_model = 1; - scalar_quant_Wo_e = 1; - lsp = 1; - phase0 = 1; - postfilt = 1; - decimate = 4; - lpcpf = 1; - } else if (strcmp(optarg, "1200") == 0) { - lpc_model = 1; - scalar_quant_Wo_e = 1; - lspjmv = 1; - phase0 = 1; - postfilt = 1; - decimate = 4; - lpcpf = 1; - } else { - fprintf(stderr, - "Error: invalid output rate (3200|2400|1400|1200) %s\n", - optarg); - exit(1); - } - } - break; - - case 'h': - print_help(long_options, num_opts, argv); - break; - - case 'o': - if (strcmp(optarg, "-") == 0) - fout = stdout; - else if ((fout = fopen(optarg, "wb")) == NULL) { - fprintf(stderr, "Error opening output speech file: %s: %s.\n", optarg, - strerror(errno)); - exit(1); - } - strcpy(out_file, optarg); - break; - - default: - /* This will never be reached */ - break; - } - } - - /* Input file */ - - FILE *fin; /* input speech file */ - if (strcmp(argv[optind], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[optind], "rb")) == NULL) { - fprintf(stderr, "Error opening input speech file: %s: %s.\n", argv[optind], - strerror(errno)); - exit(1); - } - - C2CONST c2const = c2const_create(Fs, framelength_s); - int n_samp = c2const.n_samp; - int m_pitch = c2const.m_pitch; - - short buf[N_SAMP]; /* input/output buffer */ - float buf_float[N_SAMP]; - float Sn[m_pitch]; /* float input speech samples */ - float Sn_pre[m_pitch]; /* pre-emphasised input speech samples */ - COMP Sw[FFT_ENC]; /* DFT of Sn[] */ - codec2_fft_cfg fft_fwd_cfg; - codec2_fftr_cfg fftr_fwd_cfg; - codec2_fftr_cfg fftr_inv_cfg; - float w[m_pitch]; /* time domain hamming window */ - float W[FFT_ENC]; /* DFT of w[] */ - MODEL model; - float Pn[2 * N_SAMP]; /* trapezoidal synthesis window */ - float Sn_[2 * N_SAMP]; /* synthesised speech */ - int i, m; /* loop variable */ - int frames; - float prev_f0; - float pitch; - float snr; - float sum_snr; - - float pre_mem = 0.0, de_mem = 0.0; - float ak[1 + order]; - // COMP Sw_[FFT_ENC]; - // COMP Ew[FFT_ENC]; - - float ex_phase[MAX_AMP + 1]; - - float bg_est = 0.0; - - MODEL prev_model; - float lsps[order]; - float e, prev_e; - int lsp_indexes[order]; - float lsps_[order]; - float Woe_[2]; - - float lsps_dec[4][order], e_dec[4], weight, weight_inc, ak_dec[4][order]; - MODEL model_dec[4], prev_model_dec; - float prev_lsps_dec[order], prev_e_dec; - - void *nlp_states; - float hpf_states[2]; -#if 0 - struct PEXP *pexp = NULL; - struct AEXP *aexp = NULL; -#endif - float bpf_buf[BPF_N + N_SAMP]; - - COMP Aw[FFT_ENC]; - COMP H[MAX_AMP]; - - float sd_sum = 0.0; - int sd_frames = 0; - - for (i = 0; i < m_pitch; i++) { - Sn[i] = 1.0; - Sn_pre[i] = 1.0; - } - for (i = 0; i < 2 * N_SAMP; i++) Sn_[i] = 0; - - prev_f0 = 1 / P_MAX_S; - - prev_model.Wo = c2const.Wo_max; - prev_model.L = floor(PI / prev_model.Wo); - for (i = 1; i <= prev_model.L; i++) { - prev_model.A[i] = 0.0; - prev_model.phi[i] = 0.0; - } - for (i = 1; i <= MAX_AMP; i++) { - // ex_phase[i] = (PI/3)*(float)rand()/RAND_MAX; - ex_phase[i] = 0.0; - } - e = prev_e = 1; - hpf_states[0] = hpf_states[1] = 0.0; - - nlp_states = nlp_create(&c2const); - - ex_phase[0] = 0; - Woe_[0] = Woe_[1] = 1.0; - - /* Initialise ------------------------------------------------------------*/ - - fft_fwd_cfg = codec2_fft_alloc(FFT_ENC, 0, NULL, - NULL); /* fwd FFT,used in several places */ - fftr_fwd_cfg = codec2_fftr_alloc(FFT_ENC, 0, NULL, - NULL); /* fwd FFT,used in several places */ - fftr_inv_cfg = codec2_fftr_alloc(FFT_DEC, 1, NULL, - NULL); /* inverse FFT, used just for synth */ - codec2_fft_cfg phase_fft_fwd_cfg = - codec2_fft_alloc(NEWAMP1_PHASE_NFFT, 0, NULL, NULL); - codec2_fft_cfg phase_fft_inv_cfg = - codec2_fft_alloc(NEWAMP1_PHASE_NFFT, 1, NULL, NULL); - - make_analysis_window(&c2const, fft_fwd_cfg, w, W); - make_synthesis_window(&c2const, Pn); - - if (bpfb_en) bpf_en = 1; - if (bpf_en) { - for (i = 0; i < BPF_N; i++) bpf_buf[i] = 0.0; - } - - for (i = 0; i < LPC_ORD; i++) { - prev_lsps_dec[i] = i * PI / (LPC_ORD + 1); - } - prev_e_dec = 1; - for (m = 1; m <= MAX_AMP; m++) prev_model_dec.A[m] = 0.0; - prev_model_dec.Wo = c2const.Wo_min; - prev_model_dec.L = PI / prev_model_dec.Wo; - prev_model_dec.voiced = 0; - - /* mel resampling experiments */ - - float rate_K_sample_freqs_kHz[K]; - float se = 0.0; - int nse = 0; - if (rateK) { - mel_sample_freqs_kHz(rate_K_sample_freqs_kHz, NEWAMP1_K, ftomel(200.0), - ftomel(3700.0)); - } - float rate_K_vec_delay[rate_K_dec + 1][K]; - float rate_K_vec_delay_[rate_K_dec + 1][K]; - MODEL rate_K_model_delay[rate_K_dec + 1]; - for (int d = 0; d <= rate_K_dec; d++) { - for (int k = 0; k < K; k++) { - rate_K_vec_delay[d][k] = 0; - rate_K_vec_delay_[d][k] = 0; - } - for (m = 1; m <= MAX_AMP; m++) rate_K_model_delay[d].A[m] = 0.0; - rate_K_model_delay[d].Wo = c2const.Wo_min; - rate_K_model_delay[d].L = M_PI / prev_model_dec.Wo; - rate_K_model_delay[d].voiced = 0; - } - float eq[K]; - for (int k = 0; k < K; k++) eq[k] = 0; - - /*----------------------------------------------------------------* \ - - Main Loop - - \*----------------------------------------------------------------*/ - - frames = 0; - sum_snr = 0; - while (fread(buf, sizeof(short), N_SAMP, fin)) { - frames++; - - for (i = 0; i < N_SAMP; i++) buf_float[i] = buf[i]; - - /* optionally filter input speech */ - - if (prede) { - pre_emp(Sn_pre, buf_float, &pre_mem, N_SAMP); - for (i = 0; i < N_SAMP; i++) buf_float[i] = Sn_pre[i]; - } - - if (bpf_en) { - /* filter input speech to create buf_float_bpf[], this is fed to the - LPC modelling. Unfiltered speech in in buf_float[], which is - delayed to match that of the BPF */ - - /* BPF speech */ - - for (i = 0; i < BPF_N; i++) bpf_buf[i] = bpf_buf[N_SAMP + i]; - for (i = 0; i < N_SAMP; i++) bpf_buf[BPF_N + i] = buf_float[i]; - if (bpfb_en) - inverse_filter(&bpf_buf[BPF_N], bpfb, N_SAMP, buf_float, BPF_N); - else - inverse_filter(&bpf_buf[BPF_N], bpf, N_SAMP, buf_float, BPF_N); - } - - /* shift buffer of input samples, and insert new samples */ - - for (i = 0; i < m_pitch - N_SAMP; i++) { - Sn[i] = Sn[i + N_SAMP]; - } - for (i = 0; i < N_SAMP; i++) { - Sn[i + m_pitch - N_SAMP] = buf_float[i]; - } - - /*------------------------------------------------------------*\ - - Estimate Sinusoidal Model Parameters - - \*------------------------------------------------------------*/ - - nlp(nlp_states, Sn, N_SAMP, &pitch, Sw, W, &prev_f0); - model.Wo = TWO_PI / pitch; - - dft_speech(&c2const, fft_fwd_cfg, Sw, Sn, w); - two_stage_pitch_refinement(&c2const, &model, Sw); - estimate_amplitudes(&model, Sw, W, 1); - -#ifdef DUMP - dump_Sn(m_pitch, Sn); - dump_Sw(Sw); - dump_model(&model); -#endif - - /* speech centred on analysis frame for Deep Learning work */ - - if (ten_ms_centre) { - int n_10_ms = Fs * 0.01; - int n_5_ms = Fs * 0.005; - short buf[n_10_ms]; - for (i = 0; i < n_10_ms; i++) { - buf[i] = Sn[m_pitch / 2 - n_5_ms + i]; - } - fwrite(buf, n_10_ms, sizeof(short), ften_ms_centre); - } - - if (hi) { - int m; - for (m = 1; m < model.L / 2; m++) model.A[m] = 0.0; - for (m = 3 * model.L / 4; m <= model.L; m++) model.A[m] = 0.0; - } - - /*------------------------------------------------------------*\ - - Zero-phase modelling - - \*------------------------------------------------------------*/ - - /* estimate voicing - do this all the time so model.voicing - * is set, useful for machine learning work */ - snr = est_voicing_mbe(&c2const, &model, Sw, W); - - if (phase0) { -#ifdef DUMP - dump_phase(&model.phi[0], model.L); -#endif - - if (dump_pitch_e) fprintf(fjmv, "%f %f %d ", model.Wo, snr, model.voiced); - -#ifdef DUMP - dump_snr(snr); -#endif - - /* just to make sure we are not cheating - kill all phases */ - - for (i = 0; i <= MAX_AMP; i++) model.phi[i] = 0; - - if (hand_voicing) { - int ret = fscanf(fvoicing, "%d\n", &model.voiced); - assert(ret == 1); - } - } - - /*------------------------------------------------------------*\ - - LPC model amplitudes and LSP quantisation - - \*------------------------------------------------------------*/ - - if (lpc_model) { - float ak_[LPC_ORD + 1]; - - e = speech_to_uq_lsps(lsps, ak, Sn, w, m_pitch, order); - for (i = 0; i < order; i++) lsps_[i] = lsps[i]; - -#ifdef DUMP - dump_ak(ak, order); - dump_E(e); -#endif - - if (dump_pitch_e) fprintf(fjmv, "%f\n", e); - -#ifdef DUMP - dump_lsp(lsps); -#endif - - /* various LSP quantisation schemes */ - - if (lsp) { - encode_lsps_scalar(lsp_indexes, lsps, LPC_ORD); - decode_lsps_scalar(lsps_, lsp_indexes, LPC_ORD); - bw_expand_lsps(lsps_, LPC_ORD, 50.0, 100.0); - lsp_to_lpc(lsps_, ak_, LPC_ORD); - } - - if (lspd) { - encode_lspds_scalar(lsp_indexes, lsps, LPC_ORD); - decode_lspds_scalar(lsps_, lsp_indexes, LPC_ORD); - lsp_to_lpc(lsps_, ak_, LPC_ORD); - } - - if (lspjmv) { - /* Jean-Marc's multi-stage, split VQ */ - lspjmv_quantise(lsps, lsps_, LPC_ORD); - { - float lsps_bw[LPC_ORD]; - memcpy(lsps_bw, lsps_, sizeof(float) * order); - bw_expand_lsps(lsps_bw, LPC_ORD, 50.0, 100.0); - lsp_to_lpc(lsps_bw, ak_, LPC_ORD); - } - } - - if (lsp || lspd || lspjmv) { - sd_sum += spectral_dist(ak, ak_, LPC_ORD, fft_fwd_cfg, FFT_ENC); - sd_frames++; - } - - memcpy(ak, ak_, (LPC_ORD + 1) * sizeof(float)); - - if (scalar_quant_Wo_e) { - e = decode_energy(encode_energy(e, E_BITS), E_BITS); - model.Wo = decode_Wo(&c2const, encode_Wo(&c2const, model.Wo, WO_BITS), - WO_BITS); - model.L = PI / model.Wo; /* if we quantise Wo re-compute L */ - } - - if (scalar_quant_Wo_e_low) { - int ind; - e = decode_energy(ind = encode_energy(e, 3), 3); - model.Wo = - decode_log_Wo(&c2const, encode_log_Wo(&c2const, model.Wo, 5), 5); - model.L = PI / model.Wo; /* if we quantise Wo re-compute L */ - } - - if (vector_quant_Wo_e) { - /* JVM's experimental joint Wo & LPC energy quantiser */ - quantise_WoE(&c2const, &model, &e, Woe_); - } - } - - if (amread) { - int ret = fread(model.A, sizeof(float), MAX_AMP, fam); - assert(ret == MAX_AMP); - } - - if (Woread) { - int ret = fread(&model.Wo, sizeof(float), 1, fWo); - model.L = floor(PI / model.Wo); - assert(ret == 1); - } - - /* dump features for Deep learning, placed here so we can get quantised - * features */ - - if (lspEWov) { - /* order LSPs - energy - Wo - voicing flag - order LPCs */ - if (lsp) - fwrite(lsps_, order, sizeof(float), flspEWov); - else - fwrite(lsps, order, sizeof(float), flspEWov); - - fwrite(&e, 1, sizeof(float), flspEWov); - fwrite(&model.Wo, 1, sizeof(float), flspEWov); - float voiced_float = model.voiced; - fwrite(&voiced_float, 1, sizeof(float), flspEWov); - fwrite(&ak[1], order, sizeof(float), flspEWov); - } - - /* LPCNet type mel spaced band ML data */ - float bands_mean = 0.0; - if (fbands) { - float bandE[LPCNET_FREQ_MAX_BANDS]; - float freqkHz[LPCNET_FREQ_MAX_BANDS]; - int nbands = lpcnet_compute_band_energy(bandE, freqkHz, Sw, Fs, FFT_ENC); - for (int i = 0; i < nbands; i++) bands_mean += bandE[i]; - bands_mean /= nbands; - // fprintf(stderr, "bands_mean: %f bands_lower %f\n", bands_mean, - // bands_lower); - if (bands_mean > bands_lower) - assert(fwrite(bandE, sizeof(float), nbands, fbands) == nbands); - // optionally reconstruct [Am} by linear interpolation of band energies, - // this doesn't sound very Good - if (bands_resample) - resample_rate_L(&c2const, &model, &bandE[1], &freqkHz[1], nbands - 2); - } - - /*------------------------------------------------------------*\ - - Optional newamp1 simulation, as used in 700C - - \*------------------------------------------------------------*/ - - if (rateK) { - float rate_K_vec[K]; - resample_const_rate_f(&c2const, &model, rate_K_vec, - rate_K_sample_freqs_kHz, K); - - if (frateK != NULL) - assert(fwrite(rate_K_vec, sizeof(float), K, frateK) == K); - - if (frateKin != NULL) { - assert(fread(rate_K_vec, sizeof(float), K, frateKin) == K); - /* apply newamp1 postfilter - this helped male samples with VQVAE work - */ - float sum = 0.0; - for (int k = 0; k < K; k++) sum += rate_K_vec[k]; - float mean = sum / K; - float rate_K_vec_no_mean[K]; - for (int k = 0; k < K; k++) - rate_K_vec_no_mean[k] = rate_K_vec[k] - mean; - post_filter_newamp1(rate_K_vec_no_mean, rate_K_sample_freqs_kHz, K, - 1.5); - for (int k = 0; k < K; k++) - rate_K_vec[k] = rate_K_vec_no_mean[k] + mean; - } - - float rate_K_vec_[K]; - if (newamp1vq) { - /* remove mean */ - float sum = 0.0; - for (int k = 0; k < K; k++) sum += rate_K_vec[k]; - float mean = sum / K; - float rate_K_vec_no_mean[K]; - for (int k = 0; k < K; k++) - rate_K_vec_no_mean[k] = rate_K_vec[k] - mean; - - newamp1_eq(rate_K_vec_no_mean, eq, K, 1); - - /* two stage VQ */ - float rate_K_vec_no_mean_[K]; - int indexes[2]; - rate_K_mbest_encode(indexes, rate_K_vec_no_mean, rate_K_vec_no_mean_, K, - NEWAMP1_VQ_MBEST_DEPTH); - for (int k = 0; k < K; k++) - rate_K_vec_[k] = rate_K_vec_no_mean_[k] + mean; - - /* running sum of squared error for variance calculation */ - for (int k = 0; k < K; k++) - se += pow(rate_K_vec_no_mean[k] - rate_K_vec_no_mean_[k], 2.0); - nse += K; - } else { - for (int k = 0; k < K; k++) rate_K_vec_[k] = rate_K_vec[k]; - } - - if (frateKWov != NULL) { - /* We use standard nb_features=55 feature records for compatibility with - * train_lpcnet.py */ - float features[55] = {0}; - /* just using 18/20 for compatibility with LPCNet, coarse scaling for NN - * input */ - for (int i = 0; i < 18; i++) features[i] = (rate_K_vec_[i] - 30) / 40; - // keep in range of 40 ... 255 for pitch embedding - int pitch_index = 21 + 2.0 * M_PI / model.Wo; - features[36] = 0.02 * (pitch_index - 100); - // features[36] = (model.Wo - c2const.Wo_min)/(c2const.Wo_max - - // c2const.Wo_min) - 0.5; - features[37] = model.voiced; - if (first) features[18] = -0.9; - if (lpc_model) { - MODEL model_; - model_.Wo = model.Wo; - model_.L = model.L; - model_.voiced = model.voiced; - float Rk[order + 1], ak[order + 1]; - resample_rate_L(&c2const, &model_, rate_K_vec_, - rate_K_sample_freqs_kHz, K); - determine_autoc(&c2const, Rk, order, &model_, NEWAMP1_PHASE_NFFT, - phase_fft_fwd_cfg, phase_fft_inv_cfg); - /* -40 dB noise floor and Lag windowing from LPCNet/freq.c - helps - reduce large spikes in spectrum when LPC analysis loses it. */ - Rk[0] += Rk[0] * 1e-4 + 320 / 12 / 38.; - for (i = 1; i < order + 1; i++) Rk[i] *= (1 - 6e-5 * i * i); - levinson_durbin(Rk, ak, order); - - for (int i = 0; i < order; i++) features[18 + i] = ak[i + 1]; - } - fwrite(features, 55, sizeof(float), frateKWov); - } - - if (rate_K_dec) { - // update delay lines - for (int d = 0; d < rate_K_dec; d++) { - rate_K_model_delay[d] = rate_K_model_delay[d + 1]; - memcpy(&rate_K_vec_delay[d][0], &rate_K_vec_delay[d + 1][0], - sizeof(float) * K); - } - rate_K_model_delay[rate_K_dec] = model; - memcpy(&rate_K_vec_delay[rate_K_dec][0], rate_K_vec_, - sizeof(float) * K); - - if ((frames % rate_K_dec) == 0) { - // every rate_K_dec frames, calculate interpolated output values - if (perframe) { - // calculate interpolation coeff c for each frame - float *A = &rate_K_vec_delay[0][0]; - float *B = &rate_K_vec_delay[rate_K_dec][0]; - for (int d = 0; d <= rate_K_dec; d++) { - float *T = &rate_K_vec_delay[d][0]; - float num = 0.0, den = 0.0; - for (int k = 0; k < K; k++) { - num += (B[k] - T[k]) * (A[k] - B[k]); - den += (A[k] - B[k]) * (A[k] - B[k]); - } - float c = -num / den; - for (int k = 0; k < K; k++) - rate_K_vec_delay_[d][k] = c * A[k] + (1.0 - c) * B[k]; - } - } else { - // use linear interpolation - float c = 0.0, inc = 1.0 / rate_K_dec; - for (int d = 0; d <= rate_K_dec; d++) { - for (int k = 0; k < K; k++) - rate_K_vec_delay_[d][k] = (1.0 - c) * rate_K_vec_delay[0][k] + - c * rate_K_vec_delay[rate_K_dec][k]; - c += inc; - } - } - } else { - // otherwise just shift out frames we have already interpolated - for (int d = 0; d < rate_K_dec; d++) { - memcpy(&rate_K_vec_delay_[d][0], &rate_K_vec_delay_[d + 1][0], - sizeof(float) * K); - } - } - - // output from delay line - model = rate_K_model_delay[0]; - for (int k = 0; k < K; k++) rate_K_vec_[k] = rate_K_vec_delay_[0][k]; - } - - resample_rate_L(&c2const, &model, rate_K_vec_, rate_K_sample_freqs_kHz, - K); - } - - /*------------------------------------------------------------*\ - - Synthesise and optional decimation to 20 or 40ms frame rate - - \*------------------------------------------------------------*/ - - /* - if decimate == 2, we interpolate frame n from frame n-1 and n+1 - if decimate == 4, we interpolate frames n, n+1, n+2, from frames n-1 and - n+3 - - This is meant to give identical results to the implementations of various - modes in codec2.c - */ - - /* delay line to keep frame by frame voicing decisions */ - - for (i = 0; i < decimate - 1; i++) model_dec[i] = model_dec[i + 1]; - model_dec[decimate - 1] = model; - - if ((frames % decimate) == 0) { - for (i = 0; i < order; i++) lsps_dec[decimate - 1][i] = lsps_[i]; - e_dec[decimate - 1] = e; - model_dec[decimate - 1] = model; - - /* interpolate the model parameters */ - - weight_inc = 1.0 / decimate; - for (i = 0, weight = weight_inc; i < decimate - 1; - i++, weight += weight_inc) { - // model_dec[i].voiced = model_dec[decimate-1].voiced; - interpolate_lsp_ver2(&lsps_dec[i][0], prev_lsps_dec, - &lsps_dec[decimate - 1][0], weight, order); - interp_Wo2(&model_dec[i], &prev_model_dec, &model_dec[decimate - 1], - weight, c2const.Wo_min); - e_dec[i] = interp_energy2(prev_e_dec, e_dec[decimate - 1], weight); - } - - /* then recover spectral amplitudes and synthesise */ - - for (i = 0; i < decimate; i++) { - if (lpc_model) { - lsp_to_lpc(&lsps_dec[i][0], &ak_dec[i][0], order); - aks_to_M2(fftr_fwd_cfg, &ak_dec[i][0], order, &model_dec[i], e_dec[i], - &snr, 1, simlpcpf, lpcpf, 1, LPCPF_BETA, LPCPF_GAMMA, Aw); - apply_lpc_correction(&model_dec[i]); - sum_snr += snr; -#ifdef DUMP - dump_lsp_(&lsps_dec[i][0]); - dump_ak_(&ak_dec[i][0], order); - dump_quantised_model(&model_dec[i]); -#endif - } - - if (modelin) { - int nrec; - nrec = fread(&model_dec[i], sizeof(MODEL), 1, fmodelin); - if (nrec != 1) { - fprintf(stderr, - "Warning - error reading model in record in frame %d - do " - "you have enough records in file?\n", - frames); - } - } - - if (phase0) { - /* optionally read in Aw, replacing values generated using LPC */ - - if (awread) { - int ret = fread(Aw, sizeof(COMP), FFT_ENC, faw); - assert(ret == FFT_ENC); - } - - /* optionally read in Hm directly, bypassing sampling of Aw[] */ - - if (hmread) { - int ret = fread(H, sizeof(COMP), MAX_AMP, fhm); - assert(ret == MAX_AMP); - } else { - determine_phase(&c2const, H, &model_dec[i], NEWAMP1_PHASE_NFFT, - phase_fft_fwd_cfg, phase_fft_inv_cfg); - } - phase_synth_zero_order(n_samp, &model_dec[i], ex_phase, H); - } - - if (postfilt) postfilter(&model_dec[i], &bg_est); - synth_one_frame(n_samp, fftr_inv_cfg, buf, &model_dec[i], Sn_, Pn, - prede, &de_mem, gain); - if (fout != NULL) fwrite(buf, sizeof(short), N_SAMP, fout); - if (modelout) { - /* optionally don't write to filter out low energy frames */ - if (bands) { - if (bands_mean > bands_lower) - fwrite(&model_dec[i], sizeof(MODEL), 1, fmodelout); - } else - fwrite(&model_dec[i], sizeof(MODEL), 1, fmodelout); - } - } - - /* update memories for next frame ----------------------------*/ - - prev_model_dec = model_dec[decimate - 1]; - prev_e_dec = e_dec[decimate - 1]; - for (i = 0; i < LPC_ORD; i++) - prev_lsps_dec[i] = lsps_dec[decimate - 1][i]; - } - } - - /*----------------------------------------------------------------*\ - - End Main Loop - - \*----------------------------------------------------------------*/ - - fclose(fin); - - if (fout != NULL) fclose(fout); - - if (lpc_model) { - fprintf(stderr, "LPC->{Am} SNR av: %5.2f dB over %d frames\n", - sum_snr / frames, frames); - if (lsp || lspd || lspjmv) - fprintf(stderr, "LSP quantiser SD: %5.2f dB*dB over %d frames\n", - sd_sum / sd_frames, sd_frames); - } - if (newamp1vq) { - fprintf(stderr, "var: %3.2f dB*dB\n", se / nse); - } -#ifdef DUMP - if (dump) dump_off(); -#endif - - if (hand_voicing) fclose(fvoicing); - - nlp_destroy(nlp_states); - - if (fam != NULL) fclose(fam); - if (fWo != NULL) fclose(fWo); - if (faw != NULL) fclose(faw); - if (fhm != NULL) fclose(fhm); - if (fjmv != NULL) fclose(fjmv); - if (flspEWov != NULL) fclose(flspEWov); - if (fphasenn != NULL) fclose(fphasenn); - if (frateK != NULL) fclose(frateK); - if (frateKin != NULL) fclose(frateKin); - if (ften_ms_centre != NULL) fclose(ften_ms_centre); - if (fmodelout != NULL) fclose(fmodelout); - if (fbands != NULL) fclose(fbands); - if (frateKWov != NULL) fclose(frateKWov); - - return 0; -} - -void synth_one_frame(int n_samp, codec2_fftr_cfg fftr_inv_cfg, short buf[], - MODEL *model, float Sn_[], float Pn[], int prede, - float *de_mem, float gain) { - int i; - - synthesise(n_samp, fftr_inv_cfg, Sn_, model, Pn, 1); - if (prede) de_emp(Sn_, Sn_, de_mem, n_samp); - - for (i = 0; i < n_samp; i++) { - Sn_[i] *= gain; - if (Sn_[i] > 32767.0) - buf[i] = 32767; - else if (Sn_[i] < -32767.0) - buf[i] = -32767; - else - buf[i] = Sn_[i]; - } -} - -void print_help(const struct option *long_options, int num_opts, char *argv[]) { - int i; - char *option_parameters; - - fprintf(stderr, - "\nCodec2 - low bit rate speech codec - Simulation Program\n" - "\thttp://rowetel.com/codec2.html\n\n" - "usage: %s [OPTIONS] \n\n" - "Options:\n" - "\t-o \n", - argv[0]); - for (i = 0; i < num_opts - 1; i++) { - if (long_options[i].has_arg == no_argument) { - option_parameters = ""; - } else if (strcmp("lpc", long_options[i].name) == 0) { - option_parameters = " "; - } else if (strcmp("dec", long_options[i].name) == 0) { - option_parameters = " <2|4>"; - } else if (strcmp("hand_voicing", long_options[i].name) == 0) { - option_parameters = " "; - } else if (strcmp("dump_pitch_e", long_options[i].name) == 0) { - option_parameters = " "; - } else if (strcmp("rate", long_options[i].name) == 0) { - option_parameters = " <3200|2400|1400|1300|1200>"; - } else if (strcmp("dump", long_options[i].name) == 0) { - option_parameters = " "; - } else { - option_parameters = " "; - } - fprintf(stderr, "\t--%s%s\n", long_options[i].name, option_parameters); - } - - exit(1); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ch.c b/vendor/codec2_flutter_ios_only/src/codec2/src/ch.c deleted file mode 100644 index 45e1b49..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ch.c +++ /dev/null @@ -1,531 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: ch.c - AUTHOR......: David Rowe - DATE CREATED: May 2015 - - Channel simulation program for testing command line versions of modems. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2015-2022 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include -#include - -#include "codec2_cohpsk.h" -#include "comp_prim.h" -#include "debug_alloc.h" -#include "freedv_api.h" -#include "ht_coeff.h" -#include "ssbfilt_coeff.h" - -#define BUF_N 160 -#define MPG_DELAY_MS 0.5 -#define MPP_DELAY_MS 2.0 -#define MPD_DELAY_MS 4.0 - -/* see instructions below for how to generate these files */ - -#define DEFAULT_FADING_DIR "unittest" -#define MPG_FADING_FILE_NAME "slow_fading_samples.float" -#define MPP_FADING_FILE_NAME "fast_fading_samples.float" -#define MPD_FADING_FILE_NAME "faster_fading_samples.float" - -// Gaussian from uniform: -float gaussian(void) { - double x = (double)rand() / RAND_MAX; - double y = (double)rand() / RAND_MAX; - double z = sqrt(-2 * log(x)) * cos(2 * M_PI * y); - return sqrt(1. / 2.) * z; -} - -// complex noise sample -COMP noise(void) { - COMP n = {gaussian(), gaussian()}; - return n; -} - -int main(int argc, char *argv[]) { - FILE *fin, *ffading, *fout; - char *fading_dir; - float NodB, foff_hz; - int fading_en, nhfdelay; - - short buf[BUF_N]; - float htbuf[HT_N + BUF_N]; - COMP ch_in[BUF_N]; - COMP ch_fdm[BUF_N]; - COMP ssbfiltbuf[SSBFILT_N + BUF_N]; - COMP ssbfiltout[BUF_N]; - - COMP phase_ch; - float No, variance; - COMP scaled_noise; - float hf_gain; - COMP *ch_fdm_delay = NULL, aspread, aspread_2ms, delayed, direct; - float tx_pwr, tx_pwr_fade, noise_pwr, user_multipath_delay; - int frames, i, j, k, Fs, ret, nclipped, noutclipped, ssbfilt_en, complex_out, - ctest; - float sam, peak, clip, papr, CNo, snr3k, gain; - - if (argc < 3) { - helpmsg: - fprintf( - stderr, - "Command line channel simulation tool.\n" - "\n" - "usage: %s InputRealModemRawFile OutputRealModemRawFile [Options]\n" - "\n" - " real int16 input -> Gain -> Hilbert Transform -> clipper -> freq " - "shift ->\n" - " Multipath -> AWGN noise -> SSB filter -> real int16 output\n" - "\n" - "[--clip int16] Hilbert clipper (clip complex signal " - "magnitude, default 32767)\n" - "[--complexout] Optional int16 IQ complex output (default real " - "int16)\n" - "[--ctest] Check PAPR is around 0dB, used to support " - "ctests\n" - "[--freq FoffHz] Frequency offset (default 0Hz)\n" - "[--fading_dir Path] path to multipath fading files (default " - "'unittest')\n" - "[--Fs SampleRateHz] Sample rate of simulation (default 8000 Hz)\n" - "[--gain G] Linear gain (default 1.0)\n" - "[--mpg] Multipath good 0.1Hz Doppler, 0.5ms delay\n" - "[--mpp] Multipath poor 1.0Hz Doppler, 2.0ms delay\n" - "[--mpd] Multipath disturbed 2.0Hz Doppler, 4.0ms " - "delay\n" - "[--ssbfilt 0|1] SSB bandwidth filter (default 1 on)\n" - "[--mulipath_delay ms] Optionally adjust multipath delay\n" - "[--No dBHz] AWGN Noise density dB/Hz (default -100)" - "\n", - argv[0]); - exit(1); - } - - if (strcmp(argv[1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[1], "rb")) == NULL) { - fprintf(stderr, "ch: Error opening input modem raw file: %s: %s.\n", - argv[1], strerror(errno)); - exit(1); - } - - if (strcmp(argv[2], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[2], "wb")) == NULL) { - fprintf(stderr, "ch: Error opening output modem raw file: %s: %s.\n", - argv[2], strerror(errno)); - exit(1); - } - - NodB = -100; - Fs = 8000; - foff_hz = 0.0; - fading_en = 0; - ctest = 0; - clip = 32767; - gain = 1.0; - ssbfilt_en = 1; - complex_out = 0; - fading_dir = strdup(DEFAULT_FADING_DIR); - user_multipath_delay = -1.0; - - int o = 0; - int opt_idx = 0; - while (o != -1) { - static struct option long_opts[] = { - {"complexout", no_argument, 0, 'o'}, - {"ctest", no_argument, 0, 't'}, - {"clip", required_argument, 0, 'c'}, - {"fading_dir", required_argument, 0, 'u'}, - {"freq", required_argument, 0, 'f'}, - {"Fs", required_argument, 0, 'r'}, - {"gain", required_argument, 0, 'g'}, - {"ssbfilt", required_argument, 0, 's'}, - {"help", no_argument, 0, 'h'}, - {"mpg", no_argument, 0, 'i'}, - {"mpp", no_argument, 0, 'p'}, - {"mpd", no_argument, 0, 'd'}, - {"multipath_delay", required_argument, 0, 'm'}, - {"No", required_argument, 0, 'n'}, - {0, 0, 0, 0}}; - - o = getopt_long(argc, argv, "c:df:g:im:n:opr:s:tu:h", long_opts, &opt_idx); - - switch (o) { - case 'c': - clip = atof(optarg); - break; - case 'd': - fading_en = 3; - break; - case 'f': - foff_hz = atof(optarg); - break; - case 'g': - gain = atof(optarg); - break; - case 'i': - fading_en = 1; - break; - case 'm': - user_multipath_delay = atof(optarg); - break; - case 'n': - NodB = atof(optarg); - break; - case 'o': - complex_out = 1; - break; - case 'p': - fading_en = 2; - break; - case 'r': - Fs = atoi(optarg); - break; - case 's': - ssbfilt_en = atoi(optarg); - break; - case 't': - ctest = 1; - break; - case 'u': - fading_dir = strdup(optarg); - break; - case 'h': - case '?': - goto helpmsg; - break; - } - } - - phase_ch.real = 1.0; - phase_ch.imag = 0.0; - - /* N = var = NoFs */ - - // arbitrary noise scaling, to maintain backwards compatibility with many - // tests. TODO make the No units more sensible, and fix all the tests that - // depend on this scaling - No = pow(10.0, NodB / 10.0) * 1000 * 1000; - variance = Fs * No; - - tx_pwr = tx_pwr_fade = noise_pwr = 0.0; - noutclipped = 0; - nclipped = 0; - peak = 0.0; - - /* init HF fading model */ - - ffading = NULL; - nhfdelay = 0; - if (fading_en) { - char fname[256]; - - if (fading_en == 1) { - sprintf(fname, "%s/%s", fading_dir, MPG_FADING_FILE_NAME); - ffading = fopen(fname, "rb"); - if (ffading == NULL) { - cant_load_fading_file: - fprintf(stderr, - "-----------------------------------------------------\n"); - fprintf(stderr, "ch ERROR: Can't find fading file: %s\n", fname); - fprintf( - stderr, - "\nAdjust path --fading_dir or use GNU Octave to generate:\n\n"); - gen_fading_file: - fprintf(stderr, "$ octave-cli\n"); - fprintf(stderr, "octave:24> pkg load signal\n"); - fprintf(stderr, "octave:24> time_secs=60\n"); - fprintf(stderr, - "octave:25> ch_fading(\"faster_fading_samples.float\", 8000, " - "2.0, 8000*time_secs)\n"); - fprintf(stderr, - "octave:26> ch_fading(\"fast_fading_samples.float\", 8000, " - "1.0, 8000*time_secs)\n"); - fprintf(stderr, - "octave:27> ch_fading(\"slow_fading_samples.float\", 8000, " - "0.1, 8000*time_secs)\n"); - fprintf(stderr, - "-----------------------------------------------------\n"); - exit(1); - } - nhfdelay = floor(MPG_DELAY_MS * Fs / 1000); - } - - if (fading_en == 2) { - sprintf(fname, "%s/%s", fading_dir, MPP_FADING_FILE_NAME); - ffading = fopen(fname, "rb"); - if (ffading == NULL) goto cant_load_fading_file; - nhfdelay = floor(MPP_DELAY_MS * Fs / 1000); - } - - if (fading_en == 3) { - sprintf(fname, "%s/%s", fading_dir, MPD_FADING_FILE_NAME); - ffading = fopen(fname, "rb"); - if (ffading == NULL) goto cant_load_fading_file; - nhfdelay = floor(MPD_DELAY_MS * Fs / 1000); - } - - ch_fdm_delay = (COMP *)MALLOC((nhfdelay + COHPSK_NOM_SAMPLES_PER_FRAME) * - sizeof(COMP)); - assert(ch_fdm_delay != NULL); - for (i = 0; i < nhfdelay + COHPSK_NOM_SAMPLES_PER_FRAME; i++) { - ch_fdm_delay[i].real = 0.0; - ch_fdm_delay[i].imag = 0.0; - } - - /* optionally override delay from command line */ - if (user_multipath_delay >= 0.0) - nhfdelay = floor(user_multipath_delay * Fs / 1000); - - /* first values in file are HF gains */ - - for (i = 0; i < 4; i++) ret = fread(&hf_gain, sizeof(float), 1, ffading); - // fprintf(stderr, "hf_gain: %f\n", hf_gain); - } - - assert(HT_N == sizeof(ht_coeff) / sizeof(COMP)); - for (i = 0; i < HT_N; i++) { - htbuf[i] = 0.0; - } - for (i = 0; i < SSBFILT_N; i++) { - ssbfiltbuf[i].real = 0.0; - ssbfiltbuf[i].imag = 0.0; - } - COMP lo_phase = {1.0, 0.0}; - COMP lo_freq; - lo_freq.real = cos(2.0 * M_PI * SSBFILT_CENTRE / Fs); - lo_freq.imag = sin(2.0 * M_PI * SSBFILT_CENTRE / Fs); - - fprintf(stderr, - "ch: Fs: %d NodB: %4.2f foff: %4.2f Hz fading: %d nhfdelay: %d clip: " - "%4.2f ssbfilt: %d complexout: %d\n", - Fs, NodB, foff_hz, fading_en, nhfdelay, clip, ssbfilt_en, - complex_out); - - /* --------------------------------------------------------*\ - Main Loop - \*---------------------------------------------------------*/ - - frames = 0; - while (fread(buf, sizeof(short), BUF_N, fin) == BUF_N) { - frames++; - - /* Hilbert Transform to produce complex signal so we can do - single sided freq shifts, HF channel models, and analog - compression. Allows us to use real signal I/O. - - As the real and imag filters both have unity gain, ch_in[] - has twice the power of the real input signal buf[]. - */ - - for (i = 0, j = HT_N; i < BUF_N; i++, j++) { - htbuf[j] = (float)buf[i] * gain; - - /* FIR filter with HT to get imag, just delay to get real */ - - ch_in[i].real = 0.0; - ch_in[i].imag = 0.0; - for (k = 0; k < HT_N; k++) { - ch_in[i].real += htbuf[j - k] * ht_coeff[k].real; - ch_in[i].imag += htbuf[j - k] * ht_coeff[k].imag; - } - // printf("%d %f %f\n", i, ch_in[i].real, ch_in[i].imag); - } - assert(j <= (BUF_N + HT_N)); - - /* update HT memory */ - for (i = 0; i < HT_N; i++) htbuf[i] = htbuf[i + BUF_N]; - - /* --------------------------------------------------------*\ - Clipping mag of complex signal - \*---------------------------------------------------------*/ - - for (i = 0; i < BUF_N; i++) { - float mag = - sqrt(ch_in[i].real * ch_in[i].real + ch_in[i].imag * ch_in[i].imag); - float angle = atan2(ch_in[i].imag, ch_in[i].real); - if (mag > clip) { - mag = clip; - nclipped++; - } - tx_pwr += mag * mag; - /* we get a bit of overshoot in peak measurements if HT filter hasn't been - * primed */ - if (frames * BUF_N > HT_N) - if (mag > peak) { - peak = mag; - // fprintf(stderr, "%d %f\n",frames, mag); - } - ch_in[i].real = mag * cos(angle); - ch_in[i].imag = mag * sin(angle); - } - - /* --------------------------------------------------------*\ - Channel - \*---------------------------------------------------------*/ - - fdmdv_freq_shift_coh(ch_fdm, ch_in, foff_hz, Fs, &phase_ch, BUF_N); - - /* optional HF fading -------------------------------------*/ - - if (fading_en) { - /* update delayed signal buffer */ - - for (i = 0; i < nhfdelay; i++) ch_fdm_delay[i] = ch_fdm_delay[i + BUF_N]; - for (j = 0; j < BUF_N; i++, j++) ch_fdm_delay[i] = ch_fdm[j]; - - /* combine direct and delayed paths, both multiplied by - "spreading" (Doppler) functions */ - - for (i = 0; i < BUF_N; i++) { - ret = fread(&aspread, sizeof(COMP), 1, ffading); - if (ret == 0) { - fprintf(stderr, - "ch: Fading file finished - simulation stopping. You may " - "need more samples:\n"); - goto gen_fading_file; - } - ret = fread(&aspread_2ms, sizeof(COMP), 1, ffading); - if (ret == 0) { - fprintf(stderr, - "ch: Fading file finished - simulation stopping. You may " - "need more samples:\n"); - goto gen_fading_file; - } - // printf("%f %f %f %f\n", aspread.real, aspread.imag, aspread_2ms.real, - // aspread_2ms.imag); - - direct = cmult(aspread, ch_fdm[i]); - delayed = cmult(aspread_2ms, ch_fdm_delay[i]); - ch_fdm[i] = fcmult(hf_gain, cadd(direct, delayed)); - } - } - - /* Measure power after fading model to make sure average pwr - is the same as AWGN channels. We only output the real - signal, which is half the power. */ - - for (i = 0; i < BUF_N; i++) { - tx_pwr_fade += pow(ch_fdm[i].real, 2.0); - } - - /* AWGN noise ------------------------------------------*/ - - for (i = 0; i < BUF_N; i++) { - COMP n = noise(); - scaled_noise = fcmult(sqrt(variance), n); - ch_fdm[i] = cadd(ch_fdm[i], scaled_noise); - noise_pwr += pow(scaled_noise.real, 2.0) + pow(scaled_noise.imag, 2.0); - } - - /* FIR filter to simulate (a rather flat) SSB filter. We - filter the complex signal by shifting it down to DC and - using real coefficients. */ - - for (i = 0, j = SSBFILT_N; i < BUF_N; i++, j++) { - if (ssbfilt_en) { - ssbfiltbuf[j] = cmult(ch_fdm[i], cconj(lo_phase)); - ssbfiltout[i].real = 0.0; - ssbfiltout[i].imag = 0.0; - for (k = 0; k < SSBFILT_N; k++) { - ssbfiltout[i].real += ssbfiltbuf[j - k].real * ssbfilt_coeff[k]; - ssbfiltout[i].imag += ssbfiltbuf[j - k].imag * ssbfilt_coeff[k]; - } - ssbfiltout[i] = cmult(ssbfiltout[i], lo_phase); - lo_phase = cmult(lo_phase, lo_freq); - } else { - ssbfiltout[i] = ch_fdm[i]; - } - } - - /* update SSB filter memory */ - for (i = 0; i < SSBFILT_N; i++) ssbfiltbuf[i] = ssbfiltbuf[i + BUF_N]; - - int nout = (complex_out + 1) * BUF_N; - short bufout[nout], *pout = bufout; - for (i = 0; i < BUF_N; i++) { - sam = ssbfiltout[i].real; - if (sam > 32767.0) { - noutclipped++; - sam = 32767.0; - } - if (sam < -32767.0) { - noutclipped++; - sam = -32767.0; - } - *pout++ = sam; - if (complex_out) { - sam = ssbfiltout[i].imag; - if (sam > 32767.0) { - noutclipped++; - sam = 32767.0; - } - if (sam < -32767.0) { - noutclipped++; - sam = -32767.0; - } - *pout++ = sam; - } - } - - fwrite(bufout, sizeof(short), nout, fout); - - /* if this is in a pipeline, we probably don't want the usual - buffering to occur */ - - if (fout == stdout) fflush(stdout); - } - - fclose(fin); - fclose(fout); - - int nsamples = frames * BUF_N; - papr = 10 * log10(peak * peak / (tx_pwr / nsamples)); - CNo = 10 * log10(tx_pwr / (noise_pwr / (Fs))); - snr3k = CNo - 10 * log10(3000); - float outclipped_percent = noutclipped * 100.0 / nsamples; - fprintf(stderr, "ch: SNR3k(dB): %8.2f C/No....: %8.2f\n", snr3k, CNo); - fprintf(stderr, - "ch: peak.....: %8.2f RMS.....: %8.2f CPAPR.....: %5.2f \n", peak, - sqrt(tx_pwr / nsamples), papr); - fprintf(stderr, - "ch: Nsamples.: %8d clipped.: %8.2f%% OutClipped: %5.2f%%\n", - nsamples, nclipped * 100.0 / nsamples, outclipped_percent); - if (outclipped_percent > 0.1) - fprintf(stderr, "ch: WARNING output clipping\n"); - - if (ffading != NULL) fclose(ffading); - if (ch_fdm_delay != NULL) FREE(ch_fdm_delay); - if (ctest) { - /* special ctest mode: check CPAPR is around 0dB */ - if (fabs(papr) < 0.7) - return 0; - else - return 1; - } else - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/codes_450.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/codes_450.txt deleted file mode 100644 index ee7bb0c..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/codes_450.txt +++ /dev/null @@ -1,501 +0,0 @@ -41 500 - 11.9178 14.1558 15.0079 16.3077 17.3822 18.2611 17.4655 14.7258 9.9322 5.5523 2.3108 -0.5449 -3.1948 -5.2578 -6.6720 -7.0718 -6.2242 -3.5271 -0.4724 -0.6426 -5.5883 -11.0690 -13.9474 -14.1999 -11.6213 -9.2487 -10.7685 -15.1688 -17.7995 4.7470 5.3362 4.5288 2.0410 -0.2507 -1.4078 -1.9789 -2.0773 -2.8836 -2.6876 -5.3670 -21.5899 - 20.9429 19.2708 15.6619 12.7137 9.1871 6.4196 3.1467 1.6784 0.8989 1.2827 1.4966 0.1254 -2.5426 -4.5150 -6.1876 -6.3874 -6.0478 -5.9793 -6.4367 -5.2532 -2.2523 -0.5109 1.6273 0.3551 -4.4390 -9.5465 -11.7875 -11.3329 -11.5883 4.4211 3.0334 0.1707 -1.8877 -1.6176 -0.7003 0.0063 0.8933 -0.3305 -0.5297 -3.4590 -17.2335 - 10.3698 10.9179 12.2827 14.2252 13.1924 8.1149 3.4397 0.4163 -0.6468 -1.2093 -1.7787 -2.1501 -2.3738 -2.1698 -1.6602 -2.0012 -2.2206 -2.6679 -2.9048 -4.0924 -3.9533 -4.6653 -3.4648 -4.1545 -4.7802 -5.9292 -6.6217 -6.2599 -7.2545 -1.4487 -2.0915 -2.0764 -2.5240 -2.8369 -1.7282 0.3818 1.6462 2.6312 4.3951 3.6513 -6.6040 - 10.7001 9.9813 8.3287 7.1242 6.5070 6.5092 5.9516 5.2985 4.9376 4.9107 3.3698 2.1480 1.7415 1.8271 2.9065 1.7503 1.1809 -0.5973 -2.5964 -4.1194 -4.3826 -4.2663 -6.1171 -8.2455 -10.0389 -10.0722 -11.1753 -11.2765 -12.2855 0.8221 0.8933 0.0873 0.1278 -0.2444 -0.1326 0.4115 -0.0880 0.3496 0.6766 -2.9033 -13.4861 - 14.8732 12.7779 9.6261 7.1258 5.1364 5.1173 4.4647 4.3160 3.7550 3.9126 3.6316 2.8536 1.9930 -1.1494 -2.4465 -3.4951 -3.8807 -4.2782 -4.5140 -4.6567 -4.7573 -4.9527 -5.3524 -6.1002 -6.5648 -6.2400 -6.7782 -6.9091 -7.5078 -0.7325 -1.0470 -1.1322 -1.2300 -1.1725 -0.7847 -0.0740 0.3234 1.3703 2.8077 1.6715 -7.7106 - 13.0634 13.0580 11.8762 10.3012 8.7287 8.2751 6.9140 5.6997 4.4786 3.7849 4.1201 2.8106 0.7120 -1.4190 -2.0942 -2.3582 -0.5397 1.5160 0.4684 -2.9378 -7.1601 -10.1338 -10.8807 -10.0235 -7.7214 -7.4752 -9.9005 -11.5702 -11.5927 4.2630 3.6157 2.2639 2.6715 3.2976 2.2826 0.9481 -1.7723 -4.4187 -3.5441 -9.6074 -17.0075 - 17.4365 16.7500 15.4119 14.0262 11.9105 8.7640 5.0192 1.9276 0.0772 -0.8006 -1.8916 -2.6101 -3.2178 -2.5671 -1.7974 -0.9511 -1.6296 -2.8438 -5.2983 -6.9390 -8.1364 -7.5562 -6.4223 -7.1565 -8.5620 -8.8653 -6.3020 -4.6173 -3.1589 0.3453 2.4060 5.1191 5.4688 4.3371 3.0997 0.6091 -2.3128 -3.0561 -3.3297 -12.6865 -6.0911 - 13.0911 12.7368 12.4903 13.0944 13.0545 12.0753 8.9618 6.1436 4.1205 3.0040 2.5067 2.1012 1.7892 1.0194 -0.5009 -2.7054 -4.3792 -5.7855 -7.3332 -7.6356 -6.8161 -6.3032 -6.7524 -8.6805 -9.1565 -8.9761 -9.6991 -10.2280 -11.2374 -0.8915 -1.3351 -1.3279 -0.8507 -1.1734 -0.5889 -0.2953 0.9333 1.7331 2.7464 1.0499 -11.7092 - 20.5201 20.0295 17.9227 15.1345 11.8697 8.3087 5.1766 3.0060 1.2540 0.4174 -0.1720 -0.8532 -1.8929 -2.4981 -2.7278 -3.1121 -3.4982 -3.7976 -4.7868 -5.4073 -5.4391 -5.9033 -7.2898 -8.3095 -8.7395 -9.6577 -9.6812 -9.1534 -10.7197 -2.0265 -2.4422 -3.2898 -3.0803 -2.9851 -1.2856 0.1567 1.8910 3.3083 5.0377 4.7157 -9.9218 - 8.7254 11.0045 12.0666 13.2121 13.3296 12.8324 10.8510 7.8774 5.4319 2.5287 -0.0029 -1.8774 -3.6195 -5.0420 -5.6921 -5.2354 -4.4870 -3.3016 -2.0527 -2.1409 -3.9671 -5.5705 -6.5599 -6.6471 -6.1324 -6.7689 -8.5096 -9.9894 -10.2634 3.4359 2.7738 2.8295 2.9482 1.6625 0.8956 -0.0514 -1.5848 -1.4749 -2.2921 -9.1424 -14.2391 - 23.9657 22.7269 19.7344 15.7159 12.2183 10.6582 8.5153 6.8034 5.1757 2.7658 0.5046 -1.3116 -2.0410 -1.6635 0.4261 3.7125 3.3282 0.1068 -4.3151 -7.4691 -8.1547 -7.8283 -7.2057 -10.8214 -15.3903 -17.5933 -17.6434 -16.8095 -18.1107 1.5132 0.3244 0.0189 -0.7294 -1.1966 -0.6245 -0.5177 0.2092 1.0300 0.8494 -0.8770 -19.8535 - 16.6280 15.7442 12.7310 10.1009 8.2897 8.5577 8.8444 10.0560 10.3050 9.1696 6.7854 3.8917 0.3608 -3.0307 -5.8666 -7.1637 -6.5677 -5.6155 -5.1575 -4.9714 -6.5135 -7.7608 -7.9326 -8.4341 -8.5905 -8.7170 -10.2926 -12.2908 -12.5593 4.2267 2.1595 0.5102 -1.3820 -1.1131 -0.0305 -0.5306 -0.0216 -0.2857 -0.0746 -3.4583 -17.0769 - 13.6209 12.7507 12.8553 14.2468 15.9471 14.0699 8.8461 3.2261 -1.1845 -3.9187 -5.7488 -7.4173 -8.8555 -9.2473 -8.9917 -6.5605 -1.7283 2.9838 3.3778 -0.7316 -2.7883 -0.8816 0.0532 -4.9902 -8.7894 -10.3247 -7.5806 -5.9415 -6.2971 14.6560 9.5930 3.1821 -1.9796 -0.7713 -2.0700 -4.1354 -3.8071 -3.6360 -4.5115 -6.5203 -23.1275 - 23.4988 25.5182 26.1443 25.6216 23.4290 19.3707 13.9050 7.5166 1.8256 -2.4154 -5.4517 -7.7013 -9.8647 -11.2215 -12.6184 -14.4069 -15.4023 -15.6232 -14.8399 -14.5670 -14.5190 -13.7907 -10.6309 -3.4890 1.4794 1.6350 -2.2134 -1.6600 0.4710 10.9708 10.5205 11.2036 9.2796 5.4146 -1.1911 -4.4466 -8.0856 -10.7515 -10.9044 -12.0101 -11.4961 - -0.5898 -1.0967 -1.1205 -1.0443 -1.2431 -3.0645 -6.3248 -9.1338 -11.1628 -12.4243 -13.5982 -14.0819 -13.6551 -13.9519 -12.0462 -9.7393 -6.5133 -1.4737 1.3159 2.7420 3.1032 9.2423 13.5689 17.8419 17.0272 18.0312 18.1676 16.3400 14.8841 4.5894 3.4070 3.1758 1.7888 1.6163 0.3158 0.2364 -0.4657 -1.0093 -2.6399 -11.0146 8.1604 - 13.0299 12.0907 11.0575 11.8980 14.1078 15.4469 13.8192 9.6452 5.0678 1.5872 -1.0858 -3.3552 -4.4488 -5.1355 -3.8141 0.5493 5.0898 4.4313 -0.4140 -3.7603 -4.7684 -3.6690 -4.3620 -10.8698 -15.5016 -18.4680 -18.1605 -12.2966 -7.7111 13.7174 7.2067 0.5178 -3.0887 -2.4521 -1.3997 -1.4244 -0.6539 -2.0510 -3.7269 -6.6452 -24.0840 - 20.2958 22.7253 24.1108 25.8434 27.1854 26.7629 24.3010 22.1308 21.1525 19.6181 13.7675 5.3826 -2.8225 -8.7282 -12.7146 -14.6989 -16.2675 -17.4195 -18.1391 -18.1287 -17.6301 -15.6767 -15.3188 -16.1464 -16.5053 -15.5852 -16.0162 -15.5577 -15.9205 1.1396 0.2956 0.2622 -0.1460 -0.2889 0.0275 0.0598 -0.0862 -0.0115 -0.3351 -0.9169 -18.8932 - 21.5882 22.6633 22.5911 21.7567 19.8871 16.4681 11.6127 6.5703 2.5780 -0.4539 -2.9597 -5.4269 -8.0935 -10.3291 -11.8474 -12.0219 -10.4753 -7.1877 -2.9765 -0.5555 -2.4316 -6.5984 -7.4329 -5.2211 -3.7364 -8.4581 -13.1170 -14.2101 -12.1825 9.2042 6.8442 4.1847 1.6315 -1.3411 -3.2760 -3.4037 -3.4563 -3.6074 -2.1629 -4.6172 -19.8953 - 10.6094 9.9560 8.4942 8.0886 9.3761 11.3323 13.7662 16.0947 16.8139 12.1179 6.8094 2.7670 1.8054 3.1768 7.3289 5.1766 -2.2376 -6.9741 -8.5553 -10.5642 -11.2643 -7.7672 -9.8975 -14.2107 -19.6460 -19.4783 -14.0319 -7.9045 -11.1818 -5.2324 -8.4640 2.9045 12.8860 11.9777 10.5541 7.9613 -4.2589 -8.3955 -8.1996 -11.7332 -19.6994 - 5.5041 5.3222 5.1942 5.5460 6.9576 8.9054 10.4828 11.0340 9.8032 6.8135 3.3656 -0.1277 -3.5960 -5.7793 -6.2939 -4.2863 -0.0268 4.5720 4.4361 0.4802 -3.4351 -5.2809 -4.4513 -2.2637 -4.7650 -9.6486 -13.3377 -14.7275 -10.3971 17.8073 13.8296 10.4356 9.0219 2.4512 -5.9813 -10.1712 -10.7160 -9.7016 -7.6983 -9.2773 -25.0775 - 16.3656 18.4878 18.9993 18.9918 18.4816 16.9653 13.5777 9.3381 5.1691 1.7384 -1.9039 -5.4804 -8.8300 -11.9448 -15.0434 -16.8969 -17.1670 -15.0995 -10.9516 -5.3056 1.0232 3.6264 1.1957 1.1028 1.6644 -3.8335 -10.3741 -12.2780 -11.6184 10.0963 5.3648 2.5424 2.4710 -0.7901 -3.2113 -3.7043 -3.1000 -2.4933 -1.9709 -5.2046 -20.9631 - 17.8837 18.4715 18.4874 18.4556 18.3711 17.4990 15.0865 11.4049 7.8551 5.6550 5.2257 5.9267 6.7868 6.4202 3.6161 -0.8300 -5.6377 -9.6817 -12.6005 -14.4203 -15.5246 -15.5077 -13.4622 -11.2201 -12.0997 -15.7120 -18.3392 -17.8512 -14.2586 8.3898 6.8733 5.8658 4.5307 0.2802 -3.1226 -4.8018 -4.8634 -4.4593 -3.4916 -5.2013 -22.2100 - -3.1319 -2.9567 -3.5158 -3.6542 -3.9792 -4.5690 -4.2861 -2.5541 -2.2464 -1.9153 -2.4682 -3.1479 -3.0568 -4.8839 -4.5795 -5.3900 -5.0456 -3.5545 -1.3265 0.8505 3.0174 4.7498 6.6168 8.1567 6.6236 7.6792 9.3003 9.8713 9.3959 -10.5735 -12.5116 -14.0639 -7.5471 -1.3040 2.4789 5.3713 7.7962 9.4623 10.2101 10.6812 18.1437 - 21.9881 22.0268 21.4180 21.0501 19.7092 16.8902 12.8939 9.2408 6.1523 3.8245 2.5628 1.6418 0.8280 0.3977 0.2944 0.9841 0.5033 -2.6922 -7.8516 -11.9595 -14.1961 -14.2907 -11.4202 -8.4658 -10.2796 -16.2385 -20.8415 -22.5979 -21.5723 2.4756 1.9590 0.8663 0.5639 -0.3186 -0.6196 -0.7514 -0.8893 -0.9260 -0.4110 -1.9489 -22.2015 - 13.6868 14.9404 15.1000 15.5585 16.0353 14.4054 10.2425 6.2160 2.6004 0.0140 -1.0930 -1.9058 -2.2147 -3.1008 -3.0478 -1.9164 -0.2033 1.1951 -1.7083 -5.1393 -7.0402 -8.4745 -8.2053 -8.7459 -9.3367 -10.3650 -11.2280 -12.6090 -13.6605 -1.5164 -1.7406 -1.1213 -1.2392 -0.3054 0.1166 1.2891 0.8060 2.8591 2.2703 -1.4183 -13.8822 - 24.2507 21.6076 17.0141 11.8925 7.3451 3.9013 1.1114 -0.6837 -1.7199 -1.9483 -2.6719 -3.0002 -3.6624 -4.0397 -4.0608 -4.1225 -3.9810 -4.1129 -4.5653 -4.8917 -4.8071 -4.8794 -4.6353 -4.2726 -4.7350 -4.9508 -5.2264 -5.1675 -4.9885 -5.7398 -5.9757 -5.9417 -4.9603 -3.1354 -0.5548 2.3754 4.4296 5.8362 7.1375 6.5291 -0.9148 - 17.2631 17.8371 17.1292 16.2736 14.9354 14.1976 13.0153 12.0657 10.4316 7.4938 4.2444 1.4828 -0.6872 -3.7746 -5.5994 -5.3343 -3.0025 -0.6389 -0.0550 -2.7128 -6.5932 -9.9814 -10.8426 -10.0857 -9.6056 -13.2586 -18.8699 -22.5792 -22.7486 -0.7483 -1.0121 -2.2299 -2.0299 -0.7415 -0.0212 1.8597 2.9030 2.7112 2.3661 -3.0572 -22.3309 --11.1995 -10.6930 -9.1942 -8.1742 -7.6079 -6.5119 -6.9193 -7.1422 -7.9717 -7.7574 -7.1013 -6.4983 -6.0445 -5.1389 -3.0175 -0.5052 2.9571 5.6253 7.3169 6.5738 7.6017 10.0073 10.6429 11.4760 11.4863 10.6648 9.4863 8.0975 9.5413 3.3127 3.2227 3.8144 3.7156 4.3089 2.3578 0.7872 -1.2526 -2.7715 -4.3321 -13.1631 5.2507 - 17.1783 16.8887 14.7421 11.8348 8.0205 3.2499 -1.9129 -6.6225 -10.9397 -13.6517 -14.7230 -16.1104 -18.1604 -17.7193 -17.2055 -15.5458 -13.1652 -9.9983 -5.1836 -1.0331 1.9889 4.4501 8.5649 11.1613 14.3782 14.8611 11.2164 10.3416 13.0949 7.1449 3.2853 6.0619 4.3926 2.9056 -0.2214 -2.0011 -1.6095 -2.2370 -3.8553 -13.8661 1.4609 - 10.6486 10.4669 9.1585 9.0007 10.2209 13.1112 15.2667 14.3795 11.1262 6.6047 3.1822 -0.1678 -2.0727 -1.3024 2.4200 5.9038 2.7803 -3.1820 -6.2303 -8.6850 -9.4777 -6.1465 -4.6662 -9.5877 -14.2877 -18.3825 -17.6042 -13.8240 -8.6536 4.3381 -2.0474 -4.0413 0.7437 4.3435 8.0270 4.8604 0.4728 -3.1556 -4.1581 -9.3831 -21.0994 - 4.5339 3.0180 1.1590 -1.8077 -3.7376 -3.2592 -4.8664 -9.0451 -10.5616 -11.0424 -11.0656 -11.1375 -9.1571 -8.9187 -5.4870 -3.7659 -1.1875 -3.3535 6.8620 12.8048 15.2130 16.4198 9.1571 6.4605 6.3040 10.6463 -0.7014 -3.2795 9.7951 11.6354 5.7420 6.8106 9.3406 9.2914 6.7851 13.3750 12.3210 -24.4316 -25.4838 -25.3856 -1.3255 - 6.4369 5.6614 4.5505 3.2770 2.0132 1.6324 -0.2278 -1.7054 -2.5408 -2.9440 -2.5595 -3.6388 -4.3998 -3.8497 -2.4600 -0.6672 0.4797 -0.4954 -0.1361 -0.3178 -0.0794 0.9249 1.3910 0.5690 0.3416 1.0916 0.5145 1.1248 -3.9866 15.2047 12.4340 6.7379 -7.0628 -9.2462 -7.3526 -5.2530 -3.4204 -1.8366 -0.0754 -0.1298 -20.8819 - 13.5404 15.5222 16.2893 16.8870 17.0524 17.1327 14.7572 10.8720 6.7840 2.5400 -0.5888 -3.3697 -5.4657 -6.7879 -7.7962 -7.6553 -7.4342 -6.9197 -6.9455 -6.3541 -6.7461 -7.4159 -7.7579 -8.3178 -7.4289 -7.3424 -8.2132 -8.9949 -9.8430 0.3453 -0.2701 -0.5525 0.0397 0.0597 0.2448 0.8902 1.5587 1.2101 0.8399 -4.3658 -12.2454 - 24.5559 23.4130 20.6408 17.3808 14.4160 11.8493 9.6532 8.6801 7.2117 5.4621 3.0668 0.2230 -2.1120 -4.3454 -5.0915 -4.2332 -0.9253 -0.0786 -2.2834 -6.2673 -9.6185 -12.2260 -14.2603 -13.3716 -11.5386 -12.2997 -15.1963 -16.5699 -16.1351 4.5303 3.2491 1.5538 0.2521 -0.8115 -1.5855 -1.5263 -1.3266 -0.9651 -0.7138 -2.6565 -20.2257 - 8.1022 9.7899 9.7931 9.7477 9.2987 8.7666 6.9904 5.3290 3.0336 1.6204 0.3860 -1.2415 -2.4680 -4.1707 -5.1485 -6.7003 -7.6570 -8.3503 -8.5552 -8.8991 -9.0059 -8.7857 -7.0780 -4.5450 -2.6069 0.6288 2.8467 3.7676 5.1114 3.4695 4.5378 3.2083 2.5145 1.3409 -1.3752 -0.8674 -0.4720 -1.0186 -1.5059 -9.8318 0.0727 - 14.4586 14.2733 13.1879 11.9606 10.2045 9.3636 9.6651 11.0114 12.1122 12.3036 11.0280 8.7772 5.9733 2.4672 0.3102 0.0747 1.2366 0.9815 -2.8016 -7.9803 -12.3829 -14.7650 -15.7924 -13.6058 -11.0614 -13.0621 -17.8806 -20.1354 -19.9220 5.0740 2.9263 -0.3365 -1.5294 -1.0384 -0.4370 -0.2758 -0.3204 -0.0653 -0.0869 -3.9105 -24.5880 - 16.8931 17.8847 18.3283 18.5232 18.1990 16.7506 13.5330 8.8264 3.6715 -0.1991 -2.2432 -3.3290 -3.3054 -2.6748 -0.6690 2.7103 4.8565 3.5571 -0.4645 -5.0037 -8.7773 -10.0343 -10.0215 -10.2618 -11.9582 -16.0391 -19.8259 -20.4865 -18.4405 4.2237 7.7521 9.4271 7.7776 3.2089 -1.3047 -4.3710 -6.1258 -6.6240 -6.4665 -7.4973 -21.6119 - 26.2407 26.8595 25.5084 23.5987 20.6139 16.2421 10.9416 5.9994 2.3434 -0.3767 -2.7912 -5.3898 -7.9202 -9.5689 -11.3407 -12.1566 -12.5654 -12.0723 -10.0537 -6.9972 -3.0971 -1.8157 -4.5501 -5.7844 -5.5235 -7.2936 -10.9909 -13.4932 -14.5663 2.1561 1.5321 0.2818 -0.1633 -0.3426 -0.3136 0.0161 -0.3898 0.0287 -0.0952 -2.7103 -16.2994 - 18.3705 19.3592 20.1123 19.1051 15.6286 9.5321 3.0603 -1.6458 -4.5598 -6.3273 -7.5713 -8.4739 -9.3282 -10.3168 -10.7509 -9.1030 -6.7703 -2.5740 3.3208 6.7538 4.2453 2.9740 1.1080 -3.3077 -7.0808 -9.7837 -9.6571 -8.2866 -8.0329 10.1201 5.6162 1.7587 -0.9681 -1.7807 -2.3958 -2.4286 -1.6485 -1.8262 -1.9033 -4.5440 -20.3964 - 13.2741 15.4244 17.0234 18.2818 19.5432 18.9691 14.9962 9.1156 3.6419 -0.2906 -3.1570 -6.1768 -7.9818 -9.3506 -9.4656 -9.2507 -8.4602 -6.2085 -1.8201 1.5162 1.2490 -0.0059 -1.8007 -4.5282 -8.6837 -12.6709 -15.3611 -15.4209 -12.4015 7.8150 3.1728 1.5432 0.7950 -0.5318 -1.2456 -1.5988 -1.7996 -2.1907 -2.0052 -3.9542 -22.2556 - 15.9184 17.3622 17.4678 16.8842 14.6841 11.8317 7.6477 2.3173 -1.3712 -4.0441 -5.5323 -6.8296 -7.7101 -8.4121 -8.4766 -8.2702 -8.0827 -7.3742 -7.9359 -7.9155 -8.0671 -7.6939 -7.0166 -5.7862 -3.8811 -1.0122 2.4703 3.9838 4.8441 2.9188 2.7328 3.6011 4.0330 4.2894 1.6661 -1.5176 -1.7944 -2.1907 -2.2625 -11.4761 -0.6248 - 27.6543 28.3344 28.0974 27.8652 25.8810 21.2395 14.9679 8.7442 3.5965 -1.0986 -5.8391 -9.7803 -12.4065 -13.0919 -11.4339 -7.2826 -2.4552 -0.6713 -3.1822 -8.1469 -9.6767 -9.4577 -8.9612 -11.2661 -13.6229 -15.3616 -15.2642 -14.0444 -13.3373 2.3229 0.9500 0.5581 0.0389 -0.1161 0.3407 -0.3396 -0.7413 -0.8075 -0.6566 -1.5496 -16.0531 - 14.7743 15.8710 16.5584 17.4275 18.6438 19.6359 19.7934 19.0788 17.9177 16.9057 15.9073 14.4531 10.2026 3.0567 -4.1665 -9.7579 -13.4361 -15.9678 -18.1928 -19.8105 -20.3101 -20.0861 -19.2226 -16.1803 -12.5817 -12.1735 -14.1311 -13.5138 -10.6954 7.7639 2.5429 2.6941 2.9367 0.5893 -1.9290 -2.8709 -3.1704 -3.0337 -2.2216 -3.3012 -22.8190 - 12.7199 12.8622 12.1185 10.3818 7.6754 5.4729 4.0902 2.5106 1.3459 -0.1508 -1.0590 -0.9743 -1.2979 -1.7207 -2.0981 -3.4023 -3.6088 -3.7334 -2.9611 -2.7071 -3.2507 -3.7314 -4.9032 -4.9793 -5.4541 -5.3634 -5.5199 -5.9327 -6.3294 0.5719 0.7629 0.4111 0.3851 0.5406 0.3610 -0.6901 -0.4405 0.2987 0.0781 -2.2788 -7.7046 - 17.0925 17.2680 16.3588 15.6578 15.5233 15.8680 16.0037 14.7721 12.2920 8.7258 4.3618 0.2688 -3.5171 -6.9208 -9.2849 -8.9305 -6.2881 -2.6008 0.0832 -0.7819 -3.3713 -5.1713 -4.9040 -6.2218 -11.3970 -17.6896 -21.9017 -23.4215 -21.8734 3.1762 2.3323 1.1259 -0.1136 -0.6656 -1.1934 -1.1198 -0.3320 -0.0039 -0.1887 -3.0174 -24.2388 - 17.2297 15.6739 13.0707 10.1587 7.8155 7.3743 6.0217 4.4665 3.0535 2.6239 2.2641 1.9670 1.5434 0.6206 -1.2673 -3.0579 -4.7912 -5.9248 -5.9180 -6.1220 -5.8687 -6.3517 -6.5968 -7.5677 -7.4916 -7.9499 -8.0977 -8.4791 -8.3990 1.8899 2.2808 2.6284 2.1186 1.2552 0.2046 -0.3591 -0.6669 -1.5091 -1.4378 -6.4047 -11.8263 - 4.5933 4.7596 4.4438 5.2453 6.6446 8.2821 6.9832 4.3810 1.1278 -1.5253 -1.8904 -2.1516 -3.4268 -5.4133 -6.8772 -7.1547 -5.3998 -2.6582 1.2751 2.0882 -0.7302 -4.1881 -5.1819 -2.1264 0.8208 0.5532 -1.8235 -1.5249 0.8743 5.3771 4.5451 4.0828 5.1397 3.7744 0.3580 -1.2512 -0.7183 -2.7542 -4.1142 -14.4391 -6.0204 - -2.2799 -1.7680 -3.2413 -3.9270 -2.7062 -1.0703 -1.3350 -1.9824 -2.4957 -1.3919 -2.1103 -4.0545 -4.3911 -5.7784 -7.9812 -7.7496 -7.5943 -5.8788 -3.7846 -2.6760 2.8977 4.8420 8.2162 4.4328 10.2839 10.4092 11.3489 11.1069 10.6590 -9.8885 -12.0674 -13.7764 -6.7026 -2.8416 2.6527 5.3400 7.6116 8.5217 10.1675 10.9830 18.5816 - 8.6790 8.1241 7.9956 9.0010 10.6051 11.9336 12.0700 10.4828 7.6040 4.4092 1.4213 -0.5435 -1.8070 -2.2849 -1.1776 2.4297 6.7853 8.4364 6.3991 4.5951 1.7264 -5.9987 -12.0781 -16.5380 -18.7068 -19.2937 -18.0295 -14.9180 -11.3219 9.6625 7.9093 9.1967 5.7578 -1.0641 -5.1134 -6.0886 -5.4946 -5.3822 -2.7102 -6.6734 -25.9833 - 10.3657 10.3631 9.7058 9.4298 9.0617 7.9822 5.9655 2.6688 -0.5238 -2.6855 -3.0614 -3.3624 -4.7739 -5.3797 -4.5954 -3.2382 -1.5077 -1.7236 -2.7671 -2.9653 -4.5764 -6.3959 -5.0542 -3.3922 -3.4383 -5.4556 -2.3727 -2.0655 3.7923 -5.2260 -22.0236 -1.5093 6.4261 7.5104 7.6639 4.2871 1.2994 0.5479 5.7985 -4.7744 7.7899 - 10.4446 10.4588 9.0587 7.0901 3.1501 -0.3318 -2.7060 -4.6185 -5.7165 -6.2274 -5.5457 -6.1342 -6.9016 -7.4068 -6.2107 -3.8982 -1.1383 -1.7125 -3.1209 -2.5081 -2.3909 0.2919 4.6445 2.6432 2.6694 4.3011 3.5911 6.8931 1.3315 21.7970 18.1696 11.3834 -3.1623 -8.4098 -8.5693 -7.6899 -7.0385 -5.9998 -5.4794 -5.0009 -22.6316 - 17.2287 17.7616 17.8929 19.2677 20.8170 21.4764 18.7667 14.2036 10.5122 8.1941 7.8420 9.4381 10.7037 7.2143 -0.2794 -6.1524 -10.8365 -13.8587 -16.1691 -17.3352 -17.2280 -14.8106 -11.1914 -12.3040 -16.0739 -18.1082 -16.4868 -14.5719 -15.9127 2.3379 0.5208 0.3528 -0.1779 -0.6500 -0.5172 -0.1244 -0.1086 0.2128 -0.1577 -1.6885 -22.6503 - 18.5355 20.4972 20.1850 18.5749 15.6167 12.2745 7.9486 3.0171 -0.8357 -2.7695 -4.9000 -6.7903 -8.0533 -9.4775 -9.7203 -10.0951 -9.4960 -9.2581 -9.1995 -6.3741 -2.3905 0.4560 1.0899 -0.4465 -1.4521 -2.6965 -6.3247 -8.5287 -9.3872 0.7079 0.5683 -0.4043 -0.7092 -0.1113 1.5441 2.4584 1.8607 0.7709 -0.1603 -6.5252 -13.3875 - 15.7485 14.5502 12.3547 10.1884 8.6909 8.0435 6.3074 4.6065 2.2122 -0.1930 -1.2413 -2.4859 -3.7253 -4.0244 -2.8733 -1.9500 -1.0559 -2.6557 -3.6275 -3.0937 -3.1904 -3.2420 -3.8325 -6.0485 -6.6724 -6.1617 -7.5456 -8.3219 -10.7613 9.0819 5.6131 0.9836 -3.3767 -5.1130 -4.5161 -2.5844 -1.0875 -0.3335 0.8807 0.4519 -18.4860 - 13.0658 12.0977 9.3051 6.8101 5.9796 6.1211 5.3037 4.3634 4.1469 2.3546 0.6265 -1.0456 -1.8168 -2.1623 -1.4037 -2.0812 -2.8168 -3.4540 -4.9104 -5.6641 -6.1702 -5.2274 -3.5942 -3.4678 -3.4265 -4.9099 -5.1651 -6.2588 -6.5997 3.1896 2.3931 3.5929 2.5385 1.8123 0.7336 -0.3261 -0.9462 -1.5350 -2.5520 -8.9007 -9.6432 - 6.9128 6.7304 6.9243 6.4631 5.6472 3.9796 1.7898 -0.2489 -2.4436 -2.6508 -2.5470 -2.8932 -3.7418 -4.0472 -3.7409 -4.1721 -4.5045 -2.5398 -1.2681 -2.2512 -4.0819 -2.5504 -0.5617 -0.8125 -6.3247 -16.4522 5.3598 10.4107 13.6148 2.9041 3.9937 4.1878 3.1505 2.3718 2.0861 -0.7564 -2.8980 -3.0100 -1.1906 -10.8392 7.8990 - 15.3717 14.4646 14.0665 15.2685 17.8890 16.6173 10.8299 5.4591 1.3248 -1.5112 -3.5105 -5.0396 -4.7139 -3.2327 0.4893 6.6080 9.2663 7.1616 4.6529 0.9359 -6.9866 -12.7386 -15.0655 -16.3268 -15.5303 -12.5805 -11.4429 -13.9588 -17.7676 4.4548 2.5041 -0.5574 -1.9092 -1.6954 -0.7980 -0.8178 0.6929 0.2455 0.1742 -2.2936 -23.5972 - 15.1415 17.2129 18.5276 20.2576 22.0435 22.9410 21.3301 18.4906 16.7921 16.6351 16.5489 13.5214 7.0026 -0.4264 -6.3907 -10.2154 -12.0432 -13.8717 -14.8140 -14.5501 -12.6863 -11.2906 -14.4502 -19.3250 -21.0242 -20.2029 -17.6079 -17.4052 -20.1409 -0.1152 0.2933 0.6422 0.8539 0.5304 -0.1244 -0.6918 -0.3401 -0.1677 0.0292 -0.9099 -22.1229 - 16.3527 16.4358 14.5529 11.7515 8.0259 5.7593 4.7947 5.2455 6.9418 9.3793 10.6924 9.9655 9.0457 8.3252 8.4762 6.3689 3.4623 -0.5745 -4.6846 -8.5680 -10.9887 -12.4636 -14.7640 -14.5242 -15.3129 -17.5422 -18.4522 -18.6412 -19.0596 4.6132 1.4513 -0.0514 -0.1917 -0.3334 -0.1370 -0.0439 -0.2954 -0.2393 -0.9118 -3.8606 -24.6234 - 3.0149 3.3679 2.0858 1.6705 1.6501 2.5867 1.6237 0.5766 -1.3320 -2.3047 -2.9270 -3.0607 -3.6274 -5.2376 -5.7845 -5.3526 -3.5342 -1.1532 1.8140 2.9895 2.7465 1.9285 1.7068 1.7703 2.2200 1.9728 0.2297 -1.0946 1.4544 -2.0981 -1.6916 0.2350 2.2065 3.1538 2.2516 2.8930 1.2452 0.2641 0.7151 -9.1746 0.1743 - 33.1383 31.0792 25.7434 19.1612 13.8370 10.1403 5.0657 -0.9848 -4.0125 -3.8049 -1.4317 2.9301 4.0459 0.1222 -5.3168 -8.1684 -10.0826 -10.8448 -10.2597 -10.3317 -9.4719 -5.7311 -3.3677 -4.7251 -6.3960 -9.1268 -12.2844 -14.4200 -14.5022 2.6060 2.2289 1.6967 0.1399 -0.9831 -0.9608 -0.8510 -1.0292 -0.7889 -0.5855 -1.4730 -15.7149 - 27.2923 26.1076 23.8786 21.3130 19.0418 17.1720 15.5267 14.4631 14.0462 13.5070 12.4676 9.9142 5.6853 0.5980 -4.4056 -8.3465 -10.4675 -12.5667 -14.3166 -15.5842 -15.4689 -15.0589 -15.5652 -16.4950 -16.8464 -17.9497 -19.4354 -19.6539 -18.8530 1.2956 0.1647 -0.0666 -0.5622 -1.0818 -1.0177 -0.6516 0.0389 0.9296 1.4023 -0.4513 -20.2788 - 26.6766 26.7374 25.7566 24.0280 20.4779 14.6637 7.8330 1.9621 -2.0700 -4.7989 -7.3077 -9.0786 -9.6220 -7.7331 -4.7410 0.1848 4.4070 2.7266 -2.1973 -5.5028 -7.5677 -8.3692 -9.3827 -11.2185 -12.6814 -12.9582 -12.5667 -13.3838 -14.2742 2.1312 0.7483 0.4117 -0.1309 -0.2886 -0.2604 -0.4816 0.0583 -0.0383 -0.2744 -1.8754 -17.9569 - 3.3978 4.4684 4.2593 3.9748 2.4838 0.6609 -2.0182 -4.4753 -6.9532 -7.4489 -7.9821 -8.8126 -7.7701 -6.4035 -3.2114 -0.1726 4.0273 6.9857 8.4846 6.3510 4.9727 4.6470 4.6414 3.6916 1.9176 0.3255 -2.6101 -3.4750 -3.9565 1.7533 1.1049 0.6470 -0.2625 -0.1699 -0.7934 -1.0459 -1.6085 0.7985 2.6353 -3.0588 -6.3429 - 10.0599 9.5448 6.9010 4.3178 2.5886 1.5303 0.1509 -1.0275 -2.6254 -2.8291 -3.0667 -3.4775 -4.4368 -5.1122 -6.2497 -6.7213 -5.2797 -3.8800 -2.4109 -1.6128 -3.0693 -4.8056 -5.1575 -1.7918 2.5625 3.7623 3.5521 7.7141 10.8696 8.0651 6.4772 6.6051 3.5600 1.8517 -0.5246 -1.7934 -2.7395 -3.6923 -4.3495 -13.4599 0.6565 - 25.7569 24.1232 20.4182 16.1881 12.4409 10.9425 10.5212 10.6127 10.0690 8.9583 6.8593 5.3047 4.2774 2.9654 1.7215 -0.5266 -3.2445 -6.9442 -10.3293 -12.7061 -14.0210 -14.2363 -13.7968 -14.0351 -15.0354 -15.6847 -16.5621 -16.6992 -17.3378 1.2536 0.3575 0.1415 -0.1561 -0.1699 -0.6288 -0.4370 0.0255 0.2138 0.5498 -1.1499 -20.2166 - 0.0231 -0.9014 -1.8167 -1.2335 -0.9356 0.1659 0.0099 -0.3194 -1.2785 -1.6159 -0.9934 -0.9581 -1.8280 -2.2803 -1.6717 -0.1281 -0.6227 0.0211 -0.2651 -0.5372 -0.9352 -1.0325 0.2653 -0.4461 0.6598 1.5850 4.5525 6.2731 6.2437 6.2289 7.1906 6.8806 4.1911 2.5668 0.0429 -1.5955 -2.8462 -4.6688 -4.0492 -13.9413 -0.0713 - 7.9284 9.1572 9.8203 10.6262 11.7687 13.2204 14.0222 13.2111 10.5107 6.8116 3.6111 0.4955 -2.3899 -5.1121 -6.5572 -6.6556 -5.2199 -2.9231 -0.5211 -0.8570 -4.7480 -9.1464 -11.8191 -10.7137 -6.0224 -4.8220 -8.0630 -12.3598 -13.2532 13.1773 12.7484 9.6243 5.0688 -0.9409 -6.7845 -7.3453 -6.4726 -6.1985 -4.8683 -8.0086 -24.4428 - 20.6590 19.3955 16.2834 13.6379 12.4445 12.1295 10.9807 10.1646 10.4918 11.3802 11.3612 11.2354 10.6339 6.7227 1.1138 -3.7021 -6.4288 -7.9590 -9.9760 -11.0475 -13.1574 -15.9863 -18.1733 -17.6149 -16.1809 -16.3342 -15.4709 -13.2473 -13.3553 6.4606 2.2334 0.0904 -1.0983 -1.1535 -1.8710 -1.3953 -0.4539 -0.1442 0.1951 -2.8632 -21.9027 - 11.5076 12.0660 12.7170 14.7721 15.3221 13.0928 8.0689 3.5812 1.5428 1.2390 0.9197 -0.0146 -2.1654 -5.8495 -7.9985 -6.4957 -1.4612 4.6035 5.2013 1.9497 -2.2153 -5.5580 -2.2714 -3.5929 -8.3748 -16.9482 -17.6920 -14.1565 -11.7896 -0.1089 2.8427 6.3890 4.6360 3.9712 2.8762 -3.4553 0.8911 -3.1126 -3.8817 -11.0478 -18.2605 - 9.1012 8.2983 7.7090 8.2796 9.7170 11.3893 12.9622 12.4812 9.4717 5.4783 2.6937 2.0314 2.3476 3.7201 7.2459 7.9823 4.2063 -1.0767 -4.4784 -6.7559 -4.5456 -4.6976 -8.2963 -18.7549 -25.0006 -24.3482 -13.5441 -8.7468 -4.8700 9.4162 -0.0518 -5.6394 -1.8175 2.8460 5.7461 4.9827 2.5039 -4.5892 -5.3372 -8.0598 -24.0108 - 25.3914 22.4719 18.4847 14.1484 9.8827 6.3827 3.7424 2.3869 2.0026 2.1806 2.2067 2.4594 2.5334 2.7925 2.7285 2.5917 0.9336 -1.3314 -3.7507 -6.3146 -9.9633 -12.2523 -11.7329 -10.5539 -10.5613 -12.8970 -14.8061 -16.0931 -13.0635 9.4907 8.6133 6.9669 5.2967 0.8483 -2.8965 -3.7224 -5.4526 -6.1034 -5.5404 -7.5006 -19.2567 - 14.7633 21.0347 26.5178 28.8557 23.3660 14.8939 7.8472 4.1479 1.6451 0.1940 -1.0241 -1.7100 -2.7839 -5.4888 -5.8766 -6.7065 -6.5101 -6.3172 -7.4748 -8.1349 -8.6673 -9.2054 -8.7696 -9.2949 -9.5243 -9.8586 -10.6206 -12.3755 -12.9225 0.5464 0.3011 -0.4717 -0.8221 -0.5981 -0.7596 -0.1787 0.0888 0.2680 1.7014 -0.0756 -13.4143 - 14.5722 15.9781 17.0264 17.6175 17.4232 16.5459 14.6151 11.6122 8.3872 5.7241 3.1297 0.7916 -1.8948 -4.6319 -7.4829 -9.0432 -9.8372 -10.2623 -9.8461 -8.3463 -7.1311 -7.5141 -8.8925 -9.9645 -10.0906 -8.0182 -7.1753 -10.4665 -12.8258 7.5756 9.5196 10.3723 8.1609 3.4930 -3.1717 -6.1605 -6.9929 -7.1805 -6.8863 -8.7297 -20.7652 - 37.2037 35.8111 32.3205 28.0474 23.2802 17.7045 11.6084 5.8427 0.2670 -3.7432 -6.2669 -8.1167 -9.3928 -10.1312 -10.3467 -10.0877 -9.5979 -9.7744 -10.3207 -10.6331 -9.9469 -8.6203 -8.3585 -9.6074 -10.8446 -11.5167 -11.7789 -11.6363 -11.3647 0.3839 0.1181 -0.0142 -0.2099 -0.2835 0.1550 -0.0340 0.1033 0.0295 0.1568 -0.4049 -11.8075 - 25.2715 25.9731 25.5019 24.4387 22.0168 17.9875 12.8839 8.1186 4.0883 0.9493 -1.8320 -4.9719 -7.8984 -10.8034 -12.5203 -12.4959 -10.7116 -8.3345 -4.1201 -0.1578 0.1929 0.1873 -2.8273 -8.7555 -14.7009 -17.5950 -18.3997 -17.0685 -14.4171 1.9066 0.3797 0.2936 0.7746 -0.4377 -0.0940 0.1464 -0.0351 0.2602 -0.8075 -2.3869 -18.3683 - -1.7829 -2.9115 -3.3197 -3.0219 -3.0103 -2.1963 -1.8274 -1.5453 -1.3834 -0.5971 -0.1822 -0.0707 -0.4004 -0.4751 0.5738 0.6319 1.4145 1.0927 1.3496 1.6238 1.3746 1.5109 1.6452 1.4227 2.6607 1.9921 2.0933 1.3984 1.9401 -5.1733 -5.1451 -4.0887 -4.3334 -2.3485 -1.2750 1.8849 3.8802 5.4984 6.3884 4.7120 5.8699 - 3.0884 3.6195 4.4987 5.4241 5.9234 4.3151 1.2318 -2.0672 -4.8560 -6.7176 -7.7263 -9.2051 -9.8093 -9.8027 -9.8649 -7.5800 -3.5471 1.2395 3.8333 2.4520 -0.1380 -0.1169 2.7696 4.2835 3.0029 2.8349 6.1975 8.5550 8.1619 3.4262 3.7255 2.9723 1.5679 0.6856 0.7789 0.0324 -0.0400 -1.0930 -1.5814 -10.4745 2.5083 - 7.7805 8.5455 8.0969 7.4180 6.0322 4.2643 0.7072 -3.9008 -6.6106 -8.5279 -9.9913 -12.2197 -13.9875 -14.6194 -13.4585 -8.5866 -0.1410 5.8556 2.7328 -4.3868 -7.6497 1.0307 6.7604 2.0849 -2.0565 4.3945 7.6154 14.5442 18.2732 15.9793 12.4675 8.6361 9.3177 7.1620 -0.4370 -7.8068 -13.5960 -11.2218 -10.5975 -9.9034 -5.2521 - 15.1743 16.3078 16.6845 19.2037 24.9642 26.0482 22.2299 20.1754 18.1609 11.9813 3.3906 -4.1269 -9.8102 -12.4054 -13.1972 -14.9771 -15.2101 -17.0350 -17.5402 -17.2730 -16.8388 -14.0848 -9.7661 -6.4551 -6.0572 -3.5105 -0.1292 -3.2831 -12.6212 2.6750 0.5089 0.3940 -0.3851 -0.0012 -0.1207 -0.3792 0.6121 -0.3176 -1.0554 -1.9307 -19.7041 - 31.5560 30.0892 27.2291 23.5683 19.0546 13.2491 7.4257 2.9756 1.0209 1.0243 1.3700 0.6757 -1.0362 -3.4535 -5.1118 -5.5508 -4.6428 -3.9233 -3.2906 -5.2994 -8.4124 -11.6578 -14.3387 -15.5177 -14.9184 -14.0360 -14.9127 -16.4768 -16.6595 1.6433 1.3970 1.0165 0.6310 -0.0752 -0.3736 -0.5030 -0.7080 -0.7791 -0.4687 -1.7802 -17.0148 - 10.1749 8.8485 5.1795 4.5617 6.0171 6.4829 4.3672 1.6019 -1.6450 -2.9876 -3.6524 -3.2008 -2.3296 -2.1644 -0.9768 0.4251 1.9391 3.4981 4.6467 4.5048 2.1218 -0.3094 -2.3029 -5.7620 -6.5009 -7.7314 -8.7890 -8.6982 -7.3190 -8.3023 -3.9045 0.7597 3.5083 5.6470 8.4380 8.9270 8.1570 4.5045 0.2453 -27.9802 0.6878 - -2.6861 19.2221 33.9780 25.1761 5.3276 0.9553 6.0941 10.8857 -5.1659 -6.6908 10.2870 5.5719 -7.7825 0.7662 -3.2785 -9.7089 2.1449 -8.4950 -0.8482 -8.2638 -3.5649 -9.0557 -5.1930 -8.2034 -6.3047 -4.3602 -8.0851 -11.0228 -11.6996 3.2339 2.5869 1.5692 0.5614 -0.4616 -0.6459 -1.3729 -1.3736 -1.2425 -0.6779 -2.1770 -11.9897 - 7.7287 10.4343 12.3692 13.9892 14.6808 14.5459 13.0629 9.8660 5.8851 1.8545 -0.9409 -3.2758 -5.5305 -7.8527 -9.4747 -10.4586 -10.7336 -9.8759 -8.2611 -5.1685 -1.7008 0.1176 -2.2902 -4.5858 -4.0962 -2.2000 -2.3668 -6.9728 -8.7495 13.3085 14.0301 12.5973 11.0446 6.5436 -2.6637 -9.4551 -11.0645 -11.2845 -10.7446 -12.3117 -20.4326 - 10.7360 10.3386 8.2768 6.4632 4.7302 3.0267 0.5796 0.1120 1.9363 5.0018 8.3004 9.8879 8.2713 4.5555 2.8097 1.8606 2.8946 3.7421 5.2970 1.2683 -4.7378 -8.7201 -12.8564 -12.4960 -9.6753 -7.5251 -10.0781 -16.3686 -17.6314 11.3379 8.1471 4.3411 2.5211 1.4007 -1.3607 -3.3014 -4.3151 -5.9538 -5.2614 -7.5554 -24.6877 - 15.8329 15.5150 15.4055 16.5837 18.1854 17.6604 13.6126 8.4914 4.4891 2.4328 0.8814 0.7780 2.6950 5.3091 6.6587 3.8545 -1.3529 -6.1324 -10.5147 -12.4571 -13.5735 -11.0746 -7.2535 -11.2844 -17.2383 -20.4683 -17.4107 -10.9397 -8.6853 6.2333 2.1814 0.2320 -2.1897 -2.6025 -1.7475 0.3359 2.9117 0.0927 -0.1075 -5.3398 -21.1984 - 7.6562 6.5870 4.6968 5.1260 9.8218 14.9709 16.0850 11.5684 4.7265 -0.2176 -2.9979 -6.0694 -8.2544 -9.4950 -8.0755 -5.7955 -0.4807 4.7296 3.3026 -0.0914 -2.8102 -1.2809 -0.3393 -3.3149 -5.6215 -8.5469 -6.6780 -7.8970 -11.3047 12.3298 6.3356 1.6165 -2.5162 -1.6392 -1.6454 -1.7173 -2.3908 -2.4175 -3.1101 -4.8454 -23.7397 - 4.9452 5.0593 3.8655 4.3020 7.6977 11.2424 13.0502 11.2196 6.9219 2.6857 0.2056 -1.5076 -2.7845 -3.1104 -0.8091 1.9648 6.1634 5.4049 1.2240 0.3494 -1.5074 -1.8246 -3.5432 -4.5137 -4.3268 -8.6129 -12.2904 -18.8599 -22.6111 7.0748 5.7565 2.9123 -0.3591 -1.5206 -1.7280 -1.8572 -1.6318 -2.3011 -2.3197 -4.0261 -26.4685 - 6.0640 7.2189 7.3048 8.3637 9.3160 10.4746 10.1941 8.3124 5.0444 1.9281 -0.2645 -1.4345 -2.1250 -2.6210 -3.0015 -2.7992 -2.6148 -2.9666 -3.0696 -3.8743 -4.5941 -4.8980 -5.6820 -5.7978 -5.5722 -5.1973 -5.4147 -6.4176 -5.8765 -6.4521 -7.2215 -4.2413 -2.7669 -0.8266 1.9295 3.3149 5.2440 5.9014 6.7572 -1.6387 -0.2567 - 5.2371 4.8863 3.3100 2.1337 3.1492 5.6939 8.7998 11.5679 12.8023 11.4528 9.0298 8.9298 10.6661 11.0071 6.4326 0.2441 -4.1637 -7.7062 -9.8518 -10.2264 -9.5820 -9.1951 -8.6992 -10.3299 -13.3858 -12.1048 -8.3569 -6.0495 -5.6913 14.1502 9.0286 4.5400 -1.0010 -2.1523 -1.3098 -3.6803 -4.2446 -3.9915 -4.5409 -6.7984 -22.3276 - 1.1749 2.9147 3.8400 5.6634 7.4575 9.0125 7.3532 4.8392 2.7190 0.8710 -1.4481 -2.7601 -4.4452 -5.2662 -3.9827 -3.4617 -3.6219 -3.1639 0.2716 3.4947 2.5863 2.0483 0.3695 -1.8223 -3.0550 -5.5600 -5.1761 -5.3683 -5.4841 2.7668 2.1577 3.0912 2.4351 2.4455 2.9457 1.4490 -1.5314 -2.8660 -2.9647 -9.9290 -9.9768 - 25.7146 25.3619 23.9564 22.3568 19.1718 13.1052 5.5763 -0.1008 -2.7575 -4.2993 -6.3232 -7.4184 -9.0999 -12.1658 -14.7424 -14.2269 -13.0082 -10.2417 -6.6055 -0.9140 1.6308 -1.8199 -3.8874 -1.8765 -3.1164 -7.7016 -9.3481 -4.2820 -2.9383 8.4368 1.7117 -0.7722 -1.4926 -2.2285 -1.9674 -1.0460 -0.6567 0.1437 0.9502 -3.0790 -15.7527 - 10.7572 9.4885 7.7426 6.5423 6.0951 6.6895 8.5238 11.1515 12.9326 13.0679 11.3687 8.6878 5.8071 4.2486 4.2979 5.1375 3.6691 -0.4487 -5.7940 -9.6188 -11.6687 -12.0791 -10.1837 -7.1986 -9.3267 -15.4942 -18.3956 -19.0668 -16.9329 10.8057 6.4011 3.3690 1.5029 -0.9587 -2.8947 -3.7517 -3.2931 -2.8022 -2.8052 -5.5731 -27.3774 - 30.7504 28.4951 25.5185 22.1742 18.1099 13.0360 7.7976 3.5112 0.1176 -2.6569 -5.1898 -7.4966 -10.1459 -13.1401 -15.8245 -17.0970 -17.1868 -16.6198 -16.0292 -14.4009 -11.3257 -6.9370 0.0110 2.6766 1.9106 1.9904 0.8448 -1.2215 -1.6723 13.9837 12.0732 6.7883 4.2122 -0.6419 -6.1564 -6.8790 -7.3232 -5.7545 -3.2248 -7.0778 -13.8733 - 5.5235 4.9142 3.2141 2.6590 2.9961 4.2989 2.3547 0.5028 -0.8260 -1.5841 -2.8526 -2.4476 -1.1830 1.5505 2.5932 1.4615 -0.9550 -2.6992 -1.4620 0.7531 3.9055 4.2326 1.8576 -1.8966 -2.2755 -5.1995 -7.0773 -7.5304 -4.8283 8.7008 8.7053 7.0759 3.5239 0.2213 -0.4716 -2.9649 -4.4365 -3.8970 -5.6460 -10.8111 -11.0662 - 10.0683 11.2576 9.1250 5.5609 2.1927 2.3916 0.5672 -0.6821 -1.7701 -2.4144 -2.1229 -2.5051 -3.0931 -3.4474 -3.5498 -4.6568 -4.0419 -2.9786 -1.6058 0.2043 0.2119 -0.9338 -2.1449 -1.5900 -1.2476 -0.0367 -0.7467 -1.0002 -1.0118 -12.1871 -7.6015 -6.0260 -2.6153 1.8019 5.1419 7.0075 7.4839 6.3084 5.7281 -5.0417 11.1839 - 19.0914 19.5418 18.5550 17.3149 15.8219 14.6893 12.7457 11.1878 8.8607 6.1729 3.1425 -0.6029 -5.0284 -9.2811 -12.4294 -13.9531 -12.8183 -10.2445 -6.0419 -0.7352 0.9087 -2.2874 -5.6745 -5.3857 -4.8993 -8.6787 -14.4653 -17.3889 -18.1181 2.0079 2.3051 0.1550 -1.9709 -2.1518 -1.0518 -0.2981 0.9220 1.4828 1.7198 -3.1202 -19.8209 - 7.5768 6.6930 5.4155 4.9157 5.4796 5.7470 5.5734 5.4561 5.0927 4.7098 4.4827 3.6618 2.9817 3.2600 4.2867 6.6922 8.7811 7.7587 3.8523 -0.1532 -4.4933 -6.9881 -8.1454 -8.9490 -9.5267 -13.8968 -17.7691 -17.7758 -14.7195 9.4196 10.2634 10.4478 8.8124 5.1507 1.4872 -4.9411 -9.3928 -9.8991 -10.0090 -11.3391 -24.4463 - 6.3112 6.1145 5.3668 4.5313 3.6954 4.7877 6.2658 8.3789 10.2936 11.7688 11.4084 9.5320 6.9810 5.0657 4.7615 5.5904 6.1808 3.6441 -0.8606 -5.0517 -7.7101 -8.0207 -7.3867 -7.9980 -11.4209 -15.6623 -18.3210 -19.2583 -18.9878 1.9218 -1.0898 -2.1315 -2.6064 -0.3290 1.3612 2.7055 3.4481 2.1270 0.3937 -5.8006 -23.8910 - 4.7133 7.0828 7.4451 6.1536 5.1026 6.1735 5.5620 4.7204 2.3449 0.0662 -0.0552 -1.4746 -1.3028 -2.0833 -2.3742 -3.0032 -1.8959 -3.1532 -2.7407 -2.7522 -3.1457 -4.1303 -3.0723 -3.0359 -3.2114 -2.1394 -2.2842 -3.9496 -3.5601 -9.5458 -8.5225 -2.1447 -3.0135 -13.5275 -8.7010 7.2088 11.6588 11.7890 11.7226 3.0758 6.7721 - 14.9989 17.5318 17.0021 15.1799 12.5029 9.0797 3.8559 0.1428 -2.0371 -1.8983 1.1780 2.7230 2.0463 1.0309 1.6621 0.5141 -1.5732 -3.0527 -4.0016 -5.2671 -5.7073 -7.6154 -8.5918 -8.8827 -8.7941 -6.7438 -5.5924 -13.4525 -16.2384 -1.0040 -2.5012 -0.5919 1.0505 3.9201 5.2244 4.5335 2.9522 -3.9239 1.3432 -11.0028 -13.7590 - 23.3831 23.9860 23.9088 23.9899 24.5442 24.7231 23.4676 20.9361 19.0352 18.1315 16.6484 13.2407 6.9323 -0.8530 -7.8736 -12.5420 -15.8304 -18.1801 -19.7679 -20.6937 -20.6499 -19.8660 -18.7929 -17.4798 -16.8484 -17.7541 -18.9554 -19.1779 -17.6622 2.2274 0.2658 0.2329 0.5563 -0.2993 -0.6411 -0.8349 -0.8217 -0.3946 0.3529 -0.6438 -20.4737 - 27.1582 28.3012 27.2357 25.1547 21.7324 15.2318 7.9956 2.0196 -1.2674 -2.1412 -2.5552 -3.8180 -5.5360 -7.5787 -8.8477 -9.9856 -10.6186 -10.6812 -11.5427 -13.0580 -14.0180 -14.2114 -12.3911 -5.9856 -0.0551 2.4393 -1.0062 -8.7488 -13.2219 8.5421 8.1274 3.1062 1.0714 -1.1957 -2.6079 -3.1237 -3.4444 -3.3713 -3.1296 -3.9745 -17.2997 - 0.2274 1.5742 0.9030 -0.0755 -0.9929 -0.0010 0.9686 1.1448 0.4783 -0.3525 -0.1336 -0.1913 -1.6241 -4.5094 -5.8249 -5.3840 -4.2690 -0.9607 3.2627 5.8265 5.0034 2.6931 1.4156 0.6324 1.3181 1.5226 -0.7562 -0.2634 -1.6323 10.1447 8.1369 6.9278 1.8273 -2.8348 -3.1502 -3.8258 -3.2103 -3.0403 -2.8386 -8.1368 -10.7452 - 2.2030 2.3567 2.2770 1.9391 1.4807 2.4535 3.7369 4.5955 4.8497 4.7689 3.9314 2.9060 0.5571 -2.2750 -3.2233 -2.8254 -1.7099 0.7810 3.0014 3.5591 0.5135 -3.7594 -6.0245 -4.9397 -2.1317 -1.1080 -3.4783 -7.2902 -7.1450 17.4214 15.9833 12.5560 11.8901 6.7955 -3.1206 -12.2737 -12.4585 -12.5086 -11.3448 -12.9400 -23.4673 - 1.7001 2.1276 3.1509 3.8711 3.4450 3.9578 3.9916 2.2726 1.5860 2.9582 1.5039 -0.3172 -1.6934 0.0480 1.7637 5.8108 12.7325 15.4092 10.2323 1.6370 -5.9209 -8.2841 -8.8154 -8.6341 -8.8994 -8.7332 -8.8580 -9.4260 -8.6166 1.0902 -0.3804 -1.8380 -2.1594 -2.0188 -0.5336 -0.2356 0.9072 1.9988 2.4507 0.7188 -11.1533 - 3.3470 4.2651 3.1581 1.5899 1.3593 5.4416 9.6912 10.3789 8.2781 5.7621 2.3516 -1.6093 -4.6703 -4.3014 -2.0948 1.2895 4.5826 5.8867 2.7580 -0.5921 -1.6254 -0.3408 -0.8297 -4.7115 -8.7548 -10.1950 -9.4023 -10.1017 -10.9107 5.4257 1.3752 -1.6808 -1.6847 0.0776 4.2441 3.7807 1.7086 -1.1629 -3.5093 -8.5743 -19.3479 - 16.0698 16.0234 16.6242 18.4265 19.5793 17.7359 12.2454 6.7061 2.9279 1.0254 1.3081 3.1537 6.2322 6.7809 1.2833 -4.6315 -8.4988 -10.9702 -12.9812 -12.8617 -10.8763 -6.7933 -7.5585 -12.2110 -13.1807 -11.6979 -8.6529 -10.8315 -14.3767 3.5106 2.2779 0.8347 -0.4316 0.4812 -0.3548 -0.9580 -0.3001 -0.9639 -1.0077 -3.0884 -21.7124 - 14.8614 14.3243 13.2597 11.9042 11.3617 12.9241 16.0023 18.6135 19.9112 18.7801 18.0215 16.7944 15.0590 9.5509 2.2373 -3.7737 -7.9433 -11.6438 -15.8775 -19.0534 -20.0063 -19.8849 -17.4072 -14.6677 -14.9214 -15.6185 -17.3399 -17.4032 -18.0650 0.4331 -1.3874 -1.3387 -1.2657 0.1397 0.9913 1.3715 1.5636 0.9626 0.3031 -1.7729 -22.4910 - 24.4358 25.1322 25.6771 26.9458 25.4271 20.1741 13.1848 7.1606 2.9511 -1.5207 -6.2228 -9.1615 -10.2139 -7.9615 -3.5511 0.8947 -0.0640 -5.6909 -11.8880 -15.0418 -13.4238 -8.6724 -10.1392 -15.6141 -16.4146 -15.3775 -9.3359 -5.8457 -5.8440 5.3670 0.7714 -1.2803 -0.3316 0.0917 1.3247 -0.3166 -0.6629 -0.4726 -0.9886 -3.5022 -15.8979 - 11.2574 14.5322 17.1770 19.4370 21.2176 22.0240 20.3915 16.7178 12.6022 9.4053 7.3741 6.1361 6.4430 7.2023 6.6378 2.8391 -3.5908 -9.0350 -12.7524 -16.0348 -18.3668 -20.0831 -20.1715 -19.0743 -16.0476 -13.9450 -16.7267 -18.3902 -17.1759 6.7669 3.5601 1.4726 1.2131 0.8001 -1.0515 -1.7968 -2.1212 -2.4567 -2.6039 -3.7828 -21.2313 - 9.8296 10.9668 11.4657 12.4379 13.8874 14.6363 14.3342 12.4038 8.9235 5.0490 2.1177 -0.5223 -2.7832 -4.1482 -4.6107 -3.0828 -0.2052 2.3942 2.4641 -1.9911 -6.8813 -9.3285 -9.5593 -6.0838 -4.8651 -9.6703 -15.7893 -21.0597 -20.3293 7.8335 9.3572 8.2255 6.2992 3.6571 -1.3039 -4.8523 -6.7448 -6.9973 -6.7242 -8.7501 -23.8675 - 10.0961 10.4449 9.9127 8.5711 6.2180 4.5618 2.4521 1.1110 -0.1627 -0.3653 0.8918 1.6279 1.8907 0.7438 -0.7728 -1.2107 -1.2055 -1.5566 -3.2793 -4.1807 -4.1312 -5.1981 -4.9412 -5.1286 -4.9138 -5.1042 -5.2876 -6.4396 -4.6442 -4.2766 -4.5588 -1.6946 -0.6815 1.6923 2.6384 3.7940 3.9827 3.1253 3.8234 -7.8447 -3.7539 - 0.0757 -0.0653 -0.5789 0.6712 3.3974 5.2272 3.8057 1.3204 -0.9531 -1.2566 -1.6955 -1.1717 -0.9735 0.2237 1.1803 4.3319 6.8301 9.0463 9.4433 7.5902 3.7433 0.0327 -1.4644 -4.7154 -6.0059 -7.2747 -9.9821 -10.6151 -10.1672 1.8545 3.4334 6.1661 5.8556 3.1158 1.3495 -0.3375 -1.2855 -2.2198 -4.5273 -13.4049 -11.7714 - 18.8320 19.0344 19.1952 19.5440 18.8449 14.8697 8.6867 2.7879 -1.6869 -4.7635 -7.1363 -8.8780 -9.6594 -9.0777 -6.9523 -1.8282 3.5267 4.4511 -1.5807 -5.6560 -7.8512 -4.0511 0.2367 -5.4146 -11.3280 -13.9141 -12.8660 -9.0793 -8.2860 7.2253 2.3080 0.9914 -1.0476 -1.1123 -1.0979 0.2181 0.5772 -1.1907 -1.8790 -4.9926 -19.5991 - 6.9436 25.3648 31.2509 23.4659 7.6212 8.5476 13.4044 12.1024 6.3310 6.4395 11.2808 6.4453 3.3798 -0.4108 -2.6193 -4.1535 -5.4353 -7.8115 -9.9117 -10.8599 -12.3626 -13.5397 -13.0447 -13.1340 -12.5666 -12.9922 -14.2050 -14.7731 -14.7573 0.6782 0.2930 1.1419 0.5868 -0.3036 -0.7149 -0.2401 0.2321 -0.6483 0.2892 -1.3142 -13.0829 - 8.0630 8.5930 8.9037 9.6389 9.9192 8.6430 5.1562 1.1687 -2.6850 -5.3768 -7.2472 -8.6966 -9.7539 -8.2770 -7.3009 -4.7332 -2.5381 -2.7034 -3.2364 -4.1264 -4.6546 -3.9840 -4.4745 -3.1865 -2.7693 0.2429 6.0573 8.4087 10.9490 1.5828 2.2857 2.4626 4.2564 3.1914 1.9048 -0.4814 -1.9794 -1.6878 -0.6562 -10.8788 6.9006 - 15.3121 14.0216 12.3150 10.8984 9.8481 9.4860 9.9555 11.2336 12.1475 11.5421 9.5080 6.1797 2.1804 -1.5586 -4.1037 -3.8925 -2.2145 -0.5740 -2.0726 -5.8999 -9.5870 -12.3986 -13.2888 -11.0931 -8.6950 -10.6144 -15.3843 -17.4751 -15.7759 11.6735 8.2281 4.7038 3.1666 1.7515 -3.5926 -5.6951 -5.7508 -5.1915 -3.4390 -5.8544 -26.0008 - 10.5147 10.1953 9.3949 9.1051 8.3007 7.6855 5.3821 2.1136 -0.5365 -2.3955 -3.8024 -5.3725 -5.6568 -4.8775 -2.4291 0.2566 4.4555 7.9385 8.4324 6.4827 2.9059 0.5262 -2.9536 -6.3130 -9.2242 -10.0210 -12.3911 -13.7930 -13.9236 -1.0018 -1.0252 -1.9659 -2.6464 -2.9740 -1.2967 0.3806 1.6370 3.3651 4.3609 1.1664 -14.6511 - 17.2460 16.9637 17.1204 18.8740 20.7478 19.3865 13.9822 8.1265 3.2880 0.7780 -0.2592 -1.0141 0.0742 3.2639 4.6036 2.5181 -3.1653 -6.8864 -8.0795 -7.3818 -6.3471 -6.8628 -11.5495 -14.8984 -15.4665 -15.7120 -14.8453 -15.6943 -18.8106 1.4980 1.4377 1.0081 0.1939 -0.3867 0.3736 -0.2884 -0.4032 -0.4237 -0.7102 -2.2990 -21.4765 - 29.1324 27.4472 23.9346 19.8815 15.3348 10.3288 4.4524 -0.1346 -3.0576 -4.7063 -5.5439 -5.9222 -5.9328 -6.6024 -6.7197 -6.0365 -5.2696 -5.1176 -6.4818 -7.5705 -8.4454 -8.5007 -8.4654 -7.9097 -7.0136 -8.1875 -7.3437 -4.3020 -1.2484 4.1307 4.9307 5.3321 3.9185 2.3886 0.5401 -1.5333 -2.6429 -3.4176 -4.0077 -9.6393 -7.8398 - 26.1063 27.1257 26.4958 24.5623 21.0909 16.0392 10.3606 5.2224 1.2830 -1.7057 -5.2899 -8.7872 -11.5471 -13.8485 -15.6146 -16.5388 -16.6318 -15.7526 -14.3061 -11.8594 -6.9641 0.2736 3.2894 2.3319 2.1876 -0.1464 -6.9487 -10.5477 -9.8802 8.0155 5.1637 1.2918 -0.1585 -1.6768 -2.1876 -2.1575 -2.3734 -1.4901 -0.3422 -4.0850 -16.2781 - -2.8938 0.5854 4.9032 19.8896 33.0777 27.8431 5.8284 -0.8777 -0.4212 7.5419 14.4523 0.5889 -7.2843 -5.7721 2.2765 -3.8670 -7.0376 -2.4089 -1.9230 -6.9736 -5.0540 -6.8128 -9.1282 -7.6378 -9.9538 -8.0762 -10.1133 -10.3156 -10.4365 1.7900 1.2930 1.2513 1.1649 -0.0523 -0.1935 -1.3719 -0.6466 -0.7256 -0.6226 -1.8868 -11.7248 - 5.0511 7.2825 7.4756 7.6284 6.3099 6.5711 6.0062 5.2464 4.1337 3.5789 2.7344 1.9171 -0.0947 -4.7055 -6.3175 -6.7260 -8.3754 -7.5699 -4.4289 -0.5061 0.5491 -0.6121 -1.6630 -2.5886 -1.0683 -1.0286 -4.3484 -7.2928 -7.1586 2.8359 1.6298 0.9777 0.2594 0.2894 -0.2649 -0.2767 0.5984 -0.0902 -0.5417 -5.4171 -8.5849 - 26.8109 26.2612 24.6562 22.4444 19.7975 16.2207 11.9006 7.5618 4.2432 1.1620 -1.9686 -4.6999 -7.0035 -8.7711 -9.4863 -9.0559 -7.8923 -6.8802 -7.0120 -8.4837 -11.2123 -13.1769 -13.1832 -11.7848 -8.9173 -7.9697 -7.9495 -8.0762 -7.5350 6.9413 5.9114 4.4559 1.9045 -0.2220 -1.5629 -2.1181 -2.9624 -3.1458 -3.1496 -6.0522 -15.8707 - 15.4221 13.9665 11.5956 9.4217 7.3471 4.9825 2.5822 1.1306 -0.4479 -0.0543 0.4224 2.6264 2.4323 2.9777 3.9679 4.5466 4.0757 2.5862 0.7066 -2.3566 -5.4206 -6.8028 -9.1716 -8.9333 -8.9478 -9.7023 -11.2057 -13.2026 -14.5445 4.5118 3.2465 1.4635 1.0112 0.8257 -0.5633 -0.8311 -1.4185 -1.8127 -1.1914 -5.2417 -16.4127 - 28.0070 28.9811 29.1691 29.0099 27.2163 23.1256 18.5752 16.0256 16.0772 16.0792 13.4415 7.1002 -1.0509 -7.6202 -12.1978 -14.6100 -16.0350 -16.8734 -17.1512 -17.3461 -17.2821 -16.7355 -16.3289 -16.1605 -16.3294 -16.8373 -17.0316 -17.0117 -16.2062 0.8143 -0.0316 0.0425 -0.0469 -0.5600 -0.2604 -0.2934 -0.0397 0.1815 0.6487 -0.4551 -17.2928 - 21.3473 20.2800 18.5835 16.4034 13.0771 9.2891 7.0954 6.8063 9.6682 13.1023 14.6281 13.8935 12.0583 11.5472 11.1879 7.7716 2.5072 -3.2634 -8.4595 -14.0714 -18.2085 -21.2308 -24.2103 -24.5753 -21.1428 -16.8159 -16.8684 -20.7499 -19.6500 7.8883 2.8059 -0.2509 0.2746 0.5770 -0.7075 -1.0613 -1.6761 -2.1520 -2.4962 -3.2017 -23.7494 - 16.7277 16.5100 14.9737 13.3864 11.3764 9.4606 7.4445 4.9221 3.5715 2.4337 1.9778 1.0209 0.1128 -1.6904 -3.3639 -3.2615 -1.5944 -0.2581 -0.9030 -2.3174 -4.1698 -4.9533 -4.5665 -6.1912 -10.0495 -13.2340 -15.5995 -16.5459 -15.2199 5.3973 5.3767 6.3500 5.5996 2.0913 -2.3482 -4.2670 -3.6648 -4.0077 -3.9263 -6.6010 -20.6386 - 3.6641 3.0720 2.1390 1.3959 0.5821 0.1856 -0.7457 -1.8010 -2.5799 -2.9996 -3.1922 -3.7936 -4.3073 -4.4608 -3.7250 -2.3583 -1.9204 -1.2606 -2.2907 -2.8190 -3.6214 -3.1415 -2.0045 0.0938 2.4493 4.0398 6.5627 10.1038 12.7333 -5.2898 -3.8412 -0.6529 0.7502 1.5439 2.5070 2.6854 3.8159 2.2321 3.0585 -6.8092 14.5213 - 7.5981 6.7937 5.2222 4.6535 5.7305 7.9847 10.0100 10.9988 9.0694 6.0491 3.4695 2.2020 3.1237 4.5225 7.5338 7.0660 2.8900 -1.4622 -5.4401 -6.1963 -7.3166 -5.9799 -7.7791 -10.5609 -13.5413 -13.8804 -12.9467 -9.4679 -10.3461 11.6866 9.3826 4.4701 -2.9772 -5.4470 -4.9307 -2.7270 -0.1581 -1.4072 -1.6802 -6.2119 -24.8632 - 5.8372 5.4933 4.4445 3.1566 1.2701 1.1435 -1.1096 -2.4243 -3.5109 -2.2282 0.6573 2.1785 1.1141 0.6038 -0.9270 -0.1010 0.3438 0.9773 1.8036 -0.1658 -2.1507 -2.6201 -1.5194 -0.3072 1.7488 -3.1481 -4.7553 -3.5314 -2.2733 1.5456 3.9136 6.0524 4.7910 5.6839 4.8261 0.4655 -3.9096 -15.7692 1.8630 -9.4624 -9.4890 - 4.6026 4.2957 4.0221 3.8863 4.8775 7.7799 11.9268 15.6438 16.1838 13.0359 8.2259 3.9397 1.1633 -0.5844 -0.4453 1.6720 3.9861 4.4822 0.7429 -4.6835 -8.2254 -8.6845 -8.8455 -9.2050 -9.3625 -12.1150 -14.9115 -16.6057 -16.7984 9.4268 8.2301 5.4360 2.2444 -2.8020 -3.6865 -3.4374 -3.6210 -3.4624 -3.4351 -4.8928 -25.4465 - 31.7873 30.4727 26.1023 20.2575 14.3546 8.3050 2.5479 -2.7242 -6.2652 -7.8786 -9.5076 -10.7253 -11.9221 -12.5796 -13.0020 -12.4110 -11.3787 -10.5858 -9.2885 -7.2279 -5.6862 -4.5481 -3.8155 -3.1810 -0.2688 1.7479 2.4086 2.6005 2.4118 6.0159 2.6937 1.8092 1.2143 0.6228 -0.1962 -1.5166 -0.7925 -1.1563 -2.0509 -6.6433 -6.4991 - 18.8196 18.8060 19.0012 19.7425 18.9386 15.1920 9.3626 3.8042 -0.7101 -2.8913 -4.5793 -4.8562 -4.2855 -1.5235 2.8079 3.9527 -0.6820 -6.1064 -9.0907 -10.7715 -10.2261 -6.8530 -5.4028 -9.0538 -11.2966 -11.9744 -10.3023 -9.0454 -10.7763 4.8079 2.0464 0.5831 -0.5085 -0.7115 -0.6171 -0.2759 -0.3213 -0.2270 -0.8577 -3.9185 -18.4439 - 29.8848 29.1207 27.5698 25.5473 23.0863 20.0333 16.4515 12.7057 8.6525 4.4123 0.1328 -3.7662 -7.0685 -9.2222 -10.1967 -10.3862 -9.4399 -7.5052 -6.1986 -7.0520 -9.6530 -11.7447 -12.8170 -13.2994 -13.4411 -14.5193 -16.0619 -17.4467 -17.7785 0.6444 0.9150 1.0957 0.6198 -0.2661 -0.3037 -0.4308 -0.4697 -0.3863 -0.3182 -1.1000 -17.5027 - 18.4803 19.3278 19.3456 18.5446 16.5534 13.5838 10.0057 6.5241 3.2399 0.5440 -2.4922 -5.5969 -8.4750 -10.0774 -10.9952 -10.9028 -10.6525 -9.9639 -8.7708 -5.9295 -0.9987 2.2097 -2.2176 -6.2966 -4.0572 -2.0702 -5.9921 -9.8384 -13.0318 9.7202 8.7919 5.8500 1.2627 -3.1473 -4.0847 -3.9814 -3.8063 -3.2668 -2.9485 -4.3897 -21.4605 - 10.8936 10.0376 8.9233 8.3835 9.1909 11.1956 12.7625 12.8310 11.2547 8.6892 5.7674 5.0532 5.1919 6.4652 5.5698 1.2762 -3.6991 -7.9057 -10.9535 -12.3006 -13.0325 -12.0668 -10.2756 -8.9081 -9.5586 -12.4845 -12.5292 -10.6874 -9.0841 6.7548 4.3777 7.2866 11.0895 5.9012 -3.2191 -7.2773 -7.4247 -5.9063 -4.6316 -6.9510 -23.6620 - 14.1801 13.6094 10.2460 6.2621 3.2304 0.4920 -3.3704 -5.1542 -6.4379 -7.1331 -6.8071 -6.7010 -7.0994 -6.7923 -5.4284 -4.1081 -2.2588 -0.3405 0.3901 -0.1306 0.2111 1.2777 2.6120 2.4542 2.4177 2.7283 1.9381 0.6674 -0.9548 1.3373 0.4195 0.2246 -0.2612 -0.5780 -0.3401 0.2289 0.3082 1.5502 2.1823 -5.0717 -1.9154 - 7.4197 7.6107 5.1248 2.8926 2.5158 5.2747 7.9445 9.5554 9.8134 10.8602 11.2127 10.8181 10.8451 8.6337 3.4818 -1.7126 -6.6143 -9.2501 -11.7550 -13.8987 -14.1553 -13.7199 -12.4906 -7.9780 -7.1759 -5.4179 -4.3134 -2.3617 -3.1596 3.7397 0.2684 -0.7543 2.0473 3.1074 3.1748 0.6925 0.1021 -1.9327 -0.9979 -9.4471 -15.9473 - 5.0374 7.8743 10.5060 13.2551 15.8405 18.1863 17.6870 15.2297 11.9245 8.8446 6.8821 5.5715 2.9277 -1.1968 -4.6014 -6.2302 -7.5567 -8.8097 -8.9946 -8.6106 -9.0917 -8.5223 -8.8031 -10.3066 -10.5465 -10.5120 -10.3576 -11.9252 -13.7020 3.7640 1.8720 2.0488 1.2415 0.9134 -0.5949 -1.6362 -1.3248 -1.6433 -1.0179 -3.6227 -18.8186 - 19.2311 20.9055 21.1816 19.8035 16.7640 10.9316 4.3014 -1.2152 -6.3082 -9.8229 -12.4158 -14.6010 -15.1960 -13.5529 -10.4860 -6.0010 -0.0077 5.5394 4.4883 0.8609 -0.7114 -0.5882 -2.0714 -4.1988 -3.5305 -2.7385 -3.9119 -6.6059 -10.0440 6.8589 1.6709 -0.4277 -0.8756 -0.7567 -0.4132 -0.3654 -0.2776 -1.2933 -1.0276 -3.0928 -19.7110 - 24.3921 23.8657 21.7178 19.5721 17.2483 13.0391 8.2780 4.5096 2.1017 1.4583 0.4028 -1.6986 -2.5413 -2.4202 -3.3681 -6.3081 -8.4179 -8.6508 -8.3994 -5.6233 -2.8768 -2.4582 -4.6987 -11.0260 -15.7297 -17.5495 -16.4980 -11.2445 -7.0765 10.9683 8.5482 1.6240 -0.8116 -2.3291 -2.0794 -2.7065 -3.3384 -2.8326 -2.6102 -4.4326 -18.4205 - 21.6293 21.2629 20.0435 18.0462 14.0665 8.5047 3.1435 -1.3209 -4.4014 -5.7444 -6.2440 -6.5178 -6.8764 -6.1381 -3.8131 -1.3478 -0.7585 -3.8085 -6.8211 -8.0966 -7.5890 -5.2013 -2.5966 -3.9678 -5.8322 -4.8627 -3.8164 -4.4574 -6.4845 7.4192 3.5944 0.8769 -1.2773 -0.8711 -1.2539 -1.2063 -1.1651 -0.7991 -1.1807 -4.1369 -15.4669 - 25.3218 25.2194 24.6132 23.8034 22.1467 19.2686 16.0070 12.6244 9.8907 7.3439 4.6106 2.0173 -0.2300 -3.1887 -6.2778 -8.9287 -10.7500 -12.4083 -13.6221 -14.5295 -14.0216 -11.6668 -8.2900 -7.1780 -8.6454 -13.0929 -18.1357 -20.6369 -21.2645 0.6490 1.5279 1.4976 1.2259 -0.2509 -0.5437 -1.0645 -0.9697 -0.4026 0.0229 -1.6919 -19.5268 - -1.2546 -1.5446 -0.9486 0.9829 1.7405 1.8511 2.6120 4.5582 4.2836 3.2383 1.9250 1.5674 0.4781 -1.1296 -1.5011 -0.3895 1.2177 2.8828 3.7419 3.9893 0.6886 -1.3040 -2.8370 -5.6790 -3.6007 -1.0630 -1.5598 -5.1076 -7.8381 10.2277 6.2474 2.9832 -0.8736 -8.4082 -6.4397 -4.2854 -1.8654 0.4359 0.9540 1.0241 -18.8314 - -3.6520 -0.9802 0.6330 3.0142 3.7152 4.2246 3.0650 2.2808 0.7668 -0.9696 -2.1283 -3.4617 -5.6960 -9.1999 -10.9932 -10.5950 -8.8872 -8.3491 -3.9024 3.8951 4.5732 4.1833 4.4267 5.3015 7.1630 6.8136 3.6000 4.1437 7.0149 8.8113 4.5339 4.3320 3.8462 2.4702 0.0061 -1.7359 -2.2461 -3.3967 -3.6881 -12.9329 -0.9921 - 24.1276 23.4144 21.9515 19.2491 15.3233 10.6683 5.7075 1.4491 -1.9622 -3.4974 -4.3346 -5.2640 -5.4783 -4.5424 -2.5563 1.0471 2.9749 1.0585 -4.2112 -7.7040 -8.5161 -8.5574 -7.1906 -8.4892 -11.7312 -13.8838 -13.1386 -9.4367 -6.4770 -5.2323 -4.7057 -2.1760 0.8632 2.4803 4.6972 3.2524 3.1237 0.8651 3.0078 -6.1758 -9.0277 - 9.2070 8.6269 7.9993 9.2567 10.6048 10.9179 8.2726 5.4801 2.9587 1.4349 1.6895 0.8687 -0.1341 -1.4667 -2.2954 -2.9979 -3.1146 -3.5248 -3.6823 -3.9108 -4.7040 -5.0502 -5.2411 -6.0582 -6.2892 -7.1229 -6.8496 -7.8359 -7.0393 1.0164 0.3126 0.2560 0.1094 0.1566 -0.0117 -0.2184 0.2660 0.0029 0.5627 -2.4525 -9.3388 - 19.0542 19.7864 20.4414 20.8883 19.4828 14.6899 8.0652 2.5866 -1.9610 -4.2899 -5.3264 -5.8141 -5.3969 -2.8814 0.6767 3.6783 2.8172 -1.1754 -3.8287 -4.3496 -4.1271 -2.7566 -3.4552 -6.5139 -9.4384 -14.1688 -17.1871 -19.0448 -20.4515 1.8392 0.8553 0.2154 -0.0271 -0.4104 -0.2449 -0.1708 0.0249 -0.0369 -0.2525 -1.7922 -22.7099 - 22.2875 23.2966 21.0875 19.4172 19.4631 20.2489 19.0860 14.7884 9.6247 4.7618 -1.1341 -7.8711 -13.4709 -16.4039 -17.9473 -16.0183 -8.7161 -0.3674 4.2198 1.8970 -0.6141 -0.3383 1.4297 -1.9778 -12.2530 -18.9367 -22.1657 -22.0094 -21.3840 0.0857 -0.3388 -0.3844 -0.6424 -0.7435 -0.5609 -0.1067 0.1511 0.7988 1.0267 0.7142 -22.3449 - 1.5997 0.7952 0.5771 -0.1086 -0.9165 -0.4936 -0.5385 -1.1104 -2.3027 -2.7303 -1.7093 -1.2741 -1.2559 0.1339 2.1512 4.2566 4.4113 3.2940 1.9275 1.1660 0.9857 0.1003 -0.1015 -0.9056 -0.5391 -0.5752 -1.0655 -2.5147 -3.2570 1.4399 1.6942 1.2365 0.6457 -0.0065 0.5875 0.3795 -0.0796 0.4453 1.0116 -7.3540 -5.9661 - 17.6306 19.8446 20.6406 20.9119 20.8696 19.9715 17.0436 12.6644 7.8356 3.7315 0.0618 -2.5156 -4.0666 -3.6383 -2.3405 -0.6112 -0.7237 -3.4603 -8.5171 -12.2394 -14.9608 -15.8437 -14.9681 -12.6150 -11.0775 -11.0437 -12.1047 -15.2272 -15.2522 3.8383 2.7442 1.4004 0.6138 -0.4141 -0.6861 -1.0225 -0.8449 -0.9118 -0.8189 -3.8984 -19.7618 - 4.0159 4.7341 5.0428 5.4476 5.5823 5.0017 4.7364 5.0152 5.4244 7.2281 10.0426 12.1892 12.5133 10.8886 9.4587 9.9271 9.6594 6.2877 1.1672 -4.8743 -9.8309 -10.9887 -10.4195 -8.8449 -10.0345 -14.2880 -19.4282 -23.5124 -22.1410 9.6326 8.1547 3.0154 -1.3662 -1.9025 -0.9827 -0.5431 -2.6536 -3.4587 -4.0540 -5.8420 -26.6165 - 1.3951 2.3341 2.7846 3.6043 3.9813 5.2605 5.5279 4.8460 3.2475 2.3327 1.8366 1.4325 0.6121 -0.4539 -1.6285 -2.8274 -4.2077 -4.6993 -5.0706 -4.2874 -4.4071 -3.4175 -3.0547 -3.3504 -1.7471 -0.7879 -0.0749 -0.1170 0.9361 4.5093 3.2132 3.2053 2.7775 1.5517 -0.0446 -1.3922 -2.0535 -0.9648 -1.7751 -9.0269 -4.5860 - 28.2916 29.7152 29.0955 27.1159 23.3768 18.1997 11.9697 5.6704 0.9205 -2.5625 -6.9213 -11.4860 -15.0627 -16.3635 -16.7915 -16.8262 -16.2290 -14.5129 -11.0684 -5.6647 2.9493 7.1450 4.8374 2.6581 -2.8551 -9.6290 -15.3060 -15.9776 -14.6886 0.7674 -0.5757 -1.0994 -0.2628 -0.3330 0.2608 0.1505 0.3201 0.6736 0.6525 -0.5539 -15.2205 - 21.3574 19.0821 16.0689 13.5763 11.7756 9.8197 7.1626 5.6591 4.1988 2.6866 1.2839 0.2970 -0.7392 -2.1025 -2.9588 -3.9692 -4.2266 -4.5449 -5.2046 -5.5074 -6.5396 -7.8927 -8.7128 -9.1400 -9.3002 -10.0030 -10.3190 -10.7968 -11.0108 1.2272 0.8607 0.9681 0.0462 -0.4903 -0.1304 -0.4412 -0.1460 0.3281 0.9330 -3.1554 -13.2931 --11.9427 -9.0347 -8.1854 0.5355 16.2351 30.0772 15.6863 -0.5026 -5.1802 -3.4273 8.1185 14.3030 3.9959 -5.7275 -2.8537 5.8633 2.1444 -4.9037 -1.6011 1.0216 -1.4938 -3.6235 -5.0675 -4.7195 -2.6927 -4.8393 -5.4537 -9.4932 -7.2387 4.1282 1.8786 1.9953 0.5488 -0.3819 -1.3723 -1.0026 0.0804 -1.6472 -0.9937 -3.2335 -11.7554 - 18.4490 17.8582 16.6014 15.4593 14.0319 12.3568 10.0803 7.8236 5.7070 4.5343 3.6070 3.4959 2.7669 0.5453 -0.9860 -2.0713 -2.6104 -3.5225 -5.5660 -7.1856 -8.5038 -9.9136 -10.8379 -12.1072 -13.2841 -13.7883 -13.6681 -14.0513 -15.2210 1.9454 1.7954 1.7868 0.9124 0.3779 -0.2762 -0.6521 -0.9212 -0.7314 -0.0795 -4.1574 -18.4931 - 11.8976 17.9510 18.5286 15.1944 9.4977 6.4581 3.3668 -0.2268 -3.9011 -5.4058 -5.9886 -7.2383 -7.8525 -10.3087 -12.8063 -12.1794 -11.0999 -8.8156 -8.1165 -6.1532 -4.2252 -4.0395 -1.3151 0.5738 3.9550 8.7131 6.7113 1.7138 5.1116 0.9965 1.4759 3.0237 2.9344 5.1266 4.6639 2.7831 2.9561 0.3334 -5.8448 -18.4487 1.1692 - 0.9487 1.4130 0.9479 -0.0826 0.2145 3.2170 4.0687 3.2987 3.5035 4.5743 4.0544 3.4101 4.0914 4.5664 4.8132 6.4401 9.3451 8.9607 6.0790 2.7728 0.8498 -0.8017 -2.4432 -4.7032 -9.3198 -12.6235 -15.1492 -15.7996 -16.6466 -0.8633 -0.9141 -0.0119 -0.3370 -0.1759 0.0244 0.0238 0.6518 1.0910 1.8672 -1.3560 -15.2177 - 34.1302 32.0599 27.8887 23.7603 19.3256 13.9648 7.8176 2.2845 -0.8316 -2.8468 -4.8687 -6.8758 -8.2507 -10.0280 -11.0038 -9.9438 -7.5333 -4.6451 -2.1804 -2.2669 -3.7303 -5.3382 -6.9605 -9.3264 -11.3621 -13.0806 -13.5868 -13.1789 -13.3930 0.4195 0.2121 0.0329 0.2371 0.0989 0.1780 0.0464 0.0275 0.3526 0.0885 -1.6936 -14.6518 - 15.6422 15.2859 14.7754 15.3593 17.2032 19.1105 18.2304 15.0687 12.0800 11.4521 13.3209 14.1182 10.1435 2.4651 -4.8883 -9.3800 -12.5864 -13.8568 -15.1276 -15.6378 -14.1885 -9.7248 -6.9518 -9.9796 -12.4385 -13.0782 -14.0208 -19.5089 -22.8872 0.4990 0.8082 1.3862 0.4212 0.1198 -0.3486 -1.0547 -0.4030 0.3854 -0.1208 -1.6927 -24.4489 - 31.6974 29.4780 26.6290 23.2620 19.3188 14.1307 8.2731 2.8100 -1.0940 -3.2472 -4.2290 -4.8290 -5.3248 -6.1539 -6.7558 -5.9669 -4.6964 -4.4401 -6.1920 -8.0753 -8.1121 -6.2825 -6.0789 -5.7147 -3.3695 -8.9378 -16.7789 -19.5464 -19.7736 3.0519 6.0787 1.0322 -0.6589 -1.6175 -2.1104 -1.9403 -1.7062 -0.9516 0.4810 -1.6590 -17.7143 - 6.6516 7.1945 6.2582 4.9369 3.5619 3.6748 2.0770 0.4189 -2.1975 -3.8860 -3.9613 -3.8644 -5.3511 -7.2609 -7.6175 -7.1661 -5.7976 -4.5218 -1.9308 1.4480 5.0915 4.7364 4.6719 3.6113 3.3328 2.0626 -1.5330 -2.8815 -1.7589 6.4246 5.9081 6.0283 5.5237 2.9559 -0.7124 -3.2659 -4.6501 -4.6857 -3.8757 -9.6509 -8.7268 - 12.9326 13.6158 13.6027 13.5734 13.4039 13.8175 13.8659 12.7258 9.7632 6.3103 2.7321 -0.5733 -3.8746 -7.0860 -9.6450 -10.7832 -10.3935 -8.3777 -4.8027 -1.1394 -0.1906 -2.9954 -5.6539 -5.3461 -4.3930 -8.2738 -13.2039 -15.2593 -14.3519 12.0896 7.9934 4.3314 2.9333 -0.2922 -3.9740 -5.2453 -5.1292 -4.2466 -2.5427 -5.9177 -24.1706 - 3.3111 5.7192 7.6731 8.6538 8.7816 9.2367 10.2956 10.7802 8.7371 5.9609 4.1644 2.5137 0.7897 -0.7157 -1.6711 -1.2978 -0.9879 -0.5737 -1.7029 -3.8746 -6.2120 -6.9054 -7.5755 -8.5853 -8.6630 -8.4875 -9.3126 -9.4585 -10.5934 1.9845 0.8889 0.2842 -0.9179 -1.4593 -0.6826 -0.6777 -0.0392 0.8979 1.4414 -1.7202 -13.5455 - 14.2205 14.4641 13.7854 13.0598 13.2991 14.8419 16.1502 16.5712 15.2079 11.8669 7.9213 4.5068 2.1444 1.2542 2.5468 4.6558 4.3109 0.6255 -5.1870 -9.7699 -11.4109 -10.1544 -8.4757 -11.5168 -17.9764 -22.4698 -24.8959 -25.1837 -24.3922 1.4299 0.4130 0.0191 -0.2559 0.4822 -0.2917 -0.0644 0.3763 0.0596 -0.3088 -1.8594 -27.0927 - -2.8758 15.2556 21.0124 15.2890 2.1565 2.6722 2.9230 4.3949 0.4460 -0.9254 1.7753 1.3640 0.4328 -3.9146 -4.3331 -4.1112 -3.8881 -5.2841 -2.7539 -1.9759 -0.4884 -4.8231 -3.5586 -3.5100 -2.3689 -4.3495 -5.1658 -7.1944 -6.2007 -2.4750 -1.0212 2.7562 1.1019 2.0472 2.2292 2.3273 2.8928 -1.1663 -0.0381 -8.6541 -3.0398 - 18.8285 20.4979 21.7173 23.1703 24.2063 23.5814 21.0896 17.9453 15.6430 14.4782 13.1430 9.6223 4.1452 -1.1378 -5.0589 -7.8909 -10.5229 -13.0157 -15.3961 -16.7612 -17.5151 -17.5485 -17.4267 -17.8018 -18.7396 -19.9281 -20.0342 -16.8630 -12.4276 8.6336 4.4955 1.3996 -0.2307 -1.5565 -2.0497 -2.3230 -2.1696 -2.1650 -1.6041 -2.4300 -20.8387 - 16.1197 16.1677 13.0422 10.1574 7.4820 4.6731 0.9828 -1.4519 -2.9998 -3.7625 -4.0148 -4.3809 -5.3027 -6.4756 -7.1149 -7.3309 -7.7257 -6.9484 -6.1237 -4.9958 -3.5063 -1.5803 0.7658 1.7860 3.3939 3.3871 0.1351 -1.5829 -2.7956 3.7721 2.8811 2.6980 2.1046 1.6496 1.6430 0.3146 -1.1205 -1.2974 -2.3187 -10.3263 -6.3444 - 33.2222 30.5262 25.0634 19.0582 13.7573 9.6221 5.3575 1.7730 -0.2567 -0.9304 -1.7632 -2.8645 -3.7480 -4.1938 -4.1659 -4.0416 -4.7502 -6.0605 -7.9728 -8.5077 -8.1116 -7.8726 -8.1931 -9.0767 -10.5826 -11.3078 -11.2136 -11.3407 -11.4260 0.8122 0.4880 0.3714 -0.1432 -0.1971 -0.2624 -0.2558 -0.0613 0.0880 0.0913 -0.9310 -13.3990 - 23.3644 24.0993 25.3117 28.0710 27.1967 22.1136 17.5071 15.1758 14.3350 11.1400 4.3238 -3.0833 -8.0197 -10.4359 -12.1778 -13.4366 -14.3352 -15.1818 -14.9458 -14.4610 -13.8720 -11.3742 -10.2486 -10.0143 -11.6705 -10.3545 -10.9010 -13.4149 -14.7113 -0.0476 -0.0526 0.7467 1.6512 0.2779 1.1979 -0.1397 -0.0153 -0.2711 -0.9085 -2.4389 -16.2622 - 14.4881 12.3355 8.8723 6.0773 3.3394 2.1115 0.8125 0.2147 0.0560 -0.0137 -0.2214 -0.6427 -0.7267 -1.5641 -2.3561 -2.2954 -2.4665 -2.8622 -3.0085 -3.0425 -3.2164 -3.5410 -3.2388 -3.2830 -3.0079 -3.0781 -3.2229 -3.1753 -3.3443 0.6505 0.0498 -0.1331 -1.1260 -0.6639 -0.2628 -0.2090 0.4291 0.7281 1.5146 -0.9773 -5.3512 - 2.0621 1.4120 0.1443 -0.6564 0.5194 4.1270 7.3667 9.7238 11.5833 11.3655 7.7646 4.2923 2.5041 4.7009 7.5418 8.5568 4.4916 -1.2294 -4.3559 -5.7809 -5.5627 -3.7357 -4.6814 -7.6996 -10.0830 -11.5284 -10.0528 -10.0753 -12.7146 1.7722 -0.0816 -0.3269 0.6524 2.3093 3.6584 1.5222 0.4498 -1.3345 -1.6645 -6.9568 -19.6830 - 25.4648 24.2073 21.4183 18.0385 14.5373 11.3133 7.9671 5.3323 3.4067 2.4589 2.3509 1.9998 0.7508 -0.6518 -2.8305 -5.4658 -7.9173 -10.2576 -11.4401 -11.9089 -12.2924 -10.4402 -8.9248 -9.3520 -7.9692 -5.3374 -6.5850 -12.1411 -15.7319 4.8043 4.3614 2.1470 0.1372 -1.2225 -1.5199 -1.6170 -1.6460 -1.4994 -1.0956 -2.8494 -19.5630 - 10.4477 9.9103 9.3167 9.9753 13.0396 16.4188 16.2006 11.2422 5.4920 2.0198 -0.5193 -2.2228 -3.7621 -2.3955 0.6073 4.9323 5.7164 1.9080 -3.8530 -5.3428 -5.1549 -4.4637 -8.4757 -12.2439 -13.8905 -14.2780 -11.6814 -12.1684 -16.7752 0.6951 -0.4140 -0.2150 -0.4177 -0.1652 2.0344 0.4827 0.3849 0.6488 0.2765 -3.3105 -20.9730 - 11.6894 11.5653 11.7767 13.6634 16.8841 16.8356 11.6070 5.3075 0.2573 -3.0445 -5.5117 -6.5939 -7.5658 -6.4151 -2.9369 2.5810 5.6008 0.1628 -5.9773 -6.9647 -6.5125 -3.3783 -4.0081 -8.2854 -9.9143 -9.2857 -6.2357 -5.9007 -9.4002 10.4552 5.0807 0.6307 -1.3477 -0.5399 -0.5873 -1.8383 -1.7997 -2.0570 -2.8514 -5.1454 -22.0833 - 21.2161 21.5655 20.7743 20.2657 20.4741 20.8267 19.9547 17.4467 13.8013 9.3303 4.0053 -0.5555 -4.3050 -6.2844 -5.9649 -3.2920 -0.3039 -0.5084 -4.2075 -9.2735 -12.3913 -12.0554 -11.2851 -13.2289 -17.6674 -21.0646 -22.6765 -22.3615 -22.2348 0.6227 0.2943 0.3156 -0.0153 -0.3658 -0.4357 -0.0101 0.1177 0.2549 0.3115 -1.0897 -21.8725 - -5.8017 -5.8902 -5.5846 -4.7620 -4.4881 -3.9174 -4.2830 -5.1666 -6.3677 -6.8882 -6.9995 -6.8752 -7.3225 -8.7191 -9.5016 -8.7540 -7.1882 -3.8658 -0.5597 2.3798 1.4716 2.7987 5.8548 11.0383 14.5525 16.8697 19.0261 18.9539 19.9898 7.1234 3.7053 2.7491 2.3946 1.8894 -0.2885 -0.8988 -0.3606 -0.2356 -2.8434 -13.2350 10.7649 - 29.8544 29.8362 28.5318 26.5320 23.6452 19.3290 14.5539 10.2840 6.4573 3.1100 0.1941 -2.1012 -5.6884 -9.9636 -12.8520 -13.5951 -13.0431 -13.2967 -13.3194 -12.2195 -9.3679 -5.0767 -1.3008 -4.8112 -12.0561 -15.7608 -16.8756 -16.0321 -14.9678 2.1806 0.2835 -0.2562 -0.3860 -0.6570 -0.1415 -0.2170 -0.2013 0.4029 0.2038 -1.2117 -16.0450 - 8.0644 8.0499 7.1416 6.5893 5.5981 4.3993 3.4826 2.7143 2.8318 2.3580 2.4915 1.9093 -0.3049 -1.4506 -1.2401 -2.3404 -1.2673 -2.2808 -2.4575 -3.4995 -3.9318 -5.0149 -5.3296 -3.8867 -4.4533 -4.5744 -4.0511 -4.8087 -4.7385 -9.0466 -10.6663 -9.9253 -6.6473 -2.6332 0.9689 4.1205 6.3340 8.2517 9.8032 9.4405 1.9804 - 9.5207 9.0443 7.8069 7.3329 7.3094 8.0083 9.9299 12.4518 13.0618 11.3574 7.8442 3.8017 -0.1018 -3.9012 -6.5018 -7.0985 -5.6241 -2.4385 1.2347 1.1544 -2.3784 -5.3165 -6.5624 -5.5597 -5.2937 -9.9992 -14.6755 -17.3896 -17.0176 9.0473 5.4785 3.0998 0.8918 -1.3974 -3.6623 -3.5233 -2.5034 -1.0502 -1.2373 -5.1436 -25.0416 - -5.0642 -5.1796 -4.6005 -5.1034 -4.7822 -2.6885 -1.4531 -1.7854 -2.0629 -2.7192 -4.4520 -3.9290 -3.4335 -4.7675 -6.1288 -7.0944 -6.6330 -5.1475 -3.2790 1.1530 2.3119 6.3456 6.1984 9.1249 10.9774 11.5921 12.7428 11.4754 8.3823 -9.7326 -13.5256 -14.6472 -7.0881 -1.2233 -0.9864 6.1958 7.2048 10.0661 12.3652 11.3714 19.0050 - 6.7705 6.0726 4.7668 4.7287 5.5025 5.2104 3.6077 1.7454 0.3953 -0.3480 -0.7236 -1.1397 -2.5075 -2.4282 -2.0351 -1.5354 -0.9783 -1.1816 -2.7792 -3.3855 -3.4229 -4.1416 -3.3236 -3.6243 -3.9451 -2.9592 -1.2582 1.2767 1.6406 9.6325 11.3324 9.8681 5.5229 2.3829 -0.2309 -2.8115 -5.0973 -6.3038 -7.6243 -16.6711 -7.8822 - 18.7275 18.7602 15.1086 10.7098 6.9559 5.0306 2.7456 0.2771 -1.9055 -2.8108 -2.7768 -3.7007 -4.2089 -5.7436 -6.2204 -5.8236 -4.9148 -3.2075 -2.8848 -3.1210 -2.7428 -4.5923 -3.8926 -3.7191 -2.9927 -3.2069 -3.9982 -3.8130 -2.0396 -6.3039 -3.8256 -2.1569 0.2409 3.3218 4.6289 5.0475 3.5987 1.8219 1.8959 -8.2692 2.9296 - 19.0392 17.4654 14.9352 12.2077 10.4970 11.1852 10.4778 8.4045 4.8902 1.7924 -0.8760 -4.1317 -6.0495 -6.1897 -5.0150 -1.4390 2.3264 1.7138 -1.0924 -3.4019 -4.3020 -3.5935 -2.4494 -6.4110 -11.3840 -13.3423 -14.0158 -14.8337 -16.4080 5.2170 2.0001 0.7957 -0.6171 -0.8902 -1.2003 -1.1541 -0.6336 -0.6395 -0.6616 -2.2164 -21.3670 - 10.4791 9.9395 9.0805 9.1584 10.6784 12.7374 14.6952 15.0752 12.8090 9.8648 7.8350 7.5607 9.0798 10.1615 7.6961 2.2376 -2.6758 -6.5418 -9.4708 -10.5541 -11.1366 -10.0882 -12.2916 -15.8392 -17.7528 -18.3635 -16.7645 -14.5122 -13.0970 9.0915 6.6105 3.9354 -0.3391 -3.1013 -3.4367 -2.5040 -2.1417 -1.8401 -1.7766 -4.4978 -24.3538 - 2.0821 3.1287 4.0753 5.4302 5.7802 6.6537 7.2130 6.6951 4.5960 2.8045 2.4487 1.8103 0.4415 -1.7609 -3.0165 -2.8462 0.1898 3.3827 4.3190 1.6896 -2.8185 -5.5524 -7.0484 -7.5484 -6.1090 -5.9753 -4.7225 -7.1165 -8.2257 3.6680 2.9008 1.3962 0.7099 1.6828 1.2318 -0.5067 -1.7458 -1.5988 -1.6313 -6.1069 -11.5601 - 1.1497 1.3200 1.2707 2.0082 2.0004 1.8044 1.1270 -0.2158 -1.8933 -2.4634 -3.4218 -4.7937 -4.7100 -4.6869 -4.1693 -4.4056 -4.9100 -4.6525 -4.3514 -5.3638 -6.5281 -5.1288 -3.6008 -0.1517 2.6878 7.2240 11.7457 15.7449 17.3640 6.9238 4.8734 3.1279 0.9919 0.1466 -0.3872 -0.1158 -0.4139 -1.8167 -1.7305 -11.5996 8.8903 - 9.7978 8.0725 4.8934 3.5284 2.7083 3.7014 4.0313 4.6282 3.9292 3.2742 2.0518 0.7154 -1.2921 -1.9667 -1.5639 -1.3033 -0.5627 -0.4778 -0.7607 -2.2442 -3.8987 -4.4781 -4.2520 -4.6421 -4.1577 -4.5224 -4.4218 -5.2138 -5.5740 0.7391 -0.0616 -0.3222 0.1802 -0.1541 -0.5544 -0.0900 0.4549 0.4530 0.6154 -1.2603 -6.8376 - 11.0218 10.5069 8.2672 5.9543 3.9578 3.9631 2.6698 1.5498 0.3926 0.3180 0.1925 0.7238 -0.6282 -2.8873 -3.5603 -4.0488 -2.8863 0.6168 3.2951 2.8007 -0.0448 -2.6501 -4.7672 -5.2381 -5.1827 -6.3352 -6.8157 -6.0030 -5.1825 5.7059 6.0081 5.5317 5.2309 1.9392 -0.7052 -2.9950 -3.4059 -4.2816 -4.2198 -8.8083 -12.1555 - 30.7220 30.4352 28.7635 26.8276 23.0072 17.1944 10.8428 5.1151 0.6042 -2.9361 -6.0945 -8.6787 -10.4457 -11.4951 -12.7062 -13.0113 -13.2579 -13.2793 -13.0584 -12.0898 -10.8056 -8.6431 -7.2774 -8.7256 -10.1911 -7.2394 -2.5936 -0.3436 -0.6396 5.5942 2.8807 1.9726 1.6097 0.9653 0.3476 -0.8863 -1.5202 -2.1940 -2.7497 -6.0197 -9.7496 - 11.0431 11.2874 10.7540 9.9197 8.6647 8.6958 8.6183 9.9875 10.0470 8.3112 7.2898 5.9718 4.5865 2.1034 -0.7735 -2.4122 -3.3246 -3.2844 -4.4966 -6.4114 -8.1119 -10.1936 -10.6919 -10.5371 -10.9794 -10.4475 -10.1218 -12.4300 -13.0643 -8.4396 -8.4986 -5.5124 -3.9624 -1.0920 -0.4675 2.3907 5.5877 7.2456 8.0230 4.7255 -8.4177 - 12.7397 11.0783 9.2586 6.5612 4.1628 2.3704 1.9316 1.0515 -1.0350 -1.2451 -1.9616 -3.0021 -4.2825 -5.4905 -5.6435 -5.6210 -6.6154 -6.2022 -5.0535 -4.7672 -3.5637 -2.1688 -1.0431 0.1656 0.9547 1.6420 2.0989 1.7796 1.9001 -9.9315 -12.1933 -12.6352 -7.0282 -1.8872 1.8245 4.5894 7.3621 9.3193 10.4805 10.0998 9.3097 - 15.1389 17.4197 18.3393 18.5836 17.5461 15.0277 11.1098 6.8515 2.5234 -0.3132 -2.9049 -4.0328 -5.4435 -6.6072 -7.1258 -7.1761 -6.4666 -4.5330 -0.7343 1.2614 -1.3012 -6.3734 -11.7238 -12.6667 -10.4556 -6.4641 -7.1625 -10.7517 -11.5648 8.7437 7.8620 8.4762 9.1692 5.7736 -1.6953 -4.9554 -7.2071 -8.1718 -8.3657 -9.6294 -20.1832 - 18.7350 18.8415 17.7238 16.7790 16.8597 17.9978 19.1477 18.5999 16.1427 12.4936 8.6595 5.9831 4.9948 5.7667 5.5880 1.9462 -3.6217 -9.0782 -13.3577 -15.7337 -14.0069 -9.9754 -8.9549 -15.6483 -21.5520 -23.5522 -23.6830 -23.3131 -23.7818 0.3454 -0.0420 -0.0575 0.3156 0.1128 -0.3066 -0.4222 -0.0008 0.1796 0.4486 -0.5731 -24.7214 - 16.6836 16.0011 14.2761 12.3355 8.6965 4.5639 -0.4844 -4.1980 -4.7650 -4.1296 -4.0155 -2.9656 -1.7970 0.4680 1.9673 2.9994 4.5000 3.5757 1.1168 -0.5475 -1.7944 -2.5137 -4.8674 -5.5801 -7.1945 -9.0212 -11.1995 -10.8822 -11.2279 0.2823 -1.5628 -3.0013 -1.8679 -2.2856 -1.4908 0.7971 1.9446 3.1469 4.5357 -0.4981 -12.2633 - 19.0033 19.2025 17.7777 15.3002 12.6650 9.5501 5.6575 1.8616 -1.6276 -3.6035 -5.2976 -7.4545 -9.9218 -11.0550 -12.1614 -12.3330 -11.7581 -10.8363 -9.3486 -5.9142 -0.9878 3.2625 3.7572 3.2186 3.6513 0.3807 -3.4386 -5.0746 -4.4758 13.3555 8.9978 5.4532 3.6182 -1.0628 -3.2096 -4.4349 -5.7492 -5.1348 -3.5353 -8.2981 -16.8230 - 18.4297 15.9331 11.2397 7.8129 5.5380 4.6599 3.1356 2.3935 1.0751 1.0970 0.6480 -0.2160 -2.0789 -2.6802 -3.0441 -2.3536 -0.3163 1.8936 2.7495 0.5565 -3.1908 -5.3708 -7.0075 -7.5402 -7.2433 -8.2848 -9.2167 -9.4201 -9.1988 2.6256 2.0510 1.3148 0.5355 0.0630 -0.6332 -0.4758 -0.6747 -0.4639 -0.1424 -4.2000 -12.3908 - 7.3097 7.7813 7.8527 7.8546 8.1128 8.9506 10.6384 12.8363 14.6251 15.4901 15.1366 13.4976 11.9988 11.7295 11.3616 8.4914 2.9159 -3.6536 -9.4800 -13.7350 -17.1927 -18.7882 -17.6248 -13.8464 -10.5674 -13.8181 -18.1434 -20.8743 -18.8591 11.3245 8.7172 3.5788 -0.9416 -1.5672 -2.3545 -2.3414 -3.3449 -3.9610 -3.8438 -5.2662 -25.7869 - -1.6196 -1.5619 -1.3693 -0.0041 0.6985 1.0211 -0.2712 -1.1631 -2.5701 -3.8567 -4.4749 -4.1959 -4.6373 -5.4392 -6.6320 -6.8724 -5.3058 -4.2328 -1.9447 -0.2533 0.7399 0.5052 2.5635 6.5244 9.7417 10.9027 8.3775 5.7836 9.5462 -0.9205 1.3066 3.5975 5.1438 4.6369 2.9620 -0.2142 1.2689 -0.0412 -3.1056 -14.6343 6.0567 - 14.2155 14.8572 14.6396 15.6515 18.4554 21.3207 21.2950 16.5870 10.7997 7.0073 4.3743 2.9850 1.5061 3.2006 -0.1576 -6.6249 -11.7054 -14.9389 -16.7542 -15.9586 -13.4133 -9.9384 -8.4859 -12.4268 -14.9176 -16.0461 -14.1275 -6.4255 -4.9741 5.5063 0.3654 3.5212 7.9053 3.8839 -1.5841 -4.1647 -4.5145 -3.5450 -1.9892 -5.3846 -20.3075 - 9.1018 8.8735 7.5282 6.8650 7.5449 8.2635 6.4844 3.4564 0.6817 -1.5163 -2.2174 -2.8199 -3.2880 -2.4514 -0.1202 2.7625 4.3459 5.3239 3.3628 -0.1718 -3.0498 -4.4866 -5.5655 -6.7973 -7.4857 -9.1801 -9.3929 -8.4690 -7.5827 4.3844 4.6419 5.2823 3.5134 1.9965 0.2705 -0.4359 -2.5064 -3.1275 -3.8266 -10.1926 -14.0516 - 22.6352 23.6582 24.5865 26.3890 26.4341 23.2091 17.7722 13.5350 11.1208 9.9800 8.2759 4.0348 -1.7705 -7.8105 -12.5187 -14.9802 -16.3623 -17.3820 -17.7578 -17.6490 -15.5778 -12.8018 -11.4459 -14.3128 -16.3520 -15.2082 -10.9596 -5.2865 -3.4553 7.6752 3.5999 2.0739 1.1336 -0.6895 -1.5345 -2.4580 -2.0781 -1.8815 -2.5118 -3.3292 -17.5176 - 1.8750 1.8662 1.4311 0.9127 -0.1302 -0.3760 -0.5434 -0.2220 1.2349 3.6442 6.7696 8.9037 8.5438 6.1520 3.7222 3.0903 4.4232 5.4581 6.2833 3.7218 -0.7522 -4.4112 -6.2164 -5.4842 -3.9166 -5.9630 -10.1542 -15.3434 -14.5193 13.3682 11.1151 8.2449 5.7945 3.1501 -1.3709 -6.5216 -8.3030 -8.2964 -7.6878 -9.4930 -25.2906 - 23.8996 24.1043 23.8658 23.6680 21.5342 15.4333 6.3905 -1.1158 -4.6322 -5.8867 -6.7301 -7.6112 -8.9183 -10.1939 -10.8837 -8.9691 -3.9727 3.1911 5.9335 0.9841 -5.6662 -8.2167 -5.1918 -3.2488 -11.7754 -15.7999 -16.0905 -9.0460 -5.0555 9.1930 1.3362 -0.8279 -1.4971 -1.9949 -1.9954 -1.0397 -0.8391 0.6715 0.8150 -3.8216 -17.2628 - 2.1343 3.1072 3.1035 2.4651 1.0770 2.5793 2.6348 1.2152 -0.5649 -2.3867 -0.6920 0.8781 1.3547 -0.8951 -2.8053 -3.6858 -2.1707 1.9580 5.8746 8.3664 5.4534 -0.2992 -2.5199 -5.0547 -5.4956 -3.5790 -4.0494 -3.2599 -4.7435 6.3175 4.3640 4.2936 4.0751 4.2436 2.1309 -2.1883 -4.5757 -4.9307 -4.5770 -9.1531 -11.6403 - 24.1543 25.3380 25.2642 24.2890 21.5268 15.8776 8.7349 1.8963 -3.3513 -6.9022 -9.3648 -10.8355 -12.1831 -12.5211 -12.8565 -12.9812 -11.8854 -11.1641 -9.2860 -5.4976 -0.9263 3.4028 4.7240 3.7754 2.3125 -4.4255 -11.3777 -13.5943 -12.1432 6.6341 8.4368 8.7627 5.8486 0.7153 -3.2965 -5.0124 -5.0678 -5.2114 -4.9009 -6.9086 -15.7320 - 33.3595 30.8257 27.3940 23.1538 18.5480 12.9357 7.6481 4.1721 3.2632 3.4360 3.9739 4.0188 3.3042 2.7990 2.1257 0.5313 -1.9459 -5.6161 -9.5935 -12.9587 -14.8978 -16.0532 -16.3206 -16.6767 -16.1054 -16.6153 -17.9698 -18.6045 -18.1317 1.5134 0.8260 -0.0981 -0.1095 -0.5148 -0.5502 -0.3922 -0.2658 -0.1093 0.4252 -0.7246 -17.8748 - 1.6216 0.9985 0.7656 2.7126 3.5846 4.9869 4.3162 4.0409 2.9716 0.7825 0.4168 0.2302 -0.1647 -1.1633 -1.3128 -0.8806 -0.1106 -0.3406 -2.2081 -3.7852 -4.1417 -2.9134 -2.1959 -1.8077 -1.5502 -2.2082 -1.4934 -0.6950 -0.4569 -7.0535 -3.1321 1.0676 0.9741 1.5466 3.3522 3.6041 3.9392 1.3441 1.8148 -7.4571 2.7151 - 15.5981 19.5861 21.1052 20.7702 17.9972 13.4362 8.4295 3.6958 -0.0748 -3.8419 -6.8494 -8.7952 -9.5977 -10.9677 -13.2231 -11.6825 -9.6560 -6.9659 -3.1059 0.6508 -2.2959 -4.9921 -6.5950 -5.9531 -3.2910 -4.7702 -3.9870 -1.7940 -2.8308 -2.5000 -4.6538 -0.7258 4.7330 8.3235 5.3781 -0.4169 -0.0664 0.8379 -2.0639 -8.8455 -9.7704 - 23.7863 25.9404 25.3891 21.9998 16.2579 9.6322 3.4737 -1.7621 -6.1163 -9.2774 -11.9071 -13.8355 -14.8079 -15.2219 -15.4960 -14.7850 -13.1085 -11.2726 -7.3218 -0.9826 6.1996 7.8610 5.9579 4.5346 0.9527 -4.2620 -5.8570 -3.1595 -2.8119 8.3142 3.6630 2.1376 0.0170 -1.3069 -1.1574 -2.2597 -2.0274 -1.1056 -1.2385 -5.0363 -15.6945 - 20.3765 22.4983 23.2522 22.4935 18.6192 11.9388 4.7215 -2.2228 -6.9248 -8.7614 -9.4361 -10.4167 -12.0447 -14.3511 -15.7581 -15.0919 -13.4051 -11.6659 -8.9412 -4.6688 1.6099 5.0989 2.6335 0.0407 0.1956 0.6445 -1.3875 -1.9917 2.9449 22.4551 18.5214 5.2727 6.1503 -0.1446 -8.9143 -8.7222 -9.1792 -9.3487 -7.5459 -8.5445 -16.1222 - 11.1076 12.0485 11.0550 10.5716 11.0874 11.6622 9.9206 4.9761 0.3715 -2.6436 -4.8249 -9.2210 -10.4786 -11.6233 -11.8990 -10.3869 -9.3054 -5.4126 -0.0922 1.7786 1.9733 2.3237 2.4041 2.1518 -0.8245 -3.1849 -3.9744 -5.1713 -4.3894 1.3910 -2.4885 -4.1076 -3.8565 -1.6768 1.3241 2.8087 3.8092 4.3728 3.2455 -4.8218 -10.0894 - -0.2633 -1.4544 -2.4182 -3.0882 -3.5531 -4.3925 -6.6002 -8.5372 -9.6704 -9.8444 -10.3936 -9.9956 -8.9278 -7.5639 -5.9124 -1.9933 2.8919 6.3172 5.9440 4.7295 5.0606 5.2459 8.2338 8.7234 10.0863 10.2509 9.9392 9.0613 8.1243 1.1238 0.9922 1.1101 1.8146 2.6706 2.2247 1.2363 1.1432 -0.1842 -0.9655 -11.1660 5.3441 - 6.9294 5.0117 2.6132 2.2629 4.5422 9.5764 14.7837 15.8748 11.9468 7.4679 4.5656 4.3597 5.8184 8.6426 5.8541 -0.7924 -5.2311 -8.0360 -9.7347 -8.9000 -8.2834 -6.3029 -5.0720 -7.3093 -8.1284 -8.3417 -7.7152 -10.4763 -15.9260 4.7158 2.3141 1.3121 1.3526 1.5962 -0.3417 -1.3860 -1.6767 -1.7760 -1.6516 -4.4588 -23.6471 - 20.5611 21.4990 21.6805 21.4105 19.9564 16.4129 11.0090 4.5495 -0.7043 -3.4671 -4.6121 -5.3523 -6.5924 -7.7881 -8.2287 -7.0226 -4.0117 -0.4161 1.7880 1.3595 -1.3403 -3.8721 -3.9650 -4.9622 -8.7031 -14.8711 -18.9891 -20.1269 -15.2011 9.5765 9.6090 6.3797 4.6167 -0.3327 -3.7082 -4.7974 -5.1837 -5.3397 -4.8761 -5.9441 -20.3305 - 28.9011 29.1365 27.4009 24.4914 20.2583 14.7607 8.7681 4.0956 2.2405 2.3157 3.7552 5.6036 6.0319 3.0401 -2.3373 -6.5825 -9.1181 -11.5190 -13.0607 -13.4398 -13.0287 -11.6613 -11.3947 -12.1649 -13.2592 -14.7276 -15.9052 -16.4327 -16.1678 0.8050 0.5113 0.4244 -0.0076 -0.2346 -0.4785 -0.2332 -0.0629 -0.0095 0.3865 -1.1010 -17.2993 - 14.0295 13.9502 13.6228 13.9615 14.5159 15.7344 16.5458 16.6583 15.8760 14.9767 14.5095 14.6169 14.1664 10.4532 3.0906 -3.2947 -6.9042 -10.1425 -12.3464 -13.3132 -12.9262 -11.8067 -11.4974 -15.4253 -20.2544 -22.9691 -22.5572 -21.6390 -21.6312 2.0180 1.7654 2.8940 1.2851 1.2694 -0.7044 -1.7554 -1.1719 -1.4637 -0.7534 -3.3831 -24.9877 - 14.3136 12.8038 10.7600 9.9164 8.0164 4.8641 0.3656 -1.3980 -2.3438 -1.8387 -0.9641 -0.4343 -1.8428 -3.9974 -5.5735 -6.9534 -5.2614 -1.8837 -0.6653 -2.2186 -4.1385 -7.9205 -4.8743 -0.0041 -1.6958 -8.8891 -5.9515 2.5199 5.2890 -0.4214 3.3144 7.7656 5.2578 2.3868 4.6757 -4.9484 1.0462 -11.2993 2.2105 -9.9881 -1.0110 - 15.2498 16.8589 17.4454 17.3595 15.7318 12.0402 6.8196 1.9584 -1.8950 -4.1206 -5.7554 -6.5663 -7.4096 -8.0543 -8.0905 -5.7704 -1.8905 1.4927 2.8765 0.6930 -2.5985 -3.9517 -2.8026 -3.1264 -6.0718 -8.7896 -10.8740 -11.1991 -9.5592 1.0250 2.5513 3.7885 4.2634 3.9729 3.4142 0.3627 -0.0631 -2.7607 -5.0823 -11.4719 -15.3324 - 19.7099 20.3722 20.4412 20.5912 20.9609 21.5266 21.3284 19.9806 17.9191 15.7219 13.9555 12.9719 11.7125 7.8879 1.8651 -4.0484 -8.3840 -12.3338 -16.2678 -19.1476 -20.5188 -20.7942 -19.7332 -19.5087 -20.0131 -21.1706 -22.0267 -21.8280 -21.1700 2.6261 1.4238 0.5675 0.1586 -0.3335 -0.7530 -0.6950 -0.8150 -0.6504 -0.3559 -1.1732 -23.1129 - 1.8825 1.5975 0.7650 0.8382 1.0970 2.3121 1.7334 1.3645 1.6653 2.5832 3.6249 3.8831 3.7892 3.6596 2.8817 2.2713 1.6918 1.3161 0.6652 0.0342 -2.3559 -3.5644 -4.4403 -3.4709 -4.1781 -4.9507 -5.6105 -5.7659 -5.3190 -4.6785 -6.2814 -4.4170 -3.7355 -2.9146 -0.6060 2.7131 5.1159 5.7786 5.8363 3.1891 -2.7682 - 20.9204 18.3266 13.9646 10.3450 7.1213 4.7949 2.3975 0.3252 -0.8377 -1.2032 -1.3516 -1.2322 -1.3903 -2.0806 -3.2115 -3.8099 -3.7972 -3.8008 -4.4221 -4.5737 -4.8822 -4.8118 -5.0104 -5.0121 -4.8009 -5.1006 -5.4825 -5.7785 -5.6058 0.0304 0.0212 -0.8099 -1.0990 -0.8995 -1.1798 -0.0605 0.4825 1.2857 1.8683 0.3606 -7.2005 - 5.2951 4.6853 3.2703 1.4395 -0.0679 -1.5464 -4.0205 -5.2710 -6.2684 -7.4709 -7.5305 -6.6769 -5.9752 -5.0052 -2.1987 1.0365 4.3659 5.4876 4.1372 2.9011 2.0765 1.4275 2.2620 2.4970 2.1857 1.8463 1.4213 2.7180 2.9788 2.6542 4.1837 4.7936 4.0109 4.2119 2.0348 0.3166 -0.4254 -3.1810 -4.8204 -13.7789 -1.2474 - 10.5896 10.0518 9.5208 11.5878 14.9277 14.1122 8.4894 2.1708 -2.5335 -5.3221 -7.6712 -9.9945 -11.5742 -11.8957 -12.0296 -10.9304 -8.1129 -3.4826 2.2855 6.7275 2.7163 2.8417 3.8437 1.4929 -1.9462 -3.7791 -2.6804 -3.2326 -6.1727 14.4024 9.7441 3.2594 -2.4965 -1.6315 -2.6240 -3.3409 -3.9874 -3.0303 -4.0633 -6.2319 -23.1513 - 12.3877 13.4337 14.0526 15.3719 16.7230 17.0301 15.6932 13.1714 10.9923 10.1200 9.9867 8.1477 4.6596 0.5220 -3.1428 -6.2242 -8.4106 -10.5360 -11.5260 -13.2012 -11.1252 -8.8838 -9.7283 -14.6481 -19.0045 -16.0374 -8.1446 -9.6615 -12.0177 -3.6514 -5.1768 -3.3816 -0.8285 1.8774 4.0666 6.6919 6.7739 0.8553 -0.3990 -6.8277 -19.5820 - 7.5130 6.3917 4.4090 3.2713 2.4681 1.4505 -0.7914 -2.2729 -2.7937 -1.4184 0.5941 1.7683 1.7245 2.1691 0.8665 0.4093 0.8033 3.3147 3.5683 -0.9897 -3.9384 -5.0587 -4.1462 -2.0529 -1.2512 -5.3164 -7.9226 -1.6494 -1.1198 3.1545 4.1780 6.4164 4.4137 1.4380 1.5613 -8.5713 -1.5266 -2.1776 0.8939 -9.7803 -10.1082 - -0.4172 3.9814 -2.5335 4.7982 6.2404 9.5386 1.7280 -2.6347 7.9832 -10.0263 -1.0230 2.1623 7.0028 7.7748 15.0971 5.6506 5.2734 4.3666 -5.3182 -6.5883 -8.8498 1.1908 5.5230 -1.1525 -3.9009 -23.1871 0.2212 -1.9086 -20.9924 7.1776 8.9477 9.4213 0.6845 6.7206 6.8189 0.9603 -10.6166 0.5146 -13.1811 -17.4476 -7.6137 - 23.3780 25.0892 26.2191 26.9457 24.6201 18.5566 11.6556 4.9788 0.6249 -3.7400 -8.5904 -12.3926 -14.7270 -15.9297 -15.7620 -14.5514 -11.9079 -8.2268 -0.1798 5.9532 4.5772 3.1484 0.2938 -5.5237 -12.1896 -14.8172 -14.8798 -12.4827 -10.1404 3.2764 -1.6281 -2.1589 -1.3730 -0.4182 0.5715 -0.2811 1.7069 1.5263 1.5414 -2.7632 -16.8809 - 26.2968 26.9773 27.1574 27.9417 26.5696 21.5857 14.8761 8.6361 4.1683 0.7533 -1.9295 -2.5208 -0.0812 2.2250 0.9523 -3.4957 -8.2811 -11.7647 -14.3663 -15.2907 -14.5936 -12.5687 -12.9612 -14.8338 -16.5565 -16.2573 -15.0745 -13.8830 -13.6813 1.4448 -0.0533 -0.0920 -0.0314 -0.2973 0.5069 -0.2172 -0.1011 -0.0306 -0.0946 -1.0343 -16.8789 - 15.2599 15.8558 16.5112 17.1923 16.9184 12.7155 6.7767 1.6437 -3.4349 -7.8714 -10.5492 -12.4016 -14.2321 -14.9460 -15.0099 -14.2604 -12.3944 -9.9130 -6.0566 3.4214 4.0393 0.9850 0.9812 5.2322 5.1852 2.0753 2.8816 0.5603 -7.1654 13.9261 10.8083 1.8284 -2.6412 -3.5133 -2.9693 -2.9300 -3.3031 -3.3193 -3.2617 -4.6248 -21.7463 - 17.6998 15.3407 11.6586 7.2522 2.9030 1.1270 0.2870 0.3993 0.1515 0.9131 1.2039 0.8350 0.6170 -0.2241 -0.4502 -0.7194 -0.2872 -1.3096 -2.7798 -3.9323 -4.0148 -5.4557 -5.6772 -5.5259 -5.6333 -6.0967 -5.8797 -6.4353 -5.9666 -4.2226 -4.1479 -4.5146 -4.3292 -2.7654 -0.8517 1.0845 2.9370 4.9613 6.0166 5.8320 -4.0046 - 6.7958 6.6180 6.8562 7.7048 9.3200 10.2947 9.2183 6.4762 2.7485 -0.8988 -3.4430 -4.6190 -6.3031 -8.1363 -8.6511 -7.2066 -4.4822 -1.4434 2.6598 5.1827 2.6866 -0.9832 -2.3089 -1.3324 -0.7075 -3.4975 -7.3602 -8.3172 -6.8713 15.6013 14.5952 12.4864 10.1694 6.7654 -5.1118 -14.7309 -11.9476 -9.2847 -6.6284 -11.9143 -21.6331 - 14.4296 12.7223 10.1123 8.5522 7.7405 6.5977 2.6762 -1.5488 -4.1290 -3.7931 -3.0890 -3.1619 -4.0464 -5.1734 -7.7679 -6.3552 -4.2463 2.5055 5.5392 0.2036 -3.7031 -5.8323 -6.0258 -1.1405 -6.8812 -8.2643 -6.4325 2.2624 8.2490 -1.6654 -1.1619 -3.5190 -1.9517 -1.3057 -0.4120 0.2731 3.0941 3.3892 6.7202 -3.4609 4.9976 - 16.2171 16.8083 17.6167 19.1924 18.7528 14.2594 8.5818 3.6957 -0.9158 -4.4517 -7.0958 -9.3910 -11.6987 -13.3940 -14.5794 -13.1362 -10.8013 -7.4970 -2.2178 3.9550 3.3524 1.1405 1.7320 1.1123 -4.7613 -8.8800 -8.5945 -6.1985 -2.8033 13.6191 7.9112 3.4818 -0.7153 -0.3308 -2.3878 -3.9144 -3.8872 -3.3753 -4.2532 -6.1481 -19.8313 - 6.8744 6.6595 5.9608 5.6270 4.3932 3.6619 1.6033 0.6207 0.2849 0.0399 0.6193 -0.4371 -1.6617 -0.9777 1.0971 4.1974 5.9086 2.2600 -0.0342 1.3932 -0.7669 -2.8459 -3.3270 -4.4869 -4.5589 -4.9693 -7.5630 -7.8037 -11.7691 6.8143 4.0009 -0.8944 -7.1111 -6.4611 -4.2217 -1.7229 0.4360 2.1972 3.2561 3.7068 -18.5017 - 18.3619 17.7217 16.1766 13.4866 10.6915 10.2793 11.8384 14.1579 15.8226 15.6994 14.1178 12.1825 10.7237 10.1085 8.7558 5.2488 -0.0978 -5.2425 -10.2876 -14.5133 -15.8759 -16.5173 -16.7647 -16.0517 -18.5506 -21.5370 -23.2401 -23.8593 -22.8353 1.5487 0.0279 -0.5628 -0.2643 0.4887 -0.1023 -0.4874 0.2721 0.8224 -0.1650 -1.5779 -24.7124 - 31.7198 31.7692 29.2043 25.0452 19.3123 12.8393 5.9234 0.3241 -2.4789 -4.4056 -7.0192 -8.8068 -10.3571 -11.5877 -12.2897 -12.4950 -12.4338 -12.1031 -11.1686 -9.2498 -5.8575 -2.3369 -1.3750 -2.0352 -2.1517 -3.4040 -5.9186 -8.2233 -10.4400 -0.0554 -0.5312 0.1527 0.4184 0.6585 0.9224 0.6649 0.9519 0.5466 -0.5067 -3.2220 -11.4604 - 20.9886 21.1123 20.4027 20.0167 19.1884 16.5783 12.5867 8.3317 4.5773 1.2778 -1.2341 -2.6474 -2.9142 -1.9783 -0.0434 0.4668 -1.7813 -4.6738 -7.2502 -9.3057 -10.6229 -10.4876 -10.2177 -11.8410 -13.1790 -14.6712 -15.1393 -14.2870 -13.2531 -3.3960 -1.5619 2.3074 5.7136 6.3342 5.5398 2.4437 0.2877 -1.8718 -4.5073 -11.2895 -13.3591 - 19.3924 20.6124 21.6255 22.8929 23.6118 22.1117 17.5653 12.1779 8.8663 7.6147 7.1982 7.2343 9.0939 9.9573 8.6027 6.9323 4.6278 -0.1742 -9.4767 -17.6803 -21.3590 -22.4801 -22.5914 -22.5224 -22.4181 -22.3005 -22.8483 -23.1612 -23.1052 0.6133 0.2252 -0.4348 -0.4131 -0.5289 -0.3970 -0.2180 0.1438 0.5713 0.4924 -0.0541 -22.3321 - -5.4361 -5.8530 -6.3360 -5.5397 -4.6575 -4.7263 -5.3668 -5.7909 -7.2619 -6.2038 -4.8838 -2.3553 -0.0793 2.8083 6.1069 7.9082 8.9577 8.4116 6.9427 5.3831 4.8464 3.2166 2.9690 3.6037 2.4221 1.8058 0.2551 -0.2588 -0.8880 1.1827 1.8083 1.5989 1.9336 1.4331 1.4150 1.0200 0.1423 -1.1623 -0.5400 -8.8315 -3.2727 - 15.8074 16.7591 16.8279 14.8127 12.3398 10.0795 6.3564 1.5357 -1.2393 -3.3949 -5.2006 -6.9275 -7.1545 -7.4402 -8.2594 -9.4265 -11.1999 -12.9999 -8.0859 -4.8163 -2.9284 1.3560 0.0774 -2.3044 -1.8591 0.1665 -4.2809 -4.0953 5.4946 9.8215 5.0171 7.0888 8.4199 6.4234 3.6409 10.6458 9.4642 -18.5810 -21.0542 -20.8865 -9.8207 - 16.5885 17.1406 17.0874 16.5509 14.5628 11.8287 11.6860 12.5074 11.7212 10.7081 10.1468 9.1212 8.3750 5.9474 2.4174 0.3172 -1.3076 -2.3870 -7.4556 -13.1264 -14.3324 -15.1303 -14.9156 -14.1134 -15.0136 -16.5819 -19.3100 -21.7927 -21.2401 -7.0652 -6.6847 -6.5388 -5.2451 -2.6953 0.0429 2.8899 5.3552 6.8840 7.0718 5.9852 -18.2709 - 5.7159 5.5464 5.7456 6.9034 7.0731 7.8586 8.0236 8.6981 9.1036 9.3530 10.1684 9.7683 7.9546 5.4206 1.7391 -0.2107 -1.2165 -2.1493 -3.9988 -5.8835 -7.1432 -9.2187 -9.9765 -11.1680 -10.8259 -10.9835 -11.5153 -12.5521 -12.2304 0.1902 0.2673 0.6601 -0.0091 -0.1874 -0.6461 -0.5035 -1.0433 0.8599 2.7028 -2.2908 -14.5718 - 17.6557 17.3889 17.6615 17.9794 16.5379 12.1975 5.9007 0.5883 -3.1335 -4.8335 -5.4254 -6.2659 -6.3932 -5.9023 -4.4098 -0.6232 2.7006 4.3695 3.8488 2.2808 0.7423 -2.7461 -8.2729 -11.5807 -12.4732 -11.8352 -10.1651 -11.6722 -14.1196 8.4864 3.3593 0.1360 -1.6129 -1.5632 -1.3569 -1.6250 -0.1613 -1.1646 -1.4389 -3.0589 -22.3338 --10.3940 -11.3059 -10.7072 -9.0929 -7.9625 -7.9528 -9.4227 -10.3318 -10.9410 -11.1389 -11.6416 -11.7743 -11.8888 -11.1901 -10.5924 -9.4860 -5.0151 0.7991 6.1915 8.4506 7.5920 12.1623 17.6583 20.5566 20.2652 20.3690 19.7694 19.3174 17.7068 3.6441 3.3200 3.1784 2.3126 2.6626 2.7456 1.7616 0.1272 -1.6565 -3.6722 -14.4236 11.3192 - -5.2800 -6.7018 -5.8538 -2.9829 -0.9541 -0.9051 -2.3575 -3.5615 -3.7286 -3.6750 -3.1606 -4.9611 -3.9368 -5.7580 -6.7510 -8.2890 -7.8523 -5.0164 -1.2817 -1.0886 3.4595 6.5066 6.9768 10.1455 9.1411 11.6105 10.9980 12.7941 12.4636 -8.2776 -14.0532 -15.1503 -7.3901 -2.1067 2.8745 5.7677 7.7844 9.1465 10.3125 11.0923 19.6399 - 29.3262 30.3667 30.8460 31.0752 29.3541 25.4538 21.7947 19.7689 18.2651 13.3813 5.5283 -2.7838 -9.2904 -12.5752 -14.3270 -15.2147 -15.6347 -15.9580 -16.2781 -16.2588 -15.7969 -15.4712 -15.0026 -15.2417 -15.4496 -14.8024 -15.4856 -15.3255 -14.2641 0.8519 0.0729 -0.0994 -0.0081 -0.3526 -0.2653 0.2798 -0.1248 -0.0021 0.1016 -0.4538 -15.6262 - 15.4867 33.4494 31.0670 16.7893 6.4957 16.0571 16.9999 3.5875 -1.1144 4.8625 -0.6863 -3.8211 -1.9744 -8.9072 -8.5418 -10.0978 -9.2052 -7.2961 -7.0614 -7.4703 -6.4488 -9.4828 -7.1526 -6.4892 -6.7913 -8.1872 -9.9015 -12.0879 -12.0780 0.2229 0.6948 1.1380 0.0739 -0.1888 -0.1421 0.1878 0.2524 -0.6463 0.3346 -1.9272 -10.9140 - 5.6609 8.4186 9.2335 8.5627 6.3863 5.2965 4.7202 4.1210 2.2470 0.4513 -1.5117 -3.6436 -5.3381 -8.3221 -7.4711 -7.9576 -7.8478 -7.1587 -4.1684 -2.5146 -2.1257 -2.2843 -1.1957 -1.5497 0.8946 0.9399 1.4159 1.7779 2.9627 -5.4497 -6.1886 -3.2681 -2.1330 -0.0404 3.3281 4.7853 6.2760 5.5714 2.7564 -5.6374 7.7525 - 8.2746 28.7187 36.6976 28.2924 10.6085 7.9432 11.5220 11.0743 -0.8646 -3.5525 2.5564 -2.1952 -6.5887 -4.6155 -7.3323 -7.9392 -7.8581 -8.4524 -7.5176 -8.1708 -7.7429 -8.5235 -8.2840 -8.3037 -8.0554 -8.4741 -9.7485 -10.9377 -10.5310 0.6140 0.5808 0.5660 -0.0413 0.0489 -0.0922 -0.0506 -0.0413 -0.2020 -0.1189 -1.2632 -9.9199 - 11.0404 11.4527 12.0166 13.1928 15.2678 14.9233 9.1277 2.3164 -2.7085 -5.3527 -7.7675 -9.0506 -9.7011 -10.3636 -8.8246 -5.5374 -1.0381 4.5069 6.0732 3.0152 -2.7476 -2.7839 0.0922 -1.8194 -6.8672 -9.4573 -9.4575 -5.7898 -3.7583 10.8326 2.8363 2.0266 -5.3026 -6.6996 -2.9341 1.7162 6.9334 1.7529 -2.8185 -8.3432 -20.4214 - 12.4387 12.5027 11.9274 11.7982 12.5741 13.7391 15.0701 16.2946 15.8718 14.4312 13.1234 12.3489 12.0782 10.4253 5.1065 -2.4414 -7.7163 -11.2866 -14.5564 -17.0603 -18.3751 -18.6502 -16.8442 -12.5688 -10.3598 -13.7062 -17.0023 -16.5492 -12.6137 10.1763 4.1712 1.7946 2.0076 0.9052 -2.1595 -3.3835 -3.6172 -3.1645 -2.4570 -4.2730 -25.1913 - 23.6574 23.7960 23.2767 22.0580 20.0235 16.6036 11.9504 7.3306 3.6864 1.7264 0.9711 0.7044 1.0710 2.2585 2.9655 1.1649 -2.9500 -7.6177 -11.4979 -13.5632 -15.3135 -16.4809 -16.2070 -14.4023 -12.2974 -13.2762 -14.7359 -14.0530 -10.8494 8.8738 6.6767 4.8152 2.7736 0.0848 -2.4935 -3.4294 -4.0796 -4.0216 -3.7791 -5.4208 -19.2524 - 24.5799 26.6882 26.1210 23.6936 19.3829 13.8994 6.2899 -0.2105 -4.0678 -6.8423 -8.5308 -9.6576 -10.9976 -12.5439 -13.9320 -14.6340 -14.8621 -14.4895 -13.6415 -12.6341 -10.1213 -4.5540 2.3810 5.5155 4.5043 4.6729 1.5540 -3.0055 -4.5582 9.0263 7.4732 2.8612 0.7241 -2.0536 -2.7733 -3.2059 -2.7189 -1.5532 -1.3601 -6.4198 -12.7575 - 7.6213 8.4172 8.9876 10.4827 12.2597 15.2393 17.4791 18.0965 15.0336 10.0484 5.7655 2.6712 0.2945 -1.4627 -1.9710 -1.0660 1.1600 3.0980 1.1433 -4.1444 -8.2970 -10.7541 -12.9877 -13.8031 -13.3996 -14.1617 -17.1393 -19.3636 -19.2476 6.5354 4.7648 2.4269 0.5232 -1.4945 -1.8813 -1.9640 -1.7311 -1.6530 -1.7955 -3.7308 -24.6643 - 13.5087 13.5242 12.7722 11.8179 11.1371 10.7172 10.5263 11.1693 11.9327 11.7410 11.0557 10.1108 9.3715 8.9355 7.6249 5.0772 0.6107 -4.7883 -10.1816 -14.0801 -16.8600 -18.9941 -20.5775 -19.3418 -15.1559 -10.7533 -12.0838 -14.9402 -13.8764 11.0621 7.6386 4.9345 4.3245 3.4049 0.2756 -3.5276 -6.3143 -7.1008 -6.6692 -8.0282 -24.5342 - 5.8438 4.0764 2.2130 1.0693 0.2917 0.2268 0.3178 0.0571 -0.1220 -0.3299 -0.5484 -0.7221 -0.5026 -0.6535 -0.8270 -0.8342 -1.1830 -1.4780 -1.3638 -1.1982 -1.1886 -1.0489 -0.6640 -0.3974 -0.3609 -0.2538 0.0154 -0.0545 -0.3807 -6.2176 -6.9549 -7.1781 -6.1296 -3.0722 0.1331 2.5736 4.6982 6.3374 7.5607 8.2495 4.9755 - 0.8084 -0.3755 -1.4286 -0.3083 0.4094 0.3217 -1.3855 -3.3308 -4.9621 -6.0578 -7.2055 -8.3467 -8.9662 -9.8798 -8.8811 -7.5773 -5.2881 -2.3523 -0.7359 -2.0640 -3.5321 3.1588 7.1883 8.4965 6.8253 10.0820 14.4185 16.1906 14.7782 2.7472 3.1780 3.1134 1.3703 0.6380 0.5841 -0.0788 -0.4106 -0.5281 -1.2372 -9.3762 9.7708 - 6.0347 7.9306 7.3087 7.5860 8.0389 6.2727 1.7726 -1.9510 -5.1723 -6.4728 -8.8919 -11.0154 -12.2556 -12.0671 -11.6595 -10.0395 -9.5655 -7.4114 -6.3370 -7.0881 -7.2175 -0.9489 2.4220 5.6816 9.0238 12.3465 14.6450 14.7417 14.2888 2.3315 1.6729 1.0736 1.3455 0.9342 1.8468 0.4757 0.6854 0.1631 -0.4447 -10.0841 9.3461 - 46.3168 40.1857 32.9910 25.4126 18.0879 11.1478 4.7370 -0.5137 -4.1524 -5.9367 -6.6956 -7.3488 -7.7462 -7.7468 -7.3670 -6.8462 -6.4988 -7.1096 -8.3038 -9.1796 -8.8798 -8.2279 -8.5672 -9.4950 -9.9228 -10.8964 -12.0330 -12.6718 -12.7395 0.0319 0.3618 0.0496 -0.3085 -0.3788 -0.2193 -0.1354 0.1832 0.4305 0.6666 -0.6818 -13.3710 - 11.6554 10.6537 9.3283 9.0008 10.6684 13.7237 16.3020 16.4883 14.7382 14.1678 15.6614 15.7353 11.5669 3.2738 -3.5965 -7.5962 -9.3860 -11.3905 -12.5797 -12.1046 -11.4132 -10.6087 -9.1391 -12.6739 -14.9908 -15.8921 -11.8803 -12.2627 -17.4496 3.4680 2.4160 1.3256 -0.8144 0.1187 -0.6282 -0.9031 -0.1242 -0.9050 -0.7535 -3.1999 -23.5324 - 12.1675 12.7254 13.2135 14.1985 15.5137 16.9806 16.3379 13.0366 8.3660 4.1955 1.8866 0.9609 0.6094 1.9753 4.6385 5.7596 1.8347 -3.2804 -8.2098 -10.9983 -11.7998 -9.9732 -7.5792 -9.7338 -14.2230 -17.7555 -18.8744 -17.4527 -14.5201 8.5409 5.7667 4.9560 3.2564 0.0271 -3.4128 -3.9385 -3.7737 -3.3325 -3.1328 -4.9568 -24.6241 - 9.1120 9.5643 6.4962 4.5254 2.7757 3.3307 2.9999 2.2174 0.0229 -1.1179 0.0764 1.8616 1.8079 -0.7101 -2.7389 -1.9102 -1.6224 -0.6549 0.4717 -1.0044 -2.5700 -7.5968 -14.5192 -14.0727 -5.9300 1.9148 1.1204 1.1277 5.0226 -1.2631 1.5663 1.1958 1.8714 2.7703 3.0917 1.6973 0.4038 -0.8317 -0.0474 -10.4545 2.3160 - 17.4130 18.4485 19.8230 21.9391 23.4308 21.8507 17.8532 15.0747 14.5401 16.0453 15.3416 9.4703 1.3616 -5.8986 -10.9098 -13.9034 -16.0964 -17.8246 -18.9143 -19.3551 -18.7588 -15.8862 -10.9884 -9.6544 -11.1991 -11.1716 -7.9982 -9.7072 -14.3257 2.4025 0.4919 0.6628 -0.0126 0.2100 -0.6177 -0.6937 -0.1321 -0.2311 -0.0316 -2.0484 -21.0953 - 23.3464 23.7587 23.3198 22.6359 21.2675 18.8080 15.3692 11.2959 7.5849 4.5951 2.3321 0.6206 0.1406 1.2537 2.7028 2.3454 -1.0568 -5.4629 -9.1807 -11.1211 -11.6330 -11.0576 -12.1808 -16.0691 -19.9208 -21.7935 -21.7452 -20.5008 -19.6545 1.7728 0.6055 0.3687 0.2898 0.0010 -0.3228 -0.5114 -0.4052 -0.3988 -0.1360 -1.2637 -21.5300 - -3.6391 -1.8280 -2.2141 -2.8117 -2.3529 -0.6648 0.7132 2.6314 3.0327 3.8765 4.7159 6.0331 6.9840 8.0909 8.2184 7.4433 5.1418 1.2303 -2.8864 -5.9181 -7.2732 -6.6797 -6.8357 -5.8669 -3.4482 -1.6078 -1.4231 -1.7328 -0.9288 5.0214 2.8439 1.2445 2.6452 1.4416 1.0353 -0.6548 -1.6658 0.1662 -1.8989 -10.1785 -9.4487 - 28.5900 28.4485 26.4597 24.2982 20.1833 14.5406 9.8101 7.1801 4.6176 2.4138 0.7001 -2.5862 -4.1909 -6.9729 -9.1018 -9.6205 -10.8810 -11.6812 -10.5387 -10.4340 -10.1742 -2.9512 -0.7690 -7.7471 -11.9011 -14.8085 -14.9057 -14.9118 -13.0663 -2.8812 -2.2219 3.1021 7.3299 4.0256 5.0339 1.4276 -2.9978 -1.6788 -3.5104 -7.6288 -12.8330 - 17.2116 17.2987 16.9789 18.3176 20.7510 21.2753 16.7522 10.5133 5.1142 1.0710 -1.6324 -4.2824 -5.9266 -7.1525 -5.1415 -0.8661 3.3622 1.3492 -3.6601 -7.4519 -9.7242 -8.3497 -5.3860 -9.2331 -14.7369 -17.5440 -17.6867 -15.9040 -15.3169 3.1075 0.5173 0.2992 -0.3406 -0.3000 0.1907 0.1940 0.1470 -0.5000 -0.5615 -2.7535 -21.0709 - -3.1988 -4.0916 -5.2881 -5.3666 -5.4604 -5.6690 -4.5675 -2.8244 -2.3646 -2.2769 -2.5378 -3.9469 -5.3482 -6.8601 -7.9884 -9.9236 -10.0360 -5.5943 -1.7619 2.5871 4.2247 6.6177 8.6593 10.3741 10.0072 13.2806 13.3423 12.7747 13.2373 -10.5369 -13.7286 -14.4672 -7.5571 -1.4016 2.5948 5.6055 7.4460 9.7262 10.9589 11.3600 20.0322 - 6.7783 7.2343 7.5331 7.7761 7.5074 7.6964 8.5725 10.1613 11.2545 11.2432 10.1640 8.2217 5.7244 3.0761 1.5943 2.2900 3.8412 4.4389 2.8003 -1.0955 -5.1726 -8.1891 -9.0934 -10.2132 -12.0854 -15.5298 -19.4471 -23.4981 -23.5838 4.8567 5.6416 5.2432 4.8449 4.3077 1.0329 -3.6054 -4.7530 -5.3304 -4.6545 -7.5837 -26.8960 - 8.4973 9.5790 10.3958 11.0142 10.3482 7.3892 3.2338 0.0093 -2.2260 -2.9444 -3.5594 -3.3833 -3.1035 -3.2915 -3.1816 -1.7272 -1.5694 -1.3090 -0.9698 -1.6827 -1.8826 -2.4935 -2.7299 -3.3411 -3.5987 -3.5349 -4.0664 -5.5150 -4.3567 3.6788 2.2969 2.2073 2.2050 0.4179 -0.5426 -0.2219 -1.2268 -0.5609 -0.3836 -7.8702 -9.1107 - 17.6231 17.9262 18.5472 20.0216 20.3023 17.2887 12.1996 7.3566 4.7274 3.6547 4.0756 5.8810 5.5040 1.8555 -4.4820 -8.8437 -12.2983 -14.1074 -15.7010 -15.7749 -15.0957 -12.7982 -7.9092 -8.3535 -11.5389 -11.4704 -7.3965 -5.1788 -6.0150 7.6735 4.3849 2.0779 0.2256 -0.3031 -1.8488 -2.2661 -1.6177 -1.6092 -1.8719 -4.8451 -18.7476 - 12.8205 14.2684 15.5868 16.7831 17.8071 18.5983 18.8925 18.1800 16.6295 15.0296 14.4114 15.1384 15.0538 11.9286 6.3973 0.5192 -5.4829 -11.2613 -15.9150 -19.5693 -22.3818 -23.8883 -24.2652 -24.1324 -21.6570 -17.7761 -13.9964 -14.5120 -13.2068 12.3627 9.0753 5.2809 2.4178 1.3885 -1.6252 -3.9036 -5.7988 -6.3917 -5.9659 -6.8402 -21.2728 - 20.5006 19.7859 17.9876 15.5578 13.4254 11.0431 7.8434 4.6796 1.3542 -1.1988 -3.1242 -4.8289 -6.6124 -8.2071 -8.4241 -6.4513 -2.4710 0.8654 0.4899 -3.0973 -6.3396 -7.6626 -7.3643 -5.6214 -3.7466 -5.6286 -8.3519 -11.4399 -12.9632 6.3044 6.3906 3.8753 0.4819 -1.9504 -2.6460 -2.8098 -2.5547 -2.1552 -0.9715 -3.9646 -18.7636 - 4.9500 4.5607 3.1720 2.1209 0.3490 -1.0626 -3.5132 -4.7851 -6.2971 -7.3286 -6.8625 -6.4027 -6.8983 -8.1437 -7.2159 -6.5081 -6.2430 -5.2328 -3.1319 -1.8582 -0.2079 -0.4158 1.4593 6.3046 10.2618 11.6043 10.4890 12.3236 14.5120 7.5422 7.3893 6.7744 4.7439 3.7082 1.4685 -2.1681 -2.4628 -6.2634 -5.1931 -15.5390 4.5238 - -7.1410 -6.5576 -5.8532 -3.8568 -2.3391 -0.1389 -0.2988 -0.6152 -1.3909 -2.2598 -3.3096 -3.1888 -4.0487 -5.2444 -3.1046 -1.2460 -0.3725 1.6801 1.7857 1.4104 0.4592 2.1738 4.1615 5.0013 6.4493 6.5541 6.1320 7.0552 8.1032 1.4568 1.3024 1.2345 0.1461 -0.9716 0.5343 1.2784 1.2357 -0.0481 1.4818 -7.6504 7.6553 - 2.7066 2.4471 1.1636 -0.0118 -0.1417 -0.8857 -3.1245 -4.8414 -6.9143 -7.7640 -7.8038 -8.1750 -9.1533 -9.9253 -10.0476 -7.9885 -5.4758 -0.6781 2.4938 3.5356 5.3377 10.4949 13.4549 12.5233 9.2737 7.1566 5.3825 4.3104 2.6502 1.7997 1.0976 0.5063 0.9888 -0.0215 0.8543 0.3799 1.5785 0.4497 0.6056 -8.2389 0.7587 - 15.6038 13.7257 10.7610 8.3191 6.7695 6.1252 5.5801 6.3511 7.5592 7.0879 5.0425 2.3556 -0.6287 -2.0902 -1.8476 1.1771 5.2180 6.2633 2.3465 -3.3395 -7.6295 -9.3311 -8.2251 -8.2814 -12.4973 -15.3911 -16.5987 -12.5111 -11.9141 6.9187 2.6660 -0.5025 -2.5042 -3.4261 -3.1605 -1.1635 1.6816 1.5678 1.5285 -3.6059 -21.5346 - 17.6619 19.2955 19.3999 18.1758 14.7064 10.3380 5.4051 0.8448 -2.7673 -5.8069 -8.5749 -10.4074 -11.7428 -13.3545 -14.7279 -15.0946 -14.9717 -14.1635 -12.0366 -9.1704 -5.5296 1.7983 8.7621 10.6721 9.0083 6.2520 0.4593 -2.8951 -1.5362 17.6102 14.9660 11.8151 6.0356 -2.6221 -10.0292 -11.4635 -9.0063 -4.3623 -3.1041 -9.8395 -15.6595 - 15.5037 19.5752 20.4189 20.0547 19.0780 16.8051 14.6828 13.1886 10.1566 3.7762 -1.1340 -2.4739 -2.6979 -3.0349 -2.9212 -1.9641 -2.1390 -4.2528 -5.4908 -5.4648 -2.3822 1.3316 0.1433 -8.8993 -18.5802 -23.4001 -24.1794 -22.3013 -23.3986 -0.5049 2.4704 -2.1518 0.1889 8.8275 7.0883 -1.7491 -2.8957 -3.5389 -3.5800 -4.1549 -22.0424 - 22.2571 23.2194 23.3933 23.2954 22.5841 20.0392 15.7479 11.5849 8.7700 7.9103 8.1392 8.4163 7.8831 4.6926 -0.6859 -6.5062 -11.4228 -14.8570 -17.9311 -19.2012 -19.8667 -20.3831 -19.2002 -15.1301 -11.0896 -11.7977 -14.4130 -13.8987 -11.5493 6.2481 3.7903 3.5761 3.3013 -0.8054 -2.9745 -3.0920 -3.5267 -2.4910 -0.8625 -3.1636 -20.4183 - 9.8965 9.6623 8.3290 7.4658 5.9247 5.2895 3.6738 3.1009 1.1973 -0.2394 0.0744 -0.2488 -1.7673 -2.8794 -4.7879 -4.3784 -4.5885 -3.9967 -2.8591 -1.8656 -2.4063 -3.7709 -4.0771 -4.7175 -3.4331 -2.4372 -2.8219 -1.4458 -1.8932 10.2458 7.5639 2.7680 -9.9537 -3.5803 -1.8907 0.2144 0.7131 -0.3057 0.1415 -5.9163 -11.5491 - 15.2412 13.6648 11.7460 11.4262 12.4640 13.7257 13.2285 9.7944 4.8606 1.4831 -0.3682 -1.5802 -2.2343 -0.4399 3.1592 4.1899 -0.2603 -4.7397 -7.1446 -6.9457 -6.2341 -4.9071 -5.6164 -9.2612 -10.3548 -11.0953 -11.7433 -14.5977 -17.4609 6.0283 4.4046 1.6269 -0.9371 -1.3835 -1.4248 -1.2533 -0.8106 -1.1426 -1.5174 -3.5905 -22.8504 - 10.9657 10.2369 8.6562 6.5066 5.4153 4.3801 3.7307 2.9701 3.0231 3.9620 5.6227 6.8354 6.8607 7.7333 9.3711 9.9052 7.3966 2.1887 -3.3161 -8.0311 -11.2107 -14.2345 -15.6874 -15.1299 -12.3738 -7.8431 -8.1800 -10.6370 -9.1168 12.4941 8.2803 6.3797 5.8238 4.5394 1.5368 -3.0238 -7.3749 -9.2127 -8.2187 -11.2239 -21.6561 - -1.8184 2.4357 5.5586 6.9268 6.9316 6.6729 5.8397 5.6316 4.9978 3.5427 2.8029 2.1519 1.5431 0.6158 0.3469 -0.5160 -0.7873 -1.1647 -1.4196 -2.0573 -2.9471 -3.3866 -4.0651 -4.9043 -5.5018 -6.2789 -6.6909 -6.9740 -7.4862 0.3871 0.0109 -0.4655 -0.7491 -0.9646 -0.7984 -0.5764 -0.2825 0.8617 1.8001 0.7766 -8.6084 - 26.9824 24.7422 20.3883 16.4687 12.7850 8.7194 4.1423 1.1187 0.4923 1.2950 1.3167 -1.4325 -5.9855 -8.8959 -10.4619 -7.3170 -2.2777 -2.0173 -3.2424 -2.3419 0.2272 1.3235 1.3113 -5.1772 -12.0604 -15.3385 -15.4975 -15.3067 -13.9604 3.9044 0.9553 -0.1050 -0.6867 -0.6467 -0.6666 -0.6241 -0.2928 -0.2046 -0.3915 -1.2419 -18.1483 - 17.4264 17.8739 18.0003 19.1004 20.7794 20.0129 15.2235 9.3432 5.1301 3.7231 2.3327 1.2995 1.8338 4.1579 7.7891 10.5489 10.0894 9.6396 4.8572 -4.9005 -15.2998 -20.5168 -23.2742 -23.9530 -23.5530 -22.1290 -20.9638 -20.9315 -23.6395 0.5658 0.7030 -0.1044 -0.6743 -0.6856 -0.7350 -0.3973 0.2942 0.8749 0.8195 -0.6608 -23.7592 - 11.0645 10.9010 10.3455 9.1551 8.2401 8.4773 10.1716 11.9195 13.3973 14.3030 14.0566 13.0477 11.7356 9.5219 7.8300 6.8087 4.1182 -0.0372 -5.3649 -10.0547 -11.7439 -11.6649 -9.2813 -10.9454 -17.6273 -22.3121 -25.1873 -26.7049 -24.1694 1.5313 -0.0939 -0.8118 -1.4436 1.2266 2.0907 1.6972 1.5907 -0.0005 -1.5372 -4.2496 -26.6400 - 7.2201 8.5015 11.5206 11.9242 7.9280 3.2514 0.5668 0.7646 1.2768 1.9716 3.4275 3.9772 2.0908 -0.4764 -2.4307 -1.9307 -0.2561 1.3364 0.1271 -2.1785 -4.4197 -5.1263 -6.3740 -7.1163 -6.5611 -6.9173 -7.2567 -7.3864 -7.4542 4.2215 2.4770 1.4908 0.9538 0.2780 -2.2207 -1.8537 -1.0888 -0.2235 0.3010 -4.3353 -11.8723 - 9.0358 8.4259 6.9459 5.2890 4.7496 6.3098 9.2991 13.3013 15.9079 15.5390 12.4964 10.6440 9.7104 9.7273 8.5423 3.6988 -2.7453 -8.0067 -11.5004 -13.3609 -14.6771 -13.2598 -11.3050 -7.8208 -9.6607 -12.4588 -13.3476 -14.2784 -17.2010 1.6164 -1.2748 -1.3834 -0.4721 0.9792 1.3035 2.0628 2.1638 0.6958 -0.7525 -4.9387 -23.7718 - 9.9565 8.4628 5.9625 4.3300 2.9878 3.3325 3.4110 2.9855 3.4264 4.1032 5.0697 5.2769 4.9009 3.1001 1.4373 -0.2640 -1.8960 -3.0143 -3.5656 -4.3939 -4.4464 -4.6800 -5.3044 -6.0923 -5.6495 -6.5418 -7.2604 -8.5353 -7.0993 1.0313 1.1537 1.5169 0.9291 0.7698 0.3306 -0.6705 -0.6783 -0.1746 -0.1455 -4.0627 -9.9902 - 8.8206 8.3311 7.6969 7.4773 8.8832 10.4436 11.5039 11.5920 9.4044 5.3729 2.7965 1.9244 0.8440 0.9343 3.0627 6.0994 4.9989 -0.1279 -4.3740 -6.7306 -7.8914 -6.9026 -5.4598 -8.4881 -12.8495 -16.5109 -17.0277 -14.2238 -9.5997 15.6704 10.6049 9.8440 7.9028 1.2354 -5.4491 -8.2374 -7.8730 -7.9121 -7.2858 -8.5000 -25.1681 - 28.0340 39.0868 27.1887 10.6361 11.9455 17.4394 5.1212 0.4727 0.9604 -3.2583 -4.9003 -4.7245 -5.4538 -5.8998 -6.9947 -8.1227 -7.9559 -7.4467 -7.2961 -8.3144 -8.2615 -7.4930 -6.2339 -6.9302 -6.7710 -7.9933 -8.7878 -9.0802 -8.9666 0.2832 0.1164 0.0146 0.0499 -0.3417 -0.2028 0.0292 -0.0176 0.3328 0.3092 -0.5731 -8.1546 - 13.2856 13.6736 13.8385 14.2800 16.0154 17.1010 16.3952 13.2274 9.9508 8.9754 9.0915 10.0588 8.7910 4.7013 -0.6836 -5.8039 -9.0189 -11.2256 -12.7340 -12.4440 -11.1395 -8.8600 -7.8172 -12.7618 -18.4517 -20.0185 -18.1437 -12.9371 -7.3458 15.2491 9.0836 7.8889 2.1805 -3.0815 -5.2994 -5.5285 -5.1346 -5.1469 -4.4882 -5.7230 -22.9727 - 13.2791 36.0460 37.8677 20.5156 1.8115 5.3912 6.3369 -1.8419 -4.5104 -2.1483 -1.6031 -4.4187 -2.3622 -5.5552 -5.8859 -5.4153 -6.3869 -5.0848 -6.7256 -6.3113 -6.6644 -6.7067 -6.3379 -7.1113 -6.5094 -6.6908 -7.2644 -7.5701 -8.1431 0.0788 -0.2498 0.1241 -0.2112 0.0855 -0.0675 0.3132 0.2893 0.0553 0.4068 -0.8245 -8.0347 - 7.9344 6.5125 3.7957 3.5965 6.7588 12.6940 16.5097 15.1028 8.0593 1.9598 -1.2146 -2.5926 -3.3772 -1.3486 3.1728 5.8914 1.9225 -4.7654 -9.1401 -9.7051 -8.8318 -4.5607 -2.0376 -6.2450 -8.0736 -8.0805 -5.2827 -6.9369 -11.7180 7.2258 3.3652 1.3586 -1.1046 0.1664 -0.3445 -1.1860 -1.2597 -1.3364 -2.1233 -4.7616 -22.1072 - 21.0378 20.1437 17.5203 14.9435 12.2481 9.7639 5.5990 1.4969 -1.3751 -3.1146 -3.9190 -4.7517 -4.5423 -4.8816 -3.7907 -3.1560 -2.1567 -0.7505 0.1795 -0.4587 -2.1088 -3.6718 -5.6034 -7.3929 -8.2906 -9.5520 -10.5896 -12.2849 -10.5415 -10.7549 -8.4301 -5.8121 -1.4994 2.1408 6.5891 7.6924 9.5764 7.2596 6.0779 -12.8398 -1.9629 - 10.7156 9.5865 7.6225 6.9649 7.0204 6.9685 5.2279 3.7124 2.4551 1.6576 1.9988 3.6736 4.0688 1.8389 -1.2786 -2.3368 -0.4395 1.0954 3.9267 3.5576 -1.4334 -6.6048 -9.7760 -10.9008 -10.7709 -9.3430 -10.2106 -9.7590 -9.2378 2.5943 0.3766 -1.2329 -1.3523 -0.5254 -0.1927 -0.3463 -0.4383 0.4702 1.6846 -1.0379 -12.5558 - 24.0580 24.4379 23.9745 23.0444 20.8465 16.8979 11.8130 7.1514 3.3680 0.5959 -1.6053 -3.7180 -5.6992 -7.0693 -6.5902 -3.1806 1.0957 2.1175 -1.3667 -5.8106 -7.7326 -6.3061 -6.7167 -11.4328 -17.2877 -19.9514 -19.4929 -18.2702 -17.1703 1.8172 -0.1844 -0.2118 -0.1481 -0.6409 -0.6132 -0.3659 0.2614 0.3884 0.5934 -0.8960 -20.2332 - 19.4765 20.1390 19.4603 17.8222 14.3397 10.2003 4.8581 -0.7364 -4.1646 -6.0966 -7.2789 -8.6454 -10.5389 -11.5302 -9.4624 -7.2408 -3.9524 -2.2222 -4.3879 -6.9029 -9.6078 -8.5139 -4.7196 -4.0072 -5.4425 -3.2306 1.5193 5.0300 5.8358 16.6913 13.7800 8.0790 4.9477 0.9965 -4.7924 -7.0379 -7.8346 -6.8472 -7.4504 -10.5321 -11.1317 - 18.8135 17.0829 14.0965 11.2672 7.9285 3.6326 1.0246 1.6274 5.2441 9.5096 12.7855 11.9891 9.9900 8.1345 7.9624 7.3196 8.1668 7.4695 3.3884 -5.5692 -13.6276 -18.3033 -22.2152 -22.3568 -16.4382 -9.9941 -12.6602 -22.2049 -24.0632 8.0300 3.8659 0.4870 0.5409 0.8745 -0.3373 -1.1358 -2.3213 -3.1408 -3.2458 -3.6172 -26.2789 - -3.1846 -2.1461 -1.3884 -2.1168 -3.4536 -2.2068 -1.9328 -3.2837 -4.0724 -3.4451 -3.7064 -3.4490 -5.5867 -7.8526 -8.9224 -10.9618 -10.4140 -7.1444 -2.6930 1.6890 4.0196 6.3300 6.7767 10.2897 10.6153 11.6584 13.3164 12.9788 10.2869 -8.7628 -13.5736 -14.7094 -7.7628 -1.0738 2.3985 3.7455 7.9153 9.1097 10.9709 11.7425 19.7352 - 7.2036 10.7988 12.0301 12.6700 13.9090 16.0294 17.1742 15.7924 13.0556 11.3737 9.8981 9.7580 10.0550 8.6757 4.3930 0.9731 -2.5467 -5.8685 -7.3935 -7.9704 -6.2553 -7.4006 -13.7008 -21.8328 -25.5284 -24.9555 -17.2740 -13.6475 -19.4157 -0.8046 -1.7221 0.6106 5.7975 8.4089 4.3333 -1.5262 -3.2110 -3.4206 -4.0492 -4.4166 -25.3279 - 15.5255 15.8281 15.8649 15.5717 15.2512 14.5946 13.3549 11.7660 10.2176 8.4641 7.0906 6.0253 5.1563 4.7439 4.4714 3.6019 0.9681 -2.7655 -6.2281 -9.0931 -11.2485 -13.4855 -15.2719 -16.2999 -17.2510 -18.5206 -20.9106 -20.3915 -17.0300 7.3780 8.0307 7.8850 7.6236 5.1345 1.2557 -3.7418 -6.8045 -8.6459 -8.6051 -9.5101 -22.9827 - 26.7348 25.8552 24.2536 22.1680 19.2892 15.0670 11.8818 10.3490 10.6841 11.6366 12.5339 12.4939 11.6206 9.1288 4.6195 -0.5596 -5.8142 -10.4221 -14.3446 -17.6431 -19.9802 -21.2101 -22.1807 -21.9000 -20.1487 -18.1387 -18.1454 -19.6347 -18.1941 5.5041 1.7390 -0.1498 0.3482 -0.1172 -0.9670 -1.1456 -1.3452 -1.2394 -1.1363 -1.4910 -21.2326 - 16.9370 16.4331 14.8117 13.5840 11.6269 10.1575 7.6822 5.8162 3.2955 0.7078 -0.9400 -2.4858 -3.3054 -4.9715 -5.4040 -5.2105 -5.0578 -4.9223 -4.7159 -4.8903 -5.6388 -6.4062 -6.4586 -6.1964 -6.2205 -6.7543 -6.8166 -7.3223 -7.3349 -2.3860 -1.5474 -0.5275 -0.2007 0.8700 2.1354 2.2672 1.9194 1.3885 1.7931 -5.7120 -7.0233 - 18.1837 17.9105 17.8502 18.6001 17.6649 14.2299 8.9135 3.9793 0.2595 -2.5341 -4.9127 -7.3705 -8.6080 -10.0958 -9.6568 -8.5105 -6.6859 -1.7349 3.3029 3.1008 0.1928 -0.6889 -2.6251 -6.0340 -10.0800 -12.4257 -10.0527 -7.9815 -14.1909 -0.8841 -2.2545 -2.1948 -0.1934 1.8452 1.5870 0.0467 0.8860 1.7017 2.0046 -2.5444 -18.3771 - 8.7179 7.6147 4.8975 2.3828 0.6009 0.0492 0.7007 3.0024 5.6126 8.3164 9.7108 8.5643 5.5842 2.4437 0.8618 1.4883 2.2665 4.0837 2.0839 -2.0359 -5.2412 -7.0937 -7.9286 -7.0963 -7.3007 -8.8955 -10.5985 -11.5307 -11.2613 4.1091 1.9827 0.6908 -1.0075 -0.1945 -0.4742 -0.4650 0.2047 0.0728 -0.1453 -4.7735 -16.8928 - 26.5577 26.0733 24.6549 22.5723 19.6449 15.1079 9.6936 5.0965 2.0343 0.4929 -0.5100 -0.7852 -0.6639 -1.6495 -4.5761 -7.3418 -9.5136 -10.9969 -12.3139 -12.6940 -11.8566 -8.9787 -3.5622 1.2887 1.2102 -6.9904 -16.4084 -22.1027 -23.4832 -1.8879 0.4885 2.0094 -0.3326 -2.5347 -2.2882 -2.5729 -1.0909 0.4876 5.9716 1.7500 -19.5897 - 35.3242 34.3711 32.2680 29.4806 25.8876 21.5217 17.0469 12.7325 8.2745 3.7170 -0.9461 -5.4939 -9.1998 -10.9322 -11.5916 -11.7605 -11.9938 -12.5431 -13.0923 -13.2971 -13.3947 -13.1377 -12.6123 -12.5003 -13.0962 -13.2815 -13.6530 -14.1174 -13.9808 0.5697 0.0342 -0.0298 -0.0559 -0.1023 0.0891 -0.0151 -0.1749 -0.0061 0.0508 -0.3598 -13.8339 - 10.0703 9.7251 9.1433 8.8944 8.6180 8.9798 8.7995 7.6156 6.5867 6.0265 5.9165 4.8201 3.4139 2.6360 2.7630 3.8113 3.0665 -0.1580 -4.1852 -6.9646 -8.5002 -7.9262 -6.4833 -8.3135 -11.7801 -15.4185 -14.2921 -13.7284 -13.1365 1.2932 3.3955 6.0907 4.2778 4.2667 1.2855 -2.6003 -1.0796 -3.6746 -1.8634 -11.3916 -19.3656 - 23.3051 24.1993 23.9215 23.6862 23.1858 21.5213 18.1183 13.5369 8.5586 3.3648 -2.7305 -8.4197 -12.7332 -14.9501 -15.7545 -16.1289 -14.8115 -12.7042 -10.1815 -6.8723 -4.1455 -3.1746 -3.2618 -1.9552 -2.0348 -7.0796 -14.1032 -17.0807 -15.2758 6.0612 4.0067 0.6827 -0.7321 -1.3626 -1.3544 -1.3699 -1.2448 -1.0738 -0.8706 -2.7423 -19.3798 - 15.2674 16.9866 17.1277 16.7099 15.7308 13.2318 9.2970 4.9391 0.8073 -2.3215 -4.1763 -5.4190 -5.9209 -6.5426 -6.5178 -6.1109 -5.5659 -5.2001 -5.0134 -5.0517 -5.0368 -5.4231 -5.5314 -6.1976 -6.3703 -6.2889 -5.3624 -6.1367 -5.9099 -8.0750 -7.3361 -4.4931 -3.1183 -2.2693 -0.4450 2.6648 5.7080 7.3558 8.7204 1.2878 -1.4334 - 16.2521 17.5727 18.3716 19.7318 20.2218 17.5895 11.4595 3.5824 -4.4163 -9.7646 -11.0944 -11.4598 -11.7153 -11.2087 -10.3436 -9.4990 -7.9409 -5.7447 -1.7839 3.2246 5.5449 5.2691 3.5281 1.4077 -0.7885 -7.8706 -13.4426 -14.7741 -11.9087 8.1501 11.0831 13.4143 10.3995 2.9803 -3.3969 -7.2017 -8.5882 -8.4386 -8.7227 -9.6791 -18.7880 - 13.3298 15.6004 16.9495 17.9742 18.6413 18.0052 15.3407 10.8188 5.7704 1.6139 -1.5541 -4.5241 -6.8500 -8.6887 -10.0915 -10.3456 -9.1067 -7.2349 -3.6908 -0.4604 -0.7272 -4.5894 -7.5233 -6.1277 -2.5212 -4.8361 -11.8782 -16.9767 -16.3176 9.5140 11.6129 9.6344 6.8283 1.8214 -5.0008 -6.9907 -7.4822 -6.7860 -5.3530 -7.7983 -21.5097 - 5.8509 5.0121 4.1809 3.1146 2.3783 3.1729 5.0219 8.3707 10.9759 11.2270 8.3063 4.3902 0.4943 -2.3167 -1.6450 1.9935 5.6473 4.3761 -0.8021 -4.8923 -7.3829 -8.9257 -7.0734 -4.5608 -5.6127 -9.9029 -12.5815 -12.1258 -6.6911 19.4769 13.9666 10.8452 9.4207 4.2670 -4.7851 -10.4839 -11.6782 -11.7512 -9.0329 -10.2450 -24.1213 - 21.8999 23.2973 23.7997 23.4635 22.0363 18.0109 11.7586 5.0662 0.6662 -2.2727 -5.6763 -8.5064 -10.4473 -10.5884 -9.8688 -7.3515 -1.6565 4.9891 8.0386 5.1463 1.6954 -0.6651 -6.4585 -12.0333 -17.0640 -19.1042 -20.0560 -19.6043 -18.5148 1.3036 -0.0062 -0.2979 -0.3133 -0.5330 -0.7489 -0.3368 0.3007 0.2781 0.7521 -0.3986 -20.6963 --10.8987 -3.8431 0.8023 3.7818 5.0658 6.8699 5.8536 5.2186 3.8311 2.2420 1.7635 0.0185 -1.2264 -1.7443 -3.2128 -1.6985 -0.4682 -0.6943 1.3731 2.1612 2.0833 0.9470 -0.8848 -2.3964 -2.7117 -2.4339 -2.8978 -3.2996 -3.6012 2.7097 2.9692 3.1594 3.0175 3.5504 2.5518 -0.2289 -2.0950 -2.3143 -3.3310 -9.9888 -7.1246 - 24.4808 26.3759 27.5940 28.3806 27.5669 22.5831 15.7417 10.5723 9.0486 9.8475 11.5983 11.3131 7.1102 0.2086 -7.1702 -11.9730 -14.3609 -16.1449 -17.3317 -17.8091 -17.4066 -16.0482 -15.0664 -15.2895 -16.4422 -17.0076 -17.0725 -17.2911 -16.0079 1.3349 -0.0323 -0.0023 -0.0696 -0.4582 -0.2103 -0.2903 -0.1486 -0.0517 0.5839 -0.6555 -18.4443 - 17.9414 16.0904 14.3699 13.3391 11.1223 8.3964 4.9840 2.4988 0.7921 0.1608 -0.2310 0.1816 -0.4705 -2.1166 -2.9171 -3.7835 -3.0302 -2.2559 -1.9600 -0.9583 -1.2307 -3.4055 -6.3253 -8.4085 -9.7194 -10.3891 -10.6675 -10.8207 -11.1873 1.0986 0.4777 -0.0911 -0.0850 -0.2734 0.0140 -0.2098 0.7129 0.8980 1.8977 -4.4395 -12.1029 - 12.4723 14.3737 15.7331 17.5345 18.5865 17.4102 13.1675 8.1222 3.7914 0.4168 -2.7856 -5.0694 -6.1658 -6.8186 -6.5122 -3.9192 0.1995 5.0703 4.8669 1.2909 -0.9029 -1.6452 -6.8885 -13.7427 -17.9265 -18.6395 -13.8409 -11.8927 -16.2860 1.0018 -0.4130 0.2921 0.9706 3.0372 2.3311 -1.1419 -1.4680 -0.8370 -1.0945 -2.6785 -23.0503 - 16.1352 15.6199 13.6322 10.9321 8.0808 7.3912 8.2284 10.3433 11.9724 11.5988 9.3631 5.6849 2.7468 -0.1363 -1.7113 -0.5317 2.3026 3.9081 0.3916 -4.3635 -7.2068 -8.5384 -8.4550 -8.9540 -13.2029 -18.1608 -21.6849 -22.2538 -23.1320 1.1059 0.2225 -0.9789 -1.0458 -0.6792 -0.6786 -0.0893 1.8547 2.2928 0.8548 -2.8591 -24.9911 - 28.0419 26.8927 23.9676 20.3423 17.0949 14.1432 11.1170 8.5048 5.9497 3.7523 1.8284 -1.1682 -4.2200 -7.3805 -9.6413 -9.8772 -7.8838 -5.3446 -3.5410 -3.9253 -6.0372 -7.8179 -8.6390 -8.2594 -11.0251 -14.9594 -17.1292 -17.6345 -17.1513 2.0146 1.0165 0.2708 -0.3124 -0.5924 -0.7003 -0.5256 -0.1176 0.1111 -0.0740 -1.0907 -18.2597 - 30.4937 29.9533 27.0130 23.2537 19.3056 15.2225 11.4303 9.6244 9.1658 8.8058 7.5946 3.9214 -0.3706 -4.6724 -8.3883 -10.6272 -11.6333 -12.3129 -12.9451 -13.0994 -12.8851 -12.7290 -13.3639 -13.9071 -13.6304 -13.0095 -13.0398 -14.2416 -14.9284 0.6244 0.4573 0.2518 -0.4563 -0.2954 -0.1108 -0.0098 0.1405 0.0912 0.3156 -1.0087 -16.5521 - 23.7058 24.6386 24.6540 23.9896 22.7528 20.4522 16.9148 13.0348 9.6982 7.0016 4.5976 2.1220 -0.6149 -3.6746 -5.8863 -5.9902 -4.5281 -3.6266 -4.8920 -9.1128 -13.5269 -16.4106 -17.2411 -16.4096 -15.1425 -15.8149 -18.5726 -21.0323 -21.0860 0.9700 2.5909 2.5737 1.8731 0.5116 -0.3889 -0.5545 -1.3812 -1.8817 -1.7258 -2.5873 -20.1722 - 22.2050 22.3808 20.3781 16.4796 12.6684 8.8562 3.8726 -0.8910 -3.6288 -4.2849 -3.4387 -1.6917 0.1253 1.9297 2.5614 1.1487 -1.7631 -3.8451 -4.6916 -4.6895 -4.3072 -5.2689 -7.0584 -8.3927 -8.7357 -10.2762 -11.8104 -13.7994 -14.0324 5.7540 5.5094 3.1104 0.8059 0.0318 -1.6334 -2.2746 -2.0707 -2.1335 -1.8766 -5.2228 -18.1315 - 17.6753 18.8195 20.1357 22.2056 22.9569 20.8704 15.5249 10.2701 6.9749 6.5302 7.5814 7.0271 2.6959 -1.7891 -4.8427 -7.5373 -9.7567 -11.0890 -11.6891 -11.8800 -12.2196 -11.3183 -11.2853 -12.8185 -14.2184 -14.2772 -13.2856 -15.1315 -16.1298 1.6839 0.9589 0.5363 0.3560 0.0003 -0.3851 -0.4445 -0.1741 -0.4978 -0.0434 -1.9906 -19.7528 - 16.9830 17.0052 16.9926 18.4021 19.9925 19.1283 15.4081 10.3401 5.5724 1.5019 -1.4332 -3.0065 -3.3422 -1.3956 2.0439 4.2794 1.1281 -3.7178 -7.4632 -8.5376 -7.6364 -6.3039 -11.6545 -18.3967 -21.4453 -20.7880 -16.5366 -10.0359 -7.0843 11.0713 4.6537 0.5072 -0.3393 -0.6602 0.5953 -2.0626 -2.4851 -3.0603 -3.5773 -4.6428 -20.8691 - 17.7707 19.5364 20.6287 20.9849 20.0930 17.6674 14.5484 11.0817 6.9020 2.2545 -2.3356 -5.7371 -8.9898 -12.8304 -15.5822 -17.0433 -18.8124 -19.7104 -19.4116 -18.1842 -15.3531 -8.7155 -0.1993 4.7176 5.4518 4.7364 1.7967 -2.2008 -3.0647 15.0410 12.3154 5.6659 1.3689 -3.8672 -5.9083 -6.0931 -4.9235 -3.3736 -2.9423 -7.2832 -16.8582 - 9.1549 8.6933 7.8990 7.7096 7.5098 8.0171 9.2410 10.6919 12.1971 13.4831 13.6508 14.1654 13.7371 10.9089 4.6506 -2.3217 -5.6454 -8.0201 -9.9057 -10.0159 -10.6042 -10.3898 -8.1978 -9.7430 -12.7378 -17.4512 -17.2848 -13.5900 -15.8022 0.6882 4.3643 6.0400 2.5052 2.9297 1.4706 -1.9898 -0.8867 -4.2772 -3.0450 -7.7994 -22.2645 - -7.8843 -6.8506 -6.0261 -4.4439 -3.8369 -1.9649 0.3352 2.3185 3.0465 3.3257 3.5540 4.6680 3.7349 2.5291 2.4128 3.7790 4.5682 5.6219 5.4149 4.7479 2.2185 -0.8515 -1.7161 -2.4559 -2.0632 -2.2051 -3.7165 -3.1032 -5.1569 8.1350 6.3528 5.3232 1.0605 1.2735 0.2509 -2.2104 -2.9957 -3.4893 -2.5108 -11.1898 -12.1806 - 19.3396 19.9410 20.3727 21.0809 21.0327 19.1352 15.1028 10.7594 7.8609 7.5499 8.5005 9.7060 9.1824 5.3617 -1.3028 -5.6212 -8.2717 -9.5373 -9.7484 -8.8869 -7.1221 -9.0450 -14.6697 -18.5948 -20.2891 -20.4076 -19.8130 -20.1946 -21.4218 1.2915 0.6782 0.3569 -0.0683 -0.4830 -0.2926 -0.3937 0.2610 0.1608 0.1333 -1.6440 -22.5256 - 2.7246 2.5148 1.4831 1.8238 1.6121 2.4035 2.7381 2.9387 2.1358 2.0826 2.3275 2.3406 1.9098 0.1135 -0.7424 -0.9928 -0.9805 -0.2098 0.5803 0.3688 0.0187 -1.6561 -1.4168 -1.4577 -1.3632 -2.6140 -4.7663 -7.0691 -6.8479 2.3665 2.3301 1.9626 1.0968 1.9491 1.1267 -0.1355 -0.0256 -1.2772 -1.4379 -7.9556 -8.3907 - 4.5290 1.5249 0.3659 0.0056 0.8630 3.3152 1.1307 -3.3632 -4.3601 -3.7553 -5.0257 -5.6659 -5.3754 -4.9885 -4.3119 -4.9927 -6.0531 -10.2279 -4.3307 2.1887 3.8591 8.8378 4.5088 3.9006 4.9936 11.1237 3.0140 -1.5171 9.8068 13.2445 7.3306 5.9252 9.0687 7.7216 4.0675 11.9777 11.3110 -23.2633 -23.8643 -23.5193 -4.4759 - 22.1510 23.1727 23.3097 23.0639 21.6223 18.4164 13.8969 8.9695 4.5053 1.2957 -1.3036 -3.3247 -5.1402 -7.1172 -8.6948 -7.8753 -4.6461 -1.4461 -1.0227 -4.3094 -8.8842 -11.9962 -11.9234 -9.0257 -6.5369 -10.3321 -16.4292 -19.9706 -20.4250 2.3851 5.8201 6.5059 3.9876 0.3330 -2.1429 -2.8980 -3.4857 -3.4682 -2.4183 -4.6186 -20.0780 - 11.7456 12.7989 13.3162 13.8312 14.7779 15.3799 14.0233 10.9089 7.3194 4.1768 1.7992 0.0512 -0.9458 -0.5202 1.3786 3.4860 2.0668 -2.3920 -7.4022 -10.7590 -12.9261 -14.3064 -12.7761 -8.6791 -8.3015 -10.8632 -13.2729 -14.2798 -9.6355 15.8594 13.6933 9.1741 8.4349 3.8782 -4.9728 -8.7226 -9.3197 -9.3643 -8.7767 -9.8839 -22.4690 - 22.5139 20.9546 19.1373 16.9050 14.6133 12.3135 10.2395 8.4844 6.9510 5.0069 2.4662 -0.4380 -3.5684 -7.0424 -9.9771 -11.1936 -9.8800 -6.3251 -3.0189 -1.9735 -4.9442 -9.7372 -12.9352 -11.8709 -6.8801 -5.6880 -9.6188 -12.4995 -11.9948 12.0588 11.2938 8.1711 2.3960 -3.1587 -5.3733 -5.8980 -5.6220 -4.8347 -3.2857 -5.7474 -21.5935 - 26.6734 23.8620 18.3470 12.7193 8.0473 4.8602 2.4155 1.4627 1.0558 0.6193 0.2671 -0.5986 -1.6798 -2.4678 -2.2065 -2.9360 -2.8372 -4.0092 -4.4380 -5.3046 -5.8491 -6.4148 -7.4157 -7.9456 -8.4776 -9.0352 -9.1998 -9.5061 -10.0078 1.6300 1.3410 0.6385 0.2013 -0.3629 -0.2927 -0.3661 -0.3133 -0.0630 0.4392 -2.8520 -12.0787 - 9.0155 7.9133 6.4106 6.4968 8.6477 11.6576 14.8601 16.0323 14.2529 11.8653 10.9041 9.9373 7.2309 2.3059 -4.1636 -8.0163 -9.7982 -12.7129 -15.1421 -15.4797 -14.8005 -12.8340 -10.4715 -5.8560 -5.3611 -5.0344 -3.5840 -5.3517 -8.9240 11.0430 4.7986 3.1188 -0.3636 -1.4561 -1.9319 -2.5464 -2.3041 -2.3666 -3.0258 -4.9659 -22.6702 - 9.0489 10.4274 10.5425 10.8125 12.0032 13.7184 13.0711 9.6959 5.4837 1.6077 -1.9964 -4.4495 -7.8808 -10.2103 -11.6407 -11.4255 -9.7241 -7.5467 -3.5478 1.8951 3.5718 1.5955 -0.5403 0.5662 0.2415 -4.3154 -9.5295 -11.0052 -10.4693 11.1024 7.2333 6.1462 4.3929 0.7029 -2.0309 -3.7294 -5.1402 -4.8388 -4.6151 -9.2233 -21.2734 - 11.5593 10.3420 8.9170 7.7962 6.0867 5.9638 3.8519 0.4188 -0.7715 -1.3184 -1.5894 -1.6173 -0.5956 0.0397 0.9980 0.6720 -0.2103 -4.0838 0.9485 2.7667 1.7723 -0.8231 -4.4419 -7.1686 -8.5571 -4.2281 -12.0695 -12.5608 -2.0974 7.0256 2.5786 2.8194 7.2989 5.3493 3.5256 11.6032 11.1767 -16.6084 -17.8153 -16.9535 -14.6567 - 24.2288 25.1078 25.3408 25.2954 24.6890 22.7229 18.9908 14.5853 10.6023 7.4918 5.2132 4.6660 5.1836 5.0476 2.8795 -1.3269 -6.1170 -10.7585 -14.7563 -17.5071 -18.3274 -18.4398 -17.9983 -17.5700 -18.5575 -19.7750 -20.4184 -20.5476 -19.9453 1.4677 0.8990 0.5256 0.5195 -0.1930 -0.5086 -0.7678 -0.6113 -0.2499 -0.1187 -0.9625 -20.0880 - 1.3606 0.3524 -0.4981 -3.0376 -5.4591 -5.1861 -5.3381 -7.9395 -4.6276 -1.6746 -2.1073 -1.7720 2.3082 5.2620 5.3649 4.6501 3.6803 -1.4394 4.4940 9.4882 7.6591 6.7428 -0.6196 -2.1749 -1.2855 2.9511 -4.6673 -9.5251 3.0380 18.0806 14.1151 9.1210 5.7949 2.4151 -7.5054 6.8950 -0.4827 -16.5385 -16.0700 -15.8252 -15.5778 - 21.5243 22.4067 22.6543 21.9383 19.0581 14.0232 8.4188 2.8494 -1.1924 -2.9917 -3.8222 -4.1823 -4.8633 -4.9565 -2.8338 0.9516 2.0941 -1.6445 -6.8552 -9.9590 -11.1205 -11.0602 -8.6668 -7.9525 -10.6286 -14.0950 -13.9349 -10.3116 -4.8478 13.9994 11.9398 8.0010 4.2542 -0.6981 -4.9047 -6.1557 -6.5212 -6.7797 -5.8456 -7.2894 -17.9998 - 13.8275 13.6751 13.2793 13.1536 13.5104 14.6497 15.6909 16.1684 15.2109 12.8857 9.6156 6.4230 4.2876 3.2525 3.1015 2.9273 0.8232 -3.7600 -9.4442 -13.3046 -15.6203 -16.1398 -14.4329 -11.4384 -11.9914 -16.0394 -20.1422 -21.4553 -18.7137 9.9896 6.0754 2.5716 1.2147 -0.1252 -2.8394 -3.5768 -3.1998 -3.2277 -2.5626 -4.3197 -26.1243 - 1.0072 1.0349 0.4547 2.0233 3.1568 3.6248 2.6871 2.1595 0.3986 -1.1817 -0.8372 -0.4964 -1.1310 -1.3530 -1.2089 0.5624 1.6332 2.6953 2.6143 2.1661 1.0687 -0.5002 -1.8630 -2.0422 -1.9290 -2.0051 -4.7328 -5.7009 -2.3057 -9.2017 -9.1260 -10.3545 -1.5749 2.8548 5.5584 7.3199 8.4704 7.1113 6.4743 -7.5320 8.8174 - 22.3237 20.1229 16.3186 14.9885 15.8060 14.2422 9.0206 4.5767 2.3692 1.2439 -0.3609 -2.4418 -4.3713 -8.0945 -10.8110 -9.9282 -5.6299 1.8658 5.9594 1.6554 -4.8836 -8.0129 -7.8686 -4.1518 -10.8846 -16.3956 -17.6436 -10.8807 -8.1336 8.1699 0.1374 -2.1155 -2.7808 -2.5717 -2.5099 -1.4743 0.4020 2.8792 2.7754 -2.9117 -19.9846 - 14.9448 13.3235 11.0690 7.7970 3.6467 1.2905 -0.1418 0.0865 0.0848 0.1249 -0.0042 -0.4006 -0.5457 -2.0216 -2.4005 -2.6631 -2.7574 -3.4930 -3.6341 -4.8530 -3.8008 -4.5467 -3.9983 -3.1834 -3.3005 -2.2570 -2.3485 -2.8054 -3.2121 -8.3072 -10.2892 -11.0655 -7.2025 -2.5835 1.3158 3.9103 6.1494 8.7822 9.4411 9.8490 4.1623 - 17.4109 16.3957 12.7323 9.0568 6.0296 4.0628 1.3809 -1.0636 -2.5917 -3.1282 -2.4806 -2.6332 -2.6331 -3.0197 -3.1246 -3.2078 -3.2369 -3.3087 -3.5259 -3.6952 -3.2777 -3.5126 -3.3483 -4.6082 -4.5229 -3.9702 -2.8815 -2.2298 -1.0686 10.2492 8.7238 6.5287 4.1319 1.3909 -1.3457 -3.1912 -4.0830 -5.8573 -5.7467 -10.8007 -10.7504 - 3.6810 4.8086 4.9739 5.5677 4.9032 4.1256 1.8122 0.1556 -1.1456 -2.1369 -2.2315 -2.0785 -3.1848 -4.0677 -5.2026 -5.8769 -6.5043 -6.1685 -5.6023 -5.9105 -4.2511 -1.3453 1.8335 3.4033 5.1448 5.5509 4.8678 3.4921 1.3864 4.5899 3.1561 2.1086 1.0104 -0.3847 -0.6586 -0.6429 -0.1120 -0.4119 -0.3363 -8.3185 -3.2346 - 3.1333 2.2434 0.5660 -0.1689 0.6551 3.1370 6.4778 9.1712 8.4572 6.3300 4.6298 2.8657 0.1787 -1.1319 -0.2827 2.3196 5.5007 6.1676 2.4317 -1.1696 -3.2988 -3.3141 -2.9589 -3.5360 -5.2348 -8.6527 -10.1506 -11.6535 -12.7119 12.8762 10.2239 6.7637 2.0074 -1.9484 -4.8866 -5.3018 -4.5051 -4.3255 -3.6989 -7.2049 -23.9005 - 8.6220 10.8825 12.2872 13.3601 14.2280 15.3604 14.9416 12.8140 8.4375 3.9118 -0.1235 -3.3572 -6.8491 -10.5514 -12.6045 -13.2373 -13.4285 -13.2888 -12.4858 -9.8652 -5.1267 0.8370 1.7581 3.1241 4.1350 -0.4102 -5.4532 -8.8060 -9.1118 14.9701 12.4418 7.1314 0.5687 -6.4070 -6.8941 -5.5568 -3.3084 -2.3663 -1.6449 -8.9346 -21.6106 - 19.1182 16.6713 12.8335 8.8739 6.1759 6.2230 7.5297 9.2506 9.4142 7.8053 5.9066 4.3378 3.9155 4.5696 4.9822 3.2409 -0.8415 -5.8082 -9.1525 -11.0999 -12.9425 -14.8404 -14.6104 -11.5397 -8.3035 -9.3615 -9.7422 -9.9642 -12.6415 4.2777 1.5675 1.0684 0.6135 0.0628 -0.5807 -1.1085 -1.0788 -0.8209 -0.6136 -3.3875 -20.5875 - 0.8644 0.9240 0.5001 1.9751 3.9631 6.3687 6.1077 3.6220 0.7094 -1.0962 -1.8495 -2.7933 -4.0125 -4.8808 -2.1854 1.6422 4.3506 5.1936 3.1952 -0.0683 -2.2673 -2.2756 -2.5661 -3.5305 -3.3037 -2.7368 -2.4517 -1.7145 -1.6839 4.7659 4.9768 3.8161 1.7084 0.2338 0.0457 -0.5947 -0.8458 -1.4961 -2.2835 -10.3266 -8.0604 - 22.8493 23.0279 22.4564 21.7830 19.7630 14.2941 7.4867 2.4477 1.1542 1.7020 2.1450 2.1381 2.9526 3.5821 3.5140 2.5293 1.8263 1.6906 -0.1177 -4.3580 -9.4178 -13.6122 -17.0109 -18.1586 -18.2289 -17.0887 -18.0638 -20.2393 -21.0462 1.9050 0.4924 0.1429 -0.1603 -0.2972 -0.2106 -0.5323 -0.0051 -0.0488 0.0713 -1.3573 -21.7449 - -5.0691 5.7916 20.3977 33.7608 20.5478 6.3862 -0.6167 2.4285 7.7738 0.6480 -5.4985 -5.1477 -2.1058 -9.1202 -9.7561 -5.6897 -8.4994 -6.6489 -4.0490 -6.3900 -1.1222 -4.7105 -1.2435 -3.1404 -0.4670 -1.2691 -3.2353 -6.3597 -7.5957 2.6335 2.9453 2.3526 1.7483 0.5793 -0.6841 -0.6920 -0.5880 -1.6805 -2.0348 -4.5797 -8.0873 - 27.8982 26.1875 22.3314 17.8436 13.6570 9.3782 4.5001 1.0587 -0.1319 0.5334 2.2176 3.9007 4.3904 2.8784 -0.5056 -2.7187 -4.2442 -4.9618 -6.1501 -6.6560 -6.3475 -6.6372 -7.4694 -9.8220 -14.6530 -16.2989 -16.6133 -16.9745 -16.5912 1.5751 0.2732 0.3920 -0.1605 -0.6644 -0.5397 -0.0300 -0.1057 -0.0387 0.4893 -1.1907 -17.7674 - 4.0687 5.1941 6.0984 7.7169 8.4142 8.8229 7.3250 5.7734 4.1436 2.4793 2.4633 2.0981 1.0790 0.0726 -0.0934 -1.1969 -2.7251 -3.5007 -3.7768 -4.1983 -4.4360 -4.9365 -5.3239 -6.0842 -6.5913 -6.0399 -5.6196 -5.4516 -5.7753 2.3864 4.1318 4.1698 4.0758 2.9462 1.5278 0.0907 -0.4889 -3.3101 -2.5223 -13.0073 -9.7421 - -2.5217 6.6906 18.9380 32.5385 26.0727 10.4378 1.8923 3.8920 11.1274 10.8157 0.2901 -2.1358 1.8304 0.1110 -6.1198 -3.9839 -1.5639 -5.8130 -5.0685 -6.2978 -9.3560 -8.6952 -9.9906 -9.6668 -9.2810 -8.9004 -9.6041 -12.9599 -12.6780 1.0846 1.2730 0.8512 0.3292 0.2685 0.1416 -0.4299 -0.2512 -0.6945 -0.7869 -1.7857 -11.2964 - 9.0608 8.3549 5.9106 3.0223 1.5989 1.4872 0.5967 -0.7899 -2.0584 -2.6475 -1.9940 -0.9341 -0.2649 0.8782 0.8190 0.7941 0.2218 -0.2750 -0.3771 -0.9402 -2.1665 -2.7001 -2.9780 -2.6056 -1.9810 -2.2466 -2.1946 -2.6591 -2.9316 2.9882 2.9231 2.3934 1.2468 1.7808 1.5958 0.9538 0.0307 -1.6679 -1.9384 -10.3063 -6.9292 - 25.3209 26.4747 25.0162 21.0118 15.7497 9.7187 3.2049 -2.7534 -7.5484 -11.3498 -13.8939 -15.3292 -16.7275 -17.7766 -18.3047 -18.0188 -16.5419 -14.8140 -11.1748 -6.2506 1.1228 5.4465 3.3274 4.0262 6.8686 6.7842 4.5450 4.7788 7.0872 14.4073 8.6959 4.9137 0.7333 -0.0689 -3.2729 -3.9427 -4.6901 -3.7843 -4.7606 -8.2309 -11.1556 - 39.3240 35.1580 30.1649 24.8807 19.4559 14.1503 9.3376 5.7395 2.9171 0.8743 -0.1600 -1.5610 -3.3663 -5.4790 -7.0899 -8.1039 -8.6121 -9.3362 -10.6742 -11.7063 -11.8889 -11.6310 -11.7325 -11.7388 -11.4894 -12.8703 -14.4784 -15.0647 -15.0195 0.4215 0.7196 0.4543 0.0332 -0.2347 -0.2869 -0.3136 -0.1185 -0.0711 0.1485 -0.7523 -15.3163 - 4.1198 2.4046 -0.9207 -3.0537 -4.9411 -4.5132 -4.0855 -3.8951 -3.8661 -1.0021 0.5493 0.6922 -0.1138 -0.3066 0.1108 -0.0251 0.8424 2.6646 9.2170 6.3754 2.4274 3.2110 3.9376 2.5394 1.3314 0.0248 -3.5589 -5.2404 -4.9255 -3.5255 -3.1009 -3.7604 -3.4700 -2.8733 -1.9992 0.5113 3.0512 5.1249 4.8231 5.2190 -1.6532 - 3.6620 2.9859 3.0040 3.0506 2.2625 2.4007 2.1773 2.2676 1.7231 1.4288 1.2160 0.5069 -0.1552 -0.1104 -0.1481 -0.3494 -0.2743 -0.5949 -0.9982 -1.2915 -1.7757 -1.8432 -2.0500 -2.8592 -2.5411 -2.0302 -1.9641 -2.8754 -4.8244 7.6823 3.2328 -2.8255 -7.4261 -7.6683 -4.0922 -1.2719 1.1834 2.9852 4.1242 4.0762 -14.2392 - 12.2682 12.4958 10.6370 8.6802 6.1895 3.3521 0.0120 -3.1196 -5.8915 -7.9346 -8.4726 -9.2365 -10.2529 -11.6156 -12.3872 -11.4245 -9.0191 -6.8545 -3.2918 -0.0972 1.4040 0.7813 2.7012 7.4433 10.4513 8.1526 4.8220 3.6293 6.5779 3.5887 2.5442 4.8598 3.9894 2.1825 1.8990 -1.1549 -1.3419 -2.5535 -1.8075 -12.2060 0.8433 - 15.4243 14.3712 10.5979 6.0053 3.6236 3.1660 2.6457 3.0378 3.3307 2.9774 1.6056 0.6289 -1.2252 -2.5293 -2.5259 -3.3644 -3.2999 -2.9968 -4.1243 -3.1379 -4.5943 -5.1946 -6.5332 -5.4258 -4.3474 -2.4580 -3.2897 -3.9496 -8.4184 12.5953 13.0978 8.0807 2.0800 -3.4741 -5.6039 -6.0827 -5.2556 -5.1645 -4.3359 -5.9370 -19.1939 - 12.6031 11.5140 9.5918 8.9721 11.2278 16.3861 18.3055 15.2493 9.3533 5.1262 3.4090 2.8449 4.2190 7.3448 7.1824 2.1285 -4.7265 -9.0679 -11.7653 -12.9187 -12.3770 -9.8860 -9.0188 -10.4117 -12.4113 -14.1603 -11.8340 -11.7956 -15.0847 1.6333 -0.1749 -0.1240 -0.2004 0.4426 1.4656 0.2738 0.7777 -0.0047 -0.2122 -3.8769 -21.6008 - 15.7554 16.8394 17.1615 17.2884 17.4030 17.2657 15.8921 13.5652 10.3715 6.8406 3.5351 0.5517 -2.1632 -4.1460 -4.2553 -2.4789 0.2986 0.9530 -2.3858 -7.5703 -11.2229 -12.1150 -10.5591 -8.6344 -11.4398 -17.0807 -20.6444 -20.9882 -18.0373 8.3336 5.5551 2.4710 1.8701 0.0297 -2.8652 -3.4720 -2.9808 -2.8086 -2.1702 -3.9628 -24.3752 - 27.9412 27.2421 22.9503 16.5254 9.6885 4.5967 0.6997 -3.4665 -6.6867 -7.8148 -9.1495 -10.0610 -11.4055 -11.7392 -11.8813 -11.3038 -9.8795 -7.5418 -2.5870 4.6153 3.8429 0.5688 -2.8955 -0.2237 1.9886 1.7001 1.8074 -3.1272 -14.4038 -3.8881 -2.8329 -1.6443 1.8671 3.1413 1.8729 0.1398 2.8367 0.3757 1.7313 -3.5996 -13.3850 - 9.1831 9.4128 8.6344 9.5797 10.1063 10.3011 8.2263 4.5395 1.0974 -1.7556 -3.6105 -4.8265 -5.4684 -5.8802 -4.5931 -3.1888 -0.4075 0.3805 -0.9063 -3.4050 -4.9101 -5.9677 -5.8009 -5.0301 -5.4306 -6.4969 -3.0810 -2.1162 1.4143 -5.1355 -2.3496 -0.0420 3.9648 4.8248 5.4912 2.0450 -0.1732 0.0828 0.7502 -9.4585 1.8224 - 4.4588 4.2389 3.3197 3.1330 4.0702 5.7759 7.7099 9.0876 11.1245 12.6510 12.5527 11.9764 10.9501 11.0837 11.4805 9.3639 4.7521 -0.5944 -4.4402 -7.1309 -8.3207 -8.3043 -9.4810 -12.7554 -15.5784 -17.8883 -18.8492 -17.9501 -16.4359 5.8124 3.4155 3.3830 3.3147 1.6832 -0.5370 -2.7626 -3.1367 -2.1515 -2.7970 -6.2238 -24.3008 - 11.3859 11.2940 10.4575 10.5198 11.2222 12.7124 13.5178 13.4129 10.5164 5.9792 2.3897 -0.1138 -1.9321 -3.1972 -3.1420 -0.7773 2.4075 3.1154 -1.3266 -7.1228 -10.5939 -11.1307 -9.8760 -7.3492 -6.6029 -10.8829 -13.8968 -15.3987 -15.5878 8.9895 6.7302 4.3952 0.2012 -4.6771 -5.1924 -3.7684 -1.4949 -0.4984 -0.0670 -4.6178 -24.6307 - 18.9158 19.7886 19.7526 19.1358 18.1177 16.4664 14.0122 10.8818 7.5481 4.5462 1.5367 -0.9445 -2.7129 -3.9653 -5.5016 -7.5102 -9.0864 -9.0742 -9.0767 -10.2313 -9.4105 -5.3027 -1.9268 -1.3910 -3.5726 -10.4635 -17.0711 -22.1873 -21.2730 5.4315 7.4977 3.9877 0.2418 -1.1556 -2.9339 -2.8218 -3.2557 -2.2125 -0.4250 -4.3542 -22.8328 - 28.1526 28.1117 24.7174 18.3759 10.6219 2.4804 -4.1378 -7.4788 -9.3437 -10.8490 -12.5556 -14.1384 -15.1322 -15.0182 -14.6140 -14.5304 -14.2862 -13.9234 -11.7259 -8.2717 -1.7653 6.2167 7.1311 7.8239 8.7319 8.2789 7.6074 7.1853 2.3358 3.7971 -0.5557 -1.9296 -2.2395 -1.0081 1.6256 1.1217 0.2632 1.4311 1.1466 -3.6525 -7.2238 - -1.9896 -1.5846 -1.1882 -1.5851 -4.5749 -6.7021 -4.6940 -3.5898 -2.8275 -4.0926 -5.1006 -4.1183 -4.9559 -5.2145 -6.9309 -7.9964 -7.8043 -5.1453 -1.8211 -0.6339 3.5622 6.5139 7.8184 9.0948 11.5264 11.4601 10.4022 10.4535 11.7185 -9.6611 -13.7925 -13.7882 -6.6479 -2.4133 2.1029 4.5429 8.2581 9.4338 9.8315 12.1338 18.9608 - 29.0162 27.1449 23.5731 20.2452 17.5110 14.7918 12.0251 9.1599 6.0664 3.8158 0.8485 -1.4407 -3.2916 -4.0983 -4.3970 -4.3435 -5.2630 -7.1322 -9.5766 -10.6471 -11.1044 -11.3079 -11.3508 -11.6324 -11.9889 -12.9298 -13.9392 -14.6929 -15.0614 0.4975 0.3394 -0.0827 -0.4799 -0.4676 -0.3009 0.0384 0.1607 0.4964 0.5891 -0.7905 -17.1701 - 8.4713 7.5563 6.3767 6.1947 6.0689 6.3779 4.9213 3.5036 2.5255 3.0901 4.1254 6.3043 8.3238 9.4464 9.3170 6.5660 2.2721 -0.8163 -4.4840 -7.0774 -8.1734 -9.5687 -10.5231 -10.5767 -10.2078 -10.4331 -9.7161 -9.9741 -9.8905 3.2535 1.2694 0.1807 -0.6651 -1.0284 -0.5802 0.6037 0.3968 0.3279 1.2972 -5.0555 -13.8489 - 8.3726 8.7329 8.5586 8.5134 8.7002 9.8765 11.6676 13.2674 13.5452 12.0942 10.0691 7.6401 4.8660 2.8680 2.7547 3.9563 4.9074 3.0494 -2.0753 -8.4742 -13.3840 -15.8240 -17.8178 -16.4808 -10.6391 -9.9987 -14.2994 -17.0600 -17.3864 10.6631 9.4847 5.5492 1.3050 -3.1070 -4.8971 -4.8382 -4.5691 -2.3532 -2.1714 -5.0660 -26.2617 - 19.0595 18.3832 15.9029 12.6530 10.0486 8.1560 6.2927 4.3924 2.8935 2.2985 1.7559 0.7258 -0.7293 -3.1142 -3.9530 -4.8127 -4.7935 -5.2925 -6.6673 -7.3117 -8.4213 -8.8278 -9.2400 -8.0623 -7.4252 -7.1006 -5.9527 -5.3881 -5.4699 10.5325 9.0445 4.9973 0.1331 -3.2907 -4.1662 -4.1984 -3.1495 -2.7117 -2.1058 -5.0850 -17.2009 - 52.2372 44.3578 36.5608 28.9176 21.5115 14.4397 7.8187 1.8482 -3.2520 -7.1355 -9.4888 -11.6207 -13.4063 -14.7098 -15.4667 -15.9341 -16.1369 -16.0366 -15.3538 -13.7588 -10.6277 -7.7814 -6.1144 -5.0819 -4.0409 -3.9360 -4.9781 -5.9562 -6.8747 3.7022 1.4660 0.4111 0.1370 -0.3542 -0.1182 -0.1120 -0.5566 -0.7197 -0.2876 -3.5680 -11.6568 - 18.5298 18.5912 18.1337 17.4860 16.8943 16.3587 16.0594 15.4122 13.4402 10.4256 7.3367 4.6520 2.5497 1.6836 2.6521 4.2050 4.7439 1.2637 -5.1624 -11.9630 -16.8360 -19.0690 -18.8984 -17.4618 -16.1587 -17.2824 -20.6892 -23.3973 -23.4997 3.2388 3.5069 1.9919 0.0447 -0.5876 -0.7419 -0.9096 -1.1897 -1.2370 -1.2266 -2.8899 -24.3059 - 14.2216 15.1107 15.4424 14.9543 12.7476 8.8407 3.8349 -1.2250 -5.2339 -7.6335 -9.5259 -10.5663 -11.3480 -10.7110 -9.3182 -6.6849 -3.0625 0.0032 2.0229 0.5151 -0.5651 -0.4048 0.5255 -0.7083 -2.6478 -3.1557 -2.5836 -2.0039 -0.8405 3.7139 1.8811 2.0645 2.2576 1.8972 2.7893 0.9195 -0.0976 -1.1232 -2.5385 -11.7639 -9.8006 - 27.6767 26.3073 23.1657 18.9402 14.2694 9.6933 4.9155 1.3429 -1.0736 -2.1647 -2.4791 -3.7245 -5.2366 -7.8495 -9.6757 -10.3534 -9.9166 -8.3142 -6.6376 -3.9530 -4.0753 -4.3093 -3.5187 -3.9010 -5.2935 -7.7755 -9.0692 -8.2730 -8.7168 5.8445 3.8687 2.4179 0.0649 -0.8031 -1.3677 -1.4763 -1.6757 -1.5716 -1.5700 -3.7316 -15.5980 - 7.4225 6.3812 4.2676 2.9128 1.8225 2.6330 3.2026 3.4899 4.3798 5.0782 4.0849 3.8689 3.6113 4.5683 5.8542 4.5947 0.2532 -3.2821 -6.4774 -7.4650 -7.9861 -7.4196 -6.0622 -5.4357 -5.0398 -5.4225 -4.6902 -3.4197 -5.7249 10.3884 8.1074 7.3911 3.6782 0.8704 -2.0339 -3.8319 -4.9728 -4.3725 -5.2689 -9.9555 -15.7366 - 17.5213 20.4430 21.9190 22.2701 21.3171 18.9687 14.6306 9.0767 3.5198 -0.8778 -4.3458 -6.9865 -9.5480 -11.1420 -12.3506 -13.4175 -13.6194 -14.0717 -13.7947 -12.3999 -9.1656 -3.9176 -0.2193 -1.5457 -4.1719 -2.7467 -2.4932 -5.3995 -7.4528 7.1434 7.0238 7.2627 6.7980 5.2527 1.0139 -3.4114 -6.5230 -7.8521 -6.8412 -9.8668 -15.3691 - 23.8876 22.5517 20.2028 18.0102 15.3733 12.6542 9.1010 5.3097 1.3988 -1.1554 -2.5833 -3.9593 -5.0937 -4.9268 -4.3385 -4.0356 -4.4731 -5.2411 -5.8573 -6.0798 -6.4837 -6.6593 -7.2930 -7.7787 -8.4220 -9.5983 -10.7066 -11.6689 -12.1349 1.8395 1.5059 0.7809 0.7822 0.3229 0.0573 -0.1778 0.0288 -0.5032 -0.4347 -4.2018 -15.0448 - 13.9062 13.1904 12.4290 13.6194 15.2333 15.2034 12.0474 7.3708 3.0090 -0.0473 -1.0773 -1.4032 0.0264 2.8347 3.5334 0.2574 -4.8606 -8.4990 -10.3461 -10.2062 -9.1724 -6.5298 -5.6943 -9.5272 -11.1766 -10.7021 -7.7752 -7.2838 -8.3598 9.0389 8.3462 5.7086 0.2994 -0.2224 -1.6621 -3.2697 -3.1981 -3.4783 -4.1342 -7.4282 -20.6505 - -0.1956 12.8891 25.9590 29.2372 11.9659 3.6545 1.9759 11.5615 8.2666 -2.4823 2.1238 10.6975 3.0083 -5.1305 2.5407 -3.5456 -5.3431 1.0377 -4.8653 -4.1095 -8.9872 -10.0069 -10.6630 -10.8153 -10.0788 -9.9282 -11.0117 -13.4387 -14.3160 0.9647 0.5126 1.4038 0.7744 0.0988 -0.4577 -0.1039 -0.1823 -0.4661 -0.3208 -2.2235 -13.2318 - 25.9629 27.1177 27.8480 28.1350 27.2179 24.6308 20.8300 16.5838 12.6784 8.6134 4.1825 0.4406 -2.7846 -5.2345 -6.7282 -7.9739 -9.5601 -11.2902 -13.5857 -15.5917 -16.3027 -16.6819 -16.4912 -15.9456 -15.7750 -16.8350 -17.5886 -18.0613 -17.8109 1.0702 0.8294 0.1689 0.5813 -0.0091 0.1284 -0.3058 -0.7039 -0.5520 -0.2521 -0.9553 -17.8347 - 28.3817 26.3242 22.4988 18.1016 13.8114 9.4292 5.2503 1.4133 -1.6541 -2.4802 -2.4725 -3.0842 -3.4601 -3.8401 -3.4525 -2.3946 -2.6693 -1.6244 -0.8581 0.9642 0.0547 -3.6789 -8.6927 -12.3146 -14.1720 -14.6132 -14.5422 -14.6064 -15.6195 1.2358 -0.1021 -0.4812 -0.1634 -0.1968 0.6015 -0.1027 -0.0844 -0.0133 0.2510 -0.9445 -16.6483 - 14.8559 14.2769 13.3144 13.4636 14.5210 15.1971 13.3361 10.1599 6.7908 5.5468 6.0091 7.5005 8.7471 7.3385 1.8761 -2.5391 -5.4603 -7.6289 -8.7381 -8.1046 -7.0789 -6.1772 -7.8795 -11.4586 -14.0732 -15.6269 -16.7078 -19.9955 -21.4649 1.8161 1.8568 0.7960 0.3224 0.4841 -0.7227 -0.9581 0.3734 -0.1277 -0.0325 -3.8078 -24.4035 - 5.4535 4.2960 0.7585 -1.6071 -2.7931 -2.2472 -2.8178 -3.1626 -2.5628 -1.3912 -0.3660 1.6795 4.2030 6.4164 7.0674 7.5227 7.0796 4.9076 4.3543 2.9287 -0.1541 -2.4266 -4.0876 -4.9944 -4.2282 -4.2178 -6.4840 -7.8159 -5.3111 9.2246 8.2902 7.1840 5.6544 4.3170 2.1934 1.5215 -2.4633 -8.8855 -12.3322 -14.7039 -13.9292 - 9.0980 9.2332 9.0227 7.8900 7.2001 9.3060 12.7460 15.4304 15.0788 11.5632 8.2993 7.2707 8.2449 10.9986 9.5064 3.6569 -2.3332 -7.1688 -8.9599 -9.8137 -8.1433 -4.6312 -6.5469 -11.9994 -16.1445 -17.5300 -16.1820 -19.8515 -25.2405 0.4708 -0.3092 0.2379 1.4804 -0.1717 -0.9282 -1.5045 0.4378 1.4582 0.6172 -1.7888 -27.1180 - 30.5921 29.7607 27.5057 24.3076 20.2670 15.1816 9.3486 3.1611 -1.4937 -4.0966 -4.8189 -4.9920 -5.0548 -3.9493 -2.7660 -2.8294 -4.1521 -6.8587 -8.9405 -9.3227 -7.2576 -3.2574 -2.6669 -7.8789 -12.9388 -16.4992 -17.2553 -16.5402 -16.5552 0.5625 0.3502 0.0083 -0.1840 -0.6199 -0.4748 -0.2997 -0.1545 0.4846 0.8919 -0.5646 -16.4454 - 14.8981 14.8814 13.6043 11.5145 9.5013 6.6072 1.9200 -2.1840 -4.2500 -5.6701 -6.3798 -6.5602 -7.0938 -7.2697 -4.0665 -0.3509 2.6024 2.4125 -0.1554 -3.0971 -4.9214 -6.2652 -5.4681 -4.3507 -3.9793 -4.8021 -2.3819 -1.6978 3.0025 2.8620 3.2617 6.8021 5.2352 3.3376 0.5084 -1.9352 -2.2484 -1.4495 -1.6734 -14.7006 -2.2554 - 19.3171 19.5822 19.1016 18.4606 17.7886 17.3421 16.7071 15.2413 12.1252 7.5570 2.4543 -2.6968 -6.6532 -9.4513 -11.1611 -10.7979 -8.4551 -5.8510 -3.9750 -5.4484 -8.6775 -10.2725 -9.6723 -8.1110 -6.9238 -9.5412 -14.0157 -16.8585 -17.1147 6.4595 5.2042 2.6176 0.4543 -1.5212 -2.1299 -2.1223 -2.0336 -1.9001 -1.4360 -3.5925 -21.8904 - 10.0554 11.4918 12.0024 11.9869 11.4982 10.7952 8.7236 5.9738 2.4552 -0.5185 -1.8366 -4.1108 -5.5111 -6.6353 -6.8364 -7.0970 -6.1121 -5.4311 -4.4856 -3.2530 -4.1916 -5.5562 -5.6815 -5.4794 -4.5844 -3.0317 -1.6070 -1.6034 -1.4198 6.0457 6.4584 6.3816 6.2004 3.9293 1.7377 -2.4799 -5.0585 -4.1685 -5.2278 -13.8183 -8.6957 - 5.1528 4.1179 3.0625 2.9843 1.9679 0.9714 1.4744 4.4833 5.5293 4.7030 3.5767 3.8031 1.7543 -1.0533 -1.2774 0.9570 5.1278 5.5900 4.5922 0.5748 -5.0484 -6.9525 -6.3139 -9.2098 -9.0484 -9.2166 -5.0713 -4.7295 -2.5016 10.5692 7.5278 2.2517 0.6253 2.9159 0.5499 -2.4843 -3.5780 -4.6422 -4.8638 -8.8714 -13.8790 - 18.7418 15.9185 12.8438 10.2040 7.5183 6.1018 4.7206 3.9908 3.3693 2.4047 1.4410 0.1504 -0.1335 -0.4013 0.1702 -0.4796 -1.4923 -3.1582 -4.6899 -4.8726 -5.5428 -6.5059 -7.1643 -7.5192 -7.9222 -8.7815 -9.4290 -9.6309 -9.8521 -0.4363 -0.6716 -0.6321 -1.0615 -1.3192 -0.9262 0.1030 0.7901 1.5962 2.2939 0.2637 -10.2983 - 35.3923 32.3026 26.5029 19.6975 12.6365 5.9222 0.1370 -3.8927 -5.9336 -6.6867 -6.9777 -6.7865 -6.2733 -4.3479 -3.5674 -3.6341 -3.7323 -5.0584 -6.3190 -6.1046 -4.6307 -4.8921 -3.7741 -3.8037 -7.6419 -9.4026 -9.7867 -9.3143 -10.0304 -0.3209 -0.8025 -0.7882 -0.9161 -0.6206 -0.3729 0.2723 0.9229 1.0626 1.2478 0.3157 -11.3279 - 15.1154 17.2376 18.5113 18.6287 17.8606 16.0374 12.3870 7.3049 2.2274 -1.2547 -3.4619 -4.9984 -7.5019 -10.3433 -11.9860 -13.4479 -13.9092 -13.7812 -13.8196 -12.9157 -11.1559 -7.1870 -2.1572 1.9368 1.9384 1.8602 1.8940 -1.4092 -3.6107 13.9690 15.4855 13.9780 10.9462 5.3217 -5.0870 -10.7886 -11.2651 -11.1873 -9.5973 -11.7750 -16.7260 - 18.2228 18.4615 17.4249 17.1396 16.6125 14.4185 10.8568 8.6164 6.3579 5.2370 3.8560 1.9252 -0.6359 -4.2750 -5.1889 -6.7505 -7.9919 -9.0778 -10.1000 -9.9142 -8.7383 -6.1658 -3.7111 -6.1760 -9.8971 -12.5047 -12.7338 -12.8872 -12.3808 -0.8130 0.6976 0.3804 0.6457 1.5482 2.4749 3.0413 2.8395 -0.4708 -2.7284 -7.6154 -15.6555 - 6.0325 10.0051 11.3341 12.3589 13.8900 16.1481 16.3116 12.7566 8.9105 7.2557 4.4785 2.2316 0.9797 -0.6614 0.5661 4.8341 6.5458 3.6213 -1.1381 -4.3272 -5.4198 -6.5113 -7.7865 -12.3725 -19.9330 -25.0176 -17.8042 -15.8364 -21.4525 -3.1483 -3.2143 -0.2635 8.5907 13.2637 6.6922 -2.8514 -3.6166 -4.6591 -4.9686 -5.8249 -25.4194 - 17.3207 17.7695 17.5402 17.0035 16.5266 15.9285 14.7115 13.0615 10.7412 7.7296 4.5970 1.7062 -1.0815 -3.0472 -3.6756 -2.2649 -0.4084 -0.9339 -5.2361 -10.6763 -14.8835 -17.2271 -17.8907 -15.6384 -10.4668 -8.4525 -11.8808 -15.4044 -15.4675 8.8476 9.5703 6.9625 3.1090 -0.1253 -3.6220 -4.8452 -5.4253 -5.0540 -3.4938 -5.9236 -22.7477 - 18.2320 19.5978 19.7190 18.7548 16.3427 13.6150 10.6951 8.6087 5.9251 3.1428 1.8336 0.1222 -0.3161 -1.8892 -3.4565 -4.4788 -4.1025 -3.7501 -4.9649 -7.4742 -8.6908 -9.9373 -10.8830 -11.3028 -11.4257 -11.5192 -12.7474 -14.6156 -15.0348 -8.1772 -8.1988 -6.2878 -4.9710 -3.0389 -0.0545 3.6911 6.8598 7.3721 8.3424 4.4628 -8.8778 - 13.8589 12.2371 9.8247 7.6249 6.1891 5.8925 4.1202 1.8072 0.1905 -0.9244 -0.4689 0.1547 0.5703 1.3955 2.0470 2.6142 1.4776 -0.3379 -2.6582 -5.2107 -5.8303 -6.1283 -6.7972 -7.3151 -7.5206 -7.3966 -7.0187 -6.1092 -6.2882 2.8357 1.3808 1.5156 0.8705 -0.2752 -0.1447 -0.1738 -1.0712 -0.4308 -0.5020 -4.0050 -11.0460 - 25.9341 27.7320 28.2232 27.7876 25.5774 21.4281 15.8329 10.0447 4.4219 -0.7932 -4.9567 -7.9480 -9.7086 -10.7951 -11.8434 -13.0235 -13.3873 -13.9249 -14.4275 -14.4362 -13.1477 -10.3022 -6.8516 -4.3801 -3.0535 -2.9543 -6.5274 -11.6580 -12.8631 5.4748 4.2973 2.0928 0.3859 -0.0500 -1.0781 -1.5335 -2.0293 -2.0870 -2.0482 -3.4246 -15.9155 - 12.5611 14.6864 16.3579 17.9048 19.1559 20.0003 19.3273 16.6175 11.9366 7.1513 3.6125 1.1772 -0.6760 -2.6536 -3.6769 -3.9465 -1.4534 2.8613 3.1405 -2.9573 -11.3536 -17.9162 -20.1933 -20.5787 -18.1872 -12.9460 -11.7495 -17.2172 -20.9852 3.0886 4.0379 3.6614 1.7858 1.8672 1.0455 -1.0249 -2.3716 -3.3037 -4.0002 -4.7860 -22.6731 - 6.3873 6.0538 5.2554 4.7605 3.7352 4.0478 3.0878 1.1603 -0.4100 -0.4842 0.3498 0.7144 -0.2324 -1.6604 -3.0147 -3.2036 -2.2852 0.4500 5.1996 6.1851 1.9002 -1.2909 -2.8734 -4.7090 -4.8637 -4.9906 -6.0915 -6.1561 -7.0214 -0.4395 -0.6291 -0.8046 -1.1373 -1.0367 -1.1976 -0.5358 0.8614 1.5251 2.7259 0.6681 -8.1549 - 6.4678 24.1453 28.3564 16.3768 0.9487 6.1492 9.9337 5.7837 0.7687 2.7379 7.4627 2.6615 2.1447 -1.7243 -4.9079 -3.6716 -5.1260 -1.3976 -1.3562 -1.3187 -5.1578 -9.3517 -9.8801 -10.0344 -8.5754 -9.5176 -12.9621 -14.5277 -14.4277 2.6144 2.0177 2.0939 -0.3296 0.2968 -0.6507 -0.6394 0.0217 -1.9957 -0.1306 -3.2985 -14.8655 - 12.5510 12.4285 11.8955 12.7578 16.9371 21.2938 20.7903 16.7803 12.6688 11.7788 11.6300 7.3846 0.3301 -5.6353 -9.1568 -12.4924 -14.5919 -16.2950 -17.9481 -16.1853 -15.7323 -12.4489 -10.0349 -7.7045 -8.7699 -6.9254 -3.1598 -3.0985 -9.0472 7.8424 3.8265 0.9376 -0.6967 -1.1188 -1.5694 -1.9503 -0.6167 -1.4541 -2.2369 -2.9635 -21.8681 - 15.6754 16.7432 16.5153 12.3311 4.2455 0.2050 -0.6894 2.1431 4.3595 7.5720 9.8733 9.2508 5.8913 2.6955 1.6669 2.5024 2.1823 0.5005 -4.3623 -8.7120 -8.4826 -7.8486 -12.0698 -13.3968 -11.9915 -10.9867 -12.2995 -11.0273 -12.4867 -2.7836 -4.4120 -5.1131 -4.1277 -2.4732 -0.9720 1.3438 3.6062 4.7125 5.6821 4.5370 -11.9000 - 22.3286 23.0046 23.0498 23.5807 23.1994 18.4599 10.9563 4.0795 0.4966 -1.4210 -3.5925 -5.4787 -5.7217 -4.6302 -2.1947 3.6628 9.5300 10.8217 9.1886 2.5031 -8.0477 -14.9331 -18.4387 -19.9305 -20.4501 -20.2597 -19.9758 -19.4479 -20.3392 1.1842 0.4014 0.0219 -0.1675 -0.5484 -0.3769 -0.3371 -0.0928 -0.0308 0.3091 -0.3631 -21.5338 - 21.9984 23.9238 25.3357 26.4343 26.0313 22.5182 16.6027 9.8676 5.2339 2.4325 -0.1466 -2.8415 -2.8856 -0.9913 3.1553 6.9975 6.7848 4.8021 -2.7887 -13.1318 -18.6046 -20.0234 -20.0047 -19.9587 -19.6763 -19.9132 -20.3439 -20.4619 -20.3457 1.2714 0.3555 0.0928 -0.1438 -0.1909 -0.1061 -0.2499 -0.3508 -0.1985 -0.1750 -0.3048 -19.6659 - -0.2567 -0.2113 -0.8684 0.4465 3.3786 5.2759 2.6214 -1.2665 -3.2281 -4.9538 -5.9464 -5.0624 -5.8449 -5.2078 -4.5607 -2.4460 -0.3193 2.4345 5.4910 8.1750 9.7870 9.0613 6.6768 1.8115 -0.9513 -2.1611 -3.7070 -3.7433 -4.4246 0.1631 2.1256 4.6102 5.3221 6.3935 4.7668 3.6937 3.2175 -0.8613 -8.2952 -21.1360 -6.1298 - 3.8793 4.4914 2.0392 1.3477 -1.0271 -0.6639 0.1117 -1.7816 -3.2330 -2.3240 -1.7798 -3.8111 -6.4867 -7.2086 -6.2062 -8.1286 -2.5000 3.3550 12.4119 16.8546 9.9403 10.7928 11.8490 6.7929 -4.7030 -7.2697 -8.7835 -9.4026 -8.5564 -1.1740 -2.4092 -2.9332 -3.4178 -3.5228 -2.2895 -0.3280 1.5973 4.1640 4.8094 5.5038 -5.9517 - 55.6246 47.8318 40.1222 32.5666 25.2478 18.2625 11.7233 5.7654 0.6757 -2.9249 -4.9251 -6.7338 -8.2843 -9.4091 -10.0166 -10.5275 -11.0842 -11.8508 -12.6565 -13.2845 -13.4392 -13.4505 -13.5945 -14.1300 -14.9588 -15.8320 -16.5919 -17.0696 -17.0561 -0.1692 -0.1054 -0.1641 -0.3548 -0.4054 -0.2499 -0.1197 0.3574 0.6137 0.7290 -0.1316 -16.1029 - 28.3480 28.4457 26.9174 24.2222 20.0737 14.3497 7.6659 1.6711 -2.2930 -4.4091 -5.0514 -3.9119 -1.1398 2.5446 4.7855 3.9543 0.0941 -4.3143 -7.5760 -9.0354 -10.4294 -11.2170 -12.2003 -12.8513 -13.7072 -15.1900 -16.7728 -16.6535 -16.3197 1.6890 1.2293 1.4980 1.0200 -0.3583 -0.7205 -0.7464 -0.7978 -0.7991 -0.4289 -1.5854 -17.0352 - 7.1738 5.8760 3.4170 2.3215 1.3711 0.5440 -1.4461 -3.1488 -4.5999 -4.7859 -4.3101 -4.0022 -3.9658 -3.1268 -2.0884 -1.4297 -0.0002 0.9577 1.5670 1.5085 1.0721 0.3227 0.5110 0.7323 0.8496 1.7441 0.7228 0.7656 1.4470 -8.6193 -7.2247 -5.3667 -3.5827 -1.8357 0.6166 4.1585 4.9638 7.0248 8.8447 1.0209 8.4769 - -0.7467 0.3554 1.8709 0.8731 -1.4638 -3.3430 -6.6672 -9.5951 -10.4012 -10.6421 -11.0116 -11.8429 -12.2455 -11.7931 -7.9381 -3.6179 4.3015 10.3005 10.2729 5.6096 4.1790 4.6704 9.5416 5.1426 3.2307 6.6932 7.3970 11.6314 15.2383 14.9214 12.3993 10.3175 9.4781 6.5290 0.7143 -6.7843 -12.1011 -12.5497 -11.0634 -11.8611 -4.9295 - 8.9473 8.9587 8.3247 7.7486 7.2645 6.8446 6.7225 7.4361 8.0756 8.3721 7.8521 5.8385 3.2013 -0.0003 -2.2581 -3.0372 -2.3326 -0.4339 2.2803 1.7881 -3.0603 -8.5789 -12.0665 -11.7987 -9.2546 -6.5489 -9.3084 -14.6968 -16.2796 11.5926 10.4770 8.8581 8.3385 5.3110 -2.0531 -7.5440 -8.5312 -8.7087 -8.2386 -9.5016 -25.9443 - 17.7853 20.4425 22.0494 22.6794 21.5241 17.2874 10.6686 4.0415 -0.8452 -3.3573 -4.8317 -6.2098 -8.0414 -10.4109 -12.4433 -13.6668 -13.5852 -12.5998 -10.4309 -6.2165 -0.7444 0.8686 -2.2118 -2.8842 -0.1978 -1.0432 -7.6768 -11.1308 -8.8188 14.1142 12.1567 7.0646 6.3108 1.5813 -5.6339 -6.7414 -7.8081 -7.7366 -5.6857 -7.6219 -18.4403 - 10.4095 10.1666 9.2271 8.0860 6.4145 4.2188 0.0306 -2.2509 -4.0464 -2.5048 0.7199 3.4238 3.2446 1.8968 2.3554 2.4242 1.5237 2.3494 4.0741 2.8937 -1.4622 -5.2927 -9.7781 -9.2472 -7.3050 -3.6229 -4.1228 -9.1846 -14.6411 8.1502 5.2313 1.0580 1.4879 3.7251 2.9439 -0.5626 -1.1335 -5.4441 -3.6896 -11.7665 -16.0896 - 16.3683 15.7368 14.0789 11.8221 8.6363 4.8193 0.7944 -2.5033 -4.2969 -5.1383 -5.1385 -5.8567 -6.7831 -7.2715 -6.1940 -4.4484 -2.8402 -2.2612 -2.0718 -1.0756 0.0928 1.1543 1.4991 -0.3000 0.0566 -0.6778 -3.4172 -5.3252 -9.4588 11.6386 8.1885 3.6288 -1.2989 -3.6855 -3.9476 -4.1335 -3.4808 -2.6249 -1.8682 -2.4166 -19.6188 - 9.9289 9.2679 7.9267 8.7379 10.9513 13.7239 14.8623 12.3233 7.4753 3.3088 0.9949 -1.1257 -2.9647 -3.3198 -1.5514 1.8208 1.1498 -4.6271 -7.9003 -10.0749 -11.1748 -10.0605 -6.3035 -5.8941 -7.6734 -10.1071 -9.5489 -6.0056 -4.1400 9.5365 2.6560 3.6743 6.2251 4.9344 -1.5821 -4.9354 -4.9959 -4.2490 -3.3389 -7.9251 -19.9895 - 15.7601 15.5371 14.5879 13.6852 13.7329 14.2619 14.5602 14.1050 11.9855 9.0424 5.9338 2.9248 1.1175 -0.2175 -0.4564 -0.8056 -2.8269 -5.9252 -9.3719 -12.1962 -12.8615 -12.5210 -10.3147 -10.3071 -11.7171 -13.5357 -14.5158 -14.3799 -15.2819 0.2685 -1.1025 -1.4893 -1.4317 -1.3748 -0.8857 -0.0388 0.9292 2.3295 3.5114 -0.7158 -18.7537 - 10.0771 10.8307 10.8465 11.7532 13.7152 14.8042 13.3142 9.3177 4.2443 -0.1370 -2.8245 -4.9084 -6.2428 -7.4346 -7.1199 -4.5048 -0.3499 3.4684 5.2923 2.9229 -0.3932 -2.4266 -2.9696 -4.8989 -8.2386 -13.2276 -16.6579 -16.3335 -11.9188 12.1564 11.5591 10.1368 8.7589 4.6074 -3.2222 -8.3162 -9.1139 -8.8367 -7.9752 -9.7544 -23.1025 - 11.5053 11.7027 11.7371 13.2093 15.2251 15.5948 12.9282 8.2370 4.0626 1.5654 0.2206 -0.6203 0.1854 2.0975 5.0249 6.2795 5.6030 2.9180 1.3161 -0.0224 -2.9425 -5.8601 -7.8659 -9.4742 -11.9620 -17.3077 -22.0414 -24.8530 -26.4631 0.6245 0.8430 0.7564 -0.0344 0.1860 0.2573 0.0022 0.3483 -0.0033 -0.3539 -2.6260 -27.0235 - 5.1441 5.4989 4.5886 4.8890 4.4149 4.7882 4.1037 2.1106 -0.5897 -1.6882 -2.0231 -2.3075 -4.0395 -5.9980 -7.0714 -7.2239 -6.8500 -6.2178 -5.8790 -4.2255 -3.0049 -0.9642 0.5881 1.8550 5.0224 5.6412 5.3310 2.5657 1.5411 13.0414 12.1678 10.8758 8.3500 3.9695 -1.2713 -6.6778 -7.5357 -8.1366 -9.8150 -14.9679 -9.0970 - 5.6158 4.9839 2.6123 0.8571 -0.5963 -0.3233 -0.2214 -0.3194 -0.1370 0.4421 0.3275 0.0835 -0.5170 -0.8713 -0.8569 -0.8339 -0.8554 -0.5354 -0.0395 -0.0558 -0.9263 -0.8835 -0.8978 -0.6944 -0.6268 -0.8091 -1.0483 -1.4194 -1.4539 -1.4149 -1.4513 -1.7313 -2.1794 -1.7446 -0.9286 0.2594 1.3903 2.1796 3.3663 2.2545 -1.2043 - 10.7080 10.7135 9.5629 8.5444 8.8788 10.1398 10.5302 9.9131 6.6128 3.5565 2.0899 1.1039 0.3794 0.6277 -0.1980 -1.3526 -2.7157 -4.4999 -6.1998 -7.9255 -8.1415 -9.2812 -8.2556 -8.1488 -8.8083 -9.3952 -7.3216 -6.7527 -4.3647 -4.2821 -3.0286 0.3702 1.9504 4.2670 4.9800 3.4858 0.8969 -0.2219 0.7569 -9.1747 -5.7376 - 15.6199 17.2444 17.3338 14.6899 10.1694 6.6473 3.7155 2.2358 1.5381 1.6499 1.6341 0.4488 0.1506 -1.4323 -2.9510 -3.5813 -3.4819 -3.2311 -4.3442 -6.2089 -6.4666 -6.7538 -7.4724 -7.2719 -7.5336 -7.1999 -7.6644 -8.4572 -9.0267 -8.4693 -10.5727 -9.7580 -6.2924 -2.3994 1.2587 4.0421 6.4837 8.0877 9.5585 8.0612 -1.6481 - 19.7459 20.2278 18.1630 15.0090 12.1531 9.9790 6.2260 3.3367 0.8576 -0.7079 -0.8905 -2.1529 -4.1404 -5.6658 -7.0620 -8.8380 -8.6505 -8.0785 -6.8102 -4.7097 -3.3992 -4.6255 -5.7732 -5.7892 -3.5462 -3.1831 -5.7363 -8.6675 -7.2716 4.1141 4.3678 4.3289 4.1542 4.0907 1.7285 -0.9643 -1.7912 -4.9181 -4.5913 -10.5192 -12.1315 - 6.1392 7.2498 8.1626 7.6850 6.4337 6.4811 6.2044 4.4007 3.1418 2.4995 0.9290 0.1185 -0.7668 1.7199 1.8949 2.0578 0.9328 -0.2110 -2.8546 -2.7195 -3.0066 -5.4613 -5.4714 -6.1331 -7.3092 -7.3810 -7.7191 -8.5523 -8.4648 -2.4870 -2.6525 -3.0263 -3.5473 -2.5564 -1.0930 0.1556 2.3664 3.5226 4.7554 4.5624 -7.5910 - 9.3110 9.9536 9.2138 10.0448 12.2215 15.3929 16.8943 15.4237 10.3171 4.7547 1.0177 -2.1707 -4.9877 -7.5219 -7.9593 -6.9345 -4.8837 -0.9854 3.2044 2.3045 -0.4463 -2.4338 -5.1476 -7.8900 -10.6310 -12.6634 -14.4919 -15.1208 -15.7863 5.6159 2.3509 0.9141 -0.3540 -1.9709 -1.3207 -0.8350 -0.2962 -0.1715 -0.2711 -3.6616 -23.6214 - 23.3043 22.9242 21.5293 19.5762 16.1241 10.4648 6.0084 4.4333 5.1608 6.7668 7.1607 5.7544 1.6077 -1.1787 -4.1636 -7.1966 -8.5322 -8.3418 -7.6815 -6.4004 -5.6492 -7.9013 -12.6029 -15.0772 -12.4774 -7.5784 -9.0924 -17.5597 -19.3815 3.7144 2.6198 1.4796 0.4420 -0.5744 -0.9102 -0.6355 -1.0076 -1.4038 -1.1279 -2.5963 -20.6144 - 11.2061 12.3118 12.8295 13.0523 13.1146 12.3645 9.9362 5.7743 1.7043 -1.8769 -4.8871 -7.3022 -10.0064 -12.5843 -14.2598 -13.6895 -11.6784 -9.5138 -6.1691 -0.5296 5.2373 5.2179 3.4380 3.0836 2.2733 -1.6391 -6.1888 -7.6374 -3.5815 20.8484 18.6436 8.9742 10.0179 3.8790 -7.4403 -11.3642 -12.3105 -11.5853 -8.9330 -10.7298 -20.8771 - 16.8529 17.4255 16.4102 15.5784 15.8674 17.4950 18.1947 15.9349 11.7120 7.2655 2.7249 -1.9527 -5.0648 -6.5508 -5.6015 -1.5230 3.8782 6.4704 3.5684 -1.2082 -2.4831 -2.6718 -6.1617 -14.2995 -21.6998 -24.5766 -25.7294 -25.4801 -24.3755 1.7078 0.3442 -0.1860 -0.3639 -0.6031 -0.7615 -0.5273 -0.1524 0.1610 0.3883 -0.0071 -25.9432 - 3.6247 4.1362 4.7304 5.4643 6.0686 6.7599 7.3700 7.9086 8.2045 8.2007 8.3050 7.9346 6.5060 5.2072 4.9010 4.7326 5.1044 4.6386 2.5145 -2.6750 -8.8497 -12.8927 -16.3752 -16.1979 -12.4272 -9.0385 -10.4849 -12.3511 -11.0196 16.8771 16.0363 12.4221 5.0921 -2.2734 -6.9441 -6.2634 -7.9111 -8.6040 -8.3171 -10.1145 -25.1507 - 20.4102 22.2333 21.4536 19.4223 16.2855 13.0015 8.6431 4.0577 0.1512 -3.0550 -6.8588 -9.9672 -11.6652 -13.5703 -15.4009 -14.9881 -14.1899 -13.0588 -12.1440 -10.7868 -7.9129 -2.9873 -1.1110 -1.0826 1.2318 4.7844 4.0367 1.8708 1.1966 1.4837 -0.6523 -2.7877 -2.3545 -1.2604 3.0293 4.4380 2.6853 3.1820 0.1563 -7.9197 -4.8422 - 24.4801 24.0824 22.4438 19.5938 14.6940 8.6790 3.7523 0.8565 -0.9075 -1.5140 -0.7636 1.4427 4.6338 4.7800 -0.4807 -5.3801 -6.6867 -7.1351 -7.2085 -6.8900 -7.0642 -5.4063 1.9414 1.1193 -8.0610 -17.4390 -17.6573 -19.7125 -20.1924 -1.8469 0.7851 2.9495 5.7461 5.1153 0.0343 1.2368 -1.4044 -2.4151 -4.0039 -6.1967 -17.9837 - 34.2380 33.5242 31.1201 27.6874 23.0098 16.3994 8.7955 1.8365 -2.8561 -4.7762 -4.6828 -3.5969 -2.7477 -3.7154 -5.8733 -6.7781 -7.1404 -9.1196 -11.1436 -11.7088 -11.2040 -10.1729 -10.8046 -9.7894 -7.4004 -10.6648 -13.8125 -14.2674 -14.3560 0.7706 1.2161 0.2010 -0.2054 -0.4100 -0.3813 -0.4077 -0.2383 -0.1037 0.0286 -0.4699 -14.1437 - 28.8775 29.5132 28.5106 26.2574 21.3404 14.0753 6.0344 -0.6419 -5.0399 -7.8669 -10.5378 -12.6348 -13.9599 -14.7351 -14.0154 -11.1568 -6.4165 -1.6004 -0.2199 -4.6568 -7.7877 -4.3270 -3.6815 -7.3611 -9.9812 -9.0522 -3.7854 -1.0622 -4.0886 4.5036 0.0436 -1.2620 0.1566 0.7061 0.9930 -0.1034 -0.8841 -0.1473 -0.6208 -3.3851 -11.7638 - 23.7811 23.4799 22.5985 21.1811 19.2950 16.9827 14.1530 11.0015 7.6758 4.3321 1.3770 -1.2257 -4.1809 -8.0560 -12.0663 -14.7575 -16.2562 -16.8262 -16.6031 -14.6213 -10.8590 -6.2555 -3.6846 -3.6450 -3.7342 -4.0353 -7.6132 -10.8660 -10.5716 9.6447 7.8023 3.9088 0.9709 -1.2963 -2.9548 -3.6717 -3.5325 -2.8548 -2.7867 -5.2300 -17.9213 - 7.3168 7.9817 8.1669 8.3682 8.5119 8.7999 8.5177 8.2240 7.9760 7.1004 4.9797 2.8440 -0.2787 -2.8393 -5.1812 -6.5010 -7.8099 -7.3824 -4.9246 -1.2066 1.0202 -1.2524 -5.5773 -6.6635 -6.2109 -4.9615 -7.0357 -10.7105 -11.2719 12.8705 11.8805 10.2523 9.3642 5.4904 -1.6627 -6.1562 -9.1055 -10.2004 -10.6557 -12.0775 -23.3035 - 29.5404 29.4681 28.4882 26.7591 23.9950 19.9029 14.9906 9.9884 4.9431 0.7201 -2.7182 -4.9295 -5.8329 -5.2835 -3.1411 -1.0337 -1.2994 -4.6551 -9.2940 -12.6166 -14.4507 -14.7304 -13.5533 -12.6574 -13.3765 -15.4995 -17.3894 -18.2530 -18.0815 0.4964 0.5507 1.1546 0.7370 -0.0255 -0.3498 -0.5226 -0.4656 -0.4711 -0.2868 -0.8174 -17.8110 - -1.0744 14.9003 33.1596 35.0523 13.0736 2.0052 -0.7661 8.7597 2.7166 -6.4950 -4.2610 3.7720 -4.3426 -8.7782 -3.2656 -7.4382 -8.4893 -4.5093 -7.9161 -3.7247 -7.0520 -3.6709 -6.2650 -4.4960 -4.0238 -4.7559 -5.1416 -7.8610 -9.1128 0.6813 1.7272 1.1217 0.4323 -0.0682 -0.2650 -0.1787 -0.4185 -0.8065 -0.2104 -2.0153 -10.3544 - 17.3596 17.5673 15.0858 11.4644 7.3814 4.0226 -0.1410 -3.3849 -5.6204 -6.9233 -7.1105 -7.9534 -8.3396 -9.0384 -9.3087 -9.0779 -7.7416 -7.4684 -7.3969 -6.6548 -5.2109 -4.5759 -2.5217 -0.3381 2.7650 6.1586 8.7075 9.5670 8.7272 5.4636 3.5914 3.5111 3.4034 3.2185 1.4996 -0.7001 -2.2097 -2.6342 -2.6685 -12.4751 1.7656 - 9.2805 8.3218 6.4144 5.5901 4.5122 4.1170 2.0243 0.4668 -1.3946 -1.9080 -1.6016 -2.3054 -3.2805 -3.6877 -3.6998 -3.1360 -2.3723 -2.0691 -2.5325 -3.5697 -3.7685 -3.6638 -2.4370 -2.4841 -1.3748 -1.3849 -0.1182 1.3637 4.6978 -2.5191 0.6452 3.8178 5.9716 6.9002 5.0344 1.4694 -0.9067 -2.4853 -4.2997 -13.6280 3.6107 - 14.3113 15.3825 16.0172 17.0841 17.9406 17.4527 13.8237 9.1622 4.4761 0.4333 -1.8491 -4.1973 -6.2352 -7.3255 -6.6956 -3.8665 0.4871 1.8452 -1.9049 -6.4158 -9.6692 -9.9954 -8.3868 -6.3274 -7.5276 -11.6979 -13.0950 -12.8586 -10.3679 12.6405 9.4300 6.8308 1.9954 -1.8154 -4.0500 -4.6445 -4.9400 -4.6161 -4.1410 -6.6897 -21.7106 - 15.9574 13.5685 10.9183 9.2647 7.9607 6.5007 4.5878 3.5591 3.2169 1.2933 -0.0510 -0.9224 -2.2752 -2.6282 -3.7623 -4.7934 -4.9449 -4.3779 -4.6931 -3.1458 -4.4724 -5.0318 -4.9908 -4.4859 -5.0580 -5.3554 -5.0038 -5.0901 -5.7451 -5.4116 -5.6692 -5.7576 -5.1885 -3.0995 -0.5277 2.1995 4.1437 5.6134 6.8760 6.8216 -1.5471 - 19.4303 18.5843 17.0128 17.0462 18.3032 19.0230 17.0309 14.9915 13.9671 13.7472 10.8472 5.3475 -0.7858 -5.0732 -8.3887 -9.9459 -10.5501 -11.5448 -12.0790 -11.0765 -11.3340 -10.8130 -12.3197 -14.8319 -14.5526 -12.6243 -11.2782 -13.0457 -15.0877 2.8732 1.8570 1.3694 -0.0267 -0.8287 -0.4903 -0.4684 -0.4454 -0.2649 -0.5119 -3.0635 -20.4302 - 12.4117 13.0466 13.2331 13.4850 13.9028 13.3369 10.6679 6.6169 2.3362 -0.7175 -3.1184 -5.0629 -7.1577 -9.3769 -10.5260 -9.6526 -5.9526 -0.9724 3.2956 3.3183 -0.2154 -2.7832 -2.1155 -2.0009 -5.4287 -9.8635 -12.0371 -11.7310 -6.9389 19.8935 17.5132 8.1204 5.9513 -0.9114 -7.8096 -9.0959 -8.7765 -8.7232 -7.8238 -8.3381 -22.9941 - 5.4465 6.1545 6.5960 7.3692 6.5453 5.6331 3.5394 2.3607 0.8659 0.0509 -0.6899 -0.6602 -0.8114 -0.9871 -2.0620 -2.1051 -2.1293 -2.4346 -2.8842 -2.7862 -2.7031 -2.7005 -2.3058 -2.4182 -2.9614 -3.3012 -3.6250 -3.4399 -3.5562 1.1375 0.9550 0.1967 0.2876 -0.3489 -0.1347 -0.2618 -0.2052 0.1031 0.1921 -1.9213 -5.8132 - 19.3219 18.6070 17.2268 15.7037 13.2112 9.2621 6.1735 5.2932 6.8689 8.1175 8.5297 6.2006 2.9639 0.2106 -1.5424 -3.0741 -3.6228 -1.7612 1.1881 0.4888 -4.7011 -12.4521 -18.8925 -20.1895 -15.2633 -7.7586 -8.4595 -18.6161 -23.0341 7.2675 6.3572 1.7187 0.3913 0.3928 -0.3109 -1.9821 -2.8777 -3.2372 -3.3101 -4.4095 -25.2010 - 8.4541 8.1779 7.1194 5.4725 2.9601 1.1998 -0.3538 -1.2461 -1.9054 -1.1532 -0.8697 -0.7216 -1.4868 -2.8361 -3.9114 -3.9948 -3.2868 -2.9321 -1.6346 0.6941 1.5767 0.1133 -0.6901 -1.9526 -1.7040 -0.6393 -1.7853 -2.0227 -0.6415 6.3775 3.5011 1.7742 0.8521 -0.8807 -2.4262 -1.9793 -2.7130 -1.0301 -0.2906 -3.1850 -7.4694 - 10.0438 9.5730 9.4079 10.5993 13.6404 15.4525 14.4990 10.5598 6.2936 3.7658 1.8182 2.4916 3.9516 5.8549 9.0644 9.6627 6.8173 4.3977 1.3490 -4.2076 -12.0535 -17.0808 -19.6338 -19.7015 -18.7275 -16.8855 -13.8529 -11.6701 -15.4293 6.2710 4.5162 0.1386 -2.0908 -1.7858 -2.0793 -1.8138 0.2844 0.7409 0.2032 -4.3846 -24.8049 - 25.0551 24.1141 20.9653 16.3108 10.8527 5.3678 0.7364 -2.8219 -5.0859 -5.7650 -6.1499 -6.6367 -7.4276 -7.5696 -8.0119 -6.4695 -2.7893 0.4057 2.0532 0.8610 -1.2343 -2.5971 -2.0921 -3.1259 -5.4032 -7.7358 -7.6535 -8.0640 -10.0890 1.7165 0.5619 0.1133 -0.0994 -0.1364 -0.2660 -0.4353 0.5041 0.4384 0.8615 -3.2587 -14.5713 - -0.2824 -1.2002 -1.1857 -0.7688 -0.8143 -0.7172 -1.5304 -2.1288 -3.0516 -3.6018 -4.8378 -6.1535 -7.7320 -6.8121 -6.1824 -3.6103 -1.4311 0.9978 1.1937 0.8415 2.4841 6.3803 8.8835 7.0925 6.7752 9.2623 5.7944 2.8315 -0.4967 18.7297 14.2388 10.8799 4.2826 -6.9342 -8.6376 -8.3976 -6.7575 -6.0459 -5.4581 -5.9001 -18.8293 - 10.1128 8.8893 7.3473 6.5214 7.2930 10.3397 14.0197 15.8841 13.7146 8.7127 4.4971 1.7567 0.2355 0.5650 2.5360 6.4325 6.1884 1.5759 -3.2537 -5.8565 -5.4444 -3.8630 -6.5876 -12.9364 -16.8492 -18.9964 -18.8056 -16.0076 -18.0217 3.9553 2.3698 1.9291 -0.0877 -0.9652 -0.9019 -0.4445 -0.6487 -0.2555 -1.3366 -3.6140 -25.1871 - 12.2726 11.2280 9.4632 7.3787 5.2189 3.6600 2.1581 1.8973 1.7208 1.1692 2.6675 2.1480 0.1934 -0.9062 -0.5766 -0.7741 -0.2722 -1.4842 -1.6982 -2.2141 -2.7162 -2.8899 -3.2527 -3.3476 -3.8185 -5.7582 -8.5254 -9.5927 -13.3491 2.9336 -0.0614 -5.1792 -7.8262 -5.8818 -2.4979 0.2810 2.5842 4.2687 5.4567 5.9224 -16.9053 - 37.2172 34.3913 31.2113 27.7111 23.6697 19.0839 14.6521 10.8663 7.8437 5.4886 3.9602 2.5869 0.5600 -1.9033 -4.6862 -7.3190 -10.0710 -12.7038 -14.7680 -15.8511 -16.1191 -16.1652 -16.2159 -15.9004 -15.8958 -16.8057 -17.9478 -18.4940 -18.3957 0.4419 0.2835 -0.0357 -0.2713 -0.3987 -0.3334 -0.2999 -0.1625 0.2757 0.6740 -0.1736 -16.8775 - 11.3753 13.7268 15.9469 19.2400 21.6371 21.2732 16.6665 10.0971 4.1118 -0.3896 -3.6531 -5.5614 -8.0681 -10.2817 -11.6723 -11.5104 -10.0734 -10.1816 -8.5685 -7.1045 -6.4138 -4.8696 -3.9548 -5.7824 -5.0034 -4.9254 -6.3935 -5.3682 -4.2986 12.8596 6.0788 2.4099 2.8908 0.0595 -2.3723 -2.9619 -4.0883 -4.5273 -4.0164 -6.3324 -17.4382 - 26.4179 26.6038 25.6315 22.7118 17.4654 11.2374 4.5630 -0.6721 -3.6490 -5.1965 -6.8885 -8.5149 -9.9685 -10.5303 -10.6988 -9.8426 -8.6196 -5.7793 -0.9658 3.2322 2.5498 0.5196 -0.4196 -3.4101 -7.4205 -10.7757 -11.9107 -12.1132 -13.5565 2.4448 1.0270 0.2616 -0.2763 -0.6725 -0.5323 -0.4687 -0.3345 0.1168 0.1296 -1.6954 -17.0871 - 18.4471 16.7466 13.9277 10.8916 8.7857 7.1932 5.5568 4.1778 3.8018 3.6509 4.1995 4.5197 3.7143 2.0835 1.0146 0.3919 -0.3931 -1.7518 -3.7102 -5.6106 -7.0424 -8.2355 -8.7436 -9.9803 -10.8971 -12.1221 -12.4526 -14.0451 -14.1182 1.5911 1.3311 0.9816 0.2592 0.5671 -0.1500 -0.6917 -0.0710 -0.0271 0.0589 -3.8492 -16.0146 - 5.9232 5.3337 3.8014 2.9697 3.4359 4.2543 3.4648 1.7717 0.1194 -0.0269 0.7474 1.7656 2.2681 3.3777 5.5350 7.6925 7.1170 5.0594 1.6134 -2.8840 -4.6636 -5.6498 -6.7260 -7.6581 -7.7482 -7.0077 -8.1003 -8.2149 -7.5709 2.7271 3.2452 3.0964 1.8085 1.2978 0.1047 -1.3807 -1.5844 -0.8243 -0.5104 -7.9799 -12.0827 - 12.4719 12.1361 10.1546 7.9843 6.3039 5.8891 4.6571 2.6181 -0.1657 -1.9369 -2.8607 -3.3105 -4.8578 -7.0042 -7.1916 -5.9866 -4.1997 -1.7831 1.5238 4.3316 3.2165 1.1019 0.2627 -0.7887 -2.3974 -4.1659 -7.7383 -8.8914 -9.3732 3.3631 2.1730 1.7422 1.8227 1.4558 0.1916 -0.0971 -0.1883 -1.5408 -1.1423 -7.7797 -11.8474 - 11.3451 10.9000 8.9585 6.1028 3.1858 -1.1621 -5.3836 -9.5575 -11.5639 -12.6129 -13.2817 -13.1921 -12.6233 -11.4537 -9.9063 -7.2485 -2.9323 -0.1679 2.3451 3.4644 4.1413 6.5832 8.0312 9.6000 9.3866 8.3390 7.0332 6.2115 5.4582 2.4819 2.4952 2.5332 1.3146 1.2840 1.1744 1.4075 1.6533 -0.7910 -1.1435 -12.4097 1.0916 - 23.6029 24.2878 23.1930 21.6752 20.1647 17.8825 13.5147 9.0959 4.9067 0.9398 -2.2819 -4.7976 -6.5405 -7.8935 -8.5957 -8.1319 -5.7029 -2.9010 -1.4003 -3.8107 -7.7146 -10.9603 -11.9185 -11.3097 -10.0262 -10.8911 -13.0763 -15.2199 -16.0905 -4.3614 -2.5556 -2.1777 -1.8997 -0.5988 1.0869 2.5785 3.4868 4.0967 3.3192 -2.9749 -12.6358 - 4.1481 24.8058 32.0050 24.1070 7.9048 5.1844 9.4865 6.9930 -4.1867 -5.3105 -0.1042 -5.3429 -7.9480 -8.8340 -11.8488 -10.9382 -11.6153 -10.8429 -8.8763 -8.2063 -5.9086 -4.6780 -0.7362 0.9339 1.6189 1.2420 -2.1650 -5.4458 -5.4417 3.8026 4.9367 2.9396 1.2003 0.8096 -0.4055 -1.2653 -1.7631 -2.9130 -1.4945 -5.8474 -8.5756 - 23.7954 23.1921 21.7016 20.0766 17.1113 13.7019 10.3999 7.0724 4.4505 3.2062 3.6711 5.1040 6.2303 4.8847 -0.1659 -4.8929 -7.3427 -9.3139 -10.9450 -11.4728 -10.0337 -7.5622 -3.5203 -5.8211 -14.2213 -19.1068 -19.3958 -20.2365 -20.5672 -0.5258 0.0632 2.1808 3.9092 2.4964 -0.3407 -0.5190 -0.8656 -0.9771 -1.7973 -3.6241 -20.0182 - -3.7360 -3.6185 -3.3879 -2.0035 -2.0453 -3.0452 -2.1024 -2.2759 -2.6516 -4.3569 -3.6456 -2.3824 -3.7115 -5.0829 -6.2136 -7.0765 -6.8802 -6.4042 -2.6943 1.3032 2.8085 -2.4198 6.8476 8.5220 10.8666 10.9764 11.8694 11.6880 10.8525 -10.1854 -14.3979 -14.1885 -6.1104 -2.3069 3.0598 3.2787 7.7402 9.9334 10.5862 12.5907 18.9431 - 13.3492 12.8348 12.1001 10.6097 8.9141 7.8597 5.9391 3.8673 2.6411 2.3479 2.7602 2.8027 2.2779 0.4287 -1.3226 -2.0315 -2.1676 -1.5551 -1.2222 -2.1197 -4.0818 -6.1594 -8.1874 -9.3177 -9.4499 -9.7874 -10.1789 -10.6801 -10.4712 -3.7681 -4.8313 -5.1537 -4.2661 -3.2035 -1.4351 1.4217 3.2157 5.2602 6.9893 5.7708 -7.9426 - 23.1558 23.5472 22.1677 18.7915 13.0187 6.0783 -0.4803 -4.5728 -6.1861 -7.0011 -7.3578 -8.0890 -10.0377 -12.2340 -12.8288 -11.4502 -9.5173 -6.4728 -2.1175 2.0048 1.3570 -2.9595 -2.6436 1.5180 3.0406 -2.5769 -4.8065 -2.5134 -0.8343 3.1119 3.3528 5.9276 3.6737 2.5908 1.6925 -3.4674 -1.5813 -3.2207 -2.1812 -9.8987 -8.8538 - 26.4920 27.5278 23.5895 18.4003 14.4396 11.3628 6.6147 2.4341 -0.2444 -2.4075 -4.2073 -6.4485 -7.8162 -9.2259 -9.5571 -9.3064 -9.0910 -7.0174 -7.1701 -7.0279 -7.6510 -7.5329 -8.2698 -7.2504 -4.4537 -4.4137 -4.3225 -4.9571 -2.4902 -7.3866 -6.0243 -3.8745 0.0041 2.7020 4.9257 5.6046 5.2905 3.4738 1.6970 -6.4124 2.1053 - 20.0311 32.4089 21.4065 3.8740 5.8630 17.0357 3.7543 2.9904 15.6577 4.2113 -0.9665 3.2682 -4.9242 0.9109 -5.5297 -0.9790 -5.0003 -0.7131 -5.5269 -8.0296 -9.9403 -10.8809 -10.2649 -9.9965 -9.6956 -10.6759 -12.5982 -13.0794 -12.6109 0.8915 0.0604 -0.2305 -0.0021 -0.6053 -0.3414 -0.0731 0.4824 0.7549 -0.1062 -0.8306 -13.4365 - 16.7766 17.5169 16.4982 14.0891 10.0932 5.3461 0.6341 -3.6859 -5.9242 -6.3128 -5.9350 -5.7548 -6.0307 -6.0498 -6.4996 -6.5626 -4.8816 -3.2502 -3.2922 -4.2819 -4.8479 -5.5791 -4.7813 -3.1384 -3.4900 -2.8954 0.2902 4.4573 7.4915 -5.5534 -4.1269 -1.5355 0.4168 0.9124 3.0599 2.1241 2.4262 2.5000 4.5034 -4.7272 8.0549 - 14.2987 14.8926 15.4168 16.0974 16.7877 16.0424 12.9710 8.0251 2.9090 -0.5642 -2.9640 -4.5656 -6.3342 -5.7781 -3.4597 0.3272 2.7738 -0.3574 -4.8087 -8.1398 -9.6152 -7.9303 -6.2270 -7.0986 -10.3018 -13.1453 -11.2961 -9.1627 -8.7927 1.0994 1.8123 2.8974 2.9050 4.6509 3.4505 -0.6010 -1.4758 -2.7795 -2.4745 -9.4847 -15.4782 - 19.5896 21.6796 21.9059 19.1821 14.0268 8.5044 2.2676 -4.7266 -10.6450 -13.0460 -14.0860 -14.5335 -14.9498 -14.7870 -14.0697 -11.4549 -8.2147 -4.0260 0.3628 4.9113 3.4988 0.5780 1.9943 2.9810 0.8573 -1.3207 -0.0740 2.1207 1.4740 10.3387 1.2319 -0.4911 -1.8207 -1.0700 -0.8286 0.3764 0.2040 -0.8290 -1.6698 -5.4418 -14.7994 - 7.6904 8.5944 9.5072 9.8820 10.2276 10.5222 10.3373 9.3607 7.6459 4.8852 2.1707 -0.1575 -1.8433 -2.7877 -2.2526 -0.5664 2.3824 4.3345 3.5440 -0.6514 -5.2439 -9.2918 -11.7988 -14.1092 -12.7385 -9.1451 -9.6551 -10.7736 -10.0695 11.9243 11.2262 10.3898 9.8282 8.0787 3.3521 -3.2649 -10.5053 -13.2404 -13.3007 -14.4881 -21.2847 - 30.3070 29.5477 26.4796 21.7752 16.6251 11.7301 7.3299 3.8872 0.7290 -1.2037 -2.4737 -3.5896 -4.8044 -5.4589 -6.3339 -6.5407 -6.0748 -6.4957 -7.6726 -8.7065 -8.7749 -8.8999 -9.3481 -9.1891 -9.9612 -10.0486 -10.5500 -11.2845 -11.0000 -6.1498 -6.3059 -5.5965 -4.5595 -2.8356 0.0899 2.7110 4.5977 5.7639 7.0861 5.1987 -6.4033 - 12.2542 12.1227 12.1295 13.7252 16.2506 16.1281 10.9394 4.8988 -0.4731 -3.6819 -5.4021 -7.4944 -8.2715 -8.0576 -6.1477 -3.0306 1.9117 4.0560 2.1482 0.8098 0.1207 0.0058 -2.3034 -4.0466 -3.9220 -6.4147 -11.2118 -17.1187 -19.9247 6.0099 3.6952 1.2907 -0.5044 -0.8291 -1.0627 -1.1957 -1.1416 -1.4267 -1.5418 -3.2939 -24.4860 - 9.7234 8.7897 6.5360 5.5091 6.6941 8.8748 9.0238 7.6482 4.3129 1.4757 -0.7289 -2.4072 -4.4322 -5.3461 -3.7806 -1.1393 2.9797 3.5166 -1.5034 -4.0711 -4.3945 -4.4639 -5.1951 -6.0761 -6.0336 -6.9960 -6.5160 -4.9520 -7.0480 14.6458 13.1436 9.1440 2.7564 -0.8129 -3.8913 -6.6500 -6.1267 -6.0986 -6.7696 -9.3407 -21.2384 - 8.5519 7.5224 5.9151 4.8177 3.5030 2.2565 1.1622 0.1988 -0.5493 -0.3850 -0.1928 -0.4114 -0.8801 -1.0153 -1.0764 -1.4171 -1.4905 -1.3971 -1.0636 -1.1738 -0.9725 -1.8880 -2.3866 -2.7467 -2.5988 -2.5326 -3.1114 -3.2783 -3.3604 -3.8082 -3.8849 -4.0621 -3.5801 -2.8055 -1.5136 0.9076 2.8350 4.3455 5.8838 5.6825 -0.4474 - 7.7224 9.4298 7.9025 6.4102 5.0524 7.1733 6.8444 5.1985 1.7514 0.1644 0.4222 1.0885 -0.3101 -2.4745 -2.9872 -2.3617 -3.5889 -3.7306 -1.5428 -0.5556 -0.6425 -2.7366 -1.5405 -2.2119 -3.2504 -3.1003 -4.4891 -10.0519 -13.5853 -15.9446 -3.2508 0.2918 -0.9236 3.5700 5.1357 5.1789 6.0048 3.6122 3.0229 -6.6974 0.4660 - 12.4572 13.5760 13.8205 13.8979 14.7964 17.0228 18.4159 17.4577 14.0275 10.4467 7.5633 5.8220 5.5014 6.0819 6.4280 5.7453 2.9483 0.4368 -2.0706 -3.5909 -6.3177 -11.4245 -17.9894 -23.7008 -25.5017 -25.0724 -24.5956 -23.3443 -22.8376 1.8005 0.4050 -0.0309 -0.4072 -0.7903 -0.7639 -0.6330 0.2496 0.9862 0.2958 -1.1118 -25.7677 - 4.7942 4.1637 3.1217 3.4886 5.7426 8.4586 9.4051 8.4408 4.0573 -0.0847 -2.6488 -4.2622 -6.8882 -7.9882 -8.0785 -6.5745 -3.6736 0.0836 3.7506 4.2950 1.4430 1.7647 2.5945 0.5096 -1.4030 -2.4095 -4.2409 -7.3362 -10.5254 14.3716 9.9001 5.5613 -0.4343 -4.0106 -4.4911 -4.7396 -4.3992 -3.5933 -3.3021 -4.8629 -20.9215 - 21.6217 21.5816 19.9361 17.4078 14.6925 11.4780 7.7360 4.5567 2.3261 1.3757 0.8699 1.0465 1.1010 -0.3579 -2.1883 -4.1422 -5.5220 -7.4591 -9.7124 -11.0673 -12.8828 -14.8063 -14.5786 -12.2038 -9.6561 -7.6717 -6.6862 -4.4940 -2.3008 -2.8294 -2.2589 -0.7299 1.8580 3.4539 3.4053 2.7591 1.9997 0.5308 0.5471 -8.7356 -3.9438 - 1.0482 0.8820 0.3120 -0.0147 0.1548 1.1642 2.5065 4.2829 6.8793 9.8376 11.4462 10.6004 8.7525 7.4364 7.3679 8.2254 7.9411 4.8316 -0.5361 -4.6026 -6.7708 -7.8326 -7.7624 -5.3939 -6.4851 -9.7433 -13.7435 -16.3579 -14.4263 10.9932 7.6190 5.9532 4.7231 0.1759 -2.5109 -4.5002 -5.8815 -4.2941 -4.7897 -7.4879 -24.0798 - 8.4638 7.6638 6.7405 6.7849 9.6108 11.6513 11.2989 8.3544 3.0440 -0.8467 -3.9303 -4.9339 -3.7358 -4.1317 -2.0585 2.7514 7.6579 7.9793 2.3491 -1.2307 -6.1104 -5.2397 -3.7933 -5.5972 -9.8841 -12.1146 -11.4629 -8.7974 -10.4828 8.1529 4.6235 5.0235 -3.9150 -7.5503 -5.3361 -1.2531 6.4683 2.2949 -0.0550 -8.4536 -22.5498 - 9.8543 8.7085 6.2122 3.2566 2.0932 1.8184 0.6210 -1.4796 -2.3312 -2.6373 -4.0537 -4.6289 -4.6135 -3.7432 -2.1216 0.8603 3.6326 5.0735 3.4051 1.8301 1.3556 -1.1657 -2.6873 -3.2580 -2.3407 -3.5712 -3.7082 -3.8659 -2.5155 -3.0106 -3.6582 1.1257 3.5876 5.1138 3.8620 1.9732 0.5329 1.0253 -0.8077 -9.7439 -1.3313 - -2.9689 -3.6925 -3.2882 -2.1408 -0.3207 1.4181 2.0372 0.1628 -1.5615 -1.1744 -1.1748 -2.3007 -3.8174 -4.8189 -4.0221 -1.3971 3.2927 7.6888 9.8326 7.1859 3.6459 2.2387 1.1579 1.6876 0.0249 -1.1344 -3.2237 -2.0378 -1.2991 8.2053 7.6257 7.4526 5.2692 0.6619 -2.5875 -5.5343 -3.5316 -3.8077 -4.5073 -9.2463 -10.5134 - 9.7903 6.5524 4.2187 2.8629 1.5301 2.6090 2.8671 -0.4058 0.1443 2.1025 2.2641 2.2540 2.8227 4.2305 2.6246 0.1011 -0.5037 -2.5281 5.9816 8.8018 3.5902 -2.1055 -8.2336 -7.5542 -8.3988 -6.7700 -12.1221 -12.6274 -4.0986 15.9214 10.1934 4.0555 -0.7395 -4.4850 -5.0408 1.8975 -3.7215 -6.1218 -5.7613 -6.1980 -17.6420 - 29.2898 29.1270 27.9887 26.0350 22.7880 18.9325 14.8741 10.7353 6.3361 1.5435 -3.4721 -8.0918 -11.5471 -14.2024 -15.5430 -16.5237 -17.5387 -18.0503 -18.3862 -18.0321 -17.2039 -14.4258 -7.6289 -2.1492 -0.8256 -0.4858 0.7007 -0.7217 -3.5225 7.7486 6.5879 3.6481 0.1102 -1.4486 -1.4917 -1.7642 -2.4587 -2.7189 -2.3171 -5.8956 -12.2398 - 4.4923 5.9961 3.5313 -0.1456 -2.9561 -3.9972 -5.5178 -6.5495 -8.2904 -9.4007 -9.5368 -9.2154 -10.6132 -12.2389 -12.1450 -11.3212 -9.2653 -6.1867 -0.5047 2.8376 -1.5645 1.0645 6.8296 12.9030 17.1169 16.2097 16.8799 17.2979 14.2904 3.6672 1.4385 0.6939 -0.7824 -1.0548 0.7585 1.5905 1.4809 1.2351 0.7042 -9.7316 9.0007 - 17.1014 20.3617 22.1941 23.6186 23.8203 21.4980 16.0993 10.2193 4.4688 0.3152 -2.6232 -4.4565 -5.7629 -7.4399 -7.9702 -8.7398 -8.6156 -7.5758 -5.6113 -3.8507 -4.7710 -7.9311 -11.5008 -12.9375 -11.7921 -9.1891 -8.8722 -13.4431 -16.6139 2.6455 3.2595 3.6340 3.0753 1.5772 -0.5994 -1.7486 -1.8960 -2.7589 -2.4890 -4.6996 -18.2534 - -6.7950 -4.3945 -2.1814 -0.0391 1.0243 2.1577 2.4659 2.7954 2.9978 2.3847 1.7726 1.1096 -0.1514 -3.1834 -4.1688 -4.9229 -4.7410 -4.3919 -0.8572 1.4319 1.2097 1.1996 -0.6138 0.0932 1.9431 3.2864 3.0149 3.0300 4.5238 -4.4471 -6.9731 -3.2184 -0.9733 0.9643 1.9409 2.7291 5.1726 4.8981 5.2725 -5.3657 7.6481 \ No newline at end of file diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp1.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp1.txt deleted file mode 100644 index 058d048..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp1.txt +++ /dev/null @@ -1,35 +0,0 @@ -1 32 -25 -50 -75 -100 -125 -150 -175 -200 -225 -250 -275 -300 -325 -350 -375 -400 -425 -450 -475 -500 -525 -550 -575 -600 -625 -650 -675 -700 -725 -750 -775 -800 - - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp10.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp10.txt deleted file mode 100644 index 058d048..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp10.txt +++ /dev/null @@ -1,35 +0,0 @@ -1 32 -25 -50 -75 -100 -125 -150 -175 -200 -225 -250 -275 -300 -325 -350 -375 -400 -425 -450 -475 -500 -525 -550 -575 -600 -625 -650 -675 -700 -725 -750 -775 -800 - - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp2.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp2.txt deleted file mode 100644 index 058d048..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp2.txt +++ /dev/null @@ -1,35 +0,0 @@ -1 32 -25 -50 -75 -100 -125 -150 -175 -200 -225 -250 -275 -300 -325 -350 -375 -400 -425 -450 -475 -500 -525 -550 -575 -600 -625 -650 -675 -700 -725 -750 -775 -800 - - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp3.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp3.txt deleted file mode 100644 index 058d048..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp3.txt +++ /dev/null @@ -1,35 +0,0 @@ -1 32 -25 -50 -75 -100 -125 -150 -175 -200 -225 -250 -275 -300 -325 -350 -375 -400 -425 -450 -475 -500 -525 -550 -575 -600 -625 -650 -675 -700 -725 -750 -775 -800 - - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp4.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp4.txt deleted file mode 100644 index 4a5e990..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp4.txt +++ /dev/null @@ -1,35 +0,0 @@ -1 32 -25 -50 -75 -100 -125 -150 -175 -200 -250 -300 -350 -400 -450 -500 -550 -600 -650 -700 -750 -800 -850 -900 -950 -1000 -1050 -1100 -1150 -1200 -1250 -1300 -1350 -1400 - - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp5.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp5.txt deleted file mode 100644 index 4a5e990..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp5.txt +++ /dev/null @@ -1,35 +0,0 @@ -1 32 -25 -50 -75 -100 -125 -150 -175 -200 -250 -300 -350 -400 -450 -500 -550 -600 -650 -700 -750 -800 -850 -900 -950 -1000 -1050 -1100 -1150 -1200 -1250 -1300 -1350 -1400 - - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp6.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp6.txt deleted file mode 100644 index 4a5e990..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp6.txt +++ /dev/null @@ -1,35 +0,0 @@ -1 32 -25 -50 -75 -100 -125 -150 -175 -200 -250 -300 -350 -400 -450 -500 -550 -600 -650 -700 -750 -800 -850 -900 -950 -1000 -1050 -1100 -1150 -1200 -1250 -1300 -1350 -1400 - - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp7.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp7.txt deleted file mode 100644 index 058d048..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp7.txt +++ /dev/null @@ -1,35 +0,0 @@ -1 32 -25 -50 -75 -100 -125 -150 -175 -200 -225 -250 -275 -300 -325 -350 -375 -400 -425 -450 -475 -500 -525 -550 -575 -600 -625 -650 -675 -700 -725 -750 -775 -800 - - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp8.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp8.txt deleted file mode 100644 index 058d048..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp8.txt +++ /dev/null @@ -1,35 +0,0 @@ -1 32 -25 -50 -75 -100 -125 -150 -175 -200 -225 -250 -275 -300 -325 -350 -375 -400 -425 -450 -475 -500 -525 -550 -575 -600 -625 -650 -675 -700 -725 -750 -775 -800 - - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp9.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp9.txt deleted file mode 100644 index 058d048..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/dlsp9.txt +++ /dev/null @@ -1,35 +0,0 @@ -1 32 -25 -50 -75 -100 -125 -150 -175 -200 -225 -250 -275 -300 -325 -350 -375 -400 -425 -450 -475 -500 -525 -550 -575 -600 -625 -650 -675 -700 -725 -750 -775 -800 - - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/gecb.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/gecb.txt deleted file mode 100644 index bd3bb08..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/gecb.txt +++ /dev/null @@ -1,257 +0,0 @@ -2 256 -2.709998 12.018395 -0.046750 -2.738813 -0.120993 8.388947 --1.580275 -0.892307 -1.193065 -1.915609 -0.187101 -3.276788 -0.332251 -7.664550 --1.479436 31.246122 -1.527612 27.709463 --0.524379 5.250122 -0.553330 7.438797 --0.843451 -1.952987 -2.263885 8.610286 -0.143143 2.365493 -0.616506 1.284268 --1.711327 22.096672 -1.008128 17.396519 --0.106718 1.418905 --0.136246 14.273605 --1.709087 -20.531881 -1.657866 -3.391068 -0.138049 -4.957845 -0.536729 -1.943748 -0.196307 36.851948 -1.272479 22.556494 --0.670219 -1.906045 -0.382092 6.401132 --0.756911 -4.901017 -1.829313 4.613800 -0.318794 0.736830 -0.612815 -2.075045 --0.410151 24.787077 -1.776016 13.190924 -0.106457 -0.104492 -0.192206 10.183844 --1.824423 -7.715654 -0.931346 4.348355 -0.308813 -4.086001 -0.397143 -11.808859 --0.048715 41.227314 -0.877342 35.850311 --0.759794 0.476634 -0.978593 7.674673 --1.195056 3.038826 -2.639894 -3.411063 -0.191127 3.603507 -0.402932 1.084298 --2.152022 18.107616 -1.546802 8.322713 --0.143089 -4.075922 --0.150142 5.866741 --1.408444 -3.250696 -1.566148 -10.413164 -0.178171 -10.226697 -0.362164 -0.028556 --0.070125 24.390722 -0.594752 17.482765 --0.286980 -6.904069 -0.464818 10.205451 --1.006841 -14.357209 -2.329569 -3.691613 -0.335745 2.407139 -1.019658 -3.155647 --1.259455 7.991899 -2.383695 19.680567 --0.094947 -2.413742 -0.209330 6.664768 --2.221034 1.379860 -1.292387 2.046333 -0.243626 -0.890741 -0.428773 -7.193658 --1.113744 41.341354 -2.609799 31.140514 --0.446468 2.534188 -0.490104 4.627575 --1.117226 -3.241744 -1.791562 8.414926 -0.156012 0.183336 -0.532447 3.154545 --0.764484 18.513958 -0.952395 11.771298 --0.332567 0.346987 -0.202165 14.716752 --2.129240 -15.558954 -1.353583 -1.926790 --0.010963 -16.336386 -0.399053 -2.790569 -0.750657 31.148336 -0.655743 24.481859 --0.453210 -0.735879 -0.286900 6.546703 --0.715673 -12.357815 -1.548488 3.872171 -0.271874 0.802339 -0.502073 -4.854850 --0.497037 17.761904 -1.191161 13.954446 -0.015630 1.331566 -0.341867 8.935369 --2.316009 -5.395058 -0.758610 1.964505 -0.241320 -3.237686 -0.267151 -11.234388 --0.273126 32.624771 -1.753523 40.431995 --0.784011 3.045757 -0.705987 5.661178 --1.386400 1.353557 -2.376458 1.674851 -0.242973 4.732178 -0.491227 0.354061 --1.606762 8.658955 -1.167111 5.987103 --0.137601 -12.041750 --0.251375 10.397204 --1.431514 -8.904108 -0.988280 -13.208963 -0.261484 -6.354970 -0.395932 -0.702529 -0.283704 26.899563 -0.420959 15.441778 --0.355804 -13.727784 -0.527372 12.398515 --1.169559 -15.998457 -1.906688 -5.816055 -0.354492 3.851572 -0.825760 -4.162642 --0.490190 13.057229 -2.255773 13.526449 --0.004956 -3.237127 -0.026709 7.866448 --1.810372 -0.451183 -1.083827 -0.183620 -0.135836 -2.266582 -0.375812 -5.512248 --1.966443 38.682854 -1.977988 24.565481 --0.704656 6.358810 -0.480786 7.051749 --0.976417 -2.422727 -2.502148 6.759346 -0.083588 3.258795 -0.543629 0.910013 --1.231959 23.091507 -0.785492 14.807000 --0.213554 1.688002 -0.004748 18.171820 --1.547192 -16.116837 -1.501045 -3.281141 -0.080133 -4.634724 -0.476592 -2.180929 -0.442470 40.303989 -1.072766 27.592009 --0.594738 -4.166807 -0.422480 7.616091 --0.927521 -7.274406 -1.991623 1.296359 -0.291307 2.398781 -0.721081 -1.950625 --0.804256 24.929474 -1.648388 19.119692 -0.060852 -0.590639 -0.266085 9.103249 --1.957399 -2.884607 -1.116929 2.672397 -0.354580 -2.748541 -0.330733 -14.156131 --0.527851 39.575626 -0.991152 43.194984 --0.589619 1.269186 -0.787401 8.730713 --1.013800 1.025075 -2.825403 1.895381 -0.240890 2.745566 -0.427195 2.544456 --1.953109 12.243958 -1.448616 12.060747 --0.210492 -3.379058 --0.056713 10.204020 --1.652370 -5.102737 -1.294748 -12.270802 -0.111608 -8.675921 -0.326634 -1.167627 -0.021781 31.125782 -0.455335 21.468430 --0.375440 -3.371207 -0.393620 11.301987 --0.851456 -19.414892 -2.107030 -2.228865 -0.373233 1.924056 -0.884438 -1.720581 --0.975127 9.840128 -2.003303 17.395407 --0.036915 -1.111372 -0.148456 5.399970 --1.914412 4.773819 -1.447907 0.537122 -0.194979 -1.038179 -0.495771 -9.955025 --1.058987 32.947052 -2.011222 32.454418 --0.309650 4.719106 -0.436082 4.635524 --1.237105 -1.254284 -2.022740 9.428345 -0.190342 1.460767 -0.479017 2.484788 --1.078483 16.221748 -1.207642 9.654212 --0.258087 -1.672358 -0.071852 13.415978 --1.877228 -16.072031 -1.289568 -4.871185 -0.067713 -13.442700 -0.435551 -4.165503 -0.466140 30.589535 -0.904895 21.597990 --0.518369 -2.532048 -0.337363 5.637264 --0.554975 -17.400511 -1.691879 1.145742 -0.227934 0.889297 -0.587303 -5.729732 --0.262133 18.666620 -1.395048 17.002878 --0.019090 4.308379 -0.304235 12.669943 --2.074059 -6.460845 -0.920546 1.212957 -0.284927 -1.785466 -0.209724 -16.023964 --0.636067 31.576820 -1.349887 34.677502 --0.971625 5.300859 -0.590249 4.449709 --1.567867 3.602385 -2.145497 4.516663 -0.296022 4.120170 -0.445299 0.868772 --1.441931 14.128431 -1.355752 6.007401 --0.012814 -7.496573 --0.430000 8.500124 --1.204693 -7.113256 -1.101018 -6.836818 -0.196463 -6.234002 -0.436747 -1.129788 -0.141052 22.854876 -0.290821 18.811443 --0.529536 -7.732510 -0.634280 10.789847 --1.334721 -20.325773 -1.815645 -1.903316 -0.394778 3.797577 -0.732682 -8.183819 --0.741244 11.768337 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp1.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp1.txt deleted file mode 100644 index d126be7..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp1.txt +++ /dev/null @@ -1,17 +0,0 @@ -1 16 -225 -250 -275 -300 -325 -350 -375 -400 -425 -450 -475 -500 -525 -550 -575 -600 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp10.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp10.txt deleted file mode 100644 index 39aab7c..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp10.txt +++ /dev/null @@ -1,6 +0,0 @@ -1 4 -2900 -3100 -3300 -3500 - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp2.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp2.txt deleted file mode 100644 index 597f149..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp2.txt +++ /dev/null @@ -1,17 +0,0 @@ -1 16 -325 -350 -375 -400 -425 -450 -475 -500 -525 -550 -575 -600 -625 -650 -675 -700 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp3.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp3.txt deleted file mode 100644 index 36a64b1..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp3.txt +++ /dev/null @@ -1,17 +0,0 @@ -1 16 -500 -550 -600 -650 -700 -750 -800 -850 -900 -950 -1000 -1050 -1100 -1150 -1200 -1250 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp4.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp4.txt deleted file mode 100644 index 53a90bd..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp4.txt +++ /dev/null @@ -1,17 +0,0 @@ -1 16 -700 -800 -900 -1000 -1100 -1200 -1300 -1400 -1500 -1600 -1700 -1800 -1900 -2000 -2100 -2200 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp5.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp5.txt deleted file mode 100644 index 94739b5..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp5.txt +++ /dev/null @@ -1,19 +0,0 @@ -1 16 - 950 -1050 -1150 -1250 -1350 -1450 -1550 -1650 -1750 -1850 -1950 -2050 -2150 -2250 -2350 -2450 - - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp6.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp6.txt deleted file mode 100644 index 992ea25..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp6.txt +++ /dev/null @@ -1,19 +0,0 @@ -1 16 -1100 -1200 -1300 -1400 -1500 -1600 -1700 -1800 -1900 -2000 -2100 -2200 -2300 -2400 -2500 -2600 - - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp7.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp7.txt deleted file mode 100644 index 839cbfd..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp7.txt +++ /dev/null @@ -1,19 +0,0 @@ -1 16 -1500 -1600 -1700 -1800 -1900 -2000 -2100 -2200 -2300 -2400 -2500 -2600 -2700 -2800 -2900 -3000 - - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp8.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp8.txt deleted file mode 100644 index d9880c9..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp8.txt +++ /dev/null @@ -1,11 +0,0 @@ -1 8 -2300 -2400 -2500 -2600 -2700 -2800 -2900 -3000 - - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp8910.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp8910.txt deleted file mode 100644 index 759136b..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp8910.txt +++ /dev/null @@ -1,65 +0,0 @@ -3 64 -2.048073 2.534502 2.645915 -2.019670 2.269744 2.605462 -1.961101 2.329646 2.562857 -1.968573 2.532712 2.616918 -2.183480 2.514381 2.629582 -2.259379 2.516615 2.620410 -2.172791 2.462460 2.567064 -2.097666 2.303933 2.421685 -2.052990 2.353242 2.546992 -2.043642 2.232362 2.499262 -2.106151 2.393131 2.488401 -2.099167 2.437862 2.558655 -2.013877 2.422875 2.530071 -2.033848 2.483776 2.584598 -2.114474 2.516856 2.602372 -2.229214 2.584056 2.678855 -2.131151 2.584299 2.674845 -1.472721 2.477091 2.630241 -2.010907 2.598415 2.682989 -2.353653 2.524066 2.619773 -2.419897 2.623938 2.699605 -2.319080 2.602148 2.689044 -1.860342 2.503881 2.616576 -1.910517 2.386693 2.610126 -1.748689 2.371809 2.496542 -1.618495 2.403425 2.554956 -1.844073 2.437026 2.533443 -1.924810 2.388543 2.502698 -1.937227 2.258363 2.501697 -1.687554 2.209123 2.545239 -1.851950 2.278628 2.565632 -1.868154 2.330150 2.444883 -1.874180 2.213118 2.351940 -1.757311 2.030626 2.433836 -1.650306 2.152371 2.243421 -1.612794 1.884686 2.339313 -1.745431 2.278895 2.389449 -1.590923 2.304155 2.408510 -1.475982 2.275548 2.509897 -1.508695 2.045463 2.455520 -1.872054 2.061777 2.246202 -1.983947 2.159155 2.445535 -1.745180 2.483765 2.593698 -1.900116 2.079600 2.407479 -1.841672 2.167042 2.486827 -1.932912 2.148464 2.569850 -2.134174 2.363673 2.584252 -2.106094 2.450645 2.638417 -1.954135 2.460313 2.666512 -1.907634 2.573801 2.674025 -1.625579 2.539569 2.656363 -1.785866 2.572616 2.676082 -1.798447 2.376454 2.624298 -2.020033 2.397244 2.619868 -1.946581 2.468791 2.564185 -2.008920 2.342400 2.469132 -1.983846 2.271044 2.395408 -1.988039 2.154150 2.317920 -2.077197 2.216622 2.389101 -2.117255 2.283907 2.512242 -2.177233 2.334622 2.458268 -2.214655 2.425510 2.620013 -2.199931 2.390272 2.520731 -2.271755 2.448682 2.552649 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp9.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp9.txt deleted file mode 100644 index 7e159af..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lsp9.txt +++ /dev/null @@ -1,11 +0,0 @@ -1 8 -2500 -2600 -2700 -2800 -2900 -3000 -3100 -3200 - - diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspjmv1.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspjmv1.txt deleted file mode 100644 index 9cd10ed..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspjmv1.txt +++ /dev/null @@ -1,513 +0,0 @@ -10 512 -0.435217 0.668864 1.010296 1.220420 1.503978 1.784675 2.135458 2.357467 2.618905 2.738042 -0.179285 0.333160 0.500638 0.796950 1.039987 1.234969 1.652301 1.848233 2.625555 2.804968 -0.268785 0.356576 0.595753 1.044339 1.249382 1.428680 1.686986 1.864689 2.339905 2.513801 -0.120070 0.165585 0.484694 0.959160 1.237528 1.529146 1.837513 2.107730 2.487495 2.766846 -0.150214 0.229487 0.628240 0.961255 1.337065 1.598306 1.919745 2.217861 2.537318 2.759560 -0.268624 0.345980 0.569637 0.754737 0.916538 1.508543 1.786354 1.954418 2.369530 2.501822 -0.246064 0.468874 0.662711 0.890015 1.147153 1.510431 1.781056 2.095943 2.655391 2.800369 -0.191631 0.280628 0.393229 0.611761 1.420170 1.707741 1.873032 2.101553 2.280348 2.499488 -0.361668 0.507047 0.789974 1.045992 1.502378 1.677032 1.905337 2.162555 2.432259 2.590873 -0.208160 0.294285 0.448634 0.694229 0.872517 1.070315 1.703352 2.168742 2.426189 2.603657 -0.316939 0.513618 0.705487 0.917036 1.175989 1.311140 1.618599 2.037840 2.450523 2.579395 -0.241068 0.377728 0.521595 0.717203 1.310414 1.539991 1.736431 2.098926 2.297917 2.587348 -0.234937 0.281875 0.780422 1.440733 1.609428 1.756430 1.977206 2.148605 2.602032 2.722501 -0.178679 0.242672 0.416988 0.708348 0.955620 1.176671 1.781798 2.054488 2.281591 2.448112 -0.345036 0.421080 0.740887 1.165442 1.324944 1.488798 1.763463 1.906174 2.395050 2.649158 -0.249586 0.357494 0.520747 0.847195 1.428408 1.597779 1.778194 2.178502 2.413437 2.564662 -0.295235 0.574231 1.249097 1.464097 1.727559 1.926790 2.095363 2.284830 2.567065 2.722480 -0.341930 0.427307 0.634001 0.804212 0.905629 1.333373 1.790329 1.892756 2.445823 2.602828 -0.363948 0.508985 0.667357 0.946354 1.437562 1.626545 1.811141 2.039091 2.291882 2.435493 -0.163514 0.277407 0.409207 0.902065 1.189070 1.339636 1.802411 1.960770 2.652930 2.818987 -0.302643 0.359753 0.651207 1.208021 1.423702 1.548149 1.882130 2.015591 2.260535 2.578896 -0.155928 0.216908 0.381812 0.654803 1.112373 1.589935 1.847562 1.976716 2.224078 2.725337 -0.274981 0.347675 0.572000 0.736046 0.894248 1.632373 1.891391 2.056890 2.602900 2.721779 -0.154496 0.243461 0.348174 0.689505 1.573807 1.700306 1.943182 2.101580 2.564661 2.773169 -0.292612 0.466612 0.795936 1.047468 1.413693 1.750848 2.062894 2.340073 2.613612 2.769493 -0.242896 0.361500 0.555859 0.793597 0.932291 1.409467 1.863863 2.009534 2.464500 2.677491 -0.221646 0.344724 0.554564 0.729403 1.136575 1.301772 1.529181 2.163590 2.395821 2.610805 -0.160969 0.224467 0.371545 0.626879 1.160953 1.444229 1.675966 1.879779 2.478590 2.672023 -0.214172 0.341585 0.676575 0.977397 1.325429 1.720096 2.072595 2.369539 2.635285 2.778792 -0.203311 0.289438 0.458739 0.914153 1.122885 1.302925 1.583844 1.886828 2.187869 2.427039 -0.280383 0.371600 0.824827 1.100246 1.236225 1.398923 1.578041 2.016000 2.368973 2.506732 -0.170627 0.251778 0.393686 0.608347 1.287599 1.446665 1.793278 2.036554 2.310153 2.752439 -0.180580 0.288746 0.987854 1.431706 1.677216 1.915661 2.124939 2.289452 2.589612 2.754264 -0.176335 0.266263 0.445421 0.706403 0.875402 1.422918 1.758670 1.960910 2.410676 2.601751 -0.216173 0.287404 0.480696 1.009765 1.291304 1.476644 1.895584 2.064286 2.284064 2.483108 -0.176523 0.273934 0.403407 0.966139 1.304724 1.436612 1.944728 2.084836 2.544458 2.762416 -0.311836 0.550501 0.879591 1.096228 1.276661 1.477859 1.817706 2.154340 2.560467 2.779841 -0.179765 0.250560 0.455939 1.023886 1.225132 1.475662 1.734617 1.918713 2.147342 2.438235 -0.271033 0.457235 0.599622 0.821049 0.940125 1.200937 1.849716 1.986656 2.548168 2.751578 -0.179326 0.248002 0.426405 0.817060 1.285888 1.565019 2.117359 2.298712 2.572404 2.752701 -0.374409 0.535936 0.897009 1.185070 1.591569 1.757202 1.967944 2.179985 2.457394 2.622641 -0.185472 0.282752 0.409439 0.657499 0.856446 1.029396 1.879933 2.069323 2.344742 2.753103 -0.375964 0.578457 0.758945 0.929339 1.127475 1.259437 1.704109 2.122973 2.336031 2.498298 -0.225641 0.361030 0.501679 0.783379 1.314851 1.452621 1.714150 1.987157 2.225703 2.724361 -0.144996 0.252919 0.632145 1.226038 1.575343 1.901549 2.171481 2.390554 2.682293 2.809834 -0.172022 0.263338 0.448634 0.729435 0.984007 1.171597 1.757049 1.990232 2.321305 2.771210 -0.235731 0.351117 0.796871 1.055711 1.300224 1.591818 1.895875 2.122918 2.417888 2.599817 -0.254053 0.319371 0.455623 1.086141 1.664667 1.915882 2.059084 2.233416 2.452037 2.586788 -0.375538 0.742993 1.139911 1.337758 1.735562 2.013906 2.315012 2.483433 2.651575 2.755211 -0.247245 0.481131 0.710366 0.897602 1.121094 1.271709 1.787346 2.199502 2.429663 2.740668 -0.226103 0.311441 0.501648 0.844424 1.362818 1.531338 1.777474 1.989925 2.187493 2.358501 -0.195862 0.296224 0.609554 0.783241 1.243472 1.445477 1.637032 2.022645 2.483557 2.646137 -0.233302 0.299441 0.472792 1.249457 1.457875 1.601860 1.831433 1.993719 2.597193 2.755433 -0.168096 0.224183 0.382700 0.596214 1.060587 1.294418 1.605760 1.848489 2.357695 2.569186 -0.330050 0.445912 0.661713 0.874446 1.000792 1.452973 1.943987 2.076916 2.423883 2.612359 -0.226382 0.287303 0.517631 0.806229 1.309009 1.885280 2.160514 2.286410 2.526377 2.660822 -0.203170 0.499314 0.887358 1.235074 1.462922 1.698260 1.999316 2.229225 2.571613 2.766691 -0.307531 0.378353 0.573606 0.712218 0.850169 1.308996 2.059092 2.263816 2.497943 2.676815 -0.276203 0.510250 0.686800 0.902844 1.205197 1.327979 1.718894 2.038947 2.256393 2.697149 -0.161948 0.229115 0.393619 0.683613 1.137811 1.322692 1.783723 1.961584 2.389073 2.636082 -0.201334 0.276773 0.468994 0.967017 1.475971 1.632424 1.965774 2.197278 2.480593 2.701553 -0.214587 0.315421 0.469498 0.733397 1.146003 1.277911 1.727839 2.227135 2.440264 2.681122 -0.255602 0.394609 0.743393 0.977796 1.199085 1.405972 1.918336 2.224828 2.479187 2.663394 -0.245989 0.352625 0.517055 0.802830 1.558712 1.795653 1.944055 2.133640 2.333267 2.479982 -0.337423 0.480433 0.869036 1.139571 1.630764 1.822959 2.074843 2.292613 2.479130 2.625317 -0.220974 0.358850 0.571640 0.752791 0.937013 1.151721 1.674398 2.062466 2.558717 2.784838 -0.267518 0.331708 0.541111 1.116547 1.411121 1.532868 1.792949 1.933520 2.248940 2.628644 -0.084613 0.105083 0.297424 0.916949 1.256301 1.567029 1.885388 2.189875 2.522795 2.792102 -0.205328 0.287223 0.724462 1.032395 1.457708 1.642169 1.925628 2.175524 2.429638 2.605488 -0.232554 0.338724 0.502115 0.859975 1.044090 1.245652 1.806555 1.999641 2.261164 2.459984 -0.291638 0.379172 0.626072 0.792796 0.959124 1.504886 1.734465 1.919612 2.614359 2.722709 -0.191554 0.263114 0.426797 0.610628 1.077406 1.829543 2.021948 2.210572 2.427652 2.613828 -0.389151 0.679476 0.915414 1.036635 1.250846 1.586610 2.040972 2.281500 2.567941 2.718815 -0.203200 0.301280 0.470357 0.668716 0.851737 0.980327 1.570862 2.037617 2.289067 2.693877 -0.304064 0.405934 0.710274 0.962705 1.128820 1.341667 1.635050 1.845382 2.079916 2.507510 -0.171777 0.240705 0.409371 0.786432 1.223202 1.375689 1.691760 1.866080 2.350406 2.493942 -0.231251 0.277994 0.557867 1.325822 1.660352 1.779477 2.007138 2.172322 2.440457 2.652308 -0.188101 0.259494 0.412543 0.624843 0.839549 1.033700 1.634128 1.931944 2.246076 2.425773 -0.361304 0.419465 0.795676 1.184605 1.296796 1.578447 1.841746 1.997361 2.540538 2.687139 -0.274372 0.338938 0.492443 0.963516 1.509514 1.706378 1.869885 2.077166 2.261281 2.444183 -0.415990 0.652103 1.031293 1.269551 1.572746 1.772975 2.004659 2.175272 2.430606 2.596553 -0.242045 0.370942 0.534392 0.763529 1.001165 1.129764 1.682192 2.144644 2.324478 2.715697 -0.377438 0.588168 0.765394 0.976873 1.356652 1.490088 1.737970 2.006774 2.213691 2.389973 -0.191625 0.284123 0.405342 1.016777 1.432730 1.547592 1.813930 1.958317 2.470765 2.649257 -0.272672 0.349555 0.633911 1.152234 1.303938 1.547640 1.919504 2.047696 2.562779 2.730575 -0.168423 0.236330 0.421468 0.831345 1.083543 1.553448 1.880726 2.064701 2.370864 2.632945 -0.219318 0.301481 0.513617 0.765086 1.026019 1.514647 2.048203 2.248568 2.499810 2.657069 -0.232695 0.347947 0.495203 0.718830 1.423013 1.722493 1.879584 2.165044 2.420251 2.589658 -0.270284 0.336865 0.684929 1.155789 1.690421 1.876744 2.027359 2.226178 2.446748 2.582000 -0.149701 0.193747 0.352019 0.520123 0.823974 1.434753 1.686592 1.961148 2.370914 2.693067 -0.254818 0.412303 0.601514 0.771438 1.175450 1.376569 1.539029 1.937039 2.408576 2.563621 -0.233713 0.355886 0.593725 0.762880 1.271479 1.563900 1.797523 2.094688 2.538627 2.711734 -0.179028 0.237103 0.396818 1.042021 1.633539 1.762676 2.123935 2.322391 2.588193 2.751345 -0.182027 0.251039 0.434581 0.714302 0.950997 1.437895 1.813570 1.969103 2.145882 2.353968 -0.501538 0.692148 0.848860 1.071308 1.350543 1.489476 1.841643 2.104284 2.341536 2.515294 -0.274530 0.381470 0.526682 0.922143 1.444946 1.573605 1.858767 2.066747 2.284796 2.626819 -0.360617 0.583131 0.979491 1.254083 1.488351 1.797557 2.219518 2.482176 2.742366 2.862025 -0.140913 0.220301 0.619552 0.818307 1.052429 1.339972 1.830726 2.133953 2.536378 2.751128 -0.293514 0.391691 0.790080 0.962740 1.160319 1.526602 1.805491 2.041462 2.361619 2.564962 -0.199542 0.290571 0.452891 0.689515 1.258530 1.409879 1.886242 2.228126 2.465677 2.726646 -0.296920 0.356356 0.784287 0.996540 1.146175 1.623865 1.815498 2.038297 2.600627 2.705700 -0.206451 0.276025 0.537547 0.802572 1.220407 1.642060 1.863625 2.001978 2.215339 2.585384 -0.333650 0.464751 0.653772 0.966306 1.103865 1.340203 1.784701 1.914591 2.470171 2.686916 -0.181861 0.244870 0.376456 0.554383 1.329897 1.810440 2.047836 2.202318 2.660855 2.817057 -0.450565 0.647291 0.951172 1.229431 1.519644 1.686812 2.049107 2.267169 2.501284 2.650596 -0.219996 0.320591 0.427747 0.601183 0.753448 0.929578 1.741979 2.285789 2.472633 2.749566 -0.333848 0.423373 0.658791 1.031299 1.222625 1.365771 1.901889 2.121101 2.290306 2.531185 -0.166064 0.233902 0.383355 0.661806 1.226567 1.399684 1.771269 1.974537 2.173487 2.566344 -0.189286 0.243602 0.390584 1.387930 1.588719 1.763237 2.091118 2.316314 2.593526 2.755080 -0.158404 0.224878 0.385000 0.668463 0.942954 1.411967 1.700313 1.828069 2.059396 2.692546 -0.325989 0.461263 0.851471 1.045709 1.284028 1.516199 1.797341 2.088387 2.437669 2.627215 -0.223709 0.289190 0.632812 0.858738 1.541903 1.746766 1.935738 2.184816 2.404330 2.583013 -0.545842 0.952420 1.340820 1.516838 1.838879 2.012890 2.244968 2.403170 2.592285 2.691119 -0.238526 0.349079 0.494582 0.987665 1.170746 1.348229 1.468645 2.296964 2.644160 2.787381 -0.270857 0.442003 0.655998 0.881913 1.259254 1.428358 1.769867 1.998528 2.395589 2.652840 -0.154384 0.211806 0.489481 0.997257 1.249817 1.541232 1.778865 1.949397 2.319136 2.623391 -0.268258 0.312888 0.589114 1.258625 1.572705 1.675430 1.912780 2.070458 2.279933 2.564230 -0.170715 0.224965 0.374011 0.540197 1.161887 1.499072 1.925865 2.082569 2.246619 2.469724 -0.324358 0.391989 0.706816 0.833614 1.015725 1.568995 1.735976 2.127068 2.558411 2.653871 -0.178059 0.258575 0.374125 0.536831 1.334827 1.798628 1.986978 2.189252 2.432266 2.626696 -0.198857 0.420955 0.817664 1.178363 1.466742 1.821295 2.207327 2.474411 2.738275 2.851185 -0.188344 0.324302 0.470468 0.790033 0.934101 1.188722 1.887171 2.052833 2.448325 2.630236 -0.201295 0.365646 0.526513 0.758388 1.140096 1.267331 1.650173 1.879342 2.102889 2.600286 -0.135058 0.169428 0.307348 0.503160 1.018083 1.447946 1.810984 2.134002 2.480277 2.759846 -0.178006 0.266610 0.390327 0.928681 1.501613 1.621327 1.871356 2.025864 2.580442 2.770801 -0.246182 0.424290 0.644023 0.801168 1.114876 1.277757 1.503317 2.074888 2.295695 2.501380 -0.322996 0.430355 0.631600 1.047698 1.221840 1.426726 1.903081 2.032223 2.516726 2.708452 -0.292994 0.430599 0.619178 0.794567 1.283029 1.652817 1.840836 2.069946 2.385375 2.528246 -0.525494 0.787797 1.121816 1.387482 1.674574 1.936221 2.224042 2.390624 2.634276 2.743234 -0.299504 0.409196 0.602235 0.892336 1.056426 1.253766 1.489136 1.639876 2.427480 2.650368 -0.423758 0.520480 0.758987 1.041257 1.173655 1.423676 1.818235 1.936407 2.363001 2.626644 -0.155042 0.247496 0.641445 0.954509 1.224970 1.465850 1.837841 2.090456 2.451501 2.716155 -0.251949 0.421094 0.706797 0.975659 1.259906 1.520067 1.816310 2.122017 2.474913 2.716671 -0.215220 0.302248 0.730598 0.896343 1.145567 1.370192 1.700685 2.022563 2.283265 2.489220 -0.285230 0.453559 0.663670 0.861526 1.011602 1.247419 1.655985 1.861291 2.578936 2.731333 -0.162067 0.219409 0.373433 0.544669 1.103298 1.597178 1.921040 2.143402 2.406499 2.660484 -0.342367 0.511499 0.931350 1.163219 1.393645 1.611146 1.972769 2.194416 2.470766 2.649264 -0.251010 0.364125 0.560956 0.746545 1.019837 1.170725 1.532945 2.288671 2.577088 2.723074 -0.315001 0.489412 0.720682 0.877607 1.090466 1.253848 1.448221 1.922954 2.255887 2.408634 -0.174666 0.235793 0.387644 0.554402 1.231089 1.456137 1.688034 2.127450 2.367035 2.597270 -0.215113 0.341915 1.043717 1.322751 1.495414 1.741895 1.961164 2.239824 2.544905 2.703945 -0.219852 0.301770 0.513912 0.705474 0.877540 1.295896 1.699002 1.987057 2.287968 2.496966 -0.290638 0.366442 0.655155 1.044990 1.172154 1.532536 1.800791 1.948931 2.509679 2.660055 -0.232252 0.313770 0.658552 0.941977 1.463174 1.665488 1.862461 2.027843 2.534016 2.701236 -0.326539 0.552681 1.121731 1.331381 1.520072 1.867084 2.082861 2.332474 2.606039 2.737092 -0.190254 0.340428 0.492777 0.739738 0.895461 1.079371 1.643156 1.795290 2.491822 2.729382 -0.283586 0.418440 0.587306 0.870866 1.418553 1.577030 1.799498 2.069398 2.274484 2.438103 -0.235752 0.357650 0.502891 1.012434 1.258853 1.407789 1.820057 1.955830 2.505903 2.734330 -0.278412 0.343137 0.849977 1.232895 1.350504 1.590626 1.787519 2.091578 2.541360 2.663856 -0.162966 0.243159 0.439238 0.684821 0.887783 1.462899 1.881739 2.044253 2.289393 2.705002 -0.235063 0.371799 0.578210 0.752199 1.008546 1.476284 1.804912 2.271399 2.655042 2.789653 -0.154939 0.223696 0.344718 0.667555 1.495659 1.669436 2.069883 2.307215 2.627692 2.811343 -0.239702 0.335917 0.716616 1.131805 1.452514 1.639133 2.105515 2.279822 2.502030 2.669220 -0.226818 0.331261 0.472705 0.651974 0.781639 1.219798 1.822904 2.082732 2.439327 2.610900 -0.223413 0.359594 0.534704 0.741518 1.225894 1.389874 1.618191 2.009911 2.207000 2.459844 -0.171308 0.268378 0.383799 0.858926 1.376293 1.519165 1.780601 1.922915 2.623094 2.802402 -0.140134 0.212320 0.443224 0.967457 1.264241 1.562153 1.929148 2.217388 2.668341 2.830751 -0.221323 0.322124 0.485563 0.818589 1.011837 1.198984 1.423616 1.669403 2.157523 2.363190 -0.369687 0.525655 0.719213 0.939654 1.137631 1.312217 1.599935 1.826813 2.355221 2.580680 -0.211975 0.314411 0.489148 0.739213 1.377801 1.554504 1.824373 2.158875 2.352992 2.722621 -0.170698 0.296368 0.934285 1.243133 1.555900 1.866544 2.159940 2.363436 2.585032 2.738530 -0.189263 0.305887 0.439912 0.784610 1.227264 1.342508 1.587650 1.754907 2.439893 2.721315 -0.296339 0.385169 0.612012 1.081322 1.276361 1.437178 1.871470 2.001718 2.339094 2.640217 -0.229588 0.320544 0.517278 0.969137 1.142560 1.626089 1.877916 2.115461 2.546741 2.708025 -0.248869 0.420193 0.732388 1.049015 1.303410 1.601458 1.949210 2.239464 2.648223 2.822614 -0.207600 0.292320 0.496539 0.857149 1.182294 1.399849 1.714165 1.868238 2.027936 2.200737 -0.225558 0.396897 0.541783 0.873366 1.178972 1.299579 1.677191 1.849602 2.330475 2.752717 -0.176821 0.231377 0.372767 0.508565 1.152819 1.808050 2.112679 2.250073 2.571342 2.748550 -0.352149 0.515765 1.023238 1.260221 1.443565 1.622067 1.872804 2.100177 2.489280 2.671043 -0.166138 0.263444 0.370151 0.590066 0.754819 0.940533 1.761870 1.946611 2.445015 2.758191 -0.342082 0.476411 0.656223 0.851774 1.003992 1.153372 1.694401 2.065625 2.255642 2.440148 -0.227237 0.376514 0.514329 0.894887 1.141673 1.283052 1.831377 1.985902 2.334470 2.784878 -0.215891 0.269548 0.684111 1.405658 1.674813 1.800925 2.172085 2.339395 2.591569 2.730100 -0.236240 0.400377 0.533684 0.750343 0.910405 1.089112 1.737729 1.912807 2.192519 2.688733 -0.169242 0.284879 0.916252 1.169769 1.433683 1.644376 1.919124 2.161625 2.482664 2.682591 -0.270731 0.336506 0.477594 1.042714 1.605840 1.796859 1.945909 2.160039 2.354913 2.520950 -0.420586 0.652563 1.117162 1.406006 1.747537 1.947424 2.203094 2.359970 2.547902 2.682168 -0.281552 0.395037 0.640181 0.944531 1.193959 1.330492 1.718657 2.188389 2.444591 2.578673 -0.311824 0.476892 0.633431 0.845825 1.332518 1.491656 1.693614 2.041082 2.289317 2.439399 -0.133945 0.200790 0.647237 0.927687 1.188883 1.369658 1.699557 1.972777 2.295259 2.678185 -0.204796 0.278215 0.443465 1.270484 1.405209 1.640920 1.824252 2.327085 2.599637 2.772533 -0.183970 0.244116 0.410594 0.639103 1.221589 1.404867 1.628358 1.902439 2.168632 2.306804 -0.343622 0.434735 0.666599 0.868069 1.048942 1.532778 1.819835 1.971884 2.288701 2.448745 -0.238017 0.320361 0.657255 0.917611 1.303306 1.727361 1.988909 2.181455 2.442965 2.613322 -0.323613 0.545056 0.930173 1.226059 1.440181 1.772300 2.056890 2.347811 2.689382 2.820616 -0.288930 0.401387 0.617124 0.836453 0.990306 1.261227 1.913283 2.110049 2.324584 2.557162 -0.332670 0.480804 0.656147 0.880536 1.029566 1.230493 1.769063 1.932296 2.200370 2.585210 -0.185551 0.265352 0.409432 0.608847 1.034698 1.222821 1.876965 2.171647 2.403502 2.666441 -0.155026 0.223348 0.401684 1.079141 1.415789 1.620021 2.045515 2.258512 2.631625 2.802291 -0.183461 0.263081 0.425694 0.635685 1.188664 1.357556 1.574991 2.085982 2.288725 2.511108 -0.314738 0.463011 0.648733 0.877651 1.002890 1.265811 2.005414 2.198095 2.481535 2.714178 -0.244411 0.318444 0.546578 0.793615 1.326150 1.735479 1.945598 2.114662 2.315350 2.478535 -0.326237 0.543540 0.987361 1.304413 1.684932 1.902147 2.207172 2.374273 2.557527 2.716216 -0.157795 0.283302 0.430398 0.660379 0.811060 1.142539 1.479298 1.718714 2.670264 2.847556 -0.220856 0.283872 0.779935 1.074940 1.312211 1.626329 1.837609 1.968885 2.155988 2.602381 -0.140763 0.205719 0.406561 0.762459 1.041266 1.486993 1.838306 2.114606 2.552810 2.772285 -0.140451 0.395920 0.792110 1.108001 1.402642 1.623079 1.943151 2.227952 2.546163 2.773998 -0.229862 0.336462 0.546590 0.810150 1.201906 1.346787 1.825323 2.092925 2.285730 2.473359 -0.224913 0.328246 0.517269 0.874793 1.012587 1.452178 1.695778 2.014930 2.511447 2.672574 -0.247745 0.335741 0.546558 0.710177 1.170556 1.727789 1.970678 2.158532 2.482819 2.628913 -0.398252 0.555087 0.890367 1.121205 1.381533 1.601228 1.866647 2.066612 2.405164 2.588016 -0.198563 0.288867 0.478054 0.658477 0.851841 1.027105 1.539739 2.021106 2.579462 2.784184 -0.304271 0.371642 0.661590 1.068976 1.224249 1.411927 1.680524 1.869770 2.100073 2.308554 -0.188223 0.257939 0.432402 0.735050 1.318038 1.485528 1.828110 2.046435 2.307018 2.457237 -0.246723 0.297276 0.604475 1.310901 1.570442 1.688851 1.913658 2.051334 2.556011 2.714965 -0.158309 0.234509 0.435792 0.667900 0.957567 1.235918 1.592945 1.818158 2.307389 2.768973 -0.419843 0.501412 0.766892 1.073173 1.189374 1.480225 1.766597 1.922151 2.537937 2.694771 -0.275140 0.335563 0.678421 1.081521 1.592379 1.772635 1.931245 2.140699 2.333804 2.490857 -0.372056 0.856814 1.239538 1.409989 1.690297 1.863018 2.072702 2.273547 2.532657 2.690517 -0.321254 0.422981 0.604856 0.793437 0.912112 1.128454 1.795979 2.173232 2.360146 2.536137 -0.395214 0.598779 0.771997 0.946713 1.213777 1.330433 1.660335 1.977154 2.165056 2.344018 -0.225286 0.317828 0.464801 1.112329 1.369512 1.511999 1.921954 2.053407 2.593519 2.777285 -0.330612 0.407807 0.730129 1.259731 1.459811 1.605671 1.981307 2.137009 2.465971 2.679722 -0.213145 0.305305 0.507016 0.662299 1.056848 1.479862 1.671904 2.102707 2.369871 2.581994 -0.219658 0.296096 0.443507 0.610973 0.799691 1.676579 1.965487 2.153235 2.502228 2.692999 -0.174947 0.257739 0.373547 0.552567 1.405316 1.614249 1.848917 2.117795 2.317884 2.711904 -0.209667 0.297529 0.756195 1.095304 1.564196 1.844775 2.103697 2.292657 2.520051 2.679489 -0.170138 0.240310 0.452247 0.684414 0.880102 1.366921 1.741648 2.131295 2.505730 2.732611 -0.278164 0.468635 0.707518 0.853693 1.054780 1.210458 1.540941 2.174562 2.410662 2.612138 -0.155738 0.238890 0.352836 0.621012 1.441438 1.619698 1.825165 1.975331 2.525373 2.748574 -0.223776 0.274424 0.479048 0.797871 1.694190 1.878135 2.135285 2.373726 2.595422 2.729787 -0.151088 0.198286 0.326558 0.536276 0.845893 1.141653 1.460565 1.762868 2.025851 2.177303 -0.434445 0.614208 0.887657 1.028446 1.191359 1.392204 1.786886 2.062481 2.423405 2.619356 -0.180755 0.275311 0.397787 0.859366 1.409762 1.523325 1.908846 2.082319 2.389720 2.743887 -0.275975 0.508416 0.889894 1.318925 1.633314 1.904728 2.169012 2.374655 2.726973 2.847666 -0.156239 0.262624 0.406657 0.739074 1.044495 1.201234 1.810887 2.005600 2.581700 2.804889 -0.195391 0.258771 0.654924 0.824371 1.315259 1.500728 1.765938 2.063992 2.341176 2.513659 -0.178034 0.301047 0.463020 0.716172 1.198868 1.340454 1.834558 2.022132 2.400750 2.776294 -0.340368 0.404236 0.843747 1.039238 1.202107 1.708051 1.914952 2.169509 2.521521 2.623348 -0.218465 0.289694 0.528045 0.817051 1.132337 1.580464 1.838891 1.983392 2.147493 2.348131 -0.322509 0.458058 0.654679 0.958976 1.118211 1.321565 1.901390 2.046409 2.360931 2.664215 -0.191821 0.252321 0.389176 0.581111 1.529667 1.931689 2.083614 2.270465 2.566855 2.713879 -0.493961 0.710827 0.982260 1.196274 1.419327 1.620910 1.928015 2.145652 2.429769 2.601973 -0.213148 0.311589 0.424636 0.602664 0.736895 1.022165 1.992278 2.218533 2.611628 2.850324 -0.288129 0.434441 0.629313 0.856153 1.289667 1.424520 1.875795 2.150240 2.351814 2.536843 -0.160031 0.230716 0.406654 0.870424 1.156517 1.392317 1.804098 1.951437 2.210479 2.735164 -0.229340 0.293962 0.503222 1.242097 1.475824 1.624647 1.998680 2.144499 2.578549 2.753270 -0.158770 0.220035 0.363386 0.577761 0.963090 1.174939 1.738169 1.979202 2.162436 2.661916 -0.346062 0.444816 0.716985 1.180717 1.370580 1.522996 1.892173 2.066682 2.395796 2.627659 -0.307495 0.389330 0.612607 0.969283 1.557708 1.839939 1.996737 2.172382 2.420627 2.539195 -0.437804 0.726957 1.291168 1.503297 1.765428 1.962121 2.163647 2.336227 2.579616 2.708524 -0.232184 0.333678 0.528368 0.706749 1.203280 1.379018 1.611161 2.154678 2.592903 2.750319 -0.272652 0.461710 0.625777 0.839609 1.342021 1.496726 1.715376 2.137572 2.370040 2.597390 -0.184908 0.302324 0.454883 0.880307 1.104383 1.292526 1.777203 1.943364 2.444174 2.622726 -0.265644 0.341261 0.553228 1.139475 1.427148 1.560441 1.933941 2.084129 2.393307 2.654135 -0.167920 0.207301 0.370331 0.525538 1.030891 1.368163 1.782474 2.062404 2.332762 2.526299 -0.343172 0.433912 0.717501 0.889734 1.052060 1.695278 2.053156 2.208456 2.608869 2.718320 -0.216527 0.305247 0.445890 0.729271 1.639736 1.903284 2.053351 2.221254 2.432253 2.568018 -0.110545 0.209955 0.844788 1.174205 1.492201 1.810243 2.177274 2.440496 2.697294 2.835232 -0.217384 0.337412 0.488999 0.761842 0.879715 1.209528 1.970747 2.120795 2.611654 2.791762 -0.190459 0.296484 0.469967 0.800649 1.105561 1.278527 1.516938 1.693066 2.114420 2.716739 -0.134814 0.175978 0.300425 0.496817 1.244295 1.485308 1.861721 2.131233 2.485046 2.773884 -0.210174 0.278266 0.435508 0.927538 1.606908 1.753898 1.957554 2.166283 2.398518 2.749609 -0.213766 0.315300 0.509924 0.709930 0.964724 1.106776 1.382615 2.001070 2.323214 2.565314 -0.400615 0.524954 0.798552 1.012852 1.135488 1.474850 1.989029 2.130909 2.507971 2.679460 -0.249400 0.377023 0.519635 0.754227 1.459559 1.642762 1.828961 2.077882 2.298228 2.467534 -0.473365 0.683973 1.052341 1.375830 1.548106 1.747589 2.139299 2.318768 2.609977 2.739255 -0.203877 0.341791 0.485180 0.884069 1.097592 1.269532 1.479924 1.757879 2.648399 2.822387 -0.273046 0.404254 0.555403 0.954547 1.291233 1.399022 1.722890 1.903441 2.171984 2.645312 -0.040369 0.117266 0.617136 0.892043 1.260331 1.541653 1.859383 2.153096 2.498232 2.761886 -0.132414 0.211358 0.742445 1.066857 1.331084 1.570793 1.867458 2.132535 2.479624 2.731076 -0.237329 0.326529 0.612538 0.790663 0.990133 1.413736 1.738235 1.936914 2.167728 2.451626 -0.273960 0.405794 0.572530 0.933672 1.057816 1.397952 1.856531 1.997548 2.599486 2.760042 -0.199334 0.298380 0.442931 0.628638 1.303213 1.640138 1.804023 2.113020 2.375455 2.548946 -0.350188 0.502010 0.821298 1.038639 1.369294 1.592404 1.910815 2.156486 2.460508 2.653260 -0.281558 0.399892 0.573105 0.753299 0.900613 1.054574 1.581987 2.178437 2.430354 2.616044 -0.344653 0.543532 0.703715 0.862285 1.198215 1.338208 1.579080 2.060769 2.306749 2.485749 -0.220701 0.326795 0.520618 0.755133 1.295552 1.451886 1.690502 2.200045 2.414271 2.615909 -0.279478 0.332193 0.801527 1.345966 1.487477 1.678499 1.922202 2.100025 2.585571 2.713387 -0.163502 0.212169 0.365096 0.525464 0.869846 1.208807 1.793988 2.040314 2.297180 2.469797 -0.285531 0.341488 0.754059 1.170016 1.300835 1.513696 1.699861 1.889918 2.581459 2.706874 -0.249595 0.366997 0.626427 0.945219 1.407043 1.560558 1.831657 2.231149 2.466354 2.654518 -0.271671 0.443136 1.156412 1.406456 1.676521 1.856481 2.063218 2.230498 2.475840 2.639575 -0.286620 0.427806 0.637320 0.803409 0.996161 1.266383 1.681751 2.003968 2.394651 2.588547 -0.314906 0.440519 0.612129 0.896126 1.472415 1.717693 1.881351 2.099437 2.369166 2.495466 -0.170277 0.251270 0.405477 0.915641 1.126887 1.436630 1.714771 1.893198 2.552995 2.738519 -0.279410 0.337137 0.734563 1.281046 1.480602 1.611880 1.853215 1.994883 2.416054 2.654827 -0.165776 0.226083 0.417544 0.744574 1.044468 1.534891 1.808494 1.944946 2.138491 2.601790 -0.264579 0.336652 0.542033 0.710190 0.913338 1.655751 1.817762 2.231956 2.524436 2.658519 -0.158194 0.235588 0.338347 0.541657 1.583377 1.766293 2.009135 2.243336 2.503941 2.775158 -0.332612 0.509620 0.822935 1.075876 1.454286 1.650788 1.974450 2.251279 2.537342 2.745115 -0.262817 0.359709 0.520893 0.707667 0.818364 1.438849 1.971249 2.087666 2.497014 2.646442 -0.233200 0.399599 0.612456 0.775547 1.199192 1.355765 1.646901 2.136245 2.342490 2.695742 -0.149687 0.238538 0.372248 0.634520 1.255813 1.433790 1.770041 1.928752 2.611905 2.824930 -0.137016 0.210297 0.591489 1.125451 1.375648 1.685296 2.089612 2.390888 2.704458 2.844434 -0.213490 0.341024 0.541716 0.750061 1.088199 1.244576 1.555338 1.965568 2.187900 2.383714 -0.300159 0.489291 0.825022 1.037100 1.194088 1.347375 1.684747 2.024936 2.465611 2.740973 -0.170029 0.255033 0.392758 0.727117 1.382065 1.579676 1.800912 1.959072 2.282335 2.728796 -0.175883 0.365509 1.112175 1.385866 1.720391 1.977810 2.245295 2.421614 2.629567 2.754004 -0.162590 0.248164 0.454630 0.763209 0.966031 1.282338 1.730743 1.938052 2.479376 2.667563 -0.258043 0.345866 0.556520 0.981312 1.361528 1.482377 1.872244 2.158226 2.362269 2.555030 -0.234139 0.348843 0.528234 0.987884 1.195217 1.422145 1.960028 2.127365 2.603321 2.793004 -0.179699 0.559209 0.867682 1.088835 1.316888 1.571498 1.922198 2.197391 2.501118 2.728679 -0.216784 0.310791 0.487492 0.932903 1.201954 1.366554 1.800398 1.977499 2.174265 2.537065 -0.186878 0.400655 0.580952 0.846287 1.103872 1.266778 1.842772 2.019592 2.488005 2.717222 -0.164641 0.248712 0.389358 0.772822 1.212561 1.369916 2.025869 2.277615 2.617524 2.809527 -0.351899 0.520326 0.926597 1.219651 1.509839 1.676837 1.921744 2.111253 2.356380 2.545934 -0.242182 0.365285 0.506156 0.716020 0.865221 1.011688 1.786917 2.122981 2.350877 2.767729 -0.413776 0.559566 0.735800 0.928997 1.079117 1.267179 1.880069 2.152492 2.324834 2.539856 -0.210597 0.329568 0.469735 0.788590 1.215495 1.319810 1.711456 2.058991 2.245438 2.653727 -0.197937 0.254148 0.477985 1.227090 1.629920 1.767432 2.186975 2.385104 2.594869 2.725544 -0.205489 0.333855 0.523915 0.706275 1.102152 1.246608 1.648901 2.026835 2.281695 2.759313 -0.230328 0.322431 0.861834 1.145614 1.347211 1.576111 1.807275 2.004824 2.354365 2.572251 -0.224898 0.282022 0.506636 1.152298 1.626560 1.752095 2.028178 2.218821 2.488955 2.670460 -0.313732 0.625469 1.164472 1.499077 1.749612 2.018528 2.262230 2.429601 2.692165 2.822502 -0.375623 0.575307 0.791200 0.935770 1.096937 1.343393 1.807992 2.187306 2.519720 2.694803 -0.236981 0.332412 0.479270 0.844461 1.347641 1.490733 1.683942 2.039143 2.297619 2.458431 -0.129047 0.206250 0.636751 0.865101 1.136893 1.356610 1.704798 1.916685 2.518358 2.756320 -0.195171 0.266517 0.414793 1.239561 1.452906 1.608357 1.833045 2.047802 2.473522 2.621994 -0.165853 0.212720 0.372757 0.536136 1.013938 1.339627 1.555122 1.945745 2.236281 2.440949 -0.256981 0.368868 0.635878 0.802543 1.084757 1.439120 1.814729 2.120519 2.458154 2.621456 -0.214382 0.297135 0.445091 0.702050 1.365102 1.851262 2.067026 2.207298 2.470728 2.612432 -0.340710 0.532103 0.935278 1.171022 1.377886 1.638598 1.965274 2.246164 2.631266 2.806341 -0.310524 0.412051 0.582478 0.768755 0.871594 1.119854 1.926346 2.207508 2.407091 2.636633 -0.249349 0.443517 0.631532 0.810096 1.205129 1.357206 1.607396 1.984157 2.208016 2.645111 -0.143090 0.185312 0.325214 0.504000 1.134467 1.327913 1.673654 2.006903 2.389284 2.746094 -0.226575 0.298946 0.453938 0.998061 1.394600 1.597283 2.064183 2.223246 2.425469 2.569458 -0.183924 0.255181 0.415834 0.624247 1.042338 1.203077 1.555240 2.125309 2.400352 2.661916 -0.275610 0.365968 0.654909 0.990108 1.170799 1.455333 2.077561 2.252672 2.502315 2.685945 -0.204334 0.287844 0.394810 0.761295 1.501200 1.784709 1.935569 2.152830 2.349263 2.545639 -0.342976 0.527539 0.917466 1.160585 1.499531 1.761830 2.095272 2.301872 2.540570 2.694692 -0.202374 0.333367 0.480179 0.708677 0.819505 1.105285 1.806641 1.953348 2.610844 2.797497 -0.307033 0.368471 0.602486 1.108611 1.413347 1.528636 1.798519 1.986138 2.169052 2.437256 -0.144073 0.196932 0.386988 0.819061 1.289767 1.625073 1.901924 2.136105 2.483019 2.707970 -0.176760 0.268627 0.662082 1.056866 1.547973 1.711386 1.972939 2.249909 2.544471 2.761094 -0.191409 0.292985 0.492193 0.800526 1.041836 1.278546 1.836626 2.028677 2.249387 2.627785 -0.324102 0.399146 0.687435 0.868704 1.022957 1.582084 1.853847 1.981885 2.554914 2.677057 -0.229172 0.302836 0.481418 0.704363 0.967567 1.828269 2.097295 2.258467 2.549112 2.704652 -0.467124 0.696788 0.939500 1.094987 1.277543 1.488496 1.896279 2.158470 2.474182 2.659994 -0.175418 0.234039 0.367674 0.513586 0.747619 1.008405 1.583161 2.053114 2.363292 2.681153 -0.410273 0.561949 0.736215 0.956685 1.135688 1.288424 1.750612 1.937714 2.151318 2.489336 -0.204541 0.277613 0.529607 0.722971 1.199975 1.447336 1.715634 1.921054 2.357781 2.507488 -0.253116 0.311907 0.696982 1.320082 1.575418 1.705324 2.005068 2.168666 2.461879 2.665053 -0.163657 0.237902 0.393374 0.609490 0.854272 1.089980 1.526387 1.842337 2.126252 2.679051 -0.448627 0.530664 0.812719 1.095201 1.207641 1.575411 1.884209 2.034297 2.553007 2.688355 -0.262717 0.338748 0.512685 1.003543 1.480178 1.622083 1.828518 2.142415 2.356457 2.511530 -0.417111 0.636688 1.036571 1.319877 1.679924 1.873389 2.073722 2.249396 2.507732 2.651054 -0.263698 0.461151 0.618737 0.830471 1.004041 1.158874 1.801566 2.020222 2.306558 2.743041 -0.387779 0.575108 0.729791 0.932981 1.361163 1.505161 1.751183 2.068466 2.338260 2.487637 -0.181510 0.265666 0.454631 1.082382 1.287303 1.579202 1.851178 2.096963 2.467237 2.646930 -0.277668 0.345119 0.602341 1.179200 1.378990 1.545625 1.813861 1.962590 2.491799 2.664453 -0.179320 0.248080 0.456925 0.722589 1.126932 1.579450 1.799397 1.950668 2.484125 2.707238 -0.314322 0.381145 0.608651 0.727613 0.890472 1.610280 2.136172 2.258358 2.596376 2.709780 -0.189539 0.266068 0.419729 0.651693 1.410161 1.643106 1.854810 2.275582 2.492054 2.722009 -0.254466 0.313038 0.594149 1.012536 1.688813 1.935465 2.119184 2.287869 2.535543 2.667926 -0.134691 0.171906 0.302740 0.492936 0.899551 1.229188 1.733940 2.012878 2.446339 2.742762 -0.231556 0.365068 0.680761 0.889142 1.111338 1.295904 1.542636 1.971784 2.427562 2.631912 -0.222525 0.305606 0.527193 0.687519 1.181381 1.671764 1.863683 2.072023 2.634517 2.779272 -0.178770 0.237415 0.375160 0.856692 1.673680 1.813743 2.016791 2.272421 2.522601 2.735959 -0.193532 0.268731 0.451328 0.753471 0.984854 1.285349 1.685647 1.884123 2.091677 2.243418 -0.476037 0.651610 0.801054 1.010162 1.241374 1.355840 1.775976 2.086152 2.272907 2.454351 -0.211657 0.308331 0.421366 0.865966 1.418774 1.556743 1.786149 2.020332 2.198585 2.631981 -0.203789 0.490794 1.010137 1.275006 1.472213 1.810140 2.170639 2.437660 2.662122 2.788061 -0.174355 0.252095 0.674715 0.842194 1.055087 1.278000 1.698680 2.070561 2.399385 2.657430 -0.245109 0.324049 0.628822 0.927910 1.123601 1.580066 1.878640 2.054601 2.358721 2.546838 -0.182644 0.253804 0.386248 0.614056 1.364821 1.545877 2.040174 2.218827 2.419010 2.624609 -0.295605 0.367794 0.690701 1.055162 1.186600 1.644453 1.944154 2.101444 2.562120 2.691268 -0.220878 0.289573 0.640307 0.822072 1.144055 1.567797 1.766410 1.908109 2.103459 2.560489 -0.403453 0.526298 0.732204 0.901150 1.035869 1.339383 1.783990 1.941961 2.371032 2.626653 -0.212825 0.258570 0.471588 0.685549 1.263740 1.821051 2.163822 2.288398 2.628063 2.788155 -0.401181 0.642053 1.032473 1.236110 1.444450 1.686678 2.006722 2.228515 2.572112 2.723964 -0.239433 0.341091 0.492629 0.707630 0.881426 1.030816 1.719255 2.344056 2.579063 2.756942 -0.294093 0.382770 0.577412 1.009281 1.313036 1.419303 1.744673 2.094230 2.289039 2.475843 -0.169805 0.236922 0.403314 0.638995 1.176446 1.352145 1.665573 1.909756 2.150120 2.716243 -0.210447 0.277913 0.452474 1.402686 1.513430 1.720944 1.903938 2.278499 2.583756 2.743179 -0.159574 0.225382 0.374008 0.714137 1.011253 1.371713 1.699162 1.871587 2.027056 2.491194 -0.258602 0.557253 0.819720 1.038856 1.301470 1.445358 1.830613 2.098171 2.320809 2.541075 -0.232756 0.282242 0.631974 0.898694 1.537444 1.869217 2.063967 2.234463 2.498226 2.633517 -0.580133 0.997946 1.320956 1.481874 1.731605 1.898579 2.120712 2.290128 2.530088 2.651657 -0.211840 0.307093 0.453360 0.945579 1.250815 1.490290 1.724135 2.281097 2.562699 2.752602 -0.314276 0.493555 0.667782 0.896500 1.323006 1.482618 1.667487 1.974415 2.427345 2.555679 -0.182455 0.261592 0.418011 1.050927 1.261387 1.443370 1.665467 1.939030 2.444695 2.638451 -0.241570 0.306934 0.491293 1.105950 1.554827 1.666520 1.923917 2.087652 2.367600 2.654889 -0.190084 0.254850 0.454062 0.724519 1.083362 1.393887 1.892335 2.088856 2.321764 2.484299 -0.306497 0.389831 0.721793 0.839714 1.124754 1.652401 1.822919 2.273310 2.569195 2.669599 -0.186200 0.273460 0.383201 0.564758 1.511073 1.845018 1.998284 2.194096 2.388693 2.587923 -0.300722 0.478218 0.823364 1.127490 1.591141 1.871349 2.174720 2.403181 2.624785 2.782405 -0.228884 0.358342 0.504622 0.795874 1.005622 1.152613 1.908053 2.124794 2.372473 2.797584 -0.171885 0.248234 0.432842 0.833143 1.040892 1.269289 1.661635 1.918629 2.158962 2.653403 -0.140943 0.193684 0.343025 0.562303 1.069552 1.543330 1.824473 1.961637 2.463513 2.770537 -0.173053 0.245656 0.360656 0.960618 1.589535 1.689906 1.984141 2.142998 2.588389 2.759403 -0.240180 0.429951 0.637440 0.786596 1.069147 1.226573 1.470883 1.952052 2.195064 2.615973 -0.367862 0.471897 0.730834 1.082320 1.226293 1.462927 1.928169 2.052466 2.406737 2.662458 -0.247175 0.358209 0.535946 0.781876 1.363697 1.635239 1.807233 1.993776 2.452769 2.601039 -0.445578 0.687898 1.114108 1.301027 1.577397 1.886042 2.224903 2.436534 2.659695 2.761031 -0.214389 0.336025 0.487794 0.759534 0.970518 1.141100 1.457335 1.624644 2.306922 2.715265 -0.377300 0.466775 0.716121 1.083781 1.256543 1.411238 1.789433 1.936372 2.205572 2.562355 -0.148362 0.214593 0.545023 0.840437 1.193325 1.480659 1.791868 2.083419 2.410537 2.676129 -0.150403 0.278398 0.792676 0.976680 1.218845 1.405245 1.775056 2.162458 2.547861 2.746383 -0.236301 0.328633 0.630867 0.839915 1.042349 1.298870 1.627752 1.839491 2.298928 2.493962 -0.337889 0.497920 0.711277 0.850420 0.992027 1.246884 1.710746 2.086682 2.527158 2.707162 -0.172215 0.236540 0.372897 0.525146 1.182577 1.735727 1.927035 2.114619 2.319170 2.542782 -0.415304 0.624807 0.906616 1.117841 1.446155 1.669417 1.948413 2.172815 2.504530 2.670754 -0.265417 0.407241 0.613894 0.816534 0.980063 1.156061 1.756747 2.274851 2.497193 2.712242 -0.276440 0.468209 0.649518 0.816686 1.195171 1.355517 1.549226 1.935272 2.217871 2.426979 -0.188925 0.277012 0.412665 0.672627 1.354807 1.514523 1.699988 2.144554 2.382186 2.586077 -0.242630 0.352485 0.912974 1.343781 1.604428 1.801867 2.014791 2.193072 2.460809 2.631999 -0.190903 0.285841 0.449070 0.760328 0.954285 1.182936 1.692638 1.878163 2.276840 2.465963 -0.220659 0.300374 0.721694 0.947306 1.298330 1.562980 1.760618 1.888247 2.506445 2.689675 -0.213168 0.290928 0.695227 0.918179 1.378186 1.631987 1.847886 2.003072 2.358358 2.619347 -0.328586 0.517244 0.937320 1.376238 1.574840 1.764347 2.058630 2.224334 2.584444 2.756653 -0.248486 0.367007 0.562147 0.750632 0.902785 1.147563 1.637415 1.912062 2.413993 2.605696 -0.310691 0.477895 0.670796 0.940507 1.418293 1.563497 1.805141 2.114076 2.376358 2.535155 -0.256555 0.414210 0.559427 0.981289 1.191646 1.378307 1.678398 1.849306 2.576704 2.756630 -0.291424 0.335003 0.750149 1.289655 1.437209 1.599989 1.803177 1.967415 2.601748 2.733761 -0.195254 0.279513 0.451755 0.649111 0.828694 1.609509 1.914906 2.091219 2.319589 2.534899 -0.222304 0.332624 0.475678 0.685205 1.030332 1.737223 1.920979 2.378290 2.706719 2.817726 -0.164833 0.240093 0.359862 0.801929 1.513677 1.641713 2.040524 2.248843 2.488659 2.714025 -0.214777 0.287322 0.572644 1.145070 1.367112 1.752687 2.042424 2.222067 2.543047 2.697885 -0.226099 0.330382 0.474439 0.687757 0.799187 1.319837 1.944566 2.078099 2.367800 2.508460 -0.244540 0.392163 0.553692 0.729765 1.247865 1.448376 1.617590 2.074636 2.340052 2.518064 -0.175381 0.314231 0.446023 0.797404 1.328458 1.439727 1.793346 1.939571 2.468800 2.721651 -0.205808 0.293670 0.452447 1.074268 1.288235 1.655635 1.857504 2.364687 2.639812 2.798144 -0.253926 0.392653 0.587584 0.800134 0.976310 1.185587 1.570687 1.821414 2.090893 2.349021 -0.322461 0.410912 0.723569 1.060644 1.201524 1.400360 1.579189 1.788759 2.460242 2.616602 -0.211266 0.304981 0.436011 0.771978 1.490623 1.677748 1.886227 2.113497 2.326353 2.727265 -0.235012 0.406911 0.864785 1.291485 1.708295 1.938554 2.179896 2.352404 2.563792 2.711446 -0.176814 0.268620 0.445837 0.823113 1.029776 1.271571 1.623388 1.811215 2.402140 2.614165 -0.241865 0.339268 0.507509 1.003677 1.204347 1.372561 1.940795 2.101371 2.385606 2.669975 -0.230878 0.334743 0.500370 0.879929 1.021894 1.533770 1.970789 2.128971 2.567262 2.717288 -0.297505 0.451574 0.748848 0.988527 1.366237 1.606668 1.894660 2.174481 2.521427 2.759168 -0.199265 0.271145 0.498160 0.854679 1.172103 1.364148 1.762079 1.969095 2.173538 2.311630 -0.222173 0.424864 0.564942 0.829809 1.038172 1.194055 1.720601 1.858086 2.431760 2.741461 -0.181961 0.226819 0.390513 0.556339 1.056596 1.553065 2.128349 2.258018 2.602497 2.802121 -0.357600 0.565047 1.153012 1.350312 1.533576 1.718542 1.957892 2.175347 2.505650 2.678495 -0.162257 0.236808 0.374039 0.570569 0.748034 1.172262 1.823392 2.053032 2.513769 2.772072 -0.305794 0.465870 0.645121 0.882650 1.141294 1.266856 1.701581 2.002881 2.184124 2.411254 -0.231652 0.380738 0.549642 0.837410 1.225266 1.332971 1.851582 2.119371 2.315077 2.732108 -0.235449 0.286771 0.684809 1.346663 1.526630 1.703476 2.101486 2.254546 2.577181 2.718994 -0.233870 0.446515 0.605080 0.814654 1.054963 1.178801 1.633158 1.849743 2.139379 2.732772 -0.271706 0.335152 0.857227 1.253741 1.387189 1.702170 1.896767 2.191114 2.479999 2.601359 -0.237386 0.314549 0.438339 0.912164 1.577764 1.877791 2.032790 2.197037 2.412322 2.536484 -0.361168 0.574093 1.023843 1.468517 1.690562 1.917374 2.187368 2.334035 2.669095 2.806291 -0.278480 0.398742 0.573342 0.839212 1.073888 1.222093 1.691681 2.165258 2.377410 2.536882 -0.286018 0.447947 0.615060 0.849446 1.319465 1.463583 1.769948 2.001035 2.189431 2.450384 -0.219440 0.301601 0.668534 0.861094 1.210001 1.498673 1.745120 1.877765 2.314377 2.619597 -0.223591 0.352153 0.598841 1.217893 1.359082 1.591744 1.771089 2.213856 2.561538 2.735416 -0.176857 0.236601 0.395107 0.634632 1.133495 1.335116 1.770374 1.981313 2.206556 2.339716 -0.334735 0.402265 0.659168 0.781639 0.975228 1.664999 1.872069 2.047533 2.476961 2.573979 -0.215968 0.284755 0.524241 0.781460 1.334811 1.772379 1.953878 2.194209 2.578250 2.741939 -0.298193 0.489879 0.812985 1.183691 1.496418 1.679975 2.108792 2.316557 2.673779 2.851610 -0.312989 0.415446 0.618011 0.899096 1.083683 1.263384 1.887396 2.243064 2.419448 2.570481 -0.244471 0.431115 0.601512 0.813139 1.102163 1.221061 1.692440 2.033163 2.221795 2.619838 -0.150949 0.219060 0.349217 0.611327 1.077112 1.250547 1.915518 2.083980 2.449999 2.792543 -0.161611 0.218964 0.445377 0.927863 1.451151 1.768464 2.130012 2.366724 2.666003 2.814049 -0.196000 0.297256 0.497266 0.691900 1.089877 1.273685 1.513723 2.006472 2.273782 2.572221 -0.335268 0.460795 0.685187 0.867664 1.013807 1.479554 2.011994 2.168476 2.572643 2.717564 -0.257604 0.340872 0.499757 0.843052 1.396548 1.831688 2.034226 2.170332 2.422618 2.540496 -0.417663 0.631718 0.955424 1.197319 1.659797 1.879883 2.168797 2.359053 2.578087 2.698249 -0.162052 0.251583 0.439900 0.660911 0.903902 1.320296 1.624758 1.778577 2.530531 2.799705 -0.256861 0.322803 0.685370 1.086437 1.263276 1.569879 1.851654 2.014946 2.264711 2.447006 -0.125192 0.176171 0.336135 0.781600 1.200220 1.439966 1.805419 2.077525 2.462470 2.738186 -0.102286 0.191322 0.774556 1.076151 1.369456 1.627146 1.973015 2.236001 2.609367 2.812985 -0.173442 0.232622 0.491622 0.844157 1.095241 1.370797 1.696966 2.051411 2.316061 2.502053 -0.257531 0.343598 0.654071 0.838985 1.048102 1.487473 1.725385 1.897417 2.430505 2.585998 -0.197900 0.276312 0.440283 0.705103 1.267341 1.740297 1.934483 2.154007 2.400200 2.624136 -0.409590 0.596785 0.983751 1.181770 1.371153 1.502380 1.758280 2.018571 2.380053 2.592151 -0.231819 0.332890 0.483514 0.644585 0.816808 0.926308 1.403298 2.233007 2.467857 2.678461 -0.258610 0.340064 0.670485 0.908467 1.107611 1.456243 1.759580 1.932179 2.113118 2.310135 -0.184377 0.249203 0.410806 0.587907 1.302501 1.510319 1.724432 1.981890 2.282904 2.422125 -0.254110 0.313328 0.659859 1.265819 1.412949 1.665930 1.927154 2.101984 2.551446 2.673030 -0.161592 0.237480 0.376535 0.637094 0.823028 1.137613 1.696425 1.875770 2.403632 2.639617 -0.384501 0.466812 0.740791 0.938093 1.062352 1.509284 1.749143 1.917797 2.548157 2.671506 -0.333872 0.419367 0.638994 1.092624 1.520550 1.649447 1.866619 2.148941 2.346723 2.506140 -0.426216 0.686997 1.235881 1.428854 1.611591 1.792860 2.017593 2.233715 2.547773 2.696609 -0.262949 0.367509 0.530429 0.741867 0.872474 1.069602 1.745566 2.061187 2.283843 2.494178 -0.335782 0.547236 0.716211 0.919077 1.275686 1.408437 1.685118 1.967394 2.217639 2.446679 -0.227629 0.330991 0.486068 1.117571 1.304983 1.510130 1.757258 1.946972 2.625557 2.782597 -0.359850 0.436633 0.750634 1.201513 1.337571 1.594835 1.970273 2.113840 2.573808 2.729963 -0.211871 0.304028 0.512758 0.663762 1.086354 1.633335 1.818017 2.129577 2.391080 2.600766 -0.196092 0.279726 0.434488 0.624802 0.772358 1.404377 1.948777 2.160918 2.629996 2.775175 -0.176304 0.262521 0.373719 0.581101 1.520108 1.736172 1.933230 2.140172 2.358130 2.753524 -0.254932 0.381411 0.806187 1.102292 1.534523 1.750280 1.970904 2.159871 2.455922 2.658405 -0.190385 0.288656 0.449066 0.678174 0.812376 1.449326 1.728657 1.966320 2.638812 2.789546 -0.251178 0.386509 0.609363 0.797102 1.024159 1.181726 1.454661 2.012630 2.493092 2.698933 -0.166654 0.266226 0.385171 0.711990 1.397897 1.532347 1.915974 2.088003 2.565270 2.789532 -0.238453 0.306036 0.449309 0.876277 1.521437 1.933982 2.134420 2.267986 2.537601 2.658253 -0.161634 0.219919 0.353206 0.524346 0.961806 1.207713 1.687918 1.916939 2.161870 2.320657 -0.413612 0.597095 0.793763 0.986290 1.281786 1.412660 1.652465 2.016091 2.384164 2.528578 -0.228655 0.341562 0.480989 0.988605 1.371003 1.477423 1.861026 2.015852 2.339752 2.773153 -0.259092 0.597012 0.985224 1.321740 1.643354 1.957367 2.288682 2.497474 2.716492 2.844467 -0.185652 0.304664 0.446232 0.864434 1.091795 1.273770 1.942575 2.095543 2.524648 2.768245 -0.176687 0.256678 0.745652 0.934909 1.283760 1.440062 1.765242 2.122092 2.388099 2.590551 -0.189805 0.275637 0.440995 0.821356 1.256020 1.410985 1.929781 2.120144 2.396030 2.604643 -0.266823 0.337688 0.819408 1.134754 1.289204 1.777028 1.982886 2.221748 2.590286 2.698098 -0.205348 0.276512 0.527305 0.727412 1.024647 1.653979 1.904178 2.046613 2.217922 2.455661 -0.293498 0.424494 0.613795 0.956130 1.133981 1.324804 1.809031 1.953922 2.293854 2.575884 -0.183120 0.249650 0.376204 0.543914 1.350827 1.907220 2.092551 2.255705 2.514391 2.687901 -0.541205 0.789796 1.058955 1.269415 1.503899 1.702191 1.970176 2.175444 2.496810 2.652238 -0.229326 0.339475 0.451881 0.661210 0.795832 1.073796 2.027104 2.206371 2.478903 2.726784 -0.330006 0.506868 0.673076 0.887406 1.228765 1.349226 1.781290 2.086583 2.277762 2.480029 -0.138389 0.200001 0.396259 0.811975 1.090712 1.460413 1.745493 1.904269 2.348250 2.699886 -0.176584 0.242161 0.378270 1.177848 1.564718 1.678166 1.951618 2.121413 2.580109 2.737132 -0.145852 0.198423 0.335644 0.550505 1.019727 1.371188 1.797635 1.943825 2.207490 2.746470 -0.385078 0.503696 0.703239 1.069987 1.365736 1.472054 1.825827 2.159636 2.371283 2.520972 -0.284950 0.388050 0.507352 0.879125 1.523530 1.776238 1.929597 2.157558 2.447986 2.586398 -0.491116 0.756155 1.255200 1.522460 1.776579 2.028121 2.286059 2.429774 2.679106 2.776164 -0.252477 0.396081 0.713022 0.861502 1.152223 1.370802 1.614010 2.144798 2.574072 2.712530 -0.282756 0.438437 0.613566 0.847746 1.260772 1.379059 1.642202 2.137540 2.368369 2.522163 -0.203971 0.322195 0.479842 0.953133 1.211278 1.397635 1.800812 1.954516 2.403478 2.573713 -0.264533 0.358424 0.628768 1.111242 1.340246 1.506485 1.999590 2.194109 2.461411 2.667361 -0.177730 0.223680 0.394553 0.556177 0.947415 1.500640 1.733528 1.926046 2.261466 2.436054 -0.314223 0.363636 0.727886 0.851880 1.053844 1.798132 1.974354 2.182595 2.537995 2.629683 -0.201778 0.275500 0.404891 0.747466 1.500050 1.841184 1.998843 2.226807 2.481989 2.669506 -0.132164 0.314955 0.821473 1.196038 1.426590 1.699934 2.036856 2.323497 2.685471 2.828965 -0.223374 0.347335 0.507730 0.773547 0.967916 1.134129 1.991403 2.306567 2.521364 2.788746 -0.312742 0.449784 0.583287 0.934234 1.268567 1.365063 1.569295 1.687046 2.077299 2.595022 -0.124286 0.162126 0.290730 0.654031 1.231658 1.538458 1.893070 2.184784 2.562637 2.798224 -0.177049 0.251654 0.367891 0.912504 1.557576 1.693045 1.898991 2.072136 2.350163 2.646045 -0.240517 0.378333 0.547809 0.754272 0.973321 1.103670 1.574418 2.028049 2.211127 2.562709 -0.427795 0.519003 0.771284 0.937240 1.086617 1.609879 1.878750 2.052791 2.534118 2.657149 -0.224370 0.317969 0.439666 0.812931 1.398497 1.626632 1.794178 2.114000 2.309157 2.496836 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspjmv2.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspjmv2.txt deleted file mode 100644 index 2b7cabf..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspjmv2.txt +++ /dev/null @@ -1,513 +0,0 @@ -5 512 -0.005167 -0.037310 -0.002159 0.016849 0.130396 -0.039445 0.031680 -0.074412 -0.031499 0.060536 -0.019479 -0.030564 -0.048137 -0.056279 -0.027829 -0.020585 -0.011270 0.023913 -0.005706 0.011407 --0.023217 0.107455 -0.037777 0.004070 -0.017279 --0.090444 0.007641 0.099001 -0.047913 -0.017199 -0.022700 -0.063865 0.047213 0.043843 -0.036225 -0.001312 -0.123861 -0.038988 0.058666 0.074541 -0.039508 0.110300 0.013954 -0.119228 -0.035807 --0.047392 0.027035 -0.004412 -0.032650 -0.037150 -0.002491 -0.045447 0.158260 0.022828 -0.030124 --0.047856 0.088744 -0.009678 0.106688 0.087690 --0.027941 0.044084 -0.028500 0.018736 -0.069969 --0.035358 -0.051568 -0.030459 -0.017899 0.027632 --0.018607 -0.123557 0.019228 0.057485 -0.028907 -0.019057 0.038151 -0.080220 0.034222 0.023081 -0.021312 0.041905 0.112903 0.024092 0.093974 --0.116679 0.015344 -0.066059 -0.096437 0.004041 --0.022464 -0.116260 0.047819 -0.003921 -0.073504 -0.001975 -0.025869 0.028200 0.122690 0.010627 --0.035672 0.078963 -0.009686 0.000743 -0.147582 -0.016932 -0.020291 -0.096896 -0.237875 -0.029121 -0.017376 -0.040130 -0.053865 0.154060 -0.013215 -0.015215 -0.019023 -0.070604 0.032265 0.040340 -0.102365 -0.022746 0.019895 0.050570 0.008845 --0.034134 0.044441 -0.049387 -0.140481 0.072570 -0.013023 -0.006079 0.037574 0.004937 -0.081501 -0.003696 0.049908 0.007355 0.000403 0.026006 --0.008466 0.080680 0.061382 -0.108985 -0.088060 --0.012275 -0.081061 0.020333 -0.079001 0.068724 --0.014081 -0.042609 0.093365 0.044120 0.000303 -0.063391 0.096574 -0.105424 0.039041 0.010412 --0.054031 -0.084948 0.080406 -0.035883 0.137428 -0.063037 0.050562 0.024690 -0.031394 0.130320 --0.015501 -0.078884 -0.076886 -0.013864 -0.073587 -0.048778 0.003814 -0.031125 0.046897 0.028304 -0.048692 0.132795 0.065450 0.059487 -0.042396 --0.176999 0.056943 -0.004135 -0.049378 -0.041083 --0.039445 -0.016292 -0.004550 0.062010 -0.079613 --0.054566 -0.008476 -0.016710 0.049202 0.025758 --0.078723 0.092091 0.096536 -0.065079 0.021161 -0.076657 0.009203 -0.036866 -0.016559 0.012823 -0.008225 -0.003006 0.108033 0.043120 -0.060870 --0.019346 0.022790 -0.001728 0.062304 -0.016965 --0.001302 -0.014490 -0.041803 -0.034058 -0.197066 --0.033655 -0.127217 -0.108681 -0.010571 -0.004705 --0.015553 -0.086069 0.034109 -0.101379 0.002068 --0.004003 -0.044637 -0.068617 0.052228 -0.047812 --0.043307 0.035681 0.042207 -0.055946 0.055944 --0.026792 -0.012601 -0.056710 -0.021094 0.105842 --0.025598 -0.078858 -0.013487 0.030728 -0.031956 -0.031444 0.022763 0.025364 0.121366 0.070736 --0.084556 0.098118 -0.024301 -0.058655 -0.043194 --0.011752 -0.043781 0.091051 -0.071201 -0.020980 -0.082904 -0.031657 -0.088247 0.066709 -0.079182 --0.012151 0.011796 -0.010589 0.100656 0.094539 -0.035967 0.025338 0.071826 0.009741 -0.040209 -0.006866 -0.015095 -0.168469 -0.056133 0.060145 -0.045830 -0.068969 0.034551 0.015842 -0.092809 -0.054699 0.138744 0.001726 0.006927 0.005167 -0.016978 0.046384 -0.060183 -0.040742 -0.072692 --0.022489 -0.029728 -0.065018 -0.124741 0.044927 --0.029057 -0.037154 0.031068 0.060086 0.009984 -0.009311 -0.006957 -0.105508 0.059637 -0.019564 --0.068154 -0.066443 0.000799 0.028579 0.097063 -0.096936 0.030230 -0.034623 -0.088918 0.040334 -0.019439 -0.050707 -0.003294 -0.028505 -0.053599 -0.062460 -0.070688 -0.016465 -0.035680 0.017378 -0.009363 0.048761 0.043374 0.039587 -0.023232 --0.067033 0.042663 0.054070 -0.042797 -0.089391 --0.030497 -0.050249 0.059528 0.089089 -0.029633 -0.064125 -0.086614 -0.002005 0.080620 0.000502 --0.003490 0.097336 0.099565 0.015648 0.006691 -0.077668 0.016572 0.035404 -0.046026 0.017237 --0.048631 0.009314 0.141479 0.017079 0.043796 --0.106474 0.145951 0.057740 0.011250 -0.059443 -0.027572 0.026650 0.008527 0.002949 -0.037680 --0.077991 -0.090617 0.003420 -0.046010 0.007354 -0.019056 -0.128651 0.016464 0.004584 -0.030883 --0.092069 0.038976 -0.081840 0.066695 -0.047340 -0.003513 0.040613 0.046815 -0.023406 0.062389 -0.021759 0.024928 -0.018922 -0.048006 0.063800 --0.014416 -0.050333 0.042628 -0.114934 -0.101450 -0.062139 0.029295 -0.065908 0.111463 0.050781 --0.022707 0.135414 0.003548 0.134535 -0.048259 --0.092344 -0.027727 0.016343 -0.060786 -0.081502 --0.005412 -0.026229 -0.143331 0.052404 -0.077298 --0.035919 -0.041968 -0.106108 -0.004369 0.065028 -0.096370 -0.053299 0.043317 -0.049735 0.049815 -0.032324 0.051309 -0.009607 -0.205917 0.005023 --0.054316 -0.022895 0.099327 -0.006927 -0.076574 --0.111024 0.111026 0.038381 -0.060368 0.064238 --0.034316 0.026846 0.025740 -0.076162 -0.163904 -0.055955 -0.056885 0.014831 -0.120715 0.090938 -0.035289 -0.036439 0.060012 0.080302 0.036215 -0.065250 0.083030 -0.058784 0.104826 -0.051805 --0.011099 -0.006420 0.053042 0.024127 0.092534 -0.058569 -0.033442 0.025186 -0.018222 0.117744 -0.044345 -0.042456 -0.043767 -0.021378 -0.121965 -0.027371 0.052731 -0.020316 0.036912 0.115357 -0.031150 0.041547 0.059267 -0.039672 -0.086918 --0.162369 0.024801 0.031725 0.083400 -0.034463 -0.000272 -0.008147 -0.002016 0.131953 -0.092911 --0.091944 -0.062864 -0.005221 0.063647 -0.012658 -0.042685 0.067952 0.038644 -0.153221 0.096841 -0.108299 0.089446 -0.047164 0.004196 -0.043268 --0.035456 0.050838 0.070444 0.084465 -0.079980 --0.048916 0.057726 0.023894 0.027653 0.017775 -0.015461 -0.030287 -0.022245 0.052081 -0.150947 --0.002682 -0.056774 -0.123366 -0.091754 0.006536 -0.006473 -0.143025 0.054690 -0.043189 0.032970 -0.027446 0.033127 -0.132722 -0.010417 -0.080097 --0.018187 0.001858 0.111290 -0.090749 0.059434 --0.068738 0.090679 -0.145070 -0.065277 0.063514 --0.003982 -0.056382 -0.003673 0.015845 -0.073396 -0.043688 0.002836 0.069211 0.124852 -0.053313 --0.040946 0.070440 -0.107024 -0.019199 -0.033672 --0.001440 0.021680 0.110595 -0.053452 -0.052426 -0.035461 -0.028179 -0.049041 0.022580 -0.010989 --0.002913 -0.051691 -0.075881 0.037241 0.076377 -0.034735 -0.031556 0.073516 -0.001427 0.016296 --0.017537 0.003346 -0.099774 -0.067624 -0.044257 --0.018202 0.030622 0.012773 0.046475 -0.121785 --0.057265 0.116179 -0.079916 0.066396 0.050104 --0.013177 0.057766 -0.047879 -0.109526 -0.146491 -0.032675 -0.049318 -0.057045 -0.080068 0.089621 --0.046564 -0.029992 0.040828 0.029281 -0.037369 --0.009731 -0.082145 -0.117622 0.117077 0.037369 -0.000820 -0.106634 -0.007967 0.000812 0.140637 -0.036530 0.062121 -0.065504 -0.094930 0.121336 -0.017530 -0.017330 -0.040402 -0.018255 0.010992 -0.019746 -0.027564 0.033588 0.042466 -0.003143 -0.013767 0.084179 0.033753 -0.017279 -0.009676 --0.006452 0.032645 0.031852 -0.030975 -0.043384 --0.005433 -0.015258 0.053273 0.054748 -0.064736 -0.008959 -0.141223 -0.032957 -0.015079 0.018198 --0.001681 0.143079 0.076000 0.001037 -0.048744 -0.022062 0.026030 -0.008263 -0.050353 -0.023037 --0.036477 -0.051733 0.137823 -0.034438 -0.007573 --0.004256 0.064218 0.075183 0.095106 0.026497 -0.026360 0.009791 -0.058039 0.053315 -0.077817 --0.033283 -0.081151 -0.055220 0.004268 0.017539 --0.007329 -0.117200 0.093220 0.037359 0.002718 -0.010749 0.018281 -0.075800 -0.024889 0.005720 -0.022129 0.035613 0.036187 0.032246 0.105439 --0.073766 0.016887 -0.059934 -0.049471 0.073520 --0.024041 -0.104642 0.023557 -0.059746 -0.043871 -0.022311 -0.000250 -0.074027 0.198593 0.102732 -0.024478 0.077658 -0.060042 -0.018229 -0.149648 --0.009871 -0.105822 0.007585 -0.161459 -0.041121 --0.021460 0.009020 -0.065018 0.111801 -0.024953 -0.074594 -0.026041 -0.062859 0.009199 0.069609 -0.078672 -0.033414 0.054128 0.005408 -0.016273 -0.052076 0.107610 -0.067518 -0.096400 0.033703 --0.014350 -0.024676 0.056254 -0.043770 -0.060847 --0.004185 0.073550 -0.057830 -0.016644 0.029096 -0.005755 0.026472 0.040449 -0.091950 -0.048538 --0.034439 -0.107938 0.090712 -0.117001 0.043170 --0.006505 -0.035277 0.117316 0.127002 0.047906 --0.001441 0.118379 -0.132165 0.007380 0.023823 --0.020120 -0.083725 0.047284 0.023795 0.074123 --0.013439 0.024994 0.060254 -0.069120 0.166373 --0.024228 -0.063150 -0.046506 -0.077202 -0.054592 --0.006571 0.010335 -0.006568 0.003982 0.075837 -0.008643 0.136339 -0.005502 0.033910 -0.066379 --0.127371 -0.006954 0.039770 -0.070123 0.060925 --0.046386 -0.026420 -0.005280 0.103509 -0.022310 --0.003740 -0.014999 -0.037770 0.080005 0.025231 --0.054995 0.071017 0.009442 -0.075737 0.013441 -0.051947 0.027097 -0.070351 -0.055705 -0.021115 -0.021387 0.029232 0.163331 -0.032380 0.010008 --0.011987 -0.028631 0.002665 0.014770 -0.009558 --0.034325 0.015830 -0.091253 -0.012677 -0.107378 --0.034624 -0.047725 -0.102330 0.042525 -0.006869 -0.014048 -0.043127 0.052384 -0.047473 0.055102 -0.009744 -0.033646 -0.081755 -0.001464 -0.016223 --0.036697 -0.002279 0.023279 -0.036221 0.101478 --0.058454 0.065074 0.003524 0.005010 0.097182 --0.038171 -0.037943 -0.009994 -0.033355 -0.044552 -0.041318 0.065041 0.000092 0.100816 0.029007 --0.031803 0.183537 -0.009617 -0.010544 -0.028465 -0.006900 -0.014988 0.090490 -0.174817 0.027464 -0.063314 -0.049281 -0.001567 0.091421 -0.078603 --0.004869 -0.063266 -0.001922 0.069338 0.081771 -0.058737 0.073195 0.081676 -0.047808 -0.025797 --0.004185 0.033203 -0.125472 -0.108148 0.031258 -0.035192 0.029957 0.046675 0.047238 -0.088197 -0.033315 0.114919 -0.049180 0.025707 0.053843 -0.035182 0.140206 -0.058660 -0.025978 -0.019658 --0.014847 -0.021051 -0.034385 -0.121789 0.173406 --0.112251 -0.022333 0.071206 0.028998 0.046468 -0.067704 -0.026159 -0.158316 0.014936 0.040216 --0.010137 -0.053492 0.004935 -0.011277 0.073852 -0.091261 0.114794 -0.014060 -0.051545 0.077316 -0.101258 -0.046137 0.022994 -0.066767 -0.065537 -0.049952 -0.043582 0.012823 0.009313 0.036343 -0.054885 0.037796 0.021940 0.013211 0.006019 --0.099578 0.058596 -0.045463 -0.015632 -0.087141 --0.019273 -0.033140 0.043796 0.119057 -0.081813 --0.021538 -0.070453 -0.052551 0.077213 0.000094 -0.050268 0.092271 0.051688 -0.025224 0.075437 -0.027983 0.069205 0.031787 -0.099975 0.004387 --0.002747 -0.056567 0.161394 0.000164 0.084189 --0.124844 0.050329 0.009844 0.055877 0.055701 -0.030479 0.028843 -0.001076 -0.017173 -0.102770 --0.038426 -0.133841 -0.035840 -0.072046 0.020206 -0.016438 -0.097885 0.041857 0.034601 0.030422 --0.089192 -0.014112 -0.052276 0.012005 -0.029335 --0.011331 0.101833 0.063827 0.044288 0.101597 --0.034689 -0.027434 -0.017801 -0.079224 0.067103 --0.027456 -0.098034 0.009448 -0.038986 -0.156729 -0.085023 0.033136 -0.021343 0.110701 -0.011901 --0.006484 0.082023 -0.027094 0.091208 -0.013163 --0.012223 0.005933 0.010653 -0.098119 -0.005304 --0.021061 -0.058077 -0.073035 0.097856 -0.102847 --0.035329 -0.092754 -0.101463 -0.048671 0.055015 -0.102145 0.062017 0.016002 0.036489 0.059000 -0.042861 0.025447 -0.019735 -0.107841 -0.033752 --0.043982 -0.067059 0.051092 0.025235 -0.147107 --0.016269 0.123009 0.035894 -0.020453 0.040013 -0.015557 0.015825 0.080712 -0.069630 -0.149739 -0.022006 -0.008848 0.040169 -0.095688 0.059575 --0.030641 -0.061353 0.046302 0.104489 0.043372 --0.001579 0.059737 -0.104073 0.042342 -0.048611 --0.013811 -0.056255 0.107179 0.057433 0.084815 -0.030217 0.022360 -0.040342 -0.028775 0.120588 -0.041270 -0.045775 -0.030195 -0.106859 -0.104349 -0.072418 -0.003603 -0.013072 0.040728 0.086869 -0.091943 0.066517 0.024442 -0.030929 -0.032920 --0.160336 -0.010347 -0.068458 0.017458 0.044823 -0.050694 0.067625 0.040303 0.113164 -0.038747 --0.065558 -0.106357 -0.028352 0.121488 0.026548 --0.007820 0.054872 0.094674 -0.099533 0.005231 -0.118132 0.042780 -0.065079 0.031440 0.043229 --0.050024 0.015943 0.073917 0.034049 0.010548 --0.024979 0.022639 0.027795 0.049491 0.048762 --0.002738 -0.010783 -0.027637 -0.006986 -0.104141 --0.066719 -0.061742 -0.067028 -0.053057 -0.003478 --0.050948 -0.122196 0.022082 0.002595 0.015094 -0.006014 0.005784 -0.184537 -0.034872 -0.036104 -0.055412 0.006886 0.103488 -0.063001 0.096665 --0.035533 0.009847 -0.095114 0.008588 0.023736 --0.034278 -0.111970 -0.041172 0.039730 -0.102952 -0.063775 0.039273 0.109863 0.091800 0.030306 --0.082206 0.089449 -0.058478 -0.029341 0.038389 -0.061057 -0.024711 0.111044 -0.035079 -0.027985 -0.014570 0.002046 -0.031545 0.058848 -0.019500 --0.002475 -0.025589 -0.144358 0.063478 0.124927 --0.014094 -0.010970 0.031621 -0.040043 0.004389 -0.025003 0.052397 -0.054526 -0.073469 0.026795 --0.024697 0.024739 0.118299 0.014948 -0.132109 -0.020192 0.037815 -0.090270 0.049313 0.082764 --0.022642 -0.006053 -0.038073 -0.057363 -0.107347 -0.033166 -0.027556 -0.019765 -0.111958 0.027773 --0.063001 -0.052998 0.019353 -0.009646 -0.011270 -0.011872 -0.006508 -0.122226 0.059824 0.041779 -0.016445 -0.031890 -0.036310 0.013085 0.091631 -0.062866 0.054501 -0.117523 -0.010907 0.087026 --0.014974 -0.035920 -0.048565 -0.019246 -0.043405 --0.006959 0.006211 0.042370 0.014603 -0.006435 -0.019149 0.078038 -0.020556 0.018114 -0.036521 --0.054036 0.007325 0.056349 -0.033497 -0.025960 -0.050184 -0.066536 0.091501 0.071356 -0.049044 --0.032263 -0.095268 -0.008784 0.049033 0.036929 -0.020357 0.152151 0.040814 -0.063159 -0.024324 --0.017084 0.011876 -0.015442 -0.019811 -0.000366 --0.002700 -0.072981 0.109288 0.007473 -0.049442 --0.054040 0.051947 0.019359 0.129160 0.021981 -0.002248 0.035262 -0.023141 0.064666 -0.078273 --0.031663 -0.031343 -0.006058 -0.045421 0.017466 --0.067122 -0.130784 0.067057 0.052460 -0.041165 --0.004411 0.046453 -0.055461 0.048162 -0.009687 -0.021530 0.007211 0.104764 0.079849 0.086248 --0.072791 0.001112 -0.027964 -0.071233 -0.013339 -0.007979 -0.118231 0.076826 -0.060762 -0.084358 --0.011447 0.009765 0.014163 0.164784 -0.015892 --0.020756 0.152509 -0.014014 -0.041853 -0.117008 --0.011755 -0.005766 -0.086896 -0.139650 -0.032342 -0.025651 -0.007843 -0.039073 0.103397 -0.042591 --0.005971 -0.001324 -0.053945 -0.000716 0.048977 -0.130185 0.028226 0.061179 0.024489 -0.021939 --0.007019 0.054336 -0.010040 -0.095411 0.082406 --0.032130 -0.015054 0.033059 0.002802 -0.080159 --0.022452 0.077426 -0.015314 0.033583 0.028479 -0.023293 0.035078 0.006442 -0.110541 -0.106244 --0.034737 -0.104140 -0.034570 -0.114316 0.079382 -0.006009 0.003901 0.080081 0.055082 0.012896 -0.064981 0.057219 -0.112986 0.003906 -0.028414 --0.012383 -0.054541 0.077483 0.004267 0.123567 -0.007369 0.099856 0.023273 -0.028194 0.122030 --0.036635 -0.126589 -0.034567 -0.028288 -0.065040 -0.014280 0.011435 -0.004867 0.043901 0.035395 -0.028599 0.075858 0.118460 0.070581 -0.051903 --0.170905 0.050352 0.053514 -0.017139 0.021748 --0.096610 0.008904 -0.001049 0.078787 -0.101201 --0.026229 -0.019757 -0.035771 0.054142 0.068041 --0.020328 0.099979 0.096623 -0.046957 -0.001733 -0.049586 0.052458 -0.031724 -0.028332 -0.005418 -0.046710 0.014238 0.133125 -0.005428 -0.080055 --0.033226 0.034007 0.025272 0.033924 -0.044662 --0.034690 -0.079173 -0.160689 -0.153893 -0.228771 --0.002450 -0.083966 -0.168294 0.010694 -0.012167 -0.000004 -0.044377 0.023373 -0.077437 0.012178 --0.015899 -0.010828 -0.062847 0.029927 -0.074557 --0.053306 0.049688 0.057017 -0.022571 0.015337 --0.046545 0.018895 -0.024848 -0.004424 0.165442 --0.060201 -0.098629 -0.065190 0.036582 -0.038566 -0.051453 0.093478 0.039619 0.117535 0.090386 --0.029366 0.108075 -0.016568 -0.093576 -0.048799 --0.045599 -0.023619 0.070072 -0.109294 0.001548 -0.076285 -0.091274 -0.068829 0.000215 -0.046519 --0.022512 -0.027067 0.014905 0.079017 0.140699 -0.061141 0.009178 0.097811 0.033468 -0.006666 -0.007163 -0.007578 -0.124238 -0.025271 0.017581 -0.042405 -0.034252 0.064890 0.002500 -0.139083 -0.009733 0.158179 0.014474 0.038913 0.056290 --0.004998 0.075401 -0.030557 -0.038595 -0.049070 --0.014680 -0.076306 -0.132365 -0.177693 0.091760 --0.057238 -0.072379 0.050877 0.051489 0.028125 -0.004991 0.032621 -0.167359 0.041002 -0.007072 --0.086405 -0.042263 -0.019757 -0.011524 0.066004 -0.085670 0.008071 -0.013614 -0.062142 0.083280 -0.000887 -0.075820 0.008295 -0.020136 -0.016886 -0.089657 -0.106260 -0.051491 -0.012687 0.054778 -0.011535 0.086613 0.053803 0.027164 -0.023825 --0.040009 0.080987 0.026309 -0.000334 -0.085288 --0.024208 -0.085040 0.096077 0.120527 -0.044181 -0.003034 -0.091142 0.006471 0.115971 -0.026358 -0.003489 0.083633 0.109975 -0.029425 0.061726 -0.056115 -0.006711 0.013158 -0.062917 -0.015029 -0.003354 0.031574 0.119045 0.022859 0.023777 --0.068292 0.115604 0.031617 0.008953 0.006943 -0.014420 0.008569 -0.031547 -0.006857 -0.051690 --0.086683 -0.108339 0.005093 -0.108646 -0.034720 -0.054273 -0.096753 0.050806 -0.021115 -0.025278 --0.079997 0.027008 -0.034211 0.090949 0.005678 -0.019288 0.042083 0.062119 0.019301 0.040859 --0.009113 0.022427 -0.004019 -0.060890 0.032884 --0.012373 -0.037976 0.017625 -0.079369 -0.050788 -0.079720 -0.039347 -0.085324 0.091044 0.026653 --0.063122 0.099371 -0.024736 0.084631 -0.100421 --0.073313 0.014317 0.022555 -0.116051 -0.063966 --0.009688 -0.063666 -0.131709 0.016744 -0.135028 --0.003708 -0.043685 -0.121631 -0.036930 0.125776 -0.084333 0.010114 0.071231 -0.010395 0.059391 -0.017760 0.033034 -0.018996 -0.130540 0.025758 --0.018261 -0.060044 0.127025 -0.032724 -0.107299 --0.064538 0.090073 -0.010186 -0.066127 0.107025 --0.010940 0.003083 0.019030 -0.023935 -0.140176 -0.003549 -0.042402 -0.010695 -0.185915 0.060835 -0.005405 -0.013822 0.029205 0.079338 0.068155 -0.071485 0.030282 -0.087207 0.073480 -0.027940 -0.004896 -0.033246 0.072637 0.018017 0.054712 -0.026184 -0.005287 0.034456 -0.036753 0.079232 -0.072707 0.004506 -0.039353 -0.015560 -0.071466 -0.010257 0.067446 -0.006598 0.047396 0.072218 -0.023405 0.082663 0.015319 -0.035436 -0.075461 --0.124036 -0.032046 0.060837 0.010231 -0.053024 -0.022800 0.042891 -0.041549 0.132395 -0.095330 --0.077091 -0.058554 -0.070632 0.047570 0.031856 -0.000127 0.114996 0.058660 -0.092472 0.064503 -0.096450 0.066200 -0.001059 0.039487 -0.032859 --0.065721 0.001601 0.088037 0.059828 -0.047411 --0.077714 0.010275 0.013629 0.003304 0.005407 -0.000665 0.012927 -0.077525 0.069202 -0.157417 -0.014547 -0.095965 -0.087546 -0.067375 -0.027867 -0.005458 -0.095839 0.105294 -0.044892 0.045151 --0.001349 0.038356 -0.127152 -0.080503 -0.105423 --0.018484 0.008439 0.104398 -0.027959 0.082086 --0.020605 0.042785 -0.109139 -0.025958 0.079733 -0.036289 -0.083773 -0.033819 0.032566 -0.065556 -0.006659 0.002090 0.097027 0.115715 -0.013271 --0.067514 0.128365 -0.089129 0.026160 -0.040584 --0.002443 -0.017254 0.129204 -0.110078 -0.064943 -0.089215 -0.022299 -0.034959 0.022446 -0.019254 --0.038900 -0.069862 -0.070540 0.069949 0.111993 --0.006311 -0.009057 0.094278 -0.014932 0.003657 --0.019323 0.026145 -0.062611 -0.073753 -0.007182 -0.014101 0.015776 0.052537 0.064728 -0.160187 --0.005122 0.076356 -0.104763 0.091493 0.020225 --0.000433 0.062698 -0.060457 -0.147540 -0.066168 -0.007195 -0.061498 -0.037801 -0.039763 0.059551 --0.028410 -0.074510 0.057667 0.020584 -0.042510 --0.025311 -0.037825 -0.188010 0.077423 0.030749 --0.025465 -0.067541 0.003073 -0.049778 0.127789 -0.002786 0.120009 -0.067812 -0.026565 0.111272 -0.023219 -0.024403 -0.014507 -0.048624 0.022163 -0.014596 -0.052136 0.001580 0.064595 0.017963 -0.021330 0.098862 -0.009253 -0.041062 0.008903 --0.013829 0.031967 0.076571 -0.005348 -0.044010 -0.031252 0.000369 0.036818 0.072854 -0.038569 -0.004161 -0.128017 -0.053152 0.050896 -0.015212 --0.036159 0.097995 0.068397 -0.048472 -0.056131 --0.011920 0.059188 0.010215 -0.061152 -0.011717 --0.035949 -0.057039 0.090859 -0.029682 0.041466 --0.025106 0.131191 0.059327 0.085383 0.021699 -0.049230 0.036630 -0.077086 0.017806 -0.088790 -0.004040 -0.069533 -0.026785 0.009666 0.014017 --0.055897 -0.096299 0.120693 0.029995 0.032602 --0.001365 0.034015 -0.053512 0.001573 -0.019170 -0.003956 0.006452 0.067313 0.028301 0.160615 --0.053111 0.013990 -0.027060 -0.013638 0.039376 --0.054462 -0.096553 0.079994 -0.043791 -0.025051 --0.003222 0.019418 -0.049525 0.151136 0.034123 -0.055117 0.058918 -0.017393 0.026169 -0.126380 --0.019008 -0.028939 -0.014027 -0.173373 -0.032841 --0.003370 0.039680 -0.118311 0.114094 -0.041869 -0.041121 -0.038391 -0.096074 -0.032479 0.060222 -0.063968 -0.024528 0.018158 -0.009892 -0.043882 --0.005004 0.129800 -0.025438 -0.121186 0.049860 -0.010448 -0.040388 0.061853 -0.017304 -0.035088 --0.008678 0.061476 -0.039493 -0.005055 0.079169 -0.046134 0.009770 0.068294 -0.078965 -0.043792 --0.030529 -0.053845 0.053853 -0.140682 0.111461 -0.003549 -0.014939 0.148955 0.072861 0.004332 -0.015386 0.062006 -0.122325 -0.032529 0.010241 --0.047982 -0.126440 0.055840 0.067128 0.101189 --0.002630 0.031969 0.046076 -0.080194 0.104740 --0.033486 -0.077818 -0.058697 -0.095258 -0.111074 -0.037236 0.011711 0.001113 -0.005664 0.048588 -0.041131 0.098257 0.033126 0.029317 -0.095311 --0.071555 -0.039999 0.026678 -0.072182 0.035031 --0.007997 -0.048174 -0.006796 0.075959 -0.052060 --0.007645 0.037076 -0.035574 0.085576 0.034126 --0.050676 0.051430 0.031999 -0.134308 -0.001489 -0.084564 -0.018394 -0.097410 -0.042931 -0.025608 --0.025489 0.041919 0.142482 0.004617 -0.041085 --0.028816 -0.015527 -0.031005 0.028405 -0.022240 --0.067737 -0.025241 -0.052578 0.012322 -0.120556 -0.016278 -0.081744 -0.099160 0.025144 0.025441 -0.003176 -0.073871 0.031718 -0.028622 0.029031 -0.017910 -0.030693 -0.104215 -0.015422 -0.065738 --0.048346 -0.012847 0.046849 -0.008621 0.058771 --0.054495 0.031597 -0.038844 0.043138 0.092588 --0.071371 -0.059093 -0.001197 0.001766 -0.074762 -0.029470 0.089616 0.005009 0.052977 0.015899 --0.045424 0.158466 -0.038717 -0.032506 0.028687 -0.011435 -0.006772 0.047605 -0.144659 -0.031229 -0.073577 0.011530 -0.008172 0.058883 -0.088412 -0.033615 -0.034120 -0.030701 0.101215 0.096645 -0.027368 0.041249 0.081502 -0.025440 0.007592 -0.059893 0.012106 -0.112009 -0.114692 0.016397 -0.087068 0.016199 0.051263 0.011915 -0.085364 -0.026046 0.145258 -0.047521 0.077134 -0.000345 -0.034532 0.099801 -0.087591 -0.059719 -0.058671 -0.022737 -0.001887 -0.107049 -0.116757 0.134115 --0.055403 0.005157 0.067618 0.081074 0.071787 -0.063802 -0.003430 -0.106491 0.017543 0.002214 --0.013785 -0.032962 0.010084 0.024325 0.045963 -0.059883 0.072282 -0.008608 -0.015127 0.048225 -0.041752 -0.068845 0.012227 -0.090748 -0.035309 -0.045353 -0.078624 -0.019489 0.035531 0.058571 -0.045414 0.039032 -0.011106 0.048787 -0.025336 --0.084893 0.031896 0.010850 0.012526 -0.053205 -0.016952 -0.044041 0.068766 0.097328 -0.122229 -0.027016 -0.051759 -0.057246 0.074566 0.006201 -0.069904 0.100068 0.076124 0.004278 0.029466 -0.045229 0.055683 0.018790 -0.067806 0.039373 -0.029179 -0.036787 0.129921 -0.028993 0.037711 --0.105011 0.138747 -0.004370 0.052080 0.050835 -0.025511 -0.002962 0.007852 -0.055234 -0.075055 -0.000460 -0.089231 -0.030467 -0.080347 0.007488 -0.067460 -0.076368 0.084991 0.039544 0.033391 --0.044318 0.006390 -0.079387 -0.002909 -0.029708 --0.047882 0.063040 0.065719 0.021811 0.070945 --0.007571 -0.001302 -0.064119 -0.068005 0.051040 --0.017747 -0.063938 0.018673 -0.038391 -0.099966 -0.057475 -0.007669 0.009384 0.109283 0.012248 --0.048858 0.092498 0.011967 0.061525 -0.028819 --0.015131 -0.024160 -0.033220 -0.101648 -0.017980 --0.003342 -0.049829 -0.125096 0.128241 -0.047377 --0.028943 -0.109072 -0.066133 -0.015454 0.098334 -0.053371 0.011324 0.042781 0.044313 0.062510 -0.098408 0.065410 -0.040693 -0.116351 -0.032327 --0.013634 -0.058591 0.081507 0.042019 -0.099770 --0.018275 0.084624 -0.007512 -0.041113 0.054203 -0.017879 -0.029747 0.059865 -0.048281 -0.111513 --0.022478 0.002059 0.022383 -0.125360 0.058216 -0.002386 -0.081600 0.049288 0.157428 0.057724 -0.005046 0.102125 -0.083473 0.044059 -0.094864 -0.039120 -0.063306 0.057341 0.060519 0.107383 -0.007076 -0.009373 -0.012555 -0.066630 0.117121 -0.025254 -0.008796 -0.062102 -0.083164 -0.079007 -0.084839 0.042308 -0.055353 0.036386 0.132641 -0.084464 0.056288 -0.011636 -0.059554 -0.087748 --0.147377 -0.052414 -0.010203 -0.009159 -0.018829 -0.009621 0.061633 0.015716 0.086332 -0.061465 --0.011833 -0.062998 -0.021168 0.125194 0.045025 -0.052316 0.025720 0.095155 -0.093252 0.028720 -0.056113 0.063321 -0.045315 0.025199 0.023591 --0.070481 0.072350 0.092458 0.047973 -0.025439 --0.001281 0.021028 0.034576 0.084779 0.006867 --0.010323 -0.046330 -0.009172 0.030485 -0.117679 --0.021782 -0.034737 -0.086292 -0.045885 0.009655 --0.037167 -0.123331 0.017291 -0.028319 0.071447 --0.057180 -0.032912 -0.139418 -0.025966 -0.039305 -0.009411 -0.054017 0.076307 -0.060252 0.110087 --0.061366 0.038897 -0.098107 0.046119 0.043021 --0.029130 -0.096885 0.007623 0.090513 -0.097416 -0.053264 0.058296 0.054372 0.060769 0.015586 --0.067956 0.059996 -0.037850 0.005986 0.000778 -0.045873 -0.065546 0.077900 -0.085638 0.000698 -0.027694 -0.021241 -0.002777 0.034509 -0.048173 -0.009988 0.001008 -0.077434 0.026002 0.139490 -0.008910 0.007791 0.059292 -0.057047 0.014127 --0.022959 0.085710 -0.068087 -0.081561 0.005935 -0.007577 0.061544 0.076542 0.001660 -0.113279 -0.024973 0.086750 -0.061674 0.095059 0.089352 --0.024436 0.024181 -0.016117 -0.073634 -0.067986 -0.074701 -0.046868 -0.054634 -0.092485 0.006662 --0.033256 -0.053774 0.049001 -0.002339 0.013545 --0.006432 -0.012089 -0.086842 0.104105 0.061991 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspjmv3.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspjmv3.txt deleted file mode 100644 index 72767df..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspjmv3.txt +++ /dev/null @@ -1,513 +0,0 @@ -5 512 -0.007066 0.075781 -0.070082 -0.092014 -0.066477 -0.090510 0.106622 0.025911 -0.016760 0.003724 --0.024628 0.058332 0.012876 0.059557 -0.002092 --0.065092 -0.096975 -0.041837 -0.002432 0.058918 -0.014358 0.080049 -0.008803 -0.002091 -0.097584 -0.085323 -0.026053 -0.086585 -0.009541 0.130555 -0.045391 0.037557 0.074726 -0.050453 0.033517 --0.035576 -0.084211 -0.086430 0.008910 -0.072674 --0.098699 -0.024540 -0.048972 -0.066975 -0.048791 -0.032184 0.070992 -0.014416 0.141892 -0.044249 --0.108921 -0.020450 0.115988 0.011287 -0.026273 -0.024341 0.138519 -0.036467 0.020684 0.074258 --0.053563 0.077463 0.072166 0.032112 -0.079303 --0.025039 0.079675 0.094211 -0.115754 0.038892 -0.050897 -0.024639 0.057826 -0.110429 0.071184 -0.015309 -0.034027 -0.055726 0.043179 -0.063089 -0.043359 -0.011698 0.006637 0.002751 0.030110 --0.001261 0.111470 0.043277 -0.004205 -0.021599 --0.005698 0.058842 0.168422 0.059313 -0.007971 --0.087599 0.073891 -0.083238 0.099279 -0.017364 --0.018429 0.014040 -0.014864 -0.111512 0.089450 --0.028498 -0.087983 -0.077320 -0.062602 0.000328 --0.027152 -0.093796 0.111381 -0.018603 0.092394 --0.007256 0.025391 0.011454 0.012802 -0.041680 -0.008078 0.020905 -0.105401 -0.083265 0.027756 --0.049630 -0.044085 -0.051424 0.104125 -0.000779 --0.063079 -0.130699 0.070500 0.033468 -0.019802 --0.061011 0.094839 -0.040122 0.118409 0.056950 -0.086391 -0.006615 0.045337 -0.044190 -0.106474 --0.081912 0.067557 -0.031649 -0.014437 0.057585 --0.121755 -0.049113 0.057109 -0.049872 0.044104 -0.064705 -0.091589 0.037286 -0.048606 -0.045398 -0.003456 0.057230 0.006262 -0.055206 -0.063871 --0.005249 0.081783 0.134969 -0.002331 0.052643 --0.093346 0.072093 0.116025 -0.031453 -0.006012 --0.038574 -0.030841 0.010288 0.024420 0.051657 --0.086584 0.046381 0.005410 0.052622 -0.072741 -0.079023 0.078099 -0.093912 0.005477 -0.006721 -0.100232 -0.017587 0.044819 0.036655 0.021580 --0.006829 -0.050076 -0.003020 0.088246 0.013560 --0.015690 0.012477 -0.052595 -0.048861 -0.033688 -0.055615 0.092298 -0.066194 0.016416 -0.066059 -0.046976 0.003023 0.104646 0.109136 0.018293 --0.016507 -0.006859 0.004326 0.070843 0.140750 -0.025774 0.034730 -0.079590 0.050054 -0.107950 -0.002378 0.097498 0.027111 -0.122953 -0.002423 --0.020539 -0.063263 -0.095493 -0.157361 -0.039183 -0.025721 0.026897 -0.001200 0.033997 -0.001749 -0.061593 -0.013053 -0.106317 -0.068190 0.046352 --0.056060 0.157084 -0.049365 0.053959 -0.051065 --0.047672 0.081570 0.064342 -0.030705 -0.070806 --0.076503 -0.059471 0.012419 0.073968 -0.026179 --0.038473 0.059013 -0.035783 -0.030057 -0.036346 --0.052692 -0.015346 -0.022687 -0.035279 0.013314 -0.068397 -0.046609 -0.009593 -0.040796 0.157438 --0.075360 -0.110464 0.031839 -0.029035 -0.015222 -0.041013 -0.099212 -0.108920 -0.008627 0.012095 -0.020855 0.009935 -0.086917 0.058827 -0.006536 -0.022104 -0.005013 0.003496 0.046663 -0.051061 --0.036803 -0.067317 -0.007075 0.180870 -0.027434 --0.025056 -0.039341 -0.073918 -0.003180 -0.110930 --0.042711 0.005519 -0.035005 -0.088419 0.170942 -0.001503 -0.121485 0.066383 -0.067346 0.005643 -0.080088 -0.042562 -0.006668 -0.036538 0.020683 -0.042848 0.027852 -0.029088 -0.156468 0.006503 -0.037716 0.032082 0.038416 0.021835 -0.106963 --0.043017 0.018166 0.070409 -0.005426 -0.035585 --0.111071 -0.039986 0.050430 0.035157 0.066902 --0.040684 0.060527 0.036225 0.002527 -0.015087 -0.059243 0.021268 -0.010682 -0.018434 0.059128 -0.111314 -0.054070 0.105744 -0.051476 -0.012970 --0.000358 -0.099249 -0.077385 0.069924 -0.039101 --0.072139 -0.049069 -0.088018 0.006144 0.000712 -0.081030 0.021987 -0.046031 0.058087 -0.001320 --0.046851 -0.011062 0.108321 -0.001146 -0.071193 -0.044973 -0.002915 -0.003323 0.041735 0.094566 -0.053530 0.035927 0.100282 0.059082 -0.054059 --0.012158 -0.035417 0.020412 -0.073193 0.059296 --0.040489 -0.095250 -0.003821 -0.084904 0.053925 -0.109183 -0.005862 -0.036538 0.080962 -0.040647 -0.020070 0.057778 -0.020197 -0.079626 -0.003186 --0.050855 0.128185 0.034731 0.057460 -0.035236 --0.057096 -0.001238 0.122018 -0.071204 -0.047253 --0.051767 0.048301 -0.052678 0.025990 -0.017481 --0.029379 0.030738 0.047207 -0.047864 -0.033561 -0.029884 -0.091175 -0.085446 -0.026140 0.092628 -0.067706 -0.085617 0.081433 0.047305 0.031945 --0.048728 -0.040387 0.046206 0.010578 -0.037639 -0.011328 -0.042458 -0.149597 0.033882 -0.061869 -0.008800 0.057754 -0.095876 0.038230 0.096876 --0.033487 -0.141669 -0.014172 0.028439 -0.092764 --0.053714 0.086926 0.034786 0.136053 -0.005569 -0.028753 0.009630 0.044114 -0.050365 -0.066224 -0.006017 0.014348 0.024471 0.000489 0.067234 --0.021678 -0.118760 0.036349 -0.040295 0.076358 --0.008444 -0.086082 -0.044018 -0.025804 0.028971 --0.009233 0.053026 -0.035341 -0.182193 -0.102515 -0.089210 0.066812 0.032417 0.046882 -0.034815 --0.052293 0.022814 0.129622 0.128232 -0.012105 --0.087084 0.004762 0.086538 0.046566 0.098359 --0.018713 0.039204 -0.021707 -0.060110 -0.117527 --0.005459 0.060994 -0.057718 -0.021783 0.035154 -0.100557 -0.015470 -0.025818 0.008450 0.051535 --0.001388 -0.114610 -0.057903 0.041862 0.061778 -0.045701 -0.078563 -0.070166 -0.048450 -0.088530 -0.021375 -0.004598 -0.090710 -0.009399 -0.073952 --0.035575 -0.050280 0.114780 0.137866 0.065234 -0.003594 -0.066802 -0.144989 0.166201 0.039564 --0.022457 -0.030090 0.016187 0.115443 -0.097331 --0.019139 0.099440 0.002198 -0.030953 0.021099 --0.045399 -0.046871 0.022533 -0.064657 0.005776 -0.049063 -0.028478 0.019268 0.054265 0.028042 -0.045559 -0.005541 -0.014410 -0.024165 -0.054976 --0.073258 0.084205 0.036077 -0.068683 0.004708 --0.085228 0.001234 0.046261 -0.050496 -0.028227 --0.086828 -0.001218 0.021865 0.003791 -0.000568 --0.088733 -0.040041 -0.035891 -0.054915 0.073463 --0.132031 -0.012844 -0.068544 0.013052 0.087335 -0.038603 -0.115382 -0.010433 -0.007113 0.095126 --0.047378 -0.081353 0.018021 -0.021156 -0.120774 -0.040038 0.007633 -0.088728 -0.009928 0.020142 -0.052024 -0.021063 -0.118121 0.102739 -0.055837 -0.005253 -0.061924 0.063680 -0.014512 -0.020259 -0.029493 -0.013435 -0.020638 0.089342 0.001092 --0.046491 -0.145634 -0.083159 -0.158142 -0.279281 -0.003611 0.055863 -0.064655 -0.088773 0.089283 --0.029619 -0.089949 0.017197 -0.066633 -0.052347 -0.090828 -0.087551 0.000338 0.085238 -0.005313 -0.096211 0.071381 -0.076546 -0.077927 -0.040864 -0.062936 0.041559 0.016235 -0.017513 0.014773 --0.025734 0.028586 0.070292 0.055794 -0.026131 --0.076954 -0.082228 0.043947 -0.035921 0.152668 --0.049510 0.023159 0.008506 -0.044773 -0.160358 -0.024984 -0.025587 -0.071627 -0.038376 0.088478 -0.120568 0.046723 0.086731 0.000695 -0.015751 --0.027837 -0.160937 -0.095031 0.036271 -0.009061 --0.015078 -0.036281 -0.103665 -0.058258 -0.049573 -0.022021 0.108296 -0.002586 0.065655 -0.018584 --0.046441 -0.031018 0.067350 0.014328 0.008860 --0.000245 0.063400 -0.001810 0.043515 0.090344 --0.063845 0.020485 0.079401 0.070558 -0.116428 -0.032628 0.068949 0.052238 -0.044530 0.096813 -0.029911 -0.008814 0.044352 -0.168172 0.009604 -0.055828 -0.100739 -0.026013 0.021193 -0.051425 -0.035891 -0.004085 0.030216 -0.060801 0.037202 -0.007262 0.120686 0.026846 0.058464 -0.100792 --0.009176 0.027589 0.123957 -0.011283 -0.025744 --0.105081 0.118244 -0.042122 -0.025404 0.000873 --0.012703 0.084159 -0.067539 -0.140536 0.041637 --0.014485 -0.043382 -0.048004 -0.075416 0.054401 --0.018651 -0.032908 0.164231 -0.053236 0.033946 --0.021681 -0.012655 -0.037049 -0.001613 -0.053393 --0.014635 0.017954 -0.116115 -0.027232 0.034005 --0.035376 0.026492 -0.037250 0.070733 0.074835 --0.021378 -0.142980 0.123195 0.003699 0.025398 -0.015629 0.077370 0.032623 0.121580 0.097100 -0.000946 -0.056355 0.042065 0.008184 -0.081824 --0.101937 0.065473 0.003360 0.069241 0.073002 --0.053844 -0.044301 0.080351 -0.091833 0.044288 -0.007447 -0.120723 -0.013806 -0.023636 -0.064616 -0.030556 0.072630 0.074428 -0.087759 -0.026440 -0.064840 0.049162 0.091053 0.023891 0.033811 --0.027746 0.116392 0.106126 -0.056644 -0.014781 -0.036137 -0.002632 0.055512 0.070077 0.067819 --0.030625 0.053772 -0.078457 -0.021351 -0.113011 -0.052797 0.044875 -0.077269 -0.009867 0.101493 -0.073477 -0.024103 0.049145 -0.004706 -0.025211 --0.053731 -0.049009 -0.035786 0.054430 0.046515 -0.025154 -0.043569 -0.034789 -0.058610 0.006931 -0.012049 0.046809 -0.129441 0.025541 -0.030933 -0.000297 -0.054058 0.179837 0.081515 0.004932 --0.028445 -0.073753 0.010629 0.080042 0.098710 --0.014017 0.057597 0.001010 0.071658 -0.067570 -0.074384 0.110366 -0.018121 -0.108754 0.037793 -0.028041 -0.047508 -0.031359 -0.098913 -0.036486 --0.017311 -0.001279 -0.013694 0.051968 0.036512 -0.088201 0.031155 -0.043442 -0.065045 0.023486 -0.027000 0.104768 -0.015176 -0.038754 -0.004178 -0.003732 0.062166 0.085438 -0.077368 -0.101645 --0.118347 0.007589 -0.056489 0.082268 0.020253 --0.035623 0.034235 -0.099354 -0.061237 -0.024285 -0.005441 -0.039694 -0.025957 -0.004411 0.049903 -0.003040 0.036243 0.023552 -0.007334 0.128963 --0.077727 -0.059175 -0.019437 -0.024872 0.004339 -0.084006 -0.076605 -0.102261 0.036714 -0.035205 --0.007642 -0.005125 -0.030525 0.096390 -0.053138 --0.002192 -0.024851 0.050645 0.041490 -0.043183 -0.046796 -0.050894 0.055023 0.133834 -0.024013 -0.000872 -0.057072 -0.000630 0.042070 -0.129339 --0.064283 0.037836 -0.066393 0.004438 0.125379 --0.062213 -0.067468 0.090177 -0.046094 -0.025725 -0.079101 -0.074909 -0.043730 -0.073483 0.069672 --0.020413 -0.000079 -0.049725 -0.120751 -0.046980 -0.039894 0.072305 0.009798 0.005613 -0.045217 -0.006862 0.036285 0.074819 -0.006747 0.015144 --0.071562 0.012324 -0.001082 0.014835 0.079960 --0.027804 0.103358 -0.017203 0.014914 -0.056687 -0.030827 0.028076 0.003395 -0.073255 0.110310 -0.056498 -0.044893 0.110122 -0.109058 -0.052302 --0.001604 -0.089977 -0.060548 0.107808 0.025463 --0.070203 -0.000513 -0.123913 0.046247 -0.085392 -0.096343 0.095890 -0.064950 0.070363 0.034272 -0.037773 -0.076950 0.124858 -0.009008 -0.010115 -0.083868 0.051242 0.039149 0.015185 0.083375 -0.029773 -0.045961 0.100395 0.003743 -0.138294 --0.041755 0.010806 0.057797 -0.147374 0.095858 --0.009929 -0.103347 -0.032310 -0.110560 0.121377 -0.145244 0.017079 -0.080587 0.020516 -0.044939 --0.010477 0.038347 -0.003466 -0.001618 0.019600 --0.021762 0.125482 0.011074 0.065815 0.040298 -0.009202 -0.051686 0.129684 -0.131135 0.044536 -0.009313 0.102518 -0.075351 0.054338 0.020273 --0.045753 0.031345 0.000407 -0.097294 -0.000416 --0.007466 -0.044972 -0.078744 0.042414 0.066624 -0.030318 -0.067852 0.061416 -0.028992 0.056606 -0.004038 -0.036253 -0.014279 0.023123 -0.007832 --0.000137 -0.027684 -0.127648 -0.007713 -0.008746 --0.026500 0.049032 -0.183319 0.059107 0.066500 -0.016902 -0.093331 0.090129 0.016648 -0.083492 --0.023669 -0.010473 0.027614 0.145068 0.000681 -0.044133 -0.035809 0.005668 -0.090461 -0.090732 --0.033927 0.042997 0.021700 -0.046955 0.044487 --0.026444 -0.061011 0.010110 -0.023804 0.030427 --0.015195 -0.155603 -0.016584 0.021461 -0.003528 --0.059784 0.032214 0.000847 -0.098859 -0.078980 -0.043188 0.066433 0.062309 0.144507 0.006865 --0.068953 0.046698 0.099369 0.043354 -0.014309 --0.033202 -0.002950 0.040734 0.083454 0.039319 -0.051358 0.006074 -0.073465 -0.090554 -0.120787 --0.040676 0.092412 -0.085151 -0.021699 0.005813 -0.103135 0.024964 0.025832 -0.075982 0.035699 --0.027310 -0.153007 0.036420 0.057600 0.081630 -0.001605 -0.054191 -0.033043 -0.014390 -0.071383 -0.036180 0.035860 -0.046980 0.038541 -0.044757 --0.078032 -0.029878 0.078183 0.082251 0.010549 -0.053317 -0.038231 -0.065610 0.055798 0.037504 -0.076317 -0.027605 0.010349 0.095361 -0.088636 -0.049089 0.113316 0.051084 0.038589 0.034330 --0.055948 -0.037217 -0.015418 -0.139976 0.036306 -0.039306 -0.009889 -0.044910 0.016559 -0.000050 -0.106073 0.015280 -0.002563 -0.109085 -0.048475 --0.035319 0.163860 0.032981 -0.044932 0.003227 --0.123233 -0.010638 0.055479 -0.003666 -0.072249 --0.111158 0.065365 0.010691 0.039119 -0.001837 --0.118729 0.061470 -0.002077 -0.033335 -0.060165 --0.026081 -0.001806 -0.079616 -0.000075 0.080598 -0.032908 -0.035140 -0.003136 -0.029024 0.094622 --0.075773 -0.022898 -0.014817 0.058393 -0.111505 -0.036794 -0.015760 -0.112602 0.030323 0.085897 --0.020834 0.056079 -0.103762 0.117671 -0.041205 -0.041684 -0.084336 0.034186 0.011973 -0.006313 -0.040836 -0.035709 0.034170 0.122672 0.090973 --0.053182 -0.059371 0.091017 -0.090998 -0.116986 -0.001405 0.138364 0.017107 -0.064076 0.103486 --0.031142 -0.030068 0.046547 -0.133471 -0.042055 -0.140418 -0.125084 0.035218 -0.001162 -0.021130 --0.012034 0.097413 -0.079006 -0.039030 -0.054011 -0.143887 0.078835 -0.000601 -0.021173 -0.039895 --0.025050 0.075865 0.039221 0.032458 0.038206 --0.038873 -0.085003 -0.032736 -0.026956 0.113525 --0.023933 0.120794 -0.003862 -0.026459 -0.138724 -0.089559 0.029002 -0.052098 -0.085692 0.115174 -0.083497 0.024179 0.119021 -0.067541 0.019047 --0.027720 -0.086083 -0.055329 0.020087 -0.027086 --0.047858 -0.051975 -0.035205 -0.059342 -0.068582 -0.058936 0.044141 -0.080315 0.119744 -0.046518 --0.064588 -0.027212 0.147823 0.032404 0.016690 -0.024302 0.085560 -0.001525 0.016469 0.038891 --0.020146 0.019943 0.045067 0.038070 -0.086274 --0.025769 0.044192 0.102141 -0.064765 0.055849 -0.048803 -0.030066 -0.009220 -0.116655 0.068295 -0.047580 -0.076138 -0.070307 0.047582 -0.111342 -0.004656 -0.004452 0.029703 -0.004259 0.011130 -0.014446 0.166086 0.059565 0.000985 -0.052607 -0.013251 0.094476 0.106216 0.016715 -0.025581 --0.101244 0.072897 -0.114526 0.024681 0.010784 --0.051759 0.032389 -0.050202 -0.083316 0.052334 --0.035100 -0.116721 -0.110336 -0.053391 0.065541 --0.029790 -0.020457 0.135285 -0.004142 0.111508 --0.030936 0.018549 -0.016034 0.018572 -0.084336 --0.048615 -0.018739 -0.096815 -0.090162 0.019410 --0.040821 -0.009925 -0.097427 0.091891 0.031793 --0.024598 -0.132848 0.078353 0.089339 -0.068562 --0.020779 0.040974 -0.055675 0.169131 0.029649 -0.078165 -0.050679 -0.005881 -0.004983 -0.104324 --0.069096 0.127960 0.011392 -0.000769 0.062168 --0.079842 0.001606 0.089284 -0.035465 0.031075 -0.029519 -0.102956 -0.010902 -0.064030 -0.019669 -0.057492 0.075802 -0.008904 -0.060743 -0.053144 -0.005126 0.062980 0.085674 0.019895 0.104448 --0.086473 0.056906 0.056795 -0.012940 0.036606 --0.008604 -0.040450 0.042062 0.041810 0.027680 --0.092256 0.091237 -0.039500 0.024761 -0.088978 -0.068585 0.088295 -0.048033 -0.017808 0.045370 -0.124600 -0.035320 0.056751 0.092751 0.054025 --0.015725 -0.061938 0.036806 0.078768 -0.016065 -0.002444 -0.023887 -0.072177 -0.029790 -0.005860 -0.015478 0.129142 -0.091024 0.071482 -0.065445 -0.005867 -0.006051 0.098646 0.054089 0.018713 -0.033837 -0.008355 -0.051959 0.057440 0.160305 --0.001863 0.016738 -0.033705 0.062233 -0.140759 -0.027342 0.060074 0.030362 -0.117875 0.061020 --0.028026 -0.088238 -0.003782 -0.146288 -0.080395 -0.050048 0.036136 0.019500 0.066902 0.020355 -0.024817 -0.056254 -0.140918 -0.085803 0.020540 --0.003730 0.161411 -0.049408 0.000219 -0.002348 --0.055021 0.067820 0.126483 -0.031063 -0.119299 --0.102834 0.001133 0.010172 0.107707 -0.029106 --0.059813 0.036698 -0.021720 -0.043189 -0.002270 --0.031694 0.009605 -0.022459 -0.036417 0.053675 -0.061561 -0.012723 0.050040 -0.029450 0.131044 --0.124516 -0.107579 -0.012171 0.011761 0.002599 -0.016327 -0.060854 -0.080910 0.030875 -0.002997 --0.020970 -0.011880 -0.086096 0.037912 0.012421 -0.055253 -0.007250 0.041740 0.055596 -0.024420 --0.017564 -0.079202 0.008897 0.180091 0.054490 -0.001772 -0.022151 -0.082048 -0.010559 -0.163377 --0.020660 -0.017827 -0.030800 -0.045856 0.122405 --0.052946 -0.130490 0.097383 -0.116737 0.039855 -0.056504 -0.059549 -0.059931 -0.018658 0.034898 -0.054889 0.005373 -0.066796 -0.127360 0.047960 -0.071746 0.027410 -0.006212 0.024132 -0.094062 -0.005369 -0.008926 0.073085 -0.014265 -0.029204 --0.100025 -0.072076 0.014651 0.069368 0.048275 --0.066823 0.086074 0.014921 -0.015395 -0.045138 -0.026224 0.000902 -0.038208 -0.035221 0.057397 -0.097606 -0.073195 0.051626 -0.033488 0.027813 -0.002070 -0.097510 -0.057877 0.126680 -0.082194 --0.072597 0.006014 -0.093185 -0.016853 -0.022790 -0.138461 0.005394 -0.056485 0.102778 0.028918 --0.045604 -0.060041 0.121251 0.029260 -0.101404 -0.061194 0.033039 -0.016798 0.064263 0.065144 -0.010925 0.023151 0.107623 0.027977 -0.090356 --0.024863 -0.006440 0.047870 -0.047486 0.088211 --0.012139 -0.116121 -0.000525 -0.140961 0.016604 -0.063490 -0.022732 -0.046944 0.066970 -0.068838 -0.016143 0.026202 -0.043344 -0.064881 0.024877 --0.072845 0.120531 0.077901 0.047272 0.011713 --0.044646 0.040932 0.076164 -0.101233 -0.029615 --0.065118 0.050966 -0.023273 0.053517 0.023710 --0.007489 0.035822 0.023439 -0.055528 -0.004033 --0.007662 -0.096546 -0.081662 0.037141 0.137562 -0.075526 -0.097496 0.123990 0.013996 0.087005 --0.019788 -0.082043 0.020524 0.007027 -0.021537 --0.036264 -0.090952 -0.177722 -0.009306 -0.031473 --0.009287 0.047557 -0.090241 0.089347 0.056375 --0.005506 -0.112128 0.004356 0.064421 -0.038478 --0.035674 0.040616 0.007731 0.160236 -0.054199 --0.007537 0.012434 0.022001 -0.021567 -0.075163 --0.026053 0.015909 0.041015 0.021832 0.034152 --0.048539 -0.086655 0.047465 0.000682 0.042640 -0.023697 -0.095971 -0.022874 -0.000369 0.003413 -0.046005 0.064807 0.010131 -0.129517 -0.092254 -0.116469 0.053796 0.038110 0.094470 0.018435 --0.034803 0.073591 0.108348 0.104096 0.049884 --0.021274 0.022097 0.065347 0.065555 0.089319 -0.000474 -0.004186 -0.040493 -0.065543 -0.083167 --0.017425 0.049177 -0.044248 0.008399 0.068180 -0.154778 0.027549 -0.008012 0.014950 0.043254 -0.039599 -0.136415 -0.018716 0.061900 0.031263 -0.058118 -0.037200 -0.114692 -0.080876 -0.053238 -0.077436 0.015015 -0.092517 0.005804 -0.065541 --0.005653 -0.073184 0.095594 0.082470 0.060989 --0.000262 -0.035766 -0.083441 0.122634 0.088429 --0.014397 -0.055434 -0.005659 0.069697 -0.064892 -0.008824 0.082498 0.051866 -0.036070 0.033403 --0.082855 -0.087376 0.002714 -0.097121 -0.019170 -0.027179 -0.069870 -0.009316 0.047450 0.040657 -0.060527 0.004620 -0.040264 -0.051228 -0.029023 --0.071384 0.101421 0.009538 -0.099185 0.060100 --0.048395 -0.024677 0.025125 -0.056043 -0.058045 --0.054059 0.008107 0.021078 0.045290 -0.018459 --0.113359 0.014009 -0.006826 -0.052747 0.046922 --0.075976 0.008538 -0.084411 -0.004369 0.045801 -0.075392 -0.067340 0.014454 0.032407 0.092478 --0.061859 -0.083458 0.051442 0.031695 -0.080233 -0.054028 0.027000 -0.073549 0.032300 0.036501 --0.011384 -0.020780 -0.124142 0.093905 -0.028332 -0.039139 -0.030944 0.079952 -0.001717 0.013976 -0.038005 -0.001751 -0.044097 0.129827 0.014385 --0.001682 -0.063458 -0.002511 -0.078150 -0.141236 -0.021955 0.104851 -0.093246 -0.060019 0.069998 -0.004399 -0.096408 0.059327 -0.062268 -0.074327 -0.108063 -0.090534 -0.045654 0.048119 0.049187 -0.042105 0.043964 -0.091516 -0.047999 -0.028881 -0.070471 0.055401 -0.025605 0.011176 0.008475 -0.022254 0.038266 0.048106 0.047176 -0.017967 --0.010978 -0.088762 0.034806 0.019311 0.126815 --0.010571 0.053073 0.032162 -0.000780 -0.152200 --0.014253 -0.021954 -0.131040 -0.061376 0.113838 -0.060725 0.020201 0.102533 -0.011392 -0.052046 --0.069625 -0.091011 -0.097954 0.067847 0.017856 --0.053461 -0.040679 -0.121664 -0.077208 -0.106919 -0.057996 0.069756 -0.012433 0.069569 -0.055159 --0.024801 -0.060448 0.101700 0.014619 0.036580 --0.004526 0.093977 -0.028211 0.045261 0.149736 --0.014691 -0.007959 0.097708 0.107128 -0.079723 -0.029157 0.020116 0.104828 -0.064208 0.119172 -0.039583 -0.029446 0.006628 -0.110398 0.004062 -0.048132 -0.060601 0.009448 0.051777 -0.053127 -0.050551 -0.001924 0.028079 -0.050618 -0.013698 -0.001920 0.088162 0.073078 0.085795 -0.066788 -0.014025 0.042699 0.176241 -0.046674 -0.034822 --0.051433 0.121729 -0.057076 0.023901 0.045075 --0.057182 0.054780 -0.017280 -0.146674 0.002090 --0.016223 -0.044841 -0.084524 -0.152479 0.072688 --0.006962 0.008711 0.127455 -0.003876 0.053162 --0.013682 -0.025386 -0.000427 -0.024811 -0.024474 --0.056267 0.062116 -0.121311 -0.053011 0.065651 --0.075385 -0.008680 -0.063033 0.083039 0.110577 --0.000152 -0.127017 0.055904 0.013659 0.005664 --0.002852 0.047248 0.001128 0.100773 0.037274 -0.026368 -0.042205 0.021887 -0.020247 -0.056678 --0.077475 0.089799 0.058003 0.039741 0.106663 --0.016853 -0.015972 0.075741 -0.048829 0.015374 --0.032657 -0.125677 -0.062060 -0.057409 -0.061287 -0.073151 0.050357 0.053547 -0.059886 -0.051298 -0.057954 -0.003817 0.076028 0.006757 0.061109 --0.038030 0.143209 0.092207 -0.018493 0.062291 -0.005751 -0.036449 0.067582 0.031449 0.101894 --0.080754 0.011515 -0.049485 -0.016137 -0.087818 -0.108851 0.038222 -0.099315 -0.003117 0.052278 -0.107517 -0.036233 0.065370 0.040409 -0.057029 --0.033167 -0.081758 -0.019502 0.033438 0.013365 --0.017760 -0.025906 -0.020244 -0.078722 -0.011697 --0.028246 0.068647 -0.106417 0.026956 -0.064914 -0.062711 -0.017857 0.151539 0.044613 -0.017820 -0.009085 -0.032785 -0.025795 0.075790 0.075667 --0.040398 0.058556 -0.042634 0.093973 -0.099529 -0.057103 0.073562 0.012640 -0.066141 0.029558 -0.060219 -0.083699 -0.054799 -0.120442 -0.000374 -0.006521 0.034512 -0.039558 0.042191 0.033865 -0.103992 -0.014977 -0.077384 -0.051340 0.001873 -0.047451 0.140612 -0.024885 -0.021420 -0.046604 -0.030606 0.100660 0.076356 -0.019288 -0.098570 --0.114463 -0.010855 -0.034657 0.025618 -0.003356 --0.087913 0.064346 -0.075540 -0.091569 -0.024965 --0.021232 -0.017255 -0.056931 -0.003104 0.030219 --0.020112 -0.012334 0.035298 0.001405 0.161753 --0.064618 -0.064401 -0.007218 -0.000120 -0.047208 -0.116105 -0.056464 -0.069645 -0.007032 -0.012090 --0.023237 0.016000 -0.039802 0.074319 -0.012604 -0.014863 -0.058081 0.093219 0.062253 -0.040302 -0.027405 -0.128683 0.039923 0.116808 -0.011706 -0.012483 -0.017698 0.003645 -0.007588 -0.120662 --0.032868 0.066217 -0.031343 -0.034166 0.146334 --0.031228 -0.125921 0.117756 -0.042686 -0.062094 -0.049375 -0.112262 0.010166 -0.073599 0.048690 -0.028292 0.020076 -0.062865 -0.106114 -0.025300 -0.066916 0.029279 0.028191 -0.003599 -0.040614 -0.020491 0.060238 0.052747 -0.010390 -0.022389 --0.063358 -0.028707 0.035907 -0.011898 0.079703 --0.003758 0.078051 -0.017869 0.009045 -0.018982 -0.034974 0.069405 -0.018909 -0.038613 0.083909 -0.033935 -0.036607 0.088891 -0.052599 -0.059839 -0.052758 -0.068308 -0.063615 0.126093 -0.009460 --0.042175 -0.011113 -0.073071 0.052086 -0.052619 -0.049226 0.066898 -0.045666 0.117923 0.053656 --0.010739 -0.043962 0.141903 0.001792 -0.035469 -0.090671 0.043993 -0.013655 0.018989 0.127223 -0.001030 -0.001154 0.081839 -0.024979 -0.103704 --0.077920 0.036083 0.068220 -0.062210 0.113730 --0.010501 -0.065801 0.050885 -0.104304 0.121937 -0.111850 0.009680 -0.011791 0.001677 -0.035029 -0.010677 0.024572 -0.012860 -0.030323 -0.010466 -0.011279 0.167752 0.003136 0.109709 0.007292 -0.000987 0.004572 0.108706 -0.113192 -0.012431 --0.015225 0.073653 -0.051275 0.077928 -0.012752 --0.011708 0.014172 0.025162 -0.095378 0.026382 --0.028889 -0.058569 -0.129329 0.011087 0.061452 -0.056893 -0.058004 0.103586 -0.060752 0.081824 --0.042805 -0.015991 -0.024444 0.028952 -0.013528 -0.042851 0.019988 -0.165741 -0.031012 -0.014713 --0.026059 0.031698 -0.134343 0.032090 0.020828 -0.051674 -0.128006 0.050856 0.022220 -0.073513 --0.009340 0.013756 0.036163 0.098407 -0.023495 -0.023858 0.008121 0.022220 -0.103489 -0.046663 --0.033000 0.063565 0.029224 -0.012693 0.084202 -0.012187 -0.051000 0.026126 -0.043293 0.008675 --0.019812 -0.165070 -0.014555 -0.047431 0.017990 --0.040073 0.107192 0.022228 -0.089023 -0.066885 -0.014630 0.073186 0.069902 0.072634 0.019593 --0.041539 0.031788 0.092310 0.027223 0.034027 --0.051855 0.000391 0.007869 0.131910 0.069384 -0.046276 0.040440 -0.037093 -0.031393 -0.112828 -0.015709 0.096749 -0.103205 -0.021284 0.011405 -0.158287 -0.021028 0.042219 -0.050759 0.069715 --0.042907 -0.116980 0.014224 0.094648 0.028395 -0.041535 -0.057033 -0.047607 -0.024419 -0.034905 -0.010125 0.036728 -0.052503 -0.001839 -0.033477 --0.053414 -0.070394 0.092895 0.100600 -0.026352 -0.080574 -0.028763 -0.059548 0.094571 0.091787 -0.041437 0.014312 0.045792 0.108269 -0.081586 -0.056288 0.137447 0.054718 -0.032474 0.054502 --0.100144 -0.006460 0.024739 -0.117043 -0.008919 -0.070299 -0.036862 -0.014543 0.024500 -0.015222 -0.114975 -0.043705 0.000421 -0.061872 -0.035148 --0.022797 0.128575 -0.031798 -0.086718 -0.007172 --0.071706 -0.006833 0.028645 -0.007011 -0.096745 --0.142269 0.027996 0.065210 0.061381 0.000741 --0.140531 0.017480 -0.014986 -0.040893 -0.012718 --0.012494 -0.021869 -0.032923 0.016456 0.104475 -0.010792 -0.066178 0.019097 -0.001893 0.067513 --0.092673 -0.059851 -0.045936 0.052642 -0.062500 -0.065013 -0.025659 -0.149301 0.051705 0.035692 --0.045790 -0.007482 -0.069141 0.149365 -0.042039 -0.018492 -0.081315 0.055880 0.058158 0.019669 -0.063836 -0.012391 0.007057 0.155454 0.033854 --0.016532 -0.007661 0.043113 -0.080283 -0.108670 --0.029344 0.093781 -0.015840 -0.068134 0.091804 -0.004148 -0.058507 0.059633 -0.095883 -0.004939 -0.086151 -0.113571 -0.019466 -0.009167 0.003662 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspvqexp1.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspvqexp1.txt deleted file mode 100644 index 808b95b..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspvqexp1.txt +++ /dev/null @@ -1,2049 +0,0 @@ -10 2048 -0.408892 0.649827 0.954657 1.095560 1.374775 1.695544 2.186975 2.404129 2.599671 2.716599 -0.206312 0.393044 0.534358 0.831490 0.964061 1.315881 1.711009 1.884982 2.656064 2.789476 -0.294007 0.430921 0.584720 0.972610 1.346504 1.446720 1.672880 1.854151 2.292980 2.574467 -0.130573 0.192259 0.568997 1.014611 1.204902 1.371336 1.696595 2.109828 2.488139 2.749404 -0.119174 0.172048 0.555350 1.041664 1.294588 1.603976 1.924941 2.215881 2.537337 2.763865 -0.264060 0.351222 0.551394 0.836209 0.955359 1.467373 1.883071 2.011362 2.370015 2.500936 -0.206715 0.433527 0.682328 0.833734 1.164725 1.476463 1.775427 2.152234 2.639949 2.796348 -0.211225 0.320307 0.437323 0.659797 1.492016 1.699378 1.859517 2.131810 2.328455 2.499706 -0.480644 0.630950 0.822352 1.123960 1.461020 1.594792 1.889414 2.166284 2.404039 2.536132 -0.233285 0.324869 0.445867 0.683777 0.826101 0.975483 1.764219 2.154061 2.334729 2.602314 -0.315909 0.537121 0.711160 0.941341 1.178015 1.302627 1.643751 2.058463 2.464410 2.591263 -0.245173 0.382524 0.532006 0.708503 1.236528 1.448436 1.777993 2.124256 2.306038 2.625603 -0.245615 0.291619 0.819764 1.444781 1.578166 1.731349 2.095787 2.242522 2.603987 2.720052 -0.173862 0.229815 0.418896 0.695378 0.931595 1.188532 1.820958 2.120767 2.330289 2.464753 -0.303527 0.372419 0.740620 1.167964 1.327370 1.494681 1.784226 1.898711 2.311465 2.642713 -0.259744 0.401730 0.575188 0.834348 1.431968 1.604358 1.798482 2.185462 2.402074 2.554969 -0.337109 0.570466 1.175085 1.451610 1.761333 1.975735 2.126135 2.293190 2.536691 2.706431 -0.367145 0.452099 0.647409 0.817255 0.902956 1.238037 1.825344 1.922997 2.436059 2.609846 -0.378662 0.531818 0.674407 0.919671 1.409610 1.559852 1.771428 2.027114 2.253246 2.408198 -0.163411 0.267202 0.378752 0.982090 1.260325 1.393847 1.801359 1.943528 2.730199 2.854737 -0.315416 0.366274 0.657622 1.193970 1.448486 1.554740 1.791291 1.913099 2.285878 2.665674 -0.182284 0.250810 0.478825 0.774649 1.250927 1.657871 1.857476 1.999098 2.286088 2.777030 -0.280912 0.330939 0.631688 0.754025 0.941971 1.616999 1.814228 2.013341 2.634148 2.720386 -0.197110 0.280354 0.442898 0.794104 1.537225 1.674591 1.953914 2.155343 2.626079 2.817453 -0.324055 0.494234 0.849184 1.111214 1.388737 1.737885 1.975967 2.381772 2.611796 2.753205 -0.249643 0.364552 0.527912 0.900747 1.026842 1.398842 1.869778 2.015830 2.450740 2.598903 -0.210241 0.311192 0.495868 0.687507 1.152048 1.296946 1.520174 2.255285 2.440410 2.686456 -0.159037 0.244226 0.385934 0.687847 1.072342 1.386804 1.785080 1.924100 2.533529 2.669124 -0.234363 0.441050 0.678179 0.862648 1.224287 1.720752 1.949118 2.386935 2.642309 2.768447 -0.177323 0.256095 0.417949 0.816232 1.042933 1.254927 1.618581 1.928664 2.118610 2.463463 -0.247362 0.335496 0.753623 1.051947 1.239658 1.426773 1.621176 2.053494 2.480950 2.615165 -0.156480 0.216035 0.368476 0.588087 1.238670 1.459124 1.827783 1.975080 2.316953 2.770680 -0.198050 0.342316 0.883251 1.421788 1.645484 1.905948 2.140263 2.301866 2.620508 2.774812 -0.257995 0.358680 0.537441 0.694512 0.824406 1.362975 1.764952 1.925331 2.486171 2.617074 -0.252496 0.330798 0.493815 0.973920 1.306189 1.439735 1.920226 2.087274 2.257323 2.398019 -0.165073 0.249466 0.371194 1.033936 1.278111 1.449107 2.046790 2.168316 2.497102 2.729474 -0.351523 0.566840 0.885298 1.113196 1.285310 1.425799 1.728030 2.101425 2.514797 2.765585 -0.247070 0.331460 0.517797 1.035640 1.189321 1.389341 1.740344 1.976250 2.202072 2.430856 -0.250272 0.471488 0.632229 0.874364 1.003062 1.214226 1.782201 1.915722 2.618775 2.804373 -0.178042 0.247938 0.413307 0.724804 1.348933 1.537515 2.114127 2.301885 2.636884 2.826241 -0.321648 0.521672 0.933498 1.194774 1.582506 1.752098 1.962687 2.185410 2.511609 2.710750 -0.189405 0.281558 0.405270 0.624133 0.831682 0.979077 1.773124 2.022636 2.231772 2.709233 -0.338988 0.556585 0.722942 0.903725 1.137734 1.260460 1.698745 2.141650 2.342421 2.527244 -0.283960 0.422437 0.547151 0.805702 1.347223 1.507695 1.702228 2.041553 2.221081 2.575186 -0.116988 0.373808 0.677058 1.246354 1.579914 1.860096 2.174202 2.426485 2.666464 2.778514 -0.172660 0.279061 0.420803 0.776647 1.027097 1.182553 1.880931 2.023781 2.400028 2.816622 -0.244703 0.354981 0.775126 1.007264 1.208883 1.571339 1.920167 2.128560 2.418384 2.673311 -0.277862 0.345899 0.491009 1.000182 1.668493 1.893737 2.024216 2.203943 2.418550 2.555188 -0.200787 0.681282 1.126094 1.309507 1.738042 2.023257 2.342799 2.463428 2.602179 2.702804 -0.223979 0.466963 0.728850 0.888776 1.090618 1.234456 1.705574 2.241550 2.510834 2.751795 -0.264860 0.389642 0.536973 0.871669 1.323290 1.441181 1.682582 1.973355 2.163007 2.401176 -0.254211 0.390772 0.549594 0.748576 1.280532 1.474290 1.636048 2.013508 2.479875 2.650004 -0.191314 0.280703 0.420214 1.117728 1.347340 1.558388 1.722577 2.094362 2.606691 2.753977 -0.152313 0.198389 0.337122 0.490241 1.023739 1.222176 1.581978 1.852165 2.361974 2.553970 -0.343523 0.473063 0.661058 0.896926 1.009881 1.426789 2.003978 2.115197 2.358072 2.676757 -0.225495 0.299263 0.443642 0.793508 1.407173 1.798104 2.159374 2.284811 2.501925 2.644715 -0.220837 0.608771 0.967248 1.237940 1.450245 1.693405 2.002186 2.239767 2.534945 2.707207 -0.290250 0.359912 0.599268 0.771394 0.922184 1.257421 2.137963 2.330228 2.526054 2.700371 -0.269144 0.463439 0.625052 0.842594 1.239627 1.353331 1.687365 2.092062 2.284863 2.634475 -0.170231 0.237346 0.408666 0.698347 1.146923 1.313417 1.753705 1.891356 2.401344 2.558038 -0.171963 0.247483 0.388808 0.980638 1.502962 1.644121 1.955137 2.148787 2.393447 2.630021 -0.209519 0.325681 0.464669 0.682705 1.111676 1.225834 1.824262 2.151181 2.384320 2.739424 -0.210672 0.533806 0.825201 0.990473 1.145813 1.393566 1.999486 2.222956 2.524156 2.776040 -0.261962 0.340226 0.472952 0.863674 1.443518 1.829669 1.994398 2.132878 2.355090 2.469655 -0.340277 0.460050 0.748860 1.054174 1.614903 1.804636 1.993799 2.247318 2.473443 2.602200 -0.239159 0.394343 0.578732 0.754990 0.941899 1.128161 1.620559 2.020968 2.585087 2.783718 -0.269667 0.342100 0.485464 1.053892 1.413864 1.534461 1.740671 1.909701 2.286779 2.538869 -0.076962 0.097269 0.408343 0.942043 1.237899 1.573872 1.883029 2.186618 2.520305 2.790522 -0.170175 0.223705 0.651279 1.003661 1.370350 1.628746 1.941629 2.172624 2.450895 2.649955 -0.219608 0.300784 0.472750 0.871097 1.064995 1.283347 1.869030 2.047338 2.234764 2.423176 -0.283455 0.337982 0.663326 0.792275 0.925513 1.457560 1.740494 1.857127 2.583274 2.700391 -0.199190 0.263142 0.443787 0.684379 1.185091 1.879212 2.080132 2.224038 2.427704 2.576557 -0.219374 0.680594 0.965335 1.102093 1.296977 1.590756 2.074636 2.334754 2.586458 2.754939 -0.198099 0.308630 0.432817 0.619556 0.754862 0.931998 1.549410 1.846704 2.294094 2.636366 -0.338876 0.446352 0.640399 0.996449 1.224095 1.344627 1.695974 1.883015 2.104946 2.489100 -0.166453 0.240154 0.399798 0.829295 1.305386 1.443374 1.723531 1.880577 2.379309 2.500316 -0.244810 0.287547 0.565833 1.376218 1.610718 1.731021 2.128375 2.264382 2.552460 2.697921 -0.203376 0.353110 0.454768 0.707277 0.892936 1.038801 1.609843 1.809379 2.065993 2.304645 -0.392222 0.453261 0.813874 1.205541 1.320471 1.599816 1.858220 2.029353 2.491522 2.638332 -0.269519 0.326891 0.470180 1.053385 1.538230 1.686468 1.865876 2.081763 2.229408 2.441901 -0.463250 0.707535 1.093317 1.316217 1.598936 1.783637 1.982618 2.134436 2.396915 2.574501 -0.234043 0.348930 0.473804 0.709797 1.030257 1.152835 1.749074 2.178802 2.334442 2.638112 -0.356771 0.553522 0.702444 0.911763 1.372687 1.512426 1.716079 1.969296 2.175300 2.356841 -0.215283 0.314571 0.448084 0.938241 1.488615 1.610559 1.858891 2.014800 2.487515 2.656114 -0.255059 0.324128 0.591637 1.140724 1.280033 1.626440 1.845765 2.008493 2.607807 2.732065 -0.190953 0.284283 0.446537 0.903721 1.083755 1.521604 1.865214 2.039362 2.398102 2.603527 -0.218632 0.323425 0.485128 0.801138 0.934826 1.550687 1.950327 2.141484 2.437725 2.588421 -0.240697 0.351397 0.469534 0.775124 1.406794 1.725183 1.871364 2.156495 2.381976 2.555115 -0.355558 0.461716 0.684575 1.091512 1.719266 1.926216 2.051391 2.237427 2.507442 2.610706 -0.160350 0.190000 0.366405 0.494497 0.868240 1.345426 1.566707 2.068702 2.335099 2.641913 -0.219362 0.326275 0.619951 0.801217 1.176182 1.324616 1.567767 1.852718 2.393752 2.544625 -0.242295 0.361032 0.536827 0.699045 1.264826 1.578333 1.777090 2.115510 2.587465 2.731970 -0.185629 0.225499 0.394464 1.072663 1.725553 1.814897 2.037215 2.318703 2.570456 2.700776 -0.199282 0.271847 0.427336 0.691175 0.936688 1.307560 1.755173 1.941991 2.180527 2.289541 -0.440652 0.657600 0.846249 1.115177 1.383954 1.526095 1.839294 2.054337 2.261747 2.486134 -0.254743 0.370981 0.519721 0.892661 1.365537 1.512546 1.867709 2.025821 2.338400 2.608154 -0.374541 0.564001 1.042547 1.268517 1.427251 1.737400 2.240345 2.527386 2.748712 2.871518 -0.163240 0.229374 0.631209 0.821347 1.079198 1.312352 1.847665 2.085082 2.462129 2.646514 -0.257702 0.368235 0.785115 0.964453 1.130321 1.417415 1.830826 2.058137 2.393471 2.589613 -0.195822 0.280922 0.414972 0.646213 1.237085 1.398279 1.830678 2.337509 2.561924 2.750149 -0.302754 0.361163 0.751614 0.974525 1.131739 1.643605 1.825553 2.044086 2.641030 2.739994 -0.235437 0.315967 0.652539 0.816752 1.083366 1.622892 1.852217 2.030423 2.192530 2.575813 -0.291611 0.410807 0.602501 0.962264 1.083617 1.420033 1.771443 1.907873 2.445734 2.652716 -0.189868 0.257547 0.397682 0.669228 1.309264 1.797630 1.994844 2.138696 2.608657 2.757821 -0.479797 0.701925 0.989967 1.226383 1.556286 1.735962 2.055139 2.286164 2.529859 2.666528 -0.215045 0.313827 0.431033 0.651895 0.829909 1.000831 1.815727 2.226013 2.392474 2.760351 -0.306301 0.398661 0.653631 1.025764 1.189362 1.401036 1.898166 2.051914 2.236996 2.422421 -0.167970 0.224219 0.368107 0.623431 1.201568 1.381682 1.762247 1.920037 2.113047 2.522470 -0.185718 0.243656 0.376917 1.209258 1.581544 1.690223 2.033223 2.376102 2.591085 2.756869 -0.147871 0.206576 0.362439 0.637580 0.940549 1.343574 1.621941 1.733152 1.946250 2.723886 -0.324080 0.457905 0.793499 1.005600 1.260387 1.583156 1.886643 2.096396 2.372896 2.578810 -0.226219 0.308328 0.636626 0.866278 1.534446 1.701010 1.887737 2.161067 2.358914 2.503200 -0.606744 0.955507 1.338156 1.567438 1.821726 2.055362 2.279753 2.416922 2.604378 2.699013 -0.246984 0.386718 0.502785 0.760434 1.042124 1.263722 1.435097 2.414889 2.724612 2.819326 -0.292410 0.502940 0.672216 0.892183 1.209496 1.339252 1.760220 1.968766 2.362511 2.623487 -0.143375 0.199091 0.483698 0.992064 1.214869 1.614010 1.832079 1.978488 2.281935 2.713930 -0.266561 0.304298 0.533705 1.305138 1.580937 1.665891 1.884884 2.014163 2.228380 2.568778 -0.178658 0.231896 0.383912 0.540251 1.225283 1.458102 1.922772 2.083421 2.250593 2.408925 -0.289292 0.350422 0.695339 0.839824 1.012699 1.582703 1.751493 2.110402 2.491079 2.602625 -0.191978 0.275525 0.396619 0.582467 1.263497 1.658220 1.987982 2.164226 2.491219 2.655634 -0.271271 0.427594 0.784469 1.094218 1.535344 1.895921 2.111855 2.328610 2.716413 2.835820 -0.197072 0.315577 0.461034 0.771499 0.895098 1.249097 1.937811 2.117715 2.428590 2.608183 -0.211338 0.407351 0.538840 0.766827 1.152593 1.246498 1.679320 1.905728 2.120349 2.677619 -0.135615 0.163159 0.283783 0.431117 0.953107 1.462377 1.809595 2.130270 2.442565 2.743798 -0.166707 0.238759 0.367497 0.902142 1.508106 1.650293 1.825543 1.979014 2.655324 2.825020 -0.349277 0.540928 0.693205 0.826151 1.104738 1.259800 1.507300 2.094618 2.320842 2.523635 -0.325055 0.432779 0.621749 1.070682 1.304776 1.457668 1.900591 2.027150 2.460400 2.683254 -0.232534 0.355259 0.543295 0.744519 1.329342 1.648497 1.789282 2.116619 2.343387 2.501568 -0.465485 0.876578 1.205981 1.371947 1.745534 1.938156 2.176847 2.328487 2.521049 2.656868 -0.246604 0.364927 0.536848 0.850639 1.033582 1.224962 1.555694 1.725857 2.343766 2.568854 -0.345140 0.476535 0.650548 0.994609 1.167264 1.343813 1.779614 1.923453 2.324548 2.609157 -0.140607 0.199293 0.674213 0.958553 1.263430 1.520789 1.808626 2.055790 2.415260 2.705252 -0.125913 0.381885 0.618365 0.994294 1.317324 1.547930 1.818095 2.158588 2.494214 2.751068 -0.214195 0.320569 0.719851 0.846412 1.134388 1.428969 1.611410 2.041914 2.282243 2.508041 -0.250098 0.404670 0.540333 0.911835 1.060249 1.279821 1.619963 1.771663 2.496606 2.697909 -0.163090 0.213459 0.360500 0.504711 1.040089 1.576896 1.979044 2.125480 2.339164 2.609713 -0.356943 0.533785 0.924836 1.108094 1.324907 1.563986 2.016874 2.233505 2.510859 2.677439 -0.226046 0.346550 0.669965 0.775492 0.992753 1.149356 1.460794 2.260130 2.505825 2.717261 -0.322304 0.403181 0.776459 0.964458 1.099992 1.312705 1.399455 1.890224 2.369477 2.448458 -0.181583 0.245567 0.398747 0.597666 1.249798 1.421203 1.606076 2.062186 2.473743 2.644347 -0.254588 0.326744 1.005093 1.262125 1.386127 1.779710 1.955644 2.320802 2.571383 2.678189 -0.216441 0.331207 0.529500 0.654360 0.976477 1.361296 1.647430 2.064996 2.284304 2.569981 -0.327013 0.391820 0.720865 1.097162 1.210384 1.510465 1.765619 1.895802 2.508466 2.678337 -0.252152 0.343407 0.663772 1.085064 1.474659 1.659743 1.910625 2.070943 2.565518 2.717751 -0.349806 0.488123 1.077976 1.292638 1.515886 1.846355 2.084915 2.406884 2.610810 2.736561 -0.182819 0.308233 0.418992 0.708488 0.808059 1.045333 1.698019 1.837574 2.442304 2.609622 -0.277323 0.408804 0.571028 0.828924 1.404815 1.598729 1.759862 1.985935 2.333424 2.455915 -0.229839 0.342341 0.470342 1.002275 1.285925 1.399377 1.816619 1.930907 2.470705 2.802064 -0.244913 0.299585 0.779774 1.322881 1.429162 1.587382 1.738489 2.162786 2.520459 2.623668 -0.161891 0.228443 0.419656 0.733282 0.922895 1.405447 1.884393 2.078046 2.269896 2.589494 -0.270447 0.452251 0.634105 0.780705 0.965021 1.351395 1.825782 2.214939 2.632158 2.796098 -0.171118 0.234980 0.395507 0.838430 1.544455 1.699044 2.124182 2.287668 2.660613 2.849673 -0.213781 0.293496 0.663454 0.993393 1.412625 1.646492 2.074110 2.290676 2.508346 2.653511 -0.199402 0.316802 0.426338 0.630931 0.735249 1.132121 1.883614 2.046046 2.416976 2.580155 -0.210048 0.294088 0.590707 0.762351 1.146848 1.352924 1.637070 2.017207 2.305862 2.432462 -0.154676 0.232848 0.373861 0.948260 1.342786 1.514201 1.755766 1.926693 2.555124 2.717005 -0.137148 0.221322 0.381753 0.919373 1.152152 1.376375 1.826205 2.189540 2.648671 2.813516 -0.245209 0.338241 0.486220 0.814091 0.944966 1.134755 1.358289 1.523556 2.149645 2.315495 -0.392124 0.549332 0.727700 0.905451 1.202400 1.375569 1.534258 1.840057 2.422734 2.556400 -0.148684 0.204787 0.552934 0.803123 1.372462 1.550381 1.754747 2.118492 2.372977 2.711653 -0.267280 0.397322 0.846103 1.172950 1.465464 1.857475 2.153775 2.381172 2.591304 2.723190 -0.194992 0.314743 0.526878 0.796319 1.177375 1.299335 1.525584 1.682646 2.452032 2.795741 -0.301179 0.371796 0.577128 1.081605 1.303060 1.419674 1.898891 2.054902 2.252552 2.600649 -0.252900 0.355818 0.549064 0.965795 1.162628 1.585047 1.928827 2.119789 2.498842 2.665173 -0.256762 0.436508 0.715681 1.130116 1.316991 1.587569 1.850331 2.197839 2.605877 2.796521 -0.235855 0.314907 0.609574 0.859658 1.266780 1.499482 1.790537 1.910982 2.039772 2.187359 -0.200486 0.336241 0.495825 0.891310 1.133452 1.285295 1.612858 1.828238 2.394734 2.809663 -0.179969 0.232629 0.363081 0.500578 1.184534 1.700401 2.059216 2.168101 2.610554 2.836451 -0.348768 0.492321 1.055246 1.314914 1.471270 1.645210 1.876419 2.100446 2.525029 2.694314 -0.171135 0.273412 0.378187 0.581850 0.726115 0.908194 1.708076 1.905747 2.542437 2.797354 -0.315194 0.475887 0.658397 0.849734 1.017156 1.173887 1.755577 2.042149 2.216786 2.521016 -0.229599 0.378223 0.495710 0.879870 1.173185 1.276381 1.777400 1.935276 2.173970 2.748099 -0.197210 0.253422 0.651252 1.311542 1.636493 1.706783 2.105431 2.346619 2.641613 2.771729 -0.232136 0.443332 0.579669 0.760076 0.955242 1.094270 1.726616 1.914262 2.122649 2.700118 -0.186271 0.267327 0.840223 1.116294 1.440220 1.650886 1.944246 2.192076 2.483403 2.643816 -0.268607 0.318357 0.512736 1.129834 1.613930 1.740081 1.917514 2.123735 2.299945 2.557182 -0.479249 0.689878 1.088007 1.470716 1.716709 1.922473 2.158730 2.305877 2.511790 2.656073 -0.307991 0.431011 0.578118 0.877244 1.205302 1.312688 1.629259 2.238238 2.462001 2.580776 -0.293918 0.452236 0.659902 0.921329 1.309254 1.422508 1.668206 2.064588 2.322038 2.461436 -0.131440 0.209617 0.702675 1.016897 1.223185 1.385724 1.670724 1.961691 2.376852 2.732092 -0.193489 0.279816 0.428516 1.256267 1.395720 1.633455 1.873432 2.214886 2.671449 2.786280 -0.182323 0.240522 0.451705 0.799605 1.223096 1.445970 1.647433 1.971485 2.217583 2.336581 -0.384106 0.488198 0.644947 0.897630 1.047334 1.468272 1.839224 1.937923 2.262459 2.408476 -0.260306 0.326571 0.615384 1.084790 1.376745 1.778446 1.998233 2.171540 2.424597 2.575747 -0.340699 0.545965 0.865284 1.131340 1.458730 1.711046 2.089316 2.336073 2.684077 2.841771 -0.290674 0.372204 0.609647 0.779269 0.906420 1.332695 1.973245 2.155443 2.354880 2.655993 -0.308041 0.460783 0.632808 0.911363 1.081813 1.231896 1.747306 1.927967 2.170864 2.605727 -0.180523 0.263276 0.388872 0.565969 0.970599 1.149292 1.871610 2.207290 2.458204 2.667791 -0.143978 0.222658 0.400384 1.086970 1.323702 1.528106 1.995792 2.231147 2.688186 2.836361 -0.209150 0.326190 0.485707 0.681360 1.195456 1.385054 1.544410 2.045718 2.276514 2.434761 -0.297725 0.399777 0.588061 0.894914 1.022395 1.243834 2.009751 2.182970 2.413135 2.638027 -0.228593 0.289986 0.631198 0.791618 1.403101 1.777890 1.926222 2.136335 2.313587 2.489963 -0.343174 0.500760 1.039265 1.351369 1.721522 1.925940 2.190967 2.354142 2.532626 2.657845 -0.149735 0.297295 0.440372 0.642471 0.732234 1.200738 1.414606 1.770276 2.778155 2.883980 -0.223698 0.281114 0.635545 1.061406 1.252740 1.613423 1.836402 1.963828 2.140470 2.593562 -0.168168 0.232950 0.408892 0.653722 1.031457 1.548556 1.766449 2.230830 2.626126 2.797381 -0.222326 0.345655 0.786775 1.107909 1.305189 1.588197 1.993469 2.213238 2.511325 2.685326 -0.224020 0.317494 0.598436 0.845315 1.197927 1.319317 1.767399 2.160174 2.338471 2.525570 -0.198682 0.295026 0.450891 0.867753 0.988755 1.401296 1.687600 1.894339 2.559558 2.696080 -0.206679 0.295846 0.477897 0.699492 1.273871 1.789097 1.959682 2.171515 2.399523 2.555694 -0.353705 0.509579 0.861689 1.094569 1.427975 1.625819 1.845189 2.034662 2.339261 2.562173 -0.176626 0.248928 0.429179 0.658231 0.856663 1.071207 1.601595 1.968639 2.470776 2.718292 -0.314175 0.392578 0.678288 0.944677 1.081793 1.304708 1.492952 1.733627 2.167258 2.307337 -0.202661 0.269438 0.509570 0.817339 1.376869 1.513847 1.874609 2.094859 2.323847 2.480180 -0.234414 0.278975 0.540035 1.347889 1.582923 1.720967 1.986105 2.114372 2.567473 2.703603 -0.146798 0.210418 0.385776 0.649932 0.920041 1.248588 1.573579 1.711404 2.232087 2.791487 -0.382058 0.469618 0.713606 1.069660 1.176016 1.497437 1.813598 1.950404 2.598859 2.726089 -0.334215 0.396922 0.687976 1.087820 1.575500 1.754574 1.906641 2.123504 2.311875 2.443046 -0.264352 0.802524 1.285656 1.486584 1.714037 1.865311 2.035536 2.281585 2.562390 2.750718 -0.270580 0.372011 0.562949 0.825388 0.994299 1.169245 1.870741 2.135215 2.301336 2.518290 -0.449329 0.649113 0.811339 0.973882 1.234030 1.349977 1.692316 1.971266 2.154687 2.357538 -0.180117 0.263580 0.408830 1.127021 1.317638 1.497965 1.895425 2.031294 2.672116 2.818667 -0.331179 0.404977 0.766611 1.259419 1.431059 1.581972 1.939935 2.087575 2.416872 2.639616 -0.194102 0.279875 0.549239 0.704386 1.177109 1.529852 1.691669 2.044312 2.359273 2.560290 -0.217844 0.305871 0.442547 0.616270 0.791798 1.713038 1.956014 2.134547 2.520649 2.795859 -0.162088 0.245953 0.365670 0.638902 1.457619 1.641568 1.838031 2.013303 2.320106 2.729780 -0.236749 0.306797 0.734177 1.072402 1.551912 1.853315 2.104151 2.256363 2.475312 2.617668 -0.176733 0.238829 0.485876 0.687779 0.927283 1.403874 1.830537 2.195431 2.429970 2.626018 -0.268020 0.478288 0.731817 0.871173 1.083963 1.253101 1.535103 2.185826 2.455996 2.622463 -0.166174 0.232448 0.362076 0.591660 1.356885 1.632572 1.826301 1.987791 2.467764 2.659140 -0.236315 0.287802 0.548409 0.987167 1.721933 1.836472 2.152486 2.384523 2.592315 2.741028 -0.148319 0.185444 0.292576 0.511994 0.653403 1.371832 1.527681 1.776139 2.182163 2.227991 -0.401535 0.564293 0.893142 1.022987 1.156707 1.327441 1.701821 1.993285 2.370534 2.578619 -0.165638 0.255975 0.370284 0.802811 1.426084 1.572731 1.787459 1.915582 2.413753 2.802844 -0.317083 0.519809 0.936968 1.293236 1.686332 1.984336 2.186929 2.353187 2.746765 2.860986 -0.189287 0.380990 0.546039 0.784587 1.003621 1.162395 1.874419 2.057907 2.555748 2.785834 -0.200570 0.284860 0.609927 0.826229 1.198949 1.436548 1.809361 2.033038 2.401620 2.587587 -0.168913 0.291597 0.445205 0.722025 1.163607 1.283554 1.763882 1.943265 2.445617 2.817539 -0.360050 0.443567 0.853632 0.987093 1.191562 1.562912 1.869792 2.232417 2.543480 2.645225 -0.231905 0.297890 0.611365 0.830346 1.094545 1.582087 1.848979 2.056068 2.241982 2.394253 -0.331013 0.427540 0.641785 0.946294 1.070136 1.373613 1.859665 1.965907 2.332441 2.584977 -0.186393 0.242540 0.372099 0.728034 1.467825 1.880137 2.042177 2.272992 2.633925 2.779591 -0.446483 0.648214 0.993351 1.205829 1.476224 1.661697 1.899206 2.087562 2.408776 2.592556 -0.208614 0.297946 0.427983 0.600065 0.709456 1.284278 2.044367 2.179822 2.682450 2.818833 -0.306024 0.468602 0.638450 0.827416 1.302277 1.427429 1.811154 2.176106 2.372543 2.496738 -0.152872 0.217872 0.355627 0.713701 1.075149 1.446741 1.848785 1.978762 2.159635 2.712916 -0.234973 0.319771 0.478090 1.080036 1.447440 1.571699 1.982304 2.127281 2.559717 2.736762 -0.162524 0.250245 0.389070 0.646952 0.872934 1.222022 1.856534 2.002922 2.205745 2.599505 -0.323202 0.432855 0.814249 1.180773 1.335093 1.521419 1.901656 2.092343 2.350187 2.560064 -0.273240 0.329948 0.562890 1.003483 1.538259 1.875392 2.025443 2.170349 2.380148 2.499017 -0.500444 0.796365 1.318632 1.529307 1.785448 1.972761 2.147764 2.310849 2.519566 2.650408 -0.263728 0.375983 0.556014 0.707339 1.188811 1.339543 1.652143 2.209513 2.616263 2.738796 -0.266858 0.438409 0.640135 0.862517 1.340556 1.500100 1.686339 2.153946 2.448590 2.598137 -0.190447 0.295300 0.432651 0.884499 1.072087 1.256294 1.823661 1.957091 2.345386 2.577329 -0.243926 0.297921 0.524525 1.251205 1.478145 1.594774 1.967380 2.076378 2.370787 2.732472 -0.167306 0.212866 0.358147 0.499128 0.984267 1.284647 1.814420 2.033044 2.314127 2.439818 -0.254879 0.320323 0.682137 0.944750 1.083508 1.662985 2.084039 2.246726 2.582054 2.713386 -0.212215 0.297268 0.418087 0.743693 1.609250 1.923321 2.079152 2.242169 2.464816 2.591376 -0.117901 0.208978 0.750040 1.145517 1.437720 1.744291 2.143051 2.439937 2.749809 2.873675 -0.193258 0.299329 0.443516 0.797326 0.939062 1.148247 2.018657 2.143420 2.638335 2.829836 -0.213782 0.353502 0.481322 0.711845 1.170764 1.302711 1.535835 1.703291 2.279212 2.748103 -0.115171 0.144705 0.242103 0.453456 1.202245 1.525989 1.893854 2.179999 2.517564 2.798073 -0.238570 0.307781 0.447781 0.957056 1.599743 1.771585 1.940690 2.245051 2.435372 2.633593 -0.194447 0.266589 0.445674 0.635231 0.910266 1.074602 1.340239 1.919744 2.377594 2.630265 -0.297496 0.544047 0.851256 1.025765 1.203569 1.446499 1.981579 2.194582 2.414346 2.605178 -0.203460 0.275006 0.515591 0.732576 1.407979 1.561138 1.760709 2.030957 2.312387 2.431093 -0.498532 0.697751 1.045964 1.328280 1.488249 1.717432 2.051335 2.268465 2.588202 2.722759 -0.194097 0.345960 0.482722 0.874859 1.052521 1.250837 1.534492 1.720853 2.636782 2.816708 -0.266101 0.394737 0.545547 0.974166 1.278319 1.387120 1.790143 1.967144 2.177889 2.702878 -0.102867 0.171081 0.576060 0.818748 1.189242 1.510470 1.778003 2.103994 2.520545 2.748259 -0.119052 0.208027 0.744711 1.011939 1.289820 1.547449 1.904002 2.157777 2.533138 2.773751 -0.210113 0.291141 0.487281 0.790277 0.954605 1.401661 1.701442 1.897619 2.210404 2.382596 -0.266446 0.411500 0.593156 0.920817 1.042570 1.321476 1.890868 2.015685 2.574753 2.734992 -0.195053 0.286814 0.458352 0.639707 1.284634 1.645299 1.800882 2.168396 2.390218 2.562172 -0.341567 0.526183 0.892818 1.084248 1.334447 1.590215 1.889298 2.135833 2.519801 2.745352 -0.323599 0.420247 0.572363 0.757221 0.889572 1.036953 1.623345 2.196313 2.409765 2.540575 -0.410364 0.592459 0.763563 0.927955 1.176077 1.308890 1.569276 2.059039 2.380497 2.499273 -0.194371 0.276796 0.581419 0.722859 1.264729 1.505348 1.711903 2.189092 2.444234 2.629075 -0.252525 0.297192 0.844332 1.381854 1.514803 1.693308 1.854404 2.129548 2.591287 2.684159 -0.170004 0.214112 0.394084 0.539179 0.822416 1.250980 1.752323 2.086240 2.289006 2.448613 -0.289267 0.343412 0.775795 1.191573 1.303367 1.539691 1.782253 1.905366 2.579603 2.729614 -0.234791 0.321602 0.704594 0.949738 1.420244 1.594285 1.774127 2.194285 2.467211 2.589613 -0.340968 0.561082 1.199771 1.415378 1.689161 1.838640 2.014730 2.162685 2.430697 2.592350 -0.345276 0.499518 0.706277 0.861164 0.999501 1.150174 1.572106 1.964424 2.390120 2.588870 -0.357406 0.496053 0.646703 0.939578 1.460352 1.676567 1.834109 2.014842 2.385901 2.507758 -0.176473 0.238482 0.404112 0.892358 1.136652 1.536592 1.716827 1.872719 2.552209 2.759174 -0.222384 0.324129 0.833161 1.246603 1.460920 1.650632 1.876566 2.087675 2.354362 2.547825 -0.167777 0.229073 0.433058 0.810575 1.128669 1.556495 1.799821 1.915429 2.106489 2.677788 -0.306967 0.371498 0.623689 0.749815 0.934500 1.649015 1.792619 2.190421 2.536272 2.643777 -0.148383 0.236235 0.322878 0.555588 1.594153 1.725789 1.992119 2.178572 2.540447 2.774265 -0.377895 0.546230 0.852056 1.067292 1.455797 1.652672 2.018925 2.238220 2.468715 2.644735 -0.300062 0.399164 0.567524 0.740898 0.849393 1.425476 1.948578 2.050102 2.416440 2.546289 -0.218019 0.356752 0.584786 0.769374 1.165925 1.291779 1.688308 2.175240 2.369045 2.711417 -0.143884 0.210234 0.342148 0.566261 1.198668 1.437368 1.683504 1.842729 2.638129 2.833574 -0.115081 0.173169 0.584021 1.134381 1.407360 1.689153 2.034286 2.294650 2.638147 2.814312 -0.190721 0.252429 0.584147 0.836602 1.015264 1.254879 1.571659 2.007112 2.245095 2.426652 -0.309544 0.480824 0.812592 1.075038 1.325338 1.457449 1.679174 1.976619 2.381620 2.705381 -0.164599 0.274956 0.399399 0.735839 1.360979 1.482765 1.859273 2.011226 2.288457 2.792980 -0.187333 0.353999 1.222795 1.502985 1.770143 1.982262 2.203271 2.378492 2.606563 2.729390 -0.158025 0.248611 0.551584 0.735140 0.915073 1.281500 1.744031 1.922872 2.435679 2.716805 -0.273434 0.367213 0.642574 1.050887 1.345202 1.494431 1.909997 2.107095 2.336366 2.534901 -0.264699 0.416517 0.576907 0.947351 1.178990 1.385352 1.951926 2.132530 2.549979 2.786944 -0.142221 0.546287 0.805410 1.079219 1.288179 1.492189 1.774180 2.114597 2.427330 2.681890 -0.230540 0.326500 0.461675 0.964559 1.255458 1.369392 1.856593 2.039532 2.207278 2.539486 -0.137659 0.377399 0.593860 0.793016 1.115754 1.281644 1.840901 1.971659 2.472814 2.713504 -0.144356 0.222505 0.346683 0.782224 1.201084 1.371745 2.123343 2.366887 2.623919 2.803847 -0.362575 0.509680 1.001234 1.230119 1.473004 1.608864 1.802561 2.021551 2.326705 2.519219 -0.240803 0.361576 0.516660 0.727416 0.914394 1.051113 1.716835 2.160538 2.328331 2.706675 -0.351054 0.517992 0.725905 0.915622 1.055525 1.339295 1.898183 2.100270 2.307558 2.559254 -0.200168 0.322989 0.505425 0.676330 1.190121 1.354931 1.731948 1.999324 2.249015 2.624332 -0.219896 0.269490 0.521875 1.237665 1.710417 1.793651 2.115240 2.279260 2.536737 2.689478 -0.215336 0.396644 0.543160 0.728604 1.109190 1.229364 1.727973 1.963312 2.325039 2.797789 -0.264892 0.352500 0.883446 1.155268 1.338153 1.628498 1.841805 2.014230 2.264319 2.462976 -0.239779 0.301722 0.529044 1.147546 1.636525 1.760760 1.966137 2.262281 2.456574 2.621762 -0.320203 0.679639 1.229787 1.529834 1.826892 2.060858 2.286789 2.422168 2.716167 2.843881 -0.353658 0.547800 0.796651 0.899078 1.041245 1.321838 1.822982 2.161422 2.619096 2.820678 -0.261908 0.345021 0.472318 0.918792 1.423161 1.564348 1.733377 2.067856 2.262877 2.396698 -0.124156 0.193894 0.636158 0.840841 1.110258 1.289251 1.683161 1.869014 2.398865 2.731114 -0.165710 0.239716 0.465502 1.228637 1.420469 1.692829 1.888377 2.147997 2.486300 2.699831 -0.160684 0.209986 0.367031 0.503201 1.015826 1.200739 1.524190 2.011867 2.222744 2.475835 -0.277916 0.405640 0.619792 0.770716 1.136524 1.426314 1.822220 2.135166 2.485194 2.647977 -0.231394 0.352162 0.469144 0.682116 1.481669 1.842849 2.029794 2.179907 2.469833 2.589806 -0.380604 0.561972 0.896403 1.133414 1.391582 1.626403 1.961716 2.211112 2.588392 2.787673 -0.322688 0.406580 0.586076 0.731518 0.852667 1.152831 1.995073 2.295481 2.441596 2.617794 -0.197630 0.400738 0.603098 0.838719 1.177968 1.302320 1.559507 1.871355 2.200186 2.796317 -0.159189 0.198711 0.364347 0.509370 1.127246 1.399692 1.623432 2.046094 2.279806 2.705935 -0.233578 0.298035 0.460794 1.139533 1.415576 1.616317 2.117648 2.254774 2.452874 2.595232 -0.177717 0.242239 0.394824 0.650020 0.987501 1.104089 1.611392 2.177724 2.393809 2.694514 -0.299562 0.409957 0.723642 1.062891 1.216972 1.411830 2.051394 2.240860 2.503777 2.709591 -0.201879 0.287289 0.406508 0.659566 1.400321 1.792888 1.936179 2.099785 2.279253 2.454742 -0.359188 0.531719 0.904543 1.142371 1.572219 1.782800 2.067174 2.342915 2.583586 2.731217 -0.245193 0.363406 0.508075 0.721046 0.817318 1.141324 1.787709 1.937075 2.532146 2.678676 -0.280203 0.342294 0.579285 1.021875 1.451807 1.612518 1.803002 2.013050 2.189908 2.367656 -0.124640 0.167543 0.484641 0.896195 1.324263 1.701101 1.908392 2.091365 2.427391 2.766624 -0.152261 0.248563 0.705878 1.026619 1.492524 1.688058 2.019960 2.241100 2.465374 2.733867 -0.169524 0.275607 0.440772 0.719798 1.121602 1.261028 1.809404 2.005583 2.240287 2.716912 -0.329978 0.420004 0.718053 0.936318 1.070988 1.489233 1.858025 1.988096 2.520192 2.667419 -0.229078 0.298586 0.511977 0.723831 1.144803 1.763599 2.164905 2.282990 2.512775 2.671092 -0.456055 0.680179 0.929388 1.076639 1.233955 1.484650 1.903702 2.126601 2.527098 2.727819 -0.168979 0.211126 0.352636 0.486868 0.828354 1.056116 1.439894 2.019355 2.482102 2.794744 -0.388525 0.560294 0.717429 0.985928 1.184401 1.320169 1.814889 2.045192 2.224054 2.519281 -0.207864 0.278390 0.577744 0.755061 1.180647 1.365438 1.765814 1.933058 2.355569 2.495779 -0.273703 0.316766 0.687833 1.373372 1.573215 1.679562 2.017370 2.150752 2.443206 2.666143 -0.139043 0.179618 0.315633 0.517664 0.768733 1.079636 1.390644 1.825048 2.101118 2.739679 -0.443325 0.508374 0.821570 1.141790 1.252203 1.580452 1.827461 1.983767 2.580866 2.715534 -0.272418 0.343583 0.526010 1.076654 1.474251 1.582828 1.851400 2.162984 2.327319 2.521128 -0.372015 0.542684 0.990447 1.414552 1.716538 1.844518 2.067134 2.276470 2.459989 2.623009 -0.296347 0.473546 0.629389 0.879809 1.022187 1.210411 1.881605 2.064735 2.306350 2.615239 -0.421613 0.570707 0.726241 1.011174 1.451250 1.595500 1.814127 2.086968 2.350981 2.485098 -0.138010 0.208811 0.371352 1.058801 1.360740 1.563789 1.835310 2.106508 2.488086 2.685686 -0.304388 0.366691 0.637332 1.163418 1.322554 1.489449 1.820316 1.937237 2.490676 2.695981 -0.160998 0.233003 0.393385 0.742550 1.040177 1.581795 1.846434 2.020562 2.454386 2.656034 -0.293730 0.353143 0.554522 0.676232 0.826408 1.581608 2.144029 2.268817 2.602846 2.715369 -0.174487 0.251975 0.375041 0.584283 1.427390 1.560251 1.883505 2.266902 2.453791 2.739291 -0.236065 0.282833 0.692209 1.097292 1.694874 1.966224 2.123394 2.280655 2.544753 2.658369 -0.129365 0.165960 0.285820 0.488714 0.981342 1.175696 1.724506 2.087889 2.501287 2.735548 -0.226211 0.351015 0.619709 0.857773 1.132574 1.308463 1.487032 1.965719 2.504712 2.670516 -0.203957 0.285955 0.462644 0.620843 1.230135 1.668195 1.835692 2.036399 2.639041 2.775792 -0.159885 0.225639 0.351326 0.882800 1.592195 1.709989 2.060725 2.305297 2.531165 2.753869 -0.182663 0.255048 0.437572 0.758568 0.996367 1.382381 1.651134 1.839516 2.008732 2.215961 -0.418150 0.556126 0.728385 1.007878 1.270088 1.366376 1.715316 2.066928 2.257578 2.389769 -0.207212 0.291325 0.416536 0.913294 1.492822 1.637098 1.825777 1.978284 2.214137 2.552111 -0.241341 0.427255 0.990332 1.209018 1.403013 1.731713 2.115958 2.363302 2.608966 2.742739 -0.188611 0.290583 0.686340 0.839849 1.094731 1.279717 1.560751 2.134527 2.353362 2.641874 -0.303141 0.383534 0.612718 0.971405 1.141894 1.558084 1.937162 2.069641 2.316813 2.480680 -0.179032 0.247590 0.375840 0.575450 1.367486 1.543422 2.101856 2.277817 2.513453 2.724165 -0.279200 0.350633 0.674006 1.015821 1.154154 1.656796 1.871235 2.061172 2.539189 2.655336 -0.220829 0.293262 0.666921 0.930888 1.307454 1.585242 1.798660 1.919831 2.100904 2.490486 -0.407626 0.528205 0.695580 0.942289 1.068323 1.248001 1.834686 1.955840 2.367277 2.684681 -0.187917 0.238836 0.392030 0.586354 1.220852 1.713253 2.205448 2.317138 2.607952 2.772751 -0.406035 0.678205 1.009915 1.169891 1.361883 1.567949 1.969141 2.218271 2.484866 2.653946 -0.263469 0.379446 0.574642 0.739690 0.891674 1.015764 1.634497 2.310050 2.531555 2.722555 -0.276896 0.353172 0.495976 0.992936 1.248222 1.349871 1.691833 2.151044 2.363150 2.534333 -0.165915 0.220580 0.380706 0.597420 1.137653 1.320387 1.576770 1.939725 2.122544 2.647358 -0.215129 0.283229 0.414568 1.356845 1.527108 1.679575 1.891014 2.130176 2.602350 2.741207 -0.206573 0.274549 0.539970 0.803271 1.064961 1.486193 1.704709 1.828604 1.978928 2.462439 -0.245410 0.534217 0.840240 1.054925 1.298942 1.439072 1.805223 2.039652 2.261595 2.482457 -0.236976 0.308980 0.585923 0.783026 1.498617 1.930204 2.097800 2.251258 2.476303 2.596959 -0.571463 1.021016 1.359450 1.510990 1.761279 1.913272 2.106845 2.286831 2.543023 2.660054 -0.187494 0.265400 0.418588 0.927645 1.377800 1.582098 1.740975 2.237651 2.615481 2.802350 -0.308598 0.491606 0.632564 0.923419 1.411973 1.578570 1.730433 1.976996 2.433166 2.558710 -0.147715 0.217707 0.377800 0.910933 1.185758 1.366725 1.612211 2.013767 2.403550 2.696412 -0.255983 0.321186 0.503024 1.109229 1.544228 1.645679 1.931499 2.060262 2.490962 2.677649 -0.175450 0.230655 0.407361 0.720246 1.062295 1.330697 1.797198 2.019193 2.315150 2.443569 -0.223790 0.338008 0.719854 0.950722 1.144176 1.597163 1.855352 2.263747 2.561723 2.704014 -0.192133 0.289847 0.398779 0.556338 1.501770 1.755759 1.934139 2.206912 2.388353 2.645486 -0.297639 0.450015 0.788874 1.101418 1.627516 1.880937 2.155204 2.413078 2.599468 2.743886 -0.217417 0.333895 0.462399 0.822556 1.071185 1.203256 1.990668 2.195575 2.436009 2.784665 -0.163563 0.239093 0.376533 0.839654 1.058152 1.266142 1.728781 1.907170 2.096879 2.659086 -0.137806 0.181530 0.328192 0.516935 1.031832 1.525160 1.768896 1.915914 2.359545 2.727805 -0.164104 0.236815 0.332559 0.910079 1.609754 1.696913 2.000392 2.161661 2.560691 2.703739 -0.228917 0.407594 0.638844 0.801544 1.054407 1.197528 1.396765 1.854050 2.203784 2.611161 -0.391989 0.486610 0.771960 1.116329 1.248980 1.474917 1.949979 2.088145 2.481910 2.691692 -0.279187 0.400947 0.576848 0.718895 1.254179 1.650864 1.823958 1.934813 2.498090 2.611019 -0.458469 0.714872 1.061410 1.262159 1.583256 1.935302 2.258053 2.430476 2.654284 2.756814 -0.222188 0.326247 0.447894 0.840363 1.072654 1.191396 1.417342 1.567507 2.404790 2.696868 -0.346704 0.402748 0.714703 1.139511 1.315770 1.444510 1.797498 1.920454 2.155272 2.559128 -0.155723 0.214701 0.494437 0.875267 1.172389 1.405229 1.797171 2.092950 2.373162 2.664794 -0.143642 0.390291 0.851279 1.039361 1.187534 1.415631 1.895439 2.190895 2.617165 2.792304 -0.266078 0.370570 0.662415 0.836415 0.988458 1.316618 1.567592 1.858948 2.257531 2.426635 -0.336056 0.469998 0.781562 0.918047 1.031306 1.219377 1.737468 2.050577 2.458442 2.720080 -0.165799 0.215460 0.363262 0.498067 1.217803 1.622985 1.903435 2.072821 2.251153 2.522123 -0.418176 0.619702 0.947421 1.146388 1.456489 1.664370 1.965827 2.179934 2.466824 2.629682 -0.265129 0.360058 0.519333 0.815729 0.992554 1.155878 1.718766 2.222951 2.442701 2.585525 -0.308187 0.464955 0.631733 0.775884 1.197138 1.454372 1.618186 2.005378 2.298683 2.443207 -0.178219 0.251645 0.407157 0.725307 1.323507 1.464894 1.694747 2.102622 2.283774 2.589151 -0.206659 0.311706 0.925646 1.192852 1.568069 1.802078 2.008324 2.197021 2.461939 2.657140 -0.174956 0.236808 0.392320 0.654967 0.934857 1.152108 1.595741 1.864532 2.214108 2.354775 -0.230434 0.344630 0.704520 0.910666 1.348070 1.567822 1.811907 1.939844 2.509990 2.701550 -0.180253 0.232955 0.624261 0.923991 1.421690 1.599589 1.814005 2.073839 2.413260 2.570514 -0.398056 0.571576 1.027057 1.401582 1.532635 1.743391 2.038501 2.173100 2.635865 2.756941 -0.244124 0.349847 0.599577 0.750991 0.891408 1.153522 1.605551 1.899047 2.317997 2.500479 -0.324856 0.539756 0.695489 0.870499 1.378985 1.583978 1.787428 2.079347 2.366844 2.502610 -0.250886 0.480663 0.608352 0.931539 1.092319 1.383530 1.692940 1.863607 2.650750 2.806650 -0.338327 0.396903 0.699669 1.241511 1.414878 1.559671 1.867401 2.000074 2.583166 2.742075 -0.164041 0.233302 0.383240 0.540410 0.806255 1.495618 1.938839 2.063074 2.286859 2.677635 -0.218870 0.316692 0.450414 0.721514 1.234846 1.762116 1.921161 2.415204 2.642001 2.782596 -0.163667 0.235743 0.354094 0.797110 1.437154 1.554340 2.096932 2.265233 2.481373 2.661373 -0.141630 0.198248 0.557013 1.138173 1.485146 1.786655 1.990698 2.185739 2.443261 2.719231 -0.217999 0.366741 0.519705 0.781024 0.899903 1.248543 1.852721 1.986039 2.401777 2.555847 -0.205878 0.302603 0.472303 0.693773 1.275278 1.505045 1.651223 2.075256 2.330750 2.459809 -0.205336 0.309242 0.483400 0.841555 1.362515 1.548353 1.760082 1.993603 2.496424 2.633078 -0.173174 0.251866 0.410487 1.098827 1.251313 1.651838 1.903428 2.405674 2.698209 2.817074 -0.274582 0.463838 0.620569 0.820587 0.988556 1.155062 1.637870 1.835193 2.071934 2.529835 -0.364198 0.472940 0.697706 1.016409 1.151822 1.373913 1.673193 1.811034 2.432956 2.643088 -0.210609 0.316509 0.475251 0.668420 1.418526 1.631402 1.796155 2.141848 2.319077 2.697236 -0.294479 0.519397 0.846472 1.213453 1.709661 1.916717 2.258070 2.456443 2.600351 2.786559 -0.170463 0.255944 0.401983 0.820520 1.094719 1.322743 1.646553 1.784940 2.486157 2.613248 -0.237336 0.356516 0.490576 0.924631 1.184187 1.304165 1.910651 2.102207 2.302776 2.641078 -0.237089 0.334322 0.503100 0.942044 1.087499 1.511162 1.952715 2.075663 2.564695 2.734500 -0.270484 0.426158 0.787084 1.011450 1.420404 1.627576 1.856282 2.112823 2.548329 2.769664 -0.212376 0.278943 0.617049 0.887684 1.142337 1.356367 1.727600 1.935068 2.149199 2.293257 -0.219581 0.437941 0.549582 0.824175 1.110224 1.217621 1.723719 1.891729 2.537107 2.790704 -0.180332 0.207980 0.422463 0.642179 1.028384 1.607980 2.250525 2.381973 2.608993 2.774395 -0.363639 0.523626 1.148877 1.352576 1.562465 1.724307 1.921396 2.120662 2.445004 2.610164 -0.150266 0.222691 0.365816 0.555803 0.688872 1.162897 1.782593 2.040683 2.522491 2.769536 -0.322510 0.444036 0.616943 0.895765 1.056214 1.275784 1.751504 1.895911 2.132909 2.370408 -0.228790 0.394631 0.548588 0.772733 1.227890 1.335766 1.788390 2.041514 2.278792 2.744098 -0.234366 0.288401 0.669909 1.295698 1.461082 1.731631 2.183204 2.296645 2.539291 2.656637 -0.255688 0.474634 0.639397 0.858887 1.097668 1.228104 1.592196 1.812078 2.070709 2.717623 -0.214002 0.365378 0.921340 1.120628 1.379265 1.601621 1.931336 2.141337 2.414577 2.593476 -0.220925 0.307330 0.407573 0.868421 1.663240 1.844525 1.994660 2.189618 2.371374 2.516151 -0.362773 0.569567 1.005505 1.504530 1.678917 1.910360 2.158978 2.297543 2.659978 2.788995 -0.296160 0.426108 0.649527 0.859492 1.056490 1.213501 1.697291 2.135737 2.364297 2.514164 -0.281900 0.432754 0.589102 0.914308 1.277709 1.401926 1.774347 1.972103 2.235129 2.544435 -0.277240 0.357036 0.828830 1.002473 1.178011 1.446057 1.715661 1.918548 2.237210 2.572122 -0.235923 0.330705 0.623139 1.275081 1.398365 1.615244 1.800110 2.151779 2.592066 2.735797 -0.179223 0.246208 0.400152 0.708696 1.129890 1.318110 1.696185 1.907985 2.203754 2.331059 -0.316183 0.382213 0.679593 0.814474 0.986274 1.762901 1.990617 2.149795 2.433563 2.555738 -0.218193 0.282095 0.586606 0.865818 1.378763 1.742711 1.918177 2.243443 2.595193 2.752713 -0.309792 0.481840 0.827993 1.213125 1.606995 1.730492 2.141679 2.280307 2.608238 2.849348 -0.270780 0.352881 0.501183 0.906847 1.086388 1.325169 1.838184 2.204039 2.421528 2.566162 -0.226107 0.390361 0.555807 0.749815 1.088830 1.205930 1.680764 2.021480 2.201488 2.659122 -0.123441 0.173507 0.307303 0.690407 1.173938 1.333877 1.786765 2.000793 2.425213 2.751118 -0.158591 0.214573 0.427561 0.902581 1.277688 1.674870 2.126902 2.421840 2.701440 2.836990 -0.189303 0.283266 0.464375 0.672875 1.104817 1.250272 1.526572 2.083813 2.270321 2.510880 -0.287382 0.434077 0.583769 0.905506 1.053249 1.483726 1.993792 2.165572 2.575308 2.698217 -0.263500 0.370045 0.536776 0.782922 1.324389 1.844905 2.005965 2.156203 2.458755 2.583419 -0.384009 0.584098 0.936199 1.287834 1.635325 1.761083 2.169160 2.324023 2.535401 2.749390 -0.146402 0.213762 0.398489 0.690149 0.996244 1.435892 1.670170 1.813953 2.445981 2.787485 -0.301226 0.367882 0.654854 1.094027 1.229960 1.592088 1.885201 2.005608 2.274408 2.444608 -0.149947 0.216185 0.391920 0.830502 1.253633 1.431601 1.785490 2.103484 2.525214 2.755484 -0.097894 0.173875 0.729312 1.016482 1.304096 1.606405 1.935582 2.257805 2.640341 2.840475 -0.169855 0.242145 0.571777 0.803659 1.022243 1.354604 1.782360 1.980234 2.368909 2.535598 -0.254591 0.378801 0.672668 0.807056 1.056720 1.493018 1.655380 1.979812 2.449241 2.599697 -0.193304 0.260487 0.459964 0.670291 1.308012 1.768287 1.946244 2.212251 2.405579 2.728625 -0.366883 0.536817 0.908218 1.110776 1.354740 1.500190 1.704032 1.943640 2.329476 2.560555 -0.211004 0.305715 0.399667 0.516282 0.691520 0.849824 1.396564 2.291427 2.546197 2.699794 -0.235007 0.315896 0.593374 0.857317 1.094567 1.500585 1.840100 1.974535 2.128181 2.274238 -0.183909 0.226449 0.400954 0.544120 1.348797 1.515812 1.765685 1.973782 2.256647 2.370030 -0.237680 0.317979 0.661098 1.253198 1.394092 1.734084 1.949126 2.131970 2.641034 2.757610 -0.166212 0.241240 0.371751 0.557281 0.767198 1.134161 1.620608 1.834400 2.454323 2.635245 -0.330393 0.391091 0.780047 1.022404 1.134626 1.502694 1.702935 1.890801 2.580707 2.691910 -0.408812 0.495670 0.687407 1.108832 1.546181 1.696379 1.885325 2.139028 2.368060 2.517184 -0.376422 0.555069 1.161646 1.386418 1.622733 1.845580 2.017094 2.201137 2.552466 2.708053 -0.274146 0.380469 0.549878 0.799730 0.939402 1.117940 1.645452 2.052539 2.350689 2.490049 -0.329001 0.575380 0.735296 0.911471 1.268064 1.391747 1.781411 2.007253 2.202059 2.466893 -0.212169 0.311180 0.439692 1.078259 1.267527 1.468391 1.726469 1.906190 2.628147 2.786434 -0.297463 0.361038 0.824509 1.239302 1.339377 1.569785 1.940696 2.077375 2.519418 2.696863 -0.207701 0.292358 0.552629 0.711964 1.172305 1.651429 1.844960 2.071458 2.419231 2.553707 -0.209832 0.301136 0.449094 0.647610 0.777779 1.480469 1.932068 2.131542 2.710060 2.812704 -0.172423 0.255437 0.369220 0.543108 1.401559 1.717608 1.933428 2.154827 2.367862 2.787661 -0.255748 0.347504 0.796616 1.027751 1.504250 1.760784 1.937354 2.112544 2.469490 2.637341 -0.169424 0.278442 0.444446 0.687556 0.797962 1.369199 1.630793 2.131758 2.696521 2.814286 -0.263582 0.429254 0.626198 0.790299 0.996064 1.131137 1.510958 2.083907 2.354499 2.747674 -0.160669 0.249969 0.366613 0.619384 1.335750 1.509419 1.938079 2.107770 2.598329 2.796645 -0.244289 0.315310 0.439736 0.746805 1.478790 1.975786 2.164362 2.279744 2.549736 2.677409 -0.158860 0.216940 0.349617 0.495945 1.053452 1.187951 1.643661 1.872490 2.121853 2.234733 -0.364934 0.547895 0.703548 1.046696 1.327165 1.444813 1.638612 1.994689 2.369195 2.515047 -0.199825 0.282570 0.423937 1.052805 1.331805 1.455952 1.892213 2.048648 2.272970 2.743986 -0.205916 0.528758 1.069123 1.303179 1.547206 1.887462 2.261478 2.525666 2.727548 2.836565 -0.211344 0.325615 0.470129 0.876822 1.036692 1.388499 2.004071 2.168361 2.641575 2.788384 -0.165214 0.237113 0.652635 0.853498 1.274603 1.418260 1.750475 2.188010 2.392225 2.656697 -0.171345 0.265931 0.404296 0.777656 1.251339 1.381106 1.876187 2.028307 2.321131 2.646341 -0.243930 0.315918 0.797490 1.189416 1.348551 1.850071 2.061191 2.229853 2.567528 2.706220 -0.194777 0.274153 0.522750 0.716292 0.872211 1.616112 1.890034 2.023297 2.194462 2.435800 -0.244945 0.443755 0.592420 0.889336 1.105448 1.259185 1.758350 1.914694 2.352504 2.581197 -0.179880 0.257145 0.369148 0.581368 1.406373 1.820128 2.061537 2.213705 2.526442 2.674115 -0.545317 0.839577 1.093857 1.262533 1.530824 1.739612 2.017505 2.229486 2.511345 2.662061 -0.188061 0.301651 0.405278 0.612153 0.779478 1.037845 2.004224 2.211267 2.475847 2.697676 -0.314335 0.465910 0.634660 0.880106 1.266325 1.367294 1.763992 2.104409 2.276097 2.443435 -0.141443 0.203354 0.372102 0.773557 1.052380 1.521452 1.774251 1.900827 2.384498 2.726988 -0.183016 0.267487 0.382582 1.062637 1.528110 1.626188 1.861114 2.019971 2.608976 2.763674 -0.143357 0.192604 0.323821 0.497856 0.905440 1.343367 1.820946 2.001139 2.153210 2.609622 -0.354165 0.489743 0.667126 1.118630 1.392866 1.492788 1.780757 2.073223 2.328160 2.560997 -0.282856 0.383914 0.485830 0.850543 1.506444 1.797613 1.937969 2.146059 2.427443 2.548079 -0.487767 0.866830 1.364561 1.521265 1.733207 1.945262 2.238743 2.399018 2.632115 2.744288 -0.280530 0.416807 0.597088 0.899084 1.119331 1.255621 1.616253 2.134732 2.562029 2.692235 -0.284821 0.494631 0.684501 0.838586 1.258096 1.395495 1.638054 2.162929 2.354037 2.540591 -0.205140 0.295529 0.494620 0.956357 1.129557 1.430489 1.736194 1.883778 2.442628 2.597296 -0.304833 0.379519 0.691807 1.147815 1.310207 1.513791 2.008217 2.142574 2.387944 2.637546 -0.181676 0.219451 0.383940 0.516016 1.044498 1.517177 1.777135 1.964014 2.218885 2.363256 -0.294578 0.352761 0.665993 0.810615 0.975505 1.763777 1.954836 2.159643 2.626241 2.718025 -0.172769 0.247043 0.367453 0.702216 1.520013 1.752683 1.974569 2.256458 2.462168 2.651882 -0.133992 0.301438 0.794542 1.081390 1.502045 1.696404 2.061943 2.278505 2.623520 2.822598 -0.250639 0.391712 0.550858 0.794112 0.913038 1.085745 2.034282 2.313366 2.505665 2.787062 -0.323242 0.434081 0.555684 0.961893 1.357180 1.456826 1.643504 1.784048 2.015616 2.515904 -0.143041 0.186235 0.352826 0.680065 1.264865 1.599306 1.944390 2.254806 2.597410 2.807813 -0.203141 0.289063 0.395881 0.800946 1.463891 1.689942 1.835029 2.061175 2.225528 2.642274 -0.222797 0.394599 0.573255 0.715466 1.025538 1.188023 1.564145 2.025279 2.191600 2.532423 -0.405610 0.492208 0.769597 0.896548 1.095745 1.667540 1.851755 2.090613 2.499090 2.611378 -0.238982 0.324219 0.447220 0.884037 1.482394 1.649975 1.799871 2.147158 2.341317 2.496853 -0.453661 0.658367 0.977870 1.248116 1.512727 1.831479 2.096748 2.293691 2.622778 2.735454 -0.171442 0.338885 0.499399 0.793308 1.060572 1.203862 1.664796 1.804188 2.519133 2.756339 -0.278022 0.338379 0.636156 1.044803 1.186358 1.516967 1.701121 1.872073 2.394724 2.502070 -0.121438 0.167486 0.411911 0.917381 1.165927 1.533981 1.818319 2.060997 2.450329 2.746320 -0.162532 0.224824 0.658346 0.916673 1.391225 1.595859 1.857208 2.217273 2.498430 2.753849 -0.275986 0.349156 0.568548 0.683453 1.016150 1.598731 1.764733 1.935888 2.342502 2.451659 -0.253773 0.480249 0.604419 0.965946 1.273556 1.519695 1.780207 2.006359 2.680279 2.811275 -0.187376 0.271558 0.385829 0.556450 1.380619 1.664090 1.814039 2.064114 2.245361 2.453707 -0.294725 0.466563 0.736292 1.055050 1.550984 1.693651 1.897743 2.212842 2.491391 2.698543 -0.239923 0.334060 0.461488 0.662636 0.791453 1.005699 1.600227 2.170741 2.458382 2.619019 -0.327525 0.492740 0.643437 0.903326 1.245421 1.348861 1.592207 1.937940 2.512050 2.644548 -0.221363 0.338816 0.483946 0.687648 1.284665 1.551620 1.720135 2.073904 2.254226 2.544134 -0.258618 0.300723 0.704898 1.390679 1.579033 1.718703 1.937423 2.081021 2.591851 2.718075 -0.204543 0.311448 0.448600 0.699217 1.072306 1.225857 1.749871 2.025585 2.206864 2.441320 -0.407224 0.493488 0.735697 1.167395 1.335468 1.468164 1.704353 1.844157 2.418454 2.658505 -0.177985 0.233336 0.506489 0.863799 1.426574 1.604693 1.864455 2.179274 2.402289 2.599311 -0.201307 0.580059 1.233073 1.407900 1.670628 1.818287 2.017446 2.256081 2.551962 2.742129 -0.322757 0.406373 0.612482 0.787838 0.909320 1.345224 1.671798 1.785817 2.404421 2.543501 -0.331870 0.431884 0.597156 0.927729 1.457447 1.672300 1.841455 2.039567 2.250965 2.417211 -0.202946 0.328964 0.442956 0.945971 1.181249 1.322011 1.766214 1.899811 2.569787 2.777471 -0.274929 0.335270 0.613025 1.214599 1.385772 1.557449 1.956849 2.066650 2.288912 2.459016 -0.146768 0.210059 0.360823 0.630784 1.072395 1.512445 1.766060 1.876355 2.226609 2.774121 -0.278686 0.371483 0.567509 0.728655 0.855673 1.555589 1.958603 2.076551 2.544275 2.713690 -0.143219 0.224816 0.347059 0.649970 1.564613 1.685486 1.917021 2.072654 2.453763 2.655050 -0.294541 0.443278 0.726594 0.985933 1.415734 1.765955 2.073442 2.328283 2.592514 2.745548 -0.243739 0.365134 0.572466 0.827675 0.939711 1.401796 1.826498 1.947840 2.429538 2.736311 -0.213082 0.349340 0.619784 0.765201 1.188628 1.358763 1.534192 2.128318 2.415976 2.591807 -0.161799 0.248667 0.354739 0.716246 1.327356 1.505974 1.706364 1.848519 2.455553 2.645897 -0.228516 0.375004 0.745896 1.050532 1.367740 1.799352 2.151717 2.418669 2.673185 2.797596 -0.234744 0.320318 0.466401 1.013481 1.184613 1.343346 1.535391 1.904405 2.318092 2.457794 -0.296936 0.385747 0.828858 1.091916 1.213084 1.370156 1.504418 2.008638 2.299958 2.422080 -0.189955 0.288894 0.417900 0.584179 1.286507 1.481483 1.710061 2.088780 2.259900 2.658597 -0.170659 0.301463 1.070828 1.400247 1.605036 1.820055 2.012834 2.274844 2.579681 2.738437 -0.194796 0.277316 0.434438 0.646763 0.772268 1.506173 1.740645 1.962370 2.464322 2.657388 -0.222257 0.294563 0.463770 1.144565 1.329294 1.506915 1.848439 2.035803 2.320447 2.526842 -0.188443 0.314239 0.448752 0.852815 1.354102 1.446757 1.902520 2.034088 2.526616 2.815041 -0.226181 0.693860 0.965201 1.130620 1.285879 1.475154 1.863626 2.238763 2.603071 2.788862 -0.105661 0.160079 0.370939 0.956425 1.151620 1.531460 1.723426 1.913560 2.122164 2.492465 -0.298984 0.431063 0.586646 0.778394 0.883075 1.252332 1.854971 2.007147 2.580641 2.710519 -0.197240 0.272225 0.520497 0.915877 1.306265 1.547858 2.092985 2.299254 2.524173 2.690593 -0.413504 0.577521 0.882547 1.151243 1.588968 1.757858 1.954145 2.157780 2.423490 2.567497 -0.182013 0.280163 0.398250 0.608531 0.819691 0.969023 1.853980 2.067111 2.358004 2.831492 -0.376103 0.585036 0.744512 0.923312 1.183525 1.290764 1.692231 2.073489 2.270157 2.435995 -0.206648 0.328267 0.465432 0.752470 1.311956 1.450538 1.719681 2.019809 2.237402 2.712715 -0.146386 0.213798 0.495001 1.215327 1.552462 1.867870 2.131376 2.312738 2.674961 2.807719 -0.204301 0.298214 0.439837 0.759917 0.957505 1.118467 1.710802 2.037862 2.222732 2.676717 -0.208889 0.314961 0.807094 0.979256 1.326634 1.615428 1.855738 2.074151 2.481053 2.662164 -0.252094 0.321219 0.425486 1.124218 1.685315 1.954485 2.094831 2.253423 2.478229 2.605367 -0.454303 0.738006 1.152178 1.340103 1.644779 1.957406 2.329060 2.526950 2.700749 2.789332 -0.260026 0.460186 0.631124 0.860895 1.160270 1.274078 1.873660 2.167213 2.365849 2.770340 -0.188841 0.259372 0.483027 0.884169 1.354974 1.505271 1.787912 1.916914 2.217944 2.371433 -0.171267 0.239784 0.594776 0.748624 1.254712 1.402634 1.627575 2.102077 2.361702 2.545685 -0.261290 0.332761 0.480740 1.272870 1.411888 1.585755 1.891613 2.059093 2.603683 2.753852 -0.174471 0.227361 0.395376 0.589674 1.098988 1.351413 1.527512 1.875704 2.288035 2.491253 -0.392523 0.493384 0.723718 0.863221 0.994939 1.404446 1.868453 2.008324 2.440145 2.622287 -0.229001 0.293967 0.482060 0.752040 1.321587 1.964756 2.143632 2.272231 2.511299 2.652857 -0.129576 0.441380 0.809457 1.253754 1.449504 1.695975 2.014264 2.282645 2.615841 2.803547 -0.291794 0.444574 0.567987 0.774856 0.900327 1.365457 2.004858 2.128537 2.620438 2.820651 -0.262097 0.516409 0.687606 0.926622 1.163526 1.292705 1.715555 1.937306 2.227923 2.777260 -0.148606 0.204513 0.361193 0.693710 1.055532 1.278718 1.693525 1.980097 2.352859 2.672283 -0.253802 0.336651 0.526195 0.891801 1.442978 1.584849 1.979819 2.247623 2.476136 2.660081 -0.228789 0.338363 0.500714 0.793809 1.196272 1.305413 1.731081 2.259108 2.442615 2.652754 -0.378062 0.473823 0.693080 1.009192 1.183244 1.328164 1.919726 2.260450 2.429886 2.572302 -0.247090 0.357491 0.583930 0.824533 1.624951 1.779841 1.978982 2.185311 2.378227 2.583823 -0.349863 0.525291 0.898639 1.154449 1.653664 1.882655 2.181526 2.353823 2.532309 2.660763 -0.190910 0.256714 0.576278 0.756016 0.919967 1.182918 1.663565 2.144466 2.501734 2.728244 -0.298865 0.359843 0.568492 1.131552 1.379757 1.490406 1.824274 1.945718 2.238708 2.644005 -0.075640 0.092838 0.245669 0.863294 1.223916 1.524202 1.857987 2.167767 2.516095 2.793204 -0.232965 0.332699 0.723652 1.036910 1.459468 1.595582 1.952510 2.172737 2.392688 2.562895 -0.247766 0.389477 0.616596 0.808130 0.997595 1.253872 1.724465 1.938385 2.286441 2.479069 -0.316879 0.442442 0.602552 0.812843 0.919668 1.524096 1.727104 1.959085 2.648008 2.744204 -0.180121 0.250848 0.377588 0.514084 1.112861 1.845482 2.013326 2.213933 2.474673 2.663237 -0.510891 0.729294 0.918315 1.009382 1.258580 1.685479 2.036454 2.223282 2.546829 2.685952 -0.204819 0.306851 0.495622 0.688481 0.939049 1.054525 1.550902 2.063497 2.267332 2.744891 -0.327442 0.389656 0.773076 1.023761 1.144959 1.391107 1.629777 1.826936 2.044965 2.488423 -0.163318 0.224949 0.377732 0.697324 1.243068 1.379089 1.633682 1.887173 2.332645 2.483657 -0.240171 0.293151 0.543472 1.269350 1.631535 1.739995 1.933642 2.084522 2.414170 2.650266 -0.179979 0.246939 0.396342 0.589909 0.919210 1.070722 1.642599 2.043006 2.217357 2.503273 -0.302811 0.355529 0.811588 1.166553 1.271468 1.626247 1.848829 1.997826 2.540939 2.669384 -0.283439 0.349236 0.510446 0.919208 1.451466 1.719296 1.870795 2.075959 2.292387 2.415026 -0.351847 0.508411 1.045930 1.254317 1.551190 1.805638 2.048595 2.229665 2.467316 2.616962 -0.266736 0.408066 0.559013 0.768550 0.973174 1.096776 1.669225 2.079118 2.239808 2.647906 -0.299839 0.538608 0.750887 0.937387 1.361442 1.507727 1.723958 2.019542 2.288365 2.433554 -0.184692 0.270218 0.419274 1.047374 1.395536 1.529142 1.783612 1.919322 2.399668 2.739026 -0.282417 0.355135 0.625619 1.193013 1.365194 1.548352 1.961542 2.076835 2.555666 2.736510 -0.148276 0.201484 0.357526 0.691839 1.109393 1.590808 1.929494 2.052123 2.288831 2.674265 -0.239872 0.340799 0.510028 0.754201 1.021805 1.444270 2.086249 2.268881 2.498859 2.644372 -0.229200 0.356617 0.469799 0.697079 1.459153 1.736841 1.888964 2.204606 2.435847 2.594633 -0.235297 0.299631 0.756788 1.069754 1.591291 1.782731 1.990029 2.186477 2.404269 2.551371 -0.153218 0.216649 0.366074 0.591966 0.786672 1.337023 1.751677 1.932515 2.401392 2.607477 -0.264340 0.436803 0.595010 0.767010 1.179494 1.352438 1.528478 1.996792 2.441404 2.572631 -0.204113 0.325813 0.640860 0.803282 1.276398 1.511437 1.769275 2.073412 2.562526 2.723891 -0.183616 0.242809 0.370321 0.932837 1.683840 1.816525 2.211177 2.406486 2.636015 2.765906 -0.196637 0.265829 0.439050 0.770452 1.054669 1.487115 1.916956 2.043030 2.176612 2.349845 -0.540575 0.704261 0.884898 1.106375 1.273439 1.431611 1.908872 2.163885 2.347449 2.530928 -0.258740 0.346556 0.466932 0.905095 1.485463 1.645285 1.873902 2.133924 2.308179 2.675230 -0.347296 0.582875 0.945844 1.279162 1.499633 1.852636 2.184304 2.463318 2.760760 2.870853 -0.150936 0.266396 0.672274 0.842540 1.058933 1.395955 1.763874 2.053646 2.603603 2.795989 -0.248334 0.323639 0.796411 0.974630 1.217472 1.616989 1.786496 1.995745 2.426072 2.572132 -0.171528 0.226268 0.387197 0.596052 1.219235 1.373257 1.802693 2.162095 2.401149 2.694122 -0.309880 0.375034 0.782497 0.936541 1.130945 1.571152 1.743522 2.158706 2.484175 2.596635 -0.211833 0.283751 0.471901 0.833897 1.238193 1.611788 1.813797 2.021568 2.299015 2.453586 -0.325164 0.495780 0.668458 0.977772 1.204875 1.377736 1.792224 1.981132 2.470212 2.687064 -0.181910 0.238625 0.380080 0.551818 1.284137 1.815502 2.100874 2.224073 2.678894 2.832381 -0.432484 0.602036 0.967559 1.355422 1.539906 1.638130 2.062617 2.274317 2.408629 2.586735 -0.223933 0.320440 0.455471 0.635789 0.775870 0.919569 1.655549 2.258604 2.454533 2.743063 -0.366581 0.460393 0.676450 1.035749 1.222446 1.344767 1.892128 2.136552 2.294736 2.535285 -0.163193 0.228589 0.372272 0.655743 1.215923 1.357562 1.812178 2.049878 2.219187 2.622506 -0.199107 0.255898 0.383597 1.460200 1.573471 1.769089 1.990458 2.299624 2.582669 2.742646 -0.171634 0.266479 0.432062 0.687765 0.835208 1.354791 1.779760 1.939277 2.152823 2.654474 -0.322744 0.454468 0.896616 1.075278 1.276965 1.525868 1.809606 2.045119 2.396969 2.600609 -0.185456 0.225713 0.593805 0.777028 1.383381 1.756301 1.909552 2.182404 2.428047 2.628560 -0.523864 0.996370 1.345344 1.500637 1.856758 1.976312 2.235904 2.414483 2.560231 2.666268 -0.224472 0.316210 0.461082 1.069924 1.226634 1.409037 1.539144 2.110751 2.541082 2.731841 -0.282572 0.449304 0.655998 0.827960 1.292714 1.495327 1.771585 2.007810 2.430764 2.621645 -0.129294 0.178584 0.451465 1.015109 1.245704 1.462743 1.785107 2.042319 2.339740 2.626045 -0.266450 0.311925 0.672071 1.272373 1.586471 1.680518 1.967287 2.126302 2.331703 2.606765 -0.155912 0.210793 0.359734 0.582139 0.993095 1.506017 1.938903 2.072031 2.211582 2.514161 -0.366487 0.454941 0.765153 0.933105 1.077517 1.457225 1.642714 2.050965 2.548495 2.660408 -0.183421 0.269815 0.375652 0.582732 1.364229 1.857303 2.030324 2.188264 2.389621 2.554337 -0.157986 0.433220 0.872229 1.187796 1.412974 1.724479 2.144349 2.464695 2.761508 2.877055 -0.198383 0.350654 0.577264 0.787611 0.933392 1.119024 1.806604 2.076373 2.430526 2.603043 -0.184568 0.290732 0.456474 0.730730 1.167452 1.298890 1.669065 1.850198 2.187295 2.556672 -0.119787 0.157206 0.296086 0.580699 1.039340 1.448681 1.791765 2.115501 2.493729 2.765061 -0.197875 0.296866 0.460866 0.906361 1.504895 1.622424 1.923913 2.064370 2.528505 2.799113 -0.215006 0.360632 0.624855 0.788786 1.122529 1.271335 1.469548 2.029397 2.292842 2.469529 -0.312967 0.420596 0.594715 1.013895 1.177345 1.350956 1.928177 2.047807 2.512550 2.690404 -0.306441 0.447709 0.635622 0.837489 1.339889 1.684905 1.878731 2.050783 2.442345 2.559302 -0.512714 0.732554 1.090397 1.458930 1.653272 1.872563 2.243616 2.386971 2.644360 2.753299 -0.338380 0.388353 0.687865 0.937576 1.022955 1.198008 1.345071 1.507334 2.539150 2.676481 -0.404547 0.489770 0.787746 1.025925 1.160826 1.496135 1.873747 1.995764 2.348409 2.558815 -0.185178 0.273616 0.662107 0.944310 1.146715 1.437855 1.860110 2.088161 2.488532 2.701156 -0.297691 0.433807 0.689073 0.914516 1.224645 1.524468 1.882477 2.108378 2.460989 2.729694 -0.246421 0.329313 0.740815 0.903181 1.072400 1.285931 1.740684 2.032245 2.270116 2.425587 -0.349571 0.509003 0.727457 0.878169 1.005363 1.205249 1.651188 1.987842 2.609611 2.723475 -0.174962 0.249723 0.401862 0.559808 1.151652 1.704681 1.872495 2.239764 2.430897 2.686106 -0.360336 0.530604 0.935905 1.180560 1.399529 1.740890 1.999598 2.182066 2.486093 2.641677 -0.220231 0.312545 0.449608 0.705056 1.007679 1.135090 1.633644 2.306528 2.622813 2.773890 -0.343635 0.564980 0.719160 0.856829 1.120400 1.237963 1.472239 1.924690 2.221264 2.357713 -0.181932 0.261428 0.385382 0.529871 1.326078 1.525795 1.689465 2.161317 2.354960 2.559655 -0.190215 0.341309 1.145487 1.357611 1.520525 1.690701 1.910605 2.192963 2.496750 2.684620 -0.231256 0.323986 0.509297 0.695026 0.811246 1.205058 1.698676 1.952659 2.225356 2.436417 -0.232855 0.310052 0.551612 0.995822 1.160276 1.555029 1.794030 1.930657 2.512921 2.691535 -0.224518 0.299721 0.651543 0.885427 1.520642 1.679516 1.886989 2.041276 2.532253 2.699897 -0.204419 0.557694 1.100186 1.347777 1.507922 1.794663 2.079200 2.312468 2.590685 2.744668 -0.206125 0.397544 0.556512 0.740671 0.860709 1.076989 1.713565 1.825995 2.561599 2.767561 -0.271126 0.422296 0.596820 0.801216 1.362100 1.508235 1.854835 2.090662 2.270770 2.457032 -0.217883 0.344596 0.493190 0.984719 1.284852 1.446608 1.855635 2.014247 2.506491 2.663445 -0.286136 0.348718 0.879652 1.116298 1.280497 1.611569 1.788213 2.223036 2.485667 2.605528 -0.206618 0.325875 0.503268 0.690657 0.816866 1.603798 1.931282 2.048093 2.300900 2.746683 -0.239837 0.367432 0.586673 0.749249 1.029445 1.541977 1.837717 2.152675 2.628130 2.775655 -0.154164 0.222772 0.333818 0.562653 1.465627 1.728492 1.959659 2.326185 2.619462 2.821726 -0.231365 0.366985 0.807033 1.157258 1.520494 1.640269 2.028108 2.269663 2.456856 2.630277 -0.242567 0.331771 0.487513 0.644276 0.800853 1.242217 1.739018 2.099717 2.426228 2.596782 -0.221262 0.374389 0.569573 0.704902 1.187721 1.414042 1.633903 2.049607 2.225608 2.522881 -0.182959 0.295198 0.401501 0.779683 1.428548 1.551019 1.766917 1.908320 2.610886 2.770247 -0.139632 0.228108 0.540279 0.898292 1.161261 1.527413 1.913196 2.221342 2.669902 2.842594 -0.199568 0.297036 0.423971 0.782421 1.094574 1.237964 1.458722 1.683022 2.217064 2.401823 -0.345577 0.539506 0.728116 0.928242 1.109271 1.252921 1.616753 1.872570 2.294941 2.593196 -0.232502 0.366195 0.532625 0.762469 1.377487 1.543949 1.839468 2.094305 2.306962 2.746485 -0.140704 0.240287 0.914003 1.159689 1.490769 1.781986 2.113189 2.322630 2.553898 2.735752 -0.182050 0.274243 0.384886 0.753150 1.226502 1.367895 1.578386 1.756614 2.368689 2.613973 -0.296233 0.395081 0.622990 1.050299 1.209800 1.377648 1.850837 1.965328 2.357424 2.667891 -0.210632 0.289301 0.558974 0.972835 1.230379 1.669485 1.879551 2.047374 2.584468 2.764860 -0.238075 0.443727 0.795624 1.008735 1.264607 1.681476 1.949029 2.204123 2.681059 2.831198 -0.209107 0.318887 0.502202 0.936331 1.215090 1.364179 1.664829 1.835085 2.029832 2.237236 -0.210399 0.360507 0.466140 0.793696 1.167290 1.269402 1.717457 1.883978 2.332357 2.642576 -0.182774 0.238064 0.406254 0.553908 1.089357 1.921943 2.114739 2.269998 2.553977 2.719355 -0.328207 0.496148 0.997544 1.217533 1.381558 1.589977 1.895773 2.171180 2.563942 2.756785 -0.146726 0.209578 0.327902 0.527454 0.750165 0.964221 1.730110 1.909856 2.277000 2.794161 -0.355489 0.509819 0.674351 0.852118 1.030963 1.155918 1.581384 2.041691 2.263390 2.416994 -0.220775 0.394332 0.538938 0.857502 1.090722 1.239600 1.901251 2.063868 2.417954 2.814398 -0.227931 0.269928 0.659119 1.441707 1.726640 1.837599 2.172077 2.323353 2.607646 2.741321 -0.204294 0.338820 0.480507 0.748377 0.971841 1.112524 1.682403 1.842741 2.204016 2.598799 -0.134004 0.253595 0.893064 1.145993 1.324870 1.551540 1.870979 2.144984 2.515124 2.768074 -0.257317 0.324072 0.436271 0.992642 1.573175 1.838976 1.971813 2.132071 2.317177 2.463177 -0.440270 0.694478 1.072028 1.389390 1.760193 1.976248 2.246033 2.390948 2.572760 2.701541 -0.271868 0.367973 0.618954 0.990978 1.193710 1.400934 1.753507 2.089331 2.441172 2.596397 -0.327621 0.496909 0.684291 0.830070 1.230609 1.553632 1.769123 2.021449 2.321602 2.475665 -0.150834 0.225465 0.584436 0.830787 1.228446 1.381420 1.677267 1.961417 2.348329 2.682122 -0.210368 0.286671 0.430934 1.168493 1.348054 1.560861 1.788186 2.334928 2.567985 2.774704 -0.192791 0.272915 0.432199 0.684073 1.250160 1.396822 1.637113 1.872041 2.138995 2.291744 -0.317041 0.383173 0.714443 0.880122 1.046184 1.601600 1.793056 1.983005 2.334210 2.481632 -0.262491 0.384516 0.723463 0.898594 1.235333 1.679346 2.063633 2.230677 2.438434 2.609821 -0.329714 0.503133 0.986474 1.242112 1.421780 1.772248 2.016548 2.418708 2.735517 2.841414 -0.234483 0.366854 0.685189 0.837277 1.107168 1.323527 1.924146 2.188176 2.392339 2.576791 -0.367554 0.480477 0.685257 0.863574 0.967484 1.324325 1.780913 1.895223 2.217908 2.565386 -0.170831 0.247070 0.413674 0.735129 1.097256 1.244501 1.863046 2.116005 2.354145 2.593904 -0.191987 0.265143 0.522063 1.001132 1.477027 1.634641 2.128571 2.320908 2.626696 2.814549 -0.173820 0.236201 0.389631 0.565594 1.191995 1.339140 1.563074 2.078967 2.273323 2.569148 -0.376887 0.472762 0.685713 0.842626 0.950694 1.348880 2.073181 2.248666 2.464908 2.680293 -0.200511 0.267485 0.473655 0.709045 1.237600 1.615428 2.015635 2.177003 2.363079 2.525359 -0.179632 0.571501 0.993053 1.356696 1.697465 1.978072 2.161225 2.343876 2.605905 2.752543 -0.171679 0.323767 0.479066 0.737860 0.967236 1.119767 1.534022 1.686592 2.597041 2.826056 -0.230844 0.314638 0.827482 1.044417 1.246762 1.604017 1.888847 2.034619 2.240069 2.646086 -0.137641 0.194410 0.446076 0.749008 1.056291 1.455419 1.852539 2.123128 2.508952 2.766009 -0.096036 0.420947 0.665747 1.146516 1.463996 1.612743 1.861963 2.227963 2.503650 2.739358 -0.245487 0.384590 0.558312 0.811909 1.198414 1.349136 1.841320 2.025572 2.208162 2.405870 -0.208252 0.316837 0.487011 0.938933 1.139581 1.396565 1.746724 2.105258 2.522568 2.681942 -0.283283 0.395565 0.569206 0.705427 1.140133 1.660691 1.900167 2.146532 2.523653 2.667587 -0.399059 0.602519 0.918365 1.124094 1.352400 1.574194 1.915640 2.120676 2.392517 2.583609 -0.212592 0.313545 0.489908 0.651935 0.827527 1.014819 1.629779 2.107560 2.651570 2.794154 -0.334733 0.413938 0.656403 1.035599 1.230100 1.372371 1.752515 1.932544 2.116066 2.340962 -0.195470 0.268391 0.431096 0.744590 1.272458 1.434994 1.887256 2.055124 2.216059 2.355652 -0.233843 0.277098 0.577590 1.353544 1.573248 1.679793 1.831093 1.982748 2.575813 2.732432 -0.140410 0.214833 0.361115 0.707069 1.082237 1.227591 1.633210 1.818367 2.466253 2.766104 -0.433646 0.517163 0.808168 1.061617 1.182393 1.497547 1.723696 1.907866 2.509297 2.679398 -0.251461 0.331356 0.713430 0.993326 1.485426 1.665910 1.856843 2.073870 2.333905 2.470116 -0.362946 0.782976 1.168741 1.324526 1.627412 1.779530 1.994819 2.203297 2.514465 2.683132 -0.283937 0.367927 0.590168 0.763650 0.889158 1.242000 1.768049 2.150831 2.361695 2.526931 -0.401929 0.576820 0.737804 0.921682 1.116842 1.229133 1.694656 2.010744 2.155271 2.356219 -0.212653 0.310679 0.420635 1.110694 1.371611 1.510937 1.878595 2.017471 2.541126 2.696793 -0.319899 0.406846 0.688156 1.227145 1.532072 1.647604 1.959419 2.112752 2.468573 2.688910 -0.213311 0.302778 0.513141 0.665182 1.070601 1.519880 1.688862 2.155925 2.405361 2.641935 -0.203445 0.273890 0.446788 0.621718 0.821718 1.552774 1.970174 2.157338 2.529885 2.666726 -0.179248 0.265048 0.386747 0.570219 1.370731 1.523935 1.867101 2.136819 2.309819 2.738000 -0.192568 0.286600 0.737250 1.129156 1.630027 1.793060 2.137459 2.357517 2.543832 2.752975 -0.159062 0.222492 0.441749 0.706956 0.873673 1.273730 1.807800 2.085052 2.433983 2.738811 -0.267122 0.464503 0.667094 0.815715 1.028866 1.162422 1.617585 2.164095 2.329764 2.612700 -0.144708 0.223957 0.317997 0.564825 1.508828 1.655161 1.857741 2.024989 2.639153 2.820953 -0.194645 0.249640 0.406742 0.707511 1.660221 1.859905 2.085456 2.405218 2.607363 2.746061 -0.429960 0.592124 0.787877 0.890595 1.103239 1.404765 1.789301 2.072362 2.432455 2.617254 -0.184536 0.285665 0.429789 0.950068 1.412318 1.523812 1.954708 2.141451 2.414013 2.765321 -0.369916 0.560855 0.927769 1.354226 1.560397 1.733808 2.189951 2.345823 2.725694 2.866959 -0.142852 0.219159 0.368392 0.659778 0.999846 1.194353 1.856812 2.065831 2.665677 2.850916 -0.209110 0.305167 0.683734 0.914276 1.379246 1.526394 1.790110 2.064232 2.299981 2.459264 -0.184899 0.316366 0.506466 0.728745 1.218050 1.378981 1.814293 1.999655 2.544039 2.730706 -0.286474 0.355126 0.718899 1.089400 1.225976 1.695737 1.936410 2.121418 2.444195 2.568086 -0.260728 0.353369 0.604610 0.768238 1.072125 1.608746 1.805375 1.949798 2.105786 2.406476 -0.330885 0.561445 0.724292 0.940383 1.093573 1.263066 1.930153 2.163533 2.408371 2.762449 -0.190585 0.245026 0.388935 0.531269 1.613901 1.940446 2.068138 2.295339 2.525519 2.695115 -0.659517 0.793695 0.983316 1.214573 1.426393 1.621779 1.948650 2.120559 2.402013 2.570449 -0.220748 0.332069 0.424610 0.602935 0.734265 0.935558 2.055617 2.265657 2.530681 2.854902 -0.290477 0.440845 0.612873 0.839848 1.327423 1.456572 1.939179 2.167778 2.371320 2.570765 -0.179431 0.280105 0.432734 0.918191 1.192829 1.320190 1.811052 1.955192 2.340353 2.782529 -0.202912 0.265690 0.431272 1.238667 1.481469 1.610194 1.975157 2.101548 2.630962 2.798935 -0.162106 0.210383 0.366556 0.543819 1.054714 1.205759 1.641024 2.015868 2.178793 2.627151 -0.317316 0.385969 0.673513 1.190904 1.357921 1.500892 1.894288 2.020919 2.379283 2.662802 -0.327266 0.429724 0.606313 0.900788 1.464235 1.816681 2.002694 2.138059 2.452853 2.554712 -0.416374 0.642735 1.300859 1.518625 1.707945 1.956089 2.222013 2.390921 2.684341 2.784854 -0.186066 0.250175 0.562512 0.738528 1.208585 1.362690 1.606043 2.109182 2.501183 2.707198 -0.236912 0.461787 0.686242 0.881092 1.300577 1.424620 1.725187 2.169489 2.361758 2.662324 -0.208063 0.337571 0.482777 0.926508 1.161683 1.311006 1.776451 1.933103 2.448810 2.646540 -0.256479 0.328343 0.499814 1.097457 1.386665 1.496809 1.952745 2.087139 2.342994 2.654825 -0.161661 0.224177 0.383379 0.607758 0.991555 1.381589 1.804283 1.998147 2.415608 2.619198 -0.386111 0.495518 0.750917 0.937387 1.069306 1.592878 2.091954 2.230429 2.574083 2.695163 -0.236835 0.303063 0.548777 0.748487 1.602860 1.790903 1.980987 2.173544 2.482285 2.674930 -0.115857 0.253229 0.839446 1.182318 1.604808 1.930292 2.262789 2.477033 2.731091 2.843896 -0.213435 0.341074 0.506347 0.714649 0.813915 1.154546 1.865334 2.056297 2.656061 2.833781 -0.152341 0.225866 0.394818 0.830840 1.039343 1.299776 1.515314 1.701937 2.172593 2.703933 -0.150002 0.193206 0.361814 0.541289 1.168971 1.515576 1.875006 2.181631 2.473830 2.750294 -0.175983 0.238402 0.392935 0.834832 1.568038 1.753001 1.950436 2.176878 2.408077 2.761430 -0.213829 0.318859 0.535586 0.713597 1.015672 1.174333 1.408597 2.083136 2.354086 2.563569 -0.417612 0.500513 0.811466 1.027816 1.139572 1.532510 1.959824 2.084676 2.544668 2.694259 -0.279259 0.446390 0.589074 0.796267 1.496946 1.723595 1.869786 2.100336 2.331076 2.456141 -0.444430 0.638237 1.041068 1.445315 1.605692 1.733619 2.167615 2.326214 2.602181 2.745455 -0.210087 0.362661 0.515500 0.840169 1.033119 1.239618 1.373615 1.803901 2.716235 2.848165 -0.225160 0.350738 0.501850 0.896968 1.297884 1.414194 1.669332 1.835349 2.075666 2.672832 -0.039211 0.113866 0.622349 0.907025 1.252791 1.535875 1.876167 2.163786 2.540348 2.789312 -0.126350 0.194309 0.675134 1.116698 1.365415 1.576318 1.849118 2.102016 2.438531 2.737802 -0.251266 0.342779 0.622143 0.793543 1.004128 1.433428 1.828192 2.011292 2.214652 2.441068 -0.287491 0.392893 0.575294 0.916666 1.023814 1.482149 1.829139 1.953760 2.589735 2.724978 -0.198423 0.295697 0.439598 0.609605 1.262768 1.619956 1.747689 2.005913 2.368608 2.490906 -0.358531 0.483574 0.802846 1.004510 1.351513 1.645034 1.955330 2.161545 2.477437 2.639225 -0.252099 0.385070 0.557560 0.740943 0.911070 1.013935 1.524718 2.136124 2.396009 2.750794 -0.277335 0.507312 0.745418 0.921396 1.189730 1.321635 1.630275 2.000574 2.318359 2.450355 -0.251729 0.359609 0.480792 0.813240 1.317908 1.441397 1.655896 2.171984 2.476511 2.611973 -0.267463 0.311514 0.756574 1.332619 1.482384 1.635505 1.872999 2.053016 2.640422 2.756993 -0.175657 0.240482 0.383528 0.598077 0.916809 1.091066 1.760568 1.946970 2.313700 2.484722 -0.308726 0.352539 0.822652 1.208001 1.295254 1.507386 1.644261 1.995003 2.594656 2.684930 -0.292332 0.442077 0.718688 0.941531 1.395212 1.630615 1.847265 2.270351 2.514492 2.713146 -0.215044 0.379718 1.248947 1.429713 1.705990 1.881505 2.089432 2.306464 2.505316 2.662383 -0.243250 0.359897 0.521676 0.699893 1.005116 1.271071 1.694794 2.008687 2.440679 2.593828 -0.300924 0.394176 0.559419 0.899409 1.454448 1.708566 1.869825 2.116095 2.376539 2.493592 -0.153405 0.251763 0.392574 0.866089 1.104658 1.286553 1.780043 1.916997 2.532174 2.688015 -0.279453 0.326159 0.753633 1.333374 1.499514 1.626480 1.898852 2.038525 2.500726 2.702071 -0.170059 0.229176 0.395854 0.705543 1.082349 1.588065 1.821443 1.949022 2.120108 2.537716 -0.202145 0.274872 0.419107 0.608489 0.758495 1.603432 1.748277 2.189578 2.559336 2.730653 -0.177888 0.251468 0.365661 0.658086 1.634785 1.816726 1.997979 2.183875 2.456958 2.811253 -0.317970 0.468942 0.803601 1.078125 1.370511 1.630999 1.971111 2.226246 2.543508 2.768268 -0.234066 0.324515 0.462757 0.683101 0.779120 1.399880 1.995585 2.098113 2.538242 2.655334 -0.226221 0.390737 0.587891 0.741564 1.148309 1.290898 1.572982 2.116901 2.296227 2.676682 -0.152380 0.275031 0.397732 0.652751 1.329373 1.439312 1.794813 1.940569 2.520664 2.797824 -0.166696 0.251629 0.512274 1.144842 1.315763 1.710247 2.178415 2.460971 2.703738 2.827969 -0.216867 0.347530 0.531282 0.706161 1.126385 1.301329 1.475176 1.901629 2.242013 2.431677 -0.300362 0.482595 0.791226 1.005231 1.156964 1.313455 1.691239 2.006858 2.373111 2.733635 -0.169474 0.255383 0.406046 0.734985 1.442352 1.579575 1.789148 1.957193 2.399133 2.566651 -0.130440 0.237458 1.032166 1.386551 1.711848 1.993258 2.268221 2.439261 2.683283 2.812111 -0.173867 0.278057 0.388656 0.749215 0.960862 1.146135 1.799140 1.979764 2.471783 2.619305 -0.242130 0.340749 0.474654 0.828524 1.328466 1.445245 1.802538 2.204747 2.373101 2.551440 -0.232537 0.347402 0.580048 1.030748 1.297867 1.477044 1.985462 2.164878 2.627119 2.813421 -0.187113 0.520796 0.877184 1.139100 1.389082 1.622317 1.923715 2.144320 2.454348 2.655504 -0.198782 0.276683 0.501229 0.913907 1.081324 1.395372 1.775624 1.940434 2.159949 2.585288 -0.219192 0.432472 0.587263 0.912549 1.202466 1.322625 1.811369 1.992180 2.458299 2.760505 -0.191165 0.276813 0.416963 0.651161 1.167971 1.294155 2.003249 2.230928 2.506110 2.774812 -0.363801 0.518796 0.957361 1.225911 1.566650 1.757756 1.962407 2.115286 2.359997 2.543054 -0.227701 0.362569 0.499430 0.731314 0.922719 1.040854 1.838698 2.164784 2.383067 2.810807 -0.465091 0.619804 0.778037 0.935635 1.093218 1.259037 1.829035 2.206537 2.404214 2.547685 -0.219345 0.331580 0.468701 0.864163 1.221425 1.316478 1.768475 2.078164 2.234895 2.666223 -0.202678 0.257891 0.463059 1.225499 1.595549 1.714423 2.230601 2.403829 2.599305 2.731507 -0.191295 0.292649 0.453931 0.663743 1.147168 1.275622 1.648493 2.119111 2.300099 2.725340 -0.202700 0.296043 0.842652 1.096103 1.432375 1.634580 1.849789 2.019083 2.373823 2.644180 -0.223698 0.286308 0.535549 0.951336 1.583619 1.712827 2.069074 2.228672 2.508621 2.712105 -0.393154 0.609187 1.147735 1.476125 1.660227 2.028129 2.280391 2.450954 2.687946 2.792306 -0.330421 0.541443 0.735477 0.935290 1.088544 1.300043 1.758898 2.291508 2.520235 2.677690 -0.228002 0.342730 0.476697 0.849764 1.368387 1.487565 1.712396 1.973744 2.334383 2.559863 -0.104462 0.175301 0.563572 0.921064 1.173139 1.367029 1.770789 1.951766 2.518901 2.747920 -0.195798 0.262376 0.397584 1.297059 1.483849 1.624630 1.820421 2.042136 2.481635 2.604228 -0.173538 0.223847 0.382154 0.562642 0.874661 1.340042 1.617180 1.932579 2.238320 2.383936 -0.257237 0.371721 0.696634 0.866614 1.045455 1.380460 1.752496 2.066892 2.504906 2.650308 -0.218997 0.321077 0.437617 0.666034 1.306150 1.849231 2.027564 2.199883 2.494261 2.649249 -0.320867 0.453548 0.918076 1.266491 1.422317 1.759869 1.998420 2.173922 2.635097 2.760926 -0.288066 0.410534 0.547460 0.760858 0.863292 1.068351 1.939410 2.167961 2.348114 2.767507 -0.218835 0.407925 0.654818 0.800374 1.153682 1.307829 1.657331 1.988984 2.263141 2.720996 -0.153945 0.202790 0.346143 0.519640 1.071723 1.237072 1.712069 1.893855 2.509996 2.744059 -0.248060 0.319372 0.459918 0.983442 1.443498 1.755178 2.100888 2.226747 2.447411 2.563325 -0.174462 0.227225 0.392742 0.571792 1.079416 1.257366 1.551460 2.042776 2.429302 2.629154 -0.274891 0.362315 0.660508 0.970740 1.151818 1.492509 2.072636 2.222125 2.494909 2.686200 -0.220299 0.317099 0.435591 0.793260 1.562295 1.723726 1.912306 2.110472 2.315517 2.618587 -0.350079 0.511699 0.888658 1.136538 1.502800 1.698163 2.138112 2.327492 2.505197 2.660921 -0.173175 0.286482 0.419571 0.629953 0.747452 1.073798 1.745440 1.887288 2.728362 2.862994 -0.302893 0.357795 0.579776 1.154149 1.373560 1.502096 1.831774 1.992189 2.178385 2.421943 -0.140345 0.186167 0.360424 0.858043 1.324588 1.624322 1.866334 2.036366 2.402471 2.617804 -0.207490 0.275386 0.532026 0.903652 1.559244 1.774707 1.962334 2.362983 2.596218 2.738415 -0.218842 0.320129 0.541623 0.875722 1.067991 1.362399 1.856837 2.024142 2.291054 2.645666 -0.341898 0.421854 0.677264 0.873738 1.018393 1.630494 1.868485 2.019716 2.616580 2.717499 -0.211631 0.278329 0.446819 0.679617 0.882530 1.848991 2.102209 2.280260 2.586273 2.750039 -0.400922 0.636971 0.853016 1.019114 1.364375 1.550804 1.850055 2.119999 2.453786 2.623222 -0.182154 0.242330 0.378923 0.509876 0.716576 1.076135 1.587035 2.069399 2.351207 2.660390 -0.400616 0.546715 0.729647 0.920762 1.100075 1.250132 1.664408 1.856723 2.067945 2.443519 -0.209711 0.304779 0.494008 0.698197 1.296713 1.461577 1.655811 1.885168 2.324920 2.489386 -0.248365 0.299675 0.641181 1.260844 1.683313 1.795634 2.022337 2.219236 2.445410 2.655259 -0.167092 0.244845 0.404157 0.672069 1.004556 1.174641 1.578514 1.897154 2.103236 2.709969 -0.429420 0.514025 0.817076 1.048094 1.187821 1.561651 1.826573 2.032100 2.492575 2.641130 -0.264974 0.350531 0.483895 0.953322 1.415379 1.541498 1.741521 2.171851 2.402443 2.527925 -0.416115 0.686348 1.016333 1.284030 1.627945 1.880349 2.143431 2.282669 2.504877 2.648617 -0.231020 0.416620 0.567188 0.760726 0.955087 1.089751 1.781039 1.967816 2.404279 2.797135 -0.416422 0.567520 0.709693 0.879615 1.302011 1.438085 1.678611 2.054536 2.326361 2.457927 -0.247904 0.324051 0.545383 1.111006 1.266454 1.612279 1.870112 2.027173 2.425991 2.655109 -0.279983 0.344606 0.621600 1.161229 1.307142 1.554450 1.784019 1.936785 2.444710 2.544691 -0.161547 0.223962 0.393255 0.741174 1.202310 1.599192 1.822694 1.937889 2.442478 2.729139 -0.340992 0.431955 0.678217 0.820520 0.999612 1.548630 2.164553 2.310748 2.585979 2.711488 -0.200183 0.279651 0.467745 0.730753 1.426170 1.607139 1.815853 2.220677 2.506455 2.727126 -0.274123 0.333601 0.517799 0.968069 1.665916 2.015026 2.169211 2.290528 2.535899 2.658723 -0.128641 0.167761 0.298260 0.447464 0.821352 1.285100 1.591690 1.879933 2.400984 2.764683 -0.198225 0.285988 0.697225 0.945530 1.135179 1.304018 1.590254 1.943114 2.370953 2.581323 -0.201444 0.271446 0.576127 0.726304 1.159527 1.677334 1.872822 2.127341 2.665189 2.807544 -0.198540 0.257454 0.402737 0.846677 1.689490 1.872412 2.034308 2.301368 2.545100 2.729540 -0.200348 0.278019 0.471514 0.752728 1.057356 1.291805 1.777614 1.916008 2.050356 2.172844 -0.466866 0.645308 0.804067 0.998786 1.191235 1.303931 1.785280 2.063043 2.218678 2.420840 -0.217955 0.321210 0.422194 0.865351 1.405153 1.526771 1.791058 2.088900 2.251039 2.667199 -0.168989 0.497826 1.018345 1.283132 1.493512 1.888380 2.226737 2.418452 2.616832 2.749197 -0.147852 0.218473 0.622343 0.825646 1.034661 1.220457 1.704813 2.051368 2.264302 2.712720 -0.202129 0.285808 0.640153 0.871843 1.173967 1.564865 1.834400 2.062497 2.412487 2.645130 -0.183772 0.259996 0.404816 0.684417 1.383605 1.536056 1.977056 2.169199 2.372324 2.556503 -0.306590 0.365918 0.723737 1.056338 1.191585 1.709401 1.978183 2.126256 2.594741 2.707129 -0.219620 0.295360 0.600693 0.751928 1.012492 1.554688 1.777591 1.936858 2.168459 2.637471 -0.484146 0.588901 0.779655 0.974444 1.078335 1.362035 1.861448 1.968026 2.308413 2.629418 -0.228810 0.270297 0.510434 0.721201 1.241319 1.730974 2.096849 2.211832 2.642499 2.808686 -0.400197 0.579628 1.063821 1.257463 1.434952 1.645068 2.017358 2.268483 2.625254 2.773542 -0.232047 0.335877 0.450404 0.618767 0.762409 0.943602 1.844169 2.391140 2.569963 2.779299 -0.315037 0.423610 0.597448 0.972112 1.370369 1.476900 1.783359 2.042461 2.209021 2.480610 -0.194589 0.300944 0.526012 0.730548 1.193408 1.383086 1.609867 1.882051 2.100633 2.703077 -0.215641 0.294490 0.558585 1.391554 1.487145 1.740600 1.911148 2.277087 2.578133 2.742082 -0.160391 0.226326 0.368755 0.670545 0.912912 1.286570 1.631159 1.807727 1.987079 2.498593 -0.313582 0.634117 0.786900 0.944061 1.309221 1.432287 1.720247 2.096637 2.283214 2.589845 -0.214437 0.264378 0.625288 0.975877 1.451393 1.848655 2.094494 2.248063 2.542408 2.690286 -0.532950 0.968164 1.239348 1.422500 1.673683 1.785201 2.010288 2.200155 2.489732 2.638101 -0.190399 0.270657 0.393327 0.864241 1.117361 1.553286 1.679497 2.236221 2.526322 2.700079 -0.287724 0.467671 0.675841 0.856838 1.284704 1.460878 1.649715 1.913527 2.422638 2.548168 -0.215869 0.300450 0.454163 1.082174 1.280570 1.465769 1.679659 1.869841 2.473902 2.623546 -0.274887 0.330100 0.521274 1.123699 1.527645 1.625993 1.931695 2.090005 2.295751 2.645233 -0.177139 0.223177 0.433328 0.774459 1.097689 1.467517 1.918942 2.134341 2.337195 2.540463 -0.346166 0.429209 0.673089 0.781966 1.198349 1.775370 1.954363 2.186438 2.523312 2.625185 -0.197636 0.296745 0.398712 0.631500 1.583954 1.843578 1.994071 2.173016 2.361743 2.519793 -0.356767 0.538545 0.898397 1.140796 1.519279 1.870556 2.168497 2.427459 2.643928 2.759816 -0.235015 0.349662 0.469548 0.816642 0.998816 1.146467 1.889133 2.097584 2.284986 2.765528 -0.167083 0.224131 0.448491 0.771954 0.948871 1.283667 1.621698 1.998899 2.223248 2.603115 -0.159315 0.217018 0.374226 0.590601 1.105826 1.536441 1.809766 1.960128 2.582005 2.795394 -0.168849 0.234032 0.344667 1.029831 1.622442 1.708285 2.016025 2.179960 2.644139 2.784632 -0.251075 0.442282 0.599669 0.763346 1.115735 1.253234 1.496825 1.992708 2.184264 2.666670 -0.388258 0.473926 0.719990 1.058667 1.198870 1.374618 1.864229 2.002653 2.271742 2.608038 -0.293347 0.422867 0.533090 0.863648 1.464010 1.686465 1.842829 2.008624 2.424518 2.579258 -0.422335 0.661725 1.188673 1.343060 1.557186 1.860452 2.239896 2.431450 2.631923 2.747718 -0.210220 0.335092 0.511807 0.760320 0.952999 1.125991 1.476685 1.647025 2.137411 2.688168 -0.373319 0.450044 0.685548 1.063488 1.214342 1.368881 1.749950 1.871124 2.228036 2.638333 -0.175282 0.247596 0.583289 0.800597 1.137160 1.494047 1.790222 1.974957 2.343536 2.783786 -0.154093 0.244641 0.765316 0.879236 1.262433 1.388927 1.719208 2.139465 2.523177 2.692366 -0.222311 0.296370 0.669831 0.821863 1.017560 1.348925 1.641603 1.852235 2.386204 2.585103 -0.372785 0.531082 0.729578 0.873202 1.002102 1.194509 1.654182 2.163378 2.555067 2.658778 -0.180452 0.250281 0.391345 0.554433 1.111079 1.737542 1.910605 2.127866 2.347054 2.534033 -0.447990 0.697721 0.913809 1.073923 1.398658 1.670558 1.960290 2.195050 2.584428 2.733637 -0.253764 0.410608 0.631333 0.803642 0.949880 1.072389 1.769476 2.303179 2.473513 2.749295 -0.249292 0.446941 0.652687 0.818128 1.175583 1.321675 1.534828 1.927620 2.151897 2.401118 -0.201342 0.301055 0.433733 0.667341 1.394399 1.542142 1.766411 2.222136 2.392138 2.617167 -0.263299 0.393237 0.913686 1.357749 1.580030 1.698507 1.930164 2.135083 2.415503 2.650696 -0.189848 0.308713 0.459867 0.797899 0.949965 1.168427 1.746219 1.919236 2.340878 2.529939 -0.236533 0.300777 0.705293 0.910173 1.158168 1.522892 1.727631 1.847056 2.544899 2.698351 -0.219264 0.293220 0.734905 0.969140 1.364696 1.628075 1.824426 1.921247 2.283403 2.660295 -0.231171 0.417787 0.828086 1.301747 1.563040 1.823547 2.038748 2.195446 2.600171 2.776056 -0.280635 0.391503 0.560168 0.699729 0.849390 1.139817 1.609055 2.003493 2.496847 2.631252 -0.329050 0.484505 0.654854 0.957533 1.414924 1.532367 1.798653 2.132845 2.332577 2.503880 -0.227219 0.317562 0.601344 0.991967 1.260680 1.430395 1.612725 1.766840 2.496056 2.645255 -0.270493 0.315583 0.641937 1.235995 1.409340 1.574822 1.760130 1.902696 2.598899 2.735147 -0.235474 0.326468 0.507399 0.696822 0.844939 1.633632 1.871816 2.063592 2.368254 2.525576 -0.233853 0.361484 0.482226 0.641979 0.992245 1.767823 1.952577 2.472579 2.742913 2.825489 -0.168433 0.243379 0.376538 0.823302 1.489064 1.619584 1.949821 2.203288 2.468309 2.771787 -0.206625 0.282620 0.554762 1.077945 1.286219 1.787257 2.045355 2.207994 2.522847 2.710409 -0.281540 0.359214 0.508755 0.689167 0.780776 1.277647 1.987095 2.102406 2.452824 2.573050 -0.240331 0.408023 0.587761 0.766784 1.268990 1.450068 1.614701 2.027579 2.386559 2.524671 -0.213600 0.378897 0.482559 0.820665 1.293224 1.395614 1.715777 1.852078 2.466446 2.706440 -0.192448 0.262539 0.378679 1.019763 1.468722 1.663670 1.910800 2.391601 2.621746 2.796560 -0.220322 0.364745 0.565226 0.783488 1.013662 1.175116 1.402286 1.885036 2.103704 2.324743 -0.322267 0.390833 0.713492 1.031629 1.156838 1.350887 1.515558 1.694139 2.382654 2.516728 -0.192624 0.294262 0.426181 0.741678 1.498008 1.633347 1.893062 2.059462 2.393665 2.782635 -0.237455 0.354262 0.864239 1.246075 1.666553 1.844678 2.174333 2.351099 2.520290 2.655921 -0.185359 0.302261 0.428703 0.781405 0.947101 1.141955 1.617902 1.761286 2.464616 2.634452 -0.271859 0.354517 0.569485 1.079860 1.240128 1.441296 1.944968 2.053805 2.406507 2.736827 -0.214936 0.298540 0.472345 0.913665 1.080008 1.684282 1.985267 2.173551 2.601519 2.749361 -0.318521 0.444000 0.739244 0.971075 1.303751 1.557191 1.918998 2.197692 2.552225 2.778091 -0.187184 0.266393 0.414559 0.873123 1.122008 1.345856 1.781616 1.932051 2.123625 2.364411 -0.212033 0.437364 0.587744 0.807841 1.008570 1.156068 1.667422 1.813734 2.388649 2.769182 -0.177749 0.231877 0.394438 0.587873 1.018115 1.532170 2.031818 2.176571 2.587458 2.778604 -0.397403 0.572539 1.117765 1.287841 1.469835 1.676483 1.995880 2.232196 2.496431 2.667425 -0.173937 0.259671 0.371889 0.555593 0.908572 1.118222 1.943858 2.087012 2.545553 2.816900 -0.296434 0.458071 0.635222 0.864989 1.198523 1.305471 1.672912 2.015023 2.193002 2.377815 -0.205052 0.312572 0.468685 0.774972 1.212302 1.316262 1.821237 2.193552 2.380352 2.766685 -0.240642 0.281687 0.717545 1.351376 1.501114 1.640455 2.046214 2.216028 2.588688 2.729942 -0.230445 0.421175 0.558602 0.846662 1.051701 1.197214 1.704701 1.838398 2.267565 2.697618 -0.276287 0.327977 0.824738 1.266737 1.373629 1.712792 1.891497 2.121117 2.537629 2.629970 -0.236249 0.310208 0.402132 0.954290 1.542483 1.886318 2.043856 2.203899 2.435931 2.547918 -0.323080 0.525410 0.940102 1.419025 1.732419 1.904886 2.278288 2.399903 2.613800 2.842137 -0.259462 0.384806 0.559454 0.827377 1.079010 1.194629 1.553023 2.150915 2.369416 2.537197 -0.309877 0.458904 0.634515 0.905896 1.340319 1.484136 1.732179 2.044813 2.234578 2.374887 -0.200760 0.267223 0.619798 0.880150 1.341984 1.566789 1.724877 1.834378 2.408354 2.666757 -0.232160 0.325786 0.611845 1.111911 1.277003 1.508409 1.711967 2.103218 2.470657 2.665982 -0.160381 0.206959 0.356984 0.510509 1.122026 1.271899 1.727695 1.943129 2.251421 2.380751 -0.339821 0.413428 0.663411 0.796136 0.920303 1.589702 1.879891 1.995622 2.491309 2.584399 -0.225236 0.289017 0.531590 0.689709 1.348190 1.761804 1.902696 2.175207 2.654910 2.781414 -0.283922 0.449613 0.777624 1.129523 1.487473 1.706799 2.164061 2.402885 2.691872 2.844990 -0.328301 0.439249 0.648655 0.897495 1.049452 1.222028 1.849808 2.229574 2.423163 2.565623 -0.236478 0.488322 0.656819 0.862950 1.144127 1.252241 1.694351 2.068901 2.226797 2.679600 -0.169945 0.258037 0.384767 0.609183 1.121274 1.266086 1.906028 2.054377 2.436068 2.795471 -0.177152 0.233124 0.534434 0.970496 1.404070 1.867414 2.171355 2.381133 2.619262 2.753148 -0.225245 0.323943 0.535205 0.711545 1.030041 1.268317 1.543910 1.921579 2.352057 2.531897 -0.380284 0.516944 0.727113 0.869680 1.061908 1.484627 1.847885 2.176267 2.550710 2.682243 -0.227653 0.311146 0.407614 0.830722 1.390383 1.796577 1.984514 2.172202 2.442702 2.597183 -0.395180 0.597222 0.988635 1.248608 1.649366 1.943305 2.114992 2.281535 2.610845 2.728627 -0.159527 0.253807 0.427177 0.703855 0.920030 1.359209 1.618673 1.774181 2.658938 2.839174 -0.232953 0.317175 0.734127 1.080631 1.332652 1.674943 1.899956 2.046773 2.307884 2.543358 -0.125436 0.171676 0.329679 0.770190 1.288629 1.482675 1.769818 2.055328 2.430854 2.715479 -0.108098 0.175220 0.776302 1.221645 1.460683 1.686249 1.929306 2.193619 2.536986 2.758891 -0.152357 0.202480 0.472758 0.861767 1.159578 1.340969 1.681897 2.048109 2.275054 2.477467 -0.216694 0.273656 0.664155 0.850536 1.153027 1.561670 1.759318 1.901416 2.353101 2.500133 -0.234504 0.329541 0.449717 0.797883 1.290186 1.691782 1.880443 2.100171 2.454967 2.611905 -0.423938 0.621841 0.996723 1.214793 1.409002 1.563377 1.783564 2.010297 2.490150 2.698586 -0.224661 0.325658 0.459910 0.625802 0.808594 0.895832 1.274078 2.111179 2.326505 2.585806 -0.276916 0.361107 0.729423 0.920236 1.053283 1.413110 1.741880 1.962097 2.139800 2.429514 -0.174802 0.232198 0.385912 0.540434 1.262000 1.441657 1.595105 1.943274 2.269839 2.417795 -0.265949 0.330919 0.614312 1.257075 1.438174 1.628356 1.917882 2.077892 2.425421 2.567960 -0.184742 0.272816 0.441616 0.641718 0.815915 1.210558 1.722330 1.942876 2.319698 2.747254 -0.390404 0.468994 0.743751 0.956882 1.081791 1.532303 1.750715 1.909157 2.466230 2.592626 -0.278150 0.353755 0.588139 1.120329 1.521033 1.629736 1.993707 2.192040 2.399567 2.620496 -0.431717 0.694505 1.256024 1.445196 1.671784 1.844456 2.028769 2.200956 2.506360 2.653075 -0.208110 0.276044 0.538093 0.719555 0.900539 1.075355 1.745222 2.086474 2.298600 2.556630 -0.352056 0.531509 0.676701 0.887365 1.282885 1.426632 1.614434 1.945858 2.270688 2.425511 -0.247241 0.356899 0.502519 1.065178 1.284311 1.437490 1.855456 1.992377 2.597541 2.776219 -0.396219 0.473793 0.715289 1.202273 1.346298 1.549130 1.940574 2.082739 2.514755 2.713815 -0.202378 0.285773 0.510159 0.640990 1.020854 1.686414 1.864702 2.133482 2.472249 2.625491 -0.136813 0.196375 0.389204 0.606996 0.826010 1.435725 1.829944 2.110031 2.522891 2.760011 -0.178586 0.265329 0.368903 0.594584 1.563859 1.743534 1.910893 2.088980 2.290832 2.753782 -0.326016 0.474212 0.821872 1.109710 1.491269 1.780679 1.990347 2.151819 2.439284 2.687522 -0.198877 0.303609 0.451495 0.660899 0.772185 1.284705 1.783160 1.923118 2.602735 2.756655 -0.279250 0.410975 0.617113 0.801949 0.990885 1.139677 1.438000 1.937681 2.530952 2.667930 -0.182348 0.288676 0.418208 0.638943 1.372299 1.531009 1.853629 2.058568 2.425537 2.822046 -0.235124 0.297027 0.512992 0.982242 1.579055 1.930478 2.096962 2.225930 2.572915 2.699703 -0.162278 0.215431 0.355780 0.485908 0.932607 1.181318 1.754127 1.988386 2.205810 2.337559 -0.508788 0.685414 0.844731 0.983038 1.244131 1.360404 1.646047 2.084834 2.375165 2.496801 -0.221912 0.310104 0.433571 0.978939 1.478709 1.587503 1.870190 2.010717 2.307807 2.780012 -0.359050 0.649694 1.005623 1.392268 1.637149 1.994024 2.239355 2.474016 2.727591 2.831065 -0.174907 0.277141 0.433141 0.954995 1.167887 1.336923 1.902421 2.052616 2.483944 2.686652 -0.193342 0.297566 0.824802 1.002859 1.285763 1.465909 1.800134 2.073494 2.392133 2.587289 -0.209852 0.288483 0.458682 0.843162 1.202473 1.352796 2.014405 2.202275 2.423702 2.568228 -0.276031 0.338955 0.858149 1.217747 1.357220 1.691136 1.841368 2.176457 2.647222 2.735745 -0.223125 0.303040 0.542560 0.703413 1.109469 1.691790 1.909510 2.043240 2.184955 2.383039 -0.338660 0.434962 0.644715 0.989980 1.142041 1.308641 1.862318 1.996732 2.219202 2.585521 -0.169788 0.227570 0.355680 0.476462 1.249736 1.884793 2.054427 2.245569 2.516757 2.692583 -0.510617 0.730414 1.008300 1.210250 1.460951 1.677387 1.984236 2.201040 2.503259 2.654324 -0.224817 0.351828 0.465847 0.709341 0.827775 0.992719 1.978367 2.142995 2.475303 2.800083 -0.308599 0.506317 0.673098 0.860582 1.161218 1.306099 1.811163 2.021896 2.233070 2.490125 -0.180388 0.242667 0.458646 0.739129 1.098421 1.521511 1.707512 1.853458 2.375659 2.563893 -0.191139 0.259717 0.375119 1.195018 1.535308 1.637017 1.945089 2.126276 2.528158 2.662854 -0.144026 0.195867 0.353543 0.581701 1.048420 1.377425 1.815657 1.969736 2.339863 2.778177 -0.384542 0.545846 0.742643 1.036203 1.274580 1.406237 1.737850 2.169732 2.446560 2.578757 -0.313042 0.444130 0.599720 0.924365 1.567785 1.748672 1.900293 2.194593 2.410541 2.573262 -0.492225 0.752280 1.124936 1.471295 1.758189 2.030974 2.238788 2.397439 2.680130 2.783434 -0.204117 0.347099 0.699998 0.845266 1.234413 1.419863 1.647535 2.080443 2.553390 2.707330 -0.257069 0.400082 0.558347 0.805346 1.259790 1.380823 1.608549 2.124230 2.308452 2.486914 -0.187028 0.318194 0.445217 0.923741 1.268789 1.390301 1.796420 1.931293 2.418538 2.603222 -0.243477 0.326319 0.635481 1.172112 1.360926 1.526662 2.109593 2.260517 2.545032 2.720529 -0.166613 0.243290 0.400708 0.657757 0.842275 1.476511 1.791837 1.950760 2.119370 2.472850 -0.311146 0.353401 0.824181 1.012251 1.149117 1.842349 2.055130 2.218062 2.570268 2.661992 -0.208668 0.283611 0.411201 0.809929 1.517017 1.823008 1.957049 2.229403 2.412596 2.626293 -0.154448 0.334483 0.779457 1.197447 1.370217 1.692002 1.980004 2.409686 2.713983 2.827926 -0.234171 0.317688 0.451503 0.830950 0.995999 1.149839 1.803812 2.310181 2.531615 2.732000 -0.268413 0.427669 0.559871 0.864380 1.275062 1.362920 1.581797 1.689453 2.226263 2.624807 -0.107565 0.142648 0.266262 0.674471 1.151548 1.464128 1.861043 2.141020 2.509385 2.783297 -0.182059 0.241841 0.379523 1.073956 1.618846 1.718260 1.915296 2.047758 2.360928 2.720733 -0.235150 0.374352 0.545815 0.714492 0.870405 1.000816 1.559351 1.984193 2.158182 2.596142 -0.434816 0.514709 0.756010 0.899497 1.037358 1.585142 1.834527 2.000422 2.564235 2.674345 -0.220087 0.341090 0.451896 0.734427 1.391206 1.582675 1.725710 2.141788 2.371107 2.511862 -0.482146 0.706990 1.033285 1.248170 1.467412 1.657558 2.147999 2.343164 2.600856 2.731213 -0.213401 0.322062 0.647358 0.791444 0.977300 1.281320 1.599647 1.939047 2.672620 2.797626 -0.266041 0.338577 0.634659 1.127429 1.295917 1.449033 1.658080 1.796624 2.285728 2.541842 -0.119705 0.174258 0.480098 1.063251 1.273831 1.476888 1.794829 2.119252 2.513047 2.762255 -0.132629 0.207248 0.566178 1.085083 1.427584 1.613863 1.889768 2.150853 2.557229 2.784690 -0.243227 0.327780 0.614668 0.761155 0.956760 1.516306 1.811880 2.030177 2.440252 2.582195 -0.276721 0.454860 0.642970 0.784038 1.148980 1.495704 1.703559 2.045787 2.591550 2.733608 -0.189778 0.287373 0.392353 0.645856 1.447021 1.617951 1.816249 2.137973 2.286683 2.572288 -0.400084 0.558491 0.869949 1.062095 1.467794 1.653306 1.899420 2.128461 2.442747 2.604032 -0.199764 0.300259 0.426072 0.645425 0.897550 1.048949 1.748510 2.273694 2.495239 2.649109 -0.296976 0.548524 0.761769 0.955832 1.233251 1.360741 1.693122 2.106225 2.391505 2.525275 -0.248971 0.399490 0.565645 0.720524 1.301434 1.542758 1.716234 2.124059 2.351786 2.681231 -0.230842 0.287955 0.878785 1.471322 1.627007 1.798878 2.005181 2.197775 2.563907 2.690549 -0.176416 0.248403 0.402172 0.733179 0.912580 1.227444 1.694562 2.088653 2.427226 2.563010 -0.330895 0.394275 0.774692 1.201779 1.321842 1.534733 1.782019 1.938050 2.422893 2.563017 -0.227080 0.299503 0.577295 0.756890 1.417382 1.624050 1.795338 2.177707 2.440812 2.572784 -0.411173 0.652311 1.207281 1.442451 1.795401 2.003085 2.140804 2.292980 2.639630 2.785365 -0.332277 0.425121 0.639151 0.821829 0.917909 1.367536 1.826675 1.939314 2.535595 2.654182 -0.345400 0.534948 0.689404 0.928224 1.433841 1.640941 1.825449 2.051581 2.274575 2.418295 -0.141590 0.233113 0.380526 0.868351 1.172524 1.363081 1.874782 2.001448 2.669736 2.855042 -0.309644 0.355571 0.694245 1.252006 1.460701 1.577178 1.853145 1.978370 2.227714 2.570337 -0.181796 0.242419 0.465928 0.715655 1.132014 1.662718 1.850134 1.972773 2.184021 2.722527 -0.270338 0.338307 0.544290 0.711724 0.871287 1.703598 1.918408 2.093313 2.668494 2.765585 -0.150135 0.233584 0.336008 0.740881 1.603784 1.723020 1.936836 2.077330 2.611782 2.783379 -0.294465 0.456340 0.870538 1.062801 1.291659 1.616175 2.070689 2.369390 2.648605 2.779945 -0.220578 0.311705 0.491111 0.847979 1.008368 1.532076 1.849702 2.005101 2.512156 2.669189 -0.229638 0.339951 0.513064 0.716308 1.121176 1.256758 1.479075 2.121337 2.503285 2.662824 -0.160524 0.210553 0.362234 0.595417 1.110208 1.477620 1.653645 1.883754 2.439740 2.625662 -0.236615 0.430340 0.682470 0.856444 1.159709 1.515913 1.944281 2.332831 2.633186 2.783526 -0.208672 0.301280 0.471802 0.926610 1.098592 1.288875 1.519452 1.800256 2.105532 2.428804 -0.243004 0.379283 0.831427 0.991746 1.231060 1.393310 1.679725 2.091152 2.354981 2.528458 -0.149934 0.192836 0.336118 0.489287 1.278027 1.443086 1.737711 1.939793 2.258510 2.725935 -0.162158 0.237674 0.813115 1.431297 1.690841 1.974269 2.228385 2.387649 2.645607 2.800036 -0.196527 0.310980 0.462098 0.736718 0.837132 1.268534 1.708387 1.848473 2.433059 2.576944 -0.217349 0.293339 0.438216 0.968725 1.350504 1.532480 1.911129 2.082089 2.268517 2.522732 -0.172105 0.253481 0.450363 0.927945 1.249256 1.437596 1.922782 2.218348 2.523926 2.733317 -0.289228 0.446047 0.832892 1.123024 1.277186 1.474382 1.792564 2.096649 2.561362 2.797590 -0.214142 0.283470 0.516137 1.061346 1.260972 1.417097 1.665641 1.862087 2.187452 2.353608 -0.235527 0.492936 0.614052 0.859127 0.993761 1.190535 1.848411 1.973235 2.500443 2.746547 -0.143271 0.207291 0.331889 0.827028 1.406412 1.555136 2.045910 2.231114 2.689514 2.839109 -0.343742 0.496860 0.865166 1.285087 1.588995 1.756794 2.022431 2.211289 2.468649 2.662665 -0.213309 0.328675 0.455568 0.723514 0.874048 1.082530 1.853818 2.038906 2.260788 2.778839 -0.356471 0.536984 0.755721 0.903361 1.038099 1.226007 1.687762 2.156339 2.420844 2.542644 -0.281664 0.451610 0.591581 0.828915 1.326665 1.477284 1.708022 2.017509 2.266128 2.700127 -0.135742 0.202004 0.583681 1.273102 1.602365 1.942380 2.228707 2.450342 2.728373 2.845988 -0.176935 0.288677 0.440469 0.786770 1.012958 1.172754 1.752038 1.913637 2.366577 2.766438 -0.207276 0.322804 0.788604 1.062222 1.294802 1.485775 1.944748 2.180022 2.397073 2.598545 -0.258418 0.319098 0.442127 1.133408 1.649338 1.854417 1.994251 2.185084 2.363409 2.534653 -0.230448 0.768093 1.180265 1.433576 1.687255 1.978844 2.259606 2.452430 2.659127 2.786279 -0.211701 0.332064 0.697403 0.880507 1.102252 1.277927 1.808607 2.273983 2.531209 2.736845 -0.245378 0.367568 0.512696 0.766674 1.343265 1.519747 1.697079 2.028107 2.215378 2.381457 -0.221209 0.324945 0.580820 0.748228 1.178564 1.431153 1.585928 1.927918 2.511054 2.643255 -0.201716 0.269175 0.401778 1.244589 1.471872 1.604627 1.805637 1.992744 2.610885 2.752593 -0.160780 0.247690 0.362958 0.624009 1.013756 1.182001 1.581983 1.735927 2.415792 2.646241 -0.320217 0.438376 0.710346 0.878476 1.032132 1.508649 1.972158 2.150849 2.428882 2.559870 -0.229810 0.276051 0.623852 0.830087 1.321297 1.854677 2.155401 2.284792 2.546209 2.690175 -0.172343 0.516169 0.866716 1.177175 1.468063 1.699344 1.986666 2.212830 2.511703 2.739129 -0.301807 0.360652 0.549602 0.672645 0.818574 1.362279 2.098253 2.278909 2.509794 2.695143 -0.294974 0.528192 0.672468 0.856772 1.265640 1.393603 1.638102 2.013275 2.218602 2.565642 -0.169196 0.238150 0.410484 0.644996 1.213738 1.372823 1.800122 1.969874 2.449498 2.615088 -0.184333 0.260633 0.376102 1.023515 1.545709 1.640728 2.037188 2.208164 2.488002 2.744323 -0.205806 0.304865 0.436462 0.616734 1.126032 1.261522 1.725527 2.275740 2.464199 2.702123 -0.184070 0.318390 0.717474 0.865476 1.106500 1.361536 2.038210 2.231225 2.554333 2.779851 -0.246294 0.360790 0.538254 0.736709 1.529013 1.795377 1.952814 2.142384 2.364128 2.495169 -0.353866 0.494646 0.877256 1.112783 1.566844 1.730636 2.025508 2.291163 2.453412 2.592313 -0.266813 0.432427 0.627311 0.754824 0.905537 1.197394 1.729117 2.123791 2.612331 2.827337 -0.273873 0.325959 0.540600 1.115405 1.498701 1.606801 1.814584 1.961539 2.188053 2.581605 -0.080925 0.099600 0.276658 0.947658 1.291923 1.611810 1.910613 2.219380 2.537903 2.797293 -0.168058 0.226944 0.705184 1.118312 1.428461 1.627351 1.878361 2.102812 2.397762 2.613552 -0.257821 0.370068 0.510355 0.878371 1.064949 1.223791 1.796480 2.039854 2.276323 2.505472 -0.243671 0.302629 0.595985 0.730818 1.062394 1.558183 1.727802 1.887397 2.590876 2.710615 -0.211122 0.278412 0.520693 0.699430 1.097533 1.812529 1.983523 2.189366 2.429825 2.610746 -0.256155 0.564923 0.839859 0.987034 1.191276 1.647157 2.021784 2.266855 2.558850 2.704555 -0.202989 0.292278 0.435910 0.640810 0.806537 0.924136 1.535334 2.086372 2.299823 2.572501 -0.261418 0.340324 0.627433 1.013276 1.180897 1.361209 1.731180 1.903731 2.106233 2.555098 -0.183272 0.269138 0.450407 0.909918 1.188568 1.381279 1.745735 1.872820 2.365239 2.484744 -0.230426 0.280037 0.644137 1.434869 1.666206 1.796575 2.015246 2.157224 2.561916 2.707798 -0.227013 0.347868 0.525371 0.707399 0.880208 1.091634 1.654713 1.951332 2.177455 2.319267 -0.380861 0.446326 0.749128 1.201643 1.336943 1.503446 1.800630 1.947582 2.527910 2.700466 -0.315223 0.375610 0.564441 1.017919 1.552234 1.710374 1.873741 2.122288 2.299878 2.473435 -0.446116 0.664203 0.984542 1.279400 1.574979 1.727934 1.978897 2.175567 2.469185 2.631008 -0.221571 0.330656 0.499929 0.777432 1.028387 1.180617 1.640596 2.168791 2.367015 2.714387 -0.421994 0.632233 0.778145 1.001218 1.346201 1.466628 1.720295 1.964067 2.152128 2.372888 -0.163687 0.242822 0.347278 0.971370 1.516739 1.620115 1.816941 1.949014 2.443334 2.638176 -0.284949 0.352677 0.685252 1.135143 1.255140 1.560889 1.905396 2.035214 2.547256 2.683043 -0.177362 0.243130 0.452833 0.824266 1.135565 1.520115 1.813864 1.958746 2.294091 2.563724 -0.178458 0.242386 0.592702 0.788280 1.051353 1.502905 1.934975 2.183628 2.477003 2.654310 -0.259519 0.407690 0.538212 0.728451 1.390298 1.713874 1.876895 2.109781 2.420753 2.577065 -0.255216 0.310327 0.589176 1.157266 1.687747 1.925407 2.045142 2.222504 2.425083 2.548028 -0.164446 0.206868 0.378009 0.525559 0.944579 1.419792 1.613300 1.889685 2.292641 2.565572 -0.240619 0.406939 0.588886 0.735213 1.146793 1.389773 1.537737 1.878402 2.297976 2.552226 -0.289310 0.418786 0.620314 0.764899 1.239942 1.612628 1.827524 2.107944 2.485462 2.639007 -0.198771 0.253637 0.405678 1.048168 1.663883 1.766039 2.128211 2.283365 2.560190 2.709800 -0.165963 0.230669 0.375008 0.692069 0.959835 1.378579 1.760825 1.948801 2.081418 2.369799 -0.523510 0.686129 0.825335 1.033919 1.330937 1.444794 1.739869 2.062844 2.315205 2.450730 -0.293681 0.417926 0.595503 0.957896 1.404495 1.522162 1.884014 2.096933 2.301269 2.621891 -0.359283 0.604669 1.076288 1.248249 1.451793 1.744413 2.125184 2.431489 2.687730 2.799316 -0.156185 0.235581 0.552175 0.813130 1.154557 1.326329 1.861696 2.153380 2.503796 2.787362 -0.290411 0.440558 0.736912 0.889007 1.171361 1.470366 1.794734 2.061516 2.373978 2.626041 -0.224936 0.320946 0.527542 0.738900 1.255619 1.428610 1.871090 2.256589 2.480524 2.694434 -0.288975 0.352962 0.777218 0.955880 1.109873 1.594800 1.813598 1.955710 2.589302 2.714964 -0.213548 0.285746 0.635954 0.830113 1.233322 1.591243 1.839168 1.977797 2.191863 2.623667 -0.336902 0.465806 0.655656 0.935793 1.068579 1.275847 1.761107 1.886493 2.444770 2.653299 -0.178879 0.258874 0.377390 0.527403 1.357599 1.761048 1.949090 2.163795 2.596422 2.759195 -0.430143 0.622963 0.955719 1.182584 1.497132 1.720157 2.044968 2.255285 2.544050 2.680998 -0.213810 0.308853 0.412187 0.569347 0.698344 0.951238 1.880619 2.207829 2.428571 2.828730 -0.230078 0.350112 0.747969 0.974442 1.265182 1.407146 1.813877 2.069124 2.247230 2.451871 -0.161458 0.227385 0.387324 0.640232 1.277813 1.478011 1.725217 1.915041 2.125833 2.645182 -0.200302 0.251181 0.381966 1.303694 1.547137 1.662388 2.120598 2.270182 2.603139 2.775037 -0.143149 0.204983 0.349581 0.667355 1.054734 1.399807 1.727708 1.850109 2.047799 2.715549 -0.337070 0.484021 0.803330 0.985730 1.331585 1.542266 1.830512 2.086973 2.445274 2.632911 -0.215583 0.269471 0.606879 0.945487 1.515635 1.750218 1.939935 2.174549 2.408151 2.576074 -0.534065 0.863487 1.372366 1.575333 1.866659 2.070622 2.218716 2.368585 2.634956 2.716254 -0.237658 0.350270 0.489196 0.956466 1.150453 1.341383 1.448597 2.345953 2.655585 2.785735 -0.233020 0.367323 0.713299 0.877999 1.226884 1.412189 1.743848 1.959402 2.416964 2.595603 -0.134934 0.190506 0.457228 0.942655 1.200550 1.509494 1.748249 1.912543 2.326213 2.742656 -0.297757 0.342592 0.625651 1.192568 1.540655 1.652384 1.875775 2.074460 2.224137 2.465967 -0.177286 0.234207 0.389716 0.517516 1.264974 1.424653 1.878090 2.150100 2.343577 2.537476 -0.281819 0.367413 0.659188 0.765361 1.004368 1.501384 1.726113 2.194951 2.534788 2.645854 -0.180979 0.252107 0.389029 0.570917 1.209940 1.699305 2.111361 2.224160 2.447867 2.620250 -0.256330 0.426903 0.826318 1.152683 1.487139 1.915114 2.246737 2.487453 2.705023 2.815420 -0.195539 0.316745 0.452617 0.833168 0.960504 1.269064 1.879314 2.025539 2.474377 2.680723 -0.203505 0.369568 0.536367 0.778820 1.088933 1.243750 1.588708 1.823497 2.020053 2.594631 -0.156418 0.198956 0.346275 0.496071 1.022702 1.572819 1.753592 2.143215 2.439211 2.674470 -0.160863 0.247666 0.345815 0.841020 1.523112 1.638256 1.887324 2.031339 2.509810 2.718796 -0.258214 0.480809 0.650419 0.801775 1.142337 1.283943 1.504959 2.054206 2.225835 2.474616 -0.303681 0.412740 0.649849 1.086617 1.266890 1.447470 1.896224 2.075119 2.565787 2.741747 -0.271067 0.413984 0.597954 0.768944 1.247881 1.606107 1.786404 2.085376 2.326363 2.529854 -0.521626 0.811390 1.129336 1.284608 1.629969 1.909728 2.228029 2.368756 2.570103 2.697107 -0.303633 0.421526 0.573677 0.925024 1.125497 1.258550 1.501212 1.610013 2.249352 2.608832 -0.411522 0.503523 0.746692 1.046522 1.172005 1.384521 1.797259 1.900603 2.387578 2.660719 -0.175711 0.239782 0.620582 0.952051 1.278311 1.501826 1.917072 2.130700 2.368785 2.608122 -0.164631 0.422501 0.724319 0.950544 1.214644 1.491261 1.799734 2.067799 2.473726 2.757283 -0.193259 0.281162 0.690376 0.855405 1.232753 1.402146 1.689327 1.991274 2.228334 2.435353 -0.301425 0.429993 0.650401 0.873662 1.008503 1.369274 1.690750 1.825918 2.520079 2.683664 -0.155700 0.201237 0.338696 0.505340 1.147916 1.472901 1.941300 2.074514 2.326431 2.663368 -0.350326 0.535475 0.827403 1.201270 1.427031 1.581852 1.963067 2.220906 2.472991 2.668217 -0.279035 0.416052 0.604816 0.794888 0.990688 1.105072 1.420018 2.166296 2.539337 2.676318 -0.278246 0.394509 0.777126 0.921607 1.080479 1.281224 1.433634 2.046850 2.283781 2.454104 -0.158340 0.199119 0.354050 0.555065 1.177314 1.442096 1.685385 2.144139 2.396032 2.716012 -0.247102 0.317737 0.855614 1.333153 1.454453 1.787157 1.970697 2.269614 2.586000 2.679846 -0.202515 0.257270 0.542126 0.724324 0.933997 1.317188 1.717435 2.091303 2.303481 2.469447 -0.295032 0.375581 0.775220 1.057728 1.185439 1.521116 1.807145 1.955630 2.459124 2.631564 -0.266524 0.353178 0.553809 1.043318 1.444903 1.560508 1.829729 1.962933 2.504864 2.699633 -0.392075 0.574661 1.110281 1.317280 1.473545 1.883432 2.051877 2.263410 2.613387 2.737894 -0.168326 0.277952 0.453865 0.702950 0.855434 1.035959 1.678564 1.811649 2.430121 2.811216 -0.301453 0.416493 0.552087 0.857890 1.446563 1.610970 1.775934 2.104633 2.298771 2.438580 -0.296445 0.422883 0.572322 1.053033 1.294027 1.427183 1.752752 1.892326 2.450076 2.720985 -0.291284 0.337800 0.787813 1.245129 1.350343 1.575395 1.771522 2.054749 2.520469 2.632047 -0.138710 0.200016 0.384208 0.667517 0.930105 1.493340 1.923603 2.079511 2.389298 2.733779 -0.280864 0.419489 0.614429 0.763022 1.011923 1.456038 1.644559 2.246694 2.668232 2.789516 -0.145213 0.217524 0.328786 0.706480 1.529301 1.661988 2.106773 2.330515 2.581680 2.792686 -0.265809 0.345868 0.597082 1.070990 1.497116 1.633533 2.139627 2.280686 2.512817 2.668144 -0.208788 0.353537 0.448428 0.744542 0.832763 1.081624 1.871188 2.032083 2.429608 2.599530 -0.238916 0.386378 0.542985 0.766669 1.174876 1.281048 1.635077 2.080947 2.247664 2.488499 -0.203556 0.321547 0.427750 0.977606 1.419067 1.509630 1.819297 1.946189 2.580163 2.776386 -0.139996 0.214290 0.381653 0.921888 1.276433 1.581217 1.904101 2.138537 2.662439 2.833853 -0.212852 0.314107 0.462617 0.919913 1.063259 1.256340 1.466783 1.677489 2.033592 2.181966 -0.466600 0.630996 0.782487 0.940455 1.238899 1.391865 1.580807 1.885579 2.314316 2.461513 -0.227025 0.350571 0.564570 0.792724 1.354349 1.541346 1.801883 2.207919 2.410212 2.682787 -0.249981 0.396397 0.985691 1.264822 1.534123 1.871221 2.123754 2.286134 2.517526 2.674066 -0.177530 0.299649 0.406845 0.735920 1.226985 1.334179 1.570608 1.724780 2.559215 2.784411 -0.331581 0.410000 0.675272 1.110025 1.255576 1.427242 1.924905 2.045160 2.303923 2.638796 -0.210022 0.302618 0.477941 0.890428 1.097541 1.628245 1.909906 2.220072 2.508520 2.652118 -0.243446 0.420405 0.781875 1.124911 1.345163 1.548171 1.986124 2.256316 2.655998 2.839208 -0.200937 0.269954 0.466285 0.792334 1.180229 1.434359 1.791176 1.944075 2.077160 2.197213 -0.251311 0.446771 0.586446 0.941160 1.156270 1.303306 1.672045 1.830703 2.385130 2.761692 -0.176967 0.213758 0.376271 0.498915 1.047907 1.738519 2.144585 2.257100 2.630427 2.811560 -0.352772 0.503472 0.939563 1.201270 1.506542 1.660120 1.860724 2.068816 2.441126 2.640996 -0.178023 0.303052 0.386553 0.624462 0.745438 0.945475 1.851506 1.982051 2.478715 2.678062 -0.364266 0.492788 0.670783 0.846141 0.981327 1.137049 1.747901 2.123325 2.278768 2.451425 -0.194628 0.412302 0.576670 0.847302 1.093833 1.250221 1.832799 1.978334 2.268735 2.705748 -0.210126 0.261821 0.730491 1.414850 1.596688 1.714047 2.240294 2.394580 2.609061 2.726773 -0.269651 0.402612 0.565711 0.760525 0.889819 1.107327 1.796638 1.997957 2.232105 2.568438 -0.133808 0.231770 0.964886 1.241597 1.484042 1.687250 1.909900 2.150489 2.488549 2.709142 -0.306823 0.378775 0.528651 1.056677 1.597646 1.784457 1.922205 2.165550 2.402629 2.533249 -0.406081 0.580663 1.171379 1.458297 1.720903 1.880717 2.213995 2.369466 2.530713 2.666970 -0.228294 0.391754 0.668996 0.852912 1.156334 1.293279 1.648848 2.231024 2.414612 2.628285 -0.302709 0.472535 0.626855 0.843574 1.352641 1.488643 1.688728 2.088022 2.315798 2.484648 -0.174773 0.243410 0.746413 0.964816 1.191099 1.363990 1.763375 2.002057 2.265912 2.600431 -0.208518 0.277532 0.471186 1.268798 1.353448 1.735767 1.868117 2.374184 2.641977 2.776723 -0.181223 0.240142 0.433185 0.698630 1.302639 1.456283 1.718530 1.991528 2.237981 2.340398 -0.351292 0.440375 0.723077 0.926148 1.074170 1.439999 1.696850 1.901716 2.300430 2.453901 -0.226417 0.295615 0.571000 0.984080 1.315950 1.698856 1.941891 2.121713 2.342505 2.579999 -0.380156 0.575056 0.932765 1.215036 1.441177 1.764868 2.084529 2.309314 2.649989 2.795048 -0.327618 0.406456 0.591362 0.776642 0.880344 1.202380 1.954155 2.143987 2.351308 2.562503 -0.349506 0.502746 0.667403 0.858540 1.006257 1.182652 1.744117 1.942048 2.263027 2.631113 -0.177120 0.223929 0.376392 0.517683 0.980327 1.245272 1.809519 2.111620 2.342282 2.674853 -0.123205 0.175349 0.396680 1.076230 1.369038 1.673956 1.959621 2.213420 2.585626 2.780840 -0.199931 0.299170 0.450172 0.705023 1.188319 1.349840 1.579504 2.154568 2.351041 2.525566 -0.302167 0.465527 0.626305 0.861772 0.982600 1.308182 1.952424 2.093800 2.477514 2.675986 -0.242409 0.306396 0.609503 0.781681 1.304327 1.721020 1.925053 2.059600 2.219491 2.531271 -0.355459 0.562814 1.005674 1.276256 1.699547 1.938826 2.256737 2.427235 2.599155 2.727721 -0.151530 0.250374 0.398298 0.598018 0.779517 1.173799 1.570201 1.708674 2.564516 2.838232 -0.220397 0.279236 0.757790 1.106570 1.277089 1.577301 1.822237 1.978751 2.121441 2.474720 -0.153326 0.218116 0.394366 0.701525 1.051329 1.626441 1.887066 2.073879 2.602080 2.787764 -0.234610 0.396895 0.841428 1.067362 1.368124 1.669319 1.979920 2.264168 2.548149 2.700534 -0.210859 0.310938 0.499147 0.721086 1.174085 1.319358 1.795112 2.119739 2.328704 2.523434 -0.205900 0.309942 0.473488 0.788729 0.910899 1.492677 1.711470 1.896973 2.451938 2.620192 -0.228664 0.320277 0.483685 0.662193 1.183931 1.743195 1.934444 2.129302 2.472394 2.610315 -0.308768 0.504829 0.834602 1.135142 1.422684 1.603830 1.804246 2.039329 2.434630 2.712164 -0.195372 0.307825 0.510685 0.705293 0.862776 0.987472 1.561941 1.940733 2.431850 2.813875 -0.306758 0.363734 0.676055 1.018763 1.123399 1.370232 1.612188 1.792290 2.051896 2.212304 -0.175686 0.229897 0.430909 0.821342 1.267737 1.439041 1.813710 2.050941 2.367020 2.513483 -0.270387 0.314704 0.625717 1.328248 1.485768 1.648429 1.945037 2.074570 2.558789 2.681083 -0.150545 0.249063 0.484485 0.650722 0.926307 1.336973 1.578609 1.727988 2.372974 2.800106 -0.451543 0.550287 0.774083 1.017766 1.117810 1.452119 1.851289 1.956638 2.541998 2.714928 -0.303976 0.365108 0.645290 1.163674 1.649225 1.816629 1.956898 2.167435 2.334752 2.499609 -0.258346 0.804804 1.233083 1.450024 1.793938 1.975438 2.178153 2.350853 2.545268 2.695382 -0.305873 0.411332 0.559751 0.770260 0.870638 1.070601 1.844362 2.171189 2.331380 2.561172 -0.328067 0.572423 0.818346 0.977873 1.251504 1.396022 1.679055 2.003477 2.202890 2.376892 -0.233685 0.324374 0.505263 1.162727 1.383328 1.533712 1.921509 2.038933 2.644680 2.830387 -0.368811 0.446580 0.830711 1.314440 1.454376 1.633636 1.932315 2.093222 2.523433 2.696884 -0.225386 0.331700 0.499419 0.651259 1.081776 1.536183 1.684810 2.115502 2.326023 2.493957 -0.223044 0.298517 0.436019 0.582229 0.785616 1.768538 2.059742 2.207026 2.494017 2.696171 -0.180285 0.258337 0.369821 0.519766 1.426414 1.652781 1.844922 2.044342 2.221032 2.715648 -0.283330 0.386958 0.793201 1.012390 1.401661 1.814923 2.032214 2.252691 2.478442 2.623605 -0.192303 0.289501 0.500660 0.766599 0.927796 1.379237 1.761645 2.133602 2.524890 2.706929 -0.240366 0.425376 0.713195 0.854560 1.062811 1.239666 1.453114 2.086242 2.409526 2.579680 -0.137084 0.190186 0.315294 0.519061 1.348977 1.578096 1.776272 1.932718 2.478330 2.764053 -0.256575 0.299517 0.557847 0.772199 1.734591 1.838024 2.175501 2.380904 2.586733 2.722357 -0.152502 0.184110 0.342575 0.500794 0.869142 1.091892 1.283627 1.913051 2.078861 2.216081 -0.422116 0.624411 0.936013 1.075293 1.214093 1.394857 1.793604 2.068743 2.420462 2.621433 -0.172110 0.265160 0.376968 0.872523 1.415505 1.522936 1.876576 2.026326 2.412597 2.784541 -0.206316 0.484509 0.867999 1.264771 1.619155 1.941304 2.179857 2.450350 2.746320 2.859252 -0.183287 0.327870 0.479087 0.793937 1.054850 1.228053 1.799851 2.057544 2.605366 2.808018 -0.199645 0.251567 0.651339 0.845163 1.224263 1.400865 1.849917 2.073362 2.320314 2.465281 -0.172950 0.268061 0.408629 0.749321 1.232382 1.363027 1.833510 1.995806 2.311255 2.818028 -0.383755 0.436949 0.854750 1.093429 1.211736 1.678565 1.897539 2.135411 2.547959 2.639036 -0.206666 0.277792 0.525267 0.971550 1.150633 1.543543 1.818711 1.982032 2.192940 2.418823 -0.297704 0.438877 0.602705 0.935349 1.126380 1.302724 1.887231 2.030156 2.370716 2.648705 -0.225939 0.261133 0.511885 0.708833 1.424678 1.892147 2.104001 2.250163 2.605088 2.746840 -0.452216 0.679332 1.031388 1.239650 1.444390 1.576987 1.800188 2.037662 2.347747 2.559010 -0.246537 0.319428 0.434869 0.567303 0.678662 1.145054 2.156111 2.318698 2.695808 2.850677 -0.323068 0.487001 0.653349 0.909650 1.315899 1.427550 1.843764 2.091482 2.277958 2.521041 -0.151653 0.209991 0.374931 0.854455 1.064290 1.434370 1.854148 1.976154 2.226004 2.750320 -0.254129 0.318082 0.553509 1.223731 1.483086 1.618808 1.995613 2.126498 2.542503 2.704703 -0.159794 0.237065 0.373617 0.681392 0.916230 1.100174 1.782317 1.960086 2.120694 2.618079 -0.395727 0.506034 0.756406 1.188386 1.370570 1.507131 1.860951 2.052892 2.386064 2.617425 -0.235512 0.301393 0.657521 0.969184 1.638320 1.830168 1.984994 2.183324 2.395359 2.538524 -0.451916 0.818196 1.310860 1.494170 1.734505 1.944228 2.085155 2.271405 2.604215 2.715654 -0.229547 0.331804 0.499374 0.698992 1.265974 1.467138 1.658356 2.268601 2.583952 2.762021 -0.258732 0.443700 0.582380 0.800795 1.354913 1.537609 1.724000 2.113993 2.369337 2.558869 -0.156813 0.299295 0.462045 0.796077 1.096063 1.269277 1.836371 1.991867 2.448318 2.597971 -0.246591 0.304473 0.529300 1.215091 1.451169 1.571384 1.868982 1.972518 2.391725 2.695616 -0.169559 0.209107 0.367228 0.505130 1.079358 1.293153 1.736205 2.042985 2.323978 2.564293 -0.329533 0.392210 0.720874 0.936253 1.067646 1.644185 1.991320 2.118407 2.596262 2.701052 -0.201406 0.291786 0.394755 0.617862 1.695417 1.914199 2.049472 2.237494 2.441266 2.568384 -0.115269 0.195387 0.738170 1.042436 1.524313 1.807507 2.173634 2.393265 2.651838 2.824917 -0.173769 0.282805 0.419446 0.776536 0.928220 1.160391 1.958931 2.101699 2.541381 2.732928 -0.209696 0.340593 0.516203 0.794250 1.153989 1.275003 1.570690 1.733317 2.086323 2.795392 -0.110476 0.145162 0.248644 0.465410 1.205115 1.426951 1.838992 2.085791 2.488927 2.779657 -0.223681 0.283712 0.440694 1.041879 1.657659 1.762280 2.000478 2.153137 2.435135 2.637721 -0.178995 0.282691 0.473035 0.740633 0.911089 1.104519 1.288366 1.821180 2.201221 2.508461 -0.443099 0.561309 0.804443 1.033650 1.140498 1.408557 1.973383 2.105087 2.432294 2.654409 -0.222370 0.320892 0.431815 0.774539 1.450421 1.638383 1.817605 2.055496 2.231523 2.414745 -0.488759 0.722119 1.075268 1.294956 1.551912 1.839530 2.130626 2.354921 2.626536 2.737698 -0.209201 0.325492 0.450619 1.020698 1.213389 1.358613 1.538589 1.759768 2.620164 2.791411 -0.254420 0.409271 0.532950 0.933560 1.248401 1.350851 1.728513 1.887503 2.311205 2.707429 -0.039082 0.123291 0.563195 0.857519 1.261207 1.529819 1.850039 2.144420 2.476829 2.755410 -0.127556 0.217058 0.807380 1.043662 1.378203 1.631976 1.940815 2.207962 2.528274 2.764303 -0.214258 0.299923 0.606169 0.768797 1.015893 1.349821 1.669065 1.924581 2.111348 2.418396 -0.364885 0.502482 0.675283 0.930660 1.036461 1.354434 1.834770 1.950661 2.559472 2.726950 -0.221471 0.330609 0.456653 0.686616 1.285861 1.685279 1.842952 2.117269 2.300993 2.591367 -0.347069 0.500335 0.788322 1.022915 1.371254 1.585460 1.855588 2.176902 2.477587 2.720481 -0.281028 0.414603 0.602236 0.792786 0.907330 1.090040 1.687453 2.129718 2.489785 2.634419 -0.363245 0.571116 0.705668 0.861203 1.204113 1.333048 1.544624 2.016192 2.258768 2.434454 -0.215734 0.321274 0.465393 0.666555 1.274668 1.427396 1.670511 2.228318 2.394993 2.624012 -0.270727 0.332361 0.883612 1.283495 1.433436 1.649610 1.838125 2.021889 2.560021 2.698378 -0.175763 0.213621 0.391730 0.566755 0.955973 1.388956 1.878982 2.137460 2.349368 2.478188 -0.257598 0.316184 0.657817 1.118064 1.272143 1.501175 1.689925 1.857456 2.616979 2.735442 -0.227270 0.307771 0.544263 1.030949 1.478367 1.606785 1.851814 2.266798 2.452714 2.629357 -0.255179 0.376313 1.164078 1.383762 1.652706 1.817476 2.014659 2.160928 2.460094 2.623430 -0.274618 0.450301 0.650957 0.842032 1.042329 1.233369 1.641038 1.987714 2.446952 2.597194 -0.337780 0.514835 0.668892 0.911283 1.476046 1.714011 1.887574 2.115985 2.373951 2.499093 -0.172594 0.270224 0.434372 0.864398 1.037663 1.485795 1.748590 2.020761 2.643028 2.800341 -0.270150 0.317310 0.733644 1.342780 1.517768 1.641210 1.845979 1.981779 2.361540 2.595899 -0.160609 0.230103 0.452778 0.853418 1.061340 1.458644 1.711466 1.875295 2.205269 2.709841 -0.302065 0.354507 0.587391 0.684546 0.931120 1.757948 1.902878 2.288464 2.550897 2.656497 -0.142376 0.211224 0.315730 0.534420 1.587988 1.751880 2.118162 2.354064 2.604623 2.786794 -0.386559 0.540492 0.884711 1.083540 1.507785 1.692150 1.931330 2.198611 2.531354 2.678491 -0.323902 0.389328 0.540529 0.671309 0.782921 1.525984 2.046871 2.140001 2.472270 2.566702 -0.227988 0.399979 0.639588 0.791383 1.185694 1.369429 1.655774 2.094051 2.385252 2.754008 -0.140257 0.228630 0.342001 0.596028 1.326401 1.465391 1.823254 1.961877 2.671876 2.831534 -0.121381 0.186129 0.623448 1.000592 1.306405 1.641012 2.056458 2.375989 2.709278 2.848728 -0.247607 0.350532 0.510244 0.883136 1.094021 1.210853 1.639562 2.030725 2.223639 2.416473 -0.357005 0.520431 0.875831 1.062576 1.221746 1.345463 1.623626 2.038524 2.477051 2.698891 -0.179634 0.278991 0.394920 0.736511 1.402026 1.576761 1.774624 1.972434 2.183128 2.757177 -0.203160 0.430851 1.114653 1.371969 1.757116 1.992375 2.261491 2.431952 2.637357 2.752659 -0.138600 0.200975 0.519401 0.724917 1.034246 1.394176 1.722948 1.946633 2.443593 2.716691 -0.298095 0.365805 0.582351 1.086692 1.326009 1.425975 1.844288 2.197476 2.361003 2.521646 -0.224031 0.332426 0.469990 1.001054 1.197837 1.340048 1.959629 2.074407 2.586538 2.799850 -0.217865 0.623928 0.846007 1.056459 1.270022 1.514463 1.916564 2.173644 2.481877 2.731790 -0.216744 0.285870 0.554706 0.993990 1.223763 1.481385 1.841075 2.001157 2.202645 2.554494 -0.183332 0.408012 0.595713 0.854496 1.037244 1.240493 1.858004 2.051789 2.454286 2.641640 -0.185879 0.262800 0.433401 0.963144 1.221951 1.453093 2.083738 2.338219 2.637954 2.802979 -0.376619 0.531366 0.924956 1.260648 1.459226 1.589579 1.913753 2.153929 2.384625 2.568935 -0.276908 0.401698 0.535406 0.725282 0.853962 0.993671 1.784685 2.264235 2.415421 2.743011 -0.392628 0.530015 0.694728 0.898255 1.037465 1.203267 1.847972 2.130377 2.294167 2.519263 -0.221585 0.348013 0.498036 0.715769 1.244234 1.381107 1.612806 2.098989 2.271383 2.656074 -0.181011 0.243672 0.520565 1.273809 1.635579 1.924649 2.152884 2.325189 2.545337 2.704856 -0.212747 0.338170 0.512165 0.698820 1.069232 1.195663 1.594938 1.997384 2.252972 2.771008 -0.239602 0.319299 0.856477 1.177220 1.318502 1.493392 1.741957 2.006496 2.283856 2.495161 -0.228476 0.280840 0.476230 1.203494 1.625636 1.719185 2.032736 2.169601 2.510422 2.699013 -0.286987 0.578563 1.175416 1.489497 1.807057 2.031448 2.224193 2.402210 2.620582 2.786223 -0.284803 0.530975 0.821128 0.972435 1.146598 1.402202 1.828804 2.094299 2.506084 2.720046 -0.245331 0.345077 0.478580 0.845525 1.322977 1.438811 1.722802 2.097265 2.261936 2.441149 -0.170708 0.247004 0.608618 0.775849 1.065513 1.283496 1.723268 1.892396 2.539816 2.717299 -0.208332 0.300056 0.505156 1.253926 1.377427 1.594647 1.754029 2.171773 2.487478 2.685632 -0.171329 0.225179 0.378514 0.577821 1.098665 1.311943 1.526522 1.967713 2.172531 2.346440 -0.239282 0.344225 0.528808 0.666274 1.042444 1.388419 1.857559 2.094835 2.473543 2.649229 -0.198580 0.259051 0.438298 0.705347 1.431453 1.897639 2.046829 2.207600 2.449656 2.599716 -0.337069 0.528000 0.951780 1.180918 1.376423 1.654985 1.971529 2.266927 2.704743 2.847367 -0.284813 0.367338 0.523627 0.691416 0.797885 1.120421 1.819243 2.265148 2.456517 2.588448 -0.269159 0.476818 0.659344 0.899456 1.209541 1.335886 1.627523 1.903299 2.132623 2.655472 -0.119224 0.156658 0.271903 0.418321 1.065297 1.360087 1.644993 1.982627 2.382784 2.755980 -0.282273 0.349303 0.537097 1.066089 1.307982 1.458937 2.037910 2.256912 2.434757 2.578973 -0.201474 0.291056 0.422152 0.616067 1.022184 1.152574 1.449965 2.197085 2.439911 2.635280 -0.324130 0.396121 0.713192 1.073384 1.173029 1.526515 2.037201 2.137280 2.569318 2.702445 -0.199269 0.284170 0.404247 0.697358 1.446027 1.807057 1.954743 2.169169 2.379241 2.545732 -0.348456 0.529109 0.879319 1.101024 1.475230 1.807439 2.081272 2.280127 2.549592 2.702863 -0.184393 0.309059 0.446883 0.786980 0.939533 1.169098 1.804458 1.930933 2.599357 2.810854 -0.372412 0.451942 0.679847 1.075185 1.453546 1.572935 1.797280 2.060904 2.239656 2.413231 -0.162340 0.215690 0.397026 0.885715 1.351665 1.692524 1.923001 2.162159 2.529446 2.710698 -0.174845 0.244687 0.722017 1.058880 1.584480 1.712948 1.914989 2.272779 2.514853 2.721138 -0.180603 0.263970 0.439556 0.797992 1.025300 1.271742 1.843790 2.013992 2.183901 2.609028 -0.275445 0.331708 0.686947 0.880832 1.019790 1.601662 1.815444 1.960055 2.524843 2.635159 -0.246743 0.338623 0.507004 0.744344 0.978588 1.719875 2.149981 2.270511 2.455050 2.609715 -0.511182 0.731278 1.001870 1.154541 1.304543 1.479350 1.855646 2.159073 2.465297 2.619985 -0.159919 0.196942 0.359631 0.506645 0.910908 1.079437 1.605706 2.020672 2.336267 2.675469 -0.400414 0.532831 0.732331 1.013768 1.194337 1.337622 1.760440 1.913653 2.137670 2.495860 -0.198432 0.265271 0.463330 0.715843 1.124005 1.473936 1.785103 1.947760 2.284523 2.402467 -0.251071 0.299335 0.761114 1.358836 1.477322 1.755740 1.974355 2.155204 2.509334 2.610900 -0.168430 0.240238 0.385248 0.642207 0.818665 1.079971 1.497030 1.739210 2.014670 2.480512 -0.403618 0.476427 0.760625 1.119521 1.225260 1.585741 1.910637 2.082695 2.602596 2.728042 -0.270110 0.353552 0.507117 0.982357 1.452637 1.561604 1.831119 2.097015 2.260480 2.506040 -0.409239 0.594796 0.975401 1.298743 1.696566 1.869597 2.021276 2.210722 2.513551 2.654084 -0.264683 0.461411 0.644817 0.860983 1.044619 1.166400 1.802711 2.091425 2.295669 2.754119 -0.469686 0.613125 0.780126 0.980941 1.398148 1.536063 1.747415 2.051727 2.394884 2.516178 -0.186791 0.269819 0.399921 1.138197 1.381467 1.573894 1.960790 2.110781 2.483798 2.628204 -0.258801 0.327749 0.504295 1.197030 1.358461 1.528535 1.792614 1.927747 2.524317 2.681583 -0.161459 0.233374 0.511026 0.740697 0.973203 1.529858 1.845698 2.024509 2.388404 2.769333 -0.338109 0.399145 0.642671 0.750976 0.940491 1.777467 2.157523 2.269354 2.634732 2.724164 -0.180623 0.259965 0.390546 0.612711 1.433871 1.678265 1.843034 2.228297 2.443281 2.647327 -0.247299 0.293271 0.692143 0.919932 1.644451 1.918105 2.097755 2.258082 2.510431 2.625830 -0.149020 0.205904 0.356032 0.602403 0.987977 1.147484 1.771885 1.955289 2.387841 2.798390 -0.232598 0.414291 0.675328 0.818194 1.101627 1.308523 1.519246 1.952980 2.347393 2.695458 -0.176302 0.240703 0.418040 0.744771 1.241784 1.631902 1.803676 1.965041 2.614696 2.812026 -0.147792 0.225066 0.327162 0.749127 1.639390 1.742663 2.031072 2.226257 2.554880 2.737390 -0.153870 0.209078 0.349325 0.617112 0.939783 1.262086 1.603026 1.759135 1.968177 2.111699 -0.401254 0.531884 0.716519 1.042091 1.338740 1.442853 1.814274 2.094864 2.275463 2.451094 -0.257481 0.354612 0.474799 0.889648 1.418879 1.545760 1.780610 2.002306 2.180143 2.532227 -0.145143 0.398917 0.981552 1.314723 1.480195 1.798420 2.069724 2.386944 2.668464 2.802905 -0.178493 0.240401 0.691115 0.837764 1.073179 1.297529 1.642950 2.040266 2.463959 2.622440 -0.283570 0.372001 0.585235 0.956144 1.106750 1.584081 1.860096 2.009870 2.399586 2.562348 -0.173740 0.229082 0.361309 0.554292 1.445623 1.608360 2.083231 2.257294 2.420588 2.616658 -0.324415 0.415954 0.746050 1.011384 1.143615 1.556506 1.921430 2.048417 2.544327 2.700584 -0.214462 0.286094 0.581008 0.805945 1.275261 1.610434 1.794665 1.905601 2.100985 2.530385 -0.406606 0.540199 0.741703 0.841294 1.020646 1.288940 1.697760 1.988139 2.374821 2.589349 -0.202273 0.235653 0.484403 0.754406 1.274678 1.821075 2.241890 2.368887 2.620778 2.800892 -0.270698 0.780374 1.036092 1.204303 1.426576 1.652095 1.944935 2.222209 2.496745 2.678321 -0.229051 0.330732 0.459692 0.687040 0.867860 0.971515 1.553263 2.327103 2.599324 2.733993 -0.260962 0.343168 0.545250 1.036179 1.306217 1.422412 1.660351 2.041101 2.335761 2.495897 -0.171216 0.239743 0.394965 0.588008 1.144698 1.289132 1.673831 1.940258 2.235772 2.782337 -0.195902 0.254449 0.377534 1.406314 1.521423 1.673084 1.866963 2.261663 2.535496 2.688582 -0.150694 0.213444 0.372155 0.787173 1.035226 1.454281 1.699328 1.829446 2.003441 2.525940 -0.232566 0.460472 0.787265 0.996419 1.396693 1.523961 1.855686 2.119370 2.346354 2.515401 -0.233393 0.307066 0.580252 0.812411 1.638408 1.916323 2.050381 2.201478 2.398327 2.532500 -0.654665 1.113987 1.347221 1.518794 1.813315 1.953845 2.210362 2.381661 2.551979 2.660202 -0.223873 0.325731 0.467395 0.921251 1.270288 1.397723 1.734370 2.414313 2.638346 2.800382 -0.310637 0.477608 0.685272 0.996817 1.355825 1.484000 1.704038 2.061930 2.448624 2.565929 -0.148930 0.226761 0.370757 1.019241 1.219213 1.396110 1.661688 1.901830 2.408793 2.697915 -0.229342 0.295527 0.586649 1.059472 1.597702 1.716890 1.937422 2.109084 2.436811 2.674887 -0.192819 0.263035 0.434697 0.673121 1.119753 1.338824 1.909548 2.076183 2.261830 2.387228 -0.320147 0.380189 0.741994 0.844995 1.074712 1.639187 1.762953 2.266267 2.646178 2.721096 -0.174567 0.253745 0.360203 0.504953 1.488396 1.814662 1.955756 2.149395 2.323488 2.584030 -0.263126 0.470251 0.798026 1.161280 1.606556 1.808008 2.130398 2.302959 2.489210 2.752479 -0.231279 0.366009 0.530320 0.804291 0.943863 1.141251 1.962507 2.101760 2.449591 2.815548 -0.172028 0.250238 0.449914 0.861171 1.080449 1.240891 1.585537 1.918091 2.217571 2.722636 -0.131319 0.183681 0.316018 0.523172 0.890644 1.486126 1.758535 1.891187 2.487652 2.765559 -0.165174 0.243169 0.350507 1.016712 1.534247 1.638560 1.932592 2.084107 2.538300 2.689502 -0.262744 0.474699 0.655053 0.795707 1.068818 1.252172 1.418647 1.961010 2.309455 2.536506 -0.359054 0.435831 0.725138 1.118933 1.229842 1.514926 1.879370 2.001037 2.462089 2.652002 -0.218540 0.299734 0.601107 0.823625 1.269799 1.620287 1.839893 1.976756 2.375450 2.640668 -0.487484 0.730967 1.052266 1.258969 1.526405 1.802696 2.229099 2.451538 2.684818 2.774190 -0.235780 0.364477 0.520691 0.749469 0.950595 1.159410 1.423255 1.544612 2.361393 2.766014 -0.366160 0.476136 0.652510 1.062481 1.309788 1.418863 1.784871 1.987495 2.189248 2.558080 -0.184696 0.253223 0.471758 0.830299 1.272428 1.483910 1.761955 2.136740 2.416390 2.620731 -0.128256 0.217552 0.752532 1.013345 1.185988 1.415101 1.811830 2.211505 2.607414 2.789321 -0.247330 0.328294 0.701060 0.927525 1.109801 1.291869 1.638584 1.875516 2.227907 2.417348 -0.261841 0.503729 0.732366 0.870192 1.033798 1.299712 1.693809 2.023705 2.463903 2.789299 -0.165555 0.219912 0.358917 0.505900 1.230885 1.663232 1.852393 2.028502 2.286248 2.725340 -0.426544 0.643468 0.917679 1.196829 1.471597 1.648363 1.933059 2.151933 2.533829 2.705743 -0.308359 0.416322 0.591830 0.808745 0.946905 1.230266 1.815498 2.281895 2.520403 2.631259 -0.269965 0.447323 0.574488 0.763324 1.256417 1.405168 1.571648 1.980676 2.220782 2.442545 -0.188326 0.280970 0.408039 0.646742 1.320810 1.446061 1.615924 2.148422 2.351742 2.514250 -0.241655 0.365356 0.810170 1.309700 1.669576 1.812447 2.014631 2.236122 2.442170 2.609315 -0.191747 0.289189 0.450664 0.748517 0.915409 1.168139 1.584199 1.750548 2.260120 2.447778 -0.215480 0.278055 0.768309 1.041609 1.391676 1.605855 1.766698 1.876725 2.528928 2.706006 -0.216771 0.298936 0.710997 0.862001 1.342336 1.590245 1.886295 2.097920 2.415093 2.592546 -0.359220 0.566823 0.939326 1.372126 1.545352 1.699671 2.041310 2.205011 2.518317 2.710314 -0.305907 0.442295 0.613007 0.776603 0.914320 1.099675 1.615712 1.826869 2.359635 2.622631 -0.323177 0.497481 0.632094 0.852217 1.431198 1.600546 1.791940 2.143530 2.380021 2.560286 -0.276909 0.420019 0.563912 1.000971 1.135252 1.388079 1.711802 1.918572 2.573328 2.752989 -0.353490 0.388981 0.807777 1.276863 1.382826 1.606736 1.810843 1.979129 2.631848 2.733152 -0.211471 0.306166 0.424434 0.581123 0.710913 1.547934 2.010370 2.138366 2.380508 2.503481 -0.225924 0.333197 0.488381 0.801446 1.090937 1.638206 1.799647 2.390310 2.652313 2.790138 -0.171504 0.249271 0.358286 0.870885 1.550123 1.667881 2.054589 2.231743 2.439091 2.602023 -0.165599 0.227318 0.460922 1.107714 1.477735 1.814994 2.062885 2.255887 2.546566 2.715347 -0.204992 0.345256 0.473494 0.712728 0.805809 1.312492 1.893635 2.009686 2.341092 2.479636 -0.241898 0.390228 0.537134 0.715035 1.312338 1.499876 1.662491 2.135780 2.352112 2.532228 -0.163569 0.301194 0.427433 0.764441 1.375596 1.484079 1.850824 1.989487 2.494381 2.667698 -0.185986 0.271128 0.421812 1.063503 1.222027 1.628289 1.811308 2.167184 2.682964 2.795197 -0.202601 0.379588 0.533353 0.730653 1.060008 1.189413 1.598490 1.835597 2.061862 2.426341 -0.381195 0.485776 0.727063 1.085074 1.215649 1.412868 1.615482 1.828196 2.539184 2.686523 -0.196130 0.286997 0.409907 0.696364 1.424577 1.699356 1.891753 2.153448 2.327269 2.685103 -0.217874 0.396132 0.938681 1.246697 1.661963 1.931349 2.246916 2.421796 2.619892 2.750931 -0.145642 0.216508 0.413198 0.862759 1.057682 1.322682 1.673351 1.828806 2.347789 2.651186 -0.252166 0.353210 0.523268 0.998504 1.176163 1.345135 1.984750 2.128958 2.373533 2.721309 -0.207926 0.318108 0.470343 0.848345 0.989299 1.405273 1.967910 2.101386 2.512180 2.676499 -0.305162 0.559986 0.771585 0.960172 1.334408 1.717417 1.924182 2.084417 2.601968 2.796124 -0.215239 0.293295 0.505385 0.962671 1.240775 1.392460 1.797329 1.965379 2.131247 2.276248 -0.252164 0.460717 0.585238 0.895100 1.077276 1.245603 1.770113 1.919629 2.388482 2.774345 -0.171691 0.214222 0.361048 0.500619 0.905993 1.365660 2.191797 2.291635 2.536887 2.788810 -0.210536 0.585917 1.067844 1.305357 1.534407 1.728603 1.950964 2.160461 2.474553 2.655915 -0.169262 0.231674 0.372121 0.532093 0.775314 1.210871 1.829565 2.081870 2.370289 2.704223 -0.343950 0.448128 0.628833 0.913957 1.088899 1.224316 1.766842 2.099926 2.246679 2.400841 -0.241643 0.386851 0.578033 0.893447 1.284732 1.404909 1.839518 2.125416 2.327160 2.739690 -0.241059 0.287428 0.601200 1.273580 1.460278 1.653802 2.095665 2.226476 2.507632 2.651598 -0.212479 0.430242 0.578263 0.750884 0.984798 1.103297 1.564720 1.845357 2.044045 2.707564 -0.267240 0.357278 0.901382 1.173429 1.387845 1.739763 1.960853 2.173315 2.408387 2.570937 -0.216978 0.306711 0.423920 0.791397 1.547660 1.881522 2.025421 2.184747 2.389726 2.510855 -0.309853 0.505477 1.137673 1.452808 1.660808 1.914525 2.084337 2.308435 2.638463 2.772736 -0.301921 0.420539 0.593933 0.887576 1.158301 1.268991 1.788041 2.156468 2.316421 2.507218 -0.293230 0.474574 0.623415 0.798513 1.266075 1.425523 1.764734 1.994016 2.181652 2.456787 -0.267189 0.365075 0.696711 0.927891 1.096450 1.472164 1.765266 1.937224 2.223753 2.655092 -0.238720 0.370663 0.617866 1.246955 1.365777 1.650640 1.856445 2.306366 2.616822 2.765237 -0.175180 0.233649 0.388873 0.625509 1.137464 1.364059 1.780788 1.978889 2.142278 2.269743 -0.363510 0.421032 0.668364 0.762955 0.998948 1.715897 1.877803 2.064237 2.529901 2.608567 -0.207131 0.288224 0.537847 0.889921 1.241448 1.796637 1.982317 2.231362 2.514249 2.666169 -0.311071 0.486542 0.911402 1.324355 1.500183 1.670614 2.142536 2.330931 2.596184 2.778564 -0.286136 0.386970 0.584375 0.911705 1.134588 1.317656 1.852739 2.283740 2.498365 2.622864 -0.253233 0.419082 0.572357 0.778424 1.126703 1.277532 1.807391 2.017696 2.220121 2.576306 -0.119841 0.163781 0.296364 0.661342 1.063342 1.241590 1.856804 2.104475 2.497328 2.762449 -0.134955 0.201314 0.403983 0.934711 1.360477 1.718449 2.065183 2.278684 2.574632 2.753186 -0.187681 0.272074 0.453358 0.682207 1.079560 1.206376 1.499740 2.043148 2.242754 2.665815 -0.313258 0.412019 0.658075 0.828689 0.973583 1.514446 1.981071 2.102741 2.535037 2.681357 -0.255030 0.322348 0.627488 0.839253 1.410591 1.810002 2.038784 2.181294 2.416832 2.562402 -0.419919 0.625767 0.997973 1.218385 1.544616 1.788193 2.193417 2.384323 2.580200 2.698287 -0.144698 0.204991 0.382026 0.623303 0.874762 1.289145 1.707320 1.863261 2.458684 2.750055 -0.348116 0.419496 0.704420 1.093503 1.227121 1.494841 1.778803 1.913492 2.247296 2.428664 -0.150045 0.246799 0.376978 0.783403 1.269598 1.422794 1.903455 2.035588 2.514973 2.759883 -0.105122 0.206614 0.753484 1.038977 1.400140 1.658373 2.030750 2.283051 2.654021 2.837336 -0.192365 0.288692 0.447554 0.818792 0.961011 1.398186 1.770980 1.943311 2.350650 2.500051 -0.262128 0.381361 0.574890 0.709707 1.071672 1.453038 1.732793 1.979241 2.422853 2.645439 -0.182137 0.236372 0.375437 0.738739 1.319942 1.813603 1.942481 2.136125 2.304536 2.660541 -0.388048 0.531674 0.948328 1.154568 1.307573 1.434685 1.768235 2.048136 2.364776 2.585037 -0.213588 0.288434 0.462998 0.598306 0.773371 0.915658 1.452520 2.086025 2.523003 2.722037 -0.255467 0.334344 0.621250 0.810402 0.995432 1.466371 1.709488 1.890365 2.052513 2.247982 -0.202649 0.282992 0.450372 0.652595 1.271305 1.607863 1.769708 1.985229 2.230577 2.380831 -0.255806 0.325628 0.668776 1.230304 1.373533 1.702388 1.962730 2.144556 2.518005 2.640112 -0.164126 0.217024 0.367572 0.604779 0.787116 1.194139 1.683264 1.826517 2.301871 2.524861 -0.374711 0.458954 0.726536 0.920865 1.045916 1.511231 1.712666 1.895532 2.601724 2.708894 -0.321014 0.460345 0.639594 1.017667 1.508099 1.631146 1.864246 2.140150 2.327445 2.508909 -0.451810 0.719234 1.150765 1.385625 1.620547 1.892342 2.068707 2.263104 2.625298 2.740266 -0.317844 0.411108 0.550802 0.761160 0.870205 1.038480 1.695720 2.112903 2.292249 2.451544 -0.321858 0.548379 0.720393 0.955644 1.233322 1.359795 1.685327 1.923628 2.307181 2.544584 -0.211797 0.292996 0.437036 1.171159 1.397378 1.525798 1.701395 1.861517 2.572521 2.757919 -0.334603 0.405956 0.767677 1.215768 1.335601 1.658739 1.989520 2.108465 2.602700 2.719250 -0.236812 0.348424 0.519218 0.665697 1.102403 1.611533 1.819999 2.115185 2.332044 2.604171 -0.212181 0.308266 0.480795 0.705382 0.828843 1.420354 1.886330 2.032387 2.621328 2.767098 -0.156168 0.242178 0.348609 0.550072 1.486404 1.641030 1.904334 2.091753 2.439156 2.809664 -0.232081 0.327237 0.817249 1.194162 1.571594 1.731682 1.910994 2.090434 2.488066 2.694976 -0.166025 0.252998 0.441946 0.686509 0.905928 1.524321 1.747034 1.950457 2.619697 2.805258 -0.196816 0.324035 0.613887 0.796124 1.033469 1.198765 1.570531 2.015231 2.414398 2.745220 -0.152873 0.238362 0.348769 0.790622 1.413327 1.522987 1.899666 2.041945 2.648276 2.825752 -0.238929 0.311579 0.412073 0.915401 1.512444 1.940985 2.178055 2.302141 2.517257 2.635463 -0.160234 0.194261 0.347515 0.460654 0.859252 1.041440 1.658005 1.765106 2.252543 2.312052 -0.391446 0.575762 0.767956 0.913604 1.304424 1.440779 1.667960 1.962669 2.446664 2.573637 -0.213295 0.338515 0.465366 0.911020 1.312069 1.413848 1.864947 2.045811 2.354224 2.763667 -0.170870 0.556857 1.036355 1.381019 1.682662 1.999979 2.319783 2.526350 2.739001 2.850764 -0.208142 0.323528 0.474225 0.911543 1.048694 1.258201 1.966595 2.078676 2.553969 2.814829 -0.162972 0.229629 0.731192 0.902973 1.246076 1.372954 1.693139 2.110582 2.362875 2.555643 -0.197223 0.291057 0.436718 0.707631 1.251503 1.421382 1.926786 2.108784 2.413585 2.596412 -0.188400 0.289822 0.797989 1.142133 1.323120 1.715797 2.074975 2.335066 2.566622 2.712846 -0.176052 0.240463 0.486022 0.736587 0.983507 1.654478 1.892603 2.036521 2.205899 2.540522 -0.285807 0.420951 0.578219 0.937462 1.172738 1.315248 1.698845 1.846953 2.333613 2.500319 -0.191178 0.264476 0.384535 0.632084 1.446016 1.916538 2.114759 2.257365 2.532359 2.669854 -0.585958 0.712547 0.995175 1.345358 1.519221 1.715374 1.913837 2.069254 2.514199 2.672046 -0.232352 0.335589 0.447674 0.661655 0.840293 1.102372 2.111319 2.297768 2.505132 2.794479 -0.293351 0.391184 0.614053 0.997235 1.204180 1.322845 1.746085 2.070938 2.259359 2.492199 -0.128784 0.193380 0.374338 0.847941 1.107813 1.396176 1.796836 1.928700 2.389952 2.702928 -0.187671 0.251167 0.419138 1.154089 1.596401 1.689187 1.941996 2.092773 2.621931 2.795923 -0.148570 0.200662 0.344258 0.538968 0.866249 1.341751 1.759051 1.890255 2.225276 2.769903 -0.345597 0.416970 0.657718 1.108569 1.439934 1.549124 1.811931 2.165143 2.359862 2.480281 -0.260394 0.347444 0.453068 0.867942 1.515797 1.830215 1.974617 2.135238 2.518564 2.622302 -0.467387 0.718460 1.257405 1.516226 1.785886 1.982028 2.277442 2.407989 2.575877 2.697560 -0.254025 0.396915 0.711272 0.826708 1.079490 1.303882 1.532614 2.101023 2.580896 2.726410 -0.251349 0.458227 0.691728 0.853294 1.181701 1.324576 1.553722 2.121741 2.324860 2.537399 -0.193070 0.295330 0.434005 1.028433 1.180760 1.492311 1.774884 1.958905 2.378250 2.514336 -0.328295 0.438707 0.672483 1.098796 1.409689 1.525062 1.957988 2.202692 2.417235 2.626557 -0.171589 0.215360 0.396416 0.549523 1.010817 1.564392 1.776805 2.010598 2.334140 2.489964 -0.318782 0.372964 0.715257 0.808908 1.049817 1.858174 2.008814 2.244447 2.552397 2.638023 -0.201432 0.265508 0.443842 0.655062 1.463954 1.780676 1.989105 2.317647 2.504044 2.729015 -0.089299 0.221502 0.866390 1.161581 1.386624 1.681219 2.037751 2.306655 2.683398 2.842046 -0.212127 0.340083 0.489712 0.702958 0.879220 1.069546 1.931755 2.304789 2.539222 2.833730 -0.328502 0.460793 0.574149 0.923510 1.262431 1.349319 1.540115 1.646239 1.968666 2.558808 -0.151688 0.205453 0.364147 0.726598 1.290329 1.608244 1.900602 2.132843 2.473238 2.714681 -0.185087 0.268618 0.380471 0.858380 1.535920 1.659732 1.871001 2.060741 2.281531 2.743722 -0.257576 0.375609 0.522074 0.806014 0.988781 1.118512 1.619900 2.008108 2.189450 2.503981 -0.400530 0.492365 0.729967 0.986855 1.095728 1.599909 1.935703 2.057853 2.435587 2.582604 -0.223967 0.308358 0.436977 0.810278 1.375371 1.715667 1.876660 2.086799 2.333392 2.482046 -0.356889 0.697785 1.003210 1.181500 1.520050 1.769174 2.060990 2.297507 2.609041 2.761196 -0.157986 0.286402 0.432170 0.759718 1.081482 1.206946 1.688203 1.857653 2.667619 2.834603 -0.196232 0.271155 0.616200 0.987195 1.265761 1.503484 1.745037 1.946600 2.389443 2.562468 -0.150612 0.207932 0.531767 0.924718 1.224167 1.532206 1.868861 2.129974 2.479660 2.745102 -0.159516 0.244552 0.677711 0.957418 1.266300 1.638493 1.929433 2.212544 2.525881 2.712593 -0.311860 0.375573 0.609251 0.741478 0.874235 1.502532 1.759234 1.910133 2.346160 2.464214 -0.272687 0.495052 0.602981 0.936595 1.218033 1.659652 1.783798 2.226628 2.673580 2.789721 -0.182994 0.269489 0.387738 0.559582 1.343891 1.727891 1.917480 2.131703 2.353147 2.525604 -0.308577 0.475904 0.797573 1.025973 1.477364 1.632200 1.868066 2.187647 2.448313 2.609309 -0.206491 0.281366 0.496579 0.711998 0.842942 1.042724 1.626715 2.075674 2.411838 2.577868 -0.326421 0.517351 0.715080 0.911851 1.128611 1.259596 1.539759 1.960615 2.508231 2.630330 -0.225691 0.354477 0.473958 0.715802 1.385094 1.590187 1.774163 2.045280 2.231611 2.620722 -0.243650 0.282149 0.801163 1.454069 1.614695 1.739741 1.936677 2.098900 2.621205 2.730598 -0.175768 0.236613 0.389409 0.747034 0.946387 1.205905 1.739280 1.989798 2.245012 2.388323 -0.387506 0.464495 0.740570 1.128342 1.279681 1.451771 1.809069 1.941649 2.324383 2.652406 -0.231774 0.321631 0.420712 0.846725 1.477615 1.662880 1.835880 2.220722 2.418706 2.624548 -0.339377 0.589871 1.313110 1.506577 1.748224 1.947324 2.102041 2.254806 2.543830 2.680043 -0.341587 0.433858 0.661863 0.821397 0.950863 1.418003 1.784815 1.903400 2.385908 2.575412 -0.345179 0.447774 0.612195 0.945135 1.419677 1.592743 1.773414 2.040871 2.324811 2.437686 -0.181279 0.307819 0.435997 0.934515 1.100027 1.302288 1.693949 1.895047 2.700574 2.825382 -0.310037 0.368350 0.622802 1.178640 1.411438 1.526484 1.919150 2.065079 2.254912 2.589937 -0.150978 0.212352 0.348668 0.573651 1.039486 1.590007 1.846476 1.963984 2.148357 2.662487 -0.277951 0.349703 0.550843 0.708320 0.838864 1.573740 1.810453 1.992371 2.532412 2.642545 -0.153422 0.252689 0.342559 0.686894 1.497196 1.638310 1.961921 2.130271 2.557903 2.742772 -0.279249 0.447383 0.763867 1.059905 1.545382 1.724231 2.031986 2.292812 2.552588 2.796233 -0.230577 0.389164 0.539408 0.761297 0.908015 1.337558 1.872590 2.004078 2.333966 2.727901 -0.232875 0.346443 0.540354 0.678135 1.101040 1.382052 1.587740 2.186049 2.411254 2.607361 -0.178843 0.269153 0.416180 0.638286 1.259337 1.389112 1.680672 1.869557 2.418798 2.781921 -0.238712 0.372837 0.675624 1.027319 1.339343 1.669807 2.074360 2.351022 2.663150 2.815245 -0.215603 0.308405 0.496032 0.940314 1.090508 1.308705 1.583747 1.902325 2.209688 2.576931 -0.291384 0.348946 0.780234 1.202297 1.290327 1.444813 1.575215 1.952612 2.399593 2.483613 -0.198791 0.307267 0.456507 0.669854 1.275490 1.409566 1.731928 2.093564 2.326604 2.772666 -0.166723 0.274518 1.057461 1.415490 1.716962 1.941408 2.139410 2.271877 2.554685 2.755174 -0.179844 0.282631 0.449297 0.722971 0.854062 1.439226 1.833271 2.030343 2.411399 2.580818 -0.194891 0.247057 0.501829 1.004986 1.304934 1.451918 1.799457 2.025853 2.311832 2.422165 -0.192373 0.297404 0.420858 0.940309 1.303418 1.426055 1.949700 2.077238 2.623849 2.795647 -0.284285 0.555560 0.869980 1.055893 1.232747 1.442851 1.823935 2.260258 2.608541 2.799256 -0.182395 0.248334 0.473858 1.064734 1.236328 1.480815 1.718550 1.883271 2.073356 2.512622 -0.293574 0.445666 0.581331 0.774876 0.860972 1.080798 1.894962 2.036530 2.546161 2.753034 -0.164780 0.231139 0.397045 0.799136 1.184762 1.560887 2.082481 2.246203 2.538883 2.722312 -0.427982 0.603539 0.920429 1.129159 1.650391 1.805433 1.997586 2.263608 2.512703 2.626448 -0.168043 0.256064 0.384473 0.655220 0.888834 1.046199 1.879431 2.027056 2.416638 2.713319 -0.426266 0.599810 0.770098 0.938960 1.085997 1.239035 1.780899 2.098691 2.240555 2.451170 -0.206361 0.331236 0.460417 0.809533 1.319919 1.432077 1.699325 1.907851 2.185584 2.791362 -0.172066 0.257009 0.693635 1.290430 1.502260 1.882174 2.058034 2.285835 2.654385 2.780637 -0.170469 0.242710 0.420771 0.673196 1.013631 1.168518 1.734302 2.076408 2.284278 2.777254 -0.231524 0.384268 0.762288 1.075716 1.340044 1.570221 1.844109 2.087904 2.435480 2.609095 -0.234196 0.299491 0.501062 1.074183 1.591896 1.874452 2.075105 2.288231 2.499325 2.625494 -0.469375 0.772069 1.143891 1.321644 1.809933 2.060553 2.352686 2.509836 2.660967 2.746296 -0.267541 0.509192 0.697162 0.881682 1.154246 1.287919 1.732950 2.170277 2.373112 2.701116 -0.225002 0.296925 0.521071 0.868722 1.247262 1.605607 1.862301 1.995077 2.132673 2.303312 -0.182154 0.268818 0.650902 0.829595 1.340290 1.518522 1.678145 2.062000 2.476058 2.618836 -0.262094 0.315377 0.554545 1.249325 1.471511 1.602479 1.859154 1.986339 2.555494 2.716803 -0.159937 0.221544 0.379613 0.703404 1.009260 1.336589 1.634712 1.832112 2.318601 2.492376 -0.317307 0.445696 0.644479 0.865391 1.006145 1.475121 1.860039 1.994490 2.375194 2.696675 -0.243257 0.313667 0.455515 0.804455 1.138675 1.990813 2.199166 2.317604 2.528196 2.655319 -0.149876 0.523035 0.850884 1.130052 1.422386 1.709616 2.052423 2.309997 2.639482 2.816247 -0.295517 0.381331 0.579620 0.758901 0.871645 1.328267 1.986843 2.119635 2.549100 2.680632 -0.291632 0.485587 0.631619 0.928421 1.214008 1.324041 1.814157 2.030748 2.252379 2.749354 -0.139746 0.195222 0.343435 0.703664 1.118059 1.352517 1.752608 1.877596 2.297202 2.717509 -0.243712 0.353375 0.585060 0.914994 1.377929 1.519246 1.980348 2.132954 2.489440 2.702636 -0.176444 0.255300 0.420605 0.747448 1.153758 1.299601 1.683980 2.102983 2.463231 2.667324 -0.252495 0.390591 0.697066 0.966926 1.231424 1.414479 1.867378 2.243706 2.495192 2.656606 -0.272420 0.381655 0.551517 0.888825 1.590308 1.808189 1.943240 2.138959 2.358917 2.487502 -0.336178 0.471630 0.935669 1.201733 1.678329 1.870851 2.098930 2.268758 2.467556 2.613989 -0.201767 0.332879 0.530137 0.745363 1.051345 1.174747 1.706266 2.049544 2.461842 2.799073 -0.224306 0.303901 0.510428 1.086097 1.267920 1.446573 1.785392 1.911767 2.289610 2.700286 -0.131135 0.171778 0.323877 0.821611 1.226519 1.537322 1.889645 2.169879 2.520932 2.772178 -0.212962 0.347455 0.744136 0.964332 1.426998 1.636084 1.937573 2.189447 2.476377 2.657238 -0.221564 0.298344 0.590780 0.774362 1.002528 1.237108 1.762739 1.946722 2.225939 2.371709 -0.300082 0.409111 0.600009 0.784231 0.905421 1.449797 1.878545 2.002657 2.618940 2.779774 -0.177168 0.244397 0.382973 0.547832 0.958732 1.796741 2.037031 2.198241 2.416774 2.606982 -0.445089 0.691608 0.911651 1.027834 1.215634 1.498612 2.011028 2.296914 2.571657 2.730890 -0.218890 0.332216 0.485543 0.669862 0.827655 0.946060 1.655213 2.081780 2.297490 2.781759 -0.264561 0.330768 0.698979 0.882675 1.036048 1.373216 1.608206 1.801189 2.021468 2.470223 -0.198417 0.232211 0.502648 0.724700 1.196144 1.304503 1.692944 1.862228 2.327527 2.429571 -0.240112 0.278797 0.513980 1.374924 1.647698 1.742378 1.988501 2.137277 2.329969 2.585200 -0.216630 0.297516 0.454364 0.700613 0.893785 1.036923 1.565511 2.032201 2.301512 2.463679 -0.308267 0.357421 0.811138 1.127420 1.244275 1.651427 1.813657 2.045151 2.637104 2.726842 -0.242030 0.328382 0.452907 0.861731 1.555327 1.743950 1.896242 2.084827 2.255121 2.454955 -0.405487 0.653274 1.000615 1.215980 1.553100 1.809940 2.090490 2.237915 2.442893 2.589896 -0.258975 0.421106 0.596341 0.793521 1.016877 1.148382 1.710733 2.132131 2.329411 2.755008 -0.383770 0.618549 0.792683 0.970281 1.353980 1.492209 1.740595 2.034232 2.262266 2.418759 -0.182576 0.276855 0.395058 1.006542 1.378696 1.494813 1.790120 1.929259 2.427587 2.564728 -0.262944 0.336362 0.560480 1.134456 1.298593 1.499501 1.953395 2.050099 2.524027 2.712280 -0.128134 0.176378 0.373760 0.758708 1.132934 1.485273 1.930693 2.068716 2.343529 2.773154 -0.209614 0.299558 0.469136 0.796651 0.955701 1.572224 2.012335 2.290736 2.580444 2.723601 -0.205230 0.307160 0.423168 0.638468 1.376104 1.735940 1.925713 2.112538 2.470319 2.600522 -0.249605 0.312259 0.801138 1.134882 1.687789 1.883222 2.049696 2.223042 2.454133 2.577341 -0.150236 0.180308 0.350515 0.500915 0.804675 1.506103 1.712024 2.023875 2.343152 2.636887 -0.294328 0.430367 0.587290 0.910719 1.184482 1.304216 1.581107 2.004270 2.395137 2.534772 -0.185620 0.281137 0.544021 0.818067 1.320581 1.540046 1.863117 2.127465 2.523995 2.737758 -0.154431 0.208321 0.340239 1.022588 1.552229 1.696583 2.198386 2.394862 2.607880 2.801047 -0.172397 0.232300 0.478592 0.699642 0.957173 1.484486 1.847798 1.985936 2.145557 2.327115 -0.511765 0.721492 0.860517 1.030820 1.340681 1.459390 1.823745 2.108810 2.406735 2.558400 -0.281714 0.392430 0.578702 0.891995 1.494831 1.661309 1.877927 2.097376 2.291857 2.619590 -0.326495 0.586450 0.954506 1.197200 1.519600 1.893887 2.319365 2.533775 2.736139 2.847582 -0.106638 0.178766 0.680283 0.829053 0.990716 1.241479 1.789242 2.154750 2.597141 2.799901 -0.294220 0.377984 0.793384 0.971352 1.172200 1.572398 1.804897 2.028760 2.264042 2.492483 -0.171726 0.263446 0.395475 0.621988 1.267402 1.408927 1.898373 2.102150 2.426709 2.776510 -0.303342 0.364222 0.792880 1.046061 1.184958 1.568551 1.760719 2.139470 2.565548 2.655674 -0.192848 0.257653 0.414826 0.791829 1.260674 1.636533 1.874636 2.009896 2.202175 2.572052 -0.341824 0.417968 0.655810 1.026514 1.158607 1.346654 1.798696 1.911077 2.526891 2.702043 -0.176931 0.234845 0.363167 0.522327 1.394457 1.894472 2.109195 2.282625 2.684080 2.823357 -0.433185 0.607432 0.929790 1.250808 1.472755 1.627281 2.014445 2.256366 2.466320 2.630010 -0.211267 0.313559 0.402576 0.554601 0.723386 0.871912 1.614736 2.390825 2.565792 2.757341 -0.307409 0.394557 0.612848 0.987028 1.191241 1.356915 1.954914 2.160787 2.345073 2.569786 -0.184320 0.254786 0.425592 0.782972 1.223405 1.413726 1.796288 1.997325 2.163509 2.505424 -0.183175 0.235186 0.358817 1.447766 1.601221 1.798948 2.134861 2.384961 2.598175 2.763819 -0.168505 0.236625 0.392319 0.651410 0.887019 1.463266 1.720871 1.858740 2.054516 2.697266 -0.250944 0.424982 0.901118 1.085636 1.247720 1.422572 1.835136 2.141276 2.468994 2.643082 -0.238593 0.326384 0.595703 0.813678 1.506809 1.745897 1.890343 2.252317 2.461518 2.634033 -0.519767 0.866690 1.252206 1.413883 1.854974 2.027801 2.281339 2.431268 2.597701 2.697588 -0.246522 0.333214 0.509160 1.154104 1.290713 1.443135 1.588080 2.324589 2.609196 2.797383 -0.275391 0.402140 0.584019 0.959905 1.333760 1.460912 1.827046 2.003725 2.436316 2.639286 -0.150522 0.212041 0.531410 1.050416 1.371279 1.580851 1.792845 1.995166 2.294940 2.614257 -0.278576 0.329548 0.667074 1.214075 1.560713 1.652347 1.873746 2.021113 2.338907 2.664300 -0.167863 0.226536 0.396757 0.597846 1.051873 1.627164 1.958256 2.062767 2.191380 2.432992 -0.348666 0.407399 0.764654 0.897788 1.054142 1.537316 1.689159 2.089782 2.640438 2.728359 -0.171013 0.243044 0.356522 0.490258 1.359997 1.815025 1.981484 2.206887 2.431276 2.636843 -0.153522 0.396506 0.847453 1.284564 1.488783 1.804268 2.273812 2.522892 2.761823 2.876763 -0.171880 0.287093 0.496257 0.755483 0.937035 1.107577 1.897834 2.108945 2.413154 2.660532 -0.227201 0.370270 0.530492 0.844519 1.174595 1.296373 1.718215 1.907170 2.166590 2.484352 -0.149331 0.183437 0.326162 0.488638 1.002939 1.377342 1.867235 2.108546 2.503408 2.786207 -0.173193 0.266920 0.374287 0.945263 1.452229 1.556781 1.952554 2.099249 2.609846 2.766646 -0.239351 0.413047 0.605130 0.721419 1.069987 1.322991 1.500901 2.100747 2.338950 2.541476 -0.314543 0.427272 0.646059 0.977969 1.105555 1.443778 1.949196 2.065960 2.472020 2.663676 -0.306321 0.430910 0.620780 0.848250 1.324991 1.683308 1.879595 2.069502 2.344394 2.454817 -0.575586 0.847570 1.152532 1.423138 1.684099 1.969479 2.240224 2.428206 2.665523 2.760463 -0.350078 0.450964 0.688480 0.893082 1.035498 1.299152 1.508386 1.683054 2.499108 2.655705 -0.471148 0.571022 0.813000 1.058092 1.196537 1.491163 1.831861 1.956586 2.408824 2.619234 -0.171564 0.273430 0.738762 0.920791 1.183470 1.349450 1.890642 2.110332 2.341546 2.722247 -0.304218 0.440526 0.720869 0.956392 1.296296 1.536912 1.798491 2.129943 2.470933 2.711029 -0.208585 0.283203 0.713164 0.859752 1.075018 1.320232 1.749308 2.009905 2.348887 2.539152 -0.264896 0.431760 0.680060 0.840630 1.005182 1.200071 1.639044 1.877513 2.579690 2.697610 -0.171107 0.229447 0.393985 0.553918 1.187522 1.583641 1.829031 2.101558 2.437468 2.610652 -0.301877 0.445169 0.968634 1.180258 1.415638 1.646629 1.953737 2.185760 2.483000 2.660034 -0.267959 0.387016 0.557674 0.755435 1.057021 1.189525 1.629581 2.283668 2.558077 2.683573 -0.295624 0.500278 0.696740 0.866240 1.099396 1.243691 1.449224 1.818732 2.156886 2.467455 -0.170796 0.218503 0.382819 0.541542 1.174040 1.482773 1.670539 2.124357 2.342810 2.501870 -0.218617 0.408868 1.012231 1.352073 1.571864 1.753294 1.946988 2.192205 2.547198 2.762737 -0.210391 0.288701 0.475984 0.690054 0.862131 1.282021 1.715676 1.959037 2.326017 2.522621 -0.325276 0.411256 0.607216 1.024267 1.146043 1.558528 1.827982 1.956178 2.547484 2.688731 -0.238733 0.302603 0.642540 0.860406 1.382580 1.700239 1.853297 2.013606 2.539089 2.671372 -0.251458 0.654734 1.143938 1.335095 1.596794 1.905380 2.171292 2.352561 2.549262 2.709208 -0.223912 0.427965 0.590260 0.805826 0.965451 1.148957 1.600066 1.767416 2.589376 2.776857 -0.231425 0.413483 0.638906 0.882586 1.449203 1.579707 1.859705 2.112105 2.296389 2.474881 -0.175747 0.273698 0.397808 1.029989 1.240179 1.441564 1.858169 1.988257 2.524452 2.677832 -0.252558 0.363162 0.974161 1.201176 1.356803 1.559352 1.792123 2.089122 2.459025 2.636551 -0.173802 0.246852 0.480971 0.700611 0.891748 1.561958 1.823062 1.996221 2.202269 2.680874 -0.156459 0.259855 0.526047 0.742605 0.958340 1.426445 1.896392 2.280343 2.683239 2.835947 -0.142921 0.202788 0.307634 0.548822 1.431571 1.572303 1.984312 2.212223 2.639484 2.831017 -0.229329 0.366711 0.836992 1.135952 1.499118 1.677865 2.047730 2.243207 2.553663 2.706012 -0.263443 0.342499 0.477117 0.660406 0.787355 1.288964 1.851275 2.320384 2.518393 2.638003 -0.212725 0.343388 0.492706 0.738769 1.226813 1.353718 1.598551 1.965475 2.110981 2.504476 -0.160187 0.263690 0.362021 0.839661 1.356922 1.457150 1.769821 1.888317 2.678737 2.835838 -0.133248 0.196263 0.549077 0.905288 1.338934 1.580432 1.965798 2.247794 2.613434 2.821093 -0.239176 0.349470 0.587777 0.780748 0.980439 1.200381 1.437420 1.725392 2.240059 2.450024 -0.360450 0.512584 0.678578 0.889177 1.014277 1.240800 1.650560 1.806004 2.370762 2.627783 -0.207946 0.300178 0.419389 0.758257 1.373065 1.509366 1.798146 2.166289 2.334602 2.736094 -0.113082 0.204024 0.875013 1.243194 1.622958 1.886831 2.142636 2.338959 2.579123 2.767029 -0.204623 0.309091 0.441874 0.966890 1.231677 1.366805 1.580086 1.745147 2.374530 2.638283 -0.306051 0.414526 0.628201 1.074722 1.259864 1.439108 1.821360 1.964678 2.394043 2.575006 -0.222328 0.323754 0.568002 0.970977 1.120920 1.580969 1.759222 2.139577 2.608362 2.763997 -0.183300 0.372397 0.683079 1.022379 1.330137 1.624137 1.951990 2.252475 2.602804 2.814906 -0.178777 0.259371 0.411261 0.873219 1.178107 1.319602 1.632433 1.885996 2.112106 2.286708 -0.195172 0.346190 0.497154 0.755965 1.230183 1.347062 1.685780 1.867553 2.329508 2.752389 -0.195738 0.263473 0.396445 0.598238 1.275429 1.903330 2.156978 2.286654 2.571493 2.728101 -0.369955 0.545605 1.042124 1.189996 1.350332 1.546670 1.867983 2.111160 2.467785 2.643118 -0.120478 0.160718 0.275169 0.491413 0.821334 1.099250 1.777446 1.936945 2.424408 2.722251 -0.312690 0.451099 0.623388 0.828741 0.993468 1.136473 1.649831 1.980283 2.173337 2.352824 -0.243020 0.364104 0.491726 0.944543 1.131493 1.302149 1.857127 1.973690 2.400218 2.803623 -0.193524 0.259253 0.688441 1.340521 1.671654 1.914554 2.135144 2.313920 2.516303 2.683437 -0.232326 0.387947 0.503848 0.715456 0.874078 1.042221 1.733322 1.898809 2.239800 2.752745 -0.127511 0.344390 0.935547 1.175974 1.388543 1.630551 1.946941 2.245394 2.574897 2.775392 -0.250995 0.323646 0.441648 0.957645 1.547323 1.747938 1.902388 2.157859 2.364221 2.510959 -0.452291 0.693622 1.167859 1.318220 1.723133 1.940224 2.173724 2.424464 2.649258 2.755778 -0.302326 0.431401 0.690302 0.950763 1.203250 1.329801 1.782387 2.179065 2.423352 2.542775 -0.355954 0.504290 0.646021 0.864339 1.352328 1.533661 1.709471 1.960437 2.313335 2.451721 -0.104149 0.152699 0.587242 0.903889 1.183253 1.432120 1.706576 1.956497 2.205742 2.655087 -0.214047 0.281655 0.457781 1.318444 1.423722 1.610884 1.738687 2.315997 2.544975 2.780560 -0.182527 0.232898 0.390991 0.554764 1.219695 1.416974 1.668180 1.883510 2.094564 2.216562 -0.338387 0.409542 0.641629 0.767246 1.002251 1.650238 1.882942 2.041315 2.327004 2.467281 -0.231453 0.309431 0.647883 0.827408 1.212245 1.724138 1.934800 2.138651 2.400716 2.581201 -0.251173 0.509839 0.868347 1.305335 1.478259 1.819818 2.046666 2.383549 2.753204 2.859247 -0.285117 0.362320 0.652022 0.913386 1.044703 1.289808 1.899468 2.119379 2.316214 2.520072 -0.308945 0.404194 0.607700 0.785461 0.897492 1.263812 1.840947 1.995191 2.217981 2.533953 -0.172631 0.233496 0.395828 0.637121 1.094870 1.305225 1.975991 2.149162 2.425342 2.614303 -0.156972 0.227094 0.399128 1.055061 1.517113 1.669668 2.078208 2.233434 2.697606 2.846463 -0.173100 0.226252 0.408500 0.582801 1.098220 1.450523 1.627000 2.016222 2.249189 2.498326 -0.315638 0.497823 0.661879 0.886266 0.997659 1.195049 2.020156 2.258426 2.523904 2.750360 -0.271575 0.365793 0.531980 0.808835 1.273952 1.739663 1.983593 2.133546 2.348498 2.473697 -0.309045 0.513620 0.898951 1.324674 1.639949 1.904400 2.137826 2.348142 2.582366 2.748999 -0.173271 0.315218 0.477788 0.757177 0.875942 1.105511 1.237776 1.628886 2.684859 2.842014 -0.214839 0.273034 0.819191 1.102040 1.352164 1.657619 1.843619 1.972455 2.148374 2.639406 -0.116215 0.162407 0.342715 0.825790 1.042936 1.381631 1.804365 2.083780 2.487045 2.753736 -0.114070 0.425427 0.799793 1.070942 1.370278 1.618583 1.941131 2.202718 2.530097 2.788603 -0.243867 0.378883 0.547723 0.808932 1.239737 1.400240 1.860324 2.069002 2.263329 2.534065 -0.240195 0.333936 0.487895 0.915142 1.015549 1.511986 1.689823 2.078568 2.520731 2.673842 -0.243495 0.327973 0.505429 0.651882 1.068591 1.611267 2.012066 2.161812 2.523348 2.687469 -0.450190 0.521168 0.921017 1.146167 1.266402 1.657642 1.864716 2.036294 2.463023 2.557702 -0.168729 0.270636 0.453713 0.701140 0.915560 1.098438 1.604334 1.960600 2.637718 2.809070 -0.285452 0.345925 0.683009 1.127133 1.267180 1.493486 1.729244 1.897942 2.101957 2.279775 -0.197911 0.283257 0.436315 0.680443 1.328944 1.456235 1.789607 2.073798 2.297794 2.442548 -0.240843 0.293460 0.653007 1.222875 1.575683 1.682154 1.863647 2.019866 2.562349 2.730154 -0.175191 0.254744 0.507483 0.660774 1.010367 1.200881 1.595444 1.912422 2.384227 2.758183 -0.433781 0.510463 0.720856 1.101334 1.226464 1.443652 1.812748 1.957333 2.487847 2.673719 -0.221585 0.287234 0.682977 1.068491 1.562962 1.716402 1.897843 2.129521 2.335900 2.524987 -0.432705 0.840501 1.285672 1.439193 1.607667 1.795398 2.063813 2.311674 2.563015 2.711062 -0.354576 0.466602 0.650767 0.813566 0.938340 1.128342 1.805345 2.218869 2.395036 2.543280 -0.353822 0.544418 0.717185 0.903075 1.193814 1.302618 1.592775 1.928464 2.123197 2.300791 -0.232127 0.335542 0.466150 1.038780 1.385075 1.474844 1.919673 2.031739 2.495480 2.805573 -0.324665 0.377060 0.695910 1.283924 1.443588 1.596523 2.037150 2.169899 2.487425 2.691252 -0.178303 0.236258 0.409957 0.644793 0.991558 1.439340 1.644055 2.056081 2.477767 2.606365 -0.284645 0.347903 0.527540 0.667977 0.816156 1.687403 1.948029 2.113140 2.519425 2.617605 -0.169782 0.245851 0.359543 0.504529 1.401427 1.633494 1.805664 2.181529 2.362061 2.647147 -0.210292 0.309966 0.666265 1.086214 1.491332 1.862248 2.127350 2.359368 2.574699 2.710415 -0.176920 0.247329 0.439418 0.634764 0.868848 1.346770 1.668256 2.024234 2.456935 2.792061 -0.291292 0.461927 0.673858 0.827395 1.001436 1.123471 1.600221 2.273412 2.437555 2.642259 -0.164460 0.272259 0.374336 0.675110 1.490030 1.612152 1.836475 1.984289 2.535905 2.742055 -0.207858 0.272302 0.418159 0.745538 1.629583 1.981417 2.127840 2.293577 2.578197 2.705476 --0.062228 -0.323076 -0.332711 -0.101708 -0.034218 -0.067730 -0.032006 -0.034055 -0.063661 -0.112308 -0.471805 0.655978 0.860725 0.972051 1.153458 1.409133 1.784627 2.073639 2.494294 2.661139 -0.180954 0.273084 0.389972 0.849113 1.392936 1.510894 1.921378 2.096123 2.378596 2.651504 -0.225545 0.488038 0.863470 1.410418 1.596034 1.771648 2.216348 2.386984 2.715102 2.839389 -0.144776 0.247942 0.381281 0.699264 1.145490 1.295150 1.800737 2.008105 2.629862 2.826194 -0.184806 0.248115 0.690786 0.828582 1.321220 1.503651 1.718611 2.087128 2.314827 2.538325 -0.177133 0.339599 0.481545 0.790062 1.227237 1.348197 1.883037 2.021486 2.441350 2.699083 -0.311370 0.368740 0.858970 1.014739 1.208416 1.746055 1.924647 2.151463 2.415915 2.560580 -0.199710 0.264710 0.470506 0.794534 1.118412 1.570882 1.812521 1.939545 2.110880 2.373289 -0.350635 0.482066 0.710421 0.960792 1.103058 1.325978 1.913082 2.069461 2.404068 2.662115 -0.186366 0.241536 0.381062 0.517738 1.497745 1.924116 2.070412 2.234108 2.608905 2.750199 -0.509032 0.734852 0.927875 1.145398 1.394132 1.611867 1.956418 2.176366 2.420236 2.596717 -0.201922 0.299074 0.414361 0.597667 0.721234 0.975702 1.929938 2.144210 2.650822 2.846817 -0.249810 0.373368 0.691262 0.918023 1.296625 1.472578 1.881052 2.160262 2.404070 2.576539 -0.136751 0.198997 0.351968 0.839701 1.241879 1.397675 1.739341 1.946552 2.247675 2.676990 -0.215765 0.277228 0.527200 1.277413 1.507933 1.677635 2.048299 2.207947 2.614490 2.774622 -0.146093 0.199242 0.331057 0.518068 0.983944 1.184948 1.769667 1.933330 2.116265 2.713820 -0.311505 0.400669 0.630844 1.132601 1.442876 1.558170 1.906709 2.045975 2.419754 2.659979 -0.328470 0.401583 0.615037 0.993895 1.574441 1.869936 2.011558 2.184989 2.467408 2.581751 -0.463865 0.687911 1.294672 1.536811 1.700885 1.872005 2.174049 2.341841 2.576782 2.729884 -0.225601 0.311949 0.558510 0.720660 1.176452 1.364036 1.558010 2.010565 2.645874 2.801078 -0.300116 0.554320 0.704246 0.926026 1.318277 1.422364 1.788571 2.123745 2.298732 2.683560 -0.217312 0.342834 0.505628 0.885611 1.036468 1.281361 1.711880 1.931222 2.475950 2.632713 -0.235789 0.329023 0.515572 1.047927 1.413696 1.546519 1.893021 2.099995 2.430834 2.628838 -0.170354 0.225158 0.395611 0.654515 1.106878 1.458362 1.794475 2.012486 2.334320 2.553665 -0.420377 0.492906 0.763825 0.888793 1.057272 1.729447 1.982471 2.145245 2.614874 2.700457 -0.227828 0.299193 0.480966 0.855216 1.663391 1.817425 2.035090 2.237723 2.436081 2.645378 -0.104919 0.220297 0.922747 1.248851 1.468985 1.845122 2.172923 2.471447 2.702677 2.827250 -0.245660 0.363951 0.496495 0.718395 0.792531 1.188290 2.028262 2.148021 2.601079 2.767886 -0.204949 0.323637 0.501508 0.803477 1.101494 1.228773 1.446609 1.596114 1.975723 2.669065 -0.162963 0.221990 0.366143 0.569144 1.300415 1.508941 1.736879 2.176494 2.560640 2.781882 -0.226216 0.303208 0.451507 0.942554 1.584997 1.708649 1.937744 2.125981 2.374113 2.806697 -0.279313 0.434425 0.600140 0.761924 0.967326 1.085339 1.400649 2.085299 2.311823 2.531842 -0.496970 0.611003 0.813504 1.003786 1.112345 1.561294 2.006644 2.127810 2.538433 2.707483 -0.263598 0.399612 0.523023 0.751894 1.468733 1.634563 1.854672 2.093993 2.288808 2.486320 -0.447064 0.669729 1.231144 1.393911 1.519359 1.740011 2.130839 2.331661 2.622426 2.742410 -0.217113 0.344226 0.479443 0.953089 1.113345 1.292028 1.405063 2.035854 2.706084 2.818154 -0.215666 0.346628 0.459806 0.841338 1.330315 1.450787 1.693170 1.963290 2.133067 2.598851 -0.032462 0.108906 0.641839 0.918247 1.274605 1.548613 1.860118 2.149524 2.473967 2.745703 -0.126290 0.220180 0.749275 1.069688 1.256552 1.502364 1.780350 2.049865 2.514790 2.760101 -0.201396 0.256212 0.604955 0.839430 1.037016 1.425915 1.784411 2.082149 2.278545 2.520697 -0.250554 0.361913 0.538203 1.009347 1.125631 1.467374 1.842276 1.982168 2.659098 2.812528 -0.173329 0.232821 0.397105 0.674759 1.272214 1.578849 1.859567 2.046929 2.368178 2.523695 -0.361106 0.495511 0.860190 1.082212 1.386309 1.580348 1.935833 2.155852 2.453898 2.622802 -0.232936 0.346360 0.515455 0.716889 0.946937 1.062494 1.542360 2.240413 2.402681 2.639495 -0.329138 0.483393 0.640612 0.860349 1.191888 1.297933 1.656172 2.079184 2.298135 2.457837 -0.238706 0.397136 0.560834 0.799404 1.288560 1.405264 1.678272 2.182520 2.375152 2.668620 -0.304175 0.364112 0.779173 1.338909 1.476173 1.664278 1.993154 2.118992 2.593337 2.731349 -0.164802 0.217347 0.366682 0.565116 0.753855 1.009701 1.744416 2.023924 2.268955 2.433440 -0.296797 0.356308 0.759995 1.197140 1.309824 1.482490 1.667647 1.840314 2.517650 2.648945 -0.273443 0.411365 0.594999 0.894650 1.424021 1.586944 1.842399 2.215251 2.447173 2.729450 -0.236751 0.360177 1.030195 1.434197 1.683780 1.888286 2.114605 2.264435 2.477029 2.630414 -0.273289 0.394610 0.610213 0.759723 0.937713 1.239572 1.713796 1.995028 2.367774 2.635783 -0.334115 0.411443 0.610825 0.955868 1.502521 1.785262 1.937709 2.105790 2.350122 2.470200 -0.159072 0.242631 0.393231 0.844130 1.217685 1.419823 1.733096 1.891617 2.514256 2.659089 -0.309184 0.361119 0.759243 1.263501 1.440575 1.570597 1.821846 1.944982 2.440271 2.684484 -0.161993 0.224640 0.401324 0.753906 1.032749 1.440682 1.809558 1.978594 2.149676 2.538575 -0.247815 0.331789 0.491727 0.713759 0.865824 1.618286 1.768016 2.244205 2.532077 2.684242 -0.170605 0.248525 0.354505 0.495374 1.569514 1.828195 1.990227 2.213056 2.400769 2.760431 -0.331931 0.515143 0.809566 1.042681 1.451957 1.638579 1.956390 2.262500 2.598192 2.813680 -0.209020 0.349585 0.505601 0.704594 0.814790 1.362447 1.939075 2.048582 2.423957 2.756261 -0.281207 0.453713 0.595485 0.765529 1.220000 1.391996 1.561764 2.022289 2.265860 2.679768 -0.150346 0.251592 0.409505 0.770775 1.236125 1.384343 1.745495 1.893299 2.588497 2.822991 -0.161090 0.246862 0.484826 1.245783 1.397859 1.714145 2.040802 2.468857 2.706233 2.837580 -0.213765 0.374235 0.536566 0.733390 1.126324 1.249567 1.538484 1.976391 2.151928 2.359273 -0.272518 0.457655 0.808972 1.019104 1.150011 1.326035 1.711513 2.051136 2.549677 2.799790 -0.179767 0.262954 0.395346 0.660835 1.345694 1.502264 1.819384 1.963548 2.273263 2.618778 -0.175488 0.306329 1.103215 1.306099 1.574389 1.897560 2.214935 2.416432 2.605393 2.738739 -0.154666 0.239592 0.415828 0.780679 0.945224 1.233384 1.696039 1.940742 2.514563 2.679770 -0.269177 0.354740 0.557021 0.969509 1.345317 1.463570 1.798387 2.241221 2.456339 2.610210 -0.239145 0.326264 0.494465 1.071214 1.209459 1.537726 1.952743 2.113220 2.610725 2.747535 -0.218208 0.598959 0.871276 1.110151 1.386993 1.648655 1.918609 2.193362 2.546880 2.756671 -0.176681 0.262087 0.424568 0.933283 1.208095 1.334188 1.755633 1.926341 2.187131 2.556577 -0.213062 0.385248 0.514741 0.876978 1.165897 1.307493 1.825031 2.012224 2.554948 2.737931 -0.151222 0.247007 0.382114 0.751657 1.215610 1.342363 1.975904 2.137584 2.617134 2.820105 -0.299224 0.473356 0.825171 1.146594 1.528401 1.694234 1.952214 2.144722 2.373789 2.555562 -0.207137 0.319897 0.501670 0.711149 0.853927 1.057889 1.770494 2.071726 2.492216 2.811033 -0.465560 0.618831 0.782398 1.010037 1.195984 1.322540 1.855998 2.160517 2.324801 2.507033 -0.201076 0.301843 0.444311 0.822638 1.176021 1.272371 1.646433 2.064560 2.227727 2.623829 -0.210505 0.247037 0.495092 1.302518 1.760886 1.827284 2.217044 2.446377 2.623543 2.741148 -0.195999 0.279369 0.481573 0.654787 1.080842 1.412382 1.716490 2.052322 2.290101 2.738165 -0.236926 0.310814 0.896361 1.162180 1.328092 1.558913 1.774564 1.905228 2.402246 2.665023 -0.244472 0.327963 0.646896 1.095894 1.620412 1.772324 2.045520 2.193957 2.547128 2.722609 -0.346731 0.581380 1.070375 1.522205 1.740223 1.980572 2.266647 2.404418 2.746561 2.871000 -0.430698 0.619190 0.836877 1.015020 1.167909 1.332640 1.815328 2.234722 2.476070 2.638178 -0.221367 0.307079 0.458329 0.850712 1.289560 1.423009 1.621570 1.985342 2.331434 2.467832 -0.116322 0.217253 0.728326 0.940859 1.188330 1.378722 1.687841 1.910693 2.604869 2.797202 -0.187928 0.267923 0.389066 1.155944 1.483571 1.593699 1.818241 1.963936 2.473096 2.607548 -0.168954 0.211406 0.372427 0.529448 0.973588 1.431171 1.621558 1.856431 2.189298 2.343881 -0.273371 0.413963 0.664359 0.794553 1.017733 1.399395 1.724746 2.089838 2.367948 2.555808 -0.212416 0.270112 0.509967 0.759092 1.293781 1.781086 2.091445 2.219374 2.499069 2.630826 -0.300696 0.481937 0.835784 1.276211 1.461493 1.644316 1.971697 2.234847 2.641035 2.829278 -0.285091 0.416886 0.605330 0.808172 0.944872 1.129570 1.919248 2.157389 2.400226 2.673656 -0.225704 0.384656 0.630586 0.788196 1.224861 1.419420 1.681321 1.970805 2.212616 2.617121 -0.132447 0.177755 0.301537 0.471768 1.155148 1.332095 1.708466 2.024543 2.495585 2.788666 -0.252038 0.329800 0.481080 0.954609 1.422083 1.620359 2.006123 2.168392 2.355165 2.505083 -0.183435 0.241389 0.417674 0.598794 1.014975 1.205139 1.701958 1.977784 2.374336 2.586101 -0.302192 0.384974 0.608153 0.938510 1.084287 1.329203 2.069641 2.319152 2.494203 2.675684 -0.198808 0.281220 0.391748 0.777377 1.553382 1.790825 1.925301 2.135471 2.304278 2.485154 -0.370469 0.548730 0.880131 1.168541 1.456674 1.645880 2.049941 2.288441 2.557653 2.759821 -0.156583 0.250724 0.394960 0.691089 0.837322 1.066297 1.836287 1.972838 2.591097 2.786561 -0.322824 0.379018 0.593081 1.086011 1.406693 1.490406 1.734998 1.912817 2.081717 2.475586 -0.158775 0.218842 0.457222 0.869711 1.219773 1.629722 1.953462 2.134004 2.392326 2.640093 -0.217524 0.325911 0.628615 0.997991 1.504329 1.668932 1.958103 2.245372 2.630371 2.808323 -0.170343 0.254286 0.510717 0.814297 1.028209 1.355930 1.726583 2.047676 2.381522 2.692279 -0.297689 0.343194 0.742306 0.882638 1.038877 1.713935 1.880819 2.088189 2.556386 2.634265 -0.215251 0.296748 0.454072 0.676499 1.007705 1.797713 2.004948 2.206914 2.548819 2.725676 -0.412021 0.642343 0.828334 0.951784 1.236305 1.495649 1.898175 2.129486 2.438961 2.666301 -0.179065 0.252377 0.372814 0.530815 0.713797 0.927597 1.666069 2.104770 2.392383 2.734423 -0.433130 0.566964 0.740476 0.961675 1.107074 1.288034 1.772074 1.904854 2.174689 2.570674 -0.223409 0.295735 0.606368 0.786946 1.326960 1.538874 1.755901 1.939986 2.371080 2.488210 -0.224170 0.294402 0.684662 1.251045 1.593460 1.708681 2.018073 2.187551 2.515208 2.721384 -0.166379 0.238226 0.406222 0.623445 0.883761 1.076979 1.603102 1.916054 2.202559 2.699771 -0.489484 0.578385 0.832748 1.115430 1.216650 1.575882 1.929300 2.049396 2.522680 2.658393 -0.291742 0.359710 0.491711 1.071820 1.458792 1.603219 1.747893 2.124226 2.418190 2.528558 -0.438848 0.678792 1.139964 1.311051 1.673038 1.878533 2.126488 2.288717 2.493483 2.631731 -0.271300 0.466760 0.592041 0.808897 0.942888 1.124238 1.820005 1.976080 2.249710 2.775433 -0.389199 0.559773 0.703683 0.900063 1.345064 1.462662 1.769904 2.128433 2.365683 2.501187 -0.190440 0.280423 0.447001 1.039189 1.218375 1.614861 1.844728 2.111340 2.460942 2.613396 -0.241700 0.302019 0.613366 1.249946 1.410607 1.580256 1.768325 1.986861 2.430632 2.581026 -0.206516 0.286418 0.537788 0.707728 1.197196 1.572380 1.755394 1.933391 2.472918 2.645023 -0.318502 0.396523 0.647544 0.775364 0.936563 1.581584 2.058082 2.195477 2.618710 2.743108 -0.191584 0.269771 0.414492 0.786131 1.376273 1.613474 1.799398 2.344394 2.536806 2.749566 -0.237976 0.316356 0.446480 0.893873 1.679975 1.965388 2.096434 2.252618 2.468845 2.587829 -0.123845 0.159072 0.284123 0.467782 0.818151 1.307335 1.754936 2.066298 2.476057 2.758144 -0.261052 0.393384 0.760978 0.918516 1.100980 1.327690 1.632686 2.033602 2.384945 2.554088 -0.264436 0.350588 0.609731 0.749716 1.157992 1.660102 1.868180 2.004961 2.591971 2.739458 -0.164585 0.215089 0.375970 0.959153 1.727354 1.859913 1.991898 2.220550 2.431018 2.769731 -0.204030 0.290606 0.483834 0.827022 1.016831 1.223453 1.699260 1.910125 2.140620 2.267503 -0.526138 0.709922 0.836725 1.069406 1.269462 1.405044 1.834798 2.034524 2.212188 2.459999 -0.225247 0.340174 0.449473 0.914306 1.380619 1.486761 1.795410 1.983939 2.206215 2.713630 -0.200753 0.622848 0.941841 1.226624 1.507543 1.821962 2.134104 2.366417 2.634739 2.771988 -0.174703 0.282776 0.702258 0.898342 1.084446 1.266724 1.757851 2.083739 2.401420 2.756275 -0.249131 0.323445 0.720321 0.878509 1.110362 1.576682 1.865315 2.114744 2.387200 2.528666 -0.192991 0.271656 0.400815 0.639719 1.281970 1.423380 2.050229 2.264541 2.462010 2.662504 -0.266874 0.325220 0.675228 1.126545 1.267438 1.706113 1.920856 2.125988 2.574605 2.678193 -0.223081 0.286041 0.655976 0.816840 1.060069 1.561164 1.748293 1.911129 2.075313 2.503462 -0.407716 0.515541 0.739241 0.941291 1.059746 1.404674 1.781339 1.892197 2.404849 2.648290 -0.240599 0.312213 0.510661 0.666324 1.224803 1.866233 2.050438 2.204639 2.619539 2.768546 -0.384825 0.587577 1.021218 1.214225 1.437340 1.728676 1.998469 2.183120 2.571593 2.747573 -0.245764 0.343500 0.509527 0.727872 0.876936 1.024899 1.769731 2.415709 2.632816 2.787619 -0.290619 0.390761 0.566531 0.941586 1.353924 1.461037 1.795546 2.132642 2.313283 2.486608 -0.172727 0.258217 0.438312 0.716613 1.170907 1.311367 1.733515 1.899224 2.138675 2.739799 -0.222657 0.287215 0.449779 1.369666 1.490501 1.701894 1.880425 2.393512 2.600773 2.787142 -0.154428 0.222305 0.357310 0.630820 1.037882 1.342771 1.730454 1.920364 2.046990 2.549536 -0.299554 0.623129 0.825895 1.063948 1.332600 1.466624 1.854370 2.128982 2.327186 2.521370 -0.218073 0.257913 0.681337 0.900215 1.517137 1.843444 2.006541 2.205575 2.505616 2.633109 -0.686321 1.027088 1.182402 1.346554 1.590920 1.854772 2.111571 2.250916 2.482490 2.625270 -0.220174 0.305579 0.452469 1.009178 1.208905 1.586079 1.726183 2.308495 2.539415 2.745570 -0.341504 0.508703 0.663379 0.854389 1.270406 1.419250 1.624925 2.064447 2.426578 2.552193 -0.199767 0.277559 0.419200 1.151687 1.302355 1.531961 1.720872 2.013206 2.476765 2.595851 -0.243094 0.314600 0.435247 1.051642 1.528616 1.656151 1.884292 2.065968 2.307851 2.563448 -0.224054 0.300322 0.546545 0.706978 1.059557 1.412749 1.925773 2.119205 2.355100 2.490204 -0.342948 0.395972 0.713508 0.788514 1.092279 1.685316 1.836105 2.270695 2.521777 2.625975 -0.183089 0.263605 0.369340 0.558240 1.511750 1.902656 2.045224 2.218195 2.445586 2.611569 -0.332871 0.558850 0.877672 1.147342 1.590679 1.823730 2.184823 2.407743 2.721120 2.860996 -0.228040 0.355308 0.498081 0.818616 1.098234 1.212951 1.802644 2.085736 2.290465 2.748208 -0.189112 0.289591 0.530362 0.768658 0.944224 1.325806 1.678253 1.884531 2.251127 2.682120 -0.144799 0.199748 0.350015 0.546248 1.106050 1.629785 1.884696 2.005826 2.432189 2.780747 -0.172297 0.243074 0.380863 0.968654 1.645970 1.743664 1.952788 2.092464 2.574491 2.809210 -0.220791 0.397930 0.676300 0.814804 1.085618 1.265955 1.557093 1.974461 2.157493 2.568431 -0.351036 0.481040 0.684693 1.046142 1.219179 1.404440 1.909685 2.051432 2.405205 2.669908 -0.255837 0.394071 0.518620 0.767306 1.393237 1.618907 1.766511 2.022002 2.425935 2.559548 -0.418747 0.617245 1.109151 1.299581 1.560582 1.912698 2.151587 2.420609 2.666448 2.766110 -0.194318 0.321980 0.488422 0.733153 0.927489 1.091432 1.537804 1.709529 2.300954 2.777973 -0.441506 0.552407 0.771304 1.070023 1.253431 1.402955 1.774359 1.917186 2.236828 2.573015 -0.096364 0.161493 0.604211 0.841192 1.084960 1.469012 1.765762 2.035652 2.415550 2.679394 -0.164758 0.273531 0.786362 0.944165 1.314729 1.443079 1.820614 2.232970 2.474360 2.689648 -0.214880 0.277389 0.624783 0.819250 1.049581 1.383136 1.664426 1.809937 2.247050 2.531672 -0.339450 0.490710 0.650894 0.802164 0.968459 1.286294 1.736119 2.108232 2.488573 2.676959 -0.173316 0.243343 0.367127 0.508577 1.224968 1.826439 1.981666 2.158278 2.351480 2.588130 -0.452858 0.676518 0.916839 1.095033 1.353796 1.666215 1.906615 2.097253 2.478402 2.671285 -0.255572 0.430173 0.627154 0.845685 1.029142 1.165075 1.851297 2.238290 2.425106 2.786559 -0.292973 0.495593 0.670882 0.825200 1.176688 1.345844 1.524943 1.905429 2.293155 2.481585 -0.190065 0.270578 0.429350 0.650608 1.338108 1.544596 1.723081 2.100587 2.455792 2.616187 -0.270146 0.357004 1.012493 1.334770 1.484494 1.749118 1.948371 2.163260 2.479187 2.615849 -0.190746 0.284342 0.459935 0.840326 1.058271 1.247416 1.686518 1.858042 2.349852 2.474999 -0.261440 0.355783 0.788131 0.963975 1.170960 1.426067 1.663365 1.845513 2.450110 2.615423 -0.223477 0.289406 0.644196 0.841108 1.449672 1.680461 1.864688 1.970082 2.320400 2.678113 -0.307863 0.471864 0.951274 1.401941 1.598874 1.839736 2.064310 2.222939 2.646039 2.793416 -0.215456 0.324380 0.542457 0.738120 0.904477 1.125488 1.593790 1.942637 2.403731 2.625335 -0.327978 0.431326 0.649146 0.980387 1.452639 1.595021 1.827042 2.174676 2.430383 2.562971 -0.221416 0.405136 0.534878 0.941825 1.275052 1.387146 1.678769 1.816890 2.607600 2.805074 -0.261063 0.296006 0.765065 1.323946 1.455938 1.597320 1.755333 1.939918 2.595321 2.725885 -0.196465 0.266597 0.478088 0.673695 0.918173 1.783876 1.968005 2.144556 2.340807 2.571099 -0.222072 0.329556 0.457488 0.632821 0.926941 1.737060 1.925589 2.280188 2.742106 2.840767 -0.177587 0.262768 0.386637 0.661755 1.507334 1.651771 2.016609 2.209898 2.436253 2.794750 -0.237412 0.318760 0.572489 1.126672 1.262629 1.705670 1.962639 2.240223 2.640836 2.760043 -0.164018 0.263560 0.389157 0.576607 0.699517 1.304965 1.938275 2.108181 2.361245 2.481099 -0.312927 0.453499 0.595937 0.720801 1.155128 1.421222 1.654805 2.125481 2.342733 2.559528 -0.187311 0.340553 0.479298 0.800541 1.324137 1.434292 1.773373 1.966276 2.442163 2.794439 -0.240145 0.361802 0.529355 1.032511 1.333136 1.613724 1.902121 2.393189 2.610681 2.798432 -0.256618 0.369979 0.571037 0.805889 0.931870 1.242267 1.556114 1.777808 2.100100 2.279277 -0.315460 0.387429 0.763439 1.135994 1.225008 1.383314 1.479969 1.857272 2.506217 2.572444 -0.231972 0.332687 0.498409 0.763292 1.482840 1.675304 1.917342 2.171163 2.373797 2.762604 -0.241092 0.374768 0.886119 1.278350 1.760790 1.986414 2.153341 2.321588 2.561671 2.682561 -0.181333 0.265570 0.457041 0.832421 0.997777 1.194519 1.519027 1.911348 2.372249 2.624795 -0.217281 0.313910 0.490988 1.021293 1.238563 1.420272 1.905572 2.077699 2.389621 2.611841 -0.241907 0.344617 0.495322 0.833050 0.943750 1.625368 1.957947 2.118287 2.573169 2.706253 -0.260933 0.421768 0.714877 1.045217 1.348286 1.557267 1.920459 2.142565 2.463638 2.761801 -0.191170 0.260573 0.482902 0.852619 1.182296 1.355163 1.734327 2.038425 2.220238 2.348315 -0.235960 0.420321 0.558300 0.822306 0.959709 1.163020 1.746196 1.872763 2.463190 2.656887 -0.182801 0.229509 0.384936 0.525996 1.144440 1.505356 2.087714 2.235691 2.603441 2.821072 -0.433326 0.648975 1.152821 1.324354 1.499568 1.680615 1.927155 2.144623 2.501930 2.672369 -0.185230 0.282855 0.433567 0.613008 0.800249 1.189297 1.815486 2.216184 2.611609 2.819742 -0.305950 0.512379 0.682631 0.866346 1.140903 1.267093 1.689424 1.993235 2.167743 2.491215 -0.214384 0.330677 0.465107 0.799324 1.249335 1.354711 1.961836 2.155521 2.365402 2.768664 -0.252228 0.294891 0.721925 1.385448 1.627786 1.728361 2.094373 2.246017 2.542430 2.725817 -0.247355 0.467492 0.616684 0.821505 1.051679 1.163064 1.676721 1.903589 2.192444 2.770439 -0.267056 0.322353 0.878273 1.273551 1.387890 1.656880 1.838486 2.256932 2.489329 2.617788 -0.276548 0.347431 0.510036 0.916479 1.503298 1.902076 2.081537 2.205346 2.459159 2.574602 -0.420124 0.634373 0.972031 1.349147 1.660814 1.863940 2.209039 2.359323 2.665996 2.774761 -0.245603 0.346643 0.484960 0.852273 1.113317 1.246194 1.675673 2.134010 2.397448 2.567438 -0.278909 0.453205 0.609401 0.817334 1.386351 1.540485 1.784357 2.027199 2.208866 2.416858 -0.216689 0.291968 0.633303 0.821476 1.230792 1.517474 1.740384 1.839894 2.264549 2.645633 -0.250583 0.356352 0.706187 1.159764 1.340429 1.531877 1.805133 2.212588 2.494217 2.645859 -0.173603 0.221482 0.407668 0.602668 1.173887 1.363948 1.714837 2.069366 2.246713 2.384843 -0.351700 0.426939 0.676212 0.785470 1.018054 1.600174 1.760596 1.981016 2.523457 2.622580 -0.247404 0.347843 0.537821 0.715383 1.334742 1.730445 1.932738 2.116362 2.550868 2.719251 -0.267640 0.435192 0.734410 1.154981 1.439281 1.665625 2.036115 2.238505 2.694509 2.857159 -0.377315 0.500802 0.678295 0.852176 0.986722 1.234297 1.946465 2.216296 2.369690 2.568046 -0.282474 0.484623 0.647346 0.838126 1.116069 1.236355 1.605158 2.068283 2.241476 2.594701 -0.179830 0.276699 0.393477 0.618077 1.005536 1.171683 1.936124 2.147218 2.344016 2.802089 -0.150385 0.222615 0.453699 1.059570 1.514904 1.869262 2.170323 2.385821 2.713541 2.834759 -0.190104 0.279191 0.487233 0.679289 1.139586 1.367418 1.532297 1.968753 2.379302 2.609276 -0.383123 0.512258 0.719040 0.900857 1.026096 1.446135 1.985069 2.104295 2.577580 2.725283 -0.233385 0.311008 0.468900 0.822874 1.358548 1.845397 2.088437 2.201482 2.419016 2.524441 -0.448047 0.666107 0.986682 1.233646 1.707798 1.882326 2.175233 2.389889 2.561257 2.672922 -0.190653 0.315609 0.490994 0.746849 0.882522 1.292447 1.594598 1.771911 2.563910 2.770587 -0.215760 0.268515 0.648673 1.130954 1.282429 1.603348 1.802088 2.039412 2.361344 2.489232 -0.146123 0.204228 0.382306 0.718573 1.152464 1.523749 1.750535 2.085976 2.456666 2.706774 -0.097438 0.189231 0.726839 1.130330 1.394979 1.591658 1.959512 2.188961 2.611863 2.823535 -0.153693 0.220100 0.418171 0.907592 1.098588 1.409276 1.661682 2.052898 2.357440 2.534558 -0.249007 0.320795 0.581631 0.894597 1.056178 1.470144 1.725025 1.888314 2.380417 2.512561 -0.215043 0.307452 0.489967 0.675625 1.212878 1.644852 1.813460 2.219287 2.421185 2.711916 -0.454182 0.656019 0.980383 1.162424 1.342999 1.469780 1.737221 2.016043 2.396287 2.589121 -0.248859 0.363988 0.568562 0.710472 0.879383 0.969136 1.321791 2.203573 2.459572 2.685742 -0.275498 0.346347 0.720990 0.962739 1.142409 1.548421 1.756807 1.939827 2.107470 2.346331 -0.168346 0.213677 0.371061 0.533405 1.281879 1.420915 1.743873 1.929374 2.354611 2.516531 -0.269357 0.323555 0.660417 1.246119 1.389881 1.620112 1.880792 2.024803 2.535747 2.641379 -0.143544 0.211826 0.349106 0.686750 0.852997 1.123379 1.740477 1.910903 2.395457 2.675160 -0.391096 0.461323 0.706811 0.863080 0.973392 1.482338 1.771634 1.885759 2.506445 2.623396 -0.306784 0.371767 0.612809 1.165417 1.539601 1.649444 1.847967 2.215674 2.421224 2.551842 -0.412446 0.658776 1.248823 1.445679 1.591378 1.718751 1.944947 2.241242 2.542474 2.718017 -0.219635 0.320449 0.459092 0.733764 0.861516 1.087584 1.877017 2.055926 2.267583 2.421807 -0.353269 0.558306 0.705301 0.895998 1.276299 1.401657 1.682423 1.948663 2.130723 2.378531 -0.266056 0.406507 0.542960 1.171871 1.333369 1.503282 1.781150 1.967881 2.639831 2.805456 -0.366997 0.435212 0.708835 1.184565 1.338341 1.578537 2.031195 2.174915 2.531932 2.718652 -0.180016 0.244121 0.466532 0.637822 0.933798 1.613163 1.758726 2.141582 2.383844 2.570767 -0.183031 0.268217 0.410149 0.583275 0.768297 1.302461 1.927508 2.184191 2.515648 2.724226 -0.198728 0.279758 0.393674 0.687093 1.521403 1.831985 1.964413 2.182576 2.354737 2.718166 -0.266621 0.428987 0.748177 1.052044 1.416922 1.709958 1.975394 2.163065 2.390250 2.722350 -0.187580 0.301657 0.428103 0.623084 0.722948 1.407722 1.664241 1.898839 2.663491 2.802190 -0.207840 0.306975 0.483853 0.724360 1.022497 1.221432 1.415162 1.956839 2.527680 2.734643 -0.188611 0.284294 0.408262 0.721431 1.384715 1.505269 1.966087 2.173208 2.428517 2.770771 -0.222823 0.272639 0.503764 0.859246 1.498403 1.885767 2.099957 2.235388 2.567829 2.691284 -0.152758 0.219680 0.338675 0.597863 0.978697 1.200801 1.746909 1.957261 2.074441 2.404458 -0.429246 0.630671 0.792842 0.964490 1.262744 1.388795 1.721613 2.091229 2.345298 2.490896 -0.256329 0.380734 0.539915 1.009152 1.400960 1.509524 1.869215 2.029196 2.348803 2.776082 -0.272403 0.672458 0.977874 1.334181 1.683066 1.922996 2.291748 2.486116 2.709534 2.862231 -0.158762 0.287189 0.410234 0.812307 1.117621 1.262447 1.898049 2.047016 2.529228 2.738030 -0.179810 0.233529 0.707400 1.047569 1.289640 1.489108 1.847319 2.074331 2.343157 2.539680 -0.215347 0.304896 0.440699 0.897509 1.322585 1.472844 1.996310 2.165007 2.384550 2.574797 -0.286874 0.339813 0.883878 1.115931 1.272467 1.744249 1.885743 2.158576 2.589603 2.672644 -0.210579 0.284270 0.517041 0.796519 1.129021 1.668905 1.939439 2.065525 2.221131 2.479044 -0.261094 0.357573 0.576680 0.963769 1.112459 1.279265 1.822867 1.981048 2.197737 2.571008 -0.181278 0.244687 0.379354 0.499565 1.371147 1.939687 2.081545 2.257664 2.473413 2.679019 -0.491809 0.793403 1.095573 1.248586 1.433776 1.611914 1.888047 2.132035 2.457073 2.627391 -0.251235 0.353668 0.466231 0.673754 0.761327 1.114781 2.007224 2.123861 2.465832 2.639406 -0.345158 0.523258 0.679274 0.860119 1.194849 1.326006 1.848632 2.132397 2.326670 2.510966 -0.160104 0.220957 0.395991 0.698411 0.969721 1.448772 1.710923 1.833738 2.255148 2.614909 -0.154242 0.218964 0.347268 1.230461 1.592574 1.733703 2.002980 2.182922 2.555376 2.704150 -0.147752 0.202050 0.328105 0.531857 1.097229 1.287887 1.880144 2.033520 2.241027 2.732837 -0.394173 0.497084 0.712849 1.053505 1.351267 1.458228 1.861207 2.181794 2.392320 2.533753 -0.302335 0.380917 0.549353 0.985252 1.517171 1.702307 1.859140 2.148560 2.460271 2.579449 -0.489225 0.748632 1.289304 1.544824 1.780201 2.071873 2.310551 2.443509 2.704605 2.789720 -0.237235 0.383617 0.738218 0.908733 1.218091 1.378373 1.607258 2.196781 2.508687 2.662952 -0.287297 0.414596 0.576260 0.837481 1.292636 1.398051 1.699746 2.155291 2.397760 2.512719 -0.226644 0.373291 0.522981 0.950126 1.196878 1.352198 1.832943 1.977466 2.370185 2.574990 -0.202424 0.294204 0.576457 1.079769 1.296360 1.513369 1.942298 2.239055 2.513119 2.684820 -0.205672 0.262350 0.438217 0.606959 0.798794 1.451892 1.730536 1.885799 2.292567 2.433348 -0.304096 0.348725 0.817557 0.973213 1.149195 1.769516 1.914392 2.234704 2.592687 2.674729 -0.206504 0.281307 0.376040 0.779557 1.499555 1.886752 2.032034 2.220961 2.528659 2.666047 -0.130572 0.255765 0.794488 1.301534 1.504711 1.681929 2.069095 2.309137 2.695781 2.848379 -0.214845 0.339856 0.490758 0.723584 1.026000 1.188343 1.937657 2.288473 2.513405 2.753320 -0.359564 0.482479 0.670546 1.042777 1.240083 1.360140 1.592377 1.718141 2.214001 2.639319 -0.106171 0.136363 0.239866 0.666826 1.262252 1.543841 1.886197 2.162484 2.518336 2.782589 -0.188744 0.251920 0.360219 0.913075 1.618822 1.785177 1.927723 2.115808 2.320559 2.642776 -0.225904 0.378515 0.558007 0.728218 0.996381 1.117859 1.477832 1.960983 2.185323 2.667571 -0.436819 0.511780 0.811933 1.004760 1.128440 1.604755 1.813182 1.987683 2.595291 2.709021 -0.249083 0.362078 0.480846 0.813722 1.404123 1.566622 1.741757 2.142883 2.302238 2.567856 -0.249083 0.362078 0.480846 0.813722 1.404123 1.566622 1.741757 2.142883 2.302238 2.567856 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspvqexp2.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspvqexp2.txt deleted file mode 100644 index 80fe18f..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspvqexp2.txt +++ /dev/null @@ -1,2049 +0,0 @@ -5 2048 --0.002077 -0.038247 -0.036477 -0.003710 0.058915 --0.035874 -0.128709 0.029183 -0.019849 0.049800 --0.007389 -0.040358 0.044426 0.047695 -0.043474 -0.075558 0.066718 -0.000350 -0.002910 0.009981 --0.009790 0.076568 -0.100581 0.021504 -0.026649 --0.026362 -0.100884 -0.003799 0.061469 0.001711 --0.034198 -0.008936 0.039170 -0.055448 -0.078447 -0.028441 -0.038152 0.015590 0.036567 -0.041377 -0.049588 -0.091695 0.004580 -0.055922 -0.041638 --0.025374 -0.037246 -0.002046 0.002822 -0.108640 --0.050719 0.152889 0.036331 0.025204 -0.017701 -0.035302 0.120953 0.037832 -0.092915 0.065586 --0.048191 -0.092276 -0.077588 -0.043380 0.071115 -0.011347 -0.004383 0.064201 0.091266 -0.037474 -0.019023 0.014911 -0.012935 0.038099 0.015753 -0.005340 -0.046005 0.048595 0.061014 0.075044 -0.083994 -0.042736 0.000191 -0.120346 0.059455 --0.040009 -0.085618 -0.022013 0.016604 -0.021977 --0.041351 0.055057 0.041498 -0.057724 -0.004755 -0.046951 0.098620 0.036630 -0.034510 0.026358 -0.034831 -0.018107 -0.038210 -0.024564 -0.076584 --0.038199 -0.082180 -0.087172 0.100873 -0.013934 -0.007410 0.052748 -0.012468 -0.086356 -0.004344 --0.008693 0.023248 0.088995 0.063277 -0.010981 --0.014865 -0.008322 -0.026526 0.001412 -0.009086 --0.041663 -0.082625 0.022751 -0.040388 -0.157427 -0.000052 0.047105 0.090012 0.049647 -0.052600 -0.043776 0.044112 -0.006996 0.035467 0.033674 -0.038165 0.009940 -0.005274 -0.025234 0.012284 -0.059331 0.033687 -0.030071 0.038173 -0.045016 -0.026068 0.158444 0.048818 -0.057637 0.009770 --0.040754 -0.099489 -0.027782 -0.004839 0.170178 -0.018211 -0.024125 -0.001981 -0.056519 0.022604 -0.043672 -0.084946 0.014191 0.071154 -0.005074 --0.088121 -0.013992 -0.039939 0.008830 -0.019720 --0.014986 0.009192 -0.018737 -0.054735 -0.013960 --0.001601 0.002582 -0.065304 0.007212 -0.013857 --0.007417 -0.077118 -0.033128 0.041117 0.100625 -0.000688 -0.014708 -0.011064 -0.123109 -0.008590 -0.038570 -0.013241 0.026994 -0.007213 -0.000633 -0.001257 -0.072096 0.057499 0.003234 0.041459 --0.084929 -0.010858 0.034929 0.018375 -0.101168 --0.009436 0.035974 -0.047298 0.107772 -0.014572 --0.033241 0.076725 -0.052278 -0.044989 0.064574 --0.034320 -0.080934 -0.062584 -0.052365 -0.007583 -0.043332 -0.039973 0.001890 0.081092 0.032425 -0.072661 0.019296 -0.009173 -0.013795 -0.048534 -0.003494 -0.036829 0.029480 0.062652 0.019438 -0.003633 -0.011968 -0.096593 -0.102286 0.064289 --0.051416 -0.052157 -0.106111 0.005858 -0.031779 -0.001473 0.071136 -0.017587 0.041119 -0.084642 --0.019285 0.061407 0.024265 -0.082217 0.101714 --0.021349 -0.011424 -0.157899 -0.011584 0.086331 --0.079601 0.013742 -0.095978 0.093032 0.011498 --0.108846 -0.042340 -0.021774 -0.091363 -0.082840 --0.068721 -0.023200 0.069062 0.025331 -0.063542 --0.002176 -0.044709 -0.011586 -0.035579 -0.061392 -0.002329 -0.055782 0.087560 -0.009142 -0.031210 -0.087176 0.029363 0.048300 0.030101 0.003028 --0.006744 0.110741 0.047285 0.042711 0.114962 --0.014983 0.067022 -0.034867 0.007693 0.108661 -0.072716 0.001158 -0.020279 0.097118 -0.049090 -0.018332 0.073348 0.048479 0.038012 -0.075550 -0.024128 -0.002290 0.027979 -0.007476 0.128642 -0.063321 -0.016130 -0.010724 -0.033216 0.012203 -0.004603 -0.069020 0.019149 0.023442 -0.041990 -0.001559 -0.054141 -0.017873 0.001051 0.009669 -0.007371 0.043631 0.032348 -0.066689 -0.007712 -0.075542 0.039341 -0.074389 0.089409 -0.067587 -0.013297 -0.123535 -0.034031 0.013429 0.024826 -0.017265 0.052105 0.067939 -0.101957 -0.053347 -0.046413 0.004984 0.062332 0.030324 0.060242 --0.025911 -0.060816 0.054284 -0.056832 0.016850 -0.007933 -0.018569 -0.000549 0.026701 -0.090331 --0.006708 0.055666 0.016664 0.060888 -0.010839 --0.037232 0.056511 -0.020495 -0.017025 0.030780 --0.059804 -0.054145 -0.035811 -0.030383 -0.022947 --0.038436 -0.017628 -0.001154 0.071736 0.013679 -0.089806 0.109393 0.002158 0.022933 -0.009429 --0.081438 -0.020658 0.036259 0.054585 0.017455 -0.037820 0.018769 -0.052528 -0.146355 0.121991 --0.018012 -0.054744 0.003927 0.003980 -0.068627 --0.025582 0.068240 0.012886 -0.118982 -0.025012 --0.060768 0.074453 0.039306 0.043620 -0.021238 -0.008481 -0.086583 -0.067953 0.013657 -0.016164 -0.052682 0.037754 -0.034526 0.147500 -0.038053 --0.000554 0.038997 -0.033353 -0.103730 -0.024374 -0.063047 0.007908 0.052749 -0.060232 0.105523 --0.018157 -0.023187 0.050942 -0.044718 0.023590 --0.031973 -0.076362 0.073925 0.002114 -0.024398 --0.058682 0.080042 0.018073 0.170306 0.034023 -0.049977 -0.005101 0.005590 0.044243 0.045804 --0.002783 0.065756 -0.036121 -0.026414 -0.032356 -0.022865 0.009608 0.014138 0.076862 -0.045138 -0.060759 0.119694 0.029403 -0.106477 -0.030301 -0.005873 -0.044463 0.032373 0.018732 0.030235 -0.054996 0.014096 -0.056245 -0.108233 0.076912 --0.003553 -0.057174 0.014594 -0.044747 -0.000811 --0.070712 0.032588 0.016264 0.000303 0.049043 -0.009463 0.074638 0.018082 0.009662 0.016092 -0.002476 0.044398 -0.087719 -0.019282 -0.061589 -0.060302 -0.067478 -0.040506 0.023576 0.052937 --0.072603 -0.012619 0.001381 -0.072008 -0.029615 -0.037036 -0.024612 0.072062 -0.042065 0.019378 --0.040438 -0.119783 -0.006434 -0.060809 0.085511 --0.008272 0.020380 0.022744 0.066027 -0.063608 -0.000489 0.072277 0.001453 0.008278 0.040882 -0.032724 0.159938 -0.041156 0.022564 0.038648 -0.014324 -0.095703 -0.056763 -0.088713 0.020001 --0.023825 0.027423 -0.018492 0.065606 0.000365 -0.039845 0.018820 -0.038350 -0.078718 -0.033629 --0.001663 0.009565 0.108200 0.058847 0.065809 --0.049633 -0.045554 0.020137 -0.086381 0.091892 --0.002517 -0.024076 -0.000222 0.049573 -0.129418 --0.045283 0.051515 -0.006173 0.029917 -0.010061 -0.006979 0.078079 0.067161 -0.006824 0.036737 -0.001946 0.029299 -0.146673 0.005204 -0.049944 --0.003573 -0.022387 -0.192735 0.086714 0.000681 -0.023023 0.025278 0.032334 -0.092047 -0.097106 -0.009314 -0.026795 0.048717 -0.014619 0.009445 --0.034367 0.013246 0.033975 0.027681 -0.048279 --0.034841 -0.011498 0.129486 0.012413 -0.099857 --0.009759 0.017468 0.030971 0.054610 0.058014 --0.053387 0.017293 0.044926 0.081337 0.056077 --0.014173 0.033715 -0.080168 -0.039195 0.057433 --0.008063 -0.024017 -0.029873 0.059315 -0.016884 -0.037413 0.102710 0.039066 -0.000322 -0.007096 -0.001081 0.004899 0.064913 -0.009724 0.052938 -0.080878 -0.088833 0.017234 -0.064402 0.068572 --0.037607 -0.071831 0.000857 0.017839 -0.001686 -0.014565 0.002904 0.000522 -0.003298 0.002213 -0.095679 0.012244 0.036755 -0.099818 0.011289 --0.028433 0.070577 -0.043776 -0.022561 -0.076359 --0.030471 -0.127211 -0.047570 0.077242 -0.002030 -0.022748 -0.045608 0.087172 -0.006712 -0.112507 -0.048520 -0.049787 0.033883 0.026952 0.022558 -0.062996 0.012765 0.026950 -0.066289 -0.068448 -0.054918 0.003780 0.040104 -0.005777 -0.085504 -0.064809 0.077196 0.014756 0.043405 0.023787 -0.031364 0.128719 -0.042317 -0.004864 0.087827 --0.029815 -0.093621 -0.008519 -0.023955 0.051611 --0.014788 -0.068189 0.037225 0.179376 -0.029766 -0.060538 0.006306 0.012777 0.019308 0.009494 --0.008692 -0.017852 0.038436 0.046522 0.130088 --0.012523 -0.023608 0.032478 -0.090472 0.044247 --0.044404 -0.030180 -0.040445 0.035083 -0.032830 --0.072877 0.049263 0.081485 -0.069301 0.014635 --0.057655 0.197364 -0.000351 -0.022115 0.039887 -0.042215 -0.009109 -0.086347 -0.104682 -0.049640 --0.047970 -0.025332 -0.040848 0.083051 -0.021243 --0.028802 0.015424 0.001733 -0.128243 -0.060411 -0.055727 0.057515 0.146167 -0.056022 0.024345 -0.002416 -0.015298 0.002236 -0.020925 -0.036973 --0.029182 -0.058852 0.072372 -0.069443 -0.038400 --0.056167 0.006957 0.068247 0.059373 -0.048485 -0.034235 0.048623 -0.036035 0.085210 0.110573 --0.015337 0.046972 -0.043542 0.006351 0.031155 -0.088626 0.069233 0.008134 0.019241 -0.060153 -0.041371 0.089979 -0.041853 0.023626 0.016064 --0.053828 -0.049329 -0.016176 -0.013092 0.057257 -0.069686 -0.046114 -0.045261 -0.039290 0.020585 -0.061314 -0.027727 -0.001927 0.022808 -0.015832 --0.075912 -0.014836 0.002965 0.081369 -0.022597 -0.005534 0.065315 0.044334 -0.043319 -0.041186 --0.013693 0.026330 -0.020694 0.032579 -0.067664 --0.035584 -0.076274 -0.115553 0.029283 0.115779 -0.013526 -0.034741 0.010015 -0.130855 -0.047597 -0.080984 0.031915 0.048376 -0.028547 -0.023234 --0.052917 -0.103074 0.071678 -0.043019 -0.020299 --0.045608 0.007487 -0.028223 0.036499 -0.089053 --0.034453 0.074651 -0.025209 0.077487 -0.013263 -0.004921 0.072189 -0.050852 0.059399 0.035439 -0.002935 -0.054894 -0.031357 -0.070326 -0.036947 --0.026730 0.036590 -0.025250 0.113258 0.121094 -0.080910 0.042350 -0.092512 -0.043499 -0.025455 -0.034745 -0.070282 0.032647 0.111722 -0.019157 -0.020761 0.013997 -0.061982 -0.060954 0.055112 -0.036288 -0.080176 -0.027267 0.012212 -0.093795 --0.041882 0.097155 0.087384 -0.031435 -0.082801 -0.009464 0.032459 0.077828 -0.112376 0.108840 -0.019555 0.014775 -0.073011 -0.043973 0.011444 --0.048044 0.056260 -0.038387 0.043656 0.008263 --0.014005 -0.016142 -0.038569 -0.064552 -0.057510 --0.078202 -0.059032 0.084016 -0.010298 0.012574 --0.020059 -0.064059 -0.059392 -0.046799 -0.054238 -0.022026 -0.006059 0.084724 0.041685 -0.029012 -0.026514 0.032033 0.022922 0.031857 0.030105 --0.035650 0.031377 -0.030435 0.061662 0.079732 --0.025495 0.041751 -0.112711 -0.015737 0.015504 -0.121804 -0.030913 -0.016931 0.056284 -0.031211 --0.038259 -0.005525 0.074063 -0.019980 -0.074225 --0.043126 -0.008346 0.052048 -0.010386 0.102477 -0.020457 -0.053151 0.037134 -0.048166 0.025535 --0.004324 -0.102005 0.042549 0.062684 -0.011027 --0.041502 -0.022180 -0.001040 0.012690 0.058495 -0.039481 0.061425 0.036436 -0.094401 0.024691 --0.002509 -0.024231 -0.105831 0.050352 -0.105564 -0.036061 -0.093016 -0.042697 0.049621 -0.014022 -0.037095 0.014433 0.054764 -0.096569 -0.011104 -0.004844 0.011453 0.022667 -0.022798 0.002655 -0.021742 -0.079613 0.045351 -0.079863 0.014770 -0.050245 -0.026754 -0.023870 0.015727 -0.098730 -0.042398 0.154448 -0.009362 0.081429 -0.020656 --0.072560 0.133852 0.025744 -0.109001 0.075747 --0.059454 -0.002469 -0.103847 -0.008798 0.031741 --0.020032 -0.011426 -0.002985 0.061967 -0.058554 -0.096033 0.053995 -0.071745 0.012181 0.016611 --0.051161 -0.042525 0.015651 0.078963 0.054139 --0.007119 0.014112 0.000797 -0.147306 0.012158 --0.048199 -0.042152 -0.060602 0.035608 -0.095526 --0.044437 0.079277 -0.036361 -0.085666 0.005652 --0.035263 0.081781 0.098388 -0.015160 0.032423 -0.048597 -0.010937 -0.045141 -0.016016 -0.045851 -0.017285 0.029554 -0.068669 0.090490 -0.069378 --0.015215 0.065693 -0.080376 -0.098850 -0.001785 --0.000808 0.001812 0.047789 -0.059522 0.029808 --0.040358 -0.013967 -0.035444 -0.057752 0.011251 -0.027783 -0.009928 0.081566 -0.060520 -0.032563 --0.018103 0.008202 0.020263 0.036779 0.028019 -0.034566 0.020755 0.010139 0.022813 0.071878 --0.033001 0.012734 -0.101437 -0.069713 0.016386 -0.040255 0.034849 0.017738 0.082952 0.030522 -0.011027 0.101822 0.000381 -0.044621 -0.048575 --0.018043 -0.104642 0.042318 0.024433 0.071077 -0.028556 0.050381 -0.035783 -0.004765 0.019134 -0.004109 -0.114088 -0.030007 -0.003475 -0.033302 --0.132027 -0.012463 -0.036186 0.000562 -0.054043 --0.003544 0.052264 0.043304 0.012117 0.016872 --0.034524 0.066372 -0.065579 -0.033370 0.014889 -0.004579 -0.049747 -0.050504 0.049331 0.040066 --0.125392 -0.097291 0.050421 -0.071309 -0.051625 -0.065285 0.022484 0.062435 0.017569 -0.040502 --0.004470 -0.054208 0.010625 -0.094016 0.022508 -0.033725 0.032426 -0.015455 0.036159 -0.115369 --0.103817 0.142767 -0.000238 -0.019162 0.008959 -0.030765 0.075502 -0.088049 0.017398 0.024749 --0.021910 -0.075993 -0.149318 -0.174722 0.102620 -0.008195 -0.009007 0.007189 0.076657 0.014460 -0.034428 0.027255 -0.013869 -0.050491 -0.048691 -0.037759 -0.098562 0.085631 0.021691 -0.000794 --0.029941 0.026585 -0.033603 -0.014074 0.066789 -0.005141 -0.012246 -0.067551 0.100708 -0.040232 --0.002751 0.049901 0.016959 0.021812 -0.059523 --0.022331 0.030079 0.058567 -0.029002 0.104237 --0.013602 -0.035019 -0.155316 0.016558 -0.013881 -0.004136 -0.001657 -0.097220 0.019060 0.052990 -0.004200 0.054365 -0.016768 -0.045191 -0.105984 --0.052803 -0.016935 0.092437 -0.013893 -0.033606 --0.023246 -0.039305 0.036068 -0.020164 -0.060244 -0.045916 -0.014132 0.044463 0.046890 -0.118975 -0.074037 0.010976 0.090692 0.090068 0.023711 --0.044310 0.007556 -0.037900 0.026798 0.084256 -0.002559 0.013715 0.004015 0.008334 0.101711 -0.022258 0.030790 -0.065656 0.019198 -0.035505 -0.026328 0.028683 0.115303 -0.028803 -0.086521 --0.004355 -0.046031 0.011248 -0.040795 0.121216 -0.000425 -0.056590 0.011373 -0.070856 0.064965 --0.043302 -0.095015 0.013747 0.048043 0.047157 --0.046839 -0.005878 -0.013815 0.028948 -0.001373 -0.115513 0.049750 0.038856 0.002747 0.068706 --0.059471 0.083940 -0.035785 0.026815 -0.027017 -0.004618 -0.093707 -0.031970 0.104710 -0.008533 --0.008056 -0.017611 0.038062 -0.073507 -0.036477 -0.022407 -0.059049 0.022840 0.012451 -0.010174 -0.057217 -0.050858 -0.053612 -0.064090 -0.097360 -0.041668 -0.011445 -0.075167 0.006584 -0.122856 --0.011272 0.137465 -0.067901 0.011357 -0.050853 -0.020753 0.070596 0.004302 -0.066991 0.055696 --0.043828 -0.042721 -0.096928 -0.047589 0.046254 --0.027538 -0.005234 0.030541 0.077571 -0.039512 -0.032372 -0.022397 0.002903 0.014010 0.028365 -0.007460 0.011506 0.019889 0.062747 0.095319 -0.052300 0.007374 0.036028 -0.116833 0.049517 -0.004313 -0.039924 -0.005692 0.035446 -0.006279 --0.092093 0.025645 0.053023 -0.015761 -0.045887 --0.018082 0.081602 0.046870 0.015485 0.067284 -0.055890 0.008159 -0.036149 -0.067704 -0.096800 -0.015948 -0.036949 -0.083131 0.080618 0.031677 -0.025776 0.047673 -0.012634 -0.098220 0.039341 -0.018630 0.024685 0.068760 -0.009148 -0.006932 -0.000131 -0.009954 -0.075954 -0.020703 0.000996 --0.040731 -0.082876 0.075619 0.017000 -0.130026 -0.003839 0.083757 0.085935 0.058477 -0.018794 -0.019268 0.053820 -0.025907 -0.016484 0.048963 -0.017315 0.011801 -0.016617 -0.016373 0.052079 -0.016567 0.064592 -0.011714 0.047244 -0.029583 --0.010269 0.112646 -0.025079 -0.018015 -0.021550 --0.019521 -0.111462 -0.047937 -0.002779 0.083724 -0.004416 0.004607 -0.006974 -0.101561 0.027376 -0.083440 -0.109869 -0.002361 -0.011364 -0.079707 --0.138325 -0.095825 0.034339 0.024551 -0.012431 --0.000401 0.007608 0.013950 -0.060441 0.010061 -0.012546 -0.000065 -0.023529 0.015494 -0.012896 --0.014981 -0.019040 -0.043634 0.076437 0.059672 -0.014985 -0.037394 0.020033 -0.082023 -0.016717 -0.029711 -0.006237 0.055347 0.024365 0.002094 -0.019464 -0.038260 0.127306 -0.051862 0.049168 --0.074259 -0.022269 0.023182 0.071183 -0.065354 --0.055933 0.064170 -0.055712 0.107983 0.054978 -0.015294 0.093224 -0.052328 0.000761 -0.020823 -0.023903 -0.063241 -0.093322 -0.054658 -0.006845 -0.048141 -0.023201 -0.047564 0.106605 0.000059 -0.146340 0.030121 -0.040556 -0.020381 -0.050294 -0.016659 -0.021563 0.027855 0.069633 -0.009148 -0.027112 0.056646 -0.023372 -0.211107 0.014012 --0.019924 -0.122201 -0.040118 0.003571 -0.146470 -0.017162 0.075261 0.002383 -0.006374 -0.081174 -0.043906 -0.005278 -0.027448 -0.046459 0.140484 -0.008671 0.019853 -0.128017 -0.022950 0.048609 --0.019167 -0.010958 -0.061823 0.072910 0.001440 --0.023976 -0.030275 0.027463 -0.138470 -0.139145 --0.028088 -0.013451 0.113264 0.081011 -0.012685 -0.006025 -0.055737 0.022779 -0.019951 -0.046793 --0.015091 -0.017958 0.063092 0.032101 -0.004007 -0.052309 0.070815 0.012148 0.095984 0.074330 -0.006032 0.083156 -0.045278 0.013825 0.066658 --0.000966 0.053253 -0.095660 -0.022943 0.108130 -0.092983 -0.012055 0.008111 0.064988 0.010427 -0.042345 0.042586 0.077502 0.053009 -0.031546 --0.004484 -0.019859 0.027061 0.016614 0.085821 -0.089250 0.014975 -0.022722 -0.045228 0.047095 --0.028190 -0.124509 -0.029014 0.024231 -0.016564 --0.025209 -0.031288 -0.023742 0.040341 0.030385 --0.022564 0.023760 0.018611 -0.077310 0.051696 -0.028200 0.005454 -0.045487 0.027221 -0.074627 --0.040934 -0.110565 -0.103536 0.033125 0.041451 --0.017540 0.013737 0.131164 -0.103202 -0.000294 -0.030605 -0.030002 0.058861 0.024425 0.055122 -0.021447 -0.043394 0.039465 -0.020523 -0.012530 --0.003317 -0.002650 -0.020200 -0.002414 -0.060515 -0.003135 0.115504 0.005075 0.072669 0.057819 --0.075310 0.064527 0.025999 -0.067556 0.046351 --0.124098 -0.049305 -0.009230 -0.084801 0.068375 --0.026781 -0.066657 0.010588 0.093986 0.017406 -0.047141 0.053480 -0.019255 0.069267 0.010659 --0.068511 0.015815 -0.011687 0.047685 0.033658 -0.064260 0.062994 0.018822 -0.143452 0.092703 --0.029884 -0.006035 -0.016152 -0.021618 -0.045339 --0.049252 0.041988 -0.021510 -0.039175 -0.031350 --0.101541 0.005832 0.055761 0.009961 0.086386 -0.007597 -0.052775 -0.079976 0.023111 0.004302 --0.020123 0.039264 -0.062497 0.078009 0.004409 --0.063787 0.038329 -0.055050 -0.086972 -0.084417 -0.025733 -0.011156 0.104895 0.026765 0.037827 --0.013149 0.009709 0.004095 -0.039085 0.041414 --0.018153 -0.088525 0.078011 -0.022509 -0.080366 --0.047630 0.036346 0.013702 0.071239 0.024081 -0.114305 -0.072565 0.004642 0.035947 0.040623 --0.017954 0.045965 -0.007375 -0.030016 -0.004483 -0.040170 0.083716 0.012267 0.096863 -0.028263 -0.000694 0.069353 0.024960 -0.069792 -0.070096 --0.028321 -0.072324 0.018256 0.000091 0.049255 -0.038695 0.041521 -0.035000 -0.034223 0.090426 --0.004319 -0.060041 0.030034 -0.014687 0.016165 --0.139996 0.013811 0.037782 -0.083214 0.054142 -0.024863 0.017964 0.045207 0.006294 0.058657 --0.071515 0.093447 -0.050680 -0.014853 -0.071657 -0.007823 -0.010828 -0.096918 0.050508 0.136819 --0.042282 -0.060920 -0.006691 -0.054808 -0.055435 -0.076309 -0.048186 0.105925 -0.031527 -0.030737 --0.043870 -0.102846 0.054550 -0.095983 0.065369 --0.027944 0.014204 0.008256 0.035180 -0.105002 --0.011778 0.036941 -0.007284 0.034566 0.002672 --0.011867 0.094032 -0.081505 -0.042171 -0.012357 -0.025234 -0.142099 -0.011399 -0.092199 0.016061 --0.007420 0.024527 0.010787 0.089568 0.009287 -0.040383 0.043550 0.036649 -0.055816 -0.039815 -0.029883 -0.031089 0.087022 0.064863 0.035410 --0.010187 0.023054 -0.018519 -0.057105 0.026218 --0.007645 -0.026641 -0.033134 0.044367 -0.059939 --0.047569 0.091489 0.022502 0.013205 -0.056318 -0.041414 0.022193 0.081274 -0.006608 0.035220 --0.012493 0.024440 -0.105974 -0.058317 -0.038994 -0.042143 0.057826 -0.117349 0.047843 0.089338 -0.065029 0.029927 -0.014494 -0.010548 -0.129518 --0.033996 -0.030825 0.032254 -0.021848 -0.021345 --0.065200 0.012770 0.020636 -0.034493 -0.080268 --0.015033 -0.018599 0.076611 0.034283 -0.084435 -0.051904 0.063942 0.046362 0.039561 0.096234 --0.030658 0.054240 0.027612 0.022042 0.112035 --0.045512 -0.048431 -0.084263 -0.015994 0.103483 -0.045903 -0.004115 -0.021572 0.057589 0.016494 -0.013949 0.101635 0.127534 0.014985 -0.006815 --0.053449 -0.000707 0.052773 -0.047290 0.071075 -0.041771 -0.079418 -0.026505 -0.082019 0.091756 --0.088458 -0.055800 0.015266 0.048373 -0.028842 -0.004456 0.001112 0.005363 0.012172 -0.036807 -0.063688 0.114491 -0.034186 -0.082173 0.044547 -0.010385 0.061010 -0.075589 0.038888 -0.057732 --0.068354 -0.091781 -0.001533 0.042343 0.007713 --0.003066 -0.016490 0.097581 -0.008705 -0.169889 -0.041901 -0.029045 0.088606 0.028236 -0.005092 -0.087986 -0.005514 -0.001520 -0.067407 -0.036923 -0.018378 -0.001874 0.029761 -0.028224 -0.114769 -0.024657 0.082316 0.020235 0.034884 -0.039374 -0.106617 0.085265 -0.014306 -0.039880 0.059967 --0.020866 -0.045287 -0.013407 -0.029010 0.025480 -0.020099 -0.053760 0.035241 0.067883 -0.069313 -0.022318 0.001659 -0.045385 -0.001930 0.007348 -0.027072 -0.051692 0.069337 0.012098 0.107819 --0.026942 -0.039741 0.043295 -0.135918 0.031043 --0.040145 -0.021705 -0.052514 0.001132 -0.030098 --0.040748 0.046793 0.149894 -0.021036 -0.023530 --0.040778 0.085491 0.068161 0.033268 0.032992 --0.008355 0.008600 -0.125074 -0.034204 -0.082832 -0.030318 0.000442 -0.007943 0.113836 -0.044022 -0.015079 0.065357 -0.018956 -0.092656 -0.056274 --0.017481 -0.004857 0.117201 -0.005233 0.069151 -0.011030 -0.024316 -0.015695 -0.011308 -0.005062 --0.010876 -0.038919 0.032578 -0.054136 -0.121302 --0.046807 0.041175 0.059588 0.031040 -0.027127 -0.021551 0.000830 -0.013766 0.046306 0.081467 -0.014301 -0.010731 -0.051227 -0.018797 0.043587 -0.050317 0.086115 -0.027629 0.046202 -0.084445 -0.021044 0.041527 0.005458 0.006677 0.002404 --0.037453 -0.035957 -0.039078 -0.063247 0.088516 -0.079477 0.004030 -0.063421 -0.074051 -0.039753 -0.062917 -0.119760 -0.002471 0.000423 0.007336 --0.124273 0.001094 -0.026391 0.070714 -0.035166 -0.037072 0.018118 0.017500 -0.050692 -0.015928 --0.003390 -0.002367 -0.040046 0.013349 -0.041478 --0.034407 -0.009890 -0.095593 0.109253 0.041509 --0.062990 -0.041682 0.001528 -0.124601 -0.030128 -0.086076 0.003516 0.073015 0.024339 -0.069858 --0.022435 -0.042554 0.107497 -0.132302 0.035124 --0.105430 0.042327 -0.064964 0.057304 -0.092634 --0.058398 0.052083 0.018947 0.087990 -0.026444 -0.023373 0.037085 -0.083589 0.015247 0.016566 --0.026782 -0.070361 -0.019757 -0.109826 -0.040199 --0.009688 -0.005408 -0.003769 0.111444 0.029897 -0.070686 0.021466 -0.052076 0.015609 -0.023854 -0.008088 -0.022084 0.052542 0.122824 -0.018174 --0.009808 0.107602 -0.059166 -0.100824 0.082456 --0.004737 -0.023536 -0.095212 -0.007114 -0.098814 --0.061778 0.049247 0.025130 0.010909 -0.091691 -0.034764 -0.014047 0.002819 -0.050330 0.085399 -0.057257 -0.052435 -0.067151 -0.012311 0.040602 --0.118166 0.053141 -0.119211 0.024274 0.027075 --0.022345 -0.060443 -0.046916 -0.099227 -0.115958 --0.071020 0.015499 0.055810 -0.012697 0.010803 --0.051685 -0.097540 0.013970 -0.096689 -0.060525 -0.010422 0.018434 0.151855 0.015230 -0.080804 -0.040130 0.043946 0.022887 0.043819 -0.027371 -0.037213 0.059423 -0.040656 0.141843 0.065180 --0.083238 0.057208 -0.113200 -0.056009 0.030056 -0.060522 -0.054570 0.006137 0.062833 -0.081547 -0.002753 0.037357 0.055441 0.049180 -0.017699 --0.006225 0.029216 0.040657 0.016328 0.041969 -0.058998 -0.067000 0.002571 -0.008178 0.027776 --0.026103 -0.049399 0.093279 0.052313 -0.029958 --0.070689 -0.054589 0.027325 -0.010464 -0.000604 -0.009479 0.125126 0.086072 -0.052874 0.065774 -0.003009 0.013855 -0.088166 0.018907 -0.064212 -0.023827 -0.024022 -0.121652 0.032035 0.015278 -0.023427 -0.027194 0.066092 -0.100117 -0.048548 -0.013755 0.005344 0.038451 -0.000513 0.018468 -0.065931 -0.062001 0.035615 -0.067561 -0.013315 -0.045441 -0.016064 0.010535 0.035953 -0.068093 -0.035872 0.097935 -0.025516 0.061435 0.028137 --0.042656 0.110708 -0.022981 -0.052860 -0.009583 --0.084678 -0.040172 -0.092364 0.061778 0.003794 --0.002964 -0.047375 -0.029968 0.090529 -0.045382 -0.103144 0.034998 -0.012760 0.013885 0.048887 --0.049886 -0.034647 0.061193 0.058574 0.084107 --0.022304 -0.008817 0.036857 -0.119972 0.000619 --0.079467 -0.031710 -0.108927 -0.033843 -0.034845 --0.125290 0.079806 -0.011673 -0.070719 -0.063897 --0.051524 0.042071 0.082303 -0.016684 0.053366 -0.024657 -0.062913 -0.040533 -0.032117 -0.013188 -0.036519 0.055734 -0.134481 0.055949 -0.050480 -0.002035 0.010998 -0.064264 -0.078569 -0.026404 --0.017580 0.005453 0.068795 -0.031274 0.024178 --0.038245 -0.037973 -0.013256 -0.072256 0.057358 --0.004941 -0.047850 0.119977 -0.015040 -0.079231 --0.013449 -0.005542 0.028890 0.032536 -0.020619 -0.083769 -0.028624 0.049040 0.021538 0.104107 --0.072475 0.019284 -0.044425 -0.058775 0.061172 -0.025682 0.004208 0.041846 0.095369 0.007892 -0.030701 0.062103 -0.086288 -0.068866 -0.110743 -0.052685 -0.069032 0.010339 0.044804 0.106157 -0.105575 0.017263 -0.110890 -0.040735 0.061412 -0.021037 -0.102095 0.039008 0.010335 0.005686 --0.108307 0.057569 -0.004539 -0.019864 0.033710 --0.031254 0.013482 0.035051 0.014893 -0.001676 --0.053780 0.014329 -0.037130 0.010087 -0.043959 -0.031302 -0.006715 -0.065618 0.066261 0.071102 --0.085133 -0.020753 0.050721 -0.042021 0.006613 -0.038123 0.041345 0.095993 -0.028353 -0.008509 --0.039544 -0.069281 0.047585 -0.020085 0.000819 -0.000478 0.017818 0.008015 0.068812 -0.184380 --0.073606 0.120550 -0.032173 0.058092 0.024132 --0.016705 0.130871 -0.094852 0.044256 0.003919 --0.002119 -0.026963 -0.003553 -0.110166 0.083113 --0.008545 -0.026785 0.025936 0.069075 0.054271 -0.029418 0.039817 0.040088 -0.036680 -0.073300 --0.003368 -0.074471 0.111772 0.030913 -0.018960 --0.040689 0.058799 -0.017810 -0.064269 0.071408 --0.022927 -0.077256 -0.075665 0.100717 -0.099471 -0.004792 0.063353 -0.017202 -0.012465 -0.052031 -0.015659 0.049801 0.020300 0.001231 0.061694 --0.002196 -0.039936 -0.095913 -0.006760 -0.036261 --0.004827 -0.023039 -0.062452 0.023724 0.043337 -0.002849 -0.004311 -0.067199 -0.039365 -0.082845 --0.036454 -0.014788 0.059651 -0.039192 -0.021445 --0.003667 -0.011645 0.021036 -0.006220 -0.025338 -0.010705 -0.002077 0.043196 0.035112 -0.036895 -0.017671 0.003759 0.106991 0.040822 0.011089 --0.048837 0.025240 -0.002343 0.015983 0.080230 --0.005045 -0.000454 -0.055852 -0.004494 0.084580 -0.044207 -0.018164 -0.035672 0.024802 -0.028216 -0.026617 0.021648 0.082157 0.012675 -0.049856 -0.001020 -0.118363 0.069854 -0.038161 0.096174 -0.032049 -0.035139 -0.015943 -0.028306 0.055425 --0.092742 -0.074326 0.010130 -0.020646 0.043131 --0.014246 -0.037891 0.006922 0.059464 -0.023168 -0.059938 0.021652 -0.004602 -0.005103 0.062343 -0.000410 0.032704 -0.087978 0.042098 -0.008283 -0.000714 -0.078595 0.004443 0.036763 0.004995 --0.050964 0.045909 0.038942 -0.052841 -0.054318 -0.033939 -0.020268 0.019574 0.029805 -0.002001 -0.068470 -0.056316 0.007236 -0.031313 -0.066063 --0.003425 0.022247 -0.018479 -0.008040 -0.105011 --0.109717 0.132884 0.056892 0.052155 -0.073444 -0.051067 0.107179 0.014594 -0.036657 0.110846 --0.009896 -0.042527 -0.082220 -0.007607 0.057007 --0.034754 0.003213 0.041643 0.142016 -0.007658 -0.012781 0.014366 -0.021935 0.010511 0.028021 -0.002082 -0.027023 0.055247 0.097082 0.111840 -0.040151 -0.019830 -0.007033 -0.097207 0.026595 --0.069875 -0.070451 -0.049743 0.053253 -0.019762 --0.078475 0.043019 0.022103 -0.033625 -0.008627 -0.058858 0.080427 0.060029 0.002771 0.041250 -0.030257 -0.044059 -0.001226 -0.060544 -0.126844 --0.029407 -0.021079 -0.108126 0.070012 -0.006653 -0.013084 0.090992 -0.002726 -0.070041 -0.006757 --0.017571 0.027459 0.103937 0.003012 0.038213 --0.007808 -0.011937 -0.015457 -0.033181 0.012816 -0.010199 -0.056227 0.006057 -0.017569 -0.098687 -0.006000 0.076819 0.022272 0.082508 -0.058508 -0.031808 0.054009 0.007871 0.055301 0.070296 -0.023941 0.025656 -0.005875 -0.068203 0.027482 -0.036615 0.026218 -0.011406 0.026235 -0.022002 --0.011161 0.120568 0.023165 -0.010473 0.002080 --0.033028 -0.043255 -0.030454 0.009261 0.113350 -0.023271 -0.015934 -0.037492 -0.032890 0.016928 -0.020967 -0.090717 -0.016510 0.070725 -0.063975 --0.097203 0.017597 0.016946 0.027298 -0.016049 --0.019287 -0.005319 0.019000 -0.037327 -0.040993 --0.003975 0.027897 -0.095076 -0.010053 -0.014610 -0.005584 -0.024009 0.000599 0.082121 0.098790 -0.005987 -0.036027 -0.067221 -0.128015 -0.052111 -0.056606 -0.020029 0.012172 -0.018025 -0.028588 --0.015169 -0.087101 0.044526 -0.022464 0.054835 --0.084369 -0.058286 -0.039363 -0.003339 -0.116729 --0.051506 0.079944 -0.023815 0.113004 -0.052120 --0.012383 0.075636 -0.024387 -0.039200 0.032050 --0.031568 -0.140199 -0.082589 -0.060485 -0.013115 -0.092001 -0.002684 -0.027087 0.111635 0.050016 -0.077055 -0.010441 -0.006942 -0.026898 -0.083879 --0.008401 -0.026725 0.049993 0.043707 0.027966 --0.019866 -0.057701 -0.086619 -0.114361 -0.008921 --0.039708 -0.122519 -0.074209 0.014381 -0.065102 --0.023419 0.118673 -0.000005 0.071661 -0.127659 --0.009184 0.020308 0.019151 -0.054484 0.096378 -0.016102 -0.060605 -0.128655 -0.004225 0.079251 --0.021895 0.024065 -0.097479 0.045279 -0.036151 --0.045806 0.005106 0.000093 -0.074415 -0.071654 --0.067599 -0.017537 0.050178 0.015860 -0.018919 --0.015382 -0.057989 0.032437 -0.039627 -0.030285 -0.015438 -0.005533 0.110416 -0.004137 -0.030336 -0.085365 0.089779 0.061676 0.017178 -0.016279 -0.028526 0.055656 0.008566 0.000706 0.124966 --0.018124 0.040023 -0.067773 0.028532 0.098381 -0.062832 -0.038523 0.003865 0.065698 -0.026661 -0.076081 0.062167 0.112325 0.052139 -0.040826 -0.003747 -0.052113 0.013442 0.002756 0.102858 -0.040603 -0.012693 0.031245 -0.046645 -0.003625 --0.024647 -0.062463 0.000476 0.024807 -0.036286 --0.003083 -0.015952 -0.016156 0.002976 0.016598 --0.015092 0.058522 0.011542 -0.046504 0.009174 -0.097896 0.056220 -0.055387 0.022356 -0.126788 -0.024795 -0.092333 -0.084406 -0.010051 0.060835 -0.013338 -0.010735 0.052739 -0.119952 -0.093185 -0.010522 -0.001505 0.056134 0.038675 0.016542 -0.005217 -0.061424 0.071990 -0.028908 0.011826 --0.009221 -0.010760 0.023849 0.034664 -0.066108 -0.018587 0.070818 0.013554 0.106469 0.035530 --0.060716 0.072344 0.010625 -0.017888 0.006548 --0.122347 -0.080419 -0.039979 -0.045658 -0.046576 --0.040526 -0.039641 -0.048709 0.067016 0.023042 -0.064800 0.099396 -0.064314 0.005665 -0.025960 --0.094387 -0.056820 0.015466 0.086382 0.024902 --0.019486 0.021888 0.000550 -0.168957 0.071388 --0.019935 -0.042118 -0.040820 -0.012013 -0.072063 --0.004249 0.039160 0.010084 -0.080610 -0.043915 --0.101425 0.074442 0.035350 0.051348 0.051160 --0.031631 -0.053381 -0.062261 -0.020441 -0.031251 -0.050923 0.000358 -0.074646 0.076663 -0.042498 --0.033718 0.037025 -0.017087 -0.091951 0.017983 -0.015622 0.007807 0.087203 -0.061047 0.077306 --0.049822 0.015499 0.035918 -0.044388 0.034786 --0.003435 -0.072680 0.042506 -0.004200 -0.024834 --0.034415 0.065814 0.079911 0.117115 0.013096 -0.065811 0.001560 0.054427 0.085716 0.083343 --0.034994 0.035815 -0.034661 -0.032421 0.000133 -0.021908 0.041958 -0.008418 0.091804 -0.023169 -0.019306 0.087287 0.064984 -0.052908 -0.010301 --0.022717 -0.062698 0.029605 0.020970 0.011270 -0.049229 -0.033794 -0.040198 -0.068419 0.063147 --0.023097 -0.079045 -0.010748 -0.064320 -0.011785 --0.108984 0.015970 -0.038308 0.017991 0.062400 --0.000719 0.044392 0.034008 -0.020969 0.006446 --0.044457 0.044495 -0.084323 -0.014046 -0.057116 -0.037862 -0.024751 -0.045926 0.007665 0.082611 --0.081497 -0.013395 -0.026864 -0.040485 -0.031100 -0.095144 0.005947 0.063254 0.009423 0.031198 -0.008443 -0.078212 -0.002275 -0.025354 0.048808 -0.003982 0.011608 -0.005923 0.061556 -0.091653 --0.028425 0.056332 0.005018 0.007136 0.010607 -0.039647 0.145962 0.007951 -0.017526 -0.039745 -0.023022 -0.066844 -0.047384 -0.044307 0.041848 --0.056589 0.034263 -0.033277 0.073824 -0.030747 -0.009451 0.005157 -0.048186 -0.045749 -0.054258 --0.003301 0.004995 0.071505 0.029585 0.050033 --0.064837 0.012928 0.002785 -0.117405 0.045317 --0.026899 -0.051475 -0.054625 0.064955 -0.136139 --0.083576 0.066985 0.000964 0.024630 -0.036989 -0.049229 0.047537 0.090953 0.036197 0.054765 -0.062892 0.045061 -0.097460 0.009938 -0.027736 --0.008479 0.053538 -0.125219 0.036747 0.027556 --0.017214 0.036754 0.009736 -0.087187 -0.089725 --0.002417 -0.039070 0.076625 0.018126 0.032402 --0.035537 -0.003939 -0.001806 0.018436 -0.060172 --0.024517 0.048085 0.052646 0.044561 -0.126681 --0.005381 0.059991 0.064924 0.047878 0.043526 --0.079817 0.034296 -0.009242 0.037169 0.115281 --0.015147 -0.019430 -0.077776 -0.033431 0.076276 -0.023914 0.014924 -0.049231 0.048491 -0.012740 -0.023873 0.121027 0.067832 -0.009223 -0.039188 --0.018355 -0.042663 0.070587 -0.003855 0.077791 -0.036307 -0.069362 -0.035976 -0.011638 0.103907 --0.055984 -0.110967 -0.002537 -0.016356 -0.022701 --0.018211 0.017831 -0.009534 0.011128 -0.026445 -0.071893 0.028948 0.017993 -0.055001 0.032913 -0.013143 0.141940 -0.030668 -0.010630 -0.075402 --0.008241 -0.097950 -0.070541 0.086461 0.063873 -0.010107 -0.006389 0.086778 -0.017779 -0.056644 -0.040699 -0.054122 0.073702 -0.008815 0.011806 -0.020978 -0.004901 0.046808 -0.038708 -0.048713 -0.065026 -0.042069 0.030306 -0.003984 -0.125105 -0.020044 0.154911 0.060110 0.041504 0.013796 -0.003360 0.144327 -0.056583 -0.031643 0.021938 --0.082644 -0.117123 -0.032869 -0.004149 0.019806 -0.007405 -0.051019 -0.020896 0.133232 -0.028058 -0.050897 0.015399 -0.022377 0.012018 0.002474 --0.031801 -0.041942 0.020380 0.018326 0.106183 -0.038954 -0.045696 0.017961 -0.080241 0.038198 --0.031449 -0.026191 -0.079952 0.035385 -0.053671 --0.055347 0.103293 0.049459 -0.008219 0.010257 --0.061794 0.124358 0.049411 0.069306 0.034282 --0.013114 -0.040074 -0.071968 -0.195520 -0.088871 --0.030547 -0.024227 -0.047665 0.132613 0.012253 -0.036726 0.018979 -0.021295 -0.120084 -0.050532 --0.020265 0.013963 0.136035 -0.067105 0.051832 -0.013865 -0.036402 0.005526 -0.042230 -0.022246 --0.030844 -0.014871 0.097708 -0.055950 -0.060091 --0.107193 -0.000749 0.094279 0.066459 0.015231 -0.068358 0.042724 -0.020943 0.012438 0.110596 --0.022189 0.026125 -0.011649 0.004604 0.037204 -0.039096 0.065797 0.045162 -0.003834 -0.056679 -0.017104 0.070007 -0.005419 -0.016435 -0.000214 --0.097253 -0.033412 -0.004272 0.021730 0.092887 -0.039513 -0.027819 -0.045420 -0.062670 -0.013033 -0.033957 -0.040429 -0.018152 0.020048 0.015966 --0.083740 0.050010 0.032999 0.053057 -0.072973 -0.000797 0.028222 0.063769 -0.045254 -0.001401 --0.008530 0.000350 -0.050423 0.016321 -0.077400 --0.017818 -0.062015 -0.039769 0.103694 0.123584 -0.004844 -0.068111 -0.008528 -0.128884 -0.003312 -0.098749 0.025292 0.013547 0.007157 -0.032589 --0.024049 -0.074941 0.062923 -0.112079 -0.008534 --0.046211 0.028223 -0.041903 -0.001378 -0.077507 --0.015178 0.093495 -0.033668 0.043904 -0.026096 -0.008741 0.024695 -0.042365 0.063246 0.013544 --0.021438 -0.018498 -0.060824 -0.093599 -0.003304 -0.013206 0.019776 0.011491 0.115257 0.066627 -0.042660 0.045968 -0.044189 -0.056683 0.002399 -0.025400 -0.031109 0.037612 0.112170 0.041814 -0.005019 -0.013887 -0.051704 -0.065646 0.030095 --0.006617 -0.067206 -0.053773 0.020368 -0.060694 --0.042554 0.031959 0.034480 -0.016413 -0.056939 -0.026266 0.003617 0.032682 -0.066017 0.064464 -0.025224 -0.014523 -0.107735 -0.028243 0.015327 --0.027555 0.013037 -0.049117 0.015929 -0.001301 --0.010874 -0.018588 -0.021124 -0.055630 -0.102228 --0.048525 -0.057257 0.083344 0.005472 0.060981 --0.022083 -0.107351 -0.002309 -0.015487 -0.065168 -0.011812 -0.029764 0.117191 0.062742 -0.062476 -0.020253 0.014273 0.020564 0.047570 -0.021837 -0.006995 0.009213 -0.047359 0.072944 0.095512 -0.010178 0.039050 -0.077791 -0.020722 0.021947 -0.090992 -0.061050 -0.090772 0.081786 -0.045653 --0.012634 0.036482 0.058533 -0.002696 -0.033458 --0.040412 0.012196 0.010799 -0.011791 0.110559 -0.009821 -0.036074 0.066220 -0.015518 0.056690 --0.027127 -0.071116 0.031944 0.079010 -0.022395 --0.039431 -0.000384 -0.014285 0.016850 0.033711 -0.008705 0.100114 0.041438 -0.100989 0.011356 --0.046625 -0.040932 -0.139483 0.054309 -0.063813 --0.012343 -0.055168 -0.096047 0.031057 -0.034404 -0.061917 0.022545 0.077964 -0.061018 -0.028539 --0.002541 -0.030177 0.006468 -0.005315 0.042803 -0.027882 -0.101187 0.073519 -0.048492 -0.034044 -0.063858 -0.051841 -0.034119 0.025079 -0.055338 -0.022337 0.072417 -0.039178 0.093515 0.010215 --0.063332 0.136724 -0.034306 -0.068709 0.036614 --0.060321 0.003109 -0.064068 -0.001911 0.026497 --0.043444 0.005220 -0.028260 0.089346 -0.073713 -0.082013 0.000948 -0.079297 0.077331 0.007199 -0.013959 -0.089135 -0.001973 0.083595 0.061678 --0.027937 0.074507 0.052481 -0.156418 -0.008126 --0.077649 -0.025098 -0.028822 0.031584 -0.062854 --0.037974 0.052900 -0.008246 -0.058382 0.007371 --0.059698 0.005125 0.103990 0.035731 0.076498 -0.045455 -0.034656 -0.089189 0.010512 -0.022809 -0.023399 0.080456 -0.046407 0.119537 -0.046816 -0.011054 0.024797 -0.075119 -0.091853 0.017319 -0.022797 0.030783 0.051211 -0.054302 0.035466 --0.053426 0.002530 0.020784 -0.089056 0.007237 -0.031757 -0.019566 0.082209 -0.018737 -0.006975 --0.032879 0.000924 0.069241 0.009323 0.017753 -0.041898 0.020597 0.000749 0.046727 0.117703 --0.020501 0.027483 -0.056525 -0.059522 0.018749 -0.025171 0.033068 0.005911 0.134204 0.011451 -0.038296 0.086523 -0.027888 -0.033250 -0.035178 -0.043617 -0.108778 0.024102 0.016641 0.092810 -0.073643 0.030016 -0.066742 -0.010738 0.064668 -0.039526 -0.112082 -0.032794 -0.037218 0.027811 --0.128246 0.003025 -0.070009 -0.076832 -0.013242 --0.030105 0.038807 0.066675 0.013770 0.023016 --0.094473 0.028346 -0.050126 -0.043963 -0.011618 -0.017048 -0.083869 -0.023363 0.030985 0.027338 --0.080760 -0.055583 0.032162 -0.032668 -0.036833 -0.058238 0.020173 0.050309 -0.009187 0.009272 --0.051130 -0.060180 0.014297 -0.085720 0.033908 --0.002635 0.061924 -0.014460 0.025310 -0.143366 --0.086237 0.079075 -0.057641 0.027727 0.053345 -0.030701 0.128530 -0.096663 0.028249 -0.038583 --0.041418 -0.078768 -0.009950 -0.139435 0.050946 --0.001476 -0.004529 -0.005454 0.042876 0.012496 -0.037365 0.037258 -0.009785 -0.014137 -0.075187 --0.015646 -0.084672 0.066850 0.049159 0.022652 --0.100018 0.030626 -0.031693 -0.026283 0.098183 -0.037095 -0.031902 -0.082082 0.064108 -0.081413 --0.016931 0.069276 0.025553 0.019033 -0.009843 -0.021095 0.006896 0.091735 -0.006895 0.125729 --0.038132 -0.025017 -0.094419 0.023870 0.012859 --0.032674 0.010226 -0.092226 -0.004873 0.064962 --0.006137 0.026959 -0.019304 -0.064646 -0.056343 --0.049825 -0.021361 0.067875 -0.021989 0.008580 --0.036917 -0.006108 0.023764 -0.015728 -0.098608 -0.056344 -0.043710 0.075790 0.016095 -0.079516 -0.016637 0.054791 0.091656 0.119050 -0.037915 -0.002929 -0.026705 -0.038725 0.031207 0.092135 --0.016211 0.014904 -0.012804 -0.003882 0.145488 -0.013740 -0.018092 -0.113500 0.052133 -0.037974 -0.032356 0.065081 0.054718 -0.006753 -0.115419 --0.041122 -0.070389 0.024012 -0.033000 0.078595 -0.002090 -0.003576 0.025975 -0.029200 0.073729 --0.067545 -0.099515 0.068346 0.036494 -0.010089 --0.040395 -0.024474 0.000906 0.004180 -0.011648 -0.077079 0.062025 0.048336 -0.047553 0.020667 --0.034650 0.102764 -0.088833 0.063548 -0.063948 -0.004926 -0.075665 -0.010204 0.077117 0.008604 -0.016964 -0.006119 0.015651 -0.060279 -0.084239 -0.021175 -0.041494 0.062789 0.023042 -0.049413 -0.030400 -0.088557 -0.027424 -0.038734 -0.047767 --0.039267 -0.007115 -0.095571 0.040131 -0.172339 --0.015514 0.125809 0.002775 0.011847 -0.039818 -0.003508 0.088794 -0.016537 -0.041801 0.077773 --0.025099 -0.015829 -0.087113 -0.031825 0.018394 --0.033412 -0.037361 0.054089 0.082347 -0.078775 -0.044163 -0.001941 -0.036779 0.006281 0.033103 --0.019683 0.013567 0.044802 0.035896 0.099997 -0.048928 0.024331 0.024339 -0.119730 -0.020516 -0.003938 -0.049114 -0.020101 0.025056 -0.039189 --0.111669 0.015432 0.107806 0.009106 -0.041783 -0.004427 0.114069 0.035561 0.004165 0.048624 -0.065296 -0.020221 -0.112241 -0.024621 -0.104499 -0.040792 -0.042481 -0.126163 0.113850 0.052426 -0.045897 0.073140 -0.038559 -0.101637 -0.010880 -0.014157 0.016488 0.118415 -0.003117 0.015104 -0.005410 -0.047124 -0.034323 -0.038341 0.011107 --0.021536 -0.087493 0.030662 0.003416 -0.087892 --0.019840 0.053393 0.053193 0.082340 -0.013319 -0.013522 0.032147 -0.036372 0.021664 0.058868 -0.001821 0.053133 0.015237 -0.029422 0.049671 -0.032518 0.054852 -0.061126 0.052882 0.005097 --0.000200 0.077584 0.023798 -0.015922 -0.043740 --0.019244 -0.065261 -0.001356 0.041977 0.064243 -0.006831 0.025573 -0.039113 -0.067333 0.007728 -0.061532 -0.086024 0.037808 0.024787 -0.036093 --0.148755 -0.014995 0.025827 -0.017793 -0.025363 -0.010676 -0.014283 0.038621 -0.041757 -0.018561 --0.004984 0.048476 -0.027007 0.007045 -0.010409 -0.017155 -0.042986 -0.059561 0.084763 0.072516 --0.014595 -0.020495 -0.009080 -0.061622 -0.023300 -0.018242 0.008783 0.036423 -0.001710 -0.025459 --0.030263 -0.038355 0.112339 -0.013108 0.030839 --0.050166 -0.045350 -0.006927 0.057254 -0.090539 --0.052734 0.030495 -0.028123 0.095772 0.021287 -0.004939 0.065006 -0.066334 0.009532 0.009978 -0.000692 -0.079650 -0.130620 -0.025115 -0.037193 -0.028545 -0.011885 -0.018329 0.101976 0.056169 -0.074905 -0.039652 -0.019531 -0.031025 -0.031945 --0.004999 -0.024155 0.051113 0.063966 -0.016577 --0.028105 0.007520 -0.098547 -0.151585 0.016061 --0.011144 -0.064311 -0.071227 -0.012819 -0.089185 --0.011034 0.126948 0.065626 0.030017 -0.077054 --0.016170 -0.011244 -0.030183 -0.068083 0.115571 -0.004514 -0.032999 -0.119452 -0.052594 0.048244 -0.006761 0.001824 -0.082055 0.063269 0.016468 --0.015038 0.008738 -0.042234 -0.087201 -0.135683 --0.058265 -0.010563 0.099495 0.035913 0.016120 -0.022021 -0.060263 0.058709 -0.025272 -0.069868 --0.012474 -0.023791 0.072270 0.012475 -0.047178 -0.065743 0.022110 0.027334 0.039002 0.034057 -0.056588 0.090825 -0.083277 0.062553 0.045167 -0.016230 0.042246 -0.055865 -0.029814 0.063583 -0.101556 -0.041974 0.065108 0.059385 -0.023394 -0.067253 0.003519 0.053386 0.071879 -0.052816 --0.014833 -0.034839 0.008862 0.040661 0.076481 -0.113195 -0.022318 0.022988 -0.047563 0.021223 --0.031776 -0.097003 0.010273 0.070963 -0.088181 --0.014952 -0.044557 -0.040211 0.027326 0.055263 --0.027993 0.036839 0.059553 -0.085166 0.023284 -0.081938 0.013347 -0.056030 0.032386 -0.078191 --0.012334 -0.065844 -0.082412 0.021620 0.049765 -0.021974 0.064777 0.116942 -0.066893 -0.029098 -0.063773 -0.015678 0.036050 -0.001531 0.050204 --0.007431 -0.053256 0.019949 -0.084515 -0.052331 -0.003628 -0.002831 0.028651 -0.022563 -0.068663 --0.046864 0.085680 0.035073 0.090355 0.076019 --0.033539 0.078709 0.049120 -0.058380 0.063174 --0.067044 -0.040988 -0.024670 -0.076422 0.022349 --0.059226 -0.063296 -0.024667 0.109900 -0.039214 -0.081493 0.061838 -0.018769 0.054117 0.049416 --0.039105 -0.000888 -0.008740 0.069660 0.056013 --0.013119 0.088704 0.005989 -0.118940 0.055085 --0.021830 -0.027348 -0.037636 -0.044645 -0.013684 --0.033348 0.066928 -0.026840 -0.074085 -0.052255 --0.095346 0.073214 0.052368 0.000793 0.036896 -0.029109 -0.040256 -0.063044 -0.008606 -0.000437 -0.037406 0.035413 -0.064896 0.100694 -0.002451 --0.062127 -0.005213 -0.045513 -0.099165 -0.029096 -0.046180 -0.038707 0.091676 -0.027947 0.081059 --0.051970 0.036875 -0.002862 -0.034628 0.032122 --0.042473 -0.133086 0.097766 0.014513 -0.057376 --0.026905 0.025345 0.058654 0.088520 0.021655 -0.068829 -0.068890 0.073760 0.037294 0.067743 -0.004270 0.030315 -0.017342 -0.022912 0.021230 -0.027415 0.010279 0.033049 0.105463 -0.080985 --0.024846 0.118625 0.017407 -0.060377 -0.071617 --0.034814 -0.031741 0.033114 -0.008946 0.044965 -0.026382 0.068195 -0.053337 -0.079506 0.089886 -0.019186 -0.075490 -0.002131 -0.014334 0.010145 --0.102313 0.044049 0.024515 -0.079086 0.105318 -0.030157 0.019277 0.009149 -0.002192 0.035223 --0.093034 0.037988 -0.056189 0.005485 -0.070967 -0.093206 -0.017940 -0.068121 0.025189 0.098473 --0.047072 -0.057202 0.027986 -0.068841 -0.023193 -0.059350 -0.020968 0.125734 -0.015897 0.013012 --0.018615 -0.122453 -0.008474 -0.064049 0.013910 -0.021902 0.037915 0.039737 0.028260 -0.089535 --0.052408 0.036171 0.024766 0.038944 0.043725 -0.068495 0.097351 -0.051536 -0.026994 0.009734 -0.022521 -0.085412 -0.004269 -0.068523 0.026057 --0.003617 0.002555 -0.024622 0.075742 0.024453 -0.043622 0.048992 -0.003958 -0.051371 -0.010372 --0.009291 -0.026649 0.112796 0.034440 0.000480 -0.000993 0.012835 -0.024524 -0.086702 0.076990 --0.012872 -0.012272 -0.049239 0.045637 -0.100430 --0.080402 0.098860 -0.001607 -0.027740 -0.028447 -0.010187 0.049316 0.064463 -0.032244 0.096351 -0.042173 -0.014830 -0.130350 -0.065157 -0.020131 -0.011826 0.043958 -0.096975 0.094420 0.065360 -0.008046 0.034625 0.022699 -0.011948 -0.162034 --0.028577 -0.049031 0.062518 0.027121 0.011773 --0.062840 -0.028274 0.019513 0.004294 -0.058221 -0.015044 0.032322 0.078632 0.074899 -0.089319 -0.012740 0.036679 0.061490 0.073955 0.074210 --0.042945 0.081229 0.003752 -0.027289 0.107675 -0.028637 -0.027527 -0.094485 -0.014081 0.106655 -0.037034 -0.046495 -0.057983 0.047583 0.007322 --0.000480 0.084590 0.058447 0.010057 -0.044796 --0.035563 -0.017414 0.104652 -0.101773 0.088697 -0.008873 -0.059058 -0.074754 -0.068039 0.080127 --0.042104 -0.067599 0.033969 0.019253 -0.038611 -0.007952 0.028316 -0.003028 0.025731 -0.031708 -0.103465 0.087113 0.002288 -0.034732 0.000345 -0.011011 0.084188 -0.047564 0.007324 -0.100708 --0.031667 -0.084195 -0.045309 0.035772 0.029785 --0.003803 0.041355 0.070690 -0.006148 -0.101234 -0.036078 -0.057998 0.086587 0.069468 -0.017787 -0.043517 -0.032858 -0.018033 -0.080238 -0.054284 -0.011916 -0.027168 0.032061 0.004608 -0.164665 -0.024300 0.127777 -0.001633 0.037157 -0.077063 -0.079112 0.092827 -0.045527 0.012537 0.048156 --0.028838 -0.088344 -0.058200 -0.001037 0.009927 -0.005766 -0.051805 0.035975 0.103039 -0.118515 -0.040739 0.028846 -0.010371 -0.011677 -0.017552 --0.012737 -0.062534 0.096752 0.040808 0.067058 --0.016128 -0.050826 0.049568 -0.159884 0.104117 --0.060870 -0.026777 -0.040150 0.003038 0.011219 --0.047457 0.044509 0.104699 -0.061694 -0.048700 --0.028345 0.058571 0.115771 0.060865 0.049165 --0.017126 -0.029090 -0.087904 -0.040448 -0.053762 --0.009906 0.012529 -0.107155 0.136828 -0.025232 -0.019743 0.120518 -0.033402 -0.147125 -0.096492 --0.011562 -0.010821 0.143581 -0.029410 0.012515 --0.007255 -0.051247 -0.015950 -0.001080 -0.021038 -0.033604 -0.082138 0.032578 -0.050610 -0.097139 --0.058199 0.107657 0.105983 0.027511 -0.023155 -0.031791 0.024300 -0.017968 0.063148 0.049343 --0.007836 -0.006517 -0.013473 -0.004970 0.056535 -0.020974 0.047090 0.009318 0.062741 -0.066064 -0.049383 0.062600 -0.007244 0.025406 -0.011447 --0.019044 -0.033373 -0.012008 -0.020777 0.089488 -0.069039 -0.039904 -0.061004 -0.104096 0.011128 -0.072522 -0.048600 -0.051581 0.021177 0.001740 --0.135630 0.074921 0.010935 0.054793 -0.041526 -0.024169 0.044285 0.017189 -0.023435 -0.022755 --0.018169 0.007995 -0.068248 -0.015644 -0.055355 --0.008988 0.013394 -0.130934 0.055860 0.075055 --0.024869 -0.072987 0.105486 -0.141599 -0.052593 -0.104369 -0.026032 0.010393 0.003048 -0.077763 -0.020642 -0.054726 0.098890 -0.062038 -0.008284 --0.030920 0.041949 -0.052596 0.055867 -0.059301 --0.027785 0.067366 -0.015217 0.061893 -0.058155 -0.044323 0.038825 -0.048558 0.026668 0.056475 --0.042396 -0.044360 -0.073532 -0.092982 -0.055163 --0.002151 -0.047433 0.007696 0.110986 0.055177 -0.038644 0.059219 -0.050130 -0.016829 -0.018164 --0.003120 -0.055675 0.097769 0.119773 0.017092 --0.022682 0.021229 -0.029792 -0.117466 0.066111 -0.065948 -0.074617 -0.074175 0.016698 -0.071365 --0.047641 0.063671 0.005349 -0.039942 -0.093589 -0.065751 0.017235 0.035630 -0.031694 0.061852 -0.053612 -0.016144 -0.071008 -0.029225 0.066491 --0.040345 0.042471 -0.075360 0.066743 0.050696 --0.014316 -0.034336 0.016703 -0.103271 -0.081002 --0.052827 0.007353 0.046627 0.008461 0.049725 --0.003406 -0.093149 0.006210 -0.055973 -0.057089 --0.020200 0.012346 0.141207 0.045917 -0.012261 -0.039647 0.050373 0.056749 0.072718 0.002752 -0.004009 0.038716 -0.039473 0.082663 0.054674 --0.004500 0.042366 -0.110686 -0.077697 0.039758 -0.051345 0.003071 -0.019544 0.063662 -0.082557 -0.025358 0.016659 0.029266 0.011585 -0.055014 --0.026965 0.026974 0.018085 -0.022347 0.075107 -0.063294 -0.046595 0.032484 -0.030675 0.062036 --0.033627 -0.064331 0.081940 0.081033 -0.050699 --0.046257 -0.013797 -0.008749 -0.013019 0.018478 --0.008139 0.075257 0.092736 -0.053166 0.014791 --0.013803 0.044603 -0.116267 0.032848 -0.092134 -0.020647 -0.052370 -0.128516 0.004475 -0.043562 -0.036375 -0.002867 0.103214 -0.109219 0.008372 --0.017374 -0.021978 0.020315 0.012816 0.005703 -0.099649 -0.047777 0.054769 -0.025362 -0.003862 -0.036146 -0.000369 -0.000853 0.012461 -0.032338 -0.013247 0.073478 -0.020868 0.034203 0.002982 --0.016316 0.149713 0.002631 -0.081349 -0.020016 --0.155943 -0.058299 -0.046014 0.027098 0.028942 --0.011857 -0.022016 0.017303 0.105805 -0.012430 -0.086002 -0.009549 -0.071369 -0.005224 0.013152 --0.032159 -0.053343 0.027646 0.043468 0.037717 --0.009747 0.013014 0.058424 -0.101661 -0.010004 --0.053787 -0.020784 -0.072472 -0.041184 -0.087878 --0.077459 0.062841 0.011552 -0.085703 -0.035239 --0.018818 0.030430 0.040444 -0.042755 0.041121 -0.003887 -0.025745 -0.049363 -0.025894 -0.054378 -0.070007 -0.019364 -0.141059 0.039915 -0.045332 -0.024336 0.030320 -0.082784 -0.048936 -0.027234 -0.020447 0.007182 0.084824 -0.045970 0.027752 --0.009759 -0.023702 -0.008379 -0.071048 0.015064 -0.009395 -0.052442 0.130155 -0.011644 -0.014787 --0.021138 0.024468 0.045928 0.043163 -0.030898 -0.065143 -0.014501 -0.008479 -0.017099 0.098271 --0.038323 0.004035 -0.061317 -0.041506 0.038436 -0.055127 0.060303 0.044674 0.128814 0.038762 -0.086495 0.069068 -0.070150 -0.089410 -0.054372 -0.033209 -0.096623 0.034209 0.050531 0.038502 -0.059019 0.043258 -0.045121 -0.063876 0.049971 -0.014954 -0.153720 0.031755 -0.021388 0.014803 --0.125385 0.063700 -0.019166 -0.095829 0.022129 --0.035969 0.041896 0.030461 -0.015321 -0.015067 --0.040013 0.024331 -0.015398 -0.008113 -0.019773 -0.027804 -0.039993 -0.074170 0.033667 0.046367 --0.086691 -0.034684 0.054798 -0.087551 -0.014591 -0.044687 0.057457 0.118611 0.010895 0.011308 --0.066320 -0.063774 0.057919 -0.051338 0.049145 -0.006265 0.048016 -0.010350 0.089136 -0.100672 --0.040908 0.090819 -0.084327 0.065891 0.025763 --0.030480 0.103529 -0.144803 -0.036912 0.017161 --0.020671 -0.059993 -0.030123 -0.104598 0.039178 -0.018764 0.001037 0.014109 0.056332 0.050717 --0.004747 0.035822 0.019209 -0.010162 -0.044650 --0.039307 -0.111424 0.122778 0.090067 0.014313 --0.047117 0.042269 -0.052396 -0.023384 0.123438 --0.016756 -0.092801 -0.058478 0.080712 -0.052288 --0.031113 0.064436 -0.005451 -0.018327 -0.053156 --0.022903 0.031275 0.042126 0.009823 0.074549 -0.002952 -0.010186 -0.114717 -0.029095 -0.026125 -0.003889 -0.003003 -0.060079 0.034566 0.010262 --0.029593 0.012239 -0.052124 -0.028219 -0.110036 --0.015073 0.005623 0.053202 -0.029201 -0.038548 --0.025617 -0.000150 0.022644 0.000550 -0.049223 -0.018036 -0.010954 0.045453 0.019204 -0.075695 -0.027728 0.012573 0.072358 0.082283 0.037531 --0.003946 0.003139 0.000013 0.021161 0.067238 -0.019852 -0.022422 -0.032314 -0.024316 0.106260 --0.001499 -0.028984 -0.045186 0.019666 -0.000966 -0.047073 0.075944 0.081739 -0.029633 -0.060673 --0.013207 -0.057523 0.057259 -0.055200 0.078923 -0.013582 -0.060645 -0.029418 0.013853 0.056976 --0.061172 -0.146801 0.049472 0.016436 0.045997 --0.031589 -0.031052 0.031418 0.026113 -0.038676 -0.064035 0.045482 0.020622 0.005875 0.029585 --0.005284 0.054275 -0.076784 -0.000845 -0.023097 -0.009660 -0.128422 0.002992 0.055651 -0.005932 --0.027123 0.022215 0.057779 -0.080469 -0.076867 -0.008909 -0.030195 0.004706 0.060938 -0.038886 -0.050785 -0.063214 0.004370 -0.033455 -0.013089 --0.009154 -0.030641 -0.030220 0.005174 -0.132262 --0.021476 0.105410 0.027719 0.051123 -0.017271 --0.000185 0.117864 0.035809 -0.071891 0.116329 --0.009954 -0.102737 -0.053397 -0.057653 0.058746 -0.009878 0.024776 0.043190 0.082400 -0.020615 -0.032439 0.035539 -0.018820 0.017822 0.016504 -0.008745 -0.008596 0.054707 0.063681 0.056656 -0.032254 -0.023608 -0.002017 -0.146378 0.047072 --0.016978 -0.066403 -0.042616 0.019845 -0.016902 --0.036058 0.030091 0.057405 -0.035798 0.002185 -0.033655 0.062726 0.038185 -0.024604 0.038026 -0.013655 -0.050063 -0.040289 -0.034587 -0.089238 --0.021893 -0.072730 -0.145619 0.108409 0.003979 -0.003043 0.058544 -0.005494 -0.058294 -0.023242 --0.027050 0.048686 0.105867 0.037255 -0.005019 --0.017867 0.007807 -0.016470 -0.017352 -0.004222 --0.051778 -0.082651 0.031128 -0.051302 -0.094105 --0.007583 0.048196 0.056035 0.076579 -0.049990 -0.037184 0.064354 -0.004853 0.019012 0.052243 -0.041607 0.017800 -0.018867 -0.048040 0.036929 -0.071847 0.012078 -0.003492 0.052903 -0.041736 --0.008196 0.113020 0.034731 -0.051940 0.022987 --0.022300 -0.033261 0.020486 -0.029803 0.179316 -0.014762 -0.006096 -0.022377 -0.053417 0.045007 -0.047412 -0.078434 0.007164 0.048187 -0.032463 --0.106666 -0.022577 -0.007054 0.017166 -0.007364 -0.007677 0.013536 0.004985 -0.052519 -0.019141 -0.018399 0.004096 -0.066275 -0.014342 -0.023287 -0.017068 -0.061082 -0.021342 0.049768 0.072011 -0.006385 -0.035801 -0.027304 -0.099812 0.001797 -0.065304 -0.033306 0.042256 -0.008741 -0.006929 -0.010954 -0.080864 0.095856 -0.012888 0.050346 --0.058343 -0.042527 0.010740 0.027268 -0.131655 --0.022159 0.048331 -0.019242 0.139544 -0.009212 -0.008528 0.095408 -0.072588 -0.026269 0.046686 --0.057569 -0.103939 -0.092932 -0.053006 0.017352 -0.065774 -0.067465 -0.035608 0.077533 0.035754 -0.076737 0.042552 -0.018386 -0.040285 -0.060055 -0.002954 -0.063347 0.023485 0.069391 0.030181 -0.015083 -0.035587 -0.073150 -0.108303 0.033116 --0.051149 -0.070534 -0.072103 0.010046 -0.008050 --0.038552 0.065148 -0.005398 0.029138 -0.091804 --0.032927 0.026057 0.044995 -0.067493 0.140590 --0.010770 -0.051205 -0.134801 0.039771 0.047000 --0.040774 0.024562 -0.118058 0.061721 0.010046 --0.084855 -0.002180 -0.028081 -0.040929 -0.091046 --0.074457 -0.063377 0.065429 0.036303 -0.058948 --0.009780 -0.035398 0.010274 -0.054774 -0.052228 -0.000477 -0.035468 0.059891 -0.011652 -0.043705 -0.130993 0.029418 0.024997 0.014118 -0.000473 -0.012220 0.094825 0.003360 0.050743 0.112621 --0.036424 0.119286 -0.062500 0.028140 0.113267 -0.092232 -0.028352 0.015304 0.118553 -0.037245 -0.047917 0.068301 0.034398 0.054323 -0.111406 -0.016223 -0.016616 0.048104 -0.012621 0.095559 -0.040486 -0.036481 0.006675 -0.029498 0.019722 --0.005174 -0.090840 0.040097 0.031192 -0.056686 --0.015354 -0.037239 -0.040451 0.001148 0.016519 -0.027984 0.063613 0.029013 -0.053331 0.009462 -0.094796 0.073376 -0.035437 0.079788 -0.072969 -0.005683 -0.141562 -0.028240 0.056569 0.053462 -0.024141 0.020688 0.105325 -0.088920 -0.074876 -0.044548 0.015221 0.063364 0.044219 0.028301 --0.011412 -0.033571 0.034361 -0.067847 0.000284 -0.012742 -0.045973 -0.009839 0.044280 -0.077401 -0.013255 0.065280 0.018179 0.074351 0.004383 --0.054040 0.072674 -0.012623 -0.023532 0.057154 --0.077067 -0.071007 -0.013831 -0.015362 -0.004755 --0.051874 -0.046591 -0.008108 0.051772 0.006314 -0.106169 0.066165 -0.024173 0.034211 -0.015378 --0.085769 -0.015752 -0.008456 0.051049 0.015420 --0.005850 -0.015631 -0.060787 -0.151510 0.080912 --0.029476 -0.034162 -0.023308 0.021727 -0.069572 --0.002926 0.066532 0.034835 -0.091864 -0.014468 --0.077637 0.085530 0.058931 0.087803 -0.024233 -0.027189 -0.084814 -0.064844 -0.010260 -0.038228 -0.079925 0.040571 -0.027455 0.112376 0.008327 --0.015541 0.020299 -0.039833 -0.122069 -0.008265 -0.048969 -0.037595 0.073512 -0.070833 0.106844 --0.031463 -0.019591 0.029763 -0.022865 0.013933 --0.014056 -0.092923 0.075324 0.002550 0.006051 --0.074776 0.035465 0.027474 0.120921 0.027105 -0.061516 -0.026568 0.024123 0.047036 0.024385 -0.003344 0.059906 -0.051191 -0.053047 -0.027729 --0.001564 0.005823 0.010087 0.083294 -0.024265 -0.042741 0.094994 0.021393 -0.083504 -0.083151 -0.011291 -0.058920 0.012861 0.030070 0.042736 -0.022911 -0.008546 -0.057609 -0.069900 0.088492 --0.002894 -0.066828 -0.009727 -0.047981 0.019844 --0.085641 0.000042 0.003014 -0.007295 0.035791 -0.036123 0.067002 0.026630 -0.001636 0.009073 --0.016053 0.084871 -0.100683 -0.050020 -0.071874 -0.072365 -0.036757 -0.017701 0.038197 0.053099 --0.056378 -0.028855 0.012463 -0.045723 -0.005667 -0.064256 -0.028177 0.057826 -0.055872 0.030883 --0.002914 -0.097445 0.018108 -0.065132 0.064327 --0.036809 0.022530 0.032579 0.083859 -0.088729 --0.009218 0.070687 -0.027232 0.016749 0.037592 -0.061102 0.155046 -0.004610 -0.031402 0.008374 --0.011437 -0.059360 -0.064021 -0.069056 0.022916 --0.003860 0.044792 -0.030508 0.057430 -0.013125 -0.027304 -0.003144 -0.007603 -0.074523 -0.036823 -0.004066 -0.035482 0.142619 0.062765 0.083342 --0.023363 -0.016003 0.016507 -0.060403 0.074455 --0.020249 -0.025938 -0.007470 0.084381 -0.106173 --0.060300 0.087411 0.014814 0.028437 0.010883 -0.012873 0.103973 0.089761 0.027096 0.064947 -0.033057 0.028486 -0.133571 -0.002210 -0.014149 -0.005981 0.010927 -0.143115 0.070712 0.006923 -0.044569 0.004846 -0.008362 -0.109156 -0.120284 --0.007157 -0.027002 0.075999 0.001357 -0.006077 --0.035577 0.042029 0.018068 0.017700 -0.038593 --0.058375 0.013590 0.094255 0.021156 -0.080328 --0.006126 0.058842 0.032376 0.051314 0.064136 --0.063765 0.028090 0.032284 0.078521 0.108677 -0.012656 0.007400 -0.092093 -0.036734 0.056851 -0.000116 -0.002036 -0.026805 0.084821 -0.011989 -0.023502 0.064916 0.050640 -0.002411 -0.015045 --0.026830 -0.004301 0.065835 -0.025416 0.056093 -0.090627 -0.051534 -0.023105 -0.029171 0.064099 --0.030773 -0.085191 0.015343 -0.005415 0.005626 -0.013041 0.010729 0.018058 0.018453 -0.002180 -0.089388 0.064815 0.021466 -0.092663 -0.019224 --0.008842 0.103392 -0.036092 -0.034972 -0.070552 --0.077454 -0.124438 -0.056352 0.069482 0.030672 --0.003203 -0.020694 0.070840 -0.004376 -0.102179 -0.064995 -0.059481 0.049343 0.024210 -0.003858 -0.056350 -0.015583 0.065190 -0.059043 -0.090407 -0.042894 0.012225 0.074108 0.009773 -0.093983 -0.048272 0.093970 0.039985 0.070722 0.010834 -0.011975 0.135085 -0.000165 -0.021759 0.065164 --0.040893 -0.089985 -0.024270 -0.003863 0.030587 -0.000069 -0.021155 0.028518 0.153614 -0.071797 -0.070676 0.025584 0.005300 0.043065 -0.000089 --0.003734 -0.036750 0.018132 0.036268 0.168510 -0.019026 -0.021440 0.042884 -0.095824 0.021242 --0.026137 -0.034052 -0.063076 0.031835 -0.012727 --0.084292 0.114347 0.068154 -0.074997 0.009182 --0.056381 0.161792 0.065873 -0.004008 0.052013 -0.005326 0.018022 -0.114663 -0.107213 -0.079062 --0.037042 0.007951 -0.066766 0.089297 -0.035405 -0.006611 0.013565 0.029000 -0.122667 -0.037773 -0.030080 0.039640 0.112965 -0.038791 0.051681 -0.018950 -0.002870 0.004002 -0.035366 -0.046099 --0.006632 -0.046456 0.064561 -0.045986 -0.052509 --0.045507 0.034342 0.094059 0.085895 -0.059965 -0.047107 0.045776 -0.051041 0.069720 0.062871 --0.004318 0.016990 -0.053383 -0.000405 0.042032 -0.061772 0.087463 0.018593 0.001180 -0.105041 -0.036585 0.091364 -0.010729 0.002978 0.015583 --0.077926 -0.029862 -0.037549 -0.014135 0.056743 -0.082538 -0.079858 -0.038190 -0.052196 -0.005951 -0.095037 -0.039714 0.003105 0.009675 -0.006472 --0.098367 0.004226 0.018157 0.116425 -0.033752 --0.009903 0.043421 0.067382 -0.058642 -0.037966 --0.004321 0.046370 -0.039951 0.033751 -0.045280 --0.005703 -0.055692 -0.075669 0.043537 0.088421 --0.000079 -0.053451 0.015580 -0.177514 -0.037255 -0.081872 -0.006931 0.040197 -0.040382 -0.030544 --0.032474 -0.073683 0.111389 -0.043286 -0.012181 --0.070486 0.021008 -0.006453 0.059025 -0.084346 --0.045844 0.134617 -0.026041 0.078112 -0.027141 --0.001031 0.044353 -0.065608 0.036661 0.045948 -0.004303 -0.038662 -0.062062 -0.073388 -0.026033 --0.002636 -0.014067 -0.022648 0.128905 0.104651 -0.091629 0.045550 -0.039856 -0.036999 -0.014194 -0.058828 -0.095390 0.054826 0.108067 0.017921 -0.007401 0.037480 -0.051214 -0.080561 0.050245 -0.005451 -0.084552 -0.014427 0.003994 -0.067761 --0.042687 0.064428 0.056058 -0.024265 -0.093157 -0.011618 0.006660 0.071511 -0.116214 0.061118 -0.046247 0.008564 -0.083904 -0.015807 0.002628 --0.075241 0.045928 -0.025621 0.024239 0.024757 --0.010838 -0.006020 -0.007541 -0.087714 -0.046745 --0.086472 -0.058225 0.054459 0.025327 0.052933 --0.014453 -0.076697 -0.033271 -0.024850 -0.042314 -0.006569 0.008881 0.074045 0.050097 -0.053039 -0.019414 0.021988 0.024896 0.056649 0.014029 --0.029525 0.048784 -0.029431 0.042442 0.049334 --0.026698 0.072277 -0.101799 -0.008341 0.047314 -0.082658 -0.016114 -0.042442 0.043527 -0.030064 --0.011416 0.013182 0.060549 0.002644 -0.070164 --0.045732 -0.022494 0.019693 -0.016130 0.079647 -0.000137 -0.038661 0.034959 -0.041633 0.047926 -0.003937 -0.073487 0.058946 0.065316 -0.021139 --0.029658 -0.005529 0.019340 0.005718 0.041614 -0.046584 0.048974 0.064738 -0.076893 0.055570 --0.008793 -0.001555 -0.108121 0.080904 -0.073317 -0.004653 -0.088656 -0.069282 0.058314 0.010922 -0.012637 0.026970 0.078839 -0.078606 -0.003575 -0.010350 0.012762 0.009724 -0.032223 0.025429 -0.028469 -0.112814 0.072108 -0.066038 0.028088 -0.021121 -0.042380 -0.040489 0.029521 -0.098778 -0.078694 0.118164 -0.017958 0.087002 0.013197 --0.023191 0.159205 0.002982 -0.142188 0.019509 --0.062408 -0.050584 -0.091242 0.004705 0.040898 --0.034214 -0.000165 -0.013000 0.062856 -0.025148 -0.102892 0.026243 -0.114277 0.061707 0.020581 --0.052551 -0.075429 0.028865 0.098236 0.087934 -0.003941 0.037129 0.029683 -0.128548 0.026698 --0.036967 -0.019454 -0.078159 0.008871 -0.086884 --0.058585 0.059095 -0.041884 -0.137966 -0.017325 --0.057685 0.085566 0.119159 -0.011731 0.076164 -0.059270 -0.000533 -0.073970 -0.001937 -0.048985 -0.021162 0.035663 -0.047899 0.054477 -0.072253 -0.030344 0.099352 -0.101163 -0.104366 -0.004390 -0.017480 -0.006506 0.031974 -0.043831 0.028735 --0.033380 -0.037286 -0.025470 -0.075025 -0.009320 --0.001852 -0.019244 0.082659 -0.052343 -0.013826 --0.006310 0.016400 0.043020 0.054048 0.019322 -0.025350 0.000037 0.019873 -0.001509 0.073472 --0.050388 0.028730 -0.071807 -0.078877 -0.006660 -0.042649 0.008729 -0.001538 0.090951 0.006897 -0.044002 0.096566 0.016693 -0.023445 -0.061755 -0.017879 -0.081886 0.054302 0.025875 0.073506 -0.045439 0.035703 -0.050539 -0.024113 0.030719 -0.003684 -0.089257 -0.009652 0.004777 -0.019300 --0.184163 0.032927 -0.044636 -0.031259 -0.075344 --0.014780 0.063123 0.067839 0.012301 -0.009528 --0.061510 0.097677 -0.067039 -0.006689 -0.004137 -0.016930 -0.038502 -0.023013 0.052181 0.034074 --0.090822 -0.097151 0.030070 -0.043927 0.004506 -0.049853 0.013260 0.049217 0.011345 -0.015640 --0.017375 -0.084889 0.027637 -0.083011 0.017271 -0.011964 0.013770 -0.041388 0.021785 -0.113317 --0.104729 0.128840 -0.005522 0.005470 0.070867 -0.034456 0.113067 -0.120802 0.015723 0.032177 --0.026534 -0.052353 -0.069474 -0.100515 0.121550 -0.014104 -0.026758 -0.017051 0.063176 0.010188 -0.007059 0.032242 0.002999 -0.038362 -0.058729 -0.021051 -0.069408 0.065496 0.036434 0.024457 --0.051978 0.045735 -0.057632 -0.009011 0.056847 -0.033616 -0.045577 -0.087817 0.102137 -0.027964 --0.002581 0.069852 0.041033 0.041021 -0.038913 --0.025533 0.043910 0.093674 0.006518 0.140256 --0.022931 0.003222 -0.164511 -0.012575 0.008372 -0.023221 -0.013081 -0.086070 0.000152 0.053139 -0.005914 0.050660 -0.044071 -0.047270 -0.079699 --0.047341 -0.038511 0.125150 0.012254 -0.032029 --0.013659 -0.058072 0.035218 -0.033783 -0.083119 -0.046233 -0.049628 0.079349 0.065395 -0.090450 -0.044946 0.046353 0.131024 0.076594 0.042978 --0.047922 0.002985 -0.056522 0.056443 0.112147 -0.010900 0.000489 -0.020178 0.036351 0.129699 -0.037153 0.027557 -0.079114 0.043216 -0.032491 -0.071191 0.026446 0.111274 -0.011111 -0.062724 --0.000122 -0.019280 0.038617 -0.059199 0.111019 -0.020501 -0.045138 -0.015061 -0.064807 0.065959 --0.054589 -0.087659 0.038646 0.014381 0.034881 --0.048543 -0.006280 -0.009214 0.027865 -0.032303 -0.071681 0.064881 0.009542 -0.005854 0.079711 --0.030565 0.072960 -0.051732 0.009082 -0.047330 -0.051060 -0.086171 -0.053292 0.117917 0.007520 -0.006614 0.011574 0.052013 -0.067455 -0.037879 -0.006855 -0.046269 0.030860 0.034071 -0.002125 -0.048522 -0.066340 -0.050068 -0.091857 -0.039875 -0.042169 -0.025418 -0.046173 0.047008 -0.159002 --0.047329 0.169123 -0.038203 -0.005754 -0.037022 -0.040981 0.059210 -0.002242 -0.042617 0.044265 --0.059317 -0.044882 -0.074775 -0.083442 0.028007 --0.041098 -0.031959 0.043096 0.061795 -0.028197 -0.040470 -0.018708 -0.008600 0.002891 0.053975 --0.024208 0.023791 0.009775 0.081813 0.089801 -0.033188 0.016547 0.021751 -0.087759 0.023122 --0.022831 -0.039574 -0.020474 0.037836 -0.007783 --0.094861 0.073247 0.069161 -0.023846 -0.041333 --0.025772 0.087748 0.025988 -0.012948 0.064875 -0.010587 0.013649 -0.041432 -0.081306 -0.084813 --0.006181 -0.038833 -0.069003 0.107345 0.007611 -0.016453 0.041605 -0.043538 -0.126253 0.035968 --0.003914 0.021006 0.086272 -0.015117 0.004273 --0.017316 -0.011375 -0.050330 -0.020760 0.009092 --0.018200 -0.056900 0.062502 0.046639 -0.106123 -0.033584 0.108129 0.061245 0.069683 -0.038308 --0.006263 0.062187 -0.026140 -0.006177 0.072540 -0.026465 0.025257 0.000306 -0.033152 0.070377 -0.032552 0.067946 -0.041184 0.068817 -0.042517 --0.023665 0.089426 -0.009517 -0.031905 -0.028876 --0.047198 -0.101750 -0.021643 0.030076 0.103800 -0.003349 0.017493 0.002512 -0.094201 -0.005963 -0.089063 -0.095130 0.050351 -0.004288 -0.067613 --0.131572 -0.051380 0.008583 0.005412 0.028560 --0.017345 0.004478 0.031108 -0.057891 -0.007459 --0.009374 0.004726 -0.032662 0.036793 -0.009074 --0.023603 -0.039928 -0.021853 0.074091 0.084789 -0.020853 -0.007579 0.017575 -0.082903 -0.016044 -0.033216 -0.023150 0.052294 0.018359 -0.025699 --0.035371 -0.079831 0.144398 -0.041178 0.060835 --0.045799 -0.044320 0.000953 0.061485 -0.045374 --0.093964 0.068302 -0.076466 0.119176 -0.014095 --0.009224 0.091475 -0.038545 0.004967 0.001667 -0.028758 -0.091372 -0.095792 -0.025909 0.005482 -0.031234 -0.025637 -0.021291 0.135677 0.020946 -0.107580 0.013372 -0.085671 0.020971 -0.038560 -0.038570 -0.017209 0.045906 0.060269 0.001966 -0.032650 -0.006186 -0.072219 -0.189856 -0.007205 --0.015639 -0.055057 -0.065552 -0.053151 -0.128235 --0.012954 0.084159 0.026617 0.003305 -0.085995 -0.047267 -0.020931 0.007625 -0.078957 0.121974 -0.045764 0.005225 -0.141436 0.003027 0.051391 --0.036784 -0.001419 -0.053342 0.051094 0.015725 --0.019096 -0.002840 0.026380 -0.069790 -0.184245 --0.051566 -0.028396 0.071692 0.098005 -0.020301 -0.016438 -0.046403 0.001404 -0.000052 -0.054688 --0.022357 0.007259 0.085506 0.017935 -0.014656 -0.098405 0.054979 0.035010 0.075368 0.047790 -0.037848 0.078374 -0.058610 0.016057 0.084829 -0.041381 0.045231 -0.121185 -0.048619 0.095037 -0.078616 0.022570 0.039332 0.081333 -0.008814 -0.036266 0.020667 0.051651 0.048340 -0.014173 -0.001842 -0.015009 0.034124 0.017931 0.056477 -0.124333 0.001687 -0.029607 -0.069722 0.024592 --0.008487 -0.136955 -0.020417 0.039039 -0.063902 --0.051767 -0.039427 -0.040545 0.032784 0.056740 --0.001091 0.036666 0.028260 -0.081961 0.033769 -0.027067 0.018663 -0.038013 0.000810 -0.051724 --0.017021 -0.083432 -0.113410 0.025947 0.004457 --0.019510 -0.003952 0.096457 -0.087833 -0.033332 -0.032633 -0.028593 0.053980 0.004859 0.027062 -0.027726 -0.054113 0.046789 -0.047480 -0.022139 -0.006309 0.013074 0.001745 0.000719 -0.068648 --0.039339 0.124991 -0.017031 0.104387 0.075424 --0.064776 0.049930 0.021317 -0.031441 0.064129 --0.081324 -0.071417 -0.036637 -0.054516 0.069005 --0.034336 -0.097799 0.042552 0.103137 0.014131 -0.086508 0.031131 -0.032366 0.059489 -0.003838 --0.064570 -0.002930 0.012624 0.042919 0.062446 -0.044061 0.055589 0.003834 -0.094630 0.085990 --0.053889 -0.024564 -0.026389 -0.016842 -0.060025 --0.074654 0.030141 -0.008240 -0.045068 -0.051917 --0.152218 0.035234 0.028967 0.032527 0.062252 -0.000908 -0.036356 -0.081610 -0.001575 0.014623 --0.004478 0.064008 -0.087800 0.081273 -0.017113 --0.018705 0.033443 -0.058350 -0.122667 -0.057365 -0.033540 -0.050441 0.124594 0.013386 0.053846 --0.043376 -0.002266 -0.008195 -0.033995 0.053108 --0.040370 -0.064239 0.077268 -0.002621 -0.059563 --0.046177 0.004964 0.033231 0.064375 0.001192 -0.114583 -0.058848 0.061280 0.006693 0.036098 -0.009875 0.035834 -0.018310 -0.036184 -0.014992 -0.069939 0.059780 0.016602 0.073982 -0.035990 --0.015685 0.078068 0.050322 -0.088097 -0.105328 --0.025670 -0.057722 -0.013893 0.006662 0.048590 -0.078264 0.016992 -0.038464 -0.047615 0.099275 -0.010093 -0.039867 0.011067 -0.011289 0.010908 --0.115702 0.003261 0.019257 -0.044432 0.040269 -0.018630 0.024500 0.039527 -0.019008 0.039507 --0.072659 0.078072 -0.050083 -0.037195 -0.134288 -0.019462 0.000276 -0.077134 0.027231 0.091209 --0.050042 -0.033161 0.001557 -0.033891 -0.049683 -0.056345 -0.048181 0.069910 -0.020048 -0.046249 --0.039646 -0.128983 0.089155 -0.075828 0.037947 -0.004400 0.018311 0.016766 0.013464 -0.103994 --0.006838 0.049909 0.006876 0.039950 0.026768 -0.027940 0.106751 -0.086738 -0.030655 -0.023916 -0.054319 -0.087527 -0.016511 -0.107128 0.027059 --0.002389 0.030765 0.000550 0.071481 0.033998 -0.036687 0.048116 0.010056 -0.080424 -0.053276 --0.000327 -0.054330 0.094151 0.063155 0.020931 --0.026860 0.016310 -0.024435 -0.073159 0.050455 -0.022409 -0.008454 -0.035545 0.054995 -0.048738 --0.044119 0.073997 0.039168 -0.014561 -0.032013 -0.028242 0.039841 0.075847 -0.017028 0.060085 --0.021478 0.038475 -0.145149 -0.060014 -0.014315 -0.056108 0.032615 -0.097225 0.033835 0.051055 -0.042640 0.045231 0.000360 -0.041305 -0.108117 --0.023348 -0.045772 0.038096 0.000486 -0.013393 --0.093532 0.016559 0.001345 -0.008241 -0.068229 -0.010724 0.006837 0.077785 0.024403 -0.089797 -0.019810 0.041552 0.064900 0.067216 0.122533 --0.033019 0.073688 0.001023 0.040220 0.079306 --0.033084 -0.028731 -0.066533 0.015167 0.078774 -0.036633 -0.011276 -0.029348 0.033478 0.000076 --0.011424 0.089071 0.107503 -0.027201 -0.024133 --0.086237 -0.015807 0.067867 -0.026911 0.055025 -0.003279 -0.076609 -0.022878 -0.065051 0.117459 --0.064757 -0.048837 -0.006132 0.015775 -0.025174 --0.012054 -0.017396 -0.008215 0.026521 -0.033990 -0.045441 0.100425 0.005545 -0.063862 0.021216 -0.038286 0.073333 -0.080698 0.015085 -0.070552 --0.073377 -0.065780 -0.028242 0.031930 0.034800 -0.014232 0.011229 0.097374 -0.050100 -0.132752 -0.011148 -0.042578 0.076114 0.024497 -0.012283 -0.120806 -0.036672 0.010487 -0.089491 -0.070409 --0.010691 -0.003941 0.028773 0.005044 -0.130679 -0.045320 0.101038 0.007190 0.023122 -0.032858 -0.071021 0.085183 -0.064280 -0.039826 0.069093 --0.045199 -0.056327 -0.038230 -0.030074 0.020018 -0.043187 -0.037153 0.053548 0.081616 -0.046930 -0.041026 -0.013232 -0.029798 -0.007515 -0.009780 --0.014618 -0.049999 0.086479 -0.000441 0.122169 -0.000547 -0.072517 0.024520 -0.173329 0.033337 --0.032822 -0.039451 -0.029459 -0.010553 -0.014511 --0.042816 0.043535 0.098090 -0.011974 -0.009803 --0.011320 0.103835 0.068587 0.016565 0.009926 --0.038017 -0.036161 -0.141386 -0.056138 -0.087531 -0.012520 0.001341 -0.028710 0.134825 -0.022612 -0.025072 0.059725 -0.059548 -0.077144 -0.055577 -0.008583 0.014431 0.160366 -0.000317 0.069355 -0.021539 -0.030848 -0.001411 0.003884 -0.021168 --0.002315 -0.031485 0.058421 -0.069080 -0.089460 --0.074381 0.044224 0.078251 0.015334 -0.018453 -0.024757 -0.006325 -0.030304 0.041022 0.051034 --0.000912 0.014462 -0.042230 -0.034329 0.049998 -0.042384 0.055463 -0.026732 0.016663 -0.070257 -0.027628 0.032582 0.025606 0.007339 -0.016995 --0.014641 -0.013348 -0.035777 -0.048054 0.072409 -0.073357 0.019992 -0.053669 -0.099428 0.009662 -0.053875 -0.084206 -0.028164 0.001825 -0.007384 --0.118351 0.036128 -0.052874 0.044796 -0.008440 -0.034462 0.021959 0.038695 -0.029505 -0.010005 -0.006580 -0.019193 -0.033304 -0.006948 -0.032920 --0.035370 -0.048525 -0.089756 0.086975 0.071726 --0.061466 -0.022927 0.037104 -0.115937 -0.074302 -0.095124 0.034074 0.041596 -0.019002 -0.078886 --0.046289 -0.026431 0.075125 -0.085653 0.030848 --0.087457 -0.013738 -0.079060 0.085171 -0.076996 --0.026743 0.040359 0.001789 0.092574 -0.022293 -0.036215 0.020128 -0.057905 0.020242 0.017234 --0.015028 -0.102072 -0.050335 -0.106620 -0.024631 --0.035796 -0.019773 0.029319 0.102570 0.030958 -0.052784 0.035726 -0.058017 -0.006419 -0.004020 --0.014277 -0.047373 0.048700 0.111928 0.002486 -0.008505 0.051728 -0.097055 -0.122271 0.071235 -0.003188 -0.039588 -0.076039 0.021148 -0.078617 --0.065872 0.029089 -0.000290 0.000898 -0.140194 -0.058506 -0.007075 0.002829 -0.061576 0.057297 -0.022539 -0.043176 -0.078264 -0.026623 0.050164 --0.067814 0.043950 -0.089140 0.025451 0.015987 --0.021710 -0.023764 -0.037703 -0.092210 -0.086925 --0.088289 0.020833 0.085474 0.007660 0.032167 --0.047200 -0.148647 -0.011014 -0.056924 -0.066650 -0.000222 0.031116 0.120665 0.017924 -0.052237 -0.024475 0.057260 0.023098 0.039613 0.002833 -0.015113 0.005702 -0.065102 0.150484 0.040642 --0.062865 0.018220 -0.104305 -0.058038 0.078032 -0.062938 -0.043059 -0.041551 0.090274 -0.090255 -0.003055 0.024771 0.053662 0.023982 -0.007128 --0.022873 0.016118 0.029948 -0.005441 0.027042 -0.035737 -0.062768 0.026554 -0.001648 0.046026 --0.015209 -0.061640 0.080279 0.035525 -0.062174 --0.071438 -0.038252 0.017523 0.005805 0.027560 -0.022277 0.116677 0.082862 -0.023075 0.020718 -0.028369 -0.000644 -0.106525 -0.000025 -0.058375 -0.061774 -0.034461 -0.117604 0.015663 0.025243 -0.050739 -0.035373 0.050164 -0.097896 -0.016953 --0.005625 -0.011887 0.038968 0.009589 0.020354 -0.073417 -0.037194 0.001085 -0.082529 -0.002741 -0.018895 0.000683 -0.005260 0.037680 -0.057914 -0.012065 0.095507 -0.006422 0.038327 0.053359 --0.034912 0.104532 -0.034267 -0.091475 -0.037716 --0.084581 -0.011088 -0.054143 0.048128 0.015983 -0.020394 -0.028289 -0.010829 0.083357 -0.051892 -0.095076 0.000131 -0.014931 0.032836 0.067972 --0.033453 -0.011655 0.043489 0.044985 0.063936 --0.002184 -0.038102 0.055724 -0.108760 -0.005538 --0.065997 0.004333 -0.074726 -0.015630 -0.015614 --0.126012 0.028542 0.044984 -0.082637 -0.073741 --0.053097 0.043995 0.064370 -0.042989 0.078666 -0.032226 -0.050840 -0.030220 -0.007436 -0.034516 -0.018953 0.031855 -0.118774 0.087949 -0.022126 --0.018807 0.026136 -0.060837 -0.058430 -0.043270 --0.023841 -0.001635 0.100076 -0.051546 0.008906 --0.018942 -0.046607 -0.031680 -0.056224 0.042606 -0.027052 -0.054425 0.104195 -0.058465 -0.062190 --0.009973 0.010150 0.018185 0.049565 -0.005886 -0.094118 0.002006 0.034862 -0.013054 0.093378 --0.068149 0.010758 -0.011233 -0.061272 0.036668 -0.049859 -0.008436 0.036689 0.126919 -0.002194 -0.048726 0.081941 -0.048791 -0.035094 -0.075793 -0.038586 -0.043391 0.024660 0.042400 0.074817 -0.074537 0.022976 -0.091022 -0.044301 0.025592 -0.019796 -0.129796 0.029916 0.017043 -0.041798 --0.122413 0.049991 0.006262 -0.014011 -0.015763 --0.024958 0.007419 0.020053 -0.006102 -0.004461 --0.047792 0.040663 -0.058097 0.018616 -0.023217 -0.001382 0.001452 -0.062222 0.051898 0.052539 --0.068723 -0.000916 0.071418 -0.060541 -0.020258 -0.063725 0.074490 0.080845 -0.023018 -0.006902 --0.045143 -0.078702 0.018868 -0.044159 0.011980 -0.025938 0.021655 0.025290 0.063764 -0.132708 --0.035846 0.091140 -0.021667 0.037332 0.035687 --0.056994 0.140855 -0.102945 -0.006009 0.023620 -0.000204 -0.022699 -0.019046 -0.095351 0.050022 --0.004054 -0.019058 -0.006429 0.068069 0.054649 -0.022500 0.029309 0.030159 -0.011081 -0.085224 --0.029775 -0.097594 0.132106 0.026943 0.016069 --0.012230 0.046209 -0.034177 -0.048993 0.094154 --0.006547 -0.043268 -0.100110 0.130569 -0.083928 -0.008317 0.041995 -0.020555 0.004803 -0.056359 -0.023566 0.050093 0.044221 0.017323 0.073761 -0.000300 -0.034851 -0.062557 0.003592 -0.037316 --0.023709 -0.011929 -0.063727 0.008558 0.029238 -0.012654 0.027199 -0.057145 -0.011774 -0.078417 --0.053560 -0.003741 0.037455 -0.039273 -0.042025 --0.002715 -0.030644 0.024806 0.010899 -0.041167 -0.026322 -0.013442 0.040313 0.057461 -0.057587 -0.046460 0.004776 0.094893 0.063931 -0.013181 --0.024787 0.046427 0.000830 0.004541 0.070036 -0.012732 0.022279 -0.046965 -0.012615 0.106753 -0.032489 -0.016696 -0.061242 0.021789 -0.044774 -0.022712 0.030946 0.067933 -0.021075 -0.043324 --0.010231 -0.077078 0.089327 -0.073913 0.129378 -0.001532 -0.043316 -0.016732 -0.026599 0.046714 --0.088765 -0.101898 -0.000950 -0.012357 0.078311 --0.025387 -0.053598 0.022292 0.050494 -0.007031 -0.067206 0.032304 -0.012170 -0.015225 0.029593 --0.011657 0.043622 -0.062834 0.042909 0.003119 --0.005148 -0.106709 0.013981 0.016710 0.024731 --0.050424 0.039756 0.053237 -0.088869 -0.030557 -0.019223 -0.011248 0.001772 0.041389 -0.019693 -0.032684 -0.038816 -0.003782 -0.038112 -0.064818 --0.036779 0.002321 -0.011310 -0.005428 -0.097258 --0.068507 0.117705 0.010296 0.057410 -0.042191 -0.060044 0.076100 0.070634 -0.052272 0.109450 --0.024491 -0.060570 -0.062604 -0.023828 0.043683 --0.008675 0.020641 0.026445 0.122122 -0.030590 -0.007406 -0.006945 -0.038838 0.022271 0.036487 --0.008083 -0.015591 0.089045 0.103083 0.080265 -0.048011 0.008577 -0.024779 -0.098878 0.047757 --0.034944 -0.071262 -0.029632 0.058633 -0.031833 --0.086670 0.020910 0.017850 -0.060040 -0.000118 -0.072375 0.123805 0.028335 0.006174 0.050778 -0.022055 -0.013090 -0.021358 -0.030207 -0.129857 --0.009686 -0.036702 -0.094352 0.083990 -0.027328 -0.022973 0.088840 -0.029830 -0.041108 0.007991 -0.010351 0.043580 0.088045 0.019792 0.034260 --0.018485 -0.026954 0.001393 -0.028881 -0.009226 --0.007746 -0.080511 -0.012092 -0.026729 -0.115592 --0.019491 0.098337 0.046778 0.072298 -0.078237 -0.005173 0.056223 -0.004141 0.066867 0.056189 -0.017966 0.044171 0.000676 -0.045110 0.018200 -0.032009 0.030245 -0.024198 0.053369 -0.032949 -0.005817 0.101192 0.004770 -0.022792 0.027114 -0.010600 -0.037525 -0.040021 0.003401 0.139637 -0.013348 -0.003801 -0.031619 -0.055232 -0.000905 -0.059632 -0.125609 -0.015414 0.054802 -0.053951 --0.064755 0.024768 0.023636 0.018903 -0.000431 --0.029042 0.021020 0.004843 -0.036543 -0.029041 --0.023141 0.025949 -0.071411 -0.019207 0.007088 -0.038696 -0.038765 -0.019290 0.071608 0.100669 -0.002161 -0.019148 -0.033723 -0.110313 -0.048374 -0.036294 -0.011707 0.027523 -0.005146 -0.049367 --0.011778 -0.100402 0.063310 -0.031106 0.021885 --0.095761 -0.080098 0.004308 0.033965 -0.080439 --0.023927 0.055660 0.007395 0.124410 -0.073291 -0.004189 0.060944 -0.045152 -0.060831 0.024748 -0.002404 -0.137119 -0.070340 -0.011515 -0.026093 -0.074911 -0.008646 -0.046756 0.070610 0.043733 -0.056208 -0.004307 -0.017910 -0.044341 -0.049322 --0.031960 -0.031297 0.041787 0.064553 0.010380 --0.009674 -0.056380 -0.131194 -0.102372 0.013069 --0.040055 -0.101666 -0.095641 0.031396 -0.040243 --0.044960 0.107223 -0.038146 0.043004 -0.091273 -0.008832 0.035095 0.018303 -0.033024 0.111336 --0.012516 -0.088527 -0.138520 -0.042476 0.043839 --0.066586 0.012378 -0.100214 0.030453 -0.045537 --0.058136 -0.024370 0.006936 -0.057720 -0.111712 --0.062832 -0.049461 0.055617 0.032267 -0.008208 --0.024939 -0.062605 0.007490 -0.019889 -0.032406 --0.002685 -0.018727 0.104523 0.024688 -0.046299 -0.058710 0.060194 0.045739 0.021202 -0.014056 -0.012044 0.058266 -0.001396 0.021628 0.093785 --0.015184 0.056542 -0.100357 0.020669 0.075524 -0.037202 -0.028476 -0.004358 0.088662 -0.013431 -0.058653 0.069303 0.068988 0.033660 -0.062939 -0.018950 -0.056021 0.021534 -0.016087 0.075798 -0.048597 -0.010444 0.007248 -0.063630 0.010521 --0.014106 -0.074996 -0.000773 0.053311 -0.048215 --0.002735 -0.017992 -0.002647 0.020040 0.029636 --0.022757 0.078272 0.023803 -0.057204 0.024134 -0.064828 0.052842 -0.109740 -0.016306 -0.097522 -0.035253 -0.097609 -0.069816 0.027249 0.039346 --0.007883 0.014192 0.087185 -0.137182 -0.071137 -0.013525 0.010840 0.070855 0.012224 0.018564 --0.008135 -0.046474 0.058225 -0.040550 -0.011424 --0.027632 -0.035317 0.023198 0.038554 -0.081506 --0.012968 0.096501 0.027391 0.100326 0.005492 --0.058045 0.112112 0.002180 -0.025343 0.025626 --0.099536 -0.061595 -0.061651 -0.027489 -0.010581 --0.017782 -0.053973 -0.034355 0.078629 0.008211 -0.072702 0.071223 -0.044680 0.012444 -0.044745 --0.139050 0.003441 0.000913 0.094752 0.048346 --0.007363 0.025892 0.010184 -0.176655 0.133261 -0.001621 -0.024628 -0.030137 -0.007947 -0.085652 --0.029719 0.022053 0.013686 -0.080132 -0.026124 --0.070528 0.051163 0.066954 0.055796 0.025845 --0.010124 -0.065017 -0.069344 -0.022724 -0.000369 -0.053467 0.016636 -0.040196 0.075376 -0.016667 --0.029877 0.004811 -0.023632 -0.097696 0.009076 -0.002224 -0.010353 0.064867 -0.044772 0.077105 --0.055734 -0.018593 0.032803 -0.059184 0.036008 --0.007975 -0.100334 0.044830 -0.020643 -0.039421 --0.010042 0.007773 0.099620 0.108164 0.029716 -0.078106 -0.011285 0.030783 0.081425 0.047785 --0.040324 0.065464 -0.037268 -0.020200 -0.013981 -0.005168 0.027259 -0.021859 0.088221 -0.057304 -0.044425 0.092606 0.044230 -0.055754 -0.033767 --0.019787 -0.048782 0.003298 0.018153 0.021226 -0.068475 -0.047841 -0.084262 -0.076417 0.054885 --0.017738 -0.064677 -0.017373 -0.033227 -0.010808 --0.146013 0.005243 -0.037539 -0.015601 0.022925 --0.011193 0.044758 0.012972 -0.010808 0.024612 --0.056295 0.056909 -0.080235 -0.047137 -0.029242 -0.056368 -0.002198 -0.035936 0.027306 0.075325 --0.064563 0.000437 -0.011783 -0.026348 -0.005163 -0.082637 0.004076 0.084051 -0.032954 0.031309 --0.006451 -0.094091 0.012843 -0.029321 0.020598 -0.015005 -0.014363 0.013016 0.075182 -0.086563 --0.024242 0.085406 -0.009668 0.002995 0.003827 -0.027577 0.119405 -0.019147 0.005101 -0.010265 -0.032537 -0.051797 -0.040632 -0.068586 0.019971 --0.056266 0.018425 -0.035550 0.044019 -0.018450 -0.013988 -0.007499 -0.030389 -0.047227 -0.036402 --0.019853 -0.021715 0.089123 0.033422 0.051031 --0.043643 0.004053 0.039026 -0.092898 0.069717 -0.002242 -0.073405 -0.022716 0.065550 -0.109492 --0.065737 0.051307 -0.007900 -0.001899 -0.038721 -0.061064 0.068115 0.108020 -0.005186 0.091419 -0.038141 0.068502 -0.119719 -0.032776 -0.034200 -0.022829 0.022600 -0.114802 0.021444 0.011983 --0.010708 0.025008 0.016734 -0.058795 -0.121062 --0.020649 -0.036630 0.056523 -0.002163 0.027921 --0.063293 0.012239 0.014511 0.034178 -0.056068 --0.063080 0.014943 0.080895 0.063737 -0.133859 -0.016385 0.042840 0.046425 0.058005 0.035977 --0.084512 0.057576 -0.010982 0.060681 0.072678 --0.008045 0.001068 -0.085375 -0.058554 0.098160 -0.011639 0.009086 -0.053064 0.074379 -0.027243 --0.013015 0.121189 0.047177 -0.009998 -0.034644 --0.007092 -0.012841 0.075861 0.011568 0.086842 -0.045432 -0.079240 -0.025773 -0.009674 0.064448 --0.018079 -0.118996 0.009565 -0.016846 -0.011029 --0.006024 0.033095 0.005964 -0.000340 -0.012580 -0.081590 0.052148 -0.008312 -0.076947 0.027736 -0.018812 0.136957 -0.054412 -0.040884 -0.124297 --0.047994 -0.081925 -0.033440 0.118449 0.044842 -0.004569 -0.006306 0.075165 -0.038914 -0.081500 -0.038445 -0.078834 0.047793 -0.013885 0.006954 -0.039465 -0.031245 0.038253 -0.039471 -0.057441 -0.034043 -0.029460 0.017171 0.000194 -0.094801 -0.013428 0.116396 0.026097 0.041725 0.007773 --0.017706 0.115162 -0.031613 -0.010630 0.042917 --0.039768 -0.139730 -0.048469 -0.000045 0.028945 --0.004139 -0.081954 0.003386 0.115256 -0.049927 -0.077924 0.020540 -0.017751 0.003371 -0.011666 --0.022988 -0.072458 0.027132 0.049961 0.112610 -0.047083 -0.041033 0.043690 -0.084367 0.071528 --0.011307 -0.010002 -0.059736 0.049793 -0.043057 --0.038207 0.109289 0.066216 -0.043249 -0.011953 --0.042904 0.111380 0.021751 0.023150 0.051803 --0.041532 -0.082754 -0.165799 -0.145192 -0.159015 --0.036957 -0.008840 -0.028641 0.105964 0.006864 -0.029247 0.059193 0.009831 -0.144329 -0.047501 --0.014033 0.041089 0.095670 -0.051674 0.049619 -0.031086 -0.026835 -0.015872 -0.041019 -0.016594 --0.047321 -0.050941 0.108942 -0.059399 -0.094262 --0.082008 0.021291 0.061910 0.073377 -0.015244 -0.057463 0.023209 -0.065966 0.034032 0.111775 --0.021516 0.014300 -0.031041 -0.012892 0.024486 -0.045971 0.041949 0.025017 -0.003197 -0.044689 -0.046157 0.053074 -0.010276 -0.022357 0.014208 --0.059017 -0.049325 0.007655 0.034365 0.071554 -0.043755 -0.026127 -0.068545 -0.041093 -0.027706 -0.042534 -0.059878 -0.006088 0.036135 -0.000512 --0.141426 0.019792 0.031442 0.038225 -0.087692 --0.006095 0.062862 0.064053 -0.026935 -0.004107 --0.015518 0.018237 -0.054342 0.025962 -0.043604 --0.041405 -0.044407 -0.066543 0.052842 0.123468 -0.018775 -0.097456 0.021557 -0.111244 -0.022276 -0.087995 0.020846 0.009786 -0.024442 -0.000924 --0.021387 -0.115466 0.059505 -0.084840 -0.018622 --0.039091 0.041857 -0.059951 0.027552 -0.106180 --0.013005 0.077819 -0.057001 0.037112 -0.006017 -0.017069 0.035373 -0.036667 0.041547 0.030229 --0.017543 -0.020408 -0.084738 -0.062925 -0.014286 --0.003367 -0.001926 0.040560 0.163635 0.057733 -0.052600 0.014935 -0.041074 -0.038673 -0.009607 -0.035704 -0.049327 0.051517 0.079677 0.024194 --0.021034 -0.014069 -0.062355 -0.078356 0.049042 --0.028768 -0.088463 -0.035194 0.027880 -0.078732 --0.051166 0.029644 0.064622 -0.002258 -0.067584 -0.014417 0.014299 0.025278 -0.095873 0.081486 -0.018230 -0.014653 -0.093112 -0.067755 0.006200 --0.038621 0.033831 -0.065313 0.022443 0.016583 --0.013554 -0.003383 -0.003813 -0.038565 -0.079906 --0.054026 -0.097241 0.089312 -0.012968 0.081033 --0.047581 -0.080574 -0.024559 -0.018898 -0.082106 -0.008601 -0.028523 0.100338 0.112593 -0.048526 -0.027421 0.024654 -0.000988 0.060571 -0.007538 -0.008276 0.041800 -0.035683 0.044325 0.088914 -0.019003 0.052585 -0.106627 -0.043862 0.018154 -0.061095 -0.055270 -0.060593 0.071565 -0.023743 --0.010098 0.052293 0.067864 0.013882 -0.062200 --0.017320 0.007520 -0.015594 -0.023894 0.092727 -0.029631 -0.013572 0.043058 -0.024937 0.054426 --0.006383 -0.060407 0.031096 0.077251 -0.051193 --0.028054 0.013443 -0.006446 0.025674 0.011140 -0.025108 0.078829 0.096347 -0.120869 0.009600 --0.016833 -0.041386 -0.147598 0.012379 -0.080149 --0.001507 -0.061584 -0.069511 0.053464 -0.028698 -0.050460 0.034750 0.053162 -0.062058 -0.000099 -0.013018 -0.014428 0.008787 -0.021213 0.031728 -0.032305 -0.106213 0.027220 -0.042487 -0.013001 -0.042839 -0.025383 -0.014866 0.006080 -0.055914 --0.004772 0.111496 -0.048142 0.101228 -0.000113 --0.007065 0.108619 -0.026644 -0.081066 0.026279 --0.049199 0.003818 -0.043697 0.009844 0.051099 --0.021007 -0.012906 -0.013888 0.109787 -0.054136 -0.054741 0.002659 -0.080186 0.041342 -0.004960 --0.009585 -0.090940 0.035445 0.084784 0.071802 -0.004212 0.000051 0.061246 -0.179092 0.004524 --0.066032 -0.062309 -0.052999 0.003717 -0.054731 --0.063044 0.065802 0.005675 -0.083010 0.009338 --0.050599 0.044865 0.069794 0.035892 0.069365 -0.077322 -0.037515 -0.101389 -0.032958 -0.023327 -0.004893 0.076975 -0.094625 0.108672 -0.084543 -0.029133 0.033581 -0.097391 -0.099645 -0.008470 -0.047506 0.014070 0.037599 -0.039370 0.027529 --0.037487 -0.030513 0.001358 -0.109004 0.006393 -0.046480 -0.005807 0.072837 -0.015338 -0.034187 --0.036067 0.007979 0.057660 0.043930 0.022410 -0.054219 -0.000956 0.022423 0.048054 0.091746 --0.006642 0.030166 -0.048592 -0.040789 -0.005702 -0.007988 0.043955 -0.019103 0.106518 0.024012 -0.042589 0.059798 -0.006033 -0.026617 -0.048288 -0.015792 -0.114984 0.000601 -0.000354 0.067489 -0.038969 0.014313 -0.064460 -0.002179 0.051347 --0.002092 -0.105852 -0.031092 -0.032437 -0.000174 --0.128927 -0.008284 -0.009141 -0.076672 -0.015283 --0.049413 0.056280 0.045565 -0.006905 0.022082 --0.085801 0.050952 -0.050910 -0.017483 0.005888 --0.006170 -0.061465 -0.030951 0.035802 0.015739 --0.083792 -0.044795 0.060723 -0.030343 -0.069566 -0.030676 0.038387 0.050804 0.004892 0.017579 --0.044803 -0.090476 -0.017970 -0.069598 0.035520 -0.006056 0.044354 -0.061744 0.058806 -0.130744 --0.057101 0.099578 -0.045874 -0.002499 0.046826 -0.049723 0.098173 -0.082881 0.073610 -0.011594 --0.009669 -0.094859 -0.037445 -0.119323 0.065051 --0.015284 -0.026778 0.005845 0.048246 0.025717 -0.028300 0.003404 -0.007273 -0.021871 -0.079752 --0.013062 -0.126858 0.059483 0.049526 0.036093 --0.056998 -0.003159 -0.043116 -0.016197 0.089723 -0.016100 -0.051512 -0.060459 0.061427 -0.060520 --0.010836 0.070291 -0.004533 0.015834 -0.031588 -0.046681 0.024603 0.057986 -0.000132 0.098934 --0.017240 0.002476 -0.113392 0.016989 0.001335 --0.009243 0.021430 -0.088867 0.016496 0.036539 --0.024722 0.027988 -0.025209 -0.037811 -0.070416 --0.027312 -0.042762 0.085979 -0.017748 0.001795 --0.038652 -0.032652 0.049244 -0.003571 -0.092866 -0.021843 -0.080697 0.081009 0.019897 -0.063178 -0.025596 0.016382 0.119656 0.092436 -0.016244 --0.023622 -0.006095 -0.013438 0.039393 0.098847 -0.026872 0.057469 -0.033557 -0.019961 0.171557 -0.009244 -0.003066 -0.087323 0.039711 -0.024124 -0.027198 0.088494 0.108382 0.011044 -0.127500 --0.035575 -0.083203 0.035144 -0.032137 0.120334 -0.002031 -0.020743 0.003890 -0.046130 0.060318 --0.032118 -0.093914 0.036450 0.036482 -0.003628 --0.045976 -0.020514 0.020744 0.028721 0.002437 -0.114939 0.051708 0.055899 -0.024311 0.024351 --0.064421 0.084144 -0.108787 0.030475 -0.042867 -0.008077 -0.063222 -0.026071 0.061247 -0.016598 -0.011100 0.007787 0.023799 -0.068735 -0.056142 -0.025938 -0.060156 0.050084 0.037444 -0.022008 -0.010303 -0.098972 -0.052827 -0.061667 -0.068986 --0.011902 -0.042759 -0.084042 -0.002067 -0.151469 --0.017637 0.134014 -0.026226 0.026110 0.007490 -0.021463 0.079145 0.014098 -0.019123 0.079837 --0.010640 -0.040407 -0.116967 -0.015889 0.022180 --0.005119 -0.014871 0.057013 0.068658 -0.079078 -0.058641 -0.006509 -0.034086 -0.022005 0.041557 -0.016029 -0.003335 0.062705 0.037826 0.092035 -0.047014 0.007296 -0.014070 -0.130533 -0.001078 -0.025557 -0.063677 -0.037435 0.030993 -0.040663 --0.133077 0.001203 0.087675 -0.028956 0.005954 -0.030377 0.094103 0.031530 0.029501 0.058250 -0.043750 0.005780 -0.081652 -0.046912 -0.071344 -0.049909 -0.017203 -0.105850 0.077672 0.063239 -0.015203 0.080354 -0.019175 -0.126004 0.012938 -0.004638 -0.013389 0.087621 -0.010466 0.023940 --0.002703 -0.035427 -0.059936 -0.035946 0.018749 -0.025763 -0.100231 0.035256 0.021093 -0.102097 --0.023912 0.065319 0.051327 0.052308 0.008324 -0.018600 0.027370 -0.019629 0.003753 0.074711 --0.009465 0.042899 -0.007945 -0.044091 0.057014 -0.043860 0.063015 -0.053778 0.033882 -0.018588 --0.007623 0.070289 0.017506 -0.028443 -0.016436 --0.016131 -0.087520 -0.000211 0.013207 0.081102 -0.026870 0.010280 -0.039354 -0.085402 0.005385 -0.045387 -0.075274 0.005158 0.013437 -0.061107 --0.123832 -0.006790 0.046660 0.021633 0.005414 --0.004335 -0.011498 0.029755 -0.025547 -0.002465 -0.008431 0.032361 -0.039776 0.018846 -0.007647 --0.002531 -0.054317 -0.034538 0.095049 0.040090 --0.016239 -0.046115 0.006000 -0.083863 -0.018887 -0.001956 -0.005777 0.053960 0.003049 -0.028290 --0.017755 -0.044904 0.084936 -0.038020 0.048751 --0.036897 -0.069299 0.003508 0.029780 -0.079610 --0.085660 0.060685 -0.006321 0.078501 0.006878 --0.000940 0.062341 -0.042279 -0.015673 0.013762 --0.029805 -0.051092 -0.117256 -0.046978 -0.012383 -0.024326 -0.000611 -0.046838 0.087711 0.032932 -0.089398 -0.013201 -0.035642 -0.013591 -0.019974 -0.002673 -0.016622 0.070976 0.074861 0.005584 -0.013705 0.013057 -0.070513 -0.132482 0.011905 --0.021242 -0.092172 -0.098335 -0.045995 -0.077946 --0.013171 0.148310 0.023267 -0.011841 -0.094360 --0.008329 0.001195 -0.000926 -0.099253 0.141073 -0.039201 0.001784 -0.135018 -0.082677 0.044641 --0.005949 -0.030037 -0.085312 0.049127 0.014847 --0.013469 -0.002593 -0.056090 -0.045962 -0.191274 --0.041064 -0.030590 0.082413 0.061704 0.022132 -0.035533 -0.066234 0.034454 -0.009588 -0.050467 --0.029761 -0.016491 0.067872 0.038969 -0.039014 -0.057543 0.047087 0.043850 0.039443 0.054508 -0.058856 0.109195 -0.043374 0.070615 0.089501 -0.024405 0.045632 -0.080334 -0.004657 0.067992 -0.068464 -0.013325 0.052791 0.040606 -0.016031 -0.043482 0.025913 0.030708 0.051020 -0.058413 -0.012923 -0.031961 -0.001425 0.025659 0.065492 -0.081425 -0.018210 0.009682 -0.008238 0.027227 --0.047221 -0.123710 0.027984 0.046569 -0.051906 --0.013099 -0.010653 -0.030766 0.027285 0.060770 --0.039564 0.053122 0.066810 -0.114075 0.054466 -0.054259 0.024216 -0.045685 -0.001518 -0.082578 --0.026337 -0.055608 -0.075956 0.054064 0.026871 -0.015694 0.016757 0.129806 -0.052800 -0.016678 -0.048569 -0.001337 0.027199 0.004454 0.027064 -0.019218 -0.065149 0.034752 -0.071056 -0.047284 --0.001601 -0.021741 0.012135 -0.006775 -0.080880 --0.033474 0.068299 0.002424 0.082260 0.038960 --0.030455 0.105682 0.013086 -0.054492 0.067646 --0.084988 -0.031769 -0.005191 -0.045479 0.025036 --0.054564 -0.097375 0.013290 0.107239 -0.037042 -0.136211 0.054048 -0.044849 0.071688 0.021370 --0.065162 -0.020715 -0.035790 0.090635 0.057812 --0.008215 0.061018 -0.000019 -0.085259 0.052848 --0.027541 -0.005643 -0.052940 -0.038511 -0.027902 --0.041703 0.075862 0.013165 -0.059187 -0.036318 --0.141024 0.082443 0.069711 -0.013203 0.014406 -0.030125 -0.045500 -0.041806 0.002497 0.025155 -0.017453 0.003895 -0.083765 0.104400 0.011102 --0.048345 0.018909 -0.030988 -0.072003 -0.023689 -0.039778 -0.011208 0.089401 -0.003381 0.064581 --0.037057 0.017900 0.009406 -0.035557 0.007209 --0.003241 -0.108553 0.107998 -0.002787 -0.041577 --0.001725 0.010872 0.036545 0.091885 0.044958 -0.069362 -0.032205 0.088568 0.031341 0.039043 -0.010331 0.015777 -0.034748 -0.023237 0.005678 -0.045804 0.043555 0.039834 0.109120 -0.055790 --0.015894 0.100543 0.050280 -0.072103 -0.045188 --0.011023 -0.045609 0.030003 -0.010336 0.063708 -0.019876 0.039063 -0.034557 -0.076987 0.129728 -0.030980 -0.069793 0.006613 -0.009915 -0.020373 --0.069965 0.002061 0.000541 -0.052867 0.092944 -0.006017 0.032142 0.001437 0.012183 0.032717 --0.116354 0.039141 -0.103482 -0.032555 -0.058604 -0.051576 -0.057991 -0.087256 0.032997 0.087854 --0.040337 -0.024261 0.038911 -0.077252 -0.039797 -0.081800 0.001805 0.100735 0.013940 0.003214 --0.061214 -0.144295 0.008308 -0.079288 0.011819 --0.009353 0.021735 0.041214 0.036036 -0.075607 --0.035037 0.053300 0.014234 0.024169 0.037498 -0.041347 0.073833 -0.068231 -0.042470 0.014760 -0.033778 -0.058964 -0.006533 -0.067729 -0.003610 --0.018476 0.009825 -0.029418 0.050496 0.036382 -0.060848 0.025206 -0.004172 -0.075537 -0.012303 --0.004545 -0.052962 0.118191 0.014623 0.029139 -0.011171 0.016876 -0.013963 -0.059052 0.080971 -0.002827 -0.003879 -0.049140 0.078897 -0.085060 --0.088602 0.131228 0.004221 -0.011391 -0.071427 -0.017718 0.070627 0.054229 -0.044273 0.070835 -0.025214 0.000275 -0.196338 -0.055537 -0.009349 -0.028434 0.030911 -0.087382 0.065504 0.032241 -0.011778 0.089297 0.008448 -0.051996 -0.159620 --0.008923 -0.062831 0.056001 0.025205 -0.012758 --0.071953 -0.005149 0.018063 -0.014935 -0.030631 -0.013403 0.008570 0.080274 0.062037 -0.129636 -0.011472 0.077844 0.062828 0.098467 0.066360 --0.086768 0.078864 0.029290 -0.000317 0.128502 -0.004070 -0.025683 -0.096323 -0.046173 0.149402 -0.030056 -0.030776 -0.044512 0.070740 -0.008688 -0.014318 0.073530 0.097921 0.001865 -0.050654 --0.033176 -0.025587 0.089396 -0.054027 0.105766 -0.000104 -0.058115 -0.051152 -0.028157 0.079932 --0.060212 -0.086791 0.029739 -0.006208 -0.054993 --0.004691 0.017634 -0.011116 0.051677 -0.039065 -0.062654 0.079876 0.012684 -0.029185 -0.019667 -0.012281 0.089665 -0.044542 0.013976 -0.055887 --0.029754 -0.078267 -0.023077 0.060156 0.047758 --0.017389 0.027009 0.061441 -0.041074 -0.115783 -0.058611 -0.060866 0.113852 0.028394 -0.032204 -0.051306 -0.045035 0.012411 -0.104662 -0.067768 -0.005348 -0.053385 0.029868 0.023673 -0.127300 -0.010816 0.112224 -0.017053 0.061578 -0.040140 -0.049130 0.081442 -0.020925 -0.013124 0.049795 -0.000088 -0.080273 -0.041920 -0.006154 0.026384 --0.017665 -0.029077 0.028767 0.109973 -0.064974 -0.016728 0.012762 -0.017789 -0.018455 -0.027535 --0.026842 -0.082729 0.081654 0.058251 0.101281 -0.008607 -0.074243 0.030006 -0.114336 0.077834 --0.042818 -0.047540 -0.040810 0.016980 0.009716 --0.019924 0.025318 0.094241 -0.026210 -0.040988 -0.003781 0.101619 0.098932 0.076552 0.025069 -0.010124 -0.042034 -0.095420 -0.072274 -0.061223 --0.025071 -0.016132 -0.047999 0.172624 -0.036838 -0.011581 0.054710 -0.035830 -0.120277 -0.100100 --0.057028 0.006910 0.118464 -0.022154 0.025012 --0.017797 -0.033263 -0.008283 -0.003727 -0.043563 --0.003699 -0.095741 0.060120 -0.083925 -0.090614 --0.052209 0.069252 0.084102 0.031573 -0.065150 -0.048194 0.013857 -0.000901 0.082968 0.075239 --0.023543 -0.017918 -0.034752 -0.020715 0.045946 -0.025948 0.035884 -0.001330 0.030377 -0.069708 -0.037228 0.064584 -0.011534 0.004775 -0.031321 --0.023894 -0.066680 -0.017407 -0.031766 0.082944 -0.029780 -0.020334 -0.059467 -0.105484 -0.011107 -0.107375 -0.081264 -0.085535 0.015847 0.011785 --0.147292 0.091983 -0.035194 0.018371 -0.019603 -0.000643 0.026524 0.033881 -0.031605 -0.026151 --0.015905 0.025076 -0.040237 -0.015447 -0.036770 --0.023092 -0.008956 -0.094738 0.052213 0.066411 --0.014003 -0.038628 0.067782 -0.113461 -0.048569 -0.077947 -0.029368 0.029847 0.032522 -0.053873 --0.009694 -0.066035 0.097838 -0.080553 0.014786 --0.041721 0.042424 -0.067096 0.086017 -0.083068 --0.031687 0.049261 0.011088 0.055956 -0.042553 -0.064152 0.032740 -0.042521 0.032623 0.026468 --0.060446 -0.061420 -0.040101 -0.072435 -0.035127 --0.015938 -0.056502 -0.012235 0.159594 0.036828 -0.014961 0.039926 -0.052046 -0.008302 -0.025221 --0.019677 -0.050264 0.064556 0.090868 0.045306 --0.056054 0.027715 -0.051663 -0.105423 0.043022 -0.028868 -0.059945 -0.078316 -0.022563 -0.067438 --0.015459 0.051782 0.012461 -0.017353 -0.111666 -0.047354 0.038969 0.018721 -0.042239 0.086618 -0.047663 -0.009423 -0.062622 -0.054796 0.027821 --0.055863 0.015206 -0.063846 0.042120 0.051280 -0.000880 -0.064353 -0.006378 -0.079885 -0.085024 --0.060682 -0.023010 0.052677 0.020476 0.036878 --0.022570 -0.097679 0.024609 -0.051637 -0.023871 -0.018994 -0.008905 0.163821 0.035607 -0.004083 -0.029753 0.070722 0.065015 0.036317 0.015253 --0.018487 0.021981 -0.052297 0.101195 0.046329 --0.018899 0.076923 -0.090549 -0.069408 0.052880 -0.072613 0.016603 0.009898 0.038810 -0.097531 -0.011528 0.033681 0.044555 0.022445 -0.040337 --0.006570 0.016912 0.017289 -0.010643 0.054567 -0.039843 -0.082038 0.051662 -0.036190 0.056489 --0.013943 -0.108354 0.074006 0.095726 -0.069664 --0.034176 -0.043247 0.007026 -0.014616 0.018185 -0.005567 0.064569 0.062030 -0.061575 0.033160 -0.003638 0.043355 -0.092562 -0.001359 -0.118802 -0.034657 -0.080892 -0.115509 0.051575 -0.016477 -0.073726 -0.028197 0.101744 -0.091687 -0.002308 -0.003490 -0.025382 0.023563 0.013144 -0.007840 -0.098021 -0.089215 0.043236 -0.056307 0.013368 -0.056472 0.016004 0.007337 0.008555 -0.046066 --0.000940 0.088476 -0.003382 0.056229 0.011333 -0.025841 0.126240 -0.050253 -0.071801 -0.036593 --0.113256 -0.027423 -0.077799 -0.003365 0.042368 --0.007708 -0.040673 -0.002409 0.091194 -0.002389 -0.089456 -0.007822 -0.034486 0.016810 0.021491 --0.021203 -0.054528 0.050001 0.028679 0.059435 --0.034908 0.003863 0.053342 -0.072845 0.001339 --0.054033 0.012885 -0.065048 -0.045609 -0.058860 --0.076548 0.032086 0.025364 -0.136995 -0.019692 --0.014073 0.049843 0.053275 -0.021054 0.051495 -0.005986 -0.032989 -0.055326 -0.031727 -0.023301 -0.052516 0.011953 -0.114987 0.050477 -0.086649 -0.029069 0.034181 -0.055159 -0.036203 -0.045128 -0.001147 -0.008622 0.073690 -0.077472 0.037649 --0.023539 -0.019114 0.007866 -0.053950 0.029809 -0.002350 -0.026481 0.147821 -0.047601 -0.036813 --0.037253 0.033533 0.027495 0.047206 -0.008682 -0.052569 -0.038196 0.009663 -0.000160 0.096707 --0.058192 0.000390 -0.047017 -0.034486 0.014275 -0.016853 0.040124 0.061386 0.115421 0.015532 -0.083606 0.081646 -0.014130 -0.065768 -0.049301 -0.046979 -0.074307 -0.000569 0.043637 0.041337 -0.036121 0.073310 -0.066751 -0.075889 0.042658 --0.033533 -0.145897 0.036198 0.008869 -0.000721 --0.096931 0.083547 -0.053221 -0.059850 0.044181 --0.047437 0.017891 0.054674 -0.007182 -0.021841 --0.057955 0.025656 -0.022698 0.003117 0.006525 -0.054665 -0.016601 -0.070885 0.038416 0.036323 --0.106994 -0.070705 0.076054 -0.096182 0.017493 -0.019099 0.040334 0.095834 0.024157 -0.012504 --0.036345 -0.054321 0.024473 -0.042893 0.045064 -0.020362 0.013309 -0.022876 0.136195 -0.126968 --0.008470 0.104812 -0.060638 0.042024 0.051826 --0.046516 0.068780 -0.166211 0.010537 -0.020067 --0.016696 -0.031551 -0.045680 -0.140254 0.023460 -0.019033 -0.007193 0.020098 0.033574 0.032849 --0.009729 0.029711 0.035164 -0.031548 -0.069463 --0.068795 -0.076409 0.084793 0.058786 0.033407 --0.055633 0.057879 -0.064890 -0.085820 0.141134 --0.032456 -0.044056 -0.052030 0.080704 -0.065311 --0.029210 0.031372 -0.005285 0.001060 -0.066081 --0.002741 0.043095 0.081838 0.016630 0.083339 --0.027374 -0.002893 -0.096649 -0.007570 -0.027971 -0.023363 -0.012161 -0.079953 0.015753 0.010524 -0.011885 0.035772 -0.053325 -0.031173 -0.135173 --0.008628 -0.004336 0.065589 -0.022764 -0.012130 --0.022211 -0.014175 0.049009 -0.008368 -0.051407 -0.003391 -0.045775 0.040152 0.019404 -0.076654 --0.003267 0.015085 0.089489 0.060779 0.030779 --0.008577 0.025139 -0.005374 0.038636 0.058301 -0.018353 -0.010357 -0.012618 -0.013865 0.082768 -0.012199 -0.031424 -0.049425 0.036742 -0.023385 -0.016261 0.046336 0.082459 -0.046018 -0.072305 -0.007065 -0.052342 0.072695 -0.082325 0.056070 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspvqexp3.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspvqexp3.txt deleted file mode 100644 index 04cd64b..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/lspvqexp3.txt +++ /dev/null @@ -1,2049 +0,0 @@ -5 2048 --0.136198 0.024151 -0.063695 0.003294 0.028292 -0.058532 0.000407 0.081822 0.109613 0.092702 -0.002289 -0.004336 -0.001953 0.032305 -0.008448 --0.035198 -0.023077 -0.052002 -0.025974 -0.085171 -0.004385 -0.026216 -0.018253 -0.018256 0.012774 -0.006358 0.026024 -0.087778 0.011771 -0.078083 -0.007874 0.003175 -0.052089 0.064003 -0.042512 -0.014535 0.006232 -0.033255 -0.045854 -0.107260 -0.004491 0.019560 0.061050 0.029138 0.036281 --0.078731 -0.044440 -0.048337 -0.025092 0.081402 --0.007244 -0.049045 0.058090 0.066585 0.018635 --0.075770 0.063007 -0.000503 -0.135694 -0.037603 --0.054068 -0.104063 0.005153 0.006977 0.008814 --0.020893 -0.019060 -0.070042 0.004665 0.090232 --0.015010 0.032240 0.000378 -0.002297 0.004771 --0.040127 -0.041383 0.105462 -0.015007 -0.029958 -0.009637 0.050721 -0.064000 0.070794 -0.027916 -0.001217 -0.095625 0.095422 -0.058274 0.030180 -0.047937 -0.040794 -0.018864 0.036107 -0.038520 --0.035711 -0.046199 -0.031081 -0.090591 -0.073785 -0.068495 -0.021466 0.055625 0.027533 -0.056869 -0.059775 -0.041632 -0.096969 -0.057469 -0.082582 -0.076556 -0.075055 0.014253 -0.024721 -0.110025 -0.039510 0.002922 0.001583 -0.081297 -0.054432 -0.036638 0.106348 -0.029202 0.053259 0.060782 --0.053679 0.039323 0.097200 0.001035 0.086560 --0.023819 -0.121783 -0.029909 0.046493 -0.020142 -0.049289 0.084407 0.081999 -0.002632 -0.023474 --0.049136 -0.022296 0.090649 0.036711 -0.056647 -0.006248 0.061232 0.007889 -0.075399 0.015312 -0.057416 0.103818 -0.016070 0.040505 -0.001189 -0.114331 -0.090671 0.090784 0.004698 -0.078036 --0.096890 0.084786 0.041716 0.042491 -0.057462 --0.014909 -0.032684 0.071338 -0.025083 0.051331 -0.050537 -0.069533 -0.037126 0.032846 0.025729 --0.047775 0.055988 -0.018972 -0.025690 -0.027975 --0.017970 0.023020 0.098593 0.004612 0.013157 -0.044770 0.015091 -0.069310 -0.062427 -0.021413 --0.022487 0.105120 0.052485 0.089068 -0.015127 --0.069327 -0.005520 -0.039356 -0.065169 -0.081883 -0.077729 0.024051 0.008893 0.135290 0.036535 --0.016512 -0.061216 -0.051545 0.019876 0.044939 --0.119244 -0.030603 -0.021134 0.038262 0.002980 --0.079101 0.080099 0.036993 -0.067815 -0.008885 --0.054560 -0.014317 0.093316 0.100385 -0.001690 -0.052346 -0.004258 -0.013592 -0.042301 0.049842 -0.092826 0.061851 0.027621 -0.024069 -0.059213 -0.031617 -0.009108 0.022338 -0.063250 -0.097158 --0.008177 -0.030577 -0.107136 0.017774 0.059538 --0.053438 0.008281 -0.008953 -0.207584 0.041500 -0.006693 -0.093889 -0.039108 0.040752 0.020200 -0.005813 -0.021241 -0.046317 -0.019980 -0.037740 -0.134550 0.018885 -0.020492 0.033445 -0.004411 -0.000456 -0.030901 -0.058047 -0.081834 -0.007611 -0.006314 0.008851 0.070179 0.003036 -0.035749 -0.067106 -0.087172 0.047680 -0.058147 -0.011858 --0.043608 -0.020841 0.038136 -0.031081 0.185361 --0.054055 -0.067146 0.097240 -0.082580 0.051439 -0.003624 -0.133423 0.011530 0.119056 -0.043475 --0.001737 0.110875 0.038530 -0.027030 0.053434 -0.000648 -0.029320 0.121211 0.029589 -0.039707 --0.068850 0.000408 -0.032227 -0.003072 0.052231 -0.034923 0.080837 -0.037156 -0.094754 0.014542 --0.005315 -0.054038 0.012812 -0.027090 -0.001601 --0.083437 0.019212 -0.016505 0.046104 0.038554 -0.072309 -0.011739 0.059850 -0.056206 0.073386 -0.135263 0.000286 -0.060518 0.036391 -0.060506 --0.027527 -0.000692 0.036739 -0.066074 -0.088864 -0.005166 -0.054854 -0.003007 -0.010121 0.027824 --0.036967 -0.100932 -0.182594 -0.013910 0.014657 -0.023979 0.055629 -0.054566 0.106056 -0.079044 --0.037983 -0.044929 0.043735 -0.085774 -0.009132 --0.024985 -0.071464 0.051902 0.102450 0.054042 --0.016588 -0.074683 -0.064110 0.056690 0.110680 --0.064499 -0.033720 0.024264 0.088022 0.031179 --0.015453 0.035079 0.044771 -0.043409 -0.047855 -0.078062 -0.091048 0.052298 0.018898 0.005019 --0.054365 0.080023 -0.065458 -0.065704 0.014520 --0.003386 0.001319 -0.046118 -0.010700 0.008233 --0.030496 -0.072516 0.051522 -0.020414 -0.101831 -0.017761 0.038077 -0.114244 0.041726 0.083964 --0.016531 -0.129688 -0.014288 -0.122167 0.063062 -0.116380 -0.065367 -0.038604 0.095723 -0.036360 --0.066306 0.014726 -0.011596 -0.005770 -0.048796 -0.090592 -0.004417 0.009466 0.098691 -0.066093 -0.001754 -0.005848 -0.043066 -0.037892 0.031807 --0.022616 -0.021159 0.045873 0.028421 -0.085595 -0.049794 -0.001914 0.008752 -0.077905 0.029994 -0.044235 0.064398 0.005282 -0.003674 0.086059 --0.032460 0.015037 -0.007206 -0.036713 0.011909 --0.017113 -0.061523 -0.001698 0.001480 -0.052389 --0.005496 0.081887 0.018394 0.005492 -0.048520 --0.036485 0.006979 0.121328 0.069020 -0.093697 --0.035414 0.025382 0.033335 -0.042742 0.078618 -0.022150 0.100313 -0.081797 -0.006077 -0.036600 -0.043498 -0.047693 0.080861 -0.041208 -0.074855 --0.034519 0.006730 0.150509 0.059429 -0.003976 --0.059532 -0.022218 0.071419 -0.051453 0.008904 -0.063565 -0.107466 -0.026643 -0.009845 0.097906 --0.094940 0.057756 -0.085002 0.019603 -0.098395 -0.015610 0.000806 0.058999 -0.025760 0.036316 -0.071066 0.030579 -0.066243 -0.023751 -0.060747 -0.067731 0.090313 0.041003 0.076536 -0.012685 -0.069395 0.035647 -0.112161 -0.075184 0.003099 --0.017065 0.018376 0.017104 0.109557 0.049888 --0.047698 -0.041877 -0.000537 0.051347 -0.003682 --0.016370 -0.001696 -0.010154 0.067477 -0.036583 --0.020092 0.048256 0.084878 -0.100501 -0.035380 -0.008671 -0.122585 0.038716 -0.002197 -0.101482 -0.037247 -0.032842 -0.068559 -0.021387 0.014449 -0.027927 0.060964 -0.048375 0.028367 0.038134 --0.014885 -0.092447 -0.081616 -0.015822 -0.134913 --0.021274 0.013697 -0.035055 0.055911 0.033111 --0.034970 -0.015798 -0.007119 -0.076467 0.028984 --0.014502 -0.124275 0.021441 0.078607 0.002858 --0.042356 -0.003098 0.045995 0.031341 -0.016968 -0.041560 0.019148 0.004700 0.005637 0.093016 -0.063490 -0.048735 -0.069068 -0.034088 -0.028215 -0.045350 0.075594 0.037776 0.024450 -0.071678 -0.087072 0.009286 -0.023885 0.019862 -0.012771 --0.029248 -0.016036 -0.089092 0.074240 0.169069 --0.033409 0.026100 -0.024626 -0.043863 0.098736 -0.012158 -0.077333 -0.083731 0.013768 -0.080944 --0.060470 0.037407 -0.013690 0.007337 -0.001188 -0.005453 0.026261 0.119036 0.043940 0.046011 --0.035860 0.008540 -0.113766 -0.097502 0.024057 -0.024457 0.118827 -0.001543 -0.064711 -0.007631 -0.049637 -0.101928 -0.002462 0.054230 -0.044736 --0.067470 0.078729 -0.034003 0.014536 -0.022247 -0.161762 -0.041209 0.037097 -0.052532 -0.031344 -0.061129 0.020176 -0.066030 0.038964 0.022928 --0.014012 -0.030939 -0.092443 0.002874 -0.114395 --0.010621 -0.005537 0.018042 -0.045648 0.044588 -0.007453 0.095088 -0.128336 0.107088 -0.032186 --0.047594 0.046694 0.039679 0.083442 -0.088060 -0.060757 0.082896 0.037419 -0.092975 -0.054674 -0.022723 -0.030652 0.025581 0.033843 0.085935 --0.020876 -0.055952 -0.103915 -0.073020 0.045301 -0.020552 0.047020 0.047981 0.150138 -0.041783 --0.081206 0.015811 0.025886 -0.105666 0.097623 --0.026606 -0.109640 0.031300 -0.029835 0.007132 --0.004757 0.036673 -0.113804 -0.044055 0.015492 -0.016617 0.050138 -0.020709 0.070749 0.016487 --0.041772 -0.059857 0.040483 0.002005 -0.030924 -0.045135 0.114146 -0.077004 0.040268 0.014157 --0.007526 -0.029177 0.064663 -0.093478 0.103127 -0.041264 -0.004835 0.013205 0.110399 -0.026498 --0.107188 -0.024533 -0.071115 -0.052007 -0.006395 -0.030684 -0.035133 0.019891 0.033587 -0.028437 --0.019472 -0.016122 -0.099020 -0.052317 -0.029623 -0.023893 -0.019150 0.042703 -0.007384 -0.135429 --0.008658 0.020311 0.016085 -0.113980 -0.001115 --0.036113 0.054423 0.008653 -0.007789 0.077924 --0.129044 -0.005070 0.011282 0.013904 0.077014 --0.025623 -0.031789 -0.073370 0.010481 -0.041819 -0.008182 0.065192 0.027333 -0.034730 -0.026375 --0.073571 -0.019647 0.040694 -0.003020 -0.065061 --0.014276 0.079966 0.003562 -0.144068 0.054787 --0.022846 0.071080 -0.036877 -0.012692 -0.082166 --0.006918 -0.096688 0.095501 0.064056 0.007213 --0.036690 0.026213 0.059957 0.047896 0.003414 -0.000914 0.015446 0.098563 -0.056379 0.137143 -0.018164 -0.076211 -0.070196 0.001563 0.047637 --0.049087 0.114850 -0.090803 -0.012260 -0.036278 -0.029559 0.002293 0.037244 0.047064 0.038113 -0.070849 0.065524 -0.021498 0.000989 -0.091111 --0.036143 0.076107 0.016355 0.059505 -0.023400 --0.048163 0.004599 0.025481 -0.093492 -0.022306 -0.020409 0.023572 -0.001520 0.059761 0.064734 --0.032331 -0.014971 -0.032497 -0.010585 0.008900 --0.085173 -0.038940 0.017863 0.073312 -0.032050 --0.026419 0.012730 0.067669 -0.005028 -0.054256 --0.019721 -0.049805 0.080959 0.050680 0.057457 --0.006579 -0.003248 -0.080847 -0.103158 0.064238 -0.082133 0.070334 -0.026602 -0.064571 0.042901 -0.017513 -0.081866 -0.016501 -0.088344 0.022655 -0.009335 -0.047461 -0.005181 0.060236 0.032349 --0.056626 -0.022179 -0.044705 -0.131625 -0.028104 --0.026924 -0.045874 0.036424 0.026185 0.023864 --0.028118 -0.018505 0.018550 0.000643 -0.055726 -0.101839 -0.037958 0.031116 0.110118 0.009110 -0.112021 -0.038578 -0.104082 -0.042272 0.040893 -0.028742 -0.028607 0.080643 0.003287 -0.063413 -0.099046 -0.029956 0.002892 -0.067344 -0.016823 -0.008602 0.017513 -0.014264 -0.041185 0.124856 --0.054844 -0.072185 0.033952 -0.096401 0.046007 --0.020749 -0.046471 0.003558 0.082125 -0.096910 -0.025411 0.127329 0.076666 0.068718 0.005743 -0.043603 -0.056968 0.086610 0.010153 -0.036367 --0.068722 0.024772 -0.000639 -0.052051 0.074796 -0.019967 0.077602 -0.034771 -0.009789 -0.023551 -0.047117 -0.066717 -0.066348 -0.063558 0.008220 --0.027567 0.036273 -0.067110 0.028847 0.089473 -0.083247 0.004591 0.077405 -0.082932 -0.013968 -0.079836 -0.052437 -0.080184 0.015535 0.000867 --0.020465 0.038101 0.029256 0.027121 -0.094745 -0.022846 0.000927 0.004314 -0.039488 0.016252 --0.016129 -0.000925 -0.125901 0.037569 -0.012151 -0.050660 0.036394 -0.018283 0.058805 -0.009276 -0.002687 -0.029775 -0.002892 -0.018790 -0.068265 --0.026723 -0.038695 0.067644 0.027095 0.104267 --0.033127 -0.092325 -0.101391 0.051657 0.047692 --0.039487 0.017442 -0.007204 0.106333 -0.026736 --0.026984 0.048252 0.041384 -0.002131 0.042443 -0.019367 -0.077827 0.019452 -0.004992 0.095049 --0.020183 0.054128 -0.089501 -0.106767 0.133742 -0.003715 0.065993 -0.010120 0.002578 0.010632 --0.104027 -0.092526 0.051102 -0.064092 0.007341 -0.037981 0.005348 -0.098388 0.082010 0.023682 -0.101454 -0.074181 0.022470 -0.047488 0.034728 -0.054519 -0.059484 -0.055491 0.133582 0.009556 --0.120963 -0.043837 0.028549 0.025534 0.028904 -0.108670 -0.032038 0.012596 0.038519 -0.012244 -0.003888 0.019393 -0.076558 -0.013031 -0.019858 --0.006786 -0.020230 0.044975 0.034040 -0.032445 -0.099970 -0.025120 -0.012044 -0.058520 0.081664 --0.018743 0.028691 0.017459 0.030523 0.121595 --0.045728 -0.044359 0.002157 0.025037 0.043565 --0.027940 -0.112422 0.019525 0.012089 -0.036526 -0.012809 0.102396 0.061700 0.009053 -0.006318 --0.073644 0.052544 0.093009 0.002094 -0.048500 --0.067838 0.044219 0.004622 -0.021517 0.144798 -0.000396 0.028552 -0.047957 0.022072 -0.044059 -0.022301 -0.046990 0.069399 -0.022723 0.001209 --0.061132 0.035083 0.054456 -0.053667 0.023348 --0.021700 0.035612 0.078641 -0.067377 0.046902 -0.103671 -0.042167 -0.039490 0.027663 0.018158 --0.034924 0.044647 -0.017309 0.013019 -0.075672 -0.016417 0.018863 -0.005962 -0.054108 -0.028444 -0.033930 -0.024540 -0.021060 0.018088 -0.079446 -0.004808 0.042524 0.042005 0.062594 -0.020936 -0.045898 -0.007873 -0.067501 -0.079291 -0.053730 --0.044782 0.007470 -0.003636 0.041779 0.032024 --0.055764 -0.025299 -0.042428 0.043255 0.061536 --0.028270 0.031312 -0.055603 0.078003 -0.007771 --0.035400 0.019441 0.101450 -0.047446 -0.021123 --0.003012 -0.065746 0.021167 0.028415 -0.039012 -0.078986 0.041230 -0.109603 -0.053586 0.081713 -0.069524 0.086261 0.032415 0.020301 0.008172 --0.050007 -0.043252 0.032538 -0.040149 -0.060186 --0.036647 0.074839 -0.067704 0.105038 0.016407 --0.017166 -0.040157 -0.034379 -0.045783 0.036121 -0.006989 -0.053621 -0.014310 0.130029 0.014339 -0.010984 -0.049323 0.011801 0.024418 -0.061108 -0.048945 0.020936 -0.016709 0.036678 0.056799 --0.032054 -0.081596 -0.020000 -0.014900 -0.016931 -0.025720 0.030371 0.054373 0.041972 -0.103673 -0.072505 -0.008653 -0.038498 -0.082343 -0.011659 -0.008214 -0.051158 -0.011619 0.011396 0.073440 --0.028140 -0.085370 -0.083429 -0.059579 0.093532 -0.017281 -0.029324 -0.063027 0.036276 -0.035917 --0.062731 0.083485 0.034826 -0.016723 0.041119 -0.006462 0.063240 0.106462 0.005405 0.014198 --0.107371 0.016648 -0.039299 -0.060254 0.066074 -0.010798 0.104663 -0.026071 -0.092536 -0.049821 -0.052302 -0.111521 -0.028997 -0.044881 -0.058612 --0.066180 0.063782 -0.087613 0.131044 0.079319 -0.051549 -0.031150 0.050463 0.014022 0.072812 -0.040951 -0.008242 -0.035076 -0.012706 -0.007732 --0.087407 -0.043003 -0.051495 -0.005909 -0.078253 -0.024556 -0.000301 -0.002836 0.000471 0.036449 --0.033227 0.013122 -0.041830 0.053473 -0.062823 -0.001698 0.056414 -0.009009 0.074868 -0.031437 -0.061142 0.034153 0.037913 -0.016467 -0.112529 --0.042555 0.004865 0.068299 0.039970 0.035002 --0.032275 -0.054429 -0.110647 -0.004981 0.106602 --0.009971 -0.070226 0.011717 0.078195 -0.004486 --0.053666 0.032253 0.019880 -0.063381 -0.011499 --0.021161 -0.147358 0.022501 0.026856 0.014878 -0.071720 -0.018691 -0.078472 0.006781 0.128504 -0.009349 0.032300 0.024117 0.093683 -0.001689 --0.038787 -0.022119 0.025894 -0.051130 -0.029077 --0.003509 0.056923 -0.043564 0.047755 0.029228 -0.094577 -0.059873 0.105327 -0.045681 0.020128 -0.019571 -0.053714 -0.026005 0.082821 0.010883 --0.090635 -0.046160 0.015147 -0.060630 -0.025114 -0.065345 -0.062635 0.033608 -0.000239 -0.055078 -0.028179 0.007232 -0.132300 -0.058511 -0.027521 -0.009924 -0.057576 0.037098 -0.048222 -0.067691 -0.025807 0.005481 0.053364 -0.071026 0.002704 --0.019833 0.056496 -0.012323 0.054975 0.053260 --0.058168 -0.002745 0.051808 0.007857 0.072213 --0.028508 -0.100966 -0.066436 0.094923 -0.032702 -0.016386 0.144962 0.060276 -0.060885 0.045013 --0.008694 -0.035070 0.077187 0.011427 -0.039974 -0.041845 0.095921 -0.012129 -0.069502 0.058053 -0.016498 0.068097 -0.063723 0.058607 -0.084662 -0.051080 -0.084087 0.061664 -0.014378 -0.020357 --0.101420 0.018380 0.026201 0.021273 0.001716 -0.018280 -0.048955 0.114013 0.007403 0.073650 --0.007198 -0.073071 -0.043345 -0.025399 0.062280 --0.057043 0.007375 -0.057945 0.001682 -0.068288 --0.004458 0.057944 0.019870 0.030319 0.023300 -0.023258 0.038816 -0.075939 0.024401 -0.008493 --0.088976 0.084875 -0.004901 0.107413 0.036685 --0.017576 0.049893 -0.017089 -0.076959 -0.047043 -0.012304 0.096589 0.020081 0.055371 0.026179 --0.031262 -0.023054 -0.062863 0.022469 0.026254 --0.081002 0.001604 -0.067115 0.089364 -0.044846 --0.104635 0.022051 0.024153 -0.050297 -0.090473 --0.111208 -0.014747 0.065056 0.064524 0.014978 --0.018009 -0.045181 -0.036814 -0.049839 0.101556 -0.123355 0.029904 0.046059 0.075873 0.023800 -0.018950 -0.069598 -0.023833 -0.044717 -0.059289 -0.005309 -0.050755 -0.129767 0.090909 0.049327 -0.034593 -0.024217 -0.013090 -0.120429 0.018611 -0.035730 -0.069972 -0.020352 0.040567 -0.008846 --0.035745 -0.012086 -0.029290 -0.031875 -0.022851 -0.126885 0.093804 -0.041337 0.064417 0.012827 --0.006103 -0.064712 -0.034377 -0.072895 -0.024513 -0.024964 0.025126 0.053845 -0.032844 -0.040164 -0.057226 -0.047268 0.002180 -0.030810 -0.046649 --0.011612 -0.016914 0.019534 -0.045647 0.103552 --0.019784 -0.059284 0.034278 -0.052666 0.063638 --0.030288 -0.052341 -0.018891 0.060842 -0.038845 -0.029390 0.061982 0.049711 -0.034509 0.014359 --0.001671 -0.096474 0.111850 -0.008201 -0.039744 --0.018012 -0.003881 -0.008624 -0.032458 0.060460 -0.046820 0.050558 -0.004330 -0.043328 0.024076 -0.020855 -0.064731 0.003784 -0.011162 -0.039018 --0.064459 0.004758 -0.065784 0.046246 0.009026 -0.061065 0.051008 0.060159 -0.028994 0.058623 -0.065914 -0.082042 -0.137623 0.009165 -0.028321 -0.013924 0.038290 0.064550 -0.076981 -0.104556 -0.057766 -0.047215 -0.025831 -0.014589 0.040468 --0.018660 -0.044675 -0.134278 -0.019992 0.000064 --0.007643 0.019573 -0.005029 0.139097 -0.058444 -0.015872 -0.061714 0.054845 -0.093905 -0.023694 --0.069868 -0.051634 0.093449 0.116722 0.041075 --0.031597 -0.064630 -0.001604 -0.011889 0.114102 --0.038392 -0.043996 0.036345 0.159256 0.042733 --0.014768 0.023374 0.091565 -0.062174 0.008748 -0.027552 -0.065067 0.043484 0.029833 0.068407 -0.062921 0.100413 -0.044081 -0.047093 0.012867 --0.021198 0.053674 -0.074601 0.009988 -0.000368 -0.004615 -0.031012 0.126258 -0.044950 -0.053716 -0.068829 0.028389 -0.081499 0.096576 0.111555 -0.032580 -0.091888 0.004783 -0.058619 0.103336 -0.023528 -0.067561 -0.052227 0.060540 -0.008415 --0.134399 -0.003137 -0.005498 0.000696 -0.064610 -0.103028 -0.016839 0.054380 0.058673 -0.018968 --0.030411 0.004030 -0.022930 -0.074504 -0.005768 --0.040922 -0.056206 0.026643 0.091472 -0.046289 -0.024551 0.006847 -0.043098 -0.076632 0.023143 --0.027690 0.058150 -0.033455 -0.000947 0.108861 --0.053902 -0.004117 -0.000733 -0.004552 0.018160 --0.015632 -0.075342 -0.057899 0.043216 -0.030867 --0.025610 0.087151 0.015012 -0.058812 -0.077554 --0.057877 0.030875 0.088541 0.068489 -0.037517 --0.013136 0.003726 0.026354 -0.076145 0.081871 -0.009685 0.049282 -0.053126 -0.041669 -0.055971 -0.070689 -0.000302 0.030654 -0.059458 -0.032358 --0.073479 0.014645 0.057040 0.060111 0.026122 --0.021404 -0.035383 0.105578 -0.064143 0.009201 -0.067302 -0.018682 -0.018425 0.053502 0.095608 --0.089642 0.061823 -0.049713 0.118868 -0.071061 -0.033484 0.020846 0.017472 0.009132 0.017367 -0.095422 0.015719 -0.042701 -0.059963 -0.093737 -0.065153 0.040501 0.070592 0.084313 0.023778 -0.011293 0.022143 -0.078417 -0.072724 0.022472 --0.047887 0.042426 0.002790 0.080670 0.045298 --0.124868 -0.052373 -0.036868 0.080892 0.053132 --0.029773 -0.038766 -0.021131 0.028890 -0.019483 --0.031257 0.013785 0.114016 -0.019299 -0.095540 --0.081494 -0.108033 0.072808 0.034714 -0.046113 -0.018918 0.025646 -0.012081 -0.029184 0.035413 -0.062215 0.094361 -0.038357 0.004033 0.061858 --0.040066 -0.073778 -0.039352 -0.026946 -0.078584 --0.027017 -0.016385 -0.070475 0.068096 0.031208 -0.024912 -0.031301 0.028130 -0.092740 0.010887 -0.080067 -0.086228 -0.002645 0.062014 0.039789 --0.000913 -0.002893 0.021215 0.025308 -0.079170 -0.021198 0.011411 -0.029445 0.021288 0.028934 --0.012482 -0.093791 -0.086795 -0.065003 -0.091575 -0.042822 0.048190 0.027573 0.016672 -0.031582 -0.084478 -0.026855 0.002037 -0.003986 -0.032282 --0.037516 0.024939 0.006645 0.069559 0.096001 --0.009324 -0.020647 0.016115 -0.002890 0.099816 -0.035798 -0.055626 -0.082205 0.061510 -0.137040 --0.003237 0.086092 -0.015616 0.038825 0.025940 --0.009435 -0.039900 0.130411 0.041684 0.029411 --0.053212 0.035136 -0.038974 -0.068479 -0.014046 --0.052464 0.114330 0.014803 -0.043086 -0.031898 -0.114055 -0.094015 0.000194 0.005274 -0.032729 --0.061821 0.146682 -0.033636 0.052702 -0.025910 -0.076647 0.000572 0.089946 0.018515 -0.012439 -0.057567 -0.023096 -0.066766 0.029717 -0.021521 --0.048165 0.037444 -0.026950 -0.054050 -0.122571 -0.003033 -0.021280 0.058783 -0.065330 0.032047 -0.016007 0.003629 -0.102811 0.075806 -0.028556 --0.051245 0.032001 0.006924 0.046225 -0.066944 -0.026360 0.071868 0.000989 -0.051417 -0.082284 -0.007536 -0.005941 0.054340 0.097832 0.059470 -0.005201 -0.029254 -0.063891 -0.032060 0.063113 -0.005567 -0.038440 0.079032 0.117269 -0.027965 --0.018444 0.021519 0.056596 -0.077845 -0.001929 -0.018144 -0.117195 0.021022 -0.078031 0.060201 -0.068169 0.033446 -0.116183 0.024450 0.054125 -0.043263 0.043637 -0.024388 0.028606 -0.043272 --0.076651 -0.044322 0.043529 -0.032600 -0.022496 --0.028618 0.105767 -0.131078 0.022952 0.032809 -0.014704 -0.078921 0.053414 -0.130561 0.025975 --0.006145 -0.020377 0.002576 0.111120 -0.027416 --0.056800 -0.034249 -0.102732 -0.077605 -0.054125 -0.013938 -0.018912 0.031272 0.045116 0.009640 --0.000666 -0.010171 -0.101812 -0.086048 -0.079481 -0.012556 -0.025093 -0.037932 0.018846 -0.121557 -0.019521 0.077648 0.062764 -0.080462 -0.006901 --0.022906 0.106898 -0.001186 -0.033179 0.083120 --0.108465 0.004729 -0.004907 -0.051941 0.019890 --0.052798 -0.048321 -0.039992 0.011392 0.022231 -0.052123 0.053230 0.008893 -0.021235 -0.021543 --0.052336 -0.002642 0.014048 0.021729 -0.071873 -0.008583 0.063055 -0.005700 -0.130218 -0.004615 -0.001933 0.068978 0.002830 0.041471 -0.075840 -0.058590 -0.105352 0.109710 -0.008703 0.046126 --0.058564 0.044743 0.028326 -0.017021 -0.043831 --0.006378 0.002489 0.083015 -0.017479 0.032458 -0.075359 -0.070133 -0.094634 0.004253 0.050570 --0.084605 0.081302 0.020066 -0.026905 -0.070421 -0.027450 0.006091 0.038101 0.058759 -0.022035 -0.075718 0.034255 -0.003008 0.013391 -0.039205 --0.027185 0.117021 0.026809 0.017619 -0.048835 -0.013076 -0.001288 -0.041201 -0.077396 -0.060871 -0.003384 0.082249 0.080509 0.073375 0.032946 --0.020732 -0.036562 -0.005218 0.006654 0.017449 --0.070219 -0.067294 -0.000185 0.046725 -0.032632 --0.114281 0.007061 0.027082 -0.042412 -0.035359 --0.017030 -0.081911 0.091617 -0.001734 0.040171 -0.029232 0.022946 -0.023063 -0.099398 0.088196 -0.134224 0.037312 -0.010897 0.015441 0.048401 -0.036710 -0.079633 0.068283 -0.095899 -0.076950 -0.031388 -0.049701 -0.078358 0.071239 0.093230 --0.047640 -0.059715 -0.006775 -0.091115 -0.004787 -0.029706 -0.062712 0.001230 0.035511 0.012170 --0.035826 -0.020972 -0.004566 -0.054826 -0.080743 -0.043183 -0.019993 -0.009134 0.093461 0.062293 -0.055956 -0.052129 -0.076380 -0.112243 0.065413 -0.075567 0.019848 0.094121 0.021786 -0.068644 -0.060691 -0.037556 0.053416 -0.063583 -0.009116 -0.059647 0.033059 0.008383 -0.057678 0.106669 --0.086182 -0.028844 0.069038 -0.050651 0.045613 --0.022872 -0.050951 0.020221 0.009049 -0.129767 --0.034033 0.103312 0.070048 -0.008972 0.021930 --0.019606 -0.031561 0.065822 0.016592 -0.009995 --0.028203 0.056913 -0.043993 -0.020496 0.028610 -0.050871 0.070498 -0.045548 -0.038539 -0.050789 -0.065005 -0.048246 0.011105 -0.026236 0.004123 --0.069629 0.029918 -0.108123 -0.018902 0.020385 -0.012121 0.000873 0.079758 -0.028851 -0.001646 -0.048281 -0.044204 -0.025910 -0.031220 0.006049 --0.039981 0.031852 -0.007419 -0.008198 -0.105351 -0.021943 -0.009020 0.041415 -0.051481 0.064758 --0.066937 0.070473 -0.128350 0.059786 -0.012980 -0.046171 -0.005175 -0.054847 0.066448 -0.057361 -0.015253 -0.020476 0.048261 -0.069168 -0.074295 --0.072588 -0.042977 0.018592 0.070496 0.114648 -0.010817 -0.128853 -0.097246 0.020464 0.031236 --0.024940 0.041108 0.011415 0.087818 -0.043080 -0.025168 0.025134 0.027778 -0.030419 -0.017191 --0.010787 -0.089466 0.006383 0.016841 0.083765 -0.008103 0.031762 -0.065297 -0.043194 0.060151 --0.031870 0.035064 -0.027919 0.019804 0.031581 -0.015682 -0.090393 0.054461 -0.051669 -0.020003 --0.006273 0.029554 -0.052349 0.122862 0.052590 -0.053436 -0.092575 -0.038422 -0.014132 0.025596 --0.007446 -0.068838 -0.100706 0.110571 -0.074217 --0.124216 -0.046391 -0.001952 -0.035192 0.056849 -0.049815 -0.000716 0.078561 0.103458 -0.031106 -0.004277 0.053141 -0.013453 -0.014118 -0.043585 -0.037082 -0.072984 0.085005 0.059632 -0.092468 -0.070536 0.024296 0.032733 -0.064865 0.050807 -0.048457 0.051588 0.064615 0.014068 0.107732 --0.036905 -0.023656 0.039094 -0.021163 0.016683 --0.033733 -0.099111 -0.053957 0.004493 -0.052760 --0.012367 0.103975 0.055514 -0.018205 -0.077832 --0.018229 0.099840 0.043099 0.026033 -0.127892 -0.005209 0.115289 0.030702 -0.090228 0.102291 --0.036231 0.059027 -0.073456 0.025828 -0.058846 -0.023155 -0.021831 0.050419 -0.052958 -0.025641 --0.057417 -0.038855 0.069655 0.009463 -0.011469 --0.001709 0.032146 0.133188 -0.084494 0.022112 -0.105454 -0.037301 -0.006059 -0.002167 0.033760 --0.067749 0.052323 -0.002914 0.042408 -0.038078 -0.080983 0.032390 -0.013515 -0.017162 -0.001944 -0.018212 -0.057337 -0.024336 0.003385 -0.053031 -0.007656 0.093900 0.019898 0.057621 -0.016597 -0.028536 0.010449 -0.048939 -0.132260 -0.015093 --0.032383 0.042496 0.006198 0.022980 0.050028 --0.091286 0.046546 -0.012873 0.053569 0.100661 -0.001121 0.033644 -0.044783 0.040892 -0.007458 -0.015227 0.057715 0.135154 -0.011532 -0.048523 --0.020718 -0.100767 0.060073 0.082344 -0.067297 -0.052855 0.019105 -0.072241 -0.034480 0.046910 -0.028509 0.105159 -0.005862 -0.006672 0.031437 --0.044146 -0.049556 0.015169 -0.001790 -0.082293 --0.043861 0.020628 -0.082354 0.150955 -0.022192 --0.053152 -0.023628 -0.040518 -0.032409 0.040596 --0.072007 -0.085815 0.034433 0.062865 0.051963 -0.007741 -0.008439 0.034908 -0.009552 -0.032946 -0.043386 0.024843 0.020463 0.077839 0.109446 --0.033733 -0.111561 -0.077032 -0.028750 -0.004143 -0.027687 -0.006467 0.011063 0.043189 -0.123963 -0.091285 0.045529 -0.007055 -0.051180 -0.054342 -0.012612 -0.032042 0.014321 0.047055 0.140528 --0.069055 -0.048973 -0.035481 -0.091096 0.061054 --0.017211 -0.042891 -0.047427 0.050343 -0.010907 --0.031955 0.062361 0.017419 -0.036013 -0.002721 -0.041131 0.024163 0.089626 0.022372 0.009373 --0.095530 0.047262 -0.031783 -0.036250 -0.009977 --0.021451 0.082581 -0.051394 -0.022879 -0.034885 -0.076878 -0.111199 -0.010824 0.015104 0.028609 --0.085213 0.147576 -0.065340 0.019676 0.072754 -0.082529 0.036091 0.076516 0.052432 0.071795 -0.008287 -0.036426 -0.009891 0.029857 0.002193 --0.003334 -0.028181 -0.037997 -0.010828 -0.075271 --0.009274 -0.000105 0.026357 -0.014523 -0.000196 -0.045930 0.012760 -0.088269 0.009968 -0.079905 -0.046175 0.009370 -0.000002 0.029935 -0.042887 -0.023842 0.018746 -0.006990 0.008271 -0.090227 -0.030612 0.016519 0.081049 0.009339 0.055323 --0.044325 0.004172 -0.068893 -0.045980 0.077715 -0.001175 -0.046950 0.036603 0.091690 -0.007926 --0.030905 0.059344 0.015477 -0.098726 -0.013555 --0.055799 -0.077539 -0.011439 -0.004065 0.054785 -0.034376 0.008123 -0.066323 0.015381 0.051534 --0.029072 0.008390 -0.021483 0.034645 -0.015101 --0.032733 -0.053135 0.072680 -0.018542 0.019239 -0.037756 0.062391 -0.075094 0.101033 0.003228 -0.041719 -0.083617 0.062272 -0.023256 0.039273 -0.009314 -0.036930 -0.022348 0.054612 -0.061547 --0.057502 -0.045821 -0.027136 -0.057127 -0.040360 -0.066291 0.009189 0.032460 -0.001094 -0.054085 -0.006575 -0.054172 -0.130758 -0.090713 -0.002316 -0.034393 -0.052381 0.012536 0.038109 -0.081767 -0.085920 0.009447 -0.009120 -0.115802 -0.024373 --0.009739 0.098210 -0.050578 0.009031 0.067793 --0.102503 0.070893 0.048610 0.025783 0.070098 --0.082345 -0.110272 -0.069934 0.039617 -0.015865 -0.093134 0.050931 0.078967 0.014464 0.014646 --0.080307 -0.028843 0.108070 -0.021868 -0.059963 --0.033823 0.075594 0.036621 -0.060586 0.034463 -0.062713 0.100354 -0.048699 0.006569 -0.054387 -0.085716 -0.042197 0.055028 -0.023813 -0.019848 --0.128971 0.064906 -0.014135 0.053208 -0.054020 -0.012192 -0.023224 0.086982 0.002569 0.081299 -0.043572 -0.052176 -0.053337 0.001834 -0.002848 --0.073999 0.045245 -0.072961 0.011777 -0.001025 --0.038850 0.021979 0.082271 0.023871 -0.014373 -0.066920 0.022695 -0.046891 -0.028261 0.005879 --0.066511 0.074096 0.039110 0.046744 -0.001032 --0.028041 0.019515 -0.079802 -0.098550 -0.057732 -0.050261 0.061069 -0.014075 0.084526 0.061622 --0.011750 -0.051429 -0.073887 -0.004920 0.014058 --0.107882 -0.029024 -0.096352 0.047279 -0.040754 --0.069567 0.060745 0.075817 -0.045723 -0.101709 --0.047723 -0.030640 0.056081 0.076466 0.002197 --0.010621 0.007690 -0.030150 -0.067986 0.062739 -0.117024 0.061613 0.012656 0.043682 -0.031102 -0.018671 -0.047947 -0.040784 -0.089523 -0.106392 --0.005815 -0.001616 -0.068421 0.027810 0.057644 --0.008067 -0.006506 0.039180 -0.154508 -0.011541 -0.033405 -0.122890 -0.013528 0.038364 -0.001838 --0.004906 -0.046275 -0.038730 -0.031623 -0.003879 -0.152370 -0.022857 -0.072307 0.029362 0.058441 -0.009357 -0.022712 -0.075829 -0.057416 -0.038179 -0.011980 0.029996 0.082156 0.024194 -0.072075 -0.072125 -0.051638 0.039224 -0.086809 -0.049036 --0.016999 -0.028023 -0.045506 -0.030265 0.170708 --0.044189 -0.166394 0.095599 -0.078305 0.024710 --0.012502 -0.049717 0.030435 0.149411 -0.047396 --0.004166 0.092334 0.002567 0.003784 0.058999 --0.014837 -0.013693 0.116725 -0.016922 -0.014098 --0.026542 0.025453 -0.072587 -0.010040 0.040512 -0.061390 0.063914 -0.059682 -0.091206 -0.018253 --0.019787 -0.066510 0.016750 -0.053649 -0.028817 --0.092221 0.050852 -0.009044 0.047829 -0.002441 -0.018727 0.036731 0.089017 -0.091873 0.088367 -0.109395 0.014861 -0.097044 -0.015050 0.009286 -0.002921 0.027523 0.011728 -0.046926 -0.098498 -0.000836 -0.056539 0.023297 0.018001 0.049131 -0.004675 0.001073 -0.170749 0.014371 0.034021 -0.020092 0.037851 -0.028229 0.102064 -0.048952 --0.025833 -0.026058 0.012805 -0.114410 -0.051993 -0.013397 -0.036918 0.089997 0.157135 0.083396 --0.039602 -0.080711 -0.021277 0.053202 0.071289 --0.109812 0.002914 -0.015096 0.091661 0.031649 -0.001854 0.034905 0.032772 -0.002794 -0.042979 -0.068519 -0.063135 0.013342 -0.006060 0.046252 -0.017425 0.141501 -0.060676 -0.083881 0.048423 --0.023162 0.027077 -0.098028 -0.014739 0.010480 --0.022374 -0.086942 0.100437 -0.075083 -0.115201 -0.007563 0.033322 -0.103828 0.051361 0.024684 --0.004454 -0.055777 -0.046699 -0.082728 0.073797 -0.055443 -0.143092 -0.037825 0.078811 0.036497 --0.077281 -0.008325 0.013544 -0.017594 -0.041641 -0.047789 -0.034492 -0.002379 0.073826 -0.075772 --0.009782 0.050561 -0.019115 -0.056305 -0.001601 --0.034683 0.008058 0.060254 0.034221 -0.132588 -0.051493 -0.015100 -0.031876 -0.051222 0.000989 -0.047049 0.026343 -0.041914 -0.036045 0.095869 --0.062112 -0.018423 0.003773 -0.027867 -0.010398 --0.048280 -0.036537 -0.017897 -0.005851 -0.058694 --0.014345 0.061231 0.015028 -0.034773 -0.062937 --0.000104 0.042883 0.145663 0.087783 -0.037200 -0.016255 0.036518 0.046461 -0.034405 0.079881 -0.035236 0.059227 -0.075679 -0.016770 -0.068794 -0.070744 -0.037727 0.127718 -0.021398 -0.046414 --0.032597 0.063874 0.097691 0.026403 -0.004663 --0.087849 -0.026770 0.144388 -0.048131 0.031670 -0.106295 -0.065269 -0.040652 -0.014211 0.056560 --0.043383 0.070554 -0.010791 0.053436 -0.111118 -0.031068 0.016914 0.052035 0.004705 -0.005330 -0.034760 -0.023902 -0.025479 -0.020657 -0.051098 -0.009155 0.063415 0.088456 0.063249 -0.036212 --0.000009 0.037196 -0.081303 -0.097243 -0.019263 -0.029158 0.050108 0.039763 0.121192 0.042011 --0.067899 -0.051989 -0.021537 0.068444 0.027782 --0.016312 -0.019484 -0.002050 0.053199 0.005392 --0.008887 0.011627 0.044619 -0.090553 -0.063460 -0.004298 -0.096710 0.054118 0.026422 -0.054091 -0.011429 0.013193 -0.050806 -0.014131 0.048069 -0.073934 0.058524 -0.027092 0.000422 0.030744 --0.027127 -0.040621 -0.081295 -0.132942 -0.174424 --0.009461 0.028177 -0.035784 0.088923 0.029507 --0.031399 0.023611 -0.016887 -0.076838 0.033483 -0.030485 -0.089706 0.003531 0.109110 0.014393 --0.057547 -0.003360 0.039022 0.000441 -0.017536 -0.010777 0.032913 0.009826 0.011260 0.063002 -0.039884 -0.084768 -0.091794 -0.019418 0.001947 -0.035580 0.092377 0.044137 -0.039732 -0.073936 -0.074461 -0.026009 -0.018411 0.052151 -0.023017 --0.074733 -0.019706 -0.045403 0.041498 0.114826 --0.062412 -0.015496 -0.008802 0.010005 0.134097 --0.006114 -0.127624 -0.111323 0.020666 -0.044975 --0.039706 0.068792 0.011916 0.016754 -0.000454 --0.010497 0.014889 0.070891 0.116098 0.021857 --0.085198 0.023739 -0.088592 -0.046397 -0.013729 --0.021026 0.161165 0.011340 -0.032323 -0.022466 -0.071886 -0.105818 0.021622 0.083276 -0.011759 --0.053961 0.111353 -0.063359 0.048522 0.020913 -0.155966 -0.097759 0.067338 0.004069 0.048556 -0.039733 0.024807 -0.036450 0.026902 -0.001497 -0.008231 0.007538 -0.082664 -0.024402 -0.130124 -0.001341 0.009836 0.031207 -0.007516 0.063997 -0.013111 0.044756 -0.108910 0.036952 -0.038516 -0.032064 0.054737 0.021054 0.090083 -0.095331 -0.086201 0.072386 0.002048 -0.084090 -0.123429 -0.036048 -0.020936 -0.001486 0.048416 0.057746 --0.007902 -0.025902 -0.039170 -0.090144 0.033093 --0.037429 -0.008878 0.031789 0.108803 -0.001264 --0.067338 0.047247 -0.010053 -0.104491 0.019316 --0.038488 -0.110868 -0.017281 -0.069637 0.003541 -0.034292 0.055001 -0.090837 -0.028732 0.016192 -0.056000 0.072632 -0.022204 0.040858 0.031991 --0.034742 -0.035448 0.019035 -0.013232 -0.014398 --0.006173 0.109096 -0.049988 0.013882 0.005876 --0.010246 -0.017441 0.025300 -0.098996 0.052687 -0.025387 0.000912 -0.009639 0.084043 -0.052007 --0.083781 -0.030439 -0.073927 0.007538 0.012090 -0.066881 -0.025604 0.016332 0.037268 -0.033802 --0.015458 -0.021930 -0.070557 -0.051580 0.012924 --0.009009 -0.017953 0.042537 -0.020288 -0.091337 --0.024530 0.040526 0.056023 -0.110282 0.026677 --0.038359 0.097050 0.014986 0.037195 0.054785 --0.083630 0.055443 -0.035272 0.003855 0.043706 --0.057062 -0.037280 -0.046268 0.022056 -0.034342 -0.003546 0.055713 0.011998 0.006224 -0.025227 --0.088934 -0.028368 0.079334 -0.001505 -0.127990 --0.061598 0.084053 0.025380 -0.096473 0.067390 --0.020260 0.092217 -0.018618 0.027917 -0.048252 -0.031415 -0.091387 0.090810 0.045103 -0.026705 --0.064460 0.002074 0.031180 0.067323 -0.016903 --0.005864 -0.003330 0.069051 -0.033416 0.082203 -0.044956 -0.053755 -0.137252 -0.046061 0.093635 --0.088599 0.097969 -0.032264 -0.086639 -0.091644 -0.033056 0.016076 0.011350 0.037895 0.004198 -0.044101 0.049833 -0.032485 0.037383 -0.129242 --0.042353 0.109453 -0.005173 0.074401 -0.070002 --0.005799 0.052127 0.027453 -0.100450 -0.058706 -0.015240 0.069141 0.015929 0.041277 0.055504 --0.023227 -0.001112 0.002065 0.012704 0.036834 --0.089424 -0.016815 0.074728 0.052480 -0.044368 --0.072117 0.037136 0.079468 -0.038248 -0.057019 -0.003825 -0.069667 0.055439 0.014255 0.032135 --0.036398 0.060844 -0.051464 -0.103545 0.071708 -0.063325 0.075800 0.002963 -0.013314 0.045130 -0.020282 -0.083516 0.014408 -0.071592 -0.027531 --0.010278 -0.013934 -0.042730 0.072202 0.007273 --0.019582 -0.018122 0.004112 -0.129409 0.026095 --0.031100 -0.041493 0.001026 0.068622 0.045611 --0.016275 0.007467 0.007254 0.005397 -0.030822 -0.027449 -0.020425 0.019762 0.122976 0.047420 -0.032987 0.001328 -0.098351 -0.053497 0.013908 -0.029366 0.013866 0.122783 0.041198 -0.068939 -0.102145 -0.006101 0.037359 -0.057573 0.015037 -0.049004 -0.008177 -0.020529 -0.022026 0.125989 --0.072538 -0.037701 0.022874 -0.032248 0.015711 --0.012920 -0.043093 -0.039808 0.025999 -0.059643 --0.020747 0.120412 0.058354 0.038064 0.023366 -0.022306 -0.008795 0.096772 0.019502 -0.021527 --0.031783 0.042640 -0.012099 -0.056425 0.052337 -0.040885 0.076375 -0.024182 -0.007386 0.006375 -0.012472 -0.048071 -0.011689 -0.054259 0.004254 --0.041141 0.023551 -0.047763 0.040648 0.055189 -0.041209 0.026372 0.083642 -0.041189 0.018401 -0.098897 -0.079038 -0.058140 -0.021688 -0.004584 -0.008362 0.050981 0.027989 0.004290 -0.077892 -0.079784 0.022189 -0.000950 -0.028833 0.038684 --0.020911 0.002112 -0.089285 -0.009057 -0.044291 -0.067770 0.023611 -0.010856 0.057004 -0.068496 -0.028960 -0.012273 0.005375 -0.038117 -0.075004 -0.002103 0.002426 0.056212 0.025731 0.113254 --0.069929 -0.080474 -0.089722 -0.019285 0.039492 --0.047136 -0.038086 -0.013093 0.104245 -0.014991 -0.002220 0.028745 -0.014120 -0.003022 0.024545 -0.002795 -0.099925 0.077130 -0.017081 0.101062 --0.062377 0.063615 -0.060597 -0.033619 0.126293 --0.014254 0.057849 -0.017270 0.000255 0.046692 --0.054974 -0.092568 0.028597 -0.061007 -0.049412 -0.026217 -0.012099 -0.046248 0.055666 0.060678 -0.069724 -0.056332 -0.008145 -0.067284 0.012714 -0.050454 -0.036820 -0.038474 0.094104 -0.025727 --0.075576 -0.039175 0.010329 0.008010 0.003823 -0.101716 -0.042132 0.070715 0.035590 0.040456 -0.006306 0.001003 -0.055836 0.007729 -0.026461 --0.015636 -0.027037 0.017196 0.048239 -0.066902 -0.090990 0.022012 -0.017646 -0.098129 0.037112 -0.005951 0.024530 0.021647 -0.014662 0.107048 --0.087049 -0.037337 0.044913 0.024889 0.092117 -0.019813 -0.103273 -0.011622 0.001294 -0.057107 --0.019526 0.055974 0.039931 -0.006568 -0.007790 --0.048103 0.049238 0.061609 0.006077 -0.075369 --0.009412 0.048275 0.009865 -0.081620 0.092182 --0.017333 0.064175 -0.040670 0.004648 -0.022311 -0.003981 -0.066772 0.051258 -0.003877 -0.019203 --0.071235 0.039869 0.084219 -0.012268 0.000880 --0.047928 0.058804 0.087149 -0.026185 0.038879 -0.064338 -0.035073 -0.023367 0.048265 0.050703 --0.021562 0.045307 -0.009582 -0.003124 -0.020818 -0.022634 -0.009844 0.002915 -0.015520 -0.030355 -0.083917 -0.031796 -0.047661 0.008159 -0.040844 -0.028545 0.035008 0.057934 0.053669 -0.054020 -0.035223 0.042440 -0.036255 -0.096245 -0.051155 --0.029984 0.014055 0.019736 0.048158 0.004093 --0.025898 -0.014328 0.002510 0.028365 0.085207 -0.006077 0.002203 -0.027505 0.047570 -0.017349 --0.020587 0.067784 0.099796 -0.026735 -0.024473 --0.025703 -0.094091 0.031649 0.029644 0.003411 -0.058308 0.049034 -0.068172 -0.115474 0.069425 -0.033811 0.118472 0.050946 0.053623 0.078579 --0.019271 -0.065324 0.045402 -0.037870 -0.047215 --0.005675 0.086373 -0.014768 0.145929 0.037386 --0.014700 -0.049202 0.023594 -0.056698 0.023680 --0.033374 -0.061027 -0.059854 0.138963 0.011599 -0.001533 -0.035748 -0.008464 0.032284 -0.039337 -0.081951 -0.006716 -0.010483 0.112224 0.090494 --0.038372 -0.067773 -0.036190 -0.038843 -0.011294 -0.090443 0.048152 0.042218 0.056232 -0.093971 -0.122476 -0.005575 -0.036654 -0.029043 -0.034003 -0.022275 -0.033887 -0.060285 0.004531 0.075150 --0.065225 -0.097285 -0.022983 -0.069686 0.069205 --0.001642 -0.056254 -0.077585 0.025569 -0.054803 --0.100539 0.093912 0.080158 -0.002782 0.010494 --0.006143 0.026757 0.145882 -0.004906 0.028979 --0.109082 0.071364 -0.005886 -0.068041 0.037065 --0.018060 0.065418 -0.041926 -0.102324 -0.083326 -0.011189 -0.087023 -0.052738 -0.029586 -0.017342 --0.039294 0.027361 -0.091183 0.088291 0.045424 -0.057392 -0.021108 0.072939 0.049198 0.122993 -0.038302 -0.020317 -0.005652 0.011269 -0.001771 --0.047838 -0.064151 -0.069358 0.022155 -0.083435 -0.003546 0.019317 0.007896 0.030876 0.029493 --0.015680 0.011502 -0.079687 0.043705 -0.076931 -0.007474 0.001457 0.006085 0.047001 -0.040679 -0.038183 0.030132 -0.015742 -0.043583 -0.066149 --0.013762 -0.006024 0.029832 0.027818 0.040294 --0.027094 -0.024302 -0.105055 -0.022415 0.045939 -0.003325 -0.031412 0.002150 0.091557 0.040350 --0.023031 0.051570 -0.004636 -0.046863 -0.032721 --0.001379 -0.136365 0.030118 -0.015619 0.060966 -0.051409 0.002981 -0.085911 0.034787 0.092612 --0.024351 0.032927 -0.011889 0.047216 0.013262 --0.031903 -0.008671 0.062494 -0.057320 -0.025303 --0.026174 0.061109 -0.031321 0.063430 -0.001627 -0.033534 -0.042932 0.077354 -0.044685 0.038110 -0.029437 -0.011422 -0.026351 0.079037 -0.011110 --0.065906 -0.012694 0.002666 -0.081176 0.007352 -0.047210 -0.022385 0.022590 0.004000 -0.056449 -0.028936 -0.002388 -0.119043 0.000528 -0.022876 -0.000565 -0.041766 0.035570 -0.010223 -0.055419 --0.003717 0.050681 0.042119 -0.073103 -0.034640 --0.019828 0.077821 -0.007847 0.115964 0.095672 --0.057148 -0.022559 0.035308 -0.042327 0.097345 --0.034233 -0.054020 -0.057557 0.089841 0.009229 -0.070683 0.108539 0.046246 -0.050120 -0.008497 --0.056988 -0.048306 0.068906 0.015296 -0.073327 -0.020887 0.044562 -0.007768 -0.071345 0.057720 -0.027704 0.094761 -0.024903 0.058677 -0.054592 -0.045246 -0.128952 0.028581 0.009761 -0.036013 --0.137353 0.034736 0.027748 0.045031 0.020522 --0.032682 -0.010848 0.135840 -0.008210 0.064445 -0.016483 -0.066692 -0.036966 -0.018892 0.037266 --0.055969 -0.000146 -0.070159 -0.043813 -0.035507 -0.007295 0.067471 0.062439 0.031139 0.004051 -0.081763 0.058234 -0.080642 0.039998 -0.014646 --0.020107 0.121620 -0.031533 0.049787 0.048427 --0.027995 0.017340 -0.036722 -0.027766 -0.072522 -0.016754 0.116377 -0.007417 0.117559 -0.023170 --0.036028 -0.013555 -0.057848 -0.006776 0.057208 --0.080437 -0.067988 -0.044028 0.086414 -0.051744 --0.073007 0.043810 0.014807 -0.049665 -0.049222 --0.085317 -0.073906 0.084214 0.028253 0.022565 -0.061129 -0.008498 -0.065248 -0.093368 0.125544 -0.101010 0.030100 0.021030 0.003998 -0.000819 -0.051523 -0.052633 -0.031029 -0.086071 -0.030398 --0.049646 -0.039065 -0.114362 0.111554 -0.013322 -0.060882 -0.037407 -0.007392 -0.128509 0.069699 -0.010662 -0.095924 0.004877 0.022956 -0.003608 --0.040638 0.005864 -0.025032 0.003803 -0.033060 -0.104406 0.009014 -0.070791 0.101107 -0.010706 -0.018493 -0.060775 -0.046556 -0.102536 -0.058762 -0.013012 0.047639 0.074284 -0.021771 -0.071480 -0.121697 -0.062576 -0.061069 -0.084239 -0.030672 --0.053509 -0.072509 0.029717 -0.075666 0.119601 --0.071159 -0.064371 0.049556 -0.006955 0.050790 --0.014936 -0.030424 -0.029046 0.095626 -0.053380 -0.026242 0.084580 0.046043 -0.013774 0.048761 --0.003036 -0.055345 0.130574 0.072416 -0.040259 --0.012252 0.029803 -0.017821 -0.029420 0.057413 -0.036485 0.041237 -0.032473 -0.046230 0.000440 --0.003955 -0.066533 0.009267 0.004057 0.002718 --0.054960 0.012076 -0.051431 -0.001750 0.015747 -0.067251 0.037864 0.116071 -0.012828 0.063945 -0.065686 0.005781 -0.102444 0.050582 -0.006415 --0.022414 0.010021 0.095137 -0.034063 -0.154439 -0.018933 -0.026790 -0.009372 -0.025828 0.058756 -0.008035 -0.025525 -0.090140 -0.012845 -0.008559 -0.017881 -0.039468 -0.051786 0.088240 -0.081061 -0.017134 -0.000603 0.072990 -0.106103 -0.045466 --0.026151 -0.003544 0.108411 0.044002 0.070681 --0.065841 -0.096530 -0.055378 0.015170 0.126129 --0.048244 0.006173 0.013564 0.196118 -0.046276 --0.026911 0.046123 0.060438 -0.042470 -0.007582 -0.086581 -0.077901 0.057108 -0.013982 0.095961 -0.013568 0.081727 -0.063919 -0.008458 0.020099 -0.015455 0.049515 -0.048905 -0.006740 0.017709 --0.023263 -0.011752 0.104977 -0.091749 -0.072352 -0.041545 0.027311 -0.061505 0.073899 0.057681 -0.060911 -0.048034 -0.006742 -0.018161 0.082492 -0.044955 -0.030697 -0.042272 0.060646 0.025253 --0.095552 -0.007674 -0.037376 -0.042828 -0.028071 -0.078704 0.034767 0.003569 0.103759 -0.017217 --0.006459 -0.003174 -0.006884 -0.052177 0.000067 --0.000080 0.002880 0.067251 0.077245 -0.083559 -0.043695 0.037396 0.005392 -0.085654 0.021389 -0.037997 0.095932 -0.028364 -0.033582 0.112597 --0.047949 0.014115 0.027626 0.006558 0.055128 --0.035469 -0.081510 -0.015853 0.031846 -0.003825 --0.019678 0.109423 0.054030 -0.050997 -0.017309 --0.027511 -0.012712 0.078270 0.073890 -0.036127 -0.007627 0.021692 0.029178 -0.076480 0.035985 --0.013671 0.074729 -0.070079 -0.041782 -0.003345 -0.081644 -0.007541 0.018661 -0.069248 -0.082554 --0.066409 0.041793 0.088394 0.023002 0.031839 --0.004239 -0.055445 0.153536 -0.029606 0.011440 -0.120925 -0.031292 0.009491 0.023924 0.097333 --0.064946 0.044945 -0.036368 0.075204 -0.043170 -0.084879 0.044759 0.026172 0.014565 0.045921 -0.045467 -0.017067 -0.028516 -0.030039 -0.097097 -0.033711 0.032445 0.072773 0.052865 -0.002100 -0.007495 0.042950 -0.042792 -0.074042 -0.011530 --0.056728 0.042999 0.092369 0.099547 0.013443 --0.054306 -0.043025 -0.068623 0.095940 0.074227 --0.079501 -0.007941 0.000413 0.032496 -0.031837 --0.016260 0.033024 0.064746 -0.017847 -0.104087 -0.000197 -0.151410 0.074026 -0.001001 -0.031403 -0.046221 0.036460 -0.040808 -0.021449 0.032127 -0.079554 0.080997 -0.076818 -0.019398 0.037202 --0.001902 -0.080469 -0.020903 -0.017046 -0.093414 --0.063198 0.002218 -0.041482 0.114007 -0.001262 -0.004609 -0.045369 -0.012778 -0.106632 -0.009353 -0.046742 -0.093363 -0.020190 0.070943 0.104612 --0.026496 0.030245 0.036531 0.049474 -0.034971 -0.010070 -0.016557 -0.015930 0.036066 0.046365 --0.059709 -0.083439 -0.099145 -0.024957 -0.044832 -0.031623 0.022393 0.012334 -0.009649 -0.050844 -0.126142 0.023320 0.052720 0.016504 -0.047781 -0.002926 0.004861 -0.060239 0.050008 0.098520 --0.050552 -0.025407 -0.003390 -0.014939 0.068650 -0.032517 -0.092568 -0.058102 0.078834 -0.068898 -0.001143 0.108254 0.006322 0.014800 -0.012314 -0.050222 -0.034504 0.174248 0.025459 -0.002951 --0.040868 0.022522 -0.081662 -0.051546 0.029154 --0.001469 0.154137 0.010623 0.000752 0.036767 -0.113304 -0.068389 0.029430 0.054651 -0.072835 --0.063281 0.122269 -0.028825 -0.023612 0.018427 -0.073886 -0.005629 0.074243 -0.013698 0.036158 -0.027137 -0.008779 -0.051317 0.034729 0.011425 --0.005290 0.084381 -0.046825 -0.054925 -0.134575 --0.007420 -0.034384 0.032822 -0.006816 0.016250 -0.013071 0.022288 -0.116225 0.121282 -0.061502 --0.022397 0.009282 0.013596 0.083516 -0.068117 -0.018270 0.070016 -0.019013 -0.055558 -0.038255 -0.048457 -0.023579 0.050451 0.085665 0.035829 -0.005139 -0.053830 -0.068741 -0.045650 0.019271 --0.039606 -0.040208 0.113025 0.137240 -0.039967 --0.050847 0.011254 0.031376 -0.087299 0.036520 -0.012497 -0.096540 -0.005847 -0.023409 0.055187 -0.047393 -0.016958 -0.127368 0.014126 0.013071 -0.042850 0.030065 -0.005283 -0.003391 -0.012498 --0.063424 -0.066634 -0.007857 -0.012463 -0.048025 --0.038726 0.093465 -0.068296 -0.004955 0.020647 -0.064345 -0.025818 0.123250 -0.113614 0.042799 -0.012083 0.019991 -0.011713 0.093276 -0.018115 --0.069842 -0.040684 -0.062936 -0.036833 -0.057289 -0.048571 -0.021162 0.059277 0.027594 0.031567 -0.004623 0.013103 -0.070462 -0.031843 -0.062285 -0.003964 -0.043003 0.001089 0.007283 -0.094012 -0.089866 0.071995 0.101778 -0.112357 0.012040 --0.072256 0.086698 0.032881 -0.033458 0.098016 --0.082535 0.048160 0.026744 -0.027036 0.025903 --0.042452 -0.094755 -0.054770 0.004509 0.015786 -0.053114 0.051959 0.021238 -0.079127 -0.025941 --0.061221 -0.032380 0.000678 0.034720 -0.119877 --0.029004 0.038623 -0.037611 -0.139319 -0.005737 -0.041081 0.129303 -0.021741 0.027442 -0.123106 -0.038200 -0.064672 0.083376 0.032648 0.033742 --0.048851 0.029052 0.025199 0.023531 -0.025856 --0.003336 0.029494 0.075111 -0.010905 0.064079 -0.037642 -0.035068 -0.084707 0.026922 0.022164 --0.068680 0.075838 -0.025633 -0.004398 -0.115237 --0.004548 -0.002381 0.026301 0.068400 -0.006462 -0.121501 0.071558 -0.029120 0.004560 -0.059715 -0.020657 0.160004 -0.003257 0.029479 -0.040264 --0.009405 0.008581 -0.016967 -0.102333 -0.102278 --0.030081 0.075670 0.078504 0.112244 0.066878 --0.024548 -0.067136 -0.004662 -0.026166 0.044337 --0.066652 -0.078118 0.000364 0.038618 -0.076186 --0.089846 -0.017872 0.072022 -0.066259 -0.059455 --0.028736 -0.093805 0.079006 0.023036 -0.015992 --0.045002 -0.004511 -0.021728 -0.091307 0.072076 -0.104573 0.051663 0.037822 0.009659 0.091841 --0.000223 -0.070248 0.002859 -0.085403 -0.067834 --0.010392 -0.032752 -0.036464 0.047626 0.061988 --0.020766 -0.098673 0.010533 -0.120437 -0.028288 --0.010613 -0.086247 -0.006349 0.031765 0.038227 --0.042501 0.012368 0.001644 -0.053936 -0.052854 -0.040412 0.006924 0.010332 0.084276 0.018472 -0.030309 -0.012747 -0.071598 -0.111819 0.023998 -0.087829 0.061878 0.094608 -0.037238 -0.050664 -0.036768 -0.026142 0.028210 -0.019029 -0.007024 -0.056710 -0.012442 0.005440 -0.103556 0.139787 --0.138355 -0.040445 0.025577 -0.107722 0.078150 --0.001450 -0.071658 -0.025306 0.038319 -0.103037 --0.028321 0.098830 0.057603 -0.007905 0.078051 --0.009903 -0.025356 0.086842 0.012796 0.022952 --0.014137 0.064001 -0.027812 -0.039279 0.060983 -0.027092 0.074119 -0.010385 -0.012999 -0.057892 -0.027647 -0.079000 0.021994 -0.032696 -0.014011 --0.042864 0.021318 -0.117190 0.023970 0.036325 -0.057969 0.007604 0.135989 -0.027874 0.036906 -0.067047 -0.008885 -0.080445 -0.027705 0.003494 --0.016421 0.020609 -0.029576 0.029755 -0.109042 -0.078601 -0.014246 0.028812 -0.022730 0.042634 --0.037523 0.028199 -0.083746 0.036775 -0.009971 -0.037147 0.014445 -0.058619 0.061398 -0.011282 --0.015391 0.000460 0.008396 -0.046827 -0.027835 --0.014145 -0.069296 0.027030 0.067044 0.087990 --0.003414 -0.125998 -0.042444 -0.033398 0.047298 --0.084005 0.001739 0.050690 0.114059 -0.044072 -0.002756 0.040246 0.024529 -0.045169 0.010004 --0.037919 -0.092984 0.039383 0.031606 0.079460 -0.010879 0.059048 -0.072431 -0.003405 0.086399 -0.008666 0.031679 -0.042362 0.054428 0.060492 --0.022185 -0.099806 0.129259 -0.080670 -0.043866 -0.012856 0.013568 -0.033243 0.095598 0.093044 -0.062030 -0.075113 -0.037729 -0.060376 0.060004 -0.031119 -0.061372 -0.096201 0.101855 -0.016822 --0.082510 -0.060718 -0.033015 -0.027222 0.007231 -0.062973 -0.041640 0.109215 0.081676 -0.013847 --0.013324 0.027366 -0.033590 -0.046803 -0.039116 -0.061055 -0.037717 0.065252 0.078148 -0.053763 -0.050494 -0.011958 0.033369 -0.107018 0.057087 --0.015111 0.079702 0.078616 0.051406 0.103170 --0.055713 -0.031900 0.039951 0.010658 0.030803 --0.032401 -0.161199 -0.006920 -0.041844 -0.054552 -0.068517 0.125210 0.080621 0.013543 -0.033413 --0.044663 0.074392 0.035932 0.023301 -0.045912 --0.009902 0.066933 0.032801 -0.049038 0.095407 --0.039521 0.112499 -0.074490 0.036163 -0.044197 -0.018696 -0.011558 0.057933 -0.025639 -0.061431 --0.081026 0.005753 0.057683 -0.011585 0.006821 --0.006872 0.098313 0.119539 -0.081953 0.004434 -0.067413 -0.006236 0.002746 0.014715 0.026754 --0.037853 0.034309 -0.028443 0.026642 -0.037707 -0.066061 0.019234 0.029629 -0.015190 -0.012766 -0.027166 -0.042834 -0.056186 -0.009603 -0.083747 -0.050175 0.073412 0.007110 0.043388 -0.043870 -0.042677 0.025735 -0.094635 -0.142996 -0.099443 --0.025460 0.022178 0.045321 0.069113 0.054570 --0.064131 0.000827 0.011239 0.039192 0.080176 --0.032389 -0.013939 -0.064993 0.048795 -0.022851 --0.004958 0.060895 0.123682 -0.068608 -0.074900 --0.019889 -0.062160 0.073126 0.058232 -0.032283 -0.081527 -0.007318 -0.072361 0.003923 0.047891 -0.057147 0.118678 -0.020847 -0.014802 -0.015634 --0.052605 -0.036531 0.034867 -0.078556 -0.111584 --0.003560 0.003142 -0.024669 0.173160 0.032364 --0.053222 -0.023754 -0.040899 -0.047008 -0.003696 --0.033042 -0.093138 -0.004980 0.112166 0.080717 --0.010216 -0.006619 0.021922 0.016601 -0.003126 -0.051343 0.053954 -0.046302 0.038985 0.078694 --0.030092 -0.107599 -0.081002 -0.105924 0.002939 -0.011743 0.034846 0.003716 0.065184 -0.117462 -0.164375 0.073700 -0.033512 -0.050132 0.014156 --0.000174 -0.023948 -0.024012 -0.006934 0.108972 --0.059460 -0.048846 -0.012336 -0.051560 0.072806 --0.018567 -0.058139 -0.097127 0.057960 -0.003780 --0.069194 0.099784 0.014634 0.002396 0.004753 -0.054780 0.066215 0.126638 0.054455 0.006893 --0.141807 0.059586 -0.018459 -0.063126 -0.022803 --0.035254 0.069275 -0.013827 -0.071276 -0.003613 -0.069290 -0.132719 0.008038 -0.042340 0.029226 --0.111912 0.046898 -0.082164 0.046524 0.042479 -0.097773 -0.009098 0.059874 0.073312 0.066974 -0.019922 0.006528 -0.012465 0.012819 -0.009649 --0.002277 -0.027303 -0.050759 -0.050323 -0.080025 --0.003253 -0.006990 -0.002405 -0.013040 -0.007020 -0.025178 0.055844 -0.116797 0.017350 -0.095996 -0.027313 0.001295 -0.036475 0.035209 -0.050719 -0.013403 0.027367 -0.033867 -0.020572 -0.083462 -0.026022 0.029014 0.068306 0.059719 0.045583 --0.102670 -0.014676 -0.070060 -0.007867 0.061628 -0.021102 -0.044131 0.078378 0.066952 0.012162 --0.059452 0.052841 -0.010660 -0.090335 -0.061320 --0.052210 -0.080353 0.003880 -0.025212 0.019020 --0.010473 0.007817 -0.044796 0.000027 0.083904 -0.006729 0.028716 -0.007627 0.008946 -0.012966 --0.049870 -0.073154 0.092609 -0.040256 -0.020294 -0.003554 0.076666 -0.067856 0.042000 -0.009122 -0.044476 -0.118767 0.080698 -0.076039 0.023373 -0.024567 -0.033258 -0.036048 0.044153 -0.019221 --0.018260 -0.035700 -0.029634 -0.065584 -0.049991 -0.042902 -0.000452 0.031084 0.045586 -0.065013 -0.072242 -0.014513 -0.122642 -0.018067 -0.052772 -0.066880 -0.103725 0.037586 0.013011 -0.086527 -0.032019 0.010695 0.027327 -0.089804 -0.030002 -0.010910 0.113012 -0.008852 0.024520 0.099760 --0.077270 0.018171 0.079814 0.035008 0.127627 --0.025609 -0.178637 -0.034357 0.054347 -0.012604 -0.043660 0.062421 0.068757 0.002273 0.000552 --0.055697 0.010254 0.102285 0.024048 -0.044425 --0.004860 0.053366 0.013063 -0.098388 0.046218 -0.043926 0.077559 -0.036943 0.060936 -0.016764 -0.098322 -0.041365 0.092078 0.019431 -0.039793 --0.118098 0.023995 0.053538 0.015639 -0.041697 --0.011851 -0.052177 0.084977 -0.050669 0.070218 -0.030401 -0.076060 -0.020483 0.012783 0.033816 --0.050769 0.057281 -0.040092 -0.021298 -0.002690 --0.001729 0.035744 0.065206 -0.002257 0.015864 -0.044906 0.045612 -0.081326 -0.040729 -0.018151 --0.048153 0.086870 0.077712 0.059363 -0.027251 --0.089240 0.025410 -0.036539 -0.067019 -0.057377 -0.058057 0.070889 -0.015866 0.124536 0.012038 --0.007238 -0.051026 -0.027541 0.019248 0.026927 --0.083553 -0.025718 -0.042635 0.058541 -0.011741 --0.059778 0.065660 0.061292 -0.086725 -0.032482 --0.047209 -0.027933 0.087677 0.047367 0.001582 -0.051308 -0.018242 -0.025264 -0.062026 0.074843 -0.088969 0.059484 0.048905 -0.025787 -0.015960 -0.010270 -0.030210 0.036763 -0.093327 -0.114689 -0.013105 -0.035443 -0.085439 0.043021 0.056988 --0.020390 -0.008308 0.009722 -0.148341 0.081086 -0.010332 -0.101445 -0.021486 0.078663 0.025110 -0.007874 -0.023882 -0.034158 0.002488 -0.015558 -0.158690 -0.025837 -0.011736 0.035542 0.005703 -0.001555 -0.019753 -0.040038 -0.051161 -0.002844 -0.041149 0.021540 0.062971 0.012070 -0.035360 -0.091865 -0.090158 0.020460 -0.046615 -0.038100 -0.002630 -0.055311 0.026706 -0.008623 0.155705 --0.030212 -0.117746 0.084958 -0.087229 0.092780 --0.011810 -0.084822 -0.029035 0.127892 -0.065824 -0.008357 0.089638 0.003467 -0.034364 0.040506 --0.001934 -0.050401 0.105320 0.007386 -0.011020 --0.055669 0.029633 -0.034990 -0.028782 0.050039 -0.059295 0.118394 -0.033924 -0.132036 0.012985 -0.000793 -0.035658 0.031224 -0.040614 -0.014333 --0.054078 0.015577 -0.031608 0.071981 0.019771 -0.079765 -0.007986 0.076487 -0.077172 0.119140 -0.102976 -0.039809 -0.092140 0.032478 -0.070501 --0.026617 -0.016197 0.009189 -0.039295 -0.117914 -0.014457 -0.061592 0.025979 -0.028542 0.042043 --0.029473 -0.031444 -0.158578 -0.003258 0.058182 -0.072344 0.052910 -0.092808 0.085354 -0.079413 --0.044358 -0.041179 0.072986 -0.129686 -0.025728 --0.005197 -0.108115 0.063915 0.073996 0.057224 -0.000050 -0.069751 -0.062690 0.026183 0.084719 --0.052197 -0.011673 0.032435 0.084752 0.060158 --0.031241 0.023120 0.048633 -0.025976 -0.032094 -0.051737 -0.070951 0.034497 0.003743 0.019843 --0.055829 0.115532 -0.098594 -0.066675 0.048946 -0.003976 -0.010224 -0.071617 0.007215 0.017134 --0.023828 -0.066295 0.084251 -0.039425 -0.074279 --0.010390 0.058722 -0.091528 0.073371 0.071531 --0.005671 -0.076154 -0.032125 -0.137305 0.071102 -0.068984 -0.088661 -0.037098 0.081501 -0.013426 --0.093305 0.025622 -0.014982 0.007427 -0.068188 -0.064271 -0.035807 0.026492 0.107054 -0.095956 --0.008699 0.021743 -0.031579 -0.040618 0.022948 --0.006215 -0.028661 0.082129 0.022510 -0.090809 -0.032763 -0.014948 -0.000344 -0.068665 0.009455 -0.064722 0.101146 0.018141 -0.019456 0.082955 --0.033054 0.018056 -0.025308 -0.023021 -0.006592 --0.027499 -0.079456 -0.014152 0.030881 -0.059661 --0.023889 0.075852 0.004376 -0.014776 -0.035516 --0.031784 0.056947 0.125839 0.039811 -0.082984 --0.015402 0.040202 0.031099 -0.040303 0.047701 -0.050471 0.082637 -0.118070 -0.024705 -0.027053 -0.042555 -0.045217 0.043471 -0.044274 -0.055532 --0.050709 0.038372 0.139423 0.034228 0.044240 --0.049598 -0.006876 0.084222 -0.084035 0.029679 -0.024672 -0.099431 -0.061796 0.004907 0.127399 --0.065852 0.032572 -0.083461 0.040649 -0.064464 -0.021261 0.012978 0.043311 -0.006692 0.029174 -0.033834 0.010903 -0.049322 -0.023014 -0.053063 -0.050601 0.079776 0.017751 0.090575 -0.044427 -0.037446 0.038015 -0.114311 -0.116158 0.028262 --0.049840 -0.001403 0.022194 0.134131 0.092987 --0.066064 -0.014258 -0.007936 0.069423 0.006734 --0.036449 -0.006999 0.014668 0.062054 -0.033927 --0.037695 0.031955 0.072185 -0.067258 -0.065412 --0.030677 -0.153131 0.064817 0.020761 -0.114634 -0.046484 -0.012249 -0.045214 -0.032565 0.032724 -0.038377 0.052687 -0.074746 0.015211 0.031545 --0.001416 -0.092829 -0.036780 -0.058636 -0.153621 --0.019035 0.008907 -0.020006 0.073795 0.064152 --0.000207 -0.014885 0.001697 -0.075230 0.026080 -0.012374 -0.089499 0.037475 0.064069 0.017655 --0.032040 -0.028499 0.036399 0.038500 -0.014121 -0.034750 -0.002062 -0.015799 0.000062 0.074059 -0.038031 -0.076502 -0.082402 -0.051544 -0.043409 -0.052959 0.046017 0.047906 -0.000054 -0.062527 -0.077616 -0.011144 -0.036095 0.006758 0.006522 --0.023224 -0.010642 -0.107560 0.051291 0.103622 --0.051956 -0.008535 -0.042995 -0.030987 0.123523 -0.039493 -0.107293 -0.068566 0.006004 -0.077249 --0.049696 0.040608 0.002098 -0.005654 0.027282 --0.009389 0.042181 0.088705 0.055663 0.013492 --0.021941 -0.005352 -0.129536 -0.049372 0.006692 -0.010255 0.107988 0.009301 -0.029104 -0.027292 -0.015083 -0.122624 0.012460 0.056717 -0.065848 --0.097599 0.064951 -0.063651 0.037039 -0.031919 -0.160199 -0.025996 -0.003930 -0.047321 0.027398 -0.043702 0.013525 -0.061810 0.010431 0.014853 -0.001414 -0.021460 -0.143900 -0.026666 -0.116995 --0.024697 -0.005896 0.048756 -0.053298 0.041329 -0.012695 0.052326 -0.133818 0.105903 0.031440 --0.035969 0.050106 0.022116 0.126387 -0.109337 -0.072036 0.100468 -0.005336 -0.056878 -0.046406 -0.015972 -0.014095 -0.004362 0.051363 0.094242 --0.044797 -0.027049 -0.074056 -0.081706 0.012076 --0.021437 0.047597 0.088166 0.121074 -0.053524 --0.101688 0.029406 0.050242 -0.066960 0.062052 --0.035998 -0.084834 0.048189 -0.024642 0.023264 --0.011644 0.041881 -0.143927 -0.036006 0.064384 -0.021606 0.052025 -0.023292 0.037743 0.004852 --0.027128 -0.078095 0.017231 -0.009425 -0.026275 -0.007197 0.096964 -0.068860 0.060880 0.037649 -0.014117 -0.065558 0.047350 -0.098632 0.083283 -0.045025 0.025416 0.038291 0.099379 -0.057242 --0.098262 -0.004438 -0.093149 -0.017525 -0.064476 -0.025479 -0.016529 0.020430 0.012592 -0.009811 --0.015037 0.005498 -0.076398 -0.034881 -0.007594 -0.028415 -0.040315 0.028704 -0.028492 -0.105515 -0.018470 0.042456 0.045301 -0.147209 0.007810 --0.047688 0.032497 -0.008208 0.017988 0.084280 --0.102271 0.004685 -0.018636 -0.003214 0.061342 --0.034608 -0.028335 -0.058715 -0.016027 -0.027108 -0.008836 0.088808 0.038542 -0.020970 0.000400 --0.050920 -0.007459 0.061998 -0.024563 -0.091152 --0.014850 0.115523 0.022779 -0.107846 0.019813 --0.004600 0.099048 -0.029527 -0.031147 -0.061377 -0.023544 -0.134421 0.066807 0.032147 0.021599 --0.043477 0.029615 0.039209 0.024621 0.019526 --0.002071 0.031970 0.101991 -0.003775 0.121976 --0.006993 -0.073412 -0.104010 -0.006442 0.062073 --0.052770 0.070835 -0.091445 -0.041991 -0.068768 -0.059883 0.020621 0.042259 0.038888 0.021605 -0.042693 0.038667 -0.040035 0.004977 -0.076466 --0.022332 0.056801 -0.000212 0.035708 -0.032640 --0.038064 0.006782 -0.009894 -0.100385 -0.033497 -0.025298 0.034269 0.027448 0.077164 0.050701 --0.027548 -0.022455 -0.035381 0.018361 -0.004348 --0.069287 -0.017294 -0.004310 0.071591 -0.054832 --0.053949 -0.001929 0.071395 -0.015681 -0.038443 --0.044016 -0.048662 0.078642 0.014355 0.048150 --0.009957 0.032861 -0.075294 -0.123870 0.026265 -0.093728 0.046174 -0.009184 -0.050917 0.079102 -0.050699 -0.110383 -0.040917 -0.086311 0.012596 -0.001827 -0.059395 -0.048207 0.063786 0.026565 --0.077077 -0.004569 -0.044546 -0.099623 0.006256 --0.016101 -0.027424 0.017338 0.024906 0.015827 --0.027372 -0.017107 0.034566 -0.019851 -0.035154 -0.065204 -0.032861 -0.006305 0.115986 0.005671 -0.060617 -0.019162 -0.098096 -0.042694 0.047107 -0.037104 -0.008058 0.084632 -0.004556 -0.101542 -0.075086 -0.009191 0.004624 -0.043225 -0.002498 -0.032484 0.053384 0.011807 -0.035382 0.158001 --0.043066 -0.071159 0.039828 -0.062471 0.016281 --0.043445 -0.029971 -0.014564 0.054938 -0.076111 -0.022672 0.108672 0.099046 0.018104 0.033550 -0.027144 -0.053217 0.067212 0.035840 -0.020805 --0.064595 0.009953 -0.011147 -0.063721 0.036759 -0.018701 0.102409 -0.031796 0.011001 -0.023883 -0.028968 -0.057157 -0.042508 -0.052145 0.008972 --0.065914 0.070920 -0.087959 0.024752 0.079740 -0.056457 0.008541 0.080771 -0.042955 -0.022030 -0.077296 -0.087393 -0.065077 0.010062 -0.035395 --0.023652 0.009169 0.016281 0.043270 -0.112518 -0.024860 -0.024549 0.016927 -0.028905 0.029316 --0.008912 -0.016575 -0.120884 0.023903 -0.054407 -0.044132 0.038152 0.018656 0.065922 -0.016132 --0.006389 -0.043456 -0.005277 -0.038377 -0.043256 --0.028775 -0.034704 0.041058 0.024792 0.075342 --0.087680 -0.084754 -0.123797 0.069380 0.046858 --0.058807 0.032247 -0.003162 0.075858 -0.011643 --0.015012 0.064356 0.018978 -0.013598 0.027903 --0.019744 -0.072473 0.036145 -0.023830 0.091601 -0.000445 0.030482 -0.087404 -0.045375 0.130636 -0.016918 0.057383 -0.002236 0.019154 0.035447 --0.068637 -0.064903 0.079540 -0.091132 -0.027111 -0.020001 -0.002105 -0.063610 0.085303 0.021592 -0.135112 -0.114788 0.011338 -0.012485 0.059281 -0.089211 -0.036178 -0.066274 0.112956 0.046283 --0.074477 -0.051750 0.031961 0.038617 0.011847 -0.114117 -0.067782 0.028677 0.047877 0.009921 -0.018292 0.016738 -0.056403 -0.038710 -0.010604 -0.020050 -0.022217 0.056833 0.036114 -0.051337 -0.155982 0.012794 -0.028857 -0.120583 0.084902 -0.013151 0.029339 0.004512 0.029269 0.158467 --0.059083 -0.044942 -0.002369 0.025053 0.077484 --0.006987 -0.128357 0.000998 0.000658 -0.008066 -0.002694 0.078402 0.051558 0.026018 -0.035135 --0.051516 0.093206 0.075687 0.007585 -0.030493 --0.042801 0.024643 0.035323 -0.068825 0.138089 --0.012481 0.043826 -0.059032 -0.004079 -0.057181 -0.030592 -0.043929 0.081829 -0.034370 -0.027097 --0.043916 0.028082 0.040159 -0.023825 0.016659 --0.040314 0.027255 0.066119 -0.088450 0.079633 -0.085602 -0.045368 -0.019169 0.063621 0.015908 --0.012968 0.043077 -0.011652 -0.009363 -0.072419 -0.041253 0.015117 -0.000599 -0.038888 -0.015197 -0.070823 -0.013167 -0.026186 0.024055 -0.072483 --0.003924 0.013391 0.055366 0.084999 -0.038449 -0.043468 0.030321 -0.071656 -0.068751 -0.085100 --0.045854 -0.012937 0.001146 0.029160 0.007917 --0.038722 -0.013069 -0.022602 0.017646 0.050031 --0.034069 0.004746 -0.045839 0.088322 -0.033433 --0.049425 0.044323 0.135449 -0.033950 -0.006189 -0.008117 -0.074632 0.033319 0.057707 -0.034315 -0.061949 0.058279 -0.069064 -0.024633 0.083634 -0.044328 0.065502 0.039147 0.045297 0.010853 --0.035928 -0.034367 0.029180 -0.079893 -0.056124 --0.021337 0.069848 -0.042840 0.100637 -0.021594 --0.017056 -0.026458 -0.005396 -0.038921 0.024334 --0.013119 -0.040654 -0.019092 0.122318 0.060562 -0.014946 -0.017839 0.014916 0.007557 -0.055684 -0.085343 0.020079 -0.020189 0.024923 0.038626 --0.008572 -0.098936 -0.015287 -0.036331 -0.030196 -0.029395 0.068464 0.062459 0.007118 -0.121145 -0.090713 0.018611 -0.060202 -0.064626 -0.026447 -0.020572 -0.066985 -0.020928 0.046500 0.071362 --0.032780 -0.113550 -0.035570 -0.046101 0.123381 --0.000637 -0.030887 -0.085549 0.058943 -0.047480 --0.069392 0.133001 0.039940 -0.054277 0.026772 -0.012818 0.061828 0.101149 -0.034239 0.018944 --0.101441 0.071801 -0.065653 -0.058695 0.062080 -0.017518 0.111010 -0.059046 -0.054110 -0.031295 -0.055930 -0.143458 -0.044617 -0.023186 -0.013649 --0.111579 0.040441 -0.065712 0.110422 0.014995 -0.035371 0.001600 0.051063 -0.002833 0.096648 -0.023072 0.007446 -0.027126 -0.021716 0.006914 --0.066680 -0.023776 -0.033004 0.018842 -0.100090 -0.006577 -0.009435 0.014480 0.005289 0.027268 --0.023355 -0.000517 -0.035704 0.018493 -0.073805 -0.007356 0.036041 -0.026668 0.057975 -0.046666 -0.054676 0.021222 0.006590 -0.020075 -0.091969 --0.024459 -0.004411 0.080089 0.014146 0.047996 --0.013099 -0.028560 -0.086210 -0.038070 0.115542 --0.029380 -0.069424 0.000189 0.102273 0.014531 --0.058430 0.045176 -0.004636 -0.048318 0.011492 --0.070572 -0.166966 0.056891 0.042773 0.015200 -0.025472 0.000731 -0.061858 -0.008651 0.108291 -0.012505 0.032344 0.012567 0.062585 0.015632 --0.026488 -0.012319 0.030187 -0.052121 0.002827 --0.017721 0.065865 -0.047380 0.020409 0.023943 -0.079766 -0.046306 0.060273 -0.027458 0.038828 -0.032883 -0.043636 0.000901 0.075220 -0.005792 --0.090456 -0.041894 0.002536 -0.104333 -0.034913 -0.038532 -0.048225 0.033342 -0.011078 -0.035938 -0.000390 0.038012 -0.135572 -0.025786 -0.050179 -0.001333 -0.078764 0.020818 -0.022520 -0.065079 -0.013806 0.009337 0.024640 -0.064068 -0.007668 --0.005821 0.054794 0.006679 0.052490 0.085097 --0.084449 0.026105 0.043027 -0.006820 0.063480 --0.005166 -0.108834 -0.074395 0.066384 0.003385 -0.002689 0.152176 0.074065 -0.025017 0.001996 --0.026355 -0.035760 0.063399 -0.010722 -0.053613 -0.040833 0.083154 0.032094 -0.074978 0.040456 -0.007659 0.060872 -0.050901 0.029009 -0.066327 -0.040735 -0.106153 0.073500 -0.025479 -0.054887 --0.075445 0.009415 0.016203 0.012388 0.014428 -0.000457 -0.036095 0.143621 0.046534 0.106183 --0.039550 -0.060834 -0.058729 -0.030704 0.046588 --0.069071 0.044146 -0.047632 -0.019171 -0.064829 -0.017817 0.047929 0.039073 0.022116 0.021014 -0.033732 0.050846 -0.059942 0.004345 -0.029985 --0.080140 0.129440 0.031031 0.084146 0.016015 --0.036682 0.044772 -0.049258 -0.056682 -0.051988 -0.039973 0.080584 0.002750 0.080571 0.017418 --0.049233 -0.050745 -0.078517 0.041796 0.028714 --0.073271 -0.009924 -0.046737 0.077202 -0.089452 --0.100286 0.026524 0.025935 -0.000519 -0.108153 --0.097136 -0.011694 0.088312 0.041746 0.052188 -0.026268 -0.054000 -0.039524 -0.030580 0.094436 -0.083377 0.058849 0.024027 0.068118 0.022595 -0.041719 -0.067897 0.005738 -0.058511 -0.080953 --0.011827 -0.008352 -0.136686 0.077343 0.036266 -0.035162 -0.013237 -0.040135 -0.166246 0.029329 -0.031590 -0.082787 -0.003165 0.022566 -0.029527 --0.026857 -0.030669 -0.012846 -0.014703 -0.024941 -0.097289 0.062474 -0.023270 0.071516 0.026007 -0.012490 -0.079323 -0.064277 -0.101304 -0.014965 -0.038609 0.050228 0.059018 -0.054583 -0.037042 -0.088943 -0.050793 -0.023046 -0.036841 -0.049866 -0.006089 -0.012353 0.050822 -0.044544 0.133501 --0.044647 -0.060379 0.051279 -0.028470 0.068335 --0.008481 -0.078112 -0.022666 0.077373 -0.024423 -0.000007 0.064437 0.062147 -0.038681 0.032008 --0.017525 -0.067472 0.114370 0.020743 -0.076853 --0.017874 0.001327 -0.014704 -0.014656 0.034577 -0.024361 0.056274 0.006448 -0.028830 0.044899 -0.016576 -0.044087 -0.010917 -0.013797 -0.018111 --0.065385 -0.007719 -0.037632 0.031813 0.021400 -0.049162 0.020931 0.037485 -0.026412 0.056338 -0.036907 -0.042904 -0.132436 0.043098 -0.041228 --0.035680 0.034986 0.047873 -0.072791 -0.131274 -0.044610 -0.023411 -0.025045 0.005907 0.046734 --0.032724 -0.061008 -0.111818 0.015564 -0.002133 --0.015445 -0.011766 -0.048157 0.139974 -0.079607 -0.004936 -0.033105 0.052832 -0.087579 -0.040662 --0.055766 -0.026403 0.102134 0.084616 0.064986 --0.020826 -0.077346 -0.025393 -0.002277 0.084614 --0.053523 -0.091453 0.022927 0.150824 -0.002083 --0.001161 0.030663 0.060472 -0.050918 0.018421 -0.027526 -0.091037 0.070144 0.040963 0.090458 -0.030099 0.071509 -0.062928 -0.052351 0.030143 --0.026417 0.032481 -0.045066 0.000111 -0.004684 --0.002093 -0.014278 0.173191 -0.019552 -0.072985 -0.033124 0.074779 -0.053669 0.106059 0.090086 -0.039197 -0.065054 0.025258 -0.050488 0.068107 -0.037370 -0.074734 -0.072895 0.041719 -0.026666 --0.116776 -0.050593 -0.022049 0.019100 -0.052687 -0.077699 0.002538 0.021642 0.069070 -0.025842 --0.025721 0.004558 -0.051248 -0.059783 -0.021367 --0.043714 -0.040732 0.063823 0.074918 -0.079342 -0.050195 0.021249 -0.028816 -0.061727 0.018248 -0.005884 0.050434 -0.021363 -0.018341 0.100200 --0.041043 -0.005428 0.011984 -0.030931 0.026453 -0.005239 -0.089215 -0.046851 0.018966 -0.029878 --0.019543 0.106899 0.047058 -0.097279 -0.091117 --0.029152 0.017775 0.066229 0.079262 -0.009853 -0.015344 0.002972 0.005261 -0.068619 0.065134 -0.021325 0.052198 -0.040335 -0.031105 -0.022038 -0.046868 -0.008746 0.024060 -0.039353 -0.043527 --0.053729 0.048245 0.078712 0.063353 0.054853 -0.000893 -0.011563 0.116159 -0.043972 0.030272 -0.054786 -0.024768 -0.040403 0.056841 0.146419 --0.034807 0.057094 -0.054852 0.104343 -0.076770 -0.050072 0.052860 0.019579 -0.001424 0.015739 -0.065242 -0.006303 -0.020658 -0.036628 -0.138792 -0.038907 0.049015 0.064288 0.105084 -0.009955 --0.013576 0.042749 -0.058027 -0.060563 0.018986 --0.042694 0.055557 0.029964 0.088314 0.017075 --0.098025 -0.059071 -0.029354 0.030490 0.045049 --0.039481 -0.016714 -0.028323 0.051148 -0.033224 --0.012870 -0.002631 0.095782 -0.018745 -0.067411 --0.067803 -0.096432 0.048605 0.001590 -0.007541 -0.020762 0.011888 -0.020905 -0.048766 0.049192 -0.094934 0.090567 -0.064939 0.021130 0.094459 --0.009557 -0.060711 -0.057713 -0.034265 -0.053583 --0.016969 -0.012648 -0.063332 0.105446 0.016028 --0.006489 -0.023448 0.027450 -0.092041 -0.002328 -0.038286 -0.093578 0.014068 0.045683 0.038064 --0.013579 0.012105 0.031264 0.028629 -0.053522 -0.018638 0.010295 -0.019741 0.051773 0.021102 --0.003833 -0.088492 -0.107650 -0.039638 -0.042960 -0.017232 0.033768 0.024773 0.031441 -0.026193 -0.102995 -0.003033 0.013478 -0.022850 -0.045542 --0.043058 0.040213 -0.037024 0.062912 0.127046 -0.001959 -0.029856 0.021744 -0.024546 0.073822 -0.034590 -0.034810 -0.073281 0.037715 -0.086249 --0.031013 0.094574 -0.014633 0.035329 -0.001586 --0.004488 -0.022600 0.105074 0.068271 0.014684 --0.069910 0.035216 -0.046091 -0.056792 0.016636 --0.031304 0.104876 0.015142 -0.014980 -0.018234 -0.076863 -0.070661 -0.018752 0.021078 -0.015693 --0.082177 0.139823 -0.020936 0.000788 -0.047650 -0.086463 0.003184 0.053978 0.016598 0.005082 -0.037579 -0.007222 -0.068342 0.001780 -0.016838 -0.000034 0.019368 -0.028889 -0.073195 -0.167931 --0.002740 -0.051503 0.060666 -0.048875 0.013166 --0.002367 0.018484 -0.088268 0.058154 -0.005778 --0.019212 0.030488 -0.007580 0.042345 -0.062956 -0.013296 0.040910 0.018849 -0.062445 -0.062359 --0.004222 -0.003121 0.026069 0.075825 0.086917 -0.019144 -0.018779 -0.072348 -0.063072 0.046388 -0.009524 -0.032045 0.075619 0.076314 -0.042349 --0.026193 -0.003729 0.066560 -0.103338 -0.004071 --0.000469 -0.090470 0.033564 -0.067881 0.027775 -0.040936 0.054314 -0.123113 -0.001763 0.032899 -0.028282 0.057689 -0.011369 0.021664 -0.023786 --0.104368 -0.070997 0.059588 -0.014596 -0.042435 -0.003429 0.090193 -0.113362 -0.007873 0.011799 -0.036299 -0.059670 0.054351 -0.084675 0.034819 --0.007507 -0.018723 -0.009649 0.092970 0.008836 --0.028752 -0.044170 -0.070934 -0.103397 -0.030638 -0.048533 -0.032645 0.020691 0.053664 0.011144 --0.021593 0.015401 -0.085379 -0.058031 -0.078320 --0.003648 -0.010436 -0.012911 -0.007136 -0.134525 -0.030251 0.042795 0.087389 -0.092708 -0.026287 --0.039855 0.155791 -0.013492 -0.036665 0.072298 --0.133309 -0.003156 0.013287 -0.012142 0.018020 --0.071518 -0.038880 -0.026195 0.009773 -0.006971 -0.044349 0.079337 0.015294 -0.035758 -0.003607 --0.058092 0.001525 0.042209 0.047862 -0.061178 -0.014357 0.093707 0.022406 -0.118850 -0.034213 -0.019269 0.070424 -0.016998 0.021550 -0.094794 -0.004962 -0.108204 0.128671 0.015466 0.031554 --0.080559 0.041092 0.022039 0.001186 -0.022630 --0.043310 0.005192 0.074769 -0.022963 0.039941 -0.055086 -0.081362 -0.064870 0.040274 0.052633 --0.062993 0.085037 -0.010420 -0.016774 -0.052155 -0.002576 0.013639 0.061713 0.041734 -0.008138 -0.080793 0.024851 -0.042037 0.019932 -0.048494 --0.029059 0.146206 0.042139 0.033378 -0.021081 --0.014080 0.001144 -0.016467 -0.076606 -0.056525 -0.005355 0.079452 0.043451 0.085716 0.029884 --0.042582 -0.055446 0.005137 0.000476 0.001691 --0.041210 -0.077759 0.022581 0.046845 -0.028540 --0.120802 -0.013263 0.072039 -0.031588 -0.006830 --0.040167 -0.125914 0.088795 0.022744 0.055951 -0.003326 0.027383 -0.028722 -0.123214 0.059791 -0.097070 0.030682 -0.019252 0.000330 0.082240 -0.006364 -0.113196 0.035671 -0.063923 -0.075420 -0.017812 -0.046079 -0.059540 0.093696 0.056472 --0.031904 -0.065015 -0.019089 -0.091007 0.031632 -0.018500 -0.054687 0.032704 0.040721 0.012163 --0.041854 -0.010613 -0.017039 -0.028850 -0.061295 -0.029279 0.000022 -0.023031 0.084704 0.032995 -0.000464 -0.042280 -0.122277 -0.133466 0.058700 -0.095073 0.044206 0.068361 0.039925 -0.039455 -0.043618 -0.033785 0.035086 -0.056425 0.019711 -0.049265 0.053168 0.030600 -0.096642 0.090726 --0.078183 -0.002747 0.032400 -0.043278 0.040809 --0.019946 -0.088229 0.027009 0.056114 -0.113044 --0.020901 0.076359 0.059245 0.016714 0.040966 --0.010584 -0.003554 0.056159 0.010151 0.000010 --0.027039 0.073329 -0.015462 -0.016179 0.013943 -0.075066 0.067462 -0.030769 -0.024755 -0.022212 -0.040264 -0.071337 0.009512 -0.045952 0.023049 --0.094656 0.057345 -0.124101 -0.007720 0.037588 -0.036110 -0.011456 0.089645 -0.007765 0.014716 -0.059788 -0.047648 -0.019740 -0.007164 -0.013816 --0.060158 0.013439 0.002759 -0.025340 -0.091571 -0.043341 -0.028869 0.026551 -0.031854 0.060505 --0.049549 0.033978 -0.109503 0.068308 -0.028080 -0.053928 -0.022460 -0.086171 0.086833 -0.045654 -0.000759 -0.010999 0.026013 -0.046809 -0.054160 --0.030739 -0.041475 -0.010348 0.057903 0.106187 --0.031967 -0.136159 -0.056033 0.020976 0.056817 --0.030310 0.060592 0.045537 0.086963 -0.032719 -0.018689 0.033949 0.017964 -0.019455 0.008378 -0.014325 -0.124934 -0.010142 0.033116 0.066121 --0.008592 0.059328 -0.090438 -0.060148 0.065598 --0.010732 0.014210 -0.046081 0.019411 0.040325 --0.012140 -0.084611 0.064608 -0.023209 -0.018978 -0.028244 -0.000390 -0.070852 0.136445 0.055833 -0.034530 -0.106636 -0.049748 -0.043837 0.056670 --0.020391 -0.027277 -0.125403 0.082621 -0.064172 --0.085208 -0.034925 0.000691 -0.016798 0.037357 -0.058365 -0.014015 0.051315 0.078205 0.001672 -0.009538 0.041777 0.001519 -0.031501 -0.027967 -0.008286 -0.051667 0.045953 0.057151 -0.083565 -0.099401 0.052489 0.027972 -0.093449 0.022696 -0.014953 0.056948 0.062741 0.024005 0.076825 --0.029857 -0.002820 0.046866 -0.002247 0.022284 --0.005875 -0.120877 -0.029880 0.030478 -0.074641 -0.026517 0.141968 0.041939 -0.017604 -0.063098 --0.042315 0.108332 0.077079 0.042498 -0.093786 --0.000624 0.109876 0.061671 -0.037131 0.145507 --0.015339 0.059306 -0.094584 0.004561 -0.031261 -0.003112 -0.004144 0.054816 -0.035342 -0.020048 --0.055998 -0.008131 0.096183 0.002903 0.002243 --0.024465 -0.011484 0.122067 -0.117424 0.061629 -0.100785 -0.008995 -0.021311 -0.034915 0.028992 --0.065386 0.062233 0.009424 0.013652 -0.066035 -0.068604 0.015424 -0.016048 -0.028882 -0.021780 -0.034733 -0.052918 -0.046384 0.003918 -0.037747 -0.012883 0.061961 0.011614 0.047979 -0.020950 -0.012662 -0.003597 -0.016134 -0.114584 -0.032846 --0.025773 0.029225 0.029423 0.035929 0.050919 --0.093288 0.024548 0.026469 0.086567 0.069788 --0.015915 0.014888 -0.054796 0.032121 0.010392 -0.010094 0.027316 0.105326 -0.033913 -0.034646 --0.047655 -0.119467 0.014906 0.070898 -0.051722 -0.085920 0.026450 -0.048565 -0.048393 0.040708 -0.013886 0.115144 0.000426 0.025815 0.028617 --0.076183 -0.060818 0.007730 -0.030613 -0.106233 -0.008414 0.008274 -0.071702 0.123060 -0.014131 --0.075611 -0.006558 -0.031029 -0.038394 0.018650 --0.068219 -0.088628 0.017122 0.073322 0.003094 -0.023978 -0.022533 0.052647 0.005485 -0.022853 -0.047387 0.058945 -0.012186 0.049493 0.117395 --0.008681 -0.136174 -0.057438 -0.017543 -0.020215 -0.064213 -0.018764 0.030830 0.026967 -0.104162 -0.097321 0.026515 -0.008192 -0.071056 -0.023457 -0.037214 -0.028805 0.019265 0.010163 0.118572 --0.083174 -0.026261 -0.079021 -0.109716 0.081199 --0.001821 -0.039505 -0.064758 0.022196 -0.008395 --0.056773 0.070319 0.039957 -0.024091 -0.012671 -0.043873 0.034859 0.113349 0.002335 -0.016767 --0.117575 0.038224 -0.016650 -0.007249 -0.028289 --0.020867 0.099598 -0.027205 -0.047643 -0.022079 -0.062869 -0.095742 0.004349 -0.009783 -0.009631 --0.114174 0.101698 -0.020882 0.032183 0.046772 -0.066030 0.023138 0.031676 0.048789 0.064708 -0.016049 -0.022143 -0.026033 0.014811 0.017879 -0.005234 -0.011470 -0.061933 0.012402 -0.073904 --0.008574 0.011810 0.022041 -0.034666 0.015863 -0.032824 0.011302 -0.083572 0.034152 -0.049572 -0.046696 -0.004826 -0.026282 0.006930 -0.036282 -0.018845 0.023008 -0.022702 0.002839 -0.056809 -0.046756 -0.012044 0.093032 0.037759 0.053581 --0.068607 -0.014841 -0.102444 -0.056353 0.054083 -0.022493 -0.027398 0.044342 0.073545 -0.016381 --0.030891 0.080430 0.020741 -0.064660 -0.030998 --0.064001 -0.094590 -0.012708 0.031636 0.033664 -0.017650 -0.020332 -0.049802 0.010802 0.048687 --0.014333 0.032177 -0.003331 0.031214 -0.009314 --0.043033 -0.047137 0.054111 -0.030505 -0.006532 -0.021755 0.050908 -0.056081 0.074478 0.019301 -0.003105 -0.097554 0.054912 -0.016068 0.031570 -0.019298 -0.067236 -0.010230 0.065782 -0.048545 --0.032341 -0.039446 -0.004134 -0.054109 -0.014461 -0.064470 -0.004466 0.064183 -0.013807 -0.040371 -0.012385 -0.043869 -0.179654 -0.075267 -0.058833 -0.027833 -0.078315 0.006233 0.019417 -0.100407 -0.057753 0.000717 0.032416 -0.121474 -0.047213 --0.015720 0.092246 -0.059387 0.040603 0.109440 --0.058153 0.071202 0.030939 0.049569 0.087021 --0.076095 -0.131564 -0.027353 -0.000486 -0.015803 -0.104552 0.088105 0.072307 -0.020686 0.043142 --0.089957 0.000627 0.140513 0.006435 -0.023427 --0.000585 0.090754 0.029188 -0.057282 0.010274 -0.075187 0.111159 -0.057877 0.069809 -0.050756 -0.062932 -0.036407 0.050992 0.009269 -0.006383 --0.106503 0.017063 0.008141 0.064195 -0.045832 -0.011576 -0.041847 0.061264 -0.005204 0.058984 -0.021548 -0.048377 -0.044097 0.010789 0.013451 --0.063551 0.063079 -0.080144 -0.027762 -0.017784 --0.023803 0.027775 0.060824 0.001841 -0.009369 -0.061007 0.032254 -0.064190 -0.006988 -0.010230 --0.038793 0.076776 0.045814 0.049754 0.027771 --0.047904 0.017897 -0.052309 -0.106778 -0.037221 -0.011510 0.060085 -0.009615 0.096725 0.047490 --0.010900 -0.074275 -0.061489 0.016070 0.006262 --0.121827 0.005654 -0.050379 0.042456 -0.027064 --0.068110 0.106922 0.068599 -0.034845 -0.067145 --0.036874 -0.041315 0.035902 0.059175 0.013939 -0.008294 -0.000352 -0.046255 -0.058090 0.089826 -0.091060 0.092701 0.009236 0.013325 -0.019194 -0.039376 -0.018583 -0.016868 -0.096550 -0.086377 --0.016296 0.002608 -0.083265 0.049964 0.042836 --0.011462 -0.046261 0.084247 -0.180528 0.034023 -0.041962 -0.128842 -0.057438 0.031753 -0.013294 --0.008752 -0.054893 -0.036386 -0.004605 -0.020903 -0.113550 0.017158 -0.063971 0.047456 0.033803 -0.026820 -0.033048 -0.057221 -0.039801 -0.029135 -0.004112 0.055166 0.080631 0.011347 -0.039214 -0.069633 -0.057947 0.018314 -0.110810 -0.006258 -0.011057 -0.058755 -0.016184 -0.078348 0.154720 --0.056156 -0.110551 0.114867 -0.031689 0.014677 -0.024109 -0.060048 0.019844 0.109975 -0.045339 -0.002565 0.067118 0.019907 0.004995 0.078815 --0.017892 0.015592 0.118138 0.009682 -0.024624 --0.025684 0.027247 -0.044912 -0.011851 0.057506 -0.106751 0.066538 -0.073230 -0.069470 -0.044869 --0.007738 -0.078232 0.000098 -0.056553 -0.000261 --0.069574 0.025403 -0.032460 0.042204 -0.009414 -0.024336 0.002379 0.084422 -0.062254 0.070007 -0.083297 0.011215 -0.087554 0.008854 -0.031248 --0.019485 0.015117 0.019539 -0.018885 -0.091190 -0.006668 -0.029364 0.010585 0.004194 0.053285 --0.032862 0.007750 -0.181078 0.014752 -0.032591 -0.035286 0.052475 -0.044255 0.152326 -0.034986 -0.001871 -0.048154 0.032533 -0.150372 -0.061009 -0.025623 -0.057468 0.099245 0.098809 0.047259 --0.017644 -0.089718 -0.052981 0.060000 0.050683 --0.093984 -0.012007 0.021790 0.115572 0.011056 --0.005239 0.022166 0.036556 -0.019139 -0.017723 -0.036182 -0.053160 0.008506 0.003654 0.035883 --0.011143 0.126442 -0.042372 -0.049170 0.021566 --0.034390 0.004133 -0.083543 0.003794 0.003199 -0.023898 -0.058139 0.097937 -0.021906 -0.118046 --0.009779 0.053140 -0.086424 0.032891 0.040964 -0.003078 -0.054441 -0.008601 -0.059920 0.074604 -0.120587 -0.102501 -0.066840 0.070391 0.032323 --0.084081 -0.025867 0.003136 -0.037883 -0.064963 -0.077565 -0.011987 -0.030929 0.076324 -0.096244 --0.003417 0.038221 -0.027320 -0.034091 0.001490 --0.007638 -0.034015 0.052893 0.055546 -0.147361 -0.042258 -0.020035 -0.017400 -0.076711 -0.017528 -0.045540 0.051725 -0.024199 -0.035180 0.069090 --0.066211 0.016712 0.012236 -0.023556 -0.008512 --0.043404 -0.040132 0.006223 0.020953 -0.040829 --0.031888 0.063196 0.044618 -0.021241 -0.065557 -0.013691 0.016905 0.113755 0.054933 -0.021644 -0.016741 0.030625 0.010121 -0.037365 0.072566 -0.006060 0.080380 -0.086262 -0.033079 -0.082250 -0.087161 -0.049737 0.100611 -0.073241 -0.060578 --0.018873 0.076177 0.146262 0.031684 -0.014816 --0.074152 0.012492 0.111905 -0.037241 0.036831 -0.091650 -0.058779 -0.035497 0.009717 0.105238 --0.068452 0.050555 -0.035241 0.038942 -0.086304 -0.055772 0.028480 0.055647 -0.013345 0.009719 -0.060855 -0.009449 -0.029466 -0.039618 -0.045775 -0.012008 0.093753 0.059452 0.084398 -0.063094 -0.003659 0.074625 -0.110159 -0.075540 -0.006386 -0.010137 0.032774 0.014827 0.166347 0.079179 --0.032299 -0.047524 -0.033098 0.052546 0.023211 --0.005083 -0.040770 0.010451 0.047465 -0.015315 --0.001296 0.006073 0.070897 -0.060137 -0.051576 --0.032384 -0.082914 0.047391 0.018599 -0.072054 -0.020109 0.006570 -0.072222 -0.028125 0.023991 -0.073458 0.052141 -0.039550 0.020745 -0.004247 --0.027316 -0.026412 -0.050898 -0.048547 -0.135601 --0.022268 0.038434 -0.006989 0.106829 0.013384 -0.000746 0.016253 -0.014804 -0.086222 0.017979 -0.043413 -0.078404 0.050130 0.105998 0.009523 --0.080688 -0.029072 0.043530 0.018815 -0.027097 -0.017270 0.008265 0.029905 0.025756 0.068311 -0.010413 -0.062141 -0.092435 -0.009085 -0.011445 -0.024539 0.076003 0.038136 -0.010407 -0.045941 -0.082228 -0.001579 -0.035917 0.064558 -0.023500 --0.063481 0.003930 -0.067573 0.030233 0.098224 --0.042799 0.003064 0.009816 -0.008225 0.109707 --0.034960 -0.080238 -0.123786 0.048109 -0.059473 --0.055367 0.057060 -0.001238 0.030381 0.025074 -0.006831 0.017900 0.111674 0.097968 0.015896 --0.050238 0.041727 -0.107658 -0.072374 -0.018776 -0.001860 0.159151 -0.015443 -0.046034 -0.062151 -0.065586 -0.066719 0.031320 0.059675 -0.022808 --0.066461 0.086303 -0.026658 0.070774 0.006480 -0.159805 -0.035879 0.058009 0.012928 -0.008505 -0.051041 -0.000692 -0.022889 0.039547 0.001201 --0.030295 0.029145 -0.073169 -0.019964 -0.102560 --0.021646 -0.009084 0.039313 -0.008758 0.059413 -0.019112 0.068432 -0.154269 0.042342 -0.017110 -0.003279 0.087898 0.002044 0.110066 -0.076844 -0.041884 0.035740 -0.001247 -0.094360 -0.090406 -0.040890 -0.028718 0.013704 0.031084 0.040651 --0.028325 -0.027470 -0.060171 -0.069388 0.051373 --0.010018 0.016317 0.030962 0.131065 -0.012443 --0.085994 0.023695 0.036048 -0.123378 0.017394 --0.014188 -0.147008 0.010122 -0.048605 0.011567 -0.011549 0.033481 -0.087698 -0.007977 0.012262 -0.046426 0.046093 -0.000803 0.034084 0.024231 --0.011190 -0.037156 0.022545 0.009116 -0.021868 -0.000176 0.161431 -0.066441 -0.004212 0.008997 --0.027580 -0.039554 0.047688 -0.114080 0.037481 -0.021017 -0.015449 0.023651 0.076890 -0.062376 --0.089367 -0.035901 -0.117304 -0.014988 -0.004232 -0.065798 -0.038753 0.006615 0.027216 0.000892 --0.043842 -0.027915 -0.077769 -0.025289 0.007296 -0.021684 -0.008098 0.034493 0.002195 -0.089680 -0.015447 0.014866 0.063536 -0.107947 0.040356 --0.049353 0.085041 -0.019010 0.017126 0.054466 --0.095573 0.040640 0.005208 0.001846 0.046985 --0.060406 -0.059147 -0.078410 0.032047 -0.027762 -0.023664 0.067476 0.025927 0.004505 -0.005180 --0.107366 -0.052865 0.059971 0.018624 -0.086019 --0.038792 0.082042 -0.009606 -0.082518 0.048899 --0.032272 0.118434 -0.029891 0.014012 -0.078772 -0.071631 -0.124648 0.096824 0.071580 -0.014951 --0.078224 0.028148 0.050459 0.044666 -0.016543 --0.039821 -0.016072 0.087706 -0.056648 0.087416 -0.030016 -0.076113 -0.101181 -0.049336 0.048944 --0.063956 0.087916 -0.036885 -0.059650 -0.044808 -0.054549 0.006956 0.033701 0.030349 -0.017304 -0.057616 0.016137 -0.052723 0.039906 -0.101393 --0.068763 0.099576 0.006264 0.083677 -0.032515 --0.006446 0.031066 0.009386 -0.132131 -0.067080 -0.049843 0.065652 0.020336 0.046760 0.071347 --0.013796 -0.001044 -0.022677 0.019523 0.014154 --0.120083 -0.039608 0.050937 0.066017 -0.034193 --0.069836 0.025969 0.058877 -0.033911 -0.021741 -0.005164 -0.037563 0.051151 0.030827 0.041654 --0.050675 0.032902 -0.056904 -0.083309 0.051372 -0.092971 0.070309 0.017775 -0.033610 0.023024 -0.044912 -0.113795 0.009331 -0.100912 -0.024567 -0.000589 -0.023568 -0.041534 0.046948 0.019053 --0.031982 -0.010104 -0.033008 -0.120085 0.014601 --0.013314 -0.032777 0.022640 0.053925 0.056793 --0.009301 0.011372 0.004027 -0.017398 -0.055177 -0.038121 -0.000187 0.037310 0.135976 0.012337 -0.060620 -0.032842 -0.103898 -0.068672 0.001160 -0.043004 -0.011293 0.085530 0.053401 -0.086065 -0.123377 0.016620 0.045728 -0.034590 -0.014069 -0.081166 0.009573 0.008541 0.007549 0.143099 --0.050664 -0.045174 0.012225 -0.052408 0.008760 --0.016453 -0.030851 -0.052611 0.054134 -0.086747 --0.068170 0.152077 0.049576 0.035454 0.051824 -0.042151 -0.013574 0.070619 0.043677 -0.011524 --0.051292 0.065538 -0.002312 -0.036357 0.061560 -0.011089 0.083280 -0.022801 -0.035830 0.007115 -0.022494 -0.033816 -0.026885 -0.055802 0.037931 --0.067432 0.034696 -0.048668 0.025237 0.063419 -0.052414 0.002888 0.073912 -0.070773 0.030231 -0.098077 -0.052981 -0.038547 -0.044533 0.015899 --0.006684 0.059142 0.015994 -0.010569 -0.114343 -0.049113 0.011781 0.007813 -0.023202 0.027226 --0.048228 0.023363 -0.119744 -0.005880 -0.047102 -0.056647 0.043309 -0.020351 0.078326 -0.050033 -0.004297 -0.004014 -0.008930 -0.041817 -0.061743 --0.031268 0.020567 0.053127 0.035109 0.095886 --0.022695 -0.103689 -0.101536 -0.035350 0.033822 --0.071528 -0.027884 -0.013301 0.135256 -0.057997 --0.006784 0.025162 0.014105 -0.008340 0.036569 --0.047669 -0.071591 0.074153 -0.001441 0.118717 --0.038919 0.054650 -0.101206 -0.019929 0.096971 -0.019005 0.066319 -0.033069 -0.010263 0.057814 --0.038319 -0.115955 0.048866 -0.085605 -0.005601 -0.066517 -0.010474 -0.068925 0.056969 0.055565 -0.068964 -0.047482 -0.006419 -0.087153 0.047383 -0.032670 -0.032209 -0.036239 0.140438 -0.038488 --0.103112 -0.063917 0.016553 0.017109 -0.018945 -0.071205 -0.057507 0.036017 0.043139 0.045741 -0.011471 0.019692 -0.031466 -0.001430 -0.027755 --0.010061 -0.028245 0.031925 0.070075 -0.044640 -0.079725 -0.005444 -0.055716 -0.081872 0.035299 --0.020415 0.060898 0.037726 -0.007902 0.118692 --0.091406 -0.074996 0.014883 -0.011479 0.096472 --0.004637 -0.120365 0.011661 -0.019123 -0.055083 --0.021707 0.080305 0.062197 -0.007888 -0.014681 --0.064206 0.034037 0.066576 0.037499 -0.089224 --0.027816 0.038300 -0.009289 -0.093182 0.126160 -0.000015 0.066641 -0.028392 0.023167 -0.021511 -0.010571 -0.044084 0.057444 0.012462 0.005604 --0.062572 0.054520 0.053554 0.005974 0.010050 --0.037332 0.047516 0.066630 -0.035787 0.074909 -0.066925 -0.030867 -0.053629 0.022622 0.033939 --0.033606 0.038370 0.006718 0.000847 -0.048333 -0.027340 -0.025685 0.007564 -0.047322 -0.016881 -0.054471 -0.017126 -0.063705 0.008150 -0.059374 -0.010814 0.037617 0.025879 0.059782 -0.064248 -0.042565 0.025815 -0.028591 -0.064574 -0.034454 --0.031756 0.000598 0.011630 0.073568 0.026113 --0.014567 0.003799 -0.014072 0.027953 0.071711 --0.011735 0.014001 -0.022183 0.070160 -0.007010 --0.049052 0.104807 0.111959 -0.037082 -0.007329 --0.011153 -0.073166 0.045311 0.040814 -0.001227 -0.040666 0.038813 -0.049173 -0.078035 0.061429 -0.063840 0.120475 0.035684 0.029819 0.046868 --0.017290 -0.035945 0.064987 -0.053189 -0.049460 --0.030434 0.069244 -0.015774 0.136658 -0.012690 -0.005401 -0.045873 0.006291 -0.075787 0.046146 --0.001969 -0.104323 -0.047978 0.150326 0.032908 --0.004080 -0.012965 -0.015875 0.014424 -0.040690 -0.098688 0.025183 -0.017974 0.072128 0.070408 --0.030717 -0.065297 -0.073385 -0.051253 -0.014989 -0.058581 0.033837 0.014225 0.031069 -0.081646 -0.089555 -0.017678 -0.068486 -0.040654 -0.051917 -0.047272 -0.042437 -0.042350 0.019696 0.085122 --0.053413 -0.122905 -0.021426 -0.039696 0.051817 -0.020410 -0.050261 -0.093654 -0.001174 -0.043672 --0.102482 0.084668 0.098393 -0.052216 0.050107 --0.005196 0.034413 0.122643 -0.031565 0.066945 --0.079300 0.072369 -0.011993 -0.035713 0.023269 --0.002546 0.076113 -0.067724 -0.084767 -0.053840 -0.037939 -0.091041 -0.026871 -0.009130 -0.021081 --0.067836 0.022012 -0.052138 0.083855 0.065835 -0.061174 -0.015388 0.100602 -0.009214 0.131331 -0.048374 -0.020733 -0.009385 -0.013658 0.012043 --0.057898 -0.017737 -0.088355 0.024991 -0.079612 -0.000356 0.019063 0.032476 0.022195 0.010063 --0.017095 0.024040 -0.080464 0.063948 -0.114944 -0.012612 0.022171 -0.005737 0.035304 -0.061207 -0.055311 0.033024 0.010681 -0.035592 -0.053947 --0.011004 -0.012254 0.055221 0.045545 0.049084 -0.005046 -0.005400 -0.115901 -0.044796 0.068701 --0.005781 -0.031080 0.037791 0.097212 0.026378 --0.032777 0.026666 0.006559 -0.032347 -0.025736 --0.039802 -0.165807 0.007831 0.003219 0.090520 -0.051658 -0.027677 -0.121531 0.016080 0.074249 --0.017031 0.055987 0.005024 0.056572 0.006367 --0.029525 -0.005725 0.069335 -0.024541 -0.003936 --0.050003 0.053274 -0.052184 0.045028 0.014532 -0.039597 -0.056809 0.094737 -0.048726 0.081476 -0.030138 -0.008376 0.001189 0.059831 -0.018934 --0.069575 0.002414 -0.006677 -0.061422 -0.024261 -0.061177 -0.023449 -0.000323 -0.012054 -0.074484 -0.038383 0.021929 -0.101717 -0.022789 -0.036563 -0.013636 -0.063362 0.053011 0.004735 -0.077306 -0.008396 0.043986 0.028657 -0.067441 -0.008945 --0.037043 0.071514 -0.037839 0.077754 0.066277 --0.065319 -0.001333 0.067596 -0.021862 0.099395 --0.063958 -0.082056 -0.044809 0.063666 0.000060 -0.046881 0.121405 0.030877 -0.008566 0.007738 --0.043809 -0.049349 0.046172 0.040387 -0.045205 -0.007940 0.060687 -0.036544 -0.076121 0.042696 --0.003337 0.102081 -0.040222 0.067540 -0.025542 -0.030041 -0.090029 0.041031 0.020329 -0.012727 --0.089279 0.046642 0.018999 0.055650 0.032822 --0.052350 -0.055869 0.123885 -0.019014 0.088042 -0.001830 -0.080700 -0.023798 -0.021378 0.007657 --0.042996 0.023456 -0.055210 -0.018485 -0.033292 --0.016446 0.052880 0.043571 0.032302 -0.006553 -0.054726 0.057637 -0.079728 0.030525 -0.045654 --0.016583 0.136252 -0.001399 0.088342 0.059925 --0.018644 0.033899 -0.026838 -0.060676 -0.084264 --0.007612 0.086537 -0.000185 0.091345 0.006932 --0.012308 -0.029627 -0.057073 -0.008780 0.039234 --0.044963 -0.042058 -0.067929 0.074154 -0.051802 --0.061304 0.020025 0.026829 -0.086288 -0.076261 --0.069406 -0.050920 0.124796 0.022026 0.010977 -0.038169 -0.027398 -0.073580 -0.056630 0.093880 -0.081911 0.024440 0.008606 0.033419 -0.000580 -0.033675 -0.032327 -0.007767 -0.065309 -0.050057 --0.050072 -0.014708 -0.100502 0.074529 0.005808 -0.016991 -0.022397 -0.012659 -0.102715 0.069860 -0.007505 -0.098626 0.017930 0.000660 0.030909 --0.019108 -0.001078 -0.038606 -0.007684 -0.046485 -0.070639 0.016330 -0.034902 0.085208 0.016702 -0.031560 -0.039036 -0.086796 -0.116810 -0.043757 -0.027858 0.024031 0.045674 -0.036231 -0.081680 -0.085800 -0.045662 -0.023544 -0.087212 -0.075608 --0.015723 -0.040238 0.013265 -0.085104 0.106223 --0.082075 -0.107869 0.056348 -0.031110 0.053637 -0.000135 -0.037700 -0.055809 0.094526 -0.021978 -0.034525 0.054227 0.053019 0.003097 0.040872 --0.039125 -0.085945 0.154564 0.038990 -0.027547 -0.001012 0.012970 -0.012585 -0.008224 0.076006 -0.057344 0.055498 -0.015305 -0.064045 -0.009027 -0.028053 -0.055613 0.019793 0.005156 -0.005730 --0.081848 0.009551 -0.035835 -0.005885 -0.006310 -0.056241 0.074335 0.101385 -0.045124 0.075779 -0.098255 -0.025349 -0.135871 0.068593 0.018442 -0.008761 -0.006857 0.032026 -0.041062 -0.176540 --0.003354 -0.030120 -0.024455 -0.009820 0.053273 --0.013461 -0.013288 -0.112246 0.007427 0.011505 -0.000211 -0.007304 -0.033855 0.097950 -0.118398 -0.030054 0.000253 0.110782 -0.135596 -0.057368 --0.016542 -0.002743 0.078980 0.080403 0.081391 --0.047818 -0.058659 -0.050242 0.012663 0.083037 --0.061626 0.019808 -0.007693 0.160145 0.019543 -0.010731 0.046526 0.068954 -0.024462 -0.015987 -0.057362 -0.091820 0.016953 0.016968 0.076250 -0.018441 0.111365 -0.067091 -0.018485 0.053164 -0.005666 0.035169 -0.035022 -0.006122 -0.002602 --0.047379 -0.023841 0.119826 -0.069174 -0.036278 -0.066394 0.057299 -0.074109 0.057609 0.038296 -0.057444 -0.029816 0.022335 -0.034234 0.104815 -0.048829 -0.043111 -0.072490 0.067468 0.004571 --0.110285 -0.021601 -0.020759 -0.012685 -0.017656 -0.126982 0.016916 -0.004567 0.107105 -0.027552 -0.007144 -0.013052 -0.020950 -0.061707 -0.025117 --0.020557 -0.015960 0.045201 0.121070 -0.089963 -0.035852 0.025505 -0.020181 -0.106140 0.001278 --0.003190 0.085573 -0.040587 -0.057134 0.092945 --0.049909 0.014414 0.010498 -0.020042 0.053348 --0.005743 -0.065367 -0.017619 0.024990 -0.016761 --0.001102 0.081298 0.066867 -0.051868 -0.045101 --0.008798 0.003830 0.082195 0.041312 -0.048878 -0.029855 0.023388 0.029924 -0.050988 0.039197 --0.009097 0.043885 -0.079323 -0.043981 -0.028178 -0.066419 0.012794 0.059244 -0.059898 -0.071819 --0.106012 0.055735 0.110205 0.053225 -0.000572 --0.024268 -0.039276 0.113882 -0.011410 0.026499 -0.086180 -0.011966 0.013046 0.031127 0.066167 --0.027553 0.060671 -0.045735 0.060949 -0.051384 -0.048136 0.029615 0.023552 0.009801 0.050664 -0.065347 -0.026945 -0.067001 -0.022261 -0.108076 -0.060158 0.041960 0.067335 0.052471 -0.029246 -0.005009 0.007741 -0.052254 -0.083086 -0.017223 --0.052633 0.052579 0.067865 0.153710 0.017808 --0.087647 -0.021298 -0.079632 0.070262 0.044472 --0.050379 -0.010528 -0.002296 0.013103 -0.019826 --0.007796 0.016897 0.056191 0.006326 -0.079428 --0.036621 -0.124708 0.063044 -0.022890 -0.045545 -0.041047 0.025474 -0.028608 0.002726 0.048077 -0.099637 0.066892 -0.070620 0.001304 0.013309 --0.014646 -0.054310 -0.000625 -0.041803 -0.102217 --0.045571 -0.015019 -0.026224 0.105191 0.032885 --0.000149 -0.033313 0.006390 -0.078169 -0.030753 -0.041211 -0.066981 0.004327 0.092330 0.071230 --0.029542 0.036311 0.054269 0.022893 -0.046259 --0.001621 -0.003966 0.005826 0.056342 0.042238 --0.028467 -0.044194 -0.112504 -0.019352 -0.056343 -0.025104 0.017498 0.028931 0.016630 -0.061128 -0.115505 0.002142 0.019876 0.014986 -0.066700 -0.002735 0.027334 -0.033263 0.031449 0.112566 --0.025718 -0.017066 -0.019976 -0.036001 0.083541 -0.048068 -0.073969 -0.035121 0.039966 -0.077883 --0.015535 0.089870 0.023998 0.011277 0.010489 -0.033555 -0.012483 0.127157 0.027709 0.014969 --0.033730 0.006080 -0.048319 -0.052745 0.027066 --0.021685 0.115020 0.006318 -0.021548 0.021575 -0.090884 -0.054542 -0.015574 0.030923 -0.068692 --0.095404 0.092367 -0.049371 -0.007959 0.012304 -0.123951 0.014405 0.082998 -0.023011 0.029154 -0.017924 -0.006151 -0.084050 0.033509 -0.002582 -0.024225 0.045534 -0.034178 -0.026409 -0.121581 -0.007469 -0.024266 0.049937 -0.020242 0.021756 --0.020005 0.017806 -0.083185 0.089127 -0.055074 --0.034134 0.018495 -0.014900 0.084470 -0.088049 -0.012587 0.053323 -0.003416 -0.081639 -0.022685 -0.028673 -0.041773 0.034449 0.070890 0.057659 -0.017152 -0.036172 -0.093521 -0.025296 0.035162 -0.029819 -0.039228 0.085181 0.163548 -0.001854 --0.029758 0.022943 0.021209 -0.070771 0.014429 --0.013368 -0.088799 -0.009255 -0.052504 0.041099 -0.025723 0.001161 -0.107366 -0.001012 0.033565 -0.044131 0.035694 -0.021740 0.002649 0.007424 --0.085656 -0.093763 -0.001170 -0.025695 -0.037360 --0.044626 0.064499 -0.071805 -0.003962 0.048891 -0.024092 -0.027384 0.095833 -0.090763 0.002000 -0.023459 0.019764 -0.029245 0.119488 0.005968 --0.096712 -0.071733 -0.047297 -0.074321 -0.062880 -0.035501 -0.027280 0.037144 0.008541 0.020241 -0.018467 -0.015675 -0.095340 -0.027954 -0.069184 --0.012559 -0.010226 -0.008974 0.014176 -0.089107 -0.055689 0.060512 0.073656 -0.081115 0.028454 --0.087380 0.077056 -0.016938 -0.014435 0.091481 --0.117469 0.042015 0.041204 -0.038524 0.004206 --0.062655 -0.068726 -0.052024 -0.002012 -0.016652 -0.058910 0.036081 0.033210 -0.054379 0.003673 --0.091615 -0.001601 0.019547 0.062960 -0.110025 --0.019088 0.071235 -0.039133 -0.103127 0.005287 -0.019768 0.106127 -0.017072 -0.008543 -0.093660 -0.044248 -0.053844 0.097968 0.000346 0.012930 --0.032294 0.027944 0.021196 0.006513 -0.001250 --0.020211 0.039251 0.067859 0.020349 0.058248 -0.024609 -0.074146 -0.100418 0.030150 0.026229 --0.039773 0.099169 0.008735 -0.011164 -0.109708 -0.001230 0.003111 0.054746 0.076006 0.018527 -0.098756 0.017060 -0.025289 -0.006160 -0.078352 -0.002616 0.144579 -0.020766 0.062239 -0.016518 --0.035809 -0.021765 -0.035105 -0.144630 -0.095066 -0.010952 0.046460 0.068649 0.085352 0.087482 --0.033104 -0.048980 -0.018280 -0.014775 0.025770 --0.111625 -0.092460 0.005859 0.075107 -0.062936 --0.085897 0.005900 0.055026 -0.087076 -0.027440 --0.033017 -0.063979 0.066972 0.028398 0.010265 --0.030890 -0.001574 -0.045533 -0.106812 0.113658 -0.104903 0.004971 0.028534 -0.023905 0.074634 --0.025588 -0.100482 -0.029403 -0.070372 -0.062718 --0.020418 -0.021403 -0.043078 0.080410 0.075037 --0.035154 -0.074551 -0.013207 -0.145218 -0.000997 --0.014570 -0.065138 0.008479 0.044833 0.024817 --0.038683 0.006048 0.032395 -0.031666 -0.059782 -0.070540 0.001925 0.005314 0.060966 0.028570 -0.041891 -0.035393 -0.044033 -0.087988 0.022861 -0.054156 0.027545 0.100860 -0.032365 -0.073861 -0.047055 -0.005439 0.042181 -0.028039 0.007216 -0.034289 -0.013035 0.012785 -0.068215 0.102120 --0.090059 -0.035706 0.026737 -0.089429 0.038438 --0.040128 -0.077000 -0.054932 0.048963 -0.127689 --0.020587 0.094010 0.104367 -0.014378 0.068899 -0.007536 -0.012966 0.078066 0.039371 0.013971 --0.019439 0.083877 -0.042991 -0.046952 0.039415 -0.055981 0.076150 -0.000417 -0.001657 -0.048929 -0.046983 -0.072438 -0.012301 -0.047275 -0.023350 --0.059164 -0.003587 -0.100107 0.007189 0.060971 -0.042822 -0.008493 0.134842 -0.044502 -0.010541 -0.089334 -0.016620 -0.048559 -0.027560 -0.005511 --0.032724 0.034262 -0.042951 0.017548 -0.145421 -0.056398 -0.006331 0.030847 0.001640 0.057797 --0.063806 -0.000882 -0.091910 0.016087 -0.019546 -0.061433 0.036856 -0.056495 0.069485 -0.031554 --0.012055 0.017768 0.015448 -0.074610 -0.037352 --0.004122 -0.064702 0.053976 0.074254 0.134606 --0.001169 -0.110572 -0.031859 0.002913 0.016777 --0.083814 0.052146 0.036174 0.103645 -0.024775 --0.005335 0.048662 0.002436 -0.040366 0.023406 --0.028113 -0.087518 0.030981 0.017198 0.042213 -0.009268 0.022638 -0.091913 -0.007325 0.067826 -0.007175 0.039739 -0.030746 0.019636 0.060134 -0.002597 -0.074017 0.092250 -0.059181 -0.016534 --0.011358 -0.017007 -0.017703 0.102970 0.122663 -0.057377 -0.041987 -0.053837 -0.031373 0.063014 -0.006671 -0.090650 -0.138471 0.106533 0.010497 --0.102967 -0.075716 -0.038511 -0.071066 0.017321 -0.093836 -0.006301 0.118555 0.061346 0.013449 --0.000558 0.009959 -0.026395 -0.028150 -0.032041 -0.044864 -0.060691 0.041780 0.046048 -0.051785 -0.062238 0.004872 0.030879 -0.128966 0.012667 -0.023845 0.078065 0.044196 0.046742 0.148868 --0.030628 -0.042491 0.021535 -0.011918 0.043483 --0.047778 -0.117530 -0.005429 -0.008792 -0.098801 -0.020009 0.106857 0.089897 0.024663 -0.061028 --0.015371 0.069471 0.045508 0.046334 -0.069530 -0.010731 0.072915 0.065071 -0.058529 0.071085 --0.012683 0.094842 -0.090176 0.065021 -0.044033 -0.019140 -0.012000 0.092585 -0.034244 -0.040555 --0.084684 -0.011832 0.061629 0.009146 0.027188 --0.026891 0.080725 0.088536 -0.084517 0.044584 -0.093624 -0.016766 0.021101 -0.002887 0.009587 --0.068241 0.007223 -0.040467 0.035718 -0.043998 -0.050133 0.003764 0.010389 -0.000348 -0.020485 -0.049700 -0.066152 -0.041930 -0.021767 -0.077931 -0.035116 0.108204 0.024456 0.032605 -0.043283 -0.024511 0.009921 -0.031396 -0.173419 -0.049078 --0.014906 0.036522 0.041073 0.061298 0.024532 --0.074779 -0.013084 0.018258 0.041618 0.044657 --0.018537 0.007319 -0.066448 0.027570 -0.032981 --0.024516 0.092119 0.129643 -0.016032 -0.072728 --0.044848 -0.084876 0.072567 0.089222 -0.006042 -0.077927 0.001985 -0.041619 -0.009227 0.069988 -0.088912 0.133137 -0.016458 0.008841 0.031287 --0.047102 -0.083683 0.030843 -0.112282 -0.103671 --0.006459 -0.031852 -0.057190 0.207145 -0.002174 --0.047509 -0.051560 -0.034172 -0.058751 0.014904 --0.055125 -0.123573 -0.025949 0.094512 0.035410 -0.003286 0.008369 0.029091 0.023530 -0.021963 -0.056787 0.037285 -0.041070 0.012945 0.109131 --0.012940 -0.088290 -0.060557 -0.064861 0.027757 -0.012384 0.004678 -0.022211 0.059852 -0.089239 -0.120404 0.036099 -0.023853 -0.025676 0.001845 -0.000298 -0.029950 -0.027028 0.027301 0.128816 --0.046314 -0.030039 0.011273 -0.059749 0.055640 -0.001351 -0.032191 -0.091552 0.054641 0.010980 --0.105128 0.083057 0.017517 0.006971 -0.014256 -0.046500 0.060555 0.099997 0.034081 0.044797 --0.117689 0.049576 -0.059663 -0.109523 0.015561 --0.039089 0.097102 -0.015266 -0.057401 0.015861 -0.029363 -0.123492 0.017355 -0.025359 0.005924 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/newamp1_energy_q.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/newamp1_energy_q.txt deleted file mode 100644 index d2653f3..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/newamp1_energy_q.txt +++ /dev/null @@ -1,17 +0,0 @@ -1 16 -10.000000 -12.500000 -15.000000 -17.500000 -20.000000 -22.500000 -25.000000 -27.500000 -30.000000 -32.500000 -35.000000 -37.500000 -40.000000 -42.500000 -45.000000 -47.500000 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/newamp2_energy_q.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/newamp2_energy_q.txt deleted file mode 100644 index ec9f74d..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/newamp2_energy_q.txt +++ /dev/null @@ -1,9 +0,0 @@ -1 8 -0.100000 -5.000000 -10.000000 -15.000000 -20.000000 -30.000000 -37.500000 -42.500000 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/train_120_1.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/train_120_1.txt deleted file mode 100644 index a98133c..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/train_120_1.txt +++ /dev/null @@ -1,513 +0,0 @@ -20 512 - 6.7484 7.6125 6.0332 5.2789 1.5239 2.2353 2.0748 0.5289 0.8748 2.5432 -2.2863 -3.1910 -0.0434 -1.9857 -3.3605 0.7069 -5.9493 -0.5672 -0.6798 -18.0977 - 4.0503 3.9086 2.9225 2.3773 0.6580 -0.4363 -0.0644 2.4063 1.3428 2.4542 0.5275 0.9820 -1.3277 0.6811 0.0273 -0.1838 -0.0222 -0.6478 -2.2405 -17.4152 - 13.3284 12.1212 10.6531 9.8214 11.0388 15.8120 19.7110 16.5488 16.1068 15.8771 7.2553 4.2486 -6.0036 -12.5476 -20.1299 -28.2803 -25.3971 -21.7907 -11.5143 -26.8590 - 21.4405 18.4703 17.8693 14.9679 11.2994 6.4906 4.7717 0.1959 -0.8801 1.8991 1.9793 -4.9755 -7.7852 -10.0492 -8.5295 -8.2893 -4.1203 -12.4072 -16.1660 -26.1817 - 4.0023 3.8279 1.2681 1.0053 0.7002 -0.3886 3.4465 -1.4055 -6.7846 -2.3345 -2.9050 -0.1344 3.4192 2.4319 10.0096 3.9279 0.6807 0.3220 -3.8325 -17.2565 - 29.8276 21.1543 12.7853 13.0246 5.8164 3.7469 2.4198 0.1510 -4.5449 5.2695 11.7552 -4.8954 -6.0291 -8.9780 4.9650 -10.6540 -12.5363 -21.6056 -18.2985 -23.3739 - 4.8610 5.1207 6.5382 9.8638 15.4754 18.8192 14.8018 10.7685 12.4401 14.0392 2.9200 -3.7283 -9.7213 -13.5526 -16.0730 -13.7571 -5.4267 -12.2552 -14.5143 -26.6193 - 3.0429 3.0335 4.4785 5.6483 5.3476 5.7519 3.5651 4.9007 4.9672 -0.7330 -0.6458 6.5888 5.2957 -2.0068 -6.0189 -7.2145 2.5545 -5.8358 -7.4936 -25.2263 - 5.9384 7.0203 10.7433 15.2477 14.8437 8.0949 3.1384 -0.0014 -0.1756 2.1601 8.1029 0.4123 -6.8062 -9.6038 -6.2302 0.4409 -8.9878 -10.1638 -4.6903 -29.4840 - 7.1880 6.1134 5.4021 10.5427 17.0718 14.5658 6.8632 2.2257 0.4412 3.8257 9.0388 -1.1212 -6.7639 -9.2412 -8.6575 -2.9951 -8.6659 -9.4220 -6.6046 -29.8068 - 9.8859 4.3889 3.6253 3.2033 4.6563 4.5967 1.8747 -0.0037 3.2114 3.8854 3.1501 0.8523 -5.2830 -8.4603 -5.1159 -3.9157 6.9800 -1.5270 -6.0421 -19.9624 - 7.6208 10.1888 12.8648 16.4838 14.9269 7.8064 3.5594 -2.8048 -3.6303 -10.8596 -7.1254 -2.8890 5.4295 -2.5015 -5.5359 -2.9934 -6.5980 -7.1493 -4.9387 -21.8545 - 12.7227 17.1387 21.7055 19.8068 12.1832 5.8645 -2.4103 -3.8445 -5.5496 -5.5608 -0.2010 5.1772 -1.4666 -6.6602 -1.2573 -3.1593 -10.7925 -14.3751 -12.0047 -27.3167 - 7.4465 7.8765 9.4912 12.2074 12.1631 11.4780 7.6294 2.6922 0.1566 -2.1903 -1.5699 -1.8031 2.2555 -1.5591 -7.9267 -10.3612 -5.5432 -5.5673 -10.0797 -26.7960 - 0.3749 1.9725 2.6868 6.3326 8.9635 12.8113 13.6523 14.0916 11.2443 1.2914 -1.9954 -2.9443 -4.6718 -4.3132 -3.4613 -8.1105 -7.9033 -7.0956 -6.5898 -26.3361 - 10.3072 10.6822 8.8253 4.8992 4.3627 8.8165 9.7824 3.7264 0.4265 0.6068 3.0934 2.9121 -0.6717 -5.8045 -1.7344 -9.1008 -8.8333 -6.0633 -11.2321 -25.0005 - 10.6992 14.8060 18.9665 22.4210 21.8710 15.6647 10.6160 12.1366 14.0479 7.0707 -3.8212 -12.1770 -16.1111 -19.3389 -18.8315 -17.5346 -7.9646 -9.4592 -17.5614 -25.5000 - 9.9592 11.7001 14.2704 14.1434 7.3322 4.2766 -0.0567 -2.7113 -5.7358 -6.7390 -5.9067 -0.1939 4.8177 -3.9810 -7.2528 -3.2695 -1.5685 -7.8940 -6.3355 -14.8548 - 17.6322 19.5153 22.4362 16.2943 10.4698 2.5066 -2.3936 -5.3770 -7.9766 -9.8004 -12.9640 -13.1015 -9.8076 -5.7565 1.8732 0.4843 3.3621 -1.0048 -4.8377 -21.5543 - 9.9491 17.4987 23.2236 17.3142 6.8072 6.6873 1.9421 1.1415 2.9409 6.8470 2.4633 -7.2869 -8.9792 -3.3155 -0.1918 -11.8037 -18.6298 -12.6475 -9.7620 -24.1984 - 9.2080 9.9971 12.5064 20.0609 20.9647 10.9574 7.4360 4.4943 4.8454 11.0636 1.8176 -7.3479 -12.5617 -15.3912 -11.5022 -5.0309 -14.7556 -15.4294 -6.4150 -24.9176 - 7.7917 9.3291 11.8185 15.3501 19.3235 20.6869 19.8160 14.6028 10.2893 9.9407 9.8534 3.6182 2.7695 -5.2735 -19.7962 -24.6834 -27.0316 -25.6805 -24.9149 -27.8096 - 0.1108 3.1261 6.8163 12.4528 16.9192 10.8153 2.6109 -0.2652 -4.8897 -6.1056 -7.3218 -4.4594 4.3004 3.7728 -2.8276 -0.0458 1.0104 -6.4884 -6.4860 -23.0456 - 12.9442 10.3059 3.1303 2.1611 1.4795 2.7580 6.9527 8.4487 7.1533 1.4465 -0.9113 -3.9971 -4.9090 -5.3881 -3.1011 -0.4922 -1.1819 -5.3279 -8.2374 -23.2345 - 25.0945 17.8572 8.9500 2.7040 0.2187 1.4115 0.7421 0.5831 -0.3096 0.9334 -2.9667 -4.0352 -2.8473 -4.8594 -4.5863 -4.4311 -2.8466 -4.4808 -5.1669 -21.9645 - 14.6124 19.7986 21.2066 15.7620 8.7509 3.7653 -0.5239 -3.8894 -6.8522 -8.4979 -8.1879 -5.8438 0.5485 6.7415 0.4745 2.6750 -10.3676 -15.0245 -12.2357 -22.9125 - 11.9959 12.9771 17.1177 21.5310 16.8892 10.8731 9.7276 8.5106 12.9569 2.2512 -6.9324 -13.2124 -16.5380 -18.0518 -16.6252 -9.7038 -6.1220 -8.7542 -6.8998 -21.9905 - 12.8107 14.5670 13.4289 7.1693 3.4265 3.1397 2.5457 -1.2214 -0.3887 2.4506 3.9777 0.9056 -6.9195 -7.3811 -3.2619 -0.3714 2.6266 -6.3479 -12.2319 -28.9244 - 2.6437 2.2575 3.8643 6.0625 10.9091 16.9554 21.5045 12.7233 9.3579 9.4439 12.8585 4.4528 -2.4283 -4.7330 -2.2502 -11.3098 -18.5273 -22.4570 -23.1304 -28.1976 - 10.5757 10.9392 14.0126 18.2101 14.3745 8.6896 4.9080 1.0411 2.3482 7.2221 4.5440 -5.0353 -11.2852 -13.0882 -10.9600 -3.0288 -9.5005 -10.2217 -6.6739 -27.0717 - 14.6172 4.5412 13.3824 9.2916 19.2818 13.6563 14.4089 10.1260 1.6926 3.9361 -0.6461 -5.1244 -9.3641 -13.9807 -11.4128 -11.8597 -0.8237 -20.3149 -12.3561 -19.0515 - 4.0591 4.6177 7.7662 6.8737 9.4052 10.1099 12.8714 8.1202 6.6015 7.9224 1.7548 -1.6325 -4.8379 -5.0955 -2.1947 -8.4220 -11.8799 -10.7107 -12.0066 -23.3222 - -3.3385 -1.1297 3.0554 4.9769 3.8625 8.6998 8.0974 -0.5519 -1.0699 -5.4771 -4.7235 -4.8192 7.1236 -0.4895 -2.0107 0.1838 3.5180 3.2804 3.1904 -22.3779 - 10.9362 15.2821 18.1297 12.4682 2.6895 -1.2007 -1.7676 -6.1681 -6.0524 -5.8064 -3.1002 4.3237 2.0263 -5.5109 1.0348 -0.4760 -4.6274 1.4107 -7.5329 -26.0586 - 27.0648 22.2199 14.8908 7.7845 2.8689 -0.0364 0.0683 -0.1186 -1.6323 -2.4217 -4.0112 -2.3476 -5.4442 -5.8509 -6.4386 -6.2558 -6.7739 -5.9348 -7.0916 -20.5398 - 4.3156 -0.2499 1.1824 2.8225 8.1910 5.2798 2.2597 -3.0043 -5.0382 -5.2727 -4.0013 2.6952 8.1245 -1.1517 -1.8957 2.4603 3.0897 -1.0817 -0.1353 -18.5898 - 17.5894 22.9315 26.4862 22.1620 13.7474 13.5177 15.2005 16.3224 4.9523 -4.2419 -8.3503 -12.4022 -12.6698 -6.7159 -16.2122 -20.1926 -20.5969 -16.0749 -12.5173 -22.9353 - 6.5871 8.0443 8.4339 11.3345 17.3665 13.4455 6.9211 2.0512 -0.7348 -1.2898 1.0076 8.4862 -0.3360 -6.4714 -5.9432 -4.1602 -12.1155 -12.4645 -10.9269 -29.2355 - 19.0066 20.3716 18.0417 9.4806 4.8058 0.3359 -4.1091 -8.1930 -8.9962 -9.7495 -13.2924 -8.6275 -4.9424 6.0502 -6.8142 -7.1166 -3.0922 8.8016 5.6937 -17.6547 - 4.7309 -6.5949 4.9914 7.3489 9.0188 4.1567 7.1949 0.4917 5.0462 7.5219 1.5314 -15.3803 5.3130 -0.0983 -7.0327 -1.2671 -0.4646 -1.6442 -0.7446 -24.1190 - 13.7639 5.1424 5.3193 3.8945 3.9574 1.4034 0.1896 -4.0608 -2.5264 -4.9434 2.8459 2.6311 -2.7915 -3.7842 -0.3711 0.5487 5.3766 -4.3496 -3.2801 -18.9656 - 12.6752 14.7799 16.2157 18.6944 14.1390 7.0937 3.8206 -2.4778 -3.9766 -4.4531 -2.8711 3.2148 0.6800 -9.1748 -10.1600 -6.0557 -0.8581 -9.2828 -14.0109 -27.9924 - 15.0025 18.2042 22.4086 21.6195 14.2308 10.5772 6.7291 6.0463 11.7877 8.4162 -3.4731 -11.2708 -15.6923 -17.5613 -14.5235 -4.5248 -17.8954 -18.3529 -10.3105 -21.4173 - 2.5368 2.8687 8.7229 5.2089 8.9671 2.8847 -1.3535 -4.4273 -4.9060 -7.8939 -15.4750 -10.4797 -4.4811 6.5892 9.9939 12.9078 3.2705 1.3246 3.7883 -20.0468 - 8.5207 11.8364 16.4466 19.9166 16.0662 8.4129 4.3290 -0.8928 -3.7592 -5.4071 -4.2870 0.4615 9.9611 5.8190 1.7969 -7.7765 -17.3073 -19.5235 -17.7924 -26.8211 - 3.0595 10.0158 11.1623 5.9413 3.1988 -2.1129 0.3528 -3.0158 -2.3599 -1.3347 -1.0479 3.9189 7.8019 3.0538 -1.6139 0.8043 -4.9290 -6.9959 -7.2918 -18.6077 - 17.8476 19.4332 25.4614 19.1508 12.2748 9.4543 6.1101 3.6929 2.9336 5.5407 -9.2238 -17.0071 -20.8856 -22.9308 -21.1711 -15.0234 4.8627 2.2867 -2.1943 -20.6125 - 9.6165 8.8018 11.1694 14.6183 18.4154 13.4481 7.1580 4.1650 1.8242 0.9521 5.1356 4.0270 -5.9523 -12.0202 -14.3055 -10.5893 -2.8308 -12.2805 -13.3723 -27.9806 - 13.4166 16.7617 20.6572 22.0976 15.9129 10.6410 5.4061 3.1570 -0.7256 1.2303 5.9463 5.1273 3.4864 1.6884 -10.9215 -19.5567 -22.8693 -20.4758 -24.0420 -26.9379 - 8.0404 15.9476 21.0441 15.0820 8.2842 3.1036 -0.2419 -4.2559 -6.0751 -7.4529 -5.5847 1.5520 8.3483 3.3751 -1.0503 -10.4691 -11.9360 -5.5738 -6.8713 -25.2662 - 19.9950 20.2102 18.7443 12.7220 5.8592 3.8088 0.4504 -1.5876 -0.0425 -3.0873 5.5382 -0.1499 -5.8500 -7.9372 -6.2374 -0.2643 -15.0702 -16.9914 -9.3644 -20.7458 - -2.6024 -7.4950 -1.2522 3.5119 3.9726 3.4991 2.4457 3.2158 -0.1830 -1.7087 -7.3996 -6.8962 -5.2421 -7.5762 -9.1433 6.6126 10.5297 10.4556 18.2991 -13.0433 - 0.8317 2.2343 3.6899 5.6335 5.8479 6.4330 6.0022 5.3630 2.3387 -0.5344 -1.0716 0.6509 -0.7175 -4.0229 -6.0631 -4.7546 -1.9700 -4.6226 0.0933 -15.3616 - -9.3660 -6.9175 -4.9307 -3.1828 -1.6587 -1.4971 -0.1586 0.6208 0.5169 2.4709 4.6017 5.3127 4.5449 3.2690 3.7590 3.4511 3.8260 3.9369 4.8805 -13.4790 - -1.1830 0.5095 1.1754 2.3109 2.2722 1.3243 1.6529 -0.1799 -0.2874 -1.2863 -2.2761 -1.5668 -1.2037 -2.4367 -3.9243 -2.1186 2.3502 1.4312 9.5827 -6.1467 - 9.2349 10.7650 18.1608 20.6655 13.5769 5.4902 3.0323 -1.0259 -0.5010 1.7689 10.3810 12.0253 9.1922 -4.9615 -15.0315 -19.9651 -21.4377 -17.6800 -6.4577 -27.2328 - 10.6391 10.7983 11.4949 16.5329 19.2664 13.6129 6.1846 2.4573 -3.1501 -7.1814 -7.9387 -2.6238 4.6419 -5.9113 -9.3510 -7.0591 -3.2275 -10.2820 -10.5308 -28.3726 - 18.6364 19.3874 19.5930 14.3075 9.4402 3.6045 -1.9801 -5.5352 -9.0094 -10.9308 -12.7345 -14.0779 -10.9593 -3.8674 6.3753 9.5959 -1.4018 -7.4988 -6.1435 -16.8015 - 9.4969 11.3591 11.5468 7.8918 4.7217 3.0266 4.2145 2.2878 1.2224 5.6903 10.6919 4.2718 0.7184 -3.7583 -6.7954 -8.0558 -7.9668 -10.2861 -12.5018 -27.7759 - 1.9805 4.9512 7.0160 7.8284 8.7891 8.0863 7.7994 7.9865 8.6027 13.1944 14.7771 11.0643 2.1716 -5.7171 -10.9834 -8.7615 -16.8907 -14.3039 -17.4732 -30.1175 - 7.4683 9.4924 11.1231 14.0490 15.3387 7.9538 5.2116 -0.0275 -3.0014 0.1050 0.6547 7.9660 -2.3476 -7.0894 -4.6113 -2.0949 -15.9720 -16.2041 -7.4758 -20.5386 - 4.8388 4.2032 3.5738 6.4994 10.8701 16.7006 14.8672 6.7149 3.1448 0.6167 2.5321 7.5899 1.6456 -3.0073 -4.4465 -2.3406 -11.2907 -15.6965 -17.0827 -29.9328 - 9.8208 5.5733 3.2835 2.3197 5.4502 9.1113 10.3794 8.6442 6.0107 6.4897 4.2548 1.1709 -4.1757 -9.6942 -10.5243 -11.8609 -10.0641 -3.4488 -2.2532 -20.4873 - 5.8783 5.8851 7.6595 5.2009 5.1000 1.9820 2.2615 1.4023 -1.1079 1.1247 3.7199 2.8362 -0.5182 1.4421 1.5607 -8.4521 -3.7106 -1.6008 -5.2750 -25.3888 - 13.8298 17.3228 17.9494 18.8765 12.6415 7.5326 5.2828 1.0300 -1.0231 -5.4994 -6.6194 -2.5155 4.6895 -3.4515 -7.2113 -4.1051 -13.7542 -14.3604 -11.8611 -28.7541 - -8.8559 -3.0649 2.2249 4.9828 6.4170 6.9906 9.9342 12.0149 12.2463 14.3103 18.4345 6.3234 4.2404 -2.7341 -6.9396 -10.7644 -10.1668 -12.3674 -16.3891 -26.8371 - 10.9983 13.5279 16.2801 19.6892 16.9475 11.0028 3.9633 1.1799 -2.0078 -0.9850 2.7247 -0.1311 -6.6215 -8.5890 -4.3971 -11.9543 -15.4358 -13.3278 -4.8427 -28.0217 - 7.2013 9.1028 13.1142 19.8377 22.5360 16.6528 11.8330 10.3141 12.9885 15.8372 9.0995 8.4627 1.1838 -14.4656 -21.4397 -23.6775 -22.5547 -24.8595 -24.4974 -26.6692 - -8.4073 -6.6779 -3.9580 -1.6241 -2.1470 -2.2867 -2.2534 -3.0205 -4.5931 -2.5545 -2.1350 -1.3098 1.1053 -1.1397 1.2170 6.2234 3.6093 9.8015 23.5766 -3.4260 - 9.6955 11.4467 15.0851 15.4765 9.8267 3.5490 -0.5777 -2.7726 -5.1878 -5.7225 -4.4558 0.4969 9.2914 5.8917 6.4235 -4.2514 -11.0149 -9.4893 -13.0444 -30.6665 - 2.9943 1.4307 0.8714 2.2925 2.1145 2.9148 2.4003 1.9382 1.6662 -2.3476 -2.0877 -1.9322 3.3342 1.7171 -0.9114 3.2785 1.7852 1.4651 -1.3549 -21.5695 - 7.7138 9.3400 11.7519 14.3217 14.9762 11.0903 9.9040 9.3599 10.4611 6.3795 -3.9927 -7.6734 -12.4888 -12.1729 -5.7999 -5.5417 -9.5690 -9.5926 -7.6846 -30.7825 - 4.4498 9.2290 15.0677 17.9679 11.2745 2.6730 -0.9888 -5.6255 -7.5349 -8.4589 -8.4510 -5.5027 1.7669 4.3143 -4.8629 -2.0721 4.6797 -5.0125 -4.4213 -18.4923 - 11.1829 12.4396 12.7925 12.6901 8.0150 3.4089 1.7847 -0.2306 -2.0077 -1.0178 2.2167 -0.4542 -8.4111 -8.9029 -8.0861 -3.9439 -6.2512 -2.2635 -2.1307 -20.8306 - -0.0237 3.5900 4.5144 3.8794 5.7527 11.0182 8.9091 7.1863 7.0702 7.1782 4.7799 0.6784 -4.3508 -5.3991 -6.5953 -5.6132 -9.5378 -5.6903 -1.3834 -25.9632 - -2.7117 -1.4799 1.2116 2.3262 3.7406 3.7668 1.2697 0.2086 0.7399 -1.3479 -2.2145 -3.7982 4.9747 -0.4583 -1.7465 -0.9161 7.2119 0.8965 -0.2723 -11.4012 - 7.6123 10.5335 16.3125 23.5319 21.6117 16.3290 18.2001 16.9715 0.9425 -7.0707 -12.7338 -16.0871 -18.4761 -17.8994 -14.8763 -4.8440 -8.9433 -6.8294 -0.8772 -23.4080 - 9.1763 3.0851 4.6724 8.0499 14.6517 16.8559 10.4532 11.9797 13.2732 7.6578 -1.4245 -7.0469 -11.9925 -15.0269 -14.7577 -15.9057 -2.4494 -8.2002 -4.4694 -18.5819 - -0.3793 0.7119 0.4558 1.7011 3.1548 7.4097 8.6888 7.5902 9.1020 7.3493 9.7346 15.2626 6.8726 -0.7975 0.8553 -9.6815 -9.3426 -14.3122 -13.9791 -30.3963 - 5.2988 6.3406 1.2009 3.3308 2.0290 2.8107 1.0030 0.4513 -1.4458 3.0391 1.2595 -9.2407 1.3164 1.9175 0.7738 1.8301 0.5948 -0.9497 -2.7482 -18.8117 - 23.5623 25.0580 25.0568 22.4174 16.4713 14.4026 11.1159 5.0250 -1.0266 -8.5971 -10.1924 -9.6120 -11.8638 -13.7028 -4.2000 -6.0100 -12.7481 -18.5497 -22.5946 -24.0120 - -5.0424 -4.2120 -3.2703 -0.4028 1.8335 3.2012 2.3768 2.0802 0.6396 0.2079 0.1418 -0.1844 2.5056 -0.2078 -1.3169 -0.2911 0.8140 1.7717 5.2809 -5.9255 - 7.6330 9.9835 15.1303 18.9128 13.0001 5.9224 1.3978 -3.1674 -6.4703 -8.3713 -7.7470 -5.2412 1.6661 5.3754 0.9111 2.2634 -7.6214 -11.2828 -5.6474 -26.6470 - 15.3965 19.4488 18.3928 11.4564 4.0261 0.4604 -4.6326 -9.8409 -11.0926 -12.7123 -13.1035 -12.3357 -8.4063 1.3638 7.8807 5.5655 3.4210 0.7205 5.4867 -21.4953 - 4.0267 4.8087 7.0895 9.6094 12.6372 17.6545 19.7244 17.4364 13.7517 13.9367 6.0059 -4.5448 -9.4075 -13.3403 -13.6620 -10.1856 -10.5214 -17.1512 -19.3146 -28.5537 - 26.5287 22.7007 21.6748 17.6005 11.9372 12.6653 5.4749 -6.1299 -8.9419 -6.9620 -5.7222 -5.6209 -8.6350 -10.0876 -8.1562 -7.7238 -5.4233 -10.0839 -13.1237 -21.9717 - 3.9740 4.1572 5.7242 12.4480 17.3522 11.6512 5.2405 1.2103 0.5569 2.7329 9.6369 -0.5073 -5.1263 -2.7956 -0.7621 -3.7186 -1.7764 -8.4788 -18.8985 -32.6208 - 6.8442 11.6517 15.0164 13.0383 3.5465 0.5949 -3.0134 -7.5262 -8.2082 -8.6101 -7.2813 -1.2345 9.2720 5.1011 6.0543 -0.9163 -4.5878 3.4588 -4.8078 -28.3926 - 7.8637 4.0004 -2.9380 2.0521 2.2442 -0.4633 1.8855 1.9277 -0.6295 1.3834 1.2896 1.0703 -0.4938 1.5669 0.0079 -1.5584 -2.0070 0.9263 -0.4846 -17.6435 - 5.8623 7.6023 7.9357 8.1933 9.8252 14.3094 18.5980 17.6310 14.1029 11.3791 8.9224 4.7903 -4.5730 -11.3683 -17.8078 -14.2065 -11.2294 -16.2936 -23.1509 -30.5225 - -1.7942 -0.0063 1.9950 3.6026 3.2262 0.8396 2.3621 2.3730 0.2704 0.4107 0.3605 1.3362 -2.3048 -2.1177 -2.8566 0.0808 -2.4432 2.0828 10.0173 -17.4341 - 16.0587 21.3030 20.2092 12.2290 4.0091 1.0523 -3.6402 -8.1002 -8.5006 -10.1681 -9.7303 -7.7995 -1.2107 8.9891 5.5157 1.2399 -8.3907 -7.4334 -1.1958 -24.4366 - 15.8248 21.2415 22.3705 19.6523 12.6511 4.9800 2.0524 1.2562 -2.0002 -7.0989 -8.4866 -8.1644 -3.6111 2.9801 -6.3159 -7.3905 -2.5939 -11.1587 -18.1433 -28.0453 - 11.4701 14.8919 19.2495 17.1766 9.1256 4.6224 0.3569 -3.6692 -6.2969 -8.7664 -7.4764 -1.7487 3.4354 -4.0219 -5.5797 1.1971 -7.0079 -5.6899 -4.9140 -26.3546 - 4.0502 6.3561 7.7528 13.2425 22.1071 16.8285 10.8539 9.9555 11.6373 14.4871 1.0686 -6.0140 -8.7291 -9.9474 -5.2420 -14.0196 -19.6200 -16.4317 -13.2116 -25.1241 - 14.0747 12.9823 14.7396 18.3580 20.8024 21.6686 20.4893 18.2777 14.8271 4.2101 -4.6228 -5.0852 -8.9555 -9.9704 -14.4886 -22.2364 -24.8924 -24.6202 -19.9776 -25.5806 - 6.5756 6.5342 9.0959 14.5314 20.6452 22.1123 17.0555 14.5823 18.4626 9.7441 0.1482 -4.4759 -4.9624 -0.2271 -12.9306 -21.6336 -23.8195 -22.7039 -21.8165 -26.9179 - -2.4130 -0.2375 2.8918 5.5011 6.7427 5.7418 5.0778 5.1858 4.3188 3.4462 4.3416 1.8899 2.3449 -0.9372 -1.2877 -2.8414 -4.0969 -5.4193 -7.2573 -22.9920 - 18.6934 11.3904 9.2311 9.3832 5.4199 3.6295 -0.1793 0.6487 -3.5589 -4.0062 -6.2031 0.6797 0.8497 -5.8255 -3.0197 -0.8407 3.4120 -4.6925 -10.2551 -24.7566 - -1.1447 1.5640 1.4686 1.7604 1.7234 2.3262 4.7312 2.6246 3.8383 6.5465 3.3830 1.7225 -1.7619 -1.0275 -1.1491 1.9434 -4.9663 -2.3871 -2.8449 -18.3507 - 14.1023 13.5650 10.1510 8.7911 7.7313 7.6480 9.2651 8.0399 4.9244 6.1141 5.5459 -0.9256 -6.1550 -7.0836 -8.6484 -9.0926 -9.2649 -13.5303 -12.0852 -29.0925 - 9.8451 13.4743 16.9269 13.4623 5.8133 1.7553 -0.7487 -3.9831 -8.1249 -9.5689 -8.7611 -6.3983 -0.6612 10.9895 12.8583 0.3283 -8.6023 -10.4136 -5.9048 -22.2865 - 19.2227 18.1307 15.9732 13.2757 8.9377 4.0318 2.7371 2.4204 4.8079 5.9436 -1.6587 -5.6682 -8.2354 -8.6156 -5.7373 -5.9194 -13.5825 -11.1928 -9.7272 -25.1435 - 9.7172 12.7596 17.7880 19.5982 13.1714 6.9756 4.2961 1.3629 -0.4383 4.9630 8.7840 0.9395 -2.9094 0.8700 -9.7739 -17.6442 -19.7626 -14.0983 -10.0576 -26.5411 - 19.7847 26.9921 27.0885 20.9467 13.4352 6.9927 3.8926 5.5073 6.3950 3.6410 -3.5260 -9.9366 -12.2833 -15.4366 -15.2739 -13.4030 -13.6697 -14.5223 -14.0162 -22.6082 - -4.7450 -2.3439 -1.2527 0.2681 2.5169 3.0271 3.2731 1.1854 -1.4898 -2.2085 0.9214 6.1154 5.0556 7.1405 5.3972 1.8235 -0.1874 -0.9732 -2.7856 -20.7382 - 2.7354 2.9846 4.5226 11.0075 16.9767 9.7039 5.0497 0.2367 -2.2382 -2.2319 3.3972 5.8953 -3.5572 -7.9222 -5.1006 4.0687 -6.7980 -6.9512 -1.5062 -30.2728 - 1.8923 1.9933 1.7272 1.4697 2.1029 2.7198 2.2271 0.4083 1.4890 2.3633 0.0136 -3.1335 -1.8351 -3.4645 -2.5082 0.1244 -0.6305 -0.2515 2.6670 -9.3744 - 7.3147 10.8559 16.3202 21.3322 15.5047 5.7917 2.0324 -0.5787 -3.8385 -3.1611 4.7722 6.9085 -0.8153 0.2585 0.5455 -11.9753 -19.4608 -19.4821 -11.0006 -21.3242 - -4.8271 -2.3317 -0.8263 -0.6913 0.0284 2.1785 4.8530 2.4866 0.5257 1.0973 0.9581 2.0508 -0.0850 -0.3240 -2.1544 -3.6769 8.2530 1.6818 2.7619 -11.9586 - 28.0344 21.3292 26.7011 15.9009 17.4755 11.8357 5.0600 6.5559 -4.3031 -3.5802 -8.7494 -8.4692 -7.5683 -2.5689 -10.7488 -16.5549 -18.6071 -16.7713 -13.4451 -21.5263 - 11.4465 12.5754 14.6510 12.0835 5.3520 1.6789 2.3021 -2.4719 -2.0905 -0.5169 -2.1754 -2.9241 -2.7917 2.0815 1.0635 -3.6587 -4.7680 -6.8125 -8.2348 -26.7899 - 11.1007 8.9165 11.8079 11.0313 1.9749 -0.9229 -2.4670 -6.7769 -9.1537 -10.4373 -8.8596 -6.3617 0.2425 8.3330 2.9722 9.5504 -3.2943 -3.1680 4.4488 -18.9367 - 12.7055 18.2073 17.6143 9.1957 1.5762 -1.0952 -4.9687 -6.1290 -7.3791 -7.2053 -4.3066 3.6014 9.8467 10.7313 -1.8676 -11.4282 -13.9225 -8.1802 2.6837 -19.6797 - 0.8368 -1.7610 0.4628 2.3612 5.1160 7.7374 9.4921 4.3865 6.1712 5.6238 6.3738 5.3491 2.7348 5.4859 4.6651 -8.4273 -10.9892 -8.6750 -10.7619 -26.1822 - 12.9582 16.0251 19.0637 18.9347 12.6765 7.8161 3.8112 0.9397 6.1611 7.4639 -2.5194 -7.1391 -10.2242 -10.1934 -4.1747 -5.7525 -14.4868 -8.2946 -13.9643 -29.1013 - 29.3165 26.9707 19.9517 12.4469 7.3647 2.8794 1.4068 -2.4963 -5.4012 -4.1083 -5.2153 -6.4891 -5.9548 -6.4872 -6.6510 -6.7351 -9.9422 -8.4833 -11.8558 -20.5171 - 7.6646 7.8496 5.3460 3.4574 6.3183 1.1408 3.1494 5.1045 0.2373 1.0847 -0.4320 -0.3662 -0.3503 -0.5473 -8.1949 -0.9695 -1.7599 -3.3828 -3.0248 -22.3253 - 7.0587 8.6157 9.7452 14.4294 20.8498 17.0788 7.0614 2.4228 -0.5017 -1.0215 3.1054 5.3564 -3.4904 -7.3987 -7.4398 -7.0656 -8.8032 -12.8630 -18.8666 -28.2731 - 5.7670 -2.6937 9.6459 -0.7839 10.7523 2.7960 -2.6113 -3.2915 -6.2928 -7.6167 -12.6729 -5.4796 5.0447 13.7582 10.3050 4.5191 -1.3433 5.4917 -1.7375 -23.5567 --11.2311 -7.9712 -5.4028 -3.3542 -3.1975 -4.2245 -3.9952 -5.3576 -5.3493 -4.8108 -5.4962 -2.9288 2.5785 4.7736 13.8058 17.8731 9.8332 14.9500 11.0220 -11.5171 - 2.8142 1.3603 4.2714 4.8975 4.3374 -3.4231 3.1881 5.0714 3.9705 6.2234 3.7268 5.2790 1.3825 -7.6582 -2.9268 2.0075 -4.0570 -5.6086 1.2855 -26.1418 - 4.9776 6.4457 7.7463 9.3687 9.5559 9.1954 6.3666 4.9237 2.1719 1.7788 1.4634 -0.3859 -6.1409 -5.3778 -2.6336 -2.5068 -8.3667 -7.0441 -11.2867 -20.2514 - 10.0472 11.9967 16.4907 19.9334 16.2325 9.2915 4.3130 0.7097 -4.0959 -8.1186 -10.5064 -10.3134 -5.2102 1.0801 -1.5982 -3.8949 1.2501 -7.5248 -12.9333 -27.1495 - 17.0433 19.1713 22.6813 17.1064 8.7516 4.3917 -0.7236 -5.3026 -7.9288 -8.3773 -7.4784 -3.7859 -2.5186 0.0200 -1.5465 0.1954 -10.7830 -12.0301 -3.0579 -25.8283 - 18.6591 22.3501 23.5831 19.0252 13.9063 13.3289 9.0463 -3.2346 1.2718 1.4619 -4.3706 -7.4089 -10.7710 -11.8151 -0.8947 -8.7094 -22.3259 -8.0672 -18.5235 -26.5118 - 3.2886 3.8514 1.5062 4.9096 3.9001 3.8964 -0.6349 -1.5534 -1.3119 -2.3130 -1.8455 -3.5666 -2.6094 3.4411 -1.0089 -3.0556 4.5250 3.3979 1.1349 -15.9520 - -5.6652 -3.8931 -1.8885 1.6299 2.3371 2.0746 2.1285 0.4372 0.0031 4.2521 5.2010 3.3227 2.8933 1.9467 2.1449 0.9405 2.1680 2.3807 -1.3113 -21.1022 - 21.7270 24.2953 23.2112 13.4917 7.3423 1.4843 -3.1924 -4.8355 -10.3896 -11.3960 -12.8133 -11.6304 -9.9774 -2.6034 3.7943 3.5260 -4.2988 -6.0579 0.3494 -22.0269 - 7.1102 6.3521 11.6650 18.7864 16.7459 8.3216 5.8454 4.3436 9.4868 7.7601 -3.1382 -10.3196 -14.1642 -15.1634 -11.6972 -1.8200 -7.1959 -8.5258 -1.8553 -22.5374 - 14.2212 17.8028 21.4842 24.9383 24.9854 22.3982 21.3770 20.9687 13.4315 0.0683 -9.1695 -13.1215 -13.8982 -14.9798 -18.1636 -20.5802 -22.0396 -23.0260 -22.3178 -24.3795 - 8.9039 9.7955 9.3225 11.7206 17.8844 21.1802 19.2262 17.3421 13.9029 7.3860 -2.6995 -8.3297 -10.1319 -8.7756 -6.0590 -8.7597 -15.4747 -24.0243 -25.5723 -26.8375 - 3.8554 4.2234 6.2441 12.5445 18.1461 14.0699 5.9992 2.7220 1.0526 2.1813 9.5825 3.3502 -4.3618 -5.0291 0.5610 -10.3142 -15.3449 -12.7063 -7.6401 -29.1358 - -8.9085 -6.1917 -3.8341 0.0473 -0.3559 -1.0455 0.4343 0.7424 0.1788 -2.4081 -1.5815 0.7755 2.7896 -0.3538 0.5914 4.7530 5.3039 5.5717 8.4610 -4.9697 - 6.0177 9.1902 12.5400 17.6650 18.0833 11.1113 3.6376 -0.9348 -2.4340 -3.3221 -2.4870 5.4750 6.1443 -3.6923 -2.5169 -0.6902 -11.0083 -16.8129 -17.3554 -28.6106 - 12.6629 16.5188 17.0120 11.3763 2.7817 -0.7077 -5.5288 -8.1972 -9.1883 -10.5072 -9.3239 -6.2042 2.0877 8.3448 2.7802 8.4635 -5.0126 -9.0230 -5.5900 -12.7449 - 26.6077 25.1133 19.7421 13.7493 7.5294 4.8418 5.8235 5.9404 3.3399 4.8147 -1.6758 -4.4299 -7.1722 -6.5470 -9.6023 -9.9251 -17.0327 -19.5694 -18.7525 -22.7953 - 9.3391 15.4719 19.7226 13.6838 5.7655 2.9423 -0.2309 -3.0447 -5.0071 -3.6430 3.6089 8.1171 -1.0555 -2.5360 2.0952 -6.4482 -11.0547 -9.9411 -11.5931 -26.1921 - 6.7164 12.9088 8.1465 2.9974 -1.5306 3.7966 4.6355 0.1956 -4.4054 2.5643 -3.5126 -0.4027 0.5107 -1.6406 0.9829 -5.6846 -0.0083 -4.8894 -3.3272 -18.0535 - 1.8584 3.5453 10.7864 10.3313 8.8364 11.3153 12.6550 8.0839 10.2072 14.1247 0.1105 4.9955 5.9811 7.9709 7.5141 -6.0319 -21.0185 -23.4977 -32.6987 -35.0693 - 13.1044 15.4062 17.5958 18.0756 11.3524 4.3670 2.6428 0.8781 0.0399 6.6751 8.2361 -2.6757 -10.1776 -9.8299 -3.1506 -9.5151 -14.3971 -6.2859 -13.5883 -28.7532 - 0.0688 2.2921 6.5965 8.3598 8.2327 8.6486 7.1471 7.1631 4.4823 3.4067 11.3001 9.5567 0.6574 -2.5849 -6.7404 -8.6614 -8.6399 -12.0189 -13.1958 -26.0705 - 9.5134 11.1944 14.6379 21.3303 20.9351 12.8622 5.9234 3.0673 0.5662 2.8569 7.4992 -0.6339 -9.8527 -12.4761 -11.2573 -4.7464 -13.5940 -18.0638 -14.8928 -24.8691 - 5.5904 5.1588 4.7053 4.3271 5.8271 9.5093 8.4110 1.6453 -2.2667 -2.6767 -1.4248 -1.1260 2.4114 -1.8009 -4.8190 -8.2201 -2.9355 -0.2567 -0.3488 -21.7105 - 0.4175 1.2148 5.1829 9.3743 9.7458 5.9476 5.0377 2.5369 -2.7391 -8.8960 -11.0818 -7.0650 -7.4393 -1.4335 10.1963 9.6385 5.0133 -4.2894 -3.8725 -17.4890 - 8.8274 9.1037 13.6965 18.9331 20.4960 15.7102 9.1227 5.5813 1.7546 1.3849 6.9672 6.4807 5.2247 4.2668 -9.8256 -18.2374 -24.2455 -24.1902 -22.7864 -28.2649 --10.4296 -11.2348 -7.6061 -8.6646 -7.9499 -6.1250 -4.3918 -6.8877 -5.4461 -2.2579 -1.3507 2.2980 4.8244 12.7426 12.4434 14.4927 14.8125 12.9871 9.6224 -11.8790 - 8.8890 12.0408 17.2338 23.3492 22.1801 17.3250 16.4611 18.6109 12.0359 -2.1102 -7.5218 -11.7288 -11.4854 -7.6790 -11.7033 -21.2349 -23.6258 -19.3358 -7.8566 -23.8442 - -7.7648 -7.6325 -5.9874 -5.7763 -5.5038 -4.9788 -3.5524 -3.9264 -4.7269 -2.6727 -1.6911 -0.4884 1.8633 1.5449 3.1375 9.0909 11.6855 13.4220 16.9117 -2.9544 - 17.5979 21.0040 20.3690 15.7264 13.3239 13.0722 13.4678 1.7577 -6.0904 -6.9925 -8.3415 -10.6335 -9.5482 -1.5234 3.9870 -6.9271 -17.4878 -18.4739 -8.9267 -25.3608 - 6.1805 4.1462 3.5010 2.7230 3.9708 8.1302 9.4910 3.6927 2.9790 2.0598 -0.6100 -1.6298 -2.5238 -2.5441 -3.9959 -2.7189 -3.9403 -3.9477 -4.9568 -20.0067 - 7.7322 4.4707 5.2320 7.8782 9.1005 5.4418 6.0577 3.7093 0.1939 -0.2785 1.1984 -2.6011 0.6595 2.7395 -0.9452 -4.5096 -8.4529 -6.4501 -6.8768 -24.2995 - -6.4169 -3.8203 -3.3676 -1.3384 0.0068 -0.0917 -0.6540 -1.1092 -2.2062 -2.8976 -3.0409 -2.6706 2.9750 6.3064 7.4779 12.0806 5.7715 5.5715 0.9432 -13.5194 - 7.6067 9.3813 13.4849 19.9139 22.7781 18.4350 15.9140 18.9134 10.1002 -4.3291 -8.2178 -13.6741 -15.7040 -16.5313 -14.1193 -3.7115 -13.7922 -12.8183 -7.7992 -25.8309 - 4.7167 3.8923 5.7519 8.0369 12.8563 16.7380 15.0698 9.7568 7.4623 7.4165 7.7550 1.1797 -6.3964 -6.5897 -1.5093 -9.7231 -17.0341 -15.7607 -12.6623 -30.9568 - 9.6098 13.4286 18.7280 18.1791 9.8536 3.5779 1.4841 0.4639 -0.5329 2.6536 9.8742 -3.2808 -8.9269 -11.0817 -6.3122 -2.5681 -15.3236 -12.3977 -1.9946 -25.4341 - 3.8990 7.6431 13.4623 16.8504 10.0821 3.4259 -0.1709 -4.7791 -8.1809 -9.2214 -8.3021 -5.9798 2.0125 6.9915 1.4712 6.5493 -3.7836 -4.9571 1.3613 -28.3737 - 13.9079 16.7984 20.6342 24.6533 24.3507 19.3643 17.9172 18.3920 11.7020 0.0010 -10.1043 -14.9084 -18.2285 -20.4094 -21.5267 -19.7383 -13.5385 -9.5045 -16.6159 -23.1465 - 7.1797 11.3922 15.7490 19.3949 17.3819 10.7478 7.3006 6.1472 9.1598 11.0073 4.7816 -2.4892 -3.7349 -3.7521 -1.7971 -9.8976 -22.2914 -25.7550 -23.0236 -27.5010 - 5.6600 8.4600 10.4652 12.1954 14.9914 18.5645 17.0459 10.3163 4.8130 2.3220 0.5889 4.1108 1.2082 -9.3950 -13.7061 -13.1090 -10.1060 -11.3113 -21.8744 -31.2396 - -1.8886 -0.7563 0.4909 4.9127 6.9239 5.1456 6.2254 6.4299 5.1768 9.1990 13.2223 5.4194 -3.0538 -4.7242 -5.1855 -3.7939 -7.3421 -6.1816 -4.3871 -25.8328 - 11.3455 9.9507 8.1659 6.0877 1.4526 0.9704 4.7975 4.0208 -0.5941 2.5357 1.5340 -4.3306 -1.6103 -4.4373 -0.0323 -2.6725 -2.0195 -3.5278 -6.3697 -25.2666 - -0.8009 5.6194 7.0974 6.1331 7.2063 7.4038 4.5741 8.4379 4.2968 7.9137 13.0725 2.3362 0.6963 -2.4917 -4.9374 -7.2728 -8.2160 -9.6329 -14.4558 -26.9800 - 9.4449 12.4990 15.8206 17.3018 10.9373 5.5366 0.8716 -1.2105 -2.4770 -3.4484 1.0611 6.1591 -1.7466 -7.5929 -6.9295 -2.1338 -8.9361 -10.3674 -6.3554 -28.4344 - 11.5326 10.9047 16.3163 21.0845 11.9757 7.0511 0.8356 -4.9870 -6.9450 -9.2309 -9.7748 -8.2038 -2.2957 5.5139 -5.4119 -2.7410 2.4166 -7.4497 -6.0628 -24.5286 - 9.3064 9.3678 11.2235 13.9991 14.4345 11.1982 6.3282 1.4131 -2.6884 -7.1825 -11.0075 -12.3749 -9.2573 -6.0414 2.3206 4.6097 3.5670 -3.2208 -9.5445 -26.4507 - -6.7163 -6.0323 -3.7943 0.8820 3.6629 4.3198 4.7402 4.0799 4.8854 5.8718 8.3927 9.6825 10.5717 3.8917 0.9125 -1.2807 -3.7018 -5.7570 -8.2525 -26.3582 - 10.2748 11.6455 16.3809 20.1490 18.2488 12.7899 10.3972 8.0106 -0.6794 -6.4024 -9.7054 -13.5667 -14.6497 -16.1902 -6.9531 0.2117 -0.7067 -1.2331 -10.6728 -27.3488 - 13.3782 16.3500 15.3612 8.9247 3.4890 -0.7729 -2.6106 -7.5432 -8.0129 -7.6140 -7.8535 -2.4356 6.5050 -4.5887 -3.2816 5.8982 -1.3889 0.3111 0.3606 -24.4762 - 10.0811 14.1057 20.3635 24.0314 20.3690 17.0236 16.4460 19.2548 6.0111 -3.4365 -9.9143 -13.0905 -15.0150 -11.4726 -6.6405 -10.0976 -14.6658 -19.9459 -19.4800 -23.9274 - -7.1817 -5.5458 -1.6137 0.8007 1.9284 2.5116 0.3432 3.3359 0.2833 -1.3305 -2.4960 -1.6366 -2.6968 3.6695 6.8225 4.4926 6.1940 6.7541 2.2072 -16.8418 - 9.6326 11.3478 14.3982 20.7665 19.7772 12.3406 6.1933 1.0438 -1.1521 -1.5860 1.8440 7.8419 -1.5328 -9.8703 -10.1973 -2.2440 -12.0413 -18.5948 -20.6014 -27.3660 - 1.5056 1.6880 4.2152 9.5291 17.0514 16.2096 8.5432 4.2111 4.4898 11.7231 5.5770 -4.8191 -7.5020 -5.9733 -0.7664 -10.2798 -14.8967 -9.8638 -3.1062 -27.5357 - 15.2115 17.9992 21.5012 24.9136 19.1760 15.8798 16.4094 17.8040 5.9025 -3.3769 -10.4408 -15.3738 -18.5882 -19.7882 -17.7007 -14.2386 -13.9566 -13.8247 -5.8162 -21.6922 - 12.1911 17.2966 17.4896 10.6943 3.5061 -0.1018 -2.5405 -6.3143 -7.6095 -8.5828 -7.4501 -2.2275 8.4004 0.0230 -1.6734 2.8727 -8.2243 -7.2548 -0.5950 -19.8998 - -0.4264 0.0708 1.9133 6.0904 12.7810 17.8469 12.0313 4.9753 4.2790 6.9401 10.3052 0.2003 -6.7328 -10.0168 -10.0292 -2.7869 -5.6536 -9.3242 -6.0818 -26.3818 - 7.8387 12.9821 20.1116 21.8527 15.0291 10.4182 9.9996 12.5177 11.6815 -0.1048 -5.5624 -6.4577 -2.0918 -6.3498 -17.7376 -20.9015 -21.1073 -13.6752 -3.7477 -24.6953 - 18.0184 21.7405 20.2020 16.4376 12.3859 12.2417 12.1975 6.3324 -4.4281 -11.4734 -5.9353 -8.8421 -10.3280 -4.7973 3.4477 1.4017 -15.9637 -17.1346 -16.9459 -28.5571 - 8.9922 8.4069 10.2569 10.5303 10.1285 4.9362 1.8698 -0.0537 -5.3906 -5.9983 -4.6797 1.6021 -1.9697 -5.3874 -2.3336 -0.9265 -2.7071 -2.3523 -3.3933 -21.5307 - 0.1643 -2.2100 -0.9888 -3.4801 -0.5275 -1.4680 -0.5683 -1.5514 -0.4216 0.5034 -0.8521 -2.7835 0.5014 -1.2182 -0.7495 5.2974 5.8643 8.2766 6.0259 -9.8143 - 7.6720 8.0788 9.1059 14.2217 21.6149 24.6272 15.4198 12.7487 14.5686 14.3925 0.6524 -7.7122 -12.3140 -13.4374 -8.0366 -14.9387 -21.7305 -22.0625 -19.3233 -23.5474 - 2.2815 1.7578 -0.6674 1.7705 0.4755 0.4978 -1.3799 -2.1107 -2.6075 -3.5652 -2.8715 -6.8295 -1.7109 2.8096 -0.7449 2.5543 8.6739 -0.5359 6.8846 -4.6821 - 18.2027 16.9209 12.1191 7.6862 3.0545 0.5751 -1.6156 -1.2378 -3.1289 -4.2377 -5.6464 -5.0994 -5.0515 -1.2417 1.1802 1.1938 0.3821 -6.3202 -6.4152 -21.3203 - 3.5023 4.9407 6.5095 8.9494 13.2647 15.1725 11.9431 6.2423 1.1652 -1.6313 -2.9929 -1.9072 3.4422 2.8306 -3.2309 -5.3351 -2.3238 -10.7536 -17.8375 -31.9502 - 4.7778 10.3180 13.9538 16.0868 9.1380 2.9991 -0.6627 -4.2067 -5.6625 -4.9839 -1.2287 7.7334 9.3244 7.4153 -4.1228 -11.6166 -8.7569 -5.6012 -5.8002 -29.1044 - -3.8341 -1.3838 -0.9472 -0.4209 1.7906 4.2155 2.2324 4.3091 1.1357 8.4456 9.7973 6.3722 2.6068 0.3293 0.1016 -0.3203 -4.2313 -3.6986 -3.9405 -22.5593 - 7.9933 10.9520 14.6109 19.7867 15.1983 6.5296 4.9056 0.7415 -0.5271 -0.1092 6.9036 12.3792 7.7901 2.0866 -9.1117 -12.3605 -5.7793 -23.1437 -29.0076 -29.8384 - 25.8990 23.1895 19.6721 15.4616 9.3167 5.4831 6.1546 7.4477 4.2279 -1.3757 -8.0309 -11.4646 -10.4795 -7.5543 -4.2227 -6.0439 -16.4547 -16.3865 -13.0397 -21.7998 - 5.9702 6.6918 8.5551 14.7594 15.5278 10.2403 6.0423 1.7099 -0.1415 0.4245 5.8906 10.2752 2.9571 1.0304 -7.5844 -15.4930 -16.0321 -8.3602 -12.0263 -30.4370 - 0.2377 1.2490 0.9118 1.8024 3.7548 4.8963 5.1515 4.2684 0.3786 0.5058 0.4839 -0.9914 1.4073 1.1727 -2.9065 -4.4307 -6.9456 -0.2385 0.3969 -11.1044 - 4.9017 3.2442 -1.2482 -1.2472 -2.0773 -5.4371 0.3708 4.1825 12.1289 1.2950 -2.3136 -3.1723 -0.4429 -1.6571 -9.7455 6.5626 13.4075 7.0987 -2.0865 -23.7642 - 26.5958 8.4474 11.9082 11.6976 1.4010 -0.2500 3.9848 3.6429 -6.0468 2.5341 -5.2699 -11.5085 3.8103 -6.3108 -2.4679 2.1530 -6.3876 -7.1780 -8.4060 -22.3496 - 2.2962 0.8041 0.8352 6.6150 14.5461 15.0856 3.2964 0.5549 -1.6557 -2.0236 2.8955 7.5016 -1.2031 -5.6899 -4.7833 1.2942 -7.3403 -8.3771 -4.0417 -20.6100 - -3.1520 -0.4969 6.6485 7.8768 5.5605 6.5283 5.6337 4.1543 13.9779 2.7762 6.1398 -3.7070 -1.7982 -2.8944 -6.0041 -6.5265 -11.4873 -1.5122 6.0580 -27.7754 - -8.0020 -4.6131 -0.7821 3.3160 4.4465 4.7754 2.8155 1.0612 4.8060 6.0492 5.9390 3.1446 2.8568 -0.6657 -2.6961 -2.1500 -0.9756 -0.2816 -1.9847 -17.0594 - 12.4378 17.8157 22.2857 21.4926 15.3987 11.6565 8.4610 -5.9608 -14.7466 -15.8101 -21.8850 -17.3295 -13.0545 -3.3503 5.7314 1.5346 1.1396 -7.5940 -1.8366 -16.3862 - 0.8964 0.1937 0.1104 1.6479 5.6517 12.1890 10.2771 4.4234 1.0502 -0.5311 1.2594 6.8796 5.2931 -3.9156 -6.0500 -0.9098 -4.2858 -6.9837 -7.0958 -20.1002 - 19.8439 13.4280 9.6622 10.6650 8.0950 5.5066 1.7572 -1.0429 -0.8012 -2.8142 -0.4934 1.3117 0.5243 -6.1730 -8.1290 -6.3324 -1.5063 -10.0417 -9.1390 -24.3207 - -2.7279 -1.7097 -1.1534 1.6639 5.7537 6.7942 10.6044 12.5105 10.6069 10.0936 6.6639 5.7680 -0.0784 -3.9348 -2.0808 -2.5423 -7.7730 -12.2311 -11.4054 -24.8224 - 10.1275 12.1619 16.2723 20.8127 20.9740 14.8019 10.1842 6.5306 4.4543 7.4531 12.2713 6.9620 6.8204 -5.0668 -18.1362 -24.0479 -25.9037 -25.4208 -24.3890 -26.8618 - -9.9466 -6.5695 -9.8093 -1.7391 0.0580 3.2073 7.0375 2.3619 -1.1764 -5.8692 0.3050 -4.2033 11.2777 -0.3904 7.8268 9.8649 4.7504 6.9825 7.6743 -21.6424 - 14.0137 16.9699 19.0697 15.0058 7.0268 5.9083 2.9474 2.1595 3.8159 7.2602 11.3975 7.5965 1.6600 -6.7074 -13.8401 -15.7435 -16.6488 -16.4066 -16.4466 -29.0384 - 6.2399 3.2858 -0.2213 -1.4923 1.3132 3.9330 3.5221 2.8631 1.3615 -0.0790 -1.0125 -1.0737 -0.3033 -0.8480 -0.4749 -1.1495 0.1031 -0.2090 -1.3002 -14.4580 - 14.6593 20.5101 23.6344 20.8409 12.5620 6.6891 3.7103 -0.8534 -3.6042 -5.9363 -7.0110 -3.7764 1.6775 -5.6072 -12.2281 -10.8044 -4.3275 -11.1148 -14.7836 -24.2367 - 17.5445 22.4817 15.1353 12.5880 5.1049 1.9643 5.3928 -3.5987 -0.4750 11.7373 12.9388 -3.8264 -3.5752 -8.3127 9.4226 -10.0441 -20.2747 -19.0638 -21.8010 -23.3385 - 11.5639 14.1176 19.1780 24.7909 18.2344 11.0457 8.2594 6.6617 7.5852 14.1840 12.1883 7.8148 -0.4947 -16.4472 -21.5615 -22.7378 -21.8493 -21.9703 -24.9810 -25.5820 - 7.3833 6.5793 5.7205 10.2722 16.6567 15.1599 9.5922 5.5668 5.0234 9.3817 5.3741 -5.1082 -9.8091 -12.3432 -12.5495 -6.2366 -5.9929 -8.3697 -6.8581 -29.4426 - 0.3726 -5.6285 -3.2253 2.1557 3.8332 12.1538 14.6059 12.3634 15.7294 17.0679 4.8054 -1.6834 -7.5585 -11.9417 -12.8749 -9.7037 -1.2933 -5.8852 -6.0304 -17.2623 - 12.4589 17.5375 23.1698 18.7129 9.0574 6.8369 3.3366 -0.7668 -3.5028 -5.8079 -2.0422 3.5413 -5.4920 -15.4559 -14.9601 -7.1860 -2.1139 -10.3945 -4.5301 -22.3991 - 7.7831 5.9803 3.3957 1.1363 0.6624 -0.3876 -1.2270 0.5350 0.3563 5.2276 9.1991 8.9238 2.6320 -1.9335 -4.2120 -2.5342 -1.0999 -4.9168 -4.9485 -24.5720 - 12.7865 11.7808 12.0132 12.7418 11.7725 11.2618 10.9064 7.0094 3.3808 -2.3233 -4.5714 -6.7413 -8.0255 -8.7048 -10.9950 -7.0616 -9.3710 -7.6597 -4.9100 -23.2897 - 7.4583 10.3954 16.3813 20.3810 16.5656 9.1371 4.5296 4.0559 6.8658 9.8043 0.1187 -6.6202 -8.4161 -2.4957 -9.4787 -16.3418 -17.6122 -13.1639 -7.5007 -24.0638 - 10.5778 12.5102 15.4500 16.2510 14.1076 12.4513 11.9259 10.4537 6.3771 1.6824 -3.8825 -5.5239 -8.8633 -8.0708 -4.6460 -3.2386 -13.9943 -17.4761 -15.8823 -30.2093 - 16.5450 21.4563 20.0130 10.5420 0.7521 -0.1817 -5.7313 -0.2690 -4.1817 -0.5968 6.2079 4.1626 -0.4622 5.1095 -10.2058 -16.0783 -19.9597 -11.6630 4.3789 -19.8380 - 0.6538 1.9228 2.2930 5.2351 12.5744 11.0394 7.4850 0.8228 -3.4564 -5.0324 -2.9456 4.4755 9.6050 1.6136 0.0025 -0.9954 -6.7769 -7.8860 -2.9330 -27.6973 - 14.1315 17.7109 22.9482 25.5022 19.8506 12.4355 10.8121 14.0608 12.2635 -2.6541 -11.3457 -15.5204 -18.0730 -18.7390 -15.7720 -7.2576 -9.9721 -9.7355 -17.1060 -23.5400 - -5.7314 -4.0590 1.0581 0.9805 1.3616 2.7093 6.3692 11.6381 12.0180 9.1818 6.8001 1.9409 3.0785 -2.5335 -5.7990 -0.6774 0.8325 -4.7436 -7.1073 -27.3175 - -1.0640 0.7851 2.7160 6.1021 12.1198 15.4431 10.3026 4.0089 1.9648 -0.0384 2.4993 9.2599 1.9572 -4.2838 -3.1953 -1.1928 -7.8283 -8.5999 -10.0789 -30.8773 - -5.6296 -4.3307 -2.3209 -0.8933 0.2894 -1.9304 -2.0575 -2.7780 -6.2185 -5.9192 -6.6197 -5.5076 1.7000 -2.2417 6.7340 9.7221 5.4135 15.4230 16.2356 -9.0706 - 21.8983 23.2393 21.5176 17.3026 15.6381 10.7095 -4.6739 -9.4131 -7.3736 -9.6360 -10.3893 -7.6173 -3.6940 2.4229 12.3234 -14.8401 -14.2133 -12.8790 -4.4302 -25.8921 - 11.8056 15.6560 20.2939 16.8416 9.1858 2.5617 2.6711 -1.0207 -1.4500 -0.2437 6.6714 6.5193 -0.4136 -1.1308 -3.7531 -13.8441 -14.3531 -10.4897 -18.0817 -27.4259 - 55.7273 39.9360 26.2526 15.0127 6.4718 0.7391 -2.3157 -3.1939 -2.9475 -3.3569 -5.3235 -7.9446 -10.6626 -13.1662 -14.2100 -14.4691 -14.4121 -13.8376 -15.6433 -22.6564 - 3.7665 2.9173 4.2496 1.8470 7.9023 14.8241 11.0448 3.4540 2.7173 -3.8368 2.5626 4.5604 2.9217 -9.5401 -8.3622 -8.8234 -1.4224 -0.0449 -2.7094 -28.0285 - -9.3983 -8.0419 -4.4832 1.9754 -0.3749 4.6985 6.4445 3.4462 1.2139 4.1530 -6.0488 0.4383 7.0647 3.8491 2.7818 -2.6890 2.0052 6.3893 4.3086 -17.7324 - 10.6303 13.7716 17.1718 20.1678 12.2486 3.3600 2.4058 -2.5934 -4.8765 -6.0115 -4.6562 -0.7932 8.0003 -2.2840 -3.8243 0.1863 -9.1648 -14.9839 -14.0940 -24.6607 - 16.6586 21.6444 20.8223 12.8954 8.1955 4.1214 1.5648 -2.8573 -5.5724 -6.5555 -5.8004 -2.3591 4.8330 -0.2831 0.7092 -9.8961 -15.4807 -12.0228 -6.1807 -24.4365 - 6.2715 7.1856 9.0377 12.3924 19.0793 22.2584 18.7678 12.6682 9.6569 13.2645 2.9549 -2.9501 -4.4734 -4.2440 -12.7065 -19.5653 -21.3156 -21.7041 -19.8037 -26.7746 - 6.6118 7.9766 9.5899 16.7112 22.8331 15.9736 8.1328 4.9522 3.0471 7.2666 11.8402 -1.4154 -4.2808 -5.2523 -8.9476 -17.0691 -18.3281 -12.6216 -21.0003 -26.0198 - 17.3127 17.4868 17.7344 12.4834 5.8856 4.6009 1.0730 -2.7678 -2.0723 -0.4628 -3.7999 -5.8370 -8.6148 -7.6108 -6.5104 -2.5688 -1.6184 -6.1466 -7.5013 -21.0659 - 3.4054 5.0769 7.0766 9.8006 20.0250 22.5645 11.5478 6.2329 4.4723 6.4844 10.6573 0.2331 -6.2477 -11.0870 -10.3507 -4.2484 -15.1989 -19.0756 -16.4193 -24.9492 - 4.7627 -2.1833 -2.2828 -3.7716 2.8453 7.5100 11.3439 6.1880 0.3611 -1.2837 -10.2990 -7.9318 -4.0985 1.3582 6.4088 6.3304 9.4372 -0.3781 -7.0962 -17.2205 - 0.0639 1.7461 3.2578 7.1373 14.2936 21.0383 16.8137 10.1108 14.3040 14.1399 0.3676 -6.3231 -10.5295 -12.7919 -9.1838 -2.4821 -12.1068 -13.6518 -9.1740 -27.0298 - 6.2012 6.2177 8.6617 15.7008 20.0807 16.3263 9.7644 7.6670 11.6809 8.6315 -2.6559 -7.4948 -10.0457 -10.1131 -6.9875 -12.9972 -15.7760 -10.0148 -6.4425 -28.4048 - 8.4071 5.8192 3.5662 1.9627 2.4472 1.8597 -0.7370 2.3814 0.1779 1.4958 2.9385 -6.0143 -2.3152 0.3049 -1.7145 0.7158 -1.3399 -5.1439 2.0438 -16.8555 - 7.4409 3.3788 6.5115 14.5248 13.0646 4.0268 -1.1894 -5.0999 -7.6910 -8.4282 -7.9356 -3.3516 6.9774 0.9806 -1.3988 5.5785 -3.1694 -5.2282 1.6484 -20.6401 - 11.6728 5.2904 7.2713 8.1521 8.6202 4.8390 1.9077 -2.7604 -4.5028 -8.9428 -12.4662 -11.0383 -4.7642 4.2903 3.3702 1.0547 5.8752 0.7203 -0.1952 -18.3942 - 1.7662 2.1132 0.6823 0.5069 -0.7694 -0.5730 -0.6749 0.4539 -2.3850 -0.8937 3.2905 1.9366 4.8907 8.8910 3.4773 1.6832 -0.3850 -1.0325 -5.4486 -17.5299 - 11.1327 8.1369 5.9398 7.2387 9.0755 13.7563 15.6715 10.9671 4.3603 6.5521 8.2784 8.2998 -3.5109 -8.8874 -13.5723 -11.9565 -11.2912 -14.9059 -15.3573 -29.9274 - 17.2359 18.8517 18.1626 16.5245 13.3466 10.8703 8.4673 4.7337 2.6350 0.0183 1.1954 4.7388 -2.9359 -6.0731 -7.4347 -16.3769 -19.9350 -20.0072 -15.2078 -28.8095 - 15.9881 16.1253 11.9372 8.7157 5.3883 4.3873 5.5095 5.6589 0.5361 -1.1208 -4.8170 -4.8077 -4.2337 -3.8897 -5.7866 -5.1486 -6.6937 -4.6271 -8.1104 -25.0113 - 10.5287 10.4645 11.0189 12.4921 10.2092 2.1803 0.6775 -1.9607 -7.8737 -8.5232 -10.8456 -10.0601 -9.5234 -5.7091 4.1283 1.9979 4.9082 2.3842 -1.6831 -14.8109 - 6.8712 7.1195 7.8478 9.0102 7.5469 4.9121 6.0618 3.0705 0.6628 1.7728 2.7140 6.3541 3.1029 -4.2377 -6.3687 -2.2545 -6.3865 -11.4164 -9.6711 -26.7119 - 16.6601 22.0460 20.3084 13.4923 8.0021 8.7024 10.1260 10.4026 4.1888 -3.7328 -6.1710 -10.8693 -16.0494 -7.8483 0.2833 3.3381 -13.0116 -16.9474 -14.2501 -28.6704 - -1.6472 -1.5329 -0.7265 -0.8590 1.5500 3.3445 6.0600 5.7678 2.9402 4.2316 1.8384 -2.4116 1.7488 -1.1846 0.2843 -0.4495 1.5215 -2.2191 -1.2847 -16.9723 - 5.4499 9.2168 13.6525 18.6245 21.2266 16.3225 10.2029 13.7648 16.3433 7.8345 -0.8506 -3.0654 0.8282 -4.7895 -14.3191 -13.6263 -16.5382 -25.7242 -26.3799 -28.1733 - 5.4928 7.2730 11.4735 16.9546 13.9651 4.9178 1.4991 -1.5005 -3.3689 -4.2367 1.4622 8.4912 0.6337 -0.2593 0.3732 -7.8143 -10.1871 -7.5615 -7.0778 -30.5301 - 6.6781 5.8903 6.7632 9.1810 8.8397 9.7239 8.7155 7.7970 6.3227 3.4228 0.2514 0.1110 -1.6716 -5.4364 -5.9387 -8.2352 -7.5149 -7.0855 -8.8552 -28.9591 - 11.8209 17.4970 19.5821 14.6674 8.7810 10.5929 17.1599 11.1304 -1.5934 -2.4291 -7.1040 -7.2023 -9.3009 -11.7782 -8.5498 -11.3872 -9.7560 -0.1211 -12.0128 -29.9970 - 10.1575 12.1948 14.9933 16.4447 14.1842 8.2787 4.1829 1.5996 -0.4007 2.6686 4.5920 3.8070 -0.5362 -2.8498 -6.0317 -8.0974 -11.2561 -15.9690 -16.7096 -31.2528 - 17.3728 16.5602 12.1580 2.2953 -0.7338 -2.2088 -3.0060 -3.4950 -5.7703 -1.8968 -4.1417 -2.2550 -0.4691 -0.6536 -2.4783 -1.3584 1.1130 -1.5486 -2.1800 -17.3041 - 10.9509 14.6912 20.9171 20.7445 13.3882 9.0276 8.4810 10.4480 11.1634 -1.3107 -8.8976 -12.4550 -14.1419 -12.2168 -8.1653 -9.1840 -14.6536 -10.7798 -3.3490 -24.6582 - -4.2511 -4.3180 -6.4235 -4.0719 -2.3887 -3.1485 -4.2032 -3.5194 -7.5010 -5.4107 -2.3368 0.6165 -2.5480 -6.5746 5.7100 1.8165 14.8553 24.3830 15.8024 -6.4884 - 6.8815 10.8626 15.3667 14.4704 2.5878 0.6962 -3.7687 -7.2033 -9.3334 -10.5308 -9.6190 -8.2135 -3.3921 8.1225 8.7748 9.4979 -0.1825 -3.9609 2.5378 -23.5939 - 10.7457 13.4613 16.3838 18.1633 11.9764 6.2322 2.2046 -1.6815 -5.4025 -5.3261 -1.9194 5.7850 7.0183 8.8506 -7.0398 -15.8090 -17.0181 -9.4482 -9.5562 -27.6203 - 4.4895 6.7459 11.3127 18.7251 18.1351 6.5502 1.1677 -1.0341 -3.9953 -2.3382 3.5745 11.8555 2.9192 6.0596 -4.8984 -13.0118 -16.2470 -15.0252 -10.6982 -24.2871 - 10.1449 10.3471 14.7490 16.1718 16.9528 11.3815 6.8749 1.4265 -2.7864 -6.1956 -8.0139 -7.8556 -2.8591 4.0596 5.4548 3.3633 -10.2166 -16.2406 -18.8135 -27.9450 - 9.5266 9.8619 11.6564 16.1435 22.5856 19.0228 9.5649 5.1013 3.9082 6.9523 9.4453 -4.8784 -10.6008 -16.0258 -16.6123 -14.7740 -6.6639 -13.8342 -16.3927 -23.9867 - -2.8166 -0.2578 2.8925 4.4555 5.6756 4.6914 3.4417 3.4041 1.8890 1.8575 -0.5242 1.9867 0.9536 -0.9744 -1.4010 -2.1961 -1.2827 -2.3186 -2.1481 -17.3281 - 6.5757 10.4876 15.8653 20.5177 18.3749 8.4114 4.7411 0.5009 -2.9659 -4.1461 -4.5681 -0.6566 5.8038 -2.3737 -8.5532 -6.5787 -2.8561 -13.7548 -17.8769 -26.9485 - 7.1295 8.3469 8.9916 14.7649 20.5000 15.5149 7.3359 0.6792 -1.5195 -5.0373 0.9468 7.0372 -4.0339 -9.7787 -8.9444 -0.8558 -12.0386 -13.0157 -7.1764 -28.8465 - -6.3643 -3.5600 -0.9853 1.3808 3.5164 4.4752 4.2783 4.1699 0.4058 -0.8097 -0.9913 3.1386 9.3653 -1.1057 -1.2662 0.7587 1.7985 -2.7481 1.1071 -16.5641 - 10.8441 6.1056 4.5464 11.5523 11.5304 4.8593 1.2036 0.6177 -6.5224 -11.5032 -13.3278 -7.1852 -1.6717 9.2735 6.7578 -0.9050 -7.2789 -6.0827 3.0089 -15.8228 - 2.4300 2.4475 8.1825 8.1925 2.2974 10.8311 15.5690 1.4027 0.3290 -0.4366 6.3648 1.0487 -0.9166 -8.1367 -8.1915 -9.5690 -3.4184 0.0616 -4.9205 -23.5675 - 18.5545 22.2390 21.2685 17.0100 9.6982 4.7320 4.3296 7.5541 8.1889 7.8498 0.4258 -3.7349 -6.3446 -8.3581 -11.0931 -16.2715 -16.4055 -15.8123 -17.4410 -26.3892 - 5.3049 3.9686 5.5462 12.1792 19.9309 17.0320 8.3644 7.8784 10.6383 15.3943 3.6647 -0.1421 3.0499 -3.2605 -15.9284 -20.0685 -19.5084 -15.1548 -11.4151 -27.4740 - -4.1173 -2.8993 -1.1226 2.7523 4.1168 4.2377 1.6192 1.4859 2.7141 0.4810 0.9555 -0.9423 1.2205 0.5970 0.3948 0.4670 2.1347 1.5199 1.6806 -17.2954 - 15.7137 20.9924 24.3419 24.5468 20.7453 18.1011 19.1224 15.9122 12.9399 8.1629 -8.2323 -12.3399 -17.0242 -22.3729 -23.1787 -23.2286 -17.6989 -10.8077 -20.3082 -25.3873 - -1.2634 1.8562 5.1481 8.6050 8.7868 9.5351 6.6634 3.8160 -0.1296 -4.6560 -0.5036 -0.2003 1.6621 -1.6607 -2.8913 -4.8208 0.3233 -5.1066 -6.1044 -19.0592 - 10.6986 11.8307 11.5659 12.4490 11.1880 6.9008 2.6629 3.0301 3.4569 5.3227 2.5092 -1.0853 -3.8118 -7.0840 -4.9747 -7.3629 -11.0099 -5.9887 -11.0008 -29.2965 - 13.6712 17.1821 19.2431 13.3261 5.9589 0.4984 0.3670 -2.3834 -3.2315 -2.1198 4.8356 0.4745 -8.1763 -11.1278 -9.8688 -0.1733 -8.1227 -9.3563 -5.3546 -15.6426 - -5.7735 -2.5076 -1.5044 -1.1663 0.0004 2.3285 2.2748 3.5509 0.5101 -3.3403 0.8431 1.7502 3.2945 -0.4888 1.3903 4.0779 1.6571 2.3564 6.2297 -15.4829 - 9.1796 11.0931 14.7746 19.7918 17.0503 10.0451 7.8355 5.3063 5.9805 11.7545 10.2992 6.2216 2.6489 -6.8542 -15.2068 -16.6927 -14.0990 -23.4163 -26.3767 -29.3354 - 4.4691 6.3690 7.7808 12.8470 20.5705 17.7665 9.4381 6.2778 2.4431 5.0549 9.9596 3.2883 -2.2059 2.0400 -4.0438 -15.0151 -19.7303 -18.2469 -20.2388 -28.8235 - 25.3208 24.3974 22.6154 19.5733 14.8131 10.5701 9.4361 4.3748 -1.5593 -4.3511 -14.7283 -17.6258 -0.9520 -8.5196 -7.3624 -3.2510 -9.9332 -17.3271 -21.4343 -24.0570 - 22.3042 16.1278 12.0077 14.7975 10.7206 8.3648 8.0610 10.1267 7.5498 1.8723 -3.9201 -8.2481 -10.1623 -11.3760 -12.7367 -5.0050 -3.3744 -11.9178 -17.4700 -27.7220 - 4.0018 3.5852 3.3315 5.3461 4.3656 2.8461 -0.0206 -2.5696 0.1895 5.1002 3.3534 0.2158 1.3297 -0.9671 -0.5937 -1.9855 -1.7054 -1.7064 -4.2453 -19.8713 - -0.1820 0.3377 2.3741 5.1705 4.8793 2.2995 4.3309 2.2662 0.4173 -0.8843 6.0098 9.0178 2.9640 -0.8977 -1.5385 -6.1656 -4.1289 -4.7989 -1.1105 -20.3607 - 7.6526 7.4466 4.8852 0.6442 1.5298 0.3141 2.6136 0.1768 0.3184 1.5717 0.2364 -0.4716 -4.0283 -1.7854 1.1771 -1.1242 0.5833 -0.2901 -4.6526 -16.7979 - 19.3739 25.1966 25.2676 19.4367 10.1976 2.4144 -1.1928 -4.0638 -8.7478 -10.5230 -11.0799 -12.5634 -10.0392 -5.3666 3.7592 3.3440 0.1212 -8.8586 -13.7562 -22.9202 - 9.6043 10.5410 12.3377 19.7574 26.3167 19.8022 16.1636 16.4176 17.5852 2.8061 -5.6826 -11.1198 -15.0897 -15.5002 -11.1047 -14.2676 -20.4525 -20.5783 -15.3843 -22.1521 - 12.9015 20.6704 27.9257 24.9274 19.2594 24.2150 19.1475 0.5334 -3.3152 -12.4822 -15.0498 -16.9033 -19.2802 -17.1972 -9.8015 -9.8416 -13.7988 -8.2071 -2.2124 -21.4912 - 14.4389 13.4012 16.1103 14.9288 9.7959 11.0171 12.0893 -1.4171 -9.8704 -8.5713 -15.4225 -18.6377 -16.5003 -13.9403 1.0172 8.7826 2.1557 -0.7217 -0.1613 -18.4945 - 3.2298 2.2245 4.4788 6.2407 6.6193 4.0854 3.5648 2.2977 2.4361 0.5689 -4.6553 -1.2701 -2.8888 -2.1474 -1.0212 -1.5878 -0.7381 0.5436 -4.6923 -17.2887 - 12.1886 11.0008 17.9358 24.3010 22.2969 15.0778 12.8771 17.0838 11.2261 -0.0847 -7.9648 -13.0993 -17.1559 -19.7583 -18.6302 -14.9903 -5.4184 -14.9564 -12.1370 -19.7926 - 18.1628 19.7982 21.7942 23.1496 22.2974 18.3029 13.8973 12.5987 14.0955 8.3018 -1.2018 -2.7097 -5.1243 -15.5625 -20.9814 -25.9011 -25.5502 -25.1062 -24.3739 -25.8874 - 5.1200 2.6682 2.7787 5.1220 7.7683 7.6609 0.3239 -0.5597 -2.1976 -4.2025 -2.3433 5.4581 3.3195 -4.6819 -7.7339 -5.9433 6.7709 -3.0093 -0.4617 -15.8570 - 3.1474 3.9068 4.6743 6.1980 3.9172 5.5703 3.7560 5.3815 6.4792 7.4263 4.0188 -0.9053 -2.9276 -4.2640 -3.8751 -2.5664 -3.8921 -5.7279 -7.3914 -22.9261 - 7.7606 7.9634 9.2590 13.4058 20.9130 19.2571 11.4285 9.1142 10.4227 12.6605 1.3940 -7.8667 -12.9049 -16.1586 -15.3321 -7.7158 -10.1835 -11.8246 -14.2319 -27.3607 - 9.9378 9.7046 10.1765 13.1670 9.5151 2.2155 -0.0456 0.0357 -0.3521 -1.2640 0.0667 3.9496 -0.7853 0.9935 1.7327 -2.1738 -2.4763 -8.9075 -14.5354 -30.9548 - 9.4566 14.4761 17.5184 16.5421 10.8319 4.8634 3.7958 1.0301 -0.7413 -4.7772 0.1278 10.6261 1.7256 -4.7562 -1.8151 -1.2979 -10.9708 -19.1139 -21.0656 -26.4558 - 4.1609 4.3674 5.1630 10.4393 19.9966 22.0365 15.0772 16.7404 13.2009 0.0579 -7.2967 -13.1855 -16.4671 -16.2778 -13.5417 -3.6468 -7.6575 -10.0591 -0.8708 -22.2374 - 9.2619 9.2850 10.6963 10.0411 5.3819 1.8030 1.0922 -0.3660 -0.8976 -3.1810 -0.6819 -3.8642 -8.4569 -8.9974 -5.5095 -1.9498 -5.7587 -2.8793 9.9987 -15.0177 - 16.0944 15.0736 17.4290 17.1266 16.3425 13.9152 -0.3124 -3.4633 -3.3349 -5.5676 1.0220 7.3152 5.0978 0.8308 -5.9027 -14.3898 -14.2461 -12.2320 -23.5828 -27.2154 - 2.0137 5.7764 10.2219 14.9245 16.5703 10.5235 3.0729 -1.4882 -7.2050 -6.2506 -5.1311 1.5065 6.9953 -1.4430 1.8240 -1.5831 -9.7701 -7.7954 -0.2269 -32.5358 - 0.8118 3.1428 4.1975 8.8492 17.1316 16.9999 8.6244 -0.0326 -4.9530 -5.2292 -0.1353 6.3691 -2.1837 -2.6835 3.8299 -6.3313 -4.7140 -0.2060 -11.6261 -31.8615 - 16.0656 15.8566 16.2660 14.0919 7.2745 1.1478 0.5592 -3.1884 -2.7528 -3.9872 -1.5200 -5.6031 -7.1936 -11.6082 -9.9024 -5.9648 -1.2652 -4.4434 -0.5317 -13.3008 - 6.0546 7.8172 12.5175 18.9740 18.6314 12.5099 8.6741 7.3229 9.6232 16.1584 9.3568 6.3688 5.3827 -10.1648 -19.1392 -25.0842 -25.6307 -21.0082 -12.2957 -26.0685 - 8.7645 5.7385 7.3877 9.4659 8.7034 6.7927 2.2815 1.6420 0.5587 -0.7987 1.2054 8.0228 11.5479 4.5805 -6.4932 -9.4841 -11.6576 -7.6077 -9.5897 -31.0604 - 13.5337 13.1762 15.6646 19.9549 24.3470 21.3479 19.5471 19.3675 13.3653 -0.5856 -8.6584 -13.2572 -16.9863 -17.9847 -20.7708 -15.4798 -11.0509 -15.4702 -16.1382 -23.9221 - 9.4656 10.0639 11.4433 14.6680 18.7771 15.2024 9.3195 5.1370 1.9578 0.3561 3.7670 8.6933 1.3200 -4.9956 -10.6736 -14.3320 -17.7829 -18.0592 -14.3140 -30.0137 - 1.5799 4.3053 2.3818 2.8910 -1.2059 -0.8300 -0.1903 -0.1292 1.0233 3.9206 3.9828 2.2978 3.2320 -2.5703 -2.6923 -1.3776 2.9213 0.1727 -0.5110 -19.2019 - 6.8519 4.8647 1.9844 2.2401 3.7555 1.5005 -1.3694 0.5704 2.1485 0.7600 0.6917 -1.0898 1.8295 -1.7615 0.1607 -2.4085 0.4928 -1.2003 -0.2145 -19.8066 - 26.8652 27.9313 22.2964 13.2728 4.9234 4.9750 10.5105 12.7213 4.9587 -6.5278 -2.0124 -3.4059 -5.9594 -7.3378 -10.2568 -18.1183 -18.7465 -15.1523 -18.6899 -22.2476 - 11.7015 12.5524 16.8036 20.5917 17.3325 11.6535 7.9132 3.4464 6.4909 8.4604 0.1120 -8.6770 -13.3036 -17.0534 -16.5775 -11.3553 -3.4540 -9.9071 -10.9540 -25.7760 - 20.0026 21.9415 20.1743 15.7692 9.6829 6.6171 12.1877 15.1379 6.9729 -2.6223 -11.9260 -8.0030 -5.4775 -7.9242 -14.3282 -6.4602 -11.9823 -18.5276 -14.5214 -26.7133 - 8.4727 10.3130 16.1554 22.5237 20.4885 15.1245 10.9192 10.3785 14.0959 8.6752 -2.6735 -8.1503 -8.9174 -2.4684 -9.1899 -21.2524 -22.7439 -18.1241 -17.6618 -25.9650 - 16.4001 11.0790 6.5408 3.9922 0.9638 0.6155 0.1321 -0.0033 -1.5205 -0.5347 0.0838 -0.8675 -0.2837 -1.6297 -1.6342 -2.7530 -2.7291 -3.0597 -3.9086 -20.8833 - 12.8347 13.9930 15.6832 15.4917 10.9362 11.4157 15.6476 4.3710 -10.8720 4.3584 -2.6363 -7.3238 -10.3423 -4.3725 0.4684 7.2994 -11.0045 -18.8176 -14.2499 -32.8805 - 12.3323 15.8058 21.8399 24.3008 14.4087 10.9930 7.8357 8.0265 12.8222 14.2335 5.8155 6.0731 -6.0593 -17.6762 -22.1263 -23.2555 -24.2165 -21.7123 -15.9183 -23.5226 - 5.7344 5.3389 3.8374 3.4190 2.8812 1.7219 0.1439 1.8580 -0.5349 2.0653 -5.3722 2.7017 1.0724 -0.8636 -1.4371 0.4192 -0.6553 -2.1126 -0.7370 -19.4805 - 8.7871 8.8914 10.5080 13.7939 18.1053 18.3809 13.6037 9.9123 6.2489 7.8891 6.4768 -2.8713 -8.9109 -11.1699 -11.8847 -5.8137 -11.8112 -19.3777 -21.5409 -29.2171 - 21.2487 22.5877 21.7624 19.0832 14.4498 8.3623 6.4664 3.1545 -0.2860 -1.9696 -3.9389 -1.8288 -3.7243 -9.6176 -13.7865 -15.0846 -11.3343 -12.9399 -16.9243 -25.6805 - 15.5067 16.3749 16.3110 12.8646 5.4498 2.4274 -1.0299 -3.2700 -3.2357 -0.0252 7.5399 -0.6948 -6.2588 -9.1664 -6.8883 0.7600 -11.6902 -9.9820 -1.1495 -23.8436 - 15.5548 17.3265 20.2482 21.9118 17.7825 12.4436 8.5947 8.3626 10.7582 6.8704 -2.6150 -7.1451 -11.7102 -15.2112 -16.7335 -10.8661 -12.1430 -16.7183 -19.7849 -26.9260 - 9.7348 18.6985 22.2000 9.7733 3.5414 -0.9890 -5.4561 -5.4928 -8.4760 -6.8757 -4.1569 6.8951 2.1633 -1.2892 3.0483 -7.4717 -12.0842 -7.7317 1.0735 -17.1050 - 6.6628 6.9628 9.2890 7.3292 2.0881 -0.1054 -1.5163 -4.7058 -4.4988 -5.4883 -6.5025 -2.6194 5.9468 -1.1287 -0.4851 5.3144 -1.6440 -1.6601 4.2795 -17.5182 - 11.7595 13.0074 13.6551 14.3417 13.9024 11.5890 9.9365 4.1950 -1.2916 -2.3847 -1.5414 -3.1381 -5.4213 -4.9864 0.0096 0.2286 -7.5940 -13.3606 -21.1287 -31.7780 - 16.5560 21.1528 18.2294 14.8217 11.7211 5.8948 0.1128 -5.7142 0.4819 3.4296 -7.6731 -15.2596 -14.0910 -4.3450 4.2359 -1.2610 -8.7829 -14.4366 -8.1323 -16.9402 - -9.6162 -5.8920 -0.4336 -0.0688 3.9825 0.7100 -1.9156 -3.0982 -4.8027 -4.2612 -2.6264 1.0431 5.5418 11.1806 9.5552 5.0905 3.5862 4.3463 5.8670 -18.1885 - 9.2493 12.5210 14.8487 20.3042 16.9267 10.5281 5.4085 -1.4152 -5.3054 -5.3250 -4.1371 2.4443 0.8006 -8.0900 -7.9314 -5.9206 -13.5877 -13.0043 -4.8031 -23.5116 - 5.9148 6.0122 7.7679 11.9347 14.3202 11.1880 5.7941 0.6362 -0.9006 -3.7616 -1.0465 6.3361 0.5894 -7.7629 -9.2778 -6.0898 -0.4740 -7.4253 -3.1780 -30.5771 - 9.0470 12.9059 18.1346 24.2631 23.6353 19.2579 20.8877 17.0355 3.1774 -5.2773 -10.0473 -14.9178 -17.5773 -16.4551 -11.9394 -9.6664 -11.9143 -7.0063 -19.2353 -24.3080 - 11.6229 13.7686 16.3077 18.9730 21.2077 21.1770 18.6717 15.5260 14.4577 10.9286 -2.0523 -9.7658 -14.1470 -18.3895 -20.2191 -19.9491 -14.1791 -17.4745 -18.9708 -27.4939 - -1.2854 -2.7859 2.0352 3.8729 2.5634 1.1875 2.9803 3.4105 0.6928 -0.5396 -6.4408 -2.1739 4.1284 -0.7168 -3.4324 -5.3047 2.1060 6.1169 6.1700 -12.5844 - 3.6719 5.1933 3.4330 2.0915 1.7090 4.9193 7.5225 11.4575 7.7921 1.1072 -1.3846 0.6720 -0.8916 -0.5196 -2.8857 -5.7085 -3.7344 -4.4707 -6.4364 -23.5377 - 5.0076 6.0603 5.6858 5.8716 4.9796 4.3510 3.2343 -0.0278 -1.6006 -3.6879 -3.6306 -0.3994 -2.7867 -5.8602 -4.3815 -4.1661 1.9375 0.0251 1.7605 -12.3723 - 1.5611 2.5677 6.9184 12.7642 12.9002 7.6294 1.5737 -0.4407 -4.6258 -3.3019 -0.3274 9.4821 8.3473 7.1185 0.9099 -4.2945 -2.0947 -5.5952 -16.6889 -34.4035 --10.0770 -9.2074 -7.5499 -5.3349 -2.0639 0.7289 3.3239 5.0911 7.8838 10.9963 10.2149 9.1756 7.3923 3.8453 -0.9308 -1.4293 -1.7749 -2.4954 -0.6350 -17.1538 - 11.6964 15.7897 21.5631 25.0743 21.2867 19.0704 20.7015 14.1826 0.0839 -7.4606 -11.2687 -14.0743 -15.6804 -14.7951 -10.8010 -12.5161 -17.6133 -13.8075 -7.4286 -24.0031 - -6.9283 -6.6188 -5.8684 -5.5056 -3.6164 -2.5751 -3.3395 -0.3521 -3.7955 -8.6077 -6.1256 -4.7755 -5.6371 1.9017 5.4236 6.9088 17.0056 9.6477 17.8081 5.0500 - 1.0400 4.3584 5.7473 5.9965 7.1951 11.1543 16.3999 17.9219 13.7898 8.5105 6.6032 8.3888 3.1208 -8.4853 -12.1692 -10.3091 -9.4060 -16.3383 -22.0676 -31.4510 - 4.0785 3.7601 3.2477 4.5535 2.8617 2.8959 4.0341 3.3572 -6.7255 5.4042 2.4187 1.2230 0.1581 -3.0654 -1.9472 0.8423 -1.1312 1.2092 -3.2861 -23.8888 - 7.3239 6.9150 9.3764 18.0744 16.9415 9.6050 5.2932 1.9763 2.0297 6.2840 11.8379 10.9565 8.5711 -5.0433 -15.8094 -21.0356 -22.5868 -18.9436 -8.4281 -23.3379 - -1.7885 -4.8321 -3.3241 0.9574 -0.7694 -4.0018 -4.5674 -4.5260 -2.6221 4.0186 7.6808 10.9687 1.1618 6.5552 7.2914 5.9801 0.8194 -0.4241 1.0077 -19.5855 - 2.5382 2.7665 6.6332 9.6977 12.0223 5.6888 5.2502 -0.0648 0.1790 1.7261 3.6718 4.6019 -4.2546 -5.2838 -8.6175 -3.5030 -2.8900 -5.1451 -3.1562 -21.8607 - -1.7959 -1.6410 -1.3048 -1.9856 -1.1093 -0.5878 -1.7759 -0.7425 -2.7139 -3.3222 -3.9402 -1.9787 -4.1788 -1.9573 -0.0518 0.6181 5.7386 8.4544 14.2974 -0.0227 - 1.9227 3.4879 4.9261 5.1627 4.2257 4.6417 3.0455 -0.4550 -1.9330 -4.6665 -6.5225 -3.7829 -5.2713 -1.4162 3.7054 5.6573 7.0460 2.7847 -1.9201 -20.6381 - 5.4951 4.1184 5.0794 4.1307 2.3794 0.0327 -0.8237 -1.5895 -3.7505 -6.6385 -6.0766 -2.2466 -0.4080 -4.9327 -5.8400 -1.6035 0.3752 6.5602 12.3259 -6.5875 - 6.8048 2.6542 8.2117 4.3594 9.5824 4.9978 9.2805 5.4616 0.1801 2.8218 4.8979 8.0336 1.3602 -0.8584 3.0641 -6.3167 -11.4947 -13.9096 -9.3665 -29.7643 - 20.4394 23.8508 19.9523 13.4804 4.7063 -0.8810 2.3157 4.3508 4.6054 2.6117 -2.8160 -5.7052 -5.0189 -10.4846 -14.5942 -12.8055 -6.1098 -12.0585 -7.7055 -18.1337 - 9.9351 14.3502 19.5530 16.3727 7.0796 2.9949 -1.1604 -3.2246 -3.9592 -2.8637 3.6007 8.3194 1.5624 4.0080 -6.2282 -13.2960 -15.2078 -10.4525 -5.9946 -25.3891 - 5.5354 4.2644 3.4234 3.5650 3.9406 1.8276 0.2709 0.3493 -0.0020 -0.7304 1.8692 2.1692 -1.3779 -0.9234 -5.0911 0.1335 -1.1518 -0.8308 -1.2357 -16.0052 - 14.7180 8.4248 6.7389 6.9731 8.7963 12.7964 14.6589 10.3137 3.2909 -3.7235 -5.8542 -6.9864 -6.8348 -4.2701 -4.4326 -5.4747 0.7281 -9.3904 -11.2298 -29.2424 - 9.1842 9.7851 10.8472 12.9244 10.6955 6.8423 4.6037 0.7650 -2.0301 -2.7855 1.3686 5.5053 -1.4464 -8.6948 -6.8949 -4.4565 -9.3587 -11.9106 -7.0277 -17.9162 - 9.5187 11.0469 10.8992 10.5477 12.4336 17.9310 22.0092 22.1029 21.2249 17.7472 4.1368 -3.9142 -11.6583 -18.8125 -22.4708 -24.5855 -14.9292 -12.6855 -22.7109 -27.8313 - 12.0341 16.6419 15.8489 10.0396 3.3655 -1.8695 -5.2143 -9.4106 -10.9745 -12.0991 -12.0450 -11.1231 -7.2635 0.0306 12.4231 12.6061 4.1888 -1.9085 0.6831 -15.9537 - -1.3674 -0.5228 -4.0775 -3.8100 -1.0761 13.7500 19.2044 15.7231 9.5615 7.9996 6.5298 3.6199 0.5658 -1.3324 -7.5527 -6.3571 -7.0946 -6.2162 -8.1181 -29.4293 - 7.3145 11.1318 15.8219 21.2414 19.7326 13.4391 10.1286 13.1458 13.5220 4.5818 -4.9865 -10.4663 -12.4137 -8.4915 -7.5278 -14.5074 -14.9519 -10.6855 -18.9716 -27.0572 - -2.6938 -1.0116 0.5434 -0.5197 1.2510 2.7810 -3.1452 2.3461 1.3093 1.0916 0.2998 1.6109 9.4326 9.1761 -2.9635 -1.3175 -1.3459 -2.3687 -0.4622 -14.0137 - -0.6799 -0.1341 0.7366 1.5016 2.3553 1.9877 1.8684 -1.1687 -1.7388 -0.3259 3.2899 3.7096 2.8005 -0.4016 0.0798 0.8146 0.2490 -0.5574 0.0812 -14.4681 - -4.5962 -1.7335 2.2323 4.9758 4.1965 6.1120 6.3004 -0.2420 -0.4268 -3.4101 -1.9343 1.8578 -0.3352 -3.5061 -2.9167 0.7871 0.7063 -1.6356 3.3878 -9.8196 - 13.1227 13.7568 12.0750 11.2378 13.9543 15.7037 14.8582 9.5334 0.1292 -3.0889 -7.7565 -10.9896 -5.4579 -2.1373 0.1387 -11.7169 -13.0933 -7.4977 -12.3640 -30.4077 - 29.3087 22.8979 20.4744 14.9176 7.8398 2.3822 -3.7671 1.0563 -3.5131 2.1709 4.1060 -2.4865 -7.3802 -9.3667 -9.8213 -8.8247 -9.4073 -14.9259 -16.1530 -19.5079 - 8.2477 12.7093 19.4580 20.8257 15.6422 8.6762 4.5782 4.1335 5.6439 14.7051 12.4104 11.4909 -6.3291 -17.1032 -20.7835 -24.4558 -22.5241 -14.5649 -5.2278 -27.5328 - 0.7217 4.0954 5.2473 1.5270 1.7119 3.5822 -1.4614 0.8720 -1.3606 -1.4757 -0.4869 1.0336 -0.7433 2.0743 0.6152 -7.1442 0.5920 6.3583 2.8714 -18.6301 - 20.3582 21.7378 21.8475 15.5031 8.5323 5.5254 -0.6584 -4.0833 -5.5901 -5.8466 -2.2597 3.0499 -4.1864 -7.3615 -5.3521 -8.6549 -8.7165 -10.8646 -9.6599 -23.3202 - 7.9037 5.3843 2.5963 1.7924 -4.1648 1.1119 1.0025 0.4959 -1.4533 -3.0047 0.7379 1.8636 2.4329 0.9500 -0.1706 -0.3177 0.7889 1.1735 -0.4730 -18.6499 - -1.9942 -2.2404 1.0361 1.1275 2.4246 0.9687 -0.7731 -0.4350 2.7773 4.6081 2.2666 5.9874 1.4863 -4.3135 -1.0943 3.1059 -4.9201 3.6382 1.5522 -15.2082 - 15.5189 17.8940 20.2047 21.1613 16.5719 9.8830 6.2072 1.5961 -2.8649 -4.2350 -1.2109 1.6294 -0.3114 -6.2890 -6.6470 -6.6461 -16.7097 -18.4834 -19.5782 -27.6908 - 4.5707 9.9453 16.9194 16.3836 7.5074 1.7185 -1.6704 -4.6470 -7.1710 -7.5216 -6.2372 -1.4728 9.1990 4.5872 4.2446 -3.1203 -10.1462 -8.9093 -2.0237 -22.1562 - 10.2043 6.2265 8.0480 6.0822 2.9673 -0.2686 -0.4905 -3.3479 -4.2925 -4.0224 -2.6407 -3.8742 0.6899 3.7007 5.8631 8.8480 -1.0855 -6.5692 -4.1304 -21.9079 - 12.9155 18.0966 19.8262 14.0767 6.9947 1.6106 -0.8791 -6.2102 -7.3162 -10.2835 -10.9883 -8.3441 -1.6557 0.0080 -5.7847 1.4192 -5.5022 -4.2471 3.9784 -17.7147 - 5.1637 8.0679 12.5738 17.5701 14.9252 4.1592 0.9276 -0.3161 0.0005 3.6819 10.2605 3.1026 -2.7955 -2.8307 -1.1861 -9.2862 -11.7976 -5.3295 -15.7634 -31.1274 - 6.9673 6.7974 6.1367 10.4782 15.9809 13.2295 4.9742 0.4813 -4.1310 -5.6911 -5.9712 -1.2511 7.3306 2.6442 0.3224 -0.8372 -7.4799 -9.3018 -8.5882 -32.0913 - 13.1396 12.9563 12.3478 9.0857 2.3849 -0.8490 -1.4825 -4.2362 -7.2804 -7.4639 -6.8853 -6.4479 -4.2443 -8.2231 -3.9022 0.4289 0.1896 3.7001 6.9697 -10.1879 - 15.3330 18.1603 22.1112 21.6848 13.1886 10.5333 8.8464 9.6626 12.4137 13.9577 10.1420 -0.2864 -11.4409 -16.9791 -19.7494 -15.6645 -19.7643 -22.5000 -23.5283 -26.1208 - 6.8457 -6.8649 5.4271 5.2712 -1.3685 5.0072 1.5557 0.4655 -8.6121 0.8133 -3.3697 -1.5367 2.2231 2.7614 0.6905 -0.9517 3.9757 2.5271 6.8378 -21.6975 - 4.0198 5.3861 1.4690 -2.5892 -0.7717 2.5302 1.6444 0.6228 0.0646 3.2916 3.8112 -0.6089 2.1623 0.1459 0.1339 0.1325 -1.6768 -0.5331 -0.5013 -18.7335 - -7.1586 -2.6175 0.5796 4.1833 -1.3849 0.3608 -8.9238 -4.4835 -1.6026 -5.1856 -8.3891 -1.4730 9.5706 -8.3291 11.6042 11.1480 -0.2734 4.8182 12.1074 -4.5509 - 12.6166 14.8923 16.2633 17.1269 18.2744 19.2870 16.5858 10.4162 6.9131 6.3384 2.9142 -1.3754 -10.9051 -16.4865 -19.5016 -17.7616 -6.9047 -16.5161 -23.1066 -29.0706 - 10.8009 12.8094 14.6516 18.7246 16.6285 12.1161 8.7229 6.4887 7.8806 10.1330 4.1720 -4.3839 -6.8368 -8.8011 -8.4415 -14.6175 -16.9291 -13.3638 -20.2402 -29.5143 - 6.2190 6.4291 6.1608 8.0273 9.8018 9.8514 6.5431 7.0773 5.8326 5.6116 8.2150 7.4679 -0.2957 -6.5386 -7.9000 -7.1888 -10.2895 -12.2362 -14.0338 -28.7541 - 8.0266 9.6417 12.2059 15.4655 15.3945 10.4886 6.7757 2.3300 3.3664 6.5551 2.3159 -4.1967 -9.2962 -11.8145 -9.9788 0.0400 -6.7484 -6.4088 -11.3916 -32.7710 - -6.0361 -3.7035 -0.2831 1.4674 0.7756 0.3247 -0.7445 -0.5024 -2.1341 2.7813 -0.1459 -3.5635 -3.9893 -4.2930 -0.5948 5.6527 2.1314 14.0267 12.5554 -13.7247 --14.2301 -11.8469 -5.4438 -2.2899 3.4911 0.4713 0.7187 -2.7114 -1.5588 -2.8210 -0.0887 1.5060 2.8286 9.3500 12.2742 8.0817 12.1298 7.7574 3.4239 -21.0423 - 10.2809 9.4545 10.3039 12.6386 19.4980 22.5798 19.2258 15.3342 18.1620 10.8305 -3.6184 -11.2472 -16.1533 -19.0561 -21.3742 -19.1215 -7.0133 -13.0322 -12.3255 -25.3663 - -7.1992 -4.0950 -0.4752 -0.0397 -1.2923 1.2680 2.1020 -2.0159 0.5678 -4.1475 -2.2860 1.2468 2.9160 3.7433 -3.5078 6.2645 5.1466 3.3947 11.0482 -12.6391 - -1.4558 2.6350 2.5261 -0.4261 7.9067 7.3761 10.5050 2.1413 -4.1382 -2.8818 6.9021 5.4317 4.9534 4.5363 -2.8372 -3.4508 -1.0165 -1.6706 -9.0235 -28.0132 - 5.4483 7.0338 8.8713 13.9617 19.3432 16.5740 12.5536 13.7232 15.1487 4.1979 -4.0767 -8.9863 -10.9482 -13.1722 -11.3412 -7.4945 -4.4916 -3.5707 -22.8865 -29.8879 - 12.0309 14.2862 17.8716 18.2606 13.3426 8.9006 1.3455 -9.4180 -11.1012 -15.4444 -17.4768 -17.9985 -12.4515 -5.2431 8.8612 5.5913 6.3114 -1.1018 0.2013 -16.7679 - 16.8689 16.8256 18.5632 14.4683 8.2457 2.7262 1.7491 0.4673 -4.4682 -6.2835 -4.3280 2.1966 -4.4856 -9.6447 -7.5807 2.0175 -9.6747 -9.7002 -3.6650 -24.2978 - 10.3443 9.5624 9.5859 9.3945 7.7097 5.9502 5.4955 7.0578 3.8970 1.8002 2.9026 0.8300 -0.8072 -3.4283 -8.7861 -9.4681 -7.6897 -10.0581 -8.5829 -25.7097 - 8.4589 13.9060 18.3570 21.8577 20.8363 13.5168 7.0018 3.5585 0.2984 -4.3657 -7.6435 -5.4526 -6.4991 -0.0823 -10.9834 -14.4890 -9.9873 -4.5713 -15.9935 -27.7237 - -2.7942 -1.0695 -0.1214 2.5877 1.5098 1.0893 1.5717 3.2131 6.2989 10.9335 9.8682 8.6743 4.8838 1.8707 -1.0579 -3.7852 -5.7917 -7.6708 -7.9578 -22.2525 - 25.1784 20.8581 17.0052 12.9557 7.7424 3.9815 6.0072 3.4663 -1.9041 -8.1079 -11.4077 -11.8642 -8.7727 4.7601 2.8284 -7.3135 -15.0133 -13.8178 -7.5999 -18.9821 - 13.6088 10.9215 11.1892 11.7633 13.2294 6.3264 1.9267 -1.7303 -3.3278 -4.4979 -7.2855 -3.9683 5.3311 -1.6679 -8.5378 -6.9275 2.8396 -8.2151 -5.8206 -25.1573 - 20.0774 19.5893 17.1250 15.9021 10.2327 5.8537 4.1551 8.7468 6.2824 -1.6643 -0.8142 -5.7458 -5.8553 -6.7971 -4.8129 0.1863 -14.4064 -22.1846 -19.7857 -26.0848 - 1.9579 3.5459 5.6047 9.8227 17.1510 16.9383 8.2371 2.3829 -0.9137 -2.6491 -2.1733 3.0262 6.5399 -2.8952 -2.9389 -0.9532 -9.2242 -11.9604 -12.7131 -28.7857 - 2.7147 5.0851 5.9010 8.2492 9.0379 12.5344 15.7585 7.9343 2.8699 -7.6515 -7.5935 -7.0792 -7.0329 -0.2973 -4.1153 0.8146 0.8342 -8.0293 -6.0641 -23.8708 - -1.8671 0.2021 1.1744 3.3514 3.8114 4.6535 6.4708 5.5903 4.6873 6.1200 7.1503 10.8820 10.1467 5.0564 -4.0471 -7.0223 -5.8028 -7.0328 -13.2761 -30.2485 - 14.4582 17.2732 16.2772 7.1332 0.6525 -4.4947 -7.7910 -9.8395 -12.5801 -10.7856 -8.8712 -4.2717 7.2719 0.7198 1.5521 3.5804 -2.9845 0.1717 6.3548 -13.8266 - 28.6852 25.8888 20.5479 11.1546 4.6177 1.8681 3.9247 1.2950 -2.9240 4.3050 4.3461 -5.4196 -7.8904 -10.2821 -8.2802 -13.9910 -11.2895 -12.5380 -13.7725 -20.2458 - 6.9489 8.2782 12.9177 18.1269 10.1196 2.5932 -1.2838 -5.9588 -9.0612 -10.7381 -10.6395 -8.4104 -4.0818 7.0965 0.3344 2.1418 2.2817 -3.7137 1.6102 -18.5618 - 6.2919 7.1483 7.7499 10.3266 12.7585 21.8234 21.7899 13.6697 7.2737 9.3185 13.4418 -0.1530 -6.4198 -9.4554 -7.4143 -12.4542 -21.2295 -24.5545 -24.4585 -25.4529 - 3.2078 1.1604 2.3820 7.1676 15.6309 19.6735 9.8897 7.8474 10.1305 10.4050 -1.8220 -9.0708 -12.7476 -14.2980 -11.7869 -3.2366 -4.1439 -6.6114 -0.0121 -23.7655 - 4.9484 5.9562 10.0092 16.2669 12.9260 3.9525 0.4920 -2.9838 -4.7825 -5.0706 -3.0972 4.4166 5.1484 -3.0885 -2.2935 1.8467 -6.6209 -8.5405 -3.2672 -26.2180 - 9.1190 11.7308 15.3181 20.5759 15.7183 7.6900 3.7341 -3.2723 -6.7161 -9.0437 -8.0703 -0.5930 6.4087 3.5269 3.0413 -8.4178 -14.7425 -12.7049 -6.9905 -26.3121 - 1.4852 -0.6829 -1.5690 -0.2848 5.5052 12.8631 6.4129 0.4626 -3.5500 -5.4162 -3.9006 -1.4888 7.5205 5.6490 1.1393 5.5204 -1.2344 -6.2194 -3.0728 -19.1390 - 11.9158 15.3244 18.2371 17.8689 12.9861 8.5734 2.6935 -0.4620 -0.3115 4.3187 1.8359 -6.5328 -11.3944 -12.3343 -10.2127 -3.2123 -10.7404 -11.6243 -6.0915 -20.8377 - -1.1406 4.4681 1.0243 1.7567 0.8452 1.0568 1.7113 1.4304 8.2151 0.5703 1.2053 -5.7909 -4.3638 0.9165 -4.5872 3.4354 6.9859 3.9875 -3.5121 -18.2142 - 18.8171 22.5033 16.7157 10.3549 3.9514 1.6962 -0.6346 -5.9992 -6.8816 -7.3001 -7.9076 -4.3326 4.9348 4.6458 0.9437 -3.5521 -9.3640 -2.4386 -11.4118 -24.7409 - -0.9409 0.5904 2.2794 4.9547 5.8743 8.7846 11.0088 11.1838 11.6958 14.1355 8.9116 2.5256 -1.8779 -5.6262 -5.5753 -9.1754 -9.0981 -12.4659 -11.4699 -25.7149 - 0.4141 2.8215 2.0838 3.1886 4.2216 1.7188 4.6179 2.9704 1.6545 -2.8460 -0.9511 2.6537 -1.8008 0.9825 1.2384 1.5282 -0.7271 -3.0940 -0.8090 -19.8659 - 6.0430 4.6516 4.3017 7.7179 6.7963 6.2910 8.7476 8.7592 7.7014 12.1586 8.0227 -1.3414 -6.0075 -8.1097 -6.8511 -6.6141 -5.8068 -8.7086 -9.3302 -28.4218 - 7.1395 6.4611 6.4770 6.5752 5.7360 5.6174 3.8338 -0.3402 -1.9803 -2.2319 -4.1316 -3.2411 -2.2252 4.1950 1.9636 -1.7425 0.5431 -3.5115 -6.8529 -22.2844 - 17.8843 21.4402 20.6904 15.9517 9.7051 2.5656 -1.5516 -7.4554 -8.8729 -10.2263 -8.6781 -5.1896 -0.7045 -6.7680 -8.2898 -6.9326 1.3954 -3.2208 -6.0504 -15.6928 - 10.6767 10.3544 18.1231 11.2879 6.1413 -0.3610 -2.4504 -5.1076 -4.9943 -4.9704 -2.3126 5.9757 0.9523 -4.2427 -2.5152 4.9197 -8.3019 -9.0057 0.3384 -24.5078 - 9.9161 11.8977 18.2327 24.4645 22.2618 14.5543 11.0874 11.6473 16.7269 16.7802 10.9221 4.3259 -12.8739 -20.0422 -22.5408 -24.1296 -20.9142 -22.6765 -24.3668 -25.2731 - 9.4023 7.3715 11.9062 12.5120 7.0268 13.6459 7.2747 2.8388 14.6515 22.1573 24.2647 6.5863 -1.1334 -12.1075 -18.8356 -21.0343 -18.7149 -21.3705 -23.1378 -23.3040 - 6.1154 6.8878 8.0486 2.0830 11.4555 24.4875 10.2548 8.5452 8.1934 -4.1865 11.8854 1.3485 1.9895 -14.5678 -11.0286 -3.4615 1.3428 -19.7548 -24.2069 -25.4313 - 10.3570 12.8522 17.3265 22.8368 16.6859 10.9743 8.2198 6.8557 9.3432 12.2609 5.1561 1.5410 1.3448 -11.6896 -19.8579 -22.4891 -19.3409 -16.0157 -19.9891 -26.3720 - -2.2958 -3.0198 2.5524 6.5326 5.0549 2.8939 1.6085 1.4431 -0.1701 -2.0055 1.1867 -1.3016 -2.2987 6.1240 3.0188 -0.9646 2.6135 4.0735 0.2584 -25.3041 - 3.3425 -4.9398 1.7857 0.9810 8.2974 13.8760 7.3422 4.3951 4.0317 8.9378 9.1371 -1.7588 -9.1168 -12.4667 -12.0238 -9.0772 4.3501 -0.6556 4.4305 -20.8684 - 2.6724 2.4627 -2.5441 -3.3045 -4.2917 -1.4508 1.5865 -1.0572 -2.1109 1.4870 -1.0006 3.5002 3.7107 1.3794 -1.6261 0.0378 2.0162 0.3261 3.2452 -5.0385 - 3.1268 4.8784 8.6218 13.5865 14.1019 7.2490 1.4764 0.4142 -1.4440 -0.1256 6.7242 13.6333 7.9001 5.1808 -8.7618 -15.9427 -17.5740 -13.2732 -3.9031 -25.8689 - 8.7515 17.2518 23.5164 15.7690 8.1574 4.9814 0.5026 -0.4621 -1.5217 2.4458 11.1982 12.8925 8.2107 -10.1894 -18.8969 -20.9839 -19.6436 -9.2705 -7.3159 -25.3934 - 11.7980 12.1448 14.6065 20.2682 20.5368 14.0544 8.9695 7.1447 9.3182 10.2279 -1.3945 -9.8630 -14.2310 -14.2600 -11.2940 -5.3186 -14.6453 -16.0278 -14.7441 -27.2906 - 8.3692 9.6882 12.8542 17.3005 21.1340 18.5917 11.2777 5.5517 0.5470 -2.3437 -2.3633 -0.2054 0.7833 -4.4844 -5.7547 -6.4185 -15.2118 -20.9890 -20.6002 -27.7265 - 3.2540 3.5495 5.6572 11.4443 18.6822 14.2818 7.9623 5.8581 7.6636 11.2380 10.4719 -0.3434 -0.9127 0.3323 -9.6682 -12.3368 -7.0303 -17.5040 -22.5944 -30.0053 - 10.5668 4.7765 4.8789 5.9385 13.1029 20.5979 14.5257 8.6496 2.4271 -1.1640 1.2029 9.4957 -0.0200 -12.5730 -14.8513 -9.4220 -4.4288 -12.9535 -14.3720 -26.3782 - 3.6092 2.1429 -0.2581 2.1516 6.0252 4.4742 4.3520 2.9527 3.6102 2.6901 -0.0942 2.2564 1.3309 -0.5758 -1.1090 0.1191 -0.1180 -0.1015 -5.5503 -27.9075 - 8.4206 12.6530 18.9633 23.9855 21.2540 9.7237 1.5121 -0.7361 0.7545 -1.5581 2.4158 9.9186 6.7278 3.6705 -12.4971 -19.8574 -23.2581 -23.7200 -10.9203 -27.4525 - 22.1951 16.4633 13.2055 7.4970 2.2280 -2.4528 8.7730 10.6870 4.9929 1.1178 -5.3802 -8.2471 -5.7256 -8.8078 -8.3540 1.5835 1.5054 -11.6521 -13.9564 -25.6726 - -7.9053 -6.5840 -6.0103 -4.8986 -4.2425 -4.7462 -6.7261 -8.5401 -8.6906 -8.8402 -5.6306 -0.7673 8.6501 5.0800 13.9798 11.4953 10.0314 17.4290 14.9683 -8.0522 - 11.9359 8.4098 2.8637 0.1621 4.2653 2.6990 1.2433 -1.9101 -2.5608 -4.4372 -0.7370 5.0345 2.4512 -1.2451 -4.6924 -2.0267 0.3932 -0.7445 -1.8229 -19.2813 - -1.3202 3.8184 7.4609 11.6391 16.2849 25.4929 15.8707 1.4126 12.3759 21.2527 8.1587 -3.8943 -14.7860 -10.6930 -17.9239 -16.3824 -1.7644 -13.0054 -19.3451 -24.6522 - 9.8443 9.9627 12.5201 13.7261 10.3992 6.6290 2.9281 -0.7644 -3.9695 -5.3737 -8.3704 -7.5382 -1.7207 5.7599 1.9410 -0.8146 0.5436 -5.6632 -12.2155 -27.8236 - 6.4290 4.7082 3.9317 3.1702 -1.6353 -3.6078 -6.3150 -9.1986 -10.3233 -9.8065 -5.8063 -1.3404 -0.7673 -2.2448 -1.2797 7.1795 3.2561 15.5273 14.8629 -6.7401 - 23.9506 22.1558 17.7456 14.4350 8.3329 3.1023 4.3134 8.6024 3.8015 -3.9642 -10.7800 -9.6229 -10.8860 -10.6376 -8.0083 4.7524 -6.4851 -13.7226 -12.4871 -24.5980 - 9.5760 11.4366 12.9012 14.4846 16.8425 19.5473 19.7042 15.2736 12.0272 11.0446 7.4677 1.1314 -9.0848 -18.3215 -23.8214 -23.1710 -19.9932 -10.2715 -17.3599 -29.4137 - -3.4431 -3.1613 -1.9102 -0.6935 1.3870 1.2966 -1.0892 -2.4642 -3.0407 -4.4927 -5.4209 -4.2773 -0.5358 0.4090 1.2794 5.8990 14.3402 3.7638 11.1512 -8.9972 - 15.2464 18.8014 25.3166 19.5775 11.0313 6.5896 5.6381 2.9552 5.1185 13.2540 13.6736 8.5584 -8.3365 -15.9401 -20.3756 -21.2859 -21.2275 -19.3217 -15.1325 -24.1407 - 3.1035 6.1792 5.0462 3.5926 7.0741 6.4046 9.9419 7.7684 4.2113 3.6277 6.5092 5.5900 -1.7178 -6.4492 -7.8871 -6.9582 -5.1379 -8.3058 -10.5436 -22.0490 - -0.7280 0.5704 3.9717 5.9469 6.0780 4.0770 1.2426 -1.3458 -3.2314 -4.6819 -6.2378 -5.0198 -1.2080 10.5808 2.6382 3.7712 3.8446 -1.7555 -1.1558 -17.3572 - 5.3326 5.4267 9.8240 16.2001 13.6887 6.9510 1.1917 -1.6723 -2.5788 -2.7648 2.6931 5.4843 -4.2095 -9.6143 -6.2919 3.6211 -3.8754 -6.5263 -5.2823 -27.5977 - 2.5771 3.4727 5.4467 8.8349 9.8870 12.1341 12.0826 7.7444 4.5255 0.7889 -2.0382 -4.7604 -5.7542 -4.6241 -2.4718 -4.0958 -6.2797 -4.6267 -9.5398 -23.3031 - 14.7846 16.0256 18.4400 18.7731 12.4129 9.2087 4.9463 5.2837 7.9434 9.1983 5.6775 1.0431 -7.1678 -12.3799 -13.9635 -9.4290 -13.5075 -18.2553 -21.2672 -27.7670 - 14.0860 12.6160 17.7362 22.8480 13.2766 7.4189 5.7487 1.8704 2.3287 6.7312 16.7040 13.9396 0.1199 -14.2720 -18.2397 -22.3862 -24.8172 -19.6941 -10.4326 -25.5823 - 1.2702 -1.2740 -3.7100 -0.5628 -4.5219 -4.4580 -7.7100 -8.3547 -7.0524 -3.3805 -3.0927 1.9780 6.7217 16.8392 12.2288 6.1018 4.3647 3.7046 7.0648 -16.1569 - -1.5691 -0.6625 0.8145 2.7114 4.5683 6.3808 5.3169 3.3697 3.7409 -1.1329 1.3502 1.4333 7.1092 8.0819 7.4140 -0.3489 -3.5222 -5.2023 -8.9373 -30.9159 - 8.8791 11.5486 17.4354 21.9590 18.7721 13.0614 12.3597 15.8383 7.9901 -4.7504 -11.1404 -17.0402 -20.1418 -20.5768 -16.8543 -10.2710 3.5082 1.5897 -6.0317 -26.1349 - 1.4924 2.3041 3.6995 3.9735 2.9478 1.4182 -0.1153 -0.7081 -1.6935 -4.7155 -3.8966 -1.0552 4.3924 3.5582 4.7903 3.4573 4.4498 3.7588 -4.9783 -23.0800 - 19.7104 23.5312 26.4663 21.1276 13.4352 11.0142 11.5216 12.6431 11.6620 1.8352 -2.6313 -2.1531 -10.9044 -16.4683 -19.1821 -21.4207 -21.6631 -20.6795 -14.5440 -23.3003 - -7.3825 -5.1236 -2.0803 -0.3985 -2.1515 -3.3191 -2.5398 -3.6553 -4.6673 0.2450 -1.1380 0.4163 -5.0235 -3.1123 1.6781 0.5456 9.2542 19.9831 16.2303 -7.7611 - 2.5108 2.1845 2.6268 3.2213 4.7277 4.9151 4.4068 2.5115 -1.2667 -1.0470 -0.5840 3.1980 11.3786 3.1343 -1.5396 -0.7790 -4.2909 -5.9553 -4.0558 -25.2973 - 1.3099 3.8149 5.9305 6.0290 6.2561 6.5634 6.5483 2.2558 2.8164 5.8479 6.7553 3.8567 2.7371 -0.0626 -3.8527 -5.1436 -5.5124 -7.3236 -9.2045 -29.6219 - 6.9414 7.8896 11.9174 19.4391 22.8159 17.5130 12.8967 11.7403 13.3801 0.6255 -8.6365 -13.1338 -15.0777 -14.1269 -8.2615 -12.9862 -16.1846 -10.2908 -1.8314 -24.6297 - 13.6675 18.7539 23.7644 23.5665 14.5584 8.2788 5.9566 3.8037 5.8231 9.3954 3.8096 -3.7071 -3.0809 -2.7965 -15.3910 -22.2338 -22.7083 -19.7578 -17.2327 -24.4698 - 6.8878 4.6215 4.0830 1.7534 6.3161 9.3030 9.1793 1.8539 -3.8953 -6.2684 -7.2830 -6.1167 0.8013 5.3564 -0.9241 -2.6976 1.7576 -1.1627 -4.9125 -18.6528 - 11.5366 9.1379 9.1023 13.3107 15.2931 8.4262 2.0019 -1.8545 -5.3470 -10.4980 -13.1650 -8.7617 -2.8037 6.5213 -2.9746 -1.1653 2.8950 -3.9002 -0.4074 -27.3478 - 8.1149 5.2054 4.7193 10.9119 14.2393 9.7159 2.7743 0.0628 -0.9042 2.5046 6.2675 4.5297 -1.7121 -2.7212 -6.4591 -8.2032 -12.1525 -9.7960 -4.5542 -22.5432 - 10.4270 10.1489 7.8411 6.9092 5.2675 3.1553 3.1860 0.3063 0.4719 -0.8710 -0.6868 -1.1505 -4.6137 -2.9984 -2.9661 -2.8540 -3.0302 -2.2057 -5.9823 -20.3547 - 16.5991 18.8180 20.4139 16.0812 15.2582 13.6000 9.7730 4.8200 7.2670 0.5444 -5.1929 -8.9752 -12.2178 -15.2451 -9.0857 -9.6324 -11.9042 -7.0554 -15.8485 -28.0175 - 6.9984 7.5807 9.7172 14.2935 21.1422 18.8026 13.0729 13.6068 15.6061 5.7873 -4.4176 -10.6630 -14.9625 -15.2760 -12.1485 -4.9859 -13.8661 -15.0801 -8.9505 -26.2577 - 4.8529 5.9107 5.9519 3.1046 -0.7986 -3.8000 -3.3218 -6.5949 -9.5964 -7.6925 -7.0336 -3.5031 2.4411 -0.1901 9.1699 13.0532 0.4243 10.9470 3.0406 -16.3654 - 2.3975 0.4924 3.8005 6.1460 0.9043 2.1381 -0.0106 2.9239 -11.7677 -3.8359 -3.4925 0.8716 3.4740 -2.8287 -3.8786 1.2858 6.8931 -2.1701 3.3894 -6.7326 - -3.5428 -1.3900 0.9285 2.4806 2.9675 0.7980 0.9612 0.2854 -2.0562 -1.3222 -1.9025 -0.0059 8.6474 4.6327 1.6964 0.3984 0.9512 1.7069 1.4812 -17.7159 - 17.4798 18.9995 21.9699 20.6967 14.4015 9.2408 9.2963 4.6834 -0.5765 -2.0466 -4.6870 -8.1340 -10.8400 -6.9387 -4.9129 -2.3346 -9.5282 -16.6374 -22.8620 -27.2700 - 30.2051 29.0816 22.7010 15.9702 13.2347 12.3034 7.9736 1.7110 -2.9050 -5.8220 -9.0457 -11.4933 -10.9824 -10.7128 -9.7198 -11.4470 -12.1083 -14.3720 -14.3489 -20.2236 - 4.3667 5.6948 7.6382 9.1345 7.9965 5.9946 4.8983 4.5838 1.3099 -1.1182 -2.4032 -2.5986 -0.3123 -3.8248 -3.3874 -4.6492 -2.5381 -4.1010 -4.4278 -22.2567 - 13.3799 15.9919 18.2801 18.5738 14.5051 15.0610 12.6361 1.8684 -4.4789 -7.5763 -7.3687 -5.7285 -8.7693 -10.0970 -1.0795 0.7696 -6.5956 -14.5402 -16.2583 -28.5735 - 1.2989 -0.2985 -0.1264 2.2528 6.1919 9.0850 11.5888 9.6084 6.4565 4.6999 3.8291 -3.1433 -2.0178 -5.4377 -3.5892 -2.4088 -3.4525 -6.5279 -6.8848 -21.1245 - 6.6990 6.9952 6.9900 10.6461 18.1760 23.4925 20.7738 19.3068 14.5258 4.1679 -5.0313 -10.5967 -15.7569 -18.7535 -19.3572 -18.4953 -9.1098 -8.3084 -3.5080 -22.8561 - 0.3614 -3.0919 -2.2049 0.2924 3.5194 12.3203 10.5339 6.5081 2.9888 3.7587 9.6208 6.5139 -3.3458 -8.5883 -8.7468 -4.7300 1.1707 -5.5824 -3.0982 -18.2001 - 3.6833 5.1669 7.0034 5.1138 6.2451 5.1324 2.9024 -0.2756 0.6913 0.7688 2.7471 -3.0081 -4.2841 -1.6790 0.6913 -2.2915 -1.1739 -2.5591 -2.7007 -22.1738 - 11.4726 11.0663 10.8078 10.4446 10.6033 12.3965 13.0646 7.6243 1.8855 -2.1733 -3.8981 -0.7658 2.9887 -2.4982 -10.2150 -14.2533 -12.1696 -5.4330 -8.3400 -32.6080 - -6.7179 -4.6131 -3.1636 0.0876 0.6888 1.0614 0.5541 -3.5030 -3.5922 -2.2597 -0.8136 6.0096 11.8925 2.9252 -1.1450 -0.4619 -0.0294 2.9522 6.4894 -6.3616 - 5.3482 3.7310 5.0957 3.1029 1.6780 3.1184 0.5161 -3.5018 -4.5034 -6.3519 -7.8639 -5.6580 -5.1767 -2.3928 0.1325 3.3098 7.8210 11.9881 4.4190 -14.8118 - 8.2697 5.8835 6.0215 10.4427 12.0342 7.5709 3.5443 -1.0166 -4.1313 -6.5619 -5.0660 -0.8575 7.1102 -0.6052 -4.0956 0.6756 0.8926 -4.2551 -6.4788 -29.3772 - 2.0192 3.9566 4.9448 8.0890 14.6263 15.3545 12.2775 10.3302 7.2993 12.5826 7.7803 -2.3944 -7.4949 -10.2984 -9.7837 -7.3581 -7.2692 -6.1954 -16.7366 -31.7295 - 12.8428 15.9200 16.2497 11.8540 3.8000 -1.0057 -2.5059 -6.5320 -8.3900 -9.9165 -9.6596 -6.0113 1.0447 13.8469 7.3566 -4.1906 -11.0801 -8.0052 3.2361 -18.8537 - 17.2020 18.6360 23.3502 20.5862 15.5823 12.7495 6.4445 -6.6661 -9.1710 -15.5663 -21.8272 -18.4838 -16.7082 -14.2582 2.8891 3.6115 -0.4823 -0.0577 2.5754 -20.4057 - 11.2405 16.2045 19.5245 19.0279 10.8160 4.2621 0.0074 -4.8018 -7.7494 -9.5065 -10.8518 -10.4718 -6.2617 1.5892 9.5055 4.0459 -4.2300 -9.8946 -9.4119 -23.0441 - 21.5981 16.6548 9.2131 4.2901 -2.7752 -6.0814 -5.7172 -6.8518 -5.3057 -3.6255 1.9348 7.8994 -1.3260 -8.0365 -10.6481 -6.5275 -3.0468 3.5257 5.6627 -10.8371 - 2.3529 1.9098 1.1705 -1.0129 0.2322 -2.1724 -2.7849 -0.3004 1.1108 2.9625 0.3261 -2.0946 1.0272 3.4696 1.9753 1.1513 2.4885 2.1442 0.7739 -14.7298 - -1.7003 -2.4848 -2.4346 4.7038 24.9669 27.0962 7.9463 4.7152 0.1920 -0.8991 -0.8489 9.9068 -2.4800 -9.4907 -11.9321 -1.8570 -6.2441 -11.0862 -11.2891 -16.7804 - 14.9206 17.9220 23.4494 28.4771 23.9338 22.5858 21.7793 9.3991 -3.6346 -10.2702 -14.3748 -16.3264 -19.3026 -18.4585 -17.3134 -12.2710 -10.5930 -10.9994 -7.9141 -21.0092 - 10.8472 9.9985 8.1012 5.6373 0.7372 0.0745 -0.8638 -1.7933 -2.9142 -3.0150 -2.2427 -0.7782 -2.5201 -6.2197 -5.1933 0.2777 -5.0155 0.2927 4.1108 -9.5213 - 11.2774 17.5024 20.7927 14.9512 8.8893 5.3831 1.1126 -0.5407 -1.8226 -0.7548 3.8991 14.1917 11.4189 -2.2812 -13.1711 -17.2396 -15.8893 -13.7806 -15.9376 -28.0009 - -1.8142 -1.3801 -0.2831 1.3820 1.7722 1.4623 -1.2023 -3.2113 -5.2345 -6.7523 -4.9565 -2.8637 4.0779 -2.6764 0.8821 14.4958 8.5614 4.5439 7.9060 -14.7091 - 10.5077 13.8832 19.5676 20.8530 17.7078 12.7109 11.5269 8.0218 2.2318 -5.7244 -10.1683 -12.8120 -14.9230 -10.7023 -2.0109 -8.3963 -10.2008 -5.4032 -10.7793 -25.8902 - -0.2509 1.3469 0.6421 2.6377 6.0659 4.3721 5.3520 3.9824 -1.7069 -2.0895 -5.2191 -1.5370 -3.3737 1.3384 4.0383 10.2321 1.6548 -3.2413 -5.1470 -19.0973 - 6.4953 9.3365 14.1057 20.6271 16.1168 7.3580 1.4929 -2.7587 -4.0681 -3.9748 1.3672 8.9105 -0.9200 -5.3133 0.3345 -6.1299 -12.7503 -9.3229 -13.4612 -27.4454 - 0.6201 2.4328 4.9760 9.2545 15.4025 12.2971 5.7680 5.0077 4.0499 4.2155 9.7060 7.7493 5.8274 0.3852 -5.9984 -11.5236 -7.3050 -10.3504 -20.7971 -31.7176 - -3.7294 -1.4413 -3.7524 -4.5904 -3.2743 0.7360 -3.2763 -4.8007 -0.6213 4.9030 10.4614 11.0474 17.3494 -0.7763 5.4732 0.7769 1.2498 -0.7639 -2.1070 -22.8638 - 6.7163 9.2255 12.3187 17.6924 17.6404 11.8940 7.0991 4.2645 4.3021 9.9874 5.8382 -3.4579 -6.9519 -4.8090 -2.1538 -14.0697 -18.7474 -17.3320 -11.2745 -28.1824 - 14.7156 19.4663 14.7897 6.5422 1.1728 -2.3524 -4.9286 -7.8168 -8.8525 -9.4747 -10.7274 -8.5129 -4.4565 7.8312 0.0283 4.0451 1.6338 -1.3894 4.4306 -16.1441 - 19.0680 22.0875 24.6110 22.0341 17.3706 15.8785 14.1658 11.9508 4.4308 -1.1373 -6.4223 -10.3244 -11.8572 -13.5064 -14.4779 -15.1004 -15.5216 -16.8251 -22.0101 -24.4145 - 9.0336 19.0176 24.4867 24.6758 18.9461 11.7838 7.6427 4.7750 1.2864 0.4513 1.8155 -1.2592 -9.2086 -14.2929 -15.7555 -13.6408 -7.7748 -14.5157 -21.5902 -25.8770 - 1.4827 0.2805 -0.3810 1.4732 8.2340 8.1707 10.0600 8.3087 4.1212 2.7249 3.5821 7.9718 3.7426 -2.6511 -5.3909 -4.4519 -4.5293 -6.7232 -8.9602 -27.0648 - 10.5705 10.6700 11.7791 12.1925 10.0236 6.6964 5.1163 2.6148 4.7648 2.5521 -3.9125 -7.4628 -9.6721 -9.3307 -9.9466 -8.0895 1.1968 -3.8200 -3.4846 -22.4580 - 7.5905 8.3863 11.5587 16.2565 22.0088 23.0422 17.8049 13.1018 17.1694 13.5769 -0.2381 -1.8062 1.5806 -10.3901 -20.8106 -24.7914 -25.0524 -24.3552 -19.3769 -25.2554 - 7.3275 11.6160 16.6781 15.5131 8.1538 4.8147 -1.7134 -2.9599 -6.5688 -7.0695 -0.9248 5.3367 -4.5080 -7.1758 -3.4270 -3.5021 -8.7907 -5.2842 1.7479 -19.2635 - 8.6994 13.7488 20.2706 15.6056 8.0300 2.7906 -2.4915 -6.3762 -9.0577 -10.4892 -11.7811 -10.7422 -7.7494 -0.3422 10.0858 3.8928 3.9680 -2.0796 -2.0561 -23.9265 - -1.8066 -1.3696 1.0493 1.3711 1.9691 1.1999 -1.8646 -1.9643 -1.7749 -1.3390 -3.3717 3.1526 1.2109 0.7990 0.4966 2.5531 3.3704 2.3429 4.9229 -10.9469 - 4.0689 7.4175 12.6940 18.0600 16.5869 9.3259 4.5282 2.8636 1.6428 4.7328 12.4121 9.1212 6.2302 0.0152 -12.5596 -17.7355 -18.6999 -12.7970 -17.6503 -30.2571 - 0.8292 2.6495 1.8804 4.1439 5.6667 5.7021 4.9475 6.8868 6.7950 8.0289 10.5666 8.6874 1.8534 -2.2297 -6.3646 -6.7900 -8.1505 -9.3082 -10.0423 -25.7522 - 7.1022 3.8236 1.8946 4.4230 4.7840 4.6315 5.8219 2.7914 1.6501 0.4344 2.2205 4.0071 0.0326 -2.6285 -2.5436 -3.5874 -3.6688 -4.2155 -7.0087 -19.9643 - 0.1242 12.2019 4.3084 4.2478 1.9093 0.6288 1.1102 1.5269 2.2918 5.1362 2.1955 -5.7687 1.1936 -1.4469 0.2971 -4.6605 0.8522 1.2017 -3.9848 -23.3647 - -5.1159 -1.2775 2.5260 4.1265 3.4097 -1.7194 -0.8844 -1.4795 -5.4958 -6.8537 -1.5398 0.9661 -2.3240 -4.8943 8.2925 3.4432 -1.7853 6.3100 13.4410 -9.1454 - 3.9898 4.3777 4.2357 3.0453 3.7447 2.5019 1.1011 -0.4780 -2.4003 -0.6497 0.8291 0.2117 0.0985 -0.2133 0.3830 -1.7850 -1.0322 -2.1328 -1.6069 -14.2203 - 11.3622 14.7416 16.8859 15.0883 9.9488 8.7692 4.3995 -2.0242 -2.6878 -1.0092 0.7764 -2.2298 -4.0840 -8.1165 -6.2525 -5.2064 -7.0092 -6.7164 -9.2528 -27.3833 - 3.6579 2.8996 4.0461 8.3701 17.0082 23.3625 16.2578 7.1955 17.3887 6.3999 -4.2883 -9.9015 -12.7556 -12.3388 -5.4680 -10.3674 -10.9476 -10.1432 -6.0175 -24.3585 - 7.5312 5.8939 4.3265 4.0014 2.9087 1.6542 2.9601 3.9087 1.3700 -2.9778 -0.8059 -0.8752 -0.9920 -0.8125 -0.8336 -0.0306 -2.6451 -2.7999 -4.2986 -17.4834 - 15.3876 20.0855 22.6771 20.6277 15.1509 8.8202 3.6289 -2.1904 -8.5688 -13.1818 -15.2549 -15.0083 -12.7233 -8.7307 0.5974 4.3829 -2.2770 -0.0304 -7.8902 -25.5026 - 23.6589 23.2539 20.3520 15.1761 11.4144 5.8059 5.4712 1.3160 0.0827 -2.4308 -7.0613 -6.1765 -1.8534 5.6004 -1.4387 -15.4564 -17.3870 -18.8680 -17.3832 -24.0763 - 11.6709 14.1123 21.1753 25.8068 20.7082 14.0630 14.1588 17.9220 14.6153 4.8179 3.3194 0.4690 -11.4997 -19.1991 -21.5666 -21.4213 -21.1902 -22.3547 -22.1566 -23.4508 - 4.6799 3.0606 1.6539 6.2007 -2.0201 3.0954 0.5569 3.2707 1.3312 0.0725 1.8286 -5.9667 2.6570 -0.0978 -1.2174 -2.2597 0.2234 1.4765 -4.2077 -14.3379 - 9.3104 11.8578 14.9832 13.1906 8.5578 4.2616 -0.4942 -3.0677 -3.2171 -5.1322 -1.7298 6.6384 -0.8475 -8.0712 -9.5863 -5.8386 2.6610 -8.3104 -6.0285 -19.1373 - 2.2896 3.8587 4.9224 8.6357 13.9236 17.8222 15.7427 11.5211 7.5272 9.1679 9.7247 5.7451 0.5275 0.3504 -6.2281 -12.9212 -14.0843 -20.5964 -26.6432 -31.2855 - 18.9039 18.0327 13.6297 9.7561 7.4319 5.3744 2.9646 1.7415 0.6716 0.6859 2.7446 0.5342 -4.3187 -6.1877 -6.9311 -9.8734 -11.9041 -9.1281 -8.9591 -25.1690 - 6.4513 6.7843 9.4438 12.9549 16.4801 14.9093 8.2954 1.6877 -2.5193 -4.4922 -6.7348 -6.9853 -4.6783 0.7181 1.0483 -5.1128 -1.1161 -7.5305 -12.3980 -27.2058 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/train_120_2.txt b/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/train_120_2.txt deleted file mode 100644 index 1ca0059..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codebook/train_120_2.txt +++ /dev/null @@ -1,513 +0,0 @@ -20 512 - -1.2668 -1.2477 -0.0681 3.8419 -0.0693 -1.7919 -1.5943 0.8402 0.1550 -3.1526 -3.0204 0.7337 -0.2603 1.6590 0.0230 5.5893 -2.4959 1.9604 -0.6348 0.7999 - 2.6673 1.4923 1.1408 -0.7478 -1.0755 -1.3421 -0.4884 0.2535 0.2951 1.5088 1.9447 -2.6620 2.3751 1.5298 4.1357 -6.5630 -2.1766 -2.7535 -0.7706 1.2362 - -0.6415 -0.4348 -1.2178 -0.9870 -1.1057 -2.1421 -2.3594 -0.4977 -4.1484 -4.7120 5.5425 3.0695 3.6610 2.9729 2.4379 -1.6136 -1.3052 2.1342 1.9164 -0.5692 - 1.5930 -1.1175 -1.2476 1.6203 2.5315 2.3427 -0.5223 -3.1063 -2.1739 -1.4774 -2.6108 -3.5842 -0.3828 -0.1511 0.8929 2.5717 -1.7657 1.8954 6.0193 -1.3272 - -0.2102 -0.3681 -1.2724 -1.1520 -0.3715 -0.5633 -2.5238 -1.7680 4.7356 5.6452 0.8620 0.8750 -0.8932 -1.5918 -1.4047 -0.0720 -0.6080 -0.7876 1.3972 0.0717 - 5.1178 -1.5391 -4.2881 -1.9745 1.3515 2.4014 0.9329 3.4647 -2.4062 -0.4224 2.8708 -1.6053 -3.1492 -2.6783 -2.6937 -4.4645 1.8599 -0.5456 3.8910 3.8770 - -1.7119 -1.0101 -0.5002 -1.7849 -0.4884 0.2279 -0.8335 -1.0083 -1.2819 0.1129 -1.3674 -1.3338 0.9290 3.0765 2.6339 3.5627 -2.2713 0.6565 -1.2099 3.6022 - -1.5938 -1.3264 0.9856 2.8765 2.3700 1.2528 1.2586 -1.2453 -1.3974 -1.4988 -1.6309 -1.2183 -0.1625 -0.8690 0.0030 -2.0081 1.3580 2.9585 3.3396 -3.4520 - -1.3680 -0.6304 -2.5755 -1.2397 4.9487 2.7251 1.4675 -0.1832 -0.3932 1.4723 1.7410 0.6216 -1.0849 -0.7112 -0.3751 -1.7539 0.1222 1.9858 -0.5248 -4.2444 - -1.2786 -0.2384 0.6718 2.9763 -1.6959 6.4607 -3.9459 -2.0560 -2.7306 -0.2583 0.0389 -3.6271 -4.0721 0.8260 0.8112 2.8769 2.2400 0.5444 0.3571 2.0995 - 2.5196 2.3359 1.6620 0.6250 -1.0528 -0.9133 1.8668 1.2853 1.4368 1.4676 1.1301 1.3664 1.1076 -3.2853 -0.4530 0.4467 -4.7302 -3.8149 -3.9866 0.9865 - 0.1738 1.2940 1.3514 -0.3684 -0.7078 -0.2329 1.3467 -1.0678 -0.0262 0.2448 -0.8418 -0.3910 2.7415 2.9948 -4.5965 -0.1192 0.2496 0.4684 0.0669 -2.5805 - 0.2482 -1.3236 -1.4810 0.9433 3.4287 2.2233 8.9344 -1.1138 0.4585 -3.7470 3.0416 -2.7394 2.2880 1.6598 -3.6439 0.0633 -2.7363 -1.2617 -3.1924 -2.0500 - 1.4672 -1.3248 -0.5511 1.4512 -0.4710 -1.2381 2.9453 -2.3244 2.3249 -2.1969 0.9414 -1.9926 0.5254 0.0792 -3.2076 -2.4140 3.5291 3.5738 -0.0613 -1.0556 - 1.5560 0.0091 0.0770 2.8542 -1.4594 -2.0102 0.5440 2.8119 -0.2925 -0.7111 0.9589 -1.6923 -1.8606 1.1040 -1.6733 -0.0895 3.6894 2.7628 -6.9922 0.4138 - -1.5539 0.6820 1.4458 0.4297 -0.4115 -1.3266 0.5024 -0.6975 -0.3820 1.2840 0.9597 -1.0561 2.2198 0.1292 1.4343 3.0313 -3.9845 0.6776 0.3380 -3.7217 - -2.0283 -1.5216 1.0103 4.8788 3.7028 4.4000 -0.3076 2.4853 2.2296 -1.5213 0.4360 -5.9903 -2.6578 -2.3985 -2.0127 1.3737 -3.7950 2.3105 -0.2099 -0.3839 - -1.7339 -0.9861 -0.2078 -1.2579 2.5808 -0.9255 3.2388 1.0999 3.6754 4.6424 1.9111 1.4716 2.7531 -0.2725 -0.3573 -0.5392 -4.2109 -6.4662 -2.3713 -2.0442 - 0.7177 1.4094 0.7205 6.8683 1.7836 7.1562 -2.9368 3.4036 -0.6064 2.3377 2.8714 -7.0408 -9.7129 4.1278 -3.4444 -5.9919 5.5073 -0.8996 -7.5142 1.2434 - 0.8042 1.5886 0.8754 -0.4378 0.2336 0.0424 -0.1245 0.0847 0.6402 2.6508 1.6375 -3.2393 -2.2823 -2.1435 -1.5628 0.4271 2.2571 2.5048 -1.5933 -2.3629 - 0.6292 1.1956 0.8357 -0.8634 -0.1796 1.8589 0.6940 2.8309 2.5569 -0.4253 0.2913 0.7772 1.4180 3.4210 -1.9468 4.2236 -7.3361 -3.7802 -3.5980 -2.6029 - 1.9034 -0.7126 -2.3343 0.2344 3.6545 3.9405 3.0203 0.1937 -1.1906 -1.9012 -0.6667 -1.2590 -1.1021 -2.6650 0.1400 -1.4183 -1.2342 0.0547 0.1519 1.1906 - -3.6125 -2.2485 -1.0820 -1.9912 -1.1521 -2.2527 -2.5383 0.9320 1.1572 2.0230 1.6579 1.3763 6.4432 2.1652 -2.0259 1.9724 3.2824 -0.4615 -1.1909 -2.4539 - -1.1530 -2.1790 -0.7355 -2.0941 0.6246 1.7502 -3.3266 -3.4374 -2.6486 -2.2938 0.9286 1.3396 -2.1323 0.2739 1.2664 4.4111 1.3864 3.9050 2.8286 1.2861 - -1.9752 0.7423 2.4137 1.8854 -1.1393 -2.5802 -2.9355 -3.6740 -1.8244 0.3099 6.1403 4.6215 -2.0636 -3.7172 -0.9400 1.4240 -0.3669 2.0205 0.6217 1.0369 - -0.1561 3.9621 -1.3649 0.2912 3.5366 0.8537 -0.9376 -3.7333 -6.5447 -1.2107 3.3183 2.5758 1.9693 -4.8690 0.6212 0.0985 1.5746 0.2433 -2.6173 2.3890 - 0.6849 -1.1521 -2.0382 -0.8953 0.8771 1.1996 -0.9704 -1.3679 -1.1460 0.0582 0.2636 -1.9785 0.5235 1.6427 0.6362 0.7411 5.6052 -0.3533 0.6579 -2.9883 - 0.5989 -3.9928 -2.1937 3.8742 2.0056 2.3132 -0.4478 -2.0855 -4.3607 -2.1260 5.3544 1.9827 5.3407 -0.8346 -2.4624 1.1729 -4.3825 0.7623 -1.9429 1.4240 - -3.3103 0.0394 2.0113 2.6733 1.2484 -0.2186 0.1156 -0.4856 2.4501 0.8179 -1.1164 -2.1952 -0.9719 2.0728 0.4002 1.1891 1.7518 -1.2571 -3.3136 -1.9012 - 1.8860 6.9767 2.4311 -2.0414 3.9100 5.5378 -1.7478 -0.8304 2.8523 -1.4075 0.1309 1.8232 -2.8868 -7.5003 -3.4867 -3.2756 -2.8584 6.2611 -7.4682 1.6940 - 3.5074 1.3392 1.0862 2.9814 0.8158 -2.6160 -2.3837 -0.8255 -0.1595 2.0087 -2.8876 -2.4727 -1.3574 -1.2864 -1.5711 -1.0772 0.4648 2.7262 2.1044 -0.3970 - -0.1430 -0.9788 -2.1195 -0.7774 4.0804 3.7123 1.5082 0.2869 -2.5968 -2.0127 1.5147 3.7486 3.2447 0.6959 0.3308 -2.4516 -3.4598 -4.1669 -0.6870 0.2709 - 0.0724 0.3235 -1.9536 -2.7454 -3.3392 -1.9023 -1.0150 0.7511 -0.0539 -2.8386 5.2737 5.1053 1.4372 1.4046 1.4504 2.4912 -2.6526 -0.6188 -0.6530 -0.5369 - -6.9550 1.3233 4.3542 2.9502 0.9929 -0.1186 -0.8657 -2.3452 3.5061 2.8348 -4.1741 -4.1264 4.6970 3.0117 -0.2849 -8.0081 3.4452 0.7819 -2.7443 1.7251 - -4.0878 -0.8849 -4.7521 5.0067 -3.3510 -4.8233 -6.6328 4.8752 -0.7474 3.8614 2.6271 0.9119 1.0371 2.2968 4.3160 -3.7042 0.9900 0.4960 4.7952 -2.2300 - 0.5901 2.0654 1.7824 -0.5570 0.4874 2.7659 0.8232 -0.1306 -0.6795 -1.3143 -1.2480 0.9969 2.0563 0.1625 0.7346 0.0223 -1.6836 -2.9087 -4.1058 0.1406 - -0.5074 -0.8373 -0.8579 -0.0460 -0.0854 -1.4221 -0.6935 2.5302 2.2014 2.2225 0.5896 1.2715 -0.7624 -2.7997 -5.3296 4.0372 3.2176 -1.4146 -1.3705 0.0565 - -3.8190 -1.1051 1.5169 -0.5542 -1.5591 0.2921 -2.1144 1.6664 2.8275 0.7745 2.6977 4.4021 -0.2010 0.0685 1.3158 -0.8045 -5.9834 1.7874 -2.1592 0.9509 - 0.6749 -0.0635 0.3751 0.6561 0.4718 -2.3144 -4.9191 -3.0907 0.5499 -0.3498 1.2370 2.6699 1.5353 1.6809 1.2117 -1.3733 0.0977 1.3610 0.0102 -0.4207 - 0.8139 -2.9454 -1.1694 1.1826 3.5742 4.3331 1.4143 1.7017 -1.2428 4.8459 -4.4642 -0.0684 -1.7273 -0.1932 -2.6041 -1.4272 0.2873 -0.9676 -0.1422 -1.2013 - -1.8690 1.2475 -2.8884 -0.3842 -0.3588 2.7759 -2.0060 -2.2023 -2.6599 -2.5791 -3.1221 3.2645 1.8131 2.8630 6.3144 -4.2619 0.7589 -0.7608 4.8657 -0.8104 - 2.3449 0.3057 -2.2411 -1.3084 0.6572 -0.3790 0.2674 0.5337 0.4996 0.8832 2.3616 3.9339 4.7846 -2.7473 -0.5167 -0.0864 0.9288 -4.3018 -4.0903 -1.8294 - 2.9658 2.7467 -1.9276 -4.0009 -0.7257 -0.6616 -2.0255 -1.2898 0.3022 1.5810 3.0521 2.5790 -3.2369 -0.4791 0.4455 0.1138 1.1032 0.9003 -1.5708 0.1285 - 5.2204 -2.8190 0.8203 0.5992 -1.3205 -2.1549 5.0256 -1.6050 0.5506 -2.8092 -0.2831 -1.6376 -1.8233 -0.0177 2.5319 2.0586 0.9166 -1.5417 -0.3071 -1.4039 - 0.1090 -0.1359 -0.4821 -0.5060 -1.1903 -0.1205 1.3010 0.0989 0.2280 1.3298 1.4648 0.7280 0.0076 -1.4837 -0.1633 1.2525 0.9437 -0.0019 -3.9783 0.5988 - -4.0941 -3.4220 0.4966 -5.4678 6.0636 1.1749 -0.1830 3.3518 3.5480 1.4243 2.5791 -5.9065 -1.8723 -1.6703 1.3990 6.8845 1.8643 -1.2344 -3.7475 -1.1880 - 3.5819 1.2282 -0.2187 -0.8194 -0.0683 0.6784 0.9405 -0.1871 -1.0635 -2.3089 -1.7476 -2.3377 -1.8039 -0.2123 0.7402 0.8810 0.7063 -3.8015 4.2698 1.5426 - -0.7508 -2.5319 -1.4606 1.0638 -3.8848 1.2060 2.6878 -1.2315 -0.1629 -2.2730 -3.3361 -1.6208 1.9855 3.4308 -0.2120 -1.4559 -0.3738 2.3568 2.3629 4.2004 - 1.5564 1.6137 1.4225 1.6668 1.3266 0.0460 0.1831 -0.3664 -1.4348 2.5690 2.2918 1.6955 1.6680 -1.3807 -1.0884 -1.0980 -0.5844 -1.0295 -3.6955 -5.3616 - 1.7128 -1.8066 -4.0653 -3.8214 -0.9531 3.4797 0.7961 -2.4955 -2.7851 0.0025 0.7872 1.0652 1.5456 -0.4352 1.9173 4.6258 0.3691 -0.1501 -0.2351 0.4458 - -1.6777 -3.1299 -1.6947 -1.1535 -2.1999 -3.2226 -0.9846 -2.1533 -0.6467 2.0938 2.1307 2.9065 1.5181 3.0875 0.0486 -0.2157 1.3461 0.7741 2.7320 0.4413 - -2.0098 -0.0651 -1.1313 -3.1454 -1.8173 0.4664 2.3278 3.1806 -3.0726 -1.5969 3.6994 0.6478 -0.6833 1.0635 1.1405 6.7102 -4.8934 -4.2029 3.4752 -0.0933 - 3.0911 3.1320 3.6764 1.2247 2.0977 -0.4399 -3.9470 1.4276 -0.2596 0.5511 -6.4999 -0.9385 3.2215 1.7397 -2.0786 -2.6160 -3.0150 -2.0586 1.9218 -0.2304 - 0.5955 -0.9572 -3.8115 -1.2133 0.9600 3.0247 8.6360 5.7851 6.1244 0.7094 -2.4410 -1.1712 -1.7901 -3.5399 -2.8318 -2.5468 -4.9596 -0.6022 0.6141 -0.5845 - 12.5835 1.8094 0.1352 1.7718 0.9427 -1.3690 7.1277 0.0421 -2.3404 -4.6650 1.4653 -2.4880 2.6056 -10.3828 -8.1067 4.1108 -1.2481 -1.8330 -2.7827 2.6214 - 2.9658 -0.2617 0.2806 -0.2164 2.8550 1.9755 -3.5301 -1.2350 0.9311 0.8713 -2.2265 -0.6005 2.6386 2.7666 -2.3603 -2.5163 1.6854 1.0161 -7.8883 2.8489 - -0.9445 0.6006 -1.3214 -5.0651 -2.1702 -0.0289 0.1003 2.2883 0.0424 3.4686 2.0494 1.6327 -1.6152 0.1220 -2.8666 -2.2261 4.9579 -2.2581 -2.7323 5.9663 - -1.3666 -0.2364 -0.3999 -0.9988 -2.0227 -0.0610 -0.5411 -2.2113 -0.2283 -1.7150 1.0239 4.2760 1.9603 -3.0526 -2.5894 0.8611 5.2528 3.4951 -2.2336 0.7875 - 4.7609 3.7023 0.7955 -3.1291 -1.3671 0.8798 -0.9947 0.2668 0.5762 -0.9479 -4.5541 -0.6922 0.0699 -5.8412 4.2302 5.0652 1.3544 -2.4661 -0.6224 -1.0865 - -2.6815 -0.9958 1.6109 -1.7618 -2.5561 1.0357 -1.5863 -2.2811 3.4491 1.1806 -0.2855 -0.1380 -0.0202 5.6861 0.8289 -1.0913 0.5986 -1.1493 3.2455 -3.0884 - 1.7353 3.1908 5.0898 -0.4602 0.0751 -2.1427 -5.0910 -3.1667 -3.3291 1.9531 0.4802 -4.8101 2.2518 2.4380 0.6439 -7.3548 -0.0689 1.8997 5.7170 0.9491 - -1.1588 -3.1119 -3.4525 0.2538 1.3345 -1.0500 -0.3870 -0.0472 0.1522 4.0806 2.8886 3.8741 -1.9507 -2.9183 -0.3828 -0.0805 0.4136 1.1466 -3.1863 3.5818 - -4.1654 -5.7362 -5.0041 -0.9889 4.1884 4.8135 1.5658 -2.3781 0.8425 7.5151 7.3977 3.9243 0.6283 0.9194 -5.0741 -1.9566 0.2100 -4.9786 0.8760 -2.5989 - -5.3114 2.2992 -1.9803 1.2150 9.1545 -2.1960 -2.8749 9.6686 0.5512 -4.1700 -1.1338 -4.1549 1.6645 -3.1643 -1.7800 4.9896 0.3390 -0.0421 -1.0391 -2.0347 - 1.0740 2.1840 0.9247 2.0617 -2.1994 -4.0653 -1.5118 -0.9397 1.3781 2.9104 -0.8864 8.5382 0.5495 -3.5922 -0.2482 -0.5485 -0.9604 -1.8453 -3.1808 0.3575 - 3.5141 2.7621 1.2101 -0.3665 -1.1827 -0.5351 0.4822 0.7598 0.8241 1.4976 -0.8943 -2.8067 -2.3512 -2.0448 0.3706 -0.9201 -3.9192 1.1431 0.4761 1.9809 - -1.7817 1.1939 -1.2195 1.7524 -4.7374 1.1520 0.0973 1.5475 2.2848 -7.7870 2.0346 0.5213 2.8861 3.1077 1.1974 2.3936 -1.4248 -0.2888 -1.4706 -1.4588 - -0.7677 -2.0426 -2.9918 -1.8722 -1.4336 0.4207 1.4107 1.0509 -0.1714 0.2221 1.3054 0.5884 3.1454 1.8747 0.1510 -0.5701 0.5457 2.7058 -0.0854 -3.4859 - 1.6593 1.0024 0.3202 1.0267 -0.2368 0.1208 -0.7272 -1.0487 0.2686 -1.0197 -1.3131 4.1829 1.0297 1.7779 -3.0898 -0.7777 -4.5532 2.1765 -0.3100 -0.4886 - 2.9341 -0.2895 -2.4210 0.9438 2.9490 1.2447 -0.4279 -0.4133 -0.2487 0.6464 0.1859 -0.8613 0.0690 -2.0024 -3.5783 -0.9123 -2.3469 0.3089 5.3909 -1.1710 - 13.8818 0.6217 -0.6459 -3.4218 0.8331 0.8918 2.2009 4.0596 -3.0380 -7.3862 -3.2105 -2.2108 4.7972 -5.3735 3.8870 -1.8190 -0.5123 0.9752 -3.6921 -0.8383 - 0.2536 -11.0226 4.4625 -7.9396 8.6657 2.6088 -1.0215 0.4492 -5.0641 2.7194 1.1735 2.2070 3.3733 -0.2605 5.5319 3.5989 0.2759 -3.6185 -2.9338 -3.4591 - -0.2533 -1.2245 -1.1924 -0.1962 0.6099 -2.1289 -2.0002 -2.0390 -1.5592 0.7879 0.1165 -0.9325 -1.5485 0.4552 0.3883 1.9054 2.3495 3.9138 2.3594 0.1886 - 0.1750 3.7528 1.6899 -4.3270 -5.0437 -3.1410 -4.7768 -1.9628 -4.5893 5.9435 -9.6773 -0.4601 3.0571 1.2797 0.1161 3.5574 3.7157 -2.0222 5.9308 6.7823 - -0.6999 -2.9933 -3.6606 -0.6207 -1.4032 -1.1364 0.2530 -0.9004 -2.7685 -4.3142 -0.7561 0.8142 -0.4715 0.8444 2.0053 0.5983 3.3363 4.4913 6.9146 0.4673 - 1.0959 -0.0886 0.2379 3.2725 1.2016 -1.1581 -1.3640 -0.6268 -0.3678 0.9051 0.7593 -2.2902 -1.4578 0.6349 0.5115 -4.4984 2.2315 2.2535 -2.7867 1.5345 - 3.6055 3.8842 2.1794 -0.7568 -1.0500 -2.1686 -0.6731 -2.0718 0.8001 -0.6819 1.1112 0.5707 -2.4862 3.1489 2.6767 2.5134 -1.9147 -4.1519 -2.4548 -2.0802 - -1.9388 -0.7447 -0.8349 0.1123 0.1251 -1.3476 -2.6413 -0.4770 5.6864 -1.8563 -3.3514 -0.5309 -1.6295 -1.3453 -0.4664 4.5930 1.1909 2.9264 0.9356 1.5944 - 0.5951 -0.4177 -0.1304 0.5462 -1.3265 1.4534 1.6425 0.9730 0.8946 2.1586 4.2557 0.8968 -5.0524 -1.9576 2.6089 0.6571 0.7918 -2.2504 -4.5907 -1.7480 - -1.6456 -2.0706 -2.4462 -2.5983 -2.5056 2.0863 -0.9159 -0.8806 -0.8052 -0.7776 1.0285 0.4522 1.5131 3.4530 4.9330 -2.7752 1.7750 2.1982 -0.0181 -0.0006 - 2.2117 0.6658 -0.1647 -0.7769 -0.3291 -0.0686 3.1830 1.8603 1.0488 -0.7866 -1.0352 1.6465 0.2395 0.3989 -1.2496 -1.9498 -2.6996 -7.5216 1.3320 3.9951 - 1.0405 1.3681 2.7153 3.0279 2.8206 1.9933 -1.5434 -2.0223 -1.0490 -1.2756 -0.1434 0.2554 0.8858 1.3178 0.3714 3.5670 -3.1912 -1.0147 -3.0243 -6.0993 - -0.8348 -2.4017 -3.6731 -2.0399 -0.2474 -1.0640 -1.1488 1.3352 2.8367 5.1498 -0.0673 1.7148 2.0672 0.7800 -2.8302 2.8981 -0.7525 1.3119 -2.4119 -0.6222 - 3.0927 2.0509 2.4548 -1.3001 -3.9942 -0.7486 2.8523 0.1569 -4.3404 -10.5627 4.2087 4.2968 2.7013 -1.1646 0.2008 -2.4272 1.8708 0.5192 -2.3092 2.4416 - 0.6449 -3.5216 -3.8362 2.1329 -1.2999 0.6434 -2.5079 3.1409 -0.9430 2.1409 -0.9005 2.6639 5.8420 2.2508 -0.1834 -3.5407 -2.0329 -1.9827 -0.2675 1.5565 - 5.1512 4.1361 0.9497 -3.1897 -6.0608 -4.8346 -0.7128 -2.1849 -2.1809 0.1265 0.3295 0.2665 1.1233 -0.4722 2.7945 1.1909 0.4093 1.9529 0.6380 0.5674 - -2.0255 1.8944 3.2610 -0.6543 -0.1603 1.6419 1.8339 -4.1284 -1.6495 -7.4417 2.7611 3.0349 -5.4696 5.3754 0.2729 5.1700 0.7296 -0.1265 -1.6533 -2.6659 - -7.1882 -6.8851 -0.9549 2.6573 1.6288 -0.3149 -2.2361 1.6706 4.0565 3.2723 -2.0478 -0.6505 2.7769 4.9536 1.8310 -4.1026 -0.8540 2.2409 0.8671 -0.7209 - 0.8703 1.1461 2.9551 0.5102 0.4539 9.1307 -3.4339 -1.5513 -2.2902 -4.1038 -6.0580 -0.8757 3.5830 2.5081 -1.9449 0.3605 0.8645 0.6768 -0.2206 -2.5809 - -4.5091 -1.0618 1.6342 0.5890 1.0199 0.7070 -0.4636 -0.7393 -2.0902 -4.3948 -1.8491 2.8967 1.9263 0.6394 4.9955 3.9485 -0.2145 -1.3652 -1.4955 -0.1736 - -1.2527 -0.6868 0.0359 0.5854 0.7286 -0.5988 -1.0892 -1.2358 -0.5524 -1.8766 -4.8554 1.3154 3.0969 1.2141 0.4785 0.5435 0.9660 0.9526 2.5969 -0.3662 - -3.4429 -2.5359 -0.7902 1.6794 1.3950 0.9304 0.5281 2.0451 -0.2820 -0.7620 -2.3113 -2.5279 -1.2407 -4.6199 3.9276 -1.3637 2.0692 2.0266 2.4150 2.8601 - -0.0841 -1.4504 -2.5295 -2.1914 0.0160 -1.5806 -3.8581 -1.8751 1.2410 1.4792 -0.0268 -3.0304 1.1672 3.1034 -0.0043 -1.7750 1.0722 5.8103 3.7335 0.7830 - -1.2601 -0.9248 -0.9753 -1.1580 -0.4657 0.9286 0.4457 -0.7164 2.9298 6.0232 1.1288 -9.2201 -2.6002 1.0866 3.5907 -0.3994 -0.8783 -0.4493 3.0463 -0.1320 - -2.6865 -1.7683 0.5719 4.2697 0.4434 0.9403 -0.1787 -3.9995 -1.4954 -2.9666 0.5871 0.7458 -0.5643 -3.3758 2.4009 1.3630 3.2345 2.9305 0.6423 -1.0943 - 0.2605 -0.1269 0.1894 0.8801 5.6065 4.4842 -0.3360 1.6337 -1.0080 2.2349 -1.3371 -3.4195 -1.5849 3.4658 -2.7632 -2.8878 0.2535 -1.0857 -3.4858 -0.9736 - 0.5903 -1.1309 -3.8731 -2.8181 0.6957 -2.1930 -3.7976 -0.1684 0.3131 0.8609 0.0568 -0.1356 5.9915 2.3704 3.9840 0.5840 -1.9366 -2.6479 0.4937 2.7608 - -1.4917 0.6707 -1.8279 0.4736 -4.3226 7.6508 -0.6770 -1.0388 1.6577 3.4357 2.1210 -1.6783 -1.9394 -0.4857 0.0446 -2.1769 -1.5641 1.5895 1.4750 -1.9161 - -2.4617 -1.4865 0.9268 3.7356 1.9298 -1.0879 -0.9003 -0.6573 -0.4536 1.1463 2.5279 -0.9025 -2.1547 0.5579 -1.4546 -2.5618 -1.1020 1.7633 4.9058 -2.2707 - 3.2436 2.0698 1.3674 -1.4618 -0.4269 1.2764 0.3160 1.2237 0.7208 1.5117 1.4584 -0.5527 -0.7757 -2.7217 -4.0792 1.8261 2.7197 -3.9546 -1.7508 -2.0101 - 0.2659 1.9357 0.5705 -1.8509 -5.0017 -3.7512 -2.7574 0.2996 -1.1250 0.6895 2.7521 3.7090 3.4556 6.5334 -3.5389 -3.8970 -2.9436 0.7650 1.5177 2.3717 - -1.2532 -0.7651 -0.7634 -1.6900 -2.3167 -1.0574 0.9291 -0.7963 -1.4770 -1.6646 0.5558 0.7009 3.4059 9.2719 1.4172 2.4588 -0.7901 -3.7873 -1.0613 -1.3173 - 3.2264 0.6063 -2.4159 -3.8529 -1.9936 2.6889 2.5115 0.8341 0.8209 1.2008 0.7255 -2.1489 -1.1543 -0.6443 2.0479 -0.7011 -0.5619 -0.0820 0.5538 -1.6613 - 0.8900 0.2673 1.2328 -0.1459 2.5186 2.3429 -0.5461 -0.5497 1.9452 5.1637 1.5156 -3.9805 -1.5621 -1.5331 -2.7711 -2.2357 0.7958 -1.6083 -2.3152 0.5758 - 4.0233 3.7838 3.0862 2.4680 -0.8644 -2.4804 -0.9694 -1.9035 -3.4966 -3.9590 -3.9724 -1.2080 -1.6237 0.7915 0.4354 0.8419 1.1287 1.8538 2.3476 -0.2827 - -0.5315 1.6742 2.6296 -0.5391 -1.8812 2.7171 6.8646 3.9934 -2.0577 -0.8537 -4.3316 -2.4473 -2.8864 -0.3456 -1.9169 -1.4494 0.4578 1.9608 -0.1673 -0.8898 - -2.1559 -2.4800 -1.5001 1.3457 3.3362 2.6367 1.4331 2.3397 3.7557 3.4063 1.6588 1.2723 -0.3658 0.5614 -2.5827 -5.6096 -3.4952 -4.1966 -1.5564 2.1965 - 0.1567 -1.6324 -1.8735 -2.1011 0.8687 2.8596 1.0227 5.0782 -3.8186 -0.4012 -1.0627 -1.0858 2.3105 2.5822 -1.0014 -0.6915 1.2628 0.1273 -4.3120 1.7113 - 0.5493 0.1877 -0.3065 0.0805 0.1700 -0.4682 -0.7192 0.7521 1.1935 -1.2445 0.5061 3.0407 3.3122 2.9044 2.0613 -2.6946 -2.8479 -1.4855 -3.4536 -1.5377 - 1.2611 1.2112 -0.4954 1.5849 2.8817 0.5597 -3.2189 -1.8993 -2.3996 0.0235 -0.9270 -1.1263 -1.6443 -3.5163 -1.2543 1.8410 4.5628 1.0754 -0.1607 1.6406 - -0.8759 -1.6975 0.2532 6.4042 -3.4246 -2.9858 1.9661 -3.2513 -4.0109 -0.5134 2.5545 -3.0437 -2.1093 -3.6915 4.1398 6.0036 -1.3456 1.3628 -1.0285 5.2940 - 8.8405 -7.2360 2.8239 7.1563 -1.4248 -8.0410 -1.9196 1.8187 -0.9320 -3.1134 1.9133 4.5783 5.5866 -1.7440 -0.1615 -9.2039 4.4457 -2.5424 2.5822 -3.4268 - -1.9594 -0.1440 -0.0014 -0.5248 -1.2740 1.9184 0.2637 0.9658 3.9879 -1.7646 0.8739 3.6824 -1.4748 -0.5493 4.1940 -0.5892 0.9704 -2.3393 -5.2036 -1.0319 - -1.8153 -0.8777 -1.3975 -2.8688 -1.3150 0.6005 2.0795 2.0158 -0.0187 2.3273 5.2446 3.1910 0.5420 -1.0394 1.3294 -4.6550 -1.5318 -1.6999 0.2573 -0.3684 - 4.3069 1.2137 -1.8464 -3.0026 -0.9539 3.1554 3.4215 2.0922 0.4828 1.6102 1.1857 1.5577 -1.8593 -2.9907 -3.0640 -4.6355 -1.6614 1.3592 1.5116 -1.8833 - 0.6407 1.1519 1.5429 -0.7369 -1.7269 -1.6671 -0.1290 -0.7049 0.8116 -1.2198 -4.0157 -5.1437 -3.1965 2.3418 0.7111 2.6992 0.5585 1.9829 4.9644 1.1355 - 0.6364 2.1072 0.9870 -5.1572 -4.3363 -1.0839 -1.3521 1.8709 0.8132 -0.2938 -0.2079 -2.5242 -0.8999 2.3401 0.7392 3.1549 3.0568 -1.1375 0.0963 1.1908 - -0.0136 -2.4241 -0.4209 1.6339 3.4114 3.5889 -1.4100 -3.5651 3.1831 2.0426 0.5548 -2.0177 1.6429 -3.2634 1.5780 -4.1305 -0.9389 0.1651 0.4588 -0.0751 - 2.0687 0.8544 -0.3821 -0.1978 1.0057 2.3289 3.0174 -0.3330 2.0178 -0.6679 -0.1993 -1.9170 1.6018 -0.3834 0.6526 1.9588 0.3355 -2.0462 -4.1767 -5.5379 - 2.7809 0.2282 0.4820 1.9051 -1.7350 -3.4716 -3.3685 -1.3005 0.1251 -1.5366 -1.9516 -2.1469 1.2541 3.7123 3.0390 0.8154 2.3154 2.5014 0.0685 -3.7166 - -2.7442 -0.5589 1.8753 0.2528 -1.7122 -1.5279 0.3471 1.3429 -0.0809 -1.0979 -0.5556 2.8899 0.2864 2.1800 1.7006 -3.4442 -2.6681 2.9174 1.9107 -1.3132 - 1.1471 -0.3191 -2.5131 -2.6788 2.7236 4.0318 2.9420 3.1336 1.5351 0.4800 -0.0086 -1.0945 -1.1975 -0.4758 0.1588 -0.4970 -0.2437 -3.5219 -3.3061 -0.2958 - -0.6947 -3.5085 -2.7613 0.0475 0.2365 -2.4104 -0.4597 -0.9262 -0.2261 1.8983 0.9162 0.3544 -1.0767 2.3229 2.3748 -1.6417 3.4712 -3.6716 0.1472 5.6077 - -1.7531 -0.9915 -0.4352 0.4089 0.1890 -1.7111 -0.6401 -0.9353 -0.5743 0.3365 -0.6869 0.9392 0.8776 -0.2201 0.7815 -1.7487 -0.2509 3.0732 0.2971 3.0442 - -6.4696 -1.5332 1.3136 7.9582 4.7035 0.4178 -1.4784 -2.4577 -0.6662 -2.4183 -3.1348 -2.0591 -4.3423 -0.2080 1.5975 -2.6953 0.1211 4.7779 4.5315 2.0419 - 0.8642 3.0824 1.7461 -0.8529 0.9231 -0.3502 -2.7586 -2.7081 -1.4853 1.1577 2.4953 -2.0279 3.1643 -1.1352 0.2786 -0.1650 2.4230 -0.5282 -0.4006 -3.7227 - -3.9091 0.2639 -0.0395 -5.0339 1.4635 7.9381 -1.8279 -7.5321 1.8947 0.9696 -7.1991 7.7502 4.8838 -5.2722 5.2271 6.4012 -8.2785 -5.8271 0.4487 7.6786 - -0.4051 0.3015 -0.5211 -1.1563 -1.5548 -0.8506 -1.7742 -0.6679 0.3853 3.9695 3.1450 -3.5632 -0.3392 -3.3757 1.3514 4.4934 -1.2754 -0.4248 1.0022 1.2601 - -3.0667 3.2388 3.6288 -0.3263 -3.6989 -4.3941 -3.0073 -2.9882 -2.7834 -3.8873 2.3701 6.1068 1.0432 -2.8444 0.1460 -2.5272 1.8208 2.6818 7.7176 0.7699 - -0.8674 0.6588 -0.0766 1.9350 3.3452 2.7012 0.4707 -0.8282 -0.7703 -3.8252 -2.8814 -0.2389 -1.3895 -0.9376 0.2572 -3.4418 -2.3763 -1.8695 7.4789 2.6558 - 0.8567 1.9741 0.6363 2.1993 1.9072 2.2211 3.7376 -0.0455 1.3289 -1.0736 -4.8817 -4.0284 2.4624 1.0596 -3.8101 -3.8498 0.8895 -0.5176 -2.3743 1.3083 - 3.7465 3.5865 0.1979 0.4072 -1.1714 -1.4598 -2.1688 -1.4971 -1.1953 -2.8028 -1.8515 1.1483 3.7654 -2.6485 1.2635 -2.4929 -1.4965 0.6356 3.3756 0.6583 - -1.7286 -0.6675 0.3769 1.1159 0.0587 1.4828 1.2140 6.0165 1.2212 -3.4526 -2.4321 -0.8616 -2.2663 -0.0017 -0.0046 0.2615 0.0517 -0.8546 0.5801 -0.1095 - 3.4455 1.4668 -0.0851 -2.9245 0.0932 1.2861 1.1250 -0.6317 -4.0005 -4.4206 -1.5097 1.3643 -0.1238 -0.8046 -2.4500 4.2293 2.9297 3.2594 -3.0122 0.7633 - 2.2354 -0.6334 -2.7256 -1.7876 -1.8603 0.6549 0.1244 -1.8100 -1.7636 -2.7665 1.0419 3.6034 2.7187 -5.8124 -0.9848 2.8478 -0.3193 3.4835 2.5353 1.2184 - 3.0602 4.3425 2.4260 -0.5623 -0.8919 -0.2730 1.3901 0.4772 -0.5219 -1.3754 0.4815 2.4087 -5.0472 -5.6009 -2.8901 -2.4607 1.8809 3.5997 3.9232 -4.3669 - -0.0346 -0.2122 -0.2290 -0.9365 -0.4221 -1.9300 -2.3572 -2.9919 -2.2394 3.2115 2.4104 2.4249 -0.5682 1.5001 -1.3857 2.6140 -1.8866 -5.6180 7.3368 1.3135 - -0.4484 -1.1107 -1.9143 -1.2992 -0.5392 -1.0181 -0.6562 0.5186 -0.7919 -1.4379 -4.0959 2.4107 1.5417 0.0557 3.4844 1.7096 -0.8275 1.7994 2.0983 0.5209 - -0.4549 0.1830 0.2262 -2.2572 -1.5931 -0.7026 2.6431 2.6098 4.0381 -0.4805 -2.9134 -3.5443 -0.6536 -2.1551 2.0956 1.2393 0.2979 0.9155 -2.0621 2.5682 - -0.1092 -1.2889 -2.5682 -2.3378 -1.7259 -0.5628 -0.6114 -2.8295 -2.5690 -3.3678 -2.2669 0.6023 0.3823 5.9006 5.7607 1.9871 0.6942 1.2471 3.2445 0.4186 - 0.6515 1.8638 -0.3444 -2.0169 -0.6995 -2.9879 -2.4596 -1.0847 -0.8686 -2.3776 2.0331 4.8909 4.1694 1.2690 1.4079 1.9289 1.8820 -0.9986 -3.0198 -3.2390 - 1.7936 1.2201 -1.9231 -2.6761 1.6107 7.0585 8.8031 2.9894 -2.3291 -6.5825 -1.5641 3.0126 -4.0096 -4.0332 -0.6223 -0.5985 -0.8359 1.2689 0.3585 -2.9410 - -1.2384 -0.3295 2.3565 3.0657 3.2204 1.0890 -0.5456 0.1283 2.9904 -0.0970 -5.2104 -1.5801 -2.5751 -2.3243 -0.3014 2.6881 0.5623 -1.5424 -1.9388 1.5825 - -2.6631 -2.8705 -3.6445 -0.1511 1.0369 4.6018 2.7993 -0.5794 -0.1152 0.9196 4.1279 -0.7083 -3.1505 -2.1870 -2.5145 -0.8667 1.9629 3.7810 1.8562 -1.6347 - -3.7832 -0.9972 1.0298 0.8253 -2.4369 -3.3827 -2.6892 -0.8231 -1.0820 -0.0375 -0.7937 -1.8433 -0.5302 3.8146 2.3123 1.6122 4.1004 5.6672 -1.0450 0.0824 - -0.1000 -2.0200 -0.5383 2.2917 0.8366 -2.2105 -0.8495 2.1052 3.4989 -0.0827 -0.3031 -1.7154 1.3463 5.4572 -3.0939 -0.0935 -1.1704 -5.2410 2.4300 -0.5476 - -3.7789 -1.9485 1.8338 2.9833 0.6807 1.8337 5.1432 -0.4532 0.5973 -0.6042 0.8753 -1.5014 0.4292 -2.2709 -1.2993 -0.1667 -1.6955 1.1932 -6.0865 4.2353 - -0.4920 0.0568 -2.6837 -3.2294 -0.2920 -0.6790 2.7843 3.0219 1.7934 -2.2037 -3.0967 1.8829 0.5782 -1.6334 1.9235 4.5606 -4.2261 -0.0121 2.2982 -0.3517 - -0.6429 2.5139 2.3667 2.2000 -1.8905 -1.3195 -0.0575 -0.6720 2.8832 0.3828 0.9744 2.9334 -0.6053 3.2595 2.5269 0.0016 -5.8119 -0.9627 -4.8744 -3.2058 - 0.8584 0.9302 0.3630 -0.3058 -0.9190 -1.1142 -3.3748 -2.6210 0.9921 -0.0440 -0.2277 0.8060 1.7478 2.0581 0.3900 4.4187 5.8430 -6.6138 -3.1191 -0.0680 - 0.3281 -0.0986 -1.1173 -1.9481 -2.4515 -1.0863 -1.3545 1.1448 2.8412 3.7501 2.6741 2.7224 1.8554 1.4018 -3.7195 -2.9142 -1.2068 -4.2062 2.9680 0.4170 - 0.2181 -1.3017 -1.3715 -0.9326 -1.1639 -0.6082 2.2905 2.1838 3.1530 3.3746 2.0088 -0.8055 -1.0486 0.7007 -1.7960 -0.3898 -2.4327 -2.4057 -2.1793 2.5060 - -2.4912 -0.4925 1.9418 -0.6320 -1.0125 1.8048 -1.5360 -1.7457 -0.3001 0.5912 0.4548 -1.4661 -1.5177 -0.5917 5.6377 -3.6558 1.8798 3.7139 3.0715 -3.6543 - -1.0770 1.7774 3.6503 0.2492 -2.5625 -1.2989 0.3077 -1.4511 -0.7454 -1.0293 0.9281 -0.0970 -1.4180 0.5544 2.0070 3.1415 2.3666 -0.7117 -2.8143 -1.7770 - -1.8815 -2.2795 -1.1580 1.0865 -0.0453 1.6476 0.0859 -1.8231 -0.7599 -1.0013 0.0173 -0.6116 0.0110 0.6057 0.1048 0.3920 2.8241 -0.4223 -0.2920 3.4995 - 0.0544 2.8654 4.0202 1.6845 -1.8534 -2.9185 -1.4228 -3.6388 -2.0210 -2.4342 -3.4254 -1.7961 2.7218 6.6019 2.2780 -0.0758 -2.1727 1.0645 -0.3083 0.7762 - -4.2733 -4.7209 -2.5347 -4.1434 -2.3709 0.1195 0.9517 -1.8672 1.5567 3.4133 0.9511 6.1534 5.0591 3.3617 4.3448 -0.8335 0.0697 -1.2096 -2.2085 -1.8188 - 0.0539 1.0537 0.6965 0.7551 -2.3328 -4.4085 -1.7944 4.6582 -1.8228 -0.3800 0.4342 0.9079 1.1727 -0.2538 -0.9787 1.6403 0.3758 0.2889 -1.0679 1.0017 - 0.9075 0.5642 -0.6092 -2.8652 -3.3111 -1.2627 1.6981 0.5866 2.5675 2.8589 1.6024 2.0917 0.4354 1.0342 1.2054 -2.7817 -0.5893 0.0883 -2.8199 -1.4010 - 0.8980 -0.3869 -0.4833 2.6033 -0.0884 -0.3699 7.2953 1.6809 0.8531 1.6498 -4.4993 0.0072 -1.9421 -1.8001 -2.5825 -3.6475 -2.3221 0.6178 0.3128 2.2040 - -6.0307 -1.3653 -0.3786 0.0247 0.6616 0.7676 3.3234 3.0965 0.7765 -0.6097 1.0441 -0.9142 1.6186 -9.2158 -4.2017 2.5866 2.2875 2.0945 2.8697 1.5646 - -0.3542 -0.0280 4.1718 2.5282 6.0404 2.9659 -1.0269 -1.4497 -5.6815 -3.9178 -3.9280 -6.4467 -2.5804 -4.6703 -1.3963 3.1437 4.3980 -0.5477 2.7035 6.0758 - -1.5432 3.8376 1.4210 -1.1449 0.4892 1.3172 -2.0383 -2.2564 -2.1791 3.0272 -4.0284 -1.3615 -1.9716 -4.9880 3.8800 2.5715 -2.8049 5.2429 -2.0992 4.6290 - 1.9112 0.2401 1.2090 1.9221 -0.5051 2.0731 -0.8317 -1.4381 1.1319 0.2604 4.8570 -4.2486 -4.2343 -0.1445 2.6106 1.1135 -3.4590 -1.7688 1.2613 -1.9600 - -4.6396 -2.9689 0.9238 0.7657 0.5574 -0.3650 -3.7022 -4.0756 -5.0362 0.3243 3.1880 1.7270 -0.7319 2.9308 3.7592 2.6099 -0.3181 4.3233 1.9146 -1.1863 - 0.1980 -2.2883 0.9330 3.8033 -3.0797 0.0635 -1.8773 -1.7344 -1.0161 0.1560 -0.1661 -3.8927 -0.3658 0.3316 1.1226 1.9542 -1.0490 -2.2906 3.6658 5.5322 - -0.8058 -0.9870 1.9765 0.8081 -0.8891 1.6549 -1.7178 -0.2062 -0.6134 3.7968 2.8384 4.3753 1.2045 -6.0029 -1.5145 -3.5656 0.8785 -0.8278 0.9419 -1.3448 - -1.9513 2.4604 2.9573 3.3043 2.2986 1.0394 -0.4185 -0.0890 -0.2841 2.2073 1.6514 0.3367 -1.0792 -1.4676 -0.8850 1.7747 0.0695 -7.9932 -5.3486 1.4171 - -2.8766 -0.2007 0.3439 0.7801 -0.0362 -1.8832 1.2162 3.7611 1.5511 -0.2914 4.4891 2.4265 0.5170 1.2791 -3.0822 -4.3172 2.1550 -1.7349 -2.5924 -1.5044 - -1.3853 -0.5001 0.6365 -1.9167 -1.9693 -1.6932 -2.5123 -3.1209 -1.5363 3.8772 1.7176 4.5613 2.2969 -1.7507 -0.4549 2.7398 -2.2572 -0.1132 1.3625 2.0183 - -0.2587 0.7517 0.0083 -1.5665 -2.9108 -3.8211 -5.3272 -2.2879 -3.3006 3.2010 3.9688 4.6713 3.8047 3.4665 0.6502 0.9612 0.0958 -1.5002 1.1994 -1.8059 - -0.0767 -2.8888 -3.8572 -1.6523 2.8392 3.7128 0.7093 -0.0657 0.9823 -1.6073 -2.1810 -1.5064 -0.6392 2.2679 1.7322 -1.1001 1.0422 1.4078 2.4192 -1.5382 - 2.1069 1.6101 -0.6015 -1.1106 -0.0731 0.3657 2.1738 0.6411 -3.2826 -4.2217 0.0005 4.1333 2.9287 4.0221 -1.0117 -7.1186 -0.3700 1.5812 0.1654 -1.9391 - -3.3989 -5.4211 -3.3823 0.1417 -0.2090 -2.9282 3.8367 5.4395 2.1603 -1.6658 -0.0286 3.8151 -1.6236 -0.4057 -0.8473 2.3634 0.3434 0.0424 -0.3374 2.1055 - 3.8095 -5.8994 -4.2159 -2.8701 5.1790 -4.6791 -5.6257 0.4437 3.5907 6.0531 -2.4206 -0.6190 2.0474 3.5867 7.1475 -4.6633 4.1906 1.2868 -11.1492 4.8074 - -5.2857 -2.3511 1.8870 -1.8753 -2.8109 0.3363 -1.9008 -0.4090 0.8741 -0.4525 -6.3796 0.4485 2.7092 2.5765 4.4129 4.7975 -0.3228 3.7712 2.7353 -2.7608 - -3.9913 -5.9775 -2.6898 8.0565 3.5971 1.2374 3.4590 0.3338 0.6958 -1.1912 -2.2406 -2.0748 0.0857 3.9701 1.1276 1.2332 0.6559 -3.8152 0.9255 -3.3971 - -2.4876 -2.5150 -2.0296 -1.0642 1.0080 0.6973 -1.7376 -1.5703 1.5923 -0.7283 -0.1226 -1.7315 2.4167 -0.4425 -1.5075 3.8846 0.5544 0.8966 4.6270 0.2600 - 2.8767 0.9007 0.0796 -2.1662 -1.5086 1.0148 -1.3370 0.8661 0.0749 1.4614 3.1800 2.1743 -1.6449 -2.7523 -2.7644 2.2901 -1.9100 -4.8716 -2.0883 6.1248 - 3.6336 2.1044 0.4628 -0.6805 -0.0353 -2.3281 1.0902 3.0334 -1.9070 -2.0882 -2.9673 0.1514 0.3556 -1.0151 -5.4063 2.3884 2.5624 -3.2553 3.9458 -0.0449 - -1.3869 -1.5992 1.4579 1.4992 1.7691 0.8878 0.9518 0.7305 -1.5050 -1.6287 -1.6402 -0.3868 2.7983 -2.2046 -0.5051 0.1956 7.1623 2.4667 -5.9139 -3.1488 - -3.5734 -7.3577 -7.1566 -1.3669 4.3200 2.1415 0.4237 -0.1707 3.4434 2.6751 2.2337 0.4895 2.5968 1.0123 -0.9145 -1.1189 0.9048 2.1474 0.4312 -1.1607 - -5.2465 -1.6283 -2.7428 -3.2948 -2.2122 4.3049 4.7808 4.7619 0.2262 -0.6089 1.1643 3.3590 -2.1676 0.2134 -1.1502 1.4193 1.4168 0.3538 -2.8694 -0.0796 - -3.4905 1.2508 2.0451 0.4490 3.1300 4.3899 0.1675 -1.3519 -0.0668 0.4245 -1.7121 0.2301 -2.2070 0.3069 3.1491 -7.5721 2.7986 3.8554 -4.1493 -1.6472 - 1.5232 1.5300 -1.0621 -1.4488 -0.8044 -0.3900 1.3086 -2.5549 -4.3776 0.5264 2.2421 -0.5299 -2.7363 4.9582 1.0929 1.1601 2.8351 1.9896 -4.9813 -0.2808 - 6.5366 -2.5283 -5.5972 -3.4516 -0.2385 1.8382 -1.6024 0.2804 8.8284 4.4416 -6.1238 3.7728 3.4763 2.9323 -2.3678 -5.5110 -4.9901 -0.1283 0.0084 0.4242 - 1.9342 1.5660 2.2346 1.0331 -0.6035 -0.4461 0.0271 0.7571 1.1796 0.2963 -0.9807 -0.5607 -1.4711 -2.5426 -4.1871 2.4178 0.2030 -1.7949 -3.6655 4.6035 - 2.2188 0.9702 -1.9037 -2.3323 -0.9270 -0.7473 0.4463 4.0069 3.2380 1.6378 1.5850 -1.9473 -1.2130 -2.1935 -1.9102 -3.3249 2.6456 1.0820 -1.3884 0.0570 - 1.8633 1.2717 1.6148 0.3758 2.9711 -0.8914 -1.2864 1.1672 2.0355 1.2245 -3.7030 3.7200 -3.0675 -1.9250 2.2356 -0.7355 0.5128 -4.4528 -2.9595 0.0288 - -2.2984 -0.5209 0.3609 2.6675 -3.6910 -0.3519 6.3822 3.0237 -0.1277 -2.2553 1.0403 0.9970 -1.3107 -1.9745 -0.1646 4.8839 0.1333 -1.3256 -3.4240 -2.0441 - -2.3190 2.2812 1.2138 -1.1727 -3.3340 -5.2226 3.6390 2.5124 -1.5642 3.4166 0.5330 1.8016 -0.3986 -2.9233 -3.7394 0.9982 -0.0060 -1.6833 4.3443 1.6231 - -2.2576 -2.6516 -1.1317 -1.2013 0.7393 0.1827 -1.2343 -3.2192 2.3728 2.7817 1.6779 0.8901 0.5320 1.4647 3.7014 7.0412 -2.6912 -2.5104 -1.2474 -3.2389 - -1.7690 -1.9167 -2.8243 0.8559 1.6454 0.6817 0.5231 -1.2522 -2.6542 -3.2288 -0.2864 0.0091 0.5513 -0.6182 -3.9328 4.4973 6.4951 0.4313 1.6808 1.1116 - -0.2744 -1.5780 -1.8323 -1.2019 -0.3620 1.2906 -0.2832 -1.9105 -0.8966 0.8634 -0.4648 -2.3172 -1.9676 -1.7065 0.8232 -2.4736 3.5667 5.3037 4.3018 1.1191 - -0.4003 -1.4016 -2.6548 -3.2373 -2.1471 -0.9075 -1.1057 1.1084 0.0584 0.6994 -2.2697 0.1501 -0.0187 -0.2177 -1.1214 2.5501 5.4533 5.8815 -0.4561 0.0366 - 2.4755 2.6766 3.3810 2.8797 -1.3067 -1.2604 0.4792 -1.5575 -2.0569 -1.1560 -1.3594 -0.7176 0.2831 1.2557 -0.1965 -2.5773 0.8488 0.4905 -3.0053 0.4234 - -0.5334 -1.6405 -1.4903 -1.2901 -2.0368 -2.4054 -2.0422 -1.2649 -0.3204 2.3946 2.8987 2.5774 -1.9494 -5.6321 2.8212 3.6550 3.9850 1.2152 1.3991 -0.3406 - -1.8395 -0.9841 -0.1468 -2.7046 0.5709 -0.0486 2.3079 -3.1973 5.7249 -2.0537 -0.8947 -0.5513 -1.5588 -0.0660 1.7712 1.4939 0.7539 0.8995 0.7376 -0.2144 - -2.1136 -6.4960 4.0091 -2.7287 -2.8520 0.0889 4.2865 1.1559 1.4489 2.3747 -0.2811 -1.6675 -2.1043 2.4825 1.5983 3.0151 1.4924 1.4598 1.4466 -6.6156 - 0.3044 0.5145 0.8314 -0.5726 -1.4732 0.5522 1.0454 0.7132 -0.3595 0.4703 4.9451 2.9593 3.4319 -1.7835 -2.7963 -3.6604 -2.7125 1.2113 -5.0055 1.3846 - 2.3458 3.2640 1.8110 0.4827 -1.6195 1.9882 1.8256 3.5857 4.1301 1.6235 -5.1588 -3.8052 -1.7214 -1.0231 1.3522 -0.3858 -5.6155 -1.3895 -1.6421 -0.0480 - 3.7883 2.2512 0.5915 3.6595 3.6582 1.2917 -2.0747 3.0623 -4.8462 -9.6783 -4.7828 -4.1622 -5.2776 -1.2559 2.3471 0.9386 6.0401 4.8334 -1.7435 1.3593 - -0.5609 -1.1658 -2.4817 -6.5550 -4.6100 -0.2509 0.7628 -0.8368 3.8495 3.9220 3.0356 2.0951 1.5781 3.7313 2.8834 -1.2291 -3.4270 1.5639 1.6072 -3.9116 - -1.4268 0.2383 2.3216 0.1248 2.0796 1.5987 0.8138 -0.2165 -2.9254 -1.2364 4.4075 -3.3005 -5.5475 2.3771 2.6523 1.5551 2.5380 1.7514 -3.2529 -4.5520 - -0.7746 0.9904 0.2665 0.8152 1.7416 -1.7222 -3.8193 0.6115 3.8698 -1.5065 -1.1919 -1.2590 -0.9540 1.8722 -0.1520 -4.1283 -0.5510 0.1951 0.7420 4.9546 - -4.9471 -2.6326 -0.7296 -2.9661 3.2611 5.2949 1.3584 -0.3484 0.0238 -0.5367 1.0370 -2.4283 -1.4686 5.4446 2.1704 -0.2969 -1.9436 4.7301 0.0591 -5.0816 - 0.8281 -1.2416 -3.3762 -3.9320 -1.3993 -3.0591 -0.9292 2.5927 2.1047 2.4478 0.5704 1.2666 0.5289 -0.2372 1.2696 3.8278 3.1348 1.0903 -4.3525 -1.1346 - -0.7430 -0.7480 -1.2610 -0.7625 1.0816 1.6556 1.2019 2.2812 3.2082 1.5688 -1.3094 -2.0639 -2.5822 -2.2528 -1.3400 -1.6246 0.6375 2.8900 1.4778 -1.3150 - 0.8081 -1.3233 1.3342 -0.4629 2.2543 -1.7177 1.7285 2.2425 -4.4738 0.6367 1.5497 -1.2988 0.3335 -1.1590 0.1744 -4.2648 5.1183 0.3072 -2.6556 0.8684 - 4.0404 1.9094 -0.2474 -1.1600 -0.9167 -2.2516 3.9300 2.7965 0.9719 -0.3105 2.6858 -1.8089 -6.0898 -5.0707 2.0812 -0.0971 -1.5043 0.0458 -1.0273 2.0234 - 0.1375 0.2390 1.2366 1.5253 1.5536 1.1452 -3.3801 -3.1595 -2.7411 1.0175 6.4814 1.4661 -1.2521 -3.3744 -3.5432 -5.4270 -1.3071 4.3703 3.6696 1.3422 - -0.0191 0.4401 -0.0551 1.2610 4.9915 1.8859 4.2946 2.2533 1.2460 -0.3261 -1.8245 0.5397 -0.9620 -2.4208 -1.3984 1.3654 -2.3100 -4.0785 -1.5595 -3.3235 - -4.1713 -3.8609 -3.6233 -2.2953 0.4590 -0.2721 -0.1506 -1.7078 0.0356 1.5074 1.0712 0.7854 0.7858 0.0168 -0.8160 0.0810 0.5445 4.5197 7.1653 -0.0742 - -2.9674 -1.4650 1.0679 3.2208 3.0814 -0.6959 -0.9252 1.0871 0.1680 -0.9317 -0.6966 -1.1041 2.3656 1.0874 -0.7021 -0.5843 -5.9540 -1.0591 4.3651 0.6421 - -2.3881 -1.1722 -0.2878 -1.3100 0.1054 2.7187 3.1286 1.3950 2.5138 0.8551 -1.0485 -2.7991 -1.7081 -1.9009 -0.2092 -1.1297 5.4416 0.9634 -4.8359 1.6679 - 0.3475 0.6761 -0.9160 -3.3303 -2.5114 -1.3053 -2.4606 -1.5909 -0.1066 1.2867 0.1087 0.6627 -0.9380 -2.1561 -4.1442 0.5530 3.6775 4.3771 4.5604 3.2095 - 1.8172 1.9142 1.3748 -1.2576 -1.3958 0.4060 -0.4725 -1.2643 0.8079 -0.6725 -3.4257 -3.2969 2.8901 -0.0329 4.2131 0.8390 -2.3538 -2.2196 3.3371 -1.2078 - 1.9496 3.6573 4.2326 1.1863 1.8389 -0.7982 -0.8176 0.9762 -2.1796 -2.4082 0.4600 -2.1099 -0.1300 5.8933 -3.2271 1.4122 -3.0287 -5.0286 0.1022 -1.9807 - 0.7977 0.4131 0.7926 0.7439 -2.7150 -3.1860 -1.6061 -0.5456 3.5797 0.0724 -0.4993 0.4656 -0.7994 -0.5991 0.0862 3.6997 -0.5342 -0.3047 0.9064 -0.7678 - 1.0025 0.1292 1.8299 -0.2181 -0.3367 2.6298 -1.6812 -0.7903 1.0473 -0.5336 -4.1833 2.6382 0.9480 -0.3031 -1.3062 -0.6706 1.4954 1.1070 -3.9483 1.1443 - -2.8220 -2.9373 -1.7368 -1.1113 0.7976 1.0210 2.2881 1.7823 -1.6829 -2.1388 -0.0636 0.6047 1.3691 0.5354 -2.8472 1.9900 -0.2414 -1.8409 2.3664 4.6674 - 0.8100 0.5306 3.2216 2.7904 2.3222 -0.0940 -1.2977 0.6699 -0.3153 -2.0729 -0.4524 0.1611 0.0422 -0.9458 -1.6284 -1.0590 0.4113 -0.2203 -0.7025 -2.1711 - 0.6469 2.9521 -0.5269 -2.8396 -2.8290 -0.4167 -2.6035 -1.8694 -1.2710 -1.1950 -0.6111 -1.1719 -0.0843 4.1129 3.9912 -0.9572 -5.8704 3.6319 4.0418 2.8690 - -1.7675 0.6361 2.5132 2.0830 1.8929 -1.5061 -3.5844 -4.2969 -2.8299 -0.6870 0.8308 1.3968 0.3529 4.0998 -1.6161 1.3306 0.5600 -0.5129 -1.6573 2.7621 - -4.0964 -1.5173 1.2551 0.2978 1.5682 0.3497 -1.4315 -2.0554 -0.5756 2.5392 0.7900 3.4286 -2.9558 -1.7034 -0.8459 1.0513 5.1871 -2.5294 1.2695 -0.0257 - 0.0328 -1.2155 -1.2836 -0.9363 -1.2229 -1.6930 -1.8595 0.3399 -1.5276 -1.0107 6.4040 -1.9072 0.7733 0.6079 2.8719 3.0211 2.3070 -3.5448 0.3434 -0.5002 - -6.6638 -3.5679 2.7288 3.1465 -1.8044 -3.2026 0.3954 1.5738 0.6840 -0.5029 1.1915 -2.4277 -2.8920 -0.4612 0.5352 2.0495 4.9107 0.7993 0.1809 3.3270 - -7.7693 -2.7271 -0.5302 -1.6862 -2.6750 -4.1941 6.2224 4.1406 1.2187 -0.8566 3.2170 2.7593 3.3324 -2.3093 -1.4924 1.2643 -2.9807 2.3328 4.6730 -1.9398 - -0.3214 0.7654 1.4453 1.0347 0.7854 -0.0281 0.6653 2.1756 2.5539 2.4886 2.8291 -2.3264 -5.6113 -4.1472 -2.1955 -0.1794 -0.8897 -2.9162 2.0658 1.8062 - 0.0689 -0.0814 0.5156 -0.9104 1.9645 1.4890 -0.7622 -1.4287 1.4489 2.2731 1.0561 3.0605 2.5928 -3.3062 -2.8865 -3.6767 -3.9506 -2.1727 -0.4806 5.1867 - -2.7262 -0.4080 -7.2353 0.2532 -1.7494 4.8406 2.4161 -8.2402 -0.3311 1.0612 3.3760 -0.5373 3.2052 3.7144 -2.9286 10.7765 4.9188 -8.1638 -0.8809 -1.3612 - 3.8706 1.5102 0.3780 -7.4590 -0.9006 2.4899 2.4680 -2.4184 -1.4186 0.2908 2.1056 2.4328 4.2260 -3.9887 -6.7913 -1.0651 2.4289 0.5874 4.8024 -3.5488 - -1.2691 -4.1749 -2.7407 1.4930 1.4665 -0.9212 -1.4630 -5.1747 -2.2251 0.8474 0.8540 6.6525 0.1651 -0.5706 -0.3287 3.1547 -1.4600 0.8291 2.5923 2.2733 - 3.8347 2.4921 1.8361 2.4264 0.2839 -2.7167 0.2831 -0.5469 -0.6398 0.3108 1.0194 -2.1389 -0.8456 -4.7666 -2.5049 1.2075 -5.6326 1.3761 3.1197 1.6020 - -3.7739 -1.8529 0.6063 -0.8541 -1.6370 3.6233 0.8975 1.9643 3.5106 -0.3623 -2.4744 -0.7625 -0.7853 -1.5705 0.2237 -0.6207 0.0761 -0.4742 1.5632 2.7029 - 1.1570 0.8704 1.6827 1.2654 -0.5848 -2.6900 -2.6615 -0.9589 -1.6641 -2.7103 -1.4381 -0.4901 1.8045 -1.5216 -1.1394 5.0021 4.1235 1.5550 -3.7877 2.1859 - 2.5420 1.6423 0.7395 0.8846 0.9016 2.7752 3.3824 2.5574 0.4625 -2.0442 -1.8686 -0.1860 -1.7933 -5.0038 -3.5773 -1.2917 -2.0519 -1.8556 1.0146 2.7701 - -4.4081 -3.4569 -0.8021 0.2773 2.5574 2.3862 1.3118 0.1408 0.6688 1.9053 -1.5497 -0.5855 1.2457 -0.5521 0.9630 -2.2470 -2.8924 -3.7430 6.1844 2.5961 - 0.4138 -4.3685 -4.3743 3.3166 1.9814 -1.9703 -1.1246 -1.8788 1.8555 2.5293 -0.6354 0.3032 3.9855 0.4439 -1.3412 -2.6733 1.5434 2.8406 -1.3900 0.5430 - -0.9949 0.7752 0.5153 -0.3382 0.7590 -0.3806 0.6362 -0.0446 0.6992 -2.3407 -2.2180 -0.8794 1.9075 1.9883 2.6403 1.4665 1.1384 1.9497 -0.4373 -6.8420 - -0.3690 1.5979 3.6520 2.5947 0.9915 -0.4587 -1.5761 -1.3889 -0.8595 -0.0002 0.3336 2.0392 1.9215 -1.5962 -2.1409 -2.1868 -2.0225 -6.9604 4.1862 2.2427 - 0.7081 1.2472 1.2274 -0.7827 -1.3963 0.1531 1.0164 1.1220 1.4236 4.7449 4.1970 -1.6566 1.4602 -0.4324 -5.0812 -4.6776 -3.2034 0.2020 -0.8325 0.5609 - -0.8996 -1.1981 -0.4982 -3.3678 -3.1656 -0.4840 -1.6889 1.4162 1.8691 1.8944 0.6984 2.1971 0.7659 -0.3399 -1.0540 -1.9648 4.8986 2.2357 -0.4350 -0.8795 - -3.0303 -1.1024 -3.6351 1.8563 2.2581 0.9526 -1.3180 1.0520 0.9676 1.4472 -0.2536 1.6459 0.5539 2.7964 -2.3045 3.1405 -0.8848 -0.5008 -4.0553 0.4143 - -2.0566 0.3509 1.5804 -0.1468 -1.2009 -5.1236 -1.6316 -0.6083 -0.2262 -3.8727 -1.4106 4.1461 2.8353 5.5841 2.0344 -1.3445 -0.2669 1.6597 0.4425 -0.7448 - 0.4237 5.5027 3.4466 -0.9733 1.1101 0.3187 0.4016 -0.8934 -4.1773 1.2529 -1.0141 1.7716 -1.4207 2.0071 -6.7629 -1.4260 -0.8769 -1.9766 2.0620 1.2241 - 0.5250 0.4342 -1.3517 -2.8754 -3.0586 0.6098 2.2679 1.4929 1.4608 3.1011 1.5060 -4.8013 -7.5268 -0.6504 -0.5030 2.7780 2.8557 1.0462 3.4571 -0.7675 - 3.5730 1.8714 -0.1581 -1.7722 -0.3433 -2.7056 -3.0806 -1.9100 -3.1355 1.0548 -1.9906 0.4699 0.0873 2.5566 -0.1726 -0.8702 2.1464 4.3968 5.0995 -5.1171 - -0.6968 -1.4896 -0.0495 0.8149 1.4216 -0.0327 -1.7535 -2.2313 -0.3210 1.9568 4.8784 -1.9324 -1.8058 -2.6431 -3.7316 0.3685 1.1306 4.9893 -0.2577 1.3848 - -1.4341 -1.1497 -1.8056 0.1413 2.5710 2.9390 0.7055 -0.4196 -0.2614 0.1608 -0.6195 -0.3637 4.1643 0.3576 0.0984 2.2749 0.4728 -7.3150 -0.1921 -0.3248 - -4.2895 -7.0396 -4.8802 -1.5844 1.4442 1.8886 0.5829 0.1608 -2.6352 -1.0632 0.4985 3.2097 6.3270 9.0622 8.0546 -0.4311 2.1200 -2.0642 -2.9293 -6.4319 - -2.8918 -0.9105 -1.1049 -1.3358 0.0333 -0.4429 1.1140 3.2177 -0.2479 -0.9423 2.0518 -3.4204 -3.3752 -1.5080 4.5184 3.5104 0.8370 0.3279 4.1906 -3.6215 - 1.1012 2.8300 4.9338 4.9135 -1.4413 -4.6933 -2.9852 -2.2104 -2.0709 -0.2446 -1.7323 0.4460 -0.3491 0.7293 1.2549 1.5520 -1.6591 -0.0263 -1.3091 0.9607 - -3.8105 -2.2705 -0.4801 0.0030 -1.0835 -0.8967 -1.8480 4.3428 2.2775 1.1261 1.5948 4.4091 3.5564 -2.1928 -2.8051 -1.2385 -1.6399 -0.9968 0.5731 1.3796 - 4.5581 4.2833 0.3675 -0.5438 1.9400 3.0816 0.3261 -0.8096 -2.6679 -2.1086 -0.8131 -4.9186 -3.6340 5.7405 0.0185 0.6308 2.5276 -4.0355 -1.8846 -2.0583 - -1.2863 -0.2640 -0.1222 1.8197 -0.8215 -1.4173 6.3047 -1.3136 2.0735 -0.1627 3.0262 1.5599 -2.3044 -2.9292 -2.1284 -0.0060 -0.2974 -0.4468 0.2977 -1.5818 - -0.3043 -4.9833 -4.4641 1.6692 5.7638 4.6547 3.7525 -0.9610 -3.9550 -2.2488 0.7885 4.2621 3.6322 2.1375 -6.9698 1.9153 2.5541 -3.4886 -0.8469 -2.9081 - 1.6869 -2.2603 -5.3537 -1.9240 -2.3796 2.8412 5.8922 -3.3838 0.7866 3.3273 0.7220 4.1493 -2.8075 1.2195 -4.1220 2.7912 5.5751 -0.9361 -3.7960 -2.0281 - 1.8743 1.5687 0.9347 -0.0119 5.1974 -0.9505 -1.5819 -0.0387 -0.2355 2.4835 -2.7180 -2.1816 -1.0347 -1.5606 -1.4552 0.4355 -1.6713 -3.1551 -0.2146 4.3156 - -0.5064 0.6473 1.6157 0.4031 -0.7786 0.4664 2.3609 -0.8533 -2.7426 0.0584 3.6047 -1.3728 0.0256 -2.0089 0.7575 -3.1106 -1.7839 0.9710 1.5709 0.6757 - -0.1854 -0.4792 0.2327 0.5721 1.3762 0.9344 1.6367 0.2158 0.6455 0.9744 -3.1471 -5.2734 -4.3577 3.1646 3.1365 2.2803 1.2303 -1.9960 -1.5643 0.6037 - 1.5540 2.1016 2.3825 0.8004 -2.0847 -2.7548 -1.5073 0.1971 -0.2707 -0.7690 -1.8324 -0.6385 -4.5361 -6.8801 5.4599 2.6660 1.1252 2.2850 1.3862 1.3159 - -2.3092 8.5984 0.5061 -0.6741 -2.4670 3.2934 -0.6680 2.0327 0.6889 -1.8602 -0.9325 -1.2001 -4.3458 -2.5628 0.6948 -1.1889 0.4479 2.5950 1.2931 -1.9416 - 0.8421 1.5717 0.5751 0.5951 0.4783 -2.2142 0.3553 6.0828 3.0287 -2.3343 -3.2264 -0.7759 -2.0090 -0.3873 -2.4778 0.6768 -3.4990 -0.8957 4.2903 -0.6766 - -0.6942 8.6603 -5.4134 -0.8727 -0.3504 -3.3092 -0.5586 -0.2913 2.8905 -3.0583 -2.9724 -1.7470 3.3250 -1.1022 -4.4193 7.6704 0.5149 -0.7173 -3.6000 6.0453 - 0.6802 1.0947 1.2451 3.8611 4.5266 1.8951 0.7625 6.2260 2.5223 4.8966 1.8380 -0.3753 1.3861 -7.5361 -6.8810 -3.7307 -4.9193 -2.5727 -4.5778 -0.3414 - -1.4648 -1.9631 -1.4302 3.2813 2.7021 -1.3306 -3.5822 -3.4123 -2.6251 -2.5540 -2.9830 1.7868 1.1612 1.7944 0.6471 3.7619 3.5844 -0.4360 2.9666 0.0957 - -2.6065 -0.4815 3.7667 3.2609 1.4317 5.8806 0.0973 -3.3441 -3.2874 -4.9485 -1.6589 0.7537 0.3424 0.9215 3.8135 -4.2041 -1.8751 -0.8917 1.0067 2.0227 - 4.0705 -1.6316 -3.7042 -1.3612 1.3654 1.6949 -0.0461 -0.4280 2.9316 0.2615 -3.3312 0.4341 1.2323 -0.8543 -0.8620 -4.8579 -6.1758 3.1382 4.9340 3.1899 - -4.1097 -4.1313 -2.7947 -1.2657 -0.6757 0.0158 -0.2664 -0.7288 -2.8256 -1.9407 0.4965 2.0938 4.2596 1.7443 2.0920 3.1468 3.6217 1.9383 0.0884 -0.7586 - -0.5474 3.7117 4.4423 -1.1991 -3.2034 0.2008 -1.1999 -0.3645 -0.3658 -1.5068 4.3945 -0.5362 -1.4209 -0.9138 -0.0750 -0.9590 3.3133 2.7513 -7.0608 0.5385 - -0.2792 1.0180 0.1758 4.6409 0.9990 0.8572 -2.2212 -4.3593 1.0210 5.0992 3.1964 1.4429 -1.7425 -0.9214 -2.3245 -1.3975 -6.8773 2.8027 -1.1862 0.0560 - 1.7064 0.3215 -0.2518 0.0527 -2.5377 -4.4163 -3.0416 -0.1822 -1.1887 -2.9410 0.6761 3.4948 1.6101 1.2626 0.2612 5.6220 -3.9114 -1.0915 4.1888 0.3661 - -1.7866 -1.1389 -0.0309 -0.9349 0.3853 1.9195 0.2339 0.3886 0.9745 1.4208 2.5313 4.3943 -4.6360 -2.5445 -2.1898 -2.5330 -0.3527 4.7621 0.5928 -1.4558 - 7.8057 -3.8468 0.8827 0.8768 -4.7631 -5.1731 0.0664 5.3199 -1.7890 -4.3428 1.9966 2.9221 -4.5512 5.1760 0.5820 -0.2561 -0.2887 0.6505 -0.8654 -0.4024 - -2.5780 -0.0834 0.1440 -1.6096 -4.1370 -4.8240 -1.6968 2.0832 4.4015 2.3414 0.0326 -1.7738 3.0088 2.5338 2.2405 0.7822 -3.4270 2.3235 0.3274 -0.0892 - 2.1843 2.5930 1.3745 1.7373 2.8715 2.7285 -1.1274 -0.1783 0.9497 1.0004 -0.2974 -0.2919 0.6463 0.2228 -1.5085 -5.8708 -3.6910 -0.8536 -2.5539 0.0647 - -1.6643 -0.8616 0.2098 2.2486 4.6647 3.8540 2.3834 1.3656 -0.2611 -0.7523 -0.2703 2.8630 1.1570 -1.6263 -4.3844 -3.5346 -0.0484 -0.8649 -4.9645 0.4867 - 0.6824 1.0939 0.6691 0.3291 -0.2396 -0.9714 -0.9487 0.4056 -0.8422 -1.0662 -0.8121 -1.8756 1.8363 1.0681 3.7568 2.7493 -2.2790 1.4171 -4.9986 0.0258 - -2.0461 -1.9677 -1.8134 -2.6831 -3.0621 -1.6874 2.2873 0.6491 1.7878 1.1808 1.5028 -1.1540 -1.2923 -0.0603 -3.5107 6.4917 4.0814 1.4288 0.0396 -0.1721 - 1.7926 0.6400 0.0107 -3.4114 12.2384 -4.2391 -4.1672 -5.5139 -1.6966 5.3015 -0.9447 -4.0014 3.1093 5.2076 5.6201 2.3962 -5.3615 -1.8057 -0.2628 -4.9121 - 1.2301 -0.2653 0.0535 -2.1294 -3.7763 -2.5405 -1.3165 1.3892 1.1754 1.8095 2.3931 -0.5310 -0.8291 0.5926 -0.2725 -7.2218 1.8619 3.8534 3.4226 1.1011 - -4.1789 -3.5276 -0.8324 -0.4176 -2.4000 0.0369 0.9853 5.4189 -1.8625 4.5416 -0.0534 -2.2531 -1.8390 3.0263 1.3992 -0.9141 -0.2291 0.6856 2.4454 -0.0313 - -6.4975 -4.6128 -3.3675 -4.8986 -0.8354 2.3584 -0.6088 4.1352 0.6068 0.7211 0.2750 -2.0557 0.4476 2.7831 4.6078 -0.4014 5.9849 2.1061 1.2312 -1.9795 - 1.3230 1.1384 1.2773 1.7150 -0.7509 -3.8269 -1.1290 -0.1851 -3.0673 2.4551 -1.8006 -0.5768 2.5367 -0.4358 1.0236 2.8956 4.5161 -0.4242 -3.2309 -3.4534 - -0.3567 2.4123 4.0459 3.3988 2.0862 -2.1774 -5.1260 -1.0930 -2.2588 -0.1938 0.5021 -0.2723 1.0175 -2.6722 0.0196 -1.3546 -1.6702 0.8080 0.6509 2.2336 - -3.1316 -2.5501 -0.7668 1.9764 1.8647 -0.0801 0.9053 0.9563 -1.0947 0.3992 -1.9982 2.2428 2.0122 -5.4193 -2.6261 -0.7274 0.7121 1.7109 3.9486 1.6660 - -7.9949 4.0953 3.7255 -1.4546 8.0933 1.7853 -4.2627 4.4208 9.6075 -2.0281 -0.5418 -3.5660 -1.9219 -6.8006 -1.4426 -1.8720 6.0536 -6.8174 0.7937 0.1276 - -1.9787 -1.0115 0.4548 -0.6009 1.0489 -0.3883 -3.8168 3.5539 1.8044 -0.8020 2.2377 4.0130 2.5264 2.9341 2.9402 3.1940 -12.1756 -4.5827 0.7140 -0.0649 - -2.6937 -0.9969 0.6136 -0.2092 0.1112 0.1733 0.0276 0.6804 -4.1810 0.4835 3.1126 -0.8365 -1.6005 3.1133 -1.3297 -0.4657 2.8302 2.7130 -2.7204 1.1750 - -4.2305 -1.0868 0.5304 -0.1415 -1.2124 -0.8981 -0.8790 -0.8763 -0.9777 1.0148 4.1145 2.1714 1.2310 -1.6938 -1.4429 1.2355 6.6877 0.2382 -3.2655 -0.5189 - -2.1503 -3.4325 -3.4567 -1.0918 0.5993 0.3527 0.3437 0.2288 0.7821 1.0173 2.2607 -0.9887 -0.3595 4.4457 3.7070 1.5475 -3.7173 0.7682 -0.5101 -0.3462 - -3.7019 -3.2897 -0.3993 1.1225 4.7873 3.2500 -1.8347 -2.0699 0.0727 1.2966 -0.1512 1.4478 -2.4263 -0.3987 -2.4159 -3.3225 2.8445 0.7735 0.8954 3.5197 - 0.0807 -1.1966 -2.9464 0.8465 1.6234 1.1215 1.2824 3.7187 2.3234 -3.7329 -7.3924 -3.2192 -4.4371 -4.8564 3.1927 2.3654 4.5154 -1.0330 4.4531 3.2910 - 0.0329 2.1961 1.8627 0.5090 -2.3566 -3.1635 -1.4865 -3.4766 -3.4834 -4.5095 -2.4040 -5.5450 7.4389 3.1752 2.6905 4.3345 1.8695 -0.0444 -0.0458 2.4056 - -4.2525 -4.2615 -2.8448 -1.4174 -1.4188 -1.0941 0.0321 2.7304 1.6246 3.7714 3.6887 2.3979 1.9374 0.7696 -7.0469 0.1811 3.9202 4.8839 -3.2038 -0.3977 - -0.4109 -0.9615 -1.1887 -1.3425 -1.0669 -2.7829 -2.9395 1.2890 1.6984 -0.5601 1.6775 -0.5469 -0.8102 -0.2298 -0.7565 0.3451 3.1792 2.2226 4.5535 -1.3689 - -5.7264 -3.6531 -1.3521 0.1463 1.7110 3.1890 0.7838 -1.0176 -0.2195 1.4384 0.0207 -0.4968 -1.0491 0.1749 1.0739 2.0378 1.3580 1.2360 0.4429 -0.0980 - 0.7773 -0.8979 -1.2165 -1.9337 -2.9157 -4.0101 -0.3148 -4.6460 -4.2945 4.1770 5.5969 1.4549 3.5448 1.4079 -0.8343 -3.2017 5.5239 2.2268 -0.3838 -0.0607 - -0.6985 -0.6307 2.4635 -0.5381 -0.2883 3.4018 2.1088 2.9180 -0.5123 -0.9613 0.0579 -4.3385 -3.8027 1.0743 5.0578 -1.8280 -2.2439 -4.7171 0.9386 2.5388 - -4.5218 0.1558 2.8380 2.3948 -1.9436 0.6339 -0.7954 1.9788 1.5836 1.1696 -4.5526 -0.5640 1.4447 7.0584 -6.8023 -4.5393 -6.0449 -0.5031 6.1354 4.8739 - 0.3624 -1.2047 -2.0776 -1.5816 -0.7523 -0.4259 1.9866 -0.1702 -0.4710 -1.9514 -1.5113 -0.2099 2.7070 3.8409 4.1635 -1.6517 0.8031 3.1180 -4.9637 -0.0100 - 3.3248 2.1375 1.3785 0.2103 3.0519 1.4244 0.2968 -0.3016 -1.2728 0.9142 0.2763 0.9396 2.3345 -1.6742 -3.9431 -3.4421 -2.5066 -1.7463 1.1359 -2.5381 - 7.3832 7.8862 -6.4414 -8.9767 0.1372 -3.3099 3.3247 -2.2516 -2.6663 1.5419 7.2572 -0.6762 -1.4552 3.0048 6.9210 -8.5959 -2.6649 2.5301 -0.7893 -2.1588 - 1.3303 0.1631 -2.4438 -1.2379 0.9953 2.7203 1.9038 1.2786 0.3887 2.8669 0.3680 -0.1846 5.6338 2.1238 -1.0482 -5.2051 -1.0787 -7.2281 -1.5184 0.1722 - 0.1645 -0.9895 -2.0311 -3.1149 -3.2980 -2.1249 2.0221 2.1048 -0.3058 -1.0676 -2.5289 -1.4215 -1.7517 2.9140 4.1244 -0.6494 2.6877 3.2611 2.5839 -0.5792 - -0.4639 -1.9119 -0.6903 1.0816 1.7980 1.1866 0.4220 1.5316 0.8944 -2.9810 5.6782 3.5367 -0.9955 2.4778 -1.9477 -3.1693 -0.0340 -1.9442 -1.8186 -2.6506 - -3.9601 -3.1838 -1.3333 -0.9936 0.4708 1.8640 0.2776 -3.5639 -1.8523 3.8979 6.3274 1.9935 2.4867 -0.2835 -0.1329 -0.9778 1.4936 2.4315 0.5084 -5.4702 - -1.9007 -8.9624 0.7258 -2.6244 1.8683 0.7413 8.1690 -2.3570 -4.2143 -5.3821 5.3979 -0.3396 -0.0209 2.4866 -1.7903 8.5769 -2.6396 -4.5135 0.4288 6.3503 - 2.3682 1.2735 1.0581 0.7198 -1.3884 -1.1783 2.7862 -0.3150 -4.4216 1.0457 0.8020 0.2322 -1.8255 0.9933 1.5522 4.2681 -3.4105 -1.8681 -3.1691 0.4773 - 0.1022 3.5273 4.7298 1.5753 -3.6041 -2.4060 0.8414 1.2204 1.0785 1.4517 0.9533 1.0682 -0.0095 -1.2482 -3.7150 -1.4924 0.0586 0.2151 -3.5086 -0.8381 - 2.6097 1.3046 0.1797 -0.8433 -0.8002 -0.6737 -0.7817 -0.0181 -1.8564 -0.0021 1.7429 2.1363 2.4019 0.8520 -1.2013 -2.3776 0.1614 -1.6535 0.2922 -1.4730 - -1.1555 -1.9989 -3.7971 -3.5419 -1.7702 5.6208 1.6756 -3.4769 -2.2174 -0.5921 -2.9465 2.4449 3.2181 2.5732 0.5741 1.4008 -1.6104 2.6683 4.0017 -1.0706 - 2.6808 2.4971 2.2595 2.6039 2.5012 2.7248 0.3061 -0.5761 -0.0415 -2.4607 -1.2162 -0.0800 -2.7145 -3.3777 0.3468 1.3821 -2.9010 -0.5334 -2.3262 -1.0750 - -1.4573 -0.7869 0.2356 -0.1795 -1.7997 -2.4756 -0.7083 -1.2917 -0.2409 1.8121 2.3854 -0.0780 -2.6742 0.8926 3.1169 2.4329 -3.2335 1.5184 1.6752 0.8566 - 1.3578 1.5299 1.0786 -1.5960 -3.3648 -1.6673 1.3592 5.7139 -0.3364 -0.8154 -1.0911 0.3285 1.2167 -6.5169 3.5759 0.3841 -3.4189 2.2520 -0.3564 0.3665 - -3.9427 -4.1692 -3.9599 -2.7914 -2.7852 0.8501 2.1268 3.1929 2.9997 0.9798 3.7115 2.7044 0.8023 -1.3597 -0.1213 1.8505 0.8537 2.3570 0.4425 -3.7419 - 1.1259 1.7278 1.7181 1.0824 0.9378 2.2855 -0.4426 -2.0998 0.2868 -2.3258 -2.4774 -3.5030 -2.1920 -0.0403 0.0689 -2.1823 -1.7516 0.3348 2.6371 4.8097 - 2.6282 3.1949 1.4763 -1.8168 -2.3026 -0.1157 -0.0177 1.6877 0.8500 0.1002 -0.5211 1.2286 1.5164 -0.6411 -0.9348 -3.1872 0.1863 -3.1762 -3.7899 3.6345 - 0.6239 1.6179 1.2014 0.2608 -1.9920 4.7736 2.9884 -1.6687 -1.5700 -3.2904 2.3265 0.1217 -0.6529 1.1537 -1.3430 -3.2660 -0.7427 -0.3946 -0.8553 0.7078 - -2.5785 3.3274 0.7827 -1.1641 0.3099 2.0930 -3.8923 -2.1233 -0.2174 -1.0352 2.3827 3.2008 -1.3061 -1.3553 2.0138 -4.8137 2.2926 -0.4492 0.2262 2.3061 - 0.7030 -0.6796 0.6702 1.2330 0.3286 -1.1249 -0.2281 0.9008 -0.4257 1.5252 0.1413 3.8708 -2.7125 -0.1048 -1.3046 -2.6469 -1.7645 -0.4236 2.6448 -0.6022 - -2.0396 0.9147 3.7884 2.4844 -0.2561 -2.4529 1.8969 -0.1479 0.6950 -1.2549 -4.9008 -1.2459 0.9313 0.6906 5.2636 -1.1277 -0.2394 -2.2895 -2.5856 1.8753 - 1.6780 -1.6532 -2.7599 -2.2450 0.5197 -1.6003 4.4426 1.0934 -0.3109 0.9191 -3.4242 1.3304 -1.5208 -0.9853 -0.2434 3.9418 0.4425 -2.2543 4.6335 -2.0037 - 2.2658 -0.6139 -1.3935 -0.0563 -2.9550 -1.9056 3.4601 -0.3817 -1.6475 -0.2910 -0.5503 1.7727 0.0114 2.6384 2.8574 0.5346 -5.4829 -2.6161 0.9580 3.3952 - -2.9553 0.0039 3.9564 2.2087 -0.9348 -1.5953 -1.3780 0.1552 -2.1548 0.7917 1.8242 1.6997 -1.8826 -0.8677 -0.7876 -0.2152 2.3842 2.1467 1.7116 -4.1110 - 0.7023 1.9303 1.0064 0.0165 5.4286 -1.1464 -1.0459 -2.0088 -1.2634 -2.1806 -0.6159 0.3372 3.4050 -1.1188 -2.8596 -2.3910 -0.5550 5.4226 -1.0697 -1.9937 - -0.8683 0.0341 1.1306 -1.3868 -1.9833 2.9612 -0.7025 0.9705 -3.1777 4.1388 0.7353 0.3664 2.0843 0.2998 -0.4050 -1.1895 3.2137 -5.0324 1.1351 -2.3244 - -1.0092 0.5101 2.3070 2.1852 1.5304 -1.7001 1.6095 -1.4570 -3.9762 -1.6422 -0.2532 1.3474 0.8974 0.9819 -2.2295 4.7058 -2.0380 3.1038 -2.5420 -2.3311 - 1.9713 1.0803 -1.0686 -1.2321 0.3041 -0.5899 -1.6032 -0.6543 -2.1903 -2.1676 0.3844 0.2905 -0.5787 -1.1285 -3.3703 -0.5637 0.3705 2.2696 8.3763 0.1004 - -2.3313 3.6108 -3.7738 2.3534 -6.3897 3.9802 2.8098 6.2413 2.5170 5.1260 2.4541 -1.7202 -4.9921 -5.7179 -3.3204 5.3271 2.0124 -5.7657 0.7907 -3.2116 - 0.3230 1.0311 1.3660 0.9706 2.0785 2.0724 -0.0151 -0.8301 -1.1195 -2.8044 -0.9819 0.0417 0.0944 -1.2077 -2.2323 4.1593 1.4207 -2.7654 -0.5102 -1.0909 - 1.0182 0.5812 0.3232 1.7040 1.6371 0.0882 0.7883 2.0623 -2.4549 -1.7632 -0.0828 0.1245 -1.0882 -0.0487 -2.0254 -0.8118 -5.9132 2.5533 0.4880 2.8199 - -2.1755 -1.4110 0.7926 3.1903 3.2045 1.4005 2.2246 0.4995 1.4795 1.0003 1.4155 -1.8108 -1.7649 -2.0289 -4.9177 1.9399 0.4644 -0.6846 -2.6827 -0.1356 - -2.3372 -0.8774 1.8295 2.5713 0.4237 -1.6200 0.7250 1.2049 -2.5557 -1.7837 -2.0535 1.8608 2.0142 1.1559 0.4140 -2.2055 2.6316 -1.0207 -0.4407 0.0634 - -6.4760 2.3566 6.2881 1.1780 2.2768 0.5492 3.6691 1.5956 1.5393 0.8045 -2.4474 -1.1396 -3.0192 -2.8013 2.1788 0.9584 -4.0593 -1.3318 -0.6033 -1.5164 - -0.2224 3.1469 4.1918 -1.5853 -2.9401 2.4424 -2.0556 -1.6902 1.4657 -1.4987 -4.5783 -3.9175 1.8499 2.5001 -2.9926 -3.1367 4.3814 2.8761 -0.3135 2.0766 - 0.2838 0.7448 1.5373 1.7127 1.9184 1.9954 1.4552 0.6636 -0.0775 -1.4076 -2.7023 -2.4765 -6.0615 -4.2297 -2.8214 4.4402 0.5975 1.2302 2.2798 0.9178 - 0.1873 0.8058 1.4948 0.4584 -0.6762 -2.1053 -0.4098 -0.9510 -0.4347 -0.3909 -1.0508 -2.5837 -1.0389 -4.2899 -4.0647 3.8453 2.2675 2.8481 4.5950 1.4936 - 6.4165 4.7690 2.1643 -0.5306 -1.7418 -1.1821 0.4655 2.4797 -1.0005 -2.7835 0.6462 1.0540 0.1648 -0.2195 -1.2133 -1.6876 -0.2896 -1.1843 -4.2375 -2.0895 - 0.6591 -2.4247 -3.5305 -2.0684 0.7993 0.5286 -1.0223 -0.9537 0.6266 1.4075 1.4620 1.6652 1.3324 -0.3799 1.6047 -0.4030 -1.4183 -0.7574 3.5079 -0.6351 - -0.7402 -0.5022 -0.0104 -0.1501 0.0126 -0.8303 -0.6338 0.0643 0.7573 4.3586 2.2234 -0.7379 3.8453 0.8151 2.8221 -1.4249 -1.4011 -3.5524 -6.4818 1.5666 - 1.2970 2.6835 1.2613 -1.8292 -0.9390 -1.6773 -1.9287 1.2477 1.3854 -1.9138 -1.0744 1.6338 -4.8418 -0.5580 -1.2900 5.2745 -2.7458 2.6939 -0.9625 2.2835 - 1.8861 3.1363 4.0321 1.7435 0.5233 -0.7855 2.0137 0.8065 1.2174 -4.0074 0.5860 -1.0339 -6.4815 -6.1251 1.1641 -3.9644 -6.3895 7.8222 2.0846 1.7715 - 3.9399 2.2907 1.6049 0.7588 -0.5727 -0.4203 1.1669 0.6185 -0.3417 1.2484 1.5946 1.7091 -1.8086 -4.7596 -2.8399 -3.9325 -2.0296 -0.6780 -0.7509 3.2019 - -0.3222 0.6190 2.2698 6.3269 5.8198 2.6992 0.0601 -0.5335 -1.7361 -3.6667 0.2231 -2.3194 -2.0166 2.4960 0.1420 -3.4765 -2.9842 -0.3195 -1.1974 -2.0840 - 1.2403 -2.3646 -2.0313 0.7252 3.2474 2.8194 3.1981 0.9009 1.1286 -0.9170 -2.4531 -2.4020 1.6229 2.3317 -1.4971 0.7586 -3.2903 -2.1223 -1.2864 0.3911 - 2.1547 -0.4814 -1.6208 -0.2568 3.7660 2.5927 -0.5335 0.5221 2.1027 -1.7193 -2.1878 -1.5973 0.4487 -3.0208 -3.0695 -0.2839 1.2100 -4.2182 4.8800 1.3123 - -0.8216 0.0172 1.0117 1.8195 2.2767 0.0322 -4.7072 -3.7244 0.2876 1.2946 -1.1268 -2.0514 -0.3229 1.5642 2.8282 1.4525 -0.2405 0.3745 -0.8299 0.8658 - -0.5885 -0.7711 -0.1566 0.2456 -1.1305 -2.1400 -1.5832 -2.7023 2.6573 2.8982 -1.9439 -1.4435 3.2616 3.0544 -1.0646 -0.2393 0.2808 -0.6774 -3.3509 5.3938 - -2.1609 4.7541 2.6519 2.9104 -0.9771 -3.4464 1.3102 4.9024 3.0997 0.1198 -0.6878 -5.0516 -2.6241 -0.1390 0.3260 -3.7625 -4.6033 5.7644 -2.7192 0.3330 - -0.0774 0.0212 1.7356 2.6966 3.8703 -1.2640 -2.2040 -3.8688 -2.8745 -0.3830 -1.2433 2.7247 1.1808 0.5913 3.3839 -2.9426 0.1962 -0.6047 -3.1975 2.2593 - -1.7694 -0.8337 -1.4857 1.6357 3.0084 1.4757 0.7496 0.4982 -0.8638 1.0294 3.8151 2.5480 -0.4944 -5.1598 -4.1575 1.6819 -0.9028 -3.0629 2.9081 -0.6201 - -4.1737 -1.1372 0.4218 -0.3980 -0.2873 -2.0904 -1.4241 1.1799 4.8192 5.5695 2.1240 -1.9634 -0.1503 -0.2208 -2.6623 -1.2140 1.5287 0.1773 -0.4832 0.3844 - 1.1759 3.6352 3.0816 -1.1382 -0.8341 -1.2549 1.7627 -0.2610 -1.7582 -4.6767 -1.9887 0.8806 -0.2903 -2.9331 -3.3697 0.3291 -2.5313 6.3991 2.6926 1.0793 - 3.1054 0.5446 -2.7707 -3.1154 -2.4354 -2.1091 -1.9215 1.5263 -0.5089 -2.1954 -3.0602 -1.7502 2.0283 3.0940 3.1639 6.0315 0.1168 -2.3219 2.2755 0.3024 - 1.4017 0.2037 -0.1188 0.3630 -1.7809 1.2589 -0.0416 0.1426 -0.2900 -0.0669 -0.9365 -1.7637 -4.6543 4.5857 0.7173 -1.2893 0.7992 1.8632 0.4734 -0.8667 - -0.6645 0.3054 -0.1583 0.3900 0.1223 1.1996 4.2148 1.7843 2.7706 0.9297 -1.0663 1.2711 -0.1675 -0.5861 -2.5452 -2.9107 1.2640 0.2394 -4.6672 -1.7254 - 1.3908 0.5115 -0.8577 0.3878 0.7710 1.2838 -1.2112 -1.2930 -1.9359 -2.3893 -2.5796 1.2692 3.1933 -0.2748 0.2489 3.4206 -5.3967 -3.2312 2.6326 4.0600 - -3.1151 -2.4768 -1.4409 0.0820 -0.0650 0.8542 2.7545 0.8481 2.7775 3.2925 -1.1392 -0.5600 5.6459 -1.5505 0.7937 -0.2372 -3.8294 -1.7699 -1.1681 0.3038 - -1.4631 -1.5744 -1.0602 1.2727 5.2755 0.7411 2.6424 0.9111 -1.5443 -0.8217 -2.4580 -1.9627 -0.3229 -0.7005 -0.1842 1.4410 1.1190 -0.0388 -1.7254 0.4532 - 2.6735 -0.1320 -2.0731 -1.2667 -0.0059 0.4063 1.1045 -0.6500 0.2919 -0.2343 -0.1432 0.5161 -1.3203 -1.9223 -1.8439 -0.3541 2.5902 0.7807 0.9691 0.6136 - -2.5760 -2.1039 3.3039 7.5737 4.8510 -1.9280 1.3509 -0.0624 1.3149 2.3856 -2.8836 1.6777 1.6919 -0.2315 2.0672 -1.6292 -7.7877 -7.8864 -2.4230 3.2949 - 0.1825 1.4326 1.8802 -0.7600 -3.5028 -2.0654 -2.5905 -1.9780 -1.3931 -2.0377 2.0912 -0.7666 -1.6801 0.1901 1.3312 -0.8245 -0.8221 9.1933 2.6121 -0.4925 - 0.6596 0.5183 0.0656 0.6099 0.2170 -0.2483 0.3752 0.0528 -1.3550 -1.9590 -3.0746 -2.7901 1.7480 0.0667 -1.3253 1.8365 1.2016 0.6331 1.5502 1.2179 - 1.5180 -2.8697 -3.0225 1.1901 1.2949 1.2425 -0.2655 -1.0124 0.1504 0.9476 0.8294 0.4980 -4.6214 -0.4714 2.3140 0.5042 0.0042 0.6173 0.0250 1.1274 - 5.2946 0.9166 -1.6961 2.6183 3.7503 -0.5464 -0.4536 -2.5804 0.7239 -3.0443 -0.9745 -0.5296 -1.2153 0.2578 -4.9483 0.2574 1.6442 -1.7218 -1.0182 3.2654 - -0.3113 0.1627 0.2010 -0.6825 0.4894 0.3705 0.5406 -0.5307 2.3413 3.1334 -0.2531 0.7289 0.0127 0.8411 -0.5394 -1.5751 -4.4648 3.3442 -1.3619 -2.4473 - 0.7892 1.6007 2.2451 -0.0142 -1.8268 1.0211 1.1632 -0.4310 0.4809 0.7681 -0.3119 -3.1840 1.8621 0.7982 3.9396 5.5125 -9.0182 -7.2338 1.4720 0.3673 - 4.5691 3.1984 0.4848 -1.6299 -1.5279 -0.4613 -0.3940 -0.7641 -0.7740 -1.4705 -2.0718 -3.7739 -3.8204 -2.0882 0.9538 2.3794 3.3309 2.1292 0.9829 0.7475 - -1.7639 -2.1300 1.8133 5.4637 4.9096 0.4400 -0.2077 -3.2872 -2.8010 -3.3973 1.4612 -0.7884 -0.4468 0.3167 3.0330 3.6546 1.5554 -2.1172 -5.0158 -0.6924 - -0.9691 2.1549 0.9464 -1.8955 -2.4830 0.5229 1.0573 -0.1544 -2.7731 -1.7762 -1.2133 0.4997 -0.4040 0.0598 2.1564 0.9676 0.1749 -0.3066 1.3334 2.1020 - 0.1735 -0.6351 -2.2851 0.3979 2.1071 0.8723 -1.4327 2.7248 2.2122 -3.8366 -6.8693 2.9956 2.2340 0.2392 4.5854 0.8064 -0.4877 -1.9451 0.1604 -2.0173 - -3.0467 -2.6229 -0.6828 -1.5402 -4.5504 -0.6274 -1.5654 -1.1048 -5.0244 1.2208 4.3959 1.7152 0.8404 2.3104 3.9110 1.3725 3.6004 -1.5868 -0.0242 3.0095 - 4.6972 -2.0723 3.7478 -0.0539 -1.3604 -1.6975 -5.1051 4.5477 7.4910 0.8111 -1.5236 -2.0035 -2.3201 -1.9156 -1.8399 2.7039 1.1102 2.7618 0.1987 -8.1775 - 4.2697 2.1482 1.1807 -0.8188 -0.0158 -0.9415 -3.1934 -7.6652 -5.2761 -0.4096 0.8289 -0.6591 -0.1321 -2.2645 2.6890 3.5308 -0.1860 2.2844 2.1691 2.4613 - -2.6176 -1.9646 -0.3365 0.4490 1.7890 3.0096 1.2687 0.1913 0.7099 3.1055 2.4376 1.5156 0.2027 -3.2954 -0.8316 0.6250 2.5125 -1.9645 -4.7360 -2.0703 - 0.9801 -1.1590 -1.1869 -1.8206 -2.6697 -2.2474 -1.9247 1.3390 0.7955 3.2786 2.1796 1.2439 3.8310 0.9791 -3.7027 -2.0691 -3.3297 3.4700 4.0219 -2.0091 - -1.9305 1.1296 2.7892 3.5086 -0.4192 1.8621 -2.4767 -4.5620 -1.3151 -0.4855 0.2130 4.0896 -0.2763 2.9118 1.5789 -0.3477 -0.8200 5.6054 -7.8822 -3.1730 - 3.5183 4.1815 1.9981 -0.8261 -1.4369 -0.3881 1.0213 -3.8793 -3.6636 2.2621 1.1803 1.7727 -0.7985 -1.2902 -5.0777 -1.2307 0.3381 4.4122 -1.4815 -0.6120 - 4.0477 1.4256 -1.6604 -3.5999 -1.9136 -0.3445 0.3946 1.6694 1.2905 0.9828 0.5724 -0.1289 1.3498 1.3379 0.2067 0.3656 0.2492 -1.2128 -3.2905 -1.7416 - -2.0178 -2.6699 -1.3526 0.2496 0.4148 -0.8854 1.0823 -0.6203 1.2579 0.4148 -2.2346 -0.4015 1.4157 4.8809 6.6230 -3.5608 -1.8735 -4.5603 3.5038 0.3340 - 1.4937 -1.5420 -2.3850 3.1706 1.4707 0.1938 0.5057 3.8806 -0.0936 0.3334 0.4606 1.4472 -0.9030 -1.4318 3.5118 -5.2689 -1.4235 -1.2997 0.0053 -2.1257 - -3.6561 0.1855 0.3705 1.1645 0.2341 -0.8092 2.3980 -0.3274 -0.4576 -1.1851 -3.8496 2.0281 -3.3309 0.9466 -0.0780 1.0318 4.0737 2.6190 -0.3495 -1.0083 - -0.1238 -0.3756 -0.3626 -1.1974 -3.0280 -3.3983 -3.5184 -2.8303 -0.2464 -1.0525 0.7469 1.1667 1.9967 2.0536 5.8842 4.6720 0.6593 -0.2270 -1.2558 0.4368 - 1.4898 -0.0036 2.1872 4.7731 5.3388 2.1104 0.8610 -1.9286 -4.4764 -2.9139 -5.8875 0.1502 2.3687 -3.3444 1.8016 2.0118 0.3480 1.5855 -1.0664 -5.4053 - -0.2559 -0.0970 0.6606 -3.0637 -4.0503 -2.5522 0.2345 0.1786 -0.3244 -2.5706 1.7286 2.2086 1.6927 2.7400 1.9340 -0.1619 5.4140 3.6846 -5.1534 -2.2469 - 0.7337 0.6464 -0.7291 -0.8337 -0.3024 0.3377 1.5178 1.0116 2.5850 0.9759 -1.3970 -3.2182 -3.6906 -0.0798 3.4993 -1.9939 -5.3046 1.4115 4.7666 0.0639 - -2.9601 -0.9321 -1.3007 -4.5012 -0.6859 1.6271 0.8938 1.8188 2.7147 2.4868 2.4402 0.6577 1.2040 2.0247 0.2523 1.3499 1.0757 -5.3086 -0.2223 -2.6347 - 1.2887 2.2547 3.3766 1.8575 -1.7910 -1.7548 1.5265 2.7964 1.2240 1.9720 0.2687 1.8100 3.1328 -2.5860 -2.7821 -3.9778 -2.4086 -2.0066 -0.0746 -4.1265 - 0.8108 -0.0118 0.3510 0.2469 -0.3564 -0.0688 2.2772 2.9983 0.0220 -0.8672 -4.8310 -2.0824 0.0877 2.2501 0.0661 -8.6456 -1.6422 4.8643 2.3157 2.2152 - -2.3502 1.9923 1.6641 -2.2786 3.4633 2.6050 -3.0058 1.5172 -5.3190 -0.9994 -2.4221 0.2495 3.8898 -2.0580 1.1705 0.4058 -1.2798 2.5712 -0.5349 0.7192 - 5.2963 2.7580 0.0542 -1.8363 0.6217 3.1975 0.8761 0.6926 0.1889 -2.2049 -2.6639 -2.3949 -0.4550 0.9028 0.9417 -2.3200 -1.6049 2.2215 -3.0876 -1.1840 - 0.0332 0.6867 -0.5444 -2.6560 -2.3272 -1.9975 2.7492 3.4613 1.2531 2.2970 0.6826 1.6161 0.8081 -2.8567 -0.2510 3.1363 -4.7699 -0.8591 1.4746 -1.9362 - 0.1179 0.1304 -0.0905 -0.0885 0.5876 2.0857 -0.3875 -1.3306 -0.8957 -0.1982 0.8458 -0.0513 -2.2349 -5.5634 7.5385 3.9965 -1.0630 -1.5645 -2.1020 0.2680 - 1.5416 0.4773 -0.0338 0.6704 0.3091 -0.0982 -0.8312 -1.8586 -2.1668 -3.0698 -3.6621 -2.8717 -0.1465 2.9749 3.0473 2.3156 -0.0362 0.7605 1.1471 1.5312 - -1.4651 -1.1492 -0.6700 -0.6012 -0.1247 1.1550 -0.2106 -1.2695 -0.4411 1.1446 4.1491 2.6600 1.3124 1.6069 0.6316 -0.4851 -2.5715 -4.3867 -1.0040 1.7189 - 0.2437 0.6555 0.3411 0.8466 -1.7425 -0.1636 6.1311 0.6211 -2.7030 -1.5009 -0.1744 0.8660 1.3589 1.2490 1.1273 -2.7402 -0.0949 -1.5440 -1.8610 -0.9159 - 4.3927 3.3672 0.9009 -1.2521 0.6230 -0.5206 0.8245 -0.9087 -1.8374 0.0097 -3.1469 -2.4307 -3.0482 0.2541 1.9480 5.7092 -3.3716 -3.2953 2.6836 -0.9014 - 2.2171 0.1913 -1.6779 -0.9585 -1.3241 0.2292 1.4881 2.7969 0.2756 -3.8207 -2.4695 -0.3208 2.3024 2.5414 -0.1815 -0.2933 2.0837 0.9892 -1.0861 -2.9823 - 0.1186 0.1645 -0.3865 -0.8001 -0.3047 -2.3398 -0.6229 -0.0641 0.8491 1.7026 -1.1341 -2.0704 -0.3123 0.1814 3.8820 1.2943 0.4627 -0.5672 0.5181 -0.5712 - -0.1015 -2.3234 -2.3520 0.9949 2.2704 0.9946 0.3560 0.9113 0.1017 -0.4530 0.8520 -1.0302 0.8806 0.3674 -2.6615 -4.8900 -2.9475 1.9045 2.6392 4.4864 - 2.3941 1.7010 1.9067 0.4931 -1.4348 -2.6074 -1.1597 -1.0504 -3.0460 -2.8157 -0.6597 -0.5920 -0.3406 -1.1230 -0.8586 4.9381 2.8734 1.4518 2.5923 -2.6625 - -0.8669 1.9301 3.2551 6.1577 2.0399 2.6785 0.7380 -0.3115 4.7391 1.4868 -6.0175 -7.4317 -4.5623 -0.8590 3.8966 -0.1349 -2.5476 -0.0080 -1.4441 -2.7383 - -1.8064 0.5147 0.5800 -2.6271 -3.9359 -2.9321 -2.4785 0.6104 -1.7343 -0.3653 -0.3024 0.2350 2.3057 1.9998 2.2392 1.9124 3.0438 -0.2241 5.1672 -2.2020 - 1.8580 3.3342 3.0400 1.0670 0.2251 0.5480 1.7906 0.7871 1.2850 -0.3795 -2.0150 -2.3713 0.5611 0.5214 -0.8547 0.0171 -1.8463 -2.7006 -1.7828 -3.0844 - 1.4841 -0.8100 -2.4242 -1.8509 -0.9746 -1.0553 4.8924 1.3818 -1.8605 -4.3708 -2.0142 6.4457 0.9506 -0.5924 0.1104 2.4175 -0.6754 -0.8459 -0.1554 -0.0530 - -0.0877 -0.9877 -1.7358 0.3853 1.1022 1.2975 4.3189 -1.9877 -3.1833 1.0392 0.1796 4.1158 1.4650 -1.6177 1.6123 -4.1615 -3.2584 1.2187 -4.3136 4.5989 - 0.4487 -0.1107 -2.0381 -0.2337 2.5745 2.8339 -0.0417 1.4413 -1.4483 -1.1675 -6.2515 -6.9360 -3.2717 4.8492 0.9246 -0.9750 4.1724 1.7821 1.3820 2.0655 - 0.1081 -0.6949 0.1665 0.6685 0.8790 0.7273 0.1766 -0.0005 -0.2218 -0.4294 0.4489 -0.4843 0.2008 2.1975 4.5024 -1.0296 -1.2026 -2.5547 -1.0944 -2.3636 - 2.3396 2.1543 2.2429 4.7578 0.8390 -0.8895 4.6297 0.4985 -2.3653 2.1787 -1.0612 -0.8953 -6.2919 0.5546 -0.4272 -0.9670 -1.9781 -0.4692 -5.5295 0.6795 - 0.1530 -2.1926 2.1973 4.5005 -1.3453 1.3286 -2.0310 1.0783 -1.3510 -0.7983 0.6783 -3.4857 5.3977 -3.6561 -3.5986 6.0882 0.1428 -0.9697 3.0219 -5.1583 - -2.6086 -0.0766 2.7222 2.0552 2.4096 3.0319 1.0596 -0.1283 -0.8104 -0.2732 -1.4259 -4.0229 -1.4469 -1.6716 -1.1861 -0.9216 0.6780 -0.0004 2.0118 0.6041 - 1.8333 3.1078 -1.8097 1.1817 3.7643 0.5185 1.9828 -0.3454 1.2321 -1.0494 -6.2996 3.9399 -4.6043 2.7296 -2.2906 -1.7821 -0.5503 -0.1687 1.5615 -2.9514 - -1.9822 -1.7870 -2.0807 -0.6471 1.7376 -0.7108 -0.9897 0.1273 -1.5435 -3.4080 1.1979 3.2003 1.0189 -0.9731 -1.0790 -1.9655 3.5511 1.2692 3.4593 1.6049 - 1.8097 0.7952 2.3044 2.0422 0.0385 -1.4890 -2.6817 -2.4115 -2.0814 -4.7349 1.3168 5.2099 2.0691 0.2209 -0.3967 -1.3910 -0.0825 -1.3970 -1.3074 2.1664 - -0.6317 -0.6961 -1.7818 1.7212 1.8896 0.7627 6.4133 0.0239 -2.0812 -0.6340 -0.8745 -0.8436 -3.5167 -3.0992 -0.4403 -5.0217 5.7819 4.7221 -2.9383 1.2443 - -0.8542 -4.8873 -5.4381 -4.2630 -4.1290 0.7749 4.7768 0.2842 0.3115 -0.2820 0.2149 -0.1804 0.6193 5.7873 5.1866 -1.3257 -3.0389 -1.9693 8.9711 -0.5589 - -1.7203 0.3016 0.2697 0.0913 0.2499 2.9554 0.3320 0.0927 -3.0516 1.3578 -0.8456 1.2764 0.1248 3.9102 2.8147 -2.3847 -6.7532 -2.2614 1.9868 1.2535 - 2.3588 1.8978 1.0798 1.0217 0.8258 -0.3312 0.8967 -0.1754 -0.3981 1.0150 -0.3879 -0.8493 -1.2690 -1.1797 1.5079 -0.1598 -2.3607 1.1269 2.6480 -7.2674 - 1.1746 4.6165 5.4940 3.4461 -3.9021 -1.6050 -0.1323 -0.9380 -0.4156 -1.9000 -0.2856 -1.2349 -3.6515 -2.9147 0.0530 1.1469 0.2371 -1.3253 3.8834 -1.7466 - -2.2758 1.8844 4.6711 2.2076 -1.3597 -0.4741 0.4627 -0.0358 -0.0017 -1.0258 -0.6957 -1.0270 1.1372 -2.6040 -3.0616 -4.3523 1.6973 1.9314 1.1807 1.7410 - 1.9665 1.3206 -0.1069 0.8467 1.1209 2.6581 1.0313 -0.7646 -0.9327 -0.4666 1.3979 -1.1019 -2.4235 -8.2049 1.1737 4.9310 0.7484 0.2664 -6.0708 2.6104 - 1.1852 -1.5416 -3.6491 4.4048 -6.7437 4.6469 1.6802 1.2910 2.2789 2.7610 1.3944 -0.7732 -5.8136 4.4421 -2.2039 0.8414 -5.8722 -4.6747 -3.6578 10.0038 - -3.9689 -0.5502 1.1683 -2.1974 -1.9082 0.1416 1.6772 0.3260 3.7162 2.4168 2.6207 -1.7735 1.5236 0.3480 -0.3569 4.1471 1.4471 -0.6226 -8.1997 0.0448 - 0.6532 1.4910 1.2058 1.7096 2.3950 1.7319 -1.5483 -1.8447 -2.2888 0.7634 3.2796 1.6709 -4.9985 -3.0829 -1.1211 1.2229 -0.2209 -1.1940 1.9569 -1.7811 - -1.9523 -4.3005 -4.5837 1.0346 1.2567 1.0099 3.2344 2.8332 1.1895 -1.5164 -2.2052 -1.2334 -1.4331 2.1022 2.3179 5.6712 2.1958 -2.0504 -2.5243 -1.0460 - -1.1815 -1.5300 -0.6842 -0.5633 -2.6867 -1.4016 0.6359 -2.0170 -1.2970 -1.6432 -1.0489 -1.3764 -1.1731 -0.5962 3.5229 5.3595 3.1187 3.4061 0.3009 0.8550 - -3.1382 -0.6280 -0.8774 -0.9941 0.9435 0.9619 0.8520 -3.3796 -3.2423 -1.3758 3.3040 2.2194 1.0056 2.5348 -0.2996 0.9762 -3.7819 -0.3936 5.7234 -0.4105 - -3.2428 -5.3967 -1.5226 4.3711 2.0836 2.1112 0.7032 -4.0183 -12.6551 -15.4852 0.9361 9.2253 10.5424 3.4081 3.4337 -0.7556 1.6657 0.8127 4.5992 -0.8160 - 1.8248 0.0419 0.5248 1.8646 -1.2814 -2.6618 -0.0669 0.1817 2.2151 -0.8152 5.1179 2.3104 3.6555 -8.7128 -2.0790 1.0629 -0.0963 -1.5473 0.4756 -2.0146 - -0.1111 0.3482 -0.0235 -0.7175 -0.1449 -0.3857 -0.8724 0.4592 0.4980 0.2237 0.3924 0.2623 -0.5426 0.9370 -0.6701 0.1600 0.1978 1.4707 -0.4540 -1.0274 - -0.9442 -0.4989 -0.2375 -0.5991 -1.2414 -0.4327 -0.2055 -0.5191 2.6955 3.9938 -2.7275 1.8004 1.9744 1.7067 -0.5541 -5.7033 0.6046 -1.4009 -1.3782 3.6669 - -0.8575 0.6722 1.8197 2.2695 1.4265 -1.5445 -1.7430 -1.5937 2.0470 -0.1126 0.3473 1.4243 0.9317 -1.3895 -1.0640 0.4664 -0.0706 -3.0958 -1.0532 1.1198 - 0.9735 -3.1553 -4.9524 -1.8534 0.7715 2.4911 5.1271 0.4320 -4.1146 1.1236 2.7184 2.0135 1.9444 1.7813 1.8232 -2.6267 -5.6361 0.3774 1.0979 -0.3363 - 1.9497 1.0413 -1.2191 -0.8636 0.0511 -0.3375 -0.5315 -1.0284 2.1218 -5.0828 1.0827 -2.2172 -1.3936 0.4537 3.3006 0.9962 -1.2147 0.0930 -2.8723 5.6705 - -3.0064 -0.6690 1.9882 3.1451 0.5101 1.4897 6.0735 3.0322 0.7197 2.5823 0.9024 -1.3595 -0.6102 -4.4164 -5.2345 0.5038 -1.7243 -1.0135 0.3868 -3.2999 - -1.3127 -0.5603 -0.4395 -0.5779 -1.3273 -0.7737 1.1446 2.1363 0.5709 -0.9646 0.1742 -0.3429 0.7079 -1.3617 -0.1807 0.8278 4.5177 -3.6128 1.9484 -0.5738 - 4.9592 5.5662 -1.4308 2.4625 -1.3728 0.3179 2.5142 -3.1176 -3.0793 2.5866 -6.0767 -3.0209 -1.0428 3.7946 3.4423 -3.9407 3.8680 -5.8781 -3.2612 2.7097 - 1.8752 4.6096 2.6992 0.0622 1.9683 -1.5159 -0.2846 2.0429 5.1916 0.0415 0.4228 0.2499 -1.8859 -1.2282 -1.8414 -3.2239 -2.8594 -2.2718 -1.9470 -2.1050 - -0.4172 -0.0660 -0.7815 -1.3234 1.6425 1.5960 0.1952 2.8005 1.8348 -0.0556 -1.7528 -0.3330 2.5351 3.2175 -0.0237 -2.6102 -2.3993 -0.4569 0.2104 -3.8124 - 0.5340 -7.1325 7.3739 -7.1474 5.0035 4.0837 1.7481 0.6285 2.1470 3.3649 3.4871 -4.6213 5.3643 -0.8361 2.3067 -0.6517 -4.1528 -4.1599 -0.0969 -7.2432 - 6.4977 -1.8922 6.0123 2.6649 3.9019 -2.9401 -5.9544 6.5995 -3.7727 -1.3909 -4.1986 0.3151 1.1248 0.2299 1.4836 -7.4381 0.2549 4.7727 -2.9947 -3.2755 - 0.0546 0.0075 0.5596 0.2523 -2.3268 -4.5642 -3.6799 -0.8395 2.7336 3.7088 2.7486 2.6118 1.5065 0.0463 0.4170 -0.5592 1.5006 -0.4534 -1.6715 -2.0529 - 2.9815 2.4495 1.7545 3.2822 2.8844 2.5666 0.0398 1.6192 2.6128 3.3153 -4.7284 -2.6356 -1.7561 -4.3333 -3.6328 -2.9815 -0.9212 -0.8755 -0.3601 -1.2811 - -0.8024 1.2002 3.2220 -0.7626 -2.1102 -1.0525 -1.8044 0.6518 -0.3024 1.2038 0.2348 0.2257 -2.8991 -1.6610 1.3306 -0.9177 -2.5629 -0.6077 5.6868 1.7272 - -0.1833 -0.3751 0.5635 0.1503 -0.2949 -0.6821 1.4873 -1.2805 -1.3007 -0.6803 0.0098 0.9789 1.7868 3.5914 0.8184 1.0857 6.4677 -3.3457 -6.7060 -2.0913 - 4.2126 1.0339 -0.8906 0.9053 2.8206 3.1913 0.4808 1.7342 1.1617 0.7387 3.7928 -0.7288 -6.1883 -1.6937 -4.9005 -3.6291 -0.7611 -1.4035 -0.2407 0.3643 - -8.3754 -2.2519 1.3080 1.8062 0.8850 1.6497 2.0880 2.7261 0.2633 -0.5998 0.5979 0.7034 0.9960 2.9711 0.1650 0.8745 -0.1614 -0.6875 -1.3556 -3.6024 - 1.4188 1.0202 1.5256 1.6620 0.7476 -1.4390 -3.4051 -1.8780 0.4521 -3.9741 0.7867 -0.3719 -2.3721 -1.0437 0.6801 -0.2011 -3.0818 2.9062 4.2361 2.3315 - 0.1054 -2.6122 -4.3807 -5.3145 -0.2846 4.3842 3.0170 3.8061 0.7110 -1.0498 -0.2574 -0.9802 0.3402 1.2503 2.5457 -7.8042 -0.1469 2.8259 3.0062 0.8386 - 5.2058 7.1080 4.9534 -1.2430 -6.6855 -3.7117 -6.1961 -2.1515 -0.5576 -1.6169 5.7678 7.7780 -3.9195 1.0323 -4.8749 2.1979 -6.6948 5.7018 -1.1809 -0.9126 - 5.0054 3.2246 2.7220 2.5774 0.3515 -0.4988 -0.6659 -1.1531 -0.3512 -0.2899 -1.1677 0.8076 -0.0710 -1.3279 -1.8820 -2.0262 -1.5275 -2.2770 -2.2582 0.8080 - -0.3421 -2.1542 -1.9404 1.9715 2.0717 1.2690 -0.5900 2.8831 2.5295 -0.0718 1.0132 -2.1895 0.9449 0.2787 2.8471 3.2171 -2.0622 -4.9892 -4.8142 0.1278 - -3.5648 -4.5220 -3.8219 -0.0484 2.5590 3.3348 4.6892 3.0890 3.1738 2.4402 -0.3648 -2.0478 -1.8476 0.1171 -0.1749 -2.2364 0.1988 -2.2378 0.6726 0.5920 - -2.5566 -0.8410 -0.4280 -0.4406 -0.5726 -0.3279 -1.8710 -2.4830 2.8140 4.1548 -1.1877 -1.2228 1.1741 0.7041 -4.1128 0.8974 1.6460 2.7315 1.4956 0.4265 - 0.6395 0.6244 0.2175 0.2548 -0.6436 -1.4509 -1.2471 -1.8889 -1.6984 0.6300 -0.0902 -1.4274 1.6267 2.2897 -1.4907 -1.0863 -0.5990 -0.3234 4.5402 1.1229 - -3.0281 -3.4576 0.2465 1.1848 -0.3128 -1.4112 -1.7883 -2.4368 -3.6604 0.2309 4.1432 0.2306 3.9874 1.3414 -2.9661 0.2318 1.3943 2.8996 1.0512 2.1197 - -6.4523 -0.8108 3.0394 2.9265 1.7276 -0.6852 -1.3401 -1.2086 0.2339 0.6323 0.9584 -0.4322 -0.4865 1.1438 3.9792 -0.5978 -3.3409 -0.0134 0.1557 0.5712 - 0.8836 0.6632 -0.5682 1.0909 1.0200 0.2143 1.7898 0.4314 -1.2105 -1.6888 -2.8939 1.5904 1.4323 5.0287 -2.4090 -2.6282 -1.2927 -1.8499 -3.8726 4.2691 - 2.7571 0.5054 0.5914 -0.4593 -1.9535 -2.8534 -5.1043 -5.0146 0.3167 1.9210 1.9920 1.2596 1.2329 -1.0134 -2.2148 -0.9619 3.3405 0.4893 1.9185 3.2509 - -7.8257 -8.0514 -2.2922 4.6049 1.7841 0.2877 2.4600 0.2299 0.3961 0.7952 4.9841 0.5914 -3.3601 1.4043 5.5671 2.2508 0.0018 1.5100 -2.0511 -3.2867 - 1.5686 1.2169 -0.6391 -2.6751 -3.0325 -3.9104 -2.5516 -0.9763 6.3909 -1.3255 1.3817 1.7409 2.2064 2.8908 0.3118 0.3554 0.3092 -0.0695 -2.5566 -0.6363 - 1.1784 0.7886 1.7506 3.8841 0.1097 -3.4846 -1.1668 -0.2517 -0.3004 -0.0493 2.0270 0.2092 1.5440 3.4255 0.2943 -0.8517 -1.6072 -4.0976 -5.8976 2.4958 - 0.9988 2.8848 3.2891 3.3681 1.4676 3.2906 1.3735 1.1970 0.4611 -0.5875 1.7464 0.9583 0.5681 -1.4825 -4.2976 -3.2226 -2.3712 -7.0782 -2.8558 0.2917 - -0.2746 -0.1545 -0.1213 -1.7658 -0.9647 -0.8990 -2.2776 -1.6043 2.1487 5.2377 -7.3002 -1.2976 0.8951 2.6087 1.9104 0.8944 4.2107 2.4289 -0.6124 -3.0624 - 4.5993 2.8908 2.6348 2.5753 3.5423 -1.3467 -3.6340 -1.3719 -1.5896 -1.7807 0.4182 -0.4869 -0.0081 -1.7322 -5.0302 -4.0281 3.2297 0.1854 0.7317 0.2006 - -3.2143 -2.4079 2.3832 -1.4835 -2.9589 -4.3471 -9.4701 -8.6980 2.2131 11.9939 3.4222 5.6731 1.0493 0.9347 3.1770 3.6996 -0.0115 2.2951 -2.8928 -1.3571 - 2.2986 0.5686 -2.7234 0.0628 3.3595 3.0322 1.2528 0.1697 0.2877 -3.1109 -4.5198 4.2898 4.5477 -0.5365 -2.9437 -1.7760 -3.4896 -0.4971 0.5506 -0.8230 - 0.0226 -1.9088 -4.1034 -3.5139 1.8311 6.6465 1.9042 -0.2585 0.4811 -1.3603 -0.8669 -2.6469 -2.4021 -2.3699 -1.0708 1.8059 0.3697 0.3642 3.4726 3.6036 - 1.8666 0.3455 -0.4415 1.4530 2.1752 0.4141 0.9988 0.9339 2.0369 0.0808 -1.3138 -1.2683 0.1032 0.3074 0.3794 -2.2480 -4.4451 -2.7006 1.2456 0.0770 - -0.9714 0.8948 -0.5528 -1.5023 -2.1884 -1.6190 -2.6643 0.3765 5.2588 1.9474 4.7336 6.0668 0.9206 -6.1173 0.2687 4.2344 -2.7801 4.7836 -5.9468 -5.1428 - -3.5447 -2.6492 -1.1225 1.1104 -0.6763 -0.3734 0.7874 2.9348 3.7914 3.3802 -3.0687 -1.7645 -1.7552 0.4322 1.5566 3.1434 -2.9717 0.2913 0.3294 0.1693 - 2.3099 -0.6833 -2.4051 -0.8700 -0.1793 -0.7055 -1.1773 0.0766 -2.2742 -3.5734 -2.1986 0.6775 0.1605 0.0083 4.2284 1.3025 3.7892 -0.0746 -0.9582 2.5465 - 0.9486 0.1048 1.8316 3.4918 2.1758 1.1342 1.0848 2.4632 0.0993 -1.9453 -1.1703 -1.6274 -2.0353 0.8991 0.4736 -4.0911 -2.9565 -2.3552 -2.1133 3.5874 - 0.6208 3.4997 6.2697 4.2107 1.2652 2.1894 1.1355 -2.5271 -2.9525 0.0535 0.3829 -2.5199 -2.9063 -2.7287 -1.9607 1.4600 1.2748 0.4400 -4.8467 -2.3602 - 0.5243 2.9289 2.2684 0.4191 -2.1542 -0.2881 -0.2706 0.6758 5.4475 1.1883 -2.5477 -6.5024 -4.1506 0.6656 0.9576 -1.2352 1.0736 -4.8441 2.5699 3.2741 - -0.7794 1.1463 3.5016 1.1120 0.8485 -1.0628 -0.8132 3.8405 -0.3344 1.2653 0.4357 0.5494 -2.5741 -2.4964 -3.4166 -4.9706 4.8271 -4.7341 1.1838 2.4711 - 1.8447 1.0979 -1.7573 0.3863 -0.5133 -3.1578 0.0583 -0.5417 4.1974 -4.6030 0.1241 -3.2329 4.6242 -4.6647 -2.4610 0.5959 3.2183 -1.2626 5.6612 0.3859 - -2.3894 -1.0328 1.7896 5.5648 5.2220 1.8869 1.0956 -0.1977 3.2983 0.9466 -2.0813 -0.1679 -0.5816 -0.1714 -2.7510 1.1951 1.5496 1.6400 -5.0073 -9.8080 - 0.7738 -1.7298 -3.2257 -0.3183 1.9284 1.7227 0.8166 0.9095 0.5332 -0.5016 -1.2660 -1.9608 2.0035 -2.6922 3.7039 0.8905 -0.7247 2.7531 -3.0591 -0.5571 - -0.0748 -0.5070 -0.2516 1.7723 1.4041 4.3520 1.7022 1.0990 -1.4641 -2.3620 3.1174 0.5476 1.5192 -1.9294 -4.9678 0.2919 -3.1451 1.3976 -0.5997 -1.9017 - -0.3043 -4.5751 -6.4864 -2.8079 2.8553 1.4264 -0.6290 0.8259 1.1617 -0.8255 -1.1913 -0.9336 -0.8179 -0.6841 2.7254 1.9190 4.4832 2.4919 2.0452 -0.6788 - 2.9368 3.5644 3.7164 3.7726 0.3148 -2.5071 -1.0177 0.4365 0.4818 -2.1099 -3.0728 -1.1823 -1.8323 -2.5460 -3.2217 -2.5081 0.1068 -0.3340 2.0018 3.0001 - 2.0122 -0.8437 -0.0894 -3.5669 0.2151 1.3672 -1.1852 2.2748 0.2674 2.1266 -4.5961 -3.5181 1.6410 4.2095 -4.0873 0.0362 3.5548 -2.6567 1.8468 0.9915 - -2.9528 1.3693 1.3737 3.6447 4.6399 3.0004 -0.4081 -0.5069 -2.0885 -2.1563 0.7639 0.4790 -2.4821 1.6495 0.8280 -0.4457 -4.8607 3.5285 3.1896 -8.5655 - -4.4449 -2.6584 -0.3396 2.7055 3.1313 2.6691 -0.1405 -2.6920 1.1380 5.9263 0.1508 -2.5031 -2.5963 -2.2339 -0.4387 2.7348 0.1166 -2.0958 -0.1884 1.7591 - -0.4506 -2.2585 -2.0183 -1.2141 2.3804 5.1371 -0.1012 0.7185 -1.9558 -5.5843 1.7274 2.5676 1.3295 -2.3148 3.4722 0.9168 0.3809 -1.2468 -0.6805 -0.8055 - -0.5741 -1.3187 -1.6054 -1.8387 -3.0009 -2.2631 1.6411 1.0542 0.8630 1.3059 0.6660 0.5171 -0.9355 -1.8837 0.8703 0.3850 -0.0855 0.2754 4.4605 1.4674 - 4.0853 2.9178 0.0251 -1.7053 -2.9819 -2.0918 -1.9947 -0.8293 -0.6373 0.5052 2.1796 2.6733 -1.7046 -0.6344 1.3620 -0.4864 -2.0884 -1.6708 1.5012 1.5754 - -1.5635 2.8252 -0.9149 -3.0463 -4.7327 2.7084 1.1209 0.7968 0.7865 -1.2527 -0.1248 2.6941 2.7972 2.2336 -0.0652 -0.4532 -2.9265 -0.0560 -0.4324 -0.3945 - 2.4620 0.7164 -1.5674 -3.1513 -1.6402 2.4149 2.9010 2.5761 3.2262 0.0749 -4.5314 -3.4112 0.2922 1.0743 0.0408 -1.5976 -0.5032 0.6577 0.7598 -0.7940 - 1.9710 1.1730 -0.6838 -2.2094 -1.9356 1.4952 -2.0825 -0.2927 0.7657 -1.8337 4.4472 -3.8324 0.7557 0.0732 -3.6271 -1.9071 4.3140 2.4552 -0.0317 0.9857 - 3.7325 2.7934 1.0157 -1.7096 -2.8454 -1.8953 -0.7562 0.3146 -0.3781 -1.0020 -1.6158 -0.3984 -0.0573 0.9972 1.0112 -1.0599 0.0370 3.6124 1.1087 -2.9047 - -1.4832 -1.9899 -0.8731 -0.9330 -2.9066 2.3820 -0.1603 -0.7170 -1.1285 -0.9274 2.1578 6.4011 -1.6535 2.3099 -1.6654 3.7268 0.0883 -1.8527 -0.5184 -0.2568 - 0.6353 1.3687 1.8257 0.3226 -0.8766 1.0000 1.0853 1.2934 0.8779 1.7553 1.1543 -2.0442 -1.6763 -0.4593 0.9294 -1.2072 -2.2593 -0.6144 -2.8074 -0.3032 - -1.2070 -1.3475 -1.8312 -1.7806 -2.9611 -3.1818 2.9332 -0.1240 0.1906 2.9202 -1.8371 1.0525 -2.0319 2.7074 -2.1979 -1.3072 -0.5591 3.0013 2.6600 4.9011 - -5.1303 3.3870 -3.7967 -1.9466 -5.3864 -1.1368 -0.5684 3.7351 -0.5755 -3.2378 -4.4250 2.0350 3.9372 5.4701 -2.7768 5.9464 6.6849 -3.7875 1.9948 -0.4230 - -1.3037 -1.9678 -3.1520 -1.4018 0.2092 2.8010 2.0760 -0.3324 1.0911 0.9050 1.7187 3.4255 1.0022 3.5722 -3.5224 -4.7658 -1.0745 0.2766 1.2898 -0.8471 - 1.9772 -2.9635 -3.0240 -2.2547 0.1703 1.7771 -1.6073 -3.1859 1.5410 1.4356 0.9203 3.9297 4.2495 5.7007 -4.0193 -0.8612 1.6423 0.8844 -5.1605 -1.1517 - 2.9132 0.8992 -1.0688 -1.5448 -0.9185 0.4003 -1.7700 -2.7768 -1.4639 0.2261 0.7139 1.7997 3.0514 3.3204 0.6803 0.9792 -0.2717 -2.6450 -0.2252 -2.2988 - -2.9741 -2.4804 -3.0116 -3.1521 0.1074 1.3714 0.6662 2.0637 1.7849 -0.4611 -0.7720 -1.6172 0.8203 3.4203 0.8069 2.2581 3.2451 0.5915 -2.2429 -0.4245 - -0.8028 -0.2290 0.2137 -0.4319 0.5580 0.2543 0.9172 0.8892 -0.4807 -1.2827 0.9202 1.1454 -1.6931 -3.6479 0.4568 3.9049 1.2435 2.6145 0.7928 -5.3425 - 2.6190 1.9162 0.9769 -0.1078 -0.4290 -0.3650 -2.8284 -4.4494 -5.9910 -4.8405 0.7110 -0.4595 0.2195 3.3942 0.9527 -1.8867 3.8742 3.7699 1.2150 1.7087 - 1.8829 0.7201 0.6607 -0.0626 -1.1940 -1.4411 -0.0944 0.1172 -0.7491 -0.3712 -2.5287 -2.1899 -1.2280 -1.4906 -0.5689 -1.4885 2.7842 4.0586 -1.1367 4.3200 - 4.6710 0.9897 -0.6156 -0.6851 -1.4120 4.1532 4.4321 1.1339 -1.0985 0.5736 1.4085 -4.6356 -3.3117 -1.5968 -3.4345 -0.7293 -0.0528 -0.3096 -3.6684 4.1880 - -2.5398 -1.3830 0.0979 1.9654 3.5192 -0.0522 -3.2870 -3.8507 0.6356 -0.9850 -3.0198 -3.7269 -0.8310 1.9829 1.8339 -0.8073 0.2152 2.0459 6.1180 2.0688 - 0.4962 3.2227 3.5953 1.3395 -3.4218 -4.9933 -1.9981 0.9513 -1.0998 -2.7535 1.3298 -0.6976 0.0716 0.7392 5.8854 -4.3047 2.1890 1.9699 -2.4444 -0.0765 - -5.8327 1.1129 0.8081 5.6003 5.5684 4.7020 2.8089 0.4347 1.1649 -4.9188 -11.4465 -1.3196 0.4225 -2.4705 0.3286 -0.0113 8.7340 -2.1220 -2.1264 -1.4373 - -1.6231 -1.3969 -2.0111 -1.2620 4.3084 -1.2012 1.2341 0.1866 0.0635 -2.6548 2.3896 1.8088 0.0290 -4.3105 3.9166 -0.0331 -0.3748 -2.4710 1.0435 2.3583 - 0.6310 1.3989 1.5277 0.7608 1.0894 1.7235 2.0681 2.3537 0.9918 1.2164 -0.3325 -2.2666 0.1756 0.1615 0.5196 -2.6730 -7.1201 -2.9272 -5.4551 6.1563 - 7.8768 5.4153 -2.5369 0.0405 4.1259 -0.2108 -4.6599 -0.9803 -1.3472 -5.5873 0.0334 -6.0975 -0.7915 0.7551 -0.1575 2.8766 -3.5702 -0.2561 4.0100 1.0615 diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2.c b/vendor/codec2_flutter_ios_only/src/codec2/src/codec2.c deleted file mode 100644 index b27626a..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2.c +++ /dev/null @@ -1,1921 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: codec2.c - AUTHOR......: David Rowe - DATE CREATED: 21/8/2010 - - Codec2 fully quantised encoder and decoder functions. If you want use - codec2, the codec2_xxx functions are for you. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2010 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "codec2.h" - -#include -#include -#include -#include -#include -#include - -#include "bpf.h" -#include "bpfb.h" -#include "codec2_fft.h" -#include "codec2_internal.h" -#include "debug_alloc.h" -#include "defines.h" -#include "dump.h" -#include "interp.h" -#include "lpc.h" -#include "lsp.h" -#include "machdep.h" -#include "nlp.h" -#include "phase.h" -#include "postfilter.h" -#include "quantise.h" -#include "sine.h" - -/*---------------------------------------------------------------------------* \ - - FUNCTION HEADERS - -\*---------------------------------------------------------------------------*/ - -void analyse_one_frame(struct CODEC2 *c2, MODEL *model, short speech[]); -void synthesise_one_frame(struct CODEC2 *c2, short speech[], MODEL *model, - COMP Aw[], float gain); -void codec2_encode_3200(struct CODEC2 *c2, unsigned char *bits, short speech[]); -void codec2_decode_3200(struct CODEC2 *c2, short speech[], - const unsigned char *bits); -void codec2_encode_2400(struct CODEC2 *c2, unsigned char *bits, short speech[]); -void codec2_decode_2400(struct CODEC2 *c2, short speech[], - const unsigned char *bits); -void codec2_encode_1600(struct CODEC2 *c2, unsigned char *bits, short speech[]); -void codec2_decode_1600(struct CODEC2 *c2, short speech[], - const unsigned char *bits); -void codec2_encode_1400(struct CODEC2 *c2, unsigned char *bits, short speech[]); -void codec2_decode_1400(struct CODEC2 *c2, short speech[], - const unsigned char *bits); -void codec2_encode_1300(struct CODEC2 *c2, unsigned char *bits, short speech[]); -void codec2_decode_1300(struct CODEC2 *c2, short speech[], - const unsigned char *bits, float ber_est); -void codec2_encode_1200(struct CODEC2 *c2, unsigned char *bits, short speech[]); -void codec2_decode_1200(struct CODEC2 *c2, short speech[], - const unsigned char *bits); -void codec2_encode_700c(struct CODEC2 *c2, unsigned char *bits, short speech[]); -void codec2_decode_700c(struct CODEC2 *c2, short speech[], - const unsigned char *bits); -static void ear_protection(float in_out[], int n); - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS - -\*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_create - AUTHOR......: David Rowe - DATE CREATED: 21/8/2010 - - Create and initialise an instance of the codec. Returns a pointer - to the codec states or NULL on failure. One set of states is - sufficient for a full duuplex codec (i.e. an encoder and decoder). - You don't need separate states for encoders and decoders. See - c2enc.c and c2dec.c for examples. - -\*---------------------------------------------------------------------------*/ - -struct CODEC2 *codec2_create(int mode) { - struct CODEC2 *c2; - int i, l; - - // ALL POSSIBLE MODES MUST BE CHECKED HERE! - // we test if the desired mode is enabled at compile time - // and return NULL if not - - if (false == (CODEC2_MODE_ACTIVE(CODEC2_MODE_3200, mode) || - CODEC2_MODE_ACTIVE(CODEC2_MODE_2400, mode) || - CODEC2_MODE_ACTIVE(CODEC2_MODE_1600, mode) || - CODEC2_MODE_ACTIVE(CODEC2_MODE_1400, mode) || - CODEC2_MODE_ACTIVE(CODEC2_MODE_1300, mode) || - CODEC2_MODE_ACTIVE(CODEC2_MODE_1200, mode) || - CODEC2_MODE_ACTIVE(CODEC2_MODE_700C, mode))) { - return NULL; - } - - c2 = (struct CODEC2 *)MALLOC(sizeof(struct CODEC2)); - if (c2 == NULL) return NULL; - - c2->mode = mode; - - /* store constants in a few places for convenience */ - - c2->c2const = c2const_create(8000, N_S); - c2->Fs = c2->c2const.Fs; - int n_samp = c2->n_samp = c2->c2const.n_samp; - int m_pitch = c2->m_pitch = c2->c2const.m_pitch; - - c2->Pn = (float *)MALLOC(2 * n_samp * sizeof(float)); - if (c2->Pn == NULL) { - return NULL; - } - c2->Sn_ = (float *)MALLOC(2 * n_samp * sizeof(float)); - if (c2->Sn_ == NULL) { - FREE(c2->Pn); - return NULL; - } - c2->w = (float *)MALLOC(m_pitch * sizeof(float)); - if (c2->w == NULL) { - FREE(c2->Pn); - FREE(c2->Sn_); - return NULL; - } - c2->Sn = (float *)MALLOC(m_pitch * sizeof(float)); - if (c2->Sn == NULL) { - FREE(c2->Pn); - FREE(c2->Sn_); - FREE(c2->w); - return NULL; - } - - for (i = 0; i < m_pitch; i++) c2->Sn[i] = 1.0; - c2->hpf_states[0] = c2->hpf_states[1] = 0.0; - for (i = 0; i < 2 * n_samp; i++) c2->Sn_[i] = 0; - c2->fft_fwd_cfg = codec2_fft_alloc(FFT_ENC, 0, NULL, NULL); - c2->fftr_fwd_cfg = codec2_fftr_alloc(FFT_ENC, 0, NULL, NULL); - make_analysis_window(&c2->c2const, c2->fft_fwd_cfg, c2->w, c2->W); - make_synthesis_window(&c2->c2const, c2->Pn); - c2->fftr_inv_cfg = codec2_fftr_alloc(FFT_DEC, 1, NULL, NULL); - c2->prev_f0_enc = 1 / P_MAX_S; - c2->bg_est = 0.0; - c2->ex_phase = 0.0; - - for (l = 1; l <= MAX_AMP; l++) c2->prev_model_dec.A[l] = 0.0; - c2->prev_model_dec.Wo = TWO_PI / c2->c2const.p_max; - c2->prev_model_dec.L = PI / c2->prev_model_dec.Wo; - c2->prev_model_dec.voiced = 0; - - for (i = 0; i < LPC_ORD; i++) { - c2->prev_lsps_dec[i] = i * PI / (LPC_ORD + 1); - } - c2->prev_e_dec = 1; - - c2->nlp = nlp_create(&c2->c2const); - if (c2->nlp == NULL) { - return NULL; - } - - c2->lpc_pf = 1; - c2->bass_boost = 1; - c2->beta = LPCPF_BETA; - c2->gamma = LPCPF_GAMMA; - - c2->xq_enc[0] = c2->xq_enc[1] = 0.0; - c2->xq_dec[0] = c2->xq_dec[1] = 0.0; - - c2->smoothing = 0; - c2->se = 0.0; - c2->nse = 0; - c2->user_rate_K_vec_no_mean_ = NULL; - c2->post_filter_en = true; - - c2->bpf_buf = (float *)MALLOC(sizeof(float) * (BPF_N + 4 * c2->n_samp)); - assert(c2->bpf_buf != NULL); - for (i = 0; i < BPF_N + 4 * c2->n_samp; i++) c2->bpf_buf[i] = 0.0; - - c2->softdec = NULL; - c2->gray = 1; - - /* newamp1 initialisation */ - - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_700C, c2->mode)) { - mel_sample_freqs_kHz(c2->rate_K_sample_freqs_kHz, NEWAMP1_K, ftomel(200.0), - ftomel(3700.0)); - int k; - for (k = 0; k < NEWAMP1_K; k++) { - c2->prev_rate_K_vec_[k] = 0.0; - c2->eq[k] = 0.0; - } - c2->eq_en = false; - c2->Wo_left = 0.0; - c2->voicing_left = 0; - c2->phase_fft_fwd_cfg = codec2_fft_alloc(NEWAMP1_PHASE_NFFT, 0, NULL, NULL); - c2->phase_fft_inv_cfg = codec2_fft_alloc(NEWAMP1_PHASE_NFFT, 1, NULL, NULL); - } - - c2->fmlfeat = NULL; - c2->fmlmodel = NULL; - - // make sure that one of the two decode function pointers is empty - // for the encode function pointer this is not required since we always set it - // to a meaningful value - - c2->decode = NULL; - c2->decode_ber = NULL; - - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_3200, c2->mode)) { - c2->encode = codec2_encode_3200; - c2->decode = codec2_decode_3200; - } - - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_2400, c2->mode)) { - c2->encode = codec2_encode_2400; - c2->decode = codec2_decode_2400; - } - - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1600, c2->mode)) { - c2->encode = codec2_encode_1600; - c2->decode = codec2_decode_1600; - } - - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1400, c2->mode)) { - c2->encode = codec2_encode_1400; - c2->decode = codec2_decode_1400; - } - - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1300, c2->mode)) { - c2->encode = codec2_encode_1300; - c2->decode_ber = codec2_decode_1300; - } - - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1200, c2->mode)) { - c2->encode = codec2_encode_1200; - c2->decode = codec2_decode_1200; - } - - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_700C, c2->mode)) { - c2->encode = codec2_encode_700c; - c2->decode = codec2_decode_700c; - } - - return c2; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_destroy - AUTHOR......: David Rowe - DATE CREATED: 21/8/2010 - - Destroy an instance of the codec. - -\*---------------------------------------------------------------------------*/ - -void codec2_destroy(struct CODEC2 *c2) { - assert(c2 != NULL); - FREE(c2->bpf_buf); - nlp_destroy(c2->nlp); - codec2_fft_free(c2->fft_fwd_cfg); - codec2_fftr_free(c2->fftr_fwd_cfg); - codec2_fftr_free(c2->fftr_inv_cfg); - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_700C, c2->mode)) { - codec2_fft_free(c2->phase_fft_fwd_cfg); - codec2_fft_free(c2->phase_fft_inv_cfg); - } - FREE(c2->Pn); - FREE(c2->Sn); - FREE(c2->w); - FREE(c2->Sn_); - FREE(c2); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_bits_per_frame - AUTHOR......: David Rowe - DATE CREATED: Nov 14 2011 - - Returns the number of bits per frame. - -\*---------------------------------------------------------------------------*/ - -int codec2_bits_per_frame(struct CODEC2 *c2) { - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_3200, c2->mode)) return 64; - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_2400, c2->mode)) return 48; - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1600, c2->mode)) return 64; - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1400, c2->mode)) return 56; - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1300, c2->mode)) return 52; - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1200, c2->mode)) return 48; - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_700C, c2->mode)) return 28; - - return 0; /* shouldn't get here */ -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_bytes_per_frame - DATE CREATED: April 2021 - - Returns the number of bytes per frame. Useful for allocated storage for - codec2_encode()/codec2_decode(). Note the number of bits may not be a - multiple of 8, therefore some bits in the last byte may be unused. - -\*---------------------------------------------------------------------------*/ - -int codec2_bytes_per_frame(struct CODEC2 *c2) { - return (codec2_bits_per_frame(c2) + 7) / 8; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_samples_per_frame - AUTHOR......: David Rowe - DATE CREATED: Nov 14 2011 - - Returns the number of speech samples per frame. - -\*---------------------------------------------------------------------------*/ - -int codec2_samples_per_frame(struct CODEC2 *c2) { - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_3200, c2->mode)) return 160; - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_2400, c2->mode)) return 160; - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1600, c2->mode)) return 320; - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1400, c2->mode)) return 320; - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1300, c2->mode)) return 320; - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1200, c2->mode)) return 320; - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_700C, c2->mode)) return 320; - return 0; /* shouldn't get here */ -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_encode - AUTHOR......: David Rowe - DATE CREATED: Nov 14 2011 - - Take an input buffer of speech samples, and compress them to a packed buffer - of bytes. - -\*---------------------------------------------------------------------------*/ - -void codec2_encode(struct CODEC2 *c2, unsigned char *bytes, short speech[]) { - assert(c2 != NULL); - assert(c2->encode != NULL); - - c2->encode(c2, bytes, speech); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_decode - AUTHOR......: David Rowe - DATE CREATED: Nov 14 2011 - - Take an input packed buffer of bytes, and decode them to a buffer of speech - samples. - -\*---------------------------------------------------------------------------*/ - -void codec2_decode(struct CODEC2 *c2, short speech[], - const unsigned char *bytes) { - codec2_decode_ber(c2, speech, bytes, 0.0); -} - -void codec2_decode_ber(struct CODEC2 *c2, short speech[], - const unsigned char *bits, float ber_est) { - assert(c2 != NULL); - assert(c2->decode != NULL || c2->decode_ber != NULL); - - if (c2->decode != NULL) { - c2->decode(c2, speech, bits); - } else { - c2->decode_ber(c2, speech, bits, ber_est); - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_encode_3200 - AUTHOR......: David Rowe - DATE CREATED: 13 Sep 2012 - - Encodes 160 speech samples (20ms of speech) into 64 bits. - - The codec2 algorithm actually operates internally on 10ms (80 - sample) frames, so we run the encoding algorithm twice. On the - first frame we just send the voicing bits. On the second frame we - send all model parameters. Compared to 2400 we encode the LSP - differences, a larger number of bits for the LSP(d)s and scalar - (non-VQ) quantisation for pitch and energy. - - The bit allocation is: - - Parameter bits/frame - ------------------------------------------------------ - Harmonic magnitudes (LSP differerences) 50 - Pitch (Wo) 7 - Energy 5 - Voicing (10ms update) 2 - TOTAL 64 - -\*---------------------------------------------------------------------------*/ - -void codec2_encode_3200(struct CODEC2 *c2, unsigned char *bits, - short speech[]) { - MODEL model; - float ak[LPC_ORD + 1]; - float lsps[LPC_ORD]; - float e; - int Wo_index, e_index; - int lspd_indexes[LPC_ORD]; - int i; - unsigned int nbit = 0; - - assert(c2 != NULL); - - memset(bits, '\0', ((codec2_bits_per_frame(c2) + 7) / 8)); - - /* first 10ms analysis frame - we just want voicing */ - - analyse_one_frame(c2, &model, speech); - pack(bits, &nbit, model.voiced, 1); - - /* second 10ms analysis frame */ - - analyse_one_frame(c2, &model, &speech[c2->n_samp]); - pack(bits, &nbit, model.voiced, 1); - Wo_index = encode_Wo(&c2->c2const, model.Wo, WO_BITS); - pack(bits, &nbit, Wo_index, WO_BITS); - - e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, c2->m_pitch, LPC_ORD); - e_index = encode_energy(e, E_BITS); - pack(bits, &nbit, e_index, E_BITS); - - encode_lspds_scalar(lspd_indexes, lsps, LPC_ORD); - for (i = 0; i < LSPD_SCALAR_INDEXES; i++) { - pack(bits, &nbit, lspd_indexes[i], lspd_bits(i)); - } - assert(nbit == (unsigned)codec2_bits_per_frame(c2)); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_decode_3200 - AUTHOR......: David Rowe - DATE CREATED: 13 Sep 2012 - - Decodes a frame of 64 bits into 160 samples (20ms) of speech. - -\*---------------------------------------------------------------------------*/ - -void codec2_decode_3200(struct CODEC2 *c2, short speech[], - const unsigned char *bits) { - MODEL model[2]; - int lspd_indexes[LPC_ORD]; - float lsps[2][LPC_ORD]; - int Wo_index, e_index; - float e[2]; - float snr; - float ak[2][LPC_ORD + 1]; - int i, j; - unsigned int nbit = 0; - COMP Aw[FFT_ENC]; - - assert(c2 != NULL); - - /* only need to zero these out due to (unused) snr calculation */ - - for (i = 0; i < 2; i++) - for (j = 1; j <= MAX_AMP; j++) model[i].A[j] = 0.0; - - /* unpack bits from channel ------------------------------------*/ - - /* this will partially fill the model params for the 2 x 10ms - frames */ - - model[0].voiced = unpack(bits, &nbit, 1); - model[1].voiced = unpack(bits, &nbit, 1); - - Wo_index = unpack(bits, &nbit, WO_BITS); - model[1].Wo = decode_Wo(&c2->c2const, Wo_index, WO_BITS); - model[1].L = PI / model[1].Wo; - - e_index = unpack(bits, &nbit, E_BITS); - e[1] = decode_energy(e_index, E_BITS); - - for (i = 0; i < LSPD_SCALAR_INDEXES; i++) { - lspd_indexes[i] = unpack(bits, &nbit, lspd_bits(i)); - } - decode_lspds_scalar(&lsps[1][0], lspd_indexes, LPC_ORD); - - /* interpolate ------------------------------------------------*/ - - /* Wo and energy are sampled every 20ms, so we interpolate just 1 - 10ms frame between 20ms samples */ - - interp_Wo(&model[0], &c2->prev_model_dec, &model[1], c2->c2const.Wo_min); - e[0] = interp_energy(c2->prev_e_dec, e[1]); - - /* LSPs are sampled every 20ms so we interpolate the frame in - between, then recover spectral amplitudes */ - - interpolate_lsp_ver2(&lsps[0][0], c2->prev_lsps_dec, &lsps[1][0], 0.5, - LPC_ORD); - - for (i = 0; i < 2; i++) { - lsp_to_lpc(&lsps[i][0], &ak[i][0], LPC_ORD); - aks_to_M2(c2->fftr_fwd_cfg, &ak[i][0], LPC_ORD, &model[i], e[i], &snr, 0, 0, - c2->lpc_pf, c2->bass_boost, c2->beta, c2->gamma, Aw); - apply_lpc_correction(&model[i]); - synthesise_one_frame(c2, &speech[c2->n_samp * i], &model[i], Aw, 1.0); - } - - /* update memories for next frame ----------------------------*/ - - c2->prev_model_dec = model[1]; - c2->prev_e_dec = e[1]; - for (i = 0; i < LPC_ORD; i++) c2->prev_lsps_dec[i] = lsps[1][i]; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_encode_2400 - AUTHOR......: David Rowe - DATE CREATED: 21/8/2010 - - Encodes 160 speech samples (20ms of speech) into 48 bits. - - The codec2 algorithm actually operates internally on 10ms (80 - sample) frames, so we run the encoding algorithm twice. On the - first frame we just send the voicing bit. On the second frame we - send all model parameters. - - The bit allocation is: - - Parameter bits/frame - -------------------------------------- - Harmonic magnitudes (LSPs) 36 - Joint VQ of Energy and Wo 8 - Voicing (10ms update) 2 - Spare 2 - TOTAL 48 - -\*---------------------------------------------------------------------------*/ - -void codec2_encode_2400(struct CODEC2 *c2, unsigned char *bits, - short speech[]) { - MODEL model; - float ak[LPC_ORD + 1]; - float lsps[LPC_ORD]; - float e; - int WoE_index; - int lsp_indexes[LPC_ORD]; - int i; - int spare = 0; - unsigned int nbit = 0; - - assert(c2 != NULL); - - memset(bits, '\0', ((codec2_bits_per_frame(c2) + 7) / 8)); - - /* first 10ms analysis frame - we just want voicing */ - - analyse_one_frame(c2, &model, speech); - pack(bits, &nbit, model.voiced, 1); - - /* second 10ms analysis frame */ - - analyse_one_frame(c2, &model, &speech[c2->n_samp]); - pack(bits, &nbit, model.voiced, 1); - - e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, c2->m_pitch, LPC_ORD); - WoE_index = encode_WoE(&model, e, c2->xq_enc); - pack(bits, &nbit, WoE_index, WO_E_BITS); - - encode_lsps_scalar(lsp_indexes, lsps, LPC_ORD); - for (i = 0; i < LSP_SCALAR_INDEXES; i++) { - pack(bits, &nbit, lsp_indexes[i], lsp_bits(i)); - } - pack(bits, &nbit, spare, 2); - - assert(nbit == (unsigned)codec2_bits_per_frame(c2)); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_decode_2400 - AUTHOR......: David Rowe - DATE CREATED: 21/8/2010 - - Decodes frames of 48 bits into 160 samples (20ms) of speech. - -\*---------------------------------------------------------------------------*/ - -void codec2_decode_2400(struct CODEC2 *c2, short speech[], - const unsigned char *bits) { - MODEL model[2]; - int lsp_indexes[LPC_ORD]; - float lsps[2][LPC_ORD]; - int WoE_index; - float e[2]; - float snr; - float ak[2][LPC_ORD + 1]; - int i, j; - unsigned int nbit = 0; - COMP Aw[FFT_ENC]; - - assert(c2 != NULL); - - /* only need to zero these out due to (unused) snr calculation */ - - for (i = 0; i < 2; i++) - for (j = 1; j <= MAX_AMP; j++) model[i].A[j] = 0.0; - - /* unpack bits from channel ------------------------------------*/ - - /* this will partially fill the model params for the 2 x 10ms - frames */ - - model[0].voiced = unpack(bits, &nbit, 1); - - model[1].voiced = unpack(bits, &nbit, 1); - WoE_index = unpack(bits, &nbit, WO_E_BITS); - decode_WoE(&c2->c2const, &model[1], &e[1], c2->xq_dec, WoE_index); - - for (i = 0; i < LSP_SCALAR_INDEXES; i++) { - lsp_indexes[i] = unpack(bits, &nbit, lsp_bits(i)); - } - decode_lsps_scalar(&lsps[1][0], lsp_indexes, LPC_ORD); - check_lsp_order(&lsps[1][0], LPC_ORD); - bw_expand_lsps(&lsps[1][0], LPC_ORD, 50.0, 100.0); - - /* interpolate ------------------------------------------------*/ - - /* Wo and energy are sampled every 20ms, so we interpolate just 1 - 10ms frame between 20ms samples */ - - interp_Wo(&model[0], &c2->prev_model_dec, &model[1], c2->c2const.Wo_min); - e[0] = interp_energy(c2->prev_e_dec, e[1]); - - /* LSPs are sampled every 20ms so we interpolate the frame in - between, then recover spectral amplitudes */ - - interpolate_lsp_ver2(&lsps[0][0], c2->prev_lsps_dec, &lsps[1][0], 0.5, - LPC_ORD); - for (i = 0; i < 2; i++) { - lsp_to_lpc(&lsps[i][0], &ak[i][0], LPC_ORD); - aks_to_M2(c2->fftr_fwd_cfg, &ak[i][0], LPC_ORD, &model[i], e[i], &snr, 0, 0, - c2->lpc_pf, c2->bass_boost, c2->beta, c2->gamma, Aw); - apply_lpc_correction(&model[i]); - synthesise_one_frame(c2, &speech[c2->n_samp * i], &model[i], Aw, 1.0); - - /* dump parameters for deep learning experiments */ - - if (c2->fmlfeat != NULL) { - /* 10 LSPs - energy - Wo - voicing flag - 10 LPCs */ - fwrite(&lsps[i][0], LPC_ORD, sizeof(float), c2->fmlfeat); - fwrite(&e[i], 1, sizeof(float), c2->fmlfeat); - fwrite(&model[i].Wo, 1, sizeof(float), c2->fmlfeat); - float voiced_float = model[i].voiced; - fwrite(&voiced_float, 1, sizeof(float), c2->fmlfeat); - fwrite(&ak[i][1], LPC_ORD, sizeof(float), c2->fmlfeat); - } - } - - /* update memories for next frame ----------------------------*/ - - c2->prev_model_dec = model[1]; - c2->prev_e_dec = e[1]; - for (i = 0; i < LPC_ORD; i++) c2->prev_lsps_dec[i] = lsps[1][i]; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_encode_1600 - AUTHOR......: David Rowe - DATE CREATED: Feb 28 2013 - - Encodes 320 speech samples (40ms of speech) into 64 bits. - - The codec2 algorithm actually operates internally on 10ms (80 - sample) frames, so we run the encoding algorithm 4 times: - - frame 0: voicing bit - frame 1: voicing bit, Wo and E - frame 2: voicing bit - frame 3: voicing bit, Wo and E, scalar LSPs - - The bit allocation is: - - Parameter frame 2 frame 4 Total - ------------------------------------------------------- - Harmonic magnitudes (LSPs) 0 36 36 - Pitch (Wo) 7 7 14 - Energy 5 5 10 - Voicing (10ms update) 2 2 4 - TOTAL 14 50 64 - -\*---------------------------------------------------------------------------*/ - -void codec2_encode_1600(struct CODEC2 *c2, unsigned char *bits, - short speech[]) { - MODEL model; - float lsps[LPC_ORD]; - float ak[LPC_ORD + 1]; - float e; - int lsp_indexes[LPC_ORD]; - int Wo_index, e_index; - int i; - unsigned int nbit = 0; - - assert(c2 != NULL); - - memset(bits, '\0', ((codec2_bits_per_frame(c2) + 7) / 8)); - - /* frame 1: - voicing ---------------------------------------------*/ - - analyse_one_frame(c2, &model, speech); - pack(bits, &nbit, model.voiced, 1); - - /* frame 2: - voicing, scalar Wo & E -------------------------------*/ - - analyse_one_frame(c2, &model, &speech[c2->n_samp]); - pack(bits, &nbit, model.voiced, 1); - - Wo_index = encode_Wo(&c2->c2const, model.Wo, WO_BITS); - pack(bits, &nbit, Wo_index, WO_BITS); - - /* need to run this just to get LPC energy */ - e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, c2->m_pitch, LPC_ORD); - e_index = encode_energy(e, E_BITS); - pack(bits, &nbit, e_index, E_BITS); - - /* frame 3: - voicing ---------------------------------------------*/ - - analyse_one_frame(c2, &model, &speech[2 * c2->n_samp]); - pack(bits, &nbit, model.voiced, 1); - - /* frame 4: - voicing, scalar Wo & E, scalar LSPs ------------------*/ - - analyse_one_frame(c2, &model, &speech[3 * c2->n_samp]); - pack(bits, &nbit, model.voiced, 1); - - Wo_index = encode_Wo(&c2->c2const, model.Wo, WO_BITS); - pack(bits, &nbit, Wo_index, WO_BITS); - - e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, c2->m_pitch, LPC_ORD); - e_index = encode_energy(e, E_BITS); - pack(bits, &nbit, e_index, E_BITS); - - encode_lsps_scalar(lsp_indexes, lsps, LPC_ORD); - for (i = 0; i < LSP_SCALAR_INDEXES; i++) { - pack(bits, &nbit, lsp_indexes[i], lsp_bits(i)); - } - - assert(nbit == (unsigned)codec2_bits_per_frame(c2)); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_decode_1600 - AUTHOR......: David Rowe - DATE CREATED: 11 May 2012 - - Decodes frames of 64 bits into 320 samples (40ms) of speech. - -\*---------------------------------------------------------------------------*/ - -void codec2_decode_1600(struct CODEC2 *c2, short speech[], - const unsigned char *bits) { - MODEL model[4]; - int lsp_indexes[LPC_ORD]; - float lsps[4][LPC_ORD]; - int Wo_index, e_index; - float e[4]; - float snr; - float ak[4][LPC_ORD + 1]; - int i, j; - unsigned int nbit = 0; - float weight; - COMP Aw[FFT_ENC]; - - assert(c2 != NULL); - - /* only need to zero these out due to (unused) snr calculation */ - - for (i = 0; i < 4; i++) - for (j = 1; j <= MAX_AMP; j++) model[i].A[j] = 0.0; - - /* unpack bits from channel ------------------------------------*/ - - /* this will partially fill the model params for the 4 x 10ms - frames */ - - model[0].voiced = unpack(bits, &nbit, 1); - - model[1].voiced = unpack(bits, &nbit, 1); - Wo_index = unpack(bits, &nbit, WO_BITS); - model[1].Wo = decode_Wo(&c2->c2const, Wo_index, WO_BITS); - model[1].L = PI / model[1].Wo; - - e_index = unpack(bits, &nbit, E_BITS); - e[1] = decode_energy(e_index, E_BITS); - - model[2].voiced = unpack(bits, &nbit, 1); - - model[3].voiced = unpack(bits, &nbit, 1); - Wo_index = unpack(bits, &nbit, WO_BITS); - model[3].Wo = decode_Wo(&c2->c2const, Wo_index, WO_BITS); - model[3].L = PI / model[3].Wo; - - e_index = unpack(bits, &nbit, E_BITS); - e[3] = decode_energy(e_index, E_BITS); - - for (i = 0; i < LSP_SCALAR_INDEXES; i++) { - lsp_indexes[i] = unpack(bits, &nbit, lsp_bits(i)); - } - decode_lsps_scalar(&lsps[3][0], lsp_indexes, LPC_ORD); - check_lsp_order(&lsps[3][0], LPC_ORD); - bw_expand_lsps(&lsps[3][0], LPC_ORD, 50.0, 100.0); - - /* interpolate ------------------------------------------------*/ - - /* Wo and energy are sampled every 20ms, so we interpolate just 1 - 10ms frame between 20ms samples */ - - interp_Wo(&model[0], &c2->prev_model_dec, &model[1], c2->c2const.Wo_min); - e[0] = interp_energy(c2->prev_e_dec, e[1]); - interp_Wo(&model[2], &model[1], &model[3], c2->c2const.Wo_min); - e[2] = interp_energy(e[1], e[3]); - - /* LSPs are sampled every 40ms so we interpolate the 3 frames in - between, then recover spectral amplitudes */ - - for (i = 0, weight = 0.25; i < 3; i++, weight += 0.25) { - interpolate_lsp_ver2(&lsps[i][0], c2->prev_lsps_dec, &lsps[3][0], weight, - LPC_ORD); - } - for (i = 0; i < 4; i++) { - lsp_to_lpc(&lsps[i][0], &ak[i][0], LPC_ORD); - aks_to_M2(c2->fftr_fwd_cfg, &ak[i][0], LPC_ORD, &model[i], e[i], &snr, 0, 0, - c2->lpc_pf, c2->bass_boost, c2->beta, c2->gamma, Aw); - apply_lpc_correction(&model[i]); - synthesise_one_frame(c2, &speech[c2->n_samp * i], &model[i], Aw, 1.0); - } - - /* update memories for next frame ----------------------------*/ - - c2->prev_model_dec = model[3]; - c2->prev_e_dec = e[3]; - for (i = 0; i < LPC_ORD; i++) c2->prev_lsps_dec[i] = lsps[3][i]; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_encode_1400 - AUTHOR......: David Rowe - DATE CREATED: May 11 2012 - - Encodes 320 speech samples (40ms of speech) into 56 bits. - - The codec2 algorithm actually operates internally on 10ms (80 - sample) frames, so we run the encoding algorithm 4 times: - - frame 0: voicing bit - frame 1: voicing bit, joint VQ of Wo and E - frame 2: voicing bit - frame 3: voicing bit, joint VQ of Wo and E, scalar LSPs - - The bit allocation is: - - Parameter frame 2 frame 4 Total - ------------------------------------------------------- - Harmonic magnitudes (LSPs) 0 36 36 - Energy+Wo 8 8 16 - Voicing (10ms update) 2 2 4 - TOTAL 10 46 56 - -\*---------------------------------------------------------------------------*/ - -void codec2_encode_1400(struct CODEC2 *c2, unsigned char *bits, - short speech[]) { - MODEL model; - float lsps[LPC_ORD]; - float ak[LPC_ORD + 1]; - float e; - int lsp_indexes[LPC_ORD]; - int WoE_index; - int i; - unsigned int nbit = 0; - - assert(c2 != NULL); - - memset(bits, '\0', ((codec2_bits_per_frame(c2) + 7) / 8)); - - /* frame 1: - voicing ---------------------------------------------*/ - - analyse_one_frame(c2, &model, speech); - pack(bits, &nbit, model.voiced, 1); - - /* frame 2: - voicing, joint Wo & E -------------------------------*/ - - analyse_one_frame(c2, &model, &speech[c2->n_samp]); - pack(bits, &nbit, model.voiced, 1); - - /* need to run this just to get LPC energy */ - e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, c2->m_pitch, LPC_ORD); - - WoE_index = encode_WoE(&model, e, c2->xq_enc); - pack(bits, &nbit, WoE_index, WO_E_BITS); - - /* frame 3: - voicing ---------------------------------------------*/ - - analyse_one_frame(c2, &model, &speech[2 * c2->n_samp]); - pack(bits, &nbit, model.voiced, 1); - - /* frame 4: - voicing, joint Wo & E, scalar LSPs ------------------*/ - - analyse_one_frame(c2, &model, &speech[3 * c2->n_samp]); - pack(bits, &nbit, model.voiced, 1); - - e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, c2->m_pitch, LPC_ORD); - WoE_index = encode_WoE(&model, e, c2->xq_enc); - pack(bits, &nbit, WoE_index, WO_E_BITS); - - encode_lsps_scalar(lsp_indexes, lsps, LPC_ORD); - for (i = 0; i < LSP_SCALAR_INDEXES; i++) { - pack(bits, &nbit, lsp_indexes[i], lsp_bits(i)); - } - - assert(nbit == (unsigned)codec2_bits_per_frame(c2)); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_decode_1400 - AUTHOR......: David Rowe - DATE CREATED: 11 May 2012 - - Decodes frames of 56 bits into 320 samples (40ms) of speech. - -\*---------------------------------------------------------------------------*/ - -void codec2_decode_1400(struct CODEC2 *c2, short speech[], - const unsigned char *bits) { - MODEL model[4]; - int lsp_indexes[LPC_ORD]; - float lsps[4][LPC_ORD]; - int WoE_index; - float e[4]; - float snr; - float ak[4][LPC_ORD + 1]; - int i, j; - unsigned int nbit = 0; - float weight; - COMP Aw[FFT_ENC]; - - assert(c2 != NULL); - - /* only need to zero these out due to (unused) snr calculation */ - - for (i = 0; i < 4; i++) - for (j = 1; j <= MAX_AMP; j++) model[i].A[j] = 0.0; - - /* unpack bits from channel ------------------------------------*/ - - /* this will partially fill the model params for the 4 x 10ms - frames */ - - model[0].voiced = unpack(bits, &nbit, 1); - - model[1].voiced = unpack(bits, &nbit, 1); - WoE_index = unpack(bits, &nbit, WO_E_BITS); - decode_WoE(&c2->c2const, &model[1], &e[1], c2->xq_dec, WoE_index); - - model[2].voiced = unpack(bits, &nbit, 1); - - model[3].voiced = unpack(bits, &nbit, 1); - WoE_index = unpack(bits, &nbit, WO_E_BITS); - decode_WoE(&c2->c2const, &model[3], &e[3], c2->xq_dec, WoE_index); - - for (i = 0; i < LSP_SCALAR_INDEXES; i++) { - lsp_indexes[i] = unpack(bits, &nbit, lsp_bits(i)); - } - decode_lsps_scalar(&lsps[3][0], lsp_indexes, LPC_ORD); - check_lsp_order(&lsps[3][0], LPC_ORD); - bw_expand_lsps(&lsps[3][0], LPC_ORD, 50.0, 100.0); - - /* interpolate ------------------------------------------------*/ - - /* Wo and energy are sampled every 20ms, so we interpolate just 1 - 10ms frame between 20ms samples */ - - interp_Wo(&model[0], &c2->prev_model_dec, &model[1], c2->c2const.Wo_min); - e[0] = interp_energy(c2->prev_e_dec, e[1]); - interp_Wo(&model[2], &model[1], &model[3], c2->c2const.Wo_min); - e[2] = interp_energy(e[1], e[3]); - - /* LSPs are sampled every 40ms so we interpolate the 3 frames in - between, then recover spectral amplitudes */ - - for (i = 0, weight = 0.25; i < 3; i++, weight += 0.25) { - interpolate_lsp_ver2(&lsps[i][0], c2->prev_lsps_dec, &lsps[3][0], weight, - LPC_ORD); - } - for (i = 0; i < 4; i++) { - lsp_to_lpc(&lsps[i][0], &ak[i][0], LPC_ORD); - aks_to_M2(c2->fftr_fwd_cfg, &ak[i][0], LPC_ORD, &model[i], e[i], &snr, 0, 0, - c2->lpc_pf, c2->bass_boost, c2->beta, c2->gamma, Aw); - apply_lpc_correction(&model[i]); - synthesise_one_frame(c2, &speech[c2->n_samp * i], &model[i], Aw, 1.0); - } - - /* update memories for next frame ----------------------------*/ - - c2->prev_model_dec = model[3]; - c2->prev_e_dec = e[3]; - for (i = 0; i < LPC_ORD; i++) c2->prev_lsps_dec[i] = lsps[3][i]; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_encode_1300 - AUTHOR......: David Rowe - DATE CREATED: March 14 2013 - - Encodes 320 speech samples (40ms of speech) into 52 bits. - - The codec2 algorithm actually operates internally on 10ms (80 - sample) frames, so we run the encoding algorithm 4 times: - - frame 0: voicing bit - frame 1: voicing bit, - frame 2: voicing bit - frame 3: voicing bit, Wo and E, scalar LSPs - - The bit allocation is: - - Parameter frame 2 frame 4 Total - ------------------------------------------------------- - Harmonic magnitudes (LSPs) 0 36 36 - Pitch (Wo) 0 7 7 - Energy 0 5 5 - Voicing (10ms update) 2 2 4 - TOTAL 2 50 52 - -\*---------------------------------------------------------------------------*/ - -void codec2_encode_1300(struct CODEC2 *c2, unsigned char *bits, - short speech[]) { - MODEL model; - float lsps[LPC_ORD]; - float ak[LPC_ORD + 1]; - float e; - int lsp_indexes[LPC_ORD]; - int Wo_index, e_index; - int i; - unsigned int nbit = 0; - - assert(c2 != NULL); - - memset(bits, '\0', ((codec2_bits_per_frame(c2) + 7) / 8)); - - /* frame 1: - voicing ---------------------------------------------*/ - - analyse_one_frame(c2, &model, speech); - pack_natural_or_gray(bits, &nbit, model.voiced, 1, c2->gray); - - /* frame 2: - voicing ---------------------------------------------*/ - - analyse_one_frame(c2, &model, &speech[c2->n_samp]); - pack_natural_or_gray(bits, &nbit, model.voiced, 1, c2->gray); - - /* frame 3: - voicing ---------------------------------------------*/ - - analyse_one_frame(c2, &model, &speech[2 * c2->n_samp]); - pack_natural_or_gray(bits, &nbit, model.voiced, 1, c2->gray); - - /* frame 4: - voicing, scalar Wo & E, scalar LSPs ------------------*/ - - analyse_one_frame(c2, &model, &speech[3 * c2->n_samp]); - pack_natural_or_gray(bits, &nbit, model.voiced, 1, c2->gray); - - Wo_index = encode_Wo(&c2->c2const, model.Wo, WO_BITS); - pack_natural_or_gray(bits, &nbit, Wo_index, WO_BITS, c2->gray); - - e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, c2->m_pitch, LPC_ORD); - e_index = encode_energy(e, E_BITS); - pack_natural_or_gray(bits, &nbit, e_index, E_BITS, c2->gray); - - encode_lsps_scalar(lsp_indexes, lsps, LPC_ORD); - for (i = 0; i < LSP_SCALAR_INDEXES; i++) { - pack_natural_or_gray(bits, &nbit, lsp_indexes[i], lsp_bits(i), c2->gray); - } - - assert(nbit == (unsigned)codec2_bits_per_frame(c2)); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_decode_1300 - AUTHOR......: David Rowe - DATE CREATED: 11 May 2012 - - Decodes frames of 52 bits into 320 samples (40ms) of speech. - -\*---------------------------------------------------------------------------*/ - -void codec2_decode_1300(struct CODEC2 *c2, short speech[], - const unsigned char *bits, float ber_est) { - MODEL model[4]; - int lsp_indexes[LPC_ORD]; - float lsps[4][LPC_ORD]; - int Wo_index, e_index; - float e[4]; - float snr; - float ak[4][LPC_ORD + 1]; - int i, j; - unsigned int nbit = 0; - float weight; - COMP Aw[FFT_ENC]; - - assert(c2 != NULL); - - /* only need to zero these out due to (unused) snr calculation */ - - for (i = 0; i < 4; i++) - for (j = 1; j <= MAX_AMP; j++) model[i].A[j] = 0.0; - - /* unpack bits from channel ------------------------------------*/ - - /* this will partially fill the model params for the 4 x 10ms - frames */ - - model[0].voiced = unpack_natural_or_gray(bits, &nbit, 1, c2->gray); - model[1].voiced = unpack_natural_or_gray(bits, &nbit, 1, c2->gray); - model[2].voiced = unpack_natural_or_gray(bits, &nbit, 1, c2->gray); - model[3].voiced = unpack_natural_or_gray(bits, &nbit, 1, c2->gray); - - Wo_index = unpack_natural_or_gray(bits, &nbit, WO_BITS, c2->gray); - model[3].Wo = decode_Wo(&c2->c2const, Wo_index, WO_BITS); - model[3].L = PI / model[3].Wo; - - e_index = unpack_natural_or_gray(bits, &nbit, E_BITS, c2->gray); - e[3] = decode_energy(e_index, E_BITS); - - for (i = 0; i < LSP_SCALAR_INDEXES; i++) { - lsp_indexes[i] = unpack_natural_or_gray(bits, &nbit, lsp_bits(i), c2->gray); - } - decode_lsps_scalar(&lsps[3][0], lsp_indexes, LPC_ORD); - check_lsp_order(&lsps[3][0], LPC_ORD); - bw_expand_lsps(&lsps[3][0], LPC_ORD, 50.0, 100.0); - - if (ber_est > 0.15) { - model[0].voiced = model[1].voiced = model[2].voiced = model[3].voiced = 0; - e[3] = decode_energy(10, E_BITS); - bw_expand_lsps(&lsps[3][0], LPC_ORD, 200.0, 200.0); - // fprintf(stderr, "soft mute\n"); - } - - /* interpolate ------------------------------------------------*/ - - /* Wo, energy, and LSPs are sampled every 40ms so we interpolate - the 3 frames in between */ - - for (i = 0, weight = 0.25; i < 3; i++, weight += 0.25) { - interpolate_lsp_ver2(&lsps[i][0], c2->prev_lsps_dec, &lsps[3][0], weight, - LPC_ORD); - interp_Wo2(&model[i], &c2->prev_model_dec, &model[3], weight, - c2->c2const.Wo_min); - e[i] = interp_energy2(c2->prev_e_dec, e[3], weight); - } - - /* then recover spectral amplitudes */ - - for (i = 0; i < 4; i++) { - lsp_to_lpc(&lsps[i][0], &ak[i][0], LPC_ORD); - aks_to_M2(c2->fftr_fwd_cfg, &ak[i][0], LPC_ORD, &model[i], e[i], &snr, 0, 0, - c2->lpc_pf, c2->bass_boost, c2->beta, c2->gamma, Aw); - apply_lpc_correction(&model[i]); - synthesise_one_frame(c2, &speech[c2->n_samp * i], &model[i], Aw, 1.0); - - /* dump parameters for deep learning experiments */ - - if (c2->fmlfeat != NULL) { - /* 10 LSPs - energy - Wo - voicing flag - 10 LPCs */ - fwrite(&lsps[i][0], LPC_ORD, sizeof(float), c2->fmlfeat); - fwrite(&e[i], 1, sizeof(float), c2->fmlfeat); - fwrite(&model[i].Wo, 1, sizeof(float), c2->fmlfeat); - float voiced_float = model[i].voiced; - fwrite(&voiced_float, 1, sizeof(float), c2->fmlfeat); - fwrite(&ak[i][1], LPC_ORD, sizeof(float), c2->fmlfeat); - } - } - -#ifdef DUMP - dump_lsp_(&lsps[3][0]); - dump_ak_(&ak[3][0], LPC_ORD); -#endif - - /* update memories for next frame ----------------------------*/ - - c2->prev_model_dec = model[3]; - c2->prev_e_dec = e[3]; - for (i = 0; i < LPC_ORD; i++) c2->prev_lsps_dec[i] = lsps[3][i]; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_encode_1200 - AUTHOR......: David Rowe - DATE CREATED: Nov 14 2011 - - Encodes 320 speech samples (40ms of speech) into 48 bits. - - The codec2 algorithm actually operates internally on 10ms (80 - sample) frames, so we run the encoding algorithm four times: - - frame 0: voicing bit - frame 1: voicing bit, joint VQ of Wo and E - frame 2: voicing bit - frame 3: voicing bit, joint VQ of Wo and E, VQ LSPs - - The bit allocation is: - - Parameter frame 2 frame 4 Total - ------------------------------------------------------- - Harmonic magnitudes (LSPs) 0 27 27 - Energy+Wo 8 8 16 - Voicing (10ms update) 2 2 4 - Spare 0 1 1 - TOTAL 10 38 48 - -\*---------------------------------------------------------------------------*/ - -void codec2_encode_1200(struct CODEC2 *c2, unsigned char *bits, - short speech[]) { - MODEL model; - float lsps[LPC_ORD]; - float lsps_[LPC_ORD]; - float ak[LPC_ORD + 1]; - float e; - int lsp_indexes[LPC_ORD]; - int WoE_index; - int i; - int spare = 0; - unsigned int nbit = 0; - - assert(c2 != NULL); - - memset(bits, '\0', ((codec2_bits_per_frame(c2) + 7) / 8)); - - /* frame 1: - voicing ---------------------------------------------*/ - - analyse_one_frame(c2, &model, speech); - pack(bits, &nbit, model.voiced, 1); - - /* frame 2: - voicing, joint Wo & E -------------------------------*/ - - analyse_one_frame(c2, &model, &speech[c2->n_samp]); - pack(bits, &nbit, model.voiced, 1); - - /* need to run this just to get LPC energy */ - e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, c2->m_pitch, LPC_ORD); - - WoE_index = encode_WoE(&model, e, c2->xq_enc); - pack(bits, &nbit, WoE_index, WO_E_BITS); - - /* frame 3: - voicing ---------------------------------------------*/ - - analyse_one_frame(c2, &model, &speech[2 * c2->n_samp]); - pack(bits, &nbit, model.voiced, 1); - - /* frame 4: - voicing, joint Wo & E, scalar LSPs ------------------*/ - - analyse_one_frame(c2, &model, &speech[3 * c2->n_samp]); - pack(bits, &nbit, model.voiced, 1); - - e = speech_to_uq_lsps(lsps, ak, c2->Sn, c2->w, c2->m_pitch, LPC_ORD); - WoE_index = encode_WoE(&model, e, c2->xq_enc); - pack(bits, &nbit, WoE_index, WO_E_BITS); - - encode_lsps_vq(lsp_indexes, lsps, lsps_, LPC_ORD); - for (i = 0; i < LSP_PRED_VQ_INDEXES; i++) { - pack(bits, &nbit, lsp_indexes[i], lsp_pred_vq_bits(i)); - } - pack(bits, &nbit, spare, 1); - - assert(nbit == (unsigned)codec2_bits_per_frame(c2)); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_decode_1200 - AUTHOR......: David Rowe - DATE CREATED: 14 Feb 2012 - - Decodes frames of 48 bits into 320 samples (40ms) of speech. - -\*---------------------------------------------------------------------------*/ - -void codec2_decode_1200(struct CODEC2 *c2, short speech[], - const unsigned char *bits) { - MODEL model[4]; - int lsp_indexes[LPC_ORD]; - float lsps[4][LPC_ORD]; - int WoE_index; - float e[4]; - float snr; - float ak[4][LPC_ORD + 1]; - int i, j; - unsigned int nbit = 0; - float weight; - COMP Aw[FFT_ENC]; - - assert(c2 != NULL); - - /* only need to zero these out due to (unused) snr calculation */ - - for (i = 0; i < 4; i++) - for (j = 1; j <= MAX_AMP; j++) model[i].A[j] = 0.0; - - /* unpack bits from channel ------------------------------------*/ - - /* this will partially fill the model params for the 4 x 10ms - frames */ - - model[0].voiced = unpack(bits, &nbit, 1); - - model[1].voiced = unpack(bits, &nbit, 1); - WoE_index = unpack(bits, &nbit, WO_E_BITS); - decode_WoE(&c2->c2const, &model[1], &e[1], c2->xq_dec, WoE_index); - - model[2].voiced = unpack(bits, &nbit, 1); - - model[3].voiced = unpack(bits, &nbit, 1); - WoE_index = unpack(bits, &nbit, WO_E_BITS); - decode_WoE(&c2->c2const, &model[3], &e[3], c2->xq_dec, WoE_index); - - for (i = 0; i < LSP_PRED_VQ_INDEXES; i++) { - lsp_indexes[i] = unpack(bits, &nbit, lsp_pred_vq_bits(i)); - } - decode_lsps_vq(lsp_indexes, &lsps[3][0], LPC_ORD, 0); - check_lsp_order(&lsps[3][0], LPC_ORD); - bw_expand_lsps(&lsps[3][0], LPC_ORD, 50.0, 100.0); - - /* interpolate ------------------------------------------------*/ - - /* Wo and energy are sampled every 20ms, so we interpolate just 1 - 10ms frame between 20ms samples */ - - interp_Wo(&model[0], &c2->prev_model_dec, &model[1], c2->c2const.Wo_min); - e[0] = interp_energy(c2->prev_e_dec, e[1]); - interp_Wo(&model[2], &model[1], &model[3], c2->c2const.Wo_min); - e[2] = interp_energy(e[1], e[3]); - - /* LSPs are sampled every 40ms so we interpolate the 3 frames in - between, then recover spectral amplitudes */ - - for (i = 0, weight = 0.25; i < 3; i++, weight += 0.25) { - interpolate_lsp_ver2(&lsps[i][0], c2->prev_lsps_dec, &lsps[3][0], weight, - LPC_ORD); - } - for (i = 0; i < 4; i++) { - lsp_to_lpc(&lsps[i][0], &ak[i][0], LPC_ORD); - aks_to_M2(c2->fftr_fwd_cfg, &ak[i][0], LPC_ORD, &model[i], e[i], &snr, 0, 0, - c2->lpc_pf, c2->bass_boost, c2->beta, c2->gamma, Aw); - apply_lpc_correction(&model[i]); - synthesise_one_frame(c2, &speech[c2->n_samp * i], &model[i], Aw, 1.0); - } - - /* update memories for next frame ----------------------------*/ - - c2->prev_model_dec = model[3]; - c2->prev_e_dec = e[3]; - for (i = 0; i < LPC_ORD; i++) c2->prev_lsps_dec[i] = lsps[3][i]; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_encode_700c - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - Version c of 700 bit/s codec that uses newamp1 fixed rate VQ of amplitudes. - - Encodes 320 speech samples (40ms of speech) into 28 bits. - - The codec2 algorithm actually operates internally on 10ms (80 - sample) frames, so we run the encoding algorithm four times: - - frame 0: nothing - frame 1: nothing - frame 2: nothing - frame 3: 18 bit 2 stage VQ (9 bits/stage), 4 bits energy, - 6 bit scalar Wo/voicing. No spare bits. - - Voicing is encoded using the 0 index of the Wo quantiser. - - The bit allocation is: - - Parameter frames 1-3 frame 4 Total - ----------------------------------------------------------- - Harmonic magnitudes (rate k VQ) 0 18 18 - Energy 0 4 4 - log Wo/voicing 0 6 6 - TOTAL 0 28 28 - -\*---------------------------------------------------------------------------*/ - -void codec2_encode_700c(struct CODEC2 *c2, unsigned char *bits, - short speech[]) { - MODEL model; - int indexes[4], i, M = 4; - unsigned int nbit = 0; - - assert(c2 != NULL); - - memset(bits, '\0', ((codec2_bits_per_frame(c2) + 7) / 8)); - - for (i = 0; i < M; i++) { - analyse_one_frame(c2, &model, &speech[i * c2->n_samp]); - } - - int K = 20; - float rate_K_vec[K], mean; - float rate_K_vec_no_mean[K], rate_K_vec_no_mean_[K]; - - newamp1_model_to_indexes(&c2->c2const, indexes, &model, rate_K_vec, - c2->rate_K_sample_freqs_kHz, K, &mean, - rate_K_vec_no_mean, rate_K_vec_no_mean_, &c2->se, - c2->eq, c2->eq_en); - c2->nse += K; - -#ifndef CORTEX_M4 - /* dump features for deep learning experiments */ - if (c2->fmlfeat != NULL) { - fwrite(&mean, 1, sizeof(float), c2->fmlfeat); - fwrite(rate_K_vec_no_mean, K, sizeof(float), c2->fmlfeat); - fwrite(rate_K_vec_no_mean_, K, sizeof(float), c2->fmlfeat); - MODEL model_; - memcpy(&model_, &model, sizeof(model)); - float rate_K_vec_[K]; - for (int k = 0; k < K; k++) rate_K_vec_[k] = rate_K_vec_no_mean_[k] + mean; - resample_rate_L(&c2->c2const, &model_, rate_K_vec_, - c2->rate_K_sample_freqs_kHz, K); - fwrite(&model_.A, MAX_AMP, sizeof(float), c2->fmlfeat); - } - if (c2->fmlmodel != NULL) fwrite(&model, sizeof(MODEL), 1, c2->fmlmodel); -#endif - - pack_natural_or_gray(bits, &nbit, indexes[0], 9, 0); - pack_natural_or_gray(bits, &nbit, indexes[1], 9, 0); - pack_natural_or_gray(bits, &nbit, indexes[2], 4, 0); - pack_natural_or_gray(bits, &nbit, indexes[3], 6, 0); - - assert(nbit == (unsigned)codec2_bits_per_frame(c2)); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_decode_700c - AUTHOR......: David Rowe - DATE CREATED: August 2015 - - Decodes frames of 28 bits into 320 samples (40ms) of speech. - -\*---------------------------------------------------------------------------*/ - -void codec2_decode_700c(struct CODEC2 *c2, short speech[], - const unsigned char *bits) { - MODEL model[4]; - int indexes[4]; - int i; - unsigned int nbit = 0; - - assert(c2 != NULL); - - /* unpack bits from channel ------------------------------------*/ - - indexes[0] = unpack_natural_or_gray(bits, &nbit, 9, 0); - indexes[1] = unpack_natural_or_gray(bits, &nbit, 9, 0); - indexes[2] = unpack_natural_or_gray(bits, &nbit, 4, 0); - indexes[3] = unpack_natural_or_gray(bits, &nbit, 6, 0); - - int M = 4; - COMP HH[M][MAX_AMP + 1]; - float interpolated_surface_[M][NEWAMP1_K]; - - newamp1_indexes_to_model( - &c2->c2const, model, (COMP *)HH, (float *)interpolated_surface_, - c2->prev_rate_K_vec_, &c2->Wo_left, &c2->voicing_left, - c2->rate_K_sample_freqs_kHz, NEWAMP1_K, c2->phase_fft_fwd_cfg, - c2->phase_fft_inv_cfg, indexes, c2->user_rate_K_vec_no_mean_, - c2->post_filter_en); - - for (i = 0; i < M; i++) { - if (c2->fmlfeat != NULL) { - /* We use standard nb_features=55 feature records for compatibility with - * train_lpcnet.py */ - float features[55] = {0}; - /* just using 18/20 for compatibility with LPCNet, coarse scaling for NN - * input */ - for (int j = 0; j < 18; j++) - features[j] = (interpolated_surface_[i][j] - 30) / 40; - int pitch_index = 21 + 2.0 * M_PI / model[i].Wo; - features[36] = 0.02 * (pitch_index - 100); - features[37] = model[i].voiced; - fwrite(features, 55, sizeof(float), c2->fmlfeat); - } - - /* 700C is a little quieter so lets apply some experimentally derived audio - * gain */ - synthesise_one_frame(c2, &speech[c2->n_samp * i], &model[i], &HH[i][0], - 1.5); - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_energy_700c - AUTHOR......: Jeroen Vreeken - DATE CREATED: Jan 2017 - - Decodes energy value from encoded bits. - -\*---------------------------------------------------------------------------*/ - -float codec2_energy_700c(struct CODEC2 *c2, const unsigned char *bits) { - int indexes[4]; - unsigned int nbit = 0; - - assert(c2 != NULL); - - /* unpack bits from channel ------------------------------------*/ - - indexes[0] = unpack_natural_or_gray(bits, &nbit, 9, 0); - indexes[1] = unpack_natural_or_gray(bits, &nbit, 9, 0); - indexes[2] = unpack_natural_or_gray(bits, &nbit, 4, 0); - indexes[3] = unpack_natural_or_gray(bits, &nbit, 6, 0); - - float mean = newamp1_energy_cb[0].cb[indexes[2]]; - mean -= 10; - if (indexes[3] == 0) mean -= 10; - - return POW10F(mean / 10.0); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: codec2_get_energy() - AUTHOR......: Jeroen Vreeken - DATE CREATED: 08/03/2016 - - Extract energy value from an encoded frame. - -\*---------------------------------------------------------------------------*/ - -float codec2_get_energy(struct CODEC2 *c2, const unsigned char *bits) { - assert(c2 != NULL); - assert((CODEC2_MODE_ACTIVE(CODEC2_MODE_3200, c2->mode)) || - (CODEC2_MODE_ACTIVE(CODEC2_MODE_2400, c2->mode)) || - (CODEC2_MODE_ACTIVE(CODEC2_MODE_1600, c2->mode)) || - (CODEC2_MODE_ACTIVE(CODEC2_MODE_1400, c2->mode)) || - (CODEC2_MODE_ACTIVE(CODEC2_MODE_1300, c2->mode)) || - (CODEC2_MODE_ACTIVE(CODEC2_MODE_1200, c2->mode)) || - (CODEC2_MODE_ACTIVE(CODEC2_MODE_700C, c2->mode))); - MODEL model; - float xq_dec[2] = {}; - int e_index, WoE_index; - float e = 0.0f; - unsigned int nbit; - - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_3200, c2->mode)) { - nbit = 1 + 1 + WO_BITS; - e_index = unpack(bits, &nbit, E_BITS); - e = decode_energy(e_index, E_BITS); - } - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_2400, c2->mode)) { - nbit = 1 + 1; - WoE_index = unpack(bits, &nbit, WO_E_BITS); - decode_WoE(&c2->c2const, &model, &e, xq_dec, WoE_index); - } - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1600, c2->mode)) { - nbit = 1 + 1 + WO_BITS; - e_index = unpack(bits, &nbit, E_BITS); - e = decode_energy(e_index, E_BITS); - } - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1400, c2->mode)) { - nbit = 1 + 1; - WoE_index = unpack(bits, &nbit, WO_E_BITS); - decode_WoE(&c2->c2const, &model, &e, xq_dec, WoE_index); - } - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1300, c2->mode)) { - nbit = 1 + 1 + 1 + 1 + WO_BITS; - e_index = unpack_natural_or_gray(bits, &nbit, E_BITS, c2->gray); - e = decode_energy(e_index, E_BITS); - } - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_1200, c2->mode)) { - nbit = 1 + 1; - WoE_index = unpack(bits, &nbit, WO_E_BITS); - decode_WoE(&c2->c2const, &model, &e, xq_dec, WoE_index); - } - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_700C, c2->mode)) { - e = codec2_energy_700c(c2, bits); - } - - return e; -} - -/*---------------------------------------------------------------------------* \ - - FUNCTION....: synthesise_one_frame() - AUTHOR......: David Rowe - DATE CREATED: 23/8/2010 - - Synthesise 80 speech samples (10ms) from model parameters. - -\*---------------------------------------------------------------------------*/ - -void synthesise_one_frame(struct CODEC2 *c2, short speech[], MODEL *model, - COMP Aw[], float gain) { - int i; - - if (CODEC2_MODE_ACTIVE(CODEC2_MODE_700C, c2->mode)) { - /* newamp1, we've already worked out rate L phase */ - COMP *H = Aw; - phase_synth_zero_order(c2->n_samp, model, &c2->ex_phase, H); - } else { - /* LPC based phase synthesis */ - COMP H[MAX_AMP + 1]; - sample_phase(model, H, Aw); - phase_synth_zero_order(c2->n_samp, model, &c2->ex_phase, H); - } - - postfilter(model, &c2->bg_est); - synthesise(c2->n_samp, c2->fftr_inv_cfg, c2->Sn_, model, c2->Pn, 1); - - for (i = 0; i < c2->n_samp; i++) { - c2->Sn_[i] *= gain; - } - - ear_protection(c2->Sn_, c2->n_samp); - - for (i = 0; i < c2->n_samp; i++) { - if (c2->Sn_[i] > 32767.0) - speech[i] = 32767; - else if (c2->Sn_[i] < -32767.0) - speech[i] = -32767; - else - speech[i] = c2->Sn_[i]; - } -} - -/*---------------------------------------------------------------------------* \ - - FUNCTION....: analyse_one_frame() - AUTHOR......: David Rowe - DATE CREATED: 23/8/2010 - - Extract sinusoidal model parameters from 80 speech samples (10ms of - speech). - -\*---------------------------------------------------------------------------*/ - -void analyse_one_frame(struct CODEC2 *c2, MODEL *model, short speech[]) { - COMP Sw[FFT_ENC]; - float pitch; - int i; - int n_samp = c2->n_samp; - int m_pitch = c2->m_pitch; - - /* Read input speech */ - - for (i = 0; i < m_pitch - n_samp; i++) c2->Sn[i] = c2->Sn[i + n_samp]; - for (i = 0; i < n_samp; i++) c2->Sn[i + m_pitch - n_samp] = speech[i]; - - dft_speech(&c2->c2const, c2->fft_fwd_cfg, Sw, c2->Sn, c2->w); - - /* Estimate pitch */ - nlp(c2->nlp, c2->Sn, n_samp, &pitch, Sw, c2->W, &c2->prev_f0_enc); - model->Wo = TWO_PI / pitch; - model->L = PI / model->Wo; - - /* estimate model parameters */ - two_stage_pitch_refinement(&c2->c2const, model, Sw); - - /* estimate phases when doing ML experiments */ - if (c2->fmlfeat != NULL) - estimate_amplitudes(model, Sw, c2->W, 1); - else - estimate_amplitudes(model, Sw, c2->W, 0); - est_voicing_mbe(&c2->c2const, model, Sw, c2->W); -#ifdef DUMP - dump_model(model); -#endif -} - -/*---------------------------------------------------------------------------* \ - - FUNCTION....: ear_protection() - AUTHOR......: David Rowe - DATE CREATED: Nov 7 2012 - - Limits output level to protect ears when there are bit errors or the input - is overdriven. This doesn't correct or mask bit errors, just reduces the - worst of their damage. - -\*---------------------------------------------------------------------------*/ - -static void ear_protection(float in_out[], int n) { - float max_sample, over, gain; - int i; - - /* find maximum sample in frame */ - - max_sample = 0.0; - for (i = 0; i < n; i++) - if (in_out[i] > max_sample) max_sample = in_out[i]; - - /* determine how far above set point */ - - over = max_sample / 30000.0; - - /* If we are x dB over set point we reduce level by 2x dB, this - attenuates major excursions in amplitude (likely to be caused - by bit errors) more than smaller ones */ - - if (over > 1.0) { - gain = 1.0 / (over * over); - for (i = 0; i < n; i++) in_out[i] *= gain; - } -} - -void codec2_set_lpc_post_filter(struct CODEC2 *c2, int enable, int bass_boost, - float beta, float gamma) { - assert((beta >= 0.0) && (beta <= 1.0)); - assert((gamma >= 0.0) && (gamma <= 1.0)); - c2->lpc_pf = enable; - c2->bass_boost = bass_boost; - c2->beta = beta; - c2->gamma = gamma; -} - -/* - Allows optional stealing of one of the voicing bits for use as a - spare bit, only 1300 & 1400 & 1600 bit/s supported for now. - Experimental method of sending voice/data frames for FreeDV. -*/ - -int codec2_get_spare_bit_index(struct CODEC2 *c2) { - assert(c2 != NULL); - - switch (c2->mode) { - case CODEC2_MODE_1300: - return 2; // bit 2 (3th bit) is v2 (third voicing bit) - break; - case CODEC2_MODE_1400: - return 10; // bit 10 (11th bit) is v2 (third voicing bit) - break; - case CODEC2_MODE_1600: - return 15; // bit 15 (16th bit) is v2 (third voicing bit) - break; - } - - return -1; -} - -/* - Reconstructs the spare voicing bit. Note works on unpacked bits - for convenience. -*/ - -int codec2_rebuild_spare_bit(struct CODEC2 *c2, char unpacked_bits[]) { - int v1, v3; - - assert(c2 != NULL); - - v1 = unpacked_bits[1]; - - switch (c2->mode) { - case CODEC2_MODE_1300: - - v3 = unpacked_bits[1 + 1 + 1]; - - /* if either adjacent frame is voiced, make this one voiced */ - - unpacked_bits[2] = (v1 || v3); - - return 0; - - break; - - case CODEC2_MODE_1400: - - v3 = unpacked_bits[1 + 1 + 8 + 1]; - - /* if either adjacent frame is voiced, make this one voiced */ - - unpacked_bits[10] = (v1 || v3); - - return 0; - - break; - - case CODEC2_MODE_1600: - v3 = unpacked_bits[1 + 1 + 8 + 5 + 1]; - - /* if either adjacent frame is voiced, make this one voiced */ - - unpacked_bits[15] = (v1 || v3); - - return 0; - - break; - } - - return -1; -} - -void codec2_set_natural_or_gray(struct CODEC2 *c2, int gray) { - assert(c2 != NULL); - c2->gray = gray; -} - -void codec2_set_softdec(struct CODEC2 *c2, float *softdec) { - assert(c2 != NULL); - c2->softdec = softdec; -} - -void codec2_open_mlfeat(struct CODEC2 *codec2_state, char *feat_fn, - char *model_fn) { - if ((codec2_state->fmlfeat = fopen(feat_fn, "wb")) == NULL) { - fprintf(stderr, "error opening machine learning feature file: %s\n", - feat_fn); - exit(1); - } - if (model_fn) { - if ((codec2_state->fmlmodel = fopen(model_fn, "wb")) == NULL) { - fprintf(stderr, "error opening machine learning Codec 2 model file: %s\n", - feat_fn); - exit(1); - } - } -} - -#ifndef __EMBEDDED__ -void codec2_load_codebook(struct CODEC2 *codec2_state, int num, - char *filename) { - FILE *f; - - if ((f = fopen(filename, "rb")) == NULL) { - fprintf(stderr, "error opening codebook file: %s\n", filename); - exit(1); - } - // fprintf(stderr, "reading newamp1vq_cb[%d] k=%d m=%d\n", num, - // newamp1vq_cb[num].k, newamp1vq_cb[num].m); - float tmp[newamp1vq_cb[num].k * newamp1vq_cb[num].m]; - int nread = - fread(tmp, sizeof(float), newamp1vq_cb[num].k * newamp1vq_cb[num].m, f); - float *p = (float *)newamp1vq_cb[num].cb; - for (int i = 0; i < newamp1vq_cb[num].k * newamp1vq_cb[num].m; i++) - p[i] = tmp[i]; - // fprintf(stderr, "nread = %d %f %f\n", nread, newamp1vq_cb[num].cb[0], - // newamp1vq_cb[num].cb[1]); - assert(nread == newamp1vq_cb[num].k * newamp1vq_cb[num].m); - fclose(f); -} -#endif - -float codec2_get_var(struct CODEC2 *codec2_state) { - if (codec2_state->nse) - return codec2_state->se / codec2_state->nse; - else - return 0; -} - -float *codec2_enable_user_ratek(struct CODEC2 *codec2_state, int *K) { - codec2_state->user_rate_K_vec_no_mean_ = - (float *)malloc(sizeof(float) * NEWAMP1_K); - *K = NEWAMP1_K; - return codec2_state->user_rate_K_vec_no_mean_; -} - -void codec2_700c_post_filter(struct CODEC2 *codec2_state, bool en) { - codec2_state->post_filter_en = en; -} - -void codec2_700c_eq(struct CODEC2 *codec2_state, bool en) { - codec2_state->eq_en = en; - codec2_state->se = 0.0; - codec2_state->nse = 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2.h b/vendor/codec2_flutter_ios_only/src/codec2/src/codec2.h deleted file mode 100644 index 9f88264..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2.h +++ /dev/null @@ -1,120 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: codec2.h - AUTHOR......: David Rowe - DATE CREATED: 21 August 2010 - - Codec 2 fully quantised encoder and decoder functions. If you want use - Codec 2, these are the functions you need to call. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2010 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __CODEC2__ -#define __CODEC2__ -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define CODEC2_MODE_3200 0 -#define CODEC2_MODE_2400 1 -#define CODEC2_MODE_1600 2 -#define CODEC2_MODE_1400 3 -#define CODEC2_MODE_1300 4 -#define CODEC2_MODE_1200 5 -#define CODEC2_MODE_700C 8 - -#ifndef CODEC2_MODE_EN_DEFAULT -#define CODEC2_MODE_EN_DEFAULT 1 -#endif - -// by default we enable all modes -// disable during compile time with -DCODEC2_MODE_1600_EN=0 -// all but CODEC2 1600 are enabled then - -// or the other way round -// -DCODEC2_MODE_EN_DEFAULT=0 -DCODEC2_MODE_1600_EN=1 -// only CODEC2 Mode 1600 - -#if !defined(CODEC2_MODE_3200_EN) -#define CODEC2_MODE_3200_EN CODEC2_MODE_EN_DEFAULT -#endif -#if !defined(CODEC2_MODE_2400_EN) -#define CODEC2_MODE_2400_EN CODEC2_MODE_EN_DEFAULT -#endif -#if !defined(CODEC2_MODE_1600_EN) -#define CODEC2_MODE_1600_EN CODEC2_MODE_EN_DEFAULT -#endif -#if !defined(CODEC2_MODE_1400_EN) -#define CODEC2_MODE_1400_EN CODEC2_MODE_EN_DEFAULT -#endif -#if !defined(CODEC2_MODE_1300_EN) -#define CODEC2_MODE_1300_EN CODEC2_MODE_EN_DEFAULT -#endif -#if !defined(CODEC2_MODE_1200_EN) -#define CODEC2_MODE_1200_EN CODEC2_MODE_EN_DEFAULT -#endif -#if !defined(CODEC2_MODE_700C_EN) -#define CODEC2_MODE_700C_EN CODEC2_MODE_EN_DEFAULT -#endif - -#define CODEC2_MODE_ACTIVE(mode_name, var) \ - ((mode_name##_EN) == 0 ? 0 : (var) == mode_name) - -struct CODEC2; - -struct CODEC2 *codec2_create(int mode); -void codec2_destroy(struct CODEC2 *codec2_state); -void codec2_encode(struct CODEC2 *codec2_state, unsigned char bytes[], - short speech_in[]); -void codec2_decode(struct CODEC2 *codec2_state, short speech_out[], - const unsigned char bytes[]); -void codec2_decode_ber(struct CODEC2 *codec2_state, short speech_out[], - const unsigned char *bytes, float ber_est); -int codec2_samples_per_frame(struct CODEC2 *codec2_state); -int codec2_bits_per_frame(struct CODEC2 *codec2_state); -int codec2_bytes_per_frame(struct CODEC2 *codec2_state); - -void codec2_set_lpc_post_filter(struct CODEC2 *codec2_state, int enable, - int bass_boost, float beta, float gamma); -int codec2_get_spare_bit_index(struct CODEC2 *codec2_state); -int codec2_rebuild_spare_bit(struct CODEC2 *codec2_state, char unpacked_bits[]); -void codec2_set_natural_or_gray(struct CODEC2 *codec2_state, int gray); -void codec2_set_softdec(struct CODEC2 *c2, float *softdec); -float codec2_get_energy(struct CODEC2 *codec2_state, const unsigned char *bits); - -// support for ML and VQ experiments -void codec2_open_mlfeat(struct CODEC2 *codec2_state, char *feat_filename, - char *model_filename); -void codec2_load_codebook(struct CODEC2 *codec2_state, int num, char *filename); -float codec2_get_var(struct CODEC2 *codec2_state); -float *codec2_enable_user_ratek(struct CODEC2 *codec2_state, int *K); - -// 700C post filter and equaliser -void codec2_700c_post_filter(struct CODEC2 *codec2_state, bool en); -void codec2_700c_eq(struct CODEC2 *codec2_state, bool en); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_cohpsk.h b/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_cohpsk.h deleted file mode 100644 index bad530c..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_cohpsk.h +++ /dev/null @@ -1,73 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: codec2_cohpsk.h - AUTHOR......: David Rowe - DATE CREATED: March 2015 - - Functions that implement a coherent PSK FDM modem. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2015 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __CODEC2_COHPSK__ -#define __CODEC2_COHPSK__ - -#define COHPSK_BITS_PER_FRAME 56 -#define COHPSK_NC 7 /* number of carriers */ -#define COHPSK_NOM_SAMPLES_PER_FRAME 600 -#define COHPSK_MAX_SAMPLES_PER_FRAME 625 -#define COHPSK_RS 75 /* symbol rate of each carrier */ -#define COHPSK_FS \ - 7500 /* note this is a weird value to get an integer \ - oversampling rate */ -#define COHPSK_CLIP 6.5 /* hard clipping for Nc*Nc=14 to reduce PAPR */ -#define COHPSK_SCALE 975 /* suggested scaling for 16 bit shorts */ - -#include "comp.h" -#include "modem_stats.h" - -struct COHPSK; - -extern const int test_bits_coh[]; - -struct COHPSK *cohpsk_create(void); -void cohpsk_destroy(struct COHPSK *coh); -void cohpsk_mod(struct COHPSK *cohpsk, COMP tx_fdm[], int tx_bits[], int nbits); -void cohpsk_clip(COMP tx_fdm[], float clip_thresh, int n); -void cohpsk_demod(struct COHPSK *cohpsk, float rx_bits[], int *sync, - COMP rx_fdm[], int *nin_frame); -void cohpsk_get_demod_stats(struct COHPSK *cohpsk, struct MODEM_STATS *stats); -void cohpsk_set_verbose(struct COHPSK *coh, int verbose); -void cohpsk_get_test_bits(struct COHPSK *coh, int rx_bits[]); -void cohpsk_put_test_bits(struct COHPSK *coh, int *state, short error_pattern[], - int *bit_errors, char rx_bits[], int channel); -int cohpsk_error_pattern_size(void); -void cohpsk_set_frame(struct COHPSK *coh, int frame); -void fdmdv_freq_shift_coh(COMP rx_fdm_fcorr[], COMP rx_fdm[], float foff, - float Fs, COMP *foff_phase_rect, int nin); - -void cohpsk_set_freq_est_mode(struct COHPSK *coh, int used_simple_mode); - -/* used for accessing upper and lower bits before diversity combination */ - -float *cohpsk_get_rx_bits_lower(struct COHPSK *coh); -float *cohpsk_get_rx_bits_upper(struct COHPSK *coh); -void cohpsk_set_carrier_ampl(struct COHPSK *coh, int c, float ampl); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fdmdv.h b/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fdmdv.h deleted file mode 100644 index 79e699d..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fdmdv.h +++ /dev/null @@ -1,138 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: codec2_fdmdv.h - AUTHOR......: David Rowe - DATE CREATED: April 14 2012 - - A 1400 bit/s (nominal) Frequency Division Multiplexed Digital Voice - (FDMDV) modem. Used for digital audio over HF SSB. See - README_fdmdv.txt for more information, and fdmdv_mod.c and - fdmdv_demod.c for example usage. - - The name codec2_fdmdv.h is used to make it unique when "make - installed". - - References: - - [1] http://n1su.com/fdmdv/FDMDV_Docs_Rel_1_4b.pdf - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2012 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __FDMDV__ -#define __FDMDV__ - -#include "comp.h" -#include "modem_stats.h" - -#ifdef __cplusplus -extern "C" { -#endif - -/* set up the calling convention for DLL function import/export for - WIN32 cross compiling */ - -#ifdef __CODEC2_WIN32__ -#ifdef __CODEC2_BUILDING_DLL__ -#define CODEC2_WIN32SUPPORT __declspec(dllexport) __stdcall -#else -#define CODEC2_WIN32SUPPORT __declspec(dllimport) __stdcall -#endif -#else -#define CODEC2_WIN32SUPPORT -#endif - -#define FDMDV_NC \ - 14 /* default number of data carriers */ -#define FDMDV_NC_MAX \ - 20 /* maximum number of data carriers */ -#define FDMDV_BITS_PER_FRAME \ - 28 /* 20ms frames, for nominal 1400 bit/s */ -#define FDMDV_NOM_SAMPLES_PER_FRAME \ - 160 /* modulator output samples/frame and nominal demod samples/frame */ - /* at 8000 Hz sample rate */ -#define FDMDV_MAX_SAMPLES_PER_FRAME \ - 200 /* max demod samples/frame, use this to allocate storage */ -#define FDMDV_SCALE \ - 825 /* suggested scaling for 16 bit shorts */ -#define FDMDV_FCENTRE \ - 1500 /* Centre frequency, Nc/2 carriers below this, Nc/2 carriers above (Hz) \ - */ - -/* 8 to 18 kHz sample rate conversion */ - -#define FDMDV_OS 2 /* oversampling rate */ -#define FDMDV_OS_TAPS_16K 48 /* number of OS filter taps at 16kHz */ -#define FDMDV_OS_TAPS_8K \ - (FDMDV_OS_TAPS_16K / FDMDV_OS) /* number of OS filter taps at 8kHz */ - -/* 8 to 48 kHz sample rate conversion */ - -#define FDMDV_OS_48 6 /* oversampling rate */ -#define FDMDV_OS_TAPS_48K 48 /* number of OS filter taps at 48kHz */ -#define FDMDV_OS_TAPS_48_8K \ - (FDMDV_OS_TAPS_48K / FDMDV_OS_48) /* number of OS filter taps at 8kHz */ - -/* FDMDV states and stats structures */ - -struct FDMDV; - -struct FDMDV *fdmdv_create(int Nc); -void fdmdv_destroy(struct FDMDV *fdmdv_state); -void fdmdv_use_old_qpsk_mapping(struct FDMDV *fdmdv_state); -int fdmdv_bits_per_frame(struct FDMDV *fdmdv_state); -float fdmdv_get_fsep(struct FDMDV *fdmdv_state); -void fdmdv_set_fsep(struct FDMDV *fdmdv_state, float fsep); - -void fdmdv_mod(struct FDMDV *fdmdv_state, COMP tx_fdm[], int tx_bits[], - int *sync_bit); -void fdmdv_demod(struct FDMDV *fdmdv_state, int rx_bits[], - int *reliable_sync_bit, COMP rx_fdm[], int *nin); - -void fdmdv_get_test_bits(struct FDMDV *fdmdv_state, int tx_bits[]); -int fdmdv_error_pattern_size(struct FDMDV *fdmdv_state); -void fdmdv_put_test_bits(struct FDMDV *f, int *sync, short error_pattern[], - int *bit_errors, int *ntest_bits, int rx_bits[]); - -void fdmdv_get_demod_stats(struct FDMDV *fdmdv_state, - struct MODEM_STATS *stats); - -void fdmdv_8_to_16(float out16k[], float in8k[], int n); -void fdmdv_8_to_16_short(short out16k[], short in8k[], int n); -void fdmdv_16_to_8(float out8k[], float in16k[], int n); -void fdmdv_16_to_8_short(short out8k[], short in16k[], int n); -void fdmdv_8_to_48(float out48k[], float in8k[], int n); -void fdmdv_48_to_8(float out8k[], float in48k[], int n); -void fdmdv_8_to_48_short(short out48k[], short in8k[], int n); -void fdmdv_48_to_8_short(short out8k[], short in48k[], int n); - -void fdmdv_freq_shift(COMP rx_fdm_fcorr[], COMP rx_fdm[], float foff, - COMP *foff_phase_rect, int nin); - -/* debug/development function(s) */ - -void fdmdv_dump_osc_mags(struct FDMDV *f); -void fdmdv_simulate_channel(float *sig_pwr_av, COMP samples[], int nin, - float target_snr); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fft.c b/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fft.c deleted file mode 100644 index 7a75062..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fft.c +++ /dev/null @@ -1,150 +0,0 @@ -/* - * codec2_fft.c - * - * Created on: 24.09.2016 - * Author: danilo - */ - -#include "codec2_fft.h" - -#include "debug_alloc.h" - -#ifdef USE_KISS_FFT -#include "_kiss_fft_guts.h" - -#else -#if 0 -// caching constants in RAM did not seem to have an effect on performance -// TODO: Decide what to with this code -#define FFT_INIT_CACHE_SIZE 4 -const arm_cfft_instance_f32* fft_init_cache[FFT_INIT_CACHE_SIZE]; - -static const arm_cfft_instance_f32* arm_fft_instance2ram(const arm_cfft_instance_f32* in) -{ - - arm_cfft_instance_f32* out = malloc(sizeof(arm_cfft_instance_f32)); - - if (out) { - memcpy(out,in,sizeof(arm_cfft_instance_f32)); - out->pBitRevTable = malloc(out->bitRevLength * sizeof(uint16_t)); - out->pTwiddle = malloc(out->fftLen * sizeof(float32_t)); - memcpy((void*)out->pBitRevTable,in->pBitRevTable,out->bitRevLength * sizeof(uint16_t)); - memcpy((void*)out->pTwiddle,in->pTwiddle,out->fftLen * sizeof(float32_t)); - } - return out; -} - - -static const arm_cfft_instance_f32* arm_fft_cache_get(const arm_cfft_instance_f32* romfft) -{ - const arm_cfft_instance_f32* retval = NULL; - static int used = 0; - for (int i = 0; fft_init_cache[i] != NULL && i < used; i++) - { - if (romfft->fftLen == fft_init_cache[i]->fftLen) - { - retval = fft_init_cache[i]; - break; - } - } - if (retval == NULL && used < FFT_INIT_CACHE_SIZE) - { - retval = arm_fft_instance2ram(romfft); - fft_init_cache[used++] = retval; - } - if (retval == NULL) - { - retval = romfft; - } - return retval; -} -#endif -#endif - -void codec2_fft_free(codec2_fft_cfg cfg) { -#ifdef USE_KISS_FFT - KISS_FFT_FREE(cfg); -#else - FREE(cfg); -#endif -} - -codec2_fft_cfg codec2_fft_alloc(int nfft, int inverse_fft, void* mem, - size_t* lenmem) { - codec2_fft_cfg retval; -#ifdef USE_KISS_FFT - retval = kiss_fft_alloc(nfft, inverse_fft, mem, lenmem); -#else - retval = MALLOC(sizeof(codec2_fft_struct)); - retval->inverse = inverse_fft; - switch (nfft) { - case 128: - retval->instance = &arm_cfft_sR_f32_len128; - break; - case 256: - retval->instance = &arm_cfft_sR_f32_len256; - break; - case 512: - retval->instance = &arm_cfft_sR_f32_len512; - break; - // case 1024: - // retval->instance = &arm_cfft_sR_f32_len1024; - // break; - default: - abort(); - } - // retval->instance = arm_fft_cache_get(retval->instance); -#endif - return retval; -} - -codec2_fftr_cfg codec2_fftr_alloc(int nfft, int inverse_fft, void* mem, - size_t* lenmem) { - codec2_fftr_cfg retval; -#ifdef USE_KISS_FFT - retval = kiss_fftr_alloc(nfft, inverse_fft, mem, lenmem); -#else - retval = MALLOC(sizeof(codec2_fftr_struct)); - retval->inverse = inverse_fft; - retval->instance = MALLOC(sizeof(arm_rfft_fast_instance_f32)); - arm_rfft_fast_init_f32(retval->instance, nfft); - // memcpy(&retval->instance->Sint,arm_fft_cache_get(&retval->instance->Sint),sizeof(arm_cfft_instance_f32)); -#endif - return retval; -} -void codec2_fftr_free(codec2_fftr_cfg cfg) { -#ifdef USE_KISS_FFT - KISS_FFT_FREE(cfg); -#else - FREE(cfg->instance); - FREE(cfg); -#endif -} - -// there is a little overhead for inplace kiss_fft but this is -// on the powerful platforms like the Raspberry or even x86 PC based ones -// not noticeable -// the reduced usage of RAM and increased performance on STM32 platforms -// should be worth it. -void codec2_fft_inplace(codec2_fft_cfg cfg, codec2_fft_cpx* inout) { -#ifdef USE_KISS_FFT - // decide whether to use the local stack based buffer for in - // or to allow kiss_fft to allocate RAM - // second part is just to play safe since first method - // is much faster and uses less RAM - if (cfg->nfft <= 512) { - kiss_fft_cpx in[512]; - memcpy(in, inout, cfg->nfft * sizeof(kiss_fft_cpx)); - kiss_fft(cfg, in, (kiss_fft_cpx*)inout); - } else { - kiss_fft(cfg, (kiss_fft_cpx*)inout, (kiss_fft_cpx*)inout); - } -#else - arm_cfft_f32(cfg->instance, (float*)inout, cfg->inverse, 1); - if (cfg->inverse) { - arm_scale_f32((float*)inout, cfg->instance->fftLen, (float*)inout, - cfg->instance->fftLen * 2); - } - -#endif -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fft.h b/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fft.h deleted file mode 100644 index 1952864..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fft.h +++ /dev/null @@ -1,99 +0,0 @@ -/* - * codec2_fft.h - * - * Created on: 17.09.2016 - * Author: danilo - */ - -#ifndef DRIVERS_FREEDV_CODEC2_FFT_H_ -#define DRIVERS_FREEDV_CODEC2_FFT_H_ - -#include -#include -#include -#include -#include - -#ifndef FDV_ARM_MATH -#define USE_KISS_FFT -#else -#include "arm_const_structs.h" -#include "arm_math.h" -#endif - -#include "comp.h" -#include "defines.h" - -typedef COMP codec2_fft_cpx; -#include "kiss_fftr.h" - -#ifdef USE_KISS_FFT -#include "kiss_fft.h" -typedef kiss_fftr_cfg codec2_fftr_cfg; -typedef kiss_fft_cfg codec2_fft_cfg; -typedef kiss_fft_scalar codec2_fft_scalar; -#else -typedef float32_t codec2_fft_scalar; -typedef struct { - arm_rfft_fast_instance_f32* instance; - int inverse; -} codec2_fftr_struct; - -typedef codec2_fftr_struct* codec2_fftr_cfg; - -typedef struct { - const arm_cfft_instance_f32* instance; - int inverse; -} codec2_fft_struct; -typedef codec2_fft_struct* codec2_fft_cfg; -#endif - -static inline void codec2_fftr(codec2_fftr_cfg cfg, codec2_fft_scalar* in, - codec2_fft_cpx* out) { -#ifdef USE_KISS_FFT - kiss_fftr(cfg, in, (kiss_fft_cpx*)out); -#else - arm_rfft_fast_f32(cfg->instance, in, (float*)out, cfg->inverse); - out->imag = 0; // remove out[FFT_ENC/2]->real stored in out[0].imag -#endif -} - -static inline void codec2_fftri(codec2_fftr_cfg cfg, codec2_fft_cpx* in, - codec2_fft_scalar* out) { -#ifdef USE_KISS_FFT - kiss_fftri(cfg, (kiss_fft_cpx*)in, out); -#else - arm_rfft_fast_f32(cfg->instance, (float*)in, out, cfg->inverse); - // arm_scale_f32(out,cfg->instance->fftLenRFFT,out,cfg->instance->fftLenRFFT); -#endif -} - -codec2_fft_cfg codec2_fft_alloc(int nfft, int inverse_fft, void* mem, - size_t* lenmem); -codec2_fftr_cfg codec2_fftr_alloc(int nfft, int inverse_fft, void* mem, - size_t* lenmem); -void codec2_fft_free(codec2_fft_cfg cfg); -void codec2_fftr_free(codec2_fftr_cfg cfg); - -static inline void codec2_fft(codec2_fft_cfg cfg, codec2_fft_cpx* in, - codec2_fft_cpx* out) { -#ifdef USE_KISS_FFT - kiss_fft(cfg, (kiss_fft_cpx*)in, (kiss_fft_cpx*)out); -#else - memcpy(out, in, cfg->instance->fftLen * 2 * sizeof(float)); - arm_cfft_f32(cfg->instance, (float*)out, cfg->inverse, 1); - // TODO: this is not nice, but for now required to keep changes minimal - // however, since main goal is to reduce the memory usage - // we should convert to an in place interface - // on PC like platforms the overhead of using the "inplace" kiss_fft calls - // is neglectable compared to the gain in memory usage on STM32 platforms - if (cfg->inverse) { - arm_scale_f32((float*)out, cfg->instance->fftLen, (float*)out, - cfg->instance->fftLen * 2); - } -#endif -} - -void codec2_fft_inplace(codec2_fft_cfg cfg, codec2_fft_cpx* inout); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fifo.c b/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fifo.c deleted file mode 100644 index 55d8b26..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fifo.c +++ /dev/null @@ -1,142 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: codec2_fifo.c - AUTHOR......: David Rowe - DATE CREATED: Oct 15 2012 - - A FIFO design useful in gluing the FDMDV modem and codec together in - integrated applications. The unittest/tfifo indicates these - routines are thread safe without the need for synchronisation - object, e.g. a different thread can read and write to a fifo at the - same time. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2012 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "codec2_fifo.h" - -#include -#include -#include - -struct FIFO { - short *buf; - short *pin; - short *pout; - int nshort; -}; - -// standard create function -struct FIFO *codec2_fifo_create(int nshort) { - short *buf = (short *)malloc(sizeof(short) * nshort); - assert(buf != NULL); - return codec2_fifo_create_buf(nshort, buf); -} - -// alternate create function where buffer is externally supplied -struct FIFO *codec2_fifo_create_buf(int nshort, short *buf) { - struct FIFO *fifo; - assert(buf != NULL); - fifo = (struct FIFO *)malloc(sizeof(struct FIFO)); - assert(fifo != NULL); - - fifo->buf = buf; - fifo->pin = fifo->buf; - fifo->pout = fifo->buf; - fifo->nshort = nshort; - - return fifo; -} - -void codec2_fifo_destroy(struct FIFO *fifo) { - assert(fifo != NULL); - free(fifo->buf); - free(fifo); -} - -int codec2_fifo_write(struct FIFO *fifo, short data[], int n) { - int i; - short *pdata; - short *pin = fifo->pin; - - assert(fifo != NULL); - assert(data != NULL); - - if (n > codec2_fifo_free(fifo)) { - return -1; - } else { - /* This could be made more efficient with block copies - using memcpy */ - - pdata = data; - for (i = 0; i < n; i++) { - *pin++ = *pdata++; - if (pin == (fifo->buf + fifo->nshort)) pin = fifo->buf; - } - fifo->pin = pin; - } - - return 0; -} - -int codec2_fifo_read(struct FIFO *fifo, short data[], int n) { - int i; - short *pdata; - short *pout = fifo->pout; - - assert(fifo != NULL); - assert(data != NULL); - - if (n > codec2_fifo_used(fifo)) { - return -1; - } else { - /* This could be made more efficient with block copies - using memcpy */ - - pdata = data; - for (i = 0; i < n; i++) { - *pdata++ = *pout++; - if (pout == (fifo->buf + fifo->nshort)) pout = fifo->buf; - } - fifo->pout = pout; - } - - return 0; -} - -int codec2_fifo_used(const struct FIFO *const fifo) { - short *pin = fifo->pin; - short *pout = fifo->pout; - unsigned int used; - - assert(fifo != NULL); - if (pin >= pout) - used = pin - pout; - else - used = fifo->nshort + (unsigned int)(pin - pout); - - return used; -} - -int codec2_fifo_free(const struct FIFO *const fifo) { - // available storage is one less than nshort as prd == pwr - // is reserved for empty rather than full - - return fifo->nshort - codec2_fifo_used(fifo) - 1; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fifo.h b/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fifo.h deleted file mode 100644 index c96f785..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fifo.h +++ /dev/null @@ -1,57 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: codec2_fifo.h - AUTHOR......: David Rowe - DATE CREATED: Oct 15 2012 - - A FIFO design useful in gluing the FDMDV modem and codec together in - integrated applications. - - The name codec2_fifo.h is used to make it unique when "make - installed". - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2012 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __FIFO__ -#define __FIFO__ - -#ifdef __cplusplus -extern "C" { -#endif - -struct FIFO; - -struct FIFO *codec2_fifo_create(int nshort); -struct FIFO *codec2_fifo_create_buf(int nshort, short *buf); -void codec2_fifo_destroy(struct FIFO *fifo); -int codec2_fifo_write(struct FIFO *fifo, short data[], int n); -int codec2_fifo_read(struct FIFO *fifo, short data[], int n); - -/* Return the number of bytes stored in the FIFO */ -int codec2_fifo_used(const struct FIFO *const fifo); - -/* Return the space available in the FIFO */ -int codec2_fifo_free(const struct FIFO *const fifo); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fm.h b/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fm.h deleted file mode 100644 index f61fc23..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_fm.h +++ /dev/null @@ -1,52 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: codec2_fm.h - AUTHOR......: David Rowe - DATE CREATED: February 2015 - - Functions that implement analog FM, see also octave/fm.m. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2015 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __CODEC2_FM__ -#define __CODEC2_FM__ - -#include "comp.h" - -struct FM { - float Fs; /* setme: sample rate */ - float fm_max; /* setme: maximum modulation frequency */ - float fd; /* setme: maximum deviation */ - float fc; /* setme: carrier frequency */ - COMP *rx_bb; - COMP rx_bb_filt_prev; - float *rx_dem_mem; - float tx_phase; - int nsam; - COMP lo_phase; -}; - -struct FM *fm_create(int nsam); -void fm_destroy(struct FM *fm_states); -void fm_demod(struct FM *fm, float rx_out[], float rx[]); -void fm_mod(struct FM *fm, float tx_in[], float tx_out[]); -void fm_mod_comp(struct FM *fm_states, float tx_in[], COMP tx_out[]); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_internal.h b/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_internal.h deleted file mode 100644 index 32cd7eb..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_internal.h +++ /dev/null @@ -1,103 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: codec2_internal.h - AUTHOR......: David Rowe - DATE CREATED: April 16 2012 - - Header file for Codec2 internal states, exposed via this header - file to assist in testing. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2012 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __CODEC2_INTERNAL__ -#define __CODEC2_INTERNAL__ -#include - -#include "codec2_fft.h" -#include "newamp1.h" - -struct CODEC2 { - int mode; - C2CONST c2const; - int Fs; - int n_samp; - int m_pitch; - codec2_fft_cfg fft_fwd_cfg; /* forward FFT config */ - codec2_fftr_cfg fftr_fwd_cfg; /* forward real FFT config */ - float *w; /* [m_pitch] time domain hamming window */ - float W[FFT_ENC]; /* DFT of w[] */ - float *Pn; /* [2*n_samp] trapezoidal synthesis window */ - float *bpf_buf; /* buffer for band pass filter */ - float *Sn; /* [m_pitch] input speech */ - float hpf_states[2]; /* high pass filter states */ - void *nlp; /* pitch predictor states */ - int gray; /* non-zero for gray encoding */ - - codec2_fftr_cfg fftr_inv_cfg; /* inverse FFT config */ - float *Sn_; /* [2*n_samp] synthesised output speech */ - float ex_phase; /* excitation model phase track */ - float bg_est; /* background noise estimate for post filter */ - float prev_f0_enc; /* previous frame's f0 estimate */ - MODEL prev_model_dec; /* previous frame's model parameters */ - float prev_lsps_dec[LPC_ORD]; /* previous frame's LSPs */ - float prev_e_dec; /* previous frame's LPC energy */ - - int lpc_pf; /* LPC post filter on */ - int bass_boost; /* LPC post filter bass boost */ - float beta; /* LPC post filter parameters */ - float gamma; - - float xq_enc[2]; /* joint pitch and energy VQ states */ - float xq_dec[2]; - - int smoothing; /* enable smoothing for channels with errors */ - float *softdec; /* optional soft decn bits from demod */ - - /* newamp1 states */ - - float rate_K_sample_freqs_kHz[NEWAMP1_K]; - float prev_rate_K_vec_[NEWAMP1_K]; - float Wo_left; - int voicing_left; - codec2_fft_cfg phase_fft_fwd_cfg; - codec2_fft_cfg phase_fft_inv_cfg; - float se; /* running sum of squared error */ - unsigned int nse; /* number of terms in sum */ - float *user_rate_K_vec_no_mean_; /* optional, user supplied vector for - quantisation experiments */ - bool post_filter_en; - float eq[NEWAMP1_K]; /* optional equaliser */ - bool eq_en; - - /* used to dump features for deep learning experiments */ - FILE *fmlfeat, *fmlmodel; - - /* encode/decode function pointers for the selected mode */ - void (*encode)(struct CODEC2 *c2, unsigned char *bits, short speech[]); - void (*decode)(struct CODEC2 *c2, short speech[], const unsigned char *bits); - void (*decode_ber)(struct CODEC2 *c2, short speech[], - const unsigned char *bits, float ber_est); -}; - -// test and debug -void analyse_one_frame(struct CODEC2 *c2, MODEL *model, short speech[]); -void synthesise_one_frame(struct CODEC2 *c2, short speech[], MODEL *model, - COMP Aw[], float gain); -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_math.h b/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_math.h deleted file mode 100644 index c7312f0..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_math.h +++ /dev/null @@ -1,83 +0,0 @@ -#ifndef CODEC2_MATH_H -#define CODEC2_MATH_H - -//========================================================================== -// Name: codec2_math.h -// -// Purpose: A wrapper around architecture specific math libraries -// used on embedded devices to improve Codec2 performance. -// Created: May 15, 2022 -// Authors: Mooneer Salem -// -// License: -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU Lesser General Public License version 2.1, -// as published by the Free Software Foundation. This program is -// distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this program; if not, see . -// -//========================================================================== - -#include - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -#include "comp.h" - -//========================================================================== -// Note: the functions in this file must be implemented in your code if you -// intend on using Codec2 in a non-ARM based embedded device. Otherwise, -// linker errors will occur. For ARM, a default implementation of these -// functions exists in codec2_math_arm.c. -//========================================================================== - -//========================================================================== -/// Calculates the dot product of two real-valued float vectors. -/// -/// @param leftHandSideRealVector A pointer to the first vector to use for the -/// dot product. -/// @param rightHandSideRealVector A pointer to the second vector to use for the -/// dot product. -/// @param vectorLength The length of the vector. Both vectors should be at -/// least this long. -/// @param resultReal A pointer to the variable in which to store the scalar -/// result. -/// -//========================================================================== -void codec2_dot_product_f32(float* leftHandSideRealVector, - float* rightHandSideRealVector, size_t vectorLength, - float* resultReal); - -//========================================================================== -/// Calculates the dot product of two complex-valued float vectors. -/// -/// @param leftHandSideComplexVector A pointer to the first vector to use for -/// the dot product. -/// @param rightHandSideComplexVector A pointer to the second vector to use for -/// the dot product. -/// @param vectorLength The length of the vector. Both vectors should be at -/// least this long. -/// @param resultReal A pointer to the variable in which to store the real -/// component of the result. -/// @param resultImag A pointer to the variable in which to store the imaginary -/// component of the result. -/// -//========================================================================== -void codec2_complex_dot_product_f32(COMP* leftHandSideComplexVector, - COMP* rightHandSideComplexVector, - size_t vectorLength, float* resultReal, - float* resultImag); - -#ifdef __cplusplus -} -#endif // __cplusplus - -#endif // CODEC2_MATH_H diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_math_arm.c b/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_math_arm.c deleted file mode 100644 index b8af967..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_math_arm.c +++ /dev/null @@ -1,73 +0,0 @@ -//========================================================================== -// Name: codec2_math_arm.c -// -// Purpose: A wrapper around architecture specific math libraries -// used on ARM embedded devices to improve Codec2 performance. -// Created: May 15, 2022 -// Authors: Mooneer Salem -// -// License: -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU Lesser General Public License version 2.1, -// as published by the Free Software Foundation. This program is -// distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this program; if not, see . -// -//========================================================================== - -#if defined(__EMBEDDED__) && defined(__ARM_ARCH) -#include "arm_math.h" -#include "codec2_math.h" - -//========================================================================== -/// Calculates the dot product of two real-valued float vectors. -/// -/// @param leftHandSideRealVector A pointer to the first vector to use for the -/// dot product. -/// @param rightHandSideRealVector A pointer to the second vector to use for the -/// dot product. -/// @param vectorLength The length of the vector. Both vectors should be at -/// least this long. -/// @param resultReal A pointer to the variable in which to store the scalar -/// result. -//========================================================================== -void codec2_dot_product_f32(float* leftHandSideRealVector, - float* rightHandSideRealVector, size_t vectorLength, - float* resultReal) { - arm_dot_prod_f32(leftHandSideRealVector, rightHandSideRealVector, - vectorLength, resultReal); -} - -//========================================================================== -/// Calculates the dot product of two complex-valued float vectors. -/// -/// @param leftHandSideComplexVector A pointer to the first vector to use for -/// the dot product. -/// @param rightHandSideComplexVector A pointer to the second vector to use for -/// the dot product. -/// @param vectorLength The length of the vector. Both vectors should be at -/// least this long. -/// @param resultReal A pointer to the variable in which to store the real -/// component of the result. -/// @param resultImag A pointer to the variable in which to store the imaginary -/// component of the result. -/// -/// @note Each array of floats is organized with even elements being real and -/// odd elements imaginary. -//========================================================================== -void codec2_complex_dot_product_f32(COMP* leftHandSideComplexVector, - COMP* rightHandSideComplexVector, - size_t vectorLength, float* resultReal, - float* resultImag) { - arm_cmplx_dot_prod_f32((float*)leftHandSideComplexVector, - (float*)rightHandSideComplexVector, vectorLength, - resultReal, resultImag); -} - -#endif // defined(__EMBEDDED__) && defined(__ARM_ARCH) diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_ofdm.h b/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_ofdm.h deleted file mode 100644 index a56c740..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/codec2_ofdm.h +++ /dev/null @@ -1,109 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: codec2_ofdm.h - AUTHORS.....: David Rowe & Steve Sampson - DATE CREATED: June 2017 - - External user references to the modem library. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2017 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef CODEC2_OFDM_H -#define CODEC2_OFDM_H - -/* Includes */ - -#include -#include - -#include "comp.h" -#include "modem_stats.h" - -/* Defines */ - -#ifdef __cplusplus -extern "C" { -#endif - -#define OFDM_PEAK 16384 /* peak level of OFDM TX signal */ -#define OFDM_CLIP \ - (32767 * \ - 0.35) /* experimentally derived constant to reduce PAPR to about 8dB */ - -#define UN_SYNC 0 /* Used with the ofdm_set_sync() */ -#define AUTO_SYNC 1 -#define MANUAL_SYNC 2 - -#define AUTO_PHASE_EST 0 -#define LOCKED_PHASE_EST 1 - -#define LOW_BW 0 -#define HIGH_BW 1 - -struct OFDM_CONFIG; -struct OFDM; - -/* create and destroy modem states */ - -struct OFDM *ofdm_create(const struct OFDM_CONFIG *config); -void ofdm_destroy(struct OFDM *); -void ofdm_init_mode(char mode[], struct OFDM_CONFIG *config); - -/* signal processing */ - -void ofdm_mod(struct OFDM *, COMP *, const int *); -void ofdm_demod(struct OFDM *, int *, COMP *); -void ofdm_demod_shorts(struct OFDM *, int *, short *, float); -int ofdm_sync_search(struct OFDM *, COMP *); -int ofdm_sync_search_shorts(struct OFDM *, short *, float); -void ofdm_sync_state_machine(struct OFDM *, uint8_t *); -void ofdm_sync_state_machine2(struct OFDM *, uint8_t *); - -/* getters */ - -struct OFDM_CONFIG *ofdm_get_config_param(struct OFDM *ofdm); -int ofdm_get_nin(struct OFDM *); -int ofdm_get_samples_per_frame(struct OFDM *ofdm); -int ofdm_get_samples_per_packet(struct OFDM *ofdm); -int ofdm_get_max_samples_per_frame(struct OFDM *ofdm); -int ofdm_get_bits_per_frame(struct OFDM *ofdm); -int ofdm_get_bits_per_packet(struct OFDM *ofdm); -int ofdm_get_phase_est_bandwidth_mode(struct OFDM *ofdm); - -/* option setters */ - -void ofdm_set_verbose(struct OFDM *, int); -void ofdm_set_timing_enable(struct OFDM *, bool); -void ofdm_set_foff_est_enable(struct OFDM *, bool); -void ofdm_set_phase_est_enable(struct OFDM *, bool); -void ofdm_set_phase_est_bandwidth_mode(struct OFDM *ofdm, int val); -void ofdm_set_off_est_hz(struct OFDM *, float); -void ofdm_set_sync(struct OFDM *, int); -void ofdm_set_tx_bpf(struct OFDM *, bool); -void ofdm_set_dpsk(struct OFDM *ofdm, bool val); -void ofdm_set_packets_per_burst(struct OFDM *ofdm, int packetsperburst); - -void ofdm_print_info(struct OFDM *); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk.c b/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk.c deleted file mode 100644 index d5f7359..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk.c +++ /dev/null @@ -1,1438 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: cohpsk.c - AUTHOR......: David Rowe - DATE CREATED: March 2015 - - Functions that implement a coherent PSK FDM modem. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2015 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -/*---------------------------------------------------------------------------*\ - - INCLUDES - -\*---------------------------------------------------------------------------*/ - -#include -#include -#include -#include -#include - -#include "codec2_cohpsk.h" -#include "cohpsk_defs.h" -#include "cohpsk_internal.h" -#include "comp_prim.h" -#include "debug_alloc.h" -#include "fdmdv_internal.h" -#include "kiss_fft.h" -#include "linreg.h" -#include "pilots_coh.h" -#include "rn_coh.h" -#include "test_bits_coh.h" - -static COMP qpsk_mod[] = {{1.0, 0.0}, {0.0, 1.0}, {0.0, -1.0}, {-1.0, 0.0}}; - -static int sampling_points[] = {0, 1, 6, 7}; - -void corr_with_pilots(float *corr_out, float *mag_out, struct COHPSK *coh, - int t, float f_fine); -void update_ct_symb_buf(COMP ct_symb_buf[][COHPSK_NC * COHPSK_ND], - COMP ch_symb[][COHPSK_NC * COHPSK_ND]); - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS - -\*---------------------------------------------------------------------------*/ - -/*--------------------------------------------------------------------------* \ - - FUNCTION....: cohpsk_create - AUTHOR......: David Rowe - DATE CREATED: Marcg 2015 - - Create and initialise an instance of the modem. Returns a pointer - to the modem states or NULL on failure. One set of states is - sufficient for a full duplex modem. - -\*---------------------------------------------------------------------------*/ - -struct COHPSK *cohpsk_create(void) { - struct COHPSK *coh; - struct FDMDV *fdmdv; - int r, c, p, i; - float freq_hz, result; - float tau = 2.0f * M_PI; - - assert(COHPSK_NC == PILOTS_NC); - assert(COHPSK_NOM_SAMPLES_PER_FRAME == (COHPSK_M * NSYMROWPILOT)); - assert(COHPSK_MAX_SAMPLES_PER_FRAME == - (COHPSK_M * NSYMROWPILOT + COHPSK_M / P)); - assert(COHPSK_NSYM == NSYM); /* as we want to use the tx sym mem on fdmdv */ - assert(COHPSK_NT == NT); - - coh = (struct COHPSK *)MALLOC(sizeof(struct COHPSK)); - if (coh == NULL) return NULL; - - /* set up buffer of tx pilot symbols for coh demod on rx */ - - for (r = 0; r < 2 * NPILOTSFRAME;) { - for (p = 0; p < NPILOTSFRAME; r++, p++) { - for (c = 0; c < COHPSK_NC; c++) { - coh->pilot2[r][c] = pilots_coh[p][c]; - } - } - } - - /* Clear symbol buffer memory */ - - for (r = 0; r < NCT_SYMB_BUF; r++) { - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) { - coh->ct_symb_buf[r][c].real = 0.0; - coh->ct_symb_buf[r][c].imag = 0.0; - } - } - - coh->ff_phase.real = 1.0; - coh->ff_phase.imag = 0.0; - coh->sync = 0; - coh->frame = 0; - coh->ratio = 0.0; - coh->nin = COHPSK_M; - - /* clear sync window buffer */ - - for (i = 0; i < NSW * NSYMROWPILOT * COHPSK_M; i++) { - coh->ch_fdm_frame_buf[i].real = 0.0; - coh->ch_fdm_frame_buf[i].imag = 0.0; - } - - /* set up fdmdv states so we can use those modem functions */ - - /* - * NC*ND -1 Realize that the function creates a sync carrier (+1), - * or one more carrier than asked for. We ignore any initialization - * inside of fdmdv and take care of that here, using the whole - * NC*ND number of carriers to be used in cohpsk. - */ - fdmdv = fdmdv_create((COHPSK_NC * COHPSK_ND) - 1); - - fdmdv->fsep = COHPSK_RS * (1.0 + COHPSK_EXCESS_BW); - - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) { - fdmdv->phase_tx[c].real = 1.0; - fdmdv->phase_tx[c].imag = 0.0; - - /* note non-linear carrier spacing to help PAPR, works v well in conjunction - * with CLIP */ - - freq_hz = fdmdv->fsep * - (-(COHPSK_NC * COHPSK_ND) / 2 - 0.5f + powf(c + 1.0f, 0.98f)); - result = tau * freq_hz / COHPSK_FS; - - fdmdv->freq[c].real = cosf(result); - fdmdv->freq[c].imag = sinf(result); - fdmdv->freq_pol[c] = result; - - // printf("c: %d %f %f\n",c,freq_hz,fdmdv->freq_pol[c]); - for (i = 0; i < COHPSK_NFILTER; i++) { - coh->rx_filter_memory[c][i].real = 0.0; - coh->rx_filter_memory[c][i].imag = 0.0; - } - - /* optional per-carrier amplitude weighting for testing */ - - coh->carrier_ampl[c] = 1.0; - } - - result = tau * FDMDV_FCENTRE / COHPSK_FS; - fdmdv->fbb_rect.real = cosf(result); - fdmdv->fbb_rect.imag = sinf(result); - fdmdv->fbb_pol = result; - - coh->fdmdv = fdmdv; - - coh->sig_rms = coh->noise_rms = 0.0; - - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) { - for (r = 0; r < NSYMROW; r++) { - coh->rx_symb[r][c].real = 0.0; - coh->rx_symb[r][c].imag = 0.0; - } - } - - coh->verbose = 0; - - /* disable optional logging by default */ - - coh->rx_baseband_log = NULL; - coh->rx_baseband_log_col_index = 0; - coh->rx_filt_log = NULL; - coh->rx_filt_log_col_index = 0; - coh->ch_symb_log = NULL; - coh->ch_symb_log_r = 0; - coh->rx_timing_log = NULL; - coh->rx_timing_log_index = 0; - - /* test frames */ - - coh->ptest_bits_coh_tx = coh->ptest_bits_coh_rx[0] = - coh->ptest_bits_coh_rx[1] = (int *)test_bits_coh; - coh->ptest_bits_coh_end = - (int *)test_bits_coh + sizeof(test_bits_coh) / sizeof(int); - - return coh; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: cohpsk_destroy - AUTHOR......: David Rowe - DATE CREATED: March 2015 - - Destroy an instance of the modem. - -\*---------------------------------------------------------------------------*/ - -void cohpsk_destroy(struct COHPSK *coh) { - fdmdv_destroy(coh->fdmdv); - assert(coh != NULL); - FREE(coh); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: bits_to_qpsk_symbols() - AUTHOR......: David Rowe - DATE CREATED: March 2015 - - Rate Rs modulator. Maps bits to parallel DQPSK symbols and inserts pilot -symbols. - -\*---------------------------------------------------------------------------*/ - -void bits_to_qpsk_symbols(COMP tx_symb[][COHPSK_NC * COHPSK_ND], int tx_bits[], - int nbits) { - int i, r, c, p_r, data_r, d, diversity; - short bits; - - /* check allowed number of bits supplied matches number of QPSK - symbols in the frame */ - - assert((NSYMROW * COHPSK_NC * 2 == nbits) || - (NSYMROW * COHPSK_NC * 2 * COHPSK_ND == nbits)); - - /* if we input twice as many bits we don't do diversity */ - - if (NSYMROW * COHPSK_NC * 2 == nbits) { - diversity = 1; /* diversity mode */ - } else { - diversity = 2; /* twice as many bits, non diversity mode */ - } - - /* - Insert two rows of Nc pilots at beginning of data frame. - - Organise QPSK symbols into a NSYMBROWS rows by PILOTS_NC*ND cols matrix, - each column is a carrier, time flows down the cols...... - - Note: the "& 0x1" prevents and non binary tx_bits[] screwing up - our lives. Call me defensive. - - sqrtf(ND) term ensures the same energy/symbol for different - diversity factors. - */ - - r = 0; - for (p_r = 0; p_r < 2; p_r++) { - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) { - tx_symb[r][c].real = pilots_coh[p_r][c % COHPSK_NC] / sqrtf(COHPSK_ND); - tx_symb[r][c].imag = 0.0; - } - r++; - } - for (data_r = 0; data_r < NSYMROW; data_r++, r++) { - for (c = 0; c < COHPSK_NC * diversity; c++) { - i = c * NSYMROW + data_r; - bits = (tx_bits[2 * i] & 0x1) << 1 | (tx_bits[2 * i + 1] & 0x1); - tx_symb[r][c] = fcmult(1.0 / sqrtf(COHPSK_ND), qpsk_mod[bits]); - } - } - - assert(p_r == NPILOTSFRAME); - assert(r == NSYMROWPILOT); - - /* if in diversity mode, copy symbols to upper carriers */ - - for (d = 1; d < 1 + COHPSK_ND - diversity; d++) { - for (r = 0; r < NSYMROWPILOT; r++) { - for (c = 0; c < COHPSK_NC; c++) { - tx_symb[r][c + COHPSK_NC * d] = tx_symb[r][c]; - } - } - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: qpsk_symbols_to_bits() - AUTHOR......: David Rowe - DATE CREATED: March 2015 - - Rate Rs demodulator. Extract pilot symbols and estimate amplitude and phase - of each carrier. Correct phase of data symbols and convert to bits. - - Further improvement. In channels with slowly changing phase we - could optionally use pilots from several past and future symbols. - -\*---------------------------------------------------------------------------*/ - -void qpsk_symbols_to_bits(struct COHPSK *coh, float rx_bits[], - COMP ct_symb_buf[][COHPSK_NC * COHPSK_ND]) { - int p, r, c, i, pc, d, n; - float x[NPILOTSFRAME + 2], x1; - COMP y[NPILOTSFRAME + 2], yfit; - COMP rx_symb_linear[NSYMROW * COHPSK_NC * COHPSK_ND]; - COMP m, b; - COMP __attribute__((unused)) corr, rot, pi_on_4, phi_rect, div_symb; - float mag, __attribute__((unused)) phi_, __attribute__((unused)) amp_; - float sum_x, sum_xx, noise_var; - float spi_4 = M_PI / 4.0f; - COMP s; - - pi_on_4.real = cosf(spi_4); - pi_on_4.imag = sinf(spi_4); - - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) { - /* Set up lin reg model and interpolate phase. Works better than average - for channels with quickly changing phase, like HF. */ - - for (p = 0; p < NPILOTSFRAME + 2; p++) { - x[p] = sampling_points[p]; - pc = c % COHPSK_NC; - y[p] = fcmult(coh->pilot2[p][pc], ct_symb_buf[sampling_points[p]][c]); - } - - linreg(&m, &b, x, y, NPILOTSFRAME + 2); - for (r = 0; r < NSYMROW; r++) { - x1 = (float)(r + NPILOTSFRAME); - yfit = cadd(fcmult(x1, m), b); - coh->phi_[r][c] = atan2f(yfit.imag, yfit.real); - } - - /* amplitude estimation */ - - mag = 0.0f; - for (p = 0; p < NPILOTSFRAME + 2; p++) { - mag += cabsolute(ct_symb_buf[sampling_points[p]][c]); - } - amp_ = mag / (NPILOTSFRAME + 2); - for (r = 0; r < NSYMROW; r++) { - coh->amp_[r][c] = amp_; - } - } - - /* now correct phase of data symbols */ - - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) { - for (r = 0; r < NSYMROW; r++) { - phi_rect.real = cosf(coh->phi_[r][c]); - phi_rect.imag = -sinf(coh->phi_[r][c]); - coh->rx_symb[r][c] = cmult(ct_symb_buf[NPILOTSFRAME + r][c], phi_rect); - i = c * NSYMROW + r; - rx_symb_linear[i] = coh->rx_symb[r][c]; - } - } - - /* and finally optional diversity combination, note output is soft decn a "1" - * is < 0 */ - - for (c = 0; c < COHPSK_NC; c++) { - for (r = 0; r < NSYMROW; r++) { - div_symb = coh->rx_symb[r][c]; - for (d = 1; d < COHPSK_ND; d++) { - div_symb = cadd(div_symb, coh->rx_symb[r][c + COHPSK_NC * d]); - } - rot = cmult(div_symb, pi_on_4); - i = c * NSYMROW + r; - rx_bits[2 * i + 1] = rot.real; - rx_bits[2 * i] = rot.imag; - - /* demodulate bits from upper and lower carriers separately for test - * purposes */ - - assert(COHPSK_ND == 2); - - i = c * NSYMROW + r; - rot = cmult(coh->rx_symb[r][c], pi_on_4); - coh->rx_bits_lower[2 * i + 1] = rot.real; - coh->rx_bits_lower[2 * i] = rot.imag; - rot = cmult(coh->rx_symb[r][c + COHPSK_NC], pi_on_4); - coh->rx_bits_upper[2 * i + 1] = rot.real; - coh->rx_bits_upper[2 * i] = rot.imag; - } - } - - /* estimate RMS signal and noise */ - - mag = 0.0f; - for (i = 0; i < NSYMROW * COHPSK_NC * COHPSK_ND; i++) - mag += cabsolute(rx_symb_linear[i]); - coh->sig_rms = mag / (NSYMROW * COHPSK_NC * COHPSK_ND); - - sum_x = 0.0f; - sum_xx = 0.0f; - n = 0; - for (i = 0; i < NSYMROW * COHPSK_NC * COHPSK_ND; i++) { - s = rx_symb_linear[i]; - if (fabsf(s.real) > coh->sig_rms) { - sum_x += s.imag; - sum_xx += s.imag * s.imag; - n++; - } - } - - noise_var = 0.0f; - if (n > 1) { - noise_var = (n * sum_xx - sum_x * sum_x) / (n * (n - 1)); - } - coh->noise_rms = sqrtf(noise_var); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: tx_filter_and_upconvert_coh() - AUTHOR......: David Rowe - DATE CREATED: May 2015 - - Given NC symbols construct M samples (1 symbol) of NC filtered - and upconverted symbols. - - TODO: work out a way to merge with fdmdv version, e.g. run time define M/NSYM, - and run unittests on fdmdv and cohpsk modem afterwards. - -\*---------------------------------------------------------------------------*/ - -void tx_filter_and_upconvert_coh(COMP tx_fdm[], int Nc, const COMP tx_symbols[], - COMP tx_filter_memory[][COHPSK_NSYM], - COMP phase_tx[], COMP freq[], COMP *fbb_phase, - COMP fbb_rect) { - int c; - int i, j, k; - float acc; - COMP gain; - COMP tx_baseband; - COMP two = {2.0, 0.0}; - float mag; - - gain.real = sqrtf(2.0) / 2.0; - gain.imag = 0.0; - - for (i = 0; i < COHPSK_M; i++) { - tx_fdm[i].real = 0.0; - tx_fdm[i].imag = 0.0; - } - - for (c = 0; c < Nc; c++) - tx_filter_memory[c][COHPSK_NSYM - 1] = cmult(tx_symbols[c], gain); - - /* - tx filter each symbol, generate M filtered output samples for - each symbol, which we then freq shift and sum with other - carriers. Efficient polyphase filter techniques used as - tx_filter_memory is sparse - */ - - for (c = 0; c < Nc; c++) { - for (i = 0; i < COHPSK_M; i++) { - /* filter real sample of symbol for carrier c */ - - acc = 0.0; - for (j = 0, k = COHPSK_M - i - 1; j < COHPSK_NSYM; j++, k += COHPSK_M) - acc += COHPSK_M * tx_filter_memory[c][j].real * gt_alpha5_root_coh[k]; - tx_baseband.real = acc; - - /* filter imag sample of symbol for carrier c */ - - acc = 0.0; - for (j = 0, k = COHPSK_M - i - 1; j < COHPSK_NSYM; j++, k += COHPSK_M) - acc += COHPSK_M * tx_filter_memory[c][j].imag * gt_alpha5_root_coh[k]; - tx_baseband.imag = acc; - // printf("%d %d %f %f\n", c, i, tx_baseband.real, tx_baseband.imag); - - /* freq shift and sum */ - - phase_tx[c] = cmult(phase_tx[c], freq[c]); - tx_fdm[i] = cadd(tx_fdm[i], cmult(tx_baseband, phase_tx[c])); - // printf("%d %d %f %f\n", c, i, phase_tx[c].real, phase_tx[c].imag); - } - // exit(0); - } - - /* shift whole thing up to carrier freq */ - - for (i = 0; i < COHPSK_M; i++) { - *fbb_phase = cmult(*fbb_phase, fbb_rect); - tx_fdm[i] = cmult(tx_fdm[i], *fbb_phase); - } - - /* - Scale such that total Carrier power C of real(tx_fdm) = Nc. This - excludes the power of the pilot tone. - We return the complex (single sided) signal to make frequency - shifting for the purpose of testing easier - */ - - for (i = 0; i < COHPSK_M; i++) tx_fdm[i] = cmult(two, tx_fdm[i]); - - /* normalise digital oscillators as the magnitude can drift over time */ - - for (c = 0; c < Nc; c++) { - mag = cabsolute(phase_tx[c]); - phase_tx[c].real /= mag; - phase_tx[c].imag /= mag; - } - - mag = cabsolute(*fbb_phase); - fbb_phase->real /= mag; - fbb_phase->imag /= mag; - - /* shift memory, inserting zeros at end */ - - for (i = 0; i < COHPSK_NSYM - 1; i++) - for (c = 0; c < Nc; c++) - tx_filter_memory[c][i] = tx_filter_memory[c][i + 1]; - - for (c = 0; c < Nc; c++) { - tx_filter_memory[c][COHPSK_NSYM - 1].real = 0.0; - tx_filter_memory[c][COHPSK_NSYM - 1].imag = 0.0; - } -} - -void corr_with_pilots(float *corr_out, float *mag_out, struct COHPSK *coh, - int t, float f_fine) { - COMP acorr, f_fine_rect[NPILOTSFRAME + 2], f_corr; - float mag, corr, result; - float tau = 2.0f * M_PI; - int c, p, pc; - - for (p = 0; p < NPILOTSFRAME + 2; p++) { - result = f_fine * tau * (sampling_points[p] + 1.0) / COHPSK_RS; - f_fine_rect[p].real = cosf(result); - f_fine_rect[p].imag = sinf(result); - } - - corr = 0.0; - mag = 1E-12; - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) { - acorr.real = 0.0f; - acorr.imag = 0.0f; - pc = c % COHPSK_NC; - for (p = 0; p < NPILOTSFRAME + 2; p++) { - f_corr = - cmult(f_fine_rect[p], coh->ct_symb_buf[t + sampling_points[p]][c]); - acorr = cadd(acorr, fcmult(coh->pilot2[p][pc], f_corr)); - mag += cabsolute(f_corr); - } - corr += cabsolute(acorr); - } - - *corr_out = corr; - *mag_out = mag; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: frame_sync_fine_freq_est() - AUTHOR......: David Rowe - DATE CREATED: April 2015 - - Returns an estimate of frame sync (coarse timing) offset and fine - frequency offset, advances to next sync state if we have a reliable - match for frame sync. - -\*---------------------------------------------------------------------------*/ - -void frame_sync_fine_freq_est(struct COHPSK *coh, - COMP ch_symb[][COHPSK_NC * COHPSK_ND], int sync, - int *next_sync) { - int t; - float f_fine, mag, max_corr, max_mag, corr, result; - float tau = 2.0f * M_PI; - - update_ct_symb_buf(coh->ct_symb_buf, ch_symb); - - /* sample pilots at start of this frame and start of next frame */ - - if (sync == 0) { - /* sample correlation over 2D grid of time and fine freq points */ - - max_corr = 0.0; - max_mag = 1E-12; - for (f_fine = -20; f_fine <= 20; f_fine += 0.25) { - for (t = 0; t < NSYMROWPILOT; t++) { - corr_with_pilots(&corr, &mag, coh, t, f_fine); - // printf(" f: %f t: %d corr: %f mag: %f\n", f_fine, t, corr, mag); - if (corr >= max_corr) { - max_corr = corr; - max_mag = mag; - coh->ct = t; - coh->f_fine_est = f_fine; - } - } - } - - result = coh->f_fine_est * tau / COHPSK_RS; - - coh->ff_rect.real = cosf(result); - coh->ff_rect.imag = -sinf(result); - if (coh->verbose) - fprintf(stderr, " [%d] fine freq f: %6.2f max_ratio: %f ct: %d\n", - coh->frame, (double)coh->f_fine_est, - (double)max_corr / (double)max_mag, coh->ct); - - if (max_corr / max_mag > 0.9) { - if (coh->verbose) - fprintf(stderr, " [%d] encouraging sync word!\n", coh->frame); - coh->sync_timer = 0; - *next_sync = 1; - } else { - *next_sync = 0; - } - coh->ratio = max_corr / max_mag; - } -} - -void update_ct_symb_buf(COMP ct_symb_buf[][COHPSK_NC * COHPSK_ND], - COMP ch_symb[][COHPSK_NC * COHPSK_ND]) { - int r, c, i; - - /* update memory in symbol buffer */ - - for (r = 0; r < NCT_SYMB_BUF - NSYMROWPILOT; r++) { - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) - ct_symb_buf[r][c] = ct_symb_buf[r + NSYMROWPILOT][c]; - } - - for (r = NCT_SYMB_BUF - NSYMROWPILOT, i = 0; r < NCT_SYMB_BUF; r++, i++) { - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) - ct_symb_buf[r][c] = ch_symb[i][c]; - } -} - -int sync_state_machine(struct COHPSK *coh, int sync, int next_sync) { - float corr, mag; - - if (sync == 1) { - /* check that sync is still good, fall out of sync on consecutive bad frames - */ - - corr_with_pilots(&corr, &mag, coh, coh->ct, coh->f_fine_est); - coh->ratio = fabsf(corr) / mag; - - // printf("%f\n", cabsolute(corr)/mag); - - if (fabsf(corr) / mag < 0.8) - coh->sync_timer++; - else - coh->sync_timer = 0; - - if (coh->sync_timer == 10) { - if (coh->verbose) fprintf(stderr, " [%d] lost sync ....\n", coh->frame); - next_sync = 0; - } - } - - sync = next_sync; - - return sync; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: cohpsk_mod() - AUTHOR......: David Rowe - DATE CREATED: 5/4/2015 - - COHPSK modulator, take a frame of COHPSK_BITS_PER_FRAME or - 2*COHPSK_BITS_PER_FRAME bits and generates a frame of - COHPSK_NOM_SAMPLES_PER_FRAME modulated symbols. - - if nbits == COHPSK_BITS_PER_FRAME, diveristy mode is used, if nbits - == 2*COHPSK_BITS_PER_FRAME diversity mode is not used. - - The output signal is complex to support single sided frequency - shifting, for example when testing frequency offsets in channel - simulation. - -\*---------------------------------------------------------------------------*/ - -void cohpsk_mod(struct COHPSK *coh, COMP tx_fdm[], int tx_bits[], int nbits) { - struct FDMDV *fdmdv = coh->fdmdv; - COMP tx_symb[NSYMROWPILOT][COHPSK_NC * COHPSK_ND]; - COMP tx_onesym[COHPSK_NC * COHPSK_ND]; - int r, c; - - bits_to_qpsk_symbols(tx_symb, tx_bits, nbits); - - for (r = 0; r < NSYMROWPILOT; r++) { - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) - tx_onesym[c] = fcmult(coh->carrier_ampl[c], tx_symb[r][c]); - tx_filter_and_upconvert_coh(&tx_fdm[r * COHPSK_M], COHPSK_NC * COHPSK_ND, - tx_onesym, fdmdv->tx_filter_memory, - fdmdv->phase_tx, fdmdv->freq, - &fdmdv->fbb_phase_tx, fdmdv->fbb_rect); - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: cohpsk_clip() - AUTHOR......: David Rowe - DATE CREATED: May 2015 - - Hard clips a complex signal magnitude (Hilbert Clipping) to improve PAPR. - -\*---------------------------------------------------------------------------*/ - -void cohpsk_clip(COMP tx_fdm[], float clip_thresh, int n) { - COMP sam; - float mag; - int i; - - for (i = 0; i < n; i++) { - sam = tx_fdm[i]; - mag = cabsolute(sam); - if (mag > clip_thresh) { - sam = fcmult(clip_thresh / mag, sam); - } - tx_fdm[i] = sam; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdm_downconvert_coh - AUTHOR......: David Rowe - DATE CREATED: May 2015 - - Frequency shift each modem carrier down to NC baseband signals. - - TODO: try to combine with fdmdv version, carefully re-test fdmdv modem. - -\*---------------------------------------------------------------------------*/ - -void fdm_downconvert_coh(COMP rx_baseband[][COHPSK_M + COHPSK_M / P], int Nc, - COMP rx_fdm[], COMP phase_rx[], COMP freq[], int nin) { - int i, c; - float mag; - - /* maximum number of input samples to demod */ - - assert(nin <= (COHPSK_M + COHPSK_M / P)); - - /* downconvert */ - - for (c = 0; c < Nc; c++) - for (i = 0; i < nin; i++) { - phase_rx[c] = cmult(phase_rx[c], freq[c]); - rx_baseband[c][i] = cmult(rx_fdm[i], cconj(phase_rx[c])); - } - - /* normalise digital oscilators as the magnitude can drift over time */ - - for (c = 0; c < Nc; c++) { - mag = cabsolute(phase_rx[c]); - phase_rx[c].real /= mag; - phase_rx[c].imag /= mag; - } -} - -/* Determine if we can use vector ops below. */ -#if __GNUC__ > 4 || \ - (__GNUC__ == 4 && \ - (__GNUC_MINOR__ > 6 || (__GNUC_MINOR__ == 6 && __GNUC_PATCHLEVEL__ > 0))) -#define USE_VECTOR_OPS 1 -#elif __clang_major__ > 3 || \ - (__clang_minor__ == 3 && \ - (__clang_minor__ > 7 || \ - (__clang_minor__ == 7 && __clang_patchlevel__ > 0))) -#define USE_VECTOR_OPS 1 -#endif - -#if USE_VECTOR_OPS - -#ifdef __ARM_NEON -#include "arm_neon.h" - -typedef float32x4_t float4; -#else -/* Vector of 4 floating point numbers for use by the below function */ -typedef float float4 __attribute__((vector_size(16))); -#endif // __ARM_NEON - -#endif /* USE_VECTOR_OPS */ - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: rx_filter_coh() - AUTHOR......: David Rowe - DATE CREATED: May 2015 - - cohpsk version of fdmdv.c rx_filter function. - - TODO: see if we can merge the two! Will require re-testing of fdmdv modem. - -\*---------------------------------------------------------------------------*/ - -inline extern void rx_filter_coh( - COMP rx_filt[COHPSK_NC * COHPSK_ND][P + 1], int Nc, - COMP rx_baseband[COHPSK_NC * COHPSK_ND][COHPSK_M + COHPSK_M / P], - COMP rx_filter_memory[COHPSK_NC * COHPSK_ND][COHPSK_NFILTER], int nin) { - int c, i, j, k, l; - int n = COHPSK_M / P; - - /* rx filter each symbol, generate P filtered output samples for - each symbol. Note we keep filter memory at rate M, it's just - the filter output at rate P */ - - for (i = 0, j = 0; i < nin; i += n, j++) { - /* latest input sample */ - - for (c = 0; c < Nc; c++) { - rx_filt[c][j].real = 0.0; - rx_filt[c][j].imag = 0.0; - - /* - This call is equivalent to the code below: - - for(k=COHPSK_NFILTER-n,l=i; kreal /= mag; - foff_phase_rect->imag /= mag; -} - -void rate_Fs_rx_processing(struct COHPSK *coh, - COMP ch_symb[][COHPSK_NC * COHPSK_ND], - COMP ch_fdm_frame[], float *f_est, int nsymb, - int nin, int freq_track) { - struct FDMDV *fdmdv = coh->fdmdv; - int r, c, i, ch_fdm_frame_index; - COMP rx_fdm_frame_bb[COHPSK_M + COHPSK_M / P]; - COMP rx_baseband[COHPSK_NC * COHPSK_ND][COHPSK_M + COHPSK_M / P]; - COMP rx_filt[COHPSK_NC * COHPSK_ND][P + 1]; - float env[NT * P], rx_timing; - COMP rx_onesym[COHPSK_NC * COHPSK_ND]; - float beta, g; - COMP adiff, amod_strip, mod_strip; - - ch_fdm_frame_index = 0; - rx_timing = 0; - - for (r = 0; r < nsymb; r++) { - fdmdv_freq_shift_coh(rx_fdm_frame_bb, &ch_fdm_frame[ch_fdm_frame_index], - -(*f_est), COHPSK_FS, &fdmdv->fbb_phase_rx, nin); - ch_fdm_frame_index += nin; - fdm_downconvert_coh(rx_baseband, COHPSK_NC * COHPSK_ND, rx_fdm_frame_bb, - fdmdv->phase_rx, fdmdv->freq, nin); - rx_filter_coh(rx_filt, COHPSK_NC * COHPSK_ND, rx_baseband, - coh->rx_filter_memory, nin); - rx_timing = rx_est_timing(rx_onesym, fdmdv->Nc, rx_filt, - fdmdv->rx_filter_mem_timing, env, nin, COHPSK_M); - - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) { - ch_symb[r][c] = rx_onesym[c]; - } - - /* freq tracking, see test_ftrack.m for unit test. Placed in - this function as it needs to work on a symbol by symbol - abasis rather than frame by frame. This means the control - loop operates at a sample rate of Rs = 50Hz for say 1 Hz/s - drift. */ - - if (freq_track) { - beta = 0.005; - g = 0.2; - - /* combine difference on phase from last symbol over Nc carriers */ - - mod_strip.real = 0.0; - mod_strip.imag = 0.0; - for (c = 0; c < fdmdv->Nc + 1; c++) { - // printf("rx_onesym[%d] %f %f prev_rx_symbols[%d] %f %f\n", c, - // rx_onesym[c].real, rx_onesym[c].imag, - // fdmdv->prev_rx_symbols[c].real, - // fdmdv->prev_rx_symbols[c].imag); - adiff = cmult(rx_onesym[c], cconj(fdmdv->prev_rx_symbols[c])); - fdmdv->prev_rx_symbols[c] = rx_onesym[c]; - - /* 4th power strips QPSK modulation, by multiplying phase by 4 - Using the abs value of the real coord was found to help - non-linear issues when noise power was large. */ - - amod_strip = cmult(adiff, adiff); - amod_strip = cmult(amod_strip, amod_strip); - amod_strip.real = fabsf(amod_strip.real); - mod_strip = cadd(mod_strip, amod_strip); - } - // printf("modstrip: %f %f\n", mod_strip.real, mod_strip.imag); - - /* loop filter made up of 1st order IIR plus integrator. Integerator - was found to be reqd */ - - fdmdv->foff_filt = (1.0f - beta) * fdmdv->foff_filt + - beta * atan2f(mod_strip.imag, mod_strip.real); - // printf("foff_filt: %f angle: %f\n", fdmdv->foff_filt, - // atan2f(mod_strip.imag, mod_strip.real)); - *f_est += g * fdmdv->foff_filt; - } - - /* Optional logging used for testing against Octave version */ - - if (coh->rx_baseband_log) { - assert(nin <= (COHPSK_M + COHPSK_M / P)); - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) { - for (i = 0; i < nin; i++) { - coh->rx_baseband_log[c * coh->rx_baseband_log_col_sz + - coh->rx_baseband_log_col_index + i] = - rx_baseband[c][i]; - } - } - coh->rx_baseband_log_col_index += nin; - assert(coh->rx_baseband_log_col_index <= coh->rx_baseband_log_col_sz); - } - - if (coh->rx_filt_log) { - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) { - for (i = 0; i < nin / (COHPSK_M / P); i++) { - coh->rx_filt_log[c * coh->rx_filt_log_col_sz + - coh->rx_filt_log_col_index + i] = rx_filt[c][i]; - } - } - coh->rx_filt_log_col_index += nin / (COHPSK_M / P); - } - - if (coh->ch_symb_log) { - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) { - coh->ch_symb_log[coh->ch_symb_log_r * COHPSK_NC * COHPSK_ND + c] = - ch_symb[r][c]; - } - coh->ch_symb_log_r++; - } - - if (coh->rx_timing_log) { - coh->rx_timing_log[coh->rx_timing_log_index] = rx_timing; - coh->rx_timing_log_index++; - // printf("rx_timing_log_index: %d\n", coh->rx_timing_log_index); - } - - /* we only allow a timing shift on one symbol per frame */ - - if (nin != COHPSK_M) nin = COHPSK_M; - } - - coh->rx_timing = rx_timing; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: cohpsk_demod() - AUTHOR......: David Rowe - DATE CREATED: 5/4/2015 - - COHPSK demodulator, takes an array of (nominally) nin_frame = - COHPSK_NOM_SAMPLES_PER_FRAME modulated samples, returns an array of - COHPSK_BITS_PER_FRAME bits. - - The input signal is complex to support single sided frequency shifting - before the demod input (e.g. click to tune feature). - -\*---------------------------------------------------------------------------*/ - -void cohpsk_demod(struct COHPSK *coh, float rx_bits[], int *sync_good, - COMP rx_fdm[], int *nin_frame) { - COMP ch_symb[NSW * NSYMROWPILOT][COHPSK_NC * COHPSK_ND]; - int i, j, sync, anext_sync, next_sync, nin, r, c; - float max_ratio, f_est; - - assert(*nin_frame <= COHPSK_MAX_SAMPLES_PER_FRAME); - - next_sync = sync = coh->sync; - - for (i = 0; i < NSW * NSYMROWPILOT * COHPSK_M - *nin_frame; i++) - coh->ch_fdm_frame_buf[i] = coh->ch_fdm_frame_buf[i + *nin_frame]; - // printf("nin_frame: %d i: %d i+nin_frame: %d\n", *nin_frame, i, - // i+*nin_frame); - for (j = 0; i < NSW * NSYMROWPILOT * COHPSK_M; i++, j++) - coh->ch_fdm_frame_buf[i] = rx_fdm[j]; - // printf("i: %d j: %d rx_fdm[0]: %f %f\n", i,j, rx_fdm[0].real, - // rx_fdm[0].imag); - - /* if out of sync do Initial Freq offset estimation using NSW frames to flush - * out filter memories */ - - if (sync == 0) { - /* we can test +/- 20Hz, so we break this up into 3 tests to cover +/- 60Hz - */ - - max_ratio = 0.0; - f_est = 0.0; - for (coh->f_est = FDMDV_FCENTRE - 40.0; coh->f_est <= FDMDV_FCENTRE + 40.0; - coh->f_est += 40.0) { - if (coh->verbose) - fprintf(stderr, " [%d] acohpsk.f_est: %f +/- 20\n", coh->frame, - (double)coh->f_est); - - /* we are out of sync so reset f_est and process two frames to clean out - * memories */ - - rate_Fs_rx_processing(coh, ch_symb, coh->ch_fdm_frame_buf, &coh->f_est, - NSW * NSYMROWPILOT, COHPSK_M, 0); - for (i = 0; i < NSW - 1; i++) { - update_ct_symb_buf(coh->ct_symb_buf, &ch_symb[i * NSYMROWPILOT]); - } - frame_sync_fine_freq_est(coh, &ch_symb[(NSW - 1) * NSYMROWPILOT], sync, - &anext_sync); - - if (anext_sync == 1) { - // printf(" [%d] acohpsk.ratio: %f\n", f, coh->ratio); - if (coh->ratio > max_ratio) { - max_ratio = coh->ratio; - f_est = coh->f_est - coh->f_fine_est; - next_sync = anext_sync; - } - } - } - - if (next_sync == 1) { - /* we've found a sync candidate! - re-process last NSW frames with adjusted f_est then check again */ - - coh->f_est = f_est; - - if (coh->verbose) - fprintf(stderr, " [%d] trying sync and f_est: %f\n", coh->frame, - (double)coh->f_est); - - rate_Fs_rx_processing(coh, ch_symb, coh->ch_fdm_frame_buf, &coh->f_est, - NSW * NSYMROWPILOT, COHPSK_M, 0); - for (i = 0; i < NSW - 1; i++) { - update_ct_symb_buf(coh->ct_symb_buf, &ch_symb[i * NSYMROWPILOT]); - } - /* - for(i=0; ict_symb_buf[i][0].real, - coh->ct_symb_buf[i][0].imag); - } - */ - frame_sync_fine_freq_est(coh, &ch_symb[(NSW - 1) * NSYMROWPILOT], sync, - &next_sync); - - if (fabsf(coh->f_fine_est) > 2.0) { - if (coh->verbose) - fprintf(stderr, " [%d] Hmm %f is a bit big :(\n", coh->frame, - (double)coh->f_fine_est); - next_sync = 0; - } - } - - if (next_sync == 1) { - /* OK we are in sync! - demodulate first frame (demod completed below) */ - - if (coh->verbose) - fprintf(stderr, " [%d] in sync! f_est: %f ratio: %f \n", coh->frame, - (double)coh->f_est, (double)coh->ratio); - for (r = 0; r < NSYMROWPILOT + 2; r++) - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) - coh->ct_symb_ff_buf[r][c] = coh->ct_symb_buf[coh->ct + r][c]; - } - } - - /* If in sync just do sample rate processing on latest frame */ - - if (sync == 1) { - rate_Fs_rx_processing(coh, ch_symb, rx_fdm, &coh->f_est, NSYMROWPILOT, - coh->nin, 1); - frame_sync_fine_freq_est(coh, ch_symb, sync, &next_sync); - - for (r = 0; r < 2; r++) - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) - coh->ct_symb_ff_buf[r][c] = coh->ct_symb_ff_buf[r + NSYMROWPILOT][c]; - for (; r < NSYMROWPILOT + 2; r++) - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) - coh->ct_symb_ff_buf[r][c] = coh->ct_symb_buf[coh->ct + r][c]; - } - - /* if we are in sync complete demodulation with symbol rate processing */ - - *sync_good = 0; - if ((next_sync == 1) || (sync == 1)) { - qpsk_symbols_to_bits(coh, rx_bits, coh->ct_symb_ff_buf); - *sync_good = 1; - } - - sync = sync_state_machine(coh, sync, next_sync); - coh->sync = sync; - - /* work out how many samples we need for the next call to account - for differences in tx and rx sample clocks */ - - nin = COHPSK_M; - if (sync == 1) { - if (coh->rx_timing > COHPSK_M / P) nin = COHPSK_M + COHPSK_M / P; - if (coh->rx_timing < -COHPSK_M / P) nin = COHPSK_M - COHPSK_M / P; - } - coh->nin = nin; - *nin_frame = (NSYMROWPILOT - 1) * COHPSK_M + nin; - // if (coh->verbose) - // fprintf(stderr, "%f %d %d\n", coh->rx_timing, nin, *nin_frame); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: cohpsk_fs_offset() - AUTHOR......: David Rowe - DATE CREATED: May 2015 - - Simulates small Fs offset between mod and demod. - -\*---------------------------------------------------------------------------*/ - -int cohpsk_fs_offset(COMP out[], COMP in[], int n, float sample_rate_ppm) { - double f; - double tin = 0.0; - double step = 1.0 + sample_rate_ppm / 1E6; - int t1, t2; - int tout = 0; - - while (tin < (double)n) { - t1 = (int)floor(tin); - t2 = (int)ceil(tin); - f = tin - (double)t1; - - out[tout].real = - ((double)1.0 - f) * (double)in[t1].real + f * (double)in[t2].real; - out[tout].imag = - ((double)1.0 - f) * (double)in[t1].imag + f * (double)in[t2].imag; - - tin += step; - tout++; - // printf("tin: %f tout: %d f: %f\n", tin, tout, f); - } - - return tout; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: cohpsk_get_demod_stats() - AUTHOR......: David Rowe - DATE CREATED: 14 June 2015 - - Fills stats structure with a bunch of demod information. - -\*---------------------------------------------------------------------------*/ - -void cohpsk_get_demod_stats(struct COHPSK *coh, struct MODEM_STATS *stats) { - float new_snr_est; - -#ifndef __EMBEDDED__ - float spi_4 = M_PI / 4.0f; - COMP pi_4; - pi_4.real = cosf(spi_4); - pi_4.imag = sinf(spi_4); -#endif - - stats->Nc = COHPSK_NC * COHPSK_ND; - assert(stats->Nc <= MODEM_STATS_NC_MAX); - new_snr_est = - 20.0f * log10f((coh->sig_rms + 1E-6f) / (coh->noise_rms + 1E-6f)) - - 10.0f * log10f(3000.0f / 700.0f); - stats->snr_est = 0.9f * stats->snr_est + 0.1f * new_snr_est; - - // fprintf(stderr, "sig_rms: %f noise_rms: %f snr_est: %f\n", coh->sig_rms, - // coh->noise_rms, stats->snr_est); - stats->sync = coh->sync; - stats->foff = coh->f_est - FDMDV_FCENTRE; - stats->rx_timing = coh->rx_timing; - stats->clock_offset = 0.0f; /* TODO - implement clock offset estimation */ - -#ifndef __EMBEDDED__ - assert(NSYMROW <= MODEM_STATS_NR_MAX); - stats->nr = NSYMROW; - for (int c = 0; c < COHPSK_NC * COHPSK_ND; c++) { - for (int r = 0; r < NSYMROW; r++) { - stats->rx_symbols[r][c] = cmult(coh->rx_symb[r][c], pi_4); - } - } -#endif -} - -void cohpsk_set_verbose(struct COHPSK *coh, int verbose) { - assert(coh != NULL); - coh->verbose = verbose; -} - -void cohpsk_set_frame(struct COHPSK *coh, int frame) { - assert(coh != NULL); - coh->frame = frame; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: cohpsk_get_test_bits() - AUTHOR......: David Rowe - DATE CREATED: June 2015 - - Returns a frame of known test bits. - -\*---------------------------------------------------------------------------*/ - -void cohpsk_get_test_bits(struct COHPSK *coh, int rx_bits[]) { - memcpy(rx_bits, coh->ptest_bits_coh_tx, sizeof(int) * COHPSK_BITS_PER_FRAME); - coh->ptest_bits_coh_tx += COHPSK_BITS_PER_FRAME; - if (coh->ptest_bits_coh_tx >= coh->ptest_bits_coh_end) { - coh->ptest_bits_coh_tx = (int *)test_bits_coh; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: cohpsk_put_test_bits() - AUTHOR......: David Rowe - DATE CREATED: June 2015 - - Accepts bits from demod and attempts to sync with the known - test_bits sequence. When synced measures bit errors. - - Has states to track two separate received test sequences based on - channel 0 or 1. - -\*---------------------------------------------------------------------------*/ - -void cohpsk_put_test_bits(struct COHPSK *coh, int *state, short error_pattern[], - int *bit_errors, char rx_bits_char[], int channel) { - int i, next_state, anerror; - int rx_bits[COHPSK_BITS_PER_FRAME]; - - assert((channel == 0) || (channel == 1)); - int *ptest_bits_coh_rx = coh->ptest_bits_coh_rx[channel]; - - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) { - rx_bits[i] = rx_bits_char[i]; - } - - *bit_errors = 0; - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) { - anerror = (rx_bits[i] & 0x1) ^ ptest_bits_coh_rx[i]; - if ((anerror < 0) || (anerror > 1)) { - fprintf(stderr, "i: %d rx_bits: %d ptest_bits_coh_rx: %d\n", i, - rx_bits[i], ptest_bits_coh_rx[i]); - } - *bit_errors += anerror; - error_pattern[i] = anerror; - } - - /* state logic */ - - next_state = *state; - - if (*state == 0) { - if (*bit_errors < 4) { - next_state = 1; - ptest_bits_coh_rx += COHPSK_BITS_PER_FRAME; - if (ptest_bits_coh_rx >= coh->ptest_bits_coh_end) { - ptest_bits_coh_rx = (int *)test_bits_coh; - } - } - } - - /* if 5 frames with large BER reset test frame sync */ - - if (*state > 0) { - if (*bit_errors > 8) { - if (*state == 6) - next_state = 0; - else - next_state = *state + 1; - } else - next_state = 1; - } - - if (*state > 0) { - ptest_bits_coh_rx += COHPSK_BITS_PER_FRAME; - if (ptest_bits_coh_rx >= coh->ptest_bits_coh_end) { - ptest_bits_coh_rx = (int *)test_bits_coh; - } - } - - // fprintf(stderr, "state: %d next_state: %d bit_errors: %d\n", *state, - // next_state, *bit_errors); - - *state = next_state; - coh->ptest_bits_coh_rx[channel] = ptest_bits_coh_rx; -} - -int cohpsk_error_pattern_size(void) { return COHPSK_BITS_PER_FRAME; } - -float *cohpsk_get_rx_bits_lower(struct COHPSK *coh) { - return coh->rx_bits_lower; -} - -float *cohpsk_get_rx_bits_upper(struct COHPSK *coh) { - return coh->rx_bits_upper; -} - -void cohpsk_set_carrier_ampl(struct COHPSK *coh, int c, float ampl) { - assert(c < COHPSK_NC * COHPSK_ND); - coh->carrier_ampl[c] = ampl; - fprintf(stderr, "cohpsk_set_carrier_ampl: %d %f\n", c, (double)ampl); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_defs.h b/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_defs.h deleted file mode 100644 index 968dfa5..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_defs.h +++ /dev/null @@ -1,11 +0,0 @@ -/* Generated by write_pilot_file() Octave function */ - -#define NSYMROW 4 /* number of data symbols on each row (i.e. each carrier) */ -#define NS 4 /* number of data symbols between pilots */ -#define NPILOTSFRAME \ - 2 /* number of pilot symbols on each row */ -#define PILOTS_NC \ - 7 /* number of carriers */ - -#define NSYMROWPILOT \ - 6 /* length of row after pilots inserted */ diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_demod.c b/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_demod.c deleted file mode 100644 index 7da4f12..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_demod.c +++ /dev/null @@ -1,269 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: cohpsk_demod.c - AUTHOR......: David Rowe - DATE CREATED: April 6 2015 - - Given an input file of raw file (8kHz, 16 bit shorts) of COHPSK modem samples, - outputs a file of bits (note one bit per int, not compressed). - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2015 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include -#include - -#include "codec2_cohpsk.h" -#include "codec2_fdmdv.h" -#include "cohpsk_defs.h" -#include "cohpsk_internal.h" -#include "debug_alloc.h" -#include "octave.h" - -#define LOG_FRAMES 100 -#define SYNC_FRAMES \ - 12 /* sync state uses up extra log storage as we reprocess several times */ - -int opt_exists(char *argv[], int argc, char opt[]) { - int i; - for (i = 0; i < argc; i++) { - if (strcmp(argv[i], opt) == 0) { - return i; - } - } - return 0; -} - -int main(int argc, char *argv[]) { - FILE *fin, *fout, *foct; - struct COHPSK *cohpsk; - float rx_bits[COHPSK_BITS_PER_FRAME]; - char rx_bits_char[COHPSK_BITS_PER_FRAME]; - double rx_bits_double[COHPSK_BITS_PER_FRAME]; - COMP rx_fdm[COHPSK_MAX_SAMPLES_PER_FRAME]; - short rx_fdm_scaled[COHPSK_MAX_SAMPLES_PER_FRAME]; - int frames, sync, nin_frame; - float *rx_amp_log = NULL; - float *rx_phi_log = NULL; - COMP *rx_symb_log = NULL; - float f_est_log[LOG_FRAMES], ratio_log[LOG_FRAMES]; - int i, r, c, log_data_r, oct, logframes, diversity, sd; - - foct = NULL; - oct = 0; - diversity = 1; - sd = 0; - int verbose = 0; - - int o = 0; - int opt_idx = 0; - while (o != -1) { - static struct option long_opts[] = { - {"help", no_argument, 0, 'h'}, {"octave", required_argument, 0, 'o'}, - {"nd", no_argument, 0, 'n'}, {"sd", no_argument, 0, 's'}, - {"verbose", no_argument, 0, 'v'}, {0, 0, 0, 0}}; - - o = getopt_long(argc, argv, "ho:nsv", long_opts, &opt_idx); - - switch (o) { - case 'o': - if ((foct = fopen(optarg, "wt")) == NULL) { - fprintf(stderr, "Error opening output Octave file: %s: %s.\n", optarg, - strerror(errno)); - exit(1); - } - fprintf(stderr, "opened: %s\n", optarg); - oct = 1; - break; - case 'n': - diversity = 2; - break; - case 's': - sd = 1; - break; - case 'v': - verbose = 1; - break; - case 'h': - case '?': - goto helpmsg; - break; - } - } - - int dx = optind; - - if ((argc - dx) < 2) { - fprintf(stderr, "Too few arguments\n"); - helpmsg: - printf("usage: %s [options] InputModemRawFile OutputFile \n", argv[0]); - fprintf(stderr, "\n"); - fprintf( - stderr, - " Default output file format is one byte per bit\n"); - fprintf(stderr, " -o OctaveLogFile Octave log file for testing\n"); - fprintf( - stderr, - " --nd non-diversity mode, output frames of %d bits\n", - COHPSK_ND * COHPSK_BITS_PER_FRAME); - fprintf( - stderr, - " --sd soft decision output, one double per symbol\n"); - fprintf(stderr, " -v verbose mode\n"); - fprintf(stderr, "\n"); - exit(1); - } - - if (strcmp(argv[dx], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[dx], "rb")) == NULL) { - fprintf(stderr, "Error opening input modem sample file: %s: %s.\n", argv[1], - strerror(errno)); - exit(1); - } - - if (strcmp(argv[dx + 1], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[dx + 1], "wb")) == NULL) { - fprintf(stderr, "Error opening output file: %s: %s.\n", argv[2], - strerror(errno)); - exit(1); - } - - cohpsk = cohpsk_create(); - cohpsk_set_verbose(cohpsk, verbose); - - if (oct) { - logframes = LOG_FRAMES; - rx_amp_log = (float *)MALLOC(sizeof(float) * logframes * NSYMROW * - COHPSK_NC * COHPSK_ND); - assert(rx_amp_log != NULL); - rx_phi_log = (float *)MALLOC(sizeof(float) * logframes * NSYMROW * - COHPSK_NC * COHPSK_ND); - assert(rx_phi_log != NULL); - rx_symb_log = (COMP *)MALLOC(sizeof(COMP) * logframes * NSYMROW * - COHPSK_NC * COHPSK_ND); - assert(rx_symb_log != NULL); - cohpsk->rx_timing_log = - (float *)MALLOC(sizeof(float) * SYNC_FRAMES * logframes * NSYMROWPILOT); - assert(cohpsk->rx_timing_log != NULL); - } - - log_data_r = 0; - frames = 0; - - nin_frame = COHPSK_NOM_SAMPLES_PER_FRAME; - while (fread(rx_fdm_scaled, sizeof(short), nin_frame, fin) == nin_frame) { - frames++; - cohpsk_set_frame(cohpsk, frames); - - /* scale and demod */ - - for (i = 0; i < nin_frame; i++) { - rx_fdm[i].real = rx_fdm_scaled[i] / COHPSK_SCALE; - rx_fdm[i].imag = 0.0; - } - - cohpsk_demod(cohpsk, rx_bits, &sync, rx_fdm, &nin_frame); - - if (sync) { - if (diversity == 1) { - if (sd == 0) { - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) - rx_bits_char[i] = rx_bits[i] < 0.0; - fwrite(rx_bits_char, sizeof(char), COHPSK_BITS_PER_FRAME, fout); - } else { - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) - rx_bits_double[i] = rx_bits[i]; - fwrite(rx_bits_double, sizeof(double), COHPSK_BITS_PER_FRAME, fout); - } - } else { - if (sd == 0) { - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) - rx_bits_char[i] = cohpsk->rx_bits_lower[i] < 0.0; - fwrite(rx_bits_char, sizeof(char), COHPSK_BITS_PER_FRAME, fout); - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) - rx_bits_char[i] = cohpsk->rx_bits_upper[i] < 0.0; - fwrite(rx_bits_char, sizeof(char), COHPSK_BITS_PER_FRAME, fout); - } else { - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) - rx_bits_double[i] = cohpsk->rx_bits_lower[i]; - fwrite(rx_bits_double, sizeof(double), COHPSK_BITS_PER_FRAME, fout); - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) - rx_bits_double[i] = cohpsk->rx_bits_upper[i]; - fwrite(rx_bits_double, sizeof(double), COHPSK_BITS_PER_FRAME, fout); - } - } - - if (oct) { - for (r = 0; r < NSYMROW; r++, log_data_r++) { - for (c = 0; c < COHPSK_NC * COHPSK_ND; c++) { - rx_amp_log[log_data_r * COHPSK_NC * COHPSK_ND + c] = - cohpsk->amp_[r][c]; - rx_phi_log[log_data_r * COHPSK_NC * COHPSK_ND + c] = - cohpsk->phi_[r][c]; - rx_symb_log[log_data_r * COHPSK_NC * COHPSK_ND + c] = - cohpsk->rx_symb[r][c]; - } - } - - f_est_log[frames - 1] = cohpsk->f_est; - ratio_log[frames - 1] = cohpsk->ratio; - // fprintf(stderr,"ratio: %f\n", cohpsk->ratio); - - // printf("frames: %d log_data_r: %d\n", frames, log_data_r); - if (frames == logframes) oct = 0; - } - } - - /* if this is in a pipeline, we probably don't want the usual - buffering to occur */ - - if (fout == stdout) fflush(stdout); - } - - fclose(fin); - fclose(fout); - - /* optionally dump Octave files */ - - if (foct != NULL) { - octave_save_float(foct, "rx_amp_log_c", (float *)rx_amp_log, log_data_r, - COHPSK_NC * COHPSK_ND, COHPSK_NC * COHPSK_ND); - octave_save_float(foct, "rx_phi_log_c", (float *)rx_phi_log, log_data_r, - COHPSK_NC * COHPSK_ND, COHPSK_NC * COHPSK_ND); - octave_save_complex(foct, "rx_symb_log_c", (COMP *)rx_symb_log, log_data_r, - COHPSK_NC * COHPSK_ND, COHPSK_NC * COHPSK_ND); - octave_save_float(foct, "rx_timing_log_c", (float *)cohpsk->rx_timing_log, - 1, cohpsk->rx_timing_log_index, - cohpsk->rx_timing_log_index); - octave_save_float(foct, "f_est_log_c", f_est_log, 1, logframes, logframes); - octave_save_float(foct, "ratio_log_c", ratio_log, 1, logframes, logframes); - fclose(foct); - } - - cohpsk_destroy(cohpsk); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_get_test_bits.c b/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_get_test_bits.c deleted file mode 100644 index 7b14d89..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_get_test_bits.c +++ /dev/null @@ -1,84 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: cohpsk_put_test_bits.c - AUTHOR......: David Rowe - DATE CREATED: April 2015 - - Generates a file of test bits, useful for input to cohpsk_mod. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2015 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include - -#include "codec2_cohpsk.h" -#include "test_bits_coh.h" - -int main(int argc, char *argv[]) { - FILE *fout; - int tx_bits[COHPSK_BITS_PER_FRAME]; - char tx_bits_char[COHPSK_BITS_PER_FRAME]; - int numBits, nFrames, n; - int *ptest_bits_coh, *ptest_bits_coh_end, i; - - if (argc < 2) { - printf("usage: %s OutputOneCharPerBitFile numBits\n", argv[0]); - exit(1); - } - - if (strcmp(argv[1], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[1], "wb")) == NULL) { - fprintf(stderr, "Error opening output file: %s: %s.\n", argv[1], - strerror(errno)); - exit(1); - } - - ptest_bits_coh = (int *)test_bits_coh; - ptest_bits_coh_end = - (int *)test_bits_coh + sizeof(test_bits_coh) / sizeof(int); - numBits = atoi(argv[2]); - nFrames = numBits / COHPSK_BITS_PER_FRAME; - - for (n = 0; n < nFrames; n++) { - memcpy(tx_bits, ptest_bits_coh, sizeof(int) * COHPSK_BITS_PER_FRAME); - ptest_bits_coh += COHPSK_BITS_PER_FRAME; - if (ptest_bits_coh >= ptest_bits_coh_end) { - ptest_bits_coh = (int *)test_bits_coh; - } - - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) tx_bits_char[i] = tx_bits[i]; - - fwrite(tx_bits_char, sizeof(char), COHPSK_BITS_PER_FRAME, fout); - - /* if this is in a pipeline, we probably don't want the usual - buffering to occur */ - - if (fout == stdout) fflush(stdout); - } - - fclose(fout); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_internal.h b/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_internal.h deleted file mode 100644 index 525ab9d..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_internal.h +++ /dev/null @@ -1,136 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: cohpsk_internal.h - AUTHOR......: David Rowe - DATE CREATED: March 2015 - - Functions that implement a coherent PSK FDM modem. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2015 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __COHPSK_INTERNAL__ -#define __COHPSK_INTERNAL__ - -#define NCT_SYMB_BUF (2 * NSYMROWPILOT + 2) -#define COHPSK_ND \ - 2 /* diversity factor ND 1 is no diveristy, ND we have original plus \ - one copy */ -#define NSW 4 /* number of sync window frames */ -#define COHPSK_M 100 /* oversampling rate */ -#define COHPSK_NSYM 6 -#define COHPSK_NFILTER (COHPSK_NSYM * COHPSK_M) -#define COHPSK_EXCESS_BW 0.5 /* excess BW factor of root nyq filter */ -#define COHPSK_NT 5 /* number of symbols we estimate timing over */ - -#include "fdmdv_internal.h" -#include "kiss_fft.h" - -struct COHPSK { - COMP ch_fdm_frame_buf[NSW * NSYMROWPILOT * - COHPSK_M]; /* buffer of several frames of symbols from - channel */ - float pilot2[2 * NPILOTSFRAME][COHPSK_NC]; - float phi_[NSYMROWPILOT] - [COHPSK_NC * - COHPSK_ND]; /* phase estimates for this frame of rx data symbols */ - float amp_[NSYMROW][COHPSK_NC * COHPSK_ND]; /* amplitude estimates for this - frame of rx data symbols */ - COMP rx_symb[NSYMROWPILOT][COHPSK_NC * COHPSK_ND]; /* demodulated symbols */ - float f_est; - COMP rx_filter_memory[COHPSK_NC * COHPSK_ND][COHPSK_NFILTER]; - COMP ct_symb_buf[NCT_SYMB_BUF][COHPSK_NC * COHPSK_ND]; - int ct; /* coarse timing offset in symbols */ - float rx_timing; /* fine timing for last symbol in frame */ - int nin; /* number of samples to input for next symbol */ - float f_fine_est; - COMP ff_rect; - COMP ff_phase; - COMP ct_symb_ff_buf[NSYMROWPILOT + 2][COHPSK_NC * COHPSK_ND]; - int sync; - int sync_timer; - - int frame; - float ratio; - - float sig_rms; - float noise_rms; - - struct FDMDV *fdmdv; - - int verbose; - - int *ptest_bits_coh_tx; - int *ptest_bits_coh_rx[2]; - int *ptest_bits_coh_end; - - /* counting bit errors using pilots */ - - int npilotbits; - int npilotbiterrors; - - /* optional log variables used for testing Octave to C port */ - - COMP *rx_baseband_log; - int rx_baseband_log_col_index; - int rx_baseband_log_col_sz; - - COMP *rx_filt_log; - int rx_filt_log_col_index; - int rx_filt_log_col_sz; - - COMP *ch_symb_log; - int ch_symb_log_r; - int ch_symb_log_col_sz; - - float *rx_timing_log; - int rx_timing_log_index; - - /* demodulated bits before diversity combination for test/instrumentation - * purposes */ - - float rx_bits_lower[COHPSK_BITS_PER_FRAME]; - float rx_bits_upper[COHPSK_BITS_PER_FRAME]; - - /* tx amplitude weights for each carrier for test/instrumentation */ - - float carrier_ampl[COHPSK_NC * COHPSK_ND]; - - /* Flag enabling simple freq est mode */ - int freq_est_mode_reduced; -}; - -void bits_to_qpsk_symbols(COMP tx_symb[][COHPSK_NC * COHPSK_ND], int tx_bits[], - int nbits); -void qpsk_symbols_to_bits(struct COHPSK *coh, float rx_bits[], - COMP ct_symb_buf[][COHPSK_NC * COHPSK_ND]); -void tx_filter_and_upconvert_coh(COMP tx_fdm[], int Nc, const COMP tx_symbols[], - COMP tx_filter_memory[][COHPSK_NSYM], - COMP phase_tx[], COMP freq[], COMP *fbb_phase, - COMP fbb_rect); -void fdm_downconvert_coh(COMP rx_baseband[][COHPSK_M + COHPSK_M / P], int Nc, - COMP rx_fdm[], COMP phase_rx[], COMP freq[], int nin); -void frame_sync_fine_freq_est(struct COHPSK *coh, - COMP ch_symb[][COHPSK_NC * COHPSK_ND], int sync, - int *next_sync); -void fine_freq_correct(struct COHPSK *coh, int sync, int next_sync); -int sync_state_machine(struct COHPSK *coh, int sync, int next_sync); -int cohpsk_fs_offset(COMP out[], COMP in[], int n, float sample_rate_ppm); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_mod.c b/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_mod.c deleted file mode 100644 index b3819a3..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_mod.c +++ /dev/null @@ -1,123 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: cohpsk_mod.c - AUTHOR......: David Rowe - DATE CREATED: April 5 2015 - - Given an input file of bits (note one bit per float, soft decision format), - outputs a raw file (8kHz, 16 bit shorts) of COHPSK modem samples - ready to send over a HF radio channel. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2015 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include - -#include "codec2_cohpsk.h" -#include "codec2_fdmdv.h" - -int opt_exists(char *argv[], int argc, char opt[]) { - int i; - for (i = 0; i < argc; i++) { - if (strcmp(argv[i], opt) == 0) { - return i; - } - } - return 0; -} - -int main(int argc, char *argv[]) { - FILE *fin, *fout; - struct COHPSK *cohpsk; - char tx_bits_char[2 * COHPSK_BITS_PER_FRAME]; - int tx_bits[2 * COHPSK_BITS_PER_FRAME]; - COMP tx_fdm[COHPSK_NOM_SAMPLES_PER_FRAME]; - short tx_fdm_scaled[COHPSK_NOM_SAMPLES_PER_FRAME]; - int diversity; - int i; - - if (argc < 3) { - fprintf(stderr, "\n"); - fprintf(stderr, - "usage: %s InputOneCharPerBitFile OutputModemRawFile [-nd]\n", - argv[0]); - fprintf(stderr, "\n"); - fprintf(stderr, - " --nd non-diversity mode, input frames of %d bits\n", - 2 * COHPSK_BITS_PER_FRAME); - fprintf(stderr, "\n"); - exit(1); - } - - if (strcmp(argv[1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[1], "rb")) == NULL) { - fprintf(stderr, "Error opening input file: %s: %s.\n", argv[1], - strerror(errno)); - exit(1); - } - - if (strcmp(argv[2], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[2], "wb")) == NULL) { - fprintf(stderr, "Error opening output modem sample file: %s: %s.\n", - argv[2], strerror(errno)); - exit(1); - } - - cohpsk = cohpsk_create(); - - if (opt_exists(argv, argc, "--nd")) { - diversity = 2; - } else { - diversity = 1; - } - fprintf(stderr, "diversity: %d\n", diversity); - - while (fread(tx_bits_char, sizeof(char), COHPSK_BITS_PER_FRAME * diversity, - fin) == COHPSK_BITS_PER_FRAME * diversity) { - for (i = 0; i < COHPSK_BITS_PER_FRAME * diversity; i++) - tx_bits[i] = tx_bits_char[i]; - cohpsk_mod(cohpsk, tx_fdm, tx_bits, COHPSK_BITS_PER_FRAME * diversity); - cohpsk_clip(tx_fdm, COHPSK_CLIP, COHPSK_NOM_SAMPLES_PER_FRAME); - - /* scale and save to disk as shorts */ - - for (i = 0; i < COHPSK_NOM_SAMPLES_PER_FRAME; i++) - tx_fdm_scaled[i] = COHPSK_SCALE * tx_fdm[i].real; - - fwrite(tx_fdm_scaled, sizeof(short), COHPSK_NOM_SAMPLES_PER_FRAME, fout); - - /* if this is in a pipeline, we probably don't want the usual - buffering to occur */ - - if (fout == stdout) fflush(stdout); - } - - fclose(fin); - fclose(fout); - cohpsk_destroy(cohpsk); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_put_test_bits.c b/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_put_test_bits.c deleted file mode 100644 index de41da2..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/cohpsk_put_test_bits.c +++ /dev/null @@ -1,112 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: cohpsk_put_test_bits.c - AUTHOR......: David Rowe - DATE CREATED: April 2015 - - Sinks a stream of test bits generated by cohpsk_get_test_bits, - useful for testing coh psk mod and demod. Returns 0 if BER < 0.02 - to facailtate Ctesting. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2015 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include - -#include "codec2_cohpsk.h" -#include "octave.h" - -#define LOG_FRAMES 100 - -int main(int argc, char *argv[]) { - FILE *fin, *foct; - char rx_bits[COHPSK_BITS_PER_FRAME]; - int state, i, nbits, bit_errors, nerrors; - short error_pattern[COHPSK_BITS_PER_FRAME]; - int error_positions_hist[COHPSK_BITS_PER_FRAME], logframes; - int nerr_log[LOG_FRAMES]; - struct COHPSK *coh; - - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) error_positions_hist[i] = 0; - - if (argc < 2) { - fprintf(stderr, "usage: %s InputOneCharPerBitFile [OctaveLogFile]\n", - argv[0]); - exit(1); - } - - if (strcmp(argv[1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[1], "rb")) == NULL) { - fprintf(stderr, "Error opening input file: %s: %s.\n", argv[1], - strerror(errno)); - exit(1); - } - - coh = cohpsk_create(); - - foct = NULL; - logframes = 0; - if (argc == 3) { - if ((foct = fopen(argv[2], "wt")) == NULL) { - fprintf(stderr, "Error opening output Octave file: %s: %s.\n", argv[2], - strerror(errno)); - exit(1); - } - } - - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) error_positions_hist[i] = 0; - - state = 0; - nbits = 0; - nerrors = 0; - while (fread(rx_bits, sizeof(char), COHPSK_BITS_PER_FRAME, fin) == - COHPSK_BITS_PER_FRAME) { - cohpsk_put_test_bits(coh, &state, error_pattern, &bit_errors, rx_bits, 0); - if (state == 1) { - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) - error_positions_hist[i] += error_pattern[i]; - if (logframes < LOG_FRAMES) nerr_log[logframes++] = bit_errors; - nerrors += bit_errors; - nbits += COHPSK_BITS_PER_FRAME; - } - } - - if (foct != NULL) { - octave_save_int(foct, "nerr_log_c", nerr_log, 1, logframes); - octave_save_int(foct, "error_positions_hist_c", error_positions_hist, 1, - COHPSK_BITS_PER_FRAME); - fclose(foct); - } - - fclose(fin); - float ber = (float)nerrors / nbits; - fprintf(stderr, "BER: %4.3f Nbits: %d Nerrors: %d\n", ber, nbits, nerrors); - - /* return code for Ctest - 0 for pass, 1 for fail, based on 2% BER */ - if (nbits && (ber < 0.02)) - return 0; - else - return 1; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/comp.h b/vendor/codec2_flutter_ios_only/src/codec2/src/comp.h deleted file mode 100644 index ffc20c1..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/comp.h +++ /dev/null @@ -1,38 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: comp.h - AUTHOR......: David Rowe - DATE CREATED: 24/08/09 - - Complex number definition. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __COMP__ -#define __COMP__ - -/* Complex number */ - -typedef struct { - float real; - float imag; -} COMP; - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/comp_prim.h b/vendor/codec2_flutter_ios_only/src/codec2/src/comp_prim.h deleted file mode 100644 index e0166d3..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/comp_prim.h +++ /dev/null @@ -1,138 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: comp_prim.h - AUTHOR......: David Rowe - DATE CREATED: Marh 2015 - - Complex number maths primitives. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2015 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __COMP_PRIM__ -#define __COMP_PRIM__ - -#include - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS - -\*---------------------------------------------------------------------------*/ - -inline static COMP cneg(COMP a) { - COMP res; - - res.real = -a.real; - res.imag = -a.imag; - - return res; -} - -inline static COMP cconj(COMP a) { - COMP res; - - res.real = a.real; - res.imag = -a.imag; - - return res; -} - -inline static COMP cmult(COMP a, COMP b) { - COMP res; - - res.real = a.real * b.real - a.imag * b.imag; - res.imag = a.real * b.imag + a.imag * b.real; - - return res; -} - -inline static COMP fcmult(float a, COMP b) { - COMP res; - - res.real = a * b.real; - res.imag = a * b.imag; - - return res; -} - -inline static COMP cadd(COMP a, COMP b) { - COMP res; - - res.real = a.real + b.real; - res.imag = a.imag + b.imag; - - return res; -} - -inline static float cabsolute(COMP a) { - return sqrtf((a.real * a.real) + (a.imag * a.imag)); -} - -/* - * Euler's formula in a new convenient function - */ -inline static COMP comp_exp_j(float phi) { - COMP res; - res.real = cosf(phi); - res.imag = sinf(phi); - return res; -} - -/* - * Quick and easy complex 0 - */ -inline static COMP comp0() { - COMP res; - res.real = 0; - res.imag = 0; - return res; -} - -/* - * Quick and easy complex subtract - */ -inline static COMP csub(COMP a, COMP b) { - COMP res; - res.real = a.real - b.real; - res.imag = a.imag - b.imag; - return res; -} - -/* - * Compare the magnitude of a and b. if |a|>|b|, return true, otw false. - * This needs no square roots - */ -inline static int comp_mag_gt(COMP a, COMP b) { - return ((a.real * a.real) + (a.imag * a.imag)) > - ((b.real * b.real) + (b.imag * b.imag)); -} - -/* - * Normalize a complex number's magnitude to 1 - */ -inline static COMP comp_normalize(COMP a) { - COMP b; - float av = cabsolute(a); - b.real = a.real / av; - b.imag = a.imag / av; - return b; -} - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/debug_alloc.h b/vendor/codec2_flutter_ios_only/src/codec2/src/debug_alloc.h deleted file mode 100644 index 37cc686..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/debug_alloc.h +++ /dev/null @@ -1,71 +0,0 @@ -/* debug_alloc.h - * - * Some macros which can report on malloc results. - * - * Enable with "-D DEBUG_ALLOC" - */ - -#ifndef DEBUG_ALLOC_H -#define DEBUG_ALLOC_H - -#include - -// Debug calls - -#ifdef CORTEX_M4 -extern char *__heap_end; -register char *sp asm("sp"); -#endif - -#if defined(__EMBEDDED__) -extern void *codec2_malloc(size_t size); -extern void *codec2_calloc(size_t nmemb, size_t size); -extern void codec2_free(void *ptr); -#else -#define codec2_malloc(size) (malloc(size)) -#define codec2_calloc(nmemb, size) (calloc(nmemb, size)) -#define codec2_free(ptr) (free(ptr)) -#endif // defined(__EMBEDDED__) - -static inline void *DEBUG_MALLOC(const char *func, size_t size) { - void *ptr = codec2_malloc(size); - fprintf(stderr, "MALLOC: %s %p %d", func, ptr, (int)size); -#ifdef CORTEX_M4 - - fprintf(stderr, " : sp %p ", sp); -#endif - if (!ptr) fprintf(stderr, " ** FAILED **"); - fprintf(stderr, "\n"); - return (ptr); -} - -static inline void *DEBUG_CALLOC(const char *func, size_t nmemb, size_t size) { - void *ptr = codec2_calloc(nmemb, size); - fprintf(stderr, "CALLOC: %s %p %d %d", func, ptr, (int)nmemb, (int)size); -#ifdef CORTEX_M4 - fprintf(stderr, " : sp %p ", sp); -#endif - if (!ptr) fprintf(stderr, " ** FAILED **"); - fprintf(stderr, "\n"); - return (ptr); -} -static inline void DEBUG_FREE(const char *func, void *ptr) { - codec2_free(ptr); - fprintf(stderr, "FREE: %s %p\n", func, ptr); -} - -#ifdef DEBUG_ALLOC -#define MALLOC(size) DEBUG_MALLOC(__func__, size) -#define CALLOC(nmemb, size) DEBUG_CALLOC(__func__, nmemb, size) -#define FREE(ptr) DEBUG_FREE(__func__, ptr) -#else // DEBUG_ALLOC -// Default to normal calls -#define MALLOC(size) codec2_malloc(size) - -#define CALLOC(nmemb, size) codec2_calloc(nmemb, size) - -#define FREE(ptr) codec2_free(ptr) - -#endif // DEBUG_ALLOC - -#endif // DEBUG_ALLOC_H diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/defines.h b/vendor/codec2_flutter_ios_only/src/codec2/src/defines.h deleted file mode 100644 index a2fd9ec..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/defines.h +++ /dev/null @@ -1,122 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: defines.h - AUTHOR......: David Rowe - DATE CREATED: 23/4/93 - - Defines and structures used throughout the codec. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __DEFINES__ -#define __DEFINES__ - -/*---------------------------------------------------------------------------*\ - - DEFINES - -\*---------------------------------------------------------------------------*/ - -/* General defines */ - -#define N_S 0.01 /* internal proc frame length in secs */ -#define TW_S 0.005 /* trapezoidal synth window overlap */ -#define MAX_AMP 160 /* maximum number of harmonics */ -#ifndef PI -#define PI 3.141592654 /* mathematical constant */ -#endif -#ifndef M_PI -#define M_PI 3.14159265358979323846f -#endif -#define TWO_PI 6.283185307 /* mathematical constant */ -#define MAX_STR 2048 /* maximum string size */ - -#define FFT_ENC 512 /* size of FFT used for encoder */ -#define FFT_DEC 512 /* size of FFT used in decoder */ -#define V_THRESH 6.0 /* voicing threshold in dB */ -#define LPC_ORD 10 /* LPC order */ -#define LPC_ORD_LOW 6 /* LPC order for lower rates */ - -/* Pitch estimation defines */ - -#define M_PITCH_S 0.0400 /* pitch analysis window in s */ -#define P_MIN_S 0.0025 /* minimum pitch period in s */ -#define P_MAX_S 0.0200 /* maximum pitch period in s */ - -/*---------------------------------------------------------------------------*\ - - TYPEDEFS - -\*---------------------------------------------------------------------------*/ - -/* Structure to hold constants calculated at run time based on sample rate */ - -typedef struct { - int Fs; /* sample rate of this instance */ - int n_samp; /* number of samples per 10ms frame at Fs */ - int max_amp; /* maximum number of harmonics */ - int m_pitch; /* pitch estimation window size in samples */ - int p_min; /* minimum pitch period in samples */ - int p_max; /* maximum pitch period in samples */ - float Wo_min; - float Wo_max; - int nw; /* analysis window size in samples */ - int tw; /* trapezoidal synthesis window overlap */ -} C2CONST; - -/* Structure to hold model parameters for one frame */ - -typedef struct { - float Wo; /* fundamental frequency estimate in radians */ - int L; /* number of harmonics */ - float A[MAX_AMP + 1]; /* amplitiude of each harmonic */ - float phi[MAX_AMP + 1]; /* phase of each harmonic */ - int voiced; /* non-zero if this frame is voiced */ -} MODEL; - -/* describes each codebook */ - -struct lsp_codebook { - int k; /* dimension of vector */ - int log2m; /* number of bits in m */ - int m; /* elements in codebook */ -#ifdef __EMBEDDED__ /* make sure stored in flash */ - const float *cb; /* The elements */ -#else - float *cb; /* The elements */ -#endif -}; - -extern const struct lsp_codebook lsp_cb[]; -extern const struct lsp_codebook lsp_cbd[]; -extern const struct lsp_codebook lsp_cbjmv[]; -extern const struct lsp_codebook ge_cb[]; -extern const struct lsp_codebook newamp1vq_cb[]; -extern const struct lsp_codebook newamp1_energy_cb[]; -extern const struct lsp_codebook newamp2vq_cb[]; -extern const struct lsp_codebook newamp2_energy_cb[]; - -#ifdef _GNU_SOURCE -#define POW10F(x) exp10f((x)) -#else -#define POW10F(x) expf(2.302585092994046f * (x)) -#endif - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/deframer.c b/vendor/codec2_flutter_ios_only/src/codec2/src/deframer.c deleted file mode 100644 index 2db1b36..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/deframer.c +++ /dev/null @@ -1,182 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: deframer.c - AUTHOR......: David Rowe - DATE CREATED: July 2020 - - Command line deframer, obtains UW sync, then extracts frame of data bits. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2020 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include - -#include "fsk.h" - -unsigned int toInt(char c) { - if (c >= '0' && c <= '9') return c - '0'; - if (c >= 'A' && c <= 'F') return 10 + c - 'A'; - if (c >= 'a' && c <= 'f') return 10 + c - 'a'; - return -1; -} - -int main(int argc, char *argv[]) { - FILE *fin, *fout; - - if (argc < 5) { - fprintf(stderr, - "usage: %s InOneFloatPerLLR OutOneFloatPerLLR frameSizeBits HexUW " - "[--hard]\n", - argv[0]); - fprintf(stderr, - " --hard Treat input and output files as OneBitPerByte hard " - "decisions\n"); - exit(1); - } - - if (strcmp(argv[1], "-") == 0) { - fin = stdin; - } else { - if ((fin = fopen(argv[1], "rb")) == NULL) { - fprintf(stderr, "Couldn't open input file: %s\n", argv[1]); - exit(1); - } - } - - if (strcmp(argv[2], "-") == 0) { - fout = stdout; - } else { - if ((fout = fopen(argv[2], "wb")) == NULL) { - fprintf(stderr, "Couldn't open output file: %s\n", argv[2]); - exit(1); - } - } - - /* extract UW array from hex on command line */ - - size_t framesize = atoi(argv[3]); - char *uw_hex = argv[4]; - uint8_t uw[4 * strlen(uw_hex)]; - int uwsize = 0; - for (int c = 0; c < strlen(uw_hex); c++) - for (int i = 0; i < 4; i++) - uw[uwsize++] = (toInt(uw_hex[c]) >> (3 - i)) & 0x1; /* MSB first */ - assert(uwsize == 4 * strlen(uw_hex)); - - fprintf(stderr, "uw_hex: %s uwsize: %d\n", uw_hex, uwsize); - for (int i = 0; i < uwsize; i++) fprintf(stderr, "%d ", uw[i]); - fprintf(stderr, "\n"); - - /* set up for LLRs or hard decision inputs */ - - size_t framedsize = framesize + uwsize; - int oneBitPerByte = 0; - int nelement = sizeof(float); - if (argc == 6) { - oneBitPerByte = 1; - nelement = sizeof(uint8_t); - } - uint8_t *inbuf = malloc(2 * nelement * framedsize); - assert(inbuf != NULL); - memset(inbuf, 0, 2 * nelement * framedsize); - - /* main loop */ - - uint8_t twoframes[2 * framedsize]; - memset(twoframes, 0, 2 * framedsize); - int state = 0; - int thresh1 = 0.1 * uwsize; - int thresh2 = 0.4 * uwsize; - int baduw = 0; - fprintf(stderr, "thresh1: %d thresh2: %d\n", thresh1, thresh2); - int best_location, errors; - while (fread(&inbuf[nelement * framedsize], nelement, framedsize, fin) == - framedsize) { - /* We need to maintain a two frame buffer of hard decision data for UW sync - */ - - if (oneBitPerByte) { - memcpy(&twoframes[framedsize], inbuf, framedsize); - } else { - /* convert bit LLRs to hard decisions */ - for (int i = 0; i < framedsize; i++) { - float *pllr = (float *)&inbuf[nelement * (framedsize + i)]; - if (*pllr < 0) - twoframes[framedsize + i] = 1; - else - twoframes[framedsize + i] = 0; - // fprintf(stderr, "%d %f %d\n", i, *pllr, twoframes[framedsize+i]); - } - } - - int next_state = state; - switch (state) { - case 0: - /* out of sync - look for UW */ - best_location = 0; - int best_errors = uwsize; - for (int i = 0; i < framesize; i++) { - errors = 0; - for (int u = 0; u < uwsize; u++) errors += twoframes[i + u] ^ uw[u]; - // fprintf(stderr, "%d %d %d\n", i, errors, best_errors); - if (errors < best_errors) { - best_errors = errors; - best_location = i; - } - } - if (best_errors <= thresh1) { - fprintf(stderr, "found UW!\n"); - next_state = 1; - baduw = 0; - } - break; - case 1: - /* in sync - check UW still OK */ - errors = 0; - for (int u = 0; u < uwsize; u++) - errors += twoframes[best_location + u] ^ uw[u]; - if (errors >= thresh2) { - baduw++; - if (baduw == 3) { - fprintf(stderr, "lost UW!\n"); - next_state = 0; - } - } else - baduw = 0; - break; - } - state = next_state; - - if (state == 1) { - fwrite(&inbuf[(best_location + uwsize) * nelement], nelement, framesize, - fout); - } - memmove(twoframes, &twoframes[framedsize], framedsize); - memmove(inbuf, &inbuf[nelement * framedsize], nelement * framedsize); - } - - free(inbuf); - fclose(fin); - fclose(fout); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/dump.c b/vendor/codec2_flutter_ios_only/src/codec2/src/dump.c deleted file mode 100644 index e215e33..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/dump.c +++ /dev/null @@ -1,616 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: dump.c - AUTHOR......: David Rowe - DATE CREATED: 25/8/09 - - Routines to dump data to text files for Octave analysis. - -\*---------------------------------------------------------------------------*/ - -/* - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "dump.h" - -#include -#include -#include -#include -#include - -#include "comp.h" -#include "defines.h" - -#ifdef DUMP -static int dumpon = 0; - -static FILE *fsn = NULL; -static FILE *fsw = NULL; -static FILE *few = NULL; -static FILE *fsw_ = NULL; -static FILE *fsoftdec = NULL; -static FILE *fmodel = NULL; -static FILE *fqmodel = NULL; -static FILE *fpwb = NULL; -static FILE *fpw = NULL; -static FILE *frw = NULL; -static FILE *flsp = NULL; -static FILE *fweights = NULL; -static FILE *flsp_ = NULL; -static FILE *fmel = NULL; -static FILE *fmel_indexes = NULL; -static FILE *fphase = NULL; -static FILE *fphase_ = NULL; -static FILE *ffw = NULL; -static FILE *fe = NULL; -static FILE *fsq = NULL; -static FILE *fdec = NULL; -static FILE *fsnr = NULL; -static FILE *flpcsnr = NULL; -static FILE *fak = NULL; -static FILE *fak_ = NULL; -static FILE *fbg = NULL; -static FILE *fE = NULL; -static FILE *frk = NULL; -static FILE *fhephase = NULL; - -static char prefix[MAX_STR]; - -void dump_on(char p[]) { - dumpon = 1; - strcpy(prefix, p); -} - -void dump_off() { - if (fsn != NULL) fclose(fsn); - if (fsw != NULL) fclose(fsw); - if (fsw_ != NULL) fclose(fsw_); - if (few != NULL) fclose(few); - if (fmodel != NULL) fclose(fmodel); - if (fsoftdec != NULL) fclose(fsoftdec); - if (fqmodel != NULL) fclose(fqmodel); - if (fpwb != NULL) fclose(fpwb); - if (fpw != NULL) fclose(fpw); - if (frw != NULL) fclose(frw); - if (flsp != NULL) fclose(flsp); - if (fweights != NULL) fclose(fweights); - if (flsp_ != NULL) fclose(flsp_); - if (fmel != NULL) fclose(fmel); - if (fmel_indexes != NULL) fclose(fmel_indexes); - if (fphase != NULL) fclose(fphase); - if (fphase_ != NULL) fclose(fphase_); - if (ffw != NULL) fclose(ffw); - if (fe != NULL) fclose(fe); - if (fsq != NULL) fclose(fsq); - if (fdec != NULL) fclose(fdec); - if (fsnr != NULL) fclose(fsnr); - if (flpcsnr != NULL) fclose(flpcsnr); - if (fak != NULL) fclose(fak); - if (fak_ != NULL) fclose(fak_); - if (fbg != NULL) fclose(fbg); - if (fE != NULL) fclose(fE); - if (frk != NULL) fclose(frk); - if (fhephase != NULL) fclose(fhephase); -} - -void dump_Sn(int m_pitch, float Sn[]) { - int i; - char s[MAX_STR + 7]; - - if (!dumpon) return; - - if (fsn == NULL) { - sprintf(s, "%s_sn.txt", prefix); - fsn = fopen(s, "wt"); - assert(fsn != NULL); - } - - /* split across two lines to avoid max line length problems */ - /* reconstruct in Octave */ - - for (i = 0; i < m_pitch / 2; i++) fprintf(fsn, "%f\t", Sn[i]); - fprintf(fsn, "\n"); - for (i = m_pitch / 2; i < m_pitch; i++) fprintf(fsn, "%f\t", Sn[i]); - fprintf(fsn, "\n"); -} - -void dump_Sw(COMP Sw[]) { - int i; - char s[MAX_STR + 7]; - - if (!dumpon) return; - - if (fsw == NULL) { - sprintf(s, "%s_sw.txt", prefix); - fsw = fopen(s, "wt"); - assert(fsw != NULL); - } - - for (i = 0; i < FFT_ENC / 2; i++) - fprintf(fsw, "%f\t", - 10.0 * log10(Sw[i].real * Sw[i].real + Sw[i].imag * Sw[i].imag)); - fprintf(fsw, "\n"); -} - -void dump_Sw_(COMP Sw_[]) { - int i; - char s[MAX_STR + 8]; - - if (!dumpon) return; - - if (fsw_ == NULL) { - sprintf(s, "%s_sw_.txt", prefix); - fsw_ = fopen(s, "wt"); - assert(fsw_ != NULL); - } - - for (i = 0; i < FFT_ENC / 2; i++) - fprintf( - fsw_, "%f\t", - 10.0 * log10(Sw_[i].real * Sw_[i].real + Sw_[i].imag * Sw_[i].imag)); - fprintf(fsw_, "\n"); -} - -void dump_Ew(COMP Ew[]) { - int i; - char s[MAX_STR + 7]; - - if (!dumpon) return; - - if (few == NULL) { - sprintf(s, "%s_ew.txt", prefix); - few = fopen(s, "wt"); - assert(few != NULL); - } - - for (i = 0; i < FFT_ENC / 2; i++) - fprintf(few, "%f\t", - 10.0 * log10(Ew[i].real * Ew[i].real + Ew[i].imag * Ew[i].imag)); - fprintf(few, "\n"); -} - -void dump_softdec(float *softdec, int n) { - int i; - char s[MAX_STR + 12]; - - if (!dumpon) return; - - if (fsoftdec == NULL) { - sprintf(s, "%s_softdec.txt", prefix); - fsoftdec = fopen(s, "wt"); - assert(fsoftdec != NULL); - } - - for (i = 0; i < n; i++) fprintf(fsoftdec, "%f\t", softdec[i]); - fprintf(fsoftdec, "\n"); -} - -void dump_model(MODEL *model) { - int l; - char s[MAX_STR + 10]; - char line[MAX_STR * 10]; - - if (!dumpon) return; - - if (fmodel == NULL) { - sprintf(s, "%s_model.txt", prefix); - fmodel = fopen(s, "wt"); - assert(fmodel != NULL); - } - - sprintf(line, "%12f %12d ", model->Wo, model->L); - for (l = 1; l <= model->L; l++) { - sprintf(s, "%12f ", model->A[l]); - strcat(line, s); - assert(strlen(line) < MAX_STR * 10); - } - for (l = model->L + 1; l <= MAX_AMP; l++) { - sprintf(s, "%12f ", 0.0); - strcat(line, s); - assert(strlen(line) < MAX_STR * 10); - } - - sprintf(s, "%d\n", model->voiced); - strcat(line, s); - fprintf(fmodel, "%s", line); -} - -void dump_quantised_model(MODEL *model) { - int l; - char s[MAX_STR + 11]; - char line[4096]; - - if (!dumpon) return; - - if (fqmodel == NULL) { - sprintf(s, "%s_qmodel.txt", prefix); - fqmodel = fopen(s, "wt"); - assert(fqmodel != NULL); - } - - sprintf(line, "%12f %12d ", model->Wo, model->L); - for (l = 1; l <= model->L; l++) { - sprintf(s, "%12f ", model->A[l]); - strcat(line, s); - assert(strlen(line) < 4096); - } - for (l = model->L + 1; l <= MAX_AMP; l++) { - sprintf(s, "%12f ", 0.0); - strcat(line, s); - assert(strlen(line) < 4096); - } - - sprintf(s, "%d\n", model->voiced); - strcat(line, s); - fprintf(fqmodel, "%s", line); -} - -void dump_phase(float phase[], int L) { - int l; - char s[MAX_STR + 10]; - - if (!dumpon) return; - - if (fphase == NULL) { - sprintf(s, "%s_phase.txt", prefix); - fphase = fopen(s, "wt"); - assert(fphase != NULL); - } - - for (l = 1; l <= L; l++) fprintf(fphase, "%f\t", phase[l]); - for (l = L + 1; l <= MAX_AMP; l++) fprintf(fphase, "%f\t", 0.0); - fprintf(fphase, "\n"); -} - -void dump_phase_(float phase_[], int L) { - int l; - char s[MAX_STR + 11]; - - if (!dumpon) return; - - if (fphase_ == NULL) { - sprintf(s, "%s_phase_.txt", prefix); - fphase_ = fopen(s, "wt"); - assert(fphase_ != NULL); - } - - for (l = 1; l <= L; l++) fprintf(fphase_, "%f\t", phase_[l]); - for (l = L + 1; l < MAX_AMP; l++) fprintf(fphase_, "%f\t", 0.0); - fprintf(fphase_, "\n"); -} - -void dump_hephase(int ind[], int dim) { - int m; - char s[MAX_STR + 12]; - - if (!dumpon) return; - - if (fhephase == NULL) { - sprintf(s, "%s_hephase.txt", prefix); - fhephase = fopen(s, "wt"); - assert(fhephase != NULL); - } - - for (m = 0; m < dim; m++) fprintf(fhephase, "%d\t", ind[m]); - fprintf(fhephase, "\n"); -} - -void dump_snr(float snr) { - char s[MAX_STR + 8]; - - if (!dumpon) return; - - if (fsnr == NULL) { - sprintf(s, "%s_snr.txt", prefix); - fsnr = fopen(s, "wt"); - assert(fsnr != NULL); - } - - fprintf(fsnr, "%f\n", snr); -} - -void dump_lpc_snr(float snr) { - char s[MAX_STR + 12]; - - if (!dumpon) return; - - if (flpcsnr == NULL) { - sprintf(s, "%s_lpc_snr.txt", prefix); - flpcsnr = fopen(s, "wt"); - assert(flpcsnr != NULL); - } - - fprintf(flpcsnr, "%f\n", snr); -} - -/* Pw "before" post filter so we can plot before and after */ - -void dump_Pwb(float Pwb[]) { - int i; - char s[MAX_STR + 8]; - - if (!dumpon) return; - - if (fpwb == NULL) { - sprintf(s, "%s_pwb.txt", prefix); - fpwb = fopen(s, "wt"); - assert(fpwb != NULL); - } - - for (i = 0; i < FFT_ENC / 2; i++) fprintf(fpwb, "%f\t", Pwb[i]); - fprintf(fpwb, "\n"); -} - -void dump_Pw(float Pw[]) { - int i; - char s[MAX_STR + 7]; - - if (!dumpon) return; - - if (fpw == NULL) { - sprintf(s, "%s_pw.txt", prefix); - fpw = fopen(s, "wt"); - assert(fpw != NULL); - } - - for (i = 0; i < FFT_ENC / 2; i++) fprintf(fpw, "%f\t", Pw[i]); - fprintf(fpw, "\n"); -} - -void dump_Rw(float Rw[]) { - int i; - char s[MAX_STR + 7]; - - if (!dumpon) return; - - if (frw == NULL) { - sprintf(s, "%s_rw.txt", prefix); - frw = fopen(s, "wt"); - assert(frw != NULL); - } - - for (i = 0; i < FFT_ENC / 2; i++) fprintf(frw, "%f\t", Rw[i]); - fprintf(frw, "\n"); -} - -void dump_weights(float w[], int order) { - int i; - char s[MAX_STR + 12]; - - if (!dumpon) return; - - if (fweights == NULL) { - sprintf(s, "%s_weights.txt", prefix); - fweights = fopen(s, "wt"); - assert(fweights != NULL); - } - - for (i = 0; i < order; i++) fprintf(fweights, "%f\t", w[i]); - fprintf(fweights, "\n"); -} - -void dump_lsp(float lsp[]) { - int i; - char s[MAX_STR + 8]; - - if (!dumpon) return; - - if (flsp == NULL) { - sprintf(s, "%s_lsp.txt", prefix); - flsp = fopen(s, "wt"); - assert(flsp != NULL); - } - - for (i = 0; i < 10; i++) fprintf(flsp, "%f\t", lsp[i]); - fprintf(flsp, "\n"); -} - -void dump_lsp_(float lsp_[]) { - int i; - char s[MAX_STR + 9]; - - if (!dumpon) return; - - if (flsp_ == NULL) { - sprintf(s, "%s_lsp_.txt", prefix); - flsp_ = fopen(s, "wt"); - assert(flsp_ != NULL); - } - - for (i = 0; i < 10; i++) fprintf(flsp_, "%f\t", lsp_[i]); - fprintf(flsp_, "\n"); -} - -void dump_mel(float mel[], int order) { - int i; - char s[MAX_STR + 8]; - - if (!dumpon) return; - - if (fmel == NULL) { - sprintf(s, "%s_mel.txt", prefix); - fmel = fopen(s, "wt"); - assert(fmel != NULL); - } - - for (i = 0; i < order; i++) fprintf(fmel, "%f\t", mel[i]); - fprintf(fmel, "\n"); -} - -void dump_mel_indexes(int mel_indexes[], int order) { - int i; - char s[MAX_STR + 16]; - - if (!dumpon) return; - - if (fmel_indexes == NULL) { - sprintf(s, "%s_mel_indexes.txt", prefix); - fmel_indexes = fopen(s, "wt"); - assert(fmel_indexes != NULL); - } - - for (i = 0; i < order; i++) fprintf(fmel_indexes, "%d\t", mel_indexes[i]); - fprintf(fmel_indexes, "\n"); -} - -void dump_ak(float ak[], int order) { - int i; - char s[MAX_STR + 7]; - - if (!dumpon) return; - - if (fak == NULL) { - sprintf(s, "%s_ak.txt", prefix); - fak = fopen(s, "wt"); - assert(fak != NULL); - } - - for (i = 0; i <= order; i++) fprintf(fak, "%f\t", ak[i]); - fprintf(fak, "\n"); -} - -void dump_ak_(float ak_[], int order) { - int i; - char s[MAX_STR + 8]; - - if (!dumpon) return; - - if (fak_ == NULL) { - sprintf(s, "%s_ak_.txt", prefix); - fak_ = fopen(s, "wt"); - assert(fak_ != NULL); - } - - for (i = 0; i <= order; i++) fprintf(fak_, "%f\t", ak_[i]); - fprintf(fak_, "\n"); -} - -void dump_Fw(COMP Fw[]) { - int i; - char s[MAX_STR + 7]; - - if (!dumpon) return; - - if (ffw == NULL) { - sprintf(s, "%s_fw.txt", prefix); - ffw = fopen(s, "wt"); - assert(ffw != NULL); - } - - for (i = 0; i < 256; i++) fprintf(ffw, "%f\t", Fw[i].real); - fprintf(ffw, "\n"); -} - -void dump_e(float e_hz[]) { - int i; - char s[MAX_STR + 6]; - - if (!dumpon) return; - - if (fe == NULL) { - sprintf(s, "%s_e.txt", prefix); - fe = fopen(s, "wt"); - assert(fe != NULL); - } - - for (i = 0; i < 500 / 2; i++) fprintf(fe, "%f\t", e_hz[i]); - fprintf(fe, "\n"); - for (i = 500 / 2; i < 500; i++) fprintf(fe, "%f\t", e_hz[i]); - fprintf(fe, "\n"); -} - -void dump_sq(int m_pitch, float sq[]) { - int i; - char s[MAX_STR + 7]; - - if (!dumpon) return; - - if (fsq == NULL) { - sprintf(s, "%s_sq.txt", prefix); - fsq = fopen(s, "wt"); - assert(fsq != NULL); - } - - for (i = 0; i < m_pitch / 2; i++) fprintf(fsq, "%f\t", sq[i]); - fprintf(fsq, "\n"); - for (i = m_pitch / 2; i < m_pitch; i++) fprintf(fsq, "%f\t", sq[i]); - fprintf(fsq, "\n"); -} - -void dump_dec(COMP Fw[]) { - int i; - char s[MAX_STR + 8]; - - if (!dumpon) return; - - if (fdec == NULL) { - sprintf(s, "%s_dec.txt", prefix); - fdec = fopen(s, "wt"); - assert(fdec != NULL); - } - - for (i = 0; i < 320 / 5; i++) fprintf(fdec, "%f\t", Fw[i].real); - fprintf(fdec, "\n"); -} - -void dump_bg(float e, float bg_est, float percent_uv) { - char s[MAX_STR + 7]; - - if (!dumpon) return; - - if (fbg == NULL) { - sprintf(s, "%s_bg.txt", prefix); - fbg = fopen(s, "wt"); - assert(fbg != NULL); - } - - fprintf(fbg, "%f\t%f\t%f\n", e, bg_est, percent_uv); -} - -void dump_E(float E) { - char s[MAX_STR + 6]; - - if (!dumpon) return; - - if (fE == NULL) { - sprintf(s, "%s_E.txt", prefix); - fE = fopen(s, "wt"); - assert(fE != NULL); - } - - fprintf(fE, "%f\n", 10.0 * log10(E)); -} - -#if 0 -void dump_Rk(float Rk[]) { - int i; - char s[MAX_STR]; - - if (!dumpon) return; - - if (frk == NULL) { - sprintf(s,"%s_rk.txt", prefix); - frk = fopen(s, "wt"); - assert(frk != NULL); - } - - for(i=0; i. -*/ - -#ifndef __DUMP__ -#define __DUMP__ - -#include "codec2_fft.h" -#include "codec2_internal.h" -#include "comp.h" -#include "defines.h" - -void dump_on(char filename_prefix[]); -void dump_off(); - -void dump_Sn(int m_pitch, float Sn[]); -void dump_Sw(COMP Sw[]); -void dump_Sw_(COMP Sw_[]); -void dump_Ew(COMP Ew[]); -void dump_softdec(float *softdec, int n); - -/* amplitude modelling */ - -void dump_model(MODEL *m); -void dump_quantised_model(MODEL *m); -void dump_Pwn(COMP Pw[]); -void dump_Pw(float Pw[]); -void dump_Rw(float Rw[]); -void dump_lsp(float lsp[]); -void dump_weights(float w[], int ndim); -void dump_lsp_(float lsp_[]); -void dump_mel(float mel[], int order); -void dump_mel_indexes(int mel_indexes[], int order); -void dump_ak(float ak[], int order); -void dump_ak_(float ak[], int order); -void dump_E(float E); -void dump_lpc_snr(float snr); - -/* phase modelling */ - -void dump_snr(float snr); -void dump_phase(float phase[], int L); -void dump_phase_(float phase[], int L); -void dump_hephase(int ind[], int dim); - -/* NLP states */ - -void dump_sq(int m_pitch, float sq[]); -void dump_dec(COMP Fw[]); -void dump_Fw(COMP Fw[]); -void dump_e(float e_hz[]); -#if 0 -void dump_Rk(float Rk[]); -#endif - -/* post filter */ - -void dump_bg(float e, float bg_est, float percent_uv); -void dump_Pwb(float Pwb[]); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv.c b/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv.c deleted file mode 100644 index 2a1c4a4..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv.c +++ /dev/null @@ -1,2047 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fdmdv.c - AUTHOR......: David Rowe - DATE CREATED: April 14 2012 - - Functions that implement the FDMDV modem. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2012 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -/*---------------------------------------------------------------------------*\ - - INCLUDES - -\*---------------------------------------------------------------------------*/ - -#include -#include -#include -#include -#include - -#include "codec2_fdmdv.h" -#include "codec2_fft.h" -#include "comp_prim.h" -#include "debug_alloc.h" -#include "fdmdv_internal.h" -#include "hanning.h" -#include "machdep.h" -#include "os.h" -#include "pilot_coeff.h" -#include "rn.h" -#include "rxdec_coeff.h" -#include "test_bits.h" - -static int sync_uw[] = {1, -1, 1, -1, 1, -1}; - -static const COMP pi_on_4 = {.70710678118654752439, - .70710678118654752439}; // cosf(PI/4) , sinf(PI/4) - -/*--------------------------------------------------------------------------* \ - - FUNCTION....: fdmdv_create - AUTHOR......: David Rowe - DATE CREATED: 16/4/2012 - - Create and initialise an instance of the modem. Returns a pointer - to the modem states or NULL on failure. One set of states is - sufficient for a full duplex modem. - -\*---------------------------------------------------------------------------*/ - -struct FDMDV *fdmdv_create(int Nc) { - struct FDMDV *f; - int c, i, k; - - assert(NC == FDMDV_NC_MAX); /* check public and private #defines match */ - assert(Nc <= NC); - assert(FDMDV_NOM_SAMPLES_PER_FRAME == M_FAC); - assert(FDMDV_MAX_SAMPLES_PER_FRAME == (M_FAC + M_FAC / P)); - - f = (struct FDMDV *)MALLOC(sizeof(struct FDMDV)); - if (f == NULL) return NULL; - - f->Nc = Nc; - - f->ntest_bits = Nc * NB * 4; - f->current_test_bit = 0; - f->rx_test_bits_mem = (int *)MALLOC(sizeof(int) * f->ntest_bits); - assert(f->rx_test_bits_mem != NULL); - for (i = 0; i < f->ntest_bits; i++) f->rx_test_bits_mem[i] = 0; - assert((sizeof(test_bits) / sizeof(int)) >= f->ntest_bits); - - f->old_qpsk_mapping = 0; - - f->tx_pilot_bit = 0; - - for (c = 0; c < Nc + 1; c++) { - f->prev_tx_symbols[c].real = 1.0; - f->prev_tx_symbols[c].imag = 0.0; - f->prev_rx_symbols[c].real = 1.0; - f->prev_rx_symbols[c].imag = 0.0; - - for (k = 0; k < NSYM; k++) { - f->tx_filter_memory[c][k].real = 0.0; - f->tx_filter_memory[c][k].imag = 0.0; - } - - /* Spread initial FDM carrier phase out as far as possible. - This helped PAPR for a few dB. We don't need to adjust rx - phase as DQPSK takes care of that. */ - - f->phase_tx[c].real = cosf(2.0 * PI * c / (Nc + 1)); - f->phase_tx[c].imag = sinf(2.0 * PI * c / (Nc + 1)); - - f->phase_rx[c].real = 1.0; - f->phase_rx[c].imag = 0.0; - - for (k = 0; k < NT * P; k++) { - f->rx_filter_mem_timing[c][k].real = 0.0; - f->rx_filter_mem_timing[c][k].imag = 0.0; - } - } - f->prev_tx_symbols[Nc].real = 2.0; - - fdmdv_set_fsep(f, FSEP); - f->freq[Nc].real = cosf(2.0 * PI * 0.0 / FS); - f->freq[Nc].imag = sinf(2.0 * PI * 0.0 / FS); - f->freq_pol[Nc] = 2.0 * PI * 0.0 / FS; - - f->fbb_rect.real = cosf(2.0 * PI * FDMDV_FCENTRE / FS); - f->fbb_rect.imag = sinf(2.0 * PI * FDMDV_FCENTRE / FS); - f->fbb_pol = 2.0 * PI * FDMDV_FCENTRE / FS; - f->fbb_phase_tx.real = 1.0; - f->fbb_phase_tx.imag = 0.0; - f->fbb_phase_rx.real = 1.0; - f->fbb_phase_rx.imag = 0.0; - - /* Generate DBPSK pilot Look Up Table (LUT) */ - - generate_pilot_lut(f->pilot_lut, &f->freq[Nc]); - - /* freq Offset estimation states */ - - f->fft_pilot_cfg = codec2_fft_alloc(MPILOTFFT, 0, NULL, NULL); - assert(f->fft_pilot_cfg != NULL); - - for (i = 0; i < NPILOTBASEBAND; i++) { - f->pilot_baseband1[i].real = f->pilot_baseband2[i].real = 0.0; - f->pilot_baseband1[i].imag = f->pilot_baseband2[i].imag = 0.0; - } - f->pilot_lut_index = 0; - f->prev_pilot_lut_index = 3 * M_FAC; - - for (i = 0; i < NRXDECMEM; i++) { - f->rxdec_lpf_mem[i].real = 0.0; - f->rxdec_lpf_mem[i].imag = 0.0; - } - - for (i = 0; i < NPILOTLPF; i++) { - f->pilot_lpf1[i].real = f->pilot_lpf2[i].real = 0.0; - f->pilot_lpf1[i].imag = f->pilot_lpf2[i].imag = 0.0; - } - - f->foff = 0.0; - f->foff_phase_rect.real = 1.0; - f->foff_phase_rect.imag = 0.0; - - for (i = 0; i < NRX_FDM_MEM; i++) { - f->rx_fdm_mem[i].real = 0.0; - f->rx_fdm_mem[i].imag = 0.0; - } - - f->fest_state = 0; - f->sync = 0; - f->timer = 0; - for (i = 0; i < NSYNC_MEM; i++) f->sync_mem[i] = 0; - - for (c = 0; c < Nc + 1; c++) { - f->sig_est[c] = 0.0; - f->noise_est[c] = 0.0; - } - - f->sig_pwr_av = 0.0; - f->foff_filt = 0.0; - - return f; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdmdv_destroy - AUTHOR......: David Rowe - DATE CREATED: 16/4/2012 - - Destroy an instance of the modem. - -\*---------------------------------------------------------------------------*/ - -void fdmdv_destroy(struct FDMDV *fdmdv) { - assert(fdmdv != NULL); - codec2_fft_free(fdmdv->fft_pilot_cfg); - FREE(fdmdv->rx_test_bits_mem); - FREE(fdmdv); -} - -void fdmdv_use_old_qpsk_mapping(struct FDMDV *fdmdv) { - fdmdv->old_qpsk_mapping = 1; -} - -int fdmdv_bits_per_frame(struct FDMDV *fdmdv) { return (fdmdv->Nc * NB); } - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdmdv_get_test_bits() - AUTHOR......: David Rowe - DATE CREATED: 16/4/2012 - - Generate a frame of bits from a repeating sequence of random data. OK so - it's not very random if it repeats but it makes syncing at the demod easier - for test purposes. - -\*---------------------------------------------------------------------------*/ - -void fdmdv_get_test_bits(struct FDMDV *f, int tx_bits[]) { - int i; - int bits_per_frame = fdmdv_bits_per_frame(f); - - for (i = 0; i < bits_per_frame; i++) { - tx_bits[i] = test_bits[f->current_test_bit]; - f->current_test_bit++; - if (f->current_test_bit > (f->ntest_bits - 1)) f->current_test_bit = 0; - } -} - -float fdmdv_get_fsep(struct FDMDV *f) { return f->fsep; } - -void fdmdv_set_fsep(struct FDMDV *f, float fsep) { - int c; - float carrier_freq; - - f->fsep = fsep; - - /* Set up frequency of each carrier */ - - for (c = 0; c < f->Nc / 2; c++) { - carrier_freq = (-f->Nc / 2 + c) * f->fsep; - f->freq[c].real = cosf(2.0 * PI * carrier_freq / FS); - f->freq[c].imag = sinf(2.0 * PI * carrier_freq / FS); - f->freq_pol[c] = 2.0 * PI * carrier_freq / FS; - } - - for (c = f->Nc / 2; c < f->Nc; c++) { - carrier_freq = (-f->Nc / 2 + c + 1) * f->fsep; - f->freq[c].real = cosf(2.0 * PI * carrier_freq / FS); - f->freq[c].imag = sinf(2.0 * PI * carrier_freq / FS); - f->freq_pol[c] = 2.0 * PI * carrier_freq / FS; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: bits_to_dqpsk_symbols() - AUTHOR......: David Rowe - DATE CREATED: 16/4/2012 - - Maps bits to parallel DQPSK symbols. Generate Nc+1 QPSK symbols from - vector of (1,Nc*Nb) input tx_bits. The Nc+1 symbol is the +1 -1 +1 - .... BPSK sync carrier. - -\*---------------------------------------------------------------------------*/ - -void bits_to_dqpsk_symbols(COMP tx_symbols[], int Nc, COMP prev_tx_symbols[], - int tx_bits[], int *pilot_bit, - int old_qpsk_mapping) { - int c, msb, lsb; - COMP j = {0.0, 1.0}; - - /* Map tx_bits to to Nc DQPSK symbols. Note legacy support for - old (suboptimal) V0.91 FreeDV mapping */ - - for (c = 0; c < Nc; c++) { - msb = tx_bits[2 * c]; - lsb = tx_bits[2 * c + 1]; - if ((msb == 0) && (lsb == 0)) tx_symbols[c] = prev_tx_symbols[c]; - if ((msb == 0) && (lsb == 1)) tx_symbols[c] = cmult(j, prev_tx_symbols[c]); - if ((msb == 1) && (lsb == 0)) { - if (old_qpsk_mapping) - tx_symbols[c] = cneg(prev_tx_symbols[c]); - else - tx_symbols[c] = cmult(cneg(j), prev_tx_symbols[c]); - } - if ((msb == 1) && (lsb == 1)) { - if (old_qpsk_mapping) - tx_symbols[c] = cmult(cneg(j), prev_tx_symbols[c]); - else - tx_symbols[c] = cneg(prev_tx_symbols[c]); - } - } - - /* +1 -1 +1 -1 BPSK sync carrier, once filtered becomes (roughly) - two spectral lines at +/- Rs/2 */ - - if (*pilot_bit) - tx_symbols[Nc] = cneg(prev_tx_symbols[Nc]); - else - tx_symbols[Nc] = prev_tx_symbols[Nc]; - - if (*pilot_bit) - *pilot_bit = 0; - else - *pilot_bit = 1; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: tx_filter() - AUTHOR......: David Rowe - DATE CREATED: 17/4/2012 - - Given Nc*NB bits construct M_FAC samples (1 symbol) of Nc+1 filtered - symbols streams. - -\*---------------------------------------------------------------------------*/ - -void tx_filter(COMP tx_baseband[NC + 1][M_FAC], int Nc, COMP tx_symbols[], - COMP tx_filter_memory[NC + 1][NSYM]) { - int c; - int i, j, k; - float acc; - COMP gain; - - gain.real = sqrtf(2.0) / 2.0; - gain.imag = 0.0; - - for (c = 0; c < Nc + 1; c++) - tx_filter_memory[c][NSYM - 1] = cmult(tx_symbols[c], gain); - - /* - tx filter each symbol, generate M_FAC filtered output samples for each - symbol. Efficient polyphase filter techniques used as tx_filter_memory is - sparse - */ - - for (i = 0; i < M_FAC; i++) { - for (c = 0; c < Nc + 1; c++) { - /* filter real sample of symbol for carrier c */ - - acc = 0.0; - for (j = 0, k = M_FAC - i - 1; j < NSYM; j++, k += M_FAC) - acc += M_FAC * tx_filter_memory[c][j].real * gt_alpha5_root[k]; - tx_baseband[c][i].real = acc; - - /* filter imag sample of symbol for carrier c */ - - acc = 0.0; - for (j = 0, k = M_FAC - i - 1; j < NSYM; j++, k += M_FAC) - acc += M_FAC * tx_filter_memory[c][j].imag * gt_alpha5_root[k]; - tx_baseband[c][i].imag = acc; - } - } - - /* shift memory, inserting zeros at end */ - - for (i = 0; i < NSYM - 1; i++) - for (c = 0; c < Nc + 1; c++) - tx_filter_memory[c][i] = tx_filter_memory[c][i + 1]; - - for (c = 0; c < Nc + 1; c++) { - tx_filter_memory[c][NSYM - 1].real = 0.0; - tx_filter_memory[c][NSYM - 1].imag = 0.0; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: tx_filter_and_upconvert() - AUTHOR......: David Rowe - DATE CREATED: 13 August 2014 - - Given Nc symbols construct M_FAC samples (1 symbol) of Nc+1 filtered - and upconverted symbols. - -\*---------------------------------------------------------------------------*/ - -void tx_filter_and_upconvert(COMP tx_fdm[], int Nc, COMP tx_symbols[], - COMP tx_filter_memory[NC + 1][NSYM], - COMP phase_tx[], COMP freq[], COMP *fbb_phase, - COMP fbb_rect) { - int c; - int i, j, k; - float acc; - COMP gain; - COMP tx_baseband; - COMP two = {2.0, 0.0}; - float mag; - - gain.real = sqrtf(2.0) / 2.0; - gain.imag = 0.0; - - for (i = 0; i < M_FAC; i++) { - tx_fdm[i].real = 0.0; - tx_fdm[i].imag = 0.0; - } - - for (c = 0; c < Nc + 1; c++) - tx_filter_memory[c][NSYM - 1] = cmult(tx_symbols[c], gain); - - /* - tx filter each symbol, generate M_FAC filtered output samples for - each symbol, which we then freq shift and sum with other - carriers. Efficient polyphase filter techniques used as - tx_filter_memory is sparse - */ - - for (c = 0; c < Nc + 1; c++) { - for (i = 0; i < M_FAC; i++) { - /* filter real sample of symbol for carrier c */ - - acc = 0.0; - for (j = 0, k = M_FAC - i - 1; j < NSYM; j++, k += M_FAC) - acc += M_FAC * tx_filter_memory[c][j].real * gt_alpha5_root[k]; - tx_baseband.real = acc; - - /* filter imag sample of symbol for carrier c */ - - acc = 0.0; - for (j = 0, k = M_FAC - i - 1; j < NSYM; j++, k += M_FAC) - acc += M_FAC * tx_filter_memory[c][j].imag * gt_alpha5_root[k]; - tx_baseband.imag = acc; - - /* freq shift and sum */ - - phase_tx[c] = cmult(phase_tx[c], freq[c]); - tx_fdm[i] = cadd(tx_fdm[i], cmult(tx_baseband, phase_tx[c])); - } - } - - /* shift whole thing up to carrier freq */ - - for (i = 0; i < M_FAC; i++) { - *fbb_phase = cmult(*fbb_phase, fbb_rect); - tx_fdm[i] = cmult(tx_fdm[i], *fbb_phase); - } - - /* - Scale such that total Carrier power C of real(tx_fdm) = Nc. This - excludes the power of the pilot tone. - We return the complex (single sided) signal to make frequency - shifting for the purpose of testing easier - */ - - for (i = 0; i < M_FAC; i++) tx_fdm[i] = cmult(two, tx_fdm[i]); - - /* normalise digital oscillators as the magnitude can drift over time */ - - for (c = 0; c < Nc + 1; c++) { - mag = cabsolute(phase_tx[c]); - phase_tx[c].real /= mag; - phase_tx[c].imag /= mag; - } - - mag = cabsolute(*fbb_phase); - fbb_phase->real /= mag; - fbb_phase->imag /= mag; - - /* shift memory, inserting zeros at end */ - - for (i = 0; i < NSYM - 1; i++) - for (c = 0; c < Nc + 1; c++) - tx_filter_memory[c][i] = tx_filter_memory[c][i + 1]; - - for (c = 0; c < Nc + 1; c++) { - tx_filter_memory[c][NSYM - 1].real = 0.0; - tx_filter_memory[c][NSYM - 1].imag = 0.0; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdm_upconvert() - AUTHOR......: David Rowe - DATE CREATED: 17/4/2012 - - Construct FDM signal by frequency shifting each filtered symbol - stream. Returns complex signal so we can apply frequency offsets - easily. - -\*---------------------------------------------------------------------------*/ - -void fdm_upconvert(COMP tx_fdm[], int Nc, COMP tx_baseband[NC + 1][M_FAC], - COMP phase_tx[], COMP freq[], COMP *fbb_phase, - COMP fbb_rect) { - int i, c; - COMP two = {2.0, 0.0}; - float mag; - - for (i = 0; i < M_FAC; i++) { - tx_fdm[i].real = 0.0; - tx_fdm[i].imag = 0.0; - } - - for (c = 0; c <= Nc; c++) - for (i = 0; i < M_FAC; i++) { - phase_tx[c] = cmult(phase_tx[c], freq[c]); - tx_fdm[i] = cadd(tx_fdm[i], cmult(tx_baseband[c][i], phase_tx[c])); - } - - /* shift whole thing up to carrier freq */ - - for (i = 0; i < M_FAC; i++) { - *fbb_phase = cmult(*fbb_phase, fbb_rect); - tx_fdm[i] = cmult(tx_fdm[i], *fbb_phase); - } - - /* - Scale such that total Carrier power C of real(tx_fdm) = Nc. This - excludes the power of the pilot tone. - We return the complex (single sided) signal to make frequency - shifting for the purpose of testing easier - */ - - for (i = 0; i < M_FAC; i++) tx_fdm[i] = cmult(two, tx_fdm[i]); - - /* normalise digital oscilators as the magnitude can drift over time */ - - for (c = 0; c < Nc + 1; c++) { - mag = cabsolute(phase_tx[c]); - phase_tx[c].real /= mag; - phase_tx[c].imag /= mag; - } - - mag = cabsolute(*fbb_phase); - fbb_phase->real /= mag; - fbb_phase->imag /= mag; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdmdv_mod() - AUTHOR......: David Rowe - DATE CREATED: 26/4/2012 - - FDMDV modulator, take a frame of FDMDV_BITS_PER_FRAME bits and - generates a frame of FDMDV_SAMPLES_PER_FRAME modulated symbols. - Sync bit is returned to aid alignment of your next frame. - - The sync_bit value returned will be used for the _next_ frame. - - The output signal is complex to support single sided frequency - shifting, for example when testing frequency offsets in channel - simulation. - -\*---------------------------------------------------------------------------*/ - -void fdmdv_mod(struct FDMDV *fdmdv, COMP tx_fdm[], int tx_bits[], - int *sync_bit) { - COMP tx_symbols[NC + 1]; - PROFILE_VAR(mod_start, tx_filter_and_upconvert_start); - - PROFILE_SAMPLE(mod_start); - bits_to_dqpsk_symbols(tx_symbols, fdmdv->Nc, fdmdv->prev_tx_symbols, tx_bits, - &fdmdv->tx_pilot_bit, fdmdv->old_qpsk_mapping); - memcpy(fdmdv->prev_tx_symbols, tx_symbols, sizeof(COMP) * (fdmdv->Nc + 1)); - PROFILE_SAMPLE_AND_LOG(tx_filter_and_upconvert_start, mod_start, - " bits_to_dqpsk_symbols"); - tx_filter_and_upconvert(tx_fdm, fdmdv->Nc, tx_symbols, - fdmdv->tx_filter_memory, fdmdv->phase_tx, fdmdv->freq, - &fdmdv->fbb_phase_tx, fdmdv->fbb_rect); - PROFILE_SAMPLE_AND_LOG2(tx_filter_and_upconvert_start, - " tx_filter_and_upconvert"); - - *sync_bit = fdmdv->tx_pilot_bit; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: generate_pilot_fdm() - AUTHOR......: David Rowe - DATE CREATED: 19/4/2012 - - Generate M_FAC samples of DBPSK pilot signal for Freq offset estimation. - -\*---------------------------------------------------------------------------*/ - -void generate_pilot_fdm(COMP *pilot_fdm, int *bit, float *symbol, - float *filter_mem, COMP *phase, COMP *freq) { - int i, j, k; - float tx_baseband[M_FAC]; - - /* +1 -1 +1 -1 DBPSK sync carrier, once filtered becomes (roughly) - two spectral lines at +/- RS/2 */ - - if (*bit) *symbol = -*symbol; - - if (*bit) - *bit = 0; - else - *bit = 1; - - /* filter DPSK symbol to create M_FAC baseband samples */ - - filter_mem[NFILTER - 1] = (sqrtf(2) / 2) * *symbol; - for (i = 0; i < M_FAC; i++) { - tx_baseband[i] = 0.0; - for (j = M_FAC - 1, k = M_FAC - i - 1; j < NFILTER; j += M_FAC, k += M_FAC) - tx_baseband[i] += M_FAC * filter_mem[j] * gt_alpha5_root[k]; - } - - /* shift memory, inserting zeros at end */ - - for (i = 0; i < NFILTER - M_FAC; i++) filter_mem[i] = filter_mem[i + M_FAC]; - - for (i = NFILTER - M_FAC; i < NFILTER; i++) filter_mem[i] = 0.0; - - /* upconvert */ - - for (i = 0; i < M_FAC; i++) { - *phase = cmult(*phase, *freq); - pilot_fdm[i].real = sqrtf(2) * 2 * tx_baseband[i] * phase->real; - pilot_fdm[i].imag = sqrtf(2) * 2 * tx_baseband[i] * phase->imag; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: generate_pilot_lut() - AUTHOR......: David Rowe - DATE CREATED: 19/4/2012 - - Generate a 4M sample vector of DBPSK pilot signal. As the pilot signal - is periodic in 4M samples we can then use this vector as a look up table - for pilot signal generation in the demod. - -\*---------------------------------------------------------------------------*/ - -void generate_pilot_lut(COMP pilot_lut[], COMP *pilot_freq) { - int pilot_rx_bit = 0; - float pilot_symbol = sqrtf(2.0); - COMP pilot_phase = {1.0, 0.0}; - float pilot_filter_mem[NFILTER]; - COMP pilot[M_FAC]; - int i, f; - - for (i = 0; i < NFILTER; i++) pilot_filter_mem[i] = 0.0; - - /* discard first 4 symbols as filter memory is filling, just keep - last four symbols */ - - for (f = 0; f < 8; f++) { - generate_pilot_fdm(pilot, &pilot_rx_bit, &pilot_symbol, pilot_filter_mem, - &pilot_phase, pilot_freq); - if (f >= 4) - memcpy(&pilot_lut[M_FAC * (f - 4)], pilot, M_FAC * sizeof(COMP)); - } - - // create complex conjugate since we need this and only this later on - for (f = 0; f < 4 * M_FAC; f++) { - pilot_lut[f] = cconj(pilot_lut[f]); - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: lpf_peak_pick() - AUTHOR......: David Rowe - DATE CREATED: 20/4/2012 - - LPF and peak pick part of freq est, put in a function as we call it twice. - -\*---------------------------------------------------------------------------*/ - -void lpf_peak_pick(float *foff, float *max, COMP pilot_baseband[], - COMP pilot_lpf[], codec2_fft_cfg fft_pilot_cfg, COMP S[], - int nin, int do_fft) { - int i, j, k; - int mpilot; - float mag, imax; - int ix; - float r; - - /* LPF cutoff 200Hz, so we can handle max +/- 200 Hz freq offset */ - - for (i = 0; i < NPILOTLPF - nin; i++) pilot_lpf[i] = pilot_lpf[nin + i]; - for (i = NPILOTLPF - nin, j = NPILOTBASEBAND - nin; i < NPILOTLPF; i++, j++) { - pilot_lpf[i].real = 0.0; - pilot_lpf[i].imag = 0.0; - - // STM32F4 hand optimized, this alone makes it go done from 1.6 to 1.17ms - // switching pilot_coeff to RAM (by removing const in pilot_coeff.h) would - // save another 0.11 ms at the expense of NPILOTCOEFF * 4 bytes == 120 bytes - // RAM - - if (NPILOTCOEFF % 5 == 0) { - for (k = 0; k < NPILOTCOEFF; k += 5) { - COMP i0 = - fcmult(pilot_coeff[k], pilot_baseband[j - NPILOTCOEFF + 1 + k]); - COMP i1 = fcmult(pilot_coeff[k + 1], - pilot_baseband[j - NPILOTCOEFF + 1 + k + 1]); - COMP i2 = fcmult(pilot_coeff[k + 2], - pilot_baseband[j - NPILOTCOEFF + 1 + k + 2]); - COMP i3 = fcmult(pilot_coeff[k + 3], - pilot_baseband[j - NPILOTCOEFF + 1 + k + 3]); - COMP i4 = fcmult(pilot_coeff[k + 4], - pilot_baseband[j - NPILOTCOEFF + 1 + k + 4]); - - pilot_lpf[i] = - cadd(cadd(cadd(cadd(cadd(pilot_lpf[i], i0), i1), i2), i3), i4); - } - } else { - for (k = 0; k < NPILOTCOEFF; k++) { - pilot_lpf[i] = cadd( - pilot_lpf[i], - fcmult(pilot_coeff[k], pilot_baseband[j - NPILOTCOEFF + 1 + k])); - } - } - } - - /* We only need to do FFTs if we are out of sync. Making them optional saves - CPU in sync, which is when we need to run the codec */ - - imax = 0.0; - *foff = 0.0; - for (i = 0; i < MPILOTFFT; i++) { - S[i].real = 0.0; - S[i].imag = 0.0; - } - - if (do_fft) { - /* decimate to improve DFT resolution, window and DFT */ - mpilot = FS / (2 * 200); /* calc decimation rate given new sample rate is - twice LPF freq */ - for (i = 0, j = 0; i < NPILOTLPF; i += mpilot, j++) { - S[j] = fcmult(hanning[i], pilot_lpf[i]); - } - - codec2_fft_inplace(fft_pilot_cfg, S); - - /* peak pick and convert to Hz */ - - imax = 0.0; - ix = 0; - for (i = 0; i < MPILOTFFT; i++) { - mag = S[i].real * S[i].real + S[i].imag * S[i].imag; - if (mag > imax) { - imax = mag; - ix = i; - } - } - r = 2.0 * 200.0 / MPILOTFFT; /* maps FFT bin to frequency in Hz */ - - if (ix >= MPILOTFFT / 2) - *foff = (ix - MPILOTFFT) * r; - else - *foff = (ix)*r; - } - - *max = imax; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: rx_est_freq_offset() - AUTHOR......: David Rowe - DATE CREATED: 19/4/2012 - - Estimate frequency offset of FDM signal using BPSK pilot. Note that - this algorithm is quite sensitive to pilot tone level wrt other - carriers, so test variations to the pilot amplitude carefully. - -\*---------------------------------------------------------------------------*/ - -float rx_est_freq_offset(struct FDMDV *f, COMP rx_fdm[], int nin, int do_fft) { - int i; -#ifndef FDV_ARM_MATH - int j; -#endif - COMP pilot[M_FAC + M_FAC / P]; - COMP prev_pilot[M_FAC + M_FAC / P]; - float foff, foff1, foff2; - float max1, max2; - - assert(nin <= M_FAC + M_FAC / P); - - /* get pilot samples used for correlation/down conversion of rx signal */ - - for (i = 0; i < nin; i++) { - pilot[i] = f->pilot_lut[f->pilot_lut_index]; - f->pilot_lut_index++; - if (f->pilot_lut_index >= 4 * M_FAC) f->pilot_lut_index = 0; - - prev_pilot[i] = f->pilot_lut[f->prev_pilot_lut_index]; - f->prev_pilot_lut_index++; - if (f->prev_pilot_lut_index >= 4 * M_FAC) f->prev_pilot_lut_index = 0; - } - - /* - Down convert latest M_FAC samples of pilot by multiplying by ideal - BPSK pilot signal we have generated locally. The peak of the - resulting signal is sensitive to the time shift between the - received and local version of the pilot, so we do it twice at - different time shifts and choose the maximum. - */ - - for (i = 0; i < NPILOTBASEBAND - nin; i++) { - f->pilot_baseband1[i] = f->pilot_baseband1[i + nin]; - f->pilot_baseband2[i] = f->pilot_baseband2[i + nin]; - } - -#ifndef FDV_ARM_MATH - for (i = 0, j = NPILOTBASEBAND - nin; i < nin; i++, j++) { - f->pilot_baseband1[j] = cmult(rx_fdm[i], pilot[i]); - f->pilot_baseband2[j] = cmult(rx_fdm[i], prev_pilot[i]); - } -#else - // TODO: Maybe a handwritten mult taking advantage of rx_fdm[0] being - // used twice would be faster but this is for sure faster than - // the implementation above in any case. - arm_cmplx_mult_cmplx_f32(&rx_fdm[0].real, &pilot[0].real, - &f->pilot_baseband1[NPILOTBASEBAND - nin].real, nin); - arm_cmplx_mult_cmplx_f32(&rx_fdm[0].real, &prev_pilot[0].real, - &f->pilot_baseband2[NPILOTBASEBAND - nin].real, nin); -#endif - - lpf_peak_pick(&foff1, &max1, f->pilot_baseband1, f->pilot_lpf1, - f->fft_pilot_cfg, f->S1, nin, do_fft); - lpf_peak_pick(&foff2, &max2, f->pilot_baseband2, f->pilot_lpf2, - f->fft_pilot_cfg, f->S2, nin, do_fft); - - if (max1 > max2) - foff = foff1; - else - foff = foff2; - - return foff; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdmdv_freq_shift() - AUTHOR......: David Rowe - DATE CREATED: 26/4/2012 - - Frequency shift modem signal. The use of complex input and output allows - single sided frequency shifting (no images). - -\*---------------------------------------------------------------------------*/ - -void fdmdv_freq_shift(COMP rx_fdm_fcorr[], COMP rx_fdm[], float foff, - COMP *foff_phase_rect, int nin) { - COMP foff_rect; - float mag; - int i; - - foff_rect.real = cosf(2.0 * PI * foff / FS); - foff_rect.imag = sinf(2.0 * PI * foff / FS); - for (i = 0; i < nin; i++) { - *foff_phase_rect = cmult(*foff_phase_rect, foff_rect); - rx_fdm_fcorr[i] = cmult(rx_fdm[i], *foff_phase_rect); - } - - /* normalise digital oscillator as the magnitude can drift over time */ - - mag = cabsolute(*foff_phase_rect); - foff_phase_rect->real /= mag; - foff_phase_rect->imag /= mag; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdm_downconvert - AUTHOR......: David Rowe - DATE CREATED: 22/4/2012 - - Frequency shift each modem carrier down to Nc+1 baseband signals. - -\*---------------------------------------------------------------------------*/ - -void fdm_downconvert(COMP rx_baseband[NC + 1][M_FAC + M_FAC / P], int Nc, - COMP rx_fdm[], COMP phase_rx[], COMP freq[], int nin) { - int i, c; - float mag; - - /* maximum number of input samples to demod */ - - assert(nin <= (M_FAC + M_FAC / P)); - - /* downconvert */ - - for (c = 0; c < Nc + 1; c++) - for (i = 0; i < nin; i++) { - phase_rx[c] = cmult(phase_rx[c], freq[c]); - rx_baseband[c][i] = cmult(rx_fdm[i], cconj(phase_rx[c])); - } - - /* normalise digital oscilators as the magnitude can drift over time */ - - for (c = 0; c < Nc + 1; c++) { - mag = cabsolute(phase_rx[c]); - phase_rx[c].real /= mag; - phase_rx[c].imag /= mag; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: rx_filter() - AUTHOR......: David Rowe - DATE CREATED: 22/4/2012 - - Receive filter each baseband signal at oversample rate P. Filtering at - rate P lowers CPU compared to rate M_FAC. - - Depending on the number of input samples to the demod nin, we - produce P-1, P (usually), or P+1 filtered samples at rate P. nin is - occasionally adjusted to compensate for timing slips due to - different tx and rx sample clocks. - -\*---------------------------------------------------------------------------*/ - -void rx_filter(COMP rx_filt[][P + 1], int Nc, - COMP rx_baseband[][M_FAC + M_FAC / P], - COMP rx_filter_memory[][NFILTER], int nin) { - int c, i, j, k, l; - int n = M_FAC / P; - - /* rx filter each symbol, generate P filtered output samples for - each symbol. Note we keep filter memory at rate M_FAC, it's just - the filter output at rate P */ - - for (i = 0, j = 0; i < nin; i += n, j++) { - /* latest input sample */ - - for (c = 0; c < Nc + 1; c++) - for (k = NFILTER - n, l = i; k < NFILTER; k++, l++) - rx_filter_memory[c][k] = rx_baseband[c][l]; - - /* convolution (filtering) */ - - for (c = 0; c < Nc + 1; c++) { - rx_filt[c][j].real = 0.0; - rx_filt[c][j].imag = 0.0; - for (k = 0; k < NFILTER; k++) - rx_filt[c][j] = cadd(rx_filt[c][j], - fcmult(gt_alpha5_root[k], rx_filter_memory[c][k])); - } - - /* make room for next input sample */ - - for (c = 0; c < Nc + 1; c++) - for (k = 0, l = n; k < NFILTER - n; k++, l++) - rx_filter_memory[c][k] = rx_filter_memory[c][l]; - } - - assert(j <= (P + 1)); /* check for any over runs */ -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: rxdec_filter() - AUTHOR......: David Rowe - DATE CREATED: 31 July 2014 - - +/- 1000Hz low pass filter, allows us to filter at rate Q to save CPU load. - -\*---------------------------------------------------------------------------*/ - -void rxdec_filter(COMP rx_fdm_filter[], COMP rx_fdm[], COMP rxdec_lpf_mem[], - int nin) { - int i, j, k, st; - - for (i = 0; i < NRXDECMEM - nin; i++) - rxdec_lpf_mem[i] = rxdec_lpf_mem[i + nin]; - for (i = 0, j = NRXDECMEM - nin; i < nin; i++, j++) - rxdec_lpf_mem[j] = rx_fdm[i]; - - st = NRXDECMEM - nin - NRXDEC + 1; - for (i = 0; i < nin; i++) { - rx_fdm_filter[i].real = 0.0; - for (k = 0; k < NRXDEC; k++) - rx_fdm_filter[i].real += rxdec_lpf_mem[st + i + k].real * rxdec_coeff[k]; - rx_fdm_filter[i].imag = 0.0; - for (k = 0; k < NRXDEC; k++) - rx_fdm_filter[i].imag += rxdec_lpf_mem[st + i + k].imag * rxdec_coeff[k]; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fir_filter2() - AUTHOR......: Danilo Beuche - DATE CREATED: August 2016 - - This version submitted by Danilo for the STM32F4 platform. The idea - is to avoid reading the same value from the STM32F4 "slow" flash - twice. 2-4ms of savings per frame were measured by Danilo and the mcHF - team. - -\*---------------------------------------------------------------------------*/ - -static void fir_filter2(float acc[], float mem[], const float coeff[], - const unsigned int dec_rate) { - acc[0] = 0.0; - acc[1] = 0.0; - - float c1, c2, c3, c4, c5, m1, m2, m3, m4, m5, m6, m7, m8, m9, m10, a1, a2; - float *inpCmplx = &mem[0]; - const float *coeffPtr = &coeff[0]; - - int m; - - // this manual loop unrolling gives significant boost on STM32 machines - // reduction from avg 3.2ms to 2.4ms in tfdmv.c test - // 5 was the sweet spot, with 6 it took longer again - // and should not harm other, more powerful machines - // no significant difference in output, only rounding (which was to be - // expected) - // TODO: try to move coeffs to RAM and check if it makes a significant - // difference - if (NFILTER % (dec_rate * 5) == 0) { - for (m = 0; m < NFILTER; m += dec_rate * 5) { - c1 = *coeffPtr; - - m1 = inpCmplx[0]; - m2 = inpCmplx[1]; - - inpCmplx += dec_rate * 2; - coeffPtr += dec_rate; - - c2 = *coeffPtr; - m3 = inpCmplx[0]; - m4 = inpCmplx[1]; - - inpCmplx += dec_rate * 2; - coeffPtr += dec_rate; - - c3 = *coeffPtr; - m5 = inpCmplx[0]; - m6 = inpCmplx[1]; - - inpCmplx += dec_rate * 2; - coeffPtr += dec_rate; - - c4 = *coeffPtr; - m7 = inpCmplx[0]; - m8 = inpCmplx[1]; - - inpCmplx += dec_rate * 2; - coeffPtr += dec_rate; - - c5 = *coeffPtr; - m9 = inpCmplx[0]; - m10 = inpCmplx[1]; - - inpCmplx += dec_rate * 2; - coeffPtr += dec_rate; - - a1 = c1 * m1 + c2 * m3 + c3 * m5 + c4 * m7 + c5 * m9; - a2 = c1 * m2 + c2 * m4 + c3 * m6 + c4 * m8 + c5 * m10; - acc[0] += a1; - acc[1] += a2; - } - } else { - for (m = 0; m < NFILTER; m += dec_rate) { - c1 = *coeffPtr; - - m1 = inpCmplx[0]; - m2 = inpCmplx[1]; - - inpCmplx += dec_rate * 2; - coeffPtr += dec_rate; - - a1 = c1 * m1; - a2 = c1 * m2; - acc[0] += a1; - acc[1] += a2; - } - } - acc[0] *= dec_rate; - acc[1] *= dec_rate; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: down_convert_and_rx_filter() - AUTHOR......: David Rowe - DATE CREATED: 30/6/2014 - - Combined down convert and rx filter, more memory efficient but less - intuitive design. - - Depending on the number of input samples to the demod nin, we - produce P-1, P (usually), or P+1 filtered samples at rate P. nin is - occasionally adjusted to compensate for timing slips due to - different tx and rx sample clocks. - -\*---------------------------------------------------------------------------*/ - -/* - TODO: [ ] windback phase calculated once at init time -*/ - -void down_convert_and_rx_filter(COMP rx_filt[NC + 1][P + 1], int Nc, - COMP rx_fdm[], COMP rx_fdm_mem[], - COMP phase_rx[], COMP freq[], float freq_pol[], - int nin, int dec_rate) { - int i, k, c, st, Nval; - float windback_phase, mag; - COMP windback_phase_rect; - COMP rx_baseband[NRX_FDM_MEM]; - COMP f_rect; - - // PROFILE_VAR(windback_start, downconvert_start, filter_start); - - /* update memory of rx_fdm */ - -#if 0 - for(i=0; i - nin - |--------------------------|---------| - 1 | - phase_rx(c) - - This means winding phase(c) back from this point - to ensure phase continuity. - - */ - - // PROFILE_SAMPLE(windback_start); - windback_phase = -freq_pol[c] * NFILTER; - windback_phase_rect.real = cosf(windback_phase); - windback_phase_rect.imag = sinf(windback_phase); - phase_rx[c] = cmult(phase_rx[c], windback_phase_rect); - // PROFILE_SAMPLE_AND_LOG(downconvert_start, windback_start, " windback"); - - /* down convert all samples in buffer */ - - st = NRX_FDM_MEM - 1; /* end of buffer */ - st -= nin - 1; /* first new sample */ - st -= NFILTER; /* first sample used in filtering */ - - /* freq shift per dec_rate step is dec_rate times original shift */ - - f_rect = freq[c]; - for (i = 0; i < dec_rate - 1; i++) f_rect = cmult(f_rect, freq[c]); - - for (i = st; i < NRX_FDM_MEM; i += dec_rate) { - phase_rx[c] = cmult(phase_rx[c], f_rect); - rx_baseband[i] = cmult(rx_fdm_mem[i], cconj(phase_rx[c])); - } - // PROFILE_SAMPLE_AND_LOG(filter_start, downconvert_start, " downconvert"); - - /* now we can filter this carrier's P symbols */ - - Nval = M_FAC / P; - for (i = 0, k = 0; i < nin; i += Nval, k++) { -#ifdef ORIG - rx_filt[c][k].real = 0.0; - rx_filt[c][k].imag = 0.0; - - for (m = 0; m < NFILTER; m++) - rx_filt[c][k] = cadd( - rx_filt[c][k], fcmult(gt_alpha5_root[m], rx_baseband[st + i + m])); -#else - // rx_filt[c][k].real = fir_filter(&rx_baseband[st+i].real, - // (float*)gt_alpha5_root, dec_rate); rx_filt[c][k].imag = - // fir_filter(&rx_baseband[st+i].imag, (float*)gt_alpha5_root, dec_rate); - fir_filter2(&rx_filt[c][k].real, &rx_baseband[st + i].real, - gt_alpha5_root, dec_rate); -#endif - } - // PROFILE_SAMPLE_AND_LOG2(filter_start, " filter"); - - /* normalise digital oscilators as the magnitude can drift over time */ - - mag = cabsolute(phase_rx[c]); - phase_rx[c].real /= mag; - phase_rx[c].imag /= mag; - - // printf("phase_rx[%d] = %f %f\n", c, phase_rx[c].real, phase_rx[c].imag); - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: rx_est_timing() - AUTHOR......: David Rowe - DATE CREATED: 23/4/2012 - - Estimate optimum timing offset, re-filter receive symbols at optimum - timing estimate. - -\*---------------------------------------------------------------------------*/ - -float rx_est_timing(COMP rx_symbols[], int Nc, COMP rx_filt[][P + 1], - COMP rx_filter_mem_timing[][NT * P], float env[], int nin, - int m) { - int c, i, j; - int adjust; - COMP x, phase, freq; - float rx_timing, fract, norm_rx_timing; - int low_sample, high_sample; - - /* - nin adjust - -------------------------------- - 120 -1 (one less rate P sample) - 160 0 (nominal) - 200 1 (one more rate P sample) - */ - - adjust = P - nin * P / m; - - /* update buffer of NT rate P filtered symbols */ - - for (c = 0; c < Nc + 1; c++) - for (i = 0, j = P - adjust; i < (NT - 1) * P + adjust; i++, j++) - rx_filter_mem_timing[c][i] = rx_filter_mem_timing[c][j]; - for (c = 0; c < Nc + 1; c++) - for (i = (NT - 1) * P + adjust, j = 0; i < NT * P; i++, j++) - rx_filter_mem_timing[c][i] = rx_filt[c][j]; - - /* sum envelopes of all carriers */ - - for (i = 0; i < NT * P; i++) { - env[i] = 0.0; - for (c = 0; c < Nc + 1; c++) - env[i] += cabsolute(rx_filter_mem_timing[c][i]); - } - - /* The envelope has a frequency component at the symbol rate. The - phase of this frequency component indicates the timing. So work - out single DFT at frequency 2*pi/P */ - - x.real = 0.0; - x.imag = 0.0; - freq.real = cosf(2 * PI / P); - freq.imag = sinf(2 * PI / P); - phase.real = 1.0; - phase.imag = 0.0; - - for (i = 0; i < NT * P; i++) { - x = cadd(x, fcmult(env[i], phase)); - phase = cmult(phase, freq); - } - - /* Map phase to estimated optimum timing instant at rate P. The - P/4 part was adjusted by experiment, I know not why.... */ - - norm_rx_timing = atan2f(x.imag, x.real) / (2 * PI); - assert(fabsf(norm_rx_timing) < 1.0); - rx_timing = norm_rx_timing * P + P / 4; - - if (rx_timing > P) rx_timing -= P; - if (rx_timing < -P) rx_timing += P; - - /* rx_filter_mem_timing contains Nt*P samples (Nt symbols at rate - P), where Nt is odd. Lets use linear interpolation to resample - in the centre of the timing estimation window .*/ - - rx_timing += floorf(NT / 2.0) * P; - low_sample = floorf(rx_timing); - fract = rx_timing - low_sample; - high_sample = ceilf(rx_timing); - - // printf("rx_timing: %f low_sample: %d high_sample: %d fract: %f\n", - // rx_timing, low_sample, high_sample, fract); - - for (c = 0; c < Nc + 1; c++) { - rx_symbols[c] = - cadd(fcmult(1.0 - fract, rx_filter_mem_timing[c][low_sample - 1]), - fcmult(fract, rx_filter_mem_timing[c][high_sample - 1])); - // rx_symbols[c] = rx_filter_mem_timing[c][high_sample]; - } - - /* This value will be +/- half a symbol so will wrap around at +/- - M/2 or +/- 80 samples with M=160 */ - - return norm_rx_timing * m; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: qpsk_to_bits() - AUTHOR......: David Rowe - DATE CREATED: 24/4/2012 - - Convert DQPSK symbols back to an array of bits, extracts sync bit - from DBPSK pilot, and also uses pilot to estimate fine frequency - error. - -\*---------------------------------------------------------------------------*/ - -float qpsk_to_bits(int rx_bits[], int *sync_bit, int Nc, - COMP phase_difference[], COMP prev_rx_symbols[], - COMP rx_symbols[], int old_qpsk_mapping) { - int c; - COMP d; - int msb = 0, lsb = 0; - float ferr, norm; - - /* Extra 45 degree clockwise lets us use real and imag axis as - decision boundaries. "norm" makes sure the phase subtraction - from the previous symbol doesn't affect the amplitude, which - leads to sensible scatter plots */ - - for (c = 0; c < Nc; c++) { - norm = 1.0 / (cabsolute(prev_rx_symbols[c]) + 1E-6); - phase_difference[c] = cmult( - cmult(rx_symbols[c], fcmult(norm, cconj(prev_rx_symbols[c]))), pi_on_4); - } - - /* map (Nc,1) DQPSK symbols back into an (1,Nc*Nb) array of bits */ - - for (c = 0; c < Nc; c++) { - d = phase_difference[c]; - if ((d.real >= 0) && (d.imag >= 0)) { - msb = 0; - lsb = 0; - } - if ((d.real < 0) && (d.imag >= 0)) { - msb = 0; - lsb = 1; - } - if ((d.real < 0) && (d.imag < 0)) { - if (old_qpsk_mapping) { - msb = 1; - lsb = 0; - } else { - msb = 1; - lsb = 1; - } - } - if ((d.real >= 0) && (d.imag < 0)) { - if (old_qpsk_mapping) { - msb = 1; - lsb = 1; - } else { - msb = 1; - lsb = 0; - } - } - rx_bits[2 * c] = msb; - rx_bits[2 * c + 1] = lsb; - } - - /* Extract DBPSK encoded Sync bit and fine freq offset estimate */ - - norm = 1.0 / (cabsolute(prev_rx_symbols[Nc]) + 1E-6); - phase_difference[Nc] = - cmult(rx_symbols[Nc], fcmult(norm, cconj(prev_rx_symbols[Nc]))); - if (phase_difference[Nc].real < 0) { - *sync_bit = 1; - ferr = - phase_difference[Nc].imag * norm; /* make f_err magnitude insensitive */ - } else { - *sync_bit = 0; - ferr = -phase_difference[Nc].imag * norm; - } - - /* pilot carrier gets an extra pi/4 rotation to make it consistent - with other carriers, as we need it for snr_update and scatter - diagram */ - - phase_difference[Nc] = cmult(phase_difference[Nc], pi_on_4); - - return ferr; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: snr_update() - AUTHOR......: David Rowe - DATE CREATED: 17 May 2012 - - Given phase differences update estimates of signal and noise levels. - -\*---------------------------------------------------------------------------*/ - -void snr_update(float sig_est[], float noise_est[], int Nc, - COMP phase_difference[]) { - float s[NC + 1]; - COMP refl_symbols[NC + 1]; - float n[NC + 1]; - int c; - - /* mag of each symbol is distance from origin, this gives us a - vector of mags, one for each carrier. */ - - for (c = 0; c < Nc + 1; c++) s[c] = cabsolute(phase_difference[c]); - - /* signal mag estimate for each carrier is a smoothed version of - instantaneous magntitude, this gives us a vector of smoothed - mag estimates, one for each carrier. */ - - for (c = 0; c < Nc + 1; c++) - sig_est[c] = SNR_COEFF * sig_est[c] + (1.0 - SNR_COEFF) * s[c]; - - /* noise mag estimate is distance of current symbol from average - location of that symbol. We reflect all symbols into the first - quadrant for convenience. */ - - for (c = 0; c < Nc + 1; c++) { - refl_symbols[c].real = fabsf(phase_difference[c].real); - refl_symbols[c].imag = fabsf(phase_difference[c].imag); - n[c] = cabsolute(cadd(fcmult(sig_est[c], pi_on_4), cneg(refl_symbols[c]))); - } - - /* noise mag estimate for each carrier is a smoothed version of - instantaneous noise mag, this gives us a vector of smoothed - noise power estimates, one for each carrier. */ - - for (c = 0; c < Nc + 1; c++) - noise_est[c] = SNR_COEFF * noise_est[c] + (1 - SNR_COEFF) * n[c]; -} - -// returns number of shorts in error_pattern[], one short per error - -int fdmdv_error_pattern_size(struct FDMDV *f) { return f->ntest_bits; } - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdmdv_put_test_bits() - AUTHOR......: David Rowe - DATE CREATED: 24/4/2012 - - Accepts nbits from rx and attempts to sync with test_bits sequence. - If sync OK measures bit errors. - -\*---------------------------------------------------------------------------*/ - -void fdmdv_put_test_bits(struct FDMDV *f, int *sync, short error_pattern[], - int *bit_errors, int *ntest_bits, int rx_bits[]) { - int i, j; - float ber; - int bits_per_frame = fdmdv_bits_per_frame(f); - - /* Append to our memory */ - - for (i = 0, j = bits_per_frame; i < f->ntest_bits - bits_per_frame; i++, j++) - f->rx_test_bits_mem[i] = f->rx_test_bits_mem[j]; - for (i = f->ntest_bits - bits_per_frame, j = 0; i < f->ntest_bits; i++, j++) - f->rx_test_bits_mem[i] = rx_bits[j]; - - /* see how many bit errors we get when checked against test sequence */ - - *bit_errors = 0; - for (i = 0; i < f->ntest_bits; i++) { - error_pattern[i] = test_bits[i] ^ f->rx_test_bits_mem[i]; - *bit_errors += error_pattern[i]; - // printf("%d %d %d %d\n", i, test_bits[i], f->rx_test_bits_mem[i], - // test_bits[i] ^ f->rx_test_bits_mem[i]); - } - - /* if less than a thresh we are aligned and in sync with test sequence */ - - ber = (float)*bit_errors / f->ntest_bits; - - *sync = 0; - if (ber < 0.2) *sync = 1; - - *ntest_bits = f->ntest_bits; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: freq_state(() - AUTHOR......: David Rowe - DATE CREATED: 24/4/2012 - - Freq offset state machine. Moves between coarse and fine states - based on BPSK pilot sequence. Freq offset estimator occasionally - makes mistakes when used continuously. So we use it until we have - acquired the BPSK pilot, then switch to a more robust "fine" - tracking algorithm. If we lose sync we switch back to coarse mode - for fast re-acquisition of large frequency offsets. - - The sync state is also useful for higher layers to determine when - there is valid FDMDV data for decoding. We want to reliably and - quickly get into sync, stay in sync even on fading channels, and - fall out of sync quickly if tx stops or it's a false sync. - - In multipath fading channels the BPSK sync carrier may be pushed - down in the noise, despite other carriers being at full strength. - We want to avoid loss of sync in these cases. - -\*---------------------------------------------------------------------------*/ - -int freq_state(int *reliable_sync_bit, int sync_bit, int *state, int *timer, - int *sync_mem) { - int next_state, sync, unique_word, i, corr; - - /* look for 6 symbols (120ms) 101010 of sync sequence */ - - unique_word = 0; - for (i = 0; i < NSYNC_MEM - 1; i++) sync_mem[i] = sync_mem[i + 1]; - sync_mem[i] = 1 - 2 * sync_bit; - corr = 0; - for (i = 0; i < NSYNC_MEM; i++) corr += sync_mem[i] * sync_uw[i]; - if (abs(corr) == NSYNC_MEM) unique_word = 1; - *reliable_sync_bit = (corr == NSYNC_MEM); - - /* iterate state machine */ - - next_state = *state; - switch (*state) { - case 0: - if (unique_word) { - next_state = 1; - *timer = 0; - } - break; - case 1: /* tentative sync state */ - if (unique_word) { - (*timer)++; - if (*timer == 25) /* sync has been good for 500ms */ - next_state = 2; - } else - next_state = 0; /* quickly fall out of sync */ - break; - case 2: /* good sync state */ - if (unique_word == 0) { - *timer = 0; - next_state = 3; - } - break; - case 3: /* tentative bad state, but could be a fade */ - if (unique_word) - next_state = 2; - else { - (*timer)++; - if (*timer == 50) /* wait for 1000ms in case sync comes back */ - next_state = 0; - } - break; - } - - // printf("state: %d next_state: %d uw: %d timer: %d\n", *state, next_state, - // unique_word, *timer); - *state = next_state; - if (*state) - sync = 1; - else - sync = 0; - - return sync; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdmdv_demod() - AUTHOR......: David Rowe - DATE CREATED: 26/4/2012 - - FDMDV demodulator, take an array of FDMDV_SAMPLES_PER_FRAME - modulated samples, returns an array of FDMDV_BITS_PER_FRAME bits, - plus the sync bit. - - The input signal is complex to support single sided frequency shifting - before the demod input (e.g. fdmdv2 click to tune feature). - - The number of input samples nin will normally be M_FAC == - FDMDV_SAMPLES_PER_FRAME. However to adjust for differences in - transmit and receive sample clocks nin will occasionally be M_FAC-M_FAC/P, - or M_FAC+M_FAC/P. - -\*---------------------------------------------------------------------------*/ - -void fdmdv_demod(struct FDMDV *fdmdv, int rx_bits[], int *reliable_sync_bit, - COMP rx_fdm[], int *nin) { - float foff_coarse, foff_fine; - COMP rx_fdm_fcorr[M_FAC + M_FAC / P]; - COMP rx_fdm_filter[M_FAC + M_FAC / P]; - COMP rx_fdm_bb[M_FAC + M_FAC / P]; - COMP rx_filt[NC + 1][P + 1]; - COMP rx_symbols[NC + 1]; - float env[NT * P]; - int sync_bit; - PROFILE_VAR(demod_start, fdmdv_freq_shift_start, - down_convert_and_rx_filter_start); - PROFILE_VAR(rx_est_timing_start, qpsk_to_bits_start, snr_update_start, - freq_state_start); - - /* shift down to complex baseband */ - - fdmdv_freq_shift(rx_fdm_bb, rx_fdm, -FDMDV_FCENTRE, &fdmdv->fbb_phase_rx, - *nin); - - /* freq offset estimation and correction */ - - PROFILE_SAMPLE(demod_start); - foff_coarse = rx_est_freq_offset(fdmdv, rx_fdm_bb, *nin, !fdmdv->sync); - PROFILE_SAMPLE_AND_LOG(fdmdv_freq_shift_start, demod_start, - " rx_est_freq_offset"); - - if (fdmdv->sync == 0) fdmdv->foff = foff_coarse; - fdmdv_freq_shift(rx_fdm_fcorr, rx_fdm_bb, -fdmdv->foff, - &fdmdv->foff_phase_rect, *nin); - PROFILE_SAMPLE_AND_LOG(down_convert_and_rx_filter_start, - fdmdv_freq_shift_start, " fdmdv_freq_shift"); - - /* baseband processing */ - - rxdec_filter(rx_fdm_filter, rx_fdm_fcorr, fdmdv->rxdec_lpf_mem, *nin); - down_convert_and_rx_filter(rx_filt, fdmdv->Nc, rx_fdm_filter, - fdmdv->rx_fdm_mem, fdmdv->phase_rx, fdmdv->freq, - fdmdv->freq_pol, *nin, M_FAC / Q); - PROFILE_SAMPLE_AND_LOG(rx_est_timing_start, down_convert_and_rx_filter_start, - " down_convert_and_rx_filter"); - fdmdv->rx_timing = - rx_est_timing(rx_symbols, fdmdv->Nc, rx_filt, fdmdv->rx_filter_mem_timing, - env, *nin, M_FAC); - PROFILE_SAMPLE_AND_LOG(qpsk_to_bits_start, rx_est_timing_start, - " rx_est_timing"); - - /* Adjust number of input samples to keep timing within bounds */ - - *nin = M_FAC; - - if (fdmdv->rx_timing > M_FAC / P) *nin += M_FAC / P; - - if (fdmdv->rx_timing < -M_FAC / P) *nin -= M_FAC / P; - - foff_fine = - qpsk_to_bits(rx_bits, &sync_bit, fdmdv->Nc, fdmdv->phase_difference, - fdmdv->prev_rx_symbols, rx_symbols, fdmdv->old_qpsk_mapping); - memcpy(fdmdv->prev_rx_symbols, rx_symbols, sizeof(COMP) * (fdmdv->Nc + 1)); - PROFILE_SAMPLE_AND_LOG(snr_update_start, qpsk_to_bits_start, - " qpsk_to_bits"); - snr_update(fdmdv->sig_est, fdmdv->noise_est, fdmdv->Nc, - fdmdv->phase_difference); - PROFILE_SAMPLE_AND_LOG(freq_state_start, snr_update_start, " snr_update"); - - /* freq offset estimation state machine */ - - fdmdv->sync = freq_state(reliable_sync_bit, sync_bit, &fdmdv->fest_state, - &fdmdv->timer, fdmdv->sync_mem); - PROFILE_SAMPLE_AND_LOG2(freq_state_start, " freq_state"); - fdmdv->foff -= TRACK_COEFF * foff_fine; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: calc_snr() - AUTHOR......: David Rowe - DATE CREATED: 17 May 2012 - - Calculate current SNR estimate (3000Hz noise BW) - -\*---------------------------------------------------------------------------*/ - -float calc_snr(int Nc, float sig_est[], float noise_est[]) { - float S, SdB; - float mean, N50, N50dB, N3000dB; - float snr_dB; - int c; - - S = 0.0; - for (c = 0; c < Nc + 1; c++) { - S += sig_est[c] * sig_est[c]; - } - SdB = 10.0 * log10f(S + 1E-12); - - /* Average noise mag across all carriers and square to get an - average noise power. This is an estimate of the noise power in - Rs = 50Hz of BW (note for raised root cosine filters Rs is the - noise BW of the filter) */ - - mean = 0.0; - for (c = 0; c < Nc + 1; c++) mean += noise_est[c]; - mean /= (Nc + 1); - N50 = mean * mean; - N50dB = 10.0 * log10f(N50 + 1E-12); - - /* Now multiply by (3000 Hz)/(50 Hz) to find the total noise power - in 3000 Hz */ - - N3000dB = N50dB + 10.0 * log10f(3000.0 / RS); - - snr_dB = SdB - N3000dB; - - return snr_dB; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdmdv_get_demod_stats() - AUTHOR......: David Rowe - DATE CREATED: 1 May 2012 - - Fills stats structure with a bunch of demod information. - -\*---------------------------------------------------------------------------*/ - -void fdmdv_get_demod_stats(struct FDMDV *fdmdv, struct MODEM_STATS *stats) { - assert(fdmdv->Nc <= MODEM_STATS_NC_MAX); - - stats->Nc = fdmdv->Nc; - stats->snr_est = calc_snr(fdmdv->Nc, fdmdv->sig_est, fdmdv->noise_est); - stats->sync = fdmdv->sync; - stats->foff = fdmdv->foff; - stats->rx_timing = fdmdv->rx_timing; - stats->clock_offset = 0.0; /* TODO - implement clock offset estimation */ - -#ifndef __EMBEDDED__ - stats->nr = 1; - for (int c = 0; c < fdmdv->Nc + 1; c++) { - stats->rx_symbols[0][c] = fdmdv->phase_difference[c]; - } -#endif -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdmdv_8_to_16() - AUTHOR......: David Rowe - DATE CREATED: 9 May 2012 - - Changes the sample rate of a signal from 8 to 16 kHz. Support function for - SM1000. - -\*---------------------------------------------------------------------------*/ - -void fdmdv_8_to_16(float out16k[], float in8k[], int n8k) { - int i, k, l; - float acc; - - /* this version unrolled for specific FDMDV_OS */ - - assert(FDMDV_OS == 2); - - for (i = 0; i < n8k; i++) { - acc = 0.0; - for (k = 0, l = 0; k < FDMDV_OS_TAPS_16K; k += FDMDV_OS, l++) - acc += fdmdv_os_filter[k] * in8k[i - l]; - out16k[i * FDMDV_OS] = FDMDV_OS * acc; - - acc = 0.0; - for (k = 1, l = 0; k < FDMDV_OS_TAPS_16K; k += FDMDV_OS, l++) - acc += fdmdv_os_filter[k] * in8k[i - l]; - out16k[i * FDMDV_OS + 1] = FDMDV_OS * acc; - } - - /* update filter memory */ - - for (i = -(FDMDV_OS_TAPS_8K); i < 0; i++) in8k[i] = in8k[i + n8k]; -} - -void fdmdv_8_to_16_short(short out16k[], short in8k[], int n8k) { - int i, k, l; - float acc; - - /* this version unrolled for specific FDMDV_OS */ - - assert(FDMDV_OS == 2); - - for (i = 0; i < n8k; i++) { - acc = 0.0; - for (k = 0, l = 0; k < FDMDV_OS_TAPS_16K; k += FDMDV_OS, l++) - acc += fdmdv_os_filter[k] * (float)in8k[i - l]; - out16k[i * FDMDV_OS] = FDMDV_OS * acc; - - acc = 0.0; - for (k = 1, l = 0; k < FDMDV_OS_TAPS_16K; k += FDMDV_OS, l++) - acc += fdmdv_os_filter[k] * (float)in8k[i - l]; - out16k[i * FDMDV_OS + 1] = FDMDV_OS * acc; - } - - /* update filter memory */ - - for (i = -(FDMDV_OS_TAPS_8K); i < 0; i++) in8k[i] = in8k[i + n8k]; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdmdv_16_to_8() - AUTHOR......: David Rowe - DATE CREATED: 9 May 2012 - - Changes the sample rate of a signal from 16 to 8 kHz. - - n is the number of samples at the 8 kHz rate, there are FDMDV_OS*n - samples at the 16 kHz rate. As above however a memory of - FDMDV_OS_TAPS samples is reqd for in16k[] (see t16_8.c unit test as example). - - Low pass filter the 16 kHz signal at 4 kHz using the same filter as - the upsampler, then just output every FDMDV_OS-th filtered sample. - -\*---------------------------------------------------------------------------*/ - -void fdmdv_16_to_8(float out8k[], float in16k[], int n) { - float acc; - int i, j, k; - - for (i = 0, k = 0; k < n; i += FDMDV_OS, k++) { - acc = 0.0; - for (j = 0; j < FDMDV_OS_TAPS_16K; j++) - acc += fdmdv_os_filter[j] * in16k[i - j]; - out8k[k] = acc; - } - - /* update filter memory */ - - for (i = -FDMDV_OS_TAPS_16K; i < 0; i++) in16k[i] = in16k[i + n * FDMDV_OS]; -} - -void fdmdv_16_to_8_short(short out8k[], short in16k[], int n) { - float acc; - int i, j, k; - - for (i = 0, k = 0; k < n; i += FDMDV_OS, k++) { - acc = 0.0; - for (j = 0; j < FDMDV_OS_TAPS_16K; j++) - acc += fdmdv_os_filter[j] * (float)in16k[i - j]; - out8k[k] = acc; - } - - /* update filter memory */ - - for (i = -FDMDV_OS_TAPS_16K; i < 0; i++) in16k[i] = in16k[i + n * FDMDV_OS]; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdmdv_8_to_48() - AUTHOR......: David Rowe - DATE CREATED: 9 May 2012 - - Changes the sample rate of a signal from 8 to 48 kHz. - - n is the number of samples at the 8 kHz rate, there are FDMDV_OS*n samples - at the 48 kHz rate. A memory of FDMDV_OS_TAPS_48/FDMDV_OS samples is reqd for - in8k[] (see t48_8.c unit test as example). - -\*---------------------------------------------------------------------------*/ - -void fdmdv_8_to_48(float out48k[], float in8k[], int n) { - int i, j, k, l; - - for (i = 0; i < n; i++) { - for (j = 0; j < FDMDV_OS_48; j++) { - out48k[i * FDMDV_OS_48 + j] = 0.0; - for (k = 0, l = 0; k < FDMDV_OS_TAPS_48K; k += FDMDV_OS_48, l++) - out48k[i * FDMDV_OS_48 + j] += fdmdv_os_filter48[k + j] * in8k[i - l]; - out48k[i * FDMDV_OS_48 + j] *= FDMDV_OS_48; - } - } - - /* update filter memory */ - - for (i = -FDMDV_OS_TAPS_48_8K; i < 0; i++) in8k[i] = in8k[i + n]; -} - -void fdmdv_8_to_48_short(short out48k[], short in8k[], int n) { - int i, j, k, l; - float acc; - - for (i = 0; i < n; i++) { - for (j = 0; j < FDMDV_OS_48; j++) { - acc = 0.0; - for (k = 0, l = 0; k < FDMDV_OS_TAPS_48K; k += FDMDV_OS_48, l++) - acc += fdmdv_os_filter48[k + j] * in8k[i - l]; - out48k[i * FDMDV_OS_48 + j] = acc * FDMDV_OS_48; - } - } - - /* update filter memory */ - - for (i = -FDMDV_OS_TAPS_48_8K; i < 0; i++) in8k[i] = in8k[i + n]; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdmdv_48_to_8() - AUTHOR......: David Rowe - DATE CREATED: 9 May 2012 - - Changes the sample rate of a signal from 48 to 8 kHz. - - n is the number of samples at the 8 kHz rate, there are FDMDV_OS_48*n - samples at the 48 kHz rate. As above however a memory of - FDMDV_OS_TAPS_48 samples is reqd for in48k[] (see t48_8.c unit test as -example). - -\*---------------------------------------------------------------------------*/ - -void fdmdv_48_to_8(float out8k[], float in48k[], int n) { - int i, j; - - for (i = 0; i < n; i++) { - out8k[i] = 0.0; - for (j = 0; j < FDMDV_OS_TAPS_48K; j++) - out8k[i] += fdmdv_os_filter48[j] * in48k[i * FDMDV_OS_48 - j]; - } - - /* update filter memory */ - - for (i = -FDMDV_OS_TAPS_48K; i < 0; i++) - in48k[i] = in48k[i + n * FDMDV_OS_48]; -} - -void fdmdv_48_to_8_short(short out8k[], short in48k[], int n) { - int i, j; - float acc; - - for (i = 0; i < n; i++) { - acc = 0.0; - for (j = 0; j < FDMDV_OS_TAPS_48K; j++) - acc += fdmdv_os_filter48[j] * in48k[i * FDMDV_OS_48 - j]; - out8k[i] = acc; - } - - /* update filter memory */ - - for (i = -FDMDV_OS_TAPS_48K; i < 0; i++) - in48k[i] = in48k[i + n * FDMDV_OS_48]; -} - -/*---------------------------------------------------------------------------*\ - - Function used during development to test if magnitude of digital - oscillators was drifting. It was! - -\*---------------------------------------------------------------------------*/ - -void fdmdv_dump_osc_mags(struct FDMDV *f) { - int i; - - fprintf(stderr, "phase_tx[]:\n"); - for (i = 0; i <= f->Nc; i++) - fprintf(stderr, " %1.3f", (double)cabsolute(f->phase_tx[i])); - fprintf(stderr, "\nfreq[]:\n"); - for (i = 0; i <= f->Nc; i++) - fprintf(stderr, " %1.3f", (double)cabsolute(f->freq[i])); - fprintf(stderr, "\nfoff_phase_rect: %1.3f", - (double)cabsolute(f->foff_phase_rect)); - fprintf(stderr, "\nphase_rx[]:\n"); - for (i = 0; i <= f->Nc; i++) - fprintf(stderr, " %1.3f", (double)cabsolute(f->phase_rx[i])); - fprintf(stderr, "\n\n"); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: randn() - AUTHOR......: David Rowe - DATE CREATED: 2 August 2014 - - Simple approximation to normal (gaussian) random number generator - with 0 mean and unit variance. - -\*---------------------------------------------------------------------------*/ - -#define RANDN_IT \ - 12 /* This magic number of iterations gives us a \ - unit variance. I think because var = \ - (b-a)^2/12 for one uniform random variable, so \ - for a sum of n random variables it's \ - n(b-a)^2/12, or for b=1, a = 0, n=12, we get \ - var = 12(1-0)^2/12 = 1 */ - -static float randn() { - int i; - float rn = 0.0; - - for (i = 0; i < RANDN_IT; i++) rn += (float)rand() / RAND_MAX; - - rn -= (float)RANDN_IT / 2.0; - return rn; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdmdv_simulate_channel() - AUTHOR......: David Rowe - DATE CREATED: 10 July 2014 - - Simple channel simulation function to aid in testing. Target SNR - uses noise measured in a 3 kHz bandwidth. - - Doesn't use fdmdv states so can be called from anywhere, e.g. non - fdmdv applications. - - TODO: Measured SNR is coming out a few dB higher than target_snr, this - needs to be fixed. - -\*---------------------------------------------------------------------------*/ - -void fdmdv_simulate_channel(float *sig_pwr_av, COMP samples[], int nin, - float target_snr) { - float sig_pwr, target_snr_linear, noise_pwr, noise_pwr_1Hz, noise_pwr_4000Hz, - noise_gain; - int i; - - /* prevent NAN when we divide by nin below */ - if (nin == 0) return; - - /* estimate signal power */ - - sig_pwr = 0.0; - for (i = 0; i < nin; i++) - sig_pwr += - samples[i].real * samples[i].real + samples[i].imag * samples[i].imag; - - sig_pwr /= nin; - - *sig_pwr_av = 0.9 * *sig_pwr_av + 0.1 * sig_pwr; - - /* det noise to meet target SNR */ - - target_snr_linear = POW10F(target_snr / 10.0); - noise_pwr = *sig_pwr_av / target_snr_linear; /* noise pwr in a 3000 Hz BW */ - noise_pwr_1Hz = noise_pwr / 3000.0; /* noise pwr in a 1 Hz bandwidth */ - noise_pwr_4000Hz = - noise_pwr_1Hz * 4000.0; /* noise pwr in a 4000 Hz BW, which - due to fs=8000 Hz in our simulation noise BW */ - - noise_gain = sqrtf( - 0.5 * noise_pwr_4000Hz); /* split noise pwr between real and imag sides */ - - for (i = 0; i < nin; i++) { - samples[i].real += noise_gain * randn(); - samples[i].imag += noise_gain * randn(); - } - /* - fprintf(stderr, "sig_pwr: %f f->sig_pwr_av: %e target_snr_linear: %f - noise_pwr_4000Hz: %e noise_gain: %e\n", sig_pwr, *sig_pwr_av, - target_snr_linear, noise_pwr_4000Hz, noise_gain); - */ -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv_demod.c b/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv_demod.c deleted file mode 100644 index e3ef8a7..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv_demod.c +++ /dev/null @@ -1,257 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fdmdv_demod.c - AUTHOR......: David Rowe - DATE CREATED: April 30 2012 - - Given an input raw file (8kHz, 16 bit shorts) of FDMDV modem samples - outputs a file of bits. The output file is assumed to be arranged - as codec frames of 56 bits (7 bytes) which are received as two 28 - bit modem frames. - - Demod states can be optionally logged to an Octave file for display - using the Octave script fdmdv_demod_c.m. This is useful for - checking demod performance. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2012 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include - -#include "codec2_fdmdv.h" -#include "debug_alloc.h" -#include "freedv_api.h" -#include "octave.h" - -/* lof of information we want to dump to Octave */ - -#define MAX_FRAMES 50 * 60 /* 1 minute at 50 symbols/s */ - -int main(int argc, char *argv[]) { - FILE *fin, *fout; - struct FDMDV *fdmdv; - char *packed_bits; - int *rx_bits; - int *codec_bits; - COMP rx_fdm[FDMDV_MAX_SAMPLES_PER_FRAME]; - short rx_fdm_scaled[FDMDV_MAX_SAMPLES_PER_FRAME]; - int i, bit, byte, c; - int nin, nin_prev; - int sync_bit = 0, reliable_sync_bit; - int sync = 0; - int f; - FILE *foct = NULL; - struct MODEM_STATS stats; - COMP *rx_fdm_log; - int rx_fdm_log_col_index; - COMP *rx_symbols_log; - int sync_log[MAX_FRAMES]; - float rx_timing_log[MAX_FRAMES]; - float foff_log[MAX_FRAMES]; - int sync_bit_log[MAX_FRAMES]; - int rx_bits_log[FDMDV_BITS_PER_FRAME * MAX_FRAMES]; - float snr_est_log[MAX_FRAMES]; - float *rx_spec_log; - int max_frames_reached; - int bits_per_fdmdv_frame; - int bits_per_codec_frame; - int bytes_per_codec_frame; - int Nc; - - if (argc < 2) { - printf("usage: %s InputModemRawFile OutputBitFile [Nc [OctaveDumpFile]]\n", - argv[0]); - printf("e.g %s hts1a_fdmdv.raw hts1a.c2\n", argv[0]); - exit(1); - } - - if (strcmp(argv[1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[1], "rb")) == NULL) { - fprintf(stderr, "Error opening input modem sample file: %s: %s.\n", argv[1], - strerror(errno)); - exit(1); - } - - if (strcmp(argv[2], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[2], "wb")) == NULL) { - fprintf(stderr, "Error opening output bit file: %s: %s.\n", argv[2], - strerror(errno)); - exit(1); - } - - if (argc >= 4) { - Nc = atoi(argv[3]); - - if ((Nc < 2) || (Nc > FDMDV_NC_MAX)) { - fprintf(stderr, "Error number of carriers must be between 2 and %d\n", - FDMDV_NC_MAX); - exit(1); - } - } else - Nc = FDMDV_NC; - - fdmdv = fdmdv_create(Nc); - modem_stats_open(&stats); - - bits_per_fdmdv_frame = fdmdv_bits_per_frame(fdmdv); - bits_per_codec_frame = 2 * fdmdv_bits_per_frame(fdmdv); - bytes_per_codec_frame = (bits_per_codec_frame + 7) / 8; - - /* malloc some buffers that are dependent on Nc */ - - packed_bits = (char *)MALLOC(bytes_per_codec_frame); - assert(packed_bits != NULL); - rx_bits = (int *)MALLOC(sizeof(int) * bits_per_codec_frame); - assert(rx_bits != NULL); - codec_bits = (int *)MALLOC(2 * sizeof(int) * bits_per_fdmdv_frame); - assert(codec_bits != NULL); - - /* malloc some of the larger variables to prevent out of stack problems */ - - rx_fdm_log = - (COMP *)MALLOC(sizeof(COMP) * FDMDV_MAX_SAMPLES_PER_FRAME * MAX_FRAMES); - assert(rx_fdm_log != NULL); - rx_spec_log = (float *)MALLOC(sizeof(float) * MODEM_STATS_NSPEC * MAX_FRAMES); - assert(rx_spec_log != NULL); - rx_symbols_log = (COMP *)MALLOC(sizeof(COMP) * (Nc + 1) * MAX_FRAMES); - assert(rx_fdm_log != NULL); - - f = 0; - nin = FDMDV_NOM_SAMPLES_PER_FRAME; - rx_fdm_log_col_index = 0; - max_frames_reached = 0; - - while (fread(rx_fdm_scaled, sizeof(short), nin, fin) == nin) { - for (i = 0; i < nin; i++) { - rx_fdm[i].real = (float)rx_fdm_scaled[i] / FDMDV_SCALE; - rx_fdm[i].imag = 0; - } - nin_prev = nin; - fdmdv_demod(fdmdv, rx_bits, &reliable_sync_bit, rx_fdm, &nin); - - /* log data for optional Octave dump */ - - if (f < MAX_FRAMES) { - fdmdv_get_demod_stats(fdmdv, &stats); - - /* log modem states for later dumping to Octave log file */ - - memcpy(&rx_fdm_log[rx_fdm_log_col_index], rx_fdm, - sizeof(COMP) * nin_prev); - rx_fdm_log_col_index += nin_prev; - - for (c = 0; c < Nc + 1; c++) - rx_symbols_log[f * (Nc + 1) + c] = stats.rx_symbols[0][c]; - foff_log[f] = stats.foff; - rx_timing_log[f] = stats.rx_timing; - sync_log[f] = stats.sync; - sync_bit_log[f] = sync_bit; - memcpy(&rx_bits_log[bits_per_fdmdv_frame * f], rx_bits, - sizeof(int) * bits_per_fdmdv_frame); - snr_est_log[f] = stats.snr_est; - - modem_stats_get_rx_spectrum(&stats, &rx_spec_log[f * MODEM_STATS_NSPEC], - rx_fdm, nin_prev); - - f++; - } - - if ((f == MAX_FRAMES) && !max_frames_reached) { - fprintf(stderr, "MAX_FRAMES exceed in Octave log, log truncated\n"); - max_frames_reached = 1; - } - - if (reliable_sync_bit) sync = 1; - // printf("sync_bit: %d reliable_sync_bit: %d sync: %d\n", sync_bit, - // reliable_sync_bit, sync); - - if (sync == 0) { - memcpy(codec_bits, rx_bits, bits_per_fdmdv_frame * sizeof(int)); - sync = 1; - } else { - memcpy(&codec_bits[bits_per_fdmdv_frame], rx_bits, - bits_per_fdmdv_frame * sizeof(int)); - - /* pack bits, MSB received first */ - - bit = 7; - byte = 0; - memset(packed_bits, 0, bytes_per_codec_frame); - for (i = 0; i < bits_per_codec_frame; i++) { - packed_bits[byte] |= (codec_bits[i] << bit); - bit--; - if (bit < 0) { - bit = 7; - byte++; - } - } - - fwrite(packed_bits, sizeof(char), bytes_per_codec_frame, fout); - sync = 0; - } - - /* if this is in a pipeline, we probably don't want the usual - buffering to occur */ - - if (fout == stdout) fflush(stdout); - } - - /* Optional dump to Octave log file */ - - if (argc == 5) { - if ((foct = fopen(argv[4], "wt")) == NULL) { - fprintf(stderr, "Error opening Octave dump file: %s: %s.\n", argv[4], - strerror(errno)); - exit(1); - } - octave_save_complex(foct, "rx_fdm_log_c", rx_fdm_log, 1, - rx_fdm_log_col_index, FDMDV_MAX_SAMPLES_PER_FRAME); - octave_save_complex(foct, "rx_symbols_log_c", (COMP *)rx_symbols_log, - Nc + 1, f, MAX_FRAMES); - octave_save_float(foct, "foff_log_c", foff_log, 1, f, MAX_FRAMES); - octave_save_float(foct, "rx_timing_log_c", rx_timing_log, 1, f, MAX_FRAMES); - octave_save_int(foct, "sync_log_c", sync_log, 1, f); - octave_save_int(foct, "rx_bits_log_c", rx_bits_log, 1, - bits_per_fdmdv_frame * f); - octave_save_int(foct, "sync_bit_log_c", sync_bit_log, 1, f); - octave_save_float(foct, "snr_est_log_c", snr_est_log, 1, f, MAX_FRAMES); - octave_save_float(foct, "rx_spec_log_c", rx_spec_log, f, MODEM_STATS_NSPEC, - MODEM_STATS_NSPEC); - fclose(foct); - } - - // fdmdv_dump_osc_mags(fdmdv); - - fclose(fin); - fclose(fout); - FREE(rx_fdm_log); - FREE(rx_spec_log); - fdmdv_destroy(fdmdv); - - if (packed_bits != NULL) FREE(packed_bits); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv_get_test_bits.c b/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv_get_test_bits.c deleted file mode 100644 index 013a870..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv_get_test_bits.c +++ /dev/null @@ -1,124 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fdmdv_get_test_bits.c - AUTHOR......: David Rowe - DATE CREATED: 1 May 2012 - - Generates a file of packed test bits, useful for input to fdmdv_mod. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2012 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include - -#include "codec2_fdmdv.h" - -int main(int argc, char *argv[]) { - FILE *fout; - struct FDMDV *fdmdv; - char *packed_bits; - int *tx_bits; - int n, i, bit, byte; - int numBits, nCodecFrames; - int bits_per_fdmdv_frame; - int bits_per_codec_frame; - int bytes_per_codec_frame; - int Nc; - - if (argc < 3) { - printf("usage: %s OutputBitFile numBits [Nc]\n", argv[0]); - printf("e.g %s test.c2 1400\n", argv[0]); - exit(1); - } - - if (strcmp(argv[1], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[1], "wb")) == NULL) { - fprintf(stderr, "Error opening output bit file: %s: %s.\n", argv[1], - strerror(errno)); - exit(1); - } - - numBits = atoi(argv[2]); - - if (argc == 4) { - Nc = atoi(argv[3]); - if ((Nc < 2) || (Nc > FDMDV_NC_MAX)) { - fprintf(stderr, "Error number of carriers must be btween 2 and %d\n", - FDMDV_NC_MAX); - exit(1); - } - } else - Nc = FDMDV_NC; - - fdmdv = fdmdv_create(Nc); - - bits_per_fdmdv_frame = fdmdv_bits_per_frame(fdmdv); - bits_per_codec_frame = 2 * fdmdv_bits_per_frame(fdmdv); - bytes_per_codec_frame = (bits_per_codec_frame + 7) / 8; - fprintf(stderr, - "bits_per_fdmdv_frame: %d bits_per_codec_frame: %d " - "bytes_per_codec_frame: %d\n", - bits_per_fdmdv_frame, bits_per_codec_frame, bytes_per_codec_frame); - - packed_bits = (char *)malloc(bytes_per_codec_frame); - assert(packed_bits != NULL); - tx_bits = (int *)malloc(sizeof(int) * bits_per_codec_frame); - assert(tx_bits != NULL); - - nCodecFrames = numBits / bits_per_codec_frame; - - for (n = 0; n < nCodecFrames; n++) { - fdmdv_get_test_bits(fdmdv, tx_bits); - fdmdv_get_test_bits(fdmdv, &tx_bits[bits_per_fdmdv_frame]); - - /* pack bits, MSB received first */ - - bit = 7; - byte = 0; - memset(packed_bits, 0, bytes_per_codec_frame); - for (i = 0; i < bits_per_codec_frame; i++) { - packed_bits[byte] |= (tx_bits[i] << bit); - bit--; - if (bit < 0) { - bit = 7; - byte++; - } - } - - fwrite(packed_bits, sizeof(char), bytes_per_codec_frame, fout); - - /* if this is in a pipeline, we probably don't want the usual - buffering to occur */ - - if (fout == stdout) fflush(stdout); - } - - free(tx_bits); - free(packed_bits); - fclose(fout); - fdmdv_destroy(fdmdv); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv_internal.h b/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv_internal.h deleted file mode 100644 index cb3bea2..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv_internal.h +++ /dev/null @@ -1,213 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fdmdv_internal.h - AUTHOR......: David Rowe - DATE CREATED: April 16 2012 - - Header file for FDMDV internal functions, exposed via this header - file for testing. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2012 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __FDMDV_INTERNAL__ -#define __FDMDV_INTERNAL__ - -#include "codec2_fdmdv.h" -#include "codec2_fft.h" -#include "comp.h" - -/*---------------------------------------------------------------------------*\ - - DEFINES - -\*---------------------------------------------------------------------------*/ - -#ifndef PI -#define PI 3.141592654 -#endif -#define FS 8000 /* sample rate in Hz */ -#define FS_VOICE_8K 8000 /* speech sample rate, 8000 Hz */ -#define FS_VOICE_16K 16000 /* speech sample rate, 16000 Hz */ -#define T (1.0 / FS) /* sample period in seconds */ -#define RS 50 /* symbol rate in Hz */ -#define NC 20 /* max number of data carriers (plus one pilot in the centre) */ -#define NB 2 /* Bits/symbol for QPSK modulation */ -#define RB (NC * RS * NB) /* bit rate */ -#define M_FAC (FS / RS) /* oversampling factor */ -#define NSYM 6 /* number of symbols to filter over */ -#define NFILTER (NSYM * M_FAC) /* size of tx/rx filters at sample rate M */ - -#define FSEP 75 /* Default separation between carriers (Hz) */ - -#define NT 5 /* number of symbols we estimate timing over */ -#define P 4 /* oversampling for initial rx symbol filtering output */ -#define Q (M_FAC / 4) /* oversampling for initial rx symbol filtering input */ -#define NRXDEC 31 /* number of taps in the rx decimation filter */ - -#define NPILOT_LUT (4 * M_FAC) /* number of pilot look up table samples */ -#define NPILOTCOEFF 30 /* number of FIR filter coeffs in LP filter */ -/* number of pilot baseband samples reqd for pilot LPF */ -#define NPILOTBASEBAND (NPILOTCOEFF + M_FAC + M_FAC / P) -/* number of samples we DFT pilot over, pilot est window */ -#define NPILOTLPF (4 * M_FAC) -#define MPILOTFFT 256 - -#define NSYNC_MEM 6 - -/* size of rx filter memory */ -#define NRX_FDM_MEM (NFILTER + M_FAC + M_FAC / P) -/* size of rx decimation filter memory */ -#define NRXDECMEM (NRXDEC + M_FAC + M_FAC / P) - -/* averaging filter coeffs */ - -#define TRACK_COEFF 0.5 -#define SNR_COEFF 0.9 /* SNR est averaging filter coeff */ - -/*---------------------------------------------------------------------------*\ - - STRUCT for States - -\*---------------------------------------------------------------------------*/ - -struct FDMDV { - int Nc; - float fsep; - - /* test data (test frame) states */ - - int ntest_bits; - int current_test_bit; - int *rx_test_bits_mem; - - /* Modulator */ - - int old_qpsk_mapping; - int tx_pilot_bit; - COMP prev_tx_symbols[NC + 1]; - COMP tx_filter_memory[NC + 1][NSYM]; - COMP phase_tx[NC + 1]; - COMP freq[NC + 1]; - float freq_pol[NC + 1]; - - /* Pilot generation at demodulator */ - - COMP pilot_lut[NPILOT_LUT]; - int pilot_lut_index; - int prev_pilot_lut_index; - - /* freq offset estimation states */ - - codec2_fft_cfg fft_pilot_cfg; - COMP pilot_baseband1[NPILOTBASEBAND]; - COMP pilot_baseband2[NPILOTBASEBAND]; - COMP pilot_lpf1[NPILOTLPF]; - COMP pilot_lpf2[NPILOTLPF]; - COMP S1[MPILOTFFT]; - COMP S2[MPILOTFFT]; - - /* baseband to low IF carrier states */ - - COMP fbb_rect; - float fbb_pol; - COMP fbb_phase_tx; - COMP fbb_phase_rx; - - /* freq offset correction states */ - - float foff; - COMP foff_phase_rect; - float foff_filt; - - /* Demodulator */ - - COMP rxdec_lpf_mem[NRXDECMEM]; - COMP rx_fdm_mem[NRX_FDM_MEM]; - COMP phase_rx[NC + 1]; - COMP rx_filter_mem_timing[NC + 1][NT * P]; - float rx_timing; - COMP phase_difference[NC + 1]; - COMP prev_rx_symbols[NC + 1]; - - /* sync state machine */ - - int sync_mem[NSYNC_MEM]; - int fest_state; - int sync; - int timer; - - /* SNR estimation states */ - - float sig_est[NC + 1]; - float noise_est[NC + 1]; - - /* channel simulation */ - - float sig_pwr_av; -}; - -/*---------------------------------------------------------------------------*\ - - FUNCTION PROTOTYPES - -\*---------------------------------------------------------------------------*/ - -void bits_to_dqpsk_symbols(COMP tx_symbols[], int Nc, COMP prev_tx_symbols[], - int tx_bits[], int *pilot_bit, int old_qpsk_mapping); -void tx_filter(COMP tx_baseband[NC + 1][M_FAC], int Nc, COMP tx_symbols[], - COMP tx_filter_memory[NC + 1][NSYM]); -void fdm_upconvert(COMP tx_fdm[], int Nc, COMP tx_baseband[NC + 1][M_FAC], - COMP phase_tx[], COMP freq_tx[], COMP *fbb_phase, - COMP fbb_rect); -void tx_filter_and_upconvert(COMP tx_fdm[], int Nc, COMP tx_symbols[], - COMP tx_filter_memory[NC + 1][NSYM], - COMP phase_tx[], COMP freq[], COMP *fbb_phase, - COMP fbb_rect); -void generate_pilot_fdm(COMP *pilot_fdm, int *bit, float *symbol, - float *filter_mem, COMP *phase, COMP *freq); -void generate_pilot_lut(COMP pilot_lut[], COMP *pilot_freq); -float rx_est_freq_offset(struct FDMDV *f, COMP rx_fdm[], int nin, int do_fft); -void lpf_peak_pick(float *foff, float *max, COMP pilot_baseband[], - COMP pilot_lpf[], codec2_fft_cfg fft_pilot_cfg, COMP S[], - int nin, int do_fft); -void fdm_downconvert(COMP rx_baseband[NC + 1][M_FAC + M_FAC / P], int Nc, - COMP rx_fdm[], COMP phase_rx[], COMP freq[], int nin); -void rxdec_filter(COMP rx_fdm_filter[], COMP rx_fdm[], COMP rxdec_lpf_mem[], - int nin); -void rx_filter(COMP rx_filt[][P + 1], int Nc, - COMP rx_baseband[][M_FAC + M_FAC / P], - COMP rx_filter_memory[][NFILTER], int nin); -void down_convert_and_rx_filter(COMP rx_filt[NC + 1][P + 1], int Nc, - COMP rx_fdm[], COMP rx_fdm_mem[], - COMP phase_rx[], COMP freq[], float freq_pol[], - int nin, int dec_rate); -float rx_est_timing(COMP rx_symbols[], int Nc, COMP rx_filt[][P + 1], - COMP rx_filter_mem_timing[][NT * P], float env[], int nin, - int m); -float qpsk_to_bits(int rx_bits[], int *sync_bit, int Nc, - COMP phase_difference[], COMP prev_rx_symbols[], - COMP rx_symbols[], int old_qpsk_mapping); -void snr_update(float sig_est[], float noise_est[], int Nc, - COMP phase_difference[]); -int freq_state(int *reliable_sync_bit, int sync_bit, int *state, int *timer, - int *sync_mem); -float calc_snr(int Nc, float sig_est[], float noise_est[]); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv_mod.c b/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv_mod.c deleted file mode 100644 index 2ad2237..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv_mod.c +++ /dev/null @@ -1,163 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fdmdv_mod.c - AUTHOR......: David Rowe - DATE CREATED: April 28 2012 - - Given an input file of bits outputs a raw file (8kHz, 16 bit shorts) - of FDMDV modem samples ready to send over a HF radio channel. The - input file is assumed to be arranged as codec frames of 56 bits (7 - bytes) which we send as two 28 bit modem frames. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2012 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include - -#include "codec2_fdmdv.h" - -int main(int argc, char *argv[]) { - FILE *fin, *fout; - struct FDMDV *fdmdv; - char *packed_bits; - int *tx_bits; - COMP tx_fdm[2 * FDMDV_NOM_SAMPLES_PER_FRAME]; - short tx_fdm_scaled[2 * FDMDV_NOM_SAMPLES_PER_FRAME]; - int i, bit, byte; - int sync_bit; - int bits_per_fdmdv_frame; - int bits_per_codec_frame; - int bytes_per_codec_frame; - int Nc; -#ifdef CHANNEL_SIM - COMP foff_phase_rect; - float foff; -#endif - - if (argc < 3) { - printf("usage: %s InputBitFile OutputModemRawFile [Nc]\n", argv[0]); - printf("e.g %s hts1a.c2 hts1a_fdmdv.raw\n", argv[0]); - exit(1); - } - - if (strcmp(argv[1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[1], "rb")) == NULL) { - fprintf(stderr, "Error opening input bit file: %s: %s.\n", argv[1], - strerror(errno)); - exit(1); - } - - if (strcmp(argv[2], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[2], "wb")) == NULL) { - fprintf(stderr, "Error opening output modem sample file: %s: %s.\n", - argv[2], strerror(errno)); - exit(1); - } - - if (argc == 4) { - Nc = atoi(argv[3]); - - if ((Nc < 2) || (Nc > FDMDV_NC_MAX)) { - fprintf(stderr, "Error number of carriers must be between 2 and %d\n", - FDMDV_NC_MAX); - exit(1); - } - } else - Nc = FDMDV_NC; - - fdmdv = fdmdv_create(Nc); - - bits_per_fdmdv_frame = fdmdv_bits_per_frame(fdmdv); - bits_per_codec_frame = 2 * fdmdv_bits_per_frame(fdmdv); - bytes_per_codec_frame = (bits_per_codec_frame + 7) / 8; - - packed_bits = (char *)malloc(bytes_per_codec_frame); - assert(packed_bits != NULL); - tx_bits = (int *)malloc(sizeof(int) * bits_per_codec_frame); - assert(tx_bits != NULL); - -#ifdef CHANNEL_SIM - foff = -100; - foff_phase_rect.real = 1.0; - foff_phase_rect.imag = 0.0; -#endif - - while (fread(packed_bits, sizeof(char), bytes_per_codec_frame, fin) == - bytes_per_codec_frame) { - /* unpack bits, MSB first */ - - bit = 7; - byte = 0; - for (i = 0; i < bits_per_codec_frame; i++) { - tx_bits[i] = (packed_bits[byte] >> bit) & 0x1; - bit--; - if (bit < 0) { - bit = 7; - byte++; - } - } - - /* modulate even and odd frames */ - - fdmdv_mod(fdmdv, tx_fdm, tx_bits, &sync_bit); - assert(sync_bit == 1); - - fdmdv_mod(fdmdv, &tx_fdm[FDMDV_NOM_SAMPLES_PER_FRAME], - &tx_bits[bits_per_fdmdv_frame], &sync_bit); - assert(sync_bit == 0); - -#ifdef CHANNEL_SIM - /* optional freq shift and channel simulation */ - - fdmdv_freq_shift(tx_fdm, tx_fdm, foff, &foff_phase_rect, - 2 * FDMDV_NOM_SAMPLES_PER_FRAME); - fdmdv_simulate_channel(&sig_pwr_av, tx_fdm, 2 * FDMDV_NOM_SAMPLES_PER_FRAME, - 10.0); -#endif - - /* scale and save to disk as shorts */ - - for (i = 0; i < 2 * FDMDV_NOM_SAMPLES_PER_FRAME; i++) - tx_fdm_scaled[i] = FDMDV_SCALE * tx_fdm[i].real; - - fwrite(tx_fdm_scaled, sizeof(short), 2 * FDMDV_NOM_SAMPLES_PER_FRAME, fout); - - /* if this is in a pipeline, we probably don't want the usual - buffering to occur */ - - if (fout == stdout) fflush(stdout); - } - - // fdmdv_dump_osc_mags(fdmdv); - - free(tx_bits); - free(packed_bits); - fclose(fin); - fclose(fout); - fdmdv_destroy(fdmdv); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv_put_test_bits.c b/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv_put_test_bits.c deleted file mode 100644 index 01bb3f3..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fdmdv_put_test_bits.c +++ /dev/null @@ -1,167 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fdmdv_put_test_bits.c - AUTHOR......: David Rowe - DATE CREATED: 1 May 2012 - - Using a file of packed test bits as input, determines bit error - rate. Useful for testing fdmdv_demod. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2012 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include - -#include "codec2_fdmdv.h" - -int main(int argc, char *argv[]) { - FILE *fin; - struct FDMDV *fdmdv; - char *packed_bits; - int *rx_bits; - int i, bit, byte; - int test_frame_sync, bit_errors, total_bit_errors, total_bits, ntest_bits; - int test_frame_sync_state, test_frame_count; - int bits_per_fdmdv_frame; - int bits_per_codec_frame; - int bytes_per_codec_frame; - int Nc; - short *error_pattern; - - if (argc < 2) { - printf("usage: %s InputBitFile [Nc]\n", argv[0]); - printf("e.g %s test.c2\n", argv[0]); - exit(1); - } - - if (strcmp(argv[1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[1], "rb")) == NULL) { - fprintf(stderr, "Error opening input bit file: %s: %s.\n", argv[1], - strerror(errno)); - exit(1); - } - - if (argc == 3) { - Nc = atoi(argv[2]); - if ((Nc < 2) || (Nc > FDMDV_NC_MAX)) { - fprintf(stderr, "Error number of carriers must be between 2 and %d\n", - FDMDV_NC_MAX); - exit(1); - } - } else - Nc = FDMDV_NC; - - fdmdv = fdmdv_create(Nc); - - bits_per_fdmdv_frame = fdmdv_bits_per_frame(fdmdv); - bits_per_codec_frame = 2 * fdmdv_bits_per_frame(fdmdv); - bytes_per_codec_frame = (bits_per_codec_frame + 7) / 8; - fprintf(stderr, - "bits_per_fdmdv_frame: %d bits_per_codec_frame: %d " - "bytes_per_codec_frame: %d\n", - bits_per_fdmdv_frame, bits_per_codec_frame, bytes_per_codec_frame); - - packed_bits = (char *)malloc(bytes_per_codec_frame); - assert(packed_bits != NULL); - rx_bits = (int *)malloc(sizeof(int) * bits_per_codec_frame); - assert(rx_bits != NULL); - - error_pattern = - (short *)malloc(fdmdv_error_pattern_size(fdmdv) * sizeof(int)); - assert(error_pattern != NULL); - - total_bit_errors = 0; - total_bits = 0; - test_frame_sync_state = 0; - test_frame_count = 0; - - while (fread(packed_bits, sizeof(char), bytes_per_codec_frame, fin) == - bytes_per_codec_frame) { - /* unpack bits, MSB first */ - - bit = 7; - byte = 0; - for (i = 0; i < bits_per_codec_frame; i++) { - rx_bits[i] = (packed_bits[byte] >> bit) & 0x1; - // printf("%d 0x%x %d\n", i, packed_bits[byte], rx_bits[i]); - bit--; - if (bit < 0) { - bit = 7; - byte++; - } - } - - fdmdv_put_test_bits(fdmdv, &test_frame_sync, error_pattern, &bit_errors, - &ntest_bits, rx_bits); - - if (test_frame_sync == 1) { - test_frame_sync_state = 1; - test_frame_count = 0; - } - - if (test_frame_sync_state) { - if (test_frame_count == 0) { - total_bit_errors += bit_errors; - total_bits = total_bits + ntest_bits; - printf("+"); - } else - printf("-"); - test_frame_count++; - if (test_frame_count == 4) test_frame_count = 0; - } else - printf("-"); - - fdmdv_put_test_bits(fdmdv, &test_frame_sync, error_pattern, &bit_errors, - &ntest_bits, &rx_bits[bits_per_fdmdv_frame]); - - if (test_frame_sync == 1) { - test_frame_sync_state = 1; - test_frame_count = 0; - } - - if (test_frame_sync_state) { - if (test_frame_count == 0) { - total_bit_errors += bit_errors; - total_bits = total_bits + ntest_bits; - printf("+"); - } else - printf("-"); - test_frame_count++; - if (test_frame_count == 4) test_frame_count = 0; - } else - printf("-"); - } - - fclose(fin); - free(error_pattern); - fdmdv_destroy(fdmdv); - - printf("\nbits %d errors %d BER %1.4f\n", total_bits, total_bit_errors, - (float)total_bit_errors / (1E-6 + total_bits)); - - if (packed_bits != NULL) free(packed_bits); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/filter.c b/vendor/codec2_flutter_ios_only/src/codec2/src/filter.c deleted file mode 100644 index 2842a69..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/filter.c +++ /dev/null @@ -1,288 +0,0 @@ -/* - Copyright (C) 2018 James C. Ahlstrom - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "filter.h" - -#include -#include -#include -#include - -#include "debug_alloc.h" -#include "filter_coef.h" - -#define cmplx(value) (cosf(value) + sinf(value) * I) - -/* - * This is a library of filter functions. They were copied from Quisk and - * converted to single precision. - */ - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS...: quisk_filt_cfInit - AUTHOR......: Jim Ahlstrom - DATE CREATED: 27 August 2015 - MODIFIED: 4 June 2018 - - Initialize a FIR filter that has complex samples, and either real or complex -coefficients. - -\*---------------------------------------------------------------------------*/ - -void quisk_filt_cfInit(struct quisk_cfFilter *filter, float *coefs, int taps) { - // Prepare a new filter using coefs and taps. Samples are complex. - // Coefficients can be real or complex. - filter->dCoefs = coefs; - filter->cpxCoefs = NULL; - filter->cSamples = (complex float *)MALLOC(taps * sizeof(complex float)); - memset(filter->cSamples, 0, taps * sizeof(complex float)); - filter->ptcSamp = filter->cSamples; - filter->nTaps = taps; - filter->cBuf = NULL; - filter->nBuf = 0; - filter->decim_index = 0; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS...: quisk_filt_destroy - AUTHOR......: Jim Ahlstrom - DATE CREATED: 27 August 2015 - MODIFIED: 4 June 2018 - - Destroy the FIR filter and free all resources. - -\*---------------------------------------------------------------------------*/ - -void quisk_filt_destroy(struct quisk_cfFilter *filter) { - if (filter->cSamples) { - FREE(filter->cSamples); - filter->cSamples = NULL; - } - - if (filter->cBuf) { - FREE(filter->cBuf); - filter->cBuf = NULL; - } - - if (filter->cpxCoefs) { - FREE(filter->cpxCoefs); - filter->cpxCoefs = NULL; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS...: quisk_cfInterpDecim - AUTHOR......: Jim Ahlstrom - DATE CREATED: 27 August 2015 - MODIFIED: 4 June 2018 - - Take an array of samples cSamples of length count, multiply the sample rate - by interp, and then divide the sample rate by decim. Return the new number - of samples. Each specific interp and decim will require its own custom - low pass FIR filter with real coefficients. - -\*---------------------------------------------------------------------------*/ - -int quisk_cfInterpDecim(complex float *cSamples, int count, - struct quisk_cfFilter *filter, int interp, int decim) { - // Interpolate by interp, and then decimate by decim. - // This uses the float coefficients of filter (not the complex). Samples are - // complex. - int i, k, nOut; - float *ptCoef; - complex float *ptSample; - complex float csample; - - if (count > filter->nBuf) { // increase size of sample buffer - filter->nBuf = count * 2; - - if (filter->cBuf) FREE(filter->cBuf); - - filter->cBuf = - (complex float *)MALLOC(filter->nBuf * sizeof(complex float)); - } - - memcpy(filter->cBuf, cSamples, count * sizeof(complex float)); - nOut = 0; - - for (i = 0; i < count; i++) { - // Put samples into buffer left to right. Use samples right to left. - *filter->ptcSamp = filter->cBuf[i]; - - while (filter->decim_index < interp) { - ptSample = filter->ptcSamp; - ptCoef = filter->dCoefs + filter->decim_index; - csample = 0; - - for (k = 0; k < filter->nTaps / interp; k++, ptCoef += interp) { - csample += *ptSample * *ptCoef; - - if (--ptSample < filter->cSamples) - ptSample = filter->cSamples + filter->nTaps - 1; - } - - cSamples[nOut] = csample * interp; - nOut++; - filter->decim_index += decim; - } - - if (++filter->ptcSamp >= filter->cSamples + filter->nTaps) - filter->ptcSamp = filter->cSamples; - - filter->decim_index = filter->decim_index - interp; - } - - return nOut; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS...: quisk_ccfInterpDecim - AUTHOR......: Jim Ahlstrom - DATE CREATED: 7 June 2018 - - Take an array of samples cSamples of length count, multiply the sample rate - by interp, and then divide the sample rate by decim. Return the new number - of samples. Each specific interp and decim will require its own custom - low pass FIR filter with complex coefficients. This filter can be tuned. - - This filter is not currently used. - -\*---------------------------------------------------------------------------*/ -#if 0 -int quisk_ccfInterpDecim(complex float * cSamples, int count, struct quisk_cfFilter * filter, int interp, int decim) { - // Interpolate by interp, and then decimate by decim. - // This uses the complex coefficients of filter (not the real). Samples are complex. - int i, k, nOut; - complex float * ptCoef; - complex float * ptSample; - complex float csample; - - if (count > filter->nBuf) { // increase size of sample buffer - filter->nBuf = count * 2; - if (filter->cBuf) - FREE(filter->cBuf); - filter->cBuf = (complex float *)MALLOC(filter->nBuf * sizeof(complex float)); - } - - memcpy(filter->cBuf, cSamples, count * sizeof(complex float)); - nOut = 0; - - for (i = 0; i < count; i++) { - // Put samples into buffer left to right. Use samples right to left. - *filter->ptcSamp = filter->cBuf[i]; - - while (filter->decim_index < interp) { - ptSample = filter->ptcSamp; - ptCoef = filter->cpxCoefs + filter->decim_index; - csample = 0; - - for (k = 0; k < filter->nTaps / interp; k++, ptCoef += interp) { - csample += *ptSample * *ptCoef; - - if (--ptSample < filter->cSamples) - ptSample = filter->cSamples + filter->nTaps - 1; - } - - cSamples[nOut] = csample * interp; - nOut++; - filter->decim_index += decim; - } - - if (++filter->ptcSamp >= filter->cSamples + filter->nTaps) - filter->ptcSamp = filter->cSamples; - - filter->decim_index = filter->decim_index - interp; - } - - return nOut; -} -#endif - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS...: quisk_cfTune - AUTHOR......: Jim Ahlstrom - DATE CREATED: 4 June 2018 - - Tune a low pass filter with float coefficients into an analytic I/Q bandpass -filter with complex coefficients. The "freq" is the center frequency / sample -rate. If the float coefs represent a low pass filter with bandwidth 1 kHz, the -new bandpass filter has width 2 kHz. The filter can be re-tuned repeatedly. - -\*---------------------------------------------------------------------------*/ - -void quisk_cfTune(struct quisk_cfFilter *filter, float freq) { - float D, tune; - int i; - - if (!filter->cpxCoefs) - filter->cpxCoefs = - (complex float *)MALLOC(filter->nTaps * sizeof(complex float)); - - tune = 2.0 * M_PI * freq; - D = (filter->nTaps - 1.0) / 2.0; - - for (i = 0; i < filter->nTaps; i++) { - float tval = tune * (i - D); - filter->cpxCoefs[i] = cmplx(tval) * filter->dCoefs[i]; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS...: quisk_ccfFilter - AUTHOR......: Jim Ahlstrom - DATE CREATED: 4 June 2018 - - Filter complex samples using complex coefficients. The inSamples and -outSamples may be the same array. The loop runs forward over coefficients but -backwards over samples. Therefore, the coefficients must be reversed unless they -are created by quisk_cfTune. Low pass filter coefficients are symmetrical, so -this does not usually matter. - -\*---------------------------------------------------------------------------*/ - -void quisk_ccfFilter(complex float *inSamples, complex float *outSamples, - int count, struct quisk_cfFilter *filter) { - int i, k; - complex float *ptSample; - complex float *ptCoef; - complex float accum; - - for (i = 0; i < count; i++) { - *filter->ptcSamp = inSamples[i]; - accum = 0; - ptSample = filter->ptcSamp; - ptCoef = filter->cpxCoefs; - - for (k = 0; k < filter->nTaps; k++, ptCoef++) { - accum += *ptSample * *ptCoef; - - if (--ptSample < filter->cSamples) - ptSample = filter->cSamples + filter->nTaps - 1; - } - - outSamples[i] = accum; - - if (++filter->ptcSamp >= filter->cSamples + filter->nTaps) - filter->ptcSamp = filter->cSamples; - } -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/filter.h b/vendor/codec2_flutter_ios_only/src/codec2/src/filter.h deleted file mode 100644 index 087c9b6..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/filter.h +++ /dev/null @@ -1,50 +0,0 @@ -/* - Copyright (C) 2018 James C. Ahlstrom - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __FILTER__ -#define __FILTER__ - -#include - -struct quisk_cfFilter { // Structure to hold the static data for FIR filters - float *dCoefs; // real filter coefficients - complex float *cpxCoefs; // complex filter coefficients - int nBuf; // dimension of cBuf - int nTaps; // dimension of dSamples, cSamples, dCoefs - int decim_index; // index of next sample for decimation - complex float *cSamples; // storage for old samples - complex float *ptcSamp; // next available position in cSamples - complex float *cBuf; // auxiliary buffer for interpolation -}; - -extern int quisk_cfInterpDecim(complex float *, int, struct quisk_cfFilter *, - int, int); -extern void quisk_filt_cfInit(struct quisk_cfFilter *, float *, int); -extern void quisk_filt_destroy(struct quisk_cfFilter *); -extern void quisk_cfTune(struct quisk_cfFilter *, float); -extern void quisk_ccfFilter(complex float *, complex float *, int, - struct quisk_cfFilter *); - -extern float filtP400S600[100]; -extern float filtP550S750[160]; -extern float filtP650S900[100]; -extern float filtP900S1100[100]; -extern float filtP1100S1300[100]; -extern float filtP200S400[100]; -extern float quiskFilt120t480[480]; - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/filter_coef.h b/vendor/codec2_flutter_ios_only/src/codec2/src/filter_coef.h deleted file mode 100644 index 48fab27..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/filter_coef.h +++ /dev/null @@ -1,478 +0,0 @@ -/* - Copyright (C) 2018 James C. Ahlstrom - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -/* - These are the coefficients for various FIR filters. A declaration of these - filter coefficients is in filter.h. Multiple filters can use these - coefficients because they are read-only. - - Although a sample rate is specified, the filters may be used at other sample - rates. For example, if filtP750S1040 is used at 48000 sps, the pass and stop - frequencies are 4500 and 6240 Hz. -*/ - -// Low pass filter, sample rate 8000 hz, 0.2 dB ripple, 100 dB atten, pass 550 -// Hz, stop 750 Hz. Used to build 700D BPF -float filtP550S750[160] = { - 0.000001500540125945, 0.000020553368071006, 0.000052842049763802, - 0.000112071233638701, 0.000202565299657164, 0.000325476960438197, - 0.000474396686568771, 0.000633746562372497, 0.000778858561033731, - 0.000878592697224500, 0.000900611877226272, 0.000818750000130019, - 0.000621157718914443, 0.000317269738067462, -0.000058614729046822, - -0.000448959090901751, -0.000780751290682747, -0.000978953969922609, - -0.000983534965413392, -0.000766540799920385, -0.000344938705664714, - 0.000214927788687815, 0.000804118320944653, 0.001289527679116282, - 0.001541598437149897, 0.001466078039230554, 0.001032493743140772, - 0.000291727467744814, -0.000623607913580581, -0.001518948630011706, - -0.002175907515711935, -0.002402252989524116, -0.002082876981631170, - -0.001219318501019004, 0.000053915753894017, 0.001483599323867600, - 0.002743518309691092, 0.003504691193108974, 0.003515993126242027, - 0.002676486805582815, 0.001080325423865147, -0.000980649349095093, - -0.003062866925046052, -0.004660487490214220, -0.005321805637618908, - -0.004767235761853469, -0.002979877569160189, -0.000242864453416682, - 0.002892365745006815, 0.005707645107750651, 0.007473145256589892, - 0.007624527169837005, 0.005921569713871673, 0.002547381438730890, - -0.001883079571618079, -0.006418195698900790, -0.009958090016198632, - -0.011502199858687428, -0.010403943660694560, -0.006572745274759415, - -0.000569370325758693, 0.006440667006225166, 0.012881777376768124, - 0.017083918451421990, 0.017661533458054445, 0.013877952730549446, - 0.005912685575826365, -0.005037640104142052, -0.016864250576905999, - -0.026855876467499887, -0.032168177048912679, -0.030370760878632559, - -0.019967289813872333, -0.000782327027950076, 0.025871098651626040, - 0.057290144048617792, 0.089743290905422241, 0.119038289777397190, - 0.141198609990722840, 0.153125933205703250, 0.153125933205703250, - 0.141198609990722840, 0.119038289777397190, 0.089743290905422241, - 0.057290144048617792, 0.025871098651626040, -0.000782327027950076, - -0.019967289813872333, -0.030370760878632559, -0.032168177048912679, - -0.026855876467499887, -0.016864250576905999, -0.005037640104142052, - 0.005912685575826365, 0.013877952730549446, 0.017661533458054445, - 0.017083918451421990, 0.012881777376768124, 0.006440667006225166, - -0.000569370325758693, -0.006572745274759415, -0.010403943660694560, - -0.011502199858687428, -0.009958090016198632, -0.006418195698900790, - -0.001883079571618079, 0.002547381438730890, 0.005921569713871673, - 0.007624527169837005, 0.007473145256589892, 0.005707645107750651, - 0.002892365745006815, -0.000242864453416682, -0.002979877569160189, - -0.004767235761853469, -0.005321805637618908, -0.004660487490214220, - -0.003062866925046052, -0.000980649349095093, 0.001080325423865147, - 0.002676486805582815, 0.003515993126242027, 0.003504691193108974, - 0.002743518309691092, 0.001483599323867600, 0.000053915753894017, - -0.001219318501019004, -0.002082876981631170, -0.002402252989524116, - -0.002175907515711935, -0.001518948630011706, -0.000623607913580581, - 0.000291727467744814, 0.001032493743140772, 0.001466078039230554, - 0.001541598437149897, 0.001289527679116282, 0.000804118320944653, - 0.000214927788687815, -0.000344938705664714, -0.000766540799920385, - -0.000983534965413392, -0.000978953969922609, -0.000780751290682747, - -0.000448959090901751, -0.000058614729046822, 0.000317269738067462, - 0.000621157718914443, 0.000818750000130019, 0.000900611877226272, - 0.000878592697224500, 0.000778858561033731, 0.000633746562372497, - 0.000474396686568771, 0.000325476960438197, 0.000202565299657164, - 0.000112071233638701, 0.000052842049763802, 0.000020553368071006, - 0.000001500540125945}; - -/* - Low pass filter, sample rate 8000 Hz, 60dB dB atten, pass 400 Hz, stop 600 Hz - Used for datac0/datac1 - Generated using Octave: - - octave:170> h = fir1(99, 1000/8000); - octave:171> save_array_c_header(h,"filtP400S600","t.h") -*/ - -float filtP400S600[100] = { - 0.0002190442859529, 0.0000253865765807, -0.0001891607957119, - -0.0004060215259363, -0.0006000085594001, -0.0007388342366621, - -0.0007857143550906, -0.0007055101203620, -0.0004737796456378, - -0.0000870157214033, 0.0004284822493668, 0.0010119603553043, - 0.0015702670713406, 0.0019880170510650, 0.0021456291121880, - 0.0019431076070540, 0.0013256670818267, 0.0003060762051584, - -0.0010217279135397, -0.0024824214174461, -0.0038352454444032, - -0.0048061266813482, -0.0051327431531073, -0.0046162222656579, - -0.0031708262919099, -0.0008619578234589, 0.0020765315052916, - 0.0052523330844492, 0.0081546351293169, 0.0102217640867241, - 0.0109290873716773, 0.0098852729183138, 0.0069220529480671, - 0.0021618869962732, -0.0039502956265373, -0.0106608379232220, - -0.0169699130332444, -0.0217388847493965, -0.0238311162893102, - -0.0222687242579450, -0.0163838891184744, -0.0059424763426467, - 0.0087797880290842, 0.0269827101964810, 0.0473946488239843, - 0.0683898571372469, 0.0881575538806286, 0.1049023332507096, - 0.1170504418131305, 0.1234349185246360, 0.1234349185246360, - 0.1170504418131306, 0.1049023332507097, 0.0881575538806286, - 0.0683898571372469, 0.0473946488239843, 0.0269827101964810, - 0.0087797880290842, -0.0059424763426467, -0.0163838891184744, - -0.0222687242579450, -0.0238311162893102, -0.0217388847493965, - -0.0169699130332444, -0.0106608379232220, -0.0039502956265373, - 0.0021618869962732, 0.0069220529480671, 0.0098852729183138, - 0.0109290873716773, 0.0102217640867241, 0.0081546351293169, - 0.0052523330844492, 0.0020765315052916, -0.0008619578234589, - -0.0031708262919099, -0.0046162222656579, -0.0051327431531073, - -0.0048061266813482, -0.0038352454444032, -0.0024824214174461, - -0.0010217279135397, 0.0003060762051584, 0.0013256670818267, - 0.0019431076070540, 0.0021456291121880, 0.0019880170510650, - 0.0015702670713406, 0.0010119603553043, 0.0004284822493668, - -0.0000870157214033, -0.0004737796456378, -0.0007055101203620, - -0.0007857143550906, -0.0007388342366621, -0.0006000085594001, - -0.0004060215259363, -0.0001891607957119, 0.0000253865765807, - 0.0002190442859529}; - -/* - Low pass filter, sample rate 8000 Hz, 60dB dB atten, pass 650 Hz, stop 900 Hz - Alternate filter for use with 700D and clipper. A little extra bandwidth - helps reduce PAPR. - - Generated using Octave: - octave:170> h = fir1(100, 1500/8000); - octave:171> save_array_c_header(h,"filtP650S900","t.h") -*/ - -float filtP650S900[100] = { - -0.0003447438107989, -0.0000773443016821, 0.0002396774493908, - 0.0005183973970710, 0.0006638187313266, 0.0005975981831705, - 0.0002897687607439, -0.0002119524114060, -0.0007715254253800, - -0.0011873172727259, -0.0012521109061848, -0.0008371281604995, - 0.0000296985029260, 0.0011281958214742, 0.0020819312900066, - 0.0024705948613571, 0.0019912318935963, 0.0006124281900638, - -0.0013451726955418, -0.0032531555468084, -0.0043549616066416, - -0.0040377485154437, -0.0021065223027673, 0.0010488136629895, - 0.0044817586852605, 0.0069407381267179, 0.0072892156498907, - 0.0049639277235708, 0.0003023755700798, -0.0054092967401810, - -0.0102368927453788, -0.0121970459192933, -0.0099848952803716, - -0.0035856433622624, 0.0054724953549814, 0.0143763043146873, - 0.0197915861224756, 0.0189508548007168, 0.0107444584473630, - -0.0035511748160051, -0.0202026606441822, -0.0337226677294633, - -0.0382279329229346, -0.0291127865967771, -0.0045659298430227, - 0.0335371151119154, 0.0796831473314644, 0.1257715935323888, - 0.1629350232213685, 0.1836638608187552, 0.1836638608187552, - 0.1629350232213685, 0.1257715935323888, 0.0796831473314644, - 0.0335371151119154, -0.0045659298430227, -0.0291127865967771, - -0.0382279329229346, -0.0337226677294633, -0.0202026606441822, - -0.0035511748160051, 0.0107444584473630, 0.0189508548007168, - 0.0197915861224756, 0.0143763043146873, 0.0054724953549814, - -0.0035856433622624, -0.0099848952803716, -0.0121970459192933, - -0.0102368927453788, -0.0054092967401810, 0.0003023755700798, - 0.0049639277235708, 0.0072892156498907, 0.0069407381267179, - 0.0044817586852605, 0.0010488136629895, -0.0021065223027673, - -0.0040377485154437, -0.0043549616066416, -0.0032531555468084, - -0.0013451726955418, 0.0006124281900638, 0.0019912318935963, - 0.0024705948613571, 0.0020819312900066, 0.0011281958214742, - 0.0000296985029260, -0.0008371281604995, -0.0012521109061848, - -0.0011873172727259, -0.0007715254253800, -0.0002119524114060, - 0.0002897687607439, 0.0005975981831705, 0.0006638187313266, - 0.0005183973970710, 0.0002396774493908, -0.0000773443016821, - -0.0003447438107989}; - -/* - Low pass filter, sample rate 8000 Hz, 60dB dB atten, pass 900 Hz, stop 1100 Hz - Initially used to build 700E BPF. - - Generated using Octave: - octave:170> h = fir1(100, 2000/8000); - octave:171> save_array_c_header(h,"filtP900S1100","t.h") -*/ - -float filtP900S1100[] = { - 0.0004418158615696, 0.0001287637146300, -0.0002887027062308, - -0.0005878482226797, -0.0005730851022636, -0.0001872428398401, - 0.0004164064769556, 0.0009044243294414, 0.0009214286447099, - 0.0003198823196113, -0.0006735180958441, -0.0014968764631324, - -0.0015397255009494, -0.0005518542214485, 0.0010799820573451, - 0.0024224384337026, 0.0024915418423841, 0.0009146857642078, - -0.0016601832557821, -0.0037544126485350, -0.0038606363852215, - -0.0014507340945908, 0.0024489243815523, 0.0055987186471211, - 0.0057705307663451, 0.0022226683344412, -0.0035036863386865, - -0.0081289422623303, -0.0084269758191975, -0.0033347717101330, - 0.0049319056855186, 0.0116673991980949, 0.0122195177108518, - 0.0049860194363942, -0.0069600525064408, -0.0169004061958973, - -0.0180041048574631, -0.0076258897964686, 0.0101458756070637, - 0.0255847362406635, 0.0280993703146360, 0.0125508957876736, - -0.0162678073198399, -0.0438597596479416, -0.0516282045539403, - -0.0256831488498926, 0.0353080736910379, 0.1173458947603512, - 0.1953111386765199, 0.2427155307119274, 0.2427155307119275, - 0.1953111386765199, 0.1173458947603512, 0.0353080736910379, - -0.0256831488498926, -0.0516282045539403, -0.0438597596479416, - -0.0162678073198399, 0.0125508957876736, 0.0280993703146360, - 0.0255847362406635, 0.0101458756070637, -0.0076258897964686, - -0.0180041048574631, -0.0169004061958973, -0.0069600525064408, - 0.0049860194363942, 0.0122195177108518, 0.0116673991980949, - 0.0049319056855186, -0.0033347717101330, -0.0084269758191975, - -0.0081289422623303, -0.0035036863386865, 0.0022226683344412, - 0.0057705307663451, 0.0055987186471211, 0.0024489243815523, - -0.0014507340945908, -0.0038606363852214, -0.0037544126485350, - -0.0016601832557821, 0.0009146857642078, 0.0024915418423841, - 0.0024224384337026, 0.0010799820573451, -0.0005518542214485, - -0.0015397255009494, -0.0014968764631324, -0.0006735180958441, - 0.0003198823196113, 0.0009214286447099, 0.0009044243294414, - 0.0004164064769556, -0.0001872428398401, -0.0005730851022636, - -0.0005878482226797, -0.0002887027062308, 0.0001287637146300, - 0.0004418158615696}; - -/* - Low pass filter, sample rate 8000 Hz, 60dB dB atten, pass 1100 Hz, stop 1300 - Hz Designed for 2020B. - - Generated using Octave: - octave:77> h = fir1(99, 2400/8000); f=500:1500; w=f*pi/4000; H=freqz(h,1,w); - octave:78> clf; plot(f,20*log10(abs(H))); grid; axis([500 1500 -60 10]) - octave:79> save_array_c_header(h,"filtP1100S1300","t.h") -*/ - -float filtP1100S1300[] = { - 0.0002976192596492, 0.0005268501327879, 0.0003323197705342, - -0.0001770640927819, -0.0006221531076115, -0.0006005231876771, - -0.0000195189229256, 0.0007355731515642, 0.0010099584762544, - 0.0004067132502827, -0.0007585687884437, -0.0015415736366462, - -0.0010864635373405, 0.0005254729116986, 0.0020855203587287, - 0.0021026629812395, 0.0001529382567188, -0.0024362700654142, - -0.0033992733694222, -0.0014410368832294, 0.0023100278520809, - 0.0047915084415380, 0.0034240108979541, -0.0013824387082528, - -0.0059564413269030, -0.0060581288076594, -0.0006611518028655, - 0.0064434052119832, 0.0091346892160535, 0.0040759939927406, - -0.0056953567245917, -0.0122613043769937, -0.0090272691278832, - 0.0030572766146697, 0.0148523753937746, 0.0156061208345573, - 0.0022854541227764, -0.0160929898905979, -0.0239498761167209, - -0.0116013322861975, 0.0147513846300672, 0.0346571639712145, - 0.0277787088019838, -0.0082808984532188, -0.0505010122605824, - -0.0613407201912362, -0.0130972319259225, 0.0900965824440442, - 0.2087764094817421, 0.2877718571344791, 0.2877718571344791, - 0.2087764094817421, 0.0900965824440442, -0.0130972319259225, - -0.0613407201912362, -0.0505010122605824, -0.0082808984532188, - 0.0277787088019838, 0.0346571639712145, 0.0147513846300672, - -0.0116013322861975, -0.0239498761167209, -0.0160929898905979, - 0.0022854541227764, 0.0156061208345573, 0.0148523753937746, - 0.0030572766146697, -0.0090272691278832, -0.0122613043769937, - -0.0056953567245917, 0.0040759939927406, 0.0091346892160535, - 0.0064434052119832, -0.0006611518028655, -0.0060581288076594, - -0.0059564413269030, -0.0013824387082528, 0.0034240108979541, - 0.0047915084415380, 0.0023100278520809, -0.0014410368832294, - -0.0033992733694222, -0.0024362700654142, 0.0001529382567188, - 0.0021026629812395, 0.0020855203587287, 0.0005254729116986, - -0.0010864635373405, -0.0015415736366462, -0.0007585687884437, - 0.0004067132502827, 0.0010099584762544, 0.0007355731515642, - -0.0000195189229256, -0.0006005231876771, -0.0006221531076115, - -0.0001770640927819, 0.0003323197705342, 0.0005268501327879, - 0.0002976192596492}; - -/* - Low pass prototype, sample rate 8000 Hz, 60dB dB atten. - - Used as an input BPF for datac4 and datac13 - - Generated using Octave: - octave:77> h = fir1(99, 400/8000); f=0:500; w=f*pi/4000; H=freqz(h,1,w); - octave:78> clf; plot(f,20*log10(abs(H))); grid; axis([0 500 -60 10]) - octave:79> save_array_c_header(h,"filtP200S400","t.h") -*/ - -float filtP200S400[] = { - 0.0004961403001099, 0.0004878954300076, 0.0004773254753068, - 0.0004613755012320, 0.0004356367390736, 0.0003945564225800, - 0.0003317489139155, 0.0002403980632049, 0.0001137356780462, - -0.0000544235817172, -0.0002691144005802, -0.0005336465184803, - -0.0008490522002088, -0.0012135843244779, -0.0016222933008125, - -0.0020667090843560, -0.0025346513768318, -0.0030101867721908, - -0.0034737462756490, -0.0039024104893224, -0.0042703630503403, - -0.0045495058923843, -0.0047102228630850, -0.0047222714599590, - -0.0045557762351127, -0.0041822920363898, -0.0035759009450005, - -0.0027143037436366, -0.0015798651637566, -0.0001605721201941, - 0.0015491343107337, 0.0035476892962647, 0.0058259285585604, - 0.0083668321698320, 0.0111455063209044, 0.0141294135724972, - 0.0172788535145399, 0.0205476868890766, 0.0238842874108655, - 0.0272326970839423, 0.0305339530892875, 0.0337275476120884, - 0.0367529765550393, 0.0395513291682391, 0.0420668683822783, - 0.0442485511620683, 0.0460514395405405, 0.0474379561100668, - 0.0483789425435863, 0.0488544860205982, 0.0488544860205982, - 0.0483789425435863, 0.0474379561100668, 0.0460514395405405, - 0.0442485511620683, 0.0420668683822783, 0.0395513291682391, - 0.0367529765550394, 0.0337275476120884, 0.0305339530892875, - 0.0272326970839423, 0.0238842874108655, 0.0205476868890766, - 0.0172788535145399, 0.0141294135724972, 0.0111455063209044, - 0.0083668321698320, 0.0058259285585604, 0.0035476892962647, - 0.0015491343107337, -0.0001605721201941, -0.0015798651637566, - -0.0027143037436366, -0.0035759009450005, -0.0041822920363898, - -0.0045557762351127, -0.0047222714599590, -0.0047102228630850, - -0.0045495058923843, -0.0042703630503403, -0.0039024104893224, - -0.0034737462756490, -0.0030101867721908, -0.0025346513768318, - -0.0020667090843560, -0.0016222933008125, -0.0012135843244779, - -0.0008490522002088, -0.0005336465184803, -0.0002691144005802, - -0.0000544235817172, 0.0001137356780462, 0.0002403980632049, - 0.0003317489139155, 0.0003945564225800, 0.0004356367390736, - 0.0004613755012320, 0.0004773254753068, 0.0004878954300076, - 0.0004961403001099}; - -// FIR filter suitable for changing rates 7500 to/from 8000 -// Sample 120000 Hz, pass 2700, stop 3730, ripple 0.1dB, atten 100 dB. Stop -// 0.03108. -float quiskFilt120t480[480] = { - -0.000005050567303837, -0.000000267011791999, 0.000000197734700398, - 0.000001038946634000, 0.000002322193058869, 0.000004115682735322, - 0.000006499942123311, 0.000009551098482930, 0.000013350669444763, - 0.000017966192635412, 0.000023463361155584, 0.000029885221425020, - 0.000037271082107518, 0.000045630720487935, 0.000054970017069384, - 0.000065233162392019, 0.000076360900545177, 0.000088271373315159, - 0.000100818605854714, 0.000113853476544409, 0.000127174196746337, - 0.000140558396336177, 0.000153744508371709, 0.000166450784469067, - 0.000178368313347299, 0.000189176709991702, 0.000198541881389953, - 0.000206128795372885, 0.000211604878787747, 0.000214655997661182, - 0.000214994859281552, 0.000212358734245594, 0.000206539880117977, - 0.000197379393194548, 0.000184780318878738, 0.000168719942655099, - 0.000149250512353807, 0.000126511346757621, 0.000100726393185629, - 0.000072210925236429, 0.000041365841965015, 0.000008680571408025, - -0.000025277165852799, -0.000059865389594949, -0.000094384355854646, - -0.000128080670195777, -0.000160170174848483, -0.000189854272533545, - -0.000216333899003825, -0.000238836419299503, -0.000256632149501508, - -0.000269058714331757, -0.000275541485292432, -0.000275614059005332, - -0.000268937472718753, -0.000255317038867589, -0.000234717772155001, - -0.000207273956099563, -0.000173297342436372, -0.000133280012107173, - -0.000087895370243821, -0.000037986085678081, 0.000015440388211825, - 0.000071232572821451, 0.000128114399130489, 0.000184710477990398, - 0.000239577162514028, 0.000291234779803098, 0.000338204791740229, - 0.000379047713684221, 0.000412403761615261, 0.000437031818051652, - 0.000451848709179591, 0.000455966225408344, 0.000448726371643413, - 0.000429729020814434, 0.000398857326863837, 0.000356297600912998, - 0.000302547334727027, 0.000238422248479072, 0.000165048886226905, - 0.000083853091464077, -0.000003462782744354, -0.000094949813106744, - -0.000188451833293202, -0.000281651282503015, -0.000372121907291206, - -0.000457387566635848, -0.000534985542936898, -0.000602532044011899, - -0.000657788245032425, -0.000698728981427767, -0.000723604675185869, - -0.000731002305621048, -0.000719899536922384, -0.000689709694056092, - -0.000640319946685634, -0.000572115873292030, -0.000485996080304965, - -0.000383371840261246, -0.000266155252511831, -0.000136731311264191, - 0.000002082667095075, 0.000147092077716480, 0.000294790953130229, - 0.000441441918072383, 0.000583164190168290, 0.000716029226064227, - 0.000836164238172957, 0.000939856052624227, 0.001023657909064450, - 0.001084492755093968, 0.001119751426837743, 0.001127383039339373, - 0.001105974243787613, 0.001054815583369999, 0.000973950761085690, - 0.000864209315714227, 0.000727219011746881, 0.000565398080608305, - 0.000381924396468366, 0.000180685902835315, -0.000033793183292569, - -0.000256444114966522, -0.000481764526566339, -0.000703946352348464, - -0.000917016099829735, -0.001114986581270253, -0.001292014799874503, - -0.001442563411804926, -0.001561559957317790, -0.001644551048567398, - -0.001687846581475964, -0.001688649703502788, -0.001645167889846890, - -0.001556702802350076, -0.001423714708648073, -0.001247857669697092, - -0.001031986722557201, -0.000780131048444402, -0.000497436825078657, - -0.000190077210351809, 0.000134868279325909, 0.000469563533327739, - 0.000805591531546815, 0.001134152328775355, 0.001446279849797673, - 0.001733071409562941, 0.001985924997799762, 0.002196778054604388, - 0.002358342626407065, 0.002464328098407475, 0.002509648218888532, - 0.002490604086803692, 0.002405037734357425, 0.002252452724297770, - 0.002034094661603120, 0.001752990365583534, 0.001413941154886139, - 0.001023470495638453, 0.000589723521647734, 0.000122320866350319, - -0.000367832138027160, -0.000868777013398284, -0.001367771151677059, - -0.001851587344265625, -0.002306838088978190, -0.002720317947026380, - -0.003079353614002113, -0.003372155891804708, -0.003588162376578369, - -0.003718362558663737, -0.003755596511143005, -0.003694818131674599, - -0.003533315298404129, -0.003270878754553819, -0.002909914962857412, - -0.002455496391464944, -0.001915346645364514, -0.001299757227227888, - -0.000621437066532776, 0.000104706515738248, 0.000861849931067767, - 0.001631595707499856, 0.002394368911341672, 0.003129858565588139, - 0.003817496679992245, 0.004436963307209760, 0.004968707287606522, - 0.005394469536085115, 0.005697797543539088, 0.005864537618023589, - 0.005883292537600076, 0.005745832319314692, 0.005447447099071761, - 0.004987231255534477, 0.004368289529377007, 0.003597859022418248, - 0.002687338851256991, 0.001652226293162047, 0.000511956075882180, - -0.000710356149138656, -0.001988263330091648, -0.003292424566049982, - -0.004591123342747130, -0.005850857852106148, -0.007036991266043732, - -0.008114450164977267, -0.009048456200082230, -0.009805276478965942, - -0.010352975302354198, -0.010662152577592631, -0.010706650669328861, - -0.010464214075017983, -0.009917087295446811, -0.009052534679222271, - -0.007863270920348924, -0.006347789704693751, -0.004510582323649121, - -0.002362238055733795, 0.000080576968834213, 0.002795265196543707, - 0.005753566158586979, 0.008921944932552510, 0.012262093950265378, - 0.015731539846483594, 0.019284344624007944, 0.022871886384520687, - 0.026443706729191677, 0.029948406200633094, 0.033334570666910354, - 0.036551709955124537, 0.039551189200810140, 0.042287133974308874, - 0.044717290029466283, 0.046803820535016104, 0.048514022996355009, - 0.049820951883635139, 0.050703932928426454, 0.051148959210315710, - 0.051148959210315710, 0.050703932928426454, 0.049820951883635139, - 0.048514022996355009, 0.046803820535016104, 0.044717290029466283, - 0.042287133974308874, 0.039551189200810140, 0.036551709955124537, - 0.033334570666910354, 0.029948406200633094, 0.026443706729191677, - 0.022871886384520687, 0.019284344624007944, 0.015731539846483594, - 0.012262093950265378, 0.008921944932552510, 0.005753566158586979, - 0.002795265196543707, 0.000080576968834213, -0.002362238055733795, - -0.004510582323649121, -0.006347789704693751, -0.007863270920348924, - -0.009052534679222271, -0.009917087295446811, -0.010464214075017983, - -0.010706650669328861, -0.010662152577592631, -0.010352975302354198, - -0.009805276478965942, -0.009048456200082230, -0.008114450164977267, - -0.007036991266043732, -0.005850857852106148, -0.004591123342747130, - -0.003292424566049982, -0.001988263330091648, -0.000710356149138656, - 0.000511956075882180, 0.001652226293162047, 0.002687338851256991, - 0.003597859022418248, 0.004368289529377007, 0.004987231255534477, - 0.005447447099071761, 0.005745832319314692, 0.005883292537600076, - 0.005864537618023589, 0.005697797543539088, 0.005394469536085115, - 0.004968707287606522, 0.004436963307209760, 0.003817496679992245, - 0.003129858565588139, 0.002394368911341672, 0.001631595707499856, - 0.000861849931067767, 0.000104706515738248, -0.000621437066532776, - -0.001299757227227888, -0.001915346645364514, -0.002455496391464944, - -0.002909914962857412, -0.003270878754553819, -0.003533315298404129, - -0.003694818131674599, -0.003755596511143005, -0.003718362558663737, - -0.003588162376578369, -0.003372155891804708, -0.003079353614002113, - -0.002720317947026380, -0.002306838088978190, -0.001851587344265625, - -0.001367771151677059, -0.000868777013398284, -0.000367832138027160, - 0.000122320866350319, 0.000589723521647734, 0.001023470495638453, - 0.001413941154886139, 0.001752990365583534, 0.002034094661603120, - 0.002252452724297770, 0.002405037734357425, 0.002490604086803692, - 0.002509648218888532, 0.002464328098407475, 0.002358342626407065, - 0.002196778054604388, 0.001985924997799762, 0.001733071409562941, - 0.001446279849797673, 0.001134152328775355, 0.000805591531546815, - 0.000469563533327739, 0.000134868279325909, -0.000190077210351809, - -0.000497436825078657, -0.000780131048444402, -0.001031986722557201, - -0.001247857669697092, -0.001423714708648073, -0.001556702802350076, - -0.001645167889846890, -0.001688649703502788, -0.001687846581475964, - -0.001644551048567398, -0.001561559957317790, -0.001442563411804926, - -0.001292014799874503, -0.001114986581270253, -0.000917016099829735, - -0.000703946352348464, -0.000481764526566339, -0.000256444114966522, - -0.000033793183292569, 0.000180685902835315, 0.000381924396468366, - 0.000565398080608305, 0.000727219011746881, 0.000864209315714227, - 0.000973950761085690, 0.001054815583369999, 0.001105974243787613, - 0.001127383039339373, 0.001119751426837743, 0.001084492755093968, - 0.001023657909064450, 0.000939856052624227, 0.000836164238172957, - 0.000716029226064227, 0.000583164190168290, 0.000441441918072383, - 0.000294790953130229, 0.000147092077716480, 0.000002082667095075, - -0.000136731311264191, -0.000266155252511831, -0.000383371840261246, - -0.000485996080304965, -0.000572115873292030, -0.000640319946685634, - -0.000689709694056092, -0.000719899536922384, -0.000731002305621048, - -0.000723604675185869, -0.000698728981427767, -0.000657788245032425, - -0.000602532044011899, -0.000534985542936898, -0.000457387566635848, - -0.000372121907291206, -0.000281651282503015, -0.000188451833293202, - -0.000094949813106744, -0.000003462782744354, 0.000083853091464077, - 0.000165048886226905, 0.000238422248479072, 0.000302547334727027, - 0.000356297600912998, 0.000398857326863837, 0.000429729020814434, - 0.000448726371643413, 0.000455966225408344, 0.000451848709179591, - 0.000437031818051652, 0.000412403761615261, 0.000379047713684221, - 0.000338204791740229, 0.000291234779803098, 0.000239577162514028, - 0.000184710477990398, 0.000128114399130489, 0.000071232572821451, - 0.000015440388211825, -0.000037986085678081, -0.000087895370243821, - -0.000133280012107173, -0.000173297342436372, -0.000207273956099563, - -0.000234717772155001, -0.000255317038867589, -0.000268937472718753, - -0.000275614059005332, -0.000275541485292432, -0.000269058714331757, - -0.000256632149501508, -0.000238836419299503, -0.000216333899003825, - -0.000189854272533545, -0.000160170174848483, -0.000128080670195777, - -0.000094384355854646, -0.000059865389594949, -0.000025277165852799, - 0.000008680571408025, 0.000041365841965015, 0.000072210925236429, - 0.000100726393185629, 0.000126511346757621, 0.000149250512353807, - 0.000168719942655099, 0.000184780318878738, 0.000197379393194548, - 0.000206539880117977, 0.000212358734245594, 0.000214994859281552, - 0.000214655997661182, 0.000211604878787747, 0.000206128795372885, - 0.000198541881389953, 0.000189176709991702, 0.000178368313347299, - 0.000166450784469067, 0.000153744508371709, 0.000140558396336177, - 0.000127174196746337, 0.000113853476544409, 0.000100818605854714, - 0.000088271373315159, 0.000076360900545177, 0.000065233162392019, - 0.000054970017069384, 0.000045630720487935, 0.000037271082107518, - 0.000029885221425020, 0.000023463361155584, 0.000017966192635412, - 0.000013350669444763, 0.000009551098482930, 0.000006499942123311, - 0.000004115682735322, 0.000002322193058869, 0.000001038946634000, - 0.000000197734700398, -0.000000267011791999, -0.000005050567303837}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fm.c b/vendor/codec2_flutter_ios_only/src/codec2/src/fm.c deleted file mode 100644 index 7461b00..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fm.c +++ /dev/null @@ -1,282 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fm.c - AUTHOR......: David Rowe - DATE CREATED: February 2015 - - Functions that implement analog FM modulation and demodulation, see - also octave/fm.m. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2015 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -/*---------------------------------------------------------------------------*\ - - DEFINES - -\*---------------------------------------------------------------------------*/ - -#define FILT_MEM 200 - -/*---------------------------------------------------------------------------*\ - - INCLUDES - -\*---------------------------------------------------------------------------*/ - -#include -#include -#include -#include -#include - -#include "codec2_fm.h" -#include "comp_prim.h" -#include "fm_fir_coeff.h" - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS - -\*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fm_create - AUTHOR......: David Rowe - DATE CREATED: 24 Feb 2015 - - Create and initialise an instance of the "modem". Returns a pointer - to the modem states or NULL on failure. One set of states is - sufficient for a full duplex modem. - -\*---------------------------------------------------------------------------*/ - -struct FM *fm_create(int nsam) { - struct FM *fm; - - fm = (struct FM *)malloc(sizeof(struct FM)); - if (fm == NULL) return NULL; - fm->rx_bb = (COMP *)malloc(sizeof(COMP) * (FILT_MEM + nsam)); - assert(fm->rx_bb != NULL); - - fm->rx_bb_filt_prev.real = 0.0; - fm->rx_bb_filt_prev.imag = 0.0; - fm->lo_phase.real = 1.0; - fm->lo_phase.imag = 0.0; - - fm->tx_phase = 0; - - fm->rx_dem_mem = (float *)malloc(sizeof(float) * (FILT_MEM + nsam)); - assert(fm->rx_dem_mem != NULL); - - fm->nsam = nsam; - - return fm; -} - -void fm_destroy(struct FM *fm_states) { - free(fm_states->rx_bb); - free(fm_states->rx_dem_mem); - free(fm_states); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fm_demod - AUTHOR......: David Rowe - DATE CREATED: 24 Feb 2015 - - Demodulate a FM signal to baseband audio. - -\*---------------------------------------------------------------------------*/ - -void fm_demod(struct FM *fm_states, float rx_out[], float rx[]) { - float Fs = fm_states->Fs; - float fc = fm_states->fc; - float wc = 2 * M_PI * fc / Fs; - float fd = fm_states->fd; - float wd = 2 * M_PI * fd / Fs; - COMP *rx_bb = fm_states->rx_bb + FILT_MEM; - COMP wc_rect, rx_bb_filt, rx_bb_diff; - float rx_dem; - /* - float acc; - */ - float *rx_dem_mem = fm_states->rx_dem_mem + FILT_MEM; - int nsam = fm_states->nsam; - float mag; - int i, k; - - wc_rect.real = cosf(wc); - wc_rect.imag = -sinf(wc); - - for (i = 0; i < nsam; i++) { - /* down to complex baseband */ - - fm_states->lo_phase = cmult(fm_states->lo_phase, wc_rect); - rx_bb[i] = fcmult(rx[i], fm_states->lo_phase); - - /* input FIR filter */ - - rx_bb_filt.real = 0.0; - rx_bb_filt.imag = 0.0; - - for (k = 0; k < FILT_MEM / 2; k++) { - rx_bb_filt.real += rx_bb[i - k].real * bin[k + FILT_MEM / 4]; - rx_bb_filt.imag += rx_bb[i - k].imag * bin[k + FILT_MEM / 4]; - } - - // rx_bb_filt = rx_bb[i]; - // printf("%f %f %f\n", rx[i], wc_rect.real, wc_rect.imag); - // printf("%f %f %f\n", rx[i], fm_states->lo_phase.real, - // fm_states->lo_phase.imag); printf("%f %f %f\n", rx[i], rx_bb[i].real, - // rx_bb[i].imag); printf("%f %f\n", rx_bb_filt.real, rx_bb_filt.imag); - /* - Differentiate first, in rect domain, then find angle, this - puts signal on the positive side of the real axis and helps - atan2() behaive. - */ - - rx_bb_diff = cmult(rx_bb_filt, cconj(fm_states->rx_bb_filt_prev)); - fm_states->rx_bb_filt_prev = rx_bb_filt; - - rx_dem = atan2f(rx_bb_diff.imag, rx_bb_diff.real); - - /* limit maximum phase jumps, to remove static type noise at low SNRs */ - - if (rx_dem > wd) rx_dem = wd; - if (rx_dem < -wd) rx_dem = -wd; - - rx_dem *= (1 / wd); - // printf("%f %f\n", rx_bb_diff.real, rx_bb_diff.imag); - rx_dem_mem[i] = rx_dem; - /* - acc = 0; - for(k=0; klo_phase); - fm_states->lo_phase.real /= mag; - fm_states->lo_phase.imag /= mag; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fm_mod - AUTHOR......: Brady O'Brien - DATE CREATED: Sept. 10 2015 - - Modulate an FM signal from a baseband modulating signal - - struct FM *fm - FM state structure. Can be reused from fm_demod. - float tx_in[] - nsam baseband samples to be modulated - float tx_out[] - nsam samples in which to place the modulated FM - -\*---------------------------------------------------------------------------*/ - -void fm_mod(struct FM *fm_states, float tx_in[], float tx_out[]) { - float Fs = fm_states->Fs; // Sampling freq - float fc = fm_states->fc; // Center freq - float wc = 2 * M_PI * fc / Fs; // Center freq in rads/samp - float fd = fm_states->fd; // Max deviation in cycles/samp - float wd = 2 * M_PI * fd / Fs; // Max deviation in rads/samp - int nsam = fm_states->nsam; // Samples per batch of modulation - float tx_phase = fm_states->tx_phase; // Transmit phase in rads - float w; // Temp variable for phase of VFO during loop - int i; - - // Go through the samples, spin the oscillator, and generate some FM - for (i = 0; i < nsam; i++) { - w = wc + wd * tx_in[i]; // Calculate phase of VFO - tx_phase += w; // Spin TX oscillator - - // TODO: Add pre-emphasis and pre-emph AGC for voice - - // Make sure tx_phase stays from 0 to 2PI. - // If tx_phase goes above 4PI, It's because fc+fd*tx_in[i] is way too large - // for the sample - // rate. - if (tx_phase > 2 * M_PI) tx_phase -= 2 * M_PI; - tx_out[i] = cosf(tx_phase); - } - // Save phase back into state struct - fm_states->tx_phase = tx_phase; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fm_mod - AUTHOR......: Brady O'Brien - DATE CREATED: Sept. 10 2015 - - Modulate an FM signal from a baseband modulating signal. Output signal is - in complex domain - - struct FM *fm - FM state structure. Can be reused from fm_demod. - float tx_in[] - nsam baseband samples to be modulated - COMP tx_out[] - nsam samples in which to place the modulated FM - -\*---------------------------------------------------------------------------*/ - -void fm_mod_comp(struct FM *fm_states, float tx_in[], COMP tx_out[]) { - float Fs = fm_states->Fs; // Sampling freq - float fc = fm_states->fc; // Center freq - float wc = 2 * M_PI * fc / Fs; // Center freq in rads/samp - float fd = fm_states->fd; // Max deviation in cycles/samp - float wd = 2 * M_PI * fd / Fs; // Max deviation in rads/samp - int nsam = fm_states->nsam; // Samples per batch of modulation - float tx_phase = fm_states->tx_phase; // Transmit phase in rads - float w; // Temp variable for phase of VFO during loop - int i; - - // Go through the samples, spin the oscillator, and generate some FM - for (i = 0; i < nsam; i++) { - w = wc + wd * tx_in[i]; // Calculate phase of VFO - tx_phase += w; // Spin TX oscillator - - // TODO: Add pre-emphasis and pre-emph AGC for voice - - // Make sure tx_phase stays from 0 to 2PI. - // If tx_phase goes above 4PI, It's because fc+fd*tx_in[i] is way too large - // for the sample - // rate. - if (tx_phase > 2 * M_PI) tx_phase -= 2 * M_PI; - - tx_out[i].real = cosf(tx_phase); - tx_out[i].imag = sinf(tx_phase); - } - // Save phase back into state struct - fm_states->tx_phase = tx_phase; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fm_fir_coeff.h b/vendor/codec2_flutter_ios_only/src/codec2/src/fm_fir_coeff.h deleted file mode 100644 index bb5514e..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fm_fir_coeff.h +++ /dev/null @@ -1,87 +0,0 @@ -/* Generated by fm_fir_coeff_file() Octave function in fm.m */ - -const float bin[] = { - 4.79309e-05, 1.1306e-05, -5.5983e-05, -7.01194e-05, 7.06484e-06, - 9.92193e-05, 8.58591e-05, -4.54326e-05, -0.000152003, -8.65645e-05, - 0.000107704, 0.000207915, 6.24307e-05, -0.000194905, -0.000256788, - -3.72067e-06, 0.000303862, 0.000285027, -9.75377e-05, -0.000426141, - -0.000276571, 0.000245596, 0.00054748, 0.000214543, -0.000438995, - -0.000647904, -8.35097e-05, 0.000668808, 0.000702715, -0.000127804, - -0.000917433, -0.000684399, 0.000423605, 0.00115821, 0.000565432, - -0.000798262, -0.00135608, -0.000321829, 0.00123404, 0.00146953, - -6.28411e-05, -0.00169975, -0.00145365, 0.000593351, 0.00215057, - 0.00126444, -0.00125906, -0.00252937, -0.000863858, 0.00203097, - 0.00276961, 0.000225378, -0.00286002, -0.00279968, 0.00066048, - 0.00367697, 0.00254856, -0.00178121, -0.00439398, -0.00195226, - 0.00309842, 0.00490791, 0.000960678, -0.0045454, -0.00510509, - 0.000456067, 0.00602631, 0.00486678, -0.00230217, -0.00741688, - -0.00407467, 0.00455244, 0.00856596, 0.0026148, -0.00715072, - -0.0092966, -0.000377815, 0.0100109, 0.00940383, -0.00274808, - -0.0130204, -0.00864357, 0.00689875, 0.0160465, 0.0066998, - -0.0122874, -0.0189444, -0.0030966, 0.0193367, 0.0215669, - -0.00304913, -0.0290487, -0.0237748, 0.0138493, 0.0443198, - 0.0254471, -0.0364426, -0.0771407, -0.0264901, 0.120993, - 0.285249, 0.366844, 0.285249, 0.120993, -0.0264901, - -0.0771407, -0.0364426, 0.0254471, 0.0443198, 0.0138493, - -0.0237748, -0.0290487, -0.00304913, 0.0215669, 0.0193367, - -0.0030966, -0.0189444, -0.0122874, 0.0066998, 0.0160465, - 0.00689875, -0.00864357, -0.0130204, -0.00274808, 0.00940383, - 0.0100109, -0.000377815, -0.0092966, -0.00715072, 0.0026148, - 0.00856596, 0.00455244, -0.00407467, -0.00741688, -0.00230217, - 0.00486678, 0.00602631, 0.000456067, -0.00510509, -0.0045454, - 0.000960678, 0.00490791, 0.00309842, -0.00195226, -0.00439398, - -0.00178121, 0.00254856, 0.00367697, 0.00066048, -0.00279968, - -0.00286002, 0.000225378, 0.00276961, 0.00203097, -0.000863858, - -0.00252937, -0.00125906, 0.00126444, 0.00215057, 0.000593351, - -0.00145365, -0.00169975, -6.28411e-05, 0.00146953, 0.00123404, - -0.000321829, -0.00135608, -0.000798262, 0.000565432, 0.00115821, - 0.000423605, -0.000684399, -0.000917433, -0.000127804, 0.000702715, - 0.000668808, -8.35097e-05, -0.000647904, -0.000438995, 0.000214543, - 0.00054748, 0.000245596, -0.000276571, -0.000426141, -9.75377e-05, - 0.000285027, 0.000303862, -3.72067e-06, -0.000256788, -0.000194905, - 6.24307e-05, 0.000207915, 0.000107704, -8.65645e-05, -0.000152003, - -4.54326e-05, 8.58591e-05, 9.92193e-05, 7.06484e-06, -7.01194e-05, - -5.5983e-05, 1.1306e-05, 4.79309e-05}; - -const float bout[] = { - -0.000901664, -0.00105423, -0.00102202, -0.000796428, -0.0004047, - 9.24929e-05, 0.000610043, 0.00105267, 0.00133217, 0.00138452, - 0.00118367, 0.000749102, 0.000145346, -0.000527025, -0.00114777, - -0.00159812, -0.00178311, -0.00165083, -0.00120494, -0.000507584, - 0.000328412, 0.0011573, 0.00182538, 0.00219909, 0.00219097, - 0.00177877, 0.00101358, 1.48175e-05, -0.00104765, -0.00198192, - -0.00260813, -0.00279243, -0.00247437, -0.00168247, -0.000534171, - 0.000780521, 0.00202976, 0.00298006, 0.00343915, 0.00329371, - 0.00253482, 0.00126569, -0.000310763, -0.00192329, -0.00327808, - -0.0041113, -0.00423916, -0.00359628, -0.00225463, -0.000418452, - 0.00160526, 0.00345676, 0.00478613, 0.00531776, 0.00490513, - 0.00356541, 0.00148629, -0.000997692, -0.00345694, -0.0054391, - -0.00654985, -0.00652835, -0.00530323, -0.00301796, -1.90046e-05, - 0.00319335, 0.00604515, 0.00798756, 0.00859787, 0.00766479, - 0.00524199, 0.001658, -0.00252213, -0.00658004, -0.00976079, - -0.011405, -0.0110744, -0.00864874, -0.00437487, 0.00114403, - 0.00702171, 0.0122173, 0.0157018, 0.0166372, 0.0145415, - 0.00940928, 0.00176699, -0.00735151, -0.0165112, -0.0240533, - -0.0283208, -0.027902, -0.0218568, -0.00988994, 0.0075553, - 0.0293009, 0.0535398, 0.0780316, 0.100365, 0.118251, - 0.129808, 0.143804, 0.129808, 0.118251, 0.100365, - 0.0780316, 0.0535398, 0.0293009, 0.0075553, -0.00988994, - -0.0218568, -0.027902, -0.0283208, -0.0240533, -0.0165112, - -0.00735151, 0.00176699, 0.00940928, 0.0145415, 0.0166372, - 0.0157018, 0.0122173, 0.00702171, 0.00114403, -0.00437487, - -0.00864874, -0.0110744, -0.011405, -0.00976079, -0.00658004, - -0.00252213, 0.001658, 0.00524199, 0.00766479, 0.00859787, - 0.00798756, 0.00604515, 0.00319335, -1.90046e-05, -0.00301796, - -0.00530323, -0.00652835, -0.00654985, -0.0054391, -0.00345694, - -0.000997692, 0.00148629, 0.00356541, 0.00490513, 0.00531776, - 0.00478613, 0.00345676, 0.00160526, -0.000418452, -0.00225463, - -0.00359628, -0.00423916, -0.0041113, -0.00327808, -0.00192329, - -0.000310763, 0.00126569, 0.00253482, 0.00329371, 0.00343915, - 0.00298006, 0.00202976, 0.000780521, -0.000534171, -0.00168247, - -0.00247437, -0.00279243, -0.00260813, -0.00198192, -0.00104765, - 1.48175e-05, 0.00101358, 0.00177877, 0.00219097, 0.00219909, - 0.00182538, 0.0011573, 0.000328412, -0.000507584, -0.00120494, - -0.00165083, -0.00178311, -0.00159812, -0.00114777, -0.000527025, - 0.000145346, 0.000749102, 0.00118367, 0.00138452, 0.00133217, - 0.00105267, 0.000610043, 9.24929e-05, -0.0004047, -0.000796428, - -0.00102202, -0.00105423, -0.000901664}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fmfsk.c b/vendor/codec2_flutter_ios_only/src/codec2/src/fmfsk.c deleted file mode 100644 index b1745fa..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fmfsk.c +++ /dev/null @@ -1,368 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fmfsk.c - AUTHOR......: Brady O'Brien - DATE CREATED: 6 February 2016 - - C Implementation of a FM+ME+FSK modem for FreeDV mode B and other applications - (better APRS, anyone?) - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "fmfsk.h" - -#include -#include -#include -#include -#include -#include - -#include "comp_prim.h" -#include "modem_probe.h" - -#define STD_PROC_BITS 96 - -/* - * Create a new fmfsk modem instance. - * - * int Fs - sample rate - * int Rb - non-manchester bitrate - * returns - new struct FMFSK on success, NULL on failure - */ -struct FMFSK *fmfsk_create(int Fs, int Rb) { - assert(Fs % (Rb * 2) == 0); /* Sample freq must be divisible by symbol rate */ - - int nbits = STD_PROC_BITS; - - /* Allocate the struct */ - struct FMFSK *fmfsk = malloc(sizeof(struct FMFSK)); - if (fmfsk == NULL) return NULL; - - /* Set up static parameters */ - fmfsk->Rb = Rb; - fmfsk->Rs = Rb * 2; - fmfsk->Fs = Fs; - fmfsk->Ts = Fs / fmfsk->Rs; - fmfsk->N = nbits * 2 * fmfsk->Ts; - fmfsk->nmem = fmfsk->N + (fmfsk->Ts * 4); - fmfsk->nsym = nbits * 2; - fmfsk->nbit = nbits; - - /* Set up demod state */ - fmfsk->lodd = 0; - fmfsk->nin = fmfsk->N; - fmfsk->snr_mean = 0; - - float *oldsamps = malloc(sizeof(float) * fmfsk->nmem); - if (oldsamps == NULL) { - free(fmfsk); - return NULL; - } - for (int i = 0; i < fmfsk->nmem; i++) oldsamps[i] = 0.0; - fmfsk->oldsamps = oldsamps; - - fmfsk->stats = (struct MODEM_STATS *)malloc(sizeof(struct MODEM_STATS)); - if (fmfsk->stats == NULL) { - free(oldsamps); - free(fmfsk); - return NULL; - } - - return fmfsk; -} - -/* - * Destroys an fmfsk modem and deallocates memory - */ -void fmfsk_destroy(struct FMFSK *fmfsk) { - free(fmfsk->oldsamps); - free(fmfsk); -} - -/* - * Returns the number of samples that must be fed to fmfsk_demod the next - * cycle - */ -uint32_t fmfsk_nin(struct FMFSK *fmfsk) { return (uint32_t)fmfsk->nin; } - -void fmfsk_get_demod_stats(struct FMFSK *fmfsk, struct MODEM_STATS *stats) { - /* copy from internal stats, note we can't overwrite stats completely - as it has other states rqd by caller, also we want a consistent - interface across modem types for the freedv_api. - */ - - stats->clock_offset = fmfsk->stats->clock_offset; - stats->snr_est = fmfsk->stats->snr_est; // TODO: make this SNR not Eb/No - stats->rx_timing = fmfsk->stats->rx_timing; - stats->foff = fmfsk->stats->foff; - -#ifndef __EMBEDDED__ - stats->neyesamp = fmfsk->stats->neyesamp; - stats->neyetr = fmfsk->stats->neyetr; - memcpy(stats->rx_eye, fmfsk->stats->rx_eye, sizeof(stats->rx_eye)); -#endif // !__EMBEDDED__ - - /* these fields not used for FSK so set to something sensible */ - - stats->sync = 0; - stats->nr = fmfsk->stats->nr; - stats->Nc = fmfsk->stats->Nc; -} - -/* - * Modulates nbit bits into N samples to be sent through an FM radio - * - * struct FSK *fsk - FSK config/state struct, set up by fsk_create - * float mod_out[] - Buffer for N samples of modulated FMFSK - * uint8_t tx_bits[] - Buffer containing Nbits unpacked bits - */ - -void fmfsk_mod(struct FMFSK *fmfsk, float fmfsk_out[], uint8_t bits_in[]) { - int i, j; - int nbit = fmfsk->nbit; - int Ts = fmfsk->Ts; - - for (i = 0; i < nbit; i++) { - /* Save a manchester-encoded 0 */ - if (bits_in[i] == 0) { - for (j = 0; j < Ts; j++) fmfsk_out[j + i * Ts * 2] = -1; - for (j = 0; j < Ts; j++) fmfsk_out[Ts + j + i * Ts * 2] = 1; - } else { - /* Save a manchester-encoded 1 */ - for (j = 0; j < Ts; j++) fmfsk_out[j + i * Ts * 2] = 1; - for (j = 0; j < Ts; j++) fmfsk_out[Ts + j + i * Ts * 2] = -1; - } - } -} - -/* - * Demodulate some number of FMFSK samples. The number of samples to be - * demodulated can be found by calling fmfsk_nin(). - * - * struct FMFSK *fsk - FMFSK config/state struct, set up by fsk_create - * uint8_t rx_bits[] - Buffer for nbit unpacked bits to be written - * float fsk_in[] - nin samples of modualted FMFSK from an FM radio - */ -void fmfsk_demod(struct FMFSK *fmfsk, uint8_t rx_bits[], float fmfsk_in[]) { - int i, j, k; - int Ts = fmfsk->Ts; - int Fs = fmfsk->Fs; - int Rs = fmfsk->Rs; - int nin = fmfsk->nin; - int N = fmfsk->N; - int nsym = fmfsk->nsym; - int nbit = fmfsk->nbit; - int nmem = fmfsk->nmem; - float *oldsamps = fmfsk->oldsamps; - int nold = nmem - nin; - COMP phi_ft, dphi_ft; /* Phase and delta-phase for fine timing estimator */ - float t; - COMP x; /* Magic fine timing angle */ - float norm_rx_timing, old_norm_rx_timing, d_norm_rx_timing, appm; - int rx_timing, sample_offset; - int next_nin; - float apeven, apodd; /* Approx. prob of even or odd stream being correct */ - float currv, mdiff, lastv; - int neyesamp; - int neyeoffset; - float eye_max; - uint8_t mbit; - float var_signal = 0, var_noise = 0, lastFabsV; - - /* Shift in nin samples */ - memmove(&oldsamps[0], &oldsamps[nmem - nold], sizeof(float) * nold); - memcpy(&oldsamps[nold], &fmfsk_in[0], sizeof(float) * nin); - - /* Allocate memory for filtering */ - float *rx_filt = malloc(sizeof(float) * (nsym + 1) * Ts); - - /* Integrate over Ts input symbols at every offset */ - for (i = 0; i < (nsym + 1) * Ts; i++) { - t = 0; - /* Integrate over some samples */ - for (j = i; j < i + Ts; j++) { - t += oldsamps[j]; - } - rx_filt[i] = t; - } - - /* - * Fine timing estimation - * - * Estimate fine timing using line at Rs/2 that Manchester encoding provides - * We need this to sync up to Manchester codewords. - */ - - /* init fine timing extractor */ - phi_ft.real = 1; - phi_ft.imag = 0; - - /* Set up delta-phase */ - dphi_ft.real = cosf(2 * M_PI * ((float)Rs) / ((float)Fs)); - dphi_ft.imag = sinf(2 * M_PI * ((float)Rs) / ((float)Fs)); - - x.real = 0; - x.imag = 0; - - for (i = 0; i < (nsym + 1) * Ts; i++) { - /* Apply non-linearity */ - t = rx_filt[i] * rx_filt[i]; - - /* Shift Rs/2 down to DC and accumulate */ - x = cadd(x, fcmult(t, phi_ft)); - - /* Spin downshift oscillator */ - phi_ft = cmult(dphi_ft, phi_ft); - modem_probe_samp_c("t_phi_ft", &phi_ft, 1); - } - - /* Figure out the normalized RX timing, using David's magic number */ - norm_rx_timing = atan2f(x.imag, x.real) / (2 * M_PI) - .42; - rx_timing = (int)lroundf(norm_rx_timing * (float)Ts); - - old_norm_rx_timing = fmfsk->norm_rx_timing; - fmfsk->norm_rx_timing = norm_rx_timing; - - /* Estimate sample clock offset */ - d_norm_rx_timing = norm_rx_timing - old_norm_rx_timing; - - /* Filter out big jumps in due to nin change */ - if (fabsf(d_norm_rx_timing) < .2) { - appm = 1e6 * d_norm_rx_timing / (float)nsym; - fmfsk->ppm = .9 * fmfsk->ppm + .1 * appm; - } - - /* Figure out how far offset the sample points are */ - sample_offset = (Ts / 2) + Ts + rx_timing - 1; - - /* Request fewer or greater samples next time, if fine timing is far - * enough off. This also makes it possible to tolerate clock offsets */ - next_nin = N; - if (norm_rx_timing > -.2) next_nin += Ts / 2; - if (norm_rx_timing < -.65) next_nin -= Ts / 2; - fmfsk->nin = next_nin; - - /* Make first diff of this round the last sample of the last round, - * for the odd stream */ - lastv = fmfsk->lodd; - lastFabsV = fabs(lastv); - apeven = 0; - apodd = 0; - for (i = 0; i < nsym; i++) { - /* Sample a filtered value */ - currv = rx_filt[sample_offset + (i * Ts)]; - modem_probe_samp_f("t_symsamp", &currv, 1); - mdiff = lastv - currv; - mbit = mdiff > 0 ? 1 : 0; - lastv = currv; - - // Calculate the signal variance. Note that the mean is zero - var_signal += currv * currv; - - /* Calculate the variance of the noise between samples (symbols). A quick - * variance estimate without calculating mean can be done by differentiating - * (remove mean) and then dividing by 2. Fabs the samples as we are looking - * at how close the samples are to each other as if they were all the same - * polarity/symbol. */ - currv = fabs(currv); - var_noise += (currv - lastFabsV) * (currv - lastFabsV); - lastFabsV = currv; - - mdiff = mdiff > 0 ? mdiff : 0 - mdiff; - - /* Put bit in it's stream */ - if ((i % 2) == 1) { - apeven += mdiff; - /* Even stream goes in LSB */ - rx_bits[i >> 1] |= mbit ? 0x1 : 0x0; - } else { - apodd += mdiff; - /* Odd in second-to-LSB */ - rx_bits[i >> 1] = mbit ? 0x2 : 0x0; - } - } - - /* Div by 2 to correct variance when doing via differentiation.*/ - var_noise *= 0.5; - - if (apeven > apodd) { - /* Zero out odd bits from output bitstream */ - for (i = 0; i < nbit; i++) rx_bits[i] &= 0x1; - } else { - /* Shift odd bits into LSB and even bits out of existence */ - for (i = 0; i < nbit; i++) rx_bits[i] = (rx_bits[i] & 0x2) >> 1; - } - - /* Save last sample of int stream for next demod round */ - fmfsk->lodd = lastv; - - /* Save demod statistics */ - fmfsk->stats->Nc = 0; - fmfsk->stats->nr = 0; - - /* Clock offset and RX timing are all we know here */ - fmfsk->stats->clock_offset = fmfsk->ppm; - fmfsk->stats->rx_timing = (float)rx_timing; - - /* Zero out all of the other things */ - fmfsk->stats->foff = 0; - - /* Use moving average to smooth SNR */ - var_signal += 1E-6 / 3.1; - var_noise += - 1E-6; /* prevent NAN and bias towards -5dB SNR for zero signal inputs */ - if (fmfsk->snr_mean < 0.1) - fmfsk->snr_mean = (10.0 * log10f(var_signal / var_noise)); - else - fmfsk->snr_mean = - 0.9 * fmfsk->snr_mean + 0.1 * (10.0 * log10f(var_signal / var_noise)); - fmfsk->stats->snr_est = fmfsk->snr_mean; - -#ifndef __EMBEDDED__ - /* Collect an eye diagram */ - /* Take a sample for the eye diagrams */ - neyesamp = fmfsk->stats->neyesamp = Ts * 4; - neyeoffset = sample_offset + (Ts * 2 * 28); - - fmfsk->stats->neyetr = 8; - for (k = 0; k < fmfsk->stats->neyetr; k++) - for (j = 0; j < neyesamp; j++) - fmfsk->stats->rx_eye[k][j] = rx_filt[k * neyesamp + neyeoffset + j]; - // fmfsk->stats->rx_eye[k][j] = fmfsk_in[k*neyesamp+neyeoffset+j]; - eye_max = 0; - - /* Normalize eye to +/- 1 */ - for (i = 0; i < fmfsk->stats->neyetr; i++) - for (j = 0; j < neyesamp; j++) - if (fabsf(fmfsk->stats->rx_eye[i][j]) > eye_max) - eye_max = fabsf(fmfsk->stats->rx_eye[i][j]); - - for (i = 0; i < fmfsk->stats->neyetr; i++) - for (j = 0; j < neyesamp; j++) - fmfsk->stats->rx_eye[i][j] = - (fmfsk->stats->rx_eye[i][j] / (2 * eye_max)) + .5; -#endif // !__EMBEDDED__ - - modem_probe_samp_f("t_norm_rx_timing", &norm_rx_timing, 1); - modem_probe_samp_f("t_rx_filt", rx_filt, (nsym + 1) * Ts); - - free(rx_filt); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fmfsk.h b/vendor/codec2_flutter_ios_only/src/codec2/src/fmfsk.h deleted file mode 100644 index a223f11..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fmfsk.h +++ /dev/null @@ -1,112 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fmfsk.h - AUTHOR......: Brady O'Brien - DATE CREATED: 6 February 2016 - - C Implementation of 2FSK+Manchester over FM modulator/demodulator, based - on mancyfsk.m and fmfsk.m - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __C2FMFSK_H -#define __C2FMFSK_H - -#include - -#include "comp.h" -#include "modem_stats.h" - -#define FMFSK_SCALE 16383 - -/* - * fm-me-2fsk state - */ -struct FMFSK { - /* Static fmfsk parameters */ - int Rb; /* Manchester-encoded bitrate */ - int Rs; /* Raw modem symbol rate */ - int Fs; /* Sample rate */ - int Ts; /* Samples-per-symbol */ - int N; /* Sample processing buffer size */ - int nsym; /* Number of raw modem symbols processed per demod call */ - int nbit; /* Number of bits spit out per demod call */ - int nmem; /* Number of samples kept around between demod calls */ - - /* State kept by demod */ - int nin; /* Number of samples to be demod-ed the next cycle */ - int lodd; /* Last integrated sample for odd bitstream generation */ - float *oldsamps; /* Memory of old samples to make clock-offset-tolerance - possible */ - - /* Stats generated by demod */ - float norm_rx_timing; /* RX Timing, used to calculate clock offset */ - int ppm; /* Clock offset in parts-per-million */ - float snr_mean; - - /* Modem stat structure */ - struct MODEM_STATS *stats; -}; - -/* - * Create a new fmfsk modem instance. - * - * int Fs - sample rate - * int Rb - non-manchester bitrate - * returns - new struct FMFSK on success, NULL on failure - */ -struct FMFSK *fmfsk_create(int Fs, int Rb); - -/* - * Destroys an fmfsk modem and deallocates memory - */ -void fmfsk_destroy(struct FMFSK *fmfsk); - -/* - * Deposit demod statistics into a MODEM_STATS struct - */ -void fmfsk_get_demod_stats(struct FMFSK *fmfsk, struct MODEM_STATS *stats); - -/* - * Returns the number of samples that must be fed to fmfsk_demod the next - * cycle - */ -uint32_t fmfsk_nin(struct FMFSK *fmfsk); - -/* - * Modulates nbit bits into N samples to be sent through an FM radio - * - * struct FSK *fsk - FSK config/state struct, set up by fsk_create - * float mod_out[] - Buffer for N samples of modulated FMFSK - * uint8_t tx_bits[] - Buffer containing Nbits unpacked bits - */ -void fmfsk_mod(struct FMFSK *fmfsk, float fmfsk_out[], uint8_t bits_in[]); - -/* - * Demodulate some number of FMFSK samples. The number of samples to be - * demodulated can be found by calling fmfsk_nin(). - * - * struct FMFSK *fsk - FMFSK config/state struct, set up by fsk_create - * uint8_t rx_bits[] - Buffer for nbit unpacked bits to be written - * float fsk_in[] - nin samples of modualted FMFSK from an FM radio - */ -void fmfsk_demod(struct FMFSK *fmfsk, uint8_t rx_bits[], float fmfsk_in[]); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/framer.c b/vendor/codec2_flutter_ios_only/src/codec2/src/framer.c deleted file mode 100644 index 5b1fa8f..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/framer.c +++ /dev/null @@ -1,99 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: framer.c - AUTHOR......: David Rowe - DATE CREATED: July 2020 - - Command line framer, inserts a Unique word into a sequence of - oneBitPerchar bits. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2020 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include - -#include "fsk.h" - -unsigned int toInt(char c) { - if (c >= '0' && c <= '9') return c - '0'; - if (c >= 'A' && c <= 'F') return 10 + c - 'A'; - if (c >= 'a' && c <= 'f') return 10 + c - 'a'; - return -1; -} - -int main(int argc, char *argv[]) { - FILE *fin, *fout; - - if (argc != 5) { - fprintf(stderr, - "usage: %s InputBitsOnePerByte OutputBitsOnePerByte frameSizeBits " - "HexUW\n", - argv[0]); - exit(1); - } - - if (strcmp(argv[1], "-") == 0) { - fin = stdin; - } else { - if ((fin = fopen(argv[1], "rb")) == NULL) { - fprintf(stderr, "Couldn't open input file: %s\n", argv[1]); - exit(1); - } - } - - if (strcmp(argv[2], "-") == 0) { - fout = stdout; - } else { - if ((fout = fopen(argv[2], "wb")) == NULL) { - fprintf(stderr, "Couldn't open output file: %s\n", argv[2]); - exit(1); - } - } - - /* extract UW array */ - - size_t framesize = atoi(argv[3]); - char *uw_hex = argv[4]; - uint8_t uw[4 * strlen(uw_hex)]; - int uwsize = 0; - for (int c = 0; c < strlen(uw_hex); c++) - for (int i = 0; i < 4; i++) - uw[uwsize++] = (toInt(uw_hex[c]) >> (3 - i)) & 0x1; /* MSB first */ - assert(uwsize == 4 * strlen(uw_hex)); - - fprintf(stderr, "uw_hex: %s uwsize: %d\n", uw_hex, uwsize); - for (int i = 0; i < uwsize; i++) fprintf(stderr, "%d ", uw[i]); - fprintf(stderr, "\n"); - - /* main loop */ - - uint8_t frame[framesize]; - while (fread(frame, sizeof(uint8_t), framesize, fin) == framesize) { - fwrite(uw, sizeof(uint8_t), uwsize, fout); - fwrite(frame, sizeof(uint8_t), framesize, fout); - } - - fclose(fin); - fclose(fout); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_1600.c b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_1600.c deleted file mode 100644 index 8b2eac4..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_1600.c +++ /dev/null @@ -1,272 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_1600.c - AUTHOR......: David Rowe - DATE CREATED: May 2020 - - Functions that implement the FreeDV 1600 mode. - -\*---------------------------------------------------------------------------*/ - -#include -#include -#include -#include -#include -#include -#include - -#include "codec2.h" -#include "codec2_fdmdv.h" -#include "comp_prim.h" -#include "debug_alloc.h" -#include "fdmdv_internal.h" -#include "freedv_api.h" -#include "freedv_api_internal.h" -#include "golay23.h" -#include "varicode.h" - -void freedv_1600_open(struct freedv *f) { - f->snr_squelch_thresh = 2.0; - f->squelch_en = false; - f->passthrough_gain = 0.25; - f->tx_sync_bit = 0; - int Nc = 16; - f->fdmdv = fdmdv_create(Nc); - assert(f->fdmdv != NULL); - golay23_init(); - f->nin = f->nin_prev = FDMDV_NOM_SAMPLES_PER_FRAME; - f->n_nom_modem_samples = 2 * FDMDV_NOM_SAMPLES_PER_FRAME; - f->n_nat_modem_samples = f->n_nom_modem_samples; - f->n_max_modem_samples = - FDMDV_NOM_SAMPLES_PER_FRAME + FDMDV_MAX_SAMPLES_PER_FRAME; - f->modem_sample_rate = FREEDV_FS_8000; - int nbit = fdmdv_bits_per_frame(f->fdmdv); - f->fdmdv_bits = (int *)MALLOC(nbit * sizeof(int)); - assert(f->fdmdv_bits != NULL); - nbit = 2 * fdmdv_bits_per_frame(f->fdmdv); - f->fdmdv_tx_bits = (int *)CALLOC(1, nbit * sizeof(int)); - f->fdmdv_rx_bits = (int *)CALLOC(1, nbit * sizeof(int)); - assert(f->fdmdv_tx_bits != NULL); - assert(f->fdmdv_rx_bits != NULL); - f->evenframe = 0; - f->sz_error_pattern = fdmdv_error_pattern_size(f->fdmdv); - - f->speech_sample_rate = FREEDV_FS_8000; - f->codec2 = codec2_create(CODEC2_MODE_1300); - assert(f->codec2 != NULL); - f->n_speech_samples = codec2_samples_per_frame(f->codec2); - - f->bits_per_modem_frame = fdmdv_bits_per_frame(f->fdmdv); - f->bits_per_codec_frame = codec2_bits_per_frame(f->codec2); - f->n_codec_frames = 1; - f->tx_payload_bits = MALLOC(f->bits_per_codec_frame); - assert(f->tx_payload_bits != NULL); - f->rx_payload_bits = MALLOC(f->bits_per_codec_frame); - assert(f->rx_payload_bits != NULL); -} - -void freedv_comptx_fdmdv_1600(struct freedv *f, COMP mod_out[]) { - int i, j; - int data, codeword1, data_flag_index; - COMP tx_fdm[f->n_nat_modem_samples]; - - // spare bit in frame that codec defines. Use this 1 - // bit/frame to send txt messages - - data_flag_index = codec2_get_spare_bit_index(f->codec2); - - if (f->nvaricode_bits) { - f->tx_payload_bits[data_flag_index] = - f->tx_varicode_bits[f->varicode_bit_index++]; - f->nvaricode_bits--; - } - - if (f->nvaricode_bits == 0) { - /* get new char and encode */ - char s[2]; - if (f->freedv_get_next_tx_char != NULL) { - s[0] = (*f->freedv_get_next_tx_char)(f->callback_state); - f->nvaricode_bits = - varicode_encode(f->tx_varicode_bits, s, VARICODE_MAX_BITS, 1, - f->varicode_dec_states.code_num); - f->varicode_bit_index = 0; - } - } - - /* Protect first 12 out of first 16 excitation bits with (23,12) Golay Code: - - 0,1,2,3: v[0]..v[3] - 4,5,6,7: MSB of pitch - 11,12,13,14: MSB of energy - - */ - - data = 0; - for (i = 0; i < 8; i++) { - data <<= 1; - data |= f->tx_payload_bits[i]; - } - for (i = 11; i < 15; i++) { - data <<= 1; - data |= f->tx_payload_bits[i]; - } - codeword1 = golay23_encode(data); - - /* now pack output frame with parity bits at end to make them - as far apart as possible from the data they protect. Parity - bits are LSB of the Golay codeword */ - - for (i = 0; i < f->bits_per_codec_frame; i++) - f->fdmdv_tx_bits[i] = f->tx_payload_bits[i]; - for (j = 0; i < f->bits_per_codec_frame + 11; i++, j++) { - f->fdmdv_tx_bits[i] = (codeword1 >> (10 - j)) & 0x1; - } - f->fdmdv_tx_bits[i] = 0; /* spare bit */ - - /* optionally overwrite with test frames */ - - if (f->test_frames) { - fdmdv_get_test_bits(f->fdmdv, f->fdmdv_tx_bits); - fdmdv_get_test_bits(f->fdmdv, &f->fdmdv_tx_bits[f->bits_per_modem_frame]); - } - - /* modulate even and odd frames */ - - fdmdv_mod(f->fdmdv, tx_fdm, f->fdmdv_tx_bits, &f->tx_sync_bit); - assert(f->tx_sync_bit == 1); - - fdmdv_mod(f->fdmdv, &tx_fdm[FDMDV_NOM_SAMPLES_PER_FRAME], - &f->fdmdv_tx_bits[f->bits_per_modem_frame], &f->tx_sync_bit); - assert(f->tx_sync_bit == 0); - - assert(2 * FDMDV_NOM_SAMPLES_PER_FRAME == f->n_nom_modem_samples); - - for (i = 0; i < f->n_nom_modem_samples; i++) - mod_out[i] = fcmult(FDMDV_SCALE, tx_fdm[i]); -} - -int freedv_comprx_fdmdv_1600(struct freedv *f, COMP demod_in[]) { - int bits_per_fdmdv_frame; - int i, j; - int recd_codeword, codeword1, data_flag_index, n_ascii; - short abit[1]; - char ascii_out; - int reliable_sync_bit; - int rx_status = 0; - - COMP ademod_in[f->nin]; - for (i = 0; i < f->nin; i++) - ademod_in[i] = fcmult(1.0 / FDMDV_SCALE, demod_in[i]); - - bits_per_fdmdv_frame = fdmdv_bits_per_frame(f->fdmdv); - - fdmdv_demod(f->fdmdv, f->fdmdv_bits, &reliable_sync_bit, ademod_in, &f->nin); - fdmdv_get_demod_stats(f->fdmdv, &f->stats); - f->sync = f->fdmdv->sync; - f->snr_est = f->stats.snr_est; - - if (reliable_sync_bit == 1) { - f->evenframe = 1; - } - - if (f->sync) { - rx_status = FREEDV_RX_SYNC; - - if (f->evenframe == 0) { - memcpy(f->fdmdv_rx_bits, f->fdmdv_bits, - bits_per_fdmdv_frame * sizeof(int)); - } else { - memcpy(&f->fdmdv_rx_bits[bits_per_fdmdv_frame], f->fdmdv_bits, - bits_per_fdmdv_frame * sizeof(int)); - - if (f->test_frames == 0) { - recd_codeword = 0; - for (i = 0; i < 8; i++) { - recd_codeword <<= 1; - recd_codeword |= (f->fdmdv_rx_bits[i] & 0x1); - } - for (i = 11; i < 15; i++) { - recd_codeword <<= 1; - recd_codeword |= (f->fdmdv_rx_bits[i] & 0x1); - } - for (i = f->bits_per_codec_frame; i < f->bits_per_codec_frame + 11; - i++) { - recd_codeword <<= 1; - recd_codeword |= (f->fdmdv_rx_bits[i] & 0x1); - } - codeword1 = golay23_decode(recd_codeword); - f->total_bit_errors += golay23_count_errors(recd_codeword, codeword1); - f->total_bits += 23; - - for (i = 0; i < f->bits_per_codec_frame; i++) - f->rx_payload_bits[i] = f->fdmdv_rx_bits[i]; - - for (i = 0; i < 8; i++) { - f->rx_payload_bits[i] = (codeword1 >> (22 - i)) & 0x1; - } - for (i = 8, j = 11; i < 12; i++, j++) { - f->rx_payload_bits[j] = (codeword1 >> (22 - i)) & 0x1; - } - - // extract txt msg data bit - // ------------------------------------------------------------ - - data_flag_index = codec2_get_spare_bit_index(f->codec2); - abit[0] = f->rx_payload_bits[data_flag_index]; - - n_ascii = - varicode_decode(&f->varicode_dec_states, &ascii_out, abit, 1, 1); - if (n_ascii && (f->freedv_put_next_rx_char != NULL)) { - (*f->freedv_put_next_rx_char)(f->callback_state, ascii_out); - } - - // reconstruct missing bit we steal for data bit and decode - codec2_rebuild_spare_bit(f->codec2, (char *)f->rx_payload_bits); - - rx_status |= FREEDV_RX_BITS; - } else { - int test_frame_sync, bit_errors, ntest_bits, k; - short error_pattern[fdmdv_error_pattern_size(f->fdmdv)]; - - for (k = 0; k < 2; k++) { - /* test frames, so lets sync up to the test frames and count any - * errors */ - - fdmdv_put_test_bits(f->fdmdv, &test_frame_sync, error_pattern, - &bit_errors, &ntest_bits, - &f->fdmdv_rx_bits[k * bits_per_fdmdv_frame]); - - if (test_frame_sync == 1) { - f->test_frame_sync_state = 1; - f->test_frame_count = 0; - } - - if (f->test_frame_sync_state) { - if (f->test_frame_count == 0) { - f->total_bit_errors += bit_errors; - f->total_bits += ntest_bits; - if (f->freedv_put_error_pattern != NULL) { - (*f->freedv_put_error_pattern)( - f->error_pattern_callback_state, error_pattern, - fdmdv_error_pattern_size(f->fdmdv)); - } - } - f->test_frame_count++; - if (f->test_frame_count == 4) f->test_frame_count = 0; - } - } - } /* if (test_frames == 0) .... */ - } - - /* note this freewheels if reliable sync disappears on bad channels */ - - if (f->evenframe) - f->evenframe = 0; - else - f->evenframe = 1; - - } /* if (sync) .... */ - - return rx_status; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_2020.c b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_2020.c deleted file mode 100644 index f1dee28..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_2020.c +++ /dev/null @@ -1,363 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_2020.c - AUTHOR......: David Rowe - DATE CREATED: May 2020 - - Functions that implement the FreeDV 2020 modes. - -\*---------------------------------------------------------------------------*/ - -#include -#include -#include -#include -#include -#include -#include - -#include "codec2.h" -#include "codec2_fdmdv.h" -#include "codec2_ofdm.h" -#include "comp_prim.h" -#include "debug_alloc.h" -#include "fmfsk.h" -#include "freedv_api.h" -#include "freedv_api_internal.h" -#include "fsk.h" -#include "gp_interleaver.h" -#include "interldpc.h" -#include "ldpc_codes.h" -#include "mpdecode_core.h" -#include "ofdm_internal.h" -#include "varicode.h" - -extern char *ofdm_statemode[]; - -#ifdef __LPCNET__ -void freedv_2020x_open(struct freedv *f) { - f->speech_sample_rate = FREEDV_FS_16000; - f->snr_squelch_thresh = 4.0; - f->squelch_en = 0; - - struct OFDM_CONFIG ofdm_config; - switch (f->mode) { - case FREEDV_MODE_2020: - ofdm_init_mode("2020", &ofdm_config); - break; - case FREEDV_MODE_2020B: - ofdm_init_mode("2020B", &ofdm_config); - break; - default: - assert(0); - } - - f->ofdm = ofdm_create(&ofdm_config); - - f->ldpc = (struct LDPC *)MALLOC(sizeof(struct LDPC)); - assert(f->ldpc != NULL); - - ldpc_codes_setup(f->ldpc, f->ofdm->codename); - ldpc_mode_specific_setup(f->ofdm, f->ldpc); - int vq_type; - switch (f->mode) { - case FREEDV_MODE_2020: - vq_type = 1; /* vanilla VQ */ - break; - case FREEDV_MODE_2020B: - vq_type = 2; /* index optimised VQ for increased robustness to single bit - errors */ - break; - default: - assert(0); - } - - int coded_syms_per_frame = f->ldpc->coded_bits_per_frame / f->ofdm->bps; - f->ofdm_bitsperframe = ofdm_get_bits_per_frame(f->ofdm); - f->ofdm_nuwbits = f->ofdm->config.nuwbits; - f->ofdm_ntxtbits = f->ofdm->config.txtbits; - assert(f->ofdm_ntxtbits == 4); - - if (f->verbose) { - fprintf(stderr, "f->mode = %d\n", f->mode); - fprintf(stderr, "vq_type = %d\n", vq_type); - fprintf(stderr, "ldpc_data_bits_per_frame = %d\n", - f->ldpc->ldpc_data_bits_per_frame); - fprintf(stderr, "ldpc_coded_bits_per_frame = %d\n", - f->ldpc->ldpc_coded_bits_per_frame); - fprintf(stderr, "data_bits_per_frame = %d\n", f->ldpc->data_bits_per_frame); - fprintf(stderr, "coded_bits_per_frame = %d\n", - f->ldpc->coded_bits_per_frame); - fprintf(stderr, "coded_syms_per_frame = %d\n", - f->ldpc->coded_bits_per_frame / f->ofdm->bps); - fprintf(stderr, "ofdm_bits_per_frame = %d\n", f->ofdm_bitsperframe); - fprintf(stderr, "ofdm_nuwbits = %d\n", f->ofdm_nuwbits); - fprintf(stderr, "ofdm_ntxtbits = %d\n", f->ofdm_ntxtbits); - } - - f->codeword_symbols = (COMP *)MALLOC(sizeof(COMP) * coded_syms_per_frame); - assert(f->codeword_symbols != NULL); - - f->codeword_amps = (float *)MALLOC(sizeof(float) * coded_syms_per_frame); - assert(f->codeword_amps != NULL); - - for (int i = 0; i < coded_syms_per_frame; i++) { - f->codeword_symbols[i].real = 0.0f; - f->codeword_symbols[i].imag = 0.0f; - f->codeword_amps[i] = 0.0f; - } - - f->nin = f->nin_prev = ofdm_get_samples_per_frame(f->ofdm); - f->n_nat_modem_samples = ofdm_get_samples_per_frame(f->ofdm); - f->n_nom_modem_samples = ofdm_get_samples_per_frame(f->ofdm); - f->n_max_modem_samples = ofdm_get_max_samples_per_frame(f->ofdm); - f->modem_sample_rate = f->ofdm->config.fs; - f->clip_en = false; - f->sz_error_pattern = f->ofdm_bitsperframe; - - /* storage for pass through audio interpolating filter. These are - the rate FREEDV_FS_8000 modem input samples before interpolation */ - f->passthrough_2020 = - CALLOC(1, sizeof(float) * - (FDMDV_OS_TAPS_16K + freedv_get_n_max_modem_samples(f))); - assert(f->passthrough_2020 != NULL); - - // make sure we have enough storage for worst case nin with passthrough, in - // 2020 we oversample the 8 kHz input Rx audio to 16 kHz - int nout_max = 2 * freedv_get_n_max_modem_samples(f); - assert(nout_max <= freedv_get_n_max_speech_samples(f)); - - f->lpcnet = lpcnet_freedv_create(vq_type); - assert(f->lpcnet != NULL); - f->codec2 = NULL; - - /* should be exactly an integer number of Codec frames in a OFDM modem frame - */ - assert((f->ldpc->data_bits_per_frame % lpcnet_bits_per_frame(f->lpcnet)) == - 0); - - f->n_codec_frames = - f->ldpc->data_bits_per_frame / lpcnet_bits_per_frame(f->lpcnet); - f->n_speech_samples = f->n_codec_frames * lpcnet_samples_per_frame(f->lpcnet); - f->bits_per_codec_frame = lpcnet_bits_per_frame(f->lpcnet); - f->bits_per_modem_frame = f->n_codec_frames * f->bits_per_codec_frame; - - f->tx_payload_bits = (unsigned char *)MALLOC(f->bits_per_modem_frame); - assert(f->tx_payload_bits != NULL); - f->rx_payload_bits = (unsigned char *)MALLOC(f->bits_per_modem_frame); - assert(f->rx_payload_bits != NULL); - - /* attenuate audio 12dB as channel noise isn't that pleasant */ - f->passthrough_gain = 0.25; -} - -void freedv_comptx_2020(struct freedv *f, COMP mod_out[]) { - int i, k; - - int data_bits_per_frame = f->ldpc->data_bits_per_frame; - uint8_t tx_bits[data_bits_per_frame]; - - memcpy(tx_bits, f->tx_payload_bits, data_bits_per_frame); - - // Generate Varicode txt bits. Txt bits in OFDM frame come just - // after Unique Word (UW). Txt bits aren't protected by FEC, and need to be - // added to each frame after interleaver as done it's thing - - int nspare = f->ofdm_ntxtbits; - uint8_t txt_bits[nspare]; - - for (k = 0; k < nspare; k++) { - if (f->nvaricode_bits == 0) { - /* get new char and encode */ - char s[2]; - if (f->freedv_get_next_tx_char != NULL) { - s[0] = (*f->freedv_get_next_tx_char)(f->callback_state); - f->nvaricode_bits = - varicode_encode(f->tx_varicode_bits, s, VARICODE_MAX_BITS, 1, - f->varicode_dec_states.code_num); - f->varicode_bit_index = 0; - } - } - if (f->nvaricode_bits) { - txt_bits[k] = f->tx_varicode_bits[f->varicode_bit_index++]; - f->nvaricode_bits--; - } else - txt_bits[k] = 0; - } - - /* optionally replace codec payload bits with test frames known to rx */ - - if (f->test_frames) { - uint8_t payload_data_bits[data_bits_per_frame]; - ofdm_generate_payload_data_bits(payload_data_bits, data_bits_per_frame); - - for (i = 0; i < data_bits_per_frame; i++) { - tx_bits[i] = payload_data_bits[i]; - } - } - - /* OK now ready to LDPC encode, interleave, and OFDM modulate */ - ofdm_ldpc_interleave_tx(f->ofdm, f->ldpc, (complex float *)mod_out, tx_bits, - txt_bits); -} - -int freedv_comprx_2020(struct freedv *f, COMP demod_in[]) { - int i, k; - int n_ascii; - char ascii_out; - struct OFDM *ofdm = f->ofdm; - struct LDPC *ldpc = f->ldpc; - - int data_bits_per_frame = ldpc->data_bits_per_frame; - int coded_bits_per_frame = ldpc->coded_bits_per_frame; - int coded_syms_per_frame = ldpc->coded_bits_per_frame / ofdm->bps; - COMP *codeword_symbols = f->codeword_symbols; - float *codeword_amps = f->codeword_amps; - int rx_bits[f->ofdm_bitsperframe]; - short txt_bits[f->ofdm_ntxtbits]; - COMP payload_syms[coded_syms_per_frame]; - float payload_amps[coded_syms_per_frame]; - - int rx_status = 0; - - int Nerrs_raw = 0; - int Nerrs_coded = 0; - int Ncoded; - int iter = 0; - int parityCheckCount = 0; - uint8_t rx_uw[f->ofdm_nuwbits]; - - f->sync = 0; - - // TODO: should be higher for 2020? - float EsNo = 3.0; - - /* looking for modem sync */ - - if (ofdm->sync_state == search) { - ofdm_sync_search(f->ofdm, demod_in); - f->snr_est = -5.0; - } - - /* OK modem is in sync */ - - if ((ofdm->sync_state == synced) || (ofdm->sync_state == trial)) { - rx_status |= FREEDV_RX_SYNC; - if (ofdm->sync_state == trial) rx_status |= FREEDV_RX_TRIAL_SYNC; - - int txt_sym_index = 0; - - ofdm_demod(ofdm, rx_bits, demod_in); - ofdm_extract_uw(ofdm, ofdm->rx_np, ofdm->rx_amp, rx_uw); - ofdm_disassemble_qpsk_modem_packet_with_text_amps( - ofdm, ofdm->rx_np, ofdm->rx_amp, payload_syms, payload_amps, txt_bits, - &txt_sym_index); - - f->sync = 1; - - assert((f->ofdm_nuwbits + f->ofdm_ntxtbits + coded_bits_per_frame) == - f->ofdm_bitsperframe); - - /* newest symbols at end of buffer (uses final i from last loop), note we - change COMP formats from what modem uses internally */ - - for (i = 0; i < coded_syms_per_frame; i++) { - codeword_symbols[i] = payload_syms[i]; - codeword_amps[i] = payload_amps[i]; - } - - /* run de-interleaver */ - - COMP codeword_symbols_de[coded_syms_per_frame]; - float codeword_amps_de[coded_syms_per_frame]; - - gp_deinterleave_comp(codeword_symbols_de, codeword_symbols, - coded_syms_per_frame); - gp_deinterleave_float(codeword_amps_de, codeword_amps, - coded_syms_per_frame); - - float llr[coded_bits_per_frame]; - uint8_t out_char[coded_bits_per_frame]; - - if (f->test_frames) { - Nerrs_raw = - count_uncoded_errors(ldpc, &f->ofdm->config, codeword_symbols_de, 0); - f->total_bit_errors += Nerrs_raw; - f->total_bits += f->ofdm_bitsperframe; - } - - symbols_to_llrs(llr, codeword_symbols_de, codeword_amps_de, EsNo, - ofdm->mean_amp, coded_syms_per_frame); - ldpc_decode_frame(ldpc, &parityCheckCount, &iter, out_char, llr); - if (parityCheckCount != ldpc->NumberParityBits) - rx_status |= FREEDV_RX_BIT_ERRORS; - - if (f->test_frames) { - uint8_t payload_data_bits[data_bits_per_frame]; - ofdm_generate_payload_data_bits(payload_data_bits, data_bits_per_frame); - count_errors_protection_mode(ldpc->protection_mode, &Nerrs_coded, &Ncoded, - payload_data_bits, out_char, - data_bits_per_frame); - f->total_bit_errors_coded += Nerrs_coded; - f->total_bits_coded += Ncoded; - if (Nerrs_coded) f->total_packet_errors++; - f->total_packets++; - } else { - memcpy(f->rx_payload_bits, out_char, data_bits_per_frame); - } - - rx_status |= FREEDV_RX_BITS; - - /* If modem is synced we can decode txt bits */ - - for (k = 0; k < f->ofdm_ntxtbits; k++) { - if (k % 2 == 0 && (f->freedv_put_next_rx_symbol != NULL)) { - (*f->freedv_put_next_rx_symbol)(f->callback_state_sym, - ofdm->rx_np[txt_sym_index], - ofdm->rx_amp[txt_sym_index]); - txt_sym_index++; - } - - // fprintf(stderr, "txt_bits[%d] = %d\n", k, rx_bits[i]); - n_ascii = varicode_decode(&f->varicode_dec_states, &ascii_out, - &txt_bits[k], 1, 1); - if (n_ascii && (f->freedv_put_next_rx_char != NULL)) { - (*f->freedv_put_next_rx_char)(f->callback_state, ascii_out); - } - } - - /* estimate uncoded BER from UW. Coded bit errors could - probably be estimated as half of all failed LDPC parity - checks */ - - for (i = 0; i < f->ofdm_nuwbits; i++) { - if (rx_uw[i] != ofdm->tx_uw[i]) { - f->total_bit_errors++; - } - } - f->total_bits += f->ofdm_nuwbits; - - ofdm_get_demod_stats(f->ofdm, &f->stats, ofdm->rx_np, - ofdm->rowsperframe * ofdm->nc); - f->snr_est = f->stats.snr_est; - } - - /* iterate state machine and update nin for next call */ - - f->nin = ofdm_get_nin(ofdm); - ofdm_sync_state_machine(ofdm, rx_uw); - - if ((f->verbose && (ofdm->last_sync_state == search)) || (f->verbose == 2)) { - assert(rx_status <= 15); - fprintf(stderr, - "%3d st: %-6s euw: %2d %1d f: %5.1f pbw: %d snr: %4.1f eraw: %3d " - "ecdd: %3d iter: %3d pcc: %3d rxst: %s\n", - f->frames++, ofdm_statemode[ofdm->last_sync_state], ofdm->uw_errors, - ofdm->sync_counter, (double)ofdm->foff_est_hz, - ofdm->phase_est_bandwidth, f->snr_est, Nerrs_raw, Nerrs_coded, iter, - parityCheckCount, rx_sync_flags_to_text[rx_status]); - } - - return rx_status; -} -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_700.c b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_700.c deleted file mode 100644 index a7d7aac..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_700.c +++ /dev/null @@ -1,619 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_700.c - AUTHOR......: David Rowe - DATE CREATED: May 2020 - - Functions that implement the various FreeDV 700 modes, and more generally - OFDM data modes. - -\*---------------------------------------------------------------------------*/ - -#include -#include -#include -#include -#include -#include -#include - -#include "codec2.h" -#include "codec2_fdmdv.h" -#include "codec2_ofdm.h" -#include "comp_prim.h" -#include "debug_alloc.h" -#include "filter.h" -#include "fmfsk.h" -#include "freedv_api.h" -#include "freedv_api_internal.h" -#include "fsk.h" -#include "gp_interleaver.h" -#include "interldpc.h" -#include "ldpc_codes.h" -#include "mpdecode_core.h" -#include "ofdm_internal.h" -#include "varicode.h" - -extern char *ofdm_statemode[]; - -void freedv_700c_open(struct freedv *f) { - f->snr_squelch_thresh = 0.0; - f->squelch_en = false; - - f->cohpsk = cohpsk_create(); - f->nin = f->nin_prev = COHPSK_NOM_SAMPLES_PER_FRAME; - f->n_nat_modem_samples = - COHPSK_NOM_SAMPLES_PER_FRAME; // native modem samples as used by the - // modem - f->n_nom_modem_samples = f->n_nat_modem_samples * FREEDV_FS_8000 / - COHPSK_FS; // number of samples after native samples - // are interpolated to 8000 sps - f->n_max_modem_samples = - COHPSK_MAX_SAMPLES_PER_FRAME * FREEDV_FS_8000 / COHPSK_FS + 1; - f->modem_sample_rate = - FREEDV_FS_8000; // note weird sample rate tamed by resampling - f->clip_en = true; - f->sz_error_pattern = cohpsk_error_pattern_size(); - f->test_frames_diversity = 1; - - f->ptFilter7500to8000 = - (struct quisk_cfFilter *)MALLOC(sizeof(struct quisk_cfFilter)); - f->ptFilter8000to7500 = - (struct quisk_cfFilter *)MALLOC(sizeof(struct quisk_cfFilter)); - quisk_filt_cfInit(f->ptFilter8000to7500, quiskFilt120t480, - sizeof(quiskFilt120t480) / sizeof(float)); - quisk_filt_cfInit(f->ptFilter7500to8000, quiskFilt120t480, - sizeof(quiskFilt120t480) / sizeof(float)); - - f->speech_sample_rate = FREEDV_FS_8000; - f->codec2 = codec2_create(CODEC2_MODE_700C); - assert(f->codec2 != NULL); - - f->n_codec_frames = 2; - f->n_speech_samples = f->n_codec_frames * codec2_samples_per_frame(f->codec2); - f->bits_per_codec_frame = codec2_bits_per_frame(f->codec2); - f->bits_per_modem_frame = - f->n_codec_frames * codec2_bits_per_frame(f->codec2); - assert(f->bits_per_modem_frame == COHPSK_BITS_PER_FRAME); - - f->tx_payload_bits = - (uint8_t *)MALLOC(f->bits_per_modem_frame * sizeof(char)); - assert(f->tx_payload_bits != NULL); - f->rx_payload_bits = - (uint8_t *)MALLOC(f->bits_per_modem_frame * sizeof(char)); - assert(f->rx_payload_bits != NULL); -} - -void freedv_comptx_700c(struct freedv *f, COMP mod_out[]) { - int i; - COMP tx_fdm[f->n_nat_modem_samples]; - int tx_bits[COHPSK_BITS_PER_FRAME]; - - /* earlier modems used one bit per int for unpacked bits */ - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) - tx_bits[i] = f->tx_payload_bits[i]; - - /* optionally overwrite the codec bits with test frames */ - if (f->test_frames) { - cohpsk_get_test_bits(f->cohpsk, tx_bits); - } - - /* cohpsk modulator */ - cohpsk_mod(f->cohpsk, tx_fdm, tx_bits, COHPSK_BITS_PER_FRAME); - - float gain = 1.0; - if (f->clip_en) { - cohpsk_clip(tx_fdm, COHPSK_CLIP, COHPSK_NOM_SAMPLES_PER_FRAME); - gain = 2.5; - } - for (i = 0; i < f->n_nat_modem_samples; i++) - mod_out[i] = fcmult(gain * COHPSK_SCALE, tx_fdm[i]); - i = quisk_cfInterpDecim((complex float *)mod_out, f->n_nat_modem_samples, - f->ptFilter7500to8000, 16, 15); -} - -// open function for OFDM voice modes -void freedv_ofdm_voice_open(struct freedv *f, char *mode) { - f->snr_squelch_thresh = 0.0; - f->squelch_en = false; - struct OFDM_CONFIG *ofdm_config = - (struct OFDM_CONFIG *)calloc(1, sizeof(struct OFDM_CONFIG)); - assert(ofdm_config != NULL); - ofdm_init_mode(mode, ofdm_config); - - f->ofdm = ofdm_create(ofdm_config); - assert(f->ofdm != NULL); - free(ofdm_config); - - ofdm_config = ofdm_get_config_param(f->ofdm); - f->ofdm_bitsperpacket = ofdm_get_bits_per_packet(f->ofdm); - f->ofdm_bitsperframe = ofdm_get_bits_per_frame(f->ofdm); - f->ofdm_nuwbits = ofdm_config->nuwbits; - f->ofdm_ntxtbits = ofdm_config->txtbits; - - f->ldpc = (struct LDPC *)MALLOC(sizeof(struct LDPC)); - assert(f->ldpc != NULL); - - ldpc_codes_setup(f->ldpc, f->ofdm->codename); - ldpc_mode_specific_setup(f->ofdm, f->ldpc); -#ifdef __EMBEDDED__ - f->ldpc->max_iter = 10; /* limit LDPC decoder iterations to limit CPU load */ -#endif - int Nsymsperpacket = ofdm_get_bits_per_packet(f->ofdm) / f->ofdm->bps; - f->rx_syms = (COMP *)MALLOC(sizeof(COMP) * Nsymsperpacket); - assert(f->rx_syms != NULL); - f->rx_amps = (float *)MALLOC(sizeof(float) * Nsymsperpacket); - assert(f->rx_amps != NULL); - for (int i = 0; i < Nsymsperpacket; i++) { - f->rx_syms[i].real = f->rx_syms[i].imag = 0.0; - f->rx_amps[i] = 0.0; - } - - f->nin = f->nin_prev = ofdm_get_samples_per_frame(f->ofdm); - f->n_nat_modem_samples = ofdm_get_samples_per_frame(f->ofdm); - f->n_nom_modem_samples = ofdm_get_samples_per_frame(f->ofdm); - f->n_max_modem_samples = ofdm_get_max_samples_per_frame(f->ofdm); - f->modem_sample_rate = f->ofdm->config.fs; - f->clip_en = false; - f->sz_error_pattern = f->ofdm_bitsperframe; - - f->tx_bits = NULL; /* not used for 700D */ - - f->speech_sample_rate = FREEDV_FS_8000; - f->codec2 = codec2_create(CODEC2_MODE_700C); - assert(f->codec2 != NULL); - /* should be exactly an integer number of Codec 2 frames in a OFDM modem frame - */ - assert((f->ldpc->data_bits_per_frame % codec2_bits_per_frame(f->codec2)) == - 0); - - f->n_codec_frames = - f->ldpc->data_bits_per_frame / codec2_bits_per_frame(f->codec2); - f->n_speech_samples = f->n_codec_frames * codec2_samples_per_frame(f->codec2); - f->bits_per_codec_frame = codec2_bits_per_frame(f->codec2); - f->bits_per_modem_frame = f->n_codec_frames * f->bits_per_codec_frame; - - f->tx_payload_bits = (unsigned char *)MALLOC(f->bits_per_modem_frame); - assert(f->tx_payload_bits != NULL); - f->rx_payload_bits = (unsigned char *)MALLOC(f->bits_per_modem_frame); - assert(f->rx_payload_bits != NULL); - - /* attenuate audio 12dB as channel noise isn't that pleasant */ - f->passthrough_gain = 0.25; - - /* should all add up to a complete frame */ - assert((ofdm_config->ns - 1) * ofdm_config->nc * ofdm_config->bps == - f->ldpc->coded_bits_per_frame + ofdm_config->txtbits + - f->ofdm_nuwbits); -} - -// open function for OFDM data modes, TODO consider moving to a new -// (freedv_ofdm_data.c) file -void freedv_ofdm_data_open(struct freedv *f, struct freedv_advanced *adv) { - struct OFDM_CONFIG ofdm_config; - char mode[32]; - if (f->mode == FREEDV_MODE_DATAC0) strcpy(mode, "datac0"); - if (f->mode == FREEDV_MODE_DATAC1) strcpy(mode, "datac1"); - if (f->mode == FREEDV_MODE_DATAC3) strcpy(mode, "datac3"); - if (f->mode == FREEDV_MODE_DATAC4) strcpy(mode, "datac4"); - if (f->mode == FREEDV_MODE_DATAC13) strcpy(mode, "datac13"); - if (f->mode == FREEDV_MODE_DATAC14) strcpy(mode, "datac14"); - if (f->mode == FREEDV_MODE_DATA_CUSTOM) { - assert(adv != NULL); - assert(adv->config != NULL); - memcpy(&ofdm_config, (struct OFDM_CONFIG *)adv->config, - sizeof(struct OFDM_CONFIG)); - } else { - ofdm_init_mode(mode, &ofdm_config); - } - f->ofdm = ofdm_create(&ofdm_config); - assert(f->ofdm != NULL); - - // LDPC set up - f->ldpc = (struct LDPC *)MALLOC(sizeof(struct LDPC)); - assert(f->ldpc != NULL); - ldpc_codes_setup(f->ldpc, f->ofdm->codename); - ldpc_mode_specific_setup(f->ofdm, f->ldpc); -#ifdef __EMBEDDED__ - f->ldpc->max_iter = 10; /* limit LDPC decoder iterations to limit CPU load */ -#endif - - // useful constants - f->ofdm_bitsperpacket = ofdm_get_bits_per_packet(f->ofdm); - f->ofdm_bitsperframe = ofdm_get_bits_per_frame(f->ofdm); - f->ofdm_nuwbits = ofdm_config.nuwbits; - f->ofdm_ntxtbits = ofdm_config.txtbits; - - /* payload bits per FreeDV API "frame". In OFDM modem nomenclature this is - the number of payload data bits per packet, or the number of data bits in - a LDPC codeword */ - f->bits_per_modem_frame = f->ldpc->data_bits_per_frame; - - // buffers for received symbols for one packet/LDPC codeword - may span many - // OFDM modem frames - int Nsymsperpacket = ofdm_get_bits_per_packet(f->ofdm) / f->ofdm->bps; - f->rx_syms = (COMP *)MALLOC(sizeof(COMP) * Nsymsperpacket); - assert(f->rx_syms != NULL); - f->rx_amps = (float *)MALLOC(sizeof(float) * Nsymsperpacket); - assert(f->rx_amps != NULL); - for (int i = 0; i < Nsymsperpacket; i++) { - f->rx_syms[i].real = f->rx_syms[i].imag = 0.0; - f->rx_amps[i] = 0.0; - } - - f->nin = f->nin_prev = ofdm_get_nin(f->ofdm); - f->n_nat_modem_samples = ofdm_get_samples_per_packet(f->ofdm); - f->n_nom_modem_samples = ofdm_get_samples_per_frame(f->ofdm); - /* in burst mode we might jump a preamble frame */ - f->n_max_modem_samples = 2 * ofdm_get_max_samples_per_frame(f->ofdm); - f->modem_sample_rate = f->ofdm->config.fs; - f->sz_error_pattern = f->ofdm_bitsperpacket; - - // Note inconsistency: freedv API modem "frame" is a OFDM modem packet - f->tx_payload_bits = (unsigned char *)MALLOC(f->bits_per_modem_frame); - assert(f->tx_payload_bits != NULL); - f->rx_payload_bits = (unsigned char *)MALLOC(f->bits_per_modem_frame); - assert(f->rx_payload_bits != NULL); -} - -/* speech or raw data, complex OFDM modulation out */ -void freedv_comptx_ofdm(struct freedv *f, COMP mod_out[]) { - int i, k; - int nspare; - - /* Generate Varicode txt bits (if used), waren't protected by FEC */ - nspare = f->ofdm_ntxtbits; - uint8_t txt_bits[nspare]; - - for (k = 0; k < nspare; k++) { - if (f->nvaricode_bits == 0) { - /* get new char and encode */ - char s[2]; - if (f->freedv_get_next_tx_char != NULL) { - s[0] = (*f->freedv_get_next_tx_char)(f->callback_state); - f->nvaricode_bits = - varicode_encode(f->tx_varicode_bits, s, VARICODE_MAX_BITS, 1, - f->varicode_dec_states.code_num); - f->varicode_bit_index = 0; - } - } - if (f->nvaricode_bits) { - txt_bits[k] = f->tx_varicode_bits[f->varicode_bit_index++]; - f->nvaricode_bits--; - } else - txt_bits[k] = 0; - } - - /* optionally replace payload bits with test frames known to rx */ - if (f->test_frames) { - uint8_t payload_data_bits[f->bits_per_modem_frame]; - ofdm_generate_payload_data_bits(payload_data_bits, f->bits_per_modem_frame); - - for (i = 0; i < f->bits_per_modem_frame; i++) { - f->tx_payload_bits[i] = payload_data_bits[i]; - } - } - - /* OK now ready to LDPC encode, interleave, and OFDM modulate */ - ofdm_ldpc_interleave_tx(f->ofdm, f->ldpc, (complex float *)mod_out, - f->tx_payload_bits, txt_bits); -} - -int freedv_comprx_700c(struct freedv *f, COMP demod_in_8kHz[]) { - int i; - int sync; - - int rx_status = 0; - - // quisk_cfInterpDecim() modifies input data so lets make a copy just in - // case there is no sync and we need to echo input to output - - // freedv_nin(f): input samples at Fs=8000 Hz - // f->nin: input samples at Fs=7500 Hz - - COMP demod_in[freedv_nin(f)]; - - for (i = 0; i < freedv_nin(f); i++) demod_in[i] = demod_in_8kHz[i]; - - i = quisk_cfInterpDecim((complex float *)demod_in, freedv_nin(f), - f->ptFilter8000to7500, 15, 16); - - for (i = 0; i < f->nin; i++) - demod_in[i] = fcmult(1.0 / COHPSK_SCALE, demod_in[i]); - - float rx_soft_bits[COHPSK_BITS_PER_FRAME]; - - cohpsk_demod(f->cohpsk, rx_soft_bits, &sync, demod_in, &f->nin); - - for (i = 0; i < f->bits_per_modem_frame; i++) - f->rx_payload_bits[i] = rx_soft_bits[i] < 0.0f; - - f->sync = sync; - cohpsk_get_demod_stats(f->cohpsk, &f->stats); - f->snr_est = f->stats.snr_est; - - if (sync) { - rx_status = FREEDV_RX_SYNC; - if (f->test_frames == 0) { - rx_status |= FREEDV_RX_BITS; - } else { - if (f->test_frames_diversity) { - /* normal operation - error pattern on frame after diveristy - * combination - */ - short error_pattern[COHPSK_BITS_PER_FRAME]; - int bit_errors; - - /* test data, lets see if we can sync to the test data sequence */ - - char rx_bits_char[COHPSK_BITS_PER_FRAME]; - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) - rx_bits_char[i] = rx_soft_bits[i] < 0.0; - cohpsk_put_test_bits(f->cohpsk, &f->test_frame_sync_state, - error_pattern, &bit_errors, rx_bits_char, 0); - if (f->test_frame_sync_state) { - f->total_bit_errors += bit_errors; - f->total_bits += COHPSK_BITS_PER_FRAME; - if (f->freedv_put_error_pattern != NULL) { - (*f->freedv_put_error_pattern)(f->error_pattern_callback_state, - error_pattern, - COHPSK_BITS_PER_FRAME); - } - } - } else { - /* calculate error pattern on uncombined carriers - test mode to spot - any carrier specific issues like tx passband filtering */ - - short error_pattern[2 * COHPSK_BITS_PER_FRAME]; - char rx_bits_char[COHPSK_BITS_PER_FRAME]; - int bit_errors_lower, bit_errors_upper; - - /* lower group of carriers */ - - float *rx_bits_lower = cohpsk_get_rx_bits_lower(f->cohpsk); - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) { - rx_bits_char[i] = rx_bits_lower[i] < 0.0; - } - cohpsk_put_test_bits(f->cohpsk, &f->test_frame_sync_state, - error_pattern, &bit_errors_lower, rx_bits_char, 0); - - /* upper group of carriers */ - - float *rx_bits_upper = cohpsk_get_rx_bits_upper(f->cohpsk); - for (i = 0; i < COHPSK_BITS_PER_FRAME; i++) { - rx_bits_char[i] = rx_bits_upper[i] < 0.0; - } - cohpsk_put_test_bits(f->cohpsk, &f->test_frame_sync_state_upper, - &error_pattern[COHPSK_BITS_PER_FRAME], - &bit_errors_upper, rx_bits_char, 1); - - /* combine total errors and call callback */ - - if (f->test_frame_sync_state && f->test_frame_sync_state_upper) { - f->total_bit_errors += bit_errors_lower + bit_errors_upper; - f->total_bits += 2 * COHPSK_BITS_PER_FRAME; - if (f->freedv_put_error_pattern != NULL) { - (*f->freedv_put_error_pattern)(f->error_pattern_callback_state, - error_pattern, - 2 * COHPSK_BITS_PER_FRAME); - } - } - } - } - } - - return rx_status; -} - -/* - OFDM demod function that can support complex (float) or real (short) - samples. The real short samples are useful for low memory platforms such as - the SM1000. -*/ - -int freedv_comp_short_rx_ofdm(struct freedv *f, void *demod_in_8kHz, - int demod_in_is_short, float gain) { - int i, k; - int n_ascii; - char ascii_out; - struct OFDM *ofdm = f->ofdm; - struct LDPC *ldpc = f->ldpc; - - /* useful constants */ - int Nbitsperframe = ofdm_get_bits_per_frame(ofdm); - int Nbitsperpacket = ofdm_get_bits_per_packet(ofdm); - int Nsymsperframe = Nbitsperframe / ofdm->bps; - int Nsymsperpacket = Nbitsperpacket / ofdm->bps; - int Npayloadbitsperpacket = Nbitsperpacket - ofdm->nuwbits - ofdm->ntxtbits; - int Npayloadsymsperpacket = Npayloadbitsperpacket / ofdm->bps; - int Ndatabitsperpacket = ldpc->data_bits_per_frame; - - complex float *rx_syms = (complex float *)f->rx_syms; - float *rx_amps = f->rx_amps; - - int rx_bits[Nbitsperframe]; - short txt_bits[f->ofdm_ntxtbits]; - COMP payload_syms[Npayloadsymsperpacket]; - float payload_amps[Npayloadsymsperpacket]; - - int Nerrs_raw = 0; - int Nerrs_coded = 0; - int iter = 0; - int parityCheckCount = 0; - uint8_t rx_uw[f->ofdm_nuwbits]; - - float new_gain = gain / f->ofdm->amp_scale; - - assert((demod_in_is_short == 0) || (demod_in_is_short == 1)); - - int rx_status = 0; - float EsNo = 3.0; /* further work: estimate this properly from signal */ - f->sync = 0; - - /* looking for OFDM modem sync */ - if (ofdm->sync_state == search) { - if (demod_in_is_short) - ofdm_sync_search_shorts(f->ofdm, (short *)demod_in_8kHz, new_gain); - else - ofdm_sync_search(f->ofdm, (COMP *)demod_in_8kHz); - f->snr_est = -5.0; - } - - if ((ofdm->sync_state == synced) || (ofdm->sync_state == trial)) { - /* OK we have OFDM modem sync */ - rx_status |= FREEDV_RX_SYNC; - if (ofdm->sync_state == trial) rx_status |= FREEDV_RX_TRIAL_SYNC; - if (demod_in_is_short) - ofdm_demod_shorts(ofdm, rx_bits, (short *)demod_in_8kHz, new_gain); - else - ofdm_demod(ofdm, rx_bits, (COMP *)demod_in_8kHz); - - /* accumulate a buffer of data symbols for this packet */ - for (i = 0; i < Nsymsperpacket - Nsymsperframe; i++) { - rx_syms[i] = rx_syms[i + Nsymsperframe]; - rx_amps[i] = rx_amps[i + Nsymsperframe]; - } - memcpy(&rx_syms[Nsymsperpacket - Nsymsperframe], ofdm->rx_np, - sizeof(complex float) * Nsymsperframe); - memcpy(&rx_amps[Nsymsperpacket - Nsymsperframe], ofdm->rx_amp, - sizeof(float) * Nsymsperframe); - - /* look for UW as frames enter packet buffer, note UW may span several - * modem frames */ - int st_uw = Nsymsperpacket - ofdm->nuwframes * Nsymsperframe; - ofdm_extract_uw(ofdm, &rx_syms[st_uw], &rx_amps[st_uw], rx_uw); - - // update some FreeDV API level stats - f->sync = 1; - - if (ofdm->modem_frame == (ofdm->np - 1)) { - /* we have received enough modem frames to complete packet and run LDPC - * decoder */ - int txt_sym_index = 0; - ofdm_disassemble_qpsk_modem_packet_with_text_amps( - ofdm, rx_syms, rx_amps, payload_syms, payload_amps, txt_bits, - &txt_sym_index); - - COMP payload_syms_de[Npayloadsymsperpacket]; - float payload_amps_de[Npayloadsymsperpacket]; - gp_deinterleave_comp(payload_syms_de, payload_syms, - Npayloadsymsperpacket); - gp_deinterleave_float(payload_amps_de, payload_amps, - Npayloadsymsperpacket); - - float llr[Npayloadbitsperpacket]; - uint8_t decoded_codeword[Npayloadbitsperpacket]; - symbols_to_llrs(llr, payload_syms_de, payload_amps_de, EsNo, - ofdm->mean_amp, Npayloadsymsperpacket); - ldpc_decode_frame(ldpc, &parityCheckCount, &iter, decoded_codeword, llr); - // iter = run_ldpc_decoder(ldpc, decoded_codeword, llr, - // &parityCheckCount); - memcpy(f->rx_payload_bits, decoded_codeword, Ndatabitsperpacket); - - if (strlen(ofdm->data_mode)) { - // we need a valid CRC to declare a data packet valid - if (freedv_check_crc16_unpacked(f->rx_payload_bits, Ndatabitsperpacket)) - rx_status |= FREEDV_RX_BITS; - else - rx_status |= FREEDV_RX_BIT_ERRORS; - } else { - // voice modes aren't as strict - pass everything through to the - // speech decoder, but flag frame with possible errors - rx_status |= FREEDV_RX_BITS; - if (parityCheckCount != ldpc->NumberParityBits) - rx_status |= FREEDV_RX_BIT_ERRORS; - } - - if (f->test_frames) { - /* est uncoded BER from payload bits */ - Nerrs_raw = count_uncoded_errors( - ldpc, &f->ofdm->config, payload_syms_de, strlen(ofdm->data_mode)); - f->total_bit_errors += Nerrs_raw; - f->total_bits += Npayloadbitsperpacket; - - /* coded errors from decoded bits */ - uint8_t payload_data_bits[Ndatabitsperpacket]; - ofdm_generate_payload_data_bits(payload_data_bits, Ndatabitsperpacket); - if (strlen(ofdm->data_mode)) { - uint16_t tx_crc16 = - freedv_crc16_unpacked(payload_data_bits, Ndatabitsperpacket - 16); - uint8_t tx_crc16_bytes[] = {tx_crc16 >> 8, tx_crc16 & 0xff}; - freedv_unpack(payload_data_bits + Ndatabitsperpacket - 16, - tx_crc16_bytes, 16); - } - Nerrs_coded = count_errors(payload_data_bits, f->rx_payload_bits, - Ndatabitsperpacket); - f->total_bit_errors_coded += Nerrs_coded; - f->total_bits_coded += Ndatabitsperpacket; - if (Nerrs_coded) f->total_packet_errors++; - f->total_packets++; - } - - /* decode txt bits (if used) */ - for (k = 0; k < f->ofdm_ntxtbits; k++) { - if (k % 2 == 0 && (f->freedv_put_next_rx_symbol != NULL)) { - (*f->freedv_put_next_rx_symbol)(f->callback_state_sym, - rx_syms[txt_sym_index], - rx_amps[txt_sym_index]); - txt_sym_index++; - } - n_ascii = varicode_decode(&f->varicode_dec_states, &ascii_out, - &txt_bits[k], 1, 1); - if (n_ascii && (f->freedv_put_next_rx_char != NULL)) { - (*f->freedv_put_next_rx_char)(f->callback_state, ascii_out); - } - } - - ofdm_get_demod_stats(ofdm, &f->stats, rx_syms, Nsymsperpacket); - f->snr_est = f->stats.snr_est; - } /* complete packet */ - - if ((ofdm->np == 1) && (ofdm->modem_frame == 0)) { - /* add in UW bit errors, useful in non-testframe, - single modem frame per packet modes */ - for (i = 0; i < f->ofdm_nuwbits; i++) { - if (rx_uw[i] != ofdm->tx_uw[i]) { - f->total_bit_errors++; - } - } - f->total_bits += f->ofdm_nuwbits; - } - } - - /* iterate state machine and update nin for next call */ - - f->nin = ofdm_get_nin(ofdm); - ofdm_sync_state_machine(ofdm, rx_uw); - - int print_full = 0; - int print_truncated = 0; - if (f->verbose && - ((rx_status & FREEDV_RX_BITS) || (rx_status & FREEDV_RX_BIT_ERRORS))) - print_full = 1; - if ((f->verbose == 2) && - !((rx_status & FREEDV_RX_BITS) || (rx_status & FREEDV_RX_BIT_ERRORS))) - print_truncated = 1; - if (print_full) { - fprintf(stderr, - "%3d nin: %4d st: %-6s euw: %2d %2d mf: %2d f: %5.1f pbw: %d snr: " - "%4.1f eraw: %4d ecdd: %4d iter: %3d " - "pcc: %4d rxst: %s\n", - f->frames++, ofdm->nin, ofdm_statemode[ofdm->last_sync_state], - ofdm->uw_errors, ofdm->sync_counter, ofdm->modem_frame, - (double)ofdm->foff_est_hz, ofdm->phase_est_bandwidth, - (double)f->snr_est, Nerrs_raw, Nerrs_coded, iter, parityCheckCount, - rx_sync_flags_to_text[rx_status]); - } - if (print_truncated) { - fprintf(stderr, - "%3d nin: %4d st: %-6s euw: %2d %2d mf: %2d f: %5.1f pbw: %d " - " " - " rxst: %s\n", - f->frames++, ofdm->nin, ofdm_statemode[ofdm->last_sync_state], - ofdm->uw_errors, ofdm->sync_counter, ofdm->modem_frame, - (double)ofdm->foff_est_hz, ofdm->phase_est_bandwidth, - rx_sync_flags_to_text[rx_status]); - } - - return rx_status; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_api.c b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_api.c deleted file mode 100644 index 3c812ca..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_api.c +++ /dev/null @@ -1,1632 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_api.c - AUTHOR......: David Rowe - DATE CREATED: August 2014 - - Library of API functions that implement the FreeDV API, useful for - embedding FreeDV in other programs. Please see: - - 1. README_freedv.md - 2. Notes on function use in this file - 3. Simple demo programs in the "demo" directory - 4. The full featured command line freedv_tx.c and freedv_rx.c programs - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2014 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "freedv_api.h" - -#include -#include -#include -#include -#include -#include -#include - -#include "codec2.h" -#include "codec2_fdmdv.h" -#include "codec2_ofdm.h" -#include "comp_prim.h" -#include "debug_alloc.h" -#include "fdmdv_internal.h" -#include "fmfsk.h" -#include "freedv_api_internal.h" -#include "freedv_vhf_framing.h" -#include "fsk.h" -#include "gp_interleaver.h" -#include "interldpc.h" -#include "mpdecode_core.h" -#include "ofdm_internal.h" -#include "varicode.h" - -/* The API version number. The first version is 10. Increment if the API - changes in a way that would require changes by the API user. */ - -#define VERSION 16 - -/* - Version 10 Initial version August 2, 2015. - - Version 11 September 2015 - Added: freedv_zero_total_bit_errors(), freedv_get_sync() - Changed all input and output sample rates to 8000 sps. Rates - for FREEDV_MODE_700 and 700B were 7500. - - Version 12 August 2018 Added OFDM configuration switch structure - - Version 13 November 2019 Removed 700 and 700B modes - - Version 14 May 2020 Number of returned speech samples can vary, use - freedv_get_n_max_speech_samples() to allocate buffers. - - Version 15 December 2022 Removing rarely used DPSK support which is not - needed given fast fading modes - - Version 16 April 2024, added field to struct freedv_advanced to support - FREEDV_MODE_DATA_CUSTOM - */ - -char *ofdm_statemode[] = {"search", "trial", "synced"}; - -char *rx_sync_flags_to_text[] = {"----", "---T", "--S-", "--ST", "-B--", "-B-T", - "-BS-", "-BST", "E---", "E--T", "E-S-", "E-ST", - "EB--", "EB-T", "EBS-", "EBST"}; - -/*---------------------------------------------------------------------------* \ - - FUNCTION....: freedv_open - AUTHOR......: David Rowe - DATE CREATED: 3 August 2014 - - Call this first to initialise. Returns NULL if initialisation - fails. If a malloc() or calloc() fails in general asserts() will - fire. - -\*---------------------------------------------------------------------------*/ - -struct freedv *freedv_open(int mode) { - // defaults for those modes that support the use of adv - struct freedv_advanced adv = {0, 2, 100, 8000, - 1000, 200, "H_256_512_4", NULL}; - return freedv_open_advanced(mode, &adv); -} - -struct freedv *freedv_open_advanced(int mode, struct freedv_advanced *adv) { - struct freedv *f; - - assert(FREEDV_PEAK == OFDM_PEAK); - assert(FREEDV_VARICODE_MAX_BITS == VARICODE_MAX_BITS); - - if ((FDV_MODE_ACTIVE(FREEDV_MODE_1600, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700C, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700D, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700E, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2400A, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2400B, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_800XA, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020B, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_FSK_LDPC, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC0, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC1, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC3, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC4, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC14, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATA_CUSTOM, mode)) == false) - return NULL; - - /* set everything to zero just in case */ - f = (struct freedv *)CALLOC(1, sizeof(struct freedv)); - if (f == NULL) return NULL; - - f->mode = mode; - - if (FDV_MODE_ACTIVE(FREEDV_MODE_1600, mode)) freedv_1600_open(f); - if (FDV_MODE_ACTIVE(FREEDV_MODE_700C, mode)) freedv_700c_open(f); - if (FDV_MODE_ACTIVE(FREEDV_MODE_700D, mode)) - freedv_ofdm_voice_open(f, "700D"); - if (FDV_MODE_ACTIVE(FREEDV_MODE_700E, mode)) - freedv_ofdm_voice_open(f, "700E"); -#ifdef __LPCNET__ - if (FDV_MODE_ACTIVE(FREEDV_MODE_2020, mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020B, mode)) - freedv_2020x_open(f); -#endif - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400A, mode)) freedv_2400a_open(f); - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400B, mode)) freedv_2400b_open(f); - if (FDV_MODE_ACTIVE(FREEDV_MODE_800XA, mode)) freedv_800xa_open(f); - if (FDV_MODE_ACTIVE(FREEDV_MODE_FSK_LDPC, mode)) freedv_fsk_ldpc_open(f, adv); - if (FDV_MODE_ACTIVE(FREEDV_MODE_DATAC0, mode)) freedv_ofdm_data_open(f, NULL); - if (FDV_MODE_ACTIVE(FREEDV_MODE_DATAC1, mode)) freedv_ofdm_data_open(f, NULL); - if (FDV_MODE_ACTIVE(FREEDV_MODE_DATAC3, mode)) freedv_ofdm_data_open(f, NULL); - if (FDV_MODE_ACTIVE(FREEDV_MODE_DATAC4, mode)) freedv_ofdm_data_open(f, NULL); - if (FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, mode)) - freedv_ofdm_data_open(f, NULL); - if (FDV_MODE_ACTIVE(FREEDV_MODE_DATAC14, mode)) - freedv_ofdm_data_open(f, NULL); - if (FDV_MODE_ACTIVE(FREEDV_MODE_DATA_CUSTOM, mode)) - freedv_ofdm_data_open(f, adv); - - varicode_decode_init(&f->varicode_dec_states, 1); - - return f; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: freedv_close - AUTHOR......: David Rowe - DATE CREATED: 3 August 2014 - - Call to shut down a freedv instance and free memory. - -\*---------------------------------------------------------------------------*/ - -void freedv_close(struct freedv *freedv) { - assert(freedv != NULL); - - FREE(freedv->tx_payload_bits); - FREE(freedv->rx_payload_bits); - if (freedv->codec2) codec2_destroy(freedv->codec2); - - if (FDV_MODE_ACTIVE(FREEDV_MODE_1600, freedv->mode)) { - FREE(freedv->fdmdv_bits); - FREE(freedv->fdmdv_tx_bits); - FREE(freedv->fdmdv_rx_bits); - fdmdv_destroy(freedv->fdmdv); - } - - if (FDV_MODE_ACTIVE(FREEDV_MODE_700C, freedv->mode)) { - cohpsk_destroy(freedv->cohpsk); - quisk_filt_destroy(freedv->ptFilter8000to7500); - FREE(freedv->ptFilter8000to7500); - quisk_filt_destroy(freedv->ptFilter7500to8000); - FREE(freedv->ptFilter7500to8000); - } - - if (FDV_MODE_ACTIVE(FREEDV_MODE_700D, freedv->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700E, freedv->mode)) { - FREE(freedv->rx_syms); - FREE(freedv->rx_amps); - FREE(freedv->ldpc); - ofdm_destroy(freedv->ofdm); - } - - if (FDV_MODE_ACTIVE(FREEDV_MODE_2020, freedv->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020B, freedv->mode)) { - FREE(freedv->codeword_symbols); - FREE(freedv->codeword_amps); - FREE(freedv->ldpc); - FREE(freedv->passthrough_2020); - ofdm_destroy(freedv->ofdm); -#ifdef __LPCNET__ - lpcnet_freedv_destroy(freedv->lpcnet); -#endif - } - - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400A, freedv->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_800XA, freedv->mode)) { - fsk_destroy(freedv->fsk); - fvhff_destroy_deframer(freedv->deframer); - } - - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400B, freedv->mode)) { - fmfsk_destroy(freedv->fmfsk); - fvhff_destroy_deframer(freedv->deframer); - } - - if (FDV_MODE_ACTIVE(FREEDV_MODE_FSK_LDPC, freedv->mode)) { - fsk_destroy(freedv->fsk); - FREE(freedv->ldpc); - FREE(freedv->frame_llr); - FREE(freedv->twoframes_llr); - FREE(freedv->twoframes_hard); - } - - if (FDV_MODE_ACTIVE(FREEDV_MODE_DATAC0, freedv->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC1, freedv->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC3, freedv->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC4, freedv->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, freedv->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC14, freedv->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATA_CUSTOM, freedv->mode)) { - FREE(freedv->rx_syms); - FREE(freedv->rx_amps); - FREE(freedv->ldpc); - ofdm_destroy(freedv->ofdm); - } - - FREE(freedv); -} - -/* helper function, unpacked bits are much easier to work with inside the modem - */ - -static void codec2_encode_upacked(struct freedv *f, uint8_t unpacked_bits[], - short speech_in[]) { - int n_packed = (f->bits_per_codec_frame + 7) / 8; - uint8_t packed_codec_bits[n_packed]; - - codec2_encode(f->codec2, packed_codec_bits, speech_in); - freedv_unpack(unpacked_bits, packed_codec_bits, f->bits_per_codec_frame); -} - -static int is_ofdm_mode(struct freedv *f) { - return FDV_MODE_ACTIVE(FREEDV_MODE_2020, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020B, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700D, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700E, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC0, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC1, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC3, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC4, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC14, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATA_CUSTOM, f->mode); -} - -static int is_ofdm_data_mode(struct freedv *f) { - return FDV_MODE_ACTIVE(FREEDV_MODE_DATAC0, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC1, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC3, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC4, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC14, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATA_CUSTOM, f->mode); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: freedv_tx - AUTHOR......: David Rowe - DATE CREATED: 3 August 2014 - - Takes a frame of input speech samples, encodes and modulates them to - produce a frame of modem samples that can be sent to the - transmitter. See demo/freedv_700d_tx.c for an example. - - speech_in[] is sampled at freedv_get_speech_sample_rate() Hz, and - the user must supply exactly freedv_get_n_speech_samples(). The peak - level should be between +/- 16384 and +/- 32767. - - The modem signal mod_out[] is sampled at - freedv_get_modem_sample_rate() and is always exactly - freedv_get_n_nom_modem_samples() long. mod_out[] will be scaled - such that the peak level is around +/-16384. - - mod_out[] has a higher RMS power than SSB with the same peak level. - In other words, the crest factor or peak to average power ratio is - lower than typical SSB voice. Ensure your transmitter is capable of - continuous high RMS power operation, or consider reducing Tx power. - -\*---------------------------------------------------------------------------*/ - -/* real-valued short output */ - -void freedv_tx(struct freedv *f, short mod_out[], short speech_in[]) { - assert(f != NULL); - COMP tx_fdm[f->n_nom_modem_samples]; - int i; - - /* FSK and MEFSK/FMFSK modems work only on real samples. It's simpler to just - * stick them in the real sample tx/rx functions than to add a comp->real - * converter to comptx */ - - if ((FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode)) || - (FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode)) || - (FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode))) { - /* 800XA has two codec frames per modem frame */ - if (FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode)) { - codec2_encode(f->codec2, &f->tx_payload_bits[0], &speech_in[0]); - codec2_encode(f->codec2, &f->tx_payload_bits[4], &speech_in[320]); - } else { - codec2_encode(f->codec2, f->tx_payload_bits, speech_in); - } - freedv_tx_fsk_voice(f, mod_out); - } else { - freedv_comptx(f, tx_fdm, speech_in); - for (i = 0; i < f->n_nom_modem_samples; i++) mod_out[i] = tx_fdm[i].real; - } -} - -/* complex float output version of freedv_tx() */ - -void freedv_comptx(struct freedv *f, COMP mod_out[], short speech_in[]) { - assert(f != NULL); - - assert(FDV_MODE_ACTIVE(FREEDV_MODE_1600, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700C, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700D, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700E, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020B, f->mode)); - - if (FDV_MODE_ACTIVE(FREEDV_MODE_1600, f->mode)) { - codec2_encode_upacked(f, f->tx_payload_bits, speech_in); - freedv_comptx_fdmdv_1600(f, mod_out); - } - - /* all these modes need to pack a bunch of codec frames into one modem frame - * ... */ - - if (FDV_MODE_ACTIVE(FREEDV_MODE_700C, f->mode)) { - for (int j = 0; j < f->n_codec_frames; j++) { - codec2_encode_upacked(f, f->tx_payload_bits + j * f->bits_per_codec_frame, - speech_in); - speech_in += codec2_samples_per_frame(f->codec2); - } - freedv_comptx_700c(f, mod_out); - } - - if (FDV_MODE_ACTIVE(FREEDV_MODE_700D, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700E, f->mode)) { - /* buffer up bits until we get enough encoded bits for interleaver */ - - for (int j = 0; j < f->n_codec_frames; j++) { - int offset = j * f->bits_per_codec_frame; - codec2_encode_upacked(f, f->tx_payload_bits + offset, speech_in); - speech_in += codec2_samples_per_frame(f->codec2); - } - - freedv_comptx_ofdm(f, mod_out); - } - -#ifdef __LPCNET__ - if (FDV_MODE_ACTIVE(FREEDV_MODE_2020, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020B, f->mode)) { - /* buffer up bits until we get enough encoded bits for interleaver */ - - for (int j = 0; j < f->n_codec_frames; j++) { - int offset = j * f->bits_per_codec_frame; - lpcnet_enc(f->lpcnet, speech_in, (char *)f->tx_payload_bits + offset); - speech_in += lpcnet_samples_per_frame(f->lpcnet); - } - - freedv_comptx_2020(f, mod_out); - } -#endif - - /* 2400 A and B are handled by the real-mode TX */ - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode)) { - codec2_encode(f->codec2, f->tx_payload_bits, speech_in); - freedv_comptx_fsk_voice(f, mod_out); - } -} - -/* pack bits */ -void freedv_pack(uint8_t *bytes, uint8_t *bits, int nbits) { - memset(bytes, 0, (nbits + 7) / 8); - int bit = 7, byte = 0; - for (int i = 0; i < nbits; i++) { - bytes[byte] |= bits[i] << bit; - bit--; - if (bit < 0) { - bit = 7; - byte++; - } - } -} - -/* unpack bits, MSB first */ -void freedv_unpack(uint8_t *bits, uint8_t *bytes, int nbits) { - int bit = 7, byte = 0; - for (int i = 0; i < nbits; i++) { - bits[i] = (bytes[byte] >> bit) & 0x1; - bit--; - if (bit < 0) { - bit = 7; - byte++; - } - } -} - -/* compute the CRC16 of a frame of unpacked bits */ -unsigned short freedv_crc16_unpacked(unsigned char unpacked_bits[], int nbits) { - assert((nbits % 8) == 0); - int nbytes = nbits / 8; - uint8_t packed_bytes[nbytes]; - freedv_pack(packed_bytes, unpacked_bits, nbits); - return freedv_gen_crc16(packed_bytes, nbytes); -} - -/* Return non-zero if CRC16 of a frame of unpacked bits is correct */ -int freedv_check_crc16_unpacked(unsigned char unpacked_bits[], int nbits) { - assert((nbits % 8) == 0); - int nbytes = nbits / 8; - uint8_t packed_bytes[nbytes]; - freedv_pack(packed_bytes, unpacked_bits, nbits); - uint16_t tx_crc16 = - (packed_bytes[nbytes - 2] << 8) | packed_bytes[nbytes - 1]; - uint16_t rx_crc16 = freedv_crc16_unpacked(unpacked_bits, nbits - 16); - return tx_crc16 == rx_crc16; -} - -/* send raw frames of bytes, or speech data that was compressed externally, - * complex float output */ -void freedv_rawdatacomptx(struct freedv *f, COMP mod_out[], - unsigned char *packed_payload_bits) { - assert(f != NULL); - - freedv_unpack(f->tx_payload_bits, packed_payload_bits, - f->bits_per_modem_frame); - - if (FDV_MODE_ACTIVE(FREEDV_MODE_1600, f->mode)) - freedv_comptx_fdmdv_1600(f, mod_out); - if (FDV_MODE_ACTIVE(FREEDV_MODE_700C, f->mode)) - freedv_comptx_700c(f, mod_out); - if (FDV_MODE_ACTIVE(FREEDV_MODE_700D, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC0, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC1, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC3, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC4, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC14, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATA_CUSTOM, f->mode)) - freedv_comptx_ofdm(f, mod_out); - - if (FDV_MODE_ACTIVE(FREEDV_MODE_FSK_LDPC, f->mode)) { - freedv_tx_fsk_ldpc_data(f, mod_out); - } -} - -/* send raw frames of bytes, or speech data that was compressed externally, real - * short output */ -void freedv_rawdatatx(struct freedv *f, short mod_out[], - unsigned char *packed_payload_bits) { - assert(f != NULL); - COMP mod_out_comp[f->n_nat_modem_samples]; - - /* Some FSK modes used packed bits, and coincidentally support real samples - * natively */ - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode)) { - freedv_codec_frames_from_rawdata(f, f->tx_payload_bits, - packed_payload_bits); - freedv_tx_fsk_voice(f, mod_out); - return; /* output is already real */ - } - - freedv_rawdatacomptx(f, mod_out_comp, packed_payload_bits); - - /* convert complex to real */ - for (int i = 0; i < f->n_nat_modem_samples; i++) - mod_out[i] = mod_out_comp[i].real; -} - -int freedv_rawdatapreamblecomptx(struct freedv *f, COMP mod_out[]) { - assert(f != NULL); - int npreamble_samples = 0; - - if (f->mode == FREEDV_MODE_FSK_LDPC) { - struct FSK *fsk = f->fsk; - - int npreamble_symbols = 50 * (fsk->mode >> 1); - int npreamble_bits = npreamble_symbols * (fsk->mode >> 1); - npreamble_samples = fsk->Ts * npreamble_symbols; - // fprintf(stderr, "npreamble_symbols: %d npreamble_bits: %d - // npreamble_samples: %d Nbits: %d N: %d\n", npreamble_symbols, - // npreamble_bits, npreamble_samples, fsk->Nbits, fsk->N); - - assert(npreamble_samples < - f->n_nom_modem_samples); /* caller probably using an array of this - size */ - freedv_tx_fsk_ldpc_data_preamble(f, mod_out, npreamble_bits, - npreamble_samples); - } else if (is_ofdm_data_mode(f)) { - struct OFDM *ofdm = f->ofdm; - complex float *tx_preamble = (complex float *)mod_out; - memcpy(tx_preamble, ofdm->tx_preamble, - sizeof(COMP) * ofdm->samplesperframe); - ofdm_hilbert_clipper(ofdm, tx_preamble, ofdm->samplesperframe); - npreamble_samples = ofdm->samplesperframe; - } - - return npreamble_samples; -} - -int freedv_rawdatapreambletx(struct freedv *f, short mod_out[]) { - assert(f != NULL); - COMP mod_out_comp[f->n_nat_modem_samples]; - - int npreamble_samples = freedv_rawdatapreamblecomptx(f, mod_out_comp); - assert(npreamble_samples <= f->n_nat_modem_samples); - - /* convert complex to real */ - for (int i = 0; i < npreamble_samples; i++) mod_out[i] = mod_out_comp[i].real; - - return npreamble_samples; -} - -int freedv_rawdatapostamblecomptx(struct freedv *f, COMP mod_out[]) { - assert(f != NULL); - int npostamble_samples = 0; - - if (is_ofdm_data_mode(f)) { - struct OFDM *ofdm = f->ofdm; - complex float *tx_postamble = (complex float *)mod_out; - memcpy(tx_postamble, ofdm->tx_postamble, - sizeof(COMP) * ofdm->samplesperframe); - ofdm_hilbert_clipper(ofdm, tx_postamble, ofdm->samplesperframe); - npostamble_samples = ofdm->samplesperframe; - } - - return npostamble_samples; -} - -int freedv_rawdatapostambletx(struct freedv *f, short mod_out[]) { - assert(f != NULL); - COMP mod_out_comp[f->n_nat_modem_samples]; - - int npostamble_samples = freedv_rawdatapostamblecomptx(f, mod_out_comp); - assert(npostamble_samples <= f->n_nat_modem_samples); - - /* convert complex to real */ - for (int i = 0; i < npostamble_samples; i++) - mod_out[i] = mod_out_comp[i].real; - - return npostamble_samples; -} - -/* VHF packet data tx function */ -void freedv_datatx(struct freedv *f, short mod_out[]) { - assert(f != NULL); - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode)) { - freedv_tx_fsk_data(f, mod_out); - } -} - -/* VHF packet data: returns how many tx frames are queued up but not sent yet */ -int freedv_data_ntxframes(struct freedv *f) { - assert(f != NULL); - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode)) { - if (f->deframer->fdc) - return freedv_data_get_n_tx_frames(f->deframer->fdc, 8); - } else if (FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode)) { - if (f->deframer->fdc) - return freedv_data_get_n_tx_frames(f->deframer->fdc, 6); - } - return 0; -} - -int freedv_nin(struct freedv *f) { - if (FDV_MODE_ACTIVE(FREEDV_MODE_700C, f->mode)) - // For mode 700C, the input rate is 8000 sps, but the modem rate is 7500 sps - // For mode 700C, we request a larger number of Rx samples that will be - // decimated to f->nin samples - return (16 * f->nin + f->ptFilter8000to7500->decim_index) / 15; - else - return f->nin; -} - -int freedv_codec_frames_from_rawdata(struct freedv *f, - unsigned char *codec_frames, - unsigned char *rawdata) { - int cbit = 7; - int cbyte = 0; - int rbit = 7; - int rbyte = 0; - int modem_bits = freedv_get_bits_per_modem_frame(f); - int codec_bits = freedv_get_bits_per_codec_frame(f); - int nr_cbits = 0; - int i; - - codec_frames[0] = 0; - for (i = 0; i < modem_bits; i++) { - codec_frames[cbyte] |= ((rawdata[rbyte] >> rbit) & 1) << cbit; - - rbit--; - if (rbit < 0) { - rbit = 7; - rbyte++; - } - - cbit--; - if (cbit < 0) { - cbit = 7; - cbyte++; - codec_frames[cbyte] = 0; - } - nr_cbits++; - if (nr_cbits == codec_bits) { - if (cbit) { - cbyte++; - codec_frames[cbyte] = 0; - } - cbit = 7; - nr_cbits = 0; - } - } - return f->n_codec_frames; -} - -int freedv_rawdata_from_codec_frames(struct freedv *f, unsigned char *rawdata, - unsigned char *codec_frames) { - int cbit = 7; - int cbyte = 0; - int rbit = 7; - int rbyte = 0; - int modem_bits = freedv_get_bits_per_modem_frame(f); - int codec_bits = freedv_get_bits_per_codec_frame(f); - int nr_cbits = 0; - int i; - - rawdata[rbyte] = 0; - for (i = 0; i < modem_bits; i++) { - rawdata[rbyte] |= ((codec_frames[cbyte] >> cbit) & 1) << rbit; - - rbit--; - if (rbit < 0) { - rbit = 7; - rbyte++; - rawdata[rbyte] = 0; - } - - cbit--; - if (cbit < 0) { - cbit = 7; - cbyte++; - } - - nr_cbits++; - if (nr_cbits == codec_bits) { - if (cbit) cbyte++; - cbit = 7; - nr_cbits = 0; - } - } - return f->n_codec_frames; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: freedv_rx - AUTHOR......: David Rowe - DATE CREATED: 3 August 2014 - - Takes samples from the radio receiver and decodes - them, producing a frame of decoded speech samples. See - demo/freedv_700d_rx.c for an example. - - demod_in[] is an array of received samples sampled at - freedv_get_modem_sample_rate(). To account for difference in the - transmit and receive sample clock frequencies, the number of - demod_in[] samples is time varying. You MUST call freedv_nin() - BEFORE EACH call to freedv_rx() and pass exactly that many samples - to this function: - - short demod_in[freedv_get_n_max_modem_samples(f)]; - short speech_out[freedv_get_n_max_speech_samples(f)]; - - nin = freedv_nin(f); // num input samples for first read - while(fread(demod_in, sizeof(short), nin, fin) == nin) { - nout = freedv_rx(f, speech_out, demod_in); - fwrite(speech_out, sizeof(short), nout, fout); - nin = freedv_nin(f); // num input samples for next read - } - - To help set your buffer sizes, The maximum value of freedv_nin() is - freedv_get_n_max_modem_samples(). - - freedv_rx() returns the number of output speech samples available in - speech_out[], which is sampled at freedv_get_speech_sample_rate(). - You should ALWAYS check the return value of freedv_rx(), and read - EXACTLY that number of speech samples from speech_out[]. - - Not every call to freedv_rx will return speech samples; in some - modes several modem frames are processed before speech samples are - returned. When squelch is active, zero samples may be returned. - - The peak level of demod_in[] is not critical, as the demod works - well over a wide range of amplitude scaling. However avoid clipping - (overload, or samples pinned to +/- 32767). speech_out[] will peak - at just less than +/-32767. - - When squelch is disabled, this function echoes the demod_in[] - samples to speech_out[]. This allows the user to listen to the - channel, which is useful for tuning FreeDV signals or reception of - non-FreeDV signals. - -\*---------------------------------------------------------------------------*/ - -int freedv_rx(struct freedv *f, short speech_out[], short demod_in[]) { - assert(f != NULL); - int i; - int nin = freedv_nin(f); - f->nin_prev = nin; - - assert(nin <= f->n_max_modem_samples); - - /* FSK Rx happens in real floats, so convert to those and call their demod - * here */ - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode)) { - float rx_float[f->n_max_modem_samples]; - for (i = 0; i < nin; i++) { - rx_float[i] = ((float)demod_in[i]); - } - return freedv_floatrx(f, speech_out, rx_float); - } - - if (FDV_MODE_ACTIVE(FREEDV_MODE_1600, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700C, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020B, f->mode)) { - float gain = 1.0f; - - assert(nin <= f->n_max_modem_samples); - COMP rx_fdm[f->n_max_modem_samples]; - - for (i = 0; i < nin; i++) { - rx_fdm[i].real = gain * (float)demod_in[i]; - rx_fdm[i].imag = 0.0f; - } - return freedv_comprx(f, speech_out, rx_fdm); - } - - /* special low memory version for 700D, to help with stm32 port */ - if (FDV_MODE_ACTIVE(FREEDV_MODE_700D, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700E, f->mode)) { - float gain = 2.0f; /* keep levels the same as Octave simulations and C unit - tests for real signals */ - return freedv_shortrx(f, speech_out, demod_in, gain); - } - - assert(1); /* should never get here */ - return 0; -} - -/* complex sample input version of freedv_rx() */ - -int freedv_comprx(struct freedv *f, short speech_out[], COMP demod_in[]) { - assert(f != NULL); - assert(f->nin <= f->n_max_modem_samples); - int rx_status = 0; - f->nin_prev = freedv_nin(f); - - if (FDV_MODE_ACTIVE(FREEDV_MODE_1600, f->mode)) { - rx_status = freedv_comprx_fdmdv_1600(f, demod_in); - } - if (FDV_MODE_ACTIVE(FREEDV_MODE_700C, f->mode)) { - rx_status = freedv_comprx_700c(f, demod_in); - } - - if ((FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode)) || - (FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode)) || - (FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode))) { - rx_status = freedv_comprx_fsk(f, demod_in); - } - - if (FDV_MODE_ACTIVE(FREEDV_MODE_700D, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700E, f->mode)) { - rx_status = - freedv_comp_short_rx_ofdm(f, (void *)demod_in, 0, 2.0f); // was 1.0 ?? - } - - if (FDV_MODE_ACTIVE(FREEDV_MODE_2020, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020B, f->mode)) { -#ifdef __LPCNET__ - rx_status = freedv_comprx_2020(f, demod_in); -#endif - } - - short demod_in_short[f->nin_prev]; - - for (int i = 0; i < f->nin_prev; i++) demod_in_short[i] = demod_in[i].real; - - return freedv_bits_to_speech(f, speech_out, demod_in_short, rx_status); -} - -/* memory efficient real short version - just for 700D on the SM1000 */ - -int freedv_shortrx(struct freedv *f, short speech_out[], short demod_in[], - float gain) { - assert(f != NULL); - int rx_status = 0; - f->nin_prev = f->nin; - - // At this stage short interface only supported for 700D, to help - // memory requirements on stm32 - assert((f->mode == FREEDV_MODE_700D) || (f->mode == FREEDV_MODE_700E)); - assert(f->nin <= f->n_max_modem_samples); - - if (FDV_MODE_ACTIVE(FREEDV_MODE_700D, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700E, f->mode)) { - rx_status = freedv_comp_short_rx_ofdm(f, (void *)demod_in, 1, gain); - } - - return freedv_bits_to_speech(f, speech_out, demod_in, rx_status); -} - -/* helper function, unpacked bits are much easier to work with inside the modem - */ - -static void codec2_decode_upacked(struct freedv *f, short speech_out[], - uint8_t unpacked_bits[]) { - int n_packed = (f->bits_per_codec_frame + 7) / 8; - uint8_t packed_codec_bits[n_packed]; - - freedv_pack(packed_codec_bits, unpacked_bits, f->bits_per_codec_frame); - codec2_decode(f->codec2, speech_out, packed_codec_bits); -} - -/*---------------------------------------------------------------------------* \ - - FUNCTION....: freedv_rx_bits_to_speech - AUTHOR......: David Rowe - DATE CREATED: May 2020 - - The *_rx functions takes off air samples, demodulates and (for some - modes) FEC decodes, giving us a frame of bits. - - This function captures a lot of tricky logic that has been distilled - through experience: - - There may not be a frame of bits returned on every call freedv_*rx* call. - When there are valid bits we need to run the speech decoder. - We may not have demod sync, so various pass through options may happen - with the input samples. - We may squelch based on SNR. - Need to handle various codecs, and varying number of codec frames per modem - frame. - Squelch audio if test frames are being sent. - Determine how many speech samples to return, which will vary if in - sync/out of sync Work with real and complex inputs (complex wrapper) - Attenuate audio on pass through. - Deal with 700D first frame burble, and different sync states from OFDM - modes like 700D. - Output no samples if squelched, we assume it's OK for the audio sink to run - dry. - A FIFO is required on output to smooth sample flow to audio sink. - Don't decode when we are sending test frames - -\*---------------------------------------------------------------------------*/ - -int freedv_bits_to_speech(struct freedv *f, short speech_out[], - short demod_in[], int rx_status) { - int nout = 0; - int decode_speech = 0; - if ((rx_status & FREEDV_RX_SYNC) == 0) { - if (!f->squelch_en) { - /* pass through received samples so we can hear what's going on, e.g. - * during tuning */ - - if ((f->mode == FREEDV_MODE_2020) || (f->mode == FREEDV_MODE_2020B)) { - /* 8kHz modem sample rate but 16 kHz speech sample - rate, so we need to resample */ - nout = 2 * f->nin_prev; - assert(nout <= freedv_get_n_max_speech_samples(f)); - float tmp[nout]; - for (int i = 0; i < nout / 2; i++) - f->passthrough_2020[FDMDV_OS_TAPS_16K + i] = demod_in[i]; - fdmdv_8_to_16(tmp, &f->passthrough_2020[FDMDV_OS_TAPS_16K], nout / 2); - for (int i = 0; i < nout; i++) - speech_out[i] = f->passthrough_gain * tmp[i]; - } else { - /* Speech and modem rates might be different */ - int rate_factor = f->modem_sample_rate / f->speech_sample_rate; - nout = f->nin_prev / rate_factor; - for (int i = 0; i < nout; i++) - speech_out[i] = f->passthrough_gain * demod_in[i * rate_factor]; - } - } - } - - if ((rx_status & FREEDV_RX_SYNC) && (rx_status & FREEDV_RX_BITS) && - !f->test_frames) { - /* following logic is tricky so spell it out clearly, see table - in: https://github.com/drowe67/codec2/pull/111 */ - - if (!f->squelch_en) { - decode_speech = 1; - } else { - /* squelch is enabled */ - - /* anti-burble case - don't decode on trial sync unless the - frame has no bit errors. This prevents short lived trial - sync cases generating random bursts of audio */ - if (rx_status & FREEDV_RX_TRIAL_SYNC) { - if ((rx_status & FREEDV_RX_BIT_ERRORS) == 0) decode_speech = 1; - } else { - /* sync is solid - decode even through fades as there is still some - * speech info there */ - if (f->snr_est > f->snr_squelch_thresh) decode_speech = 1; - } - } - } - - if (decode_speech) { - if (FDV_MODE_ACTIVE(FREEDV_MODE_2020, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020B, f->mode)) { -#ifdef __LPCNET__ - /* LPCNet decoder */ - - int bits_per_codec_frame = lpcnet_bits_per_frame(f->lpcnet); - int data_bits_per_frame = f->ldpc->data_bits_per_frame; - int frames = data_bits_per_frame / bits_per_codec_frame; - - nout = f->n_speech_samples; - for (int i = 0; i < frames; i++) { - lpcnet_dec(f->lpcnet, - (char *)f->rx_payload_bits + i * bits_per_codec_frame, - speech_out); - /* ear protection: on frames with errors and clipping, reduce level by - * 12dB */ - if (rx_status & FREEDV_RX_BIT_ERRORS) { - int max = 0.0; - for (int j = 0; j < lpcnet_samples_per_frame(f->lpcnet); j++) - if (abs(speech_out[j]) > max) max = abs(speech_out[j]); - if (max == 32767) - for (int j = 0; j < lpcnet_samples_per_frame(f->lpcnet); j++) - speech_out[j] *= 0.25; - } - - speech_out += lpcnet_samples_per_frame(f->lpcnet); - } - -#endif - } else { - /* codec 2 decoder */ - - if (FDV_MODE_ACTIVE(FREEDV_MODE_700D, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700E, f->mode)) { - nout = f->n_speech_samples; - for (int i = 0; i < f->n_codec_frames; i++) { - codec2_decode_upacked( - f, speech_out, f->rx_payload_bits + i * f->bits_per_codec_frame); - speech_out += codec2_samples_per_frame(f->codec2); - } - } else { - /* non-interleaved Codec 2 modes */ - - nout = f->n_speech_samples; - if ((FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode)) || - (FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode))) - codec2_decode(f->codec2, speech_out, f->rx_payload_bits); - else if (FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode)) { - codec2_decode(f->codec2, &speech_out[0], &f->rx_payload_bits[0]); - codec2_decode(f->codec2, &speech_out[320], &f->rx_payload_bits[4]); - } else { - for (int i = 0; i < f->n_codec_frames; i++) { - codec2_decode_upacked( - f, speech_out, - f->rx_payload_bits + i * f->bits_per_codec_frame); - speech_out += codec2_samples_per_frame(f->codec2); - } - } - } - } - } - - if (f->verbose == 3) { - fprintf(stderr, " sqen: %d nout: %d decsp: %d\n", f->squelch_en, nout, - decode_speech); - } - - f->rx_status = rx_status; - assert(nout <= freedv_get_n_max_speech_samples(f)); - return nout; -} - -/* a way to receive raw frames of bytes, or speech data that will be - * decompressed externally */ -int freedv_rawdatarx(struct freedv *f, unsigned char *packed_payload_bits, - short demod_in[]) { - assert(f != NULL); - int nin = freedv_nin(f); - assert(nin <= f->n_max_modem_samples); - COMP demod_in_comp[f->n_max_modem_samples]; - - for (int i = 0; i < nin; i++) { - demod_in_comp[i].real = (float)demod_in[i]; - demod_in_comp[i].imag = 0.0; - } - - return freedv_rawdatacomprx(f, packed_payload_bits, demod_in_comp); -} - -/* a way to receive raw frames of bytes, or speech data that will be - * decompressed externally */ -int freedv_rawdatacomprx(struct freedv *f, unsigned char *packed_payload_bits, - COMP demod_in[]) { - assert(f != NULL); - int ret = 0; - int rx_status = 0; - - /* FSK modes used packed bits internally */ - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode)) { - rx_status = freedv_comprx_fsk(f, demod_in); - f->rx_status = rx_status; - if (rx_status & FREEDV_RX_BITS) { - ret = (freedv_get_bits_per_modem_frame(f) + 7) / 8; - freedv_rawdata_from_codec_frames(f, packed_payload_bits, - f->rx_payload_bits); - } - return ret; - } - - if (FDV_MODE_ACTIVE(FREEDV_MODE_1600, f->mode)) - rx_status = freedv_comprx_fdmdv_1600(f, demod_in); - if (FDV_MODE_ACTIVE(FREEDV_MODE_700C, f->mode)) - rx_status = freedv_comprx_700c(f, demod_in); - if (FDV_MODE_ACTIVE(FREEDV_MODE_700D, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC0, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC1, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC3, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC4, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC13, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATAC14, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_DATA_CUSTOM, f->mode)) - rx_status = freedv_comp_short_rx_ofdm(f, (void *)demod_in, 0, 1.0f); - if (FDV_MODE_ACTIVE(FREEDV_MODE_FSK_LDPC, f->mode)) { - rx_status = freedv_rx_fsk_ldpc_data(f, demod_in); - } - - if (rx_status & FREEDV_RX_BITS) { - ret = (f->bits_per_modem_frame + 7) / 8; - freedv_pack(packed_payload_bits, f->rx_payload_bits, - f->bits_per_modem_frame); - } - - /* might want to check this for errors, e.g. if reliable data is important */ - f->rx_status = rx_status; - - return ret; -} - -/*---------------------------------------------------------------------------* \ - - FUNCTION....: freedv_get_version - AUTHOR......: Jim Ahlstrom - DATE CREATED: 28 July 2015 - - Return the version of the FreeDV API. This is meant to help API - users determine when incompatible changes have occurred. - -\*---------------------------------------------------------------------------*/ - -int freedv_get_version(void) { return VERSION; } - -/*---------------------------------------------------------------------------* \ - - FUNCTION....: freedv_get_hash - AUTHOR......: David Rowe - DATE CREATED: July 2020 - - Return the a string with the Git hash of the repo used to build this code. - -\*---------------------------------------------------------------------------*/ - -static char git_hash[] = GIT_HASH; -char *freedv_get_hash(void) { return git_hash; } - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: freedv_set_callback_txt - AUTHOR......: Jim Ahlstrom - DATE CREATED: 28 July 2015 - - Set the callback functions and the callback state pointer that will - be used for the aux txt channel. The freedv_callback_rx is a - function pointer that will be called to return received characters. - The freedv_callback_tx is a function pointer that will be called to - send transmitted characters. The callback state is a user-defined - void pointer that will be passed to the callback functions. Any or - all can be NULL, and the default is all NULL. - - The function signatures are: - void receive_char(void *callback_state, char c); - char transmit_char(void *callback_state); - -\*---------------------------------------------------------------------------*/ - -void freedv_set_callback_txt(struct freedv *f, freedv_callback_rx rx, - freedv_callback_tx tx, void *state) { - if (FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode) == false) { - f->freedv_put_next_rx_char = rx; - f->freedv_get_next_tx_char = tx; - f->callback_state = state; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: freedv_set_callback_txt_sym - AUTHOR......: Mooneer Salem - DATE CREATED: 19 August 2021 - - Set the callback functions and the callback state pointer that will - be used to provide the raw symbols for the aux txt channel. The - freedv_callback_rx_sym is a function pointer that will be called to - return received symbols. The callback state is a user-defined - void pointer that will be passed to the callback function. Any or - all can be NULL, and the default is all NULL. - - The function signature is: - void receive_sym(void *callback_state, COMP sym, COMP amp); - - Note: Active for OFDM modes only (700D/E, 2020). -\*---------------------------------------------------------------------------*/ - -void freedv_set_callback_txt_sym(struct freedv *f, freedv_callback_rx_sym rx, - void *state) { - if (FDV_MODE_ACTIVE(FREEDV_MODE_700D, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_700E, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020B, f->mode)) { - f->freedv_put_next_rx_symbol = rx; - f->callback_state_sym = state; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: freedv_set_callback_protocol - AUTHOR......: Brady OBrien - DATE CREATED: 21 February 2016 - - VHF packet data function. - - Set the callback functions and callback pointer that will be used - for the protocol data channel. freedv_callback_protorx will be - called when a frame containing protocol data - arrives. freedv_callback_prototx will be called when a frame - containing protocol information is being generated. Protocol - information is intended to be used to develop protocols and fancy - features atop VHF freedv, much like those present in DMR. Protocol - bits are to be passed in an msb-first char array The number of - protocol bits are findable with freedv_get_protocol_bits - -\*---------------------------------------------------------------------------*/ - -void freedv_set_callback_protocol(struct freedv *f, freedv_callback_protorx rx, - freedv_callback_prototx tx, - void *callback_state) { - if (FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode) == false) { - f->freedv_put_next_proto = rx; - f->freedv_get_next_proto = tx; - f->proto_callback_state = callback_state; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: freedv_set_callback_datarx / freedv_set_callback_datatx - AUTHOR......: Jeroen Vreeken - DATE CREATED: 04 March 2016 - - VHF packet data function. - - Set the callback functions and callback pointer that will be used - for the data channel. freedv_callback_datarx will be called when a - packet has been successfully received. freedv_callback_data_tx will - be called when transmission of a new packet can begin. If the - returned size of the datatx callback is zero the data frame is still - generated, but will contain only a header update. - -\*---------------------------------------------------------------------------*/ - -void freedv_set_callback_data(struct freedv *f, freedv_callback_datarx datarx, - freedv_callback_datatx datatx, - void *callback_state) { - if ((FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode)) || - (FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode)) || - (FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode))) { - if (!f->deframer->fdc) f->deframer->fdc = freedv_data_channel_create(); - if (!f->deframer->fdc) return; - - freedv_data_set_cb_rx(f->deframer->fdc, datarx, callback_state); - freedv_data_set_cb_tx(f->deframer->fdc, datatx, callback_state); - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: freedv_set_data_header - AUTHOR......: Jeroen Vreeken - DATE CREATED: 04 March 2016 - - VHF packet data function. - - Set the data header for the data channel. Header compression will - be used whenever packets from this header are sent. The header will - also be used for fill packets when a data frame is requested without - a packet available. - -\*---------------------------------------------------------------------------*/ - -void freedv_set_data_header(struct freedv *f, unsigned char *header) { - if ((FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode)) || - (FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode)) || - (FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode))) { - if (!f->deframer->fdc) f->deframer->fdc = freedv_data_channel_create(); - if (!f->deframer->fdc) return; - - freedv_data_set_header(f->deframer->fdc, header); - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: freedv_get_modem_stats - AUTHOR......: Jim Ahlstrom - DATE CREATED: 28 July 2015 - - Return data from the modem. The arguments are pointers to the data - items. The pointers can be NULL if the data item is not wanted. - -\*---------------------------------------------------------------------------*/ - -void freedv_get_modem_stats(struct freedv *f, int *sync, float *snr_est) { - if (FDV_MODE_ACTIVE(FREEDV_MODE_1600, f->mode)) - fdmdv_get_demod_stats(f->fdmdv, &f->stats); - if (FDV_MODE_ACTIVE(FREEDV_MODE_700C, f->mode)) - cohpsk_get_demod_stats(f->cohpsk, &f->stats); - if (sync) *sync = f->sync; - if (snr_est) *snr_est = f->snr_est; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS...: freedv_set_* - AUTHOR......: Jim Ahlstrom - DATE CREATED: 28 July 2015 - - Set some parameters used by FreeDV. It is possible to write a macro - using ## for this, but I wasn't sure it would be 100% portable. - -\*---------------------------------------------------------------------------*/ - -void freedv_set_test_frames(struct freedv *f, int val) { f->test_frames = val; } -void freedv_set_test_frames_diversity(struct freedv *f, int val) { - f->test_frames_diversity = val; -} -void freedv_set_squelch_en(struct freedv *f, bool val) { f->squelch_en = val; } -void freedv_set_total_bit_errors(struct freedv *f, int val) { - f->total_bit_errors = val; -} -void freedv_set_total_bits(struct freedv *f, int val) { f->total_bits = val; } -void freedv_set_total_bit_errors_coded(struct freedv *f, int val) { - f->total_bit_errors_coded = val; -} -void freedv_set_total_bits_coded(struct freedv *f, int val) { - f->total_bits_coded = val; -} -void freedv_set_total_packet_errors(struct freedv *f, int val) { - f->total_packet_errors = val; -} -void freedv_set_total_packets(struct freedv *f, int val) { - f->total_packets = val; -} -void freedv_set_varicode_code_num(struct freedv *f, int val) { - varicode_set_code_num(&f->varicode_dec_states, val); -} -void freedv_set_ext_vco(struct freedv *f, int val) { f->ext_vco = val; } -void freedv_set_snr_squelch_thresh(struct freedv *f, float val) { - f->snr_squelch_thresh = val; -} -void freedv_set_tx_amp(struct freedv *f, float amp) { f->tx_amp = amp; } -void freedv_passthrough_gain(struct freedv *f, float g) { - f->passthrough_gain = g; -} - -/* supported by 700C, 700D, 700E */ - -void freedv_set_clip(struct freedv *f, bool val) { - f->clip_en = val; - if (is_ofdm_mode(f)) { - f->ofdm->clip_en = val; - /* really should have BPF if we clip */ - if (val) ofdm_set_tx_bpf(f->ofdm, true); - } -} - -/* Band Pass Filter to cleanup OFDM tx waveform, only supported by some modes */ - -void freedv_set_tx_bpf(struct freedv *f, int val) { - if (is_ofdm_mode(f)) { - ofdm_set_tx_bpf(f->ofdm, val); - } -} - -void freedv_set_phase_est_bandwidth_mode(struct freedv *f, int val) { - if (FDV_MODE_ACTIVE(FREEDV_MODE_700D, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020, f->mode)) { - ofdm_set_phase_est_bandwidth_mode(f->ofdm, val); - } -} - -// For those FreeDV modes using the codec 2 700C vocoder 700C/D/E/800XA -void freedv_set_eq(struct freedv *f, bool val) { - if (f->codec2 != NULL) { - codec2_700c_eq(f->codec2, val); - } -} - -void freedv_set_verbose(struct freedv *f, int verbosity) { - f->verbose = verbosity; - if (FDV_MODE_ACTIVE(FREEDV_MODE_700C, f->mode)) { - cohpsk_set_verbose(f->cohpsk, f->verbose); - } - if (is_ofdm_mode(f)) { - ofdm_set_verbose(f->ofdm, f->verbose - 1); - } -} - -void freedv_set_callback_error_pattern(struct freedv *f, - freedv_calback_error_pattern cb, - void *state) { - f->freedv_put_error_pattern = cb; - f->error_pattern_callback_state = state; -} - -void freedv_set_carrier_ampl(struct freedv *f, int c, float ampl) { - if (FDV_MODE_ACTIVE(FREEDV_MODE_700C, f->mode)) { - cohpsk_set_carrier_ampl(f->cohpsk, c, ampl); - } -} - -/*---------------------------------------------------------------------------* \ - - FUNCTIONS...: freedv_set_sync - AUTHOR......: David Rowe - DATE CREATED: May 2018 - - Extended control of sync state machines for OFDM modes. - - Ensure this is called in the same thread as freedv_rx(). - -\*---------------------------------------------------------------------------*/ - -void freedv_set_sync(struct freedv *freedv, int sync_cmd) { - assert(freedv != NULL); - - if (freedv->ofdm != NULL) { - ofdm_set_sync(freedv->ofdm, sync_cmd); - } -} - -// this also selects burst mode -void freedv_set_frames_per_burst(struct freedv *freedv, int framesperburst) { - assert(freedv != NULL); - if (freedv->ofdm != NULL) { - // change of nomenclature as we cross into the OFDM modem layer. In the - // OFDM modem we have packets that contain multiple "modem frames" - ofdm_set_packets_per_burst(freedv->ofdm, framesperburst); - } -} - -struct FSK *freedv_get_fsk(struct freedv *f) { - return f->fsk; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS...: freedv_get_* - AUTHOR......: Jim Ahlstrom - DATE CREATED: 28 July 2015 - - Get some parameters from FreeDV. - -\*---------------------------------------------------------------------------*/ - -int freedv_get_protocol_bits(struct freedv *f) { return f->n_protocol_bits; } -int freedv_get_mode(struct freedv *f) { return f->mode; } -int freedv_get_test_frames(struct freedv *f) { return f->test_frames; } -int freedv_get_speech_sample_rate(struct freedv *f) { - return f->speech_sample_rate; -} -int freedv_get_n_speech_samples(struct freedv *f) { - return f->n_speech_samples; -} -int freedv_get_modem_sample_rate(struct freedv *f) { - return f->modem_sample_rate; -} -int freedv_get_modem_symbol_rate(struct freedv *f) { - return f->modem_symbol_rate; -} -int freedv_get_n_max_modem_samples(struct freedv *f) { - return f->n_max_modem_samples; -} -int freedv_get_n_nom_modem_samples(struct freedv *f) { - return f->n_nom_modem_samples; -} -int freedv_get_n_tx_modem_samples(struct freedv *f) { - return f->n_nat_modem_samples; -} -int freedv_get_total_bits(struct freedv *f) { return f->total_bits; } -int freedv_get_total_bit_errors(struct freedv *f) { - return f->total_bit_errors; -} -int freedv_get_total_bits_coded(struct freedv *f) { - return f->total_bits_coded; -} -int freedv_get_total_bit_errors_coded(struct freedv *f) { - return f->total_bit_errors_coded; -} -int freedv_get_total_packets(struct freedv *f) { return f->total_packets; } -int freedv_get_total_packet_errors(struct freedv *f) { - return f->total_packet_errors; -} -int freedv_get_sync(struct freedv *f) { return f->sync; } -struct CODEC2 *freedv_get_codec2(struct freedv *f) { - return f->codec2; -} -int freedv_get_bits_per_codec_frame(struct freedv *f) { - return f->bits_per_codec_frame; -} -int freedv_get_bits_per_modem_frame(struct freedv *f) { - return f->bits_per_modem_frame; -} -int freedv_get_rx_status(struct freedv *f) { return f->rx_status; } -void freedv_get_fsk_S_and_N(struct freedv *f, float *S, float *N) { - *S = f->fsk_S[0]; - *N = f->fsk_N[0]; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS...: freedv_set_tuning_range - AUTHOR......: Simon Lang - DJ2LS - DATE CREATED: 18 feb 2022 - DEFAULT.....: fmin: -50.0Hz fmax: 50.0Hz - DESCRIPTION.: - - |<---fmin - | rx centre frequency | + fmax--->| - - Useful for handling frequency offsets, - e.g. caused by an imprecise VFO, the trade off is more CPU power is required. - -\*---------------------------------------------------------------------------*/ -int freedv_set_tuning_range(struct freedv *freedv, float val_fmin, - float val_fmax) { - if (is_ofdm_data_mode(freedv) && - (strcmp(freedv->ofdm->data_mode, "burst") == 0)) { - freedv->ofdm->fmin = val_fmin; - freedv->ofdm->fmax = val_fmax; - return 1; - } else { - return 0; - } -} - -int freedv_get_n_max_speech_samples(struct freedv *f) { - /* When "passing through" demod samples to the speech output - (e.g. no sync and squelch off) f->nin bounces around with - timing variations. So we may return - freedv_get_n_max_modem_samples() via the speech_output[] - array */ - int max_output_passthrough_samples; - if (FDV_MODE_ACTIVE(FREEDV_MODE_2020, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2020B, f->mode)) - // In 2020 we oversample the input modem samples from 8->16 kHz - max_output_passthrough_samples = 2 * freedv_get_n_max_modem_samples(f); - else - max_output_passthrough_samples = freedv_get_n_max_modem_samples(f); - - if (max_output_passthrough_samples > f->n_speech_samples) - return max_output_passthrough_samples; - else - return f->n_speech_samples; -} - -// Now dummy obsolete call -int freedv_get_sync_interleaver(struct freedv *f) { return 1; } - -int freedv_get_sz_error_pattern(struct freedv *f) { - if (FDV_MODE_ACTIVE(FREEDV_MODE_700C, f->mode)) { - /* if diversity disabled callback sends error pattern for upper and lower - * carriers */ - return f->sz_error_pattern * (2 - f->test_frames_diversity); - } else { - return f->sz_error_pattern; - } -} - -// Get modem status, scatter/eye diagram for plotting, other goodies -void freedv_get_modem_extended_stats(struct freedv *f, - struct MODEM_STATS *stats) { - if (FDV_MODE_ACTIVE(FREEDV_MODE_1600, f->mode)) - fdmdv_get_demod_stats(f->fdmdv, stats); - - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode)) { - fsk_get_demod_stats(f->fsk, - stats); /* eye diagram samples, clock offset etc */ - stats->snr_est = - f->snr_est; /* estimated when fsk_demod() called in freedv_fsk.c */ - stats->sync = f->sync; /* sync indicator comes from framing layer */ - } - - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode)) { - fmfsk_get_demod_stats(f->fmfsk, stats); - stats->snr_est = f->snr_est; - stats->sync = f->sync; - } - - if (FDV_MODE_ACTIVE(FREEDV_MODE_700C, f->mode)) { - cohpsk_get_demod_stats(f->cohpsk, stats); - } - - if (is_ofdm_mode(f)) { - // OFDM modem stats updated when demod runs, so copy last update - // We need to avoid over writing the FFT states which are updated by a - // different function - // TODO we need a better design here: Issue #182 -#ifndef __EMBEDDED__ - size_t ncopy = (void *)stats->rx_eye - (void *)stats; - memcpy(stats, &f->stats, ncopy); -#endif - stats->snr_est = f->snr_est; - stats->sync = f->sync; - } -} - -int freedv_get_n_tx_preamble_modem_samples(struct freedv *f) { - if (f->mode == FREEDV_MODE_FSK_LDPC) { - struct FSK *fsk = f->fsk; - int npreamble_symbols = 50 * (fsk->mode >> 1); - return fsk->Ts * npreamble_symbols; - } else if (is_ofdm_data_mode(f)) { - return f->ofdm->samplesperframe; - } - - return 0; -} - -int freedv_get_n_tx_postamble_modem_samples(struct freedv *f) { - if (is_ofdm_data_mode(f)) { - return f->ofdm->samplesperframe; - } - - return 0; -} - -// from -// http://stackoverflow.com/questions/10564491/function-to-calculate-a-crc16-checksum - -unsigned short freedv_gen_crc16(unsigned char *data_p, int length) { - unsigned char x; - unsigned short crc = 0xFFFF; - - while (length--) { - x = crc >> 8 ^ *data_p++; - x ^= x >> 4; - crc = (crc << 8) ^ ((unsigned short)(x << 12)) ^ - ((unsigned short)(x << 5)) ^ ((unsigned short)x); - } - - return crc; -} - -void freedv_ofdm_print_info(struct freedv *freedv) { - ofdm_print_info(freedv->ofdm); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_api.h b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_api.h deleted file mode 100644 index 0ca80ce..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_api.h +++ /dev/null @@ -1,351 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_api.h - AUTHOR......: David Rowe - DATE CREATED: August 2014 - - Library of API functions that implement the FreeDV API, useful for - embedding FreeDV in other programs. Please see: - - 1. README_freedv.md - 2. Notes on function use in freedv_api.c - 3. Simple demo programs in the "demo" directory - 4. The full featured command line freedv_tx.c and freedv_rx.c programs - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2014 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __FREEDV_API__ -#define __FREEDV_API__ - -#include -#include -// This declares a single-precision (float) complex number -#include "comp.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// available speech modes -#define FREEDV_MODE_1600 0 -#define FREEDV_MODE_2400A 3 -#define FREEDV_MODE_2400B 4 -#define FREEDV_MODE_800XA 5 -#define FREEDV_MODE_700C 6 -#define FREEDV_MODE_700D 7 -#define FREEDV_MODE_700E 13 -#define FREEDV_MODE_2020 8 -#define FREEDV_MODE_2020B 16 - -// available data modes -#define FREEDV_MODE_FSK_LDPC 9 -#define FREEDV_MODE_DATAC1 10 -#define FREEDV_MODE_DATAC3 12 -#define FREEDV_MODE_DATAC0 14 -#define FREEDV_MODE_DATAC4 18 -#define FREEDV_MODE_DATAC13 19 -#define FREEDV_MODE_DATAC14 20 -#define FREEDV_MODE_DATA_CUSTOM 21 - -// Sample rates used -#define FREEDV_FS_8000 8000 -#define FREEDV_FS_16000 16000 - -// peak (complex) sample value from Tx modulator -#define FREEDV_PEAK 16384 - -// Return code flags for freedv_get_rx_status() function -#define FREEDV_RX_TRIAL_SYNC 0x1 // demodulator has trial sync -#define FREEDV_RX_SYNC 0x2 // demodulator has sync -#define FREEDV_RX_BITS 0x4 // data bits have been returned -#define FREEDV_RX_BIT_ERRORS \ - 0x8 // FEC may not have corrected all bit errors (not all parity checks OK) - -// optional operator control of OFDM modem state machine -#define FREEDV_SYNC_UNSYNC \ - 0 // force sync state machine to lose sync, and search for new sync -#define FREEDV_SYNC_AUTO 1 // falls out of sync automatically -#define FREEDV_SYNC_MANUAL 2 // fall out of sync only under operator control - -#define FREEDV_VARICODE_MAX_BITS 12 // max bits for each ASCII character - -// These macros allow us to disable unwanted modes at compile tine, for example -// to save memory on embedded systems or the remove need to link other -// libraries. By default we enable all modes. Disable during compile time e.g -// -DFREEDV_MODE_1600_EN=0 will enable all but FreeDV 1600. Or the other way -// round -DFREEDV_MODE_EN_DEFAULT=0 -DFREEDV_MODE_1600_EN=1 will enable only -// FreeDV 1600 - -#ifndef FREEDV_MODE_EN_DEFAULT -#define FREEDV_MODE_EN_DEFAULT 1 -#endif - -#if !defined(FREEDV_MODE_1600_EN) -#define FREEDV_MODE_1600_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_700C_EN) -#define FREEDV_MODE_700C_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_700D_EN) -#define FREEDV_MODE_700D_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_700E_EN) -#define FREEDV_MODE_700E_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_2400A_EN) -#define FREEDV_MODE_2400A_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_2400B_EN) -#define FREEDV_MODE_2400B_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_800XA_EN) -#define FREEDV_MODE_800XA_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_2020_EN) -#define FREEDV_MODE_2020_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_2020B_EN) -#define FREEDV_MODE_2020B_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_FSK_LDPC_EN) -#define FREEDV_MODE_FSK_LDPC_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_DATAC0_EN) -#define FREEDV_MODE_DATAC0_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_DATAC1_EN) -#define FREEDV_MODE_DATAC1_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_DATAC3_EN) -#define FREEDV_MODE_DATAC3_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_DATAC4_EN) -#define FREEDV_MODE_DATAC4_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_DATAC13_EN) -#define FREEDV_MODE_DATAC13_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_DATAC14_EN) -#define FREEDV_MODE_DATAC14_EN FREEDV_MODE_EN_DEFAULT -#endif -#if !defined(FREEDV_MODE_DATA_CUSTOM_EN) -#define FREEDV_MODE_DATA_CUSTOM_EN FREEDV_MODE_EN_DEFAULT -#endif - -#define FDV_MODE_ACTIVE(mode_name, var) \ - ((mode_name##_EN) == 0 ? 0 : (var) == mode_name) - -// struct that hold state information for one freedv instance -struct freedv; - -// Some modes allow extra configuration parameters -struct freedv_advanced { - int interleave_frames; // now unused but remains to prevent breaking API for - // legacy apps - - // parameters for FREEDV_MODE_FSK_LDPC - int M; // 2 or 4 FSK - int Rs; // Symbol rate Hz - int Fs; // Sample rate Hz - int first_tone; // Freq of first tone Hz - int tone_spacing; // Spacing between tones Hz - char *codename; // LDPC codename, from codes listed in ldpc_codes.c - - // parameters for FREEDV_MODE_DATA_CUSTOM - void *config; // ptr to struct OFDM_CONFIG -}; - -// Called when text message char is decoded -typedef void (*freedv_callback_rx)(void *, char); -// Called when new text message char is needed -typedef char (*freedv_callback_tx)(void *); -typedef void (*freedv_calback_error_pattern)(void *error_pattern_callback_state, - short error_pattern[], - int sz_error_pattern); - -// Protocol bits are packed MSB-first -// Called when a frame containing protocol data is decoded -typedef void (*freedv_callback_protorx)(void *, char *); -// Called when a frame containing protocol data is to be sent -typedef void (*freedv_callback_prototx)(void *, char *); - -// Data packet callbacks -// Called when a packet has been received -typedef void (*freedv_callback_datarx)(void *, unsigned char *packet, - size_t size); -// Called when a new packet can be send -typedef void (*freedv_callback_datatx)(void *, unsigned char *packet, - size_t *size); - -/*---------------------------------------------------------------------------*\ - - FreeDV API functions - -\*---------------------------------------------------------------------------*/ - -// open, close ---------------------------------------------------------------- - -struct freedv *freedv_open_advanced(int mode, struct freedv_advanced *adv); -struct freedv *freedv_open(int mode); -void freedv_close(struct freedv *freedv); - -// Transmit ------------------------------------------------------------------- - -void freedv_tx(struct freedv *freedv, short mod_out[], short speech_in[]); -void freedv_comptx(struct freedv *freedv, COMP mod_out[], short speech_in[]); -void freedv_datatx(struct freedv *f, short mod_out[]); -int freedv_data_ntxframes(struct freedv *freedv); -void freedv_rawdatatx(struct freedv *f, short mod_out[], - unsigned char *packed_payload_bits); -void freedv_rawdatacomptx(struct freedv *f, COMP mod_out[], - unsigned char *packed_payload_bits); -int freedv_rawdatapreambletx(struct freedv *f, short mod_out[]); -int freedv_rawdatapreamblecomptx(struct freedv *f, COMP mod_out[]); -int freedv_rawdatapostambletx(struct freedv *f, short mod_out[]); -int freedv_rawdatapostamblecomptx(struct freedv *f, COMP mod_out[]); - -// Receive ------------------------------------------------------------------- - -int freedv_nin(struct freedv *freedv); -int freedv_rx(struct freedv *freedv, short speech_out[], short demod_in[]); -int freedv_shortrx(struct freedv *freedv, short speech_out[], short demod_in[], - float gain); -int freedv_floatrx(struct freedv *freedv, short speech_out[], float demod_in[]); -int freedv_comprx(struct freedv *freedv, short speech_out[], COMP demod_in[]); -int freedv_rawdatarx(struct freedv *freedv, unsigned char *packed_payload_bits, - short demod_in[]); -int freedv_rawdatacomprx(struct freedv *freedv, - unsigned char *packed_payload_bits, COMP demod_in[]); - -// Helper functions -// ------------------------------------------------------------------- - -int freedv_codec_frames_from_rawdata(struct freedv *freedv, - unsigned char *codec_frames, - unsigned char *rawdata); -int freedv_rawdata_from_codec_frames(struct freedv *freedv, - unsigned char *rawdata, - unsigned char *codec_frames); -unsigned short freedv_gen_crc16(unsigned char *bytes, int nbytes); -void freedv_pack(unsigned char *bytes, unsigned char *bits, int nbits); -void freedv_unpack(unsigned char *bits, unsigned char *bytes, int nbits); -unsigned short freedv_crc16_unpacked(unsigned char *bits, int nbits); -int freedv_check_crc16_unpacked(unsigned char *unpacked_bits, int nbits); - -// Set parameters ------------------------------------------------------------ - -void freedv_set_callback_txt(struct freedv *freedv, freedv_callback_rx rx, - freedv_callback_tx tx, void *callback_state); -void freedv_set_callback_protocol(struct freedv *freedv, - freedv_callback_protorx rx, - freedv_callback_prototx tx, - void *callback_state); -void freedv_set_callback_data(struct freedv *freedv, - freedv_callback_datarx datarx, - freedv_callback_datatx datatx, - void *callback_state); -void freedv_set_test_frames(struct freedv *freedv, int test_frames); -void freedv_set_test_frames_diversity(struct freedv *freedv, - int test_frames_diversity); -void freedv_set_smooth_symbols(struct freedv *freedv, int smooth_symbols); -void freedv_set_squelch_en(struct freedv *freedv, bool squelch_en); -void freedv_set_snr_squelch_thresh(struct freedv *freedv, - float snr_squelch_thresh); -void freedv_set_clip(struct freedv *freedv, bool val); -void freedv_set_total_bit_errors(struct freedv *freedv, int val); -void freedv_set_total_bits(struct freedv *freedv, int val); -void freedv_set_total_bit_errors_coded(struct freedv *freedv, int val); -void freedv_set_total_bits_coded(struct freedv *freedv, int val); -void freedv_set_total_packets(struct freedv *freedv, int val); -void freedv_set_total_packet_errors(struct freedv *freedv, int val); -void freedv_set_callback_error_pattern(struct freedv *freedv, - freedv_calback_error_pattern cb, - void *state); -void freedv_set_varicode_code_num(struct freedv *freedv, int val); -void freedv_set_data_header(struct freedv *freedv, unsigned char *header); -void freedv_set_carrier_ampl(struct freedv *freedv, int c, float ampl); -void freedv_set_sync(struct freedv *freedv, int sync_cmd); -void freedv_set_verbose(struct freedv *freedv, int verbosity); -void freedv_set_tx_bpf(struct freedv *freedv, int val); -void freedv_set_tx_amp(struct freedv *freedv, float amp); -void freedv_set_ext_vco(struct freedv *f, int val); -void freedv_set_phase_est_bandwidth_mode(struct freedv *f, int val); -void freedv_set_eq(struct freedv *f, bool val); -void freedv_set_frames_per_burst(struct freedv *f, int framesperburst); -void freedv_passthrough_gain(struct freedv *f, float g); -int freedv_set_tuning_range(struct freedv *freedv, float val_fmin, - float val_fmax); - -// Get parameters -// ------------------------------------------------------------------------- - -struct MODEM_STATS; - -int freedv_get_version(void); -char *freedv_get_hash(void); -int freedv_get_mode(struct freedv *freedv); -void freedv_get_modem_stats(struct freedv *freedv, int *sync, float *snr_est); -void freedv_get_modem_extended_stats(struct freedv *freedv, - struct MODEM_STATS *stats); -int freedv_get_test_frames(struct freedv *freedv); - -int freedv_get_speech_sample_rate(struct freedv *freedv); -int freedv_get_n_speech_samples(struct freedv *freedv); -int freedv_get_n_max_speech_samples(struct freedv *freedv); - -int freedv_get_modem_sample_rate(struct freedv *freedv); -int freedv_get_modem_symbol_rate(struct freedv *freedv); -int freedv_get_n_max_modem_samples(struct freedv *freedv); -int freedv_get_n_nom_modem_samples(struct freedv *freedv); -int freedv_get_n_tx_modem_samples(struct freedv *freedv); -int freedv_get_n_tx_preamble_modem_samples(struct freedv *freedv); -int freedv_get_n_tx_postamble_modem_samples(struct freedv *freedv); - -// bit error rate stats -int freedv_get_total_bits(struct freedv *freedv); -int freedv_get_total_bit_errors(struct freedv *freedv); -int freedv_get_total_bits_coded(struct freedv *freedv); -int freedv_get_total_bit_errors_coded(struct freedv *freedv); -int freedv_get_total_packets(struct freedv *freedv); -int freedv_get_total_packet_errors(struct freedv *freedv); - -int freedv_get_rx_status(struct freedv *freedv); -void freedv_get_fsk_S_and_N(struct freedv *freedv, float *S, float *N); - -int freedv_get_sync(struct freedv *freedv); -int freedv_get_sync_interleaver(struct freedv *freedv); - -// access to speech codec states -struct FSK *freedv_get_fsk(struct freedv *f); -struct CODEC2 *freedv_get_codec2(struct freedv *freedv); - -int freedv_get_bits_per_codec_frame(struct freedv *freedv); -int freedv_get_bits_per_modem_frame(struct freedv *freedv); -int freedv_get_sz_error_pattern(struct freedv *freedv); -int freedv_get_protocol_bits(struct freedv *freedv); - -// dump OFDM modem config -void freedv_ofdm_print_info(struct freedv *freedv); - -#ifdef __cplusplus -} -#endif - -#endif //__FREEDV_API__ diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_api_internal.h b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_api_internal.h deleted file mode 100644 index 9559a2d..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_api_internal.h +++ /dev/null @@ -1,267 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_api_internal.h - AUTHOR......: David Rowe - DATE CREATED: August 2014 - - This declares the structure freedv. A pointer to this structure is - returned by the FreeDV API freedv_open() function. The pointer is used - by the other FreeDV API functions declared in freedv_api.h. This - structure is intended to be internal to the FreeDV API. The public - functions are declared in freedv_api.h. Changes to this structure - are expected. Changes (except additions) to freedv_api.h are - discouraged. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2014 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __FREEDV_API_INTERNAL__ -#define __FREEDV_API_INTERNAL__ - -#include "codec2_cohpsk.h" -#include "codec2_fdmdv.h" -#include "fmfsk.h" -#include "fsk.h" -#include "varicode.h" -#ifdef __LPCNET__ -#include "lpcnet_freedv.h" -#endif -#include "freedv_api.h" - -#ifdef __cplusplus -extern "C" { -#endif - -// Fudge factors to normalise Tx power across modes -#define NORM_PWR_FSK 0.5 - -// identifiers for non Codec 2 Speech codecs, make sure no overlap with -// CODEC2_XXX modes -#define CODEC_MODE_LPCNET_1733 100 - -extern char - *rx_sync_flags_to_text[]; // converts flags above to more meaningful text - -struct freedv { - int mode; - - // states for various modules we support - struct CODEC2 *codec2; - struct FDMDV *fdmdv; - struct COHPSK *cohpsk; - struct FSK *fsk; - struct FMFSK *fmfsk; - struct OFDM *ofdm; - struct LDPC *ldpc; - struct MODEM_STATS stats; // working memory for when we call xxx_stats - // function for each demod -#ifdef __LPCNET__ - struct LPCNetFreeDV *lpcnet; -#endif - - struct freedv_vhf_deframer *deframer; // Extracts frames from VHF stream - - struct quisk_cfFilter *ptFilter7500to8000; // Filters to change to/from 7500 - // and 8000 sps for 700 .... 700C - struct quisk_cfFilter *ptFilter8000to7500; - - int n_speech_samples; // number of speech samples we need for each - // freedv_tx() call num of speech samples output by - // freedv_rx() call - int n_nom_modem_samples; // size of tx modem sample buffers - int n_max_modem_samples; // make your rx modem sample buffers this big - int n_nat_modem_samples; // tx modem sample block length as used by the modem - // before interpolation to output usually the same - // as n_nom_modem_samples, except for 700C - int modem_sample_rate; // Caller is responsible for meeting this - int modem_symbol_rate; // Useful for ext_vco operation on 2400A and 800XA - int speech_sample_rate; // 8 kHz or 16 kHz (high fidelity) - - int bits_per_codec_frame; - int bits_per_modem_frame; // number of modem payload bits in each modem frame - // (usually compressed speech) - int n_codec_frames; // number of codec frames in each modem frame - uint8_t *tx_payload_bits; // payload bits (usually compressed speech) for a - // modem frame ... - uint8_t *rx_payload_bits; // ... one bit per char for some modes, packed for - // others - - /* FDMDV buffers for FreeDV 1600 - * -------------------------------------------------------------*/ - - int *fdmdv_bits; - int *fdmdv_tx_bits; - int *fdmdv_rx_bits; - - /* test frame states - * -------------------------------------------------------------------------*/ - - int *ptest_bits_coh; - int *ptest_bits_coh_end; - - int test_frames; // set this baby for 1 to tx/rx test frames to look at bit - // error stats - int test_frames_diversity; // 1 -> used combined carriers for error counting - // on 700 waveforms - int test_frame_sync_state; - int test_frame_sync_state_upper; // when test_frames_diveristy==0 we need - // extra states for upper carriers - int test_frame_count; - int total_bits; - int total_bit_errors; - int total_bits_coded; - int total_bit_errors_coded; - int total_packets; - int total_packet_errors; - int sz_error_pattern; - - /* optional user defined function to pass error pattern when a test frame is - * received */ - - void *error_pattern_callback_state; - void (*freedv_put_error_pattern)(void *error_pattern_callback_state, - short error_pattern[], int sz_error_pattern); - - /* Misc - * ---------------------------------------------------------------------------------------------*/ - - int *tx_bits; /* FSK modem frame under construction */ - int tx_sync_bit; - int frames; - bool clip_en; /* non-zero for modem Tx clipping to lower PAPR */ - int sync; /* we set this when a mode is in sync */ - int evenframe; - float snr_est; /* we set this each time the modes's demod estimates SNR */ - float snr_squelch_thresh; - bool squelch_en; - int nin, nin_prev; - int verbose; - int ext_vco; /* 2400A/800XA use external VCO flag */ - float *passthrough_2020; /* 2020 interpolating filter */ - float tx_amp; /* amplitude of tx samples */ - float passthrough_gain; - - /* useful constants for OFDM modes - * ------------------------------------------------------------------*/ - - int ofdm_bitsperpacket; - int ofdm_bitsperframe; - int ofdm_nuwbits; - int ofdm_ntxtbits; - int rx_status; - - /* Varicode txt channel states - * ----------------------------------------------------------------------*/ - - struct VARICODE_DEC varicode_dec_states; - short tx_varicode_bits[VARICODE_MAX_BITS]; - int nvaricode_bits; - int varicode_bit_index; - - /* interleaved LDPC OFDM states - * ---------------------------------------------------------------------*/ - - COMP *codeword_symbols; - float *codeword_amps; - COMP *rx_syms; - float *rx_amps; - COMP *mod_out; // output buffer of interleaved frames - - /* user defined function ptrs to produce and consume ASCII - characters using aux txt channel */ - - char (*freedv_get_next_tx_char)(void *callback_state); - void (*freedv_put_next_rx_char)(void *callback_state, char c); - void (*freedv_put_next_rx_symbol)(void *callback_state, _Complex float sym, - float amp); - void *callback_state; - void *callback_state_sym; - - /* user defined functions to produce and consume protocol bits */ - /* Protocol bits are packed MSB-first */ - void (*freedv_put_next_proto)(void *callback_state, char *proto_bits_packed); - void (*freedv_get_next_proto)(void *callback_state, char *proto_bits_packed); - void *proto_callback_state; - int n_protocol_bits; - - /* states needed for FSK LDPC */ - float *frame_llr; - int frame_llr_size, frame_llr_nbits; - float *twoframes_llr; - uint8_t *twoframes_hard; - int fsk_ldpc_thresh1, fsk_ldpc_thresh2, fsk_ldpc_baduw_thresh; - int fsk_ldpc_state, fsk_ldpc_best_location, fsk_ldpc_baduw; - float fsk_ldpc_snr; - float fsk_S[2], fsk_N[2]; -}; - -// open function for each mode - -void freedv_1600_open(struct freedv *f); -void freedv_700c_open(struct freedv *f); -void freedv_ofdm_voice_open(struct freedv *f, char *mode); -void freedv_2020x_open(struct freedv *f); -void freedv_2400a_open(struct freedv *f); -void freedv_2400b_open(struct freedv *f); -void freedv_800xa_open(struct freedv *f); -void freedv_fsk_ldpc_open(struct freedv *f, struct freedv_advanced *adv); -void freedv_ofdm_data_open(struct freedv *f, struct freedv_advanced *adv); - -// each mode has tx and rx functions in various flavours for real and complex -// valued samples - -void freedv_comptx_fdmdv_1600(struct freedv *f, COMP mod_out[]); -int freedv_comprx_fdmdv_1600(struct freedv *f, COMP demod_in[]); - -void freedv_comptx_700c(struct freedv *f, COMP mod_out[]); -int freedv_comprx_700c(struct freedv *f, COMP demod_in_8kHz[]); - -void freedv_comptx_ofdm(struct freedv *f, COMP mod_out[]); -int freedv_comp_short_rx_ofdm(struct freedv *f, void *demod_in_8kHz, - int demod_in_is_short, float gain); - -void freedv_comptx_2020(struct freedv *f, COMP mod_out[]); -int freedv_comprx_2020(struct freedv *f, COMP demod_in[]); - -void freedv_comptx_fsk_voice(struct freedv *f, COMP mod_out[]); -void freedv_tx_fsk_voice(struct freedv *f, short mod_out[]); -void freedv_tx_fsk_data(struct freedv *f, short mod_out[]); -int freedv_comprx_fsk(struct freedv *f, COMP demod_in[]); -int freedv_floatrx(struct freedv *f, short speech_out[], float demod_in[]); - -void freedv_tx_fsk_ldpc_data(struct freedv *f, COMP mod_out[]); -void freedv_tx_fsk_ldpc_data_preamble(struct freedv *f, COMP mod_out[], - int npreamble_bits, - int npreamble_samples); -int freedv_rx_fsk_ldpc_data(struct freedv *f, COMP demod_in[]); - -int freedv_bits_to_speech(struct freedv *f, short speech_out[], - short demod_in[], int rx_status); - -// for the reliable text protocol we need to pass symbols back rather than text -typedef void (*freedv_callback_rx_sym)(void *, _Complex float, float); -void freedv_set_callback_txt_sym(struct freedv *freedv, - freedv_callback_rx_sym rx, - void *callback_state); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_channel.c b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_channel.c deleted file mode 100644 index 8d85bc3..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_channel.c +++ /dev/null @@ -1,303 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_data_channel.c - AUTHOR......: Jeroen Vreeken - DATE CREATED: 03 March 2016 - - Data channel for ethernet like packets in freedv VHF frames. - Currently designed for- - * 2 control bits per frame - * 4 byte counter bits per frame - * 64 bits of data per frame - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 Jeroen Vreeken - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "freedv_data_channel.h" - -#include -#include - -static unsigned char fdc_header_bcast[6] = {0xff, 0xff, 0xff, 0xff, 0xff, 0xff}; - -/* CCIT CRC table (0x1201 polynomail) */ -static unsigned short fdc_crc_table[256] = { - 0x0000, 0x1189, 0x2312, 0x329b, 0x4624, 0x57ad, 0x6536, 0x74bf, 0x8c48, - 0x9dc1, 0xaf5a, 0xbed3, 0xca6c, 0xdbe5, 0xe97e, 0xf8f7, 0x1081, 0x0108, - 0x3393, 0x221a, 0x56a5, 0x472c, 0x75b7, 0x643e, 0x9cc9, 0x8d40, 0xbfdb, - 0xae52, 0xdaed, 0xcb64, 0xf9ff, 0xe876, 0x2102, 0x308b, 0x0210, 0x1399, - 0x6726, 0x76af, 0x4434, 0x55bd, 0xad4a, 0xbcc3, 0x8e58, 0x9fd1, 0xeb6e, - 0xfae7, 0xc87c, 0xd9f5, 0x3183, 0x200a, 0x1291, 0x0318, 0x77a7, 0x662e, - 0x54b5, 0x453c, 0xbdcb, 0xac42, 0x9ed9, 0x8f50, 0xfbef, 0xea66, 0xd8fd, - 0xc974, 0x4204, 0x538d, 0x6116, 0x709f, 0x0420, 0x15a9, 0x2732, 0x36bb, - 0xce4c, 0xdfc5, 0xed5e, 0xfcd7, 0x8868, 0x99e1, 0xab7a, 0xbaf3, 0x5285, - 0x430c, 0x7197, 0x601e, 0x14a1, 0x0528, 0x37b3, 0x263a, 0xdecd, 0xcf44, - 0xfddf, 0xec56, 0x98e9, 0x8960, 0xbbfb, 0xaa72, 0x6306, 0x728f, 0x4014, - 0x519d, 0x2522, 0x34ab, 0x0630, 0x17b9, 0xef4e, 0xfec7, 0xcc5c, 0xddd5, - 0xa96a, 0xb8e3, 0x8a78, 0x9bf1, 0x7387, 0x620e, 0x5095, 0x411c, 0x35a3, - 0x242a, 0x16b1, 0x0738, 0xffcf, 0xee46, 0xdcdd, 0xcd54, 0xb9eb, 0xa862, - 0x9af9, 0x8b70, 0x8408, 0x9581, 0xa71a, 0xb693, 0xc22c, 0xd3a5, 0xe13e, - 0xf0b7, 0x0840, 0x19c9, 0x2b52, 0x3adb, 0x4e64, 0x5fed, 0x6d76, 0x7cff, - 0x9489, 0x8500, 0xb79b, 0xa612, 0xd2ad, 0xc324, 0xf1bf, 0xe036, 0x18c1, - 0x0948, 0x3bd3, 0x2a5a, 0x5ee5, 0x4f6c, 0x7df7, 0x6c7e, 0xa50a, 0xb483, - 0x8618, 0x9791, 0xe32e, 0xf2a7, 0xc03c, 0xd1b5, 0x2942, 0x38cb, 0x0a50, - 0x1bd9, 0x6f66, 0x7eef, 0x4c74, 0x5dfd, 0xb58b, 0xa402, 0x9699, 0x8710, - 0xf3af, 0xe226, 0xd0bd, 0xc134, 0x39c3, 0x284a, 0x1ad1, 0x0b58, 0x7fe7, - 0x6e6e, 0x5cf5, 0x4d7c, 0xc60c, 0xd785, 0xe51e, 0xf497, 0x8028, 0x91a1, - 0xa33a, 0xb2b3, 0x4a44, 0x5bcd, 0x6956, 0x78df, 0x0c60, 0x1de9, 0x2f72, - 0x3efb, 0xd68d, 0xc704, 0xf59f, 0xe416, 0x90a9, 0x8120, 0xb3bb, 0xa232, - 0x5ac5, 0x4b4c, 0x79d7, 0x685e, 0x1ce1, 0x0d68, 0x3ff3, 0x2e7a, 0xe70e, - 0xf687, 0xc41c, 0xd595, 0xa12a, 0xb0a3, 0x8238, 0x93b1, 0x6b46, 0x7acf, - 0x4854, 0x59dd, 0x2d62, 0x3ceb, 0x0e70, 0x1ff9, 0xf78f, 0xe606, 0xd49d, - 0xc514, 0xb1ab, 0xa022, 0x92b9, 0x8330, 0x7bc7, 0x6a4e, 0x58d5, 0x495c, - 0x3de3, 0x2c6a, 0x1ef1, 0x0f78}; - -static unsigned short fdc_crc(unsigned char *buffer, size_t len) { - unsigned short crc = 0xffff; - size_t i; - - for (i = 0; i < len; i++, buffer++) { - crc = (crc >> 8) ^ fdc_crc_table[(crc ^ *buffer) & 0xff]; - } - - return crc ^ 0xffff; -} - -/* CRC4 0x03 polynomial */ -static unsigned char fdc_crc4(unsigned char *buffer, size_t len) { - unsigned char crc = 0x0f; - size_t i; - - for (i = 0; i < len; i++, buffer++) { - int shift; - - for (shift = 7; shift <= 0; shift--) { - crc <<= 1; - if ((*buffer >> shift) & 0x1) crc |= 1; - if (crc & 0x10) crc ^= 0x03; - } - } - - return crc & 0x0f; -} - -struct freedv_data_channel *freedv_data_channel_create(void) { - struct freedv_data_channel *fdc; - - fdc = (struct freedv_data_channel *)calloc( - 1, sizeof(struct freedv_data_channel)); - if (fdc == NULL) return NULL; - - freedv_data_set_header(fdc, fdc_header_bcast); - - memcpy(fdc->rx_header, fdc->tx_header, 8); - - return fdc; -} - -void freedv_data_channel_destroy(struct freedv_data_channel *fdc) { free(fdc); } - -void freedv_data_set_cb_rx(struct freedv_data_channel *fdc, - freedv_data_callback_rx cb, void *state) { - fdc->cb_rx = cb; - fdc->cb_rx_state = state; -} - -void freedv_data_set_cb_tx(struct freedv_data_channel *fdc, - freedv_data_callback_tx cb, void *state) { - fdc->cb_tx = cb; - fdc->cb_tx_state = state; -} - -void freedv_data_channel_rx_frame(struct freedv_data_channel *fdc, - unsigned char *data, size_t size, - int from_bit, int bcast_bit, int crc_bit, - int end_bits) { - int copy_bits; - if (end_bits) { - copy_bits = end_bits; - } else { - copy_bits = size; - } - - /* New packet? */ - if (fdc->packet_rx_cnt == 0) { - /* Does the packet have a compressed from field? */ - if (from_bit) { - /* Compressed from: take the previously received header */ - memcpy(fdc->packet_rx + fdc->packet_rx_cnt, fdc->rx_header, 6); - fdc->packet_rx_cnt += 6; - } - if (bcast_bit) { - if (!from_bit) { - /* Copy from header and modify size and end_bits accordingly */ - memcpy(fdc->packet_rx + fdc->packet_rx_cnt, data, 6); - fdc->packet_rx_cnt += 6; - copy_bits -= 6; - if (copy_bits < 0) copy_bits = 0; - data += 6; - } - /* Compressed to: fill in broadcast address */ - memcpy(fdc->packet_rx + fdc->packet_rx_cnt, fdc_header_bcast, - sizeof(fdc_header_bcast)); - fdc->packet_rx_cnt += 6; - } - if (crc_bit) { - unsigned char calc_crc = fdc_crc4(data, size); - if (calc_crc == end_bits) { - /* It is a single header field, remember it for later */ - memcpy(fdc->rx_header, data, 6); - memcpy(fdc->packet_rx + 6, data, 6); - memcpy(fdc->packet_rx, fdc_header_bcast, 6); - if (fdc->cb_rx) { - fdc->cb_rx(fdc->cb_rx_state, fdc->packet_rx, 12); - } - } - fdc->packet_rx_cnt = 0; - return; - } - } - - if (fdc->packet_rx_cnt + copy_bits >= FREEDV_DATA_CHANNEL_PACKET_MAX) { - /* Something went wrong... this can not be a real packet */ - fdc->packet_rx_cnt = 0; - return; - } - - memcpy(fdc->packet_rx + fdc->packet_rx_cnt, data, copy_bits); - fdc->packet_rx_cnt += copy_bits; - - if (end_bits != 0 && fdc->packet_rx_cnt >= 2) { - unsigned short calc_crc = fdc_crc(fdc->packet_rx, fdc->packet_rx_cnt - 2); - unsigned short rx_crc; - rx_crc = fdc->packet_rx[fdc->packet_rx_cnt - 1] << 8; - rx_crc |= fdc->packet_rx[fdc->packet_rx_cnt - 2]; - - if (rx_crc == calc_crc) { - if (fdc->packet_rx_cnt == size) { - /* It is a single header field, remember it for later */ - memcpy(fdc->rx_header, fdc->packet_rx, 6); - } - - /* callback */ - if (fdc->cb_rx) { - unsigned char tmp[6]; - memcpy(tmp, fdc->packet_rx, 6); - memcpy(fdc->packet_rx, fdc->packet_rx + 6, 6); - memcpy(fdc->packet_rx + 6, tmp, 6); - - size_t size = fdc->packet_rx_cnt - 2; - if (size < 12) { - size = 12; - memcpy(fdc->packet_rx, fdc_header_bcast, 6); - } - fdc->cb_rx(fdc->cb_rx_state, fdc->packet_rx, size); - } - } - fdc->packet_rx_cnt = 0; - } -} - -void freedv_data_channel_tx_frame(struct freedv_data_channel *fdc, - unsigned char *data, size_t size, - int *from_bit, int *bcast_bit, int *crc_bit, - int *end_bits) { - *from_bit = 0; - *bcast_bit = 0; - *crc_bit = 0; - - if (!fdc->packet_tx_size) { - fdc->packet_tx_cnt = 0; - - if (fdc->cb_tx) { - fdc->packet_tx_size = FREEDV_DATA_CHANNEL_PACKET_MAX; - fdc->cb_tx(fdc->cb_tx_state, fdc->packet_tx, &fdc->packet_tx_size); - } - if (!fdc->packet_tx_size) { - /* Nothing to send, insert a header frame */ - memcpy(fdc->packet_tx, fdc->tx_header, size); - if (size < 8) { - *end_bits = fdc_crc4(fdc->tx_header, size); - *crc_bit = 1; - memcpy(data, fdc->tx_header, size); - - return; - } else { - fdc->packet_tx_size = size; - } - } else { - /* new packet */ - unsigned short crc; - unsigned char tmp[6]; - - *from_bit = !memcmp(fdc->packet_tx + 6, fdc->tx_header, 6); - *bcast_bit = !memcmp(fdc->packet_tx, fdc_header_bcast, 6); - - memcpy(tmp, fdc->packet_tx, 6); - memcpy(fdc->packet_tx, fdc->packet_tx + 6, 6); - memcpy(fdc->packet_tx + 6, tmp, 6); - - crc = fdc_crc(fdc->packet_tx, fdc->packet_tx_size); - - fdc->packet_tx[fdc->packet_tx_size] = crc & 0xff; - fdc->packet_tx_size++; - fdc->packet_tx[fdc->packet_tx_size] = (crc >> 8) & 0xff; - fdc->packet_tx_size++; - - if (*from_bit) { - fdc->packet_tx_cnt = 6; - } else { - if (*bcast_bit) { - memcpy(fdc->packet_tx + 6, fdc->packet_tx, 6); - } - } - if (*bcast_bit) { - fdc->packet_tx_cnt += 6; - } - } - } - if (fdc->packet_tx_size) { - int copy = fdc->packet_tx_size - fdc->packet_tx_cnt; - - if (copy > size) { - copy = size; - *end_bits = 0; - } else { - *end_bits = copy; - fdc->packet_tx_size = 0; - } - memcpy(data, fdc->packet_tx + fdc->packet_tx_cnt, copy); - fdc->packet_tx_cnt += copy; - } -} - -void freedv_data_set_header(struct freedv_data_channel *fdc, - unsigned char *header) { - unsigned short crc = fdc_crc(header, 6); - - memcpy(fdc->tx_header, header, 6); - fdc->tx_header[6] = crc & 0xff; - fdc->tx_header[7] = (crc >> 8) & 0xff; -} - -int freedv_data_get_n_tx_frames(struct freedv_data_channel *fdc, size_t size) { - if (fdc->packet_tx_size == 0) return 0; - /* packet will be send in 'size' byte frames */ - return (fdc->packet_tx_size - fdc->packet_tx_cnt + size - 1) / size; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_channel.h b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_channel.h deleted file mode 100644 index e0b5f42..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_channel.h +++ /dev/null @@ -1,80 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_data_channel.h - AUTHOR......: Jeroen Vreeken - DATE CREATED: 03 March 2016 - - Data channel for ethernet like packets in freedv VHF frames. - Currently designed for- - * 2 control bits per frame - * 4 byte counter bits per frame - * 64 bits of data per frame -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 Jeroen Vreeken - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef _FREEDV_DATA_CHANNEL_H -#define _FREEDV_DATA_CHANNEL_H - -#include - -#define FREEDV_DATA_CHANNEL_PACKET_MAX 2048 - -typedef void (*freedv_data_callback_rx)(void *, unsigned char *packet, - size_t size); -typedef void (*freedv_data_callback_tx)(void *, unsigned char *packet, - size_t *size); - -struct freedv_data_channel { - freedv_data_callback_rx cb_rx; - void *cb_rx_state; - freedv_data_callback_tx cb_tx; - void *cb_tx_state; - - unsigned char rx_header[8]; - unsigned char packet_rx[FREEDV_DATA_CHANNEL_PACKET_MAX + 2]; - int packet_rx_cnt; - - unsigned char tx_header[8]; - unsigned char packet_tx[FREEDV_DATA_CHANNEL_PACKET_MAX + 2]; - int packet_tx_cnt; - size_t packet_tx_size; -}; - -struct freedv_data_channel *freedv_data_channel_create(void); -void freedv_data_channel_destroy(struct freedv_data_channel *fdc); - -void freedv_data_set_cb_rx(struct freedv_data_channel *fdc, - freedv_data_callback_rx cb, void *state); -void freedv_data_set_cb_tx(struct freedv_data_channel *fdc, - freedv_data_callback_tx cb, void *state); - -void freedv_data_channel_rx_frame(struct freedv_data_channel *fdc, - unsigned char *data, size_t size, - int from_bit, int bcast_bit, int crc_bit, - int end_bits); -void freedv_data_channel_tx_frame(struct freedv_data_channel *fdc, - unsigned char *data, size_t size, - int *from_bit, int *bcast_bit, int *crc_bit, - int *end_bits); - -void freedv_data_set_header(struct freedv_data_channel *fdc, - unsigned char *header); -int freedv_data_get_n_tx_frames(struct freedv_data_channel *fdc, size_t size); - -#endif /* _FREEDV_DATA_CHANNEL_H */ diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_raw_rx.c b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_raw_rx.c deleted file mode 100644 index 435648d..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_raw_rx.c +++ /dev/null @@ -1,377 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_data_raw_rx.c - AUTHOR......: David Rowe - DATE CREATED: May 2020 - - Demonstrates receiving frames of raw data bytes (instead of - compressed speech) using the FreeDV API. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2020 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include -#include - -#include "freedv_api.h" -#include "fsk.h" -#include "ldpc_codes.h" -#include "modem_stats.h" -#include "octave.h" -#include "ofdm_internal.h" - -/* other processes can end this program using signals */ - -static volatile int finish = 0; -void INThandler(int sig) { - fprintf(stderr, "signal received: %d\n", sig); - finish = 1; -} - -int main(int argc, char *argv[]) { - FILE *fin, *fout; - char codename[80] = "H_256_512_4"; - struct freedv_advanced adv = {0, 2, 100, 8000, 1000, 200, codename}; - struct freedv *freedv; - int nin, nbytes, nbytes_out = 0, nframes_out = 0, buf = 0; - int mode; - int verbose = 0, use_testframes = 0; - int mask = 0; - int framesperburst = 1; - FILE *foct = NULL; - int quiet = 0; - int single_line_summary = 0; - float snr_sum = 0.0; - int fsk_lower = 0, fsk_upper = 0; - int user_fsk_lower = 0, user_fsk_upper = 0; - - int o = 0; - int opt_idx = 0; - while (o != -1) { - static struct option long_opts[] = { - {"testframes", no_argument, 0, 't'}, - {"help", no_argument, 0, 'h'}, - {"Fs", required_argument, 0, 'f'}, - {"Rs", required_argument, 0, 'r'}, - {"shift", required_argument, 0, 's'}, - {"vv", no_argument, 0, 'x'}, - {"vvv", no_argument, 0, 'y'}, - {"mask", required_argument, 0, 'k'}, - {"framesperburst", required_argument, 0, 'g'}, - {"scatter", required_argument, 0, 'c'}, - {"quiet", required_argument, 0, 'q'}, - {"singleline", no_argument, 0, 'b'}, - {"fsk_lower", required_argument, 0, 'l'}, - {"fsk_upper", required_argument, 0, 'u'}, - {"code", required_argument, 0, 'o'}, - {"listcodes", no_argument, 0, 'i'}, - {0, 0, 0, 0}}; - - o = getopt_long(argc, argv, "bf:hm:qr:tvx", long_opts, &opt_idx); - - switch (o) { - case 'b': - single_line_summary = 1; - break; - case 'c': - foct = fopen(optarg, "wt"); - assert(foct != NULL); - break; - case 'f': - adv.Fs = atoi(optarg); - break; - case 'k': - mask = 1; - adv.tone_spacing = atoi(optarg); - break; - case 'm': - adv.M = atoi(optarg); - break; - case 'l': - fsk_lower = atoi(optarg); - user_fsk_lower = 1; - break; - case 'u': - fsk_upper = atoi(optarg); - user_fsk_upper = 1; - break; - case 'q': - quiet = 1; - break; - case 'r': - adv.Rs = atoi(optarg); - break; - case 's': - adv.tone_spacing = atoi(optarg); - break; - case 'g': - framesperburst = atoi(optarg); - break; - case 't': - use_testframes = 1; - break; - case 'v': - verbose = 1; - break; - case 'x': - verbose = 2; - break; - case 'y': - verbose = 3; - break; - case 'o': - if (ldpc_codes_find(optarg) == -1) { - fprintf(stderr, "%s not found, try --listcodes\n", optarg); - exit(1); - } - strcpy(codename, optarg); - break; - case 'i': - ldpc_codes_list(); - exit(0); - break; - case 'h': - case '?': - goto helpmsg; - break; - } - } - int dx = optind; - - if (argc < 3) { - helpmsg: - fprintf( - stderr, - "\nusage: %s [options] FSK_LDPC|DATAC0|... InputModemSpeechFile " - "BinaryDataFile\n" - " -v or --vv verbose options\n" - " --testframes count raw and coded errors in testframes " - "sent by tx\n" - " --framesperburst N N frames per burst (default 1, must match " - "Tx)\n" - " --scatter file write scatter diagram symbols to file " - "(Octave text file format)\n" - " --singleline single line summary at end of test, used " - "for logging\n" - " --quiet\n" - "\n" - "For FSK_LDPC only:\n\n" - " -m 2|4 number of FSK tones\n" - " --Fs FreqHz sample rate (default 8000)\n" - " --Rs FreqHz symbol rate (default 100)\n" - " --mask shiftHz Use \"mask\" freq estimator (default is " - "\"peak\" estimator)\n\n" - " --shift FreqHz shift between tones (default 200)\n" - " --fsk_lower freq lower limit of freq estimator (default 0)\n" - " --fsk_upper freq upper limit of freq estimator (default Fs/2)\n" - " --code CodeName LDPC code (defaults (512,256)\n" - " --listcodes list available LDPC codes\n" - "\n", - argv[0]); - - fprintf(stderr, - "example: %s --framesperburst 1 --testframes datac0 samples.s16 " - "/dev/null\n\n", - argv[0]); - exit(1); - } - - if ((argc - dx) < 3) { - fprintf(stderr, "too few arguments.\n"); - goto helpmsg; - } - - mode = -1; - if (!strcmp(argv[dx], "FSK_LDPC") || !strcmp(argv[dx], "fsk_ldpc")) - mode = FREEDV_MODE_FSK_LDPC; - if (!strcmp(argv[dx], "DATAC0") || !strcmp(argv[dx], "datac0")) - mode = FREEDV_MODE_DATAC0; - if (!strcmp(argv[dx], "DATAC1") || !strcmp(argv[dx], "datac1")) - mode = FREEDV_MODE_DATAC1; - if (!strcmp(argv[dx], "DATAC3") || !strcmp(argv[dx], "datac3")) - mode = FREEDV_MODE_DATAC3; - if (!strcmp(argv[dx], "DATAC4") || !strcmp(argv[dx], "datac4")) - mode = FREEDV_MODE_DATAC4; - if (!strcmp(argv[dx], "DATAC13") || !strcmp(argv[dx], "datac13")) - mode = FREEDV_MODE_DATAC13; - if (!strcmp(argv[dx], "DATAC14") || !strcmp(argv[dx], "datac14")) - mode = FREEDV_MODE_DATAC14; - if (!strcmp(argv[dx], "CUSTOM") || !strcmp(argv[dx], "custom")) - mode = FREEDV_MODE_DATA_CUSTOM; - if (mode == -1) { - fprintf(stderr, "Error in mode: %s\n", argv[dx]); - exit(1); - } - - if (strcmp(argv[dx + 1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[dx + 1], "rb")) == NULL) { - fprintf(stderr, "Error opening input raw modem sample file: %s: %s.\n", - argv[2], strerror(errno)); - exit(1); - } - - if (strcmp(argv[dx + 2], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[dx + 2], "wb")) == NULL) { - fprintf(stderr, "Error opening output speech sample file: %s: %s.\n", - argv[3], strerror(errno)); - exit(1); - } - - if (mode == FREEDV_MODE_FSK_LDPC) { - freedv = freedv_open_advanced(mode, &adv); - struct FSK *fsk = freedv_get_fsk(freedv); - fsk_set_freq_est_alg(fsk, mask); - - /* optionally set freq estimator limits */ - if (!user_fsk_lower) fsk_lower = 0; - if (!user_fsk_upper) fsk_upper = adv.Fs / 2; - fprintf(stderr, "Setting estimator limits to %d to %d Hz.\n", fsk_lower, - fsk_upper); - fsk_set_freq_est_limits(fsk, fsk_lower, fsk_upper); - } else if (mode == FREEDV_MODE_DATA_CUSTOM) { - // demonstrate custom OFDM raw data modes - struct OFDM_CONFIG ofdm_config; - ofdm_init_mode("datac14", &ofdm_config); - // modify datac14 to have 3 carriers instead of 4, which means - // we have to tweak Np, and the number of unique word bits - ofdm_config.nc = 3; - ofdm_config.np = 6; - ofdm_config.nuwbits = 48; - ofdm_config.bad_uw_errors = 18; - uint8_t uw[] = {1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, - 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0}; - memcpy(ofdm_config.tx_uw, uw, sizeof(uw)); - memcpy(&ofdm_config.tx_uw[ofdm_config.nuwbits - sizeof(uw)], uw, - sizeof(uw)); - adv.config = (void *)&ofdm_config; - freedv = freedv_open_advanced(mode, &adv); - } else { - freedv = freedv_open(mode); - } - - assert(freedv != NULL); - freedv_set_verbose(freedv, verbose); - freedv_set_test_frames(freedv, use_testframes); - freedv_set_frames_per_burst(freedv, framesperburst); - - if (mode == FREEDV_MODE_FSK_LDPC) { - struct FSK *fsk = freedv_get_fsk(freedv); - if (!quiet) - fprintf(stderr, "Nbits: %d N: %d Ndft: %d\n", fsk->Nbits, fsk->N, - fsk->Ndft); - } - - /* for streaming bytes it's much easier use the modes that have a multiple - * of 8 payload bits/frame */ - assert((freedv_get_bits_per_modem_frame(freedv) % 8) == 0); - int bytes_per_modem_frame = freedv_get_bits_per_modem_frame(freedv) / 8; - // last two bytes used for CRC - if (!quiet) - fprintf(stderr, "payload bytes_per_modem_frame: %d\n", - bytes_per_modem_frame - 2); - uint8_t bytes_out[bytes_per_modem_frame]; - short demod_in[freedv_get_n_max_modem_samples(freedv)]; - - signal(SIGINT, INThandler); - signal(SIGTERM, INThandler); - - /* We need to work out how many samples the demod needs on each - call (nin). This is used to adjust for differences in the tx - and rx sample clock frequencies */ - - nin = freedv_nin(freedv); - while ((fread(demod_in, sizeof(short), nin, fin) == nin) && !finish) { - buf++; - - nbytes = freedv_rawdatarx(freedv, bytes_out, demod_in); - nin = freedv_nin(freedv); - - if (nbytes) { - // dont output CRC - fwrite(bytes_out, sizeof(uint8_t), nbytes - 2, fout); - - // log some stats - nbytes_out += nbytes - 2; - nframes_out++; - struct MODEM_STATS stats; - freedv_get_modem_extended_stats(freedv, &stats); - snr_sum += stats.snr_est; - if (foct) { - char name[64]; - sprintf(name, "rx_symbols_%d", nframes_out); - octave_save_complex(foct, name, (COMP *)stats.rx_symbols, stats.nr, - stats.Nc, MODEM_STATS_NC_MAX + 1); - } - } - - /* if using pipes we probably don't want the usual buffering */ - if (fout == stdout) fflush(stdout); - } - - fclose(fin); - fclose(fout); - fprintf(stderr, "modembufs: %6d bytes: %5d Frms.: %5d SNRAv: %5.2f\n", buf, - nbytes_out, nframes_out, snr_sum / nframes_out); - int ret = 0; - - /* in testframe mode finish up with some stats */ - - if (freedv_get_test_frames(freedv)) { - int Tbits = freedv_get_total_bits(freedv); - int Terrs = freedv_get_total_bit_errors(freedv); - float uncoded_ber = (float)Terrs / Tbits; - fprintf(stderr, "BER......: %5.4f Tbits: %5d Terrs: %5d\n", - (double)uncoded_ber, Tbits, Terrs); - int Tbits_coded = freedv_get_total_bits_coded(freedv); - int Terrs_coded = freedv_get_total_bit_errors_coded(freedv); - float coded_ber = (float)Terrs_coded / Tbits_coded; - fprintf(stderr, "Coded BER: %5.4f Tbits: %5d Terrs: %5d\n", - (double)coded_ber, Tbits_coded, Terrs_coded); - int Tpackets = freedv_get_total_packets(freedv); - int Tpacket_errors = freedv_get_total_packet_errors(freedv); - fprintf(stderr, "Coded FER: %5.4f Tfrms: %5d Tfers: %5d\n", - (float)Tpacket_errors / Tpackets, Tpackets, Tpacket_errors); - - if (single_line_summary) { - struct MODEM_STATS stats; - freedv_get_modem_extended_stats(freedv, &stats); - fprintf(stderr, "FrmGd FrmDt Bytes SNRAv RawBER Pre Post UWfails\n"); - fprintf(stderr, "%5d %5d %5d %5.2f %5.4f %5d %5d %5d\n", nframes_out, - Tpackets, nbytes_out, snr_sum / nframes_out, uncoded_ber, - stats.pre, stats.post, stats.uw_fails); - } - - /* set return code for Ctest */ - if ((uncoded_ber < 0.1f) && (coded_ber < 0.01f)) - ret = 0; - else - ret = 1; - } - - freedv_close(freedv); - if (foct) fclose(foct); - return ret; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_raw_tx.c b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_raw_tx.c deleted file mode 100644 index 7fa1e84..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_raw_tx.c +++ /dev/null @@ -1,540 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_data_raw_tx.c - AUTHOR......: David Rowe - DATE CREATED: May 2020 - - Demonstrates transmitting frames of raw data bytes (instead of - compressed speech) using the FreeDV API. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2020 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include -#include - -#include "freedv_api.h" -#include "fsk.h" -#include "ldpc_codes.h" -#include "ofdm_internal.h" - -size_t send_preamble(struct freedv *freedv, FILE *fout, int use_complex, - size_t n_mod_out); -size_t send_modulated_data(struct freedv *freedv, FILE *fout, int use_complex, - size_t n_mod_out, uint8_t bytes_in[]); -size_t send_postamble(struct freedv *freedv, FILE *fout, int use_complex, - size_t n_mod_out); -size_t send_silence(FILE *fout, size_t shorts_per_sample, size_t samples_delay); -void comp_to_short(short mod_out_short[], COMP mod_out_comp[], int n_mod_out); - -int main(int argc, char *argv[]) { - FILE *fin, *fout; - char codename[80] = "H_256_512_4"; - struct freedv_advanced adv = {0, 2, 100, 8000, 1000, 200, codename}; - struct freedv *freedv; - int mode; - int use_clip, use_txbpf, testframes, Ntestframes = 0; - int use_complex = 0; - float amp = FSK_SCALE; - size_t shorts_per_sample = 1; - int Nbursts = 1, sequence_numbers = 0; - int inter_burst_delay_ms = 0; - int postdelay_ms = 0; - uint8_t source_byte = 0; - - use_clip = -1; - use_txbpf = -1; - testframes = 0; - int framesperburst = 1; - int quiet = 0; - - int o = 0; - int opt_idx = 0; - while (o != -1) { - static struct option long_opts[] = { - {"testframes", required_argument, 0, 't'}, - {"help", no_argument, 0, 'h'}, - {"txbpf", required_argument, 0, 'b'}, - {"clip", required_argument, 0, 'l'}, - {"Fs", required_argument, 0, 'f'}, - {"Rs", required_argument, 0, 'r'}, - {"tone1", required_argument, 0, '1'}, - {"shift", required_argument, 0, 's'}, - {"bursts", required_argument, 0, 'e'}, - {"framesperburst", required_argument, 0, 'g'}, - {"delay", required_argument, 0, 'j'}, - {"postdelay", required_argument, 0, 'k'}, - {"seq", no_argument, 0, 'd'}, - {"source", required_argument, 0, 'i'}, - {"amp", required_argument, 0, 'a'}, - {"quiet", no_argument, 0, 'q'}, - {"complexout", no_argument, 0, 'c'}, - {"code", required_argument, 0, 'o'}, - {"listcodes", no_argument, 0, 'x'}, - {0, 0, 0, 0}}; - - o = getopt_long(argc, argv, "a:cdt:hb:l:e:f:g:r:1:s:m:qi:o:x", long_opts, - &opt_idx); - - switch (o) { - case 'a': - amp = atof(optarg) / 2.0; - break; - case 'b': - use_txbpf = atoi(optarg); - break; - case 'c': - use_complex = 1; - shorts_per_sample = 2; - break; - case 'd': - sequence_numbers = 1; - break; - case 'i': - source_byte = strtol(optarg, NULL, 0); - fprintf(stderr, "source byte: 0x%02x\n", source_byte); - break; - case 'e': - Nbursts = atoi(optarg); - break; - case 'g': - framesperburst = atoi(optarg); - break; - case 'j': - inter_burst_delay_ms = atoi(optarg); - break; - case 'k': - postdelay_ms = atoi(optarg); - break; - case 't': - testframes = 1; - Ntestframes = atoi(optarg); - break; - case 'l': - use_clip = atoi(optarg); - break; - case 'm': - adv.M = atoi(optarg); - break; - case 'q': - quiet = 1; - break; - case 'f': - adv.Fs = atoi(optarg); - break; - case 'r': - adv.Rs = atoi(optarg); - break; - case '1': - adv.first_tone = atoi(optarg); - break; - case 's': - adv.tone_spacing = atoi(optarg); - break; - case 'o': - if (ldpc_codes_find(optarg) == -1) { - fprintf(stderr, "%s not found, try --listcodes\n", optarg); - exit(1); - } - strcpy(codename, optarg); - break; - case 'x': - ldpc_codes_list(); - exit(0); - break; - case 'h': - case '?': - goto helpmsg; - break; - } - } - int dx = optind; - - if (argc < 4) { - helpmsg: - fprintf( - stderr, - "\nusage: %s [options] FSK_LDPC|DATAC0|... InputBinaryDataFile " - "OutputModemRawFile\n" - "\n" - " --testframes T send a total of T test frames (T should " - "equal B*N)\n" - " --bursts B send B bursts of N testframes (default " - "1)\n" - " --framesperburst N burst mode, N frames per burst (default " - "1)\n" - " --delay ms testframe inter-burst delay in ms\n" - " --postdelay ms additional delay at end of run in ms\n" - " -c complex signed 16 bit output format " - "(default real)\n" - " --clip 0|1 clipping for reduced PAPR\n" - " --txbpf 0|1 bandpass filter\n" - " --seq send packet sequence numbers (breaks " - "testframe BER counting)\n" - " --source Byte insert a (non-zero) source address att " - "byte[0]\n" - " --complexout complex sample output (default real)\n" - " --quiet\n" - "\n" - "For FSK_LDPC only:\n\n" - " -a amp maximum amplitude of FSK signal\n" - " -m 2|4 number of FSK tones\n" - " --Fs FreqHz sample rate (default 8000)\n" - " --Rs FreqHz symbol rate (default 100)\n" - " --tone1 FreqHz freq of first tone (default 1000)\n" - " --shift FreqHz shift between tones (default 200)\n\n" - " --code CodeName LDPC code (defaults (512,256)\n" - " --listcodes list available LDPC codes\n\n", - argv[0]); - fprintf(stderr, - "example: $ %s --testframes 6 --bursts 3 --framesperburst 2 datac0 " - "/dev/zero samples.s16\n", - argv[0]); - fprintf( - stderr, - "example: $ %s -c --testframes 10 FSK_LDPC /dev/zero samples.iq16\n\n", - argv[0]); - exit(1); - } - - if ((argc - dx) < 3) { - fprintf(stderr, "too few arguments.\n"); - goto helpmsg; - } - - mode = -1; - if (!strcmp(argv[dx], "FSK_LDPC") || !strcmp(argv[dx], "fsk_ldpc")) - mode = FREEDV_MODE_FSK_LDPC; - if (!strcmp(argv[dx], "DATAC0") || !strcmp(argv[dx], "datac0")) - mode = FREEDV_MODE_DATAC0; - if (!strcmp(argv[dx], "DATAC1") || !strcmp(argv[dx], "datac1")) - mode = FREEDV_MODE_DATAC1; - if (!strcmp(argv[dx], "DATAC3") || !strcmp(argv[dx], "datac3")) - mode = FREEDV_MODE_DATAC3; - if (!strcmp(argv[dx], "DATAC4") || !strcmp(argv[dx], "datac4")) - mode = FREEDV_MODE_DATAC4; - if (!strcmp(argv[dx], "DATAC13") || !strcmp(argv[dx], "datac13")) - mode = FREEDV_MODE_DATAC13; - if (!strcmp(argv[dx], "DATAC14") || !strcmp(argv[dx], "datac14")) - mode = FREEDV_MODE_DATAC14; - if (!strcmp(argv[dx], "CUSTOM") || !strcmp(argv[dx], "custom")) - mode = FREEDV_MODE_DATA_CUSTOM; - if (mode == -1) { - fprintf(stderr, "Error: in mode: %s", argv[dx]); - exit(1); - } - - if (strcmp(argv[dx + 1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[dx + 1], "rb")) == NULL) { - fprintf(stderr, "Error opening input file of bytes: %s: %s.\n", - argv[dx + 1], strerror(errno)); - exit(1); - } - - if (strcmp(argv[dx + 2], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[dx + 2], "wb")) == NULL) { - fprintf(stderr, "Error opening output modem sample file: %s: %s.\n", - argv[dx + 2], strerror(errno)); - exit(1); - } - - if (mode == FREEDV_MODE_FSK_LDPC) - freedv = freedv_open_advanced(mode, &adv); - else if (mode == FREEDV_MODE_DATA_CUSTOM) { - // demonstrate custom OFDM raw data modes - struct OFDM_CONFIG ofdm_config; - ofdm_init_mode("datac14", &ofdm_config); - // modify datac14 to have 3 carriers instead of 4, which means - // we have to tweak Np, and the number of unique word bits - ofdm_config.nc = 3; - ofdm_config.np = 6; - ofdm_config.nuwbits = 48; - ofdm_config.bad_uw_errors = 18; - uint8_t uw[] = {1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, - 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0}; - memcpy(ofdm_config.tx_uw, uw, sizeof(uw)); - memcpy(&ofdm_config.tx_uw[ofdm_config.nuwbits - sizeof(uw)], uw, - sizeof(uw)); - /* set up a trivial Tx band pass filter as a demo */ - static float tx_bpf[] = {1.0, 1.0, 1.0}; - ofdm_config.tx_bpf_proto = tx_bpf; - ofdm_config.tx_bpf_proto_n = 3; - adv.config = (void *)&ofdm_config; - freedv = freedv_open_advanced(mode, &adv); - freedv_ofdm_print_info(freedv); - } else { - freedv = freedv_open(mode); - } - - assert(freedv != NULL); - - /* these are optional ------------------ */ - if (use_clip != -1) freedv_set_clip(freedv, use_clip); - if (use_txbpf != -1) freedv_set_tx_bpf(freedv, use_txbpf); - freedv_set_tx_amp(freedv, amp); - - /* Data modes have a multiple of 8 payload bits/frame */ - int bytes_per_modem_frame = freedv_get_bits_per_modem_frame(freedv) / 8; - int payload_bytes_per_modem_frame = bytes_per_modem_frame; - payload_bytes_per_modem_frame -= 2; /* 16 bits used for the CRC */ - if (!quiet) - fprintf(stderr, "payload bytes_per_modem_frame: %d ", - payload_bytes_per_modem_frame); - assert((freedv_get_bits_per_modem_frame(freedv) % 8) == 0); - int n_mod_out = freedv_get_n_tx_modem_samples(freedv); - uint8_t bytes_in[bytes_per_modem_frame]; - - if (mode == FREEDV_MODE_FSK_LDPC) { - if (!quiet) - fprintf(stderr, - "Frequency: Fs: %4.1f Hz Rs: %5.0f Hz Tone1: %5.0f Hz Shift: " - "%5.0f Hz M: %d \n", - (float)adv.Fs, (float)adv.Rs, (float)adv.first_tone, - (float)adv.tone_spacing, adv.M); - - if (adv.tone_spacing < adv.Rs) { - fprintf(stderr, "Need shift: %d > Rs: %d\n", adv.tone_spacing, adv.Rs); - exit(1); - } - } - - /* a few sanity checks */ - if (testframes) { - if (Ntestframes != framesperburst * Nbursts) { - if (!quiet) - fprintf(stderr, - "Adjusting testframes to equal framesperburst*bursts\n"); - Ntestframes = framesperburst * Nbursts; - } - } else { - if (framesperburst != 1) { - fprintf(stderr, - "Only one frame per burst currently supported in stdin mode\n"); - exit(1); - } - } - - int frames = 0; - size_t on_samples = 0; - size_t off_samples = 0; - - /* initial silence */ - - int samples_delay = 0; - if (inter_burst_delay_ms) { - /* user defined inter-burst delay */ - samples_delay = FREEDV_FS_8000 * inter_burst_delay_ms / 1000; - } else { - /* just enough silence at the end of burst to allow demod to complete - * processing */ - samples_delay = 2 * freedv_get_n_nom_modem_samples(freedv); - } - off_samples += send_silence(fout, shorts_per_sample, samples_delay); - - /* --------- Test Frame Mode - * --------------------------------------------------*/ - - if (testframes) { - /* generate a fixed test frame */ - uint8_t testframe_bytes[bytes_per_modem_frame]; - memset(testframe_bytes, 0, bytes_per_modem_frame); - int bits_per_frame = freedv_get_bits_per_modem_frame(freedv); - uint8_t testframe_bits[bits_per_frame]; - ofdm_generate_payload_data_bits(testframe_bits, bits_per_frame); - freedv_pack(testframe_bytes, testframe_bits, bits_per_frame); - if (!quiet) fprintf(stderr, "\n"); - - for (int b = 0; b < Nbursts; b++) { - on_samples += send_preamble(freedv, fout, use_complex, n_mod_out); - - for (int fpb = 0; fpb < framesperburst; fpb++) { - memcpy(bytes_in, testframe_bytes, bytes_per_modem_frame); - if (source_byte) bytes_in[0] = source_byte; - if (sequence_numbers) bytes_in[1] = (frames + 1) & 0xff; - - /* The raw data modes requires a CRC in the last two bytes */ - uint16_t crc16 = - freedv_gen_crc16(bytes_in, payload_bytes_per_modem_frame); - bytes_in[bytes_per_modem_frame - 2] = crc16 >> 8; - bytes_in[bytes_per_modem_frame - 1] = crc16 & 0xff; - - on_samples += - send_modulated_data(freedv, fout, use_complex, n_mod_out, bytes_in); - - /* if using pipes we don't want the usual buffering to occur */ - if (fout == stdout) fflush(stdout); - - frames++; - } - - on_samples += send_postamble(freedv, fout, use_complex, n_mod_out); - - int samples_delay = 0; - if (inter_burst_delay_ms) { - /* user defined inter-burst delay */ - samples_delay = FREEDV_FS_8000 * inter_burst_delay_ms / 1000; - } else { - /* just enough silence at the end of burst to allow demod to complete - * processing */ - samples_delay = 2 * freedv_get_n_nom_modem_samples(freedv); - } - off_samples += send_silence(fout, shorts_per_sample, samples_delay); - } - - } else { - /* --------- modulate data from stdin mode - * --------------------------------------------------*/ - - while (fread(bytes_in, sizeof(uint8_t), payload_bytes_per_modem_frame, - fin) == payload_bytes_per_modem_frame) { - on_samples += send_preamble(freedv, fout, use_complex, n_mod_out); - - if (source_byte) bytes_in[0] = source_byte; - if (sequence_numbers) bytes_in[1] = (frames + 1) & 0xff; - - /* The raw data modes requires a CRC in the last two bytes */ - uint16_t crc16 = - freedv_gen_crc16(bytes_in, payload_bytes_per_modem_frame); - bytes_in[bytes_per_modem_frame - 2] = crc16 >> 8; - bytes_in[bytes_per_modem_frame - 1] = crc16 & 0xff; - - on_samples += - send_modulated_data(freedv, fout, use_complex, n_mod_out, bytes_in); - - /* if using pipes we don't want the usual buffering to occur */ - if (fout == stdout) fflush(stdout); - - on_samples += send_postamble(freedv, fout, use_complex, n_mod_out); - - int samples_delay = 0; - if (inter_burst_delay_ms) { - /* user defined inter-burst delay */ - samples_delay = FREEDV_FS_8000 * inter_burst_delay_ms / 1000; - } else { - /* just enough silence at the end of burst to allow demod to complete - * processing */ - samples_delay = 2 * freedv_get_n_nom_modem_samples(freedv); - } - off_samples += send_silence(fout, shorts_per_sample, samples_delay); - frames++; - } - } - - /* optional silence at the end of run */ - if (postdelay_ms) { - int samples_delay = FREEDV_FS_8000 * postdelay_ms / 1000; - if (!quiet) - fprintf(stderr, "postdelay: %d %d\n", postdelay_ms, samples_delay); - off_samples += send_silence(fout, shorts_per_sample, samples_delay); - } - - /* SNR offset to use in channel simulator to account for on/off time of burst - * signal */ - float mark_space_ratio = (float)on_samples / (on_samples + off_samples); - float mark_space_SNR_offset = 10 * log10(mark_space_ratio); - if (!quiet) - fprintf(stderr, "mark:space: %3.2f SNR offset: %5.2f\n", mark_space_ratio, - mark_space_SNR_offset); - - freedv_close(freedv); - fclose(fin); - fclose(fout); - - return 0; -} - -size_t send_preamble(struct freedv *freedv, FILE *fout, int use_complex, - size_t n_mod_out) { - short mod_out_short[2 * n_mod_out]; - int shorts_per_sample = 1; - int n_preamble = 0; - - if (use_complex == 0) { - n_preamble = freedv_rawdatapreambletx(freedv, mod_out_short); - } else { - COMP mod_out_comp[n_mod_out]; - n_preamble = freedv_rawdatapreamblecomptx(freedv, mod_out_comp); - comp_to_short(mod_out_short, mod_out_comp, n_preamble); - shorts_per_sample = 2; - } - assert(n_preamble == freedv_get_n_tx_preamble_modem_samples(freedv)); - assert(n_preamble <= n_mod_out); - fwrite(mod_out_short, sizeof(short), shorts_per_sample * n_preamble, fout); - return n_preamble; -} - -size_t send_modulated_data(struct freedv *freedv, FILE *fout, int use_complex, - size_t n_mod_out, uint8_t bytes_in[]) { - short mod_out_short[2 * n_mod_out]; - int shorts_per_sample = 1; - - if (use_complex == 0) { - freedv_rawdatatx(freedv, mod_out_short, bytes_in); - } else { - COMP mod_out_comp[n_mod_out]; - freedv_rawdatacomptx(freedv, mod_out_comp, bytes_in); - comp_to_short(mod_out_short, mod_out_comp, n_mod_out); - shorts_per_sample = 2; - } - fwrite(mod_out_short, sizeof(short), shorts_per_sample * n_mod_out, fout); - return n_mod_out; -} - -size_t send_postamble(struct freedv *freedv, FILE *fout, int use_complex, - size_t n_mod_out) { - short mod_out_short[2 * n_mod_out]; - int shorts_per_sample = 1; - int n_postamble = 0; - - if (use_complex == 0) { - n_postamble = freedv_rawdatapostambletx(freedv, mod_out_short); - } else { - COMP mod_out_comp[n_mod_out]; - n_postamble = freedv_rawdatapostamblecomptx(freedv, mod_out_comp); - comp_to_short(mod_out_short, mod_out_comp, n_postamble); - shorts_per_sample = 2; - } - assert(n_postamble == freedv_get_n_tx_postamble_modem_samples(freedv)); - assert(n_postamble <= n_mod_out); - fwrite(mod_out_short, sizeof(short), shorts_per_sample * n_postamble, fout); - return n_postamble; -} - -size_t send_silence(FILE *fout, size_t shorts_per_sample, - size_t samples_delay) { - size_t n = shorts_per_sample * samples_delay; - short sil_short[n]; - for (int i = 0; i < n; i++) sil_short[i] = 0; - fwrite(sil_short, sizeof(short), n, fout); - return samples_delay; -} - -void comp_to_short(short mod_out_short[], COMP mod_out_comp[], int n_mod_out) { - for (int i = 0; i < n_mod_out; i++) { - mod_out_short[2 * i] = (short)(mod_out_comp[i].real); - mod_out_short[2 * i + 1] = (short)(mod_out_comp[i].imag); - } -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_rx.c b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_rx.c deleted file mode 100644 index 845b295..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_rx.c +++ /dev/null @@ -1,225 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_data_rx.c - AUTHOR......: Jeroen Vreeken - DATE CREATED: May 2020 - - Demo receive program for FreeDV API functions ignores everything but - VHF packet data. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2020 Jeroen Vreeken - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include -#include - -#include "freedv_api.h" - -/********************************************************** - Encoding an ITU callsign (and 4 bit secondary station ID to a valid MAC - address. http://dmlinking.net/eth_ar.html - */ - -// Lookup table for valid callsign characters -static char alnum2code[37] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', - 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', - 'U', 'V', 'W', 'X', 'Y', 'Z', 0}; - -// Decode the callsign in a MAC address -static int eth_ar_mac2call(char *callsign, int *ssid, bool *multicast, - uint8_t mac[6]) { - uint64_t add; - int i; - - if (!memcmp(mac, (uint8_t[6]){0xff, 0xff, 0xff, 0xff, 0xff, 0xff}, 6)) { - *ssid = 0; - *multicast = true; - strcpy(callsign, "*"); - return 0; - } - *multicast = mac[0] & 0x01; - *ssid = (mac[0] & 0x3c) >> 2; - add = (uint64_t)(mac[0] & 0xc0) << (40 - 6); - add |= (uint64_t)mac[1] << 32; - add |= (uint64_t)mac[2] << 24; - add |= (uint64_t)mac[3] << 16; - add |= (uint64_t)mac[4] << 8; - add |= (uint64_t)mac[5]; - - for (i = 0; i < 8; i++) { - int c = add % 37; - callsign[i] = alnum2code[c]; - add /= 37; - } - callsign[i] = 0; - - return 0; -} - -/********************************************************** - Data channel callback functions - */ - -struct my_callback_state { - FILE *fdataout; - int calls; -}; - -/* Called when a packet has been received */ -void my_datarx(void *callback_state, unsigned char *packet, size_t size) { - struct my_callback_state *pstate = (struct my_callback_state *)callback_state; - pstate->calls++; - fprintf(pstate->fdataout, "%-4d", pstate->calls); - - if (pstate->fdataout != NULL) { - size_t i; - - char callsign_to[9], callsign_from[9]; - int ssid_to, ssid_from; - bool multicast_to, multicast_from; - eth_ar_mac2call(callsign_to, &ssid_to, &multicast_to, packet); - eth_ar_mac2call(callsign_from, &ssid_from, &multicast_from, packet + 6); - - if (multicast_from) - fprintf(pstate->fdataout, "Multicast"); - else - fprintf(pstate->fdataout, "%s-%d", callsign_from, ssid_from); - - printf(" -> "); - - if (multicast_to) - fprintf(pstate->fdataout, "Multicast"); - else - fprintf(pstate->fdataout, "%s-%d", callsign_to, ssid_to); - - printf(" (%zd bytes)", size); - - /* It could be just an identification frame */ - if (size < 14) { - fprintf(pstate->fdataout, " Identification"); - } else { - unsigned short ethertype = packet[12] << 8 | packet[13]; - fprintf(pstate->fdataout, " EtherType 0x%04x", ethertype); - - if (ethertype == 0x7370) fprintf(pstate->fdataout, " (FPRS)"); - } - - fprintf(pstate->fdataout, ":"); - - for (i = 0; i < size; i++) { - if (i % 0x10 == 0) fprintf(pstate->fdataout, "\n0x%04zx: ", i); - fprintf(pstate->fdataout, "0x%02x ", packet[i]); - } - fprintf(pstate->fdataout, "\n"); - } -} - -/* Called when a new packet can be send */ -void my_datatx(void *callback_state, unsigned char *packet, size_t *size) { - /* This should not happen while receiving.. */ - fprintf(stderr, "datarx callback called, this should not happen!\n"); - *size = 0; -} - -int main(int argc, char *argv[]) { - FILE *fin; - struct freedv *freedv; - int nin, frame = 0; - struct my_callback_state my_cb_state = {0}; - int mode; - int verbose; - int i; - - if (argc < 3) { - printf( - "usage: %s 2400A|2400B|800XA InputModemSpeechFile\n" - " \n", - argv[0]); - printf("e.g %s 2400A data_fdmdv.raw\n", argv[0]); - exit(1); - } - - my_cb_state.fdataout = stdout; - - mode = -1; - if (!strcmp(argv[1], "2400A")) mode = FREEDV_MODE_2400A; - if (!strcmp(argv[1], "2400B")) mode = FREEDV_MODE_2400B; - if (!strcmp(argv[1], "800XA")) mode = FREEDV_MODE_800XA; - assert(mode != -1); - - if (strcmp(argv[2], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[2], "rb")) == NULL) { - fprintf(stderr, "Error opening input raw modem sample file: %s: %s.\n", - argv[2], strerror(errno)); - exit(1); - } - - verbose = 0; - - if (argc > 3) { - for (i = 3; i < argc; i++) { - if (strcmp(argv[i], "-v") == 0) { - verbose = 1; - } - if (strcmp(argv[i], "-vv") == 0) { - verbose = 2; - } - } - } - - freedv = freedv_open(mode); - assert(freedv != NULL); - - freedv_set_verbose(freedv, verbose); - - short speech_out[freedv_get_n_max_speech_samples(freedv)]; - short demod_in[freedv_get_n_max_modem_samples(freedv)]; - - freedv_set_callback_data(freedv, my_datarx, my_datatx, &my_cb_state); - - /* Note we need to work out how many samples demod needs on each - call (nin). This is used to adjust for differences in the tx and rx - sample clock frequencies. Note also the number of output - speech samples is time varying. */ - - nin = freedv_nin(freedv); - while (fread(demod_in, sizeof(short), nin, fin) == nin) { - frame++; - - /* usual case: use the freedv_api to do everything: speech decoding, - * demodulating */ - // most common interface - real shorts in, real shorts out - freedv_rx(freedv, speech_out, demod_in); - - nin = freedv_nin(freedv); - } - - fclose(fin); - fprintf(stderr, "frames decoded: %d\n", frame); - - freedv_close(freedv); - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_tx.c b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_tx.c deleted file mode 100644 index 1d49b21..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_data_tx.c +++ /dev/null @@ -1,273 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_data_tx.c - AUTHOR......: Jeroen Vreeken - DATE CREATED: May 2020 - - Demo VHF packet data transmit program for FreeDV API functions. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2020 Jeroen Vreeken - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "codec2.h" -#include "freedv_api.h" - -/********************************************************** - Encoding an ITU callsign (and 4 bit secondary station ID to a valid MAC - address. http://dmlinking.net/eth_ar.html - */ - -// Lookup table for valid callsign characters -static char alnum2code[37] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', - 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', - 'U', 'V', 'W', 'X', 'Y', 'Z', 0}; - -// Encode a callsign and ssid into a valid MAC address -static int eth_ar_call2mac(uint8_t mac[6], char *callsign, int ssid, - bool multicast) { - uint64_t add = 0; - int i; - - if (ssid > 15 || ssid < 0) return -1; - - for (i = 7; i >= 0; i--) { - char c; - - if (i >= strlen(callsign)) { - c = 0; - } else { - c = toupper(callsign[i]); - } - - int j; - - for (j = 0; j < sizeof(alnum2code); j++) { - if (alnum2code[j] == c) break; - } - if (j == sizeof(alnum2code)) return -1; - - add *= 37; - add += j; - } - - mac[0] = ((add >> (40 - 6)) & 0xc0) | (ssid << 2) | 0x02 | multicast; - mac[1] = (add >> 32) & 0xff; - mac[2] = (add >> 24) & 0xff; - mac[3] = (add >> 16) & 0xff; - mac[4] = (add >> 8) & 0xff; - mac[5] = add & 0xff; - - return 0; -} - -/********************************************************** - Data channel callback functions - */ - -struct my_callback_state { - int calls; - - unsigned char mac[6]; -}; - -/* - Called when a packet has been received - Should not be called in this tx-only test program - */ -void my_datarx(void *callback_state, unsigned char *packet, size_t size) { - /* This should not happen while sending... */ - fprintf(stderr, "datarx callback called, this should not happen!\n"); -} - -/* - Called when a new packet can be send. - - callback_state Private state variable, not touched by freedv. - packet Data array where new packet data is expected - size Available size in packet. On return the actual size of - the packet - */ -void my_datatx(void *callback_state, unsigned char *packet, size_t *size) { - static int data_type; - struct my_callback_state *my_cb_state = callback_state; - my_cb_state->calls++; - - /* Data could come from a network interface, here we just make up some */ - - if (data_type % 4 == 1) { - /* - Generate a packet with simple test pattern (counting - */ - - /* Send a packet with data */ - int i; - - /* Destination: broadcast */ - memset(packet, 0xff, 6); - /* Source: our eth_ar encoded callsign+ssid */ - memcpy(packet + 6, my_cb_state->mac, 6); - /* Ether type: experimental (since this is just a test pattern) */ - packet[12] = 0x01; - packet[13] = 0x01; - - for (i = 0; i < 64; i++) packet[i + 14] = i; - *size = i + 14; - } else if (data_type % 4 == 2) { - /* - Generate an FPRS position report - */ - - /* Destination: broadcast */ - memset(packet, 0xff, 6); - /* Source: our eth_ar encoded callsign+ssid */ - memcpy(packet + 6, my_cb_state->mac, 6); - /* Ether type: FPRS */ - packet[12] = 0x73; - packet[13] = 0x70; - - packet[14] = 0x07; // Position element Lon 86.925026 Lat 27.987850 - packet[15] = 0x3d; // - packet[16] = 0xd0; - packet[17] = 0x37; - packet[18] = 0xd0 | 0x08 | 0x01; - packet[19] = 0x3e; - packet[20] = 0x70; - packet[21] = 0x85; - - *size = 22; - } else { - /* - Set size to zero, the freedv api will insert a header frame - This is useful for identifying ourselves - */ - *size = 0; - } - - data_type++; -} - -int main(int argc, char *argv[]) { - FILE *fout; - short *mod_out; - struct freedv *freedv; - struct my_callback_state my_cb_state; - int mode; - int n_nom_modem_samples; - int i; - int n_packets = 20; - char *callsign = "NOCALL"; - int ssid = 0; - bool multicast = false; - - if (argc < 3) { - printf( - "usage: %s 2400A|2400B|800XA OutputModemRawFile\n" - " [--frames nr] [--callsign callsign] [--ssid ssid] [--mac-multicast " - "0|1]\n", - argv[0]); - printf("e.g %s 2400A data_fdmdv.raw\n", argv[0]); - exit(1); - } - - mode = -1; - if (!strcmp(argv[1], "2400A")) mode = FREEDV_MODE_2400A; - if (!strcmp(argv[1], "2400B")) mode = FREEDV_MODE_2400B; - if (!strcmp(argv[1], "800XA")) mode = FREEDV_MODE_800XA; - if (mode == -1) { - fprintf(stderr, "Error in mode: %s\n", argv[1]); - exit(0); - } - - if (strcmp(argv[2], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[2], "wb")) == NULL) { - fprintf(stderr, "Error opening output modem sample file: %s: %s.\n", - argv[3], strerror(errno)); - exit(1); - } - - if (argc > 3) { - for (i = 3; i < argc; i++) { - if (strcmp(argv[i], "--packets") == 0) { - n_packets = atoi(argv[i + 1]); - } - if (strcmp(argv[i], "--callsign") == 0) { - callsign = argv[i + 1]; - } - if (strcmp(argv[i], "--ssid") == 0) { - ssid = atoi(argv[i + 1]); - } - if (strcmp(argv[i], "--mac-multicast") == 0) { - multicast = atoi(argv[i + 1]); - } - } - } - - freedv = freedv_open(mode); - assert(freedv != NULL); - - /* Generate our address */ - eth_ar_call2mac(my_cb_state.mac, callsign, ssid, multicast); - - freedv_set_data_header(freedv, my_cb_state.mac); - - freedv_set_verbose(freedv, 1); - - n_nom_modem_samples = freedv_get_n_nom_modem_samples(freedv); - mod_out = (short *)malloc(sizeof(short) * n_nom_modem_samples); - assert(mod_out != NULL); - - /* set up callback for data packets */ - freedv_set_callback_data(freedv, my_datarx, my_datatx, &my_cb_state); - - /* OK main loop */ - - /* We will loop until the tx callback has been called n_packets times - After that we continue until everything is transmitted, as a data - packet might be transmitted in multiple freedv frames. - */ - while (my_cb_state.calls <= n_packets || freedv_data_ntxframes(freedv)) { - freedv_datatx(freedv, mod_out); - - fwrite(mod_out, sizeof(short), n_nom_modem_samples, fout); - - /* if this is in a pipeline, we probably don't want the usual - buffering to occur */ - if (fout == stdout) fflush(stdout); - } - - free(mod_out); - freedv_close(freedv); - fclose(fout); - - fclose(stdin); - fclose(stderr); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_fsk.c b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_fsk.c deleted file mode 100644 index 0613263..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_fsk.c +++ /dev/null @@ -1,710 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_fsk.c - AUTHOR......: David Rowe - DATE CREATED: May 2020 - - Functions that implement the FreeDV modes that use the FSK modem. - -\*---------------------------------------------------------------------------*/ - -#include -#include -#include -#include -#include -#include -#include - -#include "codec2.h" -#include "comp.h" -#include "comp_prim.h" -#include "debug_alloc.h" -#include "fmfsk.h" -#include "freedv_api.h" -#include "freedv_api_internal.h" -#include "freedv_vhf_framing.h" -#include "fsk.h" -#include "interldpc.h" -#include "ldpc_codes.h" -#include "varicode.h" - -/* 32 bit 0x5186fe15 Unique word for fsk_ldpc modes */ -static uint8_t fsk_ldpc_uw[] = {0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1}; - -void freedv_2400a_open(struct freedv *f) { - f->n_protocol_bits = 20; - f->deframer = fvhff_create_deframer(FREEDV_VHF_FRAME_A, 0); - assert(f->deframer != NULL); - f->fsk = fsk_create_hbr(48000, 1200, 4, 10, FSK_DEFAULT_NSYM, 1200, 1200); - assert(f->fsk != NULL); - - /* Note: fsk expects tx/rx bits as an array of uint8_ts, not ints */ - f->tx_bits = (int *)MALLOC(f->fsk->Nbits * sizeof(uint8_t)); - assert(f->tx_bits != NULL); - - f->n_nom_modem_samples = f->fsk->N; - f->n_max_modem_samples = f->fsk->N + (f->fsk->Ts); - f->n_nat_modem_samples = f->fsk->N; - f->nin = f->nin_prev = fsk_nin(f->fsk); - f->modem_sample_rate = 48000; - f->modem_symbol_rate = 1200; - - f->speech_sample_rate = FREEDV_FS_8000; - f->codec2 = codec2_create(CODEC2_MODE_1300); - assert(f->codec2 != NULL); - f->n_speech_samples = codec2_samples_per_frame(f->codec2); - - f->n_codec_frames = 1; - f->bits_per_codec_frame = codec2_bits_per_frame(f->codec2); - f->bits_per_modem_frame = f->bits_per_codec_frame; - int n_packed_bytes = (f->bits_per_modem_frame + 7) / 8; - f->tx_payload_bits = MALLOC(n_packed_bytes); - assert(f->tx_payload_bits != NULL); - f->rx_payload_bits = MALLOC(n_packed_bytes); - assert(f->rx_payload_bits != NULL); -} - -void freedv_2400b_open(struct freedv *f) { - f->n_protocol_bits = 20; - f->deframer = fvhff_create_deframer(FREEDV_VHF_FRAME_A, 1); - assert(f->deframer != NULL); - - f->fmfsk = fmfsk_create(48000, 2400); - assert(f->fmfsk != NULL); - - /* Note: fsk expects tx/rx bits as an array of uint8_ts, not ints */ - f->tx_bits = (int *)MALLOC(f->fmfsk->nbit * sizeof(uint8_t)); - assert(f->tx_bits != NULL); - f->n_nom_modem_samples = f->fmfsk->N; - f->n_max_modem_samples = f->fmfsk->N + (f->fmfsk->Ts); - f->n_nat_modem_samples = f->fmfsk->N; - f->nin = f->nin_prev = fmfsk_nin(f->fmfsk); - f->modem_sample_rate = 48000; - - f->speech_sample_rate = FREEDV_FS_8000; - f->codec2 = codec2_create(CODEC2_MODE_1300); - assert(f->codec2 != NULL); - f->n_speech_samples = codec2_samples_per_frame(f->codec2); - - f->n_codec_frames = 1; - f->bits_per_codec_frame = codec2_bits_per_frame(f->codec2); - f->bits_per_modem_frame = f->bits_per_codec_frame; - int n_packed_bytes = (f->bits_per_modem_frame + 7) / 8; - f->tx_payload_bits = MALLOC(n_packed_bytes); - assert(f->tx_payload_bits != NULL); - f->rx_payload_bits = MALLOC(n_packed_bytes); - assert(f->rx_payload_bits != NULL); -} - -void freedv_800xa_open(struct freedv *f) { - f->deframer = fvhff_create_deframer(FREEDV_HF_FRAME_B, 0); - assert(f->deframer != NULL); - f->fsk = fsk_create_hbr(8000, 400, 4, 10, 32, 800, 400); - assert(f->fsk != NULL); - - f->tx_bits = (int *)MALLOC(f->fsk->Nbits * sizeof(uint8_t)); - assert(f->fsk != NULL); - - f->n_nom_modem_samples = f->fsk->N; - f->n_max_modem_samples = f->fsk->N + (f->fsk->Ts); - f->n_nat_modem_samples = f->fsk->N; - f->nin = f->nin_prev = fsk_nin(f->fsk); - f->modem_sample_rate = 8000; - f->modem_symbol_rate = 400; - fsk_stats_normalise_eye(f->fsk, 0); - - f->codec2 = codec2_create(CODEC2_MODE_700C); - assert(f->codec2 != NULL); - f->speech_sample_rate = FREEDV_FS_8000; - f->n_codec_frames = 2; - f->n_speech_samples = f->n_codec_frames * codec2_samples_per_frame(f->codec2); - - f->bits_per_codec_frame = codec2_bits_per_frame(f->codec2); - f->bits_per_modem_frame = f->n_codec_frames * f->bits_per_codec_frame; - int n_packed_bytes = (f->bits_per_modem_frame + 7) / 8; - f->tx_payload_bits = MALLOC(n_packed_bytes); - assert(f->tx_payload_bits != NULL); - f->rx_payload_bits = MALLOC(n_packed_bytes); - assert(f->rx_payload_bits != NULL); -} - -void freedv_fsk_ldpc_open(struct freedv *f, struct freedv_advanced *adv) { - assert(adv != NULL); - - /* set up modem */ - assert((adv->Fs % adv->Rs) == 0); // Fs/Rs must be an integer - int P = adv->Fs / adv->Rs; - assert(P >= 8); // Good idea for P >= 8 - while ((P > 10) && ((P % 2) == 0)) // reduce internal oversampling rate P as - // far as we can, keep it an integer - P /= 2; - // fprintf(stderr, "Fs: %d Rs: %d M: %d P: %d\n", adv->Fs, adv->Rs, adv->M, - // P); - f->fsk = fsk_create_hbr(adv->Fs, adv->Rs, adv->M, P, FSK_DEFAULT_NSYM, - adv->first_tone, adv->tone_spacing); - assert(f->fsk != NULL); - fsk_set_freq_est_limits(f->fsk, 0, adv->Fs / 2); - fsk_stats_normalise_eye(f->fsk, 0); - - /* set up LDPC code */ - int code_index = ldpc_codes_find(adv->codename); - assert(code_index != -1); - f->ldpc = (struct LDPC *)MALLOC(sizeof(struct LDPC)); - assert(f->ldpc != NULL); - ldpc_codes_setup(f->ldpc, adv->codename); - f->ldpc->max_iter = 15; - // fprintf(stderr, "Using: %s\n", f->ldpc->name); - - f->bits_per_modem_frame = f->ldpc->data_bits_per_frame; - int bits_per_frame = f->ldpc->coded_bits_per_frame + sizeof(fsk_ldpc_uw); - f->tx_payload_bits = MALLOC(f->bits_per_modem_frame); - assert(f->tx_payload_bits != NULL); - f->rx_payload_bits = MALLOC(f->bits_per_modem_frame); - assert(f->rx_payload_bits != NULL); - - /* sample buffer size for tx modem samples, we modulate a full frame */ - f->n_nom_modem_samples = f->fsk->Ts * (bits_per_frame / (f->fsk->mode >> 1)); - f->n_nat_modem_samples = f->n_nom_modem_samples; - - /* maximum sample buffer size for rx modem samples, note we only - demodulate partial frames on each call to fsk_demod() */ - f->n_max_modem_samples = f->fsk->N + (f->fsk->Ts); - - f->nin = f->nin_prev = fsk_nin(f->fsk); - f->modem_sample_rate = adv->Fs; - f->modem_symbol_rate = adv->Rs; - f->tx_amp = FSK_SCALE; - - /* deframer set up */ - f->frame_llr_size = 2 * bits_per_frame; - f->frame_llr = (float *)MALLOC(f->frame_llr_size * sizeof(float)); - assert(f->frame_llr != NULL); - f->frame_llr_nbits = 0; - - f->twoframes_hard = MALLOC(2 * bits_per_frame); - assert(f->twoframes_hard != NULL); - memset(f->twoframes_hard, 0, 2 * bits_per_frame); - f->twoframes_llr = (float *)MALLOC(2 * bits_per_frame * sizeof(float)); - assert(f->twoframes_llr != NULL); - for (int i = 0; i < 2 * bits_per_frame; i++) f->twoframes_llr[i] = 0.0; - - /* currently configured a simple frame-frame approach */ - f->fsk_ldpc_thresh1 = 5; - f->fsk_ldpc_thresh2 = 6; - f->fsk_ldpc_baduw_thresh = 1; - - // fprintf(stderr, "thresh1: %d thresh2: %d\n", f->fsk_ldpc_thresh1, - // f->fsk_ldpc_thresh2); - f->fsk_ldpc_baduw = 0; - f->fsk_ldpc_best_location = 0; - f->fsk_ldpc_state = 0; - f->fsk_ldpc_snr = 1.0; - f->fsk_S[0] = f->fsk_S[1] = f->fsk_N[0] = f->fsk_N[1] = 0.0; -} - -/* TX routines for 2400 FSK modes, after codec2 encoding */ -void freedv_tx_fsk_voice(struct freedv *f, short mod_out[]) { - int i; - float *tx_float; /* To hold on to modulated samps from fsk/fmfsk */ - uint8_t vc_bits[2]; /* Varicode bits for 2400 framing */ - uint8_t proto_bits[3]; /* Prococol bits for 2400 framing */ - - /* Frame for 2400A/B */ - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode)) { - /* Get varicode bits for TX and possibly ask for a new char */ - /* 2 bits per 2400A/B frame, so this has to be done twice */ - for (i = 0; i < 2; i++) { - if (f->nvaricode_bits) { - vc_bits[i] = f->tx_varicode_bits[f->varicode_bit_index++]; - f->nvaricode_bits--; - } - - if (f->nvaricode_bits == 0) { - /* get new char and encode */ - char s[2]; - if (f->freedv_get_next_tx_char != NULL) { - s[0] = (*f->freedv_get_next_tx_char)(f->callback_state); - f->nvaricode_bits = - varicode_encode(f->tx_varicode_bits, s, VARICODE_MAX_BITS, 1, 1); - f->varicode_bit_index = 0; - } - } - } - - /* If the API user hasn't set up message callbacks, don't bother with - * varicode bits */ - if (f->freedv_get_next_proto != NULL) { - (*f->freedv_get_next_proto)(f->proto_callback_state, (char *)proto_bits); - fvhff_frame_bits(FREEDV_VHF_FRAME_A, (uint8_t *)(f->tx_bits), - f->tx_payload_bits, proto_bits, vc_bits); - } else if (f->freedv_get_next_tx_char != NULL) { - fvhff_frame_bits(FREEDV_VHF_FRAME_A, (uint8_t *)(f->tx_bits), - f->tx_payload_bits, NULL, vc_bits); - } else { - fvhff_frame_bits(FREEDV_VHF_FRAME_A, (uint8_t *)(f->tx_bits), - f->tx_payload_bits, NULL, NULL); - } - /* Frame for 800XA */ - } else if (FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode)) { - fvhff_frame_bits(FREEDV_HF_FRAME_B, (uint8_t *)(f->tx_bits), - f->tx_payload_bits, NULL, NULL); - } - - /* Allocate floating point buffer for FSK mod */ - tx_float = MALLOC(sizeof(float) * f->n_nom_modem_samples); - - /* do 4fsk mod */ - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode)) { - if (f->ext_vco) { - fsk_mod_ext_vco(f->fsk, tx_float, (uint8_t *)(f->tx_bits), f->fsk->Nbits); - for (i = 0; i < f->n_nom_modem_samples; i++) { - mod_out[i] = (short)tx_float[i]; - } - } else { - fsk_mod(f->fsk, tx_float, (uint8_t *)(f->tx_bits), f->fsk->Nbits); - /* Convert float samps to short */ - for (i = 0; i < f->n_nom_modem_samples; i++) { - mod_out[i] = (short)(tx_float[i] * FSK_SCALE * NORM_PWR_FSK); - } - } - /* do me-fsk mod */ - } else if (FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode)) { - fmfsk_mod(f->fmfsk, tx_float, (uint8_t *)(f->tx_bits)); - /* Convert float samps to short */ - for (i = 0; i < f->n_nom_modem_samples; i++) { - mod_out[i] = (short)(tx_float[i] * FMFSK_SCALE); - } - } - - FREE(tx_float); -} - -/* TX routines for 2400 FSK modes, after codec2 encoding */ -void freedv_comptx_fsk_voice(struct freedv *f, COMP mod_out[]) { - int i; - float *tx_float; /* To hold on to modulated samps from fsk/fmfsk */ - uint8_t vc_bits[2]; /* Varicode bits for 2400 framing */ - uint8_t proto_bits[3]; /* Prococol bits for 2400 framing */ - - /* Frame for 2400A/B */ - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode)) { - /* Get varicode bits for TX and possibly ask for a new char */ - /* 2 bits per 2400A/B frame, so this has to be done twice */ - for (i = 0; i < 2; i++) { - if (f->nvaricode_bits) { - vc_bits[i] = f->tx_varicode_bits[f->varicode_bit_index++]; - f->nvaricode_bits--; - } - - if (f->nvaricode_bits == 0) { - /* get new char and encode */ - char s[2]; - if (f->freedv_get_next_tx_char != NULL) { - s[0] = (*f->freedv_get_next_tx_char)(f->callback_state); - f->nvaricode_bits = - varicode_encode(f->tx_varicode_bits, s, VARICODE_MAX_BITS, 1, 1); - f->varicode_bit_index = 0; - } - } - } - - /* If the API user hasn't set up message callbacks, don't bother with - * varicode bits */ - if (f->freedv_get_next_proto != NULL) { - (*f->freedv_get_next_proto)(f->proto_callback_state, (char *)proto_bits); - fvhff_frame_bits(FREEDV_VHF_FRAME_A, (uint8_t *)(f->tx_bits), - f->tx_payload_bits, proto_bits, vc_bits); - } else if (f->freedv_get_next_tx_char != NULL) { - fvhff_frame_bits(FREEDV_VHF_FRAME_A, (uint8_t *)(f->tx_bits), - f->tx_payload_bits, NULL, vc_bits); - } else { - fvhff_frame_bits(FREEDV_VHF_FRAME_A, (uint8_t *)(f->tx_bits), - f->tx_payload_bits, NULL, NULL); - } - /* Frame for 800XA */ - } else if (FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode)) { - fvhff_frame_bits(FREEDV_HF_FRAME_B, (uint8_t *)(f->tx_bits), - f->tx_payload_bits, NULL, NULL); - } - - /* Allocate floating point buffer for FSK mod */ - tx_float = MALLOC(sizeof(float) * f->n_nom_modem_samples); - - /* do 4fsk mod */ - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode)) { - fsk_mod_c(f->fsk, mod_out, (uint8_t *)(f->tx_bits), f->fsk->Nbits); - /* Convert float samps to short */ - for (i = 0; i < f->n_nom_modem_samples; i++) { - mod_out[i] = fcmult(NORM_PWR_FSK, mod_out[i]); - } - /* do me-fsk mod */ - } else if (FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode)) { - fmfsk_mod(f->fmfsk, tx_float, (uint8_t *)(f->tx_bits)); - /* Convert float samps to short */ - for (i = 0; i < f->n_nom_modem_samples; i++) { - mod_out[i].real = (tx_float[i]); - } - } - - FREE(tx_float); -} - -/* TX routines for 2400 FSK modes, data channel */ -void freedv_tx_fsk_data(struct freedv *f, short mod_out[]) { - int i; - float *tx_float; /* To hold on to modulated samps from fsk/fmfsk */ - - if (FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode)) - fvhff_frame_data_bits(f->deframer, FREEDV_HF_FRAME_B, - (uint8_t *)(f->tx_bits)); - else - fvhff_frame_data_bits(f->deframer, FREEDV_VHF_FRAME_A, - (uint8_t *)(f->tx_bits)); - - /* Allocate floating point buffer for FSK mod */ - tx_float = MALLOC(sizeof(float) * f->n_nom_modem_samples); - - /* do 4fsk mod */ - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode)) { - fsk_mod(f->fsk, tx_float, (uint8_t *)(f->tx_bits), f->fsk->Nbits); - /* Convert float samps to short */ - for (i = 0; i < f->n_nom_modem_samples; i++) { - mod_out[i] = (short)(tx_float[i] * FSK_SCALE); - } - /* do me-fsk mod */ - } else if (FDV_MODE_ACTIVE(FREEDV_MODE_2400B, f->mode)) { - fmfsk_mod(f->fmfsk, tx_float, (uint8_t *)(f->tx_bits)); - /* Convert float samps to short */ - for (i = 0; i < f->n_nom_modem_samples; i++) { - mod_out[i] = (short)(tx_float[i] * FMFSK_SCALE); - } - } - - FREE(tx_float); -} - -int freedv_tx_fsk_ldpc_bits_per_frame(struct freedv *f) { - return f->ldpc->coded_bits_per_frame + sizeof(fsk_ldpc_uw); -} - -/* in a separate function so callable by other FSK Txs */ -void freedv_tx_fsk_ldpc_framer(struct freedv *f, uint8_t frame[], - uint8_t payload_data[]) { - /* lets build up the frame to Tx ............. */ - - /* insert UW */ - memcpy(frame, fsk_ldpc_uw, sizeof(fsk_ldpc_uw)); - /* insert data bits */ - memcpy(frame + sizeof(fsk_ldpc_uw), payload_data, f->bits_per_modem_frame); - /* insert parity bits */ - encode(f->ldpc, frame + sizeof(fsk_ldpc_uw), - frame + sizeof(fsk_ldpc_uw) + f->bits_per_modem_frame); -} - -/* FreeDV FSK_LDPC mode tx */ -void freedv_tx_fsk_ldpc_data(struct freedv *f, COMP mod_out[]) { - int bits_per_frame = freedv_tx_fsk_ldpc_bits_per_frame(f); - uint8_t frame[bits_per_frame]; - - assert(f->mode == FREEDV_MODE_FSK_LDPC); - - freedv_tx_fsk_ldpc_framer(f, frame, f->tx_payload_bits); - fsk_mod_c(f->fsk, mod_out, frame, bits_per_frame); - - /* scale samples */ - for (int i = 0; i < f->n_nom_modem_samples; i++) { - mod_out[i].real *= f->tx_amp; - mod_out[i].imag *= f->tx_amp; - } -} - -void freedv_tx_fsk_ldpc_data_preamble(struct freedv *f, COMP mod_out[], - int npreamble_bits, - int npreamble_samples) { - struct FSK *fsk = f->fsk; - uint8_t preamble[npreamble_bits]; - // cycle through all 2 and 4FSK symbols, not sure if this is better than - // random - int sym = 0; - for (int i = 0; i < npreamble_bits; i += 2) { - preamble[i] = (sym >> 1) & 0x1; - preamble[i + 1] = sym & 0x1; - sym += 1; - } - - fsk_mod_c(fsk, mod_out, preamble, npreamble_bits); - /* scale samples */ - for (int i = 0; i < npreamble_samples; i++) { - mod_out[i].real *= f->tx_amp; - mod_out[i].imag *= f->tx_amp; - } -} - -/* FreeDV FSK_LDPC mode rx */ -int freedv_rx_fsk_ldpc_data(struct freedv *f, COMP demod_in[]) { - int bits_per_frame = freedv_tx_fsk_ldpc_bits_per_frame(f); - struct FSK *fsk = f->fsk; - float rx_filt[fsk->mode * fsk->Nsym]; - int rx_status = 0, seq = 0; - - /* Couple of layers of buffers to move chunks of fsk->Nbits into a - double buffer we can use for frame sync. There are other ways - of doing this, e.g. FIFOs */ - - /* demodulate to bit LLRs which are placed at end of buffer */ - fsk_demod_sd(fsk, rx_filt, demod_in); - fsk_rx_filt_to_llrs(&f->frame_llr[f->frame_llr_nbits], rx_filt, fsk->v_est, - fsk->SNRest, fsk->mode, fsk->Nsym); - f->nin = fsk_nin(fsk); - f->frame_llr_nbits += fsk->Nbits; - assert(f->frame_llr_nbits < f->frame_llr_size); - - if (f->frame_llr_nbits >= bits_per_frame) { - /* We have an entire frame of llrs, place them at the end of the double - * buffer */ - memmove(f->twoframes_llr, &f->twoframes_llr[bits_per_frame], - bits_per_frame * sizeof(float)); - memcpy(&f->twoframes_llr[bits_per_frame], f->frame_llr, - bits_per_frame * sizeof(float)); - - /* update new hard decisions buffer (used for UW search) */ - memmove(f->twoframes_hard, &f->twoframes_hard[bits_per_frame], - bits_per_frame); - for (int i = 0; i < bits_per_frame; i++) { - if (f->frame_llr[i] < 0) - f->twoframes_hard[bits_per_frame + i] = 1; - else - f->twoframes_hard[bits_per_frame + i] = 0; - } - - /* update single frame buffer */ - memmove(f->frame_llr, &f->frame_llr[bits_per_frame], - (f->frame_llr_nbits - bits_per_frame) * sizeof(float)); - f->frame_llr_nbits -= bits_per_frame; - assert(f->frame_llr_nbits >= 0); - - /* Sample SNR which we report back to used in fsk->snr_est. - Note that fsk->SNRest is the SNR of the last fsk->Nbits - that were placed at the end of the buffer. We delay this - by one frame to report the SNR of the frame we are - currently decoding */ - f->snr_est = (double)10.0 * log10(f->fsk_ldpc_snr); - f->fsk_ldpc_snr = fsk->SNRest; - f->fsk_S[0] = f->fsk_S[1]; - f->fsk_N[0] = f->fsk_N[1]; - /* also store delayed versions of signal and noise power, useful for channel - * estimation */ - f->fsk_S[1] = fsk->rx_sig_pow; - f->fsk_N[1] = fsk->rx_nse_pow; - - /* OK lets run frame based processing, starting with state machine */ - - int errors = 0; - int next_state = f->fsk_ldpc_state; - switch (f->fsk_ldpc_state) { - case 0: /* out of sync - look for UW */ - f->fsk_ldpc_best_location = 0; - int best_errors = sizeof(fsk_ldpc_uw); - for (int i = 0; i < bits_per_frame; i++) { - errors = 0; - for (int u = 0; u < sizeof(fsk_ldpc_uw); u++) - errors += f->twoframes_hard[i + u] ^ fsk_ldpc_uw[u]; - // fprintf(stderr, " errors: %d %d %d\n", i, errors, best_errors); - if (errors < best_errors) { - best_errors = errors; - f->fsk_ldpc_best_location = i; - } - } - if (best_errors <= f->fsk_ldpc_thresh1) { - errors = best_errors; - next_state = 1; - f->fsk_ldpc_baduw = 0; - } - break; - case 1: /* in sync */ - assert(f->fsk_ldpc_best_location >= 0); - assert(f->fsk_ldpc_best_location < bits_per_frame); - - /* check UW still OK */ - for (int u = 0; u < sizeof(fsk_ldpc_uw); u++) - errors += - f->twoframes_hard[f->fsk_ldpc_best_location + u] ^ fsk_ldpc_uw[u]; - if (errors > f->fsk_ldpc_thresh2) { - f->fsk_ldpc_baduw++; - if (f->fsk_ldpc_baduw >= f->fsk_ldpc_baduw_thresh) { - next_state = 0; - } - } else - f->fsk_ldpc_baduw = 0; - break; - } - - int Nerrs_raw = 0, Nerrs_coded = 0, iter = 0, parityCheckCount = 0; - if (next_state == 1) { - /* We may have a valid frame, based on the number on UW errors. Lets do a - * LDPC decode and check the CRC */ - - uint8_t decoded_codeword[f->ldpc->ldpc_coded_bits_per_frame]; - iter = run_ldpc_decoder( - f->ldpc, decoded_codeword, - &f->twoframes_llr[f->fsk_ldpc_best_location + sizeof(fsk_ldpc_uw)], - &parityCheckCount); - memcpy(f->rx_payload_bits, decoded_codeword, f->bits_per_modem_frame); - - /* check CRC */ - if (freedv_check_crc16_unpacked(f->rx_payload_bits, - f->bits_per_modem_frame)) - rx_status |= FREEDV_RX_BITS; - else { - /* if CRC failed on first frame in packet, this was probably a dud UW - * match, so go straight back to searching */ - if (f->fsk_ldpc_state == 0) next_state = 0; - rx_status |= FREEDV_RX_BIT_ERRORS; - } - } - f->fsk_ldpc_state = next_state; - - if (f->fsk_ldpc_state == 1) { - if (f->test_frames) { - /* regenerate tx test frame */ - uint8_t tx_frame[bits_per_frame]; - memcpy(tx_frame, fsk_ldpc_uw, sizeof(fsk_ldpc_uw)); - ofdm_generate_payload_data_bits(tx_frame + sizeof(fsk_ldpc_uw), - f->bits_per_modem_frame); - int bytes_per_modem_frame = f->bits_per_modem_frame / 8; - uint8_t tx_bytes[bytes_per_modem_frame]; - freedv_pack(tx_bytes, tx_frame + sizeof(fsk_ldpc_uw), - f->bits_per_modem_frame); - uint16_t tx_crc16 = - freedv_gen_crc16(tx_bytes, bytes_per_modem_frame - 2); - uint8_t tx_crc16_bytes[] = {tx_crc16 >> 8, tx_crc16 & 0xff}; - freedv_unpack( - tx_frame + sizeof(fsk_ldpc_uw) + f->bits_per_modem_frame - 16, - tx_crc16_bytes, 16); - encode(f->ldpc, tx_frame + sizeof(fsk_ldpc_uw), - tx_frame + sizeof(fsk_ldpc_uw) + f->bits_per_modem_frame); - - /* count uncoded (raw) errors across UW, payload bits, parity bits */ - Nerrs_raw = count_errors(tx_frame, - f->twoframes_hard + f->fsk_ldpc_best_location, - bits_per_frame); - f->total_bit_errors += Nerrs_raw; - f->total_bits += bits_per_frame; - - /* count coded errors across just payload bits */ - Nerrs_coded = count_errors(tx_frame + sizeof(fsk_ldpc_uw), - f->rx_payload_bits, f->bits_per_modem_frame); - f->total_bit_errors_coded += Nerrs_coded; - f->total_bits_coded += f->bits_per_modem_frame; - if (Nerrs_coded) f->total_packet_errors++; - f->total_packets++; - } - - /* extract packet sequence numbers optionally placed in byte[0] */ - seq = 0; - for (int i = 0; i < 8; i++) seq |= f->rx_payload_bits[8 + i] << (7 - i); - } - - if (f->fsk_ldpc_state == 1) - rx_status |= - FREEDV_RX_SYNC; /* need this set before verbose logging fprintf() */ - if (((f->verbose == 1) && (rx_status & FREEDV_RX_BITS)) || - (f->verbose == 2)) { - fprintf(stderr, - "%3d nbits: %3d st: %d uwloc: %3d uwerr: %2d bad_uw: %d snrdB: " - "%4.1f eraw: %3d ecdd: %3d " - "iter: %3d pcc: %3d seq: %3d rxst: %s\n", - ++(f->frames), f->frame_llr_nbits, f->fsk_ldpc_state, - f->fsk_ldpc_best_location, errors, f->fsk_ldpc_baduw, - (double)f->snr_est, Nerrs_raw, Nerrs_coded, iter, - parityCheckCount, seq, rx_sync_flags_to_text[rx_status]); - } - } else { - /* set RX_SYNC flag even if we don't perform frame processing */ - if (f->fsk_ldpc_state == 1) rx_status |= FREEDV_RX_SYNC; - } - - return rx_status; -} - -int freedv_comprx_fsk(struct freedv *f, COMP demod_in[]) { - /* Varicode and protocol bits */ - uint8_t vc_bits[2]; - uint8_t proto_bits[3]; - short vc_bit; - int i; - int n_ascii; - char ascii_out; - int rx_status = 0; - - if (FDV_MODE_ACTIVE(FREEDV_MODE_2400A, f->mode) || - FDV_MODE_ACTIVE(FREEDV_MODE_800XA, f->mode)) { - fsk_demod(f->fsk, (uint8_t *)f->tx_bits, demod_in); - f->nin = fsk_nin(f->fsk); - float EbNodB = - f->fsk->stats->snr_est; /* fsk demod actually estimates Eb/No */ - f->snr_est = - EbNodB + - 10.0 * - log10f(800.0 / 3000.0); /* so convert to SNR Rb=800, noise B=3000 */ - } else { - /* 2400B needs real input samples */ - int n = fmfsk_nin(f->fmfsk); - float demod_in_float[n]; - for (i = 0; i < n; i++) { - demod_in_float[i] = demod_in[i].real; - } - fmfsk_demod(f->fmfsk, (uint8_t *)f->tx_bits, demod_in_float); - /* The fmfsk modem operates on the baseband output of an analog FM demod so - the mapping to SNR in 8k is hard to determine */ - f->snr_est = f->fmfsk->snr_mean; - f->nin = fmfsk_nin(f->fmfsk); - } - - rx_status = fvhff_deframe_bits(f->deframer, f->rx_payload_bits, proto_bits, - vc_bits, (uint8_t *)f->tx_bits); - if ((rx_status & FREEDV_RX_SYNC) && (rx_status & FREEDV_RX_BITS)) { - /* Decode varicode text */ - for (i = 0; i < 2; i++) { - /* Note: deframe_bits spits out bits in uint8_ts while varicode_decode - * expects shorts */ - vc_bit = vc_bits[i]; - n_ascii = - varicode_decode(&f->varicode_dec_states, &ascii_out, &vc_bit, 1, 1); - if (n_ascii && (f->freedv_put_next_rx_char != NULL)) { - (*f->freedv_put_next_rx_char)(f->callback_state, ascii_out); - } - } - /* Pass proto bits on down if callback is present */ - if (f->freedv_put_next_proto != NULL) { - (*f->freedv_put_next_proto)(f->proto_callback_state, (char *)proto_bits); - } - f->sync = 1; - } else - f->sync = 0; - - return rx_status; -} - -int freedv_floatrx(struct freedv *f, short speech_out[], float demod_in[]) { - assert(f != NULL); - int i; - int nin = freedv_nin(f); - - assert(nin <= f->n_max_modem_samples); - - COMP rx_fdm[f->n_max_modem_samples]; - for (i = 0; i < nin; i++) { - rx_fdm[i].real = demod_in[i]; - rx_fdm[i].imag = 0; - } - - return freedv_comprx(f, speech_out, rx_fdm); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_mixed_rx.c b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_mixed_rx.c deleted file mode 100644 index 8c71bb6..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_mixed_rx.c +++ /dev/null @@ -1,226 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_mixed_rx.c - AUTHOR......: Jeroen Vreeken & David Rowe - DATE CREATED: May 2020 - - Demo receive program for FreeDV API that demonstrates shows mixed - VHF packet data and speech frames. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2014 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include - -#include "codec2.h" -#include "freedv_api.h" -#include "modem_stats.h" - -struct my_callback_state { - int calls; - FILE *ftxt; -}; - -/* Called when a packet has been received */ -void my_datarx(void *callback_state, unsigned char *packet, size_t size) { - struct my_callback_state *pstate = (struct my_callback_state *)callback_state; - - pstate->calls++; - - if (pstate->ftxt != NULL) { - size_t i; - - fprintf(pstate->ftxt, "data (%zd bytes): ", size); - for (i = 0; i < size; i++) { - fprintf(pstate->ftxt, "0x%02x ", packet[i]); - } - fprintf(pstate->ftxt, "\n"); - } -} - -/* Called when a new packet can be send */ -void my_datatx(void *callback_state, unsigned char *packet, size_t *size) { - /* This should not happen while receiving.. */ - fprintf(stderr, "datarx callback called, this should not happen!\n"); - *size = 0; -} - -int main(int argc, char *argv[]) { - FILE *fin, *fout, *ftxt; - struct freedv *freedv; - int nin, nout, nout_total = 0, frame = 0; - struct my_callback_state my_cb_state = {0}; - int mode; - int use_codecrx, verbose; - struct CODEC2 *c2 = NULL; - int i; - - if (argc < 4) { - printf( - "usage: %s 2400A|2400B|800XA InputModemSpeechFile OutputSpeechRawFile\n" - " [--codecrx] [-v]\n", - argv[0]); - printf("e.g %s 2400A hts1a_fdmdv.raw hts1a_out.raw\n", argv[0]); - exit(1); - } - - mode = -1; - if (!strcmp(argv[1], "2400A")) mode = FREEDV_MODE_2400A; - if (!strcmp(argv[1], "2400B")) mode = FREEDV_MODE_2400B; - if (!strcmp(argv[1], "800XA")) mode = FREEDV_MODE_800XA; - assert(mode != -1); - - if (strcmp(argv[2], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[2], "rb")) == NULL) { - fprintf(stderr, "Error opening input raw modem sample file: %s: %s.\n", - argv[2], strerror(errno)); - exit(1); - } - - if (strcmp(argv[3], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[3], "wb")) == NULL) { - fprintf(stderr, "Error opening output speech sample file: %s: %s.\n", - argv[3], strerror(errno)); - exit(1); - } - - use_codecrx = 0; - verbose = 0; - - if (argc > 4) { - for (i = 4; i < argc; i++) { - if (strcmp(argv[i], "--codecrx") == 0) { - int c2_mode; - - if ((mode == FREEDV_MODE_700C) || (mode == FREEDV_MODE_700D) || - (mode == FREEDV_MODE_800XA)) { - c2_mode = CODEC2_MODE_700C; - } else { - c2_mode = CODEC2_MODE_1300; - } - use_codecrx = 1; - - c2 = codec2_create(c2_mode); - assert(c2 != NULL); - } - - if (strcmp(argv[i], "-v") == 0) { - verbose = 1; - } - if (strcmp(argv[i], "-vv") == 0) { - verbose = 2; - } - } - } - - freedv = freedv_open(mode); - assert(freedv != NULL); - - freedv_set_verbose(freedv, verbose); - - short speech_out[freedv_get_n_max_speech_samples(freedv)]; - short demod_in[freedv_get_n_max_modem_samples(freedv)]; - - ftxt = fopen("freedv_rx_log.txt", "wt"); - assert(ftxt != NULL); - my_cb_state.ftxt = ftxt; - freedv_set_callback_data(freedv, my_datarx, my_datatx, &my_cb_state); - - /* Note we need to work out how many samples demod needs on each - call (nin). This is used to adjust for differences in the tx and rx - sample clock frequencies. Note also the number of output - speech samples is time varying (nout). */ - - nin = freedv_nin(freedv); - while (fread(demod_in, sizeof(short), nin, fin) == nin) { - frame++; - - if (use_codecrx == 0) { - /* usual case: use the freedv_api to do everything: speech decoding, - * demodulating */ - nout = freedv_rx(freedv, speech_out, demod_in); - } else { - /* demo of codecrx mode - separate demodulation and speech decoding */ - int bits_per_codec_frame = freedv_get_bits_per_codec_frame(freedv); - int bits_per_modem_frame = freedv_get_bits_per_modem_frame(freedv); - int bytes_per_codec_frame = (bits_per_codec_frame + 7) / 8; - int bytes_per_modem_frame = (bits_per_modem_frame + 7) / 8; - int codec_frames = bits_per_modem_frame / bits_per_codec_frame; - int samples_per_frame = codec2_samples_per_frame(c2); - unsigned char encoded[bytes_per_codec_frame * codec_frames]; - unsigned char rawdata[bytes_per_modem_frame]; - - nout = 0; - - /* Use the freedv_api to demodulate only */ - int ncodec = freedv_rawdatarx(freedv, rawdata, demod_in); - freedv_codec_frames_from_rawdata(freedv, encoded, rawdata); - - /* decode the speech ourself (or send it to elsewhere, e.g. network) */ - if (ncodec) { - unsigned char *enc_frame = encoded; - short *speech_frame = speech_out; - - for (i = 0; i < codec_frames; i++) { - codec2_decode(c2, speech_frame, enc_frame); - enc_frame += bytes_per_codec_frame; - speech_frame += samples_per_frame; - nout += samples_per_frame; - } - } - } - fprintf(ftxt, "Demod of %d samples resulted %d speech samples\n", nin, - nout); - - if (nout == 0) { - /* We did not get any audio. - This means the modem is (probably) synced, but a data frame was - received Fill in the 'blanks' use by data frames with silence - */ - nout = freedv_get_n_speech_samples(freedv); - memset(speech_out, 0, nout * sizeof(short)); - } - - nin = freedv_nin(freedv); - - fwrite(speech_out, sizeof(short), nout, fout); - nout_total += nout; - - /* if this is in a pipeline, we probably don't want the usual - buffering to occur */ - - if (fout == stdout) fflush(stdout); - } - - fclose(ftxt); - fclose(fin); - fclose(fout); - fprintf(stderr, - "frames decoded: %d output speech samples: %d, data packets: %d\n", - frame, nout_total, my_cb_state.calls); - - freedv_close(freedv); - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_mixed_tx.c b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_mixed_tx.c deleted file mode 100644 index b902b12..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_mixed_tx.c +++ /dev/null @@ -1,370 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_mixed_tx.c - AUTHOR......: Jeroen Vreeken & David Rowe - DATE CREATED: May 2020 - - Demo transmit program for FreeDV API that demonstrates shows mixed - VHF packet data and speech frames. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2014 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "codec2.h" -#include "freedv_api.h" - -/********************************************************** - Encoding an ITU callsign (and 4 bit secondary station ID to a valid MAC - address. http://dmlinking.net/eth_ar.html - */ - -// Lookup table for valid callsign characters -static char alnum2code[37] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', - 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', - 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', - 'U', 'V', 'W', 'X', 'Y', 'Z', 0}; - -// Encode a callsign and ssid into a valid MAC address -static int eth_ar_call2mac(uint8_t mac[6], char *callsign, int ssid, - bool multicast) { - uint64_t add = 0; - int i; - - if (ssid > 15 || ssid < 0) return -1; - - for (i = 7; i >= 0; i--) { - char c; - - if (i >= strlen(callsign)) { - c = 0; - } else { - c = toupper(callsign[i]); - } - - int j; - - for (j = 0; j < sizeof(alnum2code); j++) { - if (alnum2code[j] == c) break; - } - if (j == sizeof(alnum2code)) return -1; - - add *= 37; - add += j; - } - - mac[0] = ((add >> (40 - 6)) & 0xc0) | (ssid << 2) | 0x02 | multicast; - mac[1] = (add >> 32) & 0xff; - mac[2] = (add >> 24) & 0xff; - mac[3] = (add >> 16) & 0xff; - mac[4] = (add >> 8) & 0xff; - mac[5] = add & 0xff; - - return 0; -} - -/********************************************************** - Data channel callback functions - */ - -struct my_callback_state { - int calls; - - unsigned char mac[6]; -}; - -/* - Called when a packet has been received - Should not be called in this tx-only test program - */ -void my_datarx(void *callback_state, unsigned char *packet, size_t size) { - /* This should not happen while sending... */ - fprintf(stderr, "datarx callback called, this should not happen!\n"); -} - -/* - Called when a new packet can be send. - - callback_state Private state variable, not touched by freedv. - packet Data array where new packet data is expected - size Available size in packet. On return the actual size of - the packet - */ -void my_datatx(void *callback_state, unsigned char *packet, size_t *size) { - static int data_type; - struct my_callback_state *my_cb_state = callback_state; - my_cb_state->calls++; - - /* Data could come from a network interface, here we just make up some */ - - if (data_type % 4 == 1) { - /* - Generate a packet with simple test pattern (counting - */ - - /* Send a packet with data */ - int i; - - /* Destination: broadcast */ - memset(packet, 0xff, 6); - /* Source: our eth_ar encoded callsign+ssid */ - memcpy(packet + 6, my_cb_state->mac, 6); - /* Ether type: experimental (since this is just a test pattern) */ - packet[12] = 0x01; - packet[13] = 0x01; - - for (i = 0; i < 64; i++) packet[i + 14] = i; - *size = i + 14; - } else if (data_type % 4 == 2) { - /* - Generate an FPRS position report - */ - - /* Destination: broadcast */ - memset(packet, 0xff, 6); - /* Source: our eth_ar encoded callsign+ssid */ - memcpy(packet + 6, my_cb_state->mac, 6); - /* Ether type: FPRS */ - packet[12] = 0x73; - packet[13] = 0x70; - - packet[14] = 0x07; // Position element Lon 86.925026 Lat 27.987850 - packet[15] = 0x3d; // - packet[16] = 0xd0; - packet[17] = 0x37; - packet[18] = 0xd0 | 0x08 | 0x01; - packet[19] = 0x3e; - packet[20] = 0x70; - packet[21] = 0x85; - - *size = 22; - } else { - /* - Set size to zero, the freedv api will insert a header frame - This is useful for identifying ourselves - */ - *size = 0; - } - - data_type++; -} - -/* Determine the amount of 'energy' in the samples by squaring them - This is not a perfect VAD as noise may trigger it, but works well for - demonstrations. - */ -static float samples_get_energy(short *samples, int nr) { - float e = 0; - int i; - - for (i = 0; i < nr; i++) { - e += (float)(samples[i] * samples[i]) / (8192); - } - e /= nr; - - return e; -} - -int main(int argc, char *argv[]) { - FILE *fin, *fout; - short *speech_in; - short *mod_out; - struct freedv *freedv; - struct my_callback_state my_cb_state; - int mode; - int n_speech_samples; - int n_nom_modem_samples; - char *callsign = "NOCALL"; - int ssid = 0; - bool multicast = false; - int use_codectx; - struct CODEC2 *c2; - int i; - float data_threshold = 15; - - if (argc < 4) { - printf( - "usage: %s 2400A|2400B|800XA InputRawSpeechFile OutputModemRawFile\n" - " [--codectx] [--callsign callsign] [--ssid ssid] [--mac-multicast " - "0|1] [--data-threshold val]\n", - argv[0]); - printf("e.g %s 2400A hts1a.raw hts1a_fdmdv.raw\n", argv[0]); - exit(1); - } - - mode = -1; - if (!strcmp(argv[1], "2400A")) mode = FREEDV_MODE_2400A; - if (!strcmp(argv[1], "2400B")) mode = FREEDV_MODE_2400B; - if (!strcmp(argv[1], "800XA")) mode = FREEDV_MODE_800XA; - if (mode == -1) { - fprintf(stderr, "Error in mode: %s\n", argv[1]); - exit(0); - } - - if (strcmp(argv[2], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[2], "rb")) == NULL) { - fprintf(stderr, "Error opening input raw speech sample file: %s: %s.\n", - argv[2], strerror(errno)); - exit(1); - } - - if (strcmp(argv[3], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[3], "wb")) == NULL) { - fprintf(stderr, "Error opening output modem sample file: %s: %s.\n", - argv[3], strerror(errno)); - exit(1); - } - - use_codectx = 0; - - if (argc > 4) { - for (i = 4; i < argc; i++) { - if (strcmp(argv[i], "--codectx") == 0) { - int c2_mode; - - if ((mode == FREEDV_MODE_700C) || (mode == FREEDV_MODE_700D) || - (mode == FREEDV_MODE_800XA)) { - c2_mode = CODEC2_MODE_700C; - } else { - c2_mode = CODEC2_MODE_1300; - } - use_codectx = 1; - c2 = codec2_create(c2_mode); - assert(c2 != NULL); - } - if (strcmp(argv[i], "--callsign") == 0) { - callsign = argv[i + 1]; - } - if (strcmp(argv[i], "--ssid") == 0) { - ssid = atoi(argv[i + 1]); - } - if (strcmp(argv[i], "--mac-multicast") == 0) { - multicast = atoi(argv[i + 1]); - } - if (strcmp(argv[i], "--data-threshold") == 0) { - data_threshold = atof(argv[i + 1]); - } - } - } - - freedv = freedv_open(mode); - assert(freedv != NULL); - - /* Generate our address */ - eth_ar_call2mac(my_cb_state.mac, callsign, ssid, multicast); - - freedv_set_data_header(freedv, my_cb_state.mac); - - freedv_set_verbose(freedv, 1); - - n_speech_samples = freedv_get_n_speech_samples(freedv); - n_nom_modem_samples = freedv_get_n_nom_modem_samples(freedv); - speech_in = (short *)malloc(sizeof(short) * n_speech_samples); - assert(speech_in != NULL); - mod_out = (short *)malloc(sizeof(short) * n_nom_modem_samples); - assert(mod_out != NULL); - // fprintf(stderr, "n_speech_samples: %d n_nom_modem_samples: %d\n", - // n_speech_samples, n_nom_modem_samples); - - /* set up callback for data packets */ - freedv_set_callback_data(freedv, my_datarx, my_datatx, &my_cb_state); - - /* OK main loop */ - - while (fread(speech_in, sizeof(short), n_speech_samples, fin) == - n_speech_samples) { - if (use_codectx == 0) { - /* Use the freedv_api to do everything: speech encoding, modulating - */ - float energy = samples_get_energy(speech_in, n_speech_samples); - - /* Is the audio fragment quiet? */ - if (energy < data_threshold) { - /* Insert a frame with data instead of speech */ - freedv_datatx(freedv, mod_out); - } else { - /* transmit voice frame */ - freedv_tx(freedv, mod_out, speech_in); - } - } else { - /* Use the freedv_api to do the modem part, encode ourselves - - First encode the frames - - Get activity from codec2 api - - Based on activity either send encoded voice or data - */ - int bits_per_codec_frame = freedv_get_bits_per_codec_frame(freedv); - int bits_per_modem_frame = freedv_get_bits_per_modem_frame(freedv); - int bytes_per_codec_frame = (bits_per_codec_frame + 7) / 8; - int bytes_per_modem_frame = (bits_per_modem_frame + 7) / 8; - int codec_frames = bits_per_modem_frame / bits_per_codec_frame; - int samples_per_frame = codec2_samples_per_frame(c2); - unsigned char encoded[bytes_per_codec_frame * codec_frames]; - unsigned char rawdata[bytes_per_modem_frame]; - unsigned char *enc_frame = encoded; - short *speech_frame = speech_in; - float energy = 0; - - /* Encode the speech ourself (or get it from elsewhere, e.g. network) */ - for (i = 0; i < codec_frames; i++) { - codec2_encode(c2, enc_frame, speech_frame); - energy += codec2_get_energy(c2, enc_frame); - enc_frame += bytes_per_codec_frame; - speech_frame += samples_per_frame; - } - energy /= codec_frames; - - /* Is the audio fragment quiet? */ - if (energy < data_threshold) { - /* Insert a frame with data instead of speech */ - freedv_datatx(freedv, mod_out); - } else { - /* Use the freedv_api to modulate already encoded frames */ - freedv_rawdata_from_codec_frames(freedv, rawdata, encoded); - freedv_rawdatatx(freedv, mod_out, rawdata); - } - } - - fwrite(mod_out, sizeof(short), n_nom_modem_samples, fout); - - /* if this is in a pipeline, we probably don't want the usual - buffering to occur */ - if (fout == stdout) fflush(stdout); - } - - free(speech_in); - free(mod_out); - freedv_close(freedv); - fclose(fin); - fclose(fout); - - fclose(stdin); - fclose(stderr); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_rx.c b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_rx.c deleted file mode 100644 index c4df02c..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_rx.c +++ /dev/null @@ -1,343 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_rx.c - AUTHOR......: David Rowe - DATE CREATED: August 2014 - - Demo/development receive program for FreeDV API functions: - - Example usage (all one line): - - $ cd codec2/build_linux/src - $ ./freedv_tx 1600 ../../raw/ve9qrp_10s.raw - | ./freedv_rx 1600 - - | aplay --f S16 - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2014 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include - -#include "freedv_api.h" -#include "modem_stats.h" -#include "reliable_text.h" - -#define NDISCARD \ - 5 /* BER measure optionally discards first few frames after sync */ - -/* optioal call-back function for received txt characters */ -void my_put_next_rx_char(void *states, char c) { - fprintf((FILE *)states, "%c", c); -} - -static FILE *reliable_tx_fp; -reliable_text_t reliable_text_obj; - -void on_reliable_text_rx(reliable_text_t rt, const char *txt_ptr, int length, - void *state) { - fprintf(reliable_tx_fp, "%s\n", txt_ptr); - reliable_text_reset(reliable_text_obj); -} - -int main(int argc, char *argv[]) { - FILE *fin, *fout, *ftxt_rx = NULL; - int nin, nout, nout_total = 0, frame = 0; - struct MODEM_STATS stats = {0}; - int mode; - int sync; - float snr_est; - float clock_offset, foff; - int use_testframes, verbose, discard, use_complex, use_reliabletext; - int use_squelch; - float squelch = 0; - struct freedv *freedv; - int use_passthroughgain; - float passthroughgain = 0.0; - - char f2020[80] = {0}; -#ifdef __LPCNET__ - sprintf(f2020, "|2020|2020B"); -#endif - - if (argc < 4) { - helpmsg: - fprintf( - stderr, - "usage: %s [options] 1600|700C|700D|700E|2400A|2400B|800XA%s " - "InputModemSpeechFile OutputSpeechRawFile\n" - "\n" - " --discard Reset BER stats on loss of sync, helps us " - "get sensible BER results\n" - " --reliabletext txt Send 'txt' using reliable text protocol\n" - " --txtrx filename Store reliable text output to filename\n" - " --squelch leveldB Set squelch level\n" - " --testframes testframes assumed to be received instead " - "of coded speech, measure BER/PER\n" - " --usecomplex Complex int16 input samples (default real " - "int16)\n" - " -v Verbose level 1\n" - " --vv Verbose level 2\n" - "\n", - argv[0], f2020); - fprintf(stderr, "example: $ %s 1600 hts1a_fdmdv.raw hts1a_out.raw \n", - argv[0]); - exit(1); - } - - use_testframes = verbose = discard = use_complex = use_squelch = 0; - use_reliabletext = 0; - use_passthroughgain = 0; - - int o = 0; - int opt_idx = 0; - while (o != -1) { - static struct option long_opts[] = { - {"discard", no_argument, 0, 'i'}, - {"help", no_argument, 0, 'h'}, - {"reliabletext", no_argument, 0, 'r'}, - {"squelch", required_argument, 0, 's'}, - {"txtrx", required_argument, 0, 'x'}, - {"testframes", no_argument, 0, 't'}, - {"usecomplex", no_argument, 0, 'c'}, - {"verbose1", no_argument, 0, 'v'}, - {"vv", no_argument, 0, 'w'}, - {"passthroughgain", required_argument, 0, 'p'}, - {0, 0, 0, 0}}; - - o = getopt_long(argc, argv, "idhr:s:x:tcvwp:", long_opts, &opt_idx); - - switch (o) { - case 'i': - discard = 1; - break; - case 'c': - use_complex = 1; - break; - case 'p': - use_passthroughgain = 1; - passthroughgain = atof(optarg); - break; - case 'r': - use_reliabletext = 1; - break; - case 's': - use_squelch = 1; - squelch = atof(optarg); - break; - case 't': - use_testframes = 1; - break; - case 'x': - ftxt_rx = fopen(optarg, "wt"); - assert(ftxt_rx != NULL); - break; - case 'v': - verbose = 1; - break; - case 'w': - verbose = 2; - break; - case 'h': - case '?': - goto helpmsg; - break; - } - } - int dx = optind; - - if ((argc - dx) < 3) { - fprintf(stderr, "too few arguments.\n"); - goto helpmsg; - } - - mode = -1; - if (!strcmp(argv[dx], "1600")) mode = FREEDV_MODE_1600; - if (!strcmp(argv[dx], "700C")) mode = FREEDV_MODE_700C; - if (!strcmp(argv[dx], "700D")) mode = FREEDV_MODE_700D; - if (!strcmp(argv[dx], "700E")) mode = FREEDV_MODE_700E; - if (!strcmp(argv[dx], "2400A")) mode = FREEDV_MODE_2400A; - if (!strcmp(argv[dx], "2400B")) mode = FREEDV_MODE_2400B; - if (!strcmp(argv[dx], "800XA")) mode = FREEDV_MODE_800XA; -#ifdef __LPCNET__ - if (!strcmp(argv[dx], "2020")) mode = FREEDV_MODE_2020; - if (!strcmp(argv[dx], "2020B")) mode = FREEDV_MODE_2020B; -#endif - if (mode == -1) { - fprintf(stderr, "Error in mode: %s\n", argv[dx]); - exit(1); - } - - if (strcmp(argv[dx + 1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[dx + 1], "rb")) == NULL) { - fprintf(stderr, "Error opening input raw modem sample file: %s: %s.\n", - argv[dx + 1], strerror(errno)); - exit(1); - } - - if (strcmp(argv[dx + 2], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[dx + 2], "wb")) == NULL) { - fprintf(stderr, "Error opening output speech sample file: %s: %s.\n", - argv[dx + 2], strerror(errno)); - exit(1); - } - - freedv = freedv_open(mode); - assert(freedv != NULL); - - /* set up a few options, calling these is optional -------------------------*/ - - freedv_set_test_frames(freedv, use_testframes); - if (verbose == 2) freedv_set_verbose(freedv, verbose); - - if (use_squelch) { - freedv_set_snr_squelch_thresh(freedv, squelch); - freedv_set_squelch_en(freedv, true); - } - if (use_passthroughgain) freedv_passthrough_gain(freedv, passthroughgain); - - /* install optional handler for received txt characters */ - if (ftxt_rx != NULL) { - if (use_reliabletext) { - reliable_tx_fp = ftxt_rx; - - reliable_text_obj = reliable_text_create(); - assert(reliable_text_obj != NULL); - reliable_text_set_string(reliable_text_obj, "AB1CDEF", 7); // not used - reliable_text_use_with_freedv(reliable_text_obj, freedv, - on_reliable_text_rx, NULL); - } else { - freedv_set_callback_txt(freedv, my_put_next_rx_char, NULL, ftxt_rx); - } - } - - /* note use of API functions to tell us how big our buffers need to be -----*/ - - short speech_out[freedv_get_n_max_speech_samples(freedv)]; - short demod_in[freedv_get_n_max_modem_samples(freedv)]; - - /* We need to work out how many samples the demod needs on each - call (nin). This is used to adjust for differences in the tx - and rx sample clock frequencies. Note also the number of - output speech samples "nout" is time varying. */ - - nin = freedv_nin(freedv); - while (fread(demod_in, sizeof(short), nin, fin) == nin) { - frame++; - - if (use_complex) { - /* exercise the complex version of the API (useful - for testing 700D which has a different code path for - short samples) */ - COMP demod_in_complex[nin]; - - for (int i = 0; i < nin; i++) { - demod_in_complex[i].real = (float)demod_in[i]; - demod_in_complex[i].imag = 0.0f; - } - nout = freedv_comprx(freedv, speech_out, demod_in_complex); - } else { - // most common interface - real shorts in, real shorts out - nout = freedv_rx(freedv, speech_out, demod_in); - } - - /* IMPORTANT: don't forget to do this in the while loop to - ensure we fread the correct number of samples: ie update - "nin" before every call to freedv_rx()/freedv_comprx() */ - nin = freedv_nin(freedv); - - /* optionally read some stats */ - freedv_get_modem_stats(freedv, &sync, &snr_est); - freedv_get_modem_extended_stats(freedv, &stats); - int total_bit_errors = freedv_get_total_bit_errors(freedv); - clock_offset = stats.clock_offset; - foff = stats.foff; - - if (discard && (sync == 0)) { - // discard BER results if we get out of sync, helps us get sensible BER - // results - freedv_set_total_bits(freedv, 0); - freedv_set_total_bit_errors(freedv, 0); - freedv_set_total_bits_coded(freedv, 0); - freedv_set_total_bit_errors_coded(freedv, 0); - } - - fwrite(speech_out, sizeof(short), nout, fout); - nout_total += nout; - - if (verbose == 1) { - fprintf(stderr, - "frame: %d sync: %d nin: %d snr: %3.2f dB bit errors: %d " - "clock_off: %6.2f foff: %5.2f\n", - frame, sync, nin, snr_est, total_bit_errors, clock_offset, foff); - } - - /* if using pipes we probably don't want the usual buffering - to occur */ - if (fout == stdout) fflush(stdout); - } - - if (ftxt_rx != NULL) fclose(ftxt_rx); - fclose(fin); - fclose(fout); - fprintf(stderr, "frames decoded: %d output speech samples: %d\n", frame, - nout_total); - - /* finish up with some stats */ - - if (freedv_get_test_frames(freedv)) { - int Tbits = freedv_get_total_bits(freedv); - int Terrs = freedv_get_total_bit_errors(freedv); - float uncoded_ber = (float)Terrs / Tbits; - fprintf(stderr, "BER......: %5.4f Tbits: %8d Terrs: %8d\n", - (double)uncoded_ber, Tbits, Terrs); - if ((mode == FREEDV_MODE_700D) || (mode == FREEDV_MODE_700E) || - (mode == FREEDV_MODE_2020) || (mode == FREEDV_MODE_2020B)) { - int Tbits_coded = freedv_get_total_bits_coded(freedv); - int Terrs_coded = freedv_get_total_bit_errors_coded(freedv); - float coded_ber = (float)Terrs_coded / Tbits_coded; - fprintf(stderr, "Coded BER: %5.4f Tbits: %8d Terrs: %8d\n", - (double)coded_ber, Tbits_coded, Terrs_coded); - int Tpackets = freedv_get_total_packets(freedv); - int Tpacket_errors = freedv_get_total_packet_errors(freedv); - float per = (float)Tpacket_errors / Tpackets; - fprintf(stderr, "Coded PER: %5.4f Tpkts: %8d Tpers: %8d\n", per, - Tpackets, Tpacket_errors); - - /* set return code for Ctest */ - if ((uncoded_ber < 0.1f) && (coded_ber < 0.01f)) - return 0; - else - return 1; - } - } - - if (use_reliabletext) { - reliable_text_destroy(reliable_text_obj); - } - - freedv_close(freedv); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_tx.c b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_tx.c deleted file mode 100644 index 4f1325b..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_tx.c +++ /dev/null @@ -1,218 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_tx.c - AUTHOR......: David Rowe - DATE CREATED: August 2014 - - Demo transmit program for FreeDV API functions. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2014 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include - -#include "freedv_api.h" -#include "reliable_text.h" - -struct my_callback_state { - char tx_str[80]; - char *ptx_str; - int calls; -}; - -char my_get_next_tx_char(void *callback_state) { - struct my_callback_state *pstate = (struct my_callback_state *)callback_state; - char c = *pstate->ptx_str++; - if (*pstate->ptx_str == 0) { - pstate->ptx_str = pstate->tx_str; - } - - return c; -} - -void on_reliable_text_rx(reliable_text_t rt, const char *txt_ptr, int length, - void *state) { - // empty since we don't expect to receive anything in this program. -} - -int main(int argc, char *argv[]) { - FILE *fin, *fout; - struct freedv *freedv; - int mode; - int use_testframes, use_clip, use_txbpf, use_reliabletext; - char *callsign = ""; - reliable_text_t reliable_text_obj; - char f2020[80] = {0}; -#ifdef __LPCNET__ - sprintf(f2020, "|2020|2020B"); -#endif - - if (argc < 4) { - helpmsg: - fprintf(stderr, - "usage: %s [options] 1600|700C|700D|700E|2400A|2400B|800XA%s " - "InputRawSpeechFile OutputModemRawFile\n" - "\n" - " --clip 0|1 Clipping (compression) of modem output " - "samples for reduced PAPR\n" - " and higher average power\n" - " --reliabletext txt Send 'txt' using reliable text protocol\n" - " --testframes Send testframe instead of coded speech. " - "Number of testsframes depends on\n" - " length of speech input file\n" - " --txbpf 0|1 Bandpass filter\n" - "\n", - argv[0], f2020); - fprintf(stderr, "example: $ %s 1600 hts1a.raw hts1a_fdmdv.raw\n", argv[0]); - exit(1); - } - - use_testframes = 0; - use_clip = 0; - use_txbpf = 1; - use_reliabletext = 0; - - int o = 0; - int opt_idx = 0; - while (o != -1) { - static struct option long_opts[] = { - {"clip", required_argument, 0, 'l'}, - {"help", no_argument, 0, 'h'}, - {"reliabletext", required_argument, 0, 'r'}, - {"testframes", no_argument, 0, 't'}, - {"txbpf", required_argument, 0, 'b'}, - {0, 0, 0, 0}}; - - o = getopt_long(argc, argv, "l:dhr:tb:", long_opts, &opt_idx); - - switch (o) { - case 'b': - use_txbpf = atoi(optarg); - break; - case 'l': - use_clip = atoi(optarg); - break; - case 'r': - use_reliabletext = 1; - callsign = optarg; - break; - case 't': - use_testframes = 1; - break; - case 'h': - case '?': - goto helpmsg; - break; - } - } - int dx = optind; - - if ((argc - dx) < 3) { - fprintf(stderr, "too few arguments.\n"); - goto helpmsg; - } - - mode = -1; - if (!strcmp(argv[dx], "1600")) mode = FREEDV_MODE_1600; - if (!strcmp(argv[dx], "700C")) mode = FREEDV_MODE_700C; - if (!strcmp(argv[dx], "700D")) mode = FREEDV_MODE_700D; - if (!strcmp(argv[dx], "700E")) mode = FREEDV_MODE_700E; - if (!strcmp(argv[dx], "2400A")) mode = FREEDV_MODE_2400A; - if (!strcmp(argv[dx], "2400B")) mode = FREEDV_MODE_2400B; - if (!strcmp(argv[dx], "800XA")) mode = FREEDV_MODE_800XA; -#ifdef __LPCNET__ - if (!strcmp(argv[dx], "2020")) mode = FREEDV_MODE_2020; - if (!strcmp(argv[dx], "2020B")) mode = FREEDV_MODE_2020B; -#endif - if (mode == -1) { - fprintf(stderr, "Error in mode: %s\n", argv[dx]); - exit(1); - } - - if (strcmp(argv[dx + 1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[dx + 1], "rb")) == NULL) { - fprintf(stderr, "Error opening input raw speech sample file: %s: %s.\n", - argv[dx + 1], strerror(errno)); - exit(1); - } - - if (strcmp(argv[dx + 2], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[dx + 2], "wb")) == NULL) { - fprintf(stderr, "Error opening output modem sample file: %s: %s.\n", - argv[dx + 2], strerror(errno)); - exit(1); - } - - freedv = freedv_open(mode); - assert(freedv != NULL); - - /* these are all optional ------------------ */ - freedv_set_test_frames(freedv, use_testframes); - freedv_set_clip(freedv, use_clip); - freedv_set_tx_bpf(freedv, use_txbpf); - freedv_set_verbose(freedv, 1); - freedv_set_eq(freedv, true); /* for 700C/D/E & 800XA */ - - if (use_reliabletext) { - reliable_text_obj = reliable_text_create(); - assert(reliable_text_obj != NULL); - reliable_text_set_string(reliable_text_obj, callsign, strlen(callsign)); - reliable_text_use_with_freedv(reliable_text_obj, freedv, - on_reliable_text_rx, NULL); - } else { - /* set up callback for txt msg chars */ - struct my_callback_state my_cb_state; - sprintf(my_cb_state.tx_str, "cq cq cq hello world\r"); - my_cb_state.ptx_str = my_cb_state.tx_str; - my_cb_state.calls = 0; - freedv_set_callback_txt(freedv, NULL, &my_get_next_tx_char, &my_cb_state); - } - - /* handy functions to set buffer sizes, note tx/modulator always - returns freedv_get_n_nom_modem_samples() (unlike rx side) */ - int n_speech_samples = freedv_get_n_speech_samples(freedv); - short speech_in[n_speech_samples]; - int n_nom_modem_samples = freedv_get_n_nom_modem_samples(freedv); - short mod_out[n_nom_modem_samples]; - - /* OK main loop --------------------------------------- */ - - while (fread(speech_in, sizeof(short), n_speech_samples, fin) == - n_speech_samples) { - freedv_tx(freedv, mod_out, speech_in); - fwrite(mod_out, sizeof(short), n_nom_modem_samples, fout); - - /* if using pipes we don't want the usual buffering to occur */ - if (fout == stdout) fflush(stdout); - } - - freedv_close(freedv); - if (use_reliabletext) reliable_text_destroy(reliable_text_obj); - fclose(fin); - fclose(fout); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_vhf_framing.c b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_vhf_framing.c deleted file mode 100644 index d596025..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_vhf_framing.c +++ /dev/null @@ -1,871 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fsk.c - AUTHOR......: Brady O'Brien - DATE CREATED: 11 February 2016 - - Framer and deframer for VHF FreeDV modes 'A' and 'B' - Currently designed for- - * 40ms ota modem frames - * 40ms Codec2 1300 frames - * 52 bits of Codec2 per frame - * 16 bits of unique word per frame - * 28 'spare' bits per frame - * - 4 spare bits at front and end of frame (8 total) for padding - * - 20 'protocol' bits, either for higher layers of 'protocol' or - * - 18 'protocol' bits and 2 vericode sidechannel bits - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "freedv_vhf_framing.h" - -#include -#include -#include -#include -#include - -#include "freedv_api_internal.h" - -/* The voice UW of the VHF type A frame */ -static const uint8_t A_uw_v[] = {0, 1, 1, 0, 0, 1, 1, 1, - 1, 0, 1, 0, 1, 1, 0, 1}; - -/* The data UW of the VHF type A frame */ -static const uint8_t A_uw_d[] = {1, 1, 1, 1, 0, 0, 0, 1, - 1, 1, 1, 1, 1, 1, 0, 0}; - -/* Blank VHF type A frame */ -static const uint8_t A_blank[] = { - 1, 0, 1, 0, 0, 1, 1, 1, /* Padding[0:3] Proto[0:3] */ - 1, 0, 1, 0, 0, 1, 1, 1, /* Proto[4:11] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice[0:7] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice[8:15] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice[16:23] */ - 0, 1, 1, 0, 0, 1, 1, 1, /* UW[0:7] */ - 1, 0, 1, 0, 1, 1, 0, 1, /* UW[8:15] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice[24:31] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice[32:39] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice[40:47] */ - 0, 0, 0, 0, 0, 0, 1, 0, /* Voice[48:51] Proto[12:15] */ - 0, 1, 1, 1, 0, 0, 1, 0}; /* Proto[16:19] Padding[4:7] */ - -/* Blank VHF type AT (A for TDMA; padding bits not transmitted) frame */ -static const uint8_t AT_blank[] = { - 0, 1, 1, 1, /* Proto[0:3] */ - 1, 0, 1, 0, 0, 1, 1, 1, /* Proto[4:11] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice[0:7] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice[8:15] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice[16:23] */ - 0, 1, 1, 0, 0, 1, 1, 1, /* UW[0:7] */ - 1, 0, 1, 0, 1, 1, 0, 1, /* UW[8:15] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice[24:31] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice[32:39] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice[40:47] */ - 0, 0, 0, 0, 0, 0, 1, 0, /* Voice[48:51] Proto[12:15] */ - 0, 1, 1, 1}; /* Proto[16:19] */ - -/* HF Type B voice UW */ -static const uint8_t B_uw_v[] = {0, 1, 1, 0, 0, 1, 1, 1}; - -/* HF Type B data UW */ -static const uint8_t B_uw_d[] = {1, 1, 1, 1, 0, 0, 1, 0}; - -/* Blank HF type B frame */ -static const uint8_t B_blank[] = { - 0, 1, 1, 0, 0, 1, 1, 1, /* UW[0:7] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice1[0:7] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice1[8:15] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice1[16:23] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice1[24:28] Voice2[0:3] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice2[4:11] */ - 0, 0, 0, 0, 0, 0, 0, 0, /* Voice2[12:19] */ - 0, 0, 0, 0, 0, 0, 0, 0}; /* Voice2[20:28] */ - -/* States */ -#define ST_NOSYNC 0 /* Not synchronized */ -#define ST_SYNC 1 /* Synchronized */ - -/* Get a single bit out of an MSB-first packed byte array */ -#define UNPACK_BIT_MSBFIRST(bytes, bitidx) \ - ((bytes)[(bitidx) >> 3] >> (7 - ((bitidx)&0x7))) & 0x1 - -enum frame_payload_type { - FRAME_PAYLOAD_TYPE_VOICE, - FRAME_PAYLOAD_TYPE_DATA, -}; - -/* Place codec and other bits into a frame */ -void fvhff_frame_bits(int frame_type, uint8_t bits_out[], uint8_t codec2_in[], - uint8_t proto_in[], uint8_t vc_in[]) { - int i, ibit; - if (frame_type == FREEDV_VHF_FRAME_A) { - /* Fill out frame with blank frame prototype */ - for (i = 0; i < 96; i++) bits_out[i] = A_blank[i]; - - /* Fill in protocol bits, if present */ - if (proto_in != NULL) { - ibit = 0; - /* First half of protocol bits */ - /* Extract and place in frame, MSB first */ - for (i = 4; i < 16; i++) { - bits_out[i] = UNPACK_BIT_MSBFIRST(proto_in, ibit); - ibit++; - } - /* Last set of protocol bits */ - for (i = 84; i < 92; i++) { - bits_out[i] = UNPACK_BIT_MSBFIRST(proto_in, ibit); - ibit++; - } - } - - /* Fill in varicode bits, if present */ - if (vc_in != NULL) { - bits_out[90] = vc_in[0]; - bits_out[91] = vc_in[1]; - } - - /* Fill in codec2 bits, present or not */ - ibit = 0; - for (i = 16; i < 40; i++) { /* First half */ - bits_out[i] = UNPACK_BIT_MSBFIRST(codec2_in, ibit); - ibit++; - } - for (i = 56; i < 84; i++) { /* Second half */ - bits_out[i] = UNPACK_BIT_MSBFIRST(codec2_in, ibit); - ibit++; - } - } else if (frame_type == FREEDV_HF_FRAME_B) { - /* Pointers to both c2 frames so the bit unpack macro works */ - uint8_t *codec2_in1 = &codec2_in[0]; - uint8_t *codec2_in2 = &codec2_in[4]; - /* Fill out frame with blank prototype */ - for (i = 0; i < 64; i++) bits_out[i] = B_blank[i]; - - /* Fill out first codec2 block */ - ibit = 0; - for (i = 8; i < 36; i++) { - bits_out[i] = UNPACK_BIT_MSBFIRST(codec2_in1, ibit); - ibit++; - } - /* Fill out second codec2 block */ - ibit = 0; - for (i = 36; i < 64; i++) { - bits_out[i] = UNPACK_BIT_MSBFIRST(codec2_in2, ibit); - ibit++; - } - } else if (frame_type == FREEDV_VHF_FRAME_AT) { - /* Fill out frame with blank frame prototype */ - for (i = 0; i < 88; i++) bits_out[i] = AT_blank[i]; - - /* Fill in protocol bits, if present */ - if (proto_in != NULL) { - ibit = 0; - /* First half of protocol bits */ - /* Extract and place in frame, MSB first */ - for (i = 0; i < 12; i++) { - bits_out[i] = UNPACK_BIT_MSBFIRST(proto_in, ibit); - ibit++; - } - /* Last set of protocol bits */ - for (i = 80; i < 88; i++) { - bits_out[i] = UNPACK_BIT_MSBFIRST(proto_in, ibit); - ibit++; - } - } - - /* Fill in varicode bits, if present */ - if (vc_in != NULL) { - bits_out[86] = vc_in[0]; - bits_out[87] = vc_in[1]; - } - - /* Fill in codec2 bits, present or not */ - ibit = 0; - for (i = 12; i < 36; i++) { /* First half */ - bits_out[i] = UNPACK_BIT_MSBFIRST(codec2_in, ibit); - ibit++; - } - for (i = 52; i < 80; i++) { /* Second half */ - bits_out[i] = UNPACK_BIT_MSBFIRST(codec2_in, ibit); - ibit++; - } - } -} - -/* Place data and other bits into a frame */ -void fvhff_frame_data_bits(struct freedv_vhf_deframer *def, int frame_type, - uint8_t bits_out[]) { - int i, ibit; - if (frame_type == FREEDV_VHF_FRAME_A) { - uint8_t data[8]; - int end_bits; - int from_bit; - int bcast_bit; - int crc_bit; - - /* Fill out frame with blank frame prototype */ - for (i = 0; i < 4; i++) bits_out[i] = A_blank[i]; - for (i = 92; i < 96; i++) bits_out[i] = A_blank[i]; - - /* UW data */ - for (i = 0; i < 16; i++) bits_out[40 + i] = A_uw_d[i]; - - if (def->fdc) - freedv_data_channel_tx_frame(def->fdc, data, 8, &from_bit, &bcast_bit, - &crc_bit, &end_bits); - else - return; - - bits_out[4] = from_bit; - bits_out[5] = bcast_bit; - bits_out[6] = 0; /* unused */ - bits_out[7] = 0; /* unused */ - - /* Fill in data bits */ - ibit = 0; - for (i = 8; i < 40; i++) { /* First half */ - bits_out[i] = UNPACK_BIT_MSBFIRST(data, ibit); - ibit++; - } - for (i = 56; i < 88; i++) { /* Second half */ - bits_out[i] = UNPACK_BIT_MSBFIRST(data, ibit); - ibit++; - } - - for (i = 0; i < 4; i++) bits_out[88 + i] = (end_bits >> (3 - i)) & 0x1; - } else if (frame_type == FREEDV_HF_FRAME_B) { - uint8_t data[6]; - int end_bits; - int from_bit; - int bcast_bit; - int crc_bit; - - /* Fill out frame with blank prototype */ - for (i = 0; i < 64; i++) bits_out[i] = B_blank[i]; - - /* UW data */ - for (i = 0; i < 8; i++) bits_out[0 + i] = B_uw_d[i]; - - if (def->fdc) - freedv_data_channel_tx_frame(def->fdc, data, 6, &from_bit, &bcast_bit, - &crc_bit, &end_bits); - else - return; - - bits_out[56] = from_bit; - bits_out[57] = bcast_bit; - bits_out[58] = crc_bit; - bits_out[59] = 0; /* unused */ - - /* Fill in data bits */ - ibit = 0; - for (i = 8; i < 56; i++) { /* First half */ - bits_out[i] = UNPACK_BIT_MSBFIRST(data, ibit); - ibit++; - } - for (i = 0; i < 4; i++) bits_out[60 + i] = (end_bits >> (3 - i)) & 0x1; - } -} - -/* Init and allocate memory for a freedv-vhf framer/deframer */ -struct freedv_vhf_deframer *fvhff_create_deframer(uint8_t frame_type, - int enable_bit_flip) { - struct freedv_vhf_deframer *deframer; - uint8_t *bits, *invbits; - int frame_size; - int uw_size; - - assert((frame_type == FREEDV_VHF_FRAME_A) || - (frame_type == FREEDV_HF_FRAME_B)); - - /* It's a Type A frame */ - if (frame_type == FREEDV_VHF_FRAME_A) { - frame_size = 96; - uw_size = 16; - } else if (frame_type == FREEDV_HF_FRAME_B) { - frame_size = 64; - uw_size = 8; - } else { - return NULL; - } - - /* Allocate memory for the thing */ - deframer = malloc(sizeof(struct freedv_vhf_deframer)); - if (deframer == NULL) return NULL; - - /* Allocate the not-bit buffer */ - if (enable_bit_flip) { - invbits = malloc(sizeof(uint8_t) * frame_size); - if (invbits == NULL) { - free(deframer); - return NULL; - } - } else { - invbits = NULL; - } - - /* Allocate the bit buffer */ - bits = malloc(sizeof(uint8_t) * frame_size); - if (bits == NULL) { - free(deframer); - return NULL; - } - - deframer->bits = bits; - deframer->invbits = invbits; - deframer->ftype = frame_type; - deframer->state = ST_NOSYNC; - deframer->bitptr = 0; - deframer->last_uw = 0; - deframer->miss_cnt = 0; - deframer->frame_size = frame_size; - deframer->uw_size = uw_size; - deframer->on_inv_bits = 0; - deframer->sym_size = 1; - - deframer->ber_est = 0; - deframer->total_uw_bits = 0; - deframer->total_uw_err = 0; - - deframer->fdc = NULL; - - return deframer; -} - -/* Get size of frame in bits */ -int fvhff_get_frame_size(struct freedv_vhf_deframer *def) { - return def->frame_size; -} - -/* Codec2 size in bytes */ -int fvhff_get_codec2_size(struct freedv_vhf_deframer *def) { - if (def->ftype == FREEDV_VHF_FRAME_A) { - return 7; - } else if (def->ftype == FREEDV_HF_FRAME_B) { - return 8; - } else { - return 0; - } -} - -/* Protocol bits in bits */ -int fvhff_get_proto_size(struct freedv_vhf_deframer *def) { - if (def->ftype == FREEDV_VHF_FRAME_A) { - return 20; - } else if (def->ftype == FREEDV_HF_FRAME_B) { - return 0; - } else { - return 0; - } -} - -/* Varicode bits in bits */ -int fvhff_get_varicode_size(struct freedv_vhf_deframer *def) { - if (def->ftype == FREEDV_VHF_FRAME_A) { - return 2; - } else if (def->ftype == FREEDV_HF_FRAME_B) { - return 0; - } else { - return 0; - } -} - -void fvhff_destroy_deframer(struct freedv_vhf_deframer *def) { - freedv_data_channel_destroy(def->fdc); - free(def->bits); - free(def); -} - -int fvhff_synchronized(struct freedv_vhf_deframer *def) { - return (def->state) == ST_SYNC; -} - -/* Search for a complete UW in a buffer of bits */ -size_t fvhff_search_uw(const uint8_t bits[], size_t nbits, const uint8_t uw[], - size_t uw_len, size_t *delta_out, size_t bits_per_sym) { - size_t ibits, iuw; - size_t delta_min = uw_len; - size_t delta; - size_t offset_min = 0; - /* Walk through buffer bits */ - for (ibits = 0; ibits < nbits - uw_len; ibits += bits_per_sym) { - delta = 0; - for (iuw = 0; iuw < uw_len; iuw++) { - if (bits[ibits + iuw] != uw[iuw]) delta++; - } - if (delta < delta_min) { - delta_min = delta; - offset_min = ibits; - } - } - if (delta_out != NULL) *delta_out = delta_min; - return offset_min; -} - -/* See if the UW is where it should be, to within a tolerance, in a bit buffer - */ -static int fvhff_match_uw(struct freedv_vhf_deframer *def, uint8_t bits[], - int tol, int *rdiff, enum frame_payload_type *pt) { - int frame_type = def->ftype; - int bitptr = def->bitptr; - int frame_size = def->frame_size; - int uw_len = def->uw_size; - int iuw, ibit; - const uint8_t *uw[2]; - int uw_offset; - int diff[2] = {0, 0}; - int i; - int match[2]; - int r; - - /* defaults to make compiler happy on -O3 */ - - *pt = FRAME_PAYLOAD_TYPE_VOICE; - *rdiff = 0; - - /* Set up parameters for the standard type of frame */ - if (frame_type == FREEDV_VHF_FRAME_A) { - uw[0] = A_uw_v; - uw[1] = A_uw_d; - uw_len = 16; - uw_offset = 40; - } else if (frame_type == FREEDV_HF_FRAME_B) { - uw[0] = B_uw_v; - uw[1] = B_uw_d; - uw_len = 8; - uw_offset = 0; - } else { - return 0; - } - - /* Check both the voice and data UWs */ - for (i = 0; i < 2; i++) { - /* Start bit pointer where UW should be */ - ibit = bitptr + uw_offset; - if (ibit >= frame_size) ibit -= frame_size; - /* Walk through and match bits in frame with bits of UW */ - for (iuw = 0; iuw < uw_len; iuw++) { - if (bits[ibit] != uw[i][iuw]) diff[i]++; - ibit++; - if (ibit >= frame_size) ibit = 0; - } - match[i] = diff[i] <= tol; - // fprintf(stderr, "diff[%d]: %d tol: %d\n", i, diff[i], tol); - } - /* Pick the best matching UW */ - - if (diff[0] < diff[1]) { - r = match[0]; - *rdiff = diff[0]; - *pt = FRAME_PAYLOAD_TYPE_VOICE; - } else { - r = match[1]; - *rdiff = diff[1]; - *pt = FRAME_PAYLOAD_TYPE_DATA; - } - - return r; -} - -static void fvhff_extract_frame_voice(struct freedv_vhf_deframer *def, - uint8_t bits[], uint8_t codec2_out[], - uint8_t proto_out[], uint8_t vc_out[]) { - int frame_type = def->ftype; - int bitptr = def->bitptr; - int frame_size = def->frame_size; - int iframe, ibit; - - if (frame_type == FREEDV_VHF_FRAME_A) { - /* Extract codec2 bits */ - memset(codec2_out, 0, 7); - ibit = 0; - /* Extract and pack first half, MSB first */ - iframe = bitptr + 16; - if (iframe >= frame_size) iframe -= frame_size; - for (; ibit < 24; ibit++) { - codec2_out[ibit >> 3] |= (bits[iframe] & 0x1) << (7 - (ibit & 0x7)); - iframe++; - if (iframe >= frame_size) iframe = 0; - } - - /* Extract and pack last half, MSB first */ - iframe = bitptr + 56; - if (iframe >= frame_size) iframe -= frame_size; - for (; ibit < 52; ibit++) { - codec2_out[ibit >> 3] |= (bits[iframe] & 0x1) << (7 - (ibit & 0x7)); - iframe++; - if (iframe >= frame_size) iframe = 0; - } - /* Extract varicode bits, if wanted */ - if (vc_out != NULL) { - iframe = bitptr + 90; - if (iframe >= frame_size) iframe -= frame_size; - vc_out[0] = bits[iframe]; - iframe++; - vc_out[1] = bits[iframe]; - } - /* Extract protocol bits, if proto is passed through */ - if (proto_out != NULL) { - /* Clear protocol bit array */ - memset(proto_out, 0, 3); - ibit = 0; - /* Extract and pack first half, MSB first */ - iframe = bitptr + 4; - if (iframe >= frame_size) iframe -= frame_size; - for (; ibit < 12; ibit++) { - proto_out[ibit >> 3] |= (bits[iframe] & 0x1) << (7 - (ibit & 0x7)); - iframe++; - if (iframe >= frame_size) iframe = 0; - } - - /* Extract and pack last half, MSB first */ - iframe = bitptr + 84; - if (iframe >= frame_size) iframe -= frame_size; - for (; ibit < 20; ibit++) { - proto_out[ibit >> 3] |= (bits[iframe] & 0x1) << (7 - (ibit & 0x7)); - iframe++; - if (iframe >= frame_size) iframe = 0; - } - } - - } else if (frame_type == FREEDV_HF_FRAME_B) { - /* Pointers to both c2 frames */ - uint8_t *codec2_out1 = &codec2_out[0]; - uint8_t *codec2_out2 = &codec2_out[4]; - - /* Extract codec2 bits */ - memset(codec2_out, 0, 8); - ibit = 0; - - /* Extract and pack first c2 frame, MSB first */ - iframe = bitptr + 8; - if (iframe >= frame_size) iframe -= frame_size; - for (; ibit < 28; ibit++) { - codec2_out1[ibit >> 3] |= (bits[iframe] & 0x1) << (7 - (ibit & 0x7)); - iframe++; - if (iframe >= frame_size) iframe = 0; - } - - /* Extract and pack second c2 frame, MSB first */ - iframe = bitptr + 36; - ibit = 0; - if (iframe >= frame_size) iframe -= frame_size; - for (; ibit < 28; ibit++) { - codec2_out2[ibit >> 3] |= (bits[iframe] & 0x1) << (7 - (ibit & 0x7)); - iframe++; - if (iframe >= frame_size) iframe = 0; - } - } else if (frame_type == FREEDV_VHF_FRAME_AT) { - /* Extract codec2 bits */ - memset(codec2_out, 0, 7); - ibit = 0; - /* Extract and pack first half, MSB first */ - iframe = bitptr + 12; - if (iframe >= frame_size) iframe -= frame_size; - for (; ibit < 24; ibit++) { - codec2_out[ibit >> 3] |= (bits[iframe] & 0x1) << (7 - (ibit & 0x7)); - iframe++; - if (iframe >= frame_size) iframe = 0; - } - - /* Extract and pack last half, MSB first */ - iframe = bitptr + 52; - if (iframe >= frame_size) iframe -= frame_size; - for (; ibit < 52; ibit++) { - codec2_out[ibit >> 3] |= (bits[iframe] & 0x1) << (7 - (ibit & 0x7)); - iframe++; - if (iframe >= frame_size) iframe = 0; - } - /* Extract varicode bits, if wanted */ - if (vc_out != NULL) { - iframe = bitptr + 86; - if (iframe >= frame_size) iframe -= frame_size; - vc_out[0] = bits[iframe]; - iframe++; - vc_out[1] = bits[iframe]; - } - /* Extract protocol bits, if proto is passed through */ - if (proto_out != NULL) { - /* Clear protocol bit array */ - memset(proto_out, 0, 3); - ibit = 0; - /* Extract and pack first half, MSB first */ - iframe = bitptr + 4; - if (iframe >= frame_size) iframe -= frame_size; - for (; ibit < 12; ibit++) { - proto_out[ibit >> 3] |= (bits[iframe] & 0x1) << (7 - (ibit & 0x7)); - iframe++; - if (iframe >= frame_size) iframe = 0; - } - - /* Extract and pack last half, MSB first */ - iframe = bitptr + 84; - if (iframe >= frame_size) iframe -= frame_size; - for (; ibit < 20; ibit++) { - proto_out[ibit >> 3] |= (bits[iframe] & 0x1) << (7 - (ibit & 0x7)); - iframe++; - if (iframe >= frame_size) iframe = 0; - } - } - } -} - -static void fvhff_extract_frame_data(struct freedv_vhf_deframer *def, - uint8_t bits[]) { - int frame_type = def->ftype; - int bitptr = def->bitptr; - int frame_size = def->frame_size; - int iframe, ibit; - - if (frame_type == FREEDV_VHF_FRAME_A) { - uint8_t data[8]; - int end_bits = 0; - int from_bit; - int bcast_bit; - - iframe = bitptr + 4; - if (iframe >= frame_size) iframe -= frame_size; - from_bit = bits[iframe]; - iframe++; - if (iframe >= frame_size) iframe -= frame_size; - bcast_bit = bits[iframe]; - - /* Extract data bits */ - memset(data, 0, 8); - ibit = 0; - /* Extract and pack first half, MSB first */ - iframe = bitptr + 8; - if (iframe >= frame_size) iframe -= frame_size; - for (; ibit < 32; ibit++) { - data[ibit >> 3] |= (bits[iframe] & 0x1) << (7 - (ibit & 0x7)); - iframe++; - if (iframe >= frame_size) iframe = 0; - } - - /* Extract and pack last half, MSB first */ - iframe = bitptr + 56; - if (iframe >= frame_size) iframe -= frame_size; - for (; ibit < 64; ibit++) { - data[ibit >> 3] |= (bits[iframe] & 0x1) << (7 - (ibit & 0x7)); - iframe++; - if (iframe >= frame_size) iframe = 0; - } - - /* Extract endbits value, MSB first*/ - iframe = bitptr + 88; - ibit = 0; - if (iframe >= frame_size) iframe -= frame_size; - for (; ibit < 4; ibit++) { - end_bits |= (bits[iframe] & 0x1) << (3 - (ibit)); - iframe++; - if (iframe >= frame_size) iframe = 0; - } - - if (def->fdc) { - freedv_data_channel_rx_frame(def->fdc, data, 8, from_bit, bcast_bit, 0, - end_bits); - } - } else if (frame_type == FREEDV_HF_FRAME_B) { - uint8_t data[6]; - int end_bits = 0; - int from_bit; - int bcast_bit; - int crc_bit; - - ibit = 0; - memset(data, 0, 6); - - /* Extract and pack first c2 frame, MSB first */ - iframe = bitptr + 8; - if (iframe >= frame_size) iframe -= frame_size; - for (; ibit < 48; ibit++) { - data[ibit >> 3] |= (bits[iframe] & 0x1) << (7 - (ibit & 0x7)); - iframe++; - if (iframe >= frame_size) iframe = 0; - } - - iframe = bitptr + 56; - if (iframe >= frame_size) iframe -= frame_size; - from_bit = bits[iframe]; - iframe++; - if (iframe >= frame_size) iframe -= frame_size; - bcast_bit = bits[iframe]; - iframe++; - if (iframe >= frame_size) iframe -= frame_size; - crc_bit = bits[iframe]; - - /* Extract endbits value, MSB first*/ - iframe = bitptr + 60; - ibit = 0; - if (iframe >= frame_size) iframe -= frame_size; - for (; ibit < 4; ibit++) { - end_bits |= (bits[iframe] & 0x1) << (3 - (ibit)); - iframe++; - if (iframe >= frame_size) iframe = 0; - } - - if (def->fdc) { - freedv_data_channel_rx_frame(def->fdc, data, 6, from_bit, bcast_bit, - crc_bit, end_bits); - } - } -} - -static void fvhff_extract_frame(struct freedv_vhf_deframer *def, uint8_t bits[], - uint8_t codec2_out[], uint8_t proto_out[], - uint8_t vc_out[], enum frame_payload_type pt) { - switch (pt) { - case FRAME_PAYLOAD_TYPE_VOICE: - fvhff_extract_frame_voice(def, bits, codec2_out, proto_out, vc_out); - break; - case FRAME_PAYLOAD_TYPE_DATA: - fvhff_extract_frame_data(def, bits); - break; - } -} - -/* - * Try to find the UW and extract codec/proto/vc bits in def->frame_size bits - */ -int fvhff_deframe_bits(struct freedv_vhf_deframer *def, uint8_t codec2_out[], - uint8_t proto_out[], uint8_t vc_out[], - uint8_t bits_in[]) { - uint8_t *strbits = def->bits; - uint8_t *invbits = def->invbits; - uint8_t *bits; - int on_inv_bits = def->on_inv_bits; - int frame_type = def->ftype; - int state = def->state; - int bitptr = def->bitptr; - int last_uw = def->last_uw; - int miss_cnt = def->miss_cnt; - int frame_size = def->frame_size; - int uw_size = def->uw_size; - int uw_diff; - int i; - int uw_first_tol; - int uw_sync_tol; - int miss_tol; - int extracted_frame = 0; - enum frame_payload_type pt = FRAME_PAYLOAD_TYPE_VOICE; - - /* Possibly set up frame-specific params here */ - if (frame_type == FREEDV_VHF_FRAME_A) { - uw_first_tol = 1; /* The UW bit-error tolerance for the first frame */ - uw_sync_tol = 3; /* The UW bit error tolerance for frames after sync */ - miss_tol = 4; /* How many UWs may be missed before going into the de-synced - state */ - } else if (frame_type == FREEDV_HF_FRAME_B) { - uw_first_tol = 0; /* The UW bit-error tolerance for the first frame */ - uw_sync_tol = 1; /* The UW bit error tolerance for frames after sync */ - miss_tol = 3; /* How many UWs may be missed before going into the de-synced - state */ - } else { - return 0; - } - - /* Skip N bits for multi-bit symbol modems */ - for (i = 0; i < frame_size; i++) { - /* Put a bit in the buffer */ - strbits[bitptr] = bits_in[i]; - /* If we're checking the inverted bitstream, put a bit in it */ - if (invbits != NULL) invbits[bitptr] = bits_in[i] ? 0 : 1; - - bitptr++; - if (bitptr >= frame_size) bitptr -= frame_size; - def->bitptr = bitptr; - /* Enter state machine */ - if (state == ST_SYNC) { - /* Already synchronized, just wait till UW is back where it should be */ - last_uw++; - if (invbits != NULL) { - if (on_inv_bits) - bits = invbits; - else - bits = strbits; - } else { - bits = strbits; - } - /* UW should be here. We're sunk, so deframe anyway */ - if (last_uw == frame_size) { - last_uw = 0; - - if (!fvhff_match_uw(def, bits, uw_sync_tol, &uw_diff, &pt)) - miss_cnt++; - else - miss_cnt = 0; - - /* If we go over the miss tolerance, go into no-sync */ - if (miss_cnt > miss_tol) { - state = ST_NOSYNC; - } - /* Extract the bits */ - extracted_frame = 1; - fvhff_extract_frame(def, bits, codec2_out, proto_out, vc_out, pt); - - /* Update BER estimate */ - def->ber_est = (.995 * def->ber_est) + - (.005 * ((float)uw_diff) / ((float)uw_size)); - def->total_uw_bits += uw_size; - def->total_uw_err += uw_diff; - } - /* Not yet sunk */ - } else { - /* It's a sync!*/ - if (invbits != NULL) { - if (fvhff_match_uw(def, invbits, uw_first_tol, &uw_diff, &pt)) { - state = ST_SYNC; - last_uw = 0; - miss_cnt = 0; - extracted_frame = 1; - on_inv_bits = 1; - fvhff_extract_frame(def, invbits, codec2_out, proto_out, vc_out, pt); - /* Update BER estimate */ - def->ber_est = (.995 * def->ber_est) + - (.005 * ((float)uw_diff) / ((float)uw_size)); - def->total_uw_bits += uw_size; - def->total_uw_err += uw_diff; - } - } - if (fvhff_match_uw(def, strbits, uw_first_tol, &uw_diff, &pt)) { - state = ST_SYNC; - last_uw = 0; - miss_cnt = 0; - extracted_frame = 1; - on_inv_bits = 0; - fvhff_extract_frame(def, strbits, codec2_out, proto_out, vc_out, pt); - /* Update BER estimate */ - def->ber_est = (.995 * def->ber_est) + - (.005 * ((float)uw_diff) / ((float)uw_size)); - def->total_uw_bits += uw_size; - def->total_uw_err += uw_diff; - } - } - } - def->state = state; - def->last_uw = last_uw; - def->miss_cnt = miss_cnt; - def->on_inv_bits = on_inv_bits; - /* return sync state and presence of extracted voice bits. - only sync for data frames, they are already handled by callback */ - return (extracted_frame ? FREEDV_RX_SYNC : 0) | - (pt == FRAME_PAYLOAD_TYPE_VOICE ? FREEDV_RX_BITS : 0); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_vhf_framing.h b/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_vhf_framing.h deleted file mode 100644 index 6f18d33..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/freedv_vhf_framing.h +++ /dev/null @@ -1,105 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: freedv_vhf_framing.h - AUTHOR......: Brady O'Brien - DATE CREATED: 11 February 2016 - - Framer and deframer for VHF FreeDV modes 'A' and 'B' - Currently designed for- - * 40ms ota modem frames - * 40ms Codec2 1300 frames - * 52 bits of Codec2 per frame - * 16 bits of unique word per frame - * 28 'spare' bits per frame - * - 4 spare bits at front and end of frame (8 total) for padding - * - 20 'protocol' bits, either for higher layers of 'protocol' or - * - 18 'protocol' bits and 2 vericode sidechannel bits - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef _FREEDV_VHF_FRAMING_H -#define _FREEDV_VHF_FRAMING_H - -#include - -#include "freedv_data_channel.h" - -/* Standard frame type */ -#define FREEDV_VHF_FRAME_A 1 /* 2400A/B Frame */ -#define FREEDV_HF_FRAME_B 2 /* 800XA Frame */ -#define FREEDV_VHF_FRAME_AT 3 /* 4800T Frame */ - -struct freedv_vhf_deframer { - int ftype; /* Type of frame to be looking for */ - int state; /* State of deframer */ - uint8_t *bits; /* Bits currently being decanted */ - uint8_t *invbits; /* Inversion of bits currently being decanted, for FMFSK */ - - int bitptr; /* Pointer into circular bit buffer */ - int miss_cnt; /* How many UWs have been missed */ - int last_uw; /* How many bits since the last UW? */ - int frame_size; /* How big is a frame? */ - int uw_size; /* How big is the UW */ - int on_inv_bits; /* Are we using the inverted bits? */ - int sym_size; /* How many bits in a modem symbol */ - - float ber_est; /* Bit error rate estimate */ - int total_uw_bits; /* Total RX-ed bits of UW */ - int total_uw_err; /* Total errors in UW bits */ - - struct freedv_data_channel *fdc; -}; - -/* Init and allocate memory for a freedv-vhf framer/deframer */ -struct freedv_vhf_deframer *fvhff_create_deframer(uint8_t frame_type, - int enable_bit_flip); - -/* Get size of various frame parameters */ -/* Frame size in bits */ -int fvhff_get_frame_size(struct freedv_vhf_deframer *def); -/* Codec2 size in bytes */ -int fvhff_get_codec2_size(struct freedv_vhf_deframer *def); -/* Protocol bits in bits */ -int fvhff_get_proto_size(struct freedv_vhf_deframer *def); -/* Varicode bits in bits */ -int fvhff_get_varicode_size(struct freedv_vhf_deframer *def); - -/* Free the memory used by a freedv-vhf framer/deframer */ -void fvhff_destroy_deframer(struct freedv_vhf_deframer *def); - -/* Place codec and other bits into a frame */ -void fvhff_frame_bits(int frame_type, uint8_t bits_out[], uint8_t codec2_in[], - uint8_t proto_in[], uint8_t vc_in[]); -void fvhff_frame_data_bits(struct freedv_vhf_deframer *def, int frame_type, - uint8_t bits_out[]); - -/* Find and extract frames from a stream of bits */ -int fvhff_deframe_bits(struct freedv_vhf_deframer *def, uint8_t codec2_out[], - uint8_t proto_out[], uint8_t vc_out[], - uint8_t bits_in[]); - -/* Is the de-framer synchronized? */ -int fvhff_synchronized(struct freedv_vhf_deframer *def); - -/* Search for a complete UW in a buffer of bits */ -size_t fvhff_search_uw(const uint8_t bits[], size_t nbits, const uint8_t uw[], - size_t uw_len, size_t *delta_out, size_t bits_per_sym); - -#endif //_FREEDV_VHF_FRAMING_H diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fsk.c b/vendor/codec2_flutter_ios_only/src/codec2/src/fsk.c deleted file mode 100644 index fe83cc6..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fsk.c +++ /dev/null @@ -1,1060 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fsk.c - AUTHOR......: Brady O'Brien & David Rowe - DATE CREATED: 7 January 2016 - - C Implementation of 2/4FSK modulator/demodulator, based on octave/fsk_lib.m - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016-2020 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -/*---------------------------------------------------------------------------*\ - - DEFINES - -\*---------------------------------------------------------------------------*/ - -/* Define this to enable EbNodB estimate */ -/* This needs square roots, may take more cpu time than it's worth */ -#define EST_EBNO - -/* This is a flag for the freq. estimator to use a precomputed/rt computed hann - window table On platforms with slow cosf, this will produce a substantial - speedup at the cost of a small amount of memory -*/ -#define USE_HANN_TABLE - -/* This flag turns on run-time hann table generation. If USE_HANN_TABLE is - unset, this flag has no effect. If USE_HANN_TABLE is set and this flag is - set, the hann table will be allocated and generated when fsk_init or - fsk_init_hbr is called. If this flag is not set, a hann function table of - size fsk->Ndft MUST be provided. On small platforms, this can be used with a - precomputed table to save memory at the cost of flash space. -*/ -#define GENERATE_HANN_TABLE_RUNTIME - -/* Turn off table generation if on cortex M4 to save memory */ -#ifdef CORTEX_M4 -#undef USE_HANN_TABLE -#endif - -/*---------------------------------------------------------------------------*\ - - INCLUDES - -\*---------------------------------------------------------------------------*/ - -#include "fsk.h" - -#include -#include -#include -#include - -#include "comp_prim.h" -#include "kiss_fftr.h" -#include "modem_probe.h" - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS - -\*---------------------------------------------------------------------------*/ - -static void stats_init(struct FSK *fsk); - -#ifdef USE_HANN_TABLE -/* - This is used by fsk_create and fsk_create_hbr to generate a hann function - table -*/ -static void fsk_generate_hann_table(struct FSK *fsk) { - int Ndft = fsk->Ndft; - size_t i; - - for (i = 0; i < Ndft; i++) { - fsk->hann_table[i] = - 0.5 - 0.5 * cosf(2.0 * M_PI * (float)i / (float)(Ndft - 1)); - } -} -#endif - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fsk_create_core - AUTHOR......: Brady O'Brien - DATE CREATED: 7 January 2016 - - In this version of the demod the standard/hbr modes have been - largely combined at they shared so much common code. The - fsk_create/fsk_create_hbr function interface has been retained to - maximise compatibility with existing applications. - -\*---------------------------------------------------------------------------*/ - -struct FSK *fsk_create_core(int Fs, int Rs, int M, int P, int Nsym, int f1_tx, - int tone_spacing) { - struct FSK *fsk; - int i; - - /* Check configuration validity */ - assert(Fs > 0); - assert(Rs > 0); - assert(P > 0); - assert(Nsym > 0); - /* Ts (Fs/Rs) must be an integer */ - assert((Fs % Rs) == 0); - /* Ts/P (Fs/Rs/P) must be an integer */ - assert(((Fs / Rs) % P) == 0); - /* If P is too low we don't have a good choice of timing offsets to choose - * from */ - assert(P >= 4); - assert(M == 2 || M == 4); - - fsk = (struct FSK *)calloc(1, sizeof(struct FSK)); - assert(fsk != NULL); - - // Need enough bins to within 10% of tone centre - float bin_width_Hz = 0.1 * Rs; - float Ndft = (float)Fs / bin_width_Hz; - Ndft = pow(2.0, ceil(log2(Ndft))); - - /* Set constant config parameters */ - fsk->Fs = Fs; - fsk->Rs = Rs; - fsk->Ts = Fs / Rs; - fsk->burst_mode = 0; - fsk->P = P; - fsk->Nsym = Nsym; - fsk->N = fsk->Ts * fsk->Nsym; - fsk->Ndft = Ndft; - fsk->tc = 0.1; - fsk->Nmem = fsk->N + (2 * fsk->Ts); - fsk->f1_tx = f1_tx; - fsk->tone_spacing = tone_spacing; - fsk->nin = fsk->N; - fsk->lock_nin = 0; - fsk->mode = M == 2 ? MODE_2FSK : MODE_4FSK; - fsk->Nbits = M == 2 ? fsk->Nsym : fsk->Nsym * 2; - fsk->est_min = 0; - fsk->est_max = Fs; - fsk->est_space = 0.75 * Rs; - fsk->freq_est_type = 0; - - // printf("C.....: M: %d Fs: %d Rs: %d Ts: %d nsym: %d nbit: %d N: %d Ndft: %d - // fmin: %d fmax: %d\n", - // M, fsk->Fs, fsk->Rs, fsk->Ts, fsk->Nsym, fsk->Nbits, fsk->N, - // fsk->Ndft, fsk->est_min, fsk->est_max); - /* Set up rx state */ - for (i = 0; i < M; i++) fsk->phi_c[i] = comp_exp_j(0); - fsk->f_dc = (COMP *)malloc(M * fsk->Nmem * sizeof(COMP)); - assert(fsk->f_dc != NULL); - for (i = 0; i < M * fsk->Nmem; i++) fsk->f_dc[i] = comp0(); - - fsk->fft_cfg = kiss_fft_alloc(Ndft, 0, NULL, NULL); - assert(fsk->fft_cfg != NULL); - fsk->Sf = (float *)malloc(sizeof(float) * fsk->Ndft); - assert(fsk->Sf != NULL); - for (i = 0; i < Ndft; i++) fsk->Sf[i] = 0; - -#ifdef USE_HANN_TABLE -#ifdef GENERATE_HANN_TABLE_RUNTIME - fsk->hann_table = (float *)malloc(sizeof(float) * fsk->Ndft); - assert(fsk->hann_table != NULL); - fsk_generate_hann_table(fsk); -#else - fsk->hann_table = NULL; -#endif -#endif - - fsk->norm_rx_timing = 0; - - /* Set up tx state */ - fsk->tx_phase_c = comp_exp_j(0); - - /* Set up demod stats */ - fsk->EbNodB = 0; - - for (i = 0; i < M; i++) fsk->f_est[i] = 0; - - fsk->ppm = 0; - - fsk->stats = (struct MODEM_STATS *)malloc(sizeof(struct MODEM_STATS)); - assert(fsk->stats != NULL); - stats_init(fsk); - fsk->normalise_eye = 1; - - return fsk; -} - -/*---------------------------------------------------------------------------* \ - - FUNCTION....: fsk_create - AUTHOR......: Brady O'Brien - DATE CREATED: 7 January 2016 - - Create and initialize an instance of the FSK modem. Returns a pointer - to the modem state/config struct. One modem config struct may be used - for both mod and demod. - - If you are not intending to use the modulation functions, you can - set f1_tx to FSK_NONE. - -\*---------------------------------------------------------------------------*/ - -struct FSK *fsk_create(int Fs, int Rs, int M, int tx_f1, int tx_fs) { - return fsk_create_core(Fs, Rs, M, FSK_DEFAULT_P, FSK_DEFAULT_NSYM, tx_f1, - tx_fs); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fsk_create_hbr - AUTHOR......: Brady O'Brien - DATE CREATED: 11 February 2016 - - Alternate version of create allows user defined oversampling P and - averaging window Nsym. In the current version of the demod it's - simply an alias for the default core function. - - P is the oversampling rate of the internal demod processing, which - happens at Rs*P Hz. We filter the tones at P different timing - offsets, and choose the best one. P should be >=8, so we have a - choice of at least 8 timing offsets. This may require some - adjustment of Fs and Rs, as Fs/Rs/P must be an integer. - - Nsym is the number of symbols we average demod parameters like - symbol timing over. - -\*---------------------------------------------------------------------------*/ - -struct FSK *fsk_create_hbr(int Fs, int Rs, int M, int P, int Nsym, int f1_tx, - int tone_spacing) { - return fsk_create_core(Fs, Rs, M, P, Nsym, f1_tx, tone_spacing); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fsk_destroy - AUTHOR......: Brady O'Brien - DATE CREATED: 11 February 2016 - - Call this to free all memory and shut down the modem. - -\*---------------------------------------------------------------------------*/ - -void fsk_destroy(struct FSK *fsk) { - free(fsk->Sf); - free(fsk->f_dc); - free(fsk->fft_cfg); - free(fsk->stats); - free(fsk->hann_table); - free(fsk); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fsk_mod - AUTHOR......: Brady O'Brien - DATE CREATED: 11 February 2016 - - FSK modulator function, real valued output samples with amplitude 2. - -\*---------------------------------------------------------------------------*/ - -void fsk_mod(struct FSK *fsk, float fsk_out[], uint8_t tx_bits[], int nbits) { - COMP tx_phase_c = fsk->tx_phase_c; /* Current complex TX phase */ - int f1_tx = fsk->f1_tx; /* '0' frequency */ - int tone_spacing = fsk->tone_spacing; /* space between frequencies */ - int Ts = fsk->Ts; /* samples-per-symbol */ - int Fs = fsk->Fs; /* sample freq */ - int M = fsk->mode; - COMP dosc_f[M]; /* phase shift per sample */ - COMP dph; /* phase shift of current bit */ - size_t i, j, m, bit_i, sym; - - /* trap these parameters being set to FSK_UNUSED, then calling mod */ - assert(f1_tx > 0); - assert(tone_spacing > 0); - - /* Init the per sample phase shift complex numbers */ - for (m = 0; m < M; m++) { - dosc_f[m] = comp_exp_j(2 * M_PI * - ((float)(f1_tx + (tone_spacing * m)) / (float)(Fs))); - } - - bit_i = 0; - int nsym = nbits / (M >> 1); - for (i = 0; i < nsym; i++) { - sym = 0; - /* Pack the symbol number from the bit stream */ - for (m = M; m >>= 1;) { - uint8_t bit = tx_bits[bit_i]; - bit = (bit == 1) ? 1 : 0; - sym = (sym << 1) | bit; - bit_i++; - } - /* Look up symbol phase shift */ - dph = dosc_f[sym]; - /* Spin the oscillator for a symbol period */ - for (j = 0; j < Ts; j++) { - tx_phase_c = cmult(tx_phase_c, dph); - fsk_out[i * Ts + j] = 2 * tx_phase_c.real; - } - } - - /* Normalize TX phase to prevent drift */ - tx_phase_c = comp_normalize(tx_phase_c); - - /* save TX phase */ - fsk->tx_phase_c = tx_phase_c; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fsk_mod_c - AUTHOR......: Brady O'Brien - DATE CREATED: 11 February 2016 - - FSK modulator function, complex valued output samples with magnitude 1. - -\*---------------------------------------------------------------------------*/ - -void fsk_mod_c(struct FSK *fsk, COMP fsk_out[], uint8_t tx_bits[], int nbits) { - COMP tx_phase_c = fsk->tx_phase_c; /* Current complex TX phase */ - int f1_tx = fsk->f1_tx; /* '0' frequency */ - int tone_spacing = fsk->tone_spacing; /* space between frequencies */ - int Ts = fsk->Ts; /* samples-per-symbol */ - int Fs = fsk->Fs; /* sample freq */ - int M = fsk->mode; - COMP dosc_f[M]; /* phase shift per sample */ - COMP dph; /* phase shift of current bit */ - size_t i, j, bit_i, sym; - int m; - - /* trap these parameters being set to FSK_UNUSED, then calling mod */ - assert(f1_tx > 0); - assert(tone_spacing > 0); - - /* Init the per sample phase shift complex numbers */ - for (m = 0; m < M; m++) { - dosc_f[m] = comp_exp_j(2 * M_PI * - ((float)(f1_tx + (tone_spacing * m)) / (float)(Fs))); - } - - bit_i = 0; - int nsym = nbits / (M >> 1); - for (i = 0; i < nsym; i++) { - sym = 0; - /* Pack the symbol number from the bit stream */ - for (m = M; m >>= 1;) { - uint8_t bit = tx_bits[bit_i]; - bit = (bit == 1) ? 1 : 0; - sym = (sym << 1) | bit; - bit_i++; - } - /* Look up symbol phase shift */ - dph = dosc_f[sym]; - /* Spin the oscillator for a symbol period */ - for (j = 0; j < Ts; j++) { - tx_phase_c = cmult(tx_phase_c, dph); - fsk_out[i * Ts + j] = tx_phase_c; - } - } - - /* Normalize TX phase to prevent drift */ - tx_phase_c = comp_normalize(tx_phase_c); - - /* save TX phase */ - fsk->tx_phase_c = tx_phase_c; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fsk_mod_ext_vco - AUTHOR......: David Rowe - DATE CREATED: February 2018 - - Modulator that assume an external VCO. The output is a voltage - that changes for each symbol. - -\*---------------------------------------------------------------------------*/ - -void fsk_mod_ext_vco(struct FSK *fsk, float vco_out[], uint8_t tx_bits[], - int nbits) { - int f1_tx = fsk->f1_tx; /* '0' frequency */ - int tone_spacing = fsk->tone_spacing; /* space between frequencies */ - int Ts = fsk->Ts; /* samples-per-symbol */ - int M = fsk->mode; - int i, j, m, sym, bit_i; - - /* trap these parameters being set to FSK_UNUSED, then calling mod */ - assert(f1_tx > 0); - assert(tone_spacing > 0); - - bit_i = 0; - int nsym = nbits / (M >> 1); - for (i = 0; i < nsym; i++) { - /* generate the symbol number from the bit stream, - e.g. 0,1 for 2FSK, 0,1,2,3 for 4FSK */ - - sym = 0; - - /* unpack the symbol number from the bit stream */ - - for (m = M; m >>= 1;) { - uint8_t bit = tx_bits[bit_i]; - bit = (bit == 1) ? 1 : 0; - sym = (sym << 1) | bit; - bit_i++; - } - - /* - Map 'sym' to VCO frequency - Note: drive is inverted, a higher tone drives VCO voltage lower - */ - - // fprintf(stderr, "i: %d sym: %d freq: %f\n", i, sym, f1_tx + - // tone_spacing*(float)sym); - for (j = 0; j < Ts; j++) { - vco_out[i * Ts + j] = f1_tx + tone_spacing * (float)sym; - } - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fsk_nin - AUTHOR......: Brady O'Brien - DATE CREATED: 11 February 2016 - - Call me before each call to fsk_demod() to determine how many new - samples you should pass in. the number of samples will vary due to - timing variations. - -\*---------------------------------------------------------------------------*/ - -uint32_t fsk_nin(struct FSK *fsk) { return (uint32_t)fsk->nin; } - -/* - * Internal function to estimate the frequencies of the FSK tones. - * This is split off because it is fairly complicated, needs a bunch of memory, - * and probably takes more cycles than the rest of the demod. Parameters: fsk - - * FSK struct from demod containing FSK config fsk_in - block of samples in this - * demod cycles, must be nin long freqs - Array for the estimated frequencies M - * - number of frequency peaks to find - */ -void fsk_demod_freq_est(struct FSK *fsk, COMP fsk_in[], float *freqs, int M) { - int Ndft = fsk->Ndft; - int Fs = fsk->Fs; - int nin = fsk->nin; - size_t i, j; - float hann; - float max; - int imax; - kiss_fft_cfg fft_cfg = fsk->fft_cfg; - int freqi[M]; - int st, en, f_zero; - - kiss_fft_cpx *fftin = (kiss_fft_cpx *)malloc(sizeof(kiss_fft_cpx) * Ndft); - kiss_fft_cpx *fftout = (kiss_fft_cpx *)malloc(sizeof(kiss_fft_cpx) * Ndft); - - st = (fsk->est_min * Ndft) / Fs + Ndft / 2; - if (st < 0) st = 0; - en = (fsk->est_max * Ndft) / Fs + Ndft / 2; - if (en > Ndft) en = Ndft; - // fprintf(stderr, "min: %d max: %d st: %d en: %d\n", fsk->est_min, - // fsk->est_max, st, en); - - f_zero = (fsk->est_space * Ndft) / Fs; - // fprintf(stderr, "fsk->est_space: %d f_zero = %d\n", fsk->est_space, - // f_zero); - - int numffts = floor((float)nin / (Ndft / 2)) - 1; - for (j = 0; j < numffts; j++) { - int a = j * Ndft / 2; - // fprintf(stderr, "numffts: %d j: %d a: %d\n", numffts, (int)j, a); - /* Copy FSK buffer into reals of FFT buffer and apply a hann window */ - for (i = 0; i < Ndft; i++) { -#ifdef USE_HANN_TABLE - hann = fsk->hann_table[i]; -#else - hann = 0.5 - 0.5 * cosf(2.0 * M_PI * (float)i / (float)(fft_samps - 1)); -#endif - fftin[i].r = hann * fsk_in[i + a].real; - fftin[i].i = hann * fsk_in[i + a].imag; - } - - /* Do the FFT */ - kiss_fft(fft_cfg, fftin, fftout); - - /* FFT shift to put DC bin at Ndft/2 */ - kiss_fft_cpx tmp; - for (i = 0; i < Ndft / 2; i++) { - tmp = fftout[i]; - fftout[i] = fftout[i + Ndft / 2]; - fftout[i + Ndft / 2] = tmp; - } - - /* Find the magnitude^2 of each freq slot */ - for (i = 0; i < Ndft; i++) { - fftout[i].r = (fftout[i].r * fftout[i].r) + (fftout[i].i * fftout[i].i); - } - - /* Mix back in with the previous fft block */ - /* Copy new fft est into imag of fftout for frequency divination below */ - float tc = fsk->tc; - for (i = 0; i < Ndft; i++) { - fsk->Sf[i] = (fsk->Sf[i] * (1 - tc)) + (sqrtf(fftout[i].r) * tc); - fftout[i].i = fsk->Sf[i]; - } - } - - modem_probe_samp_f("t_Sf", fsk->Sf, Ndft); - - max = 0; - /* Find the M frequency peaks here */ - for (i = 0; i < M; i++) { - imax = 0; - max = 0; - for (j = st; j < en; j++) { - if (fftout[j].i > max) { - max = fftout[j].i; - imax = j; - } - } - /* Blank out FMax +/-Fspace/2 */ - int f_min, f_max; - f_min = imax - f_zero; - f_min = f_min < 0 ? 0 : f_min; - f_max = imax + f_zero; - f_max = f_max > Ndft ? Ndft : f_max; - for (j = f_min; j < f_max; j++) fftout[j].i = 0; - - /* Stick the freq index on the list */ - freqi[i] = imax - Ndft / 2; - } - - /* Gnome sort the freq list */ - /* My favorite sort of sort*/ - i = 1; - while (i < M) { - if (freqi[i] >= freqi[i - 1]) - i++; - else { - j = freqi[i]; - freqi[i] = freqi[i - 1]; - freqi[i - 1] = j; - if (i > 1) i--; - } - } - - /* Convert freqs from indices to frequencies */ - for (i = 0; i < M; i++) { - freqs[i] = (float)(freqi[i]) * ((float)Fs / (float)Ndft); - } - - /* Search for each tone method 2 - correlate with mask with non-zero entries - * at tone spacings ----- */ - - /* construct mask */ - float mask[Ndft]; - for (i = 0; i < Ndft; i++) mask[i] = 0.0; - for (i = 0; i < 3; i++) mask[i] = 1.0; - int bin = 0; - for (int m = 1; m <= M - 1; m++) { - bin = round((float)m * fsk->tone_spacing * Ndft / Fs) - 1; - for (i = bin; i <= bin + 2; i++) mask[i] = 1.0; - } - int len_mask = bin + 2 + 1; - -#ifdef MODEMPROBE_ENABLE - modem_probe_samp_f("t_mask", mask, len_mask); -#endif - - /* drag mask over Sf, looking for peak in correlation */ - int b_max = st; - float corr_max = 0.0; - float *Sf = fsk->Sf; - for (int b = st; b < en - len_mask; b++) { - float corr = 0.0; - for (i = 0; i < len_mask; i++) corr += mask[i] * Sf[b + i]; - if (corr > corr_max) { - corr_max = corr; - b_max = b; - } - } - float foff = (b_max - Ndft / 2) * Fs / Ndft; - // fprintf(stderr, "fsk->tone_spacing: %d\n",fsk->tone_spacing); - for (int m = 0; m < M; m++) fsk->f2_est[m] = foff + m * fsk->tone_spacing; - -#ifdef MODEMPROBE_ENABLE - modem_probe_samp_f("t_f2_est", fsk->f2_est, M); -#endif - - free(fftin); - free(fftout); -} - -/* core demodulator function */ -void fsk_demod_core(struct FSK *fsk, uint8_t rx_bits[], float rx_filt[], - COMP fsk_in[]) { - int N = fsk->N; - int Ts = fsk->Ts; - int Rs = fsk->Rs; - int Fs = fsk->Fs; - int nsym = fsk->Nsym; - int nin = fsk->nin; - int P = fsk->P; - int Nmem = fsk->Nmem; - int M = fsk->mode; - size_t i, j, m; - float ft1; - - COMP t[M]; /* complex number temps */ - COMP t_c; /* another complex temp */ - COMP *phi_c = fsk->phi_c; - COMP *f_dc = fsk->f_dc; - COMP phi_ft; - int nold = Nmem - nin; - - COMP dphift; - float rx_timing, norm_rx_timing, old_norm_rx_timing, d_norm_rx_timing, appm; - - float fc_avg, fc_tx; - float meanebno, stdebno, eye_max; - int neyesamp, neyeoffset; - -#ifdef MODEMPROBE_ENABLE -#define NMP_NAME 26 - char mp_name_tmp[NMP_NAME + - 1]; /* Temporary string for modem probe trace names */ -#endif - - /* Estimate tone frequencies */ - fsk_demod_freq_est(fsk, fsk_in, fsk->f_est, M); -#ifdef MODEMPROBE_ENABLE - modem_probe_samp_f("t_f_est", fsk->f_est, M); -#endif - float *f_est; - if (fsk->freq_est_type) - f_est = fsk->f2_est; - else - f_est = fsk->f_est; - - /* update filter (integrator) memory by shifting in nin samples */ - for (m = 0; m < M; m++) { - for (i = 0, j = Nmem - nold; i < nold; i++, j++) - f_dc[m * Nmem + i] = f_dc[m * Nmem + j]; - } - - /* freq shift down to around DC, ensuring continuous phase from last frame */ - COMP dphi_m; - for (m = 0; m < M; m++) { - dphi_m = comp_exp_j(2 * M_PI * ((f_est[m]) / (float)(Fs))); - for (i = nold, j = 0; i < Nmem; i++, j++) { - phi_c[m] = cmult(phi_c[m], dphi_m); - f_dc[m * Nmem + i] = cmult(fsk_in[j], cconj(phi_c[m])); - } - phi_c[m] = comp_normalize(phi_c[m]); -#ifdef MODEMPROBE_ENABLE - snprintf(mp_name_tmp, NMP_NAME, "t_f%zd_dc", m + 1); - modem_probe_samp_c(mp_name_tmp, &f_dc[m * Nmem], Nmem); -#endif - } - - /* integrate over symbol period at a variety of offsets */ - COMP f_int[M][(nsym + 1) * P]; - for (i = 0; i < (nsym + 1) * P; i++) { - int st = i * Ts / P; - int en = st + Ts - 1; - for (m = 0; m < M; m++) { - f_int[m][i] = comp0(); - for (j = st; j <= en; j++) - f_int[m][i] = cadd(f_int[m][i], f_dc[m * Nmem + j]); - } - } - -#ifdef MODEMPROBE_ENABLE - for (m = 0; m < M; m++) { - snprintf(mp_name_tmp, NMP_NAME, "t_f%zd_int", m + 1); - modem_probe_samp_c(mp_name_tmp, &f_int[m][0], (nsym + 1) * P); - } -#endif - - /* Fine Timing Estimation */ - /* Apply magic nonlinearity to f1_int and f2_int, shift down to 0, - * extract angle */ - - /* Figure out how much to spin the oscillator to extract magic spectral line - */ - dphift = comp_exp_j(2 * M_PI * ((float)(Rs) / (float)(P * Rs))); - phi_ft.real = 1; - phi_ft.imag = 0; - t_c = comp0(); - for (i = 0; i < (nsym + 1) * P; i++) { - /* Get abs^2 of fx_int[i], and add 'em */ - ft1 = 0; - for (m = 0; m < M; m++) { - ft1 += (f_int[m][i].real * f_int[m][i].real) + - (f_int[m][i].imag * f_int[m][i].imag); - } - - /* Down shift and accumulate magic line */ - t_c = cadd(t_c, fcmult(ft1, phi_ft)); - - /* Spin the oscillator for the magic line shift */ - phi_ft = cmult(phi_ft, dphift); - } - - /* Check for NaNs in the fine timing estimate, return if found */ - /* otherwise segfaults happen */ - if (isnan(t_c.real) || isnan(t_c.imag)) { - return; - } - - /* Get the magic angle */ - norm_rx_timing = atan2f(t_c.imag, t_c.real) / (2 * M_PI); - rx_timing = norm_rx_timing * (float)P; - - old_norm_rx_timing = fsk->norm_rx_timing; - fsk->norm_rx_timing = norm_rx_timing; - - /* Estimate sample clock offset */ - d_norm_rx_timing = norm_rx_timing - old_norm_rx_timing; - - /* Filter out big jumps in due to nin change */ - if (fabsf(d_norm_rx_timing) < .2) { - appm = 1e6 * d_norm_rx_timing / (float)nsym; - fsk->ppm = .9 * fsk->ppm + .1 * appm; - } - - /* Figure out how many samples are needed the next modem cycle */ - /* Unless we're in burst mode or nin locked */ - if (!fsk->burst_mode && !fsk->lock_nin) { - if (norm_rx_timing > 0.25) - fsk->nin = N + Ts / 4; - else if (norm_rx_timing < -0.25) - fsk->nin = N - Ts / 4; - else - fsk->nin = N; - } - - modem_probe_samp_f("t_norm_rx_timing", &(norm_rx_timing), 1); - modem_probe_samp_i("t_nin", &(fsk->nin), 1); - - /* Re-sample the integrators with linear interpolation magic */ - int low_sample = (int)floorf(rx_timing); - float fract = rx_timing - (float)low_sample; - int high_sample = (int)ceilf(rx_timing); - - /* Vars for finding the max-of-4 for each bit */ - float tmax[M]; - -#ifdef EST_EBNO - meanebno = 0; - stdebno = 0; -#endif - - float rx_nse_pow = 1E-12; - float rx_sig_pow = 0.0; - for (i = 0; i < nsym; i++) { - /* resample at ideal sampling instant */ - int st = (i + 1) * P; - for (m = 0; m < M; m++) { - t[m] = fcmult(1 - fract, f_int[m][st + low_sample]); - t[m] = cadd(t[m], fcmult(fract, f_int[m][st + high_sample])); - /* Figure mag^2 of each resampled fx_int */ - tmax[m] = (t[m].real * t[m].real) + (t[m].imag * t[m].imag); - } - - /* hard decision decoding of bits */ - float max = tmax[0]; /* Maximum for figuring correct symbol */ - float min = tmax[0]; - int sym = 0; /* Index of maximum */ - for (m = 0; m < M; m++) { - if (tmax[m] > max) { - max = tmax[m]; - sym = m; - } - if (tmax[m] < min) { - min = tmax[m]; - } - } - - if (rx_bits != NULL) { - /* Get bits for 2FSK and 4FSK */ - if (M == 2) { - rx_bits[i] = sym == 1; /* 2FSK. 1 bit per symbol */ - } else if (M == 4) { - rx_bits[(i * 2) + 1] = (sym & 0x1); /* 4FSK. 2 bits per symbol */ - rx_bits[(i * 2)] = (sym & 0x2) >> 1; - } - } - - /* Optionally output filter magnitudes for soft decision/LLR - calculation. Update SNRest always as this is a useful - alternative to the earlier EbNo estimator below */ - float sum = 0.0; - for (m = 0; m < M; m++) { - if (rx_filt != NULL) rx_filt[m * nsym + i] = sqrtf(tmax[m]); - sum += tmax[m]; - } - rx_sig_pow += max; - rx_nse_pow += (sum - max) / (M - 1); - -/* Accumulate resampled int magnitude for EbNodB estimation */ -/* Standard deviation is calculated by algorithm devised by crafty soviets */ -#ifdef EST_EBNO - /* Accumulate the square of the sampled value */ - ft1 = max; - stdebno += ft1; - - /* Figure the abs value of the max tone */ - meanebno += sqrtf(ft1); -#endif - } - - fsk->rx_sig_pow = rx_sig_pow = rx_sig_pow / nsym; - fsk->rx_nse_pow = rx_nse_pow = rx_nse_pow / nsym; - fsk->v_est = sqrt(rx_sig_pow - rx_nse_pow); - fsk->SNRest = rx_sig_pow / rx_nse_pow; - -#ifdef EST_EBNO - /* Calculate mean for EbNodB estimation */ - meanebno = meanebno / (float)nsym; - - /* Calculate the std. dev for EbNodB estimate */ - stdebno = (stdebno / (float)nsym) - (meanebno * meanebno); - /* trap any negative numbers to avoid NANs flowing through */ - if (stdebno > 0.0) { - stdebno = sqrt(stdebno); - } else { - stdebno = 0.0; - } - - fsk->EbNodB = -6 + (20 * log10f((1e-6 + meanebno) / (1e-6 + stdebno))); -#else - fsk->EbNodB = 1; -#endif - - /* Write some statistics to the stats struct */ - - /* Save clock offset in ppm */ - fsk->stats->clock_offset = fsk->ppm; - - /* Calculate and save SNR from EbNodB estimate */ - - fsk->stats->snr_est = - .5 * fsk->stats->snr_est + - .5 * fsk->EbNodB; //+ 10*log10f(((float)Rs)/((float)Rs*M)); - - /* Save rx timing */ - fsk->stats->rx_timing = (float)rx_timing; - - /* Estimate and save frequency offset */ - fc_avg = fc_tx = 0.0; - for (int m = 0; m < M; m++) { - fc_avg += f_est[m] / M; - fc_tx += (fsk->f1_tx + m * fsk->tone_spacing) / M; - } - fsk->stats->foff = fc_avg - fc_tx; - - /* Take a sample for the eye diagrams ---------------------------------- */ - - /* due to oversample rate P, we have too many samples for eye - trace. So lets output a decimated version. We use 2P - as we want two symbols worth of samples in trace */ -#ifndef __EMBEDDED__ - int neyesamp_dec = ceil(((float)P * 2) / MODEM_STATS_EYE_IND_MAX); - neyesamp = (P * 2) / neyesamp_dec; - assert(neyesamp <= MODEM_STATS_EYE_IND_MAX); - fsk->stats->neyesamp = neyesamp; - - neyeoffset = high_sample + 1; - - int eye_traces = MODEM_STATS_ET_MAX / M; - int ind; - - fsk->stats->neyetr = fsk->mode * eye_traces; - for (i = 0; i < eye_traces; i++) { - for (m = 0; m < M; m++) { - for (j = 0; j < neyesamp; j++) { - /* - 2*P*i...........: advance two symbols for next trace - neyeoffset......: centre trace on ideal timing offset, peak eye - opening j*neweyesamp_dec: For 2*P>MODEM_STATS_EYE_IND_MAX advance - through integrated samples newamp_dec at a time so we dont overflow - rx_eye[][] - */ - ind = 2 * P * (i + 1) + neyeoffset + j * neyesamp_dec; - assert((i * M + m) < MODEM_STATS_ET_MAX); - assert(ind >= 0); - assert(ind < (nsym + 1) * P); - fsk->stats->rx_eye[i * M + m][j] = cabsolute(f_int[m][ind]); - } - } - } - - if (fsk->normalise_eye) { - eye_max = 0; - /* Normalize eye to +/- 1 */ - for (i = 0; i < M * eye_traces; i++) - for (j = 0; j < neyesamp; j++) - if (fabsf(fsk->stats->rx_eye[i][j]) > eye_max) - eye_max = fabsf(fsk->stats->rx_eye[i][j]); - - for (i = 0; i < M * eye_traces; i++) - for (j = 0; j < neyesamp; j++) - fsk->stats->rx_eye[i][j] = fsk->stats->rx_eye[i][j] / eye_max; - } - - fsk->stats->nr = 0; - fsk->stats->Nc = 0; - - for (i = 0; i < M; i++) fsk->stats->f_est[i] = f_est[i]; -#endif // !__EMBEDDED__ - - /* Dump some internal samples */ - modem_probe_samp_f("t_EbNodB", &(fsk->EbNodB), 1); - modem_probe_samp_f("t_ppm", &(fsk->ppm), 1); - modem_probe_samp_f("t_rx_timing", &(rx_timing), 1); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fsk_demod - AUTHOR......: Brady O'Brien - DATE CREATED: 11 February 2016 - - FSK demodulator functions: - - fsk_demod...: complex samples in, bits out - fsk_demos_sd: complex samples in, soft decision symbols out - -\*---------------------------------------------------------------------------*/ - -void fsk_demod(struct FSK *fsk, uint8_t rx_bits[], COMP fsk_in[]) { - fsk_demod_core(fsk, rx_bits, NULL, fsk_in); -} - -void fsk_demod_sd(struct FSK *fsk, float rx_filt[], COMP fsk_in[]) { - fsk_demod_core(fsk, NULL, rx_filt, fsk_in); -} - -/* make sure stats have known values in case monitoring process reads stats - * before they are set */ -static void stats_init(struct FSK *fsk) { - /* Take a sample for the eye diagrams */ - int i, j, m; - int P = fsk->P; - int M = fsk->mode; - - /* due to oversample rate P, we have too many samples for eye - trace. So lets output a decimated version */ - - /* asserts below as we found some problems over-running eye matrix */ - - /* TODO: refactor eye tracing code here and in fsk_demod */ -#ifndef __EMBEDDED__ - int neyesamp_dec = ceil(((float)P * 2) / MODEM_STATS_EYE_IND_MAX); - int neyesamp = (P * 2) / neyesamp_dec; - assert(neyesamp <= MODEM_STATS_EYE_IND_MAX); - fsk->stats->neyesamp = neyesamp; - - int eye_traces = MODEM_STATS_ET_MAX / M; - - fsk->stats->neyetr = fsk->mode * eye_traces; - for (i = 0; i < eye_traces; i++) { - for (m = 0; m < M; m++) { - for (j = 0; j < neyesamp; j++) { - assert((i * M + m) < MODEM_STATS_ET_MAX); - fsk->stats->rx_eye[i * M + m][j] = 0; - } - } - } -#endif // !__EMBEDDED__ - - fsk->stats->rx_timing = fsk->stats->snr_est = 0; -} - -/* Set the FSK modem into burst demod mode */ - -void fsk_enable_burst_mode(struct FSK *fsk) { - fsk->nin = fsk->N; - fsk->burst_mode = 1; -} - -void fsk_clear_estimators(struct FSK *fsk) { - int i; - /* Clear freq estimator state */ - for (i = 0; i < (fsk->Ndft); i++) { - fsk->Sf[i] = 0; - } - /* Reset timing diff correction */ - fsk->nin = fsk->N; -} - -void fsk_get_demod_stats(struct FSK *fsk, struct MODEM_STATS *stats) { - /* copy from internal stats, note we can't overwrite stats completely - as it has other states rqd by caller, also we want a consistent - interface across modem types for the freedv_api. - */ - - stats->clock_offset = fsk->stats->clock_offset; - stats->snr_est = fsk->stats->snr_est; // TODO: make this SNR not Eb/No - stats->rx_timing = fsk->stats->rx_timing; - stats->foff = fsk->stats->foff; -#ifndef __EMBEDDED__ - stats->neyesamp = fsk->stats->neyesamp; - stats->neyetr = fsk->stats->neyetr; - memcpy(stats->rx_eye, fsk->stats->rx_eye, sizeof(stats->rx_eye)); - memcpy(stats->f_est, fsk->stats->f_est, fsk->mode * sizeof(float)); -#endif // !__EMBEDDED__ - - /* these fields not used for FSK so set to something sensible */ - - stats->sync = 0; - stats->nr = fsk->stats->nr; - stats->Nc = fsk->stats->Nc; -} - -/* - * Set the minimum and maximum frequencies at which the freq. estimator can find - * tones - */ -void fsk_set_freq_est_limits(struct FSK *fsk, int est_min, int est_max) { - assert(fsk != NULL); - assert(est_min >= -fsk->Fs / 2); - assert(est_max <= fsk->Fs / 2); - assert(est_max > est_min); - fsk->est_min = est_min; - fsk->est_max = est_max; -} - -void fsk_stats_normalise_eye(struct FSK *fsk, int normalise_enable) { - assert(fsk != NULL); - fsk->normalise_eye = normalise_enable; -} - -void fsk_set_freq_est_alg(struct FSK *fsk, int est_type) { - assert(fsk != NULL); - fsk->freq_est_type = est_type; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fsk.h b/vendor/codec2_flutter_ios_only/src/codec2/src/fsk.h deleted file mode 100644 index 1b4dfdc..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fsk.h +++ /dev/null @@ -1,228 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fsk.h - AUTHOR......: Brady O'Brien - DATE CREATED: 6 January 2016 - - C Implementation of 2FSK/4FSK modulator/demodulator, based on -octave/fsk_horus.m - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __C2FSK_H -#define __C2FSK_H - -#include - -#include "comp.h" -#include "kiss_fftr.h" -#include "modem_stats.h" - -#define MODE_2FSK 2 -#define MODE_4FSK 4 - -#define MODE_M_MAX 4 - -#define FSK_SCALE 16383 - -/* default internal parameters */ -#define FSK_DEFAULT_P \ - 8 /* Number of timing offsets we have to choose from, try to keep P >= 8 */ -#define FSK_DEFAULT_NSYM 50 /* See Nsym below */ -#define FSK_NONE -1 /* unused parameter */ - -#undef P /* avoid clash with #define P in fdmdv_internal.h */ - -struct FSK { - /* Static parameters set up by fsk_init */ - int Ndft; /* freq offset est fft */ - int Fs; /* sample freq */ - int N; /* processing buffer size */ - int Rs; /* symbol rate */ - int Ts; /* samples per symbol */ - int Nmem; /* size of extra mem for timing adj */ - int P; /* oversample rate for timing est/adj */ - int Nsym; /* Number of symbols processed by demodulator in each call, also the - timing estimator window */ - int Nbits; /* Number of bits spat out in a processing frame */ - int f1_tx; /* f1 for modulator */ - int tone_spacing; /* Space between TX freqs for modulator (and option mask - freq estimator) */ - int mode; /* 2FSK or 4FSK */ - float tc; /* time constant for smoothing FFTs */ - int est_min; /* Minimum frequency for freq. estimator */ - int est_max; /* Maximum frequency for freq. estimator */ - int est_space; /* Minimum frequency spacing for freq. estimator */ - float *hann_table; /* Precomputed or runtime computed hann window table */ - - /* Parameters used by demod */ - float *Sf; /* Average of magnitude spectrum */ - COMP phi_c[MODE_M_MAX]; /* phase of each demod local oscillator */ - COMP *f_dc; /* down converted samples */ - - kiss_fft_cfg fft_cfg; /* Config for KISS FFT, used in freq est */ - float norm_rx_timing; /* Normalized RX timing */ - - /* Parameters used by mod */ - COMP tx_phase_c; /* TX phase, but complex */ - - /* Statistics generated by demod */ - float EbNodB; /* Estimated EbNo in dB */ - float f_est[MODE_M_MAX]; /* Estimated frequencies (peak method) */ - float f2_est[MODE_M_MAX]; /* Estimated frequencies (mask method) */ - int freq_est_type; /* which estimator to use */ - float ppm; /* Estimated PPM clock offset */ - float SNRest; /* used for LLRs */ - float v_est; /* used for LLRs */ - float rx_sig_pow; - float rx_nse_pow; - - /* Parameters used by mod/demod and driving code */ - int nin; /* Number of samples to feed the next demod cycle */ - int burst_mode; /* enables/disables 'burst' mode */ - int lock_nin; /* locks nin during testing */ - - /* modem statistics struct */ - struct MODEM_STATS *stats; - int normalise_eye; /* enables/disables normalisation of eye diagram */ -}; - -/* - * Create a FSK modem - * - * int Fs - Sample frequency - * int Rs - Symbol rate - * int M - 2 for 2FSK, 4 for 4FSK - * int f1_tx - first tone frequency - * int tone_spacing - frequency spacing (for modulator and optional "mask" freq - * estimator) - */ -struct FSK *fsk_create(int Fs, int Rs, int M, int f1_tx, int tone_spacing); - -/* - * Create a FSK modem - advanced version - * - * int Fs - Sample frequency - * int Rs - Symbol rate - * int M - 2 for 2FSK, 4 for 4FSK - * int P - number of timing offsets to choose from (suggest >= 8) - * int Nsym - windows size for timing estimator - * int f1_tx - first tone frequency - * int tone_spacing - frequency spacing (for modulator and optional "mask" freq - * estimator) - */ -struct FSK *fsk_create_hbr(int Fs, int Rs, int M, int P, int Nsym, int f1_tx, - int tone_spacing); - -/* - * Set the minimum and maximum frequencies at which the freq. estimator can find - * tones - */ -void fsk_set_freq_est_limits(struct FSK *fsk, int fmin, int fmax); - -/* - * Clear the estimator states - */ -void fsk_clear_estimators(struct FSK *fsk); - -/* - * Fills MODEM_STATS struct with demod statistics - */ -void fsk_get_demod_stats(struct FSK *fsk, struct MODEM_STATS *stats); - -/* - * Destroy an FSK state struct and free it's memory - * - * struct FSK *fsk - FSK config/state struct to be destroyed - */ -void fsk_destroy(struct FSK *fsk); - -/* - * Modulates Nsym bits into N samples - * - * struct FSK *fsk - FSK config/state struct, set up by fsk_create - * float fsk_out[] - Buffer for samples of modulated FSK, - * fsk->Ts*(nbits/(M>>1)) in length uint8_t tx_bits[] - Buffer containing Nbits - * unpacked bits int nbits - number of bits to transmit - */ -void fsk_mod(struct FSK *fsk, float fsk_out[], uint8_t tx_bits[], int nbits); - -/* - * Modulates Nsym bits into N samples - * - * struct FSK *fsk - FSK config/state struct, set up by fsk_create - * float fsk_out[] - Buffer for samples of "voltage" used to modulate an - * external VCO - * - fsk->Ts*(nbits/(M>>1)) in length - * uint8_t tx_bits[] - Buffer containing Nbits unpacked bits - * int nbits - number of bits to transmit - */ -void fsk_mod_ext_vco(struct FSK *fsk, float vco_out[], uint8_t tx_bits[], - int nbits); - -/* - * Modulates Nsym bits into N complex samples - * - * struct FSK *fsk - FSK config/state struct, set up by fsk_create - * comp fsk_out[] - Buffer for samples of modulated FSK, - * fsk->Ts*(nbits/(M>>1)) in length uint8_t tx_bits[] - Buffer containing Nbits - * unpacked bits int nbits - number of bits to transmit - */ -void fsk_mod_c(struct FSK *fsk, COMP fsk_out[], uint8_t tx_bits[], int nbits); - -/* - * Returns the number of samples needed for the next fsk_demod() cycle - * - * struct FSK *fsk - FSK config/state struct, set up by fsk_create - * returns - number of samples to be fed into fsk_demod next cycle - */ -uint32_t fsk_nin(struct FSK *fsk); - -/* - * Demodulate some number of FSK samples. The number of samples to be - * demodulated can be found by calling fsk_nin(). - * - * struct FSK *fsk - FSK config/state struct, set up by fsk_create - * uint8_t rx_bits[] - Buffer for fsk->Nbits unpacked bits to be written - * float fsk_in[] - nin samples of modulated FSK - */ -void fsk_demod(struct FSK *fsk, uint8_t rx_bits[], COMP fsk_in[]); - -/* - * Soft decision demodulation - * - * struct FSK *fsk - FSK config/state struct, set up by fsk_create - * float rx_flit[] - M x Nsym array of filtermagnitude outputs - * float fsk_in[] - nin samples of modualted FSK - */ -void fsk_demod_sd(struct FSK *fsk, float rx_filt[], COMP fsk_in[]); - -/* enables/disables normalisation of eye diagram samples */ - -void fsk_stats_normalise_eye(struct FSK *fsk, int normalise_enable); - -/* Set the FSK modem into burst demod mode */ - -void fsk_enable_burst_mode(struct FSK *fsk); - -/* Set freq est algorithm 0: peak 1:mask */ -void fsk_set_freq_est_alg(struct FSK *fsk, int est_type); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fsk_demod.c b/vendor/codec2_flutter_ios_only/src/codec2/src/fsk_demod.c deleted file mode 100644 index e533510..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fsk_demod.c +++ /dev/null @@ -1,495 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fsk_demod.c - AUTHOR......: Brady O'Brien and David Rowe - DATE CREATED: 8 January 2016 - - Command line FSK demodulator. Reads in FSK samples, writes demodulated - output bits. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#define TEST_FRAME_SIZE 100 /* must match fsk_get_test_bits.c */ - -#include -#include -#include -#include -#include -#include -#include - -#include "codec2_fdmdv.h" -#include "fsk.h" -#include "modem_stats.h" -#include "mpdecode_core.h" - -/* cleanly exit when we get a SIGTERM */ - -void sig_handler(int signo) { - if (signo == SIGTERM) { - exit(0); - } -} - -int main(int argc, char *argv[]) { - struct FSK *fsk; - struct MODEM_STATS stats; - int Fs, Rs, M, P, stats_ctr, stats_loop; - float loop_time; - int enable_stats = 0; - FILE *fin, *fout; - uint8_t *bitbuf = NULL; - int16_t *rawbuf; - COMP *modbuf; - float *rx_filt = NULL; - float *llrs = NULL; - int i, j, Ndft; - int soft_dec_mode = 0; - stats_loop = 0; - int complex_input = 1, bytes_per_sample = 2; - int stats_rate = 8; - int testframe_mode = 0; - P = 8; /* default */ - M = 0; - int fsk_lower = 0; - int fsk_upper = 0; - int user_fsk_lower = 0; - int user_fsk_upper = 0; - int nsym = FSK_DEFAULT_NSYM; - int mask = 0; - int tone_separation = 100; - - int o = 0; - int opt_idx = 0; - while (o != -1) { - static struct option long_opts[] = { - {"help", no_argument, 0, 'h'}, - {"conv", required_argument, 0, 'p'}, - {"cs16", no_argument, 0, 'c'}, - {"cu8", no_argument, 0, 'd'}, - {"fsk_lower", required_argument, 0, 'b'}, - {"fsk_upper", required_argument, 0, 'u'}, - {"stats", optional_argument, 0, 't'}, - {"soft-dec", no_argument, 0, 's'}, - {"testframes", no_argument, 0, 'f'}, - {"nsym", required_argument, 0, 'n'}, - {"mask", required_argument, 0, 'm'}, - {0, 0, 0, 0}}; - - o = getopt_long(argc, argv, "fhlp:cdt::sb:u:m", long_opts, &opt_idx); - - switch (o) { - case 'c': - complex_input = 2; - bytes_per_sample = 2; - break; - case 'd': - complex_input = 2; - bytes_per_sample = 1; - break; - case 'f': - testframe_mode = 1; - break; - case 't': - enable_stats = 1; - if (optarg != NULL) { - stats_rate = atoi(optarg); - if (stats_rate == 0) { - stats_rate = 8; - } - } - break; - case 's': - soft_dec_mode = 1; - break; - case 'p': - P = atoi(optarg); - break; - case 'b': - if (optarg != NULL) { - fsk_lower = atoi(optarg); - user_fsk_lower = 1; - } - break; - case 'u': - if (optarg != NULL) { - fsk_upper = atoi(optarg); - user_fsk_upper = 1; - } - break; - case 'n': - if (optarg != NULL) { - nsym = atoi(optarg); - } - break; - case 'm': - mask = 1; - tone_separation = atoi(optarg); - break; - case 'h': - case '?': - goto helpmsg; - break; - } - } - int dx = optind; - - if ((argc - dx) < 5) { - fprintf(stderr, "Too few arguments\n"); - goto helpmsg; - } - - if ((argc - dx) > 5) { - fprintf(stderr, "Too many arguments\n"); - helpmsg: - fprintf(stderr, - "usage: %s [options] (2|4) SampleRate SymbolRate InputModemRawFile " - "OutputFile\n", - argv[0]); - fprintf(stderr, - " -c --cs16 The raw input file will be in complex signed " - "16 bit format.\n"); - fprintf(stderr, - " -d --cu8 The raw input file will be in complex " - "unsigned 8 bit format.\n"); - fprintf(stderr, - " If neither -c nor -d are used, the input " - "should be in signed 16 bit format.\n"); - fprintf(stderr, - " -f --testframes Testframe mode, prints stats to stderr when a " - "testframe is detected, if -t (JSON) \n"); - fprintf(stderr, - " is enabled stats will be in JSON format\n"); - fprintf( - stderr, - " -t[r] --stats=[r] Print out modem statistics to stderr in JSON.\n"); - fprintf(stderr, - " r, if provided, sets the number of modem " - "frames between statistic printouts.\n"); - fprintf(stderr, - " -s --soft-dec The output file will be in a soft-decision " - "format, with one 32-bit float per bit.\n"); - fprintf(stderr, - " If -s is not used, the output will be in a 1 " - "byte-per-bit format.\n"); - fprintf(stderr, - " -p P Number of timing offsets we have to choose " - "from, default %d.\n", - FSK_DEFAULT_P); - fprintf(stderr, - " Fs/Rs/P must be an integer. Smaller values " - "result in faster operation, but\n"); - fprintf(stderr, " coarse sampling. Try to keep >= 8\n"); - fprintf(stderr, - " processing but lower demodulation " - "performance. Default %d\n", - FSK_DEFAULT_P); - fprintf(stderr, - " --fsk_lower freq lower limit of freq estimator (default 0 for " - "real input, -Fs/2 for complex input)\n"); - fprintf( - stderr, - " --fsk_upper freq upper limit of freq estimator (default Fs/2)\n"); - fprintf(stderr, - " --nsym Nsym number of symbols used for estimators. " - "Default %d\n", - FSK_DEFAULT_NSYM); - fprintf(stderr, - " --mask TxFreqSpace Use \"mask\" freq estimator (default is " - "\"peak\" estimator)\n"); - exit(1); - } - - /* Extract parameters */ - M = atoi(argv[dx]); - Fs = atoi(argv[dx + 1]); - Rs = atoi(argv[dx + 2]); - - if ((M != 2) && (M != 4)) { - fprintf(stderr, "Mode %d is not valid. Mode must be 2 or 4.\n", M); - goto helpmsg; - } - - /* Open files */ - if (strcmp(argv[dx + 3], "-") == 0) { - fin = stdin; - } else { - fin = fopen(argv[dx + 3], "r"); - } - - if (strcmp(argv[dx + 4], "-") == 0) { - fout = stdout; - } else { - fout = fopen(argv[dx + 4], "w"); - } - - /* set up FSK */ - fsk = fsk_create_hbr(Fs, Rs, M, P, nsym, FSK_NONE, tone_separation); - - /* set freq estimator limits */ - if (!user_fsk_lower) { - if (complex_input == 1) - fsk_lower = 0; - else - fsk_lower = -Fs / 2; - } - if (!user_fsk_upper) { - fsk_upper = Fs / 2; - } - fprintf(stderr, "Setting estimator limits to %d to %d Hz.\n", fsk_lower, - fsk_upper); - fsk_set_freq_est_limits(fsk, fsk_lower, fsk_upper); - - fsk_set_freq_est_alg(fsk, mask); - - if (fin == NULL || fout == NULL || fsk == NULL) { - fprintf(stderr, "Couldn't open files\n"); - exit(1); - } - - /* set up testframe mode */ - - int testframecnt, bitcnt, biterr, testframe_detected; - uint8_t *bitbuf_tx = NULL, *bitbuf_rx = NULL; - if (testframe_mode) { - bitbuf_tx = (uint8_t *)malloc(sizeof(uint8_t) * TEST_FRAME_SIZE); - assert(bitbuf_tx != NULL); - bitbuf_rx = (uint8_t *)malloc(sizeof(uint8_t) * TEST_FRAME_SIZE); - assert(bitbuf_rx != NULL); - - /* Generate known tx frame from known seed */ - - srand(158324); - for (i = 0; i < TEST_FRAME_SIZE; i++) { - bitbuf_tx[i] = rand() & 0x1; - bitbuf_rx[i] = 0; - } - - testframecnt = 0; - bitcnt = 0; - biterr = 0; - } - - if (enable_stats) { - loop_time = ((float)fsk_nin(fsk)) / ((float)Fs); - stats_loop = (int)(1 / (stats_rate * loop_time)); - stats_ctr = 0; - } - - /* allocate buffers for processing */ - if (soft_dec_mode) { - rx_filt = (float *)malloc(sizeof(float) * fsk->mode * fsk->Nsym); - assert(rx_filt != NULL); - llrs = (float *)malloc(sizeof(float) * fsk->Nbits); - assert(llrs != NULL); - } else { - bitbuf = (uint8_t *)malloc(sizeof(uint8_t) * fsk->Nbits); - assert(bitbuf != NULL); - } - rawbuf = (int16_t *)malloc(bytes_per_sample * (fsk->N + fsk->Ts * 2) * - complex_input); - modbuf = (COMP *)malloc(sizeof(COMP) * (fsk->N + fsk->Ts * 2)); - - /* set up signal handler so we can terminate gracefully */ - - if (signal(SIGTERM, sig_handler) == SIG_ERR) { - printf("\ncan't catch SIGTERM\n"); - } - - /* Demodulate! */ - - while (fread(rawbuf, bytes_per_sample * complex_input, fsk_nin(fsk), fin) == - fsk_nin(fsk)) { - /* convert input to a buffer of floats. Note scaling isn't really necessary - * for FSK */ - - if (complex_input == 1) { - /* S16 real input */ - for (i = 0; i < fsk_nin(fsk); i++) { - modbuf[i].real = ((float)rawbuf[i]) / FDMDV_SCALE; - modbuf[i].imag = 0.0; - } - } else { - if (bytes_per_sample == 1) { - /* U8 complex */ - uint8_t *rawbuf_u8 = (uint8_t *)rawbuf; - for (i = 0; i < fsk_nin(fsk); i++) { - modbuf[i].real = ((float)rawbuf_u8[2 * i] - 127.0) / 128.0; - modbuf[i].imag = ((float)rawbuf_u8[2 * i + 1] - 127.0) / 128.0; - } - } else { - /* S16 complex */ - for (i = 0; i < fsk_nin(fsk); i++) { - modbuf[i].real = ((float)rawbuf[2 * i]) / FDMDV_SCALE; - modbuf[i].imag = ((float)rawbuf[2 * i + 1] / FDMDV_SCALE); - } - } - } - - if (soft_dec_mode) { - int bps = log2(fsk->mode); - assert(fsk->Nbits == bps * fsk->Nsym); - /* output bit LLRs */ - fsk_demod_sd(fsk, rx_filt, modbuf); - fsk_rx_filt_to_llrs(llrs, rx_filt, fsk->v_est, fsk->SNRest, fsk->mode, - fsk->Nsym); - } else { - fsk_demod(fsk, bitbuf, modbuf); - } - - testframe_detected = 0; - if (testframe_mode) { - assert(soft_dec_mode == 0); - - /* attempt to find a testframe and update stats */ - /* update silding window of input bits */ - - int errs; - for (j = 0; j < fsk->Nbits; j++) { - for (i = 0; i < TEST_FRAME_SIZE - 1; i++) { - bitbuf_rx[i] = bitbuf_rx[i + 1]; - } - bitbuf_rx[TEST_FRAME_SIZE - 1] = bitbuf[j]; - - /* compare to know tx frame. If they are time aligned, there - will be a fairly low bit error rate */ - - errs = 0; - for (i = 0; i < TEST_FRAME_SIZE; i++) { - if (bitbuf_rx[i] != bitbuf_tx[i]) { - errs++; - } - } - - if (errs < 0.1 * TEST_FRAME_SIZE) { - /* OK, we have a valid test frame sync, so lets count errors */ - testframe_detected = 1; - testframecnt++; - bitcnt += TEST_FRAME_SIZE; - biterr += errs; - if (enable_stats == 0) { - fprintf(stderr, - "errs: %d FSK BER %f, bits tested %d, bit errors %d\n", - errs, ((float)biterr / (float)bitcnt), bitcnt, biterr); - } - } - } - } /* if (testframe_mode) ... */ - - if (enable_stats) { - if ((stats_ctr < 0) || testframe_detected) { - fsk_get_demod_stats(fsk, &stats); - - /* Print standard 2FSK stats */ - - fprintf(stderr, "{"); - time_t seconds = time(NULL); - - fprintf(stderr, "\"secs\": %ld, \"EbNodB\": %5.1f, \"ppm\": %4d,", - (long)seconds, stats.snr_est, (int)fsk->ppm); - float *f_est; - if (fsk->freq_est_type) - f_est = fsk->f2_est; - else - f_est = fsk->f_est; - fprintf(stderr, " \"f1_est\":%.1f, \"f2_est\":%.1f", f_est[0], - f_est[1]); - - /* Print 4FSK stats if in 4FSK mode */ - - if (fsk->mode == 4) { - fprintf(stderr, ", \"f3_est\":%.1f, \"f4_est\":%.1f", f_est[2], - f_est[3]); - } - - if (testframe_mode == 0) { - /* Print the eye diagram */ - - fprintf(stderr, ",\t\"eye_diagram\":["); - for (i = 0; i < stats.neyetr; i++) { - fprintf(stderr, "["); - for (j = 0; j < stats.neyesamp; j++) { - fprintf(stderr, "%f ", stats.rx_eye[i][j]); - if (j < stats.neyesamp - 1) fprintf(stderr, ","); - } - fprintf(stderr, "]"); - if (i < stats.neyetr - 1) fprintf(stderr, ","); - } - fprintf(stderr, "],"); - - /* Print a sample of the FFT from the freq estimator */ - fprintf(stderr, "\"samp_fft\":["); - Ndft = fsk->Ndft / 2; - for (i = 0; i < Ndft; i++) { - fprintf(stderr, "%f ", (fsk->Sf)[i]); - if (i < Ndft - 1) fprintf(stderr, ","); - } - fprintf(stderr, "]"); - } - - if (testframe_mode) { - fprintf(stderr, ", \"frames\":%d, \"bits\":%d, \"errs\":%d", - testframecnt, bitcnt, biterr); - } - - fprintf(stderr, "}\n"); - - if (stats_ctr < 0) { - stats_ctr = stats_loop; - } - } - if (testframe_mode == 0) { - stats_ctr--; - } - } - - if (soft_dec_mode) { - fwrite(llrs, sizeof(float), fsk->Nbits, fout); - } else { - fwrite(bitbuf, sizeof(uint8_t), fsk->Nbits, fout); - } - - if (fout == stdin) { - fflush(fout); - } - } /* while(fread ...... */ - - if (testframe_mode) { - free(bitbuf_tx); - free(bitbuf_rx); - } - - if (soft_dec_mode) { - free(rx_filt); - free(llrs); - } else { - free(bitbuf); - } - - free(rawbuf); - free(modbuf); - - fclose(fin); - fclose(fout); - fsk_destroy(fsk); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fsk_get_test_bits.c b/vendor/codec2_flutter_ios_only/src/codec2/src/fsk_get_test_bits.c deleted file mode 100644 index e8246d3..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fsk_get_test_bits.c +++ /dev/null @@ -1,98 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fsk_get_test_bits.c - AUTHOR......: Brady O'Brien - DATE CREATED: January 2016 - - Generates a pseudorandom sequence of bits for testing of fsk_mod and fsk_demod - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include - -#include "fsk.h" - -#define TEST_FRAME_SIZE \ - 100 /* arbitrary choice, repeats after this \ - many bits, sets frame size for rx \ - processing */ - -int main(int argc, char *argv[]) { - int bitcnt, framecnt; - int framesize = TEST_FRAME_SIZE; - int i; - FILE *fout; - uint8_t *bitbuf; - - if (argc < 3) { - fprintf(stderr, "usage: %s OutputBitsOnePerByte numBits [framesize]\n", - argv[0]); - exit(1); - } - - if (argc == 4) { - framesize = atoi(argv[3]); - fprintf(stderr, "Using custom frame size of %d bits\n", framesize); - } - - /* Extract parameters */ - bitcnt = atoi(argv[2]); - framecnt = bitcnt / framesize; - if (framecnt == 0) { - fprintf(stderr, "Need a minimum of %d bits\n", framesize); - exit(1); - } - - if (strcmp(argv[1], "-") == 0) { - fout = stdout; - } else { - fout = fopen(argv[1], "w"); - } - - if (fout == NULL) { - fprintf(stderr, "Couldn't open output file: %s\n", argv[1]); - exit(1); - } - - /* allocate buffers for processing */ - bitbuf = (uint8_t *)malloc(sizeof(uint8_t) * framesize); - - /* Generate buffer of test frame bits from known seed */ - srand(158324); - for (i = 0; i < framesize; i++) { - bitbuf[i] = rand() & 0x1; - } - - /* Output test frames */ - srand(158324); - for (i = 0; i < framecnt; i++) { - fwrite(bitbuf, sizeof(uint8_t), framesize, fout); - if (fout == stdout) { - fflush(fout); - } - } - - free(bitbuf); - fclose(fout); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fsk_mod.c b/vendor/codec2_flutter_ios_only/src/codec2/src/fsk_mod.c deleted file mode 100644 index aed8f73..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fsk_mod.c +++ /dev/null @@ -1,145 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fsk_mod.c - AUTHOR......: Brady O'Brien and David Rowe - DATE CREATED: 8 January 2016 - - Command line FSK modulator. Reads in bits, writes FSK modulated output. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include - -#include "codec2_fdmdv.h" -#include "fsk.h" - -int main(int argc, char *argv[]) { - struct FSK *fsk; - int Fs, Rs, f1, fs, M; - int i; - int p, user_p = 0; - FILE *fin, *fout; - int complex = 0; - int bytes_per_sample = 2; - float amp = FDMDV_SCALE; - int test_mode = 0; - - char usage[] = - "usage: %s [-p P] [-c] [-a Amplitude] [-t] Mode SampleFreq SymbolFreq " - "TxFreq1 TxFreqSpace InputOneBitPerCharFile OutputModRawFile\n" - " -c complex signed 16 bit output format\n" - " -a Amplitude Amplitude of signal\n" - " -t test mode unmodulated carrier, useful for setting levels\n"; - - int opt; - while ((opt = getopt(argc, argv, "a:p:ct")) != -1) { - switch (opt) { - case 'a': - amp = atof(optarg) / 2.0; /* fsk_mod amplitude is +/-2 */ - break; - case 'c': - complex = 1; - bytes_per_sample = 4; - break; - case 't': - test_mode = 1; - break; - case 'p': - p = atoi(optarg); - user_p = 1; - break; - default: - fprintf(stderr, usage, argv[0]); - exit(1); - } - } - - if (argc < 8) { - fprintf(stderr, usage, argv[0]); - exit(1); - } - - /* Extract parameters */ - M = atoi(argv[optind++]); - Fs = atoi(argv[optind++]); - Rs = atoi(argv[optind++]); - f1 = atoi(argv[optind++]); - fs = atoi(argv[optind++]); - - if (strcmp(argv[optind], "-") == 0) { - fin = stdin; - } else { - fin = fopen(argv[optind], "r"); - } - optind++; - - if (strcmp(argv[optind], "-") == 0) { - fout = stdout; - } else { - fout = fopen(argv[optind], "w"); - } - - /* p is not actually used for the modulator, but we need to set it for - * fsk_create() to be happy */ - if (!user_p) p = Fs / Rs; - - /* set up FSK */ - fsk = fsk_create_hbr(Fs, Rs, M, p, FSK_DEFAULT_NSYM, f1, fs); - - if (fin == NULL || fout == NULL || fsk == NULL) { - fprintf(stderr, "Couldn't open files\n"); - exit(1); - } - - /* Mote we use the same buffer sizes as demod (fsk->Nbits, fsk->N) - for convenience, but other sizes are possible for the - FSK modulator. */ - uint8_t bitbuf[fsk->Nbits]; - - while (fread(bitbuf, sizeof(uint8_t), fsk->Nbits, fin) == fsk->Nbits) { - if (test_mode) memset(bitbuf, 0, fsk->Nbits); - if (complex == 0) { - float modbuf[fsk->N]; - int16_t rawbuf[fsk->N]; - /* 16 bit signed short real output */ - fsk_mod(fsk, modbuf, bitbuf, fsk->Nbits); - for (i = 0; i < fsk->N; i++) rawbuf[i] = (int16_t)(modbuf[i] * amp); - fwrite(rawbuf, bytes_per_sample, fsk->N, fout); - } else { - /* 16 bit signed char complex output */ - COMP modbuf[fsk->N]; - int16_t rawbuf[2 * fsk->N]; - fsk_mod_c(fsk, (COMP *)modbuf, bitbuf, fsk->Nbits); - for (i = 0; i < fsk->N; i++) { - rawbuf[2 * i] = (int16_t)(modbuf[i].real * amp); - rawbuf[2 * i + 1] = (int16_t)(modbuf[i].imag * amp); - } - fwrite(rawbuf, bytes_per_sample, fsk->N, fout); - } - - if (fout == stdin) { - fflush(fout); - } - } - - fsk_destroy(fsk); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/fsk_put_test_bits.c b/vendor/codec2_flutter_ios_only/src/codec2/src/fsk_put_test_bits.c deleted file mode 100644 index 584d14f..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/fsk_put_test_bits.c +++ /dev/null @@ -1,177 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: fsk_get_test_bits.c - AUTHOR......: Brady O'Brien - DATE CREATED: January 2016 - - Generates a pseudorandom sequence of bits for testing of fsk_mod and - fsk_demod. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include - -#include "fsk.h" - -#define TEST_FRAME_SIZE 100 /* must match fsk_get_test_bits.c */ - -#define VALID_PACKET_BER_THRESH 0.1 - -int main(int argc, char *argv[]) { - int bitcnt, biterr, i, errs, packetcnt; - int framesize = TEST_FRAME_SIZE; - float valid_packet_ber_thresh = VALID_PACKET_BER_THRESH; - int packet_pass_thresh = 0; - float ber_pass_thresh = 0; - FILE *fin; - uint8_t *bitbuf_tx, *bitbuf_rx, abyte, abit; - int verbose = 1; - int packed_in = 0; - - char usage[] = - "usage: %s [-f frameSizeBits] [-t VaildFrameBERThreshold] [-b BERPass] " - "[-p numPacketsPass] [-k] InputOneBitPerByte\n" - " [-k] packet byte input\n"; - - int opt; - while ((opt = getopt(argc, argv, "f:b:p:hqt:k")) != -1) { - switch (opt) { - case 't': - valid_packet_ber_thresh = atof(optarg); - break; - case 'b': - ber_pass_thresh = atof(optarg); - break; - case 'p': - packet_pass_thresh = atoi(optarg); - break; - case 'f': - framesize = atoi(optarg); - break; - case 'q': - verbose = 0; - break; - case 'k': - packed_in = 1; - break; - case 'h': - default: - fprintf(stderr, usage, argv[0]); - exit(1); - } - } - if (argc == 1) { - fprintf(stderr, usage, argv[0]); - exit(1); - } - - int bits_per_byte = 1; - if (packed_in) { - if (framesize % 8) { - fprintf(stderr, - "framesize (-f) must be a multiple of 8 for packed byte input " - "(-k)\n"); - exit(1); - } - bits_per_byte = 8; - } - - char *fname = argv[optind++]; - if ((strcmp(fname, "-") == 0) || (argc < 2)) { - fin = stdin; - } else { - fin = fopen(fname, "r"); - } - - if (fin == NULL) { - fprintf(stderr, "Couldn't open input file: %s\n", argv[1]); - exit(1); - } - - /* allocate buffers for processing */ - bitbuf_tx = (uint8_t *)malloc(sizeof(uint8_t) * framesize); - bitbuf_rx = (uint8_t *)malloc(sizeof(uint8_t) * framesize); - - /* Generate known tx frame from known seed */ - srand(158324); - for (i = 0; i < framesize; i++) { - bitbuf_tx[i] = rand() & 0x1; - bitbuf_rx[i] = 0; - } - - bitcnt = 0; - biterr = 0; - packetcnt = 0; - float ber = 0.5; - - while (fread(&abyte, sizeof(uint8_t), 1, fin) > 0) { - for (int b = 0; b < bits_per_byte; b++) { - abit = (abyte >> ((bits_per_byte - 1) - b)) & 0x1; - - /* update sliding window of input bits */ - - for (i = 0; i < framesize - 1; i++) { - bitbuf_rx[i] = bitbuf_rx[i + 1]; - } - bitbuf_rx[framesize - 1] = abit; - - /* compare to know tx frame. If they are time aligned, there - will be a fairly low bit error rate */ - - errs = 0; - for (i = 0; i < framesize; i++) { - if (bitbuf_rx[i] != bitbuf_tx[i]) { - errs++; - } - } - if (errs < valid_packet_ber_thresh * framesize) { - /* OK, we have a valid packet, so lets count errors */ - packetcnt++; - bitcnt += framesize; - biterr += errs; - ber = (float)biterr / (float)bitcnt; - if (verbose) { - fprintf( - stderr, - "[%04d] BER %5.3f, bits tested %6d, bit errors %6d errs: %4d \n", - packetcnt, ber, bitcnt, biterr, errs); - } - } - } - } - - free(bitbuf_rx); - free(bitbuf_tx); - - fclose(fin); - - fprintf(stderr, "[%04d] BER %5.3f, bits tested %6d, bit errors %6d\n", - packetcnt, ber, bitcnt, biterr); - if ((packetcnt >= packet_pass_thresh) && (ber <= ber_pass_thresh)) { - fprintf(stderr, "PASS\n"); - return 0; - } else { - fprintf(stderr, "FAIL\n"); - return 1; - } -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/generate_codebook.c b/vendor/codec2_flutter_ios_only/src/codec2/src/generate_codebook.c deleted file mode 100644 index d9ec838..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/generate_codebook.c +++ /dev/null @@ -1,174 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: generate_codebook.c - AUTHOR......: Bruce Perens - DATE CREATED: 29 Sep 2010 - - Generate header files containing quantisers, runs at compile time. - -\*---------------------------------------------------------------------------*/ - -/* - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include - -static const char usage[] = - "Usage: %s filename array_name [filename ...]\n" - "\tCreate C code for codebook tables.\n"; - -static const char format[] = - "The table format must be:\n" - "\tTwo integers describing the dimensions of the codebook.\n" - "\tThen, enough numbers to fill the specified dimensions.\n"; - -static const char header[] = - "/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */\n\n" - "/*\n" - " * This intermediary file and the files that used to create it are under " - "\n" - " * The LGPL. See the file COPYING.\n" - " */\n\n" - "#include \"defines.h\"\n\n"; - -struct codebook { - unsigned int k; - unsigned int log2m; - unsigned int m; - float *cb; -}; - -static void dump_array(const struct codebook *b, int index) { - int limit = b->k * b->m; - int i; - - printf("#ifdef __EMBEDDED__\n"); - printf("static const float codes%d[] = {\n", index); - printf("#else\n"); - printf("static float codes%d[] = {\n", index); - printf("#endif\n"); - for (i = 0; i < limit; i++) { - printf(" %g", b->cb[i]); - if (i < limit - 1) printf(","); - - /* organise VQs by rows, looks prettier */ - if (((i + 1) % b->k) == 0) printf("\n"); - } - printf("};\n"); -} - -static void dump_structure(const struct codebook *b, int index) { - printf(" {\n"); - printf(" %d,\n", b->k); - printf(" %d,\n", (int)roundf(log(b->m) / log(2))); - printf(" %d,\n", b->m); - printf(" codes%d\n", index); - printf(" }"); -} - -float get_float(FILE *in, const char *name, char **cursor, char *buffer, - int size) { - for (;;) { - char *s = *cursor; - char c; - - while ((c = *s) != '\0' && !isdigit(c) && c != '-' && c != '.') s++; - - /* Comments start with "#" and continue to the end of the line. */ - if (c != '\0' && c != '#') { - char *end = 0; - float f = 0; - - f = strtod(s, &end); - - if (end != s) *cursor = end; - return f; - } - - if (fgets(buffer, size, in) == NULL) { - fprintf(stderr, "%s: Format error. %s\n", name, format); - exit(1); - } - *cursor = buffer; - } -} - -static struct codebook *load(FILE *file, const char *name) { - char line[1024]; - char *cursor = line; - struct codebook *b = malloc(sizeof(struct codebook)); - int i; - int size; - - *cursor = '\0'; - - b->k = (int)get_float(file, name, &cursor, line, sizeof(line)); - b->m = (int)get_float(file, name, &cursor, line, sizeof(line)); - size = b->k * b->m; - - b->cb = (float *)malloc(size * sizeof(float)); - - for (i = 0; i < size; i++) - b->cb[i] = get_float(file, name, &cursor, line, sizeof(line)); - - return b; -} - -int main(int argc, char **argv) { - struct codebook **cb = malloc(argc * sizeof(struct codebook *)); - int i; - - if (argc < 2) { - fprintf(stderr, usage, argv[0]); - fprintf(stderr, format); - exit(1); - } - - for (i = 0; i < argc - 2; i++) { - FILE *in = fopen(argv[i + 2], "r"); - - if (in == NULL) { - perror(argv[i + 2]); - exit(1); - } - - cb[i] = load(in, argv[i + 2]); - - fclose(in); - } - - printf(header); - for (i = 0; i < argc - 2; i++) { - printf(" /* %s */\n", argv[i + 2]); - dump_array(cb[i], i); - } - printf("\nconst struct lsp_codebook %s[] = {\n", argv[1]); - for (i = 0; i < argc - 2; i++) { - printf(" /* %s */\n", argv[i + 2]); - dump_structure(cb[i], i); - printf(",\n"); - } - printf(" { 0, 0, 0, 0 }\n"); - printf("};\n"); - for (i = 0; i < argc - 2; i++) { - free(cb[i]->cb); - free(cb[i]); - } - free(cb); - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/golay23.c b/vendor/codec2_flutter_ios_only/src/codec2/src/golay23.c deleted file mode 100644 index 3b9790d..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/golay23.c +++ /dev/null @@ -1,315 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: golay23.c - AUTHOR......: Tomas Härdin & David Rowe - DATE CREATED: 3 March 2013 - - To test: - - src$ gcc golay23.c -o golay23 -Wall -O3 -DGOLAY23_UNITTEST && ./golay23 - src$ gcc golay23.c -o golay23 -Wall -O3 -DGOLAY23_UNITTEST --DRUN_TIME_TABLES && ./golay23 src$ gcc golay23.c -o golay23 -Wall -O3 --DGOLAY23_UNITTEST -DNO_TABLES && ./golay23 - - To generate tables: - src$ gcc golay23.c -o golay23 -Wall -O3 -DGOLAY23_MAKETABLES && ./golay23 - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 Tomas Härdin & David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not,see . -*/ - -#include - -#ifdef GOLAY23_MAKETABLES -#define RUN_TIME_TABLES -#endif - -#ifndef NO_TABLES -#ifdef RUN_TIME_TABLES -int static encoding_table[4096]; -int static decoding_table[2048]; -static int inited = 0; -#else -// default is to use precomputed tables -#include "golaydectable.h" -#include "golayenctable.h" -#endif -#endif - -// since we want to avoid bit-reversing inside syndrome() we bit-reverse the -// polynomial instead -#define GOLAY_POLYNOMIAL 0xC75 // AE3 reversed - -int golay23_syndrome(int c) { - // could probably be done slightly smarter, but works - int x; - for (x = 11; x >= 0; x--) { - if (c & ((1 << 11) << x)) { - c ^= GOLAY_POLYNOMIAL << x; - } - } - return c; -} - -#ifdef __GNUC__ -#define popcount __builtin_popcount -#elif defined(__MSC_VER) -#include -#define popcount __popcnt -#else -static int popcount(unsigned int c) { - int ret = 0; - while (c) { - if (c & 1) { - ret++; - } - c >>= 1; - } - return ret; -} -#endif - -#if defined(NO_TABLES) || defined(RUN_TIME_TABLES) -static int golay23_encode_no_tables(int c) { - c <<= 11; - return golay23_syndrome(c) | c; -} -#endif - -#ifdef NO_TABLES -static int unrotate(unsigned int c, int x) { - return ((c << x) & 0x7FFFFF) | (c >> (23 - x)); -} - -static int golay23_decode_no_tables(int c) { - // TODO: optimize? - int x; - c = unrotate(c, 12); - - for (x = 0; x < 23; x++) { - int t; - int s = golay23_syndrome(c); - - if (popcount(s) <= 3) { - return unrotate(c ^ s, x) & 0xFFF; - } - - for (t = 0; t < 23; t++) { - int c2 = c ^ (1 << t); - int s = golay23_syndrome(c2); - - if (popcount(s) <= 2) { - return unrotate(c2 ^ s, x) & 0xFFF; - } - } - - // rotate - c = (c >> 1) | ((c & 1) << 22); - } - - // shouldn't reach here.. - assert("Something is wrong with golay23_decode_no_tables().."); - return c & 0xFFF; -} -#endif - -void golay23_init(void) { -#ifdef RUN_TIME_TABLES - int x, y, z; - inited = 1; - for (x = 0; x < 4096; x++) { - encoding_table[x] = golay23_encode_no_tables(x); - } - - decoding_table[0] = 0; - // 1-bit errors - for (x = 0; x < 23; x++) { - int d = 1 << x; - decoding_table[golay23_syndrome(d)] = d; - } - // 2-bit errors - for (x = 0; x < 22; x++) { - for (y = x + 1; y < 23; y++) { - int d = (1 << x) | (1 << y); - decoding_table[golay23_syndrome(d)] = d; - } - } - // 3-bit errors - for (x = 0; x < 21; x++) { - for (y = x + 1; y < 22; y++) { - for (z = y + 1; z < 23; z++) { - int d = (1 << x) | (1 << y) | (1 << z); - decoding_table[golay23_syndrome(d)] = d; - } - } - } -#endif -} - -int golay23_encode(int c) { - assert(c >= 0 && c <= 0xFFF); -#ifdef RUN_TIME_TABLES - assert(inited); -#endif - -#ifdef NO_TABLES - return golay23_encode_no_tables(c); -#else - return encoding_table[c]; -#endif -} - -int golay23_decode(int c) { - assert(c >= 0 && c <= 0x7FFFFF); -#ifdef RUN_TIME_TABLES - assert(inited); -#endif - -#ifdef NO_TABLES - // duplicate old golay23_decode()'s shift - return unrotate(golay23_decode_no_tables(c), 11); -#else - // message is shifted 11 places left in the return value - return c ^ decoding_table[golay23_syndrome(c)]; -#endif -} - -int golay23_count_errors(int recd_codeword, int corrected_codeword) { - return popcount(recd_codeword ^ corrected_codeword); -} - -/** - * Table generation and testing code below - */ - -#ifdef GOLAY23_MAKETABLES -#include - -int main() { - int x; - // generate and dump - golay23_init(); - - FILE *enc = fopen("golayenctable.h", "w"); - FILE *dec = fopen("golaydectable.h", "w"); - - fprintf(enc, - "/* Generated by golay23.c -DGOLAY23_MAKETABLE */\n\ -\n\ -const int static encoding_table[]={\n"); - for (x = 0; x < 4096; x++) { - fprintf(enc, x < 4095 ? " 0x%x,\n" : " 0x%x\n", encoding_table[x]); - } - fprintf(enc, "};\n"); - - fprintf(dec, - "/* Generated by golay23.c -DGOLAY23_MAKETABLE */\n\ -\n\ -const int static decoding_table[]={\n"); - for (x = 0; x < 2048; x++) { - fprintf(dec, x < 2047 ? " 0x%x,\n" : " 0x%x\n", decoding_table[x]); - } - fprintf(dec, "};\n"); - - fclose(enc); - fclose(dec); - - return 0; -} - -#elif defined(GOLAY23_UNITTEST) -#include -#include -#include - -int main() { - int c; - - golay23_init(); - - // keep track of whether every single codeword has been checked - char *checkmask = malloc(1 << 23); - memset(checkmask, 0, 1 << 23); - - // step through all possible messages - for (c = 0; c < (1 << 12); c++) { - int g23 = golay23_encode(c); - int x, y, z; - checkmask[g23] = 1; - int c2 = golay23_decode(g23) >> 11; - - printf("%03x -> %06x %03x\n", c, g23, c2); - - if (c != c2) { - printf("Bad!\n"); - exit(1); - } - - // test the code by flipping every combination of one, two and three bits - for (x = 0; x < 23; x++) { - int flipped = g23 ^ (1 << x); - checkmask[flipped] = 1; - int c2 = golay23_decode(flipped) >> 11; - if (c != c2) { - printf("Bad!\n"); - - exit(1); - } - } - - for (x = 0; x < 22; x++) { - for (y = x + 1; y < 23; y++) { - int flipped = g23 ^ (1 << x) ^ (1 << y); - checkmask[flipped] = 1; - int c2 = golay23_decode(flipped) >> 11; - if (c != c2) { - printf("Bad!\n"); - - exit(1); - } - } - } - - for (x = 0; x < 21; x++) { - for (y = x + 1; y < 22; y++) { - for (z = y + 1; z < 23; z++) { - int flipped = g23 ^ (1 << x) ^ (1 << y) ^ (1 << z); - checkmask[flipped] = 1; - int c2 = golay23_decode(flipped) >> 11; - if (c != c2) { - printf("Bad!\n"); - exit(1); - } - } - } - } - } - - // did we check every codeword? - for (c = 0; c < (1 << 23); c++) { - if (checkmask[c] != 1) { - printf("%06x unchecked!\n", c); - exit(1); - } - } - - printf("Everything checks out\n"); - free(checkmask); - return 0; -} -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/golay23.h b/vendor/codec2_flutter_ios_only/src/codec2/src/golay23.h deleted file mode 100644 index 129d6b1..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/golay23.h +++ /dev/null @@ -1,45 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: golay23.h - AUTHOR......: David Rowe - DATE CREATED: 3 March 2013 - - Header file for Golay FEC. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2013 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __GOLAY23__ -#define __GOLAY23__ - -#ifdef __cplusplus -extern "C" { -#endif - -void golay23_init(void); -int golay23_encode(int data); -int golay23_decode(int received_codeword); -int golay23_count_errors(int recd_codeword, int corrected_codeword); -int golay23_syndrome(int c); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/golaydectable.h b/vendor/codec2_flutter_ios_only/src/codec2/src/golaydectable.h deleted file mode 100644 index b4d5243..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/golaydectable.h +++ /dev/null @@ -1,296 +0,0 @@ -/* Generated by golay23.c -DGOLAY23_MAKETABLE */ - -static const int decoding_table[] = { - 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, - 0x7, 0x8, 0x9, 0xa, 0xb, 0xc, 0xd, - 0xe, 0x24020, 0x10, 0x11, 0x12, 0x13, 0x14, - 0x15, 0x16, 0x412000, 0x18, 0x19, 0x1a, 0x180800, - 0x1c, 0x200300, 0x48040, 0x1480, 0x20, 0x21, 0x22, - 0x23, 0x24, 0x25, 0x26, 0x24008, 0x28, 0x29, - 0x2a, 0x24004, 0x2c, 0x24002, 0x24001, 0x24000, 0x30, - 0x31, 0x32, 0x8180, 0x34, 0xc40, 0x301000, 0xc0200, - 0x38, 0x43000, 0x400600, 0x210040, 0x90080, 0x508000, 0x2900, - 0x24010, 0x40, 0x41, 0x42, 0x43, 0x44, 0x45, - 0x46, 0x280080, 0x48, 0x49, 0x4a, 0x2500, 0x4c, - 0x111000, 0x48010, 0x400a00, 0x50, 0x51, 0x52, 0x21200, - 0x54, 0xc20, 0x48008, 0x104100, 0x58, 0x404080, 0x48004, - 0x210020, 0x48002, 0xa2000, 0x48000, 0x48001, 0x60, 0x61, - 0x62, 0x540000, 0x64, 0xc10, 0x10300, 0xb000, 0x68, - 0x88200, 0x1880, 0x210010, 0x602000, 0x40180, 0x180400, 0x24040, - 0x70, 0xc04, 0x86000, 0x210008, 0xc01, 0xc00, 0x420080, - 0xc02, 0x120100, 0x210002, 0x210001, 0x210000, 0x5200, 0xc08, - 0x48020, 0x210004, 0x80, 0x81, 0x82, 0x83, 0x84, - 0x85, 0x86, 0x280040, 0x88, 0x89, 0x8a, 0x50200, - 0x8c, 0xa800, 0x500100, 0x1410, 0x90, 0x91, 0x92, - 0x8120, 0x94, 0x160000, 0x4a00, 0x1408, 0x98, 0x404040, - 0x222000, 0x1404, 0x90020, 0x1402, 0x1401, 0x1400, 0xa0, - 0xa1, 0xa2, 0x8110, 0xa4, 0x401200, 0x42400, 0x110800, - 0xa8, 0x300400, 0x1840, 0x482000, 0x90010, 0x40140, 0x208200, - 0x24080, 0xb0, 0x8102, 0x8101, 0x8100, 0x90008, 0x206000, - 0x420040, 0x8104, 0x90004, 0x20a00, 0x144000, 0x8108, 0x90000, - 0x90001, 0x90002, 0x1420, 0xc0, 0xc1, 0xc2, 0x280004, - 0xc4, 0x280002, 0x280001, 0x280000, 0xc8, 0x404010, 0x1820, - 0x128000, 0x20600, 0x40120, 0x16000, 0x280008, 0xd0, 0x404008, - 0x110400, 0x42800, 0x3100, 0x18200, 0x420020, 0x280010, 0x404001, - 0x404000, 0x80300, 0x404002, 0x300800, 0x404004, 0x48080, 0x1440, - 0xe0, 0x32000, 0x1808, 0x4600, 0x10c000, 0x40108, 0x420010, - 0x280020, 0x1802, 0x40104, 0x1800, 0x1801, 0x40101, 0x40100, - 0x1804, 0x40102, 0x240200, 0x181000, 0x420004, 0x8140, 0x420002, - 0xc80, 0x420000, 0x420001, 0xa400, 0x404020, 0x1810, 0x210080, - 0x90040, 0x40110, 0x420008, 0x102200, 0x100, 0x101, 0x102, - 0x103, 0x104, 0x105, 0x106, 0x41800, 0x108, 0x109, - 0x10a, 0x2440, 0x10c, 0x200210, 0x500080, 0x98000, 0x110, - 0x111, 0x112, 0x80a0, 0x114, 0x200208, 0xa0400, 0x104040, - 0x118, 0x200204, 0x15000, 0x460000, 0x200201, 0x200200, 0x2820, - 0x200202, 0x120, 0x121, 0x122, 0x8090, 0x124, 0x182000, - 0x10240, 0x600400, 0x128, 0x410800, 0x2c0000, 0x101200, 0x9400, - 0x400c0, 0x2810, 0x24100, 0x130, 0x8082, 0x8081, 0x8080, - 0x444000, 0x31000, 0x2808, 0x8084, 0x120040, 0x84400, 0x2804, - 0x8088, 0x2802, 0x200220, 0x2800, 0x2801, 0x140, 0x141, - 0x142, 0x2408, 0x144, 0x428000, 0x10220, 0x104010, 0x148, - 0x2402, 0x2401, 0x2400, 0x84800, 0x400a0, 0x221000, 0x2404, - 0x150, 0xd0000, 0x600800, 0x104004, 0x3080, 0x104002, 0x104001, - 0x104000, 0x120020, 0x9800, 0x80280, 0x2410, 0x410400, 0x200240, - 0x48100, 0x104008, 0x160, 0x205000, 0x10204, 0xa0800, 0x10202, - 0x40088, 0x10200, 0x10201, 0x120010, 0x40084, 0x40c000, 0x2420, - 0x40081, 0x40080, 0x10208, 0x40082, 0x120008, 0x402200, 0x41400, - 0x80c0, 0x288000, 0xd00, 0x10210, 0x104020, 0x120000, 0x120001, - 0x120002, 0x210100, 0x120004, 0x40090, 0x2840, 0x481000, 0x180, - 0x181, 0x182, 0x8030, 0x184, 0x14400, 0x500008, 0x22200, - 0x188, 0xa1000, 0x500004, 0x204800, 0x500002, 0x40060, 0x500000, - 0x500001, 0x190, 0x8022, 0x8021, 0x8020, 0x3040, 0x480800, - 0x250000, 0x8024, 0x40c00, 0x112000, 0x80240, 0x8028, 0x2c000, - 0x200280, 0x500010, 0x1500, 0x1a0, 0x8012, 0x8011, 0x8010, - 0x220800, 0x40048, 0x85000, 0x8014, 0x6200, 0x40044, 0x30400, - 0x8018, 0x40041, 0x40040, 0x500020, 0x40042, 0x8003, 0x8002, - 0x8001, 0x8000, 0x100600, 0x8006, 0x8005, 0x8004, 0x601000, - 0x800a, 0x8009, 0x8008, 0x90100, 0x40050, 0x2880, 0x800c, - 0x1c0, 0x100a00, 0x64000, 0x411000, 0x3010, 0x40028, 0x8c00, - 0x280100, 0x218000, 0x40024, 0x80210, 0x2480, 0x40021, 0x40020, - 0x500040, 0x40022, 0x3004, 0x220400, 0x80208, 0x8060, 0x3000, - 0x3001, 0x3002, 0x104080, 0x80202, 0x404100, 0x80200, 0x80201, - 0x3008, 0x40030, 0x80204, 0x30800, 0x480400, 0x4000c, 0x302000, - 0x8050, 0x40009, 0x40008, 0x10280, 0x4000a, 0x40005, 0x40004, - 0x1900, 0x40006, 0x40001, 0x40000, 0x40003, 0x40002, 0x14800, - 0x8042, 0x8041, 0x8040, 0x3020, 0x40018, 0x420100, 0x8044, - 0x120080, 0x40014, 0x80220, 0x8048, 0x40011, 0x40010, 0x204400, - 0x40012, 0x200, 0x201, 0x202, 0x203, 0x204, 0x205, - 0x206, 0x108400, 0x208, 0x209, 0x20a, 0x50080, 0x20c, - 0x200110, 0x83000, 0x400840, 0x210, 0x211, 0x212, 0x21040, - 0x214, 0x200108, 0x4880, 0xc0020, 0x218, 0x200104, 0x400420, - 0xe000, 0x200101, 0x200100, 0x130000, 0x200102, 0x220, 0x221, - 0x222, 0x202800, 0x224, 0x401080, 0x10140, 0xc0010, 0x228, - 0x88040, 0x400410, 0x101100, 0x140800, 0x12400, 0x208080, 0x24200, - 0x230, 0x114000, 0x400408, 0xc0004, 0x2a000, 0xc0002, 0xc0001, - 0xc0000, 0x400402, 0x20880, 0x400400, 0x400401, 0x5040, 0x200120, - 0x400404, 0xc0008, 0x240, 0x241, 0x242, 0x21010, 0x244, - 0x46000, 0x10120, 0x400808, 0x248, 0x88020, 0x304000, 0x400804, - 0x20480, 0x400802, 0x400801, 0x400800, 0x250, 0x21002, 0x21001, - 0x21000, 0x580000, 0x18080, 0x202400, 0x21004, 0x12800, 0x140400, - 0x80180, 0x21008, 0x5020, 0x200140, 0x48200, 0x400810, 0x260, - 0x88008, 0x10104, 0x4480, 0x10102, 0x320000, 0x10100, 0x10101, - 0x88001, 0x88000, 0x62000, 0x88002, 0x5010, 0x88004, 0x10108, - 0x400820, 0x240080, 0x402100, 0x108800, 0x21020, 0x5008, 0xe00, - 0x10110, 0xc0040, 0x5004, 0x88010, 0x400440, 0x210200, 0x5000, - 0x5001, 0x5002, 0x102080, 0x280, 0x281, 0x282, 0x50008, - 0x284, 0x401020, 0x4810, 0x22100, 0x288, 0x50002, 0x50001, - 0x50000, 0x20440, 0x184000, 0x208020, 0x50004, 0x290, 0x82400, - 0x4804, 0x700000, 0x4802, 0x18040, 0x4800, 0x4801, 0x109000, - 0x20820, 0x80140, 0x50010, 0x442000, 0x200180, 0x4808, 0x1600, - 0x2a0, 0x401004, 0x1a0000, 0x4440, 0x401001, 0x401000, 0x208008, - 0x401002, 0x6100, 0x20810, 0x208004, 0x50020, 0x208002, 0x401008, - 0x208000, 0x208001, 0x240040, 0x20808, 0x13000, 0x8300, 0x100500, - 0x401010, 0x4820, 0xc0080, 0x20801, 0x20800, 0x400480, 0x20802, - 0x90200, 0x20804, 0x208010, 0x102040, 0x2c0, 0x100900, 0x40a000, - 0x4420, 0x20408, 0x18010, 0x141000, 0x280200, 0x20404, 0x203000, - 0x80110, 0x50040, 0x20400, 0x20401, 0x20402, 0x400880, 0x240020, - 0x18004, 0x80108, 0x21080, 0x18001, 0x18000, 0x4840, 0x18002, - 0x80102, 0x404200, 0x80100, 0x80101, 0x20410, 0x18008, 0x80104, - 0x102020, 0x240010, 0x4402, 0x4401, 0x4400, 0x82800, 0x401040, - 0x10180, 0x4404, 0x510000, 0x88080, 0x1a00, 0x4408, 0x20420, - 0x40300, 0x208040, 0x102010, 0x240000, 0x240001, 0x240002, 0x4410, - 0x240004, 0x18020, 0x420200, 0x102008, 0x240008, 0x20840, 0x80120, - 0x102004, 0x5080, 0x102002, 0x102001, 0x102000, 0x300, 0x301, - 0x302, 0x484000, 0x304, 0x200018, 0x10060, 0x22080, 0x308, - 0x200014, 0x28800, 0x101020, 0x200011, 0x200010, 0x44400, 0x200012, - 0x310, 0x20000c, 0x142000, 0x10c00, 0x200009, 0x200008, 0x409000, - 0x20000a, 0x200005, 0x200004, 0x800c0, 0x200006, 0x200001, 0x200000, - 0x200003, 0x200002, 0x320, 0x60400, 0x10044, 0x101008, 0x10042, - 0xc800, 0x10040, 0x10041, 0x6080, 0x101002, 0x101001, 0x101000, - 0x4a0000, 0x200030, 0x10048, 0x101004, 0x81800, 0x402040, 0x224000, - 0x8280, 0x100480, 0x200028, 0x10050, 0xc0100, 0x58000, 0x200024, - 0x400500, 0x101010, 0x200021, 0x200020, 0x2a00, 0x200022, 0x340, - 0x100880, 0x10024, 0x248000, 0x10022, 0x81400, 0x10020, 0x10021, - 0x441000, 0x34000, 0x80090, 0x2600, 0x10a000, 0x200050, 0x10028, - 0x400900, 0xc400, 0x402020, 0x80088, 0x21100, 0x60800, 0x200048, - 0x10030, 0x104200, 0x80082, 0x200044, 0x80080, 0x80081, 0x200041, - 0x200040, 0x80084, 0x200042, 0x10006, 0x402010, 0x10004, 0x10005, - 0x10002, 0x10003, 0x10000, 0x10001, 0x200c00, 0x88100, 0x1000c, - 0x101040, 0x1000a, 0x40280, 0x10008, 0x10009, 0x402001, 0x402000, - 0x10014, 0x402002, 0x10012, 0x402004, 0x10010, 0x10011, 0x120200, - 0x402008, 0x800a0, 0x44800, 0x5100, 0x200060, 0x10018, 0x28400, - 0x380, 0x100840, 0x201400, 0x22004, 0xc8000, 0x22002, 0x22001, - 0x22000, 0x6020, 0x408400, 0x80050, 0x50100, 0x11800, 0x200090, - 0x500200, 0x22008, 0x430000, 0x45000, 0x80048, 0x8220, 0x100420, - 0x200088, 0x4900, 0x22010, 0x80042, 0x200084, 0x80040, 0x80041, - 0x200081, 0x200080, 0x80044, 0x200082, 0x6008, 0x290000, 0x440800, - 0x8210, 0x100410, 0x401100, 0x100c0, 0x22020, 0x6000, 0x6001, - 0x6002, 0x101080, 0x6004, 0x40240, 0x208100, 0x80c00, 0x100404, - 0x8202, 0x8201, 0x8200, 0x100400, 0x100401, 0x100402, 0x8204, - 0x6010, 0x20900, 0x80060, 0x8208, 0x100408, 0x2000a0, 0x61000, - 0x414000, 0x100801, 0x100800, 0x80018, 0x100802, 0x604000, 0x100804, - 0x100a0, 0x22040, 0x80012, 0x100808, 0x80010, 0x80011, 0x20500, - 0x40220, 0x80014, 0xd000, 0x8000a, 0x100810, 0x80008, 0x80009, - 0x3200, 0x18100, 0x8000c, 0x440400, 0x80002, 0x80003, 0x80000, - 0x80001, 0x80006, 0x2000c0, 0x80004, 0x80005, 0x29000, 0x100820, - 0x10084, 0x4500, 0x10082, 0x40208, 0x10080, 0x10081, 0x6040, - 0x40204, 0x80030, 0x620000, 0x40201, 0x40200, 0x10088, 0x40202, - 0x240100, 0x402080, 0x80028, 0x8240, 0x100440, 0xa4000, 0x10090, - 0x201800, 0x80022, 0x11400, 0x80020, 0x80021, 0x408800, 0x40210, - 0x80024, 0x102100, 0x400, 0x401, 0x402, 0x403, 0x404, - 0x405, 0x406, 0x108200, 0x408, 0x409, 0x40a, 0x2140, - 0x40c, 0x4c0000, 0x210800, 0x1090, 0x410, 0x411, 0x412, - 0x244000, 0x414, 0x860, 0xa0100, 0x1088, 0x418, 0x38000, - 0x400220, 0x1084, 0x106000, 0x1082, 0x1081, 0x1080, 0x420, - 0x421, 0x422, 0x91000, 0x424, 0x850, 0x42080, 0x600100, - 0x428, 0x300080, 0x400210, 0x48800, 0x9100, 0x12200, 0x180040, - 0x24400, 0x430, 0x844, 0x400208, 0x122000, 0x841, 0x840, - 0x1c000, 0x842, 0x400202, 0x84100, 0x400200, 0x400201, 0x260000, - 0x848, 0x400204, 0x10a0, 0x440, 0x441, 0x442, 0x2108, - 0x444, 0x830, 0x405000, 0x70000, 0x448, 0x2102, 0x2101, - 0x2100, 0x20280, 0x20c000, 0x180020, 0x2104, 0x450, 0x824, - 0x110080, 0x488000, 0x821, 0x820, 0x202200, 0x822, 0x281000, - 0x140200, 0x24800, 0x2110, 0x410100, 0x828, 0x48400, 0x10c0, - 0x460, 0x814, 0x228000, 0x4280, 0x811, 0x810, 0x180008, - 0x812, 0x54000, 0x421000, 0x180004, 0x2120, 0x180002, 0x818, - 0x180000, 0x180001, 0x805, 0x804, 0x41100, 0x806, 0x801, - 0x800, 0x803, 0x802, 0xa080, 0x80c, 0x400240, 0x210400, - 0x809, 0x808, 0x180010, 0x80a, 0x480, 0x481, 0x482, - 0x420800, 0x484, 0x14100, 0x42020, 0x1018, 0x488, 0x300020, - 0x8c000, 0x1014, 0x20240, 0x1012, 0x1011, 0x1010, 0x490, - 0x82200, 0x110040, 0x100c, 0x608000, 0x100a, 0x1009, 0x1008, - 0x40900, 0x1006, 0x1005, 0x1004, 0x1003, 0x1002, 0x1001, - 0x1000, 0x4a0, 0x300008, 0x42004, 0x4240, 0x42002, 0xa8000, - 0x42000, 0x42001, 0x300001, 0x300000, 0x30100, 0x300002, 0x404800, - 0x300004, 0x42008, 0x1030, 0x25000, 0x450000, 0x280800, 0x8500, - 0x100300, 0x8c0, 0x42010, 0x1028, 0xa040, 0x300010, 0x400280, - 0x1024, 0x90400, 0x1022, 0x1021, 0x1020, 0x4c0, 0x49000, - 0x110010, 0x4220, 0x20208, 0x502000, 0x8900, 0x280400, 0x20204, - 0x90800, 0x640000, 0x2180, 0x20200, 0x20201, 0x20202, 0x1050, - 0x110002, 0x220100, 0x110000, 0x110001, 0xc4000, 0x8a0, 0x110004, - 0x1048, 0xa020, 0x404400, 0x110008, 0x1044, 0x20210, 0x1042, - 0x1041, 0x1040, 0x480100, 0x4202, 0x4201, 0x4200, 0x211000, - 0x890, 0x42040, 0x4204, 0xa010, 0x300040, 0x1c00, 0x4208, - 0x20220, 0x40500, 0x180080, 0x418000, 0xa008, 0x884, 0x110020, - 0x4210, 0x881, 0x880, 0x420400, 0x882, 0xa000, 0xa001, - 0xa002, 0xe0000, 0xa004, 0x888, 0x204100, 0x1060, 0x500, - 0x501, 0x502, 0x2048, 0x504, 0x14080, 0xa0010, 0x600020, - 0x508, 0x2042, 0x2041, 0x2040, 0x9020, 0x120800, 0x44200, - 0x2044, 0x510, 0x501000, 0xa0004, 0x10a00, 0xa0002, 0x4a000, - 0xa0000, 0xa0001, 0x40880, 0x84020, 0x308000, 0x2050, 0x410040, - 0x200600, 0xa0008, 0x1180, 0x520, 0x60200, 0x104800, 0x600004, - 0x9008, 0x600002, 0x600001, 0x600000, 0x9004, 0x84010, 0x30080, - 0x2060, 0x9000, 0x9001, 0x9002, 0x600008, 0x212000, 0x84008, - 0x41040, 0x8480, 0x100280, 0x940, 0xa0020, 0x600010, 0x84001, - 0x84000, 0x400300, 0x84002, 0x9010, 0x84004, 0x2c00, 0x150000, - 0x540, 0x200a, 0x2009, 0x2008, 0x340000, 0x81200, 0x8880, - 0x200c, 0x2003, 0x2002, 0x2001, 0x2000, 0x410010, 0x2006, - 0x2005, 0x2004, 0xc200, 0x220080, 0x41020, 0x2018, 0x410008, - 0x920, 0xa0040, 0x104400, 0x410004, 0x2012, 0x2011, 0x2010, - 0x410000, 0x410001, 0x410002, 0x2014, 0x480080, 0x118000, 0x41010, - 0x2028, 0x26000, 0x910, 0x10600, 0x600040, 0x200a00, 0x2022, - 0x2021, 0x2020, 0x9040, 0x40480, 0x180100, 0x2024, 0x41002, - 0x904, 0x41000, 0x41001, 0x901, 0x900, 0x41004, 0x902, - 0x120400, 0x84040, 0x41008, 0x2030, 0x410020, 0x908, 0x204080, - 0x28200, 0x580, 0x14004, 0x201200, 0x1c0000, 0x14001, 0x14000, - 0x8840, 0x14002, 0x40810, 0x408200, 0x30020, 0x20c0, 0x282000, - 0x14008, 0x500400, 0x1110, 0x40808, 0x220040, 0x406000, 0x8420, - 0x100220, 0x14010, 0xa0080, 0x1108, 0x40800, 0x40801, 0x40802, - 0x1104, 0x40804, 0x1102, 0x1101, 0x1100, 0x480040, 0x3800, - 0x30008, 0x8410, 0x100210, 0x14020, 0x42100, 0x600080, 0x30002, - 0x300100, 0x30000, 0x30001, 0x9080, 0x40440, 0x30004, 0x80a00, - 0x100204, 0x8402, 0x8401, 0x8400, 0x100200, 0x100201, 0x100202, - 0x8404, 0x40820, 0x84080, 0x30010, 0x8408, 0x100208, 0x422000, - 0x204040, 0x1120, 0x480020, 0x220010, 0x8804, 0x2088, 0x8802, - 0x14040, 0x8800, 0x8801, 0x105000, 0x2082, 0x2081, 0x2080, - 0x20300, 0x40420, 0x8808, 0x2084, 0x220001, 0x220000, 0x110100, - 0x220002, 0x3400, 0x220004, 0x8810, 0x440200, 0x40840, 0x220008, - 0x80600, 0x2090, 0x410080, 0x188000, 0x204020, 0x1140, 0x480000, - 0x480001, 0x480002, 0x4300, 0x480004, 0x40408, 0x8820, 0x121000, - 0x480008, 0x40404, 0x30040, 0x20a0, 0x40401, 0x40400, 0x204010, - 0x40402, 0x480010, 0x220020, 0x41080, 0x8440, 0x100240, 0x980, - 0x204008, 0x92000, 0xa100, 0x11200, 0x204004, 0x500800, 0x204002, - 0x40410, 0x204000, 0x204001, 0x600, 0x601, 0x602, 0x108004, - 0x604, 0x108002, 0x108001, 0x108000, 0x608, 0x5800, 0x400030, - 0x2a0000, 0x200c0, 0x12020, 0x44100, 0x108008, 0x610, 0x82080, - 0x400028, 0x10900, 0x51000, 0x424000, 0x202040, 0x108010, 0x400022, - 0x140040, 0x400020, 0x400021, 0x88800, 0x200500, 0x400024, 0x1280, - 0x620, 0x60100, 0x400018, 0x40c0, 0x284000, 0x12008, 0x21800, - 0x108020, 0x400012, 0x12004, 0x400010, 0x400011, 0x12001, 0x12000, - 0x400014, 0x12002, 0x40000a, 0x209000, 0x400008, 0x400009, 0x100180, - 0xa40, 0x40000c, 0xc0400, 0x400002, 0x400003, 0x400000, 0x400001, - 0x400006, 0x12010, 0x400004, 0x400005, 0x640, 0x610000, 0xc0800, - 0x40a0, 0x20088, 0x81100, 0x202010, 0x108040, 0x20084, 0x140010, - 0x19000, 0x2300, 0x20080, 0x20081, 0x20082, 0x400c00, 0xc100, - 0x140008, 0x202004, 0x21400, 0x202002, 0xa20, 0x202000, 0x202001, - 0x140001, 0x140000, 0x400060, 0x140002, 0x20090, 0x140004, 0x202008, - 0x94000, 0x103000, 0x4082, 0x4081, 0x4080, 0x448000, 0xa10, - 0x10500, 0x4084, 0x200900, 0x88400, 0x400050, 0x4088, 0x200a0, - 0x12040, 0x180200, 0x241000, 0xb0000, 0xa04, 0x400048, 0x4090, - 0xa01, 0xa00, 0x202020, 0xa02, 0x400042, 0x140020, 0x400040, - 0x400041, 0x5400, 0xa08, 0x400044, 0x28100, 0x680, 0x82010, - 0x201100, 0x4060, 0x20048, 0x240800, 0x490000, 0x108080, 0x20044, - 0x408100, 0x102800, 0x50400, 0x20040, 0x20041, 0x20042, 0x1210, - 0x82001, 0x82000, 0x68000, 0x82002, 0x100120, 0x82004, 0x4c00, - 0x1208, 0x214000, 0x82008, 0x4000a0, 0x1204, 0x20050, 0x1202, - 0x1201, 0x1200, 0x18800, 0x4042, 0x4041, 0x4040, 0x100110, - 0x401400, 0x42200, 0x4044, 0xc1000, 0x300200, 0x400090, 0x4048, - 0x20060, 0x12080, 0x208400, 0x80900, 0x100104, 0x82020, 0x400088, - 0x4050, 0x100100, 0x100101, 0x100102, 0x230000, 0x400082, 0x20c00, - 0x400080, 0x400081, 0x100108, 0x4c000, 0x400084, 0x1220, 0x2000c, - 0x4022, 0x4021, 0x4020, 0x20008, 0x20009, 0x2000a, 0x4024, - 0x20004, 0x20005, 0x20006, 0x4028, 0x20000, 0x20001, 0x20002, - 0x20003, 0x401800, 0x82040, 0x110200, 0x4030, 0x20018, 0x18400, - 0x202080, 0x440100, 0x20014, 0x140080, 0x80500, 0x208800, 0x20010, - 0x20011, 0x20012, 0x1240, 0x4003, 0x4002, 0x4001, 0x4000, - 0x20028, 0x4006, 0x4005, 0x4004, 0x20024, 0x400a, 0x4009, - 0x4008, 0x20020, 0x20021, 0x20022, 0x400c, 0x240400, 0x4012, - 0x4011, 0x4010, 0x100140, 0xa80, 0x89000, 0x4014, 0xa200, - 0x11100, 0x4000c0, 0x4018, 0x20030, 0x680000, 0x50800, 0x102400, - 0x700, 0x60020, 0x201080, 0x10810, 0x402800, 0x81040, 0x44008, - 0x108100, 0x190000, 0x408080, 0x44004, 0x2240, 0x44002, 0x200410, - 0x44000, 0x44001, 0xc040, 0x10802, 0x10801, 0x10800, 0x1000a0, - 0x200408, 0xa0200, 0x10804, 0x23000, 0x200404, 0x400120, 0x10808, - 0x200401, 0x200400, 0x44010, 0x200402, 0x60001, 0x60000, 0x8a000, - 0x60002, 0x100090, 0x60004, 0x10440, 0x600200, 0x200840, 0x60008, - 0x400110, 0x101400, 0x9200, 0x12100, 0x44020, 0x80880, 0x100084, - 0x60010, 0x400108, 0x10820, 0x100080, 0x100081, 0x100082, 0x7000, - 0x400102, 0x84200, 0x400100, 0x400101, 0x100088, 0x200420, 0x400104, - 0x28040, 0xc010, 0x81004, 0x520000, 0x2208, 0x81001, 0x81000, - 0x10420, 0x81002, 0x200820, 0x2202, 0x2201, 0x2200, 0x20180, - 0x81008, 0x44040, 0x2204, 0xc000, 0xc001, 0xc002, 0x10840, - 0xc004, 0x81010, 0x202100, 0x440080, 0xc008, 0x140100, 0x80480, - 0x2210, 0x410200, 0x200440, 0x101800, 0x28020, 0x200808, 0x60040, - 0x10404, 0x4180, 0x10402, 0x81020, 0x10400, 0x10401, 0x200800, - 0x200801, 0x200802, 0x2220, 0x200804, 0x504000, 0x10408, 0x28010, - 0xc020, 0x402400, 0x41200, 0x380000, 0x1000c0, 0xb00, 0x10410, - 0x28008, 0x200810, 0x11080, 0x400140, 0x28004, 0xc2000, 0x28002, - 0x28001, 0x28000, 0x201002, 0x408008, 0x201000, 0x201001, 0x100030, - 0x14200, 0x201004, 0x22400, 0x408001, 0x408000, 0x201008, 0x408002, - 0x20140, 0x408004, 0x44080, 0x80820, 0x100024, 0x82100, 0x201010, - 0x10880, 0x100020, 0x100021, 0x100022, 0x440040, 0x40a00, 0x408010, - 0x80440, 0x124000, 0x100028, 0x200480, 0x1a000, 0x1300, 0x100014, - 0x60080, 0x201020, 0x4140, 0x100010, 0x100011, 0x100012, 0x80808, - 0x6400, 0x408020, 0x30200, 0x80804, 0x100018, 0x80802, 0x80801, - 0x80800, 0x100004, 0x100005, 0x100006, 0x8600, 0x100000, 0x100001, - 0x100002, 0x100003, 0x10000c, 0x11040, 0x400180, 0x242000, 0x100008, - 0x100009, 0x10000a, 0x80810, 0x52000, 0x100c00, 0x201040, 0x4120, - 0x20108, 0x81080, 0x8a00, 0x440010, 0x20104, 0x408040, 0x80410, - 0x2280, 0x20100, 0x20101, 0x20102, 0x310000, 0xc080, 0x220200, - 0x80408, 0x440004, 0x100060, 0x440002, 0x440001, 0x440000, 0x80402, - 0x11020, 0x80400, 0x80401, 0x20110, 0x6800, 0x80404, 0x440008, - 0x480200, 0x4102, 0x4101, 0x4100, 0x100050, 0x20a000, 0x10480, - 0x4104, 0x200880, 0x11010, 0x148000, 0x4108, 0x20120, 0x40600, - 0x403000, 0x80840, 0x100044, 0x11008, 0x22800, 0x4110, 0x100040, - 0x100041, 0x100042, 0x440020, 0x11001, 0x11000, 0x80420, 0x11002, - 0x100048, 0x11004, 0x204200, 0x28080}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/golayenctable.h b/vendor/codec2_flutter_ios_only/src/codec2/src/golayenctable.h deleted file mode 100644 index 310097f..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/golayenctable.h +++ /dev/null @@ -1,589 +0,0 @@ -/* Generated by golay23.c -DGOLAY23_MAKETABLE */ - -static const int encoding_table[] = { - 0x0, 0xc75, 0x149f, 0x18ea, 0x254b, 0x293e, 0x31d4, - 0x3da1, 0x46e3, 0x4a96, 0x527c, 0x5e09, 0x63a8, 0x6fdd, - 0x7737, 0x7b42, 0x81b3, 0x8dc6, 0x952c, 0x9959, 0xa4f8, - 0xa88d, 0xb067, 0xbc12, 0xc750, 0xcb25, 0xd3cf, 0xdfba, - 0xe21b, 0xee6e, 0xf684, 0xfaf1, 0x10366, 0x10f13, 0x117f9, - 0x11b8c, 0x1262d, 0x12a58, 0x132b2, 0x13ec7, 0x14585, 0x149f0, - 0x1511a, 0x15d6f, 0x160ce, 0x16cbb, 0x17451, 0x17824, 0x182d5, - 0x18ea0, 0x1964a, 0x19a3f, 0x1a79e, 0x1abeb, 0x1b301, 0x1bf74, - 0x1c436, 0x1c843, 0x1d0a9, 0x1dcdc, 0x1e17d, 0x1ed08, 0x1f5e2, - 0x1f997, 0x206cc, 0x20ab9, 0x21253, 0x21e26, 0x22387, 0x22ff2, - 0x23718, 0x23b6d, 0x2402f, 0x24c5a, 0x254b0, 0x258c5, 0x26564, - 0x26911, 0x271fb, 0x27d8e, 0x2877f, 0x28b0a, 0x293e0, 0x29f95, - 0x2a234, 0x2ae41, 0x2b6ab, 0x2bade, 0x2c19c, 0x2cde9, 0x2d503, - 0x2d976, 0x2e4d7, 0x2e8a2, 0x2f048, 0x2fc3d, 0x305aa, 0x309df, - 0x31135, 0x31d40, 0x320e1, 0x32c94, 0x3347e, 0x3380b, 0x34349, - 0x34f3c, 0x357d6, 0x35ba3, 0x36602, 0x36a77, 0x3729d, 0x37ee8, - 0x38419, 0x3886c, 0x39086, 0x39cf3, 0x3a152, 0x3ad27, 0x3b5cd, - 0x3b9b8, 0x3c2fa, 0x3ce8f, 0x3d665, 0x3da10, 0x3e7b1, 0x3ebc4, - 0x3f32e, 0x3ff5b, 0x401ed, 0x40d98, 0x41572, 0x41907, 0x424a6, - 0x428d3, 0x43039, 0x43c4c, 0x4470e, 0x44b7b, 0x45391, 0x45fe4, - 0x46245, 0x46e30, 0x476da, 0x47aaf, 0x4805e, 0x48c2b, 0x494c1, - 0x498b4, 0x4a515, 0x4a960, 0x4b18a, 0x4bdff, 0x4c6bd, 0x4cac8, - 0x4d222, 0x4de57, 0x4e3f6, 0x4ef83, 0x4f769, 0x4fb1c, 0x5028b, - 0x50efe, 0x51614, 0x51a61, 0x527c0, 0x52bb5, 0x5335f, 0x53f2a, - 0x54468, 0x5481d, 0x550f7, 0x55c82, 0x56123, 0x56d56, 0x575bc, - 0x579c9, 0x58338, 0x58f4d, 0x597a7, 0x59bd2, 0x5a673, 0x5aa06, - 0x5b2ec, 0x5be99, 0x5c5db, 0x5c9ae, 0x5d144, 0x5dd31, 0x5e090, - 0x5ece5, 0x5f40f, 0x5f87a, 0x60721, 0x60b54, 0x613be, 0x61fcb, - 0x6226a, 0x62e1f, 0x636f5, 0x63a80, 0x641c2, 0x64db7, 0x6555d, - 0x65928, 0x66489, 0x668fc, 0x67016, 0x67c63, 0x68692, 0x68ae7, - 0x6920d, 0x69e78, 0x6a3d9, 0x6afac, 0x6b746, 0x6bb33, 0x6c071, - 0x6cc04, 0x6d4ee, 0x6d89b, 0x6e53a, 0x6e94f, 0x6f1a5, 0x6fdd0, - 0x70447, 0x70832, 0x710d8, 0x71cad, 0x7210c, 0x72d79, 0x73593, - 0x739e6, 0x742a4, 0x74ed1, 0x7563b, 0x75a4e, 0x767ef, 0x76b9a, - 0x77370, 0x77f05, 0x785f4, 0x78981, 0x7916b, 0x79d1e, 0x7a0bf, - 0x7acca, 0x7b420, 0x7b855, 0x7c317, 0x7cf62, 0x7d788, 0x7dbfd, - 0x7e65c, 0x7ea29, 0x7f2c3, 0x7feb6, 0x803da, 0x80faf, 0x81745, - 0x81b30, 0x82691, 0x82ae4, 0x8320e, 0x83e7b, 0x84539, 0x8494c, - 0x851a6, 0x85dd3, 0x86072, 0x86c07, 0x874ed, 0x87898, 0x88269, - 0x88e1c, 0x896f6, 0x89a83, 0x8a722, 0x8ab57, 0x8b3bd, 0x8bfc8, - 0x8c48a, 0x8c8ff, 0x8d015, 0x8dc60, 0x8e1c1, 0x8edb4, 0x8f55e, - 0x8f92b, 0x900bc, 0x90cc9, 0x91423, 0x91856, 0x925f7, 0x92982, - 0x93168, 0x93d1d, 0x9465f, 0x94a2a, 0x952c0, 0x95eb5, 0x96314, - 0x96f61, 0x9778b, 0x97bfe, 0x9810f, 0x98d7a, 0x99590, 0x999e5, - 0x9a444, 0x9a831, 0x9b0db, 0x9bcae, 0x9c7ec, 0x9cb99, 0x9d373, - 0x9df06, 0x9e2a7, 0x9eed2, 0x9f638, 0x9fa4d, 0xa0516, 0xa0963, - 0xa1189, 0xa1dfc, 0xa205d, 0xa2c28, 0xa34c2, 0xa38b7, 0xa43f5, - 0xa4f80, 0xa576a, 0xa5b1f, 0xa66be, 0xa6acb, 0xa7221, 0xa7e54, - 0xa84a5, 0xa88d0, 0xa903a, 0xa9c4f, 0xaa1ee, 0xaad9b, 0xab571, - 0xab904, 0xac246, 0xace33, 0xad6d9, 0xadaac, 0xae70d, 0xaeb78, - 0xaf392, 0xaffe7, 0xb0670, 0xb0a05, 0xb12ef, 0xb1e9a, 0xb233b, - 0xb2f4e, 0xb37a4, 0xb3bd1, 0xb4093, 0xb4ce6, 0xb540c, 0xb5879, - 0xb65d8, 0xb69ad, 0xb7147, 0xb7d32, 0xb87c3, 0xb8bb6, 0xb935c, - 0xb9f29, 0xba288, 0xbaefd, 0xbb617, 0xbba62, 0xbc120, 0xbcd55, - 0xbd5bf, 0xbd9ca, 0xbe46b, 0xbe81e, 0xbf0f4, 0xbfc81, 0xc0237, - 0xc0e42, 0xc16a8, 0xc1add, 0xc277c, 0xc2b09, 0xc33e3, 0xc3f96, - 0xc44d4, 0xc48a1, 0xc504b, 0xc5c3e, 0xc619f, 0xc6dea, 0xc7500, - 0xc7975, 0xc8384, 0xc8ff1, 0xc971b, 0xc9b6e, 0xca6cf, 0xcaaba, - 0xcb250, 0xcbe25, 0xcc567, 0xcc912, 0xcd1f8, 0xcdd8d, 0xce02c, - 0xcec59, 0xcf4b3, 0xcf8c6, 0xd0151, 0xd0d24, 0xd15ce, 0xd19bb, - 0xd241a, 0xd286f, 0xd3085, 0xd3cf0, 0xd47b2, 0xd4bc7, 0xd532d, - 0xd5f58, 0xd62f9, 0xd6e8c, 0xd7666, 0xd7a13, 0xd80e2, 0xd8c97, - 0xd947d, 0xd9808, 0xda5a9, 0xda9dc, 0xdb136, 0xdbd43, 0xdc601, - 0xdca74, 0xdd29e, 0xddeeb, 0xde34a, 0xdef3f, 0xdf7d5, 0xdfba0, - 0xe04fb, 0xe088e, 0xe1064, 0xe1c11, 0xe21b0, 0xe2dc5, 0xe352f, - 0xe395a, 0xe4218, 0xe4e6d, 0xe5687, 0xe5af2, 0xe6753, 0xe6b26, - 0xe73cc, 0xe7fb9, 0xe8548, 0xe893d, 0xe91d7, 0xe9da2, 0xea003, - 0xeac76, 0xeb49c, 0xeb8e9, 0xec3ab, 0xecfde, 0xed734, 0xedb41, - 0xee6e0, 0xeea95, 0xef27f, 0xefe0a, 0xf079d, 0xf0be8, 0xf1302, - 0xf1f77, 0xf22d6, 0xf2ea3, 0xf3649, 0xf3a3c, 0xf417e, 0xf4d0b, - 0xf55e1, 0xf5994, 0xf6435, 0xf6840, 0xf70aa, 0xf7cdf, 0xf862e, - 0xf8a5b, 0xf92b1, 0xf9ec4, 0xfa365, 0xfaf10, 0xfb7fa, 0xfbb8f, - 0xfc0cd, 0xfccb8, 0xfd452, 0xfd827, 0xfe586, 0xfe9f3, 0xff119, - 0xffd6c, 0x1007b4, 0x100bc1, 0x10132b, 0x101f5e, 0x1022ff, 0x102e8a, - 0x103660, 0x103a15, 0x104157, 0x104d22, 0x1055c8, 0x1059bd, 0x10641c, - 0x106869, 0x107083, 0x107cf6, 0x108607, 0x108a72, 0x109298, 0x109eed, - 0x10a34c, 0x10af39, 0x10b7d3, 0x10bba6, 0x10c0e4, 0x10cc91, 0x10d47b, - 0x10d80e, 0x10e5af, 0x10e9da, 0x10f130, 0x10fd45, 0x1104d2, 0x1108a7, - 0x11104d, 0x111c38, 0x112199, 0x112dec, 0x113506, 0x113973, 0x114231, - 0x114e44, 0x1156ae, 0x115adb, 0x11677a, 0x116b0f, 0x1173e5, 0x117f90, - 0x118561, 0x118914, 0x1191fe, 0x119d8b, 0x11a02a, 0x11ac5f, 0x11b4b5, - 0x11b8c0, 0x11c382, 0x11cff7, 0x11d71d, 0x11db68, 0x11e6c9, 0x11eabc, - 0x11f256, 0x11fe23, 0x120178, 0x120d0d, 0x1215e7, 0x121992, 0x122433, - 0x122846, 0x1230ac, 0x123cd9, 0x12479b, 0x124bee, 0x125304, 0x125f71, - 0x1262d0, 0x126ea5, 0x12764f, 0x127a3a, 0x1280cb, 0x128cbe, 0x129454, - 0x129821, 0x12a580, 0x12a9f5, 0x12b11f, 0x12bd6a, 0x12c628, 0x12ca5d, - 0x12d2b7, 0x12dec2, 0x12e363, 0x12ef16, 0x12f7fc, 0x12fb89, 0x13021e, - 0x130e6b, 0x131681, 0x131af4, 0x132755, 0x132b20, 0x1333ca, 0x133fbf, - 0x1344fd, 0x134888, 0x135062, 0x135c17, 0x1361b6, 0x136dc3, 0x137529, - 0x13795c, 0x1383ad, 0x138fd8, 0x139732, 0x139b47, 0x13a6e6, 0x13aa93, - 0x13b279, 0x13be0c, 0x13c54e, 0x13c93b, 0x13d1d1, 0x13dda4, 0x13e005, - 0x13ec70, 0x13f49a, 0x13f8ef, 0x140659, 0x140a2c, 0x1412c6, 0x141eb3, - 0x142312, 0x142f67, 0x14378d, 0x143bf8, 0x1440ba, 0x144ccf, 0x145425, - 0x145850, 0x1465f1, 0x146984, 0x14716e, 0x147d1b, 0x1487ea, 0x148b9f, - 0x149375, 0x149f00, 0x14a2a1, 0x14aed4, 0x14b63e, 0x14ba4b, 0x14c109, - 0x14cd7c, 0x14d596, 0x14d9e3, 0x14e442, 0x14e837, 0x14f0dd, 0x14fca8, - 0x15053f, 0x15094a, 0x1511a0, 0x151dd5, 0x152074, 0x152c01, 0x1534eb, - 0x15389e, 0x1543dc, 0x154fa9, 0x155743, 0x155b36, 0x156697, 0x156ae2, - 0x157208, 0x157e7d, 0x15848c, 0x1588f9, 0x159013, 0x159c66, 0x15a1c7, - 0x15adb2, 0x15b558, 0x15b92d, 0x15c26f, 0x15ce1a, 0x15d6f0, 0x15da85, - 0x15e724, 0x15eb51, 0x15f3bb, 0x15ffce, 0x160095, 0x160ce0, 0x16140a, - 0x16187f, 0x1625de, 0x1629ab, 0x163141, 0x163d34, 0x164676, 0x164a03, - 0x1652e9, 0x165e9c, 0x16633d, 0x166f48, 0x1677a2, 0x167bd7, 0x168126, - 0x168d53, 0x1695b9, 0x1699cc, 0x16a46d, 0x16a818, 0x16b0f2, 0x16bc87, - 0x16c7c5, 0x16cbb0, 0x16d35a, 0x16df2f, 0x16e28e, 0x16eefb, 0x16f611, - 0x16fa64, 0x1703f3, 0x170f86, 0x17176c, 0x171b19, 0x1726b8, 0x172acd, - 0x173227, 0x173e52, 0x174510, 0x174965, 0x17518f, 0x175dfa, 0x17605b, - 0x176c2e, 0x1774c4, 0x1778b1, 0x178240, 0x178e35, 0x1796df, 0x179aaa, - 0x17a70b, 0x17ab7e, 0x17b394, 0x17bfe1, 0x17c4a3, 0x17c8d6, 0x17d03c, - 0x17dc49, 0x17e1e8, 0x17ed9d, 0x17f577, 0x17f902, 0x18046e, 0x18081b, - 0x1810f1, 0x181c84, 0x182125, 0x182d50, 0x1835ba, 0x1839cf, 0x18428d, - 0x184ef8, 0x185612, 0x185a67, 0x1867c6, 0x186bb3, 0x187359, 0x187f2c, - 0x1885dd, 0x1889a8, 0x189142, 0x189d37, 0x18a096, 0x18ace3, 0x18b409, - 0x18b87c, 0x18c33e, 0x18cf4b, 0x18d7a1, 0x18dbd4, 0x18e675, 0x18ea00, - 0x18f2ea, 0x18fe9f, 0x190708, 0x190b7d, 0x191397, 0x191fe2, 0x192243, - 0x192e36, 0x1936dc, 0x193aa9, 0x1941eb, 0x194d9e, 0x195574, 0x195901, - 0x1964a0, 0x1968d5, 0x19703f, 0x197c4a, 0x1986bb, 0x198ace, 0x199224, - 0x199e51, 0x19a3f0, 0x19af85, 0x19b76f, 0x19bb1a, 0x19c058, 0x19cc2d, - 0x19d4c7, 0x19d8b2, 0x19e513, 0x19e966, 0x19f18c, 0x19fdf9, 0x1a02a2, - 0x1a0ed7, 0x1a163d, 0x1a1a48, 0x1a27e9, 0x1a2b9c, 0x1a3376, 0x1a3f03, - 0x1a4441, 0x1a4834, 0x1a50de, 0x1a5cab, 0x1a610a, 0x1a6d7f, 0x1a7595, - 0x1a79e0, 0x1a8311, 0x1a8f64, 0x1a978e, 0x1a9bfb, 0x1aa65a, 0x1aaa2f, - 0x1ab2c5, 0x1abeb0, 0x1ac5f2, 0x1ac987, 0x1ad16d, 0x1add18, 0x1ae0b9, - 0x1aeccc, 0x1af426, 0x1af853, 0x1b01c4, 0x1b0db1, 0x1b155b, 0x1b192e, - 0x1b248f, 0x1b28fa, 0x1b3010, 0x1b3c65, 0x1b4727, 0x1b4b52, 0x1b53b8, - 0x1b5fcd, 0x1b626c, 0x1b6e19, 0x1b76f3, 0x1b7a86, 0x1b8077, 0x1b8c02, - 0x1b94e8, 0x1b989d, 0x1ba53c, 0x1ba949, 0x1bb1a3, 0x1bbdd6, 0x1bc694, - 0x1bcae1, 0x1bd20b, 0x1bde7e, 0x1be3df, 0x1befaa, 0x1bf740, 0x1bfb35, - 0x1c0583, 0x1c09f6, 0x1c111c, 0x1c1d69, 0x1c20c8, 0x1c2cbd, 0x1c3457, - 0x1c3822, 0x1c4360, 0x1c4f15, 0x1c57ff, 0x1c5b8a, 0x1c662b, 0x1c6a5e, - 0x1c72b4, 0x1c7ec1, 0x1c8430, 0x1c8845, 0x1c90af, 0x1c9cda, 0x1ca17b, - 0x1cad0e, 0x1cb5e4, 0x1cb991, 0x1cc2d3, 0x1ccea6, 0x1cd64c, 0x1cda39, - 0x1ce798, 0x1cebed, 0x1cf307, 0x1cff72, 0x1d06e5, 0x1d0a90, 0x1d127a, - 0x1d1e0f, 0x1d23ae, 0x1d2fdb, 0x1d3731, 0x1d3b44, 0x1d4006, 0x1d4c73, - 0x1d5499, 0x1d58ec, 0x1d654d, 0x1d6938, 0x1d71d2, 0x1d7da7, 0x1d8756, - 0x1d8b23, 0x1d93c9, 0x1d9fbc, 0x1da21d, 0x1dae68, 0x1db682, 0x1dbaf7, - 0x1dc1b5, 0x1dcdc0, 0x1dd52a, 0x1dd95f, 0x1de4fe, 0x1de88b, 0x1df061, - 0x1dfc14, 0x1e034f, 0x1e0f3a, 0x1e17d0, 0x1e1ba5, 0x1e2604, 0x1e2a71, - 0x1e329b, 0x1e3eee, 0x1e45ac, 0x1e49d9, 0x1e5133, 0x1e5d46, 0x1e60e7, - 0x1e6c92, 0x1e7478, 0x1e780d, 0x1e82fc, 0x1e8e89, 0x1e9663, 0x1e9a16, - 0x1ea7b7, 0x1eabc2, 0x1eb328, 0x1ebf5d, 0x1ec41f, 0x1ec86a, 0x1ed080, - 0x1edcf5, 0x1ee154, 0x1eed21, 0x1ef5cb, 0x1ef9be, 0x1f0029, 0x1f0c5c, - 0x1f14b6, 0x1f18c3, 0x1f2562, 0x1f2917, 0x1f31fd, 0x1f3d88, 0x1f46ca, - 0x1f4abf, 0x1f5255, 0x1f5e20, 0x1f6381, 0x1f6ff4, 0x1f771e, 0x1f7b6b, - 0x1f819a, 0x1f8def, 0x1f9505, 0x1f9970, 0x1fa4d1, 0x1fa8a4, 0x1fb04e, - 0x1fbc3b, 0x1fc779, 0x1fcb0c, 0x1fd3e6, 0x1fdf93, 0x1fe232, 0x1fee47, - 0x1ff6ad, 0x1ffad8, 0x20031d, 0x200f68, 0x201782, 0x201bf7, 0x202656, - 0x202a23, 0x2032c9, 0x203ebc, 0x2045fe, 0x20498b, 0x205161, 0x205d14, - 0x2060b5, 0x206cc0, 0x20742a, 0x20785f, 0x2082ae, 0x208edb, 0x209631, - 0x209a44, 0x20a7e5, 0x20ab90, 0x20b37a, 0x20bf0f, 0x20c44d, 0x20c838, - 0x20d0d2, 0x20dca7, 0x20e106, 0x20ed73, 0x20f599, 0x20f9ec, 0x21007b, - 0x210c0e, 0x2114e4, 0x211891, 0x212530, 0x212945, 0x2131af, 0x213dda, - 0x214698, 0x214aed, 0x215207, 0x215e72, 0x2163d3, 0x216fa6, 0x21774c, - 0x217b39, 0x2181c8, 0x218dbd, 0x219557, 0x219922, 0x21a483, 0x21a8f6, - 0x21b01c, 0x21bc69, 0x21c72b, 0x21cb5e, 0x21d3b4, 0x21dfc1, 0x21e260, - 0x21ee15, 0x21f6ff, 0x21fa8a, 0x2205d1, 0x2209a4, 0x22114e, 0x221d3b, - 0x22209a, 0x222cef, 0x223405, 0x223870, 0x224332, 0x224f47, 0x2257ad, - 0x225bd8, 0x226679, 0x226a0c, 0x2272e6, 0x227e93, 0x228462, 0x228817, - 0x2290fd, 0x229c88, 0x22a129, 0x22ad5c, 0x22b5b6, 0x22b9c3, 0x22c281, - 0x22cef4, 0x22d61e, 0x22da6b, 0x22e7ca, 0x22ebbf, 0x22f355, 0x22ff20, - 0x2306b7, 0x230ac2, 0x231228, 0x231e5d, 0x2323fc, 0x232f89, 0x233763, - 0x233b16, 0x234054, 0x234c21, 0x2354cb, 0x2358be, 0x23651f, 0x23696a, - 0x237180, 0x237df5, 0x238704, 0x238b71, 0x23939b, 0x239fee, 0x23a24f, - 0x23ae3a, 0x23b6d0, 0x23baa5, 0x23c1e7, 0x23cd92, 0x23d578, 0x23d90d, - 0x23e4ac, 0x23e8d9, 0x23f033, 0x23fc46, 0x2402f0, 0x240e85, 0x24166f, - 0x241a1a, 0x2427bb, 0x242bce, 0x243324, 0x243f51, 0x244413, 0x244866, - 0x24508c, 0x245cf9, 0x246158, 0x246d2d, 0x2475c7, 0x2479b2, 0x248343, - 0x248f36, 0x2497dc, 0x249ba9, 0x24a608, 0x24aa7d, 0x24b297, 0x24bee2, - 0x24c5a0, 0x24c9d5, 0x24d13f, 0x24dd4a, 0x24e0eb, 0x24ec9e, 0x24f474, - 0x24f801, 0x250196, 0x250de3, 0x251509, 0x25197c, 0x2524dd, 0x2528a8, - 0x253042, 0x253c37, 0x254775, 0x254b00, 0x2553ea, 0x255f9f, 0x25623e, - 0x256e4b, 0x2576a1, 0x257ad4, 0x258025, 0x258c50, 0x2594ba, 0x2598cf, - 0x25a56e, 0x25a91b, 0x25b1f1, 0x25bd84, 0x25c6c6, 0x25cab3, 0x25d259, - 0x25de2c, 0x25e38d, 0x25eff8, 0x25f712, 0x25fb67, 0x26043c, 0x260849, - 0x2610a3, 0x261cd6, 0x262177, 0x262d02, 0x2635e8, 0x26399d, 0x2642df, - 0x264eaa, 0x265640, 0x265a35, 0x266794, 0x266be1, 0x26730b, 0x267f7e, - 0x26858f, 0x2689fa, 0x269110, 0x269d65, 0x26a0c4, 0x26acb1, 0x26b45b, - 0x26b82e, 0x26c36c, 0x26cf19, 0x26d7f3, 0x26db86, 0x26e627, 0x26ea52, - 0x26f2b8, 0x26fecd, 0x27075a, 0x270b2f, 0x2713c5, 0x271fb0, 0x272211, - 0x272e64, 0x27368e, 0x273afb, 0x2741b9, 0x274dcc, 0x275526, 0x275953, - 0x2764f2, 0x276887, 0x27706d, 0x277c18, 0x2786e9, 0x278a9c, 0x279276, - 0x279e03, 0x27a3a2, 0x27afd7, 0x27b73d, 0x27bb48, 0x27c00a, 0x27cc7f, - 0x27d495, 0x27d8e0, 0x27e541, 0x27e934, 0x27f1de, 0x27fdab, 0x2800c7, - 0x280cb2, 0x281458, 0x28182d, 0x28258c, 0x2829f9, 0x283113, 0x283d66, - 0x284624, 0x284a51, 0x2852bb, 0x285ece, 0x28636f, 0x286f1a, 0x2877f0, - 0x287b85, 0x288174, 0x288d01, 0x2895eb, 0x28999e, 0x28a43f, 0x28a84a, - 0x28b0a0, 0x28bcd5, 0x28c797, 0x28cbe2, 0x28d308, 0x28df7d, 0x28e2dc, - 0x28eea9, 0x28f643, 0x28fa36, 0x2903a1, 0x290fd4, 0x29173e, 0x291b4b, - 0x2926ea, 0x292a9f, 0x293275, 0x293e00, 0x294542, 0x294937, 0x2951dd, - 0x295da8, 0x296009, 0x296c7c, 0x297496, 0x2978e3, 0x298212, 0x298e67, - 0x29968d, 0x299af8, 0x29a759, 0x29ab2c, 0x29b3c6, 0x29bfb3, 0x29c4f1, - 0x29c884, 0x29d06e, 0x29dc1b, 0x29e1ba, 0x29edcf, 0x29f525, 0x29f950, - 0x2a060b, 0x2a0a7e, 0x2a1294, 0x2a1ee1, 0x2a2340, 0x2a2f35, 0x2a37df, - 0x2a3baa, 0x2a40e8, 0x2a4c9d, 0x2a5477, 0x2a5802, 0x2a65a3, 0x2a69d6, - 0x2a713c, 0x2a7d49, 0x2a87b8, 0x2a8bcd, 0x2a9327, 0x2a9f52, 0x2aa2f3, - 0x2aae86, 0x2ab66c, 0x2aba19, 0x2ac15b, 0x2acd2e, 0x2ad5c4, 0x2ad9b1, - 0x2ae410, 0x2ae865, 0x2af08f, 0x2afcfa, 0x2b056d, 0x2b0918, 0x2b11f2, - 0x2b1d87, 0x2b2026, 0x2b2c53, 0x2b34b9, 0x2b38cc, 0x2b438e, 0x2b4ffb, - 0x2b5711, 0x2b5b64, 0x2b66c5, 0x2b6ab0, 0x2b725a, 0x2b7e2f, 0x2b84de, - 0x2b88ab, 0x2b9041, 0x2b9c34, 0x2ba195, 0x2bade0, 0x2bb50a, 0x2bb97f, - 0x2bc23d, 0x2bce48, 0x2bd6a2, 0x2bdad7, 0x2be776, 0x2beb03, 0x2bf3e9, - 0x2bff9c, 0x2c012a, 0x2c0d5f, 0x2c15b5, 0x2c19c0, 0x2c2461, 0x2c2814, - 0x2c30fe, 0x2c3c8b, 0x2c47c9, 0x2c4bbc, 0x2c5356, 0x2c5f23, 0x2c6282, - 0x2c6ef7, 0x2c761d, 0x2c7a68, 0x2c8099, 0x2c8cec, 0x2c9406, 0x2c9873, - 0x2ca5d2, 0x2ca9a7, 0x2cb14d, 0x2cbd38, 0x2cc67a, 0x2cca0f, 0x2cd2e5, - 0x2cde90, 0x2ce331, 0x2cef44, 0x2cf7ae, 0x2cfbdb, 0x2d024c, 0x2d0e39, - 0x2d16d3, 0x2d1aa6, 0x2d2707, 0x2d2b72, 0x2d3398, 0x2d3fed, 0x2d44af, - 0x2d48da, 0x2d5030, 0x2d5c45, 0x2d61e4, 0x2d6d91, 0x2d757b, 0x2d790e, - 0x2d83ff, 0x2d8f8a, 0x2d9760, 0x2d9b15, 0x2da6b4, 0x2daac1, 0x2db22b, - 0x2dbe5e, 0x2dc51c, 0x2dc969, 0x2dd183, 0x2dddf6, 0x2de057, 0x2dec22, - 0x2df4c8, 0x2df8bd, 0x2e07e6, 0x2e0b93, 0x2e1379, 0x2e1f0c, 0x2e22ad, - 0x2e2ed8, 0x2e3632, 0x2e3a47, 0x2e4105, 0x2e4d70, 0x2e559a, 0x2e59ef, - 0x2e644e, 0x2e683b, 0x2e70d1, 0x2e7ca4, 0x2e8655, 0x2e8a20, 0x2e92ca, - 0x2e9ebf, 0x2ea31e, 0x2eaf6b, 0x2eb781, 0x2ebbf4, 0x2ec0b6, 0x2eccc3, - 0x2ed429, 0x2ed85c, 0x2ee5fd, 0x2ee988, 0x2ef162, 0x2efd17, 0x2f0480, - 0x2f08f5, 0x2f101f, 0x2f1c6a, 0x2f21cb, 0x2f2dbe, 0x2f3554, 0x2f3921, - 0x2f4263, 0x2f4e16, 0x2f56fc, 0x2f5a89, 0x2f6728, 0x2f6b5d, 0x2f73b7, - 0x2f7fc2, 0x2f8533, 0x2f8946, 0x2f91ac, 0x2f9dd9, 0x2fa078, 0x2fac0d, - 0x2fb4e7, 0x2fb892, 0x2fc3d0, 0x2fcfa5, 0x2fd74f, 0x2fdb3a, 0x2fe69b, - 0x2feaee, 0x2ff204, 0x2ffe71, 0x3004a9, 0x3008dc, 0x301036, 0x301c43, - 0x3021e2, 0x302d97, 0x30357d, 0x303908, 0x30424a, 0x304e3f, 0x3056d5, - 0x305aa0, 0x306701, 0x306b74, 0x30739e, 0x307feb, 0x30851a, 0x30896f, - 0x309185, 0x309df0, 0x30a051, 0x30ac24, 0x30b4ce, 0x30b8bb, 0x30c3f9, - 0x30cf8c, 0x30d766, 0x30db13, 0x30e6b2, 0x30eac7, 0x30f22d, 0x30fe58, - 0x3107cf, 0x310bba, 0x311350, 0x311f25, 0x312284, 0x312ef1, 0x31361b, - 0x313a6e, 0x31412c, 0x314d59, 0x3155b3, 0x3159c6, 0x316467, 0x316812, - 0x3170f8, 0x317c8d, 0x31867c, 0x318a09, 0x3192e3, 0x319e96, 0x31a337, - 0x31af42, 0x31b7a8, 0x31bbdd, 0x31c09f, 0x31ccea, 0x31d400, 0x31d875, - 0x31e5d4, 0x31e9a1, 0x31f14b, 0x31fd3e, 0x320265, 0x320e10, 0x3216fa, - 0x321a8f, 0x32272e, 0x322b5b, 0x3233b1, 0x323fc4, 0x324486, 0x3248f3, - 0x325019, 0x325c6c, 0x3261cd, 0x326db8, 0x327552, 0x327927, 0x3283d6, - 0x328fa3, 0x329749, 0x329b3c, 0x32a69d, 0x32aae8, 0x32b202, 0x32be77, - 0x32c535, 0x32c940, 0x32d1aa, 0x32dddf, 0x32e07e, 0x32ec0b, 0x32f4e1, - 0x32f894, 0x330103, 0x330d76, 0x33159c, 0x3319e9, 0x332448, 0x33283d, - 0x3330d7, 0x333ca2, 0x3347e0, 0x334b95, 0x33537f, 0x335f0a, 0x3362ab, - 0x336ede, 0x337634, 0x337a41, 0x3380b0, 0x338cc5, 0x33942f, 0x33985a, - 0x33a5fb, 0x33a98e, 0x33b164, 0x33bd11, 0x33c653, 0x33ca26, 0x33d2cc, - 0x33deb9, 0x33e318, 0x33ef6d, 0x33f787, 0x33fbf2, 0x340544, 0x340931, - 0x3411db, 0x341dae, 0x34200f, 0x342c7a, 0x343490, 0x3438e5, 0x3443a7, - 0x344fd2, 0x345738, 0x345b4d, 0x3466ec, 0x346a99, 0x347273, 0x347e06, - 0x3484f7, 0x348882, 0x349068, 0x349c1d, 0x34a1bc, 0x34adc9, 0x34b523, - 0x34b956, 0x34c214, 0x34ce61, 0x34d68b, 0x34dafe, 0x34e75f, 0x34eb2a, - 0x34f3c0, 0x34ffb5, 0x350622, 0x350a57, 0x3512bd, 0x351ec8, 0x352369, - 0x352f1c, 0x3537f6, 0x353b83, 0x3540c1, 0x354cb4, 0x35545e, 0x35582b, - 0x35658a, 0x3569ff, 0x357115, 0x357d60, 0x358791, 0x358be4, 0x35930e, - 0x359f7b, 0x35a2da, 0x35aeaf, 0x35b645, 0x35ba30, 0x35c172, 0x35cd07, - 0x35d5ed, 0x35d998, 0x35e439, 0x35e84c, 0x35f0a6, 0x35fcd3, 0x360388, - 0x360ffd, 0x361717, 0x361b62, 0x3626c3, 0x362ab6, 0x36325c, 0x363e29, - 0x36456b, 0x36491e, 0x3651f4, 0x365d81, 0x366020, 0x366c55, 0x3674bf, - 0x3678ca, 0x36823b, 0x368e4e, 0x3696a4, 0x369ad1, 0x36a770, 0x36ab05, - 0x36b3ef, 0x36bf9a, 0x36c4d8, 0x36c8ad, 0x36d047, 0x36dc32, 0x36e193, - 0x36ede6, 0x36f50c, 0x36f979, 0x3700ee, 0x370c9b, 0x371471, 0x371804, - 0x3725a5, 0x3729d0, 0x37313a, 0x373d4f, 0x37460d, 0x374a78, 0x375292, - 0x375ee7, 0x376346, 0x376f33, 0x3777d9, 0x377bac, 0x37815d, 0x378d28, - 0x3795c2, 0x3799b7, 0x37a416, 0x37a863, 0x37b089, 0x37bcfc, 0x37c7be, - 0x37cbcb, 0x37d321, 0x37df54, 0x37e2f5, 0x37ee80, 0x37f66a, 0x37fa1f, - 0x380773, 0x380b06, 0x3813ec, 0x381f99, 0x382238, 0x382e4d, 0x3836a7, - 0x383ad2, 0x384190, 0x384de5, 0x38550f, 0x38597a, 0x3864db, 0x3868ae, - 0x387044, 0x387c31, 0x3886c0, 0x388ab5, 0x38925f, 0x389e2a, 0x38a38b, - 0x38affe, 0x38b714, 0x38bb61, 0x38c023, 0x38cc56, 0x38d4bc, 0x38d8c9, - 0x38e568, 0x38e91d, 0x38f1f7, 0x38fd82, 0x390415, 0x390860, 0x39108a, - 0x391cff, 0x39215e, 0x392d2b, 0x3935c1, 0x3939b4, 0x3942f6, 0x394e83, - 0x395669, 0x395a1c, 0x3967bd, 0x396bc8, 0x397322, 0x397f57, 0x3985a6, - 0x3989d3, 0x399139, 0x399d4c, 0x39a0ed, 0x39ac98, 0x39b472, 0x39b807, - 0x39c345, 0x39cf30, 0x39d7da, 0x39dbaf, 0x39e60e, 0x39ea7b, 0x39f291, - 0x39fee4, 0x3a01bf, 0x3a0dca, 0x3a1520, 0x3a1955, 0x3a24f4, 0x3a2881, - 0x3a306b, 0x3a3c1e, 0x3a475c, 0x3a4b29, 0x3a53c3, 0x3a5fb6, 0x3a6217, - 0x3a6e62, 0x3a7688, 0x3a7afd, 0x3a800c, 0x3a8c79, 0x3a9493, 0x3a98e6, - 0x3aa547, 0x3aa932, 0x3ab1d8, 0x3abdad, 0x3ac6ef, 0x3aca9a, 0x3ad270, - 0x3ade05, 0x3ae3a4, 0x3aefd1, 0x3af73b, 0x3afb4e, 0x3b02d9, 0x3b0eac, - 0x3b1646, 0x3b1a33, 0x3b2792, 0x3b2be7, 0x3b330d, 0x3b3f78, 0x3b443a, - 0x3b484f, 0x3b50a5, 0x3b5cd0, 0x3b6171, 0x3b6d04, 0x3b75ee, 0x3b799b, - 0x3b836a, 0x3b8f1f, 0x3b97f5, 0x3b9b80, 0x3ba621, 0x3baa54, 0x3bb2be, - 0x3bbecb, 0x3bc589, 0x3bc9fc, 0x3bd116, 0x3bdd63, 0x3be0c2, 0x3becb7, - 0x3bf45d, 0x3bf828, 0x3c069e, 0x3c0aeb, 0x3c1201, 0x3c1e74, 0x3c23d5, - 0x3c2fa0, 0x3c374a, 0x3c3b3f, 0x3c407d, 0x3c4c08, 0x3c54e2, 0x3c5897, - 0x3c6536, 0x3c6943, 0x3c71a9, 0x3c7ddc, 0x3c872d, 0x3c8b58, 0x3c93b2, - 0x3c9fc7, 0x3ca266, 0x3cae13, 0x3cb6f9, 0x3cba8c, 0x3cc1ce, 0x3ccdbb, - 0x3cd551, 0x3cd924, 0x3ce485, 0x3ce8f0, 0x3cf01a, 0x3cfc6f, 0x3d05f8, - 0x3d098d, 0x3d1167, 0x3d1d12, 0x3d20b3, 0x3d2cc6, 0x3d342c, 0x3d3859, - 0x3d431b, 0x3d4f6e, 0x3d5784, 0x3d5bf1, 0x3d6650, 0x3d6a25, 0x3d72cf, - 0x3d7eba, 0x3d844b, 0x3d883e, 0x3d90d4, 0x3d9ca1, 0x3da100, 0x3dad75, - 0x3db59f, 0x3db9ea, 0x3dc2a8, 0x3dcedd, 0x3dd637, 0x3dda42, 0x3de7e3, - 0x3deb96, 0x3df37c, 0x3dff09, 0x3e0052, 0x3e0c27, 0x3e14cd, 0x3e18b8, - 0x3e2519, 0x3e296c, 0x3e3186, 0x3e3df3, 0x3e46b1, 0x3e4ac4, 0x3e522e, - 0x3e5e5b, 0x3e63fa, 0x3e6f8f, 0x3e7765, 0x3e7b10, 0x3e81e1, 0x3e8d94, - 0x3e957e, 0x3e990b, 0x3ea4aa, 0x3ea8df, 0x3eb035, 0x3ebc40, 0x3ec702, - 0x3ecb77, 0x3ed39d, 0x3edfe8, 0x3ee249, 0x3eee3c, 0x3ef6d6, 0x3efaa3, - 0x3f0334, 0x3f0f41, 0x3f17ab, 0x3f1bde, 0x3f267f, 0x3f2a0a, 0x3f32e0, - 0x3f3e95, 0x3f45d7, 0x3f49a2, 0x3f5148, 0x3f5d3d, 0x3f609c, 0x3f6ce9, - 0x3f7403, 0x3f7876, 0x3f8287, 0x3f8ef2, 0x3f9618, 0x3f9a6d, 0x3fa7cc, - 0x3fabb9, 0x3fb353, 0x3fbf26, 0x3fc464, 0x3fc811, 0x3fd0fb, 0x3fdc8e, - 0x3fe12f, 0x3fed5a, 0x3ff5b0, 0x3ff9c5, 0x40063a, 0x400a4f, 0x4012a5, - 0x401ed0, 0x402371, 0x402f04, 0x4037ee, 0x403b9b, 0x4040d9, 0x404cac, - 0x405446, 0x405833, 0x406592, 0x4069e7, 0x40710d, 0x407d78, 0x408789, - 0x408bfc, 0x409316, 0x409f63, 0x40a2c2, 0x40aeb7, 0x40b65d, 0x40ba28, - 0x40c16a, 0x40cd1f, 0x40d5f5, 0x40d980, 0x40e421, 0x40e854, 0x40f0be, - 0x40fccb, 0x41055c, 0x410929, 0x4111c3, 0x411db6, 0x412017, 0x412c62, - 0x413488, 0x4138fd, 0x4143bf, 0x414fca, 0x415720, 0x415b55, 0x4166f4, - 0x416a81, 0x41726b, 0x417e1e, 0x4184ef, 0x41889a, 0x419070, 0x419c05, - 0x41a1a4, 0x41add1, 0x41b53b, 0x41b94e, 0x41c20c, 0x41ce79, 0x41d693, - 0x41dae6, 0x41e747, 0x41eb32, 0x41f3d8, 0x41ffad, 0x4200f6, 0x420c83, - 0x421469, 0x42181c, 0x4225bd, 0x4229c8, 0x423122, 0x423d57, 0x424615, - 0x424a60, 0x42528a, 0x425eff, 0x42635e, 0x426f2b, 0x4277c1, 0x427bb4, - 0x428145, 0x428d30, 0x4295da, 0x4299af, 0x42a40e, 0x42a87b, 0x42b091, - 0x42bce4, 0x42c7a6, 0x42cbd3, 0x42d339, 0x42df4c, 0x42e2ed, 0x42ee98, - 0x42f672, 0x42fa07, 0x430390, 0x430fe5, 0x43170f, 0x431b7a, 0x4326db, - 0x432aae, 0x433244, 0x433e31, 0x434573, 0x434906, 0x4351ec, 0x435d99, - 0x436038, 0x436c4d, 0x4374a7, 0x4378d2, 0x438223, 0x438e56, 0x4396bc, - 0x439ac9, 0x43a768, 0x43ab1d, 0x43b3f7, 0x43bf82, 0x43c4c0, 0x43c8b5, - 0x43d05f, 0x43dc2a, 0x43e18b, 0x43edfe, 0x43f514, 0x43f961, 0x4407d7, - 0x440ba2, 0x441348, 0x441f3d, 0x44229c, 0x442ee9, 0x443603, 0x443a76, - 0x444134, 0x444d41, 0x4455ab, 0x4459de, 0x44647f, 0x44680a, 0x4470e0, - 0x447c95, 0x448664, 0x448a11, 0x4492fb, 0x449e8e, 0x44a32f, 0x44af5a, - 0x44b7b0, 0x44bbc5, 0x44c087, 0x44ccf2, 0x44d418, 0x44d86d, 0x44e5cc, - 0x44e9b9, 0x44f153, 0x44fd26, 0x4504b1, 0x4508c4, 0x45102e, 0x451c5b, - 0x4521fa, 0x452d8f, 0x453565, 0x453910, 0x454252, 0x454e27, 0x4556cd, - 0x455ab8, 0x456719, 0x456b6c, 0x457386, 0x457ff3, 0x458502, 0x458977, - 0x45919d, 0x459de8, 0x45a049, 0x45ac3c, 0x45b4d6, 0x45b8a3, 0x45c3e1, - 0x45cf94, 0x45d77e, 0x45db0b, 0x45e6aa, 0x45eadf, 0x45f235, 0x45fe40, - 0x46011b, 0x460d6e, 0x461584, 0x4619f1, 0x462450, 0x462825, 0x4630cf, - 0x463cba, 0x4647f8, 0x464b8d, 0x465367, 0x465f12, 0x4662b3, 0x466ec6, - 0x46762c, 0x467a59, 0x4680a8, 0x468cdd, 0x469437, 0x469842, 0x46a5e3, - 0x46a996, 0x46b17c, 0x46bd09, 0x46c64b, 0x46ca3e, 0x46d2d4, 0x46dea1, - 0x46e300, 0x46ef75, 0x46f79f, 0x46fbea, 0x47027d, 0x470e08, 0x4716e2, - 0x471a97, 0x472736, 0x472b43, 0x4733a9, 0x473fdc, 0x47449e, 0x4748eb, - 0x475001, 0x475c74, 0x4761d5, 0x476da0, 0x47754a, 0x47793f, 0x4783ce, - 0x478fbb, 0x479751, 0x479b24, 0x47a685, 0x47aaf0, 0x47b21a, 0x47be6f, - 0x47c52d, 0x47c958, 0x47d1b2, 0x47ddc7, 0x47e066, 0x47ec13, 0x47f4f9, - 0x47f88c, 0x4805e0, 0x480995, 0x48117f, 0x481d0a, 0x4820ab, 0x482cde, - 0x483434, 0x483841, 0x484303, 0x484f76, 0x48579c, 0x485be9, 0x486648, - 0x486a3d, 0x4872d7, 0x487ea2, 0x488453, 0x488826, 0x4890cc, 0x489cb9, - 0x48a118, 0x48ad6d, 0x48b587, 0x48b9f2, 0x48c2b0, 0x48cec5, 0x48d62f, - 0x48da5a, 0x48e7fb, 0x48eb8e, 0x48f364, 0x48ff11, 0x490686, 0x490af3, - 0x491219, 0x491e6c, 0x4923cd, 0x492fb8, 0x493752, 0x493b27, 0x494065, - 0x494c10, 0x4954fa, 0x49588f, 0x49652e, 0x49695b, 0x4971b1, 0x497dc4, - 0x498735, 0x498b40, 0x4993aa, 0x499fdf, 0x49a27e, 0x49ae0b, 0x49b6e1, - 0x49ba94, 0x49c1d6, 0x49cda3, 0x49d549, 0x49d93c, 0x49e49d, 0x49e8e8, - 0x49f002, 0x49fc77, 0x4a032c, 0x4a0f59, 0x4a17b3, 0x4a1bc6, 0x4a2667, - 0x4a2a12, 0x4a32f8, 0x4a3e8d, 0x4a45cf, 0x4a49ba, 0x4a5150, 0x4a5d25, - 0x4a6084, 0x4a6cf1, 0x4a741b, 0x4a786e, 0x4a829f, 0x4a8eea, 0x4a9600, - 0x4a9a75, 0x4aa7d4, 0x4aaba1, 0x4ab34b, 0x4abf3e, 0x4ac47c, 0x4ac809, - 0x4ad0e3, 0x4adc96, 0x4ae137, 0x4aed42, 0x4af5a8, 0x4af9dd, 0x4b004a, - 0x4b0c3f, 0x4b14d5, 0x4b18a0, 0x4b2501, 0x4b2974, 0x4b319e, 0x4b3deb, - 0x4b46a9, 0x4b4adc, 0x4b5236, 0x4b5e43, 0x4b63e2, 0x4b6f97, 0x4b777d, - 0x4b7b08, 0x4b81f9, 0x4b8d8c, 0x4b9566, 0x4b9913, 0x4ba4b2, 0x4ba8c7, - 0x4bb02d, 0x4bbc58, 0x4bc71a, 0x4bcb6f, 0x4bd385, 0x4bdff0, 0x4be251, - 0x4bee24, 0x4bf6ce, 0x4bfabb, 0x4c040d, 0x4c0878, 0x4c1092, 0x4c1ce7, - 0x4c2146, 0x4c2d33, 0x4c35d9, 0x4c39ac, 0x4c42ee, 0x4c4e9b, 0x4c5671, - 0x4c5a04, 0x4c67a5, 0x4c6bd0, 0x4c733a, 0x4c7f4f, 0x4c85be, 0x4c89cb, - 0x4c9121, 0x4c9d54, 0x4ca0f5, 0x4cac80, 0x4cb46a, 0x4cb81f, 0x4cc35d, - 0x4ccf28, 0x4cd7c2, 0x4cdbb7, 0x4ce616, 0x4cea63, 0x4cf289, 0x4cfefc, - 0x4d076b, 0x4d0b1e, 0x4d13f4, 0x4d1f81, 0x4d2220, 0x4d2e55, 0x4d36bf, - 0x4d3aca, 0x4d4188, 0x4d4dfd, 0x4d5517, 0x4d5962, 0x4d64c3, 0x4d68b6, - 0x4d705c, 0x4d7c29, 0x4d86d8, 0x4d8aad, 0x4d9247, 0x4d9e32, 0x4da393, - 0x4dafe6, 0x4db70c, 0x4dbb79, 0x4dc03b, 0x4dcc4e, 0x4dd4a4, 0x4dd8d1, - 0x4de570, 0x4de905, 0x4df1ef, 0x4dfd9a, 0x4e02c1, 0x4e0eb4, 0x4e165e, - 0x4e1a2b, 0x4e278a, 0x4e2bff, 0x4e3315, 0x4e3f60, 0x4e4422, 0x4e4857, - 0x4e50bd, 0x4e5cc8, 0x4e6169, 0x4e6d1c, 0x4e75f6, 0x4e7983, 0x4e8372, - 0x4e8f07, 0x4e97ed, 0x4e9b98, 0x4ea639, 0x4eaa4c, 0x4eb2a6, 0x4ebed3, - 0x4ec591, 0x4ec9e4, 0x4ed10e, 0x4edd7b, 0x4ee0da, 0x4eecaf, 0x4ef445, - 0x4ef830, 0x4f01a7, 0x4f0dd2, 0x4f1538, 0x4f194d, 0x4f24ec, 0x4f2899, - 0x4f3073, 0x4f3c06, 0x4f4744, 0x4f4b31, 0x4f53db, 0x4f5fae, 0x4f620f, - 0x4f6e7a, 0x4f7690, 0x4f7ae5, 0x4f8014, 0x4f8c61, 0x4f948b, 0x4f98fe, - 0x4fa55f, 0x4fa92a, 0x4fb1c0, 0x4fbdb5, 0x4fc6f7, 0x4fca82, 0x4fd268, - 0x4fde1d, 0x4fe3bc, 0x4fefc9, 0x4ff723, 0x4ffb56, 0x50018e, 0x500dfb, - 0x501511, 0x501964, 0x5024c5, 0x5028b0, 0x50305a, 0x503c2f, 0x50476d, - 0x504b18, 0x5053f2, 0x505f87, 0x506226, 0x506e53, 0x5076b9, 0x507acc, - 0x50803d, 0x508c48, 0x5094a2, 0x5098d7, 0x50a576, 0x50a903, 0x50b1e9, - 0x50bd9c, 0x50c6de, 0x50caab, 0x50d241, 0x50de34, 0x50e395, 0x50efe0, - 0x50f70a, 0x50fb7f, 0x5102e8, 0x510e9d, 0x511677, 0x511a02, 0x5127a3, - 0x512bd6, 0x51333c, 0x513f49, 0x51440b, 0x51487e, 0x515094, 0x515ce1, - 0x516140, 0x516d35, 0x5175df, 0x5179aa, 0x51835b, 0x518f2e, 0x5197c4, - 0x519bb1, 0x51a610, 0x51aa65, 0x51b28f, 0x51befa, 0x51c5b8, 0x51c9cd, - 0x51d127, 0x51dd52, 0x51e0f3, 0x51ec86, 0x51f46c, 0x51f819, 0x520742, - 0x520b37, 0x5213dd, 0x521fa8, 0x522209, 0x522e7c, 0x523696, 0x523ae3, - 0x5241a1, 0x524dd4, 0x52553e, 0x52594b, 0x5264ea, 0x52689f, 0x527075, - 0x527c00, 0x5286f1, 0x528a84, 0x52926e, 0x529e1b, 0x52a3ba, 0x52afcf, - 0x52b725, 0x52bb50, 0x52c012, 0x52cc67, 0x52d48d, 0x52d8f8, 0x52e559, - 0x52e92c, 0x52f1c6, 0x52fdb3, 0x530424, 0x530851, 0x5310bb, 0x531cce, - 0x53216f, 0x532d1a, 0x5335f0, 0x533985, 0x5342c7, 0x534eb2, 0x535658, - 0x535a2d, 0x53678c, 0x536bf9, 0x537313, 0x537f66, 0x538597, 0x5389e2, - 0x539108, 0x539d7d, 0x53a0dc, 0x53aca9, 0x53b443, 0x53b836, 0x53c374, - 0x53cf01, 0x53d7eb, 0x53db9e, 0x53e63f, 0x53ea4a, 0x53f2a0, 0x53fed5, - 0x540063, 0x540c16, 0x5414fc, 0x541889, 0x542528, 0x54295d, 0x5431b7, - 0x543dc2, 0x544680, 0x544af5, 0x54521f, 0x545e6a, 0x5463cb, 0x546fbe, - 0x547754, 0x547b21, 0x5481d0, 0x548da5, 0x54954f, 0x54993a, 0x54a49b, - 0x54a8ee, 0x54b004, 0x54bc71, 0x54c733, 0x54cb46, 0x54d3ac, 0x54dfd9, - 0x54e278, 0x54ee0d, 0x54f6e7, 0x54fa92, 0x550305, 0x550f70, 0x55179a, - 0x551bef, 0x55264e, 0x552a3b, 0x5532d1, 0x553ea4, 0x5545e6, 0x554993, - 0x555179, 0x555d0c, 0x5560ad, 0x556cd8, 0x557432, 0x557847, 0x5582b6, - 0x558ec3, 0x559629, 0x559a5c, 0x55a7fd, 0x55ab88, 0x55b362, 0x55bf17, - 0x55c455, 0x55c820, 0x55d0ca, 0x55dcbf, 0x55e11e, 0x55ed6b, 0x55f581, - 0x55f9f4, 0x5606af, 0x560ada, 0x561230, 0x561e45, 0x5623e4, 0x562f91, - 0x56377b, 0x563b0e, 0x56404c, 0x564c39, 0x5654d3, 0x5658a6, 0x566507, - 0x566972, 0x567198, 0x567ded, 0x56871c, 0x568b69, 0x569383, 0x569ff6, - 0x56a257, 0x56ae22, 0x56b6c8, 0x56babd, 0x56c1ff, 0x56cd8a, 0x56d560, - 0x56d915, 0x56e4b4, 0x56e8c1, 0x56f02b, 0x56fc5e, 0x5705c9, 0x5709bc, - 0x571156, 0x571d23, 0x572082, 0x572cf7, 0x57341d, 0x573868, 0x57432a, - 0x574f5f, 0x5757b5, 0x575bc0, 0x576661, 0x576a14, 0x5772fe, 0x577e8b, - 0x57847a, 0x57880f, 0x5790e5, 0x579c90, 0x57a131, 0x57ad44, 0x57b5ae, - 0x57b9db, 0x57c299, 0x57ceec, 0x57d606, 0x57da73, 0x57e7d2, 0x57eba7, - 0x57f34d, 0x57ff38, 0x580254, 0x580e21, 0x5816cb, 0x581abe, 0x58271f, - 0x582b6a, 0x583380, 0x583ff5, 0x5844b7, 0x5848c2, 0x585028, 0x585c5d, - 0x5861fc, 0x586d89, 0x587563, 0x587916, 0x5883e7, 0x588f92, 0x589778, - 0x589b0d, 0x58a6ac, 0x58aad9, 0x58b233, 0x58be46, 0x58c504, 0x58c971, - 0x58d19b, 0x58ddee, 0x58e04f, 0x58ec3a, 0x58f4d0, 0x58f8a5, 0x590132, - 0x590d47, 0x5915ad, 0x5919d8, 0x592479, 0x59280c, 0x5930e6, 0x593c93, - 0x5947d1, 0x594ba4, 0x59534e, 0x595f3b, 0x59629a, 0x596eef, 0x597605, - 0x597a70, 0x598081, 0x598cf4, 0x59941e, 0x59986b, 0x59a5ca, 0x59a9bf, - 0x59b155, 0x59bd20, 0x59c662, 0x59ca17, 0x59d2fd, 0x59de88, 0x59e329, - 0x59ef5c, 0x59f7b6, 0x59fbc3, 0x5a0498, 0x5a08ed, 0x5a1007, 0x5a1c72, - 0x5a21d3, 0x5a2da6, 0x5a354c, 0x5a3939, 0x5a427b, 0x5a4e0e, 0x5a56e4, - 0x5a5a91, 0x5a6730, 0x5a6b45, 0x5a73af, 0x5a7fda, 0x5a852b, 0x5a895e, - 0x5a91b4, 0x5a9dc1, 0x5aa060, 0x5aac15, 0x5ab4ff, 0x5ab88a, 0x5ac3c8, - 0x5acfbd, 0x5ad757, 0x5adb22, 0x5ae683, 0x5aeaf6, 0x5af21c, 0x5afe69, - 0x5b07fe, 0x5b0b8b, 0x5b1361, 0x5b1f14, 0x5b22b5, 0x5b2ec0, 0x5b362a, - 0x5b3a5f, 0x5b411d, 0x5b4d68, 0x5b5582, 0x5b59f7, 0x5b6456, 0x5b6823, - 0x5b70c9, 0x5b7cbc, 0x5b864d, 0x5b8a38, 0x5b92d2, 0x5b9ea7, 0x5ba306, - 0x5baf73, 0x5bb799, 0x5bbbec, 0x5bc0ae, 0x5bccdb, 0x5bd431, 0x5bd844, - 0x5be5e5, 0x5be990, 0x5bf17a, 0x5bfd0f, 0x5c03b9, 0x5c0fcc, 0x5c1726, - 0x5c1b53, 0x5c26f2, 0x5c2a87, 0x5c326d, 0x5c3e18, 0x5c455a, 0x5c492f, - 0x5c51c5, 0x5c5db0, 0x5c6011, 0x5c6c64, 0x5c748e, 0x5c78fb, 0x5c820a, - 0x5c8e7f, 0x5c9695, 0x5c9ae0, 0x5ca741, 0x5cab34, 0x5cb3de, 0x5cbfab, - 0x5cc4e9, 0x5cc89c, 0x5cd076, 0x5cdc03, 0x5ce1a2, 0x5cedd7, 0x5cf53d, - 0x5cf948, 0x5d00df, 0x5d0caa, 0x5d1440, 0x5d1835, 0x5d2594, 0x5d29e1, - 0x5d310b, 0x5d3d7e, 0x5d463c, 0x5d4a49, 0x5d52a3, 0x5d5ed6, 0x5d6377, - 0x5d6f02, 0x5d77e8, 0x5d7b9d, 0x5d816c, 0x5d8d19, 0x5d95f3, 0x5d9986, - 0x5da427, 0x5da852, 0x5db0b8, 0x5dbccd, 0x5dc78f, 0x5dcbfa, 0x5dd310, - 0x5ddf65, 0x5de2c4, 0x5deeb1, 0x5df65b, 0x5dfa2e, 0x5e0575, 0x5e0900, - 0x5e11ea, 0x5e1d9f, 0x5e203e, 0x5e2c4b, 0x5e34a1, 0x5e38d4, 0x5e4396, - 0x5e4fe3, 0x5e5709, 0x5e5b7c, 0x5e66dd, 0x5e6aa8, 0x5e7242, 0x5e7e37, - 0x5e84c6, 0x5e88b3, 0x5e9059, 0x5e9c2c, 0x5ea18d, 0x5eadf8, 0x5eb512, - 0x5eb967, 0x5ec225, 0x5ece50, 0x5ed6ba, 0x5edacf, 0x5ee76e, 0x5eeb1b, - 0x5ef3f1, 0x5eff84, 0x5f0613, 0x5f0a66, 0x5f128c, 0x5f1ef9, 0x5f2358, - 0x5f2f2d, 0x5f37c7, 0x5f3bb2, 0x5f40f0, 0x5f4c85, 0x5f546f, 0x5f581a, - 0x5f65bb, 0x5f69ce, 0x5f7124, 0x5f7d51, 0x5f87a0, 0x5f8bd5, 0x5f933f, - 0x5f9f4a, 0x5fa2eb, 0x5fae9e, 0x5fb674, 0x5fba01, 0x5fc143, 0x5fcd36, - 0x5fd5dc, 0x5fd9a9, 0x5fe408, 0x5fe87d, 0x5ff097, 0x5ffce2, 0x600527, - 0x600952, 0x6011b8, 0x601dcd, 0x60206c, 0x602c19, 0x6034f3, 0x603886, - 0x6043c4, 0x604fb1, 0x60575b, 0x605b2e, 0x60668f, 0x606afa, 0x607210, - 0x607e65, 0x608494, 0x6088e1, 0x60900b, 0x609c7e, 0x60a1df, 0x60adaa, - 0x60b540, 0x60b935, 0x60c277, 0x60ce02, 0x60d6e8, 0x60da9d, 0x60e73c, - 0x60eb49, 0x60f3a3, 0x60ffd6, 0x610641, 0x610a34, 0x6112de, 0x611eab, - 0x61230a, 0x612f7f, 0x613795, 0x613be0, 0x6140a2, 0x614cd7, 0x61543d, - 0x615848, 0x6165e9, 0x61699c, 0x617176, 0x617d03, 0x6187f2, 0x618b87, - 0x61936d, 0x619f18, 0x61a2b9, 0x61aecc, 0x61b626, 0x61ba53, 0x61c111, - 0x61cd64, 0x61d58e, 0x61d9fb, 0x61e45a, 0x61e82f, 0x61f0c5, 0x61fcb0, - 0x6203eb, 0x620f9e, 0x621774, 0x621b01, 0x6226a0, 0x622ad5, 0x62323f, - 0x623e4a, 0x624508, 0x62497d, 0x625197, 0x625de2, 0x626043, 0x626c36, - 0x6274dc, 0x6278a9, 0x628258, 0x628e2d, 0x6296c7, 0x629ab2, 0x62a713, - 0x62ab66, 0x62b38c, 0x62bff9, 0x62c4bb, 0x62c8ce, 0x62d024, 0x62dc51, - 0x62e1f0, 0x62ed85, 0x62f56f, 0x62f91a, 0x63008d, 0x630cf8, 0x631412, - 0x631867, 0x6325c6, 0x6329b3, 0x633159, 0x633d2c, 0x63466e, 0x634a1b, - 0x6352f1, 0x635e84, 0x636325, 0x636f50, 0x6377ba, 0x637bcf, 0x63813e, - 0x638d4b, 0x6395a1, 0x6399d4, 0x63a475, 0x63a800, 0x63b0ea, 0x63bc9f, - 0x63c7dd, 0x63cba8, 0x63d342, 0x63df37, 0x63e296, 0x63eee3, 0x63f609, - 0x63fa7c, 0x6404ca, 0x6408bf, 0x641055, 0x641c20, 0x642181, 0x642df4, - 0x64351e, 0x64396b, 0x644229, 0x644e5c, 0x6456b6, 0x645ac3, 0x646762, - 0x646b17, 0x6473fd, 0x647f88, 0x648579, 0x64890c, 0x6491e6, 0x649d93, - 0x64a032, 0x64ac47, 0x64b4ad, 0x64b8d8, 0x64c39a, 0x64cfef, 0x64d705, - 0x64db70, 0x64e6d1, 0x64eaa4, 0x64f24e, 0x64fe3b, 0x6507ac, 0x650bd9, - 0x651333, 0x651f46, 0x6522e7, 0x652e92, 0x653678, 0x653a0d, 0x65414f, - 0x654d3a, 0x6555d0, 0x6559a5, 0x656404, 0x656871, 0x65709b, 0x657cee, - 0x65861f, 0x658a6a, 0x659280, 0x659ef5, 0x65a354, 0x65af21, 0x65b7cb, - 0x65bbbe, 0x65c0fc, 0x65cc89, 0x65d463, 0x65d816, 0x65e5b7, 0x65e9c2, - 0x65f128, 0x65fd5d, 0x660206, 0x660e73, 0x661699, 0x661aec, 0x66274d, - 0x662b38, 0x6633d2, 0x663fa7, 0x6644e5, 0x664890, 0x66507a, 0x665c0f, - 0x6661ae, 0x666ddb, 0x667531, 0x667944, 0x6683b5, 0x668fc0, 0x66972a, - 0x669b5f, 0x66a6fe, 0x66aa8b, 0x66b261, 0x66be14, 0x66c556, 0x66c923, - 0x66d1c9, 0x66ddbc, 0x66e01d, 0x66ec68, 0x66f482, 0x66f8f7, 0x670160, - 0x670d15, 0x6715ff, 0x67198a, 0x67242b, 0x67285e, 0x6730b4, 0x673cc1, - 0x674783, 0x674bf6, 0x67531c, 0x675f69, 0x6762c8, 0x676ebd, 0x677657, - 0x677a22, 0x6780d3, 0x678ca6, 0x67944c, 0x679839, 0x67a598, 0x67a9ed, - 0x67b107, 0x67bd72, 0x67c630, 0x67ca45, 0x67d2af, 0x67deda, 0x67e37b, - 0x67ef0e, 0x67f7e4, 0x67fb91, 0x6806fd, 0x680a88, 0x681262, 0x681e17, - 0x6823b6, 0x682fc3, 0x683729, 0x683b5c, 0x68401e, 0x684c6b, 0x685481, - 0x6858f4, 0x686555, 0x686920, 0x6871ca, 0x687dbf, 0x68874e, 0x688b3b, - 0x6893d1, 0x689fa4, 0x68a205, 0x68ae70, 0x68b69a, 0x68baef, 0x68c1ad, - 0x68cdd8, 0x68d532, 0x68d947, 0x68e4e6, 0x68e893, 0x68f079, 0x68fc0c, - 0x69059b, 0x6909ee, 0x691104, 0x691d71, 0x6920d0, 0x692ca5, 0x69344f, - 0x69383a, 0x694378, 0x694f0d, 0x6957e7, 0x695b92, 0x696633, 0x696a46, - 0x6972ac, 0x697ed9, 0x698428, 0x69885d, 0x6990b7, 0x699cc2, 0x69a163, - 0x69ad16, 0x69b5fc, 0x69b989, 0x69c2cb, 0x69cebe, 0x69d654, 0x69da21, - 0x69e780, 0x69ebf5, 0x69f31f, 0x69ff6a, 0x6a0031, 0x6a0c44, 0x6a14ae, - 0x6a18db, 0x6a257a, 0x6a290f, 0x6a31e5, 0x6a3d90, 0x6a46d2, 0x6a4aa7, - 0x6a524d, 0x6a5e38, 0x6a6399, 0x6a6fec, 0x6a7706, 0x6a7b73, 0x6a8182, - 0x6a8df7, 0x6a951d, 0x6a9968, 0x6aa4c9, 0x6aa8bc, 0x6ab056, 0x6abc23, - 0x6ac761, 0x6acb14, 0x6ad3fe, 0x6adf8b, 0x6ae22a, 0x6aee5f, 0x6af6b5, - 0x6afac0, 0x6b0357, 0x6b0f22, 0x6b17c8, 0x6b1bbd, 0x6b261c, 0x6b2a69, - 0x6b3283, 0x6b3ef6, 0x6b45b4, 0x6b49c1, 0x6b512b, 0x6b5d5e, 0x6b60ff, - 0x6b6c8a, 0x6b7460, 0x6b7815, 0x6b82e4, 0x6b8e91, 0x6b967b, 0x6b9a0e, - 0x6ba7af, 0x6babda, 0x6bb330, 0x6bbf45, 0x6bc407, 0x6bc872, 0x6bd098, - 0x6bdced, 0x6be14c, 0x6bed39, 0x6bf5d3, 0x6bf9a6, 0x6c0710, 0x6c0b65, - 0x6c138f, 0x6c1ffa, 0x6c225b, 0x6c2e2e, 0x6c36c4, 0x6c3ab1, 0x6c41f3, - 0x6c4d86, 0x6c556c, 0x6c5919, 0x6c64b8, 0x6c68cd, 0x6c7027, 0x6c7c52, - 0x6c86a3, 0x6c8ad6, 0x6c923c, 0x6c9e49, 0x6ca3e8, 0x6caf9d, 0x6cb777, - 0x6cbb02, 0x6cc040, 0x6ccc35, 0x6cd4df, 0x6cd8aa, 0x6ce50b, 0x6ce97e, - 0x6cf194, 0x6cfde1, 0x6d0476, 0x6d0803, 0x6d10e9, 0x6d1c9c, 0x6d213d, - 0x6d2d48, 0x6d35a2, 0x6d39d7, 0x6d4295, 0x6d4ee0, 0x6d560a, 0x6d5a7f, - 0x6d67de, 0x6d6bab, 0x6d7341, 0x6d7f34, 0x6d85c5, 0x6d89b0, 0x6d915a, - 0x6d9d2f, 0x6da08e, 0x6dacfb, 0x6db411, 0x6db864, 0x6dc326, 0x6dcf53, - 0x6dd7b9, 0x6ddbcc, 0x6de66d, 0x6dea18, 0x6df2f2, 0x6dfe87, 0x6e01dc, - 0x6e0da9, 0x6e1543, 0x6e1936, 0x6e2497, 0x6e28e2, 0x6e3008, 0x6e3c7d, - 0x6e473f, 0x6e4b4a, 0x6e53a0, 0x6e5fd5, 0x6e6274, 0x6e6e01, 0x6e76eb, - 0x6e7a9e, 0x6e806f, 0x6e8c1a, 0x6e94f0, 0x6e9885, 0x6ea524, 0x6ea951, - 0x6eb1bb, 0x6ebdce, 0x6ec68c, 0x6ecaf9, 0x6ed213, 0x6ede66, 0x6ee3c7, - 0x6eefb2, 0x6ef758, 0x6efb2d, 0x6f02ba, 0x6f0ecf, 0x6f1625, 0x6f1a50, - 0x6f27f1, 0x6f2b84, 0x6f336e, 0x6f3f1b, 0x6f4459, 0x6f482c, 0x6f50c6, - 0x6f5cb3, 0x6f6112, 0x6f6d67, 0x6f758d, 0x6f79f8, 0x6f8309, 0x6f8f7c, - 0x6f9796, 0x6f9be3, 0x6fa642, 0x6faa37, 0x6fb2dd, 0x6fbea8, 0x6fc5ea, - 0x6fc99f, 0x6fd175, 0x6fdd00, 0x6fe0a1, 0x6fecd4, 0x6ff43e, 0x6ff84b, - 0x700293, 0x700ee6, 0x70160c, 0x701a79, 0x7027d8, 0x702bad, 0x703347, - 0x703f32, 0x704470, 0x704805, 0x7050ef, 0x705c9a, 0x70613b, 0x706d4e, - 0x7075a4, 0x7079d1, 0x708320, 0x708f55, 0x7097bf, 0x709bca, 0x70a66b, - 0x70aa1e, 0x70b2f4, 0x70be81, 0x70c5c3, 0x70c9b6, 0x70d15c, 0x70dd29, - 0x70e088, 0x70ecfd, 0x70f417, 0x70f862, 0x7101f5, 0x710d80, 0x71156a, - 0x71191f, 0x7124be, 0x7128cb, 0x713021, 0x713c54, 0x714716, 0x714b63, - 0x715389, 0x715ffc, 0x71625d, 0x716e28, 0x7176c2, 0x717ab7, 0x718046, - 0x718c33, 0x7194d9, 0x7198ac, 0x71a50d, 0x71a978, 0x71b192, 0x71bde7, - 0x71c6a5, 0x71cad0, 0x71d23a, 0x71de4f, 0x71e3ee, 0x71ef9b, 0x71f771, - 0x71fb04, 0x72045f, 0x72082a, 0x7210c0, 0x721cb5, 0x722114, 0x722d61, - 0x72358b, 0x7239fe, 0x7242bc, 0x724ec9, 0x725623, 0x725a56, 0x7267f7, - 0x726b82, 0x727368, 0x727f1d, 0x7285ec, 0x728999, 0x729173, 0x729d06, - 0x72a0a7, 0x72acd2, 0x72b438, 0x72b84d, 0x72c30f, 0x72cf7a, 0x72d790, - 0x72dbe5, 0x72e644, 0x72ea31, 0x72f2db, 0x72feae, 0x730739, 0x730b4c, - 0x7313a6, 0x731fd3, 0x732272, 0x732e07, 0x7336ed, 0x733a98, 0x7341da, - 0x734daf, 0x735545, 0x735930, 0x736491, 0x7368e4, 0x73700e, 0x737c7b, - 0x73868a, 0x738aff, 0x739215, 0x739e60, 0x73a3c1, 0x73afb4, 0x73b75e, - 0x73bb2b, 0x73c069, 0x73cc1c, 0x73d4f6, 0x73d883, 0x73e522, 0x73e957, - 0x73f1bd, 0x73fdc8, 0x74037e, 0x740f0b, 0x7417e1, 0x741b94, 0x742635, - 0x742a40, 0x7432aa, 0x743edf, 0x74459d, 0x7449e8, 0x745102, 0x745d77, - 0x7460d6, 0x746ca3, 0x747449, 0x74783c, 0x7482cd, 0x748eb8, 0x749652, - 0x749a27, 0x74a786, 0x74abf3, 0x74b319, 0x74bf6c, 0x74c42e, 0x74c85b, - 0x74d0b1, 0x74dcc4, 0x74e165, 0x74ed10, 0x74f5fa, 0x74f98f, 0x750018, - 0x750c6d, 0x751487, 0x7518f2, 0x752553, 0x752926, 0x7531cc, 0x753db9, - 0x7546fb, 0x754a8e, 0x755264, 0x755e11, 0x7563b0, 0x756fc5, 0x75772f, - 0x757b5a, 0x7581ab, 0x758dde, 0x759534, 0x759941, 0x75a4e0, 0x75a895, - 0x75b07f, 0x75bc0a, 0x75c748, 0x75cb3d, 0x75d3d7, 0x75dfa2, 0x75e203, - 0x75ee76, 0x75f69c, 0x75fae9, 0x7605b2, 0x7609c7, 0x76112d, 0x761d58, - 0x7620f9, 0x762c8c, 0x763466, 0x763813, 0x764351, 0x764f24, 0x7657ce, - 0x765bbb, 0x76661a, 0x766a6f, 0x767285, 0x767ef0, 0x768401, 0x768874, - 0x76909e, 0x769ceb, 0x76a14a, 0x76ad3f, 0x76b5d5, 0x76b9a0, 0x76c2e2, - 0x76ce97, 0x76d67d, 0x76da08, 0x76e7a9, 0x76ebdc, 0x76f336, 0x76ff43, - 0x7706d4, 0x770aa1, 0x77124b, 0x771e3e, 0x77239f, 0x772fea, 0x773700, - 0x773b75, 0x774037, 0x774c42, 0x7754a8, 0x7758dd, 0x77657c, 0x776909, - 0x7771e3, 0x777d96, 0x778767, 0x778b12, 0x7793f8, 0x779f8d, 0x77a22c, - 0x77ae59, 0x77b6b3, 0x77bac6, 0x77c184, 0x77cdf1, 0x77d51b, 0x77d96e, - 0x77e4cf, 0x77e8ba, 0x77f050, 0x77fc25, 0x780149, 0x780d3c, 0x7815d6, - 0x7819a3, 0x782402, 0x782877, 0x78309d, 0x783ce8, 0x7847aa, 0x784bdf, - 0x785335, 0x785f40, 0x7862e1, 0x786e94, 0x78767e, 0x787a0b, 0x7880fa, - 0x788c8f, 0x789465, 0x789810, 0x78a5b1, 0x78a9c4, 0x78b12e, 0x78bd5b, - 0x78c619, 0x78ca6c, 0x78d286, 0x78def3, 0x78e352, 0x78ef27, 0x78f7cd, - 0x78fbb8, 0x79022f, 0x790e5a, 0x7916b0, 0x791ac5, 0x792764, 0x792b11, - 0x7933fb, 0x793f8e, 0x7944cc, 0x7948b9, 0x795053, 0x795c26, 0x796187, - 0x796df2, 0x797518, 0x79796d, 0x79839c, 0x798fe9, 0x799703, 0x799b76, - 0x79a6d7, 0x79aaa2, 0x79b248, 0x79be3d, 0x79c57f, 0x79c90a, 0x79d1e0, - 0x79dd95, 0x79e034, 0x79ec41, 0x79f4ab, 0x79f8de, 0x7a0785, 0x7a0bf0, - 0x7a131a, 0x7a1f6f, 0x7a22ce, 0x7a2ebb, 0x7a3651, 0x7a3a24, 0x7a4166, - 0x7a4d13, 0x7a55f9, 0x7a598c, 0x7a642d, 0x7a6858, 0x7a70b2, 0x7a7cc7, - 0x7a8636, 0x7a8a43, 0x7a92a9, 0x7a9edc, 0x7aa37d, 0x7aaf08, 0x7ab7e2, - 0x7abb97, 0x7ac0d5, 0x7acca0, 0x7ad44a, 0x7ad83f, 0x7ae59e, 0x7ae9eb, - 0x7af101, 0x7afd74, 0x7b04e3, 0x7b0896, 0x7b107c, 0x7b1c09, 0x7b21a8, - 0x7b2ddd, 0x7b3537, 0x7b3942, 0x7b4200, 0x7b4e75, 0x7b569f, 0x7b5aea, - 0x7b674b, 0x7b6b3e, 0x7b73d4, 0x7b7fa1, 0x7b8550, 0x7b8925, 0x7b91cf, - 0x7b9dba, 0x7ba01b, 0x7bac6e, 0x7bb484, 0x7bb8f1, 0x7bc3b3, 0x7bcfc6, - 0x7bd72c, 0x7bdb59, 0x7be6f8, 0x7bea8d, 0x7bf267, 0x7bfe12, 0x7c00a4, - 0x7c0cd1, 0x7c143b, 0x7c184e, 0x7c25ef, 0x7c299a, 0x7c3170, 0x7c3d05, - 0x7c4647, 0x7c4a32, 0x7c52d8, 0x7c5ead, 0x7c630c, 0x7c6f79, 0x7c7793, - 0x7c7be6, 0x7c8117, 0x7c8d62, 0x7c9588, 0x7c99fd, 0x7ca45c, 0x7ca829, - 0x7cb0c3, 0x7cbcb6, 0x7cc7f4, 0x7ccb81, 0x7cd36b, 0x7cdf1e, 0x7ce2bf, - 0x7ceeca, 0x7cf620, 0x7cfa55, 0x7d03c2, 0x7d0fb7, 0x7d175d, 0x7d1b28, - 0x7d2689, 0x7d2afc, 0x7d3216, 0x7d3e63, 0x7d4521, 0x7d4954, 0x7d51be, - 0x7d5dcb, 0x7d606a, 0x7d6c1f, 0x7d74f5, 0x7d7880, 0x7d8271, 0x7d8e04, - 0x7d96ee, 0x7d9a9b, 0x7da73a, 0x7dab4f, 0x7db3a5, 0x7dbfd0, 0x7dc492, - 0x7dc8e7, 0x7dd00d, 0x7ddc78, 0x7de1d9, 0x7dedac, 0x7df546, 0x7df933, - 0x7e0668, 0x7e0a1d, 0x7e12f7, 0x7e1e82, 0x7e2323, 0x7e2f56, 0x7e37bc, - 0x7e3bc9, 0x7e408b, 0x7e4cfe, 0x7e5414, 0x7e5861, 0x7e65c0, 0x7e69b5, - 0x7e715f, 0x7e7d2a, 0x7e87db, 0x7e8bae, 0x7e9344, 0x7e9f31, 0x7ea290, - 0x7eaee5, 0x7eb60f, 0x7eba7a, 0x7ec138, 0x7ecd4d, 0x7ed5a7, 0x7ed9d2, - 0x7ee473, 0x7ee806, 0x7ef0ec, 0x7efc99, 0x7f050e, 0x7f097b, 0x7f1191, - 0x7f1de4, 0x7f2045, 0x7f2c30, 0x7f34da, 0x7f38af, 0x7f43ed, 0x7f4f98, - 0x7f5772, 0x7f5b07, 0x7f66a6, 0x7f6ad3, 0x7f7239, 0x7f7e4c, 0x7f84bd, - 0x7f88c8, 0x7f9022, 0x7f9c57, 0x7fa1f6, 0x7fad83, 0x7fb569, 0x7fb91c, - 0x7fc25e, 0x7fce2b, 0x7fd6c1, 0x7fdab4, 0x7fe715, 0x7feb60, 0x7ff38a, - 0x7fffff}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/gp_interleaver.c b/vendor/codec2_flutter_ios_only/src/codec2/src/gp_interleaver.c deleted file mode 100644 index 70b8ad0..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/gp_interleaver.c +++ /dev/null @@ -1,134 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: gp_interleaver.c - AUTHOR......: David Rowe - DATE CREATED: April 2018 - - Golden Prime Interleaver. My interpretation of "On the Analysis and - Design of Good Algebraic Interleavers", Xie et al,eq (5). - - See also octave/gp_interleaver.m - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2018 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "gp_interleaver.h" - -#include -#include -#include - -/* - Choose b for Golden Prime Interleaver. b is chosen to be the - closest integer, which is relatively prime to N, to the Golden - section of N. -*/ - -int is_prime(int x) { - for (int i = 2; i < x; i++) { - if ((x % i) == 0) return 0; - } - return 1; -} - -int next_prime(int x) { - x++; - while (is_prime(x) == 0) x++; - return x; -} - -int choose_interleaver_b(int Nbits) { - int b = floor(Nbits / 1.62); - b = next_prime(b); - return b; -} - -void gp_interleave_comp(COMP interleaved_frame[], COMP frame[], int Nbits) { - int b = choose_interleaver_b(Nbits); - int i, j; - for (i = 0; i < Nbits; i++) { - j = (b * i) % Nbits; - interleaved_frame[j] = frame[i]; - } -} - -void gp_deinterleave_comp(COMP frame[], COMP interleaved_frame[], int Nbits) { - int b = choose_interleaver_b(Nbits); - int i, j; - for (i = 0; i < Nbits; i++) { - j = (b * i) % Nbits; - frame[i] = interleaved_frame[j]; - } -} - -void gp_interleave_float(float interleaved_frame[], float frame[], int Nbits) { - int b = choose_interleaver_b(Nbits); - int i, j; - - for (i = 0; i < Nbits; i++) { - j = (b * i) % Nbits; - interleaved_frame[j] = frame[i]; - } -} - -void gp_deinterleave_float(float frame[], float interleaved_frame[], - int Nbits) { - int b = choose_interleaver_b(Nbits); - int i, j; - - for (i = 0; i < Nbits; i++) { - j = (b * i) % Nbits; - frame[i] = interleaved_frame[j]; - } -} - -// The above work on complex numbers (e.g. OFDM symbols), so the below work on -// groups of two bits at a time to remain compatible with the above. -void gp_interleave_bits(char interleaved_frame[], char frame[], int Nbits) { - char temp[Nbits]; - int b = choose_interleaver_b(Nbits); - int i, j; - - for (i = 0; i < Nbits; i++) { - j = (b * i) % Nbits; - temp[j] = ((frame[i * 2] & 1) << 1) | (frame[i * 2 + 1] & 1); - } - - for (i = 0; i < Nbits; i++) { - interleaved_frame[i * 2] = temp[i] >> 1; - interleaved_frame[i * 2 + 1] = temp[i] & 1; - } -} - -void gp_deinterleave_bits(char frame[], char interleaved_frame[], int Nbits) { - char temp[Nbits]; - int b = choose_interleaver_b(Nbits); - int i, j; - - for (i = 0; i < Nbits; i++) { - j = (b * i) % Nbits; - temp[i] = ((interleaved_frame[j * 2] & 1) << 1) | - (interleaved_frame[j * 2 + 1] & 1); - } - - for (i = 0; i < Nbits; i++) { - frame[i * 2] = temp[i] >> 1; - frame[i * 2 + 1] = temp[i] & 1; - } -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/gp_interleaver.h b/vendor/codec2_flutter_ios_only/src/codec2/src/gp_interleaver.h deleted file mode 100644 index e49d9ca..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/gp_interleaver.h +++ /dev/null @@ -1,43 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: gp_interleaver.h - AUTHOR......: David Rowe - DATE CREATED: April 2018 - - Golden Prime Interleaver. My interprestation of "On the Analysis and - Design of Good Algebraic Interleavers", Xie et al,eq (5). - - See also octvae/gp_interleaver.m - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2018 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __GP_INTERLEAVER__ -#define __GP_INTERLEAVER__ - -#include "comp.h" - -void gp_interleave_comp(COMP interleaved_frame[], COMP frame[], int Nbits); -void gp_deinterleave_comp(COMP frame[], COMP interleaved_frame[], int Nbits); -void gp_interleave_float(float interleaved_frame[], float frame[], int Nbits); -void gp_deinterleave_float(float frame[], float interleaved_frame[], int Nbits); -void gp_interleave_bits(char interleaved_frame[], char frame[], int Nbits); -void gp_deinterleave_bits(char frame[], char interleaved_frame[], int Nbits); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/hanning.h b/vendor/codec2_flutter_ios_only/src/codec2/src/hanning.h deleted file mode 100644 index f1095da..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/hanning.h +++ /dev/null @@ -1,131 +0,0 @@ -/* Generated by hanning_file() Octave function */ - -const float hanning[] = { - 0, 2.4171e-05, 9.66816e-05, 0.000217525, 0.000386689, - 0.000604158, 0.00086991, 0.00118392, 0.00154616, 0.00195659, - 0.00241517, 0.00292186, 0.00347661, 0.00407937, 0.00473008, - 0.00542867, 0.00617507, 0.00696922, 0.00781104, 0.00870045, - 0.00963736, 0.0106217, 0.0116533, 0.0127322, 0.0138581, - 0.0150311, 0.0162509, 0.0175175, 0.0188308, 0.0201906, - 0.0215968, 0.0230492, 0.0245478, 0.0260923, 0.0276826, - 0.0293186, 0.0310001, 0.032727, 0.034499, 0.036316, - 0.0381779, 0.0400844, 0.0420354, 0.0440307, 0.04607, - 0.0481533, 0.0502802, 0.0524506, 0.0546643, 0.056921, - 0.0592206, 0.0615627, 0.0639473, 0.0663741, 0.0688427, - 0.0713531, 0.0739048, 0.0764978, 0.0791318, 0.0818064, - 0.0845214, 0.0872767, 0.0900718, 0.0929066, 0.0957807, - 0.0986939, 0.101646, 0.104636, 0.107665, 0.110732, - 0.113836, 0.116978, 0.120156, 0.123372, 0.126624, - 0.129912, 0.133235, 0.136594, 0.139989, 0.143418, - 0.146881, 0.150379, 0.153911, 0.157476, 0.161074, - 0.164705, 0.168368, 0.172063, 0.17579, 0.179549, - 0.183338, 0.187158, 0.191008, 0.194888, 0.198798, - 0.202737, 0.206704, 0.2107, 0.214724, 0.218775, - 0.222854, 0.226959, 0.231091, 0.235249, 0.239432, - 0.243641, 0.247874, 0.252132, 0.256414, 0.260719, - 0.265047, 0.269398, 0.273772, 0.278167, 0.282584, - 0.287021, 0.29148, 0.295958, 0.300456, 0.304974, - 0.30951, 0.314065, 0.318638, 0.323228, 0.327835, - 0.332459, 0.3371, 0.341756, 0.346427, 0.351113, - 0.355814, 0.360528, 0.365256, 0.369997, 0.374751, - 0.379516, 0.384293, 0.389082, 0.393881, 0.398691, - 0.40351, 0.408338, 0.413176, 0.418022, 0.422876, - 0.427737, 0.432605, 0.43748, 0.44236, 0.447247, - 0.452138, 0.457034, 0.461935, 0.466839, 0.471746, - 0.476655, 0.481568, 0.486481, 0.491397, 0.496313, - 0.501229, 0.506145, 0.511061, 0.515976, 0.520889, - 0.5258, 0.530708, 0.535614, 0.540516, 0.545414, - 0.550308, 0.555197, 0.560081, 0.564958, 0.56983, - 0.574695, 0.579552, 0.584402, 0.589244, 0.594077, - 0.598901, 0.603715, 0.60852, 0.613314, 0.618097, - 0.622868, 0.627628, 0.632375, 0.63711, 0.641831, - 0.646538, 0.651232, 0.655911, 0.660574, 0.665222, - 0.669855, 0.67447, 0.679069, 0.683651, 0.688215, - 0.69276, 0.697287, 0.701795, 0.706284, 0.710752, - 0.7152, 0.719627, 0.724033, 0.728418, 0.73278, - 0.73712, 0.741437, 0.74573, 0.75, 0.754246, - 0.758467, 0.762663, 0.766833, 0.770978, 0.775097, - 0.779189, 0.783254, 0.787291, 0.791301, 0.795283, - 0.799236, 0.80316, 0.807055, 0.810921, 0.814756, - 0.81856, 0.822334, 0.826077, 0.829788, 0.833468, - 0.837115, 0.840729, 0.844311, 0.847859, 0.851374, - 0.854855, 0.858301, 0.861713, 0.86509, 0.868431, - 0.871737, 0.875007, 0.87824, 0.881437, 0.884598, - 0.887721, 0.890806, 0.893854, 0.896864, 0.899835, - 0.902768, 0.905661, 0.908516, 0.911331, 0.914106, - 0.916841, 0.919536, 0.92219, 0.924804, 0.927376, - 0.929907, 0.932397, 0.934845, 0.93725, 0.939614, - 0.941935, 0.944213, 0.946448, 0.94864, 0.950789, - 0.952894, 0.954955, 0.956972, 0.958946, 0.960874, - 0.962759, 0.964598, 0.966393, 0.968142, 0.969846, - 0.971505, 0.973118, 0.974686, 0.976207, 0.977683, - 0.979112, 0.980495, 0.981832, 0.983122, 0.984365, - 0.985561, 0.986711, 0.987813, 0.988868, 0.989876, - 0.990837, 0.99175, 0.992616, 0.993434, 0.994204, - 0.994927, 0.995601, 0.996228, 0.996807, 0.997337, - 0.99782, 0.998255, 0.998641, 0.998979, 0.999269, - 0.999511, 0.999704, 0.999849, 0.999946, 0.999994, - 0.999994, 0.999946, 0.999849, 0.999704, 0.999511, - 0.999269, 0.998979, 0.998641, 0.998255, 0.99782, - 0.997337, 0.996807, 0.996228, 0.995601, 0.994927, - 0.994204, 0.993434, 0.992616, 0.99175, 0.990837, - 0.989876, 0.988868, 0.987813, 0.986711, 0.985561, - 0.984365, 0.983122, 0.981832, 0.980495, 0.979112, - 0.977683, 0.976207, 0.974686, 0.973118, 0.971505, - 0.969846, 0.968142, 0.966393, 0.964598, 0.962759, - 0.960874, 0.958946, 0.956972, 0.954955, 0.952894, - 0.950789, 0.94864, 0.946448, 0.944213, 0.941935, - 0.939614, 0.93725, 0.934845, 0.932397, 0.929907, - 0.927376, 0.924804, 0.92219, 0.919536, 0.916841, - 0.914106, 0.911331, 0.908516, 0.905661, 0.902768, - 0.899835, 0.896864, 0.893854, 0.890806, 0.887721, - 0.884598, 0.881437, 0.87824, 0.875007, 0.871737, - 0.868431, 0.86509, 0.861713, 0.858301, 0.854855, - 0.851374, 0.847859, 0.844311, 0.840729, 0.837115, - 0.833468, 0.829788, 0.826077, 0.822334, 0.81856, - 0.814756, 0.810921, 0.807055, 0.80316, 0.799236, - 0.795283, 0.791301, 0.787291, 0.783254, 0.779189, - 0.775097, 0.770978, 0.766833, 0.762663, 0.758467, - 0.754246, 0.75, 0.74573, 0.741437, 0.73712, - 0.73278, 0.728418, 0.724033, 0.719627, 0.7152, - 0.710752, 0.706284, 0.701795, 0.697287, 0.69276, - 0.688215, 0.683651, 0.679069, 0.67447, 0.669855, - 0.665222, 0.660574, 0.655911, 0.651232, 0.646538, - 0.641831, 0.63711, 0.632375, 0.627628, 0.622868, - 0.618097, 0.613314, 0.60852, 0.603715, 0.598901, - 0.594077, 0.589244, 0.584402, 0.579552, 0.574695, - 0.56983, 0.564958, 0.560081, 0.555197, 0.550308, - 0.545414, 0.540516, 0.535614, 0.530708, 0.5258, - 0.520889, 0.515976, 0.511061, 0.506145, 0.501229, - 0.496313, 0.491397, 0.486481, 0.481568, 0.476655, - 0.471746, 0.466839, 0.461935, 0.457034, 0.452138, - 0.447247, 0.44236, 0.43748, 0.432605, 0.427737, - 0.422876, 0.418022, 0.413176, 0.408338, 0.40351, - 0.398691, 0.393881, 0.389082, 0.384293, 0.379516, - 0.374751, 0.369997, 0.365256, 0.360528, 0.355814, - 0.351113, 0.346427, 0.341756, 0.3371, 0.332459, - 0.327835, 0.323228, 0.318638, 0.314065, 0.30951, - 0.304974, 0.300456, 0.295958, 0.29148, 0.287021, - 0.282584, 0.278167, 0.273772, 0.269398, 0.265047, - 0.260719, 0.256414, 0.252132, 0.247874, 0.243641, - 0.239432, 0.235249, 0.231091, 0.226959, 0.222854, - 0.218775, 0.214724, 0.2107, 0.206704, 0.202737, - 0.198798, 0.194888, 0.191008, 0.187158, 0.183338, - 0.179549, 0.17579, 0.172063, 0.168368, 0.164705, - 0.161074, 0.157476, 0.153911, 0.150379, 0.146881, - 0.143418, 0.139989, 0.136594, 0.133235, 0.129912, - 0.126624, 0.123372, 0.120156, 0.116978, 0.113836, - 0.110732, 0.107665, 0.104636, 0.101646, 0.0986939, - 0.0957807, 0.0929066, 0.0900718, 0.0872767, 0.0845214, - 0.0818064, 0.0791318, 0.0764978, 0.0739048, 0.0713531, - 0.0688427, 0.0663741, 0.0639473, 0.0615627, 0.0592206, - 0.056921, 0.0546643, 0.0524506, 0.0502802, 0.0481533, - 0.04607, 0.0440307, 0.0420354, 0.0400844, 0.0381779, - 0.036316, 0.034499, 0.032727, 0.0310001, 0.0293186, - 0.0276826, 0.0260923, 0.0245478, 0.0230492, 0.0215968, - 0.0201906, 0.0188308, 0.0175175, 0.0162509, 0.0150311, - 0.0138581, 0.0127322, 0.0116533, 0.0106217, 0.00963736, - 0.00870045, 0.00781104, 0.00696922, 0.00617507, 0.00542867, - 0.00473008, 0.00407937, 0.00347661, 0.00292186, 0.00241517, - 0.00195659, 0.00154616, 0.00118392, 0.00086991, 0.000604158, - 0.000386689, 0.000217525, 9.66816e-05, 2.4171e-05, 0}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ht_coeff.h b/vendor/codec2_flutter_ios_only/src/codec2/src/ht_coeff.h deleted file mode 100644 index 10aaa90..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ht_coeff.h +++ /dev/null @@ -1,92 +0,0 @@ -/* Hilbert Transform FIR filter coeffs */ -/* Generated by make_hilb Octave script */ - -#define HT_N 257 - -COMP ht_coeff[] = { - {-0.000004, 0.000000}, {-0.000000, 0.000008}, {-0.000008, 0.000000}, - {0.000000, 0.000012}, {-0.000013, 0.000000}, {0.000000, 0.000014}, - {-0.000021, 0.000000}, {0.000000, 0.000016}, {-0.000032, 0.000000}, - {-0.000000, 0.000017}, {-0.000045, 0.000000}, {0.000000, 0.000015}, - {-0.000060, 0.000000}, {-0.000000, 0.000009}, {-0.000078, -0.000000}, - {-0.000000, -0.000001}, {-0.000098, 0.000000}, {-0.000000, -0.000017}, - {-0.000119, 0.000000}, {-0.000000, -0.000040}, {-0.000140, 0.000000}, - {-0.000000, -0.000071}, {-0.000159, 0.000000}, {0.000000, -0.000111}, - {-0.000174, 0.000000}, {-0.000000, -0.000160}, {-0.000183, 0.000000}, - {0.000000, -0.000219}, {-0.000184, 0.000000}, {-0.000000, -0.000288}, - {-0.000173, -0.000000}, {-0.000000, -0.000365}, {-0.000147, -0.000000}, - {-0.000000, -0.000450}, {-0.000103, 0.000000}, {0.000000, -0.000539}, - {-0.000038, 0.000000}, {-0.000000, -0.000630}, {0.000052, -0.000000}, - {0.000000, -0.000719}, {0.000168, 0.000000}, {0.000000, -0.000801}, - {0.000313, -0.000000}, {0.000000, -0.000870}, {0.000488, 0.000000}, - {0.000000, -0.000918}, {0.000693, -0.000000}, {0.000000, -0.000940}, - {0.000927, -0.000000}, {0.000000, -0.000927}, {0.001186, -0.000000}, - {0.000000, -0.000871}, {0.001466, -0.000000}, {-0.000000, -0.000763}, - {0.001762, -0.000000}, {0.000000, -0.000597}, {0.002064, -0.000000}, - {-0.000000, -0.000364}, {0.002363, -0.000000}, {0.000000, -0.000060}, - {0.002646, -0.000000}, {0.000000, 0.000321}, {0.002900, 0.000000}, - {-0.000000, 0.000782}, {0.003109, 0.000000}, {-0.000000, 0.001322}, - {0.003255, -0.000000}, {0.000000, 0.001940}, {0.003322, -0.000000}, - {-0.000000, 0.002630}, {0.003291, -0.000000}, {0.000000, 0.003384}, - {0.003141, -0.000000}, {-0.000000, 0.004188}, {0.002856, -0.000000}, - {-0.000000, 0.005028}, {0.002417, 0.000000}, {0.000000, 0.005883}, - {0.001808, 0.000000}, {0.000000, 0.006728}, {0.001016, 0.000000}, - {0.000000, 0.007538}, {0.000029, -0.000000}, {-0.000000, 0.008279}, - {-0.001160, -0.000000}, {-0.000000, 0.008919}, {-0.002556, -0.000000}, - {0.000000, 0.009418}, {-0.004158, -0.000000}, {-0.000000, 0.009736}, - {-0.005962, -0.000000}, {0.000000, 0.009829}, {-0.007957, -0.000000}, - {-0.000000, 0.009653}, {-0.010130, -0.000000}, {-0.000000, 0.009158}, - {-0.012459, -0.000000}, {0.000000, 0.008294}, {-0.014922, 0.000000}, - {-0.000000, 0.007006}, {-0.017489, -0.000000}, {-0.000000, 0.005234}, - {-0.020127, 0.000000}, {0.000000, 0.002910}, {-0.022800, -0.000000}, - {-0.000000, -0.000046}, {-0.025469, -0.000000}, {0.000000, -0.003735}, - {-0.028094, -0.000000}, {0.000000, -0.008292}, {-0.030631, -0.000000}, - {0.000000, -0.013906}, {-0.033039, -0.000000}, {0.000000, -0.020868}, - {-0.035278, 0.000000}, {-0.000000, -0.029645}, {-0.037308, -0.000000}, - {-0.000000, -0.041052}, {-0.039093, -0.000000}, {0.000000, -0.056643}, - {-0.040601, 0.000000}, {-0.000000, -0.079776}, {-0.041804, 0.000000}, - {0.000000, -0.119232}, {-0.042679, -0.000000}, {-0.000000, -0.207305}, - {-0.043211, 0.000000}, {0.000000, -0.634978}, {0.956610, 0.000000}, - {0.000000, 0.634978}, {-0.043211, 0.000000}, {0.000000, 0.207305}, - {-0.042679, 0.000000}, {0.000000, 0.119232}, {-0.041804, 0.000000}, - {-0.000000, 0.079776}, {-0.040601, 0.000000}, {0.000000, 0.056643}, - {-0.039093, 0.000000}, {-0.000000, 0.041052}, {-0.037308, 0.000000}, - {-0.000000, 0.029645}, {-0.035278, 0.000000}, {0.000000, 0.020868}, - {-0.033039, -0.000000}, {0.000000, 0.013906}, {-0.030631, 0.000000}, - {-0.000000, 0.008292}, {-0.028094, 0.000000}, {0.000000, 0.003735}, - {-0.025469, 0.000000}, {-0.000000, 0.000046}, {-0.022800, -0.000000}, - {0.000000, -0.002910}, {-0.020127, 0.000000}, {-0.000000, -0.005234}, - {-0.017489, -0.000000}, {-0.000000, -0.007006}, {-0.014922, 0.000000}, - {-0.000000, -0.008294}, {-0.012459, 0.000000}, {0.000000, -0.009158}, - {-0.010130, 0.000000}, {-0.000000, -0.009653}, {-0.007957, 0.000000}, - {-0.000000, -0.009829}, {-0.005962, 0.000000}, {-0.000000, -0.009736}, - {-0.004158, -0.000000}, {0.000000, -0.009418}, {-0.002556, 0.000000}, - {0.000000, -0.008919}, {-0.001160, -0.000000}, {-0.000000, -0.008279}, - {0.000029, 0.000000}, {-0.000000, -0.007538}, {0.001016, -0.000000}, - {-0.000000, -0.006728}, {0.001808, 0.000000}, {-0.000000, -0.005883}, - {0.002417, 0.000000}, {-0.000000, -0.005028}, {0.002856, 0.000000}, - {-0.000000, -0.004188}, {0.003141, 0.000000}, {0.000000, -0.003384}, - {0.003291, -0.000000}, {-0.000000, -0.002630}, {0.003322, 0.000000}, - {-0.000000, -0.001940}, {0.003255, 0.000000}, {0.000000, -0.001322}, - {0.003109, 0.000000}, {0.000000, -0.000782}, {0.002900, 0.000000}, - {-0.000000, -0.000321}, {0.002646, 0.000000}, {0.000000, 0.000060}, - {0.002363, 0.000000}, {-0.000000, 0.000364}, {0.002064, 0.000000}, - {0.000000, 0.000597}, {0.001762, -0.000000}, {-0.000000, 0.000763}, - {0.001466, -0.000000}, {0.000000, 0.000871}, {0.001186, -0.000000}, - {-0.000000, 0.000927}, {0.000927, 0.000000}, {-0.000000, 0.000940}, - {0.000693, 0.000000}, {0.000000, 0.000918}, {0.000488, 0.000000}, - {-0.000000, 0.000870}, {0.000313, 0.000000}, {-0.000000, 0.000801}, - {0.000168, 0.000000}, {0.000000, 0.000719}, {0.000052, -0.000000}, - {-0.000000, 0.000630}, {-0.000038, 0.000000}, {-0.000000, 0.000539}, - {-0.000103, -0.000000}, {0.000000, 0.000450}, {-0.000147, 0.000000}, - {-0.000000, 0.000365}, {-0.000173, 0.000000}, {0.000000, 0.000288}, - {-0.000184, 0.000000}, {-0.000000, 0.000219}, {-0.000183, 0.000000}, - {0.000000, 0.000160}, {-0.000174, 0.000000}, {-0.000000, 0.000111}, - {-0.000159, 0.000000}, {-0.000000, 0.000071}, {-0.000140, 0.000000}, - {0.000000, 0.000040}, {-0.000119, 0.000000}, {0.000000, 0.000017}, - {-0.000098, -0.000000}, {0.000000, 0.000001}, {-0.000078, -0.000000}, - {0.000000, -0.000009}, {-0.000060, -0.000000}, {0.000000, -0.000015}, - {-0.000045, -0.000000}, {-0.000000, -0.000017}, {-0.000032, -0.000000}, - {0.000000, -0.000016}, {-0.000021, -0.000000}, {-0.000000, -0.000014}, - {-0.000013, -0.000000}, {-0.000000, -0.000012}, {-0.000008, -0.000000}, - {0.000000, -0.000008}, {-0.000004, 0.000000}}; \ No newline at end of file diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/interldpc.c b/vendor/codec2_flutter_ios_only/src/codec2/src/interldpc.c deleted file mode 100644 index b94f711..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/interldpc.c +++ /dev/null @@ -1,340 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: interldpc.c - AUTHOR......: David Rowe - DATE CREATED: April 2018 - - Helper functions for LDPC-based waveforms. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2018 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . - */ - -#include "interldpc.h" - -#include -#include -#include -#include -#include -#include - -#include "gp_interleaver.h" -#include "mpdecode_core.h" -#include "ofdm_internal.h" - -void freedv_pack(unsigned char *bytes, unsigned char *bits, int nbits); -void freedv_unpack(unsigned char *bits, unsigned char *bytes, int nbits); -unsigned short freedv_crc16_unpacked(unsigned char *bits, int nbits); - -void set_up_ldpc_constants(struct LDPC *ldpc, int code_length, - int parity_bits) { - /* following provided for convenience and to match Octave variable names */ - - /* these remain fixed */ - ldpc->ldpc_data_bits_per_frame = code_length - parity_bits; - ldpc->ldpc_coded_bits_per_frame = code_length; - - /* in the case there are some unused data bits, these may be - modified to be less that ldpc->ldpc_xxx versions above. We - place known bits in the unused data bit positions, which make - the code stronger, and allow us to mess with different speech - codec bit allocations without designing new LDPC codes. */ - - ldpc->data_bits_per_frame = ldpc->ldpc_data_bits_per_frame; - ldpc->coded_bits_per_frame = ldpc->ldpc_coded_bits_per_frame; - ldpc->protection_mode = LDPC_PROT_2020; -} - -void set_data_bits_per_frame(struct LDPC *ldpc, int new_data_bits_per_frame) { - ldpc->data_bits_per_frame = new_data_bits_per_frame; - ldpc->coded_bits_per_frame = - ldpc->data_bits_per_frame + ldpc->NumberParityBits; -} - -/* 1' stuffing (code rate reduction) - tweak LDPC code setup for selected modes - */ -void ldpc_mode_specific_setup(struct OFDM *ofdm, struct LDPC *ldpc) { - /* mode specific set up */ - if (!strcmp(ofdm->mode, "2020")) set_data_bits_per_frame(ldpc, 312); - if (!strcmp(ofdm->mode, "2020B")) { - set_data_bits_per_frame(ldpc, 156); - ldpc->protection_mode = LDPC_PROT_2020B; - } - - /* compute the number of data bits used in the codeword */ - int data_bits_per_frame = ofdm->bitsperpacket - ofdm->nuwbits - - ofdm->ntxtbits - ldpc->NumberParityBits; - set_data_bits_per_frame(ldpc, data_bits_per_frame); -} - -/* LDPC encode frame - generate parity bits and a codeword, applying the - selected FEC protection scheme */ -void ldpc_encode_frame(struct LDPC *ldpc, int codeword[], - unsigned char tx_bits_char[]) { - unsigned char pbits[ldpc->NumberParityBits]; - int codec_frame; - int i, j; - - unsigned char tx_bits_char_padded[ldpc->ldpc_data_bits_per_frame]; - - switch (ldpc->protection_mode) { - case LDPC_PROT_EQUAL: - assert(ldpc->data_bits_per_frame == ldpc->ldpc_data_bits_per_frame); - /* we have enough data bits to fill the codeword */ - encode(ldpc, tx_bits_char, pbits); - break; - - case LDPC_PROT_2020: - /* not all data bits in codeword used, so set them to known values */ - memcpy(tx_bits_char_padded, tx_bits_char, ldpc->data_bits_per_frame); - for (i = ldpc->data_bits_per_frame; i < ldpc->ldpc_data_bits_per_frame; - i++) - tx_bits_char_padded[i] = 1; - encode(ldpc, tx_bits_char_padded, pbits); - break; - - case LDPC_PROT_2020B: - /* We only want to protect the stage 1 VQ data bits, 0..10 in - each 52 bit codec frame. There are 3 codec frames 3x52=156 - bits, and 56 parity bits. We only use 11*3 = 33 bits of - the LDPC codeword data bits, the rest are set to known - values. - */ - for (j = 0, codec_frame = 0; codec_frame < 3; codec_frame++) - for (i = 0; i < 11; i++, j++) - tx_bits_char_padded[j] = tx_bits_char[codec_frame * 52 + i]; - assert(j == 33); - for (i = 33; i < ldpc->ldpc_data_bits_per_frame; i++) - tx_bits_char_padded[i] = 1; - encode(ldpc, tx_bits_char_padded, pbits); - - break; - - default: - assert(0); - } - - /* output codeword is concatenation of (used) data bits and parity - bits, we don't bother sending unused (known) data bits */ - for (i = 0; i < ldpc->data_bits_per_frame; i++) codeword[i] = tx_bits_char[i]; - for (j = 0; j < ldpc->NumberParityBits; i++, j++) codeword[i] = pbits[j]; -} - -void qpsk_modulate_frame(COMP tx_symbols[], int codeword[], int n) { - int s, i; - int dibit[2]; - complex float qpsk_symb; - - for (s = 0, i = 0; i < n; s += 2, i++) { - dibit[0] = codeword[s + 1] & 0x1; - dibit[1] = codeword[s] & 0x1; - qpsk_symb = qpsk_mod(dibit); - tx_symbols[i].real = crealf(qpsk_symb); - tx_symbols[i].imag = cimagf(qpsk_symb); - } -} - -/* run LDPC decoder, taking into account the FEC protection scheme */ -void ldpc_decode_frame(struct LDPC *ldpc, int *parityCheckCount, int *iter, - uint8_t out_char[], float llr[]) { - float llr_full_codeword[ldpc->ldpc_coded_bits_per_frame]; - int unused_data_bits = - ldpc->ldpc_data_bits_per_frame - ldpc->data_bits_per_frame; - uint8_t out_char_ldpc[ldpc->coded_bits_per_frame]; - int i, j; - int codec_frame; - - switch (ldpc->protection_mode) { - case LDPC_PROT_EQUAL: - /* Equal protection all data bits in codeword - (e.g. 700D/700E), works well with rate 0.5 codes */ - assert(ldpc->data_bits_per_frame == ldpc->ldpc_data_bits_per_frame); - *iter = run_ldpc_decoder(ldpc, out_char, llr, parityCheckCount); - break; - case LDPC_PROT_2020: - /* some data bits in codeword unused, effectively - decreasing code rate and making FEC more powerful - (without having to design a new code) */ - for (i = 0; i < ldpc->data_bits_per_frame; i++) - llr_full_codeword[i] = llr[i]; - // known bits ... so really likely - for (i = ldpc->data_bits_per_frame; i < ldpc->ldpc_data_bits_per_frame; - i++) - llr_full_codeword[i] = -100.0f; - // parity bits at end - for (i = ldpc->ldpc_data_bits_per_frame; - i < ldpc->ldpc_coded_bits_per_frame; i++) - llr_full_codeword[i] = llr[i - unused_data_bits]; - *iter = - run_ldpc_decoder(ldpc, out_char, llr_full_codeword, parityCheckCount); - break; - case LDPC_PROT_2020B: - /* 2020B waveform, with unequal error protection. Only the - stage1 VQ index of each LPCNet vocoder frames is - protected. In this case the FEC codeword is much smaller - than the payload data. */ - - // set up LDPC codeword - for (j = 0, codec_frame = 0; codec_frame < 3; codec_frame++) - for (i = 0; i < 11; i++, j++) - llr_full_codeword[j] = llr[codec_frame * 52 + i]; - // set known LDPC codeword data bits - for (i = 33; i < ldpc->ldpc_data_bits_per_frame; i++) - llr_full_codeword[i] = -100; - // parity bits at end - for (i = 0; i < ldpc->NumberParityBits; i++) - llr_full_codeword[ldpc->ldpc_data_bits_per_frame + i] = - llr[ldpc->data_bits_per_frame + i]; - *iter = run_ldpc_decoder(ldpc, out_char_ldpc, llr_full_codeword, - parityCheckCount); - - // pass through received data bits, replacing only decoded bits - for (i = 0; i < ldpc->data_bits_per_frame; i++) { - out_char[i] = llr[i] < 0; - } - for (j = 0, codec_frame = 0; codec_frame < 3; codec_frame++) - for (i = 0; i < 11; i++, j++) - out_char[codec_frame * 52 + i] = out_char_ldpc[j]; - - break; - default: - assert(0); - } -} - -/* Count uncoded (raw) bit errors over frame, note we don't include UW - of txt bits as this is done after we dissassemmble the frame */ - -int count_uncoded_errors(struct LDPC *ldpc, struct OFDM_CONFIG *config, - COMP codeword_symbols_de[], int crc16) { - int i, Nerrs; - - int coded_syms_per_frame = ldpc->coded_bits_per_frame / config->bps; - int coded_bits_per_frame = ldpc->coded_bits_per_frame; - int data_bits_per_frame = ldpc->data_bits_per_frame; - int rx_bits_raw[coded_bits_per_frame]; - - /* generate test codeword from known payload data bits */ - - int test_codeword[coded_bits_per_frame]; - uint16_t r[data_bits_per_frame]; - uint8_t tx_bits[data_bits_per_frame]; - - ofdm_rand(r, data_bits_per_frame); - - for (i = 0; i < data_bits_per_frame; i++) { - tx_bits[i] = r[i] > 16384; - } - if (crc16) { - uint16_t tx_crc16 = - freedv_crc16_unpacked(tx_bits, data_bits_per_frame - 16); - uint8_t tx_crc16_bytes[] = {tx_crc16 >> 8, tx_crc16 & 0xff}; - freedv_unpack(tx_bits + data_bits_per_frame - 16, tx_crc16_bytes, 16); - } - ldpc_encode_frame(ldpc, test_codeword, tx_bits); - - for (i = 0; i < coded_syms_per_frame; i++) { - int bits[2]; - complex float s = - codeword_symbols_de[i].real + I * codeword_symbols_de[i].imag; - qpsk_demod(s, bits); - rx_bits_raw[config->bps * i] = bits[1]; - rx_bits_raw[config->bps * i + 1] = bits[0]; - } - - Nerrs = 0; - - for (i = 0; i < coded_bits_per_frame; i++) { - if (test_codeword[i] != rx_bits_raw[i]) Nerrs++; - } - - return Nerrs; -} - -int count_errors(uint8_t tx_bits[], uint8_t rx_bits[], int n) { - int i; - int Nerrs = 0; - - for (i = 0; i < n; i++) - if (tx_bits[i] != rx_bits[i]) Nerrs++; - - return Nerrs; -} - -/* for unequal protection modes, count coded errors only in those bits that have - * been protected */ -void count_errors_protection_mode(int protection_mode, int *pNerrs, - int *pNcoded, uint8_t tx_bits[], - uint8_t rx_bits[], int n) { - int i; - int Nerrs = 0; - int Ncoded = 0; - - switch (protection_mode) { - case LDPC_PROT_EQUAL: - case LDPC_PROT_2020: - for (i = 0; i < n; i++) { - if (tx_bits[i] != rx_bits[i]) Nerrs++; - Ncoded++; - } - break; - case LDPC_PROT_2020B: - /* We only protect bits 0..10 in each 52 bit LPCNet codec - frame. There are 3 codec frames 3x52=156 data bits, of - which only 11*3 = 33 bits are protected. - */ - for (int codec_frame = 0; codec_frame < 3; codec_frame++) { - for (i = 0; i < 11; i++) { - if (tx_bits[codec_frame * 52 + i] != rx_bits[codec_frame * 52 + i]) - Nerrs++; - Ncoded++; - } - } - break; - default: - assert(0); - } - - *pNerrs = Nerrs; - *pNcoded = Ncoded; -} - -/* - Given an array of tx_bits, LDPC encodes, interleaves, and OFDM modulates - */ - -void ofdm_ldpc_interleave_tx(struct OFDM *ofdm, struct LDPC *ldpc, - complex float tx_sams[], uint8_t tx_bits[], - uint8_t txt_bits[]) { - int Npayloadsymsperpacket = ldpc->coded_bits_per_frame / ofdm->bps; - int Npayloadbitsperpacket = ldpc->coded_bits_per_frame; - int Nbitsperpacket = ofdm_get_bits_per_packet(ofdm); - int codeword[Npayloadbitsperpacket]; - COMP payload_symbols[Npayloadsymsperpacket]; - COMP payload_symbols_inter[Npayloadsymsperpacket]; - complex float tx_symbols[Nbitsperpacket / ofdm->bps]; - - ldpc_encode_frame(ldpc, codeword, tx_bits); - qpsk_modulate_frame(payload_symbols, codeword, Npayloadsymsperpacket); - gp_interleave_comp(payload_symbols_inter, payload_symbols, - Npayloadsymsperpacket); - ofdm_assemble_qpsk_modem_packet_symbols(ofdm, tx_symbols, - payload_symbols_inter, txt_bits); - ofdm_txframe(ofdm, tx_sams, tx_symbols); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/interldpc.h b/vendor/codec2_flutter_ios_only/src/codec2/src/interldpc.h deleted file mode 100644 index 3b1d1ca..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/interldpc.h +++ /dev/null @@ -1,61 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: interldpc.h - AUTHOR......: David Rowe - DATE CREATED: April 2018 - - Helper functions for interleaved LDPC modems. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2018 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __INTERLDPC__ -#define __INTERLDPC__ - -#include - -#include "comp.h" -#include "mpdecode_core.h" -#include "ofdm_internal.h" - -/* LDPC unequal protection modes */ -#define LDPC_PROT_EQUAL 0 /* all bits in LDPC codeword used, e.g. 700D/700E */ -#define LDPC_PROT_2020 1 /* (504,396) but some data bits unused */ -#define LDPC_PROT_2020B \ - 3 /* (112,56) but we only protect stage1 VQ in each LPCNet frame */ - -void set_up_ldpc_constants(struct LDPC *ldpc, int code_length, int parity_bits); -void set_data_bits_per_frame(struct LDPC *ldpc, int new_data_bits_per_frame); -void ldpc_mode_specific_setup(struct OFDM *ofdm, struct LDPC *ldpc); -void ldpc_encode_frame(struct LDPC *ldpc, int codeword[], - unsigned char tx_bits_char[]); -void qpsk_modulate_frame(COMP tx_symbols[], int codeword[], int n); -void ldpc_decode_frame(struct LDPC *ldpc, int *parityCheckCount, int *iter, - uint8_t out_char[], float llr[]); -int count_uncoded_errors(struct LDPC *ldpc, struct OFDM_CONFIG *config, - COMP codeword_symbols_de[], int crc16); -int count_errors(uint8_t tx_bits[], uint8_t rx_bits[], int n); -void count_errors_protection_mode(int protection_mode, int *pNerrs, - int *pNcoded, uint8_t tx_bits[], - uint8_t rx_bits[], int n); -void ofdm_ldpc_interleave_tx(struct OFDM *ofdm, struct LDPC *ldpc, - complex float tx_sams[], uint8_t tx_bits[], - uint8_t txt_bits[]); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/interp.c b/vendor/codec2_flutter_ios_only/src/codec2/src/interp.c deleted file mode 100644 index 08a9518..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/interp.c +++ /dev/null @@ -1,308 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: interp.c - AUTHOR......: David Rowe - DATE CREATED: 9/10/09 - - Interpolation of 20ms frames to 10ms frames. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "interp.h" - -#include -#include -#include -#include - -#include "defines.h" -#include "lsp.h" -#include "quantise.h" - -float sample_log_amp(MODEL *model, float w); - -#if 0 -/*---------------------------------------------------------------------------*\ - - FUNCTION....: interp() - AUTHOR......: David Rowe - DATE CREATED: 22/8/10 - - Given two frames described by model parameters 20ms apart, determines - the model parameters of the 10ms frame between them. Assumes - voicing is available for middle (interpolated) frame. Outputs are - amplitudes and Wo for the interpolated frame. - - This version can interpolate the amplitudes between two frames of - different Wo and L. - - This version works by log linear interpolation, but listening tests - showed it creates problems in background noise, e.g. hts2a and mmt1. - When this function is used (--dec mode) bg noise appears to be - amplitude modulated, and gets louder. The interp_lsp() function - below seems to do a better job. - -\*---------------------------------------------------------------------------*/ - -void interpolate( - MODEL *interp, /* interpolated model params */ - MODEL *prev, /* previous frames model params */ - MODEL *next, /* next frames model params */ - float Wo_min -) -{ - int l; - float w,log_amp; - - /* Wo depends on voicing of this and adjacent frames */ - - if (interp->voiced) { - if (prev->voiced && next->voiced) - interp->Wo = (prev->Wo + next->Wo)/2.0; - if (!prev->voiced && next->voiced) - interp->Wo = next->Wo; - if (prev->voiced && !next->voiced) - interp->Wo = prev->Wo; - } - else { - interp->Wo = Wo_min; - } - interp->L = PI/interp->Wo; - - /* Interpolate amplitudes using linear interpolation in log domain */ - - for(l=1; l<=interp->L; l++) { - w = l*interp->Wo; - log_amp = (sample_log_amp(prev, w) + sample_log_amp(next, w))/2.0; - interp->A[l] = powf(10.0, log_amp); - } -} -#endif - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: sample_log_amp() - AUTHOR......: David Rowe - DATE CREATED: 22/8/10 - - Samples the amplitude envelope at an arbitrary frequency w. Uses - linear interpolation in the log domain to sample between harmonic - amplitudes. - -\*---------------------------------------------------------------------------*/ - -float sample_log_amp(MODEL *model, float w) { - int m; - float f, log_amp; - - assert(w > 0.0); - assert(w <= PI); - - m = floorf(w / model->Wo + 0.5); - f = (w - m * model->Wo) / w; - assert(f <= 1.0); - - if (m < 1) { - log_amp = f * log10f(model->A[1] + 1E-6); - } else if ((m + 1) > model->L) { - log_amp = (1.0 - f) * log10f(model->A[model->L] + 1E-6); - } else { - log_amp = (1.0 - f) * log10f(model->A[m] + 1E-6) + - f * log10f(model->A[m + 1] + 1E-6); - } - - return log_amp; -} - -#ifdef NOT_NEEDED - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: interp_lsp() - AUTHOR......: David Rowe - DATE CREATED: 10 Nov 2010 - - Given two frames described by model parameters 20ms apart, determines - the model parameters of the 10ms frame between them. Assumes - voicing is available for middle (interpolated) frame. Outputs are - amplitudes and Wo for the interpolated frame. - - This version uses interpolation of LSPs, seems to do a better job - with bg noise. - -\*---------------------------------------------------------------------------*/ - -void interpolate_lsp(codec2_fft_cfg fft_fwd_cfg, - MODEL *interp, /* interpolated model params */ - MODEL *prev, /* previous frames model params */ - MODEL *next, /* next frames model params */ - float *prev_lsps, /* previous frames LSPs */ - float prev_e, /* previous frames LPC energy */ - float *next_lsps, /* next frames LSPs */ - float next_e, /* next frames LPC energy */ - float *ak_interp, /* interpolated aks for this frame */ - float *lsps_interp, /* interpolated lsps for this frame */ - float Wo_min) { - int i; - float e; - float snr; - - /* trap corner case where V est is probably wrong */ - - if (interp->voiced && !prev->voiced && !next->voiced) { - interp->voiced = 0; - } - - /* Wo depends on voicing of this and adjacent frames */ - - if (interp->voiced) { - if (prev->voiced && next->voiced) interp->Wo = (prev->Wo + next->Wo) / 2.0; - if (!prev->voiced && next->voiced) interp->Wo = next->Wo; - if (prev->voiced && !next->voiced) interp->Wo = prev->Wo; - } else { - interp->Wo = Wo_min; - } - interp->L = PI / interp->Wo; - - // printf(" interp: prev_v: %d next_v: %d prev_Wo: %f next_Wo: %f\n", - // prev->voiced, next->voiced, prev->Wo, next->Wo); - // printf(" interp: Wo: %1.5f L: %d\n", interp->Wo, interp->L); - - /* interpolate LSPs */ - - for (i = 0; i < LPC_ORD; i++) { - lsps_interp[i] = (prev_lsps[i] + next_lsps[i]) / 2.0; - } - - /* Interpolate LPC energy in log domain */ - - e = powf(10.0, (log10f(prev_e) + log10f(next_e)) / 2.0); - // printf(" interp: e: %f\n", e); - - /* convert back to amplitudes */ - - lsp_to_lpc(lsps_interp, ak_interp, LPC_ORD); - aks_to_M2(fft_fwd_cfg, ak_interp, LPC_ORD, interp, e, &snr, 0, 0, 1, 1, - LPCPF_BETA, LPCPF_GAMMA); - // printf(" interp: ak[1]: %f A[1] %f\n", ak_interp[1], interp->A[1]); -} -#endif - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: interp_Wo() - AUTHOR......: David Rowe - DATE CREATED: 22 May 2012 - - Interpolates centre 10ms sample of Wo and L samples given two - samples 20ms apart. Assumes voicing is available for centre - (interpolated) frame. - -\*---------------------------------------------------------------------------*/ - -void interp_Wo(MODEL *interp, /* interpolated model params */ - MODEL *prev, /* previous frames model params */ - MODEL *next, /* next frames model params */ - float Wo_min) { - interp_Wo2(interp, prev, next, 0.5, Wo_min); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: interp_Wo2() - AUTHOR......: David Rowe - DATE CREATED: 22 May 2012 - - Weighted interpolation of two Wo samples. - -\*---------------------------------------------------------------------------*/ - -void interp_Wo2(MODEL *interp, /* interpolated model params */ - MODEL *prev, /* previous frames model params */ - MODEL *next, /* next frames model params */ - float weight, float Wo_min) { - /* trap corner case where voicing est is probably wrong */ - - if (interp->voiced && !prev->voiced && !next->voiced) { - interp->voiced = 0; - } - - /* Wo depends on voicing of this and adjacent frames */ - - if (interp->voiced) { - if (prev->voiced && next->voiced) - interp->Wo = (1.0 - weight) * prev->Wo + weight * next->Wo; - if (!prev->voiced && next->voiced) interp->Wo = next->Wo; - if (prev->voiced && !next->voiced) interp->Wo = prev->Wo; - } else { - interp->Wo = Wo_min; - } - interp->L = PI / interp->Wo; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: interp_energy() - AUTHOR......: David Rowe - DATE CREATED: 22 May 2012 - - Interpolates centre 10ms sample of energy given two samples 20ms - apart. - -\*---------------------------------------------------------------------------*/ - -float interp_energy(float prev_e, float next_e) { - // return powf(10.0, (log10f(prev_e) + log10f(next_e))/2.0); - return sqrtf(prev_e * - next_e); // looks better is math. identical and faster math -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: interp_energy2() - AUTHOR......: David Rowe - DATE CREATED: 22 May 2012 - - Interpolates centre 10ms sample of energy given two samples 20ms - apart. - -\*---------------------------------------------------------------------------*/ - -float interp_energy2(float prev_e, float next_e, float weight) { - return POW10F((1.0 - weight) * log10f(prev_e) + weight * log10f(next_e)); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: interpolate_lsp_ver2() - AUTHOR......: David Rowe - DATE CREATED: 22 May 2012 - - Weighted interpolation of LSPs. - -\*---------------------------------------------------------------------------*/ - -void interpolate_lsp_ver2(float interp[], float prev[], float next[], - float weight, int order) { - int i; - - for (i = 0; i < order; i++) - interp[i] = (1.0 - weight) * prev[i] + weight * next[i]; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/interp.h b/vendor/codec2_flutter_ios_only/src/codec2/src/interp.h deleted file mode 100644 index 276edd9..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/interp.h +++ /dev/null @@ -1,47 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: interp.h - AUTHOR......: David Rowe - DATE CREATED: 9/10/09 - - Interpolation of 20ms frames to 10ms frames. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __INTERP__ -#define __INTERP__ - -#include "defines.h" -#include "kiss_fft.h" - -void interpolate(MODEL *interp, MODEL *prev, MODEL *next); -void interpolate_lsp(kiss_fft_cfg fft_dec_cfg, MODEL *interp, MODEL *prev, - MODEL *next, float *prev_lsps, float prev_e, - float *next_lsps, float next_e, float *ak_interp, - float *lsps_interp, float Wo_min); -void interp_Wo(MODEL *interp, MODEL *prev, MODEL *next, float Wo_min); -void interp_Wo2(MODEL *interp, MODEL *prev, MODEL *next, float weight, - float Wo_min); -float interp_energy(float prev, float next); -float interp_energy2(float prev, float next, float weight); -void interpolate_lsp_ver2(float interp[], float prev[], float next[], - float weight, int order); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/kiss_fft.c b/vendor/codec2_flutter_ios_only/src/codec2/src/kiss_fft.c deleted file mode 100644 index e7993cf..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/kiss_fft.c +++ /dev/null @@ -1,426 +0,0 @@ -/* -Copyright (c) 2003-2010, Mark Borgerding - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - * Neither the author nor the names of any contributors may be used to -endorse or promote products derived from this software without specific prior -written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include "_kiss_fft_guts.h" -/* The guts header contains all the multiplication and addition macros that are - defined for fixed or floating point complex numbers. It also declares the kf_ - internal functions. - */ - -static void kf_bfly2(kiss_fft_cpx *Fout, const size_t fstride, - const kiss_fft_cfg st, int m) { - kiss_fft_cpx *Fout2; - kiss_fft_cpx *tw1 = st->twiddles; - kiss_fft_cpx t; - Fout2 = Fout + m; - do { - C_FIXDIV(*Fout, 2); - C_FIXDIV(*Fout2, 2); - - C_MUL(t, *Fout2, *tw1); - tw1 += fstride; - C_SUB(*Fout2, *Fout, t); - C_ADDTO(*Fout, t); - ++Fout2; - ++Fout; - } while (--m); -} - -static void kf_bfly4(kiss_fft_cpx *Fout, const size_t fstride, - const kiss_fft_cfg st, const size_t m) { - kiss_fft_cpx *tw1, *tw2, *tw3; - kiss_fft_cpx scratch[6]; - size_t k = m; - const size_t m2 = 2 * m; - const size_t m3 = 3 * m; - - tw3 = tw2 = tw1 = st->twiddles; - - do { - C_FIXDIV(*Fout, 4); - C_FIXDIV(Fout[m], 4); - C_FIXDIV(Fout[m2], 4); - C_FIXDIV(Fout[m3], 4); - - C_MUL(scratch[0], Fout[m], *tw1); - C_MUL(scratch[1], Fout[m2], *tw2); - C_MUL(scratch[2], Fout[m3], *tw3); - - C_SUB(scratch[5], *Fout, scratch[1]); - C_ADDTO(*Fout, scratch[1]); - C_ADD(scratch[3], scratch[0], scratch[2]); - C_SUB(scratch[4], scratch[0], scratch[2]); - C_SUB(Fout[m2], *Fout, scratch[3]); - tw1 += fstride; - tw2 += fstride * 2; - tw3 += fstride * 3; - C_ADDTO(*Fout, scratch[3]); - - if (st->inverse) { - Fout[m].r = scratch[5].r - scratch[4].i; - Fout[m].i = scratch[5].i + scratch[4].r; - Fout[m3].r = scratch[5].r + scratch[4].i; - Fout[m3].i = scratch[5].i - scratch[4].r; - } else { - Fout[m].r = scratch[5].r + scratch[4].i; - Fout[m].i = scratch[5].i - scratch[4].r; - Fout[m3].r = scratch[5].r - scratch[4].i; - Fout[m3].i = scratch[5].i + scratch[4].r; - } - ++Fout; - } while (--k); -} - -static void kf_bfly3(kiss_fft_cpx *Fout, const size_t fstride, - const kiss_fft_cfg st, size_t m) { - size_t k = m; - const size_t m2 = 2 * m; - kiss_fft_cpx *tw1, *tw2; - kiss_fft_cpx scratch[5]; - kiss_fft_cpx epi3; - epi3 = st->twiddles[fstride * m]; - - tw1 = tw2 = st->twiddles; - - do { - C_FIXDIV(*Fout, 3); - C_FIXDIV(Fout[m], 3); - C_FIXDIV(Fout[m2], 3); - - C_MUL(scratch[1], Fout[m], *tw1); - C_MUL(scratch[2], Fout[m2], *tw2); - - C_ADD(scratch[3], scratch[1], scratch[2]); - C_SUB(scratch[0], scratch[1], scratch[2]); - tw1 += fstride; - tw2 += fstride * 2; - - Fout[m].r = Fout->r - HALF_OF(scratch[3].r); - Fout[m].i = Fout->i - HALF_OF(scratch[3].i); - - C_MULBYSCALAR(scratch[0], epi3.i); - - C_ADDTO(*Fout, scratch[3]); - - Fout[m2].r = Fout[m].r + scratch[0].i; - Fout[m2].i = Fout[m].i - scratch[0].r; - - Fout[m].r -= scratch[0].i; - Fout[m].i += scratch[0].r; - - ++Fout; - } while (--k); -} - -static void kf_bfly5(kiss_fft_cpx *Fout, const size_t fstride, - const kiss_fft_cfg st, int m) { - kiss_fft_cpx *Fout0, *Fout1, *Fout2, *Fout3, *Fout4; - int u; - kiss_fft_cpx scratch[13]; - kiss_fft_cpx *twiddles = st->twiddles; - kiss_fft_cpx *tw; - kiss_fft_cpx ya, yb; - ya = twiddles[fstride * m]; - yb = twiddles[fstride * 2 * m]; - - Fout0 = Fout; - Fout1 = Fout0 + m; - Fout2 = Fout0 + 2 * m; - Fout3 = Fout0 + 3 * m; - Fout4 = Fout0 + 4 * m; - - tw = st->twiddles; - for (u = 0; u < m; ++u) { - C_FIXDIV(*Fout0, 5); - C_FIXDIV(*Fout1, 5); - C_FIXDIV(*Fout2, 5); - C_FIXDIV(*Fout3, 5); - C_FIXDIV(*Fout4, 5); - scratch[0] = *Fout0; - - C_MUL(scratch[1], *Fout1, tw[u * fstride]); - C_MUL(scratch[2], *Fout2, tw[2 * u * fstride]); - C_MUL(scratch[3], *Fout3, tw[3 * u * fstride]); - C_MUL(scratch[4], *Fout4, tw[4 * u * fstride]); - - C_ADD(scratch[7], scratch[1], scratch[4]); - C_SUB(scratch[10], scratch[1], scratch[4]); - C_ADD(scratch[8], scratch[2], scratch[3]); - C_SUB(scratch[9], scratch[2], scratch[3]); - - Fout0->r += scratch[7].r + scratch[8].r; - Fout0->i += scratch[7].i + scratch[8].i; - - scratch[5].r = - scratch[0].r + S_MUL(scratch[7].r, ya.r) + S_MUL(scratch[8].r, yb.r); - scratch[5].i = - scratch[0].i + S_MUL(scratch[7].i, ya.r) + S_MUL(scratch[8].i, yb.r); - - scratch[6].r = S_MUL(scratch[10].i, ya.i) + S_MUL(scratch[9].i, yb.i); - scratch[6].i = -S_MUL(scratch[10].r, ya.i) - S_MUL(scratch[9].r, yb.i); - - C_SUB(*Fout1, scratch[5], scratch[6]); - C_ADD(*Fout4, scratch[5], scratch[6]); - - scratch[11].r = - scratch[0].r + S_MUL(scratch[7].r, yb.r) + S_MUL(scratch[8].r, ya.r); - scratch[11].i = - scratch[0].i + S_MUL(scratch[7].i, yb.r) + S_MUL(scratch[8].i, ya.r); - scratch[12].r = -S_MUL(scratch[10].i, yb.i) + S_MUL(scratch[9].i, ya.i); - scratch[12].i = S_MUL(scratch[10].r, yb.i) - S_MUL(scratch[9].r, ya.i); - - C_ADD(*Fout2, scratch[11], scratch[12]); - C_SUB(*Fout3, scratch[11], scratch[12]); - - ++Fout0; - ++Fout1; - ++Fout2; - ++Fout3; - ++Fout4; - } -} - -/* perform the butterfly for one stage of a mixed radix FFT */ -static void kf_bfly_generic(kiss_fft_cpx *Fout, const size_t fstride, - const kiss_fft_cfg st, int m, int p) { - int u, k, q1, q; - kiss_fft_cpx *twiddles = st->twiddles; - kiss_fft_cpx t; - int Norig = st->nfft; - - kiss_fft_cpx *scratch = - (kiss_fft_cpx *)KISS_FFT_TMP_ALLOC(sizeof(kiss_fft_cpx) * p); - - for (u = 0; u < m; ++u) { - k = u; - for (q1 = 0; q1 < p; ++q1) { - scratch[q1] = Fout[k]; - C_FIXDIV(scratch[q1], p); - k += m; - } - - k = u; - for (q1 = 0; q1 < p; ++q1) { - int twidx = 0; - Fout[k] = scratch[0]; - for (q = 1; q < p; ++q) { - twidx += fstride * k; - if (twidx >= Norig) twidx -= Norig; - C_MUL(t, scratch[q], twiddles[twidx]); - C_ADDTO(Fout[k], t); - } - k += m; - } - } - KISS_FFT_TMP_FREE(scratch); -} - -static void kf_work(kiss_fft_cpx *Fout, const kiss_fft_cpx *f, - const size_t fstride, int in_stride, int *factors, - const kiss_fft_cfg st) { - kiss_fft_cpx *Fout_beg = Fout; - const int p = *factors++; /* the radix */ - const int m = *factors++; /* stage's fft length/p */ - const kiss_fft_cpx *Fout_end = Fout + p * m; - -#ifdef _OPENMP - // use openmp extensions at the - // top-level (not recursive) - if (fstride == 1 && p <= 5) { - int k; - - // execute the p different work units in different threads -#pragma omp parallel for - for (k = 0; k < p; ++k) - kf_work(Fout + k * m, f + fstride * in_stride * k, fstride * p, in_stride, - factors, st); - // all threads have joined by this point - - switch (p) { - case 2: - kf_bfly2(Fout, fstride, st, m); - break; - case 3: - kf_bfly3(Fout, fstride, st, m); - break; - case 4: - kf_bfly4(Fout, fstride, st, m); - break; - case 5: - kf_bfly5(Fout, fstride, st, m); - break; - default: - kf_bfly_generic(Fout, fstride, st, m, p); - break; - } - return; - } -#endif - - if (m == 1) { - do { - *Fout = *f; - f += fstride * in_stride; - } while (++Fout != Fout_end); - } else { - do { - // recursive call: - // DFT of size m*p performed by doing - // p instances of smaller DFTs of size m, - // each one takes a decimated version of the input - kf_work(Fout, f, fstride * p, in_stride, factors, st); - f += fstride * in_stride; - } while ((Fout += m) != Fout_end); - } - - Fout = Fout_beg; - - // recombine the p smaller DFTs - switch (p) { - case 2: - kf_bfly2(Fout, fstride, st, m); - break; - case 3: - kf_bfly3(Fout, fstride, st, m); - break; - case 4: - kf_bfly4(Fout, fstride, st, m); - break; - case 5: - kf_bfly5(Fout, fstride, st, m); - break; - default: - kf_bfly_generic(Fout, fstride, st, m, p); - break; - } -} - -/* facbuf is populated by p1,m1,p2,m2, ... - where - p[i] * m[i] = m[i-1] - m0 = n */ -static void kf_factor(int n, int *facbuf) { - int p = 4; - double floor_sqrt; - floor_sqrt = floorf(sqrtf((double)n)); - - /*factor out powers of 4, powers of 2, then any remaining primes */ - do { - while (n % p) { - switch (p) { - case 4: - p = 2; - break; - case 2: - p = 3; - break; - default: - p += 2; - break; - } - if (p > floor_sqrt) p = n; /* no more factors, skip to end */ - } - n /= p; - *facbuf++ = p; - *facbuf++ = n; - } while (n > 1); -} - -/* - * - * User-callable function to allocate all necessary storage space for the fft. - * - * The return value is a contiguous block of memory, allocated with malloc. As - * such, It can be freed with free(), rather than a kiss_fft-specific function. - * */ -kiss_fft_cfg kiss_fft_alloc(int nfft, int inverse_fft, void *mem, - size_t *lenmem) { - kiss_fft_cfg st = NULL; - size_t memneeded = sizeof(struct kiss_fft_state) + - sizeof(kiss_fft_cpx) * (nfft - 1); /* twiddle factors*/ - - if (lenmem == NULL) { - st = (kiss_fft_cfg)KISS_FFT_MALLOC(memneeded); - } else { - if (mem != NULL && *lenmem >= memneeded) st = (kiss_fft_cfg)mem; - *lenmem = memneeded; - } - if (st) { - int i; - st->nfft = nfft; - st->inverse = inverse_fft; - - for (i = 0; i < nfft; ++i) { - const double pi = - 3.141592653589793238462643383279502884197169399375105820974944; - double phase = -2 * pi * i / nfft; - if (st->inverse) phase *= -1; - kf_cexp(st->twiddles + i, phase); - } - - kf_factor(nfft, st->factors); - } - return st; -} - -void kiss_fft_stride(kiss_fft_cfg st, const kiss_fft_cpx *fin, - kiss_fft_cpx *fout, int in_stride) { - if (fin == fout) { - // NOTE: this is not really an in-place FFT algorithm. - // It just performs an out-of-place FFT into a temp buffer - kiss_fft_cpx *tmpbuf = - (kiss_fft_cpx *)KISS_FFT_TMP_ALLOC(sizeof(kiss_fft_cpx) * st->nfft); - kf_work(tmpbuf, fin, 1, in_stride, st->factors, st); - memcpy(fout, tmpbuf, sizeof(kiss_fft_cpx) * st->nfft); - KISS_FFT_TMP_FREE(tmpbuf); - } else { - kf_work(fout, fin, 1, in_stride, st->factors, st); - } -} - -void kiss_fft(kiss_fft_cfg cfg, const kiss_fft_cpx *fin, kiss_fft_cpx *fout) { - kiss_fft_stride(cfg, fin, fout, 1); -} - -void kiss_fft_cleanup(void) { - // nothing needed any more -} - -int kiss_fft_next_fast_size(int n) { - while (1) { - int m = n; - while ((m % 2) == 0) m /= 2; - while ((m % 3) == 0) m /= 3; - while ((m % 5) == 0) m /= 5; - if (m <= 1) - break; /* n is completely factorable by twos, threes, and fives */ - n++; - } - return n; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/kiss_fft.h b/vendor/codec2_flutter_ios_only/src/codec2/src/kiss_fft.h deleted file mode 100644 index ea1349e..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/kiss_fft.h +++ /dev/null @@ -1,126 +0,0 @@ -#ifndef KISS_FFT_H -#define KISS_FFT_H - -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* - ATTENTION! - If you would like a : - -- a utility that will handle the caching of fft objects - -- real-only (no imaginary time component ) FFT - -- a multi-dimensional FFT - -- a command-line utility to perform ffts - -- a command-line utility to perform fast-convolution filtering - - Then see kfc.h kiss_fftr.h kiss_fftnd.h fftutil.c kiss_fastfir.c - in the tools/ directory. -*/ - -#ifdef USE_SIMD -#include -#define kiss_fft_scalar __m128 -#define KISS_FFT_MALLOC(nbytes) _mm_malloc(nbytes, 16) -#define KISS_FFT_FREE _mm_free -#else -#define KISS_FFT_MALLOC malloc -#define KISS_FFT_FREE free -#endif - -#ifdef FIXED_POINT -#include -#if (FIXED_POINT == 32) -#define kiss_fft_scalar int32_t -#else -#define kiss_fft_scalar int16_t -#endif -#else -#ifndef kiss_fft_scalar -/* default is float */ -#define kiss_fft_scalar float -#endif -#endif - -typedef struct { - kiss_fft_scalar r; - kiss_fft_scalar i; -} kiss_fft_cpx; - -typedef struct kiss_fft_state *kiss_fft_cfg; - -/* - * kiss_fft_alloc - * - * Initialize a FFT (or IFFT) algorithm's cfg/state buffer. - * - * typical usage: kiss_fft_cfg mycfg=kiss_fft_alloc(1024,0,NULL,NULL); - * - * The return value from fft_alloc is a cfg buffer used internally - * by the fft routine or NULL. - * - * If lenmem is NULL, then kiss_fft_alloc will allocate a cfg buffer using - * malloc. The returned value should be free()d when done to avoid memory leaks. - * - * The state can be placed in a user supplied buffer 'mem': - * If lenmem is not NULL and mem is not NULL and *lenmem is large enough, - * then the function places the cfg in mem and the size used in *lenmem - * and returns mem. - * - * If lenmem is not NULL and ( mem is NULL or *lenmem is not large enough), - * then the function returns NULL and places the minimum cfg - * buffer size in *lenmem. - * */ - -kiss_fft_cfg kiss_fft_alloc(int nfft, int inverse_fft, void *mem, - size_t *lenmem); - -/* - * kiss_fft(cfg,in_out_buf) - * - * Perform an FFT on a complex input buffer. - * for a forward FFT, - * fin should be f[0] , f[1] , ... ,f[nfft-1] - * fout will be F[0] , F[1] , ... ,F[nfft-1] - * Note that each element is complex and can be accessed like - f[k].r and f[k].i - * */ -void kiss_fft(kiss_fft_cfg cfg, const kiss_fft_cpx *fin, kiss_fft_cpx *fout); - -/* - A more generic version of the above function. It reads its input from every Nth - sample. - * */ -void kiss_fft_stride(kiss_fft_cfg cfg, const kiss_fft_cpx *fin, - kiss_fft_cpx *fout, int fin_stride); - -/* If kiss_fft_alloc allocated a buffer, it is one contiguous - buffer and can be simply free()d when no longer needed*/ -#define kiss_fft_free free - -/* - Cleans up some memory that gets managed internally. Not necessary to call, but - it might clean up your compiler output to call this before you exit. -*/ -void kiss_fft_cleanup(void); - -/* - * Returns the smallest integer k, such that k>=n and k has only "fast" factors - * (2,3,5) - */ -int kiss_fft_next_fast_size(int n); - -/* for real ffts, we need an even size */ -#define kiss_fftr_next_fast_size_real(n) \ - (kiss_fft_next_fast_size(((n) + 1) >> 1) << 1) - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/kiss_fftr.c b/vendor/codec2_flutter_ios_only/src/codec2/src/kiss_fftr.c deleted file mode 100644 index e3aee37..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/kiss_fftr.c +++ /dev/null @@ -1,168 +0,0 @@ -/* -Copyright (c) 2003-2004, Mark Borgerding - -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, -are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, -this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, -this list of conditions and the following disclaimer in the documentation and/or -other materials provided with the distribution. - * Neither the author nor the names of any contributors may be used to -endorse or promote products derived from this software without specific prior -written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR -ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON -ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include "kiss_fftr.h" - -#include "_kiss_fft_guts.h" -#include "assert.h" - -struct kiss_fftr_state { - kiss_fft_cfg substate; - kiss_fft_cpx *tmpbuf; - kiss_fft_cpx *super_twiddles; -#ifdef USE_SIMD - void *pad; -#endif -}; - -kiss_fftr_cfg kiss_fftr_alloc(int nfft, int inverse_fft, void *mem, - size_t *lenmem) { - int i; - kiss_fftr_cfg st = NULL; - size_t subsize, memneeded; - - if (nfft & 1) { - fprintf(stderr, "Real FFT optimization must be even.\n"); - return NULL; - } - nfft >>= 1; - - kiss_fft_alloc(nfft, inverse_fft, NULL, &subsize); - memneeded = sizeof(struct kiss_fftr_state) + subsize + - sizeof(kiss_fft_cpx) * (nfft * 3 / 2); - - if (lenmem == NULL) { - st = (kiss_fftr_cfg)KISS_FFT_MALLOC(memneeded); - } else { - if (*lenmem >= memneeded) st = (kiss_fftr_cfg)mem; - *lenmem = memneeded; - } - if (!st) return NULL; - - st->substate = (kiss_fft_cfg)(st + 1); /*just beyond kiss_fftr_state struct */ - st->tmpbuf = (kiss_fft_cpx *)(((char *)st->substate) + subsize); - st->super_twiddles = st->tmpbuf + nfft; - kiss_fft_alloc(nfft, inverse_fft, st->substate, &subsize); - - for (i = 0; i < nfft / 2; ++i) { - float phase = - -3.14159265358979323846264338327 * ((float)(i + 1) / nfft + .5); - if (inverse_fft) phase *= -1; - kf_cexp(st->super_twiddles + i, phase); - } - return st; -} - -void kiss_fftr(kiss_fftr_cfg st, const kiss_fft_scalar *timedata, - kiss_fft_cpx *freqdata) { - /* input buffer timedata is stored row-wise */ - int k, ncfft; - kiss_fft_cpx fpnk, fpk, f1k, f2k, tw, tdc; - - assert(st->substate->inverse == 0); - - ncfft = st->substate->nfft; - - /*perform the parallel fft of two real signals packed in real,imag*/ - kiss_fft(st->substate, (const kiss_fft_cpx *)timedata, st->tmpbuf); - /* The real part of the DC element of the frequency spectrum in st->tmpbuf - * contains the sum of the even-numbered elements of the input time sequence - * The imag part is the sum of the odd-numbered elements - * - * The sum of tdc.r and tdc.i is the sum of the input time sequence. - * yielding DC of input time sequence - * The difference of tdc.r - tdc.i is the sum of the input (dot product) - * [1,-1,1,-1... yielding Nyquist bin of input time sequence - */ - - tdc.r = st->tmpbuf[0].r; - tdc.i = st->tmpbuf[0].i; - C_FIXDIV(tdc, 2); - CHECK_OVERFLOW_OP(tdc.r, +, tdc.i); - CHECK_OVERFLOW_OP(tdc.r, -, tdc.i); - freqdata[0].r = tdc.r + tdc.i; - freqdata[ncfft].r = tdc.r - tdc.i; -#ifdef USE_SIMD - freqdata[ncfft].i = freqdata[0].i = _mm_set1_ps(0); -#else - freqdata[ncfft].i = freqdata[0].i = 0; -#endif - - for (k = 1; k <= ncfft / 2; ++k) { - fpk = st->tmpbuf[k]; - fpnk.r = st->tmpbuf[ncfft - k].r; - fpnk.i = -st->tmpbuf[ncfft - k].i; - C_FIXDIV(fpk, 2); - C_FIXDIV(fpnk, 2); - - C_ADD(f1k, fpk, fpnk); - C_SUB(f2k, fpk, fpnk); - C_MUL(tw, f2k, st->super_twiddles[k - 1]); - - freqdata[k].r = HALF_OF(f1k.r + tw.r); - freqdata[k].i = HALF_OF(f1k.i + tw.i); - freqdata[ncfft - k].r = HALF_OF(f1k.r - tw.r); - freqdata[ncfft - k].i = HALF_OF(tw.i - f1k.i); - } -} - -void kiss_fftri(kiss_fftr_cfg st, const kiss_fft_cpx *freqdata, - kiss_fft_scalar *timedata) { - /* input buffer timedata is stored row-wise */ - int k, ncfft; - - assert(st->substate->inverse == 1); - - ncfft = st->substate->nfft; - - st->tmpbuf[0].r = freqdata[0].r + freqdata[ncfft].r; - st->tmpbuf[0].i = freqdata[0].r - freqdata[ncfft].r; - C_FIXDIV(st->tmpbuf[0], 2); - - for (k = 1; k <= ncfft / 2; ++k) { - kiss_fft_cpx fk, fnkc, fek, fok, tmp; - fk = freqdata[k]; - fnkc.r = freqdata[ncfft - k].r; - fnkc.i = -freqdata[ncfft - k].i; - C_FIXDIV(fk, 2); - C_FIXDIV(fnkc, 2); - - C_ADD(fek, fk, fnkc); - C_SUB(tmp, fk, fnkc); - C_MUL(fok, tmp, st->super_twiddles[k - 1]); - C_ADD(st->tmpbuf[k], fek, fok); - C_SUB(st->tmpbuf[ncfft - k], fek, fok); -#ifdef USE_SIMD - st->tmpbuf[ncfft - k].i *= _mm_set1_ps(-1.0); -#else - st->tmpbuf[ncfft - k].i *= -1; -#endif - } - kiss_fft(st->substate, st->tmpbuf, (kiss_fft_cpx *)timedata); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/kiss_fftr.h b/vendor/codec2_flutter_ios_only/src/codec2/src/kiss_fftr.h deleted file mode 100644 index 4ab52db..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/kiss_fftr.h +++ /dev/null @@ -1,47 +0,0 @@ -#ifndef KISS_FTR_H -#define KISS_FTR_H - -#include "kiss_fft.h" -#ifdef __cplusplus -extern "C" { -#endif - -/* - - Real optimized version can save about 45% cpu time vs. complex fft of a real - seq. - - - - */ - -typedef struct kiss_fftr_state *kiss_fftr_cfg; - -kiss_fftr_cfg kiss_fftr_alloc(int nfft, int inverse_fft, void *mem, - size_t *lenmem); -/* - nfft must be even - - If you don't care to allocate space, use mem = lenmem = NULL -*/ - -void kiss_fftr(kiss_fftr_cfg cfg, const kiss_fft_scalar *timedata, - kiss_fft_cpx *freqdata); -/* - input timedata has nfft scalar points - output freqdata has nfft/2+1 complex points -*/ - -void kiss_fftri(kiss_fftr_cfg cfg, const kiss_fft_cpx *freqdata, - kiss_fft_scalar *timedata); -/* - input freqdata has nfft/2+1 complex points - output timedata has nfft scalar points -*/ - -#define kiss_fftr_free free - -#ifdef __cplusplus -} -#endif -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_codes.c b/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_codes.c deleted file mode 100644 index d01bd69..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_codes.c +++ /dev/null @@ -1,135 +0,0 @@ -/* - FILE...: ldpc_codes.c - AUTHOR.: David Rowe - CREATED: July 2020 - - Array of LDPC codes used for various Codec2 waveforms. -*/ - -#include "ldpc_codes.h" - -#include -#include - -#include "HRA_112_112.h" -#include "HRA_56_56.h" -#include "HRAa_1536_512.h" -#include "HRAb_396_504.h" -#include "H_1024_2048_4f.h" -#include "H_128_256_5.h" -#include "H_16200_9720.h" -#include "H_2064_516_sparse.h" -#include "H_212_158.h" -#include "H_256_512_4.h" -#include "H_256_768_22.h" -#include "H_4096_8192_3d.h" -#include "assert.h" -#include "interldpc.h" - -struct LDPC ldpc_codes[] = { - /* short rate 1/2 code for FreeDV 700D */ - {"HRA_112_112", HRA_112_112_MAX_ITER, 0, 1, 1, HRA_112_112_CODELENGTH, - HRA_112_112_NUMBERPARITYBITS, HRA_112_112_NUMBERROWSHCOLS, - HRA_112_112_MAX_ROW_WEIGHT, HRA_112_112_MAX_COL_WEIGHT, - (uint16_t *)HRA_112_112_H_rows, (uint16_t *)HRA_112_112_H_cols}, - /* short rate 1/2 code for FreeDV 700E */ - {"HRA_56_56", HRA_56_56_MAX_ITER, 0, 1, 1, HRA_56_56_CODELENGTH, - HRA_56_56_NUMBERPARITYBITS, HRA_56_56_NUMBERROWSHCOLS, - HRA_56_56_MAX_ROW_WEIGHT, HRA_56_56_MAX_COL_WEIGHT, - (uint16_t *)HRA_56_56_H_rows, (uint16_t *)HRA_56_56_H_cols}, -#ifndef __EMBEDDED__ - - /* default Wenet High Alitiude Balloon rate 0.8 code */ - {"H_2064_516_sparse", MAX_ITER, 0, 1, 1, CODELENGTH, NUMBERPARITYBITS, - NUMBERROWSHCOLS, MAX_ROW_WEIGHT, MAX_COL_WEIGHT, - (uint16_t *)H_2064_516_sparse_H_rows, - (uint16_t *)H_2064_516_sparse_H_cols}, - - /* rate 0.8 code used for FreeDV 2020 */ - {"HRAb_396_504", HRAb_396_504_MAX_ITER, 0, 1, 1, HRAb_396_504_CODELENGTH, - HRAb_396_504_NUMBERPARITYBITS, HRAb_396_504_NUMBERROWSHCOLS, - HRAb_396_504_MAX_ROW_WEIGHT, HRAb_396_504_MAX_COL_WEIGHT, - (uint16_t *)HRAb_396_504_H_rows, (uint16_t *)HRAb_396_504_H_cols}, - - /* Rate 0.745 code for mopping up errors on 2020C from Bill - VK5DSP. 2020C has been removed but code might be useful in future */ - {"H_212_158", H_212_158_MAX_ITER, 0, 1, 1, H_212_158_CODELENGTH, - H_212_158_NUMBERPARITYBITS, H_212_158_NUMBERROWSHCOLS, - H_212_158_MAX_ROW_WEIGHT, H_212_158_MAX_COL_WEIGHT, - (uint16_t *)H_212_158_H_rows, (uint16_t *)H_212_158_H_cols}, - - /* rate 1/3 code, works at raw BER of 14% */ - {"H_256_768_22", H_256_768_22_MAX_ITER, 0, 1, 1, H_256_768_22_CODELENGTH, - H_256_768_22_NUMBERPARITYBITS, H_256_768_22_NUMBERROWSHCOLS, - H_256_768_22_MAX_ROW_WEIGHT, H_256_768_22_MAX_COL_WEIGHT, - (uint16_t *)H_256_768_22_H_rows, (uint16_t *)H_256_768_22_H_cols}, - - /* used for 4FSK/LLR experiments */ - {"H_256_512_4", H_256_512_4_MAX_ITER, 0, 1, 1, H_256_512_4_CODELENGTH, - H_256_512_4_NUMBERPARITYBITS, H_256_512_4_NUMBERROWSHCOLS, - H_256_512_4_MAX_ROW_WEIGHT, H_256_512_4_MAX_COL_WEIGHT, - (uint16_t *)H_256_512_4_H_rows, (uint16_t *)H_256_512_4_H_cols}, - - /* used for 4FSK/LLR experiments */ - {"HRAa_1536_512", HRAa_1536_512_MAX_ITER, 0, 1, 1, HRAa_1536_512_CODELENGTH, - HRAa_1536_512_NUMBERPARITYBITS, HRAa_1536_512_NUMBERROWSHCOLS, - HRAa_1536_512_MAX_ROW_WEIGHT, HRAa_1536_512_MAX_COL_WEIGHT, - (uint16_t *)HRAa_1536_512_H_rows, (uint16_t *)HRAa_1536_512_H_cols}, - - /* used for 4FSK/LLR experiments */ - {"H_128_256_5", H_128_256_5_MAX_ITER, 0, 1, 1, H_128_256_5_CODELENGTH, - H_128_256_5_NUMBERPARITYBITS, H_128_256_5_NUMBERROWSHCOLS, - H_128_256_5_MAX_ROW_WEIGHT, H_128_256_5_MAX_COL_WEIGHT, - (uint16_t *)H_128_256_5_H_rows, (uint16_t *)H_128_256_5_H_cols}, - - /* Nice long code from Bill VK5DSP - useful for HF data */ - {"H_4096_8192_3d", H_4096_8192_3d_MAX_ITER, 0, 1, 1, - H_4096_8192_3d_CODELENGTH, H_4096_8192_3d_NUMBERPARITYBITS, - H_4096_8192_3d_NUMBERROWSHCOLS, H_4096_8192_3d_MAX_ROW_WEIGHT, - H_4096_8192_3d_MAX_COL_WEIGHT, (uint16_t *)H_4096_8192_3d_H_rows, - (uint16_t *)H_4096_8192_3d_H_cols}, - - /* Nice long code from Bill VK5DSP - useful for HF data */ - {"H_16200_9720", H_16200_9720_MAX_ITER, 0, 1, 1, H_16200_9720_CODELENGTH, - H_16200_9720_NUMBERPARITYBITS, H_16200_9720_NUMBERROWSHCOLS, - H_16200_9720_MAX_ROW_WEIGHT, H_16200_9720_MAX_COL_WEIGHT, - (uint16_t *)H_16200_9720_H_rows, (uint16_t *)H_16200_9720_H_cols}, - - /* Another fine code from Bill VK5DSP - also useful for HF data */ - {"H_1024_2048_4f", H_1024_2048_4f_MAX_ITER, 0, 1, 1, - H_1024_2048_4f_CODELENGTH, H_1024_2048_4f_NUMBERPARITYBITS, - H_1024_2048_4f_NUMBERROWSHCOLS, H_1024_2048_4f_MAX_ROW_WEIGHT, - H_1024_2048_4f_MAX_COL_WEIGHT, (uint16_t *)H_1024_2048_4f_H_rows, - (uint16_t *)H_1024_2048_4f_H_cols} -#endif -}; - -int ldpc_codes_num(void) { return sizeof(ldpc_codes) / sizeof(struct LDPC); } - -void ldpc_codes_list() { - fprintf(stderr, "\n"); - for (int c = 0; c < ldpc_codes_num(); c++) { - int n = ldpc_codes[c].NumberRowsHcols + ldpc_codes[c].NumberParityBits; - int k = ldpc_codes[c].NumberRowsHcols; - float rate = (float)k / n; - fprintf(stderr, "%-20s rate %3.2f (%d,%d) \n", ldpc_codes[c].name, - (double)rate, n, k); - } - fprintf(stderr, "\n"); -} - -int ldpc_codes_find(char name[]) { - int code_index = -1; - for (int c = 0; c < ldpc_codes_num(); c++) - if (strcmp(ldpc_codes[c].name, name) == 0) code_index = c; - assert(code_index != -1); /* code not found */ - return code_index; -} - -void ldpc_codes_setup(struct LDPC *ldpc, char name[]) { - int code_index; - code_index = ldpc_codes_find(name); - assert(code_index != -1); - memcpy(ldpc, &ldpc_codes[code_index], sizeof(struct LDPC)); - set_up_ldpc_constants(ldpc, ldpc->CodeLength, ldpc->NumberParityBits); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_codes.h b/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_codes.h deleted file mode 100644 index e33fa57..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_codes.h +++ /dev/null @@ -1,27 +0,0 @@ -/* - FILE...: ldpc_codes.h - AUTHOR.: David Rowe - CREATED: July 2020 - - Array of LDPC codes used for various Codec2 waveforms. -*/ - -#ifndef __LDPC_CODES__ - -#ifdef __cplusplus -extern "C" { -#endif - -#include "mpdecode_core.h" - -extern struct LDPC ldpc_codes[]; -int ldpc_codes_num(void); -void ldpc_codes_list(); -int ldpc_codes_find(char name[]); -void ldpc_codes_setup(struct LDPC *ldpc, char name[]); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_dec.c b/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_dec.c deleted file mode 100644 index 82bdacb..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_dec.c +++ /dev/null @@ -1,268 +0,0 @@ -/* - FILE...: ldpc_dec.c - AUTHOR.: Matthew C. Valenti, Rohit Iyer Seshadri, David Rowe - CREATED: Sep 2016 - - Command line C LDPC decoder derived from MpDecode.c in the CML - library. Allows us to run the same decoder in Octave and C. -*/ - -#include -#include -#include -#include -#include -#include -#include - -#include "ldpc_codes.h" -#include "mpdecode_core.h" -#include "ofdm_internal.h" - -int opt_exists(char *argv[], int argc, char opt[]) { - int i; - for (i = 0; i < argc; i++) { - if (strcmp(argv[i], opt) == 0) { - return i; - } - } - return 0; -} - -int main(int argc, char *argv[]) { - int CodeLength, NumberParityBits; - int i, codename, parityCheckCount, mute, testframes; - int data_bits_per_frame; - struct LDPC ldpc; - int iter, total_iters; - int Tbits, Terrs, Tbits_raw, Terrs_raw, Tpackets, Tpacketerrs; - - int unused_data_bits = 84; - - if (argc < 2) { - fprintf(stderr, "\n"); - fprintf(stderr, "usage: %s --listcodes\n\n", argv[0]); - fprintf(stderr, - " List supported codes (more can be added via using Octave ldpc " - "scripts)\n"); - fprintf(stderr, "\n"); - fprintf(stderr, - "usage: %s InOneSymbolPerFloat OutOneBitPerByte [--sd] [--half] " - "[--code CodeName] [--testframes]", - argv[0]); - fprintf(stderr, " [--unused numUnusedDataBits]\n\n"); - fprintf(stderr, - " InOneSymbolPerFloat Input file of float LLRs, use - for " - "the \n"); - fprintf(stderr, - " file names to use stdin/stdout\n"); - fprintf(stderr, " --code Use LDPC code CodeName\n"); - fprintf(stderr, " --listcodes List available LDPC codes\n"); - fprintf(stderr, - " --sd Treat input file samples as BPSK Soft " - "Decision\n"); - fprintf(stderr, - " demod outputs rather than LLRs\n"); - fprintf(stderr, - " --mute Only output frames with < 10%% parity " - "check fails\n"); - fprintf(stderr, - " --testframes built in test frame modem, requires " - "--testframes at encoder\n"); - fprintf(stderr, - " --unused number of unused data bits, which are " - "set to 1's at enc and dec\n"); - fprintf(stderr, "\n"); - - fprintf(stderr, "Example in testframe mode:\n\n"); - fprintf(stderr, - " $ ./ldpc_enc /dev/zero - --sd --code HRA_112_112 --testframes 10 " - "|\n"); - fprintf(stderr, - " ./ldpc_dec - /dev/null --code HRA_112_112 --sd --testframes\n"); - exit(0); - } - - if ((codename = opt_exists(argv, argc, "--listcodes")) != 0) { - ldpc_codes_list(); - exit(0); - } - - /* set up LDPC code */ - - int code_index = 0; - if ((codename = opt_exists(argv, argc, "--code")) != 0) - code_index = ldpc_codes_find(argv[codename + 1]); - memcpy(&ldpc, &ldpc_codes[code_index], sizeof(struct LDPC)); - fprintf(stderr, "Using: %s\n", ldpc.name); - - CodeLength = ldpc.CodeLength; /* length of entire codeword */ - NumberParityBits = ldpc.NumberParityBits; - data_bits_per_frame = ldpc.NumberRowsHcols; - unsigned char ibits[data_bits_per_frame]; - unsigned char pbits[NumberParityBits]; - uint8_t out_char[CodeLength]; - - testframes = 0; - total_iters = 0; - Tbits = Terrs = Tbits_raw = Terrs_raw = Tpackets = Tpacketerrs = 0; - - FILE *fin, *fout; - int sdinput, nread, offset = 0; - - /* File I/O mode ------------------------------------------------*/ - - if (strcmp(argv[1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[1], "rb")) == NULL) { - fprintf(stderr, "Error opening input SD file: %s: %s.\n", argv[1], - strerror(errno)); - exit(1); - } - - if (strcmp(argv[2], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[2], "wb")) == NULL) { - fprintf(stderr, "Error opening output bit file: %s: %s.\n", argv[2], - strerror(errno)); - exit(1); - } - - sdinput = 0; - mute = 0; - testframes = 0; - if (opt_exists(argv, argc, "--sd")) { - sdinput = 1; - } - if (opt_exists(argv, argc, "--mute")) { - mute = 1; - } - unused_data_bits = 0; - int arg; - if ((arg = opt_exists(argv, argc, "--unused"))) { - unused_data_bits = atoi(argv[arg + 1]); - } - if (opt_exists(argv, argc, "--testframes")) { - testframes = 1; - uint16_t r[data_bits_per_frame]; - ofdm_rand(r, data_bits_per_frame); - - for (i = 0; i < data_bits_per_frame - unused_data_bits; i++) { - ibits[i] = r[i] > 16384; - } - for (i = data_bits_per_frame - unused_data_bits; i < data_bits_per_frame; - i++) { - ibits[i] = 1; - } - encode(&ldpc, ibits, pbits); - } - - float *input_float = calloc(CodeLength, sizeof(float)); - - nread = CodeLength - unused_data_bits; - fprintf(stderr, "CodeLength: %d offset: %d\n", CodeLength, offset); - - while (fread(input_float, sizeof(float), nread, fin) == nread) { - if (testframes) { - /* BPSK SD and bit LLRs get mapped roughly the same way so this just - * happens to work for both */ - char in_char; - for (i = 0; i < data_bits_per_frame - unused_data_bits; i++) { - in_char = input_float[i] < 0; - if (in_char != ibits[i]) { - Terrs_raw++; - } - Tbits_raw++; - } - for (i = 0; i < NumberParityBits; i++) { - in_char = input_float[i + data_bits_per_frame - unused_data_bits] < 0; - if (in_char != pbits[i]) { - Terrs_raw++; - } - Tbits_raw++; - } - } - - if (sdinput) { - /* map BPSK SDs to bit LLRs */ - float llr[CodeLength - unused_data_bits]; - sd_to_llr(llr, input_float, CodeLength - unused_data_bits); - - /* insert unused data LLRs */ - - float llr_tmp[CodeLength]; - for (i = 0; i < data_bits_per_frame - unused_data_bits; i++) - llr_tmp[i] = llr[i]; // rx data bits - for (i = data_bits_per_frame - unused_data_bits; i < data_bits_per_frame; - i++) - llr_tmp[i] = -10.0; // known data bits high likelhood - for (i = data_bits_per_frame; i < CodeLength; i++) - llr_tmp[i] = llr[i - unused_data_bits]; // rx parity bits - memcpy(input_float, llr_tmp, sizeof(float) * CodeLength); - } - - iter = run_ldpc_decoder(&ldpc, out_char, input_float, &parityCheckCount); - // fprintf(stderr, "iter: %d\n", iter); - total_iters += iter; - - if (mute) { - // Output data bits only if decoder converged, or was - // within 10% of all parity checks converging (10% est - // BER). Useful for real world operation as it can - // resync and won't send crappy packets to the decoder - - float ber_est = (float)(ldpc.NumberParityBits - parityCheckCount) / - ldpc.NumberParityBits; - // fprintf(stderr, "iter: %4d parityCheckErrors: %4d ber: %3.2f\n", iter, - // ldpc.NumberParityBits - parityCheckCount, ber_est); - if (ber_est < 0.1) { - fwrite(out_char, sizeof(char), ldpc.NumberRowsHcols, fout); - } - } - - fwrite(out_char, sizeof(char), data_bits_per_frame, fout); - - if (testframes) { - int perr = 0; - for (i = 0; i < data_bits_per_frame; i++) { - if (out_char[i] != ibits[i]) { - Terrs++; - perr = 1; - } - Tbits++; - } - Tpackets++; - if (perr) { - Tpacketerrs++; - fprintf(stderr, "x"); - } else - fprintf(stderr, "."); - } - // fprintf(stderr, "Terrs_raw: %d Tbits_raw: %d Terr: %d Tbits: %d\n", - // Terrs_raw, Tbits_raw, Terrs, Tbits); - } - - free(input_float); - if (fin != NULL) fclose(fin); - if (fout != NULL) fclose(fout); - - fprintf(stderr, "total iters %d\n", total_iters); - - if (testframes) { - fprintf(stderr, "Raw Tbits: %6d Terr: %6d BER: %4.3f\n", Tbits_raw, - Terrs_raw, (float)Terrs_raw / (Tbits_raw + 1E-12)); - float coded_ber = (float)Terrs / (Tbits + 1E-12); - fprintf(stderr, "Coded Tbits: %6d Terr: %6d BER: %4.3f\n", Tbits, Terrs, - coded_ber); - fprintf(stderr, " Tpkts: %6d Tper: %6d PER: %4.3f\n", Tpackets, - Tpacketerrs, Tpacketerrs / (Tpackets + 1E-12)); - - /* set return code for Ctest */ - if (Tpackets && (coded_ber < 0.01)) - return 0; - else - return 1; - } - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_dec_test.c b/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_dec_test.c deleted file mode 100644 index 9ba63b0..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_dec_test.c +++ /dev/null @@ -1,374 +0,0 @@ -/* - FILE...: ldpc_dec.c - AUTHOR.: Matthew C. Valenti, Rohit Iyer Seshadri, David Rowe - CREATED: Sep 2016 - - Command line C LDPC decoder derived from MpDecode.c in the CML - library. Allows us to run the same decoder in Octave and C. The - code is defined by the parameters and array stored in the include - file below, which can be machine generated from the Octave function - ldpc_fsk_lib.m:ldpc_decode() - - The include file also contains test input/output vectors for the LDPC - decoder for testing this program. - - Build: - - $ gcc -O2 -o ldpc_dec ldpc_dec.c mpdecode_core.c -Wall -lm -g - - Note: -O2 option was required to get identical results to MpDecode, - which is also compiled with -O2. Without it the number of bit errors - between C and Octave was different, especially when the code did - not converge and hit max_iters. - -*/ - -#include -#include -#include -#include -#include -#include - -#include "mpdecode_core_test.h" -#include "ofdm_internal.h" - -/* Machine generated consts, H_rows, H_cols, test input/output data to - change LDPC code regenerate this file. */ - -/* TODO: Better octave/C support for multuple codes */ - -#include "H2064_516_sparse_test.h" -#include "HRA_112_112_test.h" - -int opt_exists(char *argv[], int argc, char opt[]) { - int i; - for (i = 0; i < argc; i++) { - if (strcmp(argv[i], opt) == 0) { - return i; - } - } - return 0; -} - -int main(int argc, char *argv[]) { - int CodeLength, NumberParityBits; - int i, r, num_ok, num_runs, codename, parityCheckCount, mute; - int state, next_state, hframe, testframes; - // int frame; - int data_bits_per_frame; - char *adetected_data; - struct LDPC ldpc; - float *ainput; - int iter, total_iters; - int Tbits, Terrs, Tbits_raw, Terrs_raw; - - if (argc < 2) { - fprintf(stderr, "\n"); - fprintf(stderr, "usage: %s --test [--code CodeName]\n\n", argv[0]); - fprintf(stderr, " Run internal self test and print code parameters.\n"); - fprintf(stderr, "\n"); - fprintf(stderr, "usage: %s --listcodes\n\n", argv[0]); - fprintf(stderr, - " List supported codes (more can be added via using Octave ldpc " - "scripts)\n"); - fprintf(stderr, "\n"); - fprintf(stderr, - "usage: %s InOneSymbolPerDouble OutOneBitPerByte [--sd] [--half] " - "[--code CodeName] [--testframes]\n\n", - argv[0]); - fprintf(stderr, - " InOneSymbolPerDouble Input file of double LLRs, use - for " - "the \n"); - fprintf(stderr, - " file names to use stdin/stdout\n"); - fprintf(stderr, " --code Use LDPC code CodeName\n"); - fprintf(stderr, " --listcodes List available LDPC codes\n"); - fprintf(stderr, - " --sd Treat input file samples as Soft " - "Decision\n"); - fprintf(stderr, - " demod outputs rather than LLRs\n"); - fprintf(stderr, - " --half Load framesize/2 input samples for " - "each decode\n"); - fprintf(stderr, - " attempt, only output decoded bits\n"); - fprintf(stderr, - " converges. Form of frame sync.\n"); - fprintf(stderr, - " --mute Only output frames with < 10%% parity " - "check fails\n"); - fprintf(stderr, - " --testframes built in test frame modem, requires " - "--testframes at encoder\n"); - fprintf(stderr, "\n"); - - fprintf(stderr, "Example in testframe mode:\n\n"); - fprintf(stderr, - " $ ./ldpc_enc /dev/zero - --sd --code HRA_112_112 --testframes 10 " - "|\n"); - fprintf(stderr, - " ./ldpc_dec - /dev/null --code HRA_112_112 --sd --testframes\n"); - exit(0); - } - - if ((codename = opt_exists(argv, argc, "--listcodes")) != 0) { - fprintf(stderr, "\n"); - fprintf(stderr, "H2064_516_sparse\n"); - fprintf(stderr, "HRA_112_112\n"); - fprintf(stderr, "\n"); - exit(0); - } - - /* default Wenet High Alitiude Balloon rate 0.8 code */ - - ldpc.max_iter = MAX_ITER; - ldpc.dec_type = 0; - ldpc.q_scale_factor = 1; - ldpc.r_scale_factor = 1; - ldpc.CodeLength = CODELENGTH; - ldpc.NumberParityBits = NUMBERPARITYBITS; - ldpc.NumberRowsHcols = NUMBERROWSHCOLS; - ldpc.max_row_weight = MAX_ROW_WEIGHT; - ldpc.max_col_weight = MAX_COL_WEIGHT; - ldpc.H_rows = H_rows; - ldpc.H_cols = H_cols; - ainput = input; - adetected_data = detected_data; - - if ((codename = opt_exists(argv, argc, "--code")) != 0) { - /* short rate 1/2 code for FreeDV HF digital voice */ - - if (strcmp(argv[codename + 1], "HRA_112_112") == 0) { - fprintf(stderr, "code: %s\n", argv[codename + 1]); - ldpc.max_iter = HRA_112_112_MAX_ITER; - ldpc.dec_type = 0; - ldpc.q_scale_factor = 1; - ldpc.r_scale_factor = 1; - ldpc.CodeLength = HRA_112_112_CODELENGTH; - ldpc.NumberParityBits = HRA_112_112_NUMBERPARITYBITS; - ldpc.NumberRowsHcols = HRA_112_112_NUMBERROWSHCOLS; - ldpc.max_row_weight = HRA_112_112_MAX_ROW_WEIGHT; - ldpc.max_col_weight = HRA_112_112_MAX_COL_WEIGHT; - ldpc.H_rows = HRA_112_112_H_rows; - ldpc.H_cols = HRA_112_112_H_cols; - ainput = HRA_112_112_input; - adetected_data = HRA_112_112_detected_data; - } - } - - if ((i = opt_exists(argv, argc, "--max_iter")) > 0) { - ldpc.max_iter = atoi(argv[i + 1]); - fprintf(stderr, "max_iter: %d\n", ldpc.max_iter); - } - - CodeLength = ldpc.CodeLength; /* length of entire codeword */ - NumberParityBits = ldpc.NumberParityBits; - data_bits_per_frame = ldpc.NumberRowsHcols; - unsigned char ibits[data_bits_per_frame]; - unsigned char pbits[NumberParityBits]; - char out_char[CodeLength]; - - testframes = 0; - total_iters = 0; - Tbits = Terrs = Tbits_raw = Terrs_raw = 0; - - if (!strcmp(argv[1], "--test")) { - /* test mode --------------------------------------------------------*/ - - fprintf(stderr, "Starting test using pre-compiled test data .....\n"); - fprintf(stderr, "Codeword length: %d\n", CodeLength); - fprintf(stderr, "Parity Bits....: %d\n", NumberParityBits); - - num_runs = 1; - num_ok = 0; - - for (r = 0; r < num_runs; r++) { - iter = run_ldpc_decoder(&ldpc, out_char, ainput, &parityCheckCount); - // fprintf(stderr, "iter: %d\n", iter); - total_iters += iter; - - int ok = 0; - for (i = 0; i < CodeLength; i++) { - if (out_char[i] == adetected_data[i]) ok++; - } - - if (ok == CodeLength) num_ok++; - } - - fprintf(stderr, "test runs......: %d\n", num_runs); - fprintf(stderr, "test runs OK...: %d\n", num_ok); - if (num_runs == num_ok) - fprintf(stderr, "test runs OK...: PASS\n"); - else - fprintf(stderr, "test runs OK...: FAIL\n"); - } else { - FILE *fin, *fout; - int sdinput, readhalfframe, nread, offset; - - /* File I/O mode ------------------------------------------------*/ - - if (strcmp(argv[1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[1], "rb")) == NULL) { - fprintf(stderr, "Error opening input SD file: %s: %s.\n", argv[1], - strerror(errno)); - exit(1); - } - - if (strcmp(argv[2], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[2], "wb")) == NULL) { - fprintf(stderr, "Error opening output bit file: %s: %s.\n", argv[2], - strerror(errno)); - exit(1); - } - - sdinput = 0; - readhalfframe = 0; - mute = 0; - state = 0; - hframe = 0; - if (opt_exists(argv, argc, "--sd")) { - sdinput = 1; - } - if (opt_exists(argv, argc, "--half")) { - readhalfframe = 1; - } - if (opt_exists(argv, argc, "--mute")) { - mute = 1; - } - if (opt_exists(argv, argc, "--testframes")) { - testframes = 1; - uint16_t r[data_bits_per_frame]; - ofdm_rand(r, data_bits_per_frame); - - for (i = 0; i < data_bits_per_frame; i++) { - ibits[i] = r[i] > 16384; - } - encode(&ldpc, ibits, pbits); - } - - double *input_double = calloc(CodeLength, sizeof(double)); - float *input_float = calloc(CodeLength, sizeof(float)); - - nread = CodeLength; - offset = 0; - if (readhalfframe) { - nread = CodeLength / 2; - offset = CodeLength / 2; - for (i = 0; i < offset; i++) { - input_double[i] = 0.0; - } - } - - fprintf(stderr, "Codeword length: %d\n", CodeLength); - fprintf(stderr, "Parity Bits....: %d\n", NumberParityBits); - - // frame = 0; - while (fread(&input_double[offset], sizeof(double), nread, fin) == nread) { - // fprintf(stderr, "Frame %d\n", frame); - if (sdinput) { - if (testframes) { - char in_char; - for (i = 0; i < data_bits_per_frame; i++) { - in_char = input_double[i] < 0; - if (in_char != ibits[i]) { - Terrs_raw++; - } - Tbits_raw++; - } - for (i = 0; i < NumberParityBits; i++) { - in_char = input_double[i + data_bits_per_frame] < 0; - if (in_char != pbits[i]) { - Terrs_raw++; - } - Tbits_raw++; - } - } - sd_to_llr(input_float, input_double, CodeLength); - } - - iter = run_ldpc_decoder(&ldpc, out_char, input_float, &parityCheckCount); - // fprintf(stderr, "iter: %d\n", iter); - total_iters += iter; - - if (mute) { - // Output data bits if decoder converged, or was - // within 10% of all parity checks converging (10% est - // BER). useful for real world operation as it can - // resync and won't send crappy packets to the decoder - - float ber_est = (float)(ldpc.NumberParityBits - parityCheckCount) / - ldpc.NumberParityBits; - // fprintf(stderr, "iter: %4d parityCheckErrors: %4d ber: %3.2f\n", - // iter, ldpc.NumberParityBits - parityCheckCount, ber_est); - if (ber_est < 0.1) { - fwrite(out_char, sizeof(char), ldpc.NumberRowsHcols, fout); - } - - } else { - if (readhalfframe) { - // Establish which half hframe we want to sync on, - // used for testing with cohpsk_put_bits, as it - // maintains sync with test bits state machine. - - next_state = state; - switch (state) { - case 0: - if (iter < ldpc.max_iter) { - /* OK we've found which hframe to sync on */ - next_state = 1; - hframe = 0; - } - break; - case 1: - hframe++; - if ((hframe % 2) == 0) { - /* write decoded packets every second input hframe */ - fwrite(out_char, sizeof(char), ldpc.NumberRowsHcols, fout); - } - break; - } - state = next_state; - // fprintf(stderr, "state: %d iter: %d\n", state, iter); - } - - for (i = 0; i < offset; i++) { - input_double[i] = input_double[i + offset]; - } - } - - fwrite(out_char, sizeof(char), data_bits_per_frame, fout); - - if (testframes) { - for (i = 0; i < data_bits_per_frame; i++) { - // fprintf(stderr, "%d %d\n", out_char[i], ibits[i]); - if (out_char[i] != ibits[i]) { - Terrs++; - } - Tbits++; - } - } - // frame ++; - } - - free(input_double); - if (fin != NULL) fclose(fin); - if (fout != NULL) fclose(fout); - } - - fprintf(stderr, "total iters %d\n", total_iters); - - if (testframes) { - fprintf(stderr, "Raw Tbits..: %d Terr: %d BER: %4.3f\n", Tbits_raw, - Terrs_raw, (float)Terrs_raw / (Tbits_raw + 1E-12)); - fprintf(stderr, "Coded Tbits: %d Terr: %d BER: %4.3f\n", Tbits, Terrs, - (float)Terrs / (Tbits + 1E-12)); - } - - // ldpc_free_mem(&ldpc); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_enc.c b/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_enc.c deleted file mode 100644 index b9eba46..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_enc.c +++ /dev/null @@ -1,156 +0,0 @@ -/* - FILE...: ldpc_enc.c - AUTHOR.: Bill Cowley, David Rowe - CREATED: Sep 2016 - - RA LDPC encoder program. Using the elegant back substitution of RA - LDPC codes. -*/ - -#include -#include -#include -#include -#include - -#include "ldpc_codes.h" -#include "mpdecode_core.h" -#include "ofdm_internal.h" - -int opt_exists(char *argv[], int argc, char opt[]) { - int i; - for (i = 0; i < argc; i++) { - if (strcmp(argv[i], opt) == 0) { - return i; - } - } - return 0; -} - -int main(int argc, char *argv[]) { - FILE *fin, *fout; - int arg, sd, i, frames, codename, testframes, Nframes, data_bits_per_frame, - parity_bits_per_frame; - struct LDPC ldpc; - int unused_data_bits; - - if (argc < 2) { - fprintf(stderr, "\n"); - fprintf(stderr, - "usage: %s InputOneBytePerBit OutputFile [--sd] [--code CodeName] " - "[--testframes Nframes] [--unused numUnusedDataBits]\n", - argv[0]); - fprintf(stderr, "\n"); - fprintf(stderr, "usage: %s --listcodes\n\n", argv[0]); - fprintf(stderr, - " List supported codes (more can be added via using Octave ldpc " - "scripts)\n"); - fprintf(stderr, "\n"); - exit(0); - } - - /* todo: put this in a function file to share with ldpc_dec.c */ - - if ((codename = opt_exists(argv, argc, "--listcodes")) != 0) { - ldpc_codes_list(); - exit(0); - } - - /* set up LDPC code */ - - int code_index = 0; - if ((codename = opt_exists(argv, argc, "--code")) != 0) - code_index = ldpc_codes_find(argv[codename + 1]); - memcpy(&ldpc, &ldpc_codes[code_index], sizeof(struct LDPC)); - fprintf(stderr, "Using: %s\n", ldpc.name); - - data_bits_per_frame = ldpc.NumberRowsHcols; - parity_bits_per_frame = ldpc.NumberParityBits; - - unsigned char ibits[data_bits_per_frame]; - unsigned char pbits[parity_bits_per_frame]; - float sdout[data_bits_per_frame + parity_bits_per_frame]; - - if (strcmp(argv[1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[1], "rb")) == NULL) { - fprintf(stderr, "Error opening input bit file: %s: %s.\n", argv[1], - strerror(errno)); - exit(1); - } - - if (strcmp(argv[2], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[2], "wb")) == NULL) { - fprintf(stderr, "Error opening output bit file: %s: %s.\n", argv[2], - strerror(errno)); - exit(1); - } - - sd = 0; - if (opt_exists(argv, argc, "--sd")) { - sd = 1; - } - - unused_data_bits = 0; - if ((arg = opt_exists(argv, argc, "--unused"))) { - unused_data_bits = atoi(argv[arg + 1]); - } - - testframes = Nframes = 0; - - if ((arg = (opt_exists(argv, argc, "--testframes")))) { - testframes = 1; - Nframes = atoi(argv[arg + 1]); - fprintf(stderr, "Nframes: %d\n", Nframes); - } - - frames = 0; - int written = 0; - - while (fread(ibits, sizeof(char), data_bits_per_frame, fin) == - data_bits_per_frame) { - if (testframes) { - uint16_t r[data_bits_per_frame]; - ofdm_rand(r, data_bits_per_frame); - - for (i = 0; i < data_bits_per_frame - unused_data_bits; i++) { - ibits[i] = r[i] > 16384; - } - for (i = data_bits_per_frame - unused_data_bits; i < data_bits_per_frame; - i++) { - ibits[i] = 1; - } - } - - encode(&ldpc, ibits, pbits); - - if (sd) { - /* map to BPSK symbols */ - for (i = 0; i < data_bits_per_frame - unused_data_bits; i++) - sdout[i] = 1.0 - 2.0 * ibits[i]; - for (i = 0; i < parity_bits_per_frame; i++) - sdout[i + data_bits_per_frame - unused_data_bits] = - 1.0 - 2.0 * pbits[i]; - written += fwrite( - sdout, sizeof(float), - data_bits_per_frame - unused_data_bits + parity_bits_per_frame, fout); - } else { - written += fwrite(ibits, sizeof(char), data_bits_per_frame, fout); - written += fwrite(pbits, sizeof(char), parity_bits_per_frame, fout); - } - - frames++; - if (testframes && (frames >= Nframes)) { - goto finished; - } - } - -finished: - - fprintf(stderr, "written: %d\n", written); - fclose(fin); - fclose(fout); - - return 1; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_enc_test.c b/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_enc_test.c deleted file mode 100644 index a08dbee..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_enc_test.c +++ /dev/null @@ -1,165 +0,0 @@ -/* - FILE...: ldpc_enc.c - AUTHOR.: Bill Cowley, David Rowe - CREATED: Sep 2016 - - RA LDPC encoder program. Using the elegant back substitution of RA - LDPC codes. - - building: gcc ldpc_enc.c -o ldpc_enc -Wall -g -*/ - -#include -#include -#include -#include -#include - -#include "mpdecode_core_test.h" -#include "ofdm_internal.h" - -/* generated by ldpc_fsk_lib.m:ldpc_decode() */ - -#include "H2064_516_sparse_test.h" -#include "HRA_112_112_test.h" - -int opt_exists(char *argv[], int argc, char opt[]) { - int i; - for (i = 0; i < argc; i++) { - if (strcmp(argv[i], opt) == 0) { - return i; - } - } - return 0; -} - -int main(int argc, char *argv[]) { - unsigned char ibits[NUMBERROWSHCOLS]; - unsigned char pbits[NUMBERPARITYBITS]; - FILE *fin, *fout; - int arg, sd, i, frames, codename, testframes, Nframes, data_bits_per_frame; - double sdout[NUMBERROWSHCOLS + NUMBERPARITYBITS]; - struct LDPC ldpc; - - if (argc < 2) { - fprintf(stderr, "\n"); - fprintf(stderr, - "usage: %s InputOneBytePerBit OutputFile [--sd] [--code CodeName] " - "[--testframes Nframes]\n", - argv[0]); - fprintf(stderr, "\n"); - fprintf(stderr, "usage: %s --listcodes\n\n", argv[0]); - fprintf(stderr, - " List supported codes (more can be added via using Octave ldpc " - "scripts)\n"); - fprintf(stderr, "\n"); - exit(0); - } - - /* todo: put this in a function file to share with ldpc_dec.c */ - - if ((codename = opt_exists(argv, argc, "--listcodes")) != 0) { - fprintf(stderr, "\n"); - fprintf(stderr, "H2064_516_sparse\n"); - fprintf(stderr, "HRA_112_112\n"); - fprintf(stderr, "\n"); - exit(0); - } - - /* set up LDPC code from include file constants */ - - if ((codename = opt_exists(argv, argc, "--code")) != 0) { - /* short rate 1/2 code for FreeDV HF digital voice */ - - if (strcmp(argv[codename + 1], "HRA_112_112") == 0) { - fprintf(stderr, "code: %s\n", argv[codename + 1]); - ldpc.CodeLength = HRA_112_112_CODELENGTH; - ldpc.NumberParityBits = HRA_112_112_NUMBERPARITYBITS; - ldpc.NumberRowsHcols = HRA_112_112_NUMBERROWSHCOLS; - ldpc.max_row_weight = HRA_112_112_MAX_ROW_WEIGHT; - ldpc.max_col_weight = HRA_112_112_MAX_COL_WEIGHT; - ldpc.H_rows = HRA_112_112_H_rows; - ldpc.H_cols = HRA_112_112_H_cols; - } - } else { - /* default Wenet High Alitiude Balloon rate 0.8 code */ - - ldpc.CodeLength = CODELENGTH; - ldpc.NumberParityBits = NUMBERPARITYBITS; - ldpc.NumberRowsHcols = NUMBERROWSHCOLS; - ldpc.max_row_weight = MAX_ROW_WEIGHT; - ldpc.max_col_weight = MAX_COL_WEIGHT; - ldpc.H_rows = H_rows; - ldpc.H_cols = H_cols; - } - data_bits_per_frame = ldpc.NumberRowsHcols; - - if (strcmp(argv[1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[1], "rb")) == NULL) { - fprintf(stderr, "Error opening input bit file: %s: %s.\n", argv[1], - strerror(errno)); - exit(1); - } - - if (strcmp(argv[2], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[2], "wb")) == NULL) { - fprintf(stderr, "Error opening output bit file: %s: %s.\n", argv[2], - strerror(errno)); - exit(1); - } - - sd = 0; - if (opt_exists(argv, argc, "--sd")) { - sd = 1; - } - - testframes = Nframes = 0; - - if ((arg = (opt_exists(argv, argc, "--testframes")))) { - testframes = 1; - Nframes = atoi(argv[arg + 1]); - fprintf(stderr, "Nframes: %d\n", Nframes); - } - - frames = 0; - - while (fread(ibits, sizeof(char), data_bits_per_frame, fin) == - data_bits_per_frame) { - if (testframes) { - uint16_t r[data_bits_per_frame]; - ofdm_rand(r, data_bits_per_frame); - - for (i = 0; i < data_bits_per_frame; i++) { - ibits[i] = r[i] > 16384; - } - } - - encode(&ldpc, ibits, pbits); - - if (sd) { - /* map to BPSK symbols */ - for (i = 0; i < data_bits_per_frame; i++) sdout[i] = 1.0 - 2.0 * ibits[i]; - for (i = 0; i < ldpc.NumberParityBits; i++) - sdout[i + data_bits_per_frame] = 1.0 - 2.0 * pbits[i]; - fwrite(sdout, sizeof(double), data_bits_per_frame + ldpc.NumberParityBits, - fout); - } else { - fwrite(ibits, sizeof(char), data_bits_per_frame, fout); - fwrite(pbits, sizeof(char), ldpc.NumberParityBits, fout); - } - - frames++; - if (testframes && (frames >= Nframes)) { - goto finished; - } - } - -finished: - - fclose(fin); - fclose(fout); - - return 1; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_noise.c b/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_noise.c deleted file mode 100644 index a4c398c..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ldpc_noise.c +++ /dev/null @@ -1,81 +0,0 @@ -/* - FILE...: ldpc_enc.c - AUTHOR.: Don Reid - CREATED: Aug 2018 - - Add noise to LDPC soft decision samples for testing. Simulates use - of LDPC code with PSK modem. -*/ - -#include -#include -#include -#include -#include -#include - -int main(int argc, char *argv[]) { - FILE *fin, *fout; - float datain, dataout; - - if (argc < 3) { - fprintf(stderr, "\n"); - fprintf(stderr, "usage: %s InputFile OutputFile NodB\n", argv[0]); - fprintf(stderr, "\n"); - exit(1); - } - - if (strcmp(argv[1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[1], "rb")) == NULL) { - fprintf(stderr, "Error opening input bit file: %s: %s.\n", argv[1], - strerror(errno)); - exit(1); - } - - if (strcmp(argv[2], "-") == 0) - fout = stdout; - else if ((fout = fopen(argv[2], "wb")) == NULL) { - fprintf(stderr, "Error opening output bit file: %s: %s.\n", argv[2], - strerror(errno)); - exit(1); - } - - double NodB = atof(argv[3]); - double No = pow(10.0, NodB / 10.0); - double sum_xx = 0; - double sum_x = 0.0; - long n = 0; - - fprintf(stderr, "Uncoded PSK Eb/No simulation:\n"); - fprintf(stderr, "No = % 4.2f dB (%4.2f linear)\n", NodB, No); - fprintf(stderr, "Eb = % 4.2f dB (%4.2f linear)\n", 0.0, 1.0); - fprintf(stderr, "Eb/No = %4.2f dB (%4.2f linear)\n", -NodB, - pow(10, -NodB / 10.0)); - - while (fread(&datain, sizeof(float), 1, fin) == 1) { - // Gaussian from uniform: - double x = (double)rand() / RAND_MAX; - double y = (double)rand() / RAND_MAX; - double z = sqrt(-2 * log(x)) * cos(2 * M_PI * y); - - double noise = sqrt(No / 2) * z; - dataout = datain + noise; - - fwrite(&dataout, sizeof(float), 1, fout); - - // keep running stats to calculate actual noise variance (power) - - sum_xx += noise * noise; - sum_x += noise; - n++; - } - - fclose(fin); - fclose(fout); - - double noise_var = (n * sum_xx - sum_x * sum_x) / (n * (n - 1)); - fprintf(stderr, "measured double sided (real) noise power: %f\n", noise_var); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/linreg.c b/vendor/codec2_flutter_ios_only/src/codec2/src/linreg.c deleted file mode 100644 index 4e985df..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/linreg.c +++ /dev/null @@ -1,101 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: linreg.c - AUTHOR......: David Rowe - DATE CREATED: April 2015 - - Linear regression C module based on: - - http://stackoverflow.com/questions/5083465/fast-efficient-least-squares-fit-algorithm-in-c - - Use: - - $ gcc linreg.c -o linreg -D__UNITTEST__ -Wall - $ ./linreg - - Then compare yfit results with octave/tlinreg.m - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2015 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "linreg.h" - -#include -#include -#include - -#include "comp_prim.h" - -void linreg(COMP *m, COMP *b, float x[], COMP y[], int n) { - float sumx = 0.0; /* sum of x */ - float sumx2 = 0.0; /* sum of x^2 */ - COMP sumxy = {0.0, 0.0}; /* sum of x * y */ - COMP sumy = {0.0, 0.0}; /* sum of y */ - COMP sumy2 = {0.0, 0.0}; /* sum of y**2 */ - float denom; - COMP zero; - int i; - - for (i = 0; i < n; i++) { - sumx += x[i]; - sumx2 += x[i] * x[i]; - sumxy = cadd(sumxy, fcmult(x[i], y[i])); - sumy = cadd(sumy, y[i]); - sumy2 = cadd(sumy2, cmult(y[i], y[i])); - } - - denom = (n * sumx2 - sumx * sumx); - - if (denom == 0) { - /* singular matrix. can't solve the problem */ - zero.real = 0.0; - zero.imag = 0.0; - *m = zero; - *b = zero; - } else { - *m = fcmult(1.0 / denom, cadd(fcmult(n, sumxy), cneg(fcmult(sumx, sumy)))); - *b = fcmult(1.0 / denom, - cadd(fcmult(sumx2, sumy), cneg(fcmult(sumx, sumxy)))); - } -} - -#ifdef __UNITTEST__ - -static float x[] = {1, 2, 7, 8}; - -static COMP y[] = {{-0.70702, 0.70708}, - {-0.77314, 0.63442}, - {-0.98083, 0.19511}, - {-0.99508, 0.09799}}; - -int main(void) { - float x1; - COMP m, b, yfit; - - linreg(&m, &b, x, y, sizeof(x) / sizeof(float)); - - for (x1 = 1; x1 <= 8; x1++) { - yfit = cadd(fcmult(x1, m), b); - printf("%f %f\n", yfit.real, yfit.imag); - } - - return 0; -} - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/linreg.h b/vendor/codec2_flutter_ios_only/src/codec2/src/linreg.h deleted file mode 100644 index c86dfad..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/linreg.h +++ /dev/null @@ -1,35 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: linreg.h - AUTHOR......: David Rowe - DATE CREATED: April 2015 - - Linear regression C module based - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2015 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __LINREG__ -#define __LINREG__ - -#include "comp.h" - -void linreg(COMP *m, COMP *b, float x[], COMP y[], int n); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/lpc.c b/vendor/codec2_flutter_ios_only/src/codec2/src/lpc.c deleted file mode 100644 index 3117a1a..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/lpc.c +++ /dev/null @@ -1,277 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: lpc.c - AUTHOR......: David Rowe - DATE CREATED: 30 Sep 1990 (!) - - Linear Prediction functions written in C. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009-2012 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#define LPC_MAX_N 512 /* maximum no. of samples in frame */ -#define PI 3.141592654 /* mathematical constant */ - -#define ALPHA 1.0 -#define BETA 0.94 - -#include "lpc.h" - -#include -#include - -#include "defines.h" - -/*---------------------------------------------------------------------------*\ - - pre_emp() - - Pre-emphasise (high pass filter with zero close to 0 Hz) a frame of - speech samples. Helps reduce dynamic range of LPC spectrum, giving - greater weight and hence a better match to low energy formants. - - Should be balanced by de-emphasis of the output speech. - -\*---------------------------------------------------------------------------*/ - -void pre_emp(float Sn_pre[], /* output frame of speech samples */ - float Sn[], /* input frame of speech samples */ - float *mem, /* Sn[-1]single sample memory */ - int Nsam /* number of speech samples to use */ -) { - int i; - - for (i = 0; i < Nsam; i++) { - Sn_pre[i] = Sn[i] - ALPHA * mem[0]; - mem[0] = Sn[i]; - } -} - -/*---------------------------------------------------------------------------*\ - - de_emp() - - De-emphasis filter (low pass filter with a pole close to 0 Hz). - -\*---------------------------------------------------------------------------*/ - -void de_emp(float Sn_de[], /* output frame of speech samples */ - float Sn[], /* input frame of speech samples */ - float *mem, /* Sn[-1]single sample memory */ - int Nsam /* number of speech samples to use */ -) { - int i; - - for (i = 0; i < Nsam; i++) { - Sn_de[i] = Sn[i] + BETA * mem[0]; - mem[0] = Sn_de[i]; - } -} - -/*---------------------------------------------------------------------------*\ - - hanning_window() - - Hanning windows a frame of speech samples. - -\*---------------------------------------------------------------------------*/ - -void hanning_window(float Sn[], /* input frame of speech samples */ - float Wn[], /* output frame of windowed samples */ - int Nsam /* number of samples */ -) { - int i; /* loop variable */ - - for (i = 0; i < Nsam; i++) - Wn[i] = Sn[i] * (0.5 - 0.5 * cosf(2 * PI * (float)i / (Nsam - 1))); -} - -/*---------------------------------------------------------------------------*\ - - autocorrelate() - - Finds the first P autocorrelation values of an array of windowed speech - samples Sn[]. - -\*---------------------------------------------------------------------------*/ - -void autocorrelate(float Sn[], /* frame of Nsam windowed speech samples */ - float Rn[], /* array of P+1 autocorrelation coefficients */ - int Nsam, /* number of windowed samples to use */ - int order /* order of LPC analysis */ -) { - int i, j; /* loop variables */ - - for (j = 0; j < order + 1; j++) { - Rn[j] = 0.0; - for (i = 0; i < Nsam - j; i++) Rn[j] += Sn[i] * Sn[i + j]; - } -} - -/*---------------------------------------------------------------------------*\ - - levinson_durbin() - - Given P+1 autocorrelation coefficients, finds P Linear Prediction Coeff. - (LPCs) where P is the order of the LPC all-pole model. The Levinson-Durbin - algorithm is used, and is described in: - - J. Makhoul - "Linear prediction, a tutorial review" - Proceedings of the IEEE - Vol-63, No. 4, April 1975 - -\*---------------------------------------------------------------------------*/ - -void levinson_durbin(float R[], /* order+1 autocorrelation coeff */ - float lpcs[], /* order+1 LPC's */ - int order /* order of the LPC analysis */ -) { - float a[order + 1][order + 1]; - float sum, e, k; - int i, j; /* loop variables */ - - e = R[0]; /* Equation 38a, Makhoul */ - - for (i = 1; i <= order; i++) { - sum = 0.0; - for (j = 1; j <= i - 1; j++) sum += a[i - 1][j] * R[i - j]; - k = -1.0 * (R[i] + sum) / e; /* Equation 38b, Makhoul */ - if (fabsf(k) > 1.0) k = 0.0; - - a[i][i] = k; - - for (j = 1; j <= i - 1; j++) - a[i][j] = a[i - 1][j] + k * a[i - 1][i - j]; /* Equation 38c, Makhoul */ - - e *= (1 - k * k); /* Equation 38d, Makhoul */ - } - - for (i = 1; i <= order; i++) lpcs[i] = a[order][i]; - lpcs[0] = 1.0; -} - -/*---------------------------------------------------------------------------*\ - - inverse_filter() - - Inverse Filter, A(z). Produces an array of residual samples from an array - of input samples and linear prediction coefficients. - - The filter memory is stored in the first order samples of the input array. - -\*---------------------------------------------------------------------------*/ - -void inverse_filter(float Sn[], /* Nsam input samples */ - float a[], /* LPCs for this frame of samples */ - int Nsam, /* number of samples */ - float res[], /* Nsam residual samples */ - int order /* order of LPC */ -) { - int i, j; /* loop variables */ - - for (i = 0; i < Nsam; i++) { - res[i] = 0.0; - for (j = 0; j <= order; j++) res[i] += Sn[i - j] * a[j]; - } -} - -/*---------------------------------------------------------------------------*\ - - synthesis_filter() - - C version of the Speech Synthesis Filter, 1/A(z). Given an array of - residual or excitation samples, and the the LP filter coefficients, this - function will produce an array of speech samples. This filter structure is - IIR. - - The synthesis filter has memory as well, this is treated in the same way - as the memory for the inverse filter (see inverse_filter() notes above). - The difference is that the memory for the synthesis filter is stored in - the output array, whereas the memory of the inverse filter is stored in the - input array. - - Note: the calling function must update the filter memory. - -\*---------------------------------------------------------------------------*/ - -void synthesis_filter( - float res[], /* Nsam input residual (excitation) samples */ - float a[], /* LPCs for this frame of speech samples */ - int Nsam, /* number of speech samples */ - int order, /* LPC order */ - float Sn_[] /* Nsam output synthesised speech samples */ -) { - int i, j; /* loop variables */ - - /* Filter Nsam samples */ - - for (i = 0; i < Nsam; i++) { - Sn_[i] = res[i] * a[0]; - for (j = 1; j <= order; j++) Sn_[i] -= Sn_[i - j] * a[j]; - } -} - -/*---------------------------------------------------------------------------*\ - - find_aks() - - This function takes a frame of samples, and determines the linear - prediction coefficients for that frame of samples. - -\*---------------------------------------------------------------------------*/ - -void find_aks(float Sn[], /* Nsam samples with order sample memory */ - float a[], /* order+1 LPCs with first coeff 1.0 */ - int Nsam, /* number of input speech samples */ - int order, /* order of the LPC analysis */ - float *E /* residual energy */ -) { - float Wn[LPC_MAX_N]; /* windowed frame of Nsam speech samples */ - float R[order + 1]; /* order+1 autocorrelation values of Sn[] */ - int i; - - assert(Nsam < LPC_MAX_N); - - hanning_window(Sn, Wn, Nsam); - autocorrelate(Wn, R, Nsam, order); - levinson_durbin(R, a, order); - - *E = 0.0; - for (i = 0; i <= order; i++) *E += a[i] * R[i]; - if (*E < 0.0) *E = 1E-12; -} - -/*---------------------------------------------------------------------------*\ - - weight() - - Weights a vector of LPCs. - -\*---------------------------------------------------------------------------*/ - -void weight(float ak[], /* vector of order+1 LPCs */ - float gamma, /* weighting factor */ - int order, /* num LPCs (excluding leading 1.0) */ - float akw[] /* weighted vector of order+1 LPCs */ -) { - int i; - - for (i = 1; i <= order; i++) akw[i] = ak[i] * powf(gamma, (float)i); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/lpc.h b/vendor/codec2_flutter_ios_only/src/codec2/src/lpc.h deleted file mode 100644 index 8efbe9c..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/lpc.h +++ /dev/null @@ -1,43 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: lpc.h - AUTHOR......: David Rowe - DATE CREATED: 24/8/09 - - Linear Prediction functions written in C. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009-2012 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __LPC__ -#define __LPC__ - -#define LPC_MAX_ORDER 20 - -void pre_emp(float Sn_pre[], float Sn[], float *mem, int Nsam); -void de_emp(float Sn_se[], float Sn[], float *mem, int Nsam); -void hanning_window(float Sn[], float Wn[], int Nsam); -void autocorrelate(float Sn[], float Rn[], int Nsam, int order); -void levinson_durbin(float R[], float lpcs[], int order); -void inverse_filter(float Sn[], float a[], int Nsam, float res[], int order); -void synthesis_filter(float res[], float a[], int Nsam, int order, float Sn_[]); -void find_aks(float Sn[], float a[], int Nsam, int order, float *E); -void weight(float ak[], float gamma, int order, float akw[]); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/lpcnet_freq.c b/vendor/codec2_flutter_ios_only/src/codec2/src/lpcnet_freq.c deleted file mode 100644 index 015b075..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/lpcnet_freq.c +++ /dev/null @@ -1,96 +0,0 @@ -/* - lpcnet_freq.c - - freq.c from LPCnet project, I think this code originally came from - Opus. -*/ - -/* Copyright (c) 2017-2018 Mozilla */ -/* - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#include "lpcnet_freq.h" - -#include -#include -#include -#include - -#include "comp.h" - -#define SQUARE(x) ((x) * (x)) - -/* FFT bin index of centre of each band, assuming an 80 sample time - domain window (5ms at 16 kHz), which results in 40 samples in the - positive freq side of the FFT. TODO - refactor this to something more - generic */ -static float eband5ms[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, - 10, 12, 14, 16, 20, 24, 28, 34, 40}; - -/* bandE[i] is the sum of energy in a triangular window centred on - eband5ms[i], with adjustments for first and last band */ -int lpcnet_compute_band_energy(float *bandE, float *bandCentrekHz, COMP *X, - float Fs, int Nfft) { - float sum[LPCNET_FREQ_MAX_BANDS] = {0}; - int nb_bands; - float scale; - - assert((Fs == 8000) || (Fs == 16000)); - if (Fs == 8000) - nb_bands = 14; - else - nb_bands = 18; - - /* map eband5ms[] bins to our FFT size and Fs */ - scale = ((float)Nfft / 2) / eband5ms[nb_bands - 1]; - - /* sum energy from either side of band centre */ - for (int i = 0; i < nb_bands - 1; i++) { - int band_size; - band_size = (eband5ms[i + 1] - eband5ms[i]) * scale; - // fprintf(stderr, "band: %d band_size: %d offset: %d scale: %f\n", i, - // band_size, (int)(eband5ms[i]*scale), scale); - for (int j = 0; j < band_size; j++) { - float tmp; - float frac = (float)j / band_size; - int bin = eband5ms[i] * scale; - assert((bin + j) < Nfft / 2); - tmp = SQUARE(X[bin + j].real); - tmp += SQUARE(X[bin + j].imag); - sum[i] += (1 - frac) * tmp; - sum[i + 1] += frac * tmp; - } - } - - /* first and last band only summed from half of triangular window */ - sum[0] *= 2; - sum[nb_bands - 1] *= 2; - for (int i = 0; i < nb_bands; i++) { - bandCentrekHz[i] = eband5ms[i] * Fs / 40.0 / 1000.0; - bandE[i] = 10.0 * log10(sum[i]); - } - - return nb_bands; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/lpcnet_freq.h b/vendor/codec2_flutter_ios_only/src/codec2/src/lpcnet_freq.h deleted file mode 100644 index af406d8..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/lpcnet_freq.h +++ /dev/null @@ -1,44 +0,0 @@ -/* - lpcnet_freq.h - - freq.c from LPCnet project, I think this code originally came from - Opus. -*/ - -/* Copyright (c) 2017-2018 Mozilla */ -/* - Redistribution and use in source and binary forms, with or without - modification, are permitted provided that the following conditions - are met: - - - Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - - - Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - - THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS - ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT - LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR - A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR - CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, - EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, - PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR - PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF - LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING - NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ - -#ifndef __LPCNET_FREQ__ -#define __LPCNET_FREQ__ - -#define LPCNET_FREQ_MAX_BANDS 18 - -#include "comp.h" - -int lpcnet_compute_band_energy(float *bandE, float *bandCentrekHz, COMP *Sw, - float Fs, int Nfft); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/lsp.c b/vendor/codec2_flutter_ios_only/src/codec2/src/lsp.c deleted file mode 100644 index aa7bac3..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/lsp.c +++ /dev/null @@ -1,313 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: lsp.c - AUTHOR......: David Rowe - DATE CREATED: 24/2/93 - - - This file contains functions for LPC to LSP conversion and LSP to - LPC conversion. Note that the LSP coefficients are not in radians - format but in the x domain of the unit circle. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "lsp.h" - -#include -#include -#include - -#include "defines.h" - -/*---------------------------------------------------------------------------*\ - - Introduction to Line Spectrum Pairs (LSPs) - ------------------------------------------ - - LSPs are used to encode the LPC filter coefficients {ak} for - transmission over the channel. LSPs have several properties (like - less sensitivity to quantisation noise) that make them superior to - direct quantisation of {ak}. - - A(z) is a polynomial of order lpcrdr with {ak} as the coefficients. - - A(z) is transformed to P(z) and Q(z) (using a substitution and some - algebra), to obtain something like: - - A(z) = 0.5[P(z)(z+z^-1) + Q(z)(z-z^-1)] (1) - - As you can imagine A(z) has complex zeros all over the z-plane. P(z) - and Q(z) have the very neat property of only having zeros _on_ the - unit circle. So to find them we take a test point z=exp(jw) and - evaluate P (exp(jw)) and Q(exp(jw)) using a grid of points between 0 - and pi. - - The zeros (roots) of P(z) also happen to alternate, which is why we - swap coefficients as we find roots. So the process of finding the - LSP frequencies is basically finding the roots of 5th order - polynomials. - - The root so P(z) and Q(z) occur in symmetrical pairs at +/-w, hence - the name Line Spectrum Pairs (LSPs). - - To convert back to ak we just evaluate (1), "clocking" an impulse - thru it lpcrdr times gives us the impulse response of A(z) which is - {ak}. - -\*---------------------------------------------------------------------------*/ - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: cheb_poly_eva() - AUTHOR......: David Rowe - DATE CREATED: 24/2/93 - - This function evaluates a series of chebyshev polynomials - - FIXME: performing memory allocation at run time is very inefficient, - replace with stack variables of MAX_P size. - -\*---------------------------------------------------------------------------*/ - -static float cheb_poly_eva(float *coef, float x, int order) -/* float coef[] coefficients of the polynomial to be evaluated */ -/* float x the point where polynomial is to be evaluated */ -/* int order order of the polynomial */ -{ - int i; - float *t, *u, *v, sum; - float T[(order / 2) + 1]; - - /* Initialise pointers */ - - t = T; /* T[i-2] */ - *t++ = 1.0; - u = t--; /* T[i-1] */ - *u++ = x; - v = u--; /* T[i] */ - - /* Evaluate chebyshev series formulation using iterative approach */ - - for (i = 2; i <= order / 2; i++) - *v++ = (2 * x) * (*u++) - *t++; /* T[i] = 2*x*T[i-1] - T[i-2] */ - - sum = 0.0; /* initialise sum to zero */ - t = T; /* reset pointer */ - - /* Evaluate polynomial and return value also free memory space */ - - for (i = 0; i <= order / 2; i++) sum += coef[(order / 2) - i] * *t++; - - return sum; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: lpc_to_lsp() - AUTHOR......: David Rowe - DATE CREATED: 24/2/93 - - This function converts LPC coefficients to LSP coefficients. - -\*---------------------------------------------------------------------------*/ - -int lpc_to_lsp(float *a, int order, float *freq, int nb, float delta) -/* float *a lpc coefficients */ -/* int order order of LPC coefficients (10) */ -/* float *freq LSP frequencies in radians */ -/* int nb number of sub-intervals (4) */ -/* float delta grid spacing interval (0.02) */ -{ - float psuml, psumr, psumm, temp_xr, xl, xr, xm = 0; - float temp_psumr; - int i, j, m, flag, k; - float *px; /* ptrs of respective P'(z) & Q'(z) */ - float *qx; - float *p; - float *q; - float *pt; /* ptr used for cheb_poly_eval() - whether P' or Q' */ - int roots = 0; /* number of roots found */ - float Q[order + 1]; - float P[order + 1]; - - flag = 1; - m = order / 2; /* order of P'(z) & Q'(z) polynimials */ - - /* Allocate memory space for polynomials */ - - /* determine P'(z)'s and Q'(z)'s coefficients where - P'(z) = P(z)/(1 + z^(-1)) and Q'(z) = Q(z)/(1-z^(-1)) */ - - px = P; /* initilaise ptrs */ - qx = Q; - p = px; - q = qx; - *px++ = 1.0; - *qx++ = 1.0; - for (i = 1; i <= m; i++) { - *px++ = a[i] + a[order + 1 - i] - *p++; - *qx++ = a[i] - a[order + 1 - i] + *q++; - } - px = P; - qx = Q; - for (i = 0; i < m; i++) { - *px = 2 * *px; - *qx = 2 * *qx; - px++; - qx++; - } - px = P; /* re-initialise ptrs */ - qx = Q; - - /* Search for a zero in P'(z) polynomial first and then alternate to Q'(z). - Keep alternating between the two polynomials as each zero is found */ - - xr = 0; /* initialise xr to zero */ - xl = 1.0; /* start at point xl = 1 */ - - for (j = 0; j < order; j++) { - if (j % 2) /* determines whether P' or Q' is eval. */ - pt = qx; - else - pt = px; - - psuml = cheb_poly_eva(pt, xl, order); /* evals poly. at xl */ - flag = 1; - while (flag && (xr >= -1.0)) { - xr = xl - delta; /* interval spacing */ - psumr = cheb_poly_eva(pt, xr, order); /* poly(xl-delta_x) */ - temp_psumr = psumr; - temp_xr = xr; - - /* if no sign change increment xr and re-evaluate - poly(xr). Repeat til sign change. if a sign change has - occurred the interval is bisected and then checked again - for a sign change which determines in which interval the - zero lies in. If there is no sign change between poly(xm) - and poly(xl) set interval between xm and xr else set - interval between xl and xr and repeat till root is located - within the specified limits */ - - if (((psumr * psuml) < 0.0) || (psumr == 0.0)) { - roots++; - - psumm = psuml; - for (k = 0; k <= nb; k++) { - xm = (xl + xr) / 2; /* bisect the interval */ - psumm = cheb_poly_eva(pt, xm, order); - if (psumm * psuml > 0.) { - psuml = psumm; - xl = xm; - } else { - psumr = psumm; - xr = xm; - } - } - - /* once zero is found, reset initial interval to xr */ - freq[j] = (xm); - xl = xm; - flag = 0; /* reset flag for next search */ - } else { - psuml = temp_psumr; - xl = temp_xr; - } - } - } - - /* convert from x domain to radians */ - - for (i = 0; i < order; i++) { - freq[i] = acosf(freq[i]); - } - - return (roots); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: lsp_to_lpc() - AUTHOR......: David Rowe - DATE CREATED: 24/2/93 - - This function converts LSP coefficients to LPC coefficients. In the - Speex code we worked out a way to simplify this significantly. - -\*---------------------------------------------------------------------------*/ - -void lsp_to_lpc(float *lsp, float *ak, int order) -/* float *freq array of LSP frequencies in radians */ -/* float *ak array of LPC coefficients */ -/* int order order of LPC coefficients */ - -{ - int i, j; - float xout1, xout2, xin1, xin2; - float *pw, *n1, *n2, *n3, *n4 = 0; - float freq[order]; - float Wp[(order * 4) + 2]; - - /* convert from radians to the x=cos(w) domain */ - - for (i = 0; i < order; i++) freq[i] = cosf(lsp[i]); - - pw = Wp; - - /* initialise contents of array */ - - for (i = 0; i <= 4 * (order / 2) + 1; i++) { /* set contents of buffer to 0 */ - *pw++ = 0.0; - } - - /* Set pointers up */ - - pw = Wp; - xin1 = 1.0; - xin2 = 1.0; - - /* reconstruct P(z) and Q(z) by cascading second order polynomials - in form 1 - 2xz(-1) +z(-2), where x is the LSP coefficient */ - - for (j = 0; j <= order; j++) { - for (i = 0; i < (order / 2); i++) { - n1 = pw + (i * 4); - n2 = n1 + 1; - n3 = n2 + 1; - n4 = n3 + 1; - xout1 = xin1 - 2 * (freq[2 * i]) * *n1 + *n2; - xout2 = xin2 - 2 * (freq[2 * i + 1]) * *n3 + *n4; - *n2 = *n1; - *n4 = *n3; - *n1 = xin1; - *n3 = xin2; - xin1 = xout1; - xin2 = xout2; - } - xout1 = xin1 + *(n4 + 1); - xout2 = xin2 - *(n4 + 2); - ak[j] = (xout1 + xout2) * 0.5; - *(n4 + 1) = xin1; - *(n4 + 2) = xin2; - - xin1 = 0.0; - xin2 = 0.0; - } -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/lsp.h b/vendor/codec2_flutter_ios_only/src/codec2/src/lsp.h deleted file mode 100644 index d473e18..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/lsp.h +++ /dev/null @@ -1,37 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: lsp.c - AUTHOR......: David Rowe - DATE CREATED: 24/2/93 - - - This file contains functions for LPC to LSP conversion and LSP to - LPC conversion. Note that the LSP coefficients are not in radians - format but in the x domain of the unit circle. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __LSP__ -#define __LSP__ - -int lpc_to_lsp(float *a, int lpcrdr, float *freq, int nb, float delta); -void lsp_to_lpc(float *freq, float *ak, int lpcrdr); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/machdep.h b/vendor/codec2_flutter_ios_only/src/codec2/src/machdep.h deleted file mode 100644 index e17b5fa..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/machdep.h +++ /dev/null @@ -1,52 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: machdep.h - AUTHOR......: David Rowe - DATE CREATED: May 2 2013 - - Machine dependent functions, e.g. profiling that requires access to a clock - counter register. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2013 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __MACHDEP__ -#define __MACHDEP__ - -#ifdef PROFILE -#define PROFILE_VAR(...) unsigned int __VA_ARGS__ -#define PROFILE_SAMPLE(timestamp) timestamp = machdep_profile_sample() -#define PROFILE_SAMPLE_AND_LOG(timestamp, prev_timestamp, label) \ - timestamp = machdep_profile_sample_and_log(prev_timestamp, label) -#define PROFILE_SAMPLE_AND_LOG2(prev_timestamp, label) \ - machdep_profile_sample_and_log(prev_timestamp, label) -#else -#define PROFILE_VAR(...) -#define PROFILE_SAMPLE(timestamp) -#define PROFILE_SAMPLE_AND_LOG(timestamp, prev_timestamp, label) -#define PROFILE_SAMPLE_AND_LOG2(prev_timestamp, label) -#endif - -void machdep_profile_init(void); -void machdep_profile_reset(void); -unsigned int machdep_profile_sample(void); -unsigned int machdep_profile_sample_and_log(unsigned int start, char s[]); -void machdep_profile_print_logged_samples(void); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/mbest.c b/vendor/codec2_flutter_ios_only/src/codec2/src/mbest.c deleted file mode 100644 index 9c1a6c5..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/mbest.c +++ /dev/null @@ -1,191 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: mbest.c - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - Multistage vector quantiser search algorithm that keeps multiple - candidates from each stage. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright David Rowe 2017 - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . - -*/ - -#include "mbest.h" - -#include -#include -#include -#include -#include - -struct MBEST *mbest_create(int entries) { - int i, j; - struct MBEST *mbest; - - assert(entries > 0); - mbest = (struct MBEST *)malloc(sizeof(struct MBEST)); - assert(mbest != NULL); - - mbest->entries = entries; - mbest->list = - (struct MBEST_LIST *)malloc(entries * sizeof(struct MBEST_LIST)); - assert(mbest->list != NULL); - - for (i = 0; i < mbest->entries; i++) { - for (j = 0; j < MBEST_STAGES; j++) mbest->list[i].index[j] = 0; - mbest->list[i].error = 1E32; - } - - return mbest; -} - -void mbest_destroy(struct MBEST *mbest) { - assert(mbest != NULL); - free(mbest->list); - free(mbest); -} - -/* apply weighting to VQ for efficient VQ search */ - -void mbest_precompute_weight(float cb[], float w[], int k, int m) { - for (int j = 0; j < m; j++) { - for (int i = 0; i < k; i++) cb[k * j + i] *= w[i]; - } -} - -/*---------------------------------------------------------------------------*\ - - mbest_insert - - Insert the results of a vector to codebook entry comparison. The - list is ordered in order of error, so those entries with the - smallest error will be first on the list. - -\*---------------------------------------------------------------------------*/ - -void mbest_insert(struct MBEST *mbest, int index[], float error) { - int i, found; - struct MBEST_LIST *list = mbest->list; - int entries = mbest->entries; - - found = 0; - for (i = 0; i < entries && !found; i++) - if (error < list[i].error) { - found = 1; - memmove(&list[i + 1], &list[i], - sizeof(struct MBEST_LIST) * (entries - i - 1)); - memcpy(&list[i].index[0], &index[0], sizeof(int) * MBEST_STAGES); - list[i].error = error; - } -} - -void mbest_print(char title[], struct MBEST *mbest) { - int i, j; - - fprintf(stderr, "%s\n", title); - for (i = 0; i < mbest->entries; i++) { - for (j = 0; j < MBEST_STAGES; j++) - fprintf(stderr, " %4d ", mbest->list[i].index[j]); - fprintf(stderr, " %f\n", (double)mbest->list[i].error); - } -} - -/*---------------------------------------------------------------------------*\ - - mbest_search - - Searches vec[] to a codebbook of vectors, and maintains a list of the mbest - closest matches. - -\*---------------------------------------------------------------------------*/ - -void mbest_search(const float *cb, /* VQ codebook to search */ - float vec[], /* target vector */ - int k, /* dimension of vector */ - int m, /* number on entries in codebook */ - struct MBEST *mbest, /* list of closest matches */ - int index[] /* indexes that lead us here */ -) { - int j; - - /* note weighting can be applied externally by modifying cb[] and vec: - - float e = 0.0; - for(i=0; ilist[mbest->entries - 1].error) - mbest_insert(mbest, index, e); - } -} - -/*---------------------------------------------------------------------------*\ - - mbest_search450 - - Searches vec[] to a codebbook of vectors, and maintains a list of the mbest - closest matches. Only searches the first NewAmp2_K Vectors - -\*---------------------------------------------------------------------------*/ - -void mbest_search450(const float *cb, float vec[], float w[], int k, - int shorterK, int m, struct MBEST *mbest, int index[]) - -{ - float e; - int i, j; - float diff; - - for (j = 0; j < m; j++) { - e = 0.0; - for (i = 0; i < k; i++) { - // Only search first NEWAMP2_K Vectors - if (i < shorterK) { - diff = cb[j * k + i] - vec[i]; - e += diff * w[i] * diff * w[i]; - } - } - index[0] = j; - mbest_insert(mbest, index, e); - } -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/mbest.h b/vendor/codec2_flutter_ios_only/src/codec2/src/mbest.h deleted file mode 100644 index 2851fb9..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/mbest.h +++ /dev/null @@ -1,56 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: mbest.h - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - Multistage vector quantiser search algorithm that keeps multiple - candidates from each stage. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright David Rowe 2017 - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . - -*/ - -#ifndef __MBEST__ -#define __MBEST__ - -#define MBEST_STAGES 4 - -struct MBEST_LIST { - int index[MBEST_STAGES]; /* index of each stage that lead us to this error */ - float error; -}; - -struct MBEST { - int entries; /* number of entries in mbest list */ - struct MBEST_LIST *list; -}; - -struct MBEST *mbest_create(int entries); -void mbest_destroy(struct MBEST *mbest); -void mbest_precompute_weight(float cb[], float w[], int k, int m); -void mbest_insert(struct MBEST *mbest, int index[], float error); -void mbest_search(const float *cb, float vec[], int k, int m, - struct MBEST *mbest, int index[]); -void mbest_search450(const float *cb, float vec[], float w[], int k, - int shorterK, int m, struct MBEST *mbest, int index[]); - -void mbest_print(char title[], struct MBEST *mbest); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/modem_probe.c b/vendor/codec2_flutter_ios_only/src/codec2/src/modem_probe.c deleted file mode 100644 index d74039f..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/modem_probe.c +++ /dev/null @@ -1,236 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: modem_probe.c - AUTHOR......: Brady O'Brien - DATE CREATED: 9 January 2016 - - Library to easily extract debug traces from modems during development and - verification - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include - -#include "comp.h" -#include "octave.h" - -#define TRACE_I 1 -#define TRACE_F 2 -#define TRACE_C 3 - -typedef struct probe_trace_info_s probe_trace_info; -typedef struct datlink_s datlink; - -struct datlink_s { - void *data; - size_t len; - datlink *next; -}; - -struct probe_trace_info_s { - int type; - char name[255]; - datlink *data; - datlink *last; - probe_trace_info *next; -}; - -static char *run = NULL; -static char *mod = NULL; -static probe_trace_info *first_trace = NULL; - -/* Init the probing library */ -void modem_probe_init_int(char *modname, char *runname) { - mod = malloc((strlen(modname) + 1) * sizeof(char)); - run = malloc((strlen(runname) + 1) * sizeof(char)); - strcpy(run, runname); - strcpy(mod, modname); -} - -/* - * Gather the data stored in the linked list into a single blob, - * freeing links and buffers as it goes - */ -void *gather_data(datlink *d, size_t *len) { - size_t size = 0; - datlink *cur = d; - datlink *next; - while (cur != NULL) { - size += d->len; - cur = cur->next; - } - cur = d; - size_t i = 0; - void *newbuf = malloc(size); - - while (cur != NULL) { - memcpy(newbuf + i, cur->data, cur->len); - i += cur->len; - free(cur->data); - next = cur->next; - free(cur); - cur = next; - } - *len = size; - return newbuf; -} - -/* Dump all of the traces into a nice octave-able dump file */ -void modem_probe_close_int() { - if (run == NULL) return; - - probe_trace_info *cur, *next; - cur = first_trace; - FILE *dumpfile = fopen(run, "w"); - void *dbuf; - size_t len; - - while (cur != NULL) { - dbuf = gather_data(cur->data, &len); - switch (cur->type) { - case TRACE_I: - octave_save_int(dumpfile, cur->name, (int32_t *)dbuf, 1, - len / sizeof(int32_t)); - break; - case TRACE_F: - octave_save_float(dumpfile, cur->name, (float *)dbuf, 1, - len / sizeof(float), 10); - break; - case TRACE_C: - octave_save_complex(dumpfile, cur->name, (COMP *)dbuf, 1, - len / sizeof(COMP), 10); - break; - } - next = cur->next; - free(cur); - free(dbuf); - cur = next; - } - - fclose(dumpfile); - free(run); - free(mod); -} - -/* Look up or create a trace by name */ -probe_trace_info *modem_probe_get_trace(char *tracename) { - probe_trace_info *cur, *npti; - - /* Make sure probe session is open */ - if (run == NULL) return NULL; - - cur = first_trace; - /* Walk through list, find trace with matching name */ - while (cur != NULL) { - /* We got one! */ - if (strcmp(cur->name, tracename) == 0) { - return cur; - } - cur = cur->next; - } - /* None found, open a new trace */ - - npti = (probe_trace_info *)malloc(sizeof(probe_trace_info)); - npti->next = first_trace; - npti->data = NULL; - npti->last = NULL; - strcpy(npti->name, tracename); - first_trace = npti; - - return npti; -} - -void modem_probe_samp_i_int(char *tracename, int32_t samp[], size_t cnt) { - probe_trace_info *pti; - datlink *ndat; - - pti = modem_probe_get_trace(tracename); - if (pti == NULL) return; - - pti->type = TRACE_I; - - ndat = (datlink *)malloc(sizeof(datlink)); - ndat->data = malloc(sizeof(int32_t) * cnt); - - ndat->len = cnt * sizeof(int32_t); - ndat->next = NULL; - memcpy(ndat->data, (void *)&(samp[0]), sizeof(int32_t) * cnt); - - if (pti->last != NULL) { - pti->last->next = ndat; - pti->last = ndat; - } else { - pti->data = ndat; - pti->last = ndat; - } -} - -void modem_probe_samp_f_int(char *tracename, float samp[], size_t cnt) { - probe_trace_info *pti; - datlink *ndat; - - pti = modem_probe_get_trace(tracename); - if (pti == NULL) return; - - pti->type = TRACE_F; - - ndat = (datlink *)malloc(sizeof(datlink)); - ndat->data = malloc(sizeof(float) * cnt); - - ndat->len = cnt * sizeof(float); - ndat->next = NULL; - memcpy(ndat->data, (void *)&(samp[0]), sizeof(float) * cnt); - - if (pti->last != NULL) { - pti->last->next = ndat; - pti->last = ndat; - } else { - pti->data = ndat; - pti->last = ndat; - } -} - -void modem_probe_samp_c_int(char *tracename, COMP samp[], size_t cnt) { - probe_trace_info *pti; - datlink *ndat; - - pti = modem_probe_get_trace(tracename); - if (pti == NULL) return; - - pti->type = TRACE_C; - - ndat = (datlink *)malloc(sizeof(datlink)); - ndat->data = malloc(sizeof(COMP) * cnt); - - ndat->len = cnt * sizeof(COMP); - ndat->next = NULL; - memcpy(ndat->data, (void *)&(samp[0]), sizeof(COMP) * cnt); - - if (pti->last != NULL) { - pti->last->next = ndat; - pti->last = ndat; - } else { - pti->data = ndat; - pti->last = ndat; - } -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/modem_probe.h b/vendor/codec2_flutter_ios_only/src/codec2/src/modem_probe.h deleted file mode 100644 index 587ed03..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/modem_probe.h +++ /dev/null @@ -1,129 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: modem_probe.h - AUTHOR......: Brady O'Brien - DATE CREATED: 9 January 2016 - - Library to easily extract debug traces from modems during development - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __MODEMPROBE_H -#define __MODEMPROBE_H - -#include -#include -#include - -#include "comp.h" - -#ifdef MODEMPROBE_ENABLE - -/* Internal functions */ -void modem_probe_init_int(char *modname, char *runname); -void modem_probe_close_int(); - -void modem_probe_samp_i_int(char *tracename, int samp[], size_t cnt); -void modem_probe_samp_f_int(char *tracename, float samp[], size_t cnt); -void modem_probe_samp_c_int(char *tracename, COMP samp[], size_t cnt); - -/* - * Init the probe library. - * char *modname - Name of the modem under test - * char *runname - Name/path of the file data is dumped to - */ -static inline void modem_probe_init(char *modname, char *runname) { - modem_probe_init_int(modname, runname); -} - -/* - * Dump traces to a file and clean up - */ -static inline void modem_probe_close() { modem_probe_close_int(); } - -/* - * Save some number of int samples to a named trace - * char *tracename - name of trace being saved to - * int samp[] - int samples - * size_t cnt - how many samples to save - */ -static inline void modem_probe_samp_i(char *tracename, int samp[], size_t cnt) { - modem_probe_samp_i_int(tracename, samp, cnt); -} - -/* - * Save some number of float samples to a named trace - * char *tracename - name of trace being saved to - * float samp[] - int samples - * size_t cnt - how many samples to save - */ -static inline void modem_probe_samp_f(char *tracename, float samp[], - size_t cnt) { - modem_probe_samp_f_int(tracename, samp, cnt); -} - -/* - * Save some number of complex samples to a named trace - * char *tracename - name of trace being saved to - * COMP samp[] - int samples - * size_t cnt - how many samples to save - */ -static inline void modem_probe_samp_c(char *tracename, COMP samp[], - size_t cnt) { - modem_probe_samp_c_int(tracename, samp, cnt); -} - -/* - * Save some number of complex samples to a named trace - * char *tracename - name of trace being saved to - * float complex samp[] - int samples - * size_t cnt - how many samples to save - */ -static inline void modem_probe_samp_cft(char *tracename, complex float samp[], - size_t cnt) { - modem_probe_samp_c_int(tracename, (COMP *)samp, cnt); -} - -#else - -static inline void modem_probe_init(char *modname, char *runname) { return; } - -static inline void modem_probe_close() { return; } - -static inline void modem_probe_samp_i(char *name, int samp[], size_t sampcnt) { - return; -} - -static inline void modem_probe_samp_f(char *name, float samp[], size_t cnt) { - return; -} - -static inline void modem_probe_samp_c(char *name, COMP samp[], size_t cnt) { - return; -} - -static inline void modem_probe_samp_cft(char *name, complex float samp[], - size_t cnt) { - return; -} - -#endif - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/modem_stats.c b/vendor/codec2_flutter_ios_only/src/codec2/src/modem_stats.c deleted file mode 100644 index 6f83baf..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/modem_stats.c +++ /dev/null @@ -1,126 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: modem_stats.c - AUTHOR......: David Rowe - DATE CREATED: June 2015 - - Common functions for returning demod stats from fdmdv and cohpsk modems. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2015 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "modem_stats.h" - -#include -#include - -#include "codec2_fdmdv.h" -#include "kiss_fft.h" - -void modem_stats_open(struct MODEM_STATS *f) { - int i; - - /* zero out all the stats */ - - memset(f, 0, sizeof(struct MODEM_STATS)); - - /* init the FFT */ - -#ifndef __EMBEDDED__ - for (i = 0; i < 2 * MODEM_STATS_NSPEC; i++) f->fft_buf[i] = 0.0; - f->fft_cfg = (void *)kiss_fft_alloc(2 * MODEM_STATS_NSPEC, 0, NULL, NULL); - assert(f->fft_cfg != NULL); -#endif -} - -void modem_stats_close(struct MODEM_STATS *f) { -#ifndef __EMBEDDED__ - KISS_FFT_FREE(f->fft_cfg); -#endif -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: modem_stats_get_rx_spectrum() - AUTHOR......: David Rowe - DATE CREATED: 9 June 2012 - - Returns the MODEM_STATS_NSPEC point magnitude spectrum of the rx signal in - dB. The spectral samples are scaled so that 0dB is the peak, a good - range for plotting is 0 to -40dB. - - Note only the real part of the complex input signal is used at - present. A complex variable is used for input for compatibility - with the other rx signal processing. - - Successive calls can be used to build up a waterfall or spectrogram - plot, by mapping the received levels to colours. - - The time-frequency resolution of the spectrum can be adjusted by varying - MODEM_STATS_NSPEC. Note that a 2* MODEM_STATS_NSPEC size FFT is reqd to get - MODEM_STATS_NSPEC output points. MODEM_STATS_NSPEC must be a power of 2. - - See octave/tget_spec.m for a demo real time spectral display using - Octave. This demo averages the output over time to get a smoother - display: - - av = 0.9*av + 0.1*mag_dB - -\*---------------------------------------------------------------------------*/ - -#ifndef __EMBEDDED__ -void modem_stats_get_rx_spectrum(struct MODEM_STATS *f, float mag_spec_dB[], - COMP rx_fdm[], int nin) { - int i, j; - COMP fft_in[2 * MODEM_STATS_NSPEC]; - COMP fft_out[2 * MODEM_STATS_NSPEC]; - float full_scale_dB; - - /* update buffer of input samples */ - - for (i = 0; i < 2 * MODEM_STATS_NSPEC - nin; i++) - f->fft_buf[i] = f->fft_buf[i + nin]; - for (j = 0; j < nin; j++, i++) f->fft_buf[i] = rx_fdm[j].real; - assert(i == 2 * MODEM_STATS_NSPEC); - - /* window and FFT */ - - for (i = 0; i < 2 * MODEM_STATS_NSPEC; i++) { - fft_in[i].real = - f->fft_buf[i] * - (0.5 - 0.5 * cosf((float)i * 2.0 * M_PI / (2 * MODEM_STATS_NSPEC))); - fft_in[i].imag = 0.0; - } - - kiss_fft((kiss_fft_cfg)f->fft_cfg, (kiss_fft_cpx *)fft_in, - (kiss_fft_cpx *)fft_out); - - /* FFT scales up a signal of level 1 FDMDV_NSPEC */ - - full_scale_dB = 20 * log10(MODEM_STATS_NSPEC * FDMDV_SCALE); - - /* scale and convert to dB */ - - for (i = 0; i < MODEM_STATS_NSPEC; i++) { - mag_spec_dB[i] = 10.0 * log10f(fft_out[i].real * fft_out[i].real + - fft_out[i].imag * fft_out[i].imag + 1E-12); - mag_spec_dB[i] -= full_scale_dB; - } -} -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/modem_stats.h b/vendor/codec2_flutter_ios_only/src/codec2/src/modem_stats.h deleted file mode 100644 index c85fe52..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/modem_stats.h +++ /dev/null @@ -1,90 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: modem_stats.h - AUTHOR......: David Rowe - DATE CREATED: June 2015 - - Common structure for returning demod stats from fdmdv and cohpsk modems. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2015 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __MODEM_STATS__ -#define __MODEM_STATS__ - -#include "comp.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#define MODEM_STATS_NC_MAX 50 -#define MODEM_STATS_NR_MAX 320 -#define MODEM_STATS_ET_MAX 8 -#define MODEM_STATS_EYE_IND_MAX 160 -#define MODEM_STATS_NSPEC 512 -#define MODEM_STATS_MAX_F_HZ 4000 -#define MODEM_STATS_MAX_F_EST 4 - -struct MODEM_STATS { - int Nc; - float snr_est; /* estimated SNR of rx signal in dB (3 kHz noise BW) */ -#ifndef __EMBEDDED__ - COMP rx_symbols[MODEM_STATS_NR_MAX][MODEM_STATS_NC_MAX + 1]; - /* latest received symbols, for scatter plot */ -#endif - int nr; /* number of rows in rx_symbols */ - int sync; /* demod sync state */ - float foff; /* estimated freq offset in Hz */ - float rx_timing; /* estimated optimum timing offset in samples */ - float clock_offset; /* Estimated tx/rx sample clock offset in ppm */ - float sync_metric; /* number between 0 and 1 indicating quality of sync */ - int pre, post; /* preamble/postamble det counters for burst data */ - int uw_fails; /* Failed to detect Unique word (burst data) */ - - /* FSK eye diagram traces */ - /* Eye diagram plot -- first dim is trace number, second is the trace idx */ -#ifndef __EMBEDDED__ - float rx_eye[MODEM_STATS_ET_MAX][MODEM_STATS_EYE_IND_MAX]; - int neyetr; /* How many eye traces are plotted */ - int neyesamp; /* How many samples in the eye diagram */ - - /* optional for FSK modems - est tone freqs */ - - float f_est[MODEM_STATS_MAX_F_EST]; -#endif - - /* Buf for FFT/waterfall */ - -#ifndef __EMBEDDED__ - float fft_buf[2 * MODEM_STATS_NSPEC]; - void *fft_cfg; -#endif -}; - -void modem_stats_open(struct MODEM_STATS *f); -void modem_stats_close(struct MODEM_STATS *f); -void modem_stats_get_rx_spectrum(struct MODEM_STATS *f, float mag_spec_dB[], - COMP rx_fdm[], int nin); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/mpdecode_core.c b/vendor/codec2_flutter_ios_only/src/codec2/src/mpdecode_core.c deleted file mode 100644 index 5374255..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/mpdecode_core.c +++ /dev/null @@ -1,751 +0,0 @@ -/* - FILE...: mpdecode_core.c - AUTHOR.: Matthew C. Valenti, Rohit Iyer Seshadri, David Rowe - CREATED: Sep 2016 - - C-callable core functions moved from MpDecode.c, so they can be used for - Octave and C programs. -*/ - -#include "mpdecode_core.h" - -#include -#include -#include -#include -#include -#ifndef USE_ORIGINAL_PHI0 -#include "phi0.h" -#endif - -#include "debug_alloc.h" - -#ifdef __EMBEDDED__ -#include "machdep.h" -#endif - -#define QPSK_CONSTELLATION_SIZE 4 -#define QPSK_BITS_PER_SYMBOL 2 - -/* QPSK constellation for symbol likelihood calculations */ - -static COMP S_matrix[] = { - {1.0f, 0.0f}, {0.0f, 1.0f}, {0.0f, -1.0f}, {-1.0f, 0.0f}}; - -// c_nodes will be an array of NumberParityBits of struct c_node -// Each c_node contains an array of c_sub_node elements -// This structure reduces the indexing calclations in SumProduct() - -struct c_sub_node { // Order is important here to keep total size small. - uint16_t index; // Values from H_rows (except last 2 entries) - uint16_t socket; // The socket number at the v_node - float message; // modified during operation! -}; - -struct c_node { - int degree; // A count of elements in the following arrays - struct c_sub_node *subs; -}; - -// v_nodes will be an array of CodeLength of struct v_node - -struct v_sub_node { - uint16_t index; // the index of a c_node it is connected to - // Filled with values from H_cols (except last 2 entries) - uint16_t socket; // socket number at the c_node - float message; // Loaded with input data - // modified during operation! - uint8_t sign; // 1 if input is negative - // modified during operation! -}; - -struct v_node { - int degree; // A count of ??? - float initial_value; - struct v_sub_node *subs; -}; - -void encode(struct LDPC *ldpc, unsigned char ibits[], unsigned char pbits[]) { - unsigned int p, i, tmp, par, prev = 0; - int ind; - uint16_t *H_rows = ldpc->H_rows; - - for (p = 0; p < ldpc->NumberParityBits; p++) { - par = 0; - - for (i = 0; i < ldpc->max_row_weight; i++) { - ind = H_rows[p + i * ldpc->NumberParityBits]; - if (ind) par = par + ibits[ind - 1]; - } - - tmp = par + prev; - - tmp &= 1; // only retain the lsb - prev = tmp; - pbits[p] = tmp; - } -} - -#ifdef USE_ORIGINAL_PHI0 -/* Phi function */ -static float phi0(float x) { - float z; - - if (x > 10) - return (0); - else if (x < 9.08e-5) - return (10); - else if (x > 9) - return (1.6881e-4); - /* return( 1.4970e-004 ); */ - else if (x > 8) - return (4.5887e-4); - /* return( 4.0694e-004 ); */ - else if (x > 7) - return (1.2473e-3); - /* return( 1.1062e-003 ); */ - else if (x > 6) - return (3.3906e-3); - /* return( 3.0069e-003 ); */ - else if (x > 5) - return (9.2168e-3); - /* return( 8.1736e-003 ); */ - else { - z = (float)exp(x); - return ((float)log((z + 1) / (z - 1))); - } -} -#endif - -/* Values for linear approximation (DecoderType=5) */ - -#define AJIAN -0.24904163195436 -#define TJIAN 2.50681740420944 - -/* The linear-log-MAP algorithm */ - -static float max_star0(float delta1, float delta2) { - register float diff; - - diff = delta2 - delta1; - - if (diff > TJIAN) - return (delta2); - else if (diff < -TJIAN) - return (delta1); - else if (diff > 0) - return (delta2 + AJIAN * (diff - TJIAN)); - else - return (delta1 - AJIAN * (diff + TJIAN)); -} - -void init_c_v_nodes(struct c_node *c_nodes, int shift, int NumberParityBits, - int max_row_weight, uint16_t *H_rows, int H1, - int CodeLength, struct v_node *v_nodes, int NumberRowsHcols, - uint16_t *H_cols, int max_col_weight, int dec_type, - float *input) { - int i, j, k, count, cnt, c_index, v_index; - - /* first determine the degree of each c-node */ - - if (shift == 0) { - for (i = 0; i < NumberParityBits; i++) { - count = 0; - for (j = 0; j < max_row_weight; j++) { - if (H_rows[i + j * NumberParityBits] > 0) { - count++; - } - } - c_nodes[i].degree = count; - if (H1) { - if (i == 0) { - c_nodes[i].degree = count + 1; - } else { - c_nodes[i].degree = count + 2; - } - } - } - } else { - cnt = 0; - for (i = 0; i < (NumberParityBits / shift); i++) { - for (k = 0; k < shift; k++) { - count = 0; - for (j = 0; j < max_row_weight; j++) { - if (H_rows[cnt + j * NumberParityBits] > 0) { - count++; - } - } - c_nodes[cnt].degree = count; - if ((i == 0) || (i == (NumberParityBits / shift) - 1)) { - c_nodes[cnt].degree = count + 1; - } else { - c_nodes[cnt].degree = count + 2; - } - cnt++; - } - } - } - - if (H1) { - if (shift == 0) { - for (i = 0; i < NumberParityBits; i++) { - // Allocate sub nodes - c_nodes[i].subs = CALLOC(c_nodes[i].degree, sizeof(struct c_sub_node)); - assert(c_nodes[i].subs); - - // Populate sub nodes - for (j = 0; j < c_nodes[i].degree - 2; j++) { - c_nodes[i].subs[j].index = (H_rows[i + j * NumberParityBits] - 1); - } - j = c_nodes[i].degree - 2; - - if (i == 0) { - c_nodes[i].subs[j].index = (H_rows[i + j * NumberParityBits] - 1); - } else { - c_nodes[i].subs[j].index = (CodeLength - NumberParityBits) + i - 1; - } - - j = c_nodes[i].degree - 1; - c_nodes[i].subs[j].index = (CodeLength - NumberParityBits) + i; - } - } - if (shift > 0) { - cnt = 0; - for (i = 0; i < (NumberParityBits / shift); i++) { - for (k = 0; k < shift; k++) { - // Allocate sub nodes - c_nodes[cnt].subs = - CALLOC(c_nodes[cnt].degree, sizeof(struct c_sub_node)); - assert(c_nodes[cnt].subs); - - // Populate sub nodes - for (j = 0; j < c_nodes[cnt].degree - 2; j++) { - c_nodes[cnt].subs[j].index = - (H_rows[cnt + j * NumberParityBits] - 1); - } - j = c_nodes[cnt].degree - 2; - if ((i == 0) || (i == (NumberParityBits / shift - 1))) { - c_nodes[cnt].subs[j].index = - (H_rows[cnt + j * NumberParityBits] - 1); - } else { - c_nodes[cnt].subs[j].index = - (CodeLength - NumberParityBits) + k + shift * (i); - } - j = c_nodes[cnt].degree - 1; - c_nodes[cnt].subs[j].index = - (CodeLength - NumberParityBits) + k + shift * (i + 1); - if (i == (NumberParityBits / shift - 1)) { - c_nodes[cnt].subs[j].index = - (CodeLength - NumberParityBits) + k + shift * (i); - } - cnt++; - } - } - } - - } else { - for (i = 0; i < NumberParityBits; i++) { - // Allocate sub nodes - c_nodes[i].subs = CALLOC(c_nodes[i].degree, sizeof(struct c_sub_node)); - assert(c_nodes[i].subs); - - // Populate sub nodes - for (j = 0; j < c_nodes[i].degree; j++) { - c_nodes[i].subs[j].index = (H_rows[i + j * NumberParityBits] - 1); - } - } - } - - /* determine degree of each v-node */ - - for (i = 0; i < (CodeLength - NumberParityBits + shift); i++) { - count = 0; - for (j = 0; j < max_col_weight; j++) { - if (H_cols[i + j * NumberRowsHcols] > 0) { - count++; - } - } - v_nodes[i].degree = count; - } - - for (i = CodeLength - NumberParityBits + shift; i < CodeLength; i++) { - count = 0; - if (H1) { - if (i != CodeLength - 1) { - v_nodes[i].degree = 2; - } else { - v_nodes[i].degree = 1; - } - - } else { - for (j = 0; j < max_col_weight; j++) { - if (H_cols[i + j * NumberRowsHcols] > 0) { - count++; - } - } - v_nodes[i].degree = count; - } - } - - if (shift > 0) { - v_nodes[CodeLength - 1].degree = v_nodes[CodeLength - 1].degree + 1; - } - - /* set up v_nodes */ - - for (i = 0; i < CodeLength; i++) { - // Allocate sub nodes - v_nodes[i].subs = CALLOC(v_nodes[i].degree, sizeof(struct v_sub_node)); - assert(v_nodes[i].subs); - - // Populate sub nodes - - /* index tells which c-nodes this v-node is connected to */ - v_nodes[i].initial_value = input[i]; - count = 0; - - for (j = 0; j < v_nodes[i].degree; j++) { - if ((H1) && (i >= CodeLength - NumberParityBits + shift)) { - v_nodes[i].subs[j].index = - i - (CodeLength - NumberParityBits + shift) + count; - if (shift == 0) { - count = count + 1; - } else { - count = count + shift; - } - } else { - v_nodes[i].subs[j].index = (H_cols[i + j * NumberRowsHcols] - 1); - } - - /* search the connected c-node for the proper message value */ - for (c_index = 0; c_index < c_nodes[v_nodes[i].subs[j].index].degree; - c_index++) - if (c_nodes[v_nodes[i].subs[j].index].subs[c_index].index == i) { - v_nodes[i].subs[j].socket = c_index; - break; - } - /* initialize v-node with received LLR */ - if (dec_type == 1) - v_nodes[i].subs[j].message = fabs(input[i]); - else - v_nodes[i].subs[j].message = phi0(fabs(input[i])); - - if (input[i] < 0) v_nodes[i].subs[j].sign = 1; - } - } - - /* now finish setting up the c_nodes */ - for (i = 0; i < NumberParityBits; i++) { - /* index tells which v-nodes this c-node is connected to */ - for (j = 0; j < c_nodes[i].degree; j++) { - /* search the connected v-node for the proper message value */ - for (v_index = 0; v_index < v_nodes[c_nodes[i].subs[j].index].degree; - v_index++) - if (v_nodes[c_nodes[i].subs[j].index].subs[v_index].index == i) { - c_nodes[i].subs[j].socket = v_index; - break; - } - } - } -} - -/////////////////////////////////////// -/* function for doing the MP decoding */ -// Returns the iteration count -int SumProduct(int *parityCheckCount, char DecodedBits[], - struct c_node c_nodes[], struct v_node v_nodes[], int CodeLength, - int NumberParityBits, int max_iter, float r_scale_factor, - float q_scale_factor, int data[]) { - int result; - int bitErrors; - int i, j, iter; - float phi_sum; - int sign; - float temp_sum; - float Qi; - int ssum; - - result = max_iter; - for (iter = 0; iter < max_iter; iter++) { - for (i = 0; i < CodeLength; i++) DecodedBits[i] = 0; // Clear each pass! - bitErrors = 0; - - /* update r */ - ssum = 0; - for (j = 0; j < NumberParityBits; j++) { - sign = v_nodes[c_nodes[j].subs[0].index] - .subs[c_nodes[j].subs[0].socket] - .sign; - phi_sum = v_nodes[c_nodes[j].subs[0].index] - .subs[c_nodes[j].subs[0].socket] - .message; - - for (i = 1; i < c_nodes[j].degree; i++) { - // Compiler should optomize this but write the best we can to start - // from. - struct c_sub_node *cp = &c_nodes[j].subs[i]; - struct v_sub_node *vp = &v_nodes[cp->index].subs[cp->socket]; - phi_sum += vp->message; - sign ^= vp->sign; - } - - if (sign == 0) ssum++; - - for (i = 0; i < c_nodes[j].degree; i++) { - struct c_sub_node *cp = &c_nodes[j].subs[i]; - struct v_sub_node *vp = &v_nodes[cp->index].subs[cp->socket]; - if (sign ^ vp->sign) { - cp->message = -phi0(phi_sum - vp->message); // *r_scale_factor; - } else - cp->message = phi0(phi_sum - vp->message); // *r_scale_factor; - } - } - - /* update q */ - for (i = 0; i < CodeLength; i++) { - /* first compute the LLR */ - Qi = v_nodes[i].initial_value; - for (j = 0; j < v_nodes[i].degree; j++) { - struct v_sub_node *vp = &v_nodes[i].subs[j]; - Qi += c_nodes[vp->index].subs[vp->socket].message; - } - - /* make hard decision */ - if (Qi < 0) { - DecodedBits[i] = 1; - } - - /* now subtract to get the extrinsic information */ - for (j = 0; j < v_nodes[i].degree; j++) { - struct v_sub_node *vp = &v_nodes[i].subs[j]; - temp_sum = Qi - c_nodes[vp->index].subs[vp->socket].message; - - vp->message = phi0(fabs(temp_sum)); // *q_scale_factor; - if (temp_sum > 0) - vp->sign = 0; - else - vp->sign = 1; - } - } - - /* count data bit errors, assuming that it is systematic */ - for (i = 0; i < CodeLength - NumberParityBits; i++) - if (DecodedBits[i] != data[i]) bitErrors++; - - /* Halt if zero errors */ - if (bitErrors == 0) { - result = iter + 1; - break; - } - - // count the number of PC satisfied and exit if all OK - *parityCheckCount = ssum; - if (ssum == NumberParityBits) { - result = iter + 1; - break; - } - } - - return (result); -} - -/* Convenience function to call LDPC decoder from C programs */ - -int run_ldpc_decoder(struct LDPC *ldpc, uint8_t out_char[], float input[], - int *parityCheckCount) { - int max_iter, dec_type; - float q_scale_factor, r_scale_factor; - int max_row_weight, max_col_weight; - int CodeLength, NumberParityBits, NumberRowsHcols, shift, H1; - int i; - struct c_node *c_nodes; - struct v_node *v_nodes; - - /* default values */ - - max_iter = ldpc->max_iter; - dec_type = ldpc->dec_type; - q_scale_factor = ldpc->q_scale_factor; - r_scale_factor = ldpc->r_scale_factor; - - CodeLength = ldpc->CodeLength; /* length of entire codeword */ - NumberParityBits = ldpc->NumberParityBits; - NumberRowsHcols = ldpc->NumberRowsHcols; - - char *DecodedBits = CALLOC(CodeLength, sizeof(char)); - assert(DecodedBits); - - /* derive some parameters */ - - shift = (NumberParityBits + NumberRowsHcols) - CodeLength; - if (NumberRowsHcols == CodeLength) { - H1 = 0; - shift = 0; - } else { - H1 = 1; - } - - max_row_weight = ldpc->max_row_weight; - max_col_weight = ldpc->max_col_weight; - - /* initialize c-node and v-node structures */ - - c_nodes = CALLOC(NumberParityBits, sizeof(struct c_node)); - assert(c_nodes); - v_nodes = CALLOC(CodeLength, sizeof(struct v_node)); - assert(v_nodes); - - init_c_v_nodes(c_nodes, shift, NumberParityBits, max_row_weight, ldpc->H_rows, - H1, CodeLength, v_nodes, NumberRowsHcols, ldpc->H_cols, - max_col_weight, dec_type, input); - - int DataLength = CodeLength - NumberParityBits; - int *data_int = CALLOC(DataLength, sizeof(int)); - - /* need to clear these on each call */ - - for (i = 0; i < CodeLength; i++) DecodedBits[i] = 0; - - /* Call function to do the actual decoding */ - int iter = SumProduct(parityCheckCount, DecodedBits, c_nodes, v_nodes, - CodeLength, NumberParityBits, max_iter, r_scale_factor, - q_scale_factor, data_int); - - for (i = 0; i < CodeLength; i++) out_char[i] = DecodedBits[i]; - - /* Clean up memory */ - - FREE(DecodedBits); - FREE(data_int); - - for (i = 0; i < NumberParityBits; i++) FREE(c_nodes[i].subs); - FREE(c_nodes); - - for (i = 0; i < CodeLength; i++) FREE(v_nodes[i].subs); - FREE(v_nodes); - - return iter; -} - -void sd_to_llr(float llr[], float sd[], int n) { - double sum, mean, sign, sumsq, estvar, estEsN0, x; - int i; - - /* convert SD samples to LLRs -------------------------------*/ - - sum = 0.0; - for (i = 0; i < n; i++) sum += fabs(sd[i]); - mean = sum / n; - - /* find variance from +/-1 symbol position */ - - sum = sumsq = 0.0; - for (i = 0; i < n; i++) { - sign = (sd[i] > 0.0L) - (sd[i] < 0.0L); - x = ((double)sd[i] / mean - sign); - sum += x; - sumsq += x * x; - } - estvar = (n * sumsq - sum * sum) / (n * (n - 1)); - // fprintf(stderr, "mean: %f var: %f\n", mean, estvar); - - estEsN0 = 1.0 / (2.0L * estvar + 1E-3); - for (i = 0; i < n; i++) llr[i] = 4.0L * estEsN0 * sd[i]; -} - -/* - Determine symbol likelihood from received QPSK symbols. - - Notes: - - 1) We assume fading[] is real, it is also possible to compute - with complex fading, see CML library Demod2D.c source code. - 2) Using floats instead of doubles, for stm32. - Testing shows good BERs with floats. -*/ - -void Demod2D(float symbol_likelihood[], /* output, M*number_symbols */ - COMP r[], /* received QPSK symbols, number_symbols */ - COMP S_matrix[], /* constellation of size M */ - float EsNo, - float fading[], /* real fading values, number_symbols */ - float mean_amp, int number_symbols) { - int M = QPSK_CONSTELLATION_SIZE; - int i, j; - float tempsr, tempsi, Er, Ei; - - /* determine output */ - - for (i = 0; i < number_symbols; i++) { /* go through each received symbol */ - for (j = 0; j < M; j++) { /* each postulated symbol */ - tempsr = fading[i] * S_matrix[j].real / mean_amp; - tempsi = fading[i] * S_matrix[j].imag / mean_amp; - Er = r[i].real / mean_amp - tempsr; - Ei = r[i].imag / mean_amp - tempsi; - symbol_likelihood[i * M + j] = -EsNo * (Er * Er + Ei * Ei); - // printf("symbol_likelihood[%d][%d] = %f\n", - // i,j,symbol_likelihood[i*M+j]); - } - // exit(0); - } -} - -void Somap(float bit_likelihood[], /* number_bits, bps*number_symbols */ - float symbol_likelihood[], /* M*number_symbols */ - int M, /* constellation size */ - int bps, /* bits per symbol */ - int number_symbols) { - int n, i, j, k, mask; - float num[bps], den[bps]; - float metric; - - for (n = 0; n < number_symbols; n++) { /* loop over symbols */ - for (k = 0; k < bps; k++) { - /* initialize */ - num[k] = -1000000; - den[k] = -1000000; - } - - for (i = 0; i < M; i++) { - metric = - symbol_likelihood[n * M + i]; /* channel metric for this symbol */ - - mask = 1 << (bps - 1); - for (j = 0; j < bps; j++) { - mask = mask >> 1; - } - mask = 1 << (bps - 1); - - for (k = 0; k < bps; k++) { /* loop over bits */ - if (mask & i) { - /* this bit is a one */ - num[k] = max_star0(num[k], metric); - } else { - /* this bit is a zero */ - den[k] = max_star0(den[k], metric); - } - mask = mask >> 1; - } - } - for (k = 0; k < bps; k++) { - bit_likelihood[bps * n + k] = num[k] - den[k]; - } - } -} - -void symbols_to_llrs(float llr[], COMP rx_qpsk_symbols[], float rx_amps[], - float EsNo, float mean_amp, int nsyms) { - int i; - - float symbol_likelihood[nsyms * QPSK_CONSTELLATION_SIZE]; - float bit_likelihood[nsyms * QPSK_BITS_PER_SYMBOL]; - - Demod2D(symbol_likelihood, rx_qpsk_symbols, S_matrix, EsNo, rx_amps, mean_amp, - nsyms); - Somap(bit_likelihood, symbol_likelihood, QPSK_CONSTELLATION_SIZE, - QPSK_BITS_PER_SYMBOL, nsyms); - for (i = 0; i < nsyms * QPSK_BITS_PER_SYMBOL; i++) { - llr[i] = -bit_likelihood[i]; - } -} - -/* - Description: Transforms M-dimensional FSK symbols into ML symbol - log-likelihoods - - The calling syntax is: - [output] = FskDemod( input, EsNo, [csi_flag], [fade_coef] ) - - Where: - output = M by N matrix of symbol log-likelihoods - - input = M by N matrix of (complex) matched filter outputs - EsNo = the symbol SNR (in linear, not dB, units) - csi_flag = 0 for coherent reception (default) - 1 for noncoherent reception w/ perfect amplitude estimates - 2 for noncoherent reception without amplitude estimates - fade_coef = 1 by N matrix of (complex) fading coefficients (defaults - to all-ones, i.e. AWGN) - - Copyright (C) 2006, Matthew C. Valenti - - Last updated on May 6, 2006 - - Function DemodFSK is part of the Iterative Solutions - Coded Modulation Library. The Iterative Solutions Coded Modulation - Library is free software; you can redistribute it and/or modify it - under the terms of the GNU Lesser General Public License as published - by the Free Software Foundation; either version 2.1 of the License, - or (at your option) any later version. - - This library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with this library; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -*/ - -/* the logI_0 function */ -static float logbesseli0(float x) { - if (x < 1) - return (0.226 * x * x + 0.0125 * x - 0.0012); - else if (x < 2) - return (0.1245 * x * x + 0.2177 * x - 0.108); - else if (x < 5) - return (0.0288 * x * x + 0.6314 * x - 0.5645); - else if (x < 20) - return (0.002 * x * x + 0.9048 * x - 1.2997); - else - return (0.9867 * x - 2.2053); -} - -/* Function that does the demodulation (can be used in stand-alone C) */ - -static void FskDemod(float out[], float yr[], float v_est, float SNR, int M, - int number_symbols) { - int i, j; - float y_envelope, scale_factor; - - scale_factor = 2 * SNR; - for (i = 0; i < number_symbols; i++) { - for (j = 0; j < M; j++) { - y_envelope = sqrt(yr[j * number_symbols + i] * - yr[j * number_symbols + i] / (v_est * v_est)); - out[i * M + j] = logbesseli0(scale_factor * y_envelope); - } - } -} - -void fsk_rx_filt_to_llrs(float llr[], float rx_filt[], float v_est, - float SNRest, int M, int nsyms) { - int i; - int bps = log2(M); - float symbol_likelihood[M * nsyms]; - float bit_likelihood[bps * nsyms]; - - FskDemod(symbol_likelihood, rx_filt, v_est, SNRest, M, nsyms); - Somap(bit_likelihood, symbol_likelihood, M, bps, nsyms); - for (i = 0; i < bps * nsyms; i++) { - llr[i] = -bit_likelihood[i]; - } -} - -void ldpc_print_info(struct LDPC *ldpc) { - fprintf(stderr, "ldpc->max_iter = %d\n", ldpc->max_iter); - fprintf(stderr, "ldpc->dec_type = %d\n", ldpc->dec_type); - fprintf(stderr, "ldpc->q_scale_factor = %d\n", ldpc->q_scale_factor); - fprintf(stderr, "ldpc->r_scale_factor = %d\n", ldpc->r_scale_factor); - fprintf(stderr, "ldpc->CodeLength = %d\n", ldpc->CodeLength); - fprintf(stderr, "ldpc->NumberParityBits = %d\n", ldpc->NumberParityBits); - fprintf(stderr, "ldpc->NumberRowsHcols = %d\n", ldpc->NumberRowsHcols); - fprintf(stderr, "ldpc->max_row_weight = %d\n", ldpc->max_row_weight); - fprintf(stderr, "ldpc->max_col_weight = %d\n", ldpc->max_col_weight); - fprintf(stderr, "ldpc->data_bits_per_frame = %d\n", - ldpc->data_bits_per_frame); - fprintf(stderr, "ldpc->coded_bits_per_frame = %d\n", - ldpc->coded_bits_per_frame); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/mpdecode_core.h b/vendor/codec2_flutter_ios_only/src/codec2/src/mpdecode_core.h deleted file mode 100644 index 95ead46..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/mpdecode_core.h +++ /dev/null @@ -1,61 +0,0 @@ -/* - FILE...: mpdecode_core.h - AUTHOR.: David Rowe - CREATED: Sep 2016 - - C-callable core functions for MpDecode, so they can be used for - Octave and C programs. Also some convenience functions to help use - the C-callable LDPC decoder in C programs. -*/ - -#ifndef __MPDECODE_CORE__ -#define __MPDECODE_CORE__ - -#include - -#include "comp.h" - -struct LDPC { - char name[32]; - int max_iter; - int dec_type; - int q_scale_factor; - int r_scale_factor; - int CodeLength; - int NumberParityBits; - int NumberRowsHcols; - int max_row_weight; - int max_col_weight; - - uint16_t *H_rows; - uint16_t *H_cols; - - /* these two are fixed to code params */ - int ldpc_data_bits_per_frame; - int ldpc_coded_bits_per_frame; - - /* support for partial use of data bits in codeword and unequal protection - * schemes */ - int protection_mode; - int data_bits_per_frame; - int coded_bits_per_frame; -}; - -void encode(struct LDPC *ldpc, unsigned char ibits[], unsigned char pbits[]); - -int run_ldpc_decoder(struct LDPC *ldpc, uint8_t out_char[], float input[], - int *parityCheckCount); - -void sd_to_llr(float llr[], float sd[], int n); -void Demod2D(float symbol_likelihood[], COMP r[], COMP S_matrix[], float EsNo, - float fading[], float mean_amp, int number_symbols); -void Somap(float bit_likelihood[], float symbol_likelihood[], int M, int bps, - int number_symbols); -void symbols_to_llrs(float llr[], COMP rx_qpsk_symbols[], float rx_amps[], - float EsNo, float mean_amp, int nsyms); -void fsk_rx_filt_to_llrs(float llr[], float rx_filt[], float v_est, - float SNRest, int M, int nsyms); - -void ldpc_print_info(struct LDPC *ldpc); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/newamp1.c b/vendor/codec2_flutter_ios_only/src/codec2/src/newamp1.c deleted file mode 100644 index 3ba2de0..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/newamp1.c +++ /dev/null @@ -1,656 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: newamp1.c - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - Quantisation functions for the sinusoidal coder, using "newamp1" - algorithm that resamples variable rate L [Am} to a fixed rate K then - VQs. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright David Rowe 2017 - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . - -*/ - -#include "newamp1.h" - -#include -#include -#include -#include -#include - -#include "defines.h" -#include "mbest.h" -#include "phase.h" -#include "quantise.h" - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: interp_para() - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - General 2nd order parabolic interpolator. Used splines originally, - but this is much simpler and we don't need much accuracy. Given two - vectors of points xp and yp, find interpolated values y at points x. - -\*---------------------------------------------------------------------------*/ - -void interp_para(float y[], float xp[], float yp[], int np, float x[], int n) { - assert(np >= 3); - - int k, i; - float xi, x1, y1, x2, y2, x3, y3, a, b; - - k = 0; - for (i = 0; i < n; i++) { - xi = x[i]; - - /* k is index into xp of where we start 3 points used to form parabola */ - - while ((xp[k + 1] < xi) && (k < (np - 3))) k++; - - x1 = xp[k]; - y1 = yp[k]; - x2 = xp[k + 1]; - y2 = yp[k + 1]; - x3 = xp[k + 2]; - y3 = yp[k + 2]; - - // printf("k: %d np: %d i: %d xi: %f x1: %f y1: %f\n", k, np, i, xi, x1, - // y1); - - a = ((y3 - y2) / (x3 - x2) - (y2 - y1) / (x2 - x1)) / (x3 - x1); - b = ((y3 - y2) / (x3 - x2) * (x2 - x1) + - (y2 - y1) / (x2 - x1) * (x3 - x2)) / - (x3 - x1); - - y[i] = a * (xi - x2) * (xi - x2) + b * (xi - x2) + y2; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: ftomel() - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - Non linear sampling of frequency axis, reducing the "rate" is a - first step before VQ - -\*---------------------------------------------------------------------------*/ - -float ftomel(float fHz) { - float mel = floorf(2595.0 * log10f(1.0 + fHz / 700.0) + 0.5); - return mel; -} - -void mel_sample_freqs_kHz(float rate_K_sample_freqs_kHz[], int K, - float mel_start, float mel_end) { - float step = (mel_end - mel_start) / (K - 1); - float mel; - int k; - - mel = mel_start; - for (k = 0; k < K; k++) { - rate_K_sample_freqs_kHz[k] = 0.7 * (POW10F(mel / 2595.0) - 1.0); - mel += step; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: resample_const_rate_f() - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - Resample Am from time-varying rate L=floor(pi/Wo) to fixed rate K. - -\*---------------------------------------------------------------------------*/ - -void resample_const_rate_f(C2CONST *c2const, MODEL *model, float rate_K_vec[], - float rate_K_sample_freqs_kHz[], int K) { - int m; - float AmdB[MAX_AMP + 1], rate_L_sample_freqs_kHz[MAX_AMP + 1], AmdB_peak; - - /* convert rate L=pi/Wo amplitude samples to fixed rate K */ - - AmdB_peak = -100.0; - for (m = 1; m <= model->L; m++) { - AmdB[m] = 20.0 * log10f(model->A[m] + 1E-16); - if (AmdB[m] > AmdB_peak) { - AmdB_peak = AmdB[m]; - } - rate_L_sample_freqs_kHz[m] = m * model->Wo * (c2const->Fs / 2000.0) / M_PI; - // printf("m: %d AmdB: %f AmdB_peak: %f sf: %f\n", m, AmdB[m], AmdB_peak, - // rate_L_sample_freqs_kHz[m]); - } - - /* clip between peak and peak -50dB, to reduce dynamic range */ - - for (m = 1; m <= model->L; m++) { - if (AmdB[m] < (AmdB_peak - 50.0)) { - AmdB[m] = AmdB_peak - 50.0; - } - } - - interp_para(rate_K_vec, &rate_L_sample_freqs_kHz[1], &AmdB[1], model->L, - rate_K_sample_freqs_kHz, K); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: rate_K_mbest_encode - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - Two stage rate K newamp1 VQ quantiser using mbest search. - -\*---------------------------------------------------------------------------*/ - -float rate_K_mbest_encode(int *indexes, float *x, float *xq, int ndim, - int mbest_entries) { - int i, j, n1, n2; - const float *codebook1 = newamp1vq_cb[0].cb; - const float *codebook2 = newamp1vq_cb[1].cb; - struct MBEST *mbest_stage1, *mbest_stage2; - float target[ndim]; - int index[MBEST_STAGES]; - float mse, tmp; - - /* codebook is compiled for a fixed K */ - - assert(ndim == newamp1vq_cb[0].k); - - mbest_stage1 = mbest_create(mbest_entries); - mbest_stage2 = mbest_create(mbest_entries); - for (i = 0; i < MBEST_STAGES; i++) index[i] = 0; - - /* Stage 1 */ - - mbest_search(codebook1, x, ndim, newamp1vq_cb[0].m, mbest_stage1, index); - - /* Stage 2 */ - - for (j = 0; j < mbest_entries; j++) { - index[1] = n1 = mbest_stage1->list[j].index[0]; - for (i = 0; i < ndim; i++) target[i] = x[i] - codebook1[ndim * n1 + i]; - mbest_search(codebook2, target, ndim, newamp1vq_cb[1].m, mbest_stage2, - index); - } - - n1 = mbest_stage2->list[0].index[1]; - n2 = mbest_stage2->list[0].index[0]; - mse = 0.0; - for (i = 0; i < ndim; i++) { - tmp = codebook1[ndim * n1 + i] + codebook2[ndim * n2 + i]; - mse += (x[i] - tmp) * (x[i] - tmp); - xq[i] = tmp; - } - - mbest_destroy(mbest_stage1); - mbest_destroy(mbest_stage2); - - indexes[0] = n1; - indexes[1] = n2; - - return mse; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: post_filter - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - Post Filter, has a big impact on speech quality after VQ. When used - on a mean removed rate K vector, it raises formants, and suppresses - anti-formants. As it manipulates amplitudes, we normalise energy to - prevent clipping or large level variations. pf_gain of 1.2 to 1.5 - (dB) seems to work OK. Good area for further investigations and - improvements in speech quality. - -\*---------------------------------------------------------------------------*/ - -void post_filter_newamp1(float vec[], float sample_freq_kHz[], int K, - float pf_gain) { - int k; - - /* - vec is rate K vector describing spectrum of current frame lets - pre-emp before applying PF. 20dB/dec over 300Hz. Postfilter - affects energy of frame so we measure energy before and after - and normalise. Plenty of room for experimentation here. - */ - - float pre[K]; - float e_before = 0.0; - float e_after = 0.0; - for (k = 0; k < K; k++) { - pre[k] = 20.0 * log10f(sample_freq_kHz[k] / 0.3); - vec[k] += pre[k]; - e_before += POW10F(vec[k] / 10.0); - vec[k] *= pf_gain; - e_after += POW10F(vec[k] / 10.0); - } - - float gain = e_after / e_before; - float gaindB = 10 * log10f(gain); - - for (k = 0; k < K; k++) { - vec[k] -= gaindB; - vec[k] -= pre[k]; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: interp_Wo_v - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - Decoder side interpolation of Wo and voicing, to go from 25 Hz - sample rate used over channel to 100Hz internal sample rate of Codec 2. - -\*---------------------------------------------------------------------------*/ - -void interp_Wo_v(float Wo_[], int L_[], int voicing_[], float Wo1, float Wo2, - int voicing1, int voicing2) { - int i; - int M = 4; /* interpolation rate */ - - for (i = 0; i < M; i++) voicing_[i] = 0; - - if (!voicing1 && !voicing2) { - for (i = 0; i < M; i++) Wo_[i] = 2.0 * M_PI / 100.0; - } - - if (voicing1 && !voicing2) { - Wo_[0] = Wo_[1] = Wo1; - Wo_[2] = Wo_[3] = 2.0 * M_PI / 100.0; - voicing_[0] = voicing_[1] = 1; - } - - if (!voicing1 && voicing2) { - Wo_[0] = Wo_[1] = 2.0 * M_PI / 100.0; - Wo_[2] = Wo_[3] = Wo2; - voicing_[2] = voicing_[3] = 1; - } - - if (voicing1 && voicing2) { - float c; - for (i = 0, c = 1.0; i < M; i++, c -= 1.0 / M) { - Wo_[i] = Wo1 * c + Wo2 * (1.0 - c); - voicing_[i] = 1; - } - } - - for (i = 0; i < M; i++) { - L_[i] = floorf(M_PI / Wo_[i]); - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: resample_rate_L - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - Decoder side conversion of rate K vector back to rate L. - -\*---------------------------------------------------------------------------*/ - -void resample_rate_L(C2CONST *c2const, MODEL *model, float rate_K_vec[], - float rate_K_sample_freqs_kHz[], int K) { - float rate_K_vec_term[K + 2], rate_K_sample_freqs_kHz_term[K + 2]; - float AmdB[MAX_AMP + 1], rate_L_sample_freqs_kHz[MAX_AMP + 1]; - int m, k; - - /* terminate either end of the rate K vecs with 0dB points */ - - rate_K_vec_term[0] = rate_K_vec_term[K + 1] = 0.0; - rate_K_sample_freqs_kHz_term[0] = 0.0; - rate_K_sample_freqs_kHz_term[K + 1] = 4.0; - - for (k = 0; k < K; k++) { - rate_K_vec_term[k + 1] = rate_K_vec[k]; - rate_K_sample_freqs_kHz_term[k + 1] = rate_K_sample_freqs_kHz[k]; - // printf("k: %d f: %f rate_K: %f\n", k, rate_K_sample_freqs_kHz[k], - // rate_K_vec[k]); - } - - for (m = 1; m <= model->L; m++) { - rate_L_sample_freqs_kHz[m] = m * model->Wo * (c2const->Fs / 2000.0) / M_PI; - } - - interp_para(&AmdB[1], rate_K_sample_freqs_kHz_term, rate_K_vec_term, K + 2, - &rate_L_sample_freqs_kHz[1], model->L); - for (m = 1; m <= model->L; m++) { - model->A[m] = POW10F(AmdB[m] / 20.0); - // printf("m: %d f: %f AdB: %f A: %f\n", m, rate_L_sample_freqs_kHz[m], - // AmdB[m], model->A[m]); - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: determine_phase - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - Given a magnitude spectrum determine a phase spectrum, used for - phase synthesis with newamp1. - -\*---------------------------------------------------------------------------*/ - -void determine_phase(C2CONST *c2const, COMP H[], MODEL *model, int Nfft, - codec2_fft_cfg fwd_cfg, codec2_fft_cfg inv_cfg) { - int i, m, b; - int Ns = Nfft / 2 + 1; - float Gdbfk[Ns], sample_freqs_kHz[Ns], phase[Ns]; - float AmdB[MAX_AMP + 1], rate_L_sample_freqs_kHz[MAX_AMP + 1]; - - for (m = 1; m <= model->L; m++) { - assert(model->A[m] != 0.0); - AmdB[m] = 20.0 * log10f(model->A[m]); - rate_L_sample_freqs_kHz[m] = - (float)m * model->Wo * (c2const->Fs / 2000.0) / M_PI; - } - - for (i = 0; i < Ns; i++) { - sample_freqs_kHz[i] = (c2const->Fs / 1000.0) * (float)i / Nfft; - } - - interp_para(Gdbfk, &rate_L_sample_freqs_kHz[1], &AmdB[1], model->L, - sample_freqs_kHz, Ns); - mag_to_phase(phase, Gdbfk, Nfft, fwd_cfg, inv_cfg); - - for (m = 1; m <= model->L; m++) { - b = floorf(0.5 + m * model->Wo * Nfft / (2.0 * M_PI)); - H[m].real = cosf(phase[b]); - H[m].imag = sinf(phase[b]); - } -} - -/*---------------------------------------------------------------------------* \ - - FUNCTION....: determine_autoc - AUTHOR......: David Rowe - DATE CREATED: April 2020 - - Determine autocorrelation coefficients from model params, for machine - learning experiments. - -\*---------------------------------------------------------------------------*/ - -void determine_autoc(C2CONST *c2const, float Rk[], int order, MODEL *model, - int Nfft, codec2_fft_cfg fwd_cfg, codec2_fft_cfg inv_cfg) { - int i, m; - int Ns = Nfft / 2 + 1; - float Gdbfk[Ns], sample_freqs_kHz[Ns]; - float AmdB[MAX_AMP + 1], rate_L_sample_freqs_kHz[MAX_AMP + 1]; - - /* interpolate in the log domain */ - for (m = 1; m <= model->L; m++) { - assert(model->A[m] != 0.0); - AmdB[m] = 20.0 * log10f(model->A[m]); - rate_L_sample_freqs_kHz[m] = - (float)m * model->Wo * (c2const->Fs / 2000.0) / M_PI; - } - - for (i = 0; i < Ns; i++) { - sample_freqs_kHz[i] = (c2const->Fs / 1000.0) * (float)i / Nfft; - } - - interp_para(Gdbfk, &rate_L_sample_freqs_kHz[1], &AmdB[1], model->L, - sample_freqs_kHz, Ns); - - COMP S[Nfft], R[Nfft]; - - /* install negative frequency components, convert to mag squared of spectrum - */ - S[0].real = pow(10.0, Gdbfk[0] / 10.0); - S[0].imag = 0.0; - for (i = 1; i < Ns; i++) { - S[i].real = S[Nfft - i].real = pow(10.0, Gdbfk[i] / 10.0); - S[i].imag = S[Nfft - i].imag = 0.0; - } - - /* IDFT of mag squared is autocorrelation function */ - codec2_fft(inv_cfg, S, R); - for (int k = 0; k < order + 1; k++) Rk[k] = R[k].real; -} - -/* update and optionally run "front eq" equaliser on before VQ */ -void newamp1_eq(float rate_K_vec_no_mean[], float eq[], int K, int eq_en) { - static float ideal[] = {8, 10, 12, 14, 14, 14, 14, 14, 14, 14, - 14, 14, 14, 14, 14, 14, 14, 14, 14, -20}; - float gain = 0.02; - float update; - - for (int k = 0; k < K; k++) { - update = rate_K_vec_no_mean[k] - ideal[k]; - eq[k] = (1.0 - gain) * eq[k] + gain * update; - if (eq[k] < 0.0) eq[k] = 0.0; - if (eq_en) rate_K_vec_no_mean[k] -= eq[k]; - } -} - -/*---------------------------------------------------------------------------* \ - - FUNCTION....: newamp1_model_to_indexes - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - newamp1 encoder for amplitdues {Am}. Given the rate L model - parameters, outputs VQ and energy quantiser indexes. - -\*---------------------------------------------------------------------------*/ - -void newamp1_model_to_indexes(C2CONST *c2const, int indexes[], MODEL *model, - float rate_K_vec[], - float rate_K_sample_freqs_kHz[], int K, - float *mean, float rate_K_vec_no_mean[], - float rate_K_vec_no_mean_[], float *se, float *eq, - int eq_en) { - int k; - - /* convert variable rate L to fixed rate K */ - resample_const_rate_f(c2const, model, rate_K_vec, rate_K_sample_freqs_kHz, K); - - /* remove mean */ - float sum = 0.0; - for (k = 0; k < K; k++) sum += rate_K_vec[k]; - *mean = sum / K; - for (k = 0; k < K; k++) rate_K_vec_no_mean[k] = rate_K_vec[k] - *mean; - - /* update and optionally run "front eq" equaliser on before VQ */ - newamp1_eq(rate_K_vec_no_mean, eq, K, eq_en); - - /* two stage VQ */ - rate_K_mbest_encode(indexes, rate_K_vec_no_mean, rate_K_vec_no_mean_, K, - NEWAMP1_VQ_MBEST_DEPTH); - - /* running sum of squared error for variance calculation */ - for (k = 0; k < K; k++) - *se += (float)pow(rate_K_vec_no_mean[k] - rate_K_vec_no_mean_[k], 2.0); - - /* scalar quantise mean (effectively the frame energy) */ - float w[1] = {1.0}; - float se_mean; - indexes[2] = - quantise(newamp1_energy_cb[0].cb, mean, w, newamp1_energy_cb[0].k, - newamp1_energy_cb[0].m, &se_mean); - - /* scalar quantise Wo. We steal the smallest Wo index to signal - an unvoiced frame */ - if (model->voiced) { - int index = encode_log_Wo(c2const, model->Wo, 6); - if (index == 0) { - index = 1; - } - indexes[3] = index; - } else { - indexes[3] = 0; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: newamp1_interpolate - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - -\*---------------------------------------------------------------------------*/ - -void newamp1_interpolate(float interpolated_surface_[], float left_vec[], - float right_vec[], int K) { - int i, k; - int M = 4; - float c; - - /* (linearly) interpolate 25Hz amplitude vectors back to 100Hz */ - - for (i = 0, c = 1.0; i < M; i++, c -= 1.0 / M) { - for (k = 0; k < K; k++) { - interpolated_surface_[i * K + k] = - left_vec[k] * c + right_vec[k] * (1.0 - c); - } - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: newamp1_indexes_to_rate_K_vec - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - newamp1 decoder for amplitudes {Am}. Given the rate K VQ and energy - indexes, outputs rate K vector. - -\*---------------------------------------------------------------------------*/ - -void newamp1_indexes_to_rate_K_vec(float rate_K_vec_[], - float rate_K_vec_no_mean_[], - float rate_K_sample_freqs_kHz[], int K, - float *mean_, int indexes[], - float user_rate_K_vec_no_mean_[], - int post_filter_en) { - int k; - const float *codebook1 = newamp1vq_cb[0].cb; - const float *codebook2 = newamp1vq_cb[1].cb; - int n1 = indexes[0]; - int n2 = indexes[1]; - - if (user_rate_K_vec_no_mean_ == NULL) { - /* normal operation */ - for (k = 0; k < K; k++) { - rate_K_vec_no_mean_[k] = codebook1[K * n1 + k] + codebook2[K * n2 + k]; - } - } else { - /* for development we can optionally inject the quantised rate K vector here - */ - for (k = 0; k < K; k++) - rate_K_vec_no_mean_[k] = user_rate_K_vec_no_mean_[k]; - } - - if (post_filter_en) - post_filter_newamp1(rate_K_vec_no_mean_, rate_K_sample_freqs_kHz, K, 1.5); - - *mean_ = newamp1_energy_cb[0].cb[indexes[2]]; - - for (k = 0; k < K; k++) { - rate_K_vec_[k] = rate_K_vec_no_mean_[k] + *mean_; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: newamp1_indexes_to_model - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - newamp1 decoder. - -\*---------------------------------------------------------------------------*/ - -void newamp1_indexes_to_model(C2CONST *c2const, MODEL model_[], COMP H[], - float *interpolated_surface_, - float prev_rate_K_vec_[], float *Wo_left, - int *voicing_left, - float rate_K_sample_freqs_kHz[], int K, - codec2_fft_cfg fwd_cfg, codec2_fft_cfg inv_cfg, - int indexes[], float user_rate_K_vec_no_mean_[], - int post_filter_en) { - float rate_K_vec_[K], rate_K_vec_no_mean_[K], mean_, Wo_right; - int voicing_right, k; - int M = 4; - - /* extract latest rate K vector */ - - newamp1_indexes_to_rate_K_vec(rate_K_vec_, rate_K_vec_no_mean_, - rate_K_sample_freqs_kHz, K, &mean_, indexes, - user_rate_K_vec_no_mean_, post_filter_en); - - /* decode latest Wo and voicing */ - - if (indexes[3]) { - Wo_right = decode_log_Wo(c2const, indexes[3], 6); - voicing_right = 1; - } else { - Wo_right = 2.0 * M_PI / 100.0; - voicing_right = 0; - } - - /* interpolate 25Hz rate K vec back to 100Hz */ - - float *left_vec = prev_rate_K_vec_; - float *right_vec = rate_K_vec_; - newamp1_interpolate(interpolated_surface_, left_vec, right_vec, K); - - /* interpolate 25Hz v and Wo back to 100Hz */ - - float aWo_[M]; - int avoicing_[M], aL_[M], i; - - interp_Wo_v(aWo_, aL_, avoicing_, *Wo_left, Wo_right, *voicing_left, - voicing_right); - - /* back to rate L amplitudes, synthesise phase for each frame */ - - for (i = 0; i < M; i++) { - model_[i].Wo = aWo_[i]; - model_[i].L = aL_[i]; - model_[i].voiced = avoicing_[i]; - - resample_rate_L(c2const, &model_[i], &interpolated_surface_[K * i], - rate_K_sample_freqs_kHz, K); - determine_phase(c2const, &H[(MAX_AMP + 1) * i], &model_[i], - NEWAMP1_PHASE_NFFT, fwd_cfg, inv_cfg); - } - - /* update memories for next time */ - - for (k = 0; k < K; k++) { - prev_rate_K_vec_[k] = rate_K_vec_[k]; - } - *Wo_left = Wo_right; - *voicing_left = voicing_right; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/newamp1.h b/vendor/codec2_flutter_ios_only/src/codec2/src/newamp1.h deleted file mode 100644 index 476f51b..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/newamp1.h +++ /dev/null @@ -1,86 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: newamp1.h - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - Quantisation functions for the sinusoidal coder, using "newamp1" - algorithm that resamples variable rate L [Am} to a fixed rate K then - VQs. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright David Rowe 2017 - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __NEWAMP1__ -#define __NEWAMP1__ - -#define NEWAMP1_N_INDEXES \ - 4 /* Number of indexes to pack: vq1, vq2, energy, Wo */ -#define NEWAMP1_PHASE_NFFT \ - 128 /* size of FFT used for phase synthesis */ -#define NEWAMP1_K 20 /* rate K vector length */ -#define NEWAMP1_VQ_MBEST_DEPTH \ - 5 /* how many candidates we keep for each stage of mbest search */ - -#include "codec2_fft.h" -#include "comp.h" - -void interp_para(float y[], float xp[], float yp[], int np, float x[], int n); -float ftomel(float fHz); -void mel_sample_freqs_kHz(float rate_K_sample_freqs_kHz[], int K, - float mel_start, float mel_end); -void resample_const_rate_f(C2CONST *c2const, MODEL *model, float rate_K_vec[], - float rate_K_sample_freqs_kHz[], int K); -float rate_K_mbest_encode(int *indexes, float *x, float *xq, int ndim, - int mbest_entries); -void post_filter_newamp1(float vec[], float sample_freq_kHz[], int K, - float pf_gain); -void interp_Wo_v(float Wo_[], int L_[], int voicing_[], float Wo1, float Wo2, - int voicing1, int voicing2); -void resample_rate_L(C2CONST *c2const, MODEL *model, float rate_K_vec[], - float rate_K_sample_freqs_kHz[], int K); -void determine_phase(C2CONST *c2const, COMP H[], MODEL *model, int Nfft, - codec2_fft_cfg fwd_cfg, codec2_fft_cfg inv_cfg); -void determine_autoc(C2CONST *c2const, float Rk[], int order, MODEL *model, - int Nfft, codec2_fft_cfg fwd_cfg, codec2_fft_cfg inv_cfg); -void newamp1_model_to_indexes(C2CONST *c2const, int indexes[], MODEL *model, - float rate_K_vec[], - float rate_K_sample_freqs_kHz[], int K, - float *mean, float rate_K_vec_no_mean[], - float rate_K_vec_no_mean_[], float *se, float *eq, - int eq_en); -void newamp1_indexes_to_rate_K_vec(float rate_K_vec_[], - float rate_K_vec_no_mean_[], - float rate_K_sample_freqs_kHz[], int K, - float *mean_, int indexes[], - float user_rate_K_vec_no_mean_[], - int post_filter_en); -void newamp1_interpolate(float interpolated_surface_[], float left_vec[], - float right_vec[], int K); -void newamp1_eq(float rate_K_vec_no_mean[], float eq[], int K, int eq_en); -void newamp1_indexes_to_model(C2CONST *c2const, MODEL model_[], COMP H[], - float interpolated_surface_[], - float prev_rate_K_vec_[], float *Wo_left, - int *voicing_left, - float rate_K_sample_freqs_kHz[], int K, - codec2_fft_cfg fwd_cfg, codec2_fft_cfg inv_cfg, - int indexes[], float user_rate_K_vec_no_mean_[], - int post_filter_en); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/nlp.c b/vendor/codec2_flutter_ios_only/src/codec2/src/nlp.c deleted file mode 100644 index 53cf040..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/nlp.c +++ /dev/null @@ -1,470 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: nlp.c - AUTHOR......: David Rowe - DATE CREATED: 23/3/93 - - Non Linear Pitch (NLP) estimation functions. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "nlp.h" - -#include "codec2_fft.h" -#include "defines.h" -#include "dump.h" -#undef PROFILE -#include -#include -#include - -#include "machdep.h" -#include "os.h" - -/*---------------------------------------------------------------------------*\ - - DEFINES - -\*---------------------------------------------------------------------------*/ - -#define PMAX_M 320 /* maximum NLP analysis window size */ -#define COEFF 0.95 /* notch filter parameter */ -#define PE_FFT_SIZE 512 /* DFT size for pitch estimation */ -#define DEC 5 /* decimation factor */ -#define SAMPLE_RATE 8000 -#define PI 3.141592654 /* mathematical constant */ -#define T 0.1 /* threshold for local minima candidate */ -#define F0_MAX 500 -#define CNLP 0.3 /* post processor constant */ -#define NLP_NTAP 48 /* Decimation LPF order */ - -/* 8 to 16 kHz sample rate conversion */ - -#define FDMDV_OS 2 /* oversampling rate */ -#define FDMDV_OS_TAPS_16K 48 /* number of OS filter taps at 16kHz */ -#define FDMDV_OS_TAPS_8K \ - (FDMDV_OS_TAPS_16K / FDMDV_OS) /* number of OS filter taps at 8kHz */ - -/*---------------------------------------------------------------------------*\ - - GLOBALS - -\*---------------------------------------------------------------------------*/ - -/* 48 tap 600Hz low pass FIR filter coefficients */ - -const float nlp_fir[] = { - -1.0818124e-03, -1.1008344e-03, -9.2768838e-04, -4.2289438e-04, - 5.5034190e-04, 2.0029849e-03, 3.7058509e-03, 5.1449415e-03, - 5.5924666e-03, 4.3036754e-03, 8.0284511e-04, -4.8204610e-03, - -1.1705810e-02, -1.8199275e-02, -2.2065282e-02, -2.0920610e-02, - -1.2808831e-02, 3.2204775e-03, 2.6683811e-02, 5.5520624e-02, - 8.6305944e-02, 1.1480192e-01, 1.3674206e-01, 1.4867556e-01, - 1.4867556e-01, 1.3674206e-01, 1.1480192e-01, 8.6305944e-02, - 5.5520624e-02, 2.6683811e-02, 3.2204775e-03, -1.2808831e-02, - -2.0920610e-02, -2.2065282e-02, -1.8199275e-02, -1.1705810e-02, - -4.8204610e-03, 8.0284511e-04, 4.3036754e-03, 5.5924666e-03, - 5.1449415e-03, 3.7058509e-03, 2.0029849e-03, 5.5034190e-04, - -4.2289438e-04, -9.2768838e-04, -1.1008344e-03, -1.0818124e-03}; - -typedef struct { - int Fs; /* sample rate in Hz */ - int m; - float w[PMAX_M / DEC]; /* DFT window */ - float sq[PMAX_M]; /* squared speech samples */ - float mem_x, mem_y; /* memory for notch filter */ - float mem_fir[NLP_NTAP]; /* decimation FIR filter memory */ - codec2_fft_cfg fft_cfg; /* kiss FFT config */ - float *Sn16k; /* Fs=16kHz input speech vector */ - FILE *f; -} NLP; - -float post_process_sub_multiples(COMP Fw[], int pmin, int pmax, float gmax, - int gmax_bin, float *prev_f0); -static void fdmdv_16_to_8(float out8k[], float in16k[], int n); - -/*---------------------------------------------------------------------------*\ - - nlp_create() - - Initialisation function for NLP pitch estimator. - -\*---------------------------------------------------------------------------*/ - -void *nlp_create(C2CONST *c2const) { - NLP *nlp; - int i; - int m = c2const->m_pitch; - int Fs = c2const->Fs; - - nlp = (NLP *)malloc(sizeof(NLP)); - if (nlp == NULL) return NULL; - - assert((Fs == 8000) || (Fs == 16000)); - nlp->Fs = Fs; - - nlp->m = m; - - /* if running at 16kHz allocate storage for decimating filter memory */ - - if (Fs == 16000) { - nlp->Sn16k = - (float *)malloc(sizeof(float) * (FDMDV_OS_TAPS_16K + c2const->n_samp)); - for (i = 0; i < FDMDV_OS_TAPS_16K; i++) { - nlp->Sn16k[i] = 0.0; - } - if (nlp->Sn16k == NULL) { - free(nlp); - return NULL; - } - - /* most processing occurs at 8 kHz sample rate so halve m */ - - m /= 2; - } - - assert(m <= PMAX_M); - - for (i = 0; i < m / DEC; i++) { - nlp->w[i] = 0.5 - 0.5 * cosf(2 * PI * i / (m / DEC - 1)); - } - - for (i = 0; i < PMAX_M; i++) nlp->sq[i] = 0.0; - nlp->mem_x = 0.0; - nlp->mem_y = 0.0; - for (i = 0; i < NLP_NTAP; i++) nlp->mem_fir[i] = 0.0; - - nlp->fft_cfg = codec2_fft_alloc(PE_FFT_SIZE, 0, NULL, NULL); - assert(nlp->fft_cfg != NULL); - - return (void *)nlp; -} - -/*---------------------------------------------------------------------------*\ - - nlp_destroy() - - Shut down function for NLP pitch estimator. - -\*---------------------------------------------------------------------------*/ - -void nlp_destroy(void *nlp_state) { - NLP *nlp; - assert(nlp_state != NULL); - nlp = (NLP *)nlp_state; - - codec2_fft_free(nlp->fft_cfg); - if (nlp->Fs == 16000) { - free(nlp->Sn16k); - } - free(nlp_state); -} - -/*---------------------------------------------------------------------------*\ - - nlp() - - Determines the pitch in samples using the Non Linear Pitch (NLP) - algorithm [1]. Returns the fundamental in Hz. Note that the actual - pitch estimate is for the centre of the M sample Sn[] vector, not - the current N sample input vector. This is (I think) a delay of 2.5 - frames with N=80 samples. You should align further analysis using - this pitch estimate to be centred on the middle of Sn[]. - - Two post processors have been tried, the MBE version (as discussed - in [1]), and a post processor that checks sub-multiples. Both - suffer occasional gross pitch errors (i.e. neither are perfect). In - the presence of background noise the sub-multiple algorithm tends - towards low F0 which leads to better sounding background noise than - the MBE post processor. - - A good way to test and develop the NLP pitch estimator is using the - tnlp (codec2/unittest) and the codec2/octave/plnlp.m Octave script. - - A pitch tracker searching a few frames forward and backward in time - would be a useful addition. - - References: - - [1] http://rowetel.com/downloads/1997_rowe_phd_thesis.pdf Chapter 4 - -\*---------------------------------------------------------------------------*/ - -float nlp( - void *nlp_state, float Sn[], /* input speech vector */ - int n, /* frames shift (no. new samples in Sn[]) */ - float *pitch, /* estimated pitch period in samples at current Fs */ - COMP Sw[], /* Freq domain version of Sn[] */ - float W[], /* Freq domain window */ - float *prev_f0 /* previous pitch f0 in Hz, memory for pitch tracking */ -) { - NLP *nlp; - float notch; /* current notch filter output */ - COMP Fw[PE_FFT_SIZE]; /* DFT of squared signal (input/output) */ - float gmax; - int gmax_bin; - int m, i, j; - float best_f0; - PROFILE_VAR(start, tnotch, filter, peakpick, window, fft, magsq, shiftmem); - - assert(nlp_state != NULL); - nlp = (NLP *)nlp_state; - m = nlp->m; - - /* Square, notch filter at DC, and LP filter vector */ - - /* If running at 16 kHz decimate to 8 kHz, as NLP ws designed for - Fs = 8kHz. The decimating filter introduces about 3ms of delay, - that shouldn't be a problem as pitch changes slowly. */ - - if (nlp->Fs == 8000) { - /* Square latest input samples */ - - for (i = m - n; i < m; i++) { - nlp->sq[i] = Sn[i] * Sn[i]; - } - } else { - assert(nlp->Fs == 16000); - - /* re-sample at 8 KHz */ - - for (i = 0; i < n; i++) { - nlp->Sn16k[FDMDV_OS_TAPS_16K + i] = Sn[m - n + i]; - } - - m /= 2; - n /= 2; - - float Sn8k[n]; - fdmdv_16_to_8(Sn8k, &nlp->Sn16k[FDMDV_OS_TAPS_16K], n); - - /* Square latest input samples */ - - for (i = m - n, j = 0; i < m; i++, j++) { - nlp->sq[i] = Sn8k[j] * Sn8k[j]; - } - assert(j <= n); - } - // fprintf(stderr, "n: %d m: %d\n", n, m); - - PROFILE_SAMPLE(start); - - for (i = m - n; i < m; i++) { /* notch filter at DC */ - notch = nlp->sq[i] - nlp->mem_x; - notch += COEFF * nlp->mem_y; - nlp->mem_x = nlp->sq[i]; - nlp->mem_y = notch; - nlp->sq[i] = notch + 1.0; /* With 0 input vectors to codec, - kiss_fft() would take a long - time to execute when running in - real time. Problem was traced - to kiss_fft function call in - this function. Adding this small - constant fixed problem. Not - exactly sure why. */ - } - - PROFILE_SAMPLE_AND_LOG(tnotch, start, " square and notch"); - - for (i = m - n; i < m; i++) { /* FIR filter vector */ - - for (j = 0; j < NLP_NTAP - 1; j++) nlp->mem_fir[j] = nlp->mem_fir[j + 1]; - nlp->mem_fir[NLP_NTAP - 1] = nlp->sq[i]; - - nlp->sq[i] = 0.0; - for (j = 0; j < NLP_NTAP; j++) nlp->sq[i] += nlp->mem_fir[j] * nlp_fir[j]; - } - - PROFILE_SAMPLE_AND_LOG(filter, tnotch, " filter"); - - /* Decimate and DFT */ - - for (i = 0; i < PE_FFT_SIZE; i++) { - Fw[i].real = 0.0; - Fw[i].imag = 0.0; - } - for (i = 0; i < m / DEC; i++) { - Fw[i].real = nlp->sq[i * DEC] * nlp->w[i]; - } - PROFILE_SAMPLE_AND_LOG(window, filter, " window"); -#ifdef DUMP - dump_dec(Fw); -#endif - - // FIXME: check if this can be converted to a real fft - // since all imag inputs are 0 - codec2_fft_inplace(nlp->fft_cfg, Fw); - PROFILE_SAMPLE_AND_LOG(fft, window, " fft"); - - for (i = 0; i < PE_FFT_SIZE; i++) - Fw[i].real = Fw[i].real * Fw[i].real + Fw[i].imag * Fw[i].imag; - - PROFILE_SAMPLE_AND_LOG(magsq, fft, " mag sq"); -#ifdef DUMP - dump_sq(m, nlp->sq); - dump_Fw(Fw); -#endif - - /* todo: express everything in f0, as pitch in samples is dep on Fs */ - - int pmin = floor(SAMPLE_RATE * P_MIN_S); - int pmax = floor(SAMPLE_RATE * P_MAX_S); - - /* find global peak */ - - gmax = 0.0; - gmax_bin = PE_FFT_SIZE * DEC / pmax; - for (i = PE_FFT_SIZE * DEC / pmax; i <= PE_FFT_SIZE * DEC / pmin; i++) { - if (Fw[i].real > gmax) { - gmax = Fw[i].real; - gmax_bin = i; - } - } - - PROFILE_SAMPLE_AND_LOG(peakpick, magsq, " peak pick"); - - best_f0 = post_process_sub_multiples(Fw, pmin, pmax, gmax, gmax_bin, prev_f0); - - PROFILE_SAMPLE_AND_LOG(shiftmem, peakpick, " post process"); - - /* Shift samples in buffer to make room for new samples */ - - for (i = 0; i < m - n; i++) nlp->sq[i] = nlp->sq[i + n]; - - /* return pitch period in samples and F0 estimate */ - - *pitch = (float)nlp->Fs / best_f0; - - PROFILE_SAMPLE_AND_LOG2(shiftmem, " shift mem"); - - PROFILE_SAMPLE_AND_LOG2(start, " nlp int"); - - *prev_f0 = best_f0; - - return (best_f0); -} - -/*---------------------------------------------------------------------------*\ - - post_process_sub_multiples() - - Given the global maximma of Fw[] we search integer submultiples for - local maxima. If local maxima exist and they are above an - experimentally derived threshold (OK a magic number I pulled out of - the air) we choose the submultiple as the F0 estimate. - - The rational for this is that the lowest frequency peak of Fw[] - should be F0, as Fw[] can be considered the autocorrelation function - of Sw[] (the speech spectrum). However sometimes due to phase - effects the lowest frequency maxima may not be the global maxima. - - This works OK in practice and favours low F0 values in the presence - of background noise which means the sinusoidal codec does an OK job - of synthesising the background noise. High F0 in background noise - tends to sound more periodic introducing annoying artifacts. - -\*---------------------------------------------------------------------------*/ - -float post_process_sub_multiples(COMP Fw[], int pmin, int pmax, float gmax, - int gmax_bin, float *prev_f0) { - int min_bin, cmax_bin; - int mult; - float thresh, best_f0; - int b, bmin, bmax, lmax_bin; - float lmax; - int prev_f0_bin; - - /* post process estimate by searching submultiples */ - - mult = 2; - min_bin = PE_FFT_SIZE * DEC / pmax; - cmax_bin = gmax_bin; - prev_f0_bin = *prev_f0 * (PE_FFT_SIZE * DEC) / SAMPLE_RATE; - - while (gmax_bin / mult >= min_bin) { - b = gmax_bin / mult; /* determine search interval */ - bmin = 0.8 * b; - bmax = 1.2 * b; - if (bmin < min_bin) bmin = min_bin; - - /* lower threshold to favour previous frames pitch estimate, - this is a form of pitch tracking */ - - if ((prev_f0_bin > bmin) && (prev_f0_bin < bmax)) - thresh = CNLP * 0.5 * gmax; - else - thresh = CNLP * gmax; - - lmax = 0; - lmax_bin = bmin; - for (b = bmin; b <= bmax; b++) /* look for maximum in interval */ - if (Fw[b].real > lmax) { - lmax = Fw[b].real; - lmax_bin = b; - } - - if (lmax > thresh) - if ((lmax > Fw[lmax_bin - 1].real) && (lmax > Fw[lmax_bin + 1].real)) { - cmax_bin = lmax_bin; - } - - mult++; - } - - best_f0 = (float)cmax_bin * SAMPLE_RATE / (PE_FFT_SIZE * DEC); - - return best_f0; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: fdmdv_16_to_8() - AUTHOR......: David Rowe - DATE CREATED: 9 May 2012 - - Changes the sample rate of a signal from 16 to 8 kHz. - - n is the number of samples at the 8 kHz rate, there are FDMDV_OS*n - samples at the 48 kHz rate. As above however a memory of - FDMDV_OS_TAPS samples is reqd for in16k[] (see t16_8.c unit test as example). - - Low pass filter the 16 kHz signal at 4 kHz using the same filter as - the upsampler, then just output every FDMDV_OS-th filtered sample. - - Note: this function copied from fdmdv.c, included in nlp.c as a convenience - to avoid linking with another source file. - -\*---------------------------------------------------------------------------*/ - -static void fdmdv_16_to_8(float out8k[], float in16k[], int n) { - float acc; - int i, j, k; - - for (i = 0, k = 0; k < n; i += FDMDV_OS, k++) { - acc = 0.0; - for (j = 0; j < FDMDV_OS_TAPS_16K; j++) - acc += fdmdv_os_filter[j] * in16k[i - j]; - out8k[k] = acc; - } - - /* update filter memory */ - - for (i = -FDMDV_OS_TAPS_16K; i < 0; i++) in16k[i] = in16k[i + n * FDMDV_OS]; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/nlp.h b/vendor/codec2_flutter_ios_only/src/codec2/src/nlp.h deleted file mode 100644 index 4b56c4f..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/nlp.h +++ /dev/null @@ -1,39 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: nlp.c - AUTHOR......: David Rowe - DATE CREATED: 23/3/93 - - Non Linear Pitch (NLP) estimation functions. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __NLP__ -#define __NLP__ - -#include "comp.h" -#include "defines.h" - -void *nlp_create(C2CONST *c2const); -void nlp_destroy(void *nlp_state); -float nlp(void *nlp_state, float Sn[], int n, float *pitch_samples, COMP Sw[], - float W[], float *prev_f0); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/noise_samples.h b/vendor/codec2_flutter_ios_only/src/codec2/src/noise_samples.h deleted file mode 100644 index 071bb7a..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/noise_samples.h +++ /dev/null @@ -1,20005 +0,0 @@ -/* unit variance complex noise samples */ - -/* Generated by write_noise_file() Octave function */ - -COMP noise[] = { - {-1.885516, 0.055745}, {-0.521966, -0.622614}, {1.066249, 0.337187}, - {0.425638, 1.008370}, {-0.318666, -0.210894}, {-0.498824, 0.361164}, - {-0.300114, -0.527950}, {0.385872, 0.182296}, {1.195960, -0.586922}, - {0.266811, 0.178374}, {0.013054, 0.215778}, {-0.823216, -0.322273}, - {0.837766, -0.727259}, {-0.862485, 0.092857}, {0.075880, 0.633056}, - {-0.410681, -0.646296}, {0.586237, -0.116673}, {-0.058715, 0.066528}, - {0.857992, -1.043428}, {-0.123710, -0.261511}, {0.185764, 0.023376}, - {0.236794, -0.527785}, {-1.703954, 0.502907}, {-0.299082, -0.422089}, - {-0.288630, -0.675562}, {-0.424885, -0.319811}, {-0.032088, 0.101098}, - {0.605509, 0.242926}, {0.145393, -0.199722}, {-0.184393, -1.528490}, - {0.081268, -0.843421}, {0.654326, -0.158813}, {-0.234536, 1.226681}, - {0.221648, -1.226646}, {-0.193938, -0.336096}, {-0.518051, -1.309855}, - {-0.664323, 1.059784}, {0.007637, 1.113850}, {-0.465620, 1.714405}, - {1.028837, -0.549814}, {0.073478, -0.721235}, {0.964658, 0.084118}, - {-1.822765, -0.997525}, {1.032482, 0.916581}, {-0.597571, -0.136872}, - {-0.009127, -0.208567}, {0.516709, -0.773967}, {-1.129711, 1.021948}, - {-0.697322, -0.812202}, {0.327103, -0.638199}, {-0.497829, 0.319382}, - {-1.362630, -0.414764}, {-0.307641, 0.207521}, {-0.982186, -0.198641}, - {-0.588516, -0.097265}, {1.299202, 0.644097}, {-0.972070, -0.680644}, - {0.782015, -0.002870}, {-1.177445, -1.014379}, {-0.398772, 0.513042}, - {-0.666921, 0.266484}, {-0.803497, 0.971730}, {0.267153, 0.335670}, - {-0.591532, 0.779734}, {-1.211656, -0.382351}, {0.065910, -0.504718}, - {-0.686435, -0.584560}, {0.858992, -1.042560}, {0.847992, 1.057437}, - {1.492562, -0.829278}, {0.816092, -1.530742}, {-0.520592, -0.549319}, - {-0.076793, 0.021602}, {-0.697792, 0.763414}, {0.821960, 0.552985}, - {0.376647, -1.094689}, {-1.401195, -0.857007}, {-0.376378, -0.783975}, - {-0.120497, 0.662907}, {0.670862, -0.673604}, {-0.177972, -1.238774}, - {-0.037790, -1.376598}, {-0.899490, -0.445965}, {0.474709, 1.022354}, - {-0.291882, 0.370018}, {-0.072661, -0.118012}, {0.396912, -1.371327}, - {-0.711547, 0.258054}, {-1.118704, -0.050908}, {-0.592657, -1.747229}, - {-0.731285, -0.387065}, {-0.535939, -0.294046}, {-1.314716, -1.534715}, - {0.361445, 0.618672}, {-0.082988, -0.336140}, {0.210252, 0.650233}, - {-0.674824, 0.056007}, {0.596070, 0.007299}, {0.305633, -1.176059}, - {1.659456, 0.424673}, {0.660546, -0.514937}, {-0.206967, 0.241885}, - {-1.104655, -0.744576}, {-0.218762, 0.014955}, {0.165193, 1.381141}, - {0.078718, -1.222328}, {-0.377642, -0.152884}, {0.108755, 0.412056}, - {-0.429127, -0.383452}, {0.518805, 0.741250}, {0.740139, -0.770384}, - {-1.485392, -0.336407}, {-0.078238, 0.141468}, {-1.271050, 0.180219}, - {-0.211076, -1.217480}, {1.461947, 0.144679}, {-0.109724, -0.861360}, - {-0.296620, -1.282399}, {0.201649, -0.713701}, {-0.156722, 0.424378}, - {1.029760, -1.173706}, {0.571211, -0.156216}, {-0.455729, 0.236642}, - {0.742660, 0.014606}, {-0.097202, -0.498742}, {0.266521, 0.048233}, - {-0.060433, 0.282215}, {-0.239310, 1.006663}, {0.389689, -0.071960}, - {-0.689538, 0.568830}, {0.759056, 0.330529}, {0.149945, -0.521060}, - {-0.580738, -0.907159}, {1.448531, -0.054100}, {0.690290, 0.275166}, - {-0.478557, -0.516261}, {-0.820324, -0.831472}, {-0.341231, 0.409044}, - {0.180268, 0.231572}, {-0.450892, 1.061669}, {0.192718, -0.862400}, - {-0.399038, 0.268735}, {-0.856262, -0.454883}, {0.363651, -0.198669}, - {-0.642075, -0.189629}, {0.005932, -0.508157}, {0.985162, -0.020120}, - {1.562916, 0.229486}, {-0.899449, 0.307419}, {0.112975, 0.627516}, - {-1.857863, -1.008967}, {0.378419, 0.019322}, {0.443381, 0.253609}, - {1.715317, -0.767294}, {-0.385770, 0.001505}, {-0.645703, -0.310651}, - {-1.888905, 0.409068}, {0.805380, 0.333960}, {-1.046012, -0.674661}, - {0.794386, -0.303931}, {-0.286721, 0.610492}, {-0.123797, -0.552424}, - {0.206278, -0.663653}, {0.428624, -0.249450}, {0.430463, -0.635776}, - {-0.119454, 0.773666}, {-0.578332, -0.980697}, {0.235559, 1.481441}, - {-0.714737, -1.423728}, {0.350707, 0.157071}, {0.453768, 0.680754}, - {0.283172, -1.286042}, {0.031254, -0.559665}, {-0.008719, -0.527750}, - {-1.036011, -0.024812}, {0.392333, 0.647429}, {0.203090, 0.422197}, - {-1.948977, 0.778356}, {1.366324, -0.798091}, {1.180139, -0.048221}, - {0.114722, 1.012431}, {0.615604, 0.391601}, {0.987843, 0.495600}, - {-0.496219, -0.900673}, {1.001277, -0.568435}, {-0.576352, -1.332582}, - {0.306377, 0.123371}, {0.211114, -0.685042}, {0.298619, 0.362809}, - {0.202382, 0.173210}, {-0.075417, -0.014578}, {-1.015379, -0.025271}, - {0.128685, 0.929594}, {-0.723128, 0.984769}, {-0.536901, -0.125969}, - {0.240670, 0.812981}, {-0.763511, 1.108132}, {0.500508, -0.241395}, - {0.624663, -0.410191}, {-0.094272, -0.521839}, {1.429982, -0.369827}, - {-0.070236, -1.263636}, {-0.498143, -0.973796}, {0.575172, -1.017724}, - {0.487669, 0.215515}, {0.562802, -0.136995}, {-0.963325, -0.880169}, - {-0.541808, -0.623215}, {0.613993, 0.303645}, {-0.604527, -0.329199}, - {-0.331248, 1.331861}, {-1.040864, 1.077405}, {0.342707, 0.741436}, - {-0.627839, -0.347768}, {0.231630, -0.578183}, {-1.128172, 0.396462}, - {-0.198999, 1.538255}, {-0.177279, -0.290086}, {-0.687712, -0.894058}, - {-0.124584, 0.925987}, {-0.602825, 0.432388}, {-0.111357, -0.496225}, - {0.034978, 0.298642}, {0.324142, -0.092883}, {1.347456, 0.820678}, - {0.674479, -0.288974}, {1.539829, -1.107841}, {-1.023161, 0.056007}, - {0.317892, -0.963086}, {0.158138, 0.483226}, {0.340379, -0.422898}, - {-0.813880, -0.882603}, {-0.322466, 0.829669}, {-0.217180, -1.046571}, - {0.452658, 0.839521}, {-0.622912, -0.060398}, {-0.034008, -0.564055}, - {-1.793271, -0.605655}, {-0.028383, 0.886204}, {-0.308408, 0.061571}, - {0.536948, 0.120042}, {-0.574106, -0.562561}, {0.406051, -0.338068}, - {0.492813, -0.083346}, {-0.711445, -0.455225}, {-0.061165, 0.217759}, - {0.338502, -0.376511}, {0.832324, -0.406104}, {-0.083176, 0.715563}, - {0.040608, -0.871143}, {-0.462891, 0.849255}, {-0.372708, -1.019345}, - {0.934808, -0.626071}, {1.010369, -1.084185}, {0.479580, -0.842863}, - {0.927175, 0.131809}, {-0.689773, -0.142861}, {1.343912, 0.404388}, - {-1.759282, 0.448528}, {0.619114, -0.525565}, {-0.321018, 0.404425}, - {-0.741470, -0.296394}, {-1.980475, 0.026427}, {-0.614688, 0.342918}, - {0.066823, 0.132296}, {0.498182, 0.005019}, {0.182848, 0.162708}, - {-0.493550, 0.153312}, {1.072346, -1.225466}, {1.139312, 0.832815}, - {1.252850, 0.105664}, {-0.397363, -0.754276}, {0.580338, -1.300751}, - {0.009278, -0.598071}, {0.402804, -0.530334}, {-0.039782, -0.370667}, - {-0.990988, -0.169245}, {1.697751, -0.452739}, {1.272906, -0.324169}, - {-1.567337, -0.459235}, {-0.798090, -0.024978}, {0.697111, -1.399949}, - {0.110211, -0.941636}, {-1.480043, -0.132934}, {-1.148194, 0.987249}, - {-0.873447, -0.209100}, {1.065186, -1.104929}, {0.099062, 0.126155}, - {1.977617, 0.094483}, {-0.786564, -0.546020}, {-0.714383, 0.131073}, - {0.905849, 0.394293}, {0.190777, -0.513831}, {0.437916, 0.203698}, - {1.043923, 0.145473}, {-0.443628, -0.725054}, {0.983123, -0.489622}, - {0.842413, 0.307580}, {-0.822191, -0.258379}, {-0.523631, 0.285446}, - {0.571865, -0.025860}, {-0.201652, -0.099850}, {-0.022666, 0.495916}, - {0.596392, 0.867633}, {0.804110, -0.338599}, {-0.026179, -1.043212}, - {-0.598738, 0.094476}, {-1.478593, -0.541411}, {-0.941390, 0.363421}, - {0.361994, 0.590341}, {1.113285, -1.212781}, {0.701988, 0.084937}, - {-0.083600, -0.245951}, {-1.484694, -0.468464}, {0.162783, 1.536800}, - {0.252869, -0.052530}, {0.926480, -0.277632}, {0.299984, -1.410909}, - {-0.425939, -0.332244}, {0.464111, 0.662834}, {-0.802428, -0.324926}, - {0.028548, 0.511754}, {0.140263, 0.200719}, {1.751965, 1.362158}, - {0.773686, -0.044970}, {-0.098854, 0.668847}, {-0.356892, 1.006610}, - {0.272827, 0.118268}, {0.294481, 0.308008}, {1.772151, 0.001790}, - {0.399585, -0.223070}, {0.143887, 0.187282}, {-0.580062, 0.483563}, - {0.263317, 0.146606}, {0.913153, 0.409123}, {0.176392, 0.531394}, - {1.266576, 0.812919}, {-0.339609, -0.004748}, {1.029027, -0.899818}, - {-0.770858, -0.547236}, {0.286743, -0.638120}, {-0.521747, -0.089493}, - {-0.565535, -0.929156}, {-1.535774, 0.479567}, {-0.615287, -0.520953}, - {-0.553663, -0.319031}, {0.582640, 1.113202}, {0.232977, 0.041975}, - {-0.199109, -0.254687}, {-0.066200, 0.947135}, {0.666122, 0.627375}, - {0.480019, 1.051260}, {-0.093472, -0.787448}, {0.480187, 0.926381}, - {-0.857216, 0.556518}, {0.442832, 0.376201}, {-0.119017, -0.140136}, - {-0.409616, -1.213675}, {-0.437294, -0.024768}, {0.451274, -0.787326}, - {-0.533223, -0.923706}, {0.131233, 1.268746}, {1.743505, 1.131077}, - {0.987317, 0.595257}, {-0.088862, 0.853512}, {0.551818, 0.665099}, - {0.883782, 0.470033}, {-0.516423, -1.423524}, {0.091609, 0.378477}, - {0.009939, 0.994809}, {1.045723, -1.221703}, {-0.276956, -0.093140}, - {-0.409436, -0.171621}, {-0.964290, -0.362871}, {0.592260, 0.544377}, - {-0.681616, -0.447483}, {-0.431291, 0.024446}, {0.663176, 1.026108}, - {0.838537, -0.118180}, {-0.747318, 0.251341}, {-0.380034, -0.715319}, - {-0.900635, 0.212346}, {-0.464843, 0.620745}, {-1.093005, 0.607958}, - {0.515036, 1.299937}, {-1.016371, -0.029679}, {-0.205308, 0.148501}, - {0.505373, -0.440794}, {-0.048557, -0.301057}, {-0.698358, -1.099303}, - {-0.088257, -0.329308}, {0.075595, -0.362464}, {0.027192, -0.680106}, - {-0.757238, -0.166757}, {-1.448321, -0.138835}, {-0.136439, 0.459323}, - {0.912758, 0.296751}, {0.799521, -0.573520}, {-0.861892, -0.589343}, - {-0.567036, 0.158120}, {0.478773, -1.056482}, {0.709261, 0.523567}, - {0.739101, -1.002925}, {-0.494944, 0.003764}, {0.454782, -0.046268}, - {0.210620, 0.297517}, {-0.781813, 0.236194}, {0.348782, -0.613968}, - {-0.094413, -0.465826}, {1.768494, -0.406883}, {0.007841, 0.789725}, - {-0.162655, 0.552781}, {-0.758330, 0.343804}, {0.454609, -0.732044}, - {-0.168881, 0.095592}, {0.515566, -0.569084}, {1.255135, -0.757000}, - {0.469649, 0.564189}, {1.260765, 0.360564}, {0.055027, -0.177677}, - {0.600213, -1.511142}, {-0.018551, 1.257905}, {0.308072, 0.151081}, - {-0.207634, -1.327921}, {-0.527733, 0.174325}, {-0.159456, -0.732546}, - {-0.220168, -0.415477}, {0.543532, -0.145998}, {0.884459, 1.021665}, - {-0.262540, -0.398469}, {-0.281570, 0.698927}, {-0.908972, -0.709079}, - {1.589970, 0.503578}, {-0.171265, -0.741831}, {-0.743265, -0.294431}, - {0.731885, 0.012954}, {0.007728, -0.499237}, {0.089515, -0.775161}, - {0.725415, -0.411110}, {0.298849, -0.118750}, {-1.303123, 0.250206}, - {0.310939, 0.936912}, {-0.172330, 0.754859}, {0.093154, 0.269182}, - {-0.858640, -0.029252}, {-1.073149, 0.280686}, {-0.601430, -0.256738}, - {-0.351531, -0.914084}, {-1.751136, -0.490966}, {0.112360, -0.656132}, - {0.921817, -0.276350}, {0.763771, 0.769928}, {0.221840, 1.213251}, - {-0.706608, -0.303978}, {0.281566, -1.404763}, {1.496795, 0.177279}, - {0.261977, -0.939172}, {-0.919389, -0.188529}, {0.044503, 0.718759}, - {-0.825230, 0.774033}, {0.693991, 0.858213}, {0.509792, 0.099608}, - {-0.020553, -0.839990}, {-0.854648, -0.540134}, {-0.000525, 1.256322}, - {0.894022, -0.693105}, {0.442684, -0.596914}, {0.498318, 0.275977}, - {-0.388386, 0.465259}, {0.414579, -1.294942}, {0.098001, -0.237709}, - {1.594870, -0.240582}, {-0.711413, 0.451491}, {0.019527, 2.133193}, - {0.948900, 0.242084}, {0.059194, 0.584269}, {0.852393, -0.156332}, - {-1.485739, 0.262110}, {-0.016760, -0.827316}, {-0.891646, 0.181925}, - {-0.018801, 0.682929}, {-0.690712, -0.572420}, {1.070712, 0.423795}, - {1.438766, 0.043977}, {-0.318368, -0.067348}, {-0.661371, -1.089229}, - {0.046538, 0.984436}, {0.749236, -0.964548}, {1.566314, 0.918615}, - {-1.235787, 1.002522}, {0.416022, 1.866776}, {1.217135, 0.668893}, - {-0.698937, -0.486054}, {-0.478062, -1.168289}, {1.113613, -0.737028}, - {0.773078, 0.234230}, {-0.270515, -0.411625}, {-0.228462, 0.192394}, - {-0.838646, 0.153818}, {-0.436599, -0.408881}, {-0.286055, -0.410803}, - {0.729377, -0.731766}, {0.197643, 0.237175}, {0.836606, 0.664076}, - {-1.657439, 1.703306}, {-0.925155, -0.171418}, {0.078549, -0.331130}, - {0.629470, 0.307286}, {1.248656, 0.135449}, {1.243601, 0.442489}, - {0.387421, -0.154848}, {-1.179918, -0.732728}, {1.236507, 0.602991}, - {0.372452, 0.171586}, {-0.394677, -0.101565}, {0.381677, 1.147393}, - {-1.697199, 0.109712}, {0.188553, -0.752200}, {0.333632, -1.929951}, - {-1.659946, 0.767602}, {-0.190815, -0.557146}, {-1.244192, 0.038106}, - {0.077329, 0.305661}, {0.945212, 1.065261}, {-0.912713, 1.292797}, - {-0.391785, -0.024158}, {0.240759, -1.304114}, {0.112919, -0.091566}, - {-0.424359, -0.382424}, {-1.079261, 0.972243}, {0.454041, -0.530269}, - {-1.976890, -0.123184}, {-0.190632, -0.544888}, {0.296577, -0.825026}, - {-0.477747, -0.335360}, {0.208503, 0.097964}, {-0.579558, -0.380423}, - {-0.414982, -0.344604}, {0.940711, -0.907772}, {-0.962894, -1.441203}, - {-0.648064, 2.197827}, {-0.633787, -0.990602}, {0.215111, -0.181544}, - {0.232828, -0.123360}, {-0.303892, 1.339899}, {-0.166969, 1.219343}, - {0.508222, -0.102310}, {-0.811188, 1.126966}, {0.321233, -1.277579}, - {0.007428, 0.316342}, {0.506948, 0.481229}, {-1.304547, 0.311991}, - {0.142125, 0.263640}, {0.391351, 0.737307}, {1.437568, -0.534043}, - {-0.949425, 1.069958}, {-0.409085, -0.759735}, {0.412259, 0.737801}, - {-0.492377, -0.804608}, {-0.217219, -0.405020}, {0.115039, 0.000846}, - {0.349041, 0.299516}, {-0.460594, 0.403723}, {0.196753, 1.155867}, - {-0.277940, 0.266830}, {-0.274583, 0.585154}, {-1.172068, 1.790906}, - {0.590439, -0.406621}, {1.328016, -0.283713}, {1.517565, -0.073409}, - {0.130855, 1.772665}, {-2.619775, 1.072108}, {0.319751, 1.536673}, - {0.047733, -0.326729}, {0.289634, 1.226698}, {2.014575, -0.883138}, - {0.229264, -0.183602}, {0.589396, -1.070306}, {0.273592, -2.039844}, - {-0.935323, -0.715785}, {0.849403, 0.619567}, {0.480466, -0.484123}, - {0.222280, -0.134613}, {-0.258632, -1.289221}, {0.050742, 0.026907}, - {-0.283583, 0.031728}, {-0.757978, 0.771411}, {-0.434361, 0.111156}, - {0.021107, -0.043801}, {0.773835, -0.122289}, {-0.292605, 0.119946}, - {0.501058, 0.447133}, {0.227193, 0.479879}, {-0.544627, -0.222938}, - {0.583272, -0.387875}, {-0.223831, -0.468512}, {-1.520007, 0.446069}, - {-0.573569, 0.226990}, {-1.019881, 0.053637}, {-0.634610, -0.875259}, - {0.504476, -0.027282}, {-0.039342, 0.409377}, {0.202815, 1.231918}, - {-0.843921, 0.164374}, {0.356392, -0.821357}, {0.108781, -0.523469}, - {-0.196590, -0.568744}, {0.903934, 1.041689}, {-0.544910, -0.022931}, - {0.299150, 1.544291}, {0.880525, 0.454125}, {-0.528507, -0.169262}, - {-0.683196, -0.079160}, {0.153998, -0.420623}, {0.324243, 0.022550}, - {0.099578, 1.237426}, {0.613243, 0.648504}, {-0.190038, 0.945184}, - {-1.058645, 0.829361}, {0.657373, -0.037085}, {0.292522, -1.824963}, - {1.306603, 0.982009}, {0.202489, -0.632477}, {-0.198865, 1.503029}, - {-0.506292, 0.002522}, {0.709691, 0.107836}, {-0.135288, -0.949001}, - {-0.013697, 0.446746}, {0.269863, 1.736851}, {0.147020, -0.676663}, - {-0.044332, 0.878172}, {-0.969214, 0.385042}, {-0.108626, -0.577699}, - {0.573041, -0.693982}, {-0.430415, 1.253413}, {0.106646, -0.057892}, - {-0.946692, -0.108739}, {-0.070615, -0.924246}, {-0.407323, -1.048572}, - {0.541592, -0.183877}, {1.559869, -0.734420}, {-0.667415, -0.567982}, - {0.194163, -0.030077}, {0.088646, 0.226636}, {0.502396, -1.399375}, - {-0.016646, -0.215656}, {0.348238, 0.112063}, {1.303715, 0.470275}, - {-0.665134, -0.786941}, {0.470438, 0.135527}, {-1.337204, 0.482771}, - {-0.535810, 0.980521}, {-0.168026, -0.750603}, {0.387649, -0.230317}, - {-0.100852, 0.278379}, {0.685615, 0.909829}, {-1.248533, -0.401446}, - {0.402464, 1.846549}, {0.119498, 0.304702}, {0.717501, -1.078118}, - {-0.450438, 0.775426}, {-1.459832, -0.482867}, {0.328487, -0.012362}, - {-0.126026, 0.086507}, {-0.630993, 0.029377}, {-1.326625, 0.927913}, - {-0.198820, 0.150652}, {0.266277, -0.555360}, {0.424295, -0.359816}, - {1.393099, -0.408979}, {-0.137465, 0.133084}, {0.628200, -0.501458}, - {-0.684531, -0.666955}, {-0.181920, 0.890694}, {-0.700720, -0.956197}, - {-0.060714, -1.247294}, {-0.405972, -0.881525}, {1.118188, 0.072000}, - {-0.195761, -1.868639}, {0.358203, 0.349429}, {0.154352, -1.476324}, - {-0.210438, -1.836233}, {0.277728, 0.211249}, {0.104063, 1.608697}, - {0.078646, -0.690233}, {1.107666, 0.152621}, {0.976973, 0.132356}, - {0.625021, 0.424496}, {1.106620, -1.108251}, {-0.606551, 0.611908}, - {-0.079978, 0.362614}, {0.450618, 0.582625}, {-0.256559, -0.109762}, - {-1.029120, -0.607627}, {0.030983, 0.226229}, {0.466365, -0.698225}, - {-0.320317, 0.232588}, {-0.294836, 0.215016}, {0.380833, 0.902802}, - {0.179398, -0.539814}, {-0.750583, -0.650149}, {-0.528202, 0.616827}, - {-1.363519, -1.202585}, {0.284990, -1.236363}, {0.243581, -0.864788}, - {0.624023, 0.137801}, {-0.032040, -0.595454}, {0.518910, 0.207927}, - {-0.623962, 0.216663}, {-0.382311, 0.684690}, {-1.561598, 0.901426}, - {0.426931, 1.278804}, {0.332361, -0.658982}, {0.181141, -0.012956}, - {0.171052, 0.552234}, {-0.435677, 0.454231}, {-0.919015, 0.176359}, - {-0.000067, -0.799626}, {-0.930220, -0.187525}, {-0.452119, -0.228146}, - {0.380184, -0.566153}, {-0.179594, 0.470684}, {0.176167, -0.917050}, - {0.002315, 0.589605}, {1.252774, 0.206557}, {-0.284561, -1.124914}, - {0.174024, 0.351072}, {-0.838853, 1.170720}, {-0.067488, -0.254230}, - {-0.622343, -1.414225}, {0.436853, 0.611763}, {-0.128391, 0.096025}, - {-0.819464, -0.451713}, {-0.165038, -0.122421}, {0.024147, -1.314003}, - {0.304931, 0.164088}, {-0.288640, -0.620373}, {0.357003, 0.454057}, - {-1.286647, 0.415088}, {1.849891, 0.616365}, {-0.185972, -1.212797}, - {-0.415794, -0.401859}, {-0.431783, -0.137922}, {0.768623, -0.292081}, - {0.012545, 1.445239}, {-1.689607, -0.394403}, {0.152052, -0.025210}, - {-1.765495, 0.816127}, {0.035743, 0.371073}, {-0.218734, -0.149507}, - {1.291120, -1.111594}, {-0.374380, 0.070194}, {-0.903368, 0.788305}, - {0.867657, -0.973921}, {0.913874, 0.430432}, {-0.121419, 0.832404}, - {-0.415312, 1.135312}, {-0.393487, -0.150178}, {-0.079568, -0.565870}, - {1.522292, 0.090401}, {-0.334966, 0.599134}, {0.515824, 0.178857}, - {-0.199075, -0.457595}, {0.246401, -0.054357}, {1.396896, -1.363043}, - {-0.027178, -0.553311}, {1.010836, 0.249187}, {0.075435, 0.009485}, - {-0.217608, 1.185129}, {-0.522616, 0.556410}, {0.858783, -0.313273}, - {-0.001036, -0.621413}, {0.960607, -1.149066}, {-0.521696, 0.268324}, - {-0.517445, -1.383789}, {0.305025, 0.761437}, {0.031777, -0.095862}, - {-0.795680, -1.512038}, {0.033550, -0.338430}, {-0.398340, -0.145735}, - {-0.322545, 0.322695}, {0.372049, -0.610750}, {-0.137179, -0.590167}, - {-0.504190, -0.258481}, {-0.335035, 0.338316}, {-0.364893, 0.692466}, - {0.038100, -0.724327}, {0.296797, 0.135183}, {0.159604, 0.214980}, - {0.250361, -0.215980}, {-0.347541, 0.122078}, {-0.056809, 0.890072}, - {0.285375, 0.181473}, {0.170715, -0.393356}, {-1.015282, -0.208756}, - {-0.785738, 0.483868}, {0.007467, 1.387720}, {-0.178938, 0.754625}, - {0.664808, -0.600883}, {0.001036, -0.083353}, {0.194157, 0.160494}, - {1.084332, -0.062428}, {0.349357, 0.373911}, {1.433766, -1.303837}, - {0.037403, 2.429277}, {0.395728, -0.834206}, {-0.389085, -0.755077}, - {0.850327, 0.007645}, {-0.368104, 0.126990}, {-0.775816, -0.923819}, - {-0.537167, 0.945156}, {0.142793, 1.312552}, {-0.125607, 0.032723}, - {-0.137840, -0.002817}, {0.742073, 0.013517}, {0.251125, -0.528226}, - {0.820089, -0.035605}, {-0.713914, 0.167522}, {-0.863981, -0.178499}, - {-0.390476, -0.120624}, {0.583901, -0.243569}, {-0.227909, 0.309306}, - {0.324491, -0.693688}, {-1.094183, 0.252179}, {0.192052, 0.039188}, - {-0.267150, -0.444016}, {-0.005890, -0.573760}, {-0.232266, -0.276434}, - {0.382483, 0.162194}, {0.150483, -0.651730}, {0.067169, 0.902480}, - {-2.098348, 0.945188}, {0.825451, 1.329186}, {-0.815597, -1.181818}, - {0.461014, -0.678300}, {-0.711512, 0.009708}, {0.260361, 1.191568}, - {0.185182, -0.338544}, {0.478590, 0.221720}, {0.624523, 0.990393}, - {-0.706888, 0.014106}, {1.173506, -1.110449}, {-0.091258, -0.061557}, - {1.120091, 1.816875}, {-0.989880, -1.531038}, {0.692417, -1.128270}, - {1.716773, 0.088070}, {1.162503, 0.054400}, {0.810364, 0.272585}, - {-0.013515, -0.520286}, {-0.730928, -0.950759}, {0.008127, 0.539806}, - {-1.317219, 0.544458}, {0.781036, 0.503169}, {-0.335197, -0.425765}, - {-0.735000, -0.347362}, {0.528729, 0.365142}, {-0.617825, 0.301920}, - {0.910278, -0.760821}, {-0.709713, -0.356227}, {0.953397, 0.042611}, - {0.086349, -0.037081}, {0.171876, 0.033586}, {1.106060, -0.413432}, - {-0.408955, 1.259989}, {0.072173, 1.348382}, {0.650744, 0.132067}, - {0.241760, -0.334014}, {-0.088343, 0.502032}, {-0.043052, 0.355098}, - {-0.313450, 0.269137}, {-0.329212, -1.672112}, {-0.207438, -0.117867}, - {0.366077, -0.234852}, {0.411392, -0.008275}, {0.353902, 0.251566}, - {-1.477623, 0.757765}, {0.654771, -0.149077}, {0.076332, -0.376470}, - {-0.879182, -0.887672}, {0.125407, 1.010632}, {-0.871182, 0.304759}, - {0.194266, -0.223159}, {0.060104, -0.953143}, {-0.045438, 0.534938}, - {0.615844, 0.411408}, {-0.374972, -0.055209}, {-0.253019, 0.383784}, - {-0.891703, -0.218474}, {-0.706804, 0.115545}, {-1.026031, 1.389687}, - {-0.462136, 0.335579}, {-0.773215, -0.951771}, {-0.779558, -0.464746}, - {0.476106, -0.777170}, {0.664543, -0.569407}, {0.214316, 0.063090}, - {-0.569488, -0.008396}, {0.750912, -0.739441}, {0.214514, 0.148096}, - {-0.198354, 1.474815}, {-1.805212, -0.107083}, {0.169518, -0.786940}, - {-0.409644, 0.852013}, {-0.221826, -0.037541}, {0.253388, -0.616419}, - {-1.774513, -1.460955}, {0.742875, 0.456503}, {-0.232420, -1.359596}, - {-0.507235, -0.763391}, {0.195227, 0.320688}, {-0.224637, -0.845635}, - {1.009627, 0.163178}, {0.778218, -1.096235}, {0.865546, 0.293077}, - {1.466179, 0.233799}, {0.226625, -0.545274}, {0.692166, -0.527514}, - {0.013789, 0.635607}, {0.807891, -0.801895}, {-1.053395, 0.465520}, - {-0.036991, -1.273551}, {-0.589794, -0.753839}, {-0.030564, -0.036160}, - {0.155678, -1.045183}, {0.625342, -0.595545}, {0.036864, -0.046397}, - {-0.004179, -0.652544}, {-0.820676, 0.620457}, {-0.183887, 0.725946}, - {-0.166238, -1.560859}, {0.175907, -1.429565}, {-0.020052, 0.815148}, - {-0.197063, -1.522027}, {0.813251, -2.196093}, {-1.334144, -0.008865}, - {0.412217, 0.219281}, {-0.080738, -0.419816}, {0.192626, -0.493562}, - {-0.370266, -1.389646}, {-0.030379, 0.021337}, {0.496641, 0.294285}, - {-0.416795, 0.418699}, {0.195812, -0.707197}, {0.122865, -0.525780}, - {-0.610908, -0.373378}, {-0.177131, -1.018769}, {0.403266, 0.457369}, - {-0.288750, 1.777459}, {-0.606019, 0.137316}, {0.164513, 1.727904}, - {0.911565, -0.299473}, {-0.493145, 0.145941}, {0.279365, 0.579905}, - {0.452409, 1.222730}, {-0.329814, 0.070742}, {-0.098010, -0.289855}, - {1.204663, 0.662790}, {-0.493696, 0.573452}, {-0.938748, -0.639465}, - {-0.739078, 1.243613}, {-0.343832, 0.558003}, {0.027203, 0.055290}, - {-0.170201, 0.729385}, {-0.878156, -1.902973}, {0.690907, 1.079256}, - {0.028972, 0.634171}, {-0.155383, 0.545055}, {-0.431928, 0.330613}, - {-0.635781, 0.072453}, {0.615176, 0.308009}, {0.104105, -0.205818}, - {0.415076, 1.103903}, {-0.024480, 0.212016}, {0.664855, -0.116184}, - {0.652496, -1.192114}, {0.695982, -0.080428}, {-0.526819, -0.078349}, - {1.742119, 0.556368}, {-0.153092, 1.204460}, {0.311190, 0.421990}, - {0.938121, 1.025194}, {0.156598, -0.031073}, {0.224118, 0.600692}, - {-0.051218, 0.216583}, {-0.842484, 0.468331}, {0.407989, 0.450259}, - {-0.949113, -1.564583}, {-0.434143, 0.325978}, {0.747291, 2.322704}, - {0.737442, 1.246064}, {-0.762481, -0.758876}, {0.729215, 0.853799}, - {-0.908589, -0.622078}, {-0.598447, 1.603107}, {-0.959017, 0.214551}, - {0.536470, -0.187251}, {0.530038, 0.557070}, {-0.247256, 0.391664}, - {0.445570, 0.089350}, {1.499768, -0.418437}, {0.800986, -0.273838}, - {0.177952, -1.141694}, {1.090844, 1.147880}, {0.084762, -0.180105}, - {-0.464588, 0.255076}, {-0.710487, -0.422911}, {-0.159879, 0.388722}, - {0.919932, -0.041034}, {-0.515947, -0.139864}, {-0.432913, -0.527550}, - {-0.275296, -1.159533}, {-0.136299, 0.789806}, {-0.464789, -0.109964}, - {0.939702, -0.027732}, {0.197460, 0.125553}, {0.360497, -0.081121}, - {-1.038393, 0.917326}, {-0.562256, -0.247960}, {-0.506010, 0.057694}, - {-0.061158, 0.007115}, {1.085933, 0.036530}, {0.782551, 0.730841}, - {-1.730593, -0.649685}, {1.033557, 0.042674}, {1.004293, -0.582702}, - {-0.588062, 1.893153}, {-0.038458, -0.489328}, {-0.223353, 0.176598}, - {-0.602039, -0.177264}, {0.484092, -0.207521}, {0.131809, 0.406690}, - {-0.420236, 2.391833}, {-1.389783, -0.697870}, {-1.051676, 0.985787}, - {1.027283, 0.026054}, {-0.193866, 0.459321}, {-0.237210, -0.168983}, - {0.034746, 0.785979}, {1.228488, -0.966549}, {1.189960, 0.910590}, - {0.215783, -0.132182}, {0.865491, 1.580951}, {0.342861, -1.317527}, - {-0.347129, 0.117582}, {0.477505, 0.073989}, {-0.330732, -0.626076}, - {-0.383103, -1.051103}, {-1.127629, 0.266550}, {0.077820, 0.478365}, - {0.979591, -0.218870}, {-0.666472, 0.081770}, {-0.846640, 0.983632}, - {-0.481019, 0.374114}, {0.076811, 0.167969}, {-1.276667, -1.056656}, - {0.884138, 1.533002}, {-0.422899, 0.149947}, {-0.471814, 0.310129}, - {-0.294613, 0.138715}, {-0.917606, 0.974627}, {0.338625, 0.106750}, - {-0.447939, -0.094187}, {0.404872, 0.074803}, {-0.759799, -0.426123}, - {-0.788273, 0.712513}, {-0.021566, -0.188178}, {-0.162962, -1.214495}, - {0.093791, -0.540991}, {-0.961095, 0.434286}, {0.353384, -1.489342}, - {0.292430, -1.036190}, {0.150482, -0.471052}, {0.149233, -0.987746}, - {-0.432685, 0.980449}, {-0.738729, 0.443044}, {-0.038329, 0.068701}, - {1.188859, -0.898705}, {-1.250213, -0.076530}, {-0.526824, 0.334444}, - {-0.464058, 0.049049}, {-0.642591, -0.525583}, {0.192584, -0.630311}, - {0.437306, 0.681520}, {0.487855, 0.369540}, {0.641239, -0.574243}, - {0.371964, -1.021879}, {-1.041124, 0.131275}, {-0.691663, 0.998510}, - {0.546112, 0.831658}, {1.393481, -0.148050}, {1.262175, 0.248708}, - {0.540609, -0.336198}, {0.041225, -1.024662}, {-0.177173, -0.224147}, - {0.867867, -0.187578}, {-0.967667, -1.219234}, {0.213381, -0.057988}, - {-0.675667, -1.091565}, {0.556298, -0.770728}, {-0.188682, 0.656382}, - {-0.092475, 0.407926}, {-1.641683, 0.484862}, {0.190082, -0.330329}, - {0.174209, -0.676685}, {-0.950743, -0.193766}, {-0.435225, -0.580076}, - {0.246472, -0.472847}, {-0.505688, -0.759662}, {-1.255934, -0.736332}, - {1.935964, 0.332194}, {-0.500932, 0.083885}, {-0.067564, 0.231471}, - {-0.379280, 0.846503}, {-0.030848, -0.246677}, {0.125241, -0.397222}, - {-1.137543, -0.555543}, {-0.122221, 0.387840}, {2.042492, -1.202247}, - {1.772027, 0.326225}, {-0.550197, 0.205095}, {0.450376, 0.791456}, - {-0.506594, 0.069919}, {-0.063568, 1.032985}, {-0.621426, -0.028421}, - {0.043761, -1.038331}, {-2.012759, -0.886260}, {-0.144653, -0.613454}, - {1.042293, -0.047165}, {-0.059067, 0.116286}, {0.148872, -0.095572}, - {-0.573228, -0.480453}, {-0.200914, -1.046460}, {-0.824112, 1.568436}, - {-0.133283, -0.288869}, {0.597348, 0.377234}, {-0.505799, 1.227439}, - {-0.606898, 0.148651}, {-0.583873, -1.081077}, {-0.347056, 0.271253}, - {0.784106, 0.033133}, {0.184385, 0.180992}, {0.378686, -0.264273}, - {1.264891, 1.156455}, {-0.180967, 0.378180}, {1.185364, 2.147560}, - {-0.443654, -0.290601}, {-1.069806, 0.508735}, {1.608167, 1.233684}, - {-0.794538, 0.519840}, {-0.078219, 1.219228}, {0.334451, -0.046541}, - {-0.666285, 0.564027}, {-0.577876, -0.550521}, {-0.000416, -0.584869}, - {0.624742, -0.128862}, {-0.205674, -0.383454}, {-0.377425, 0.710460}, - {0.086861, -1.107777}, {0.781845, -0.797178}, {0.153671, 0.734022}, - {0.009617, -0.036667}, {0.752946, 1.007603}, {0.471233, 0.459138}, - {-0.821665, -0.267974}, {-0.924172, 0.593227}, {-0.364922, 0.183033}, - {0.503286, 0.374220}, {0.817608, -1.185941}, {-1.068648, 0.590834}, - {-0.100083, -0.975689}, {0.801345, 0.166370}, {0.878885, 0.514705}, - {-0.707014, 0.403084}, {0.827796, 0.483292}, {-0.975586, 0.279704}, - {0.362153, 1.075430}, {0.799974, 0.002309}, {0.676713, -1.092933}, - {1.578438, 0.276312}, {0.110806, -1.246881}, {-0.865309, 0.165009}, - {-0.282162, 0.733062}, {-0.990404, -0.702353}, {0.121363, 0.147771}, - {0.038031, -0.195024}, {0.138621, 0.371235}, {0.142721, 0.021207}, - {0.268035, -0.692454}, {0.945280, -0.180407}, {-0.253126, -1.299034}, - {0.215126, 0.964959}, {0.214474, 0.039968}, {-0.315065, 1.317935}, - {-0.495310, 0.013483}, {0.470253, 0.354208}, {-0.089794, 0.245806}, - {-0.208178, 1.288801}, {0.753819, -0.739573}, {-0.885257, -0.056685}, - {0.478816, 0.673381}, {0.388771, 0.612329}, {-0.820496, -1.297063}, - {-1.437975, 0.521158}, {0.271222, -0.170637}, {-0.400573, -0.022383}, - {-1.216831, -0.194283}, {1.347498, -0.865849}, {1.490747, 1.638422}, - {-0.066047, -0.399105}, {-0.420802, 1.133171}, {0.135157, 1.573802}, - {0.541187, 0.894018}, {1.510389, 0.809415}, {0.881448, -0.730401}, - {0.296695, -0.733757}, {0.339736, -1.370242}, {0.274695, 0.252843}, - {-1.281780, 0.313851}, {1.274502, -0.466039}, {0.808820, -0.486975}, - {0.817662, 0.485549}, {-0.095951, 0.029602}, {-0.110720, 0.676979}, - {1.202230, 0.782503}, {0.323406, -0.119733}, {-0.284233, 0.460801}, - {-0.138012, -0.172029}, {0.660058, -0.652850}, {0.681055, 0.587900}, - {1.034573, -1.401681}, {-0.803681, 0.663399}, {0.279558, -1.726715}, - {-0.064446, -0.133818}, {0.111129, -0.818469}, {-0.109438, 0.108017}, - {0.655329, -0.214051}, {-0.182692, 0.983672}, {-0.386961, -0.148666}, - {-0.520381, 0.408330}, {-0.277355, 0.529608}, {-0.227798, 1.212313}, - {0.286884, 1.328657}, {0.330357, 0.676798}, {-0.386855, -0.073008}, - {-0.005346, 0.643306}, {-0.408125, -0.611805}, {-1.344349, 1.214852}, - {0.280046, 0.328383}, {0.193258, 0.841163}, {0.688097, 1.470022}, - {-0.543274, 0.871549}, {-0.243657, 0.867887}, {0.031152, 0.192752}, - {-1.158627, -1.398383}, {-0.797943, -0.620853}, {0.551211, -1.681158}, - {0.057558, -1.031877}, {-1.029493, 0.639438}, {0.099115, -0.246357}, - {0.343168, 0.265658}, {1.188859, 1.031717}, {0.126086, 0.836314}, - {-0.606482, 0.051107}, {0.162957, -0.781010}, {-0.462344, -0.438913}, - {-0.539638, 0.657519}, {0.022154, 0.230604}, {-0.843574, 0.180764}, - {0.398755, -0.125898}, {0.299966, -0.155337}, {1.022899, -0.742968}, - {-0.807121, -0.640128}, {-0.392841, -0.596371}, {-0.360295, -1.003922}, - {0.679328, -0.665397}, {-0.072668, 1.290516}, {-0.280499, -0.949490}, - {0.111927, 0.581514}, {-1.363240, -1.343656}, {-1.084450, 0.050768}, - {-0.385367, -0.565308}, {0.202467, -1.237126}, {-0.242867, 0.417895}, - {-1.545462, -0.660856}, {-0.215712, 0.754475}, {0.950926, 0.189388}, - {-0.907607, -0.356709}, {-0.018424, -0.492529}, {0.592479, -0.228064}, - {-0.666301, -0.997495}, {0.316365, 2.371218}, {0.234107, -0.170388}, - {-0.382072, -0.617266}, {0.008455, 0.054220}, {0.391055, -0.070040}, - {-1.131104, 0.097647}, {0.114958, 0.491805}, {-1.828644, 0.079717}, - {1.282146, 0.110291}, {0.357302, -0.071632}, {-1.285120, -0.698425}, - {-0.620723, 0.250825}, {-1.580495, 0.607744}, {-0.310391, 0.023209}, - {0.659152, -0.517724}, {0.722716, 0.407689}, {-0.310078, 0.307880}, - {-0.515929, -0.421393}, {0.481648, -0.771808}, {-0.613531, -0.311456}, - {-0.557038, 0.487850}, {0.240958, 1.033137}, {-0.411849, -0.652721}, - {-1.414977, 1.570391}, {0.198022, 0.143388}, {-0.665199, 0.006710}, - {-0.125512, 1.145256}, {0.939666, -0.184737}, {1.254756, 0.210233}, - {-0.414391, -1.647095}, {0.149630, 0.144509}, {0.288296, 0.362648}, - {-0.017046, 0.108292}, {0.500758, 1.194654}, {-0.132504, 0.838117}, - {0.436872, -1.259608}, {0.185786, -0.150289}, {0.570040, -0.268047}, - {-0.924944, 0.709866}, {0.460708, -0.753595}, {1.505297, 0.124422}, - {0.070403, 0.380217}, {-0.453289, -0.844383}, {0.339141, 0.421633}, - {-0.276216, 0.254737}, {-0.740343, 0.477980}, {-1.140554, 0.373471}, - {-0.619092, -0.126768}, {-0.106514, -0.394367}, {1.219767, 0.408088}, - {0.570849, 0.749630}, {0.279189, 0.802048}, {-1.761637, 0.917490}, - {-0.125839, -0.480779}, {-0.716519, -1.313543}, {-0.886599, 1.677483}, - {0.471796, 0.455429}, {0.472861, -0.700399}, {0.630634, 0.789490}, - {0.388011, 0.023963}, {0.160770, -0.328353}, {0.684503, -0.912411}, - {-0.613712, -0.942848}, {0.187679, -1.243436}, {-0.303386, 0.183180}, - {-0.430191, -0.919399}, {-0.486669, 0.017418}, {-0.196664, -0.596788}, - {-0.016898, -0.305134}, {-1.003277, 0.875101}, {0.016353, -0.323237}, - {0.821922, 0.531172}, {0.068244, -1.142754}, {0.564201, -0.493468}, - {-0.108778, -0.451831}, {-1.104421, -0.533559}, {-0.190109, 1.354647}, - {-1.625892, -0.106572}, {0.053986, 0.048085}, {-0.078443, -0.504104}, - {-0.981755, 0.138946}, {-0.089922, 0.305097}, {-2.134689, -0.514083}, - {-0.557133, 1.367571}, {-0.124624, 0.607339}, {-1.498195, -1.186483}, - {-0.872943, -0.334031}, {0.433069, 0.253202}, {0.748849, 0.097565}, - {0.431413, -0.732537}, {0.468929, 0.578734}, {-1.277818, 0.672101}, - {0.471820, -0.460997}, {0.494373, 0.102286}, {-0.141118, 0.866229}, - {-0.347544, -0.467992}, {-0.772585, 0.634551}, {-0.968830, -0.935472}, - {-0.019241, 0.227594}, {-0.813687, 0.776289}, {-0.124640, 0.511015}, - {0.045039, 0.998667}, {0.160430, -0.284327}, {-0.252488, -0.276808}, - {-1.446518, -0.593809}, {0.444264, -0.215641}, {-0.495694, 1.313423}, - {0.233200, 0.628049}, {1.058397, -0.209975}, {-0.631813, 0.212791}, - {0.724289, 0.730092}, {0.766557, 0.140992}, {-0.422498, -0.065908}, - {0.759667, -0.394613}, {-0.280825, -0.249983}, {-0.334594, -0.099555}, - {-0.100845, -0.279454}, {-0.631641, -0.001709}, {-0.390891, 0.591299}, - {-0.614147, -0.867562}, {0.794232, 0.262570}, {-0.855585, -0.445803}, - {0.137634, -0.208739}, {0.735539, -0.285394}, {0.254964, -1.231606}, - {0.529011, 0.143706}, {1.430450, -0.392117}, {0.441543, -0.753268}, - {-0.215594, 0.692776}, {0.235193, 1.031127}, {-0.658717, -0.573607}, - {-0.945679, -1.445653}, {-0.416275, 0.659500}, {0.907194, 0.304227}, - {-0.031342, 0.374716}, {0.005759, -0.770302}, {-0.877440, -0.213883}, - {-0.710438, -0.089993}, {-0.417193, -0.780149}, {0.281753, -1.127371}, - {0.074096, 0.751776}, {-1.369300, -0.313873}, {0.975236, -0.674780}, - {-0.395840, 0.453994}, {0.229087, -0.431998}, {0.686648, -0.040472}, - {-1.932872, -2.114067}, {-0.053147, 0.889797}, {1.557776, 0.187376}, - {-0.177372, -0.372058}, {-0.145758, -0.406644}, {0.893661, -0.736872}, - {0.699794, -0.837986}, {0.562408, -1.315862}, {0.248331, 0.796103}, - {-0.974681, -0.545749}, {-0.633997, -0.920930}, {-0.653344, -0.148806}, - {-0.278669, -1.016823}, {0.990752, 0.282628}, {-0.002135, 0.295268}, - {0.247889, -0.002233}, {0.299683, 0.464098}, {-0.348562, 0.234081}, - {-0.653547, 1.042115}, {1.427451, -0.211486}, {-0.249740, 0.299611}, - {0.236624, -0.236593}, {0.361321, -0.011710}, {0.225996, -0.116814}, - {0.665416, -0.154760}, {-0.343271, 0.309692}, {0.214282, 0.840876}, - {0.436174, 0.465315}, {0.491642, -0.396010}, {-0.840432, 0.546308}, - {-0.484284, -0.253952}, {-0.674070, 0.614429}, {-1.132196, 0.300718}, - {-0.686720, -0.668618}, {-0.209752, -0.193816}, {-0.864450, 0.711636}, - {-0.704162, 0.080921}, {-0.281052, -0.711402}, {0.476961, -0.296571}, - {-0.567590, 0.120557}, {1.206292, -0.739669}, {0.073467, 0.983447}, - {-0.761649, -0.205547}, {-0.101813, -0.757212}, {-0.036924, -1.095216}, - {-0.203280, 0.087312}, {0.419187, 0.045301}, {-0.128742, 0.611231}, - {0.002422, -0.752412}, {0.674792, 0.880037}, {-0.130573, -0.395283}, - {0.043261, 0.842507}, {0.744393, 0.440538}, {0.327633, 0.077634}, - {-0.173323, 1.100831}, {-0.364820, 0.190809}, {-0.929120, 0.340176}, - {0.083238, -0.252833}, {-0.812169, 1.206466}, {-0.658568, 0.595224}, - {-1.328600, 0.526328}, {-2.155765, 1.269370}, {-0.046160, -0.114023}, - {0.293193, -0.938083}, {-0.254478, -1.169655}, {0.586072, 0.064899}, - {-0.826939, 0.519365}, {0.000194, -0.042804}, {0.703387, 0.425636}, - {-0.071028, 0.344410}, {-0.690411, -0.426178}, {-0.305423, -0.957584}, - {0.565793, 0.471864}, {0.572453, -1.210154}, {-0.176756, -0.543416}, - {-0.122719, 0.142358}, {0.041164, -0.689254}, {0.488677, 0.046068}, - {0.272934, -0.298194}, {0.056580, -0.113747}, {-0.586258, -0.393607}, - {0.449298, 0.411649}, {0.222406, 0.339896}, {-0.259049, 0.537135}, - {-0.162509, 1.788969}, {0.261787, -1.022771}, {0.342338, 0.185518}, - {0.579314, -0.173051}, {-0.141523, -0.044285}, {0.193116, -0.235134}, - {-1.353094, -1.018692}, {-0.436509, 0.480147}, {0.110273, 0.018753}, - {-0.074405, 0.256683}, {-0.246641, -0.072741}, {0.193535, 0.110739}, - {0.236249, 0.450123}, {-1.328284, 0.200608}, {0.203875, 0.971534}, - {0.140868, 0.836049}, {-1.180779, -0.571187}, {0.352527, -0.941286}, - {-0.603336, 1.499530}, {-1.722024, -0.622489}, {-0.665516, 0.309695}, - {-0.196527, 0.388266}, {0.748597, 0.328682}, {-0.700676, -0.457945}, - {0.241755, 0.916166}, {-1.055948, 0.612258}, {-0.088514, -1.051597}, - {-0.666181, -0.503929}, {-0.373979, 0.896727}, {-0.372882, -0.074176}, - {-0.109262, 0.026398}, {0.140324, 0.378864}, {-0.019849, -1.097344}, - {0.235596, -0.286668}, {0.782230, -0.389778}, {0.013781, -0.571368}, - {0.789306, 0.647173}, {0.630138, 0.773210}, {0.750400, -1.183298}, - {-0.682019, -1.609188}, {0.896088, 0.067930}, {0.420614, -0.078741}, - {-1.496000, 0.450049}, {-0.863680, -0.475229}, {-1.423561, -0.224888}, - {0.024832, -0.453597}, {0.737548, 0.300150}, {-0.738513, 0.671116}, - {0.789577, -0.557279}, {0.667659, -0.837533}, {0.440875, -1.043855}, - {-0.051215, -1.357721}, {0.359163, -1.468140}, {-0.336103, -0.186086}, - {-1.253254, 0.917832}, {-0.307426, 0.767409}, {-0.567196, 0.228002}, - {-0.028435, 0.944140}, {0.222374, 0.474538}, {1.165054, -0.954027}, - {0.925421, 0.519574}, {-0.072758, -0.302302}, {0.298489, 0.526333}, - {0.559091, -0.004799}, {0.661053, -0.291473}, {0.589520, -0.043129}, - {0.486342, -0.102644}, {0.399697, 0.607928}, {-1.591074, 0.238188}, - {0.864441, 0.826969}, {-0.717594, 0.995645}, {0.335125, 1.336621}, - {-0.374524, 0.390990}, {-0.010197, 0.428746}, {-0.061779, 0.352761}, - {-1.529446, -0.080619}, {0.588116, 1.395893}, {-0.455056, 0.445153}, - {-0.217297, 1.396009}, {-0.657833, -1.016368}, {-1.806291, 0.038937}, - {0.002294, -0.394349}, {-0.774411, 1.119519}, {-0.807535, 0.342889}, - {-0.122509, 0.143458}, {-1.612262, 0.133762}, {-0.704500, -0.634429}, - {0.421355, 1.477149}, {-0.346425, 1.488303}, {-0.320905, 1.385086}, - {0.517736, 1.018882}, {-0.698406, -0.561933}, {0.455363, 1.519318}, - {-1.529130, -0.417045}, {1.090679, 1.108610}, {0.054188, 0.538953}, - {0.034975, 0.942247}, {1.127053, -1.169750}, {0.347556, 0.169247}, - {-0.388350, -0.124856}, {0.119545, 0.172064}, {0.335029, -0.074899}, - {-0.071492, 0.385402}, {0.701349, 0.030827}, {0.272265, 0.385385}, - {-1.295989, -0.440285}, {-0.016185, -0.292499}, {-0.425862, 0.192669}, - {-0.474981, 1.023225}, {0.378090, -0.085647}, {-1.380673, -0.172079}, - {0.267498, -0.609266}, {-0.174361, -0.720071}, {-0.903868, 0.497839}, - {-0.754455, 0.498984}, {0.333531, 0.300701}, {0.570416, 0.121552}, - {-0.856487, 1.273007}, {0.864065, 0.677483}, {-0.359296, -0.764656}, - {0.373897, -0.165979}, {0.004695, 1.059938}, {-0.205988, 0.159122}, - {0.240554, -0.757747}, {-2.731705, -1.090066}, {0.196211, -0.214263}, - {-1.060994, 0.303117}, {0.065935, -1.370273}, {0.147199, 0.460440}, - {-1.434710, -0.211987}, {0.506390, 0.291023}, {-0.385415, 0.150877}, - {-0.058076, 0.033607}, {-0.040447, 0.121214}, {0.217183, 0.381020}, - {0.008537, 0.171304}, {-0.793652, 0.273910}, {-0.113031, -0.165199}, - {-0.137888, -0.411958}, {0.129773, 1.543414}, {0.026013, 1.008311}, - {0.859350, 0.590368}, {0.137087, -0.138097}, {0.273403, -0.938621}, - {0.365497, -0.156764}, {0.670901, 0.144948}, {0.356986, -0.869288}, - {-0.882520, -0.440277}, {0.462818, 0.724776}, {-0.573334, -0.513149}, - {-0.216443, -1.260162}, {-0.037775, 0.735246}, {-0.374519, 0.457316}, - {0.058640, -0.761478}, {-0.440620, -0.890988}, {-0.052313, -0.360096}, - {-0.537367, 0.085238}, {-0.894927, -0.267870}, {-0.710221, -0.890203}, - {-1.603747, 1.430830}, {1.840006, 1.279425}, {0.449807, 0.176538}, - {0.071127, -0.599730}, {0.340974, 0.830768}, {0.167339, 0.262566}, - {-0.519153, -0.781460}, {-0.953526, -0.572926}, {-0.718084, 1.342914}, - {0.887380, -0.767601}, {-0.500773, -1.256327}, {-0.504054, -0.387444}, - {-0.423248, 0.941044}, {-0.075436, -0.011957}, {0.778830, -0.741112}, - {0.527124, 1.470712}, {-0.061345, 0.245175}, {-0.108031, -0.165018}, - {0.089631, -0.062024}, {-0.079677, -0.101521}, {-0.396044, -0.025846}, - {0.849632, 0.900182}, {0.614655, -0.309219}, {-0.168051, 0.184285}, - {0.629810, -0.125703}, {-0.626641, -0.299066}, {-0.766331, 0.668178}, - {1.026631, 0.970999}, {1.056465, 0.385935}, {0.034025, 0.934794}, - {1.049357, -1.364552}, {-0.307284, 0.554048}, {-0.124591, 0.459456}, - {0.634236, 0.196816}, {0.846920, -0.870074}, {0.377849, -0.151186}, - {0.010945, 0.711493}, {-0.143725, -0.331314}, {-0.428652, 0.812929}, - {-0.507231, 0.476529}, {0.822266, -0.169064}, {-0.312591, 0.878717}, - {0.126182, -0.185989}, {1.011325, 0.536978}, {0.511545, 1.633077}, - {-1.054305, 0.395063}, {1.824536, 0.854489}, {-1.843423, 1.187168}, - {-0.260379, 0.320860}, {0.762158, 0.289641}, {0.273799, -0.015125}, - {0.406928, 0.953909}, {-0.053545, -0.024161}, {-0.636427, -0.198150}, - {-0.601937, -0.004703}, {0.117514, -0.399147}, {0.147300, -0.182524}, - {0.117742, -0.391568}, {0.598795, -0.217514}, {-0.530160, -1.275872}, - {-0.448360, 0.509787}, {-0.231334, 0.208376}, {0.653553, -0.510494}, - {-0.469246, -0.599648}, {0.223253, -0.260082}, {0.425304, -1.320700}, - {-1.013285, -0.561188}, {-0.649321, 0.686967}, {-1.283270, -0.227414}, - {-0.186007, 0.368703}, {-0.136933, -0.192889}, {1.185159, 0.545198}, - {1.216968, 0.689015}, {0.910311, -0.002513}, {-0.253238, -0.334718}, - {-0.272165, 0.329764}, {0.419154, 0.171196}, {0.856108, -0.866033}, - {-0.363408, -1.279964}, {-0.323154, 1.229737}, {0.515595, 0.771904}, - {-0.113071, 0.472993}, {-1.090156, -0.702003}, {-0.615317, 0.258520}, - {-1.389988, 0.090579}, {0.227189, 1.873838}, {0.238943, 1.189236}, - {0.997707, -0.750336}, {-0.168988, 1.198045}, {-0.908115, -0.325316}, - {-0.276129, -0.887500}, {-0.193721, 0.061984}, {0.372694, -1.067987}, - {-0.021077, -1.086837}, {-0.355942, -0.129020}, {0.601311, 0.890568}, - {0.458201, 0.949799}, {0.477640, 0.087344}, {0.024384, 0.268283}, - {-0.314620, 0.511970}, {0.208499, -0.010617}, {1.054139, -0.793165}, - {0.712241, 0.313028}, {0.095001, 0.032736}, {-0.050507, -0.099467}, - {0.966046, -0.046950}, {0.735177, -0.035276}, {1.216582, -0.536102}, - {0.579388, 0.044030}, {-0.031001, -1.871012}, {1.061978, -0.288872}, - {-0.504246, -0.401761}, {-0.562567, -0.284664}, {-0.275011, -0.021875}, - {-0.393798, 0.931489}, {0.006711, 0.841041}, {0.402936, 0.199119}, - {0.107574, -1.388760}, {-0.230410, 0.022241}, {-0.191842, -1.192988}, - {1.171249, 0.021609}, {0.716926, 0.486816}, {0.145686, 0.517127}, - {-1.328921, 0.377331}, {0.851484, -1.077027}, {-0.182252, -0.973016}, - {0.547530, 0.307628}, {0.752337, 0.227463}, {-0.943868, -1.105141}, - {0.051322, 1.847229}, {0.162891, 1.662704}, {0.215910, 0.074535}, - {0.968104, -0.819955}, {0.398545, 0.106263}, {0.311276, 0.300695}, - {0.553913, 1.407050}, {-0.074835, -0.314706}, {-0.756606, -0.249815}, - {-0.007184, 0.241820}, {-0.903521, -1.140063}, {-0.347949, 0.735517}, - {-1.520924, -0.054318}, {-0.336836, -1.417745}, {0.668140, -0.550144}, - {-0.813826, -0.378920}, {-1.142460, -0.895100}, {-0.464542, 0.305670}, - {-0.803636, 0.464800}, {-0.519269, 0.330770}, {-0.744446, 0.223551}, - {0.133873, 0.641134}, {-0.234319, -0.617046}, {0.237105, 0.190497}, - {-0.207124, 0.186992}, {-0.222716, -0.026379}, {0.616382, 0.940631}, - {-0.202311, 0.380659}, {0.365658, 0.144009}, {1.794867, -0.495343}, - {0.500606, -0.433379}, {0.363196, -0.689170}, {-0.025768, 0.286324}, - {-0.868493, 1.012894}, {0.110665, -0.207569}, {-0.041372, 1.248633}, - {0.885087, -0.488457}, {0.910808, 0.069023}, {0.693604, -0.067264}, - {0.566380, 0.592366}, {1.130313, -0.894986}, {0.853269, 1.224186}, - {0.451775, 0.907155}, {-0.899638, -0.755130}, {0.009159, -0.715130}, - {0.725935, -0.067967}, {-0.648557, -0.976766}, {-0.215151, -0.130206}, - {-0.882912, 1.101720}, {0.549423, 1.141824}, {0.091037, -1.123045}, - {0.851998, -1.088543}, {0.671949, -0.768697}, {-0.026212, -0.142371}, - {0.188458, 0.044498}, {1.035851, 0.732378}, {0.496930, 0.763086}, - {0.620814, -0.084441}, {-0.816705, -1.005846}, {0.129933, 0.607144}, - {-0.335244, 0.079260}, {0.062206, 0.842265}, {0.342883, 0.267645}, - {-0.570073, 0.645440}, {-0.179948, -0.386216}, {-0.767378, 0.206902}, - {0.759143, -0.306648}, {0.482275, 0.475103}, {0.825030, -0.514951}, - {-1.028938, -0.819744}, {1.732835, 0.066877}, {0.450762, -0.541033}, - {-0.616540, -0.408825}, {0.089601, -0.831240}, {-0.716228, -0.620456}, - {-0.045554, 1.373536}, {0.723475, 0.165982}, {0.238882, -0.391897}, - {1.879258, 0.418675}, {-0.908657, 0.808384}, {-0.286725, 0.203416}, - {0.622622, 1.988791}, {-0.204689, 0.503124}, {-0.840514, -1.052989}, - {0.109104, -0.491465}, {-0.458429, -0.890611}, {-0.040308, 0.387025}, - {0.334213, 0.845817}, {-0.485131, 1.161892}, {-0.154884, -0.021494}, - {0.901447, 0.368832}, {-0.577289, 0.422688}, {0.066667, 0.480205}, - {0.497143, 1.273457}, {0.411773, -0.013752}, {0.663922, 0.240592}, - {0.147365, -0.939324}, {0.265064, -0.679686}, {0.080121, -0.490473}, - {0.405063, -0.141264}, {1.250869, -1.013448}, {-1.771650, -0.026840}, - {-0.214699, -0.238854}, {0.153398, 0.152295}, {-0.332406, 0.850663}, - {0.082405, 0.034282}, {-0.778027, 1.776842}, {1.119535, 0.093578}, - {0.405343, 0.144457}, {0.318296, -1.045619}, {0.894029, -0.789367}, - {-0.705205, -0.559302}, {-0.583245, -0.587218}, {-1.732809, 0.502952}, - {-0.072216, -0.619449}, {-1.005389, -1.337074}, {-0.925036, -1.050076}, - {-0.849897, 1.451525}, {-0.640269, -0.536556}, {0.280792, -0.596720}, - {-1.731763, -1.392341}, {0.225837, -1.310780}, {-0.855570, 0.357171}, - {-0.596824, 0.705603}, {1.015263, -0.013845}, {-1.378102, -0.871470}, - {-0.037446, -0.148328}, {-1.100256, -0.404901}, {0.618017, -0.193406}, - {-0.165397, 0.385855}, {1.048162, 1.070281}, {0.913836, 0.796236}, - {-0.470200, -0.595482}, {0.435984, 0.550976}, {0.991639, 0.713741}, - {1.354705, 0.236459}, {-0.514888, 0.034946}, {0.447832, -0.324686}, - {-0.324818, 0.064890}, {0.512776, -1.010271}, {0.644555, 1.172259}, - {-0.884525, 0.399588}, {0.106287, -0.599133}, {0.245535, 0.597192}, - {-0.128277, 0.432917}, {0.307422, -0.650546}, {0.870460, 0.392310}, - {-0.236295, 0.161812}, {-0.905288, 0.260416}, {-0.288011, -0.014239}, - {-0.391415, -0.625783}, {1.255478, -0.407403}, {1.023093, 0.311064}, - {0.059888, -2.054203}, {0.200850, 0.982033}, {0.936100, 0.701518}, - {-0.629761, 0.267995}, {1.891356, -0.312648}, {0.084493, 0.120200}, - {0.658455, 0.408385}, {0.401558, -0.236054}, {0.213266, -0.339748}, - {0.249614, 1.030643}, {0.861996, -0.401135}, {-0.645997, -0.919200}, - {0.345041, -0.019794}, {0.422888, -1.570761}, {-0.728576, -0.302344}, - {0.698979, 0.162284}, {0.432374, -0.278804}, {0.288216, -0.280750}, - {0.692058, -0.788072}, {-0.513736, 0.160921}, {-0.484442, 0.091290}, - {0.217502, 0.258031}, {-0.564786, -0.078785}, {0.773842, -0.205731}, - {0.496951, 0.661244}, {0.703862, 0.256431}, {0.417277, -0.643702}, - {0.030253, 0.964357}, {0.487751, -0.148838}, {0.603282, 0.729704}, - {0.623268, -1.087961}, {0.673468, 0.933167}, {-0.456305, 0.170897}, - {-0.397510, -0.674178}, {-0.320248, 0.681368}, {0.138825, 0.000576}, - {-0.706556, 0.500306}, {-0.180191, -0.216743}, {-1.383253, 0.599270}, - {-0.024074, 0.774923}, {0.117188, 0.327920}, {-0.897107, -0.217729}, - {0.780948, -1.488166}, {-0.189833, -1.665574}, {0.160742, 0.396893}, - {0.132436, -0.269463}, {-0.477604, 0.319153}, {-1.594824, -0.229696}, - {-1.033510, 0.226079}, {-0.375408, 0.377189}, {0.203341, -0.627341}, - {0.000475, -0.876883}, {-0.354389, -0.692829}, {0.902375, 0.537518}, - {0.765544, 1.350291}, {0.617121, 0.549060}, {0.191055, -1.656615}, - {-0.637320, 0.461113}, {-0.139140, 0.405568}, {0.338228, 0.190319}, - {-0.111718, 0.427500}, {-0.607051, -0.223998}, {-0.256013, -0.126726}, - {-0.460717, 0.657032}, {-0.264035, 0.642030}, {-0.480224, -0.125524}, - {-1.104871, -1.244684}, {0.794316, -0.618685}, {-1.325048, 0.625898}, - {-0.609105, -0.317561}, {-0.110370, 0.574926}, {-0.079341, -0.941059}, - {1.123131, 0.516150}, {0.646988, -0.799697}, {-0.528347, 0.716934}, - {-1.297124, 0.049700}, {0.952649, -0.161405}, {0.104493, -0.030703}, - {-1.168308, 1.727449}, {0.676470, 0.693357}, {-0.412443, 0.253094}, - {-0.447798, 0.038550}, {-0.228133, 0.125712}, {0.274084, -0.664014}, - {-1.273383, -0.516870}, {0.331193, -0.663290}, {0.834921, -1.083132}, - {-0.016795, 0.063665}, {0.463293, 0.100810}, {-0.222092, -1.166433}, - {-0.045631, -0.035269}, {-0.045329, -0.674897}, {-0.784392, -1.057570}, - {-0.329826, 0.339698}, {1.178970, 0.965670}, {-0.300943, -0.650654}, - {0.152251, -0.474047}, {-0.578936, -0.462915}, {0.349399, -0.057776}, - {0.102065, -0.396655}, {0.217686, 0.393256}, {-1.565998, -0.678150}, - {-0.317381, 0.390873}, {0.032866, 0.637578}, {-0.462473, -1.228468}, - {0.037433, -0.126953}, {-0.219955, -0.079598}, {0.986041, -0.242647}, - {0.981236, -0.308921}, {-0.714607, 0.747562}, {0.878252, 0.290233}, - {-0.013550, -0.801533}, {-0.837193, -0.073407}, {0.004598, -0.299227}, - {0.718243, -0.521436}, {-1.411477, 0.345819}, {-0.185560, 0.407726}, - {-0.645613, 0.341977}, {-0.144282, -0.130033}, {0.170185, 0.210823}, - {0.648260, 0.522148}, {0.163927, 0.452781}, {0.091997, -1.512229}, - {-0.925560, 0.389415}, {0.396382, -0.605291}, {-0.206984, 0.810648}, - {0.605544, -0.329259}, {-0.496895, -0.433621}, {0.821201, -0.159951}, - {-0.287604, -0.461316}, {0.269550, -0.172898}, {0.223504, -0.519438}, - {-1.219596, -1.509329}, {-1.177703, 0.106731}, {-0.614510, -2.303451}, - {-0.508790, -0.814873}, {-0.235748, -0.655716}, {0.675918, 0.241968}, - {0.848823, 0.109502}, {-0.339173, 0.251667}, {-0.907714, 0.025476}, - {1.135073, -0.983344}, {0.597885, 0.092979}, {0.775967, 0.017399}, - {-2.228663, -0.026600}, {0.991905, 1.087891}, {-1.345601, 0.617191}, - {0.369217, -0.003157}, {0.380365, -0.183456}, {1.141741, -0.120062}, - {0.208724, 0.917995}, {-0.751646, 1.025081}, {-0.244497, -1.070647}, - {-0.426150, -0.441223}, {-0.083133, 0.600314}, {-0.639394, -0.449710}, - {-0.227868, -0.052185}, {0.039466, 0.902238}, {-0.228256, 0.424697}, - {-1.264894, 1.007502}, {0.025662, -1.050856}, {-0.853853, -0.077905}, - {-0.283073, 0.020308}, {0.102863, 0.285404}, {-0.729183, -0.883586}, - {0.488278, -0.537274}, {-0.638371, 0.705178}, {0.257958, 0.187060}, - {1.876355, -0.296744}, {-0.029220, 0.081046}, {-1.202058, 0.013792}, - {0.143679, -0.221348}, {0.813612, 1.334167}, {-0.308881, 0.009709}, - {0.744881, 0.191344}, {0.703735, 0.479720}, {0.916091, 0.301598}, - {0.229351, 0.527300}, {0.608015, 1.084639}, {-0.028380, 0.179041}, - {0.741942, 0.210321}, {-0.441117, 2.019392}, {0.287010, 1.148982}, - {0.751560, -0.634404}, {0.633605, -0.574008}, {0.254998, 0.117379}, - {1.321661, -0.738031}, {-0.086967, -0.576727}, {0.357126, 0.432979}, - {-0.743290, 0.811585}, {-0.501911, 0.783671}, {-0.187481, 0.444391}, - {0.175805, 0.576845}, {0.749123, 0.582751}, {-1.669288, -1.212711}, - {-0.024771, 0.530228}, {-0.600212, 0.278748}, {0.380659, 0.552119}, - {-0.054384, -0.183081}, {-0.577043, 1.758637}, {-1.290098, -0.034919}, - {-0.626743, -0.901914}, {0.548593, 0.563251}, {-1.189395, -0.111436}, - {0.672192, 0.884066}, {0.490141, -0.258325}, {1.522702, -0.355020}, - {0.280899, 0.463460}, {0.297340, -0.975150}, {-0.783965, -0.193888}, - {0.116301, -0.696152}, {-0.613030, 0.111460}, {-1.438732, -0.335699}, - {0.152343, 0.580044}, {0.174164, -0.175062}, {-0.148853, -0.874012}, - {0.175072, 0.017771}, {0.358267, 0.083250}, {-1.047536, 0.175354}, - {-0.048482, -0.104485}, {0.180338, 0.466878}, {-0.062379, -0.997160}, - {-0.737199, -0.210693}, {0.536667, 0.012390}, {0.013080, -0.896293}, - {-1.111020, 0.036888}, {-0.592474, -0.623239}, {-0.587658, -1.419053}, - {0.481731, 0.315493}, {0.239846, 0.451458}, {-0.107999, -0.142484}, - {-0.238403, 0.700594}, {0.326648, 0.295695}, {0.709781, -0.414870}, - {-0.303296, -0.812312}, {0.605543, -1.441576}, {0.046576, 0.392842}, - {0.391747, 1.805781}, {-0.610474, -0.502987}, {-0.084417, -0.635316}, - {-0.117791, -0.511594}, {1.263054, -0.152197}, {0.036088, -1.413123}, - {-1.142865, 0.441812}, {0.670441, -1.734080}, {-0.655343, -0.321802}, - {0.441931, -0.212622}, {0.368448, -1.376489}, {0.216562, -0.500590}, - {0.430320, 0.433900}, {0.910263, 0.145197}, {0.261373, -0.024356}, - {-0.931035, -1.031641}, {0.071638, -0.030381}, {1.047164, -0.390936}, - {0.786061, 0.374129}, {0.399636, -0.470714}, {-0.828217, 0.411402}, - {0.402586, 0.304012}, {0.173574, -0.061146}, {0.718928, 0.903788}, - {0.757697, -0.340347}, {0.311022, -0.630422}, {-0.320119, 0.438468}, - {0.213126, 0.315590}, {-0.367474, -0.858977}, {-0.364710, -0.211865}, - {-0.088531, -0.338955}, {-0.426875, -1.259798}, {0.017767, 0.903531}, - {-1.317742, -0.291868}, {-0.021616, -0.223357}, {-0.466416, -0.982947}, - {-0.723046, -0.216801}, {-0.506496, -1.256971}, {-0.876586, -0.668156}, - {0.799653, 0.883145}, {-0.116016, -0.230735}, {0.153892, 0.245910}, - {-1.493473, -0.543369}, {-0.104258, 0.937885}, {0.145870, -0.862457}, - {0.004280, 0.091261}, {-0.201859, 0.062320}, {1.434108, 0.390146}, - {0.223945, -0.417881}, {-1.429893, -0.221635}, {-0.263642, -0.043051}, - {-0.301817, -0.656976}, {-0.055533, -0.422469}, {-0.170936, 0.094114}, - {0.920585, -0.536474}, {-0.244583, 0.125218}, {-0.398405, -0.673800}, - {-0.648268, -0.174215}, {0.104402, -0.545924}, {1.039966, -0.450643}, - {0.454026, -0.007051}, {-1.348483, 0.435892}, {-1.154315, 0.012219}, - {0.586239, -0.790228}, {0.420334, -0.425579}, {-0.695935, 0.400174}, - {-0.324462, -0.569611}, {-0.891715, 1.286844}, {-0.225809, -0.497207}, - {-0.877583, -0.401090}, {-0.230709, -0.162162}, {0.040464, 0.348907}, - {-0.431771, 0.340009}, {0.045460, -0.714410}, {-0.216520, -2.046873}, - {0.804486, 0.379955}, {0.107529, 0.317036}, {0.349638, -1.542756}, - {0.112593, 0.633379}, {0.245919, -1.442921}, {1.226988, 0.413531}, - {-0.216186, -1.098418}, {-0.592056, -0.703833}, {-0.461250, 1.152356}, - {-0.451106, -1.041155}, {0.758497, -0.026281}, {0.580829, 0.434704}, - {-0.244442, -1.287007}, {0.871367, -0.668387}, {-0.252397, -0.492179}, - {-0.105915, 0.221225}, {-0.396868, 0.424444}, {0.468587, -0.808788}, - {-0.332904, 0.334434}, {-0.300457, -0.004120}, {0.200741, 0.652505}, - {-0.290567, 0.311535}, {-0.596088, -0.685691}, {0.383474, -0.564410}, - {0.365202, -0.520154}, {0.303368, 0.394516}, {0.156166, 0.414418}, - {-1.362271, -0.651302}, {-0.565455, 0.543162}, {-0.528145, 0.145123}, - {-1.176076, -1.178721}, {0.086984, -0.105966}, {-0.021746, -0.978670}, - {0.518625, 0.155903}, {-1.258329, 0.223466}, {0.130332, -0.419232}, - {0.563122, 0.231711}, {0.306401, -0.507524}, {-1.053291, 1.560204}, - {0.047668, 0.546148}, {0.948363, 0.284353}, {0.672895, 0.507781}, - {-1.334744, -0.168633}, {-1.208243, 0.148212}, {-0.848912, 0.415874}, - {0.843947, 0.736823}, {-1.158485, 0.210237}, {-0.099862, 1.120765}, - {0.337771, 0.007164}, {-0.469080, 0.520155}, {-0.100074, -1.349217}, - {-0.157844, 0.287353}, {-0.779996, 0.294751}, {0.073369, 0.492718}, - {-0.464267, 0.726453}, {-0.462696, -0.741070}, {0.023056, 1.172214}, - {0.224251, 0.025615}, {-0.336091, -0.276409}, {0.473509, -0.561504}, - {0.845649, -0.907685}, {0.627133, -0.351774}, {-0.990811, -0.590419}, - {-0.172712, -0.470133}, {0.723323, -0.199676}, {-0.307695, -0.713114}, - {-0.083497, 0.329677}, {-0.518250, 0.421263}, {0.084627, 0.104033}, - {-0.333341, 0.047107}, {-1.401702, 0.346693}, {-1.554243, -0.861078}, - {0.326409, -0.263726}, {-0.100557, -0.931537}, {1.703162, 0.946824}, - {-0.198882, -0.911880}, {-0.506174, -0.771035}, {-0.827505, 0.609437}, - {0.673322, -0.205578}, {-0.806857, -0.975934}, {0.294299, 0.863600}, - {-0.008905, 0.140791}, {-0.175659, -0.263704}, {0.242597, -0.175465}, - {0.581556, -0.693348}, {0.221080, -0.123343}, {0.864177, 1.380508}, - {-0.485638, -0.235111}, {0.019145, -0.507227}, {1.115591, 1.035217}, - {-1.242264, -0.613672}, {0.528370, 0.525414}, {-0.389619, -0.519511}, - {-0.156849, -0.205102}, {-0.985984, -1.423871}, {0.517087, -0.357108}, - {-0.199417, -0.794782}, {0.201648, -0.957863}, {0.127940, -0.981328}, - {-0.892293, -0.484381}, {-0.246429, -0.134570}, {-1.208455, 1.697750}, - {0.005429, 0.475156}, {1.495576, -0.048856}, {-0.532713, 0.246399}, - {0.020822, 0.397247}, {-0.943340, 0.215974}, {0.091969, 0.698433}, - {-0.605709, -0.662562}, {-0.662931, 0.331181}, {0.510917, -0.498797}, - {-0.070321, -0.339604}, {-0.828848, 0.232796}, {0.637634, 0.622874}, - {-0.384873, 0.201997}, {0.762228, -0.732545}, {-0.051603, -0.149058}, - {0.029130, 0.529245}, {0.834301, 0.594478}, {-0.261223, -0.069449}, - {-1.302920, -0.290366}, {-0.609619, -0.588839}, {0.497506, 0.424783}, - {-0.187720, 0.612541}, {0.017128, 0.698742}, {-1.811540, -0.055316}, - {0.862133, -1.369530}, {1.262000, -0.131324}, {1.156433, 0.484189}, - {-0.076493, -0.424579}, {-0.130062, 1.379691}, {0.833397, 0.567487}, - {0.078902, 0.473863}, {0.055890, -0.769505}, {0.060725, -0.404843}, - {0.000445, 0.737484}, {-0.625014, -0.395060}, {-0.753279, -0.276740}, - {1.520089, 1.037106}, {-0.319487, 1.277601}, {0.118810, 1.297974}, - {-0.215298, -0.455871}, {0.254708, 0.218111}, {0.418569, -0.707815}, - {-1.185689, 0.006936}, {0.123850, 0.442040}, {-0.408899, 0.843042}, - {-0.086253, -0.322820}, {-1.244809, -0.408063}, {-0.152610, 0.218428}, - {-0.304509, 0.721444}, {-0.223893, -0.198213}, {0.161462, 0.965719}, - {-0.016545, -0.046833}, {0.014223, 0.409396}, {1.975500, -1.416411}, - {0.987470, -0.295333}, {1.392536, -0.339042}, {-1.772024, 1.071792}, - {0.561628, 0.260545}, {-0.614207, 0.253911}, {0.255899, 0.338669}, - {-0.545300, 0.377977}, {-0.781682, -0.308513}, {-0.473559, 0.115544}, - {0.970356, 0.389522}, {1.340998, 0.204031}, {0.636971, -0.691872}, - {1.087438, -0.703128}, {0.335864, -0.678190}, {-0.567828, -0.567210}, - {-0.650808, 0.427866}, {-0.267197, -0.819795}, {-0.757122, -1.946263}, - {-0.479753, -0.686059}, {-1.058098, -0.284788}, {-0.601739, -1.515210}, - {0.613674, 0.326730}, {1.501791, -0.056387}, {-0.990549, 0.002105}, - {-0.865560, -0.308869}, {0.464395, -0.231092}, {-0.644999, 0.444856}, - {0.545002, -0.193149}, {0.447797, -0.492268}, {-0.421009, -0.021117}, - {-0.190813, 0.311118}, {0.467296, 0.294717}, {0.154595, 1.419043}, - {0.281873, 0.405801}, {-1.053144, 0.367926}, {0.048581, 1.905063}, - {-0.637562, -0.469837}, {0.650205, -1.538225}, {-0.885319, -0.085329}, - {-0.052037, 0.098850}, {-1.205488, 0.099386}, {1.421300, -0.337389}, - {0.163746, 1.595691}, {0.316168, 0.058669}, {0.901451, -0.757891}, - {0.374950, 0.220098}, {0.289515, -0.754124}, {-0.344068, -0.343308}, - {0.232374, 0.263313}, {2.246893, 0.378554}, {-0.376969, 0.322563}, - {0.709981, -1.565807}, {-0.784404, 0.311436}, {-0.414114, 0.191005}, - {-0.912873, -1.111710}, {0.022198, 1.018839}, {-1.388431, -0.029500}, - {1.318379, 0.695939}, {0.832088, -0.225946}, {-0.685464, 1.189551}, - {-1.724108, 0.128743}, {-0.267640, 0.820472}, {0.369300, 1.266272}, - {-0.485413, -1.174063}, {-1.258036, 0.730961}, {-1.037161, -0.806028}, - {-1.128983, -0.308337}, {0.655767, -0.390841}, {-0.343421, 0.248034}, - {0.458703, -0.580272}, {-0.309516, -0.875010}, {0.612543, 0.577868}, - {0.291884, 0.221870}, {0.556053, 0.899818}, {-0.155180, -0.104632}, - {0.342271, 0.297307}, {0.201082, 0.328868}, {1.519672, -1.255112}, - {-0.277044, 0.809604}, {-0.983866, -0.270883}, {-0.252473, 0.652332}, - {0.320750, 0.253181}, {0.439080, -1.174365}, {0.577125, 0.328839}, - {0.900496, 0.913433}, {0.217882, -0.002589}, {-0.005437, -0.172455}, - {0.777052, -0.589731}, {-0.319754, -0.552669}, {0.663022, 0.005191}, - {-0.444068, 0.973952}, {-0.284655, 0.373087}, {-0.653444, 0.000541}, - {0.937499, -0.190486}, {-0.353436, -0.421615}, {-0.586946, 1.251421}, - {-0.106296, -0.907972}, {-0.133041, -1.699473}, {-1.323406, 1.678851}, - {0.297010, -1.495266}, {-0.282727, -0.006885}, {2.101317, -0.581565}, - {-0.386652, 0.065565}, {-0.086661, 0.930770}, {1.072493, -0.689899}, - {-1.072787, 1.386659}, {1.079130, 0.126657}, {-0.255408, -0.604117}, - {0.923296, 0.431058}, {0.884115, 0.288090}, {-0.783201, -0.804343}, - {-1.563031, 0.029382}, {-0.366755, 0.047618}, {0.931579, 0.790832}, - {0.079395, -1.064498}, {-0.576885, -1.423422}, {1.061247, -0.359222}, - {-0.079346, -0.583210}, {-0.513897, -1.038086}, {-0.306731, -0.347102}, - {-0.303644, 0.082931}, {1.070749, 0.846657}, {0.596321, -0.863198}, - {-1.493087, 0.752431}, {-0.326493, -0.259466}, {0.762672, 0.637558}, - {0.470650, -0.475920}, {1.217709, 1.223485}, {-0.105262, 0.348860}, - {0.809125, 0.110621}, {0.705164, -0.451192}, {0.256454, 0.998392}, - {-0.182322, -1.808778}, {0.132926, -0.046858}, {-0.115529, -0.094157}, - {-0.386512, -0.427899}, {1.703266, 0.413302}, {1.689060, 0.300520}, - {-0.746970, -0.620105}, {0.331307, 1.166821}, {-1.642881, -0.355440}, - {0.284702, -0.125837}, {-0.942006, 0.609114}, {0.490133, -0.550940}, - {0.479289, 0.712846}, {-0.733015, 1.085078}, {1.342473, 0.807258}, - {-0.139847, -0.210786}, {-1.019707, -0.083367}, {-0.515722, -0.667669}, - {-0.490205, 0.536208}, {1.137698, -2.187429}, {0.689605, -0.279192}, - {-0.758482, -1.078222}, {-0.062444, -1.440962}, {-0.959758, -0.131322}, - {0.578693, 1.089248}, {-0.447809, 0.153117}, {-0.380639, 0.131958}, - {0.663486, 0.877594}, {0.280871, -1.058013}, {-0.699962, 0.353879}, - {-0.162627, 0.269167}, {-0.204061, 0.751909}, {0.209289, -0.584008}, - {0.284208, 0.331193}, {0.885480, 0.772389}, {-0.252435, -0.861216}, - {1.302831, 0.447444}, {0.039083, -0.234160}, {-0.935810, -0.162396}, - {0.125644, 0.184471}, {0.445812, -1.213550}, {-1.380393, 0.775430}, - {-0.188419, 0.701213}, {0.684211, -0.154271}, {-0.182573, 0.039267}, - {0.811469, -0.969950}, {-0.778200, 1.188098}, {-0.049732, -0.445024}, - {-0.852271, -0.949873}, {0.086241, -0.750884}, {-0.096712, -1.624033}, - {-0.400723, 0.228941}, {1.049161, -2.253919}, {-0.058805, -0.708923}, - {-1.286261, -1.145985}, {-0.215680, 0.977318}, {-1.137437, 0.643552}, - {0.648707, 0.534293}, {-0.097589, 0.270605}, {-0.536918, 0.019383}, - {0.467302, 0.109569}, {-1.583003, -0.761356}, {-0.935186, -0.891575}, - {-0.514207, 0.428989}, {0.765034, -0.341230}, {0.067731, 0.661021}, - {-0.145722, 0.204315}, {-0.062658, 0.608009}, {0.471454, 0.095159}, - {-0.452387, 1.030955}, {0.553401, -0.726777}, {0.622963, 0.530085}, - {0.208907, 1.294012}, {-0.324651, 1.366459}, {-0.576267, -0.393594}, - {-1.011991, 0.804189}, {0.737499, 0.822178}, {0.481131, -0.143674}, - {-0.684440, 0.644153}, {0.794158, -0.398822}, {0.568346, 0.400063}, - {0.913021, -0.104825}, {-0.181232, -0.575912}, {-1.186140, 0.417101}, - {0.311493, 0.955016}, {0.331007, 1.201278}, {0.208202, 0.031411}, - {0.463080, 0.501488}, {0.482757, 0.079090}, {-0.880469, 0.584826}, - {-0.159840, -0.023861}, {0.845792, -0.498914}, {1.200194, -0.998738}, - {-0.687638, 0.627621}, {0.834554, -0.044152}, {-0.567932, 0.022438}, - {0.649994, -0.451273}, {1.550910, 0.386612}, {0.643220, -1.226031}, - {-0.084707, 0.483131}, {1.142138, -0.495484}, {0.591518, 0.600105}, - {0.909766, -0.968842}, {-0.318164, -1.216190}, {-0.002672, 0.682111}, - {0.303462, -0.734521}, {-1.328197, -0.512260}, {0.142123, -0.446938}, - {-0.563399, -0.108576}, {-0.595759, 0.432539}, {0.140978, -0.820013}, - {0.691118, -0.298545}, {-0.892137, 0.532776}, {0.882700, -0.514615}, - {-1.126496, -0.553388}, {-0.366223, 0.264003}, {1.216088, -0.643513}, - {0.144411, 0.190855}, {-0.513814, 1.301282}, {-0.139218, -1.666939}, - {-0.873328, 1.087577}, {0.368330, -0.436673}, {-0.799562, 0.387875}, - {1.105326, 0.374214}, {0.212973, 0.611913}, {-1.233469, -0.191584}, - {-0.678596, -0.747265}, {-1.464750, 0.891797}, {-0.103633, 0.529639}, - {0.946408, 0.704495}, {-0.247739, 0.650610}, {0.314285, -0.478465}, - {-0.801484, -1.330346}, {-0.474770, 0.029146}, {0.156161, 0.354246}, - {-0.514883, 0.437114}, {-0.723243, -0.302359}, {-0.623393, -0.064006}, - {0.668911, 0.512527}, {-0.200754, 0.270304}, {1.274333, -1.593959}, - {-0.433487, -0.077630}, {1.022869, -0.724708}, {1.302765, -0.324157}, - {0.048530, 0.524041}, {0.580503, 0.255952}, {0.871851, -0.571890}, - {-1.320527, 0.372024}, {-0.837724, -1.330308}, {-0.130319, 1.947338}, - {-0.966811, -0.248498}, {-0.980519, 0.121219}, {-0.928127, 0.014107}, - {0.784902, -0.292815}, {-0.001154, 0.102495}, {0.174204, -0.798143}, - {-0.616828, -1.187243}, {0.901858, 0.095972}, {-0.036058, -0.624901}, - {-0.136308, 0.048002}, {0.724986, 0.204018}, {-0.290315, -0.226273}, - {-0.937261, 0.310854}, {1.350983, 1.247481}, {0.132400, -0.117268}, - {-0.433586, 0.672210}, {0.427985, 1.263974}, {0.053098, -0.134753}, - {0.145390, -1.579824}, {-0.466987, -0.271971}, {-0.452877, -0.054139}, - {-0.137701, -0.493978}, {0.449226, 0.123858}, {0.641004, -1.580859}, - {0.732717, 0.424758}, {-1.191464, -0.668713}, {-0.068454, -1.558817}, - {-1.255019, 0.090546}, {0.133334, -0.672320}, {-0.357994, -0.062960}, - {-0.179648, -0.136934}, {-1.405926, -0.152062}, {-0.122649, -0.447278}, - {-0.956039, 0.706032}, {-0.577964, 0.702715}, {-1.092396, -0.224851}, - {-0.080453, 0.539972}, {0.941582, 0.526443}, {-0.245442, -0.421211}, - {-0.655510, 0.175952}, {0.090653, 0.356258}, {0.597282, 0.245042}, - {-1.281953, 1.174625}, {0.246278, 0.484865}, {-2.421806, -0.626013}, - {-0.515321, 0.348373}, {0.100784, -0.155870}, {-0.518027, -0.137351}, - {-1.091217, 0.932436}, {0.298705, 0.215227}, {-0.032357, 0.318942}, - {-0.028669, 0.835347}, {-0.164235, -0.633671}, {-0.978889, 0.405411}, - {-0.366083, -0.163942}, {-0.367713, 0.709928}, {-0.245638, -0.099905}, - {-0.171231, 0.640628}, {-0.531550, -0.252464}, {-0.460142, 1.860309}, - {-1.486483, -0.241096}, {-1.050993, -0.330973}, {0.877660, 0.278261}, - {0.471375, 0.863250}, {0.815270, 0.878291}, {-1.064940, 1.248690}, - {-0.069835, -0.017150}, {1.102388, 0.275357}, {1.179494, 0.240331}, - {-1.664730, -0.144800}, {-0.236780, -0.450388}, {0.727520, -0.630164}, - {-0.976490, -0.375161}, {1.003983, -1.257875}, {-0.358144, -0.688150}, - {0.425984, 0.320394}, {0.145065, -0.070437}, {-0.791365, -0.328291}, - {0.251614, -0.243055}, {-0.393163, 0.191665}, {-0.150863, -0.584294}, - {-0.673513, -0.686572}, {-0.402621, -0.474615}, {-1.157962, -0.033111}, - {0.452590, -1.526519}, {0.021951, -0.726401}, {-0.912745, 0.826707}, - {-0.372052, 0.412758}, {0.777297, -0.106160}, {-0.135258, 0.030331}, - {-0.109689, -0.926576}, {0.683335, -1.604886}, {-0.421987, 0.744210}, - {-0.557095, -0.775698}, {0.454006, -0.044498}, {0.177879, 0.041843}, - {0.074312, 0.324311}, {-1.059395, 0.620565}, {-0.421680, 0.527942}, - {-1.202068, 1.160552}, {-0.115764, -0.745636}, {-1.541088, 0.056196}, - {0.381186, 0.008007}, {-0.499599, 0.141341}, {0.013978, -0.125940}, - {0.090000, -1.187147}, {1.160943, -0.631971}, {-0.156704, 0.697033}, - {-1.239590, -0.623728}, {-0.792073, 0.313426}, {-0.731100, -0.549662}, - {-0.357447, 1.054545}, {-1.142243, -0.677072}, {0.337990, 0.046116}, - {0.530248, -1.446341}, {0.636612, -0.662750}, {-2.179262, 0.191543}, - {-0.550411, 0.747675}, {-0.402629, 0.988314}, {-0.083953, 0.479871}, - {0.124996, -0.359557}, {0.421828, 0.346338}, {-0.171740, -1.735271}, - {1.095081, -0.775815}, {-0.492503, 0.267703}, {-0.204414, 0.545646}, - {0.385776, -0.276769}, {0.183290, 0.903289}, {-0.084581, -0.121421}, - {-0.245414, -0.714739}, {-0.576804, 0.885006}, {-1.119495, -0.231658}, - {1.164001, 0.578247}, {0.112226, 0.129056}, {-0.593079, -1.115176}, - {0.166237, -0.014866}, {-0.444435, 0.569202}, {-1.420244, -0.532449}, - {-0.340449, -0.654735}, {1.268462, -0.042484}, {-0.553843, -0.819293}, - {0.303196, -0.769441}, {0.388195, -0.520681}, {-0.196868, -0.813691}, - {0.519316, -1.007083}, {0.706958, 0.112890}, {-1.075358, -0.054663}, - {0.741997, 0.785043}, {0.052625, -0.121979}, {0.253025, 0.356385}, - {0.828369, -0.593061}, {-0.384827, 0.456143}, {-0.140667, 0.196871}, - {-1.966096, -0.083070}, {-1.020553, -1.461990}, {0.190510, -0.037306}, - {-0.625134, -0.080120}, {-0.562010, -0.950249}, {-0.230976, -0.527893}, - {-0.228677, -0.348693}, {-0.332359, -0.311350}, {-0.704024, -1.084836}, - {-0.434046, 0.133438}, {-0.318342, -0.053535}, {-0.096872, 0.012919}, - {-0.610696, -0.174108}, {-0.252555, -0.509190}, {1.061245, 0.467663}, - {0.252635, -0.703320}, {-0.212390, 1.327738}, {0.587415, 0.199159}, - {-0.966466, -0.076941}, {-0.829028, 1.083157}, {-0.505337, 1.097833}, - {0.691992, 0.091951}, {0.564158, 0.597321}, {0.804210, 0.592029}, - {-0.413688, 0.496419}, {-0.298775, 0.196912}, {-0.092485, -0.806745}, - {-1.159163, 0.204774}, {-0.794889, -0.067174}, {-0.438785, -0.115991}, - {0.282720, -0.231078}, {-1.228366, -0.260419}, {-1.528740, -0.246528}, - {-0.246221, -0.580162}, {0.114350, -1.968410}, {-0.218031, -0.356657}, - {-0.948797, 0.708502}, {-0.805080, -0.480688}, {-0.334364, 0.785381}, - {0.070317, -0.128118}, {0.470661, -0.323759}, {-0.185075, 0.483122}, - {-0.404439, 0.149669}, {0.074842, 0.256006}, {-1.013446, 0.621396}, - {-0.134759, 0.287886}, {0.376520, 1.192665}, {-0.362520, -0.634418}, - {0.362985, -0.196815}, {0.653376, 0.725399}, {1.234385, -0.520766}, - {0.281393, 1.887825}, {-0.506625, 0.262909}, {-1.755273, 0.507609}, - {-0.321531, -0.128175}, {0.301331, -0.922664}, {-0.600594, -1.248979}, - {-0.314934, -0.073132}, {-1.253293, -0.794391}, {-0.119523, -0.106375}, - {-1.036734, -0.848670}, {-0.204574, 0.546471}, {0.823228, 0.262015}, - {1.082957, -0.114482}, {-0.728824, 0.148125}, {-0.883430, 0.785116}, - {0.641440, -0.078952}, {-1.272558, 0.134591}, {0.505240, -0.602016}, - {-0.972164, 1.092034}, {0.612247, 0.549404}, {0.450208, 0.493039}, - {-0.525409, 0.940858}, {-0.216053, 0.053321}, {-0.034777, 0.076897}, - {-0.559997, -1.618377}, {-0.739954, 0.626905}, {-0.033963, -0.233715}, - {0.672760, -0.049505}, {-0.208845, -0.160882}, {0.953452, -0.034831}, - {-0.376313, -0.779698}, {-1.116935, 0.789470}, {1.852068, -0.400982}, - {0.337988, -0.001624}, {0.591794, -0.223387}, {-0.764729, -0.256717}, - {0.409644, -0.331827}, {0.353446, 0.986947}, {0.013275, -0.074213}, - {0.197200, -0.544923}, {-0.331489, 0.568903}, {0.432285, -0.929833}, - {0.600862, 0.718698}, {0.872893, -0.419268}, {-0.200237, -0.718290}, - {0.242213, 0.079084}, {-1.577807, 1.174048}, {-0.379725, 0.187433}, - {0.307646, 1.344402}, {1.215462, 0.395933}, {0.029692, 0.606788}, - {0.892763, -0.031153}, {0.685208, 0.002816}, {0.907146, 0.248276}, - {0.328204, 0.310385}, {-0.450021, -0.534631}, {2.075611, -0.976094}, - {0.337534, 0.624849}, {-0.375221, -0.715899}, {-0.134676, -0.128634}, - {-0.654845, -0.951174}, {-0.407146, -0.844925}, {-1.268266, -0.592878}, - {-0.624101, -0.781781}, {-0.162159, -0.785210}, {-1.763260, 0.357187}, - {-0.408447, 0.565726}, {-0.392385, -0.323932}, {0.070956, -0.460428}, - {-0.053136, 0.207713}, {-0.164207, -1.296008}, {-1.192106, -1.901697}, - {-0.431213, -1.017489}, {-0.520848, 1.407188}, {0.145023, -0.336089}, - {0.856252, -0.968676}, {0.695109, -1.115058}, {0.942748, 0.032814}, - {-0.442368, 0.501998}, {-1.339842, 0.494702}, {0.793722, 0.683030}, - {-0.080036, -0.001120}, {-0.124282, -0.176612}, {-0.510859, -0.403349}, - {-0.013581, -0.068892}, {-0.285268, 0.123699}, {0.681833, -0.376550}, - {0.665080, 1.385498}, {-1.217502, 0.225975}, {-0.594094, -0.361329}, - {0.640636, -1.635224}, {0.440288, -0.173718}, {-1.095971, 0.028588}, - {-0.391012, 0.536173}, {-0.679180, -0.332060}, {0.443795, 0.206495}, - {0.102913, -0.012004}, {-0.877523, -1.194485}, {1.576267, -0.479076}, - {-1.125040, -0.707965}, {-0.293637, -0.295395}, {1.163673, 0.261285}, - {-0.009871, 1.620751}, {0.420659, 1.657904}, {0.184678, 0.360919}, - {-1.117315, -0.182509}, {-1.805887, -0.737423}, {1.715050, -0.359039}, - {0.548347, -0.711148}, {0.819885, -0.536776}, {0.038829, -0.046101}, - {-1.555754, 1.115475}, {0.059829, -0.900202}, {0.215772, 0.610962}, - {0.008583, -0.164357}, {-0.394604, -0.266908}, {-0.089186, 0.115016}, - {0.879229, -1.099212}, {0.666276, -1.094933}, {-2.243026, 0.931909}, - {1.069452, -0.301207}, {1.192592, 1.144332}, {-0.546448, -0.404087}, - {1.042238, 0.099649}, {-1.150986, -0.352998}, {1.671102, 0.062038}, - {-0.292935, -0.142184}, {0.912273, 0.927933}, {-0.610804, -0.790526}, - {-1.233318, 0.582164}, {0.362886, 0.126435}, {0.266818, 0.880278}, - {0.334312, -0.851251}, {-0.625542, 0.254909}, {0.730234, 0.366879}, - {0.714704, 0.004163}, {1.194976, -0.023707}, {0.326624, -0.471626}, - {-0.229043, -0.827678}, {0.325709, -0.115376}, {0.677117, -0.136203}, - {0.609055, -0.553231}, {0.043072, -0.424984}, {0.441790, 0.828142}, - {-0.436910, -0.103521}, {-0.626695, 0.363246}, {-1.091702, 0.016860}, - {0.576059, 0.141374}, {-0.152014, -0.661996}, {-0.774034, -0.052961}, - {0.523869, 0.787151}, {0.022872, 0.624295}, {2.371050, 2.241895}, - {0.099188, -0.686992}, {-0.026026, -0.171252}, {0.675816, 1.843051}, - {0.006666, 0.000152}, {1.021349, 0.543076}, {-0.602923, 0.676056}, - {1.027891, -0.418795}, {-1.759205, -1.102256}, {1.116023, 0.103083}, - {0.576224, -1.411952}, {-0.156183, 1.999043}, {0.124434, -0.238939}, - {-0.938087, 0.337435}, {0.047635, 0.159295}, {0.217816, -0.807263}, - {-0.727492, 0.439254}, {0.245795, -1.372293}, {1.078585, 0.289308}, - {-0.746381, -0.190481}, {0.461490, -0.156236}, {0.279562, -0.141011}, - {0.800455, 0.112162}, {0.846632, -1.442145}, {0.896583, -0.366371}, - {0.142449, 0.555705}, {0.443817, -0.165670}, {-0.278247, 1.893330}, - {-0.148235, 0.209155}, {0.819120, -0.340799}, {0.110860, -0.461213}, - {-0.191900, -1.200356}, {0.385260, 0.158268}, {0.179177, -0.338312}, - {0.286717, 0.336873}, {-0.596235, -0.074333}, {0.311757, -1.159880}, - {-0.906439, 0.587565}, {0.837066, -0.107715}, {-0.260451, -1.427325}, - {-0.216606, 1.473217}, {-1.717780, -0.058343}, {-1.378627, 0.891233}, - {-0.079320, 0.532493}, {-0.016687, 0.630684}, {0.240314, 0.096040}, - {-0.331577, 0.458243}, {0.372299, -1.365709}, {-0.741196, 1.252891}, - {-0.264394, -0.346368}, {0.174941, 0.592150}, {-0.182301, 0.472894}, - {-1.078744, 0.352627}, {0.668825, -0.839549}, {-0.794913, 0.098837}, - {0.346916, 0.827142}, {-0.557851, -0.824683}, {0.152571, -1.089133}, - {0.317379, -0.377552}, {-0.310447, -0.798186}, {1.416259, 0.538289}, - {-0.139209, 0.950880}, {-0.671851, -0.023958}, {-0.295455, 0.491929}, - {-0.042358, -0.225679}, {0.306427, -0.412672}, {-0.096405, -0.210148}, - {1.661258, -0.451881}, {0.887263, -0.441136}, {1.303738, 0.032488}, - {1.248415, -0.771581}, {-0.521452, 0.088019}, {-1.103925, -1.154315}, - {0.257631, 1.121379}, {-0.262130, 0.533858}, {0.605826, -0.581051}, - {-0.188663, 0.498607}, {0.764838, 0.473480}, {0.860975, -1.159374}, - {0.452993, 0.327307}, {0.175875, 1.009939}, {0.281291, -0.479527}, - {0.434156, 0.687246}, {0.453294, 0.558911}, {0.191183, -0.316014}, - {0.214000, 0.309648}, {0.502847, 0.327473}, {-0.398865, -1.147691}, - {-0.952348, 0.394180}, {-0.349121, -0.235417}, {-0.449837, 0.044554}, - {-0.402914, -0.408737}, {0.199668, 0.760049}, {0.010913, -0.831466}, - {0.090912, 0.009287}, {0.512837, -0.858424}, {-0.283099, -0.240292}, - {-0.112692, -0.322550}, {-0.417705, -0.353556}, {-1.267119, 0.235106}, - {-0.412714, -1.078769}, {-1.068857, -0.020876}, {0.735610, -0.698172}, - {0.097437, 1.100995}, {-0.824265, -0.625636}, {-0.151463, 0.035774}, - {-0.097028, -0.167782}, {-0.354245, -0.055691}, {0.360549, 0.749328}, - {0.718972, -0.297089}, {0.093750, -0.638153}, {-0.247393, -0.297925}, - {-1.029741, -0.068838}, {0.526758, 0.786855}, {-0.926147, 0.224848}, - {0.558481, -0.057841}, {-0.267158, -0.691253}, {-1.247372, -0.770014}, - {-0.163633, -1.488970}, {-0.501774, 0.176045}, {0.136177, -0.868078}, - {0.777970, 0.447295}, {0.460035, 0.095623}, {0.503416, -0.169723}, - {1.171534, -0.676447}, {-0.713499, 0.434530}, {0.462648, 0.066601}, - {-0.832730, -1.270562}, {0.765136, 0.913623}, {0.417389, 0.798048}, - {-1.426013, -0.274914}, {-0.825985, -0.424720}, {0.603344, -0.834278}, - {0.709370, 0.850793}, {0.003214, -0.250830}, {-1.002978, -0.742748}, - {-0.936138, 0.680271}, {-0.053393, 0.089266}, {0.420002, -0.368487}, - {0.710330, -0.438794}, {-1.087089, 0.102425}, {0.476970, -1.002341}, - {0.375935, 0.399873}, {-0.989189, 0.653074}, {0.872430, 0.758053}, - {-0.890879, -0.312795}, {-0.238132, -0.250050}, {0.849829, -0.245135}, - {-0.306339, 1.034213}, {0.133859, -0.614994}, {-0.556895, 0.160389}, - {-0.042028, -1.154500}, {-0.019949, -0.576390}, {-1.028293, 0.814275}, - {0.766851, 0.887268}, {0.044484, -0.512244}, {0.795847, -0.238133}, - {-0.123321, 1.153876}, {1.732138, 0.309731}, {-0.429759, 0.508320}, - {-0.700518, -0.577407}, {0.586965, 0.247099}, {0.474665, -0.264909}, - {0.657846, 0.682646}, {1.683598, -0.181147}, {0.481185, 0.407061}, - {-0.867097, -0.307912}, {-0.884851, 0.803434}, {0.248120, 0.335810}, - {-0.766947, -0.015652}, {0.138088, -0.540963}, {0.483644, -0.292753}, - {0.434778, -0.933118}, {0.969690, -0.575479}, {0.033365, -0.110259}, - {0.045278, -0.657264}, {-0.823623, 0.516920}, {-0.153628, -1.007980}, - {-0.500080, 0.938031}, {-0.332981, 0.507900}, {0.290413, 0.159538}, - {-0.402051, 0.813947}, {0.464196, 0.574152}, {0.578220, -1.425212}, - {0.202852, -0.043236}, {1.658922, 0.205793}, {-0.485749, -0.745853}, - {-0.446857, 0.377168}, {0.876179, 1.074485}, {-0.584951, 0.013578}, - {-0.837915, -0.240871}, {-1.524292, 0.233789}, {-0.825139, 0.748604}, - {1.596491, 0.933630}, {-0.401496, -1.003424}, {-0.258193, -0.695623}, - {-0.052062, -0.166794}, {0.690957, 0.351045}, {0.493275, -0.920828}, - {-0.863543, 1.297232}, {-0.108419, 0.062067}, {1.378657, -1.208240}, - {0.085856, -1.104558}, {-0.366961, 0.245213}, {0.832540, 0.165383}, - {-0.584261, 0.126903}, {0.016941, 0.536423}, {-0.270773, 1.502084}, - {-0.372237, -0.400977}, {1.068030, -0.451306}, {-0.621204, -0.546822}, - {1.960128, 0.187646}, {-0.280504, -0.872304}, {0.683431, 0.366819}, - {0.595984, -0.857526}, {-0.631380, -0.386350}, {0.020853, -0.369727}, - {-0.212579, 0.923348}, {0.683995, -0.323235}, {0.805253, 0.720984}, - {-0.198278, -0.751235}, {-0.587794, 1.028549}, {0.082077, 0.108813}, - {0.745455, -0.151971}, {-0.976860, -1.417301}, {-0.100352, 0.301667}, - {0.452015, 0.239125}, {-1.198564, 1.164572}, {-0.347850, -0.780059}, - {1.005080, -0.098043}, {-0.076527, 0.140155}, {0.822524, 0.259489}, - {-0.484033, 0.190539}, {0.547659, 0.465998}, {0.402279, -0.058429}, - {-0.145342, 0.125883}, {-0.136622, 1.065746}, {0.408618, -0.650430}, - {0.015056, 0.491154}, {1.132468, -0.328837}, {-0.012391, -0.686920}, - {0.053038, 0.495824}, {0.071729, -0.474581}, {-0.440191, -0.561736}, - {-0.524869, 0.365948}, {0.556736, -0.017547}, {0.292031, -0.097135}, - {1.006116, 1.298618}, {0.516901, 0.626829}, {0.630999, -0.413970}, - {0.774604, -1.207384}, {-0.615805, 0.565898}, {0.364355, -0.950000}, - {0.530245, -1.069383}, {1.242254, 0.041582}, {1.198631, -0.852988}, - {0.409406, -0.362121}, {-0.051573, 1.378894}, {0.526354, 0.639450}, - {-0.194904, -1.121370}, {0.927330, 1.050282}, {-1.444789, 0.271173}, - {-0.428099, 0.664772}, {-0.780386, 0.717917}, {-0.113324, -0.553108}, - {0.355862, -0.738216}, {-0.099107, 0.064152}, {-0.154411, 1.265266}, - {0.802506, -0.378603}, {-0.254708, -0.134292}, {0.098108, -0.759107}, - {-0.609531, -1.121607}, {-0.421901, -0.211898}, {0.711968, -0.180637}, - {-1.105167, 1.156956}, {-1.003797, 0.694685}, {0.049084, -0.230107}, - {-0.236223, 1.025917}, {0.404298, -0.017089}, {-0.066885, 0.931927}, - {-1.723563, -0.969529}, {0.491575, -0.029033}, {0.623884, -0.068448}, - {0.176416, -0.045140}, {-0.898063, -0.441314}, {0.054965, -0.105671}, - {0.099547, 0.031943}, {-0.136638, -0.641491}, {-0.416031, 0.788225}, - {0.421132, 0.199360}, {0.973337, -0.185653}, {0.088055, 0.466610}, - {0.175948, 0.713615}, {-0.186074, -0.718673}, {-0.477278, 0.873979}, - {0.439899, 0.385747}, {0.281673, 1.501744}, {-0.893871, 0.167312}, - {-1.196201, 0.511553}, {-0.088248, 1.523528}, {-0.127180, 0.047668}, - {-1.244524, 1.220496}, {-0.458583, 0.408467}, {-0.423980, -0.843592}, - {-0.680569, -0.034943}, {0.025603, -0.219165}, {-0.182524, -0.609754}, - {-0.540846, 1.056731}, {0.303247, 1.820157}, {0.180851, 0.479806}, - {0.025760, -1.252858}, {-0.747286, -0.234204}, {-1.773173, 0.069396}, - {0.370812, -0.513683}, {-0.420497, -0.847213}, {-0.820247, 0.180888}, - {0.377636, -0.251796}, {-0.084840, 0.837256}, {0.204533, -0.516983}, - {-0.579383, 0.361949}, {-0.079244, -0.997139}, {0.763352, -0.920005}, - {0.991156, 0.097808}, {-0.207017, -0.379039}, {-1.048663, 0.392404}, - {-0.947993, -0.165707}, {0.222565, -1.486800}, {1.309369, 0.187803}, - {0.083914, 0.759151}, {0.017533, -0.350594}, {0.936769, -0.133694}, - {-0.542859, 0.015576}, {0.527186, 1.057142}, {0.576027, -1.107543}, - {-0.597828, 0.116528}, {-0.573770, -0.408299}, {-0.564696, 0.907437}, - {-0.843667, 0.002832}, {1.708716, -1.282816}, {0.099415, -0.410289}, - {-1.175233, 0.409935}, {-0.505987, 1.096503}, {0.831878, -0.633435}, - {-0.036724, 0.894208}, {-1.009229, 0.523294}, {-0.206856, -0.518026}, - {-0.265399, 0.734165}, {-1.418101, -0.082190}, {0.605095, 0.372543}, - {-1.234487, 1.112847}, {-0.036487, 0.136546}, {-0.027486, -0.021950}, - {0.087476, 0.308363}, {0.380610, -0.770809}, {-0.612494, 0.395982}, - {-0.760804, 0.774983}, {1.865483, 0.743280}, {0.077926, 0.679733}, - {-0.346491, -0.172862}, {0.652737, -0.498038}, {-0.306556, -0.127240}, - {1.422770, -0.788084}, {0.727473, 0.199273}, {0.998929, 0.906173}, - {-0.062778, -0.292218}, {0.389584, -0.499927}, {1.122804, 0.323068}, - {-0.936607, 0.116318}, {0.080546, -1.053398}, {-0.108415, 0.262303}, - {0.675554, -0.771375}, {0.697370, 0.301939}, {-0.516065, 0.371745}, - {-1.958861, -0.787043}, {1.816436, -0.421257}, {0.580993, 0.294074}, - {-0.218823, -0.831417}, {-0.217031, -1.430616}, {-0.483142, 0.379944}, - {0.067187, -0.582305}, {-0.697808, -0.168340}, {1.293952, 0.231077}, - {0.097290, -0.755162}, {0.165245, 0.091931}, {-1.238996, 0.033182}, - {0.094961, -0.517375}, {-0.390291, 0.240153}, {0.023253, 2.137456}, - {0.621424, -0.412412}, {0.242280, -0.594768}, {-0.765264, -0.423112}, - {-0.153731, 0.730757}, {0.419930, 0.768227}, {0.164315, 0.199661}, - {-1.536602, 0.855813}, {0.226126, -0.357326}, {0.350009, 0.143890}, - {0.337303, 0.843891}, {-0.411561, -1.142193}, {-0.701707, -0.241532}, - {-0.754151, -0.193665}, {-0.371459, -0.379980}, {-0.276399, -0.210742}, - {-1.074638, 0.834850}, {1.617356, -0.576681}, {1.568916, -0.678719}, - {0.562247, 0.287642}, {0.631863, 1.237075}, {0.042284, -0.047805}, - {1.485053, -0.684224}, {0.160235, -0.248368}, {-0.389660, 0.710686}, - {-0.050819, 0.065209}, {0.147388, 0.158528}, {0.327583, -1.242319}, - {-0.185792, -0.398783}, {-0.880967, -0.168451}, {0.561261, 0.309319}, - {0.114879, 0.834084}, {-0.630472, 0.320430}, {0.435172, -0.147865}, - {0.138108, 0.189852}, {0.433189, 0.538220}, {-0.539843, -0.734402}, - {0.102453, 1.548384}, {-0.349662, -0.123426}, {-0.497825, -0.681592}, - {-0.815304, 0.920879}, {0.264205, 1.651104}, {-0.360736, -0.822221}, - {-0.546373, -0.203813}, {1.506398, 0.351934}, {1.271735, 0.262145}, - {0.706702, 0.382961}, {0.063130, 0.014527}, {-0.198279, -0.082914}, - {0.756777, 0.133322}, {0.762393, 0.070534}, {-1.168252, 0.042773}, - {-0.875856, 0.058973}, {-0.907179, 1.363516}, {0.003700, 1.289862}, - {0.279690, -0.489829}, {-0.952025, -0.016869}, {-0.062242, 0.118709}, - {0.335991, -0.262022}, {-0.135763, 0.124727}, {0.827726, -0.460658}, - {0.070106, 0.118099}, {-0.594234, 0.138962}, {0.638866, 1.436196}, - {0.038912, 0.342362}, {-0.409336, 1.245498}, {0.246502, -0.213165}, - {-0.522154, -0.329476}, {-1.023245, -0.070043}, {0.648593, -0.512078}, - {0.202472, -1.312851}, {-1.306352, -0.890312}, {1.086565, -0.802461}, - {0.842372, -1.343072}, {-0.159571, -0.014023}, {0.857682, -0.038734}, - {-1.088896, -0.345921}, {0.822683, 0.990156}, {-0.329881, 0.808677}, - {1.062717, 1.498025}, {-0.433379, -0.433149}, {-1.122758, -0.127346}, - {0.542121, 0.927791}, {0.308221, 0.175934}, {-0.149790, -1.068382}, - {-0.616779, -0.744305}, {0.839533, -0.157706}, {0.303678, 0.382350}, - {0.194006, -0.212379}, {0.033246, -0.903250}, {-0.338256, -0.678675}, - {-0.613313, -0.387690}, {-1.010888, -0.461805}, {0.256900, 1.327843}, - {0.791153, 0.371449}, {0.412562, -0.756850}, {0.065134, -0.322337}, - {0.083713, 0.126607}, {0.723780, 1.256984}, {-1.243036, -0.742905}, - {0.026896, 0.353344}, {-0.269050, 0.745763}, {1.149596, 0.347420}, - {-0.774535, 0.020295}, {0.596979, 0.015554}, {-0.615475, -0.620565}, - {0.318177, 0.396116}, {0.421686, -0.052160}, {-0.430877, -1.293244}, - {-0.155236, -0.215658}, {-0.602139, 0.532974}, {-0.243152, -1.579031}, - {0.123780, -0.983632}, {0.136269, -0.821246}, {0.284418, 0.304578}, - {-0.397824, 0.300438}, {-0.360441, 0.227509}, {0.046855, -0.171865}, - {-1.804252, -0.700048}, {-0.924882, -0.556849}, {0.134748, 0.082988}, - {-0.132825, -0.916706}, {0.786704, 0.720149}, {1.091863, 0.641613}, - {0.881371, 0.215342}, {-0.096880, 0.560482}, {0.422486, -0.921443}, - {0.341221, -0.894846}, {0.075976, 1.064656}, {-0.533020, -0.023005}, - {0.320752, 0.244138}, {-0.040666, 0.065450}, {1.450750, 0.008950}, - {0.306952, -0.562488}, {0.302953, 0.123134}, {0.798245, 0.094443}, - {0.038655, -0.516631}, {-0.252824, 1.501311}, {-0.356779, 0.297983}, - {-0.180288, 1.164347}, {-1.407410, -0.435116}, {-0.576522, -0.443552}, - {0.111603, -0.209512}, {0.136332, 1.190104}, {-0.810554, 0.693664}, - {0.308525, 0.629498}, {0.318195, -2.104560}, {0.162520, -0.149801}, - {-1.142162, 1.218633}, {-0.351640, -0.468696}, {-0.793111, -0.658338}, - {-0.575915, 0.941180}, {0.317133, 0.669761}, {0.985808, -0.707916}, - {0.260989, 0.770580}, {-0.078153, -0.123214}, {0.053145, 1.817637}, - {-0.628024, 0.069947}, {-0.777414, -0.126421}, {-0.647336, 0.166883}, - {2.207409, -0.473580}, {-1.038409, 0.398710}, {-0.345503, 0.161175}, - {0.081747, 0.890997}, {-0.308902, -0.075592}, {-0.139376, -0.676387}, - {0.971584, -0.470253}, {-0.162857, 1.149113}, {0.171516, 0.587119}, - {-0.613744, -0.035450}, {-0.580046, -0.329255}, {0.100551, -1.085898}, - {-0.592872, -0.489665}, {-0.941300, -0.498021}, {0.156036, 0.709273}, - {0.178233, -0.632015}, {0.678891, 0.228611}, {0.492409, -0.005288}, - {-1.497998, -1.024431}, {0.838897, -0.110250}, {0.568010, -1.606525}, - {-0.432611, 0.904418}, {0.334915, 1.309759}, {-0.890282, 1.529258}, - {-1.064858, -1.150747}, {0.051353, 0.433881}, {-0.146728, -0.312565}, - {-1.063791, -0.097197}, {-0.181281, 0.331634}, {1.723937, -0.176101}, - {0.569951, 0.990671}, {0.418655, -0.675772}, {0.182521, -0.095608}, - {-1.007120, 0.018916}, {1.718394, 1.198867}, {-0.313048, 0.068845}, - {-1.421110, -0.661129}, {-1.370764, -0.150880}, {0.358122, 1.405506}, - {-2.015900, -0.734896}, {0.605181, -0.924120}, {-1.191318, 0.682983}, - {-0.456857, -0.148538}, {0.300737, -0.194614}, {0.929323, 0.927409}, - {-0.450904, 0.410019}, {0.838989, 0.855354}, {0.011216, 0.148217}, - {1.790998, -0.435076}, {0.979138, 0.801324}, {-0.434199, 0.113647}, - {0.244367, -0.759697}, {-0.866268, -0.172338}, {0.185045, -0.400993}, - {-0.381384, -0.328469}, {0.870050, -1.131930}, {0.475579, -1.270791}, - {0.553011, -0.863202}, {0.654535, 0.866937}, {0.636370, 0.353826}, - {0.532848, -0.266808}, {-0.305542, 0.323175}, {0.817581, -1.178811}, - {-1.196670, 0.435729}, {-0.879273, -0.080918}, {-0.355981, 0.831777}, - {-0.514107, -0.221697}, {-0.173027, 0.391314}, {0.480640, -0.762188}, - {-1.365528, 0.280669}, {-1.190631, -0.468936}, {0.865182, -1.193025}, - {0.501712, 1.474804}, {-0.256834, 0.036278}, {0.625077, -0.710525}, - {0.236352, 1.463872}, {1.622799, -0.836983}, {-1.629799, -0.761636}, - {0.048897, 1.161363}, {-0.782579, 1.512752}, {0.305203, -0.203621}, - {0.078598, 0.853412}, {-0.590944, 0.241544}, {0.173496, -1.406007}, - {-0.999952, -0.051233}, {0.671370, -0.805464}, {-0.681366, 0.306463}, - {0.562013, -1.218074}, {-0.901352, 0.429769}, {-0.149506, 0.266835}, - {0.214535, 1.287188}, {-0.169843, -0.687892}, {-0.054779, 1.567896}, - {0.240689, 0.339854}, {-0.874400, -0.867453}, {0.412938, 0.074314}, - {0.567298, -2.005843}, {0.023167, 0.258225}, {-1.641902, 0.893004}, - {-0.335666, -0.481124}, {-0.406708, -0.010981}, {0.658780, 0.316174}, - {-0.955737, 0.114306}, {-0.015993, -1.537689}, {1.424653, 0.275514}, - {0.391517, -0.073148}, {-0.745075, 0.282317}, {0.345172, 0.271172}, - {0.481076, 0.739154}, {-0.356021, -0.874318}, {-0.063438, 0.390779}, - {-1.109843, -0.988009}, {0.717374, 0.051986}, {-0.076888, 0.729893}, - {1.231962, 0.770958}, {-0.473425, 0.077225}, {-0.541175, 0.273609}, - {0.353179, -1.140094}, {0.000531, 0.335460}, {-0.553490, -0.163401}, - {-0.267372, -0.190631}, {-1.005119, 0.844056}, {-0.739355, -0.466000}, - {1.232900, -0.286890}, {0.072653, 0.156869}, {0.766814, 0.123674}, - {0.409127, 0.391504}, {-1.568030, 0.076824}, {0.312427, 1.087632}, - {0.194971, 0.012558}, {-0.835118, -0.977949}, {1.155426, 0.060691}, - {-0.251222, 0.836983}, {0.405056, 0.222589}, {0.062390, -0.297580}, - {0.201353, -0.620657}, {-0.057828, 0.302448}, {0.353545, -0.819051}, - {-1.077600, 0.701107}, {0.551567, -0.547460}, {-0.206217, 0.843281}, - {0.195007, -0.522554}, {0.786147, 0.742689}, {-0.915141, -0.436052}, - {-1.052682, 1.424224}, {0.597211, -0.177125}, {-0.226331, -0.785225}, - {-1.502941, 0.305148}, {0.211830, 0.257461}, {0.039781, 0.621727}, - {1.764019, -0.364944}, {-0.011250, 0.080853}, {-0.037767, -0.191529}, - {0.120387, 0.320196}, {1.215214, 0.159849}, {0.951333, -0.128658}, - {0.683926, 0.291417}, {0.465572, 0.464227}, {0.237083, -0.278794}, - {0.825346, 1.939517}, {-1.000650, 0.397936}, {-0.422528, 0.457669}, - {-0.415993, -0.857881}, {0.654893, 0.925834}, {0.702427, 0.341379}, - {-0.992852, -0.485504}, {0.468854, -0.558263}, {1.051053, -1.438013}, - {-1.609177, -0.229971}, {-0.338898, 1.308837}, {1.716121, -0.108408}, - {-1.842097, -0.281067}, {0.180047, 0.058089}, {0.314948, -0.365466}, - {-0.598626, -1.149004}, {0.282546, 0.129074}, {-0.297604, -0.102458}, - {-0.134736, 0.128291}, {1.822758, -0.192577}, {0.071825, -0.011008}, - {0.497849, -0.199343}, {-0.005720, -0.569142}, {-0.765651, -0.543594}, - {-1.172104, -0.011979}, {-0.242091, 0.779012}, {-0.028042, 0.723704}, - {0.451185, -0.941516}, {-0.613115, -0.114437}, {-0.972157, 0.133869}, - {-0.076452, -0.516053}, {0.083782, 0.204923}, {0.784000, 0.582870}, - {-0.183293, 0.586900}, {-0.219489, 0.464479}, {0.144135, 1.149970}, - {0.288305, -0.029936}, {1.159682, 0.771728}, {-0.068957, 0.519200}, - {-0.352525, -0.019248}, {-0.265696, -0.606806}, {-0.369018, 0.437127}, - {0.533511, -0.112122}, {-0.720835, 0.975622}, {1.285089, -0.946088}, - {0.455252, 0.289840}, {-1.326309, -0.639170}, {0.108470, -0.476583}, - {0.142548, 0.079352}, {-0.029694, 0.643831}, {-1.482084, -0.771038}, - {-0.465824, -1.087531}, {0.707385, 0.077513}, {-0.076182, 1.057646}, - {0.379631, 0.409768}, {0.188938, -0.425715}, {-0.234099, -0.734066}, - {0.043174, 0.676531}, {-1.163066, -0.193611}, {-0.159620, -0.673125}, - {0.127940, -1.817839}, {-0.451725, 0.015069}, {0.235742, 0.360075}, - {1.748806, -0.323556}, {-1.276301, 0.117820}, {0.166940, 0.213350}, - {0.355975, 0.062672}, {-0.320198, -1.132743}, {-0.855608, -1.215465}, - {0.013539, 0.799086}, {0.828422, 0.915972}, {1.006847, 0.215101}, - {0.595009, 0.252831}, {0.442370, 0.482821}, {-0.693609, 0.417306}, - {0.288466, -1.005315}, {-0.396817, 0.004994}, {-0.293724, -1.217092}, - {1.212464, 0.943142}, {-0.865108, 0.242460}, {0.390441, 0.080091}, - {0.871808, -1.076529}, {0.254390, -0.387861}, {0.532100, -1.371890}, - {0.132686, -1.074121}, {0.426648, 0.209831}, {1.146969, 0.503369}, - {-0.668154, -0.483259}, {0.259931, -0.150336}, {0.082358, -0.893764}, - {0.840501, -0.011365}, {-0.082053, 0.647275}, {0.266846, 1.226206}, - {-0.140652, -0.516312}, {0.643273, -0.881556}, {-0.379870, 1.065882}, - {0.680447, 0.242642}, {-1.571274, -0.140568}, {-0.535686, 0.628896}, - {-0.010813, -0.606330}, {0.361251, 1.002445}, {1.065906, -0.068655}, - {-0.224415, 1.117594}, {0.218497, -0.668069}, {-0.429568, 0.891438}, - {-0.998373, -0.389920}, {0.226733, -0.730284}, {1.059704, -0.349823}, - {-0.625330, -0.250376}, {0.007118, 1.525240}, {-0.162942, -0.147716}, - {-0.666501, 1.257793}, {-0.909984, -0.138492}, {-1.032952, -0.006279}, - {-0.404583, -1.848097}, {-1.225754, 0.434826}, {1.235797, -0.792226}, - {0.783316, -0.750591}, {-0.975057, 0.365633}, {-1.894987, -0.971523}, - {-0.147116, 0.722479}, {0.279787, 0.076446}, {1.433566, 0.223812}, - {0.878914, -0.054495}, {0.011693, 0.776712}, {-0.558728, 0.481371}, - {0.641182, 0.167371}, {-0.669665, -0.807005}, {-0.791191, 0.591605}, - {-0.461665, 0.714639}, {0.066197, -0.199694}, {-1.124229, 0.833225}, - {-1.295771, -0.025693}, {-0.037691, -0.391047}, {-0.847875, 0.862880}, - {0.441229, 0.830506}, {-0.259800, -0.491246}, {-0.240834, 0.911920}, - {0.442518, -0.580840}, {1.561534, 1.501570}, {0.280203, 0.397246}, - {-0.194177, 0.276828}, {0.944982, -0.351264}, {0.022922, 0.275745}, - {-0.867058, -1.632255}, {0.280170, -0.145873}, {0.108578, -0.052305}, - {-0.745809, -0.673504}, {-0.616121, -0.379739}, {1.008981, -0.155303}, - {0.285808, -0.263033}, {0.601160, -0.612923}, {0.900771, 0.463246}, - {-1.013394, -0.618011}, {1.233695, -0.032871}, {-0.521967, -0.979415}, - {0.273272, -0.433226}, {-0.240057, 0.465270}, {-0.465325, 0.770377}, - {0.988019, -1.088975}, {0.592680, 0.367929}, {0.800055, -0.721733}, - {-0.737244, -1.452977}, {-0.427059, 0.281520}, {0.866413, -0.643401}, - {-0.182692, 0.588766}, {0.273523, 0.294392}, {0.566235, 0.542400}, - {0.129606, 0.397222}, {-0.579409, 0.288147}, {-0.238510, 0.268652}, - {1.122152, 0.526534}, {-0.841624, 1.691837}, {0.833782, 1.207890}, - {-0.924153, 2.110262}, {-0.474350, -0.238235}, {-0.515517, 0.124354}, - {-0.064715, -0.236171}, {0.599675, 1.079644}, {1.849341, 0.024192}, - {0.161045, -0.379662}, {0.823915, 0.389173}, {-1.260631, -0.467304}, - {0.052479, -0.187389}, {-0.036665, 0.449072}, {0.069593, -0.152828}, - {0.068830, -1.285841}, {0.680442, 0.401365}, {-0.160834, -2.024653}, - {-0.929411, 0.671114}, {-0.421687, 0.749814}, {-0.065965, 0.527096}, - {0.929475, -0.741284}, {-0.077824, -0.442484}, {0.193024, -0.911981}, - {-0.101269, 0.845595}, {0.165756, 0.295690}, {0.319546, 0.593792}, - {-0.808930, 0.153177}, {1.124408, 0.458110}, {0.771971, 0.222809}, - {-0.167902, 0.238733}, {-0.169285, 1.231875}, {-1.585493, 0.216024}, - {-0.747700, 0.098100}, {0.340226, -0.192779}, {-1.219417, -0.107218}, - {0.228007, 0.456442}, {-0.007155, -0.634464}, {-1.875543, 0.567589}, - {-0.519810, -2.179719}, {-0.904975, -2.451302}, {0.736883, -0.419567}, - {0.918135, -1.128765}, {0.384645, 0.353239}, {0.434095, -0.284308}, - {-0.374883, -0.095262}, {-0.304398, 0.413076}, {-0.748666, 1.124787}, - {-0.701671, 0.451972}, {0.395372, 0.412637}, {0.588244, -0.145257}, - {0.405163, 1.023715}, {0.744314, 0.958872}, {-0.037084, -0.577777}, - {-0.628322, -1.456151}, {0.762014, -0.483828}, {-0.958353, -0.171473}, - {-0.113997, 1.464166}, {1.350982, -0.530942}, {-0.172846, -0.004565}, - {0.233537, 0.941079}, {-0.200530, 0.383425}, {0.264278, 0.095382}, - {0.725498, 1.193517}, {1.280922, -0.026653}, {0.097571, -0.441089}, - {0.300984, 0.414280}, {-0.041914, -0.544705}, {1.009088, 0.188493}, - {0.866042, -0.355025}, {-0.317615, -0.910565}, {0.489751, -0.574142}, - {0.963424, -0.661532}, {-0.318844, -0.517722}, {-0.190129, 0.036885}, - {0.186444, -0.158205}, {0.078693, -2.586327}, {-0.266931, 0.725793}, - {-0.074349, 0.454831}, {-0.374770, 0.697565}, {-0.467025, -0.014349}, - {-0.260550, -0.127574}, {0.666807, 0.559806}, {-0.271031, -0.063661}, - {0.095739, 0.428225}, {-0.115755, 0.220370}, {1.075172, -0.821800}, - {1.387517, -1.151660}, {-1.516364, 0.833318}, {-0.347857, 0.250917}, - {0.299464, 0.749435}, {0.154734, -1.501682}, {-0.503228, 1.050996}, - {0.327790, -0.112045}, {0.987849, -0.260528}, {0.449412, 1.852591}, - {-0.526460, 0.814047}, {-0.451808, -0.480134}, {0.678355, 0.739133}, - {0.317312, -0.328581}, {0.196623, 0.404023}, {0.324616, 1.699530}, - {-0.776618, -0.269720}, {0.162184, 0.179116}, {0.297846, -0.710724}, - {-0.169321, 0.167991}, {1.769393, 1.076862}, {-1.380745, -0.595286}, - {0.568804, 0.534699}, {-0.846191, -0.871218}, {-0.110816, -0.141844}, - {0.285220, -0.612886}, {-1.000946, -0.050010}, {-0.101431, -0.938313}, - {0.162775, 0.079309}, {-0.582009, 0.345429}, {0.124885, 0.247372}, - {-1.328240, 0.510701}, {0.442295, 0.051789}, {0.949722, 0.676903}, - {-0.111284, 0.899622}, {-0.437720, -0.322130}, {-0.258154, 0.985684}, - {-0.758257, 0.557973}, {-0.421330, -0.073546}, {1.197222, -0.621330}, - {-1.526086, 0.768420}, {0.144164, 0.595554}, {0.071158, 0.831643}, - {0.121315, 1.096341}, {-0.442333, 0.055718}, {0.261819, -0.929387}, - {-0.335194, -0.703410}, {-0.634767, -0.488540}, {-0.152389, -0.588104}, - {0.153830, -0.655196}, {-0.631695, 0.677282}, {1.746302, -0.602460}, - {0.338172, -0.699808}, {0.901305, 0.660470}, {1.137559, -0.192002}, - {-0.332112, 0.081961}, {-0.379872, 0.728106}, {-0.433884, -1.073145}, - {-0.247557, 0.726460}, {-0.232024, -0.849128}, {1.187650, -0.092062}, - {-0.392385, -0.780775}, {0.413751, -0.559636}, {-0.431597, -0.961824}, - {0.463489, 0.645597}, {-0.897957, -0.663863}, {0.842534, -0.688768}, - {-0.834302, -0.540110}, {0.174923, -0.886926}, {0.256774, -0.733313}, - {-0.513784, -0.360074}, {0.156928, 0.710061}, {-0.779415, -0.205818}, - {1.122295, -0.263072}, {-0.067941, -0.241437}, {0.775305, -1.499039}, - {-0.959691, -0.336725}, {-0.557347, 0.644162}, {0.097356, 0.117803}, - {0.085507, 1.845262}, {0.507571, -0.452847}, {0.157979, 0.584192}, - {0.534463, 0.510878}, {0.436897, -0.704341}, {-0.598275, -1.183016}, - {-0.479736, 1.993246}, {-1.004427, -0.606627}, {1.175857, -0.209354}, - {-0.555928, 0.024468}, {-0.519805, -0.867264}, {0.391430, 0.558873}, - {-0.640640, 0.630178}, {-1.513294, 0.362170}, {-0.096170, 0.302206}, - {1.549390, 0.176401}, {-0.712729, 0.480838}, {0.400243, -0.498461}, - {0.050925, -0.342701}, {0.365122, 0.134136}, {0.517262, 1.140502}, - {0.650985, -0.879352}, {0.791790, 0.189469}, {0.654234, 0.497645}, - {0.384115, -0.034611}, {-0.125724, 0.640141}, {-0.543262, -1.255624}, - {-0.220592, -0.656310}, {-0.130609, -0.147886}, {-0.441347, 0.720036}, - {0.400598, -0.080680}, {-0.199337, 0.873405}, {0.032691, 1.536398}, - {-0.093394, -1.310056}, {-0.854984, 1.071773}, {0.102072, -0.810930}, - {-0.477344, 0.066698}, {0.648895, 0.026279}, {-0.285891, 1.400032}, - {-1.216298, -0.236778}, {-0.549714, 0.688796}, {-0.062685, -0.343855}, - {-0.341088, 0.238776}, {0.105347, 0.048365}, {0.514533, -0.634733}, - {-0.571926, 0.456588}, {0.367809, -0.456143}, {0.979090, -1.286519}, - {-1.218222, 0.367350}, {-0.590629, -1.532832}, {-1.718226, 0.242958}, - {1.096783, -0.711503}, {0.588342, 0.376010}, {0.744463, 0.371433}, - {0.003243, 0.668123}, {0.062086, 0.809872}, {-1.132122, -0.104988}, - {0.084982, 0.995250}, {-0.688752, 0.216891}, {0.215504, -0.061450}, - {0.452003, -0.690233}, {-0.723135, -0.275493}, {0.357621, -0.515781}, - {-0.890998, -0.479333}, {0.498701, -0.923387}, {0.936200, -2.091405}, - {-0.879032, 1.485557}, {0.332185, -0.128280}, {0.550373, 0.387625}, - {0.632224, 0.633608}, {-0.605378, 1.048378}, {-0.472907, 0.472679}, - {-0.926621, 0.312398}, {-0.285207, -0.148072}, {-0.160155, -0.599110}, - {0.743425, 0.098568}, {0.668188, 1.079139}, {1.112103, 1.452457}, - {-0.727684, -0.625500}, {0.582495, 0.602978}, {-0.533045, -0.290135}, - {-0.137783, -0.815375}, {-0.423199, -0.027111}, {-0.199832, 0.858830}, - {-0.774598, -0.479101}, {-0.808559, 0.112108}, {-0.095061, -0.376614}, - {-0.643351, 1.359531}, {0.932951, -1.417012}, {-0.848382, -0.222414}, - {-1.002188, -1.075297}, {-0.939211, -0.668392}, {0.479471, -0.342248}, - {-0.651955, 0.089450}, {-0.529345, 1.103163}, {-0.297371, 0.787987}, - {-0.692098, -0.212505}, {0.441398, 0.601694}, {1.155338, 0.506600}, - {0.806606, -0.500708}, {-0.740199, -1.292330}, {-0.301074, 0.068852}, - {0.517610, 0.645486}, {-0.240596, 0.629380}, {0.078991, -0.446581}, - {0.463990, -0.548239}, {0.076625, -0.265612}, {0.100232, -0.929770}, - {0.066872, 0.589058}, {-0.187736, -0.658316}, {-0.822249, 0.309850}, - {-0.917348, 0.269891}, {-0.295888, 0.149902}, {0.910250, 0.779854}, - {-0.763011, -0.047352}, {-0.345678, -0.728869}, {0.991317, -1.211605}, - {0.654773, -1.301914}, {0.240193, 0.127080}, {0.683297, 0.857939}, - {-1.056701, 0.902413}, {0.538899, -0.329668}, {-0.212189, 0.730930}, - {-1.240264, -0.481620}, {-0.735395, -0.030127}, {-0.024994, -0.142647}, - {0.112034, -0.735685}, {0.427365, -0.104027}, {-0.416424, -1.693984}, - {1.186313, 0.507243}, {-1.550728, 0.625737}, {-0.395223, 1.280803}, - {0.117296, 0.255594}, {0.078576, -0.343091}, {0.336925, -0.610704}, - {0.535086, -0.319883}, {0.586244, 0.858364}, {0.792222, -0.425311}, - {-1.174751, -0.317509}, {-0.296053, 1.341013}, {-0.761628, 0.373641}, - {0.144214, -0.064574}, {0.308336, -0.161496}, {0.713510, 0.549545}, - {0.561945, 0.014662}, {0.618634, 0.376704}, {0.566078, -0.488592}, - {0.749551, -0.008964}, {-1.439229, -1.800224}, {0.330291, 0.691467}, - {-0.371258, 1.717772}, {0.264541, 1.219097}, {-0.449660, 0.278444}, - {-0.925116, -0.622006}, {1.810841, 0.357436}, {-0.361036, -0.568890}, - {-0.245604, -0.543745}, {-0.809004, -0.297720}, {0.673398, -1.349551}, - {0.320146, 0.122381}, {0.055778, 0.645761}, {-1.114450, 0.141513}, - {0.191087, 1.024756}, {-0.230242, 0.131826}, {1.440529, -0.146838}, - {-0.309778, -0.905495}, {0.038309, 0.453297}, {-0.322784, 0.721147}, - {-0.358682, -0.408192}, {-0.387312, -1.581744}, {0.455011, 0.089694}, - {-0.435709, 0.434022}, {1.121966, 0.703677}, {-0.000289, 0.898656}, - {0.370298, 0.569843}, {-0.759395, 0.155326}, {0.264595, -0.758241}, - {-0.717438, -1.284560}, {0.534397, 0.044761}, {-0.387217, -0.850411}, - {0.044635, -0.092650}, {-0.372661, -0.068370}, {0.066867, 0.992163}, - {0.309686, -0.088930}, {-0.551975, 1.140835}, {0.282269, -0.265153}, - {-0.385975, 0.629002}, {-0.588541, 0.936380}, {-0.450421, -0.312229}, - {-0.584466, 0.390126}, {-0.561504, 0.846689}, {-0.327959, 1.138398}, - {0.772840, -1.154541}, {0.109965, 0.119873}, {-1.041428, 0.030014}, - {-1.054290, -0.520300}, {-0.401694, -1.322928}, {0.339501, -1.053816}, - {-1.483539, 0.383590}, {0.179033, -0.005078}, {-0.449563, 0.617536}, - {0.159361, -0.300597}, {0.681503, 0.425180}, {0.075334, -0.054530}, - {1.127598, -0.722161}, {0.830144, -0.411552}, {0.130735, -0.537078}, - {-0.318294, 0.279468}, {1.329998, 0.436047}, {0.628394, 0.202456}, - {0.452344, -1.322196}, {-1.328185, 1.430783}, {-0.607721, -0.864380}, - {0.504693, -0.747412}, {0.873797, 0.066753}, {-1.716981, -1.433918}, - {-1.009027, -0.760573}, {-0.113434, 0.171071}, {-0.037380, 0.247667}, - {0.522725, -0.251274}, {0.372523, -0.578671}, {0.363876, -0.147056}, - {0.646783, -0.450081}, {1.137476, 0.323571}, {-0.780254, -0.368106}, - {1.146234, 0.162286}, {0.762737, 0.417214}, {-1.238331, 0.742666}, - {-0.390029, -0.580793}, {0.171207, 0.920070}, {0.371806, -0.258019}, - {-1.675454, 0.112764}, {0.314425, 0.532884}, {-0.212717, 0.521552}, - {1.230658, 0.602619}, {0.024240, 1.086085}, {-0.753075, 0.421991}, - {1.184260, 0.288993}, {-0.156075, -0.349412}, {0.070528, -0.556874}, - {1.304863, 0.059083}, {0.075264, 0.205343}, {-0.115468, 0.910225}, - {-0.086719, -0.359175}, {0.580907, 1.065438}, {0.059108, -1.456124}, - {1.143980, -0.250649}, {-0.532360, 0.202426}, {-1.306963, 0.894754}, - {-0.004374, 0.331473}, {0.530959, 1.017206}, {0.896061, -0.486310}, - {0.124527, -0.835825}, {0.401800, -0.694786}, {0.131098, -0.507110}, - {-0.493495, -1.031719}, {-0.380582, 0.015232}, {-1.773868, 0.203092}, - {-0.243199, -0.939094}, {-0.243723, -1.167272}, {0.991581, 0.396060}, - {-0.559749, 0.941881}, {0.942520, 1.077600}, {-0.572208, 0.399250}, - {-1.198896, 0.820616}, {-0.733767, 0.042879}, {-1.020932, 1.153919}, - {-1.048099, 0.943322}, {-0.354407, 0.317066}, {0.308045, 0.211141}, - {0.831764, -1.378969}, {-0.007062, -0.513552}, {0.967642, 0.641026}, - {-0.668442, 0.316706}, {-1.122864, -0.024464}, {0.316990, 0.362859}, - {-0.111627, 0.744548}, {0.185230, -0.636517}, {1.227635, -0.165264}, - {-0.506497, 0.297073}, {-0.317230, -0.293662}, {0.344244, 0.550272}, - {0.086386, 0.725618}, {-0.374595, 0.121906}, {0.205497, 1.783572}, - {0.647253, -0.895754}, {0.162982, -0.022414}, {-0.994075, -1.237339}, - {1.033565, -0.151604}, {-0.280396, 0.878138}, {-0.264564, -0.165480}, - {0.301752, 0.255018}, {-0.615882, 0.711428}, {0.300740, 0.246028}, - {1.845295, -0.214744}, {1.080206, -0.092894}, {0.015605, 0.522865}, - {1.172807, -0.447869}, {-0.821485, 0.490399}, {-0.306496, 0.230408}, - {0.709987, -0.375342}, {-0.355816, 0.453023}, {-0.212208, -0.678919}, - {0.091036, -0.565006}, {0.116062, -0.416735}, {1.050847, 0.339220}, - {1.742643, -0.228713}, {-0.434887, -0.201646}, {-0.382463, -0.917137}, - {-0.598962, 0.979455}, {-0.678083, -0.074060}, {1.074554, 0.667668}, - {-0.175566, 0.080397}, {-0.746242, -0.837080}, {0.569198, -0.288397}, - {-0.419237, 0.814960}, {1.110668, 0.610994}, {1.024729, -0.522782}, - {0.287071, 0.129891}, {1.059693, 0.192434}, {-0.500546, 1.681387}, - {-0.352649, 0.693367}, {1.330871, 0.878471}, {1.452162, 1.296531}, - {-0.561816, 1.060767}, {-0.024246, 0.549463}, {-0.558191, -0.475732}, - {0.579874, -0.378951}, {-0.386188, 0.616314}, {1.904212, -0.081406}, - {0.056011, 0.587343}, {2.079102, -0.449990}, {-0.585793, 0.200955}, - {-0.148105, -0.720863}, {-0.871106, 1.178992}, {-0.259457, 0.018706}, - {-0.838352, -0.101366}, {1.104726, -0.165176}, {-0.376425, 0.962019}, - {-0.383321, -0.621639}, {0.185654, -0.673447}, {0.088111, 0.910684}, - {1.972742, 1.066469}, {0.343070, 1.425779}, {0.235284, -1.008437}, - {-0.232498, -0.780531}, {-0.285426, 0.387394}, {0.570176, 0.601760}, - {0.857470, 0.042025}, {0.823288, 0.485621}, {-0.161700, 0.393089}, - {0.653084, -0.695477}, {0.397400, 1.144465}, {0.330464, 1.209299}, - {-0.905504, 0.536976}, {0.462790, 0.056269}, {0.181789, 0.418193}, - {-0.442622, -0.997435}, {-0.622074, -1.020432}, {0.174594, -0.272027}, - {0.195162, 0.424718}, {-0.483125, -0.014181}, {-0.333027, -0.666385}, - {-0.225218, -1.387923}, {0.380830, -0.801521}, {0.500795, 0.083064}, - {-0.354031, 0.562019}, {-0.322369, 0.355784}, {-0.689934, 1.420140}, - {0.505533, 0.590711}, {-0.258165, -0.519527}, {0.484829, 0.168475}, - {-0.887195, 0.627565}, {-0.569851, 0.255714}, {0.656937, 1.030732}, - {0.253163, 1.183688}, {-0.090994, 0.350419}, {-0.621855, 0.522503}, - {1.260944, -0.340844}, {-0.328843, 1.339729}, {-0.187433, 0.904883}, - {-0.091476, 1.344383}, {-0.398040, -0.259532}, {0.059961, -0.952296}, - {-0.669200, -0.513899}, {0.882696, -0.883357}, {0.445337, 0.858188}, - {-0.376645, 0.216174}, {0.251451, 1.293422}, {-0.343713, 0.459366}, - {-0.790002, -1.400639}, {-0.281481, 0.156530}, {-0.050578, -0.812539}, - {-0.069669, -0.942398}, {0.206314, 1.062811}, {-0.862538, 0.079873}, - {-0.142145, -0.179803}, {-0.635656, 0.187704}, {-0.288690, -0.632587}, - {0.489273, -1.319410}, {-0.113265, 0.243749}, {-0.547880, 0.138515}, - {0.503130, -0.553393}, {-1.042138, 1.207500}, {0.993756, 1.771553}, - {0.945115, 0.708578}, {-0.755664, -0.227831}, {2.114421, 0.144923}, - {1.322935, 0.007610}, {0.668800, 0.872877}, {1.206511, 1.284430}, - {0.119083, 1.037143}, {0.469420, -0.968104}, {0.178111, -0.706050}, - {-0.093654, 0.351570}, {1.216869, -0.083921}, {1.128239, -0.721634}, - {-0.603763, -1.222727}, {-0.246507, 0.765585}, {-0.469168, -0.154943}, - {0.115194, -0.645646}, {-0.628875, -0.134190}, {-0.218869, 1.072319}, - {-0.304600, -0.845963}, {0.041486, 0.312707}, {-0.824256, 0.026274}, - {-0.398291, 0.206157}, {0.865547, 0.384018}, {-0.518704, -0.244805}, - {0.770365, -0.244413}, {-0.853040, 1.803973}, {-0.112336, 0.330401}, - {0.389707, 0.066202}, {-1.206726, -0.931216}, {0.890161, 1.029948}, - {0.224077, -0.218359}, {-0.835221, 0.379948}, {-0.576608, 0.010603}, - {-0.046229, -0.651582}, {0.149031, -0.006860}, {-0.232445, -0.153048}, - {-0.361445, -0.624316}, {-0.089316, -0.902206}, {-0.677576, 0.291582}, - {-0.694052, 0.341786}, {0.604152, 0.954109}, {-0.451568, -1.027999}, - {0.888470, 0.246610}, {1.378708, -0.162367}, {0.807884, -0.154657}, - {-0.121010, 0.723971}, {0.756675, -0.287967}, {-1.352302, 0.460834}, - {-0.539413, -0.417247}, {0.138693, 0.716212}, {-1.262669, 0.189740}, - {-0.127893, 0.098501}, {-2.031114, -0.515120}, {-0.566216, 0.134760}, - {-0.894512, -1.013835}, {0.545570, -0.785318}, {0.314537, -0.541041}, - {-0.623232, -0.972520}, {-0.239815, -0.060572}, {-0.016385, 0.088118}, - {0.233685, 0.536110}, {-0.701300, 0.465990}, {0.772176, -0.169732}, - {-0.111524, -0.101524}, {0.058288, 1.465041}, {0.712798, -0.116610}, - {0.667813, 0.354510}, {-0.055343, -0.426603}, {0.923450, -0.343740}, - {0.351264, -0.768122}, {-0.881422, 0.152680}, {-0.929116, 1.638255}, - {0.167936, -0.278059}, {1.027618, 0.529101}, {-0.777487, -0.773029}, - {-0.171119, -0.587115}, {-0.630818, 0.969008}, {0.561234, 0.268168}, - {0.106045, -0.638529}, {1.266788, -1.129971}, {-0.995631, -0.558621}, - {0.188110, -0.702478}, {0.335395, -0.240620}, {-0.116215, 0.260554}, - {0.680446, -0.603189}, {0.904362, 1.717741}, {-0.015833, 0.746788}, - {-0.148045, 0.051645}, {0.009869, 0.846651}, {0.298090, 1.350605}, - {1.345340, -1.423719}, {-0.754747, -1.335279}, {0.419094, -0.864441}, - {-0.145479, -0.797688}, {0.135712, 0.991836}, {0.225006, -0.060168}, - {0.355427, 0.550726}, {1.954229, 0.656213}, {-0.169736, 0.311985}, - {0.939487, 0.650424}, {0.789964, -0.684274}, {0.164532, 0.093543}, - {0.060515, 0.106031}, {-0.024316, -0.913373}, {-0.582858, 0.242192}, - {-0.599441, 0.706627}, {-0.037631, -0.529508}, {0.108102, 0.029830}, - {-0.766994, 0.601282}, {-1.162212, -0.241856}, {-0.283526, 1.599770}, - {-1.549907, -0.505364}, {0.722774, 0.073483}, {-1.024597, -0.392075}, - {0.858099, -0.287027}, {0.327537, -1.007954}, {0.667032, -0.025028}, - {0.975513, 0.143732}, {0.018982, 0.474133}, {-0.098149, 1.106961}, - {-0.108187, -0.707083}, {-0.219794, 0.475886}, {0.210508, -0.510677}, - {-0.416087, -0.900413}, {-0.752409, -0.392688}, {0.327123, -0.496539}, - {-0.879819, -1.010528}, {-1.401704, -0.483436}, {-1.566675, -0.015039}, - {-0.550926, -0.315944}, {-0.711913, -0.986015}, {0.408434, -0.200798}, - {-0.921718, 0.340502}, {-1.323506, -0.767555}, {0.762208, -0.010204}, - {1.414222, -0.108579}, {-1.279120, -0.115126}, {-1.063315, -0.287798}, - {-0.612699, 0.708367}, {1.058841, -0.974767}, {-0.887090, 0.515838}, - {-0.169713, -0.586082}, {0.468957, -1.057315}, {-1.137185, -0.201351}, - {0.857001, 0.506281}, {-0.694478, 1.116885}, {-0.101536, 0.252581}, - {-0.186678, 0.121469}, {0.237319, 1.220649}, {0.590731, 0.106154}, - {-0.307152, -0.195058}, {-0.534827, 0.484876}, {1.112901, 0.239961}, - {0.050445, 0.481539}, {0.545830, 0.854745}, {-0.687006, -0.117939}, - {0.167796, 0.067286}, {-0.200961, -0.851043}, {-0.029250, -0.070030}, - {0.571111, -0.402512}, {-0.291893, -0.486622}, {0.199427, -0.464909}, - {0.485504, 0.196643}, {-1.203786, 1.305744}, {-0.457443, 2.058590}, - {-0.206683, -0.175040}, {0.166361, 0.461590}, {-0.426843, -1.352936}, - {0.501698, 0.238129}, {-0.809285, -0.792133}, {-0.655155, 0.336089}, - {0.726113, -1.582158}, {-0.150580, 0.179097}, {0.715039, -1.127365}, - {-0.012255, -1.422302}, {-0.291115, -0.120922}, {0.109163, 0.722364}, - {0.653337, 0.016132}, {0.459079, -0.773381}, {-1.171660, 1.182249}, - {-0.102436, 0.837007}, {0.845445, 0.528685}, {-0.409713, 0.406902}, - {0.830749, 0.057450}, {0.671611, 0.782030}, {0.200145, -1.167993}, - {-0.205830, -0.256860}, {0.341035, 0.280555}, {-1.201147, -0.323218}, - {-0.212821, 0.050460}, {0.742152, -0.323082}, {0.819270, 0.195198}, - {0.669024, 0.897072}, {-0.501893, -0.365942}, {-1.308934, 0.089249}, - {-0.037597, -0.113499}, {-1.004372, 0.368385}, {0.141077, -0.067610}, - {0.275376, -0.743583}, {-0.191894, -1.129273}, {-1.258964, -0.039886}, - {0.728804, -1.000285}, {1.086578, -0.617149}, {-0.855317, -0.310454}, - {-0.147711, 0.408143}, {-0.517206, 0.043758}, {0.719426, -1.283598}, - {-0.235939, 0.668859}, {-0.380010, -0.313257}, {0.316778, -0.118759}, - {-0.262927, -1.567183}, {-0.282733, 0.420140}, {0.818925, -0.012589}, - {0.357610, 0.577911}, {-0.190272, -0.414123}, {0.625359, 1.169565}, - {-0.917634, 0.809205}, {0.909000, -0.614465}, {-0.273865, 0.307313}, - {0.708742, 1.146401}, {-0.736018, 1.297624}, {-0.132588, -0.042389}, - {0.752216, -0.630562}, {0.602787, -0.506396}, {0.633488, 0.200361}, - {0.862136, -0.559107}, {0.745865, -1.328896}, {-0.015377, -0.603058}, - {0.012261, 0.207465}, {-1.262966, 0.309847}, {-0.816732, -0.048421}, - {1.368862, -0.089376}, {-0.950272, -0.966439}, {0.201282, -0.088005}, - {-0.675286, 0.791768}, {0.857350, -0.330363}, {0.297582, -0.494692}, - {-0.536755, 0.002392}, {-0.209953, 0.732953}, {-0.443116, -0.086068}, - {-1.175001, 0.573199}, {-0.515406, 0.620601}, {0.519220, 0.365639}, - {0.179975, -0.360670}, {-0.307683, 0.106896}, {0.132153, 0.727465}, - {-0.280980, -0.228803}, {0.239138, -0.878369}, {-0.037641, 0.340422}, - {0.908774, -1.101317}, {0.049850, -0.299075}, {0.019113, 0.674994}, - {-0.015975, 0.379414}, {0.288954, -0.809359}, {0.347018, -1.157598}, - {0.074732, -0.537650}, {0.996135, -0.001765}, {0.056827, -0.488387}, - {-0.833093, 0.386931}, {0.758476, 0.872903}, {-0.745092, -0.444934}, - {-0.224247, -0.116532}, {-0.204749, 0.261726}, {0.404937, 0.616612}, - {0.339130, 0.532116}, {0.321454, -0.851996}, {0.318065, 0.804013}, - {0.255111, -0.303607}, {0.430730, 0.409011}, {0.336340, -0.608268}, - {0.689794, 0.099887}, {0.120092, 0.052738}, {-0.588516, -0.366448}, - {0.325651, -0.658579}, {0.947989, -0.734417}, {0.016734, -0.728917}, - {-0.841605, 0.381322}, {0.231804, 0.206317}, {1.051284, -0.490680}, - {-0.050906, -0.211480}, {-0.105047, 0.477795}, {-0.252414, -0.626855}, - {-0.057217, -0.134807}, {1.067822, -0.178322}, {-0.086659, -1.147155}, - {-0.741801, 0.582173}, {0.803925, -1.119881}, {0.543473, 0.197205}, - {0.407991, -0.434675}, {0.107264, -0.319198}, {1.091457, 0.760169}, - {-0.013718, 0.000686}, {-1.248275, 0.208178}, {-0.899392, 0.261502}, - {-0.631148, -0.302873}, {0.083128, 0.705050}, {-0.778608, -0.788078}, - {1.135346, -0.872922}, {-1.157340, -0.867567}, {-0.593543, -2.187029}, - {0.093469, 0.234575}, {0.443437, -0.304265}, {1.551142, -1.422596}, - {0.442576, -1.577903}, {0.192425, 0.160683}, {-0.902680, -0.431437}, - {-1.004525, -0.745898}, {-0.483396, -0.192180}, {1.080987, -0.266741}, - {-0.903296, 1.170854}, {-0.364402, 0.684777}, {0.309202, -0.017096}, - {-0.492831, -0.600043}, {-1.612991, -0.804477}, {-0.407146, -0.758813}, - {0.829137, -0.603992}, {-0.251557, -0.383196}, {-0.743938, 0.109216}, - {1.011679, -0.340907}, {0.241315, 0.068707}, {-1.006463, 0.402521}, - {0.031220, -0.028792}, {-0.417251, -1.398311}, {0.775474, 0.111723}, - {-1.223098, -0.658243}, {2.340365, -0.265007}, {0.301015, -0.206530}, - {-0.200633, -0.557171}, {-0.202832, 0.319060}, {-0.010049, 0.742861}, - {0.106082, 0.811121}, {0.055592, -0.191956}, {0.355395, 0.583195}, - {0.282830, -0.170406}, {0.025638, 1.918779}, {0.944669, -0.058716}, - {1.264998, 1.490664}, {0.823037, 0.092036}, {1.217579, -0.491040}, - {0.037653, -0.782702}, {0.149131, -0.656208}, {0.410757, 1.584757}, - {1.325665, 0.028426}, {0.971514, -0.170968}, {0.142927, -0.349601}, - {-0.675615, 1.239243}, {1.118417, 0.482521}, {-0.525994, 0.493175}, - {-1.053111, -0.390079}, {0.030564, 0.067288}, {-0.074059, -0.899509}, - {-0.360663, 0.382902}, {0.550419, 0.853873}, {-0.544569, -0.824151}, - {0.568337, 0.130398}, {-0.604970, 0.925242}, {0.220753, -0.254279}, - {0.337711, 0.557667}, {-0.753422, -0.586669}, {0.428708, -0.232984}, - {1.794279, 0.483338}, {1.304773, -0.365589}, {-0.433436, -0.791504}, - {-0.214934, 0.966716}, {-0.305057, 0.580224}, {-0.106751, -0.822595}, - {1.028315, -0.877748}, {0.852443, -0.409121}, {0.625301, 0.180248}, - {1.396398, 0.143160}, {1.108587, 0.541150}, {0.468621, -1.043421}, - {0.906804, 0.715312}, {-0.766680, 0.905431}, {-0.441257, 0.668639}, - {0.284121, -0.043281}, {-0.616953, 0.794195}, {0.163532, -0.395955}, - {-0.412360, -0.597153}, {0.241518, -0.585513}, {0.482960, 0.567925}, - {-1.054434, -0.649045}, {0.605650, -0.378689}, {-0.609803, 0.359699}, - {1.365516, 0.646388}, {-0.344219, 0.120575}, {-0.654285, -0.631225}, - {0.468870, 0.618246}, {-0.390055, 0.556382}, {-0.508965, 0.454676}, - {0.116800, 0.138547}, {-1.168829, -0.304091}, {-0.385664, -0.659049}, - {-0.639212, -1.396839}, {1.224527, 1.061921}, {-0.712606, -0.081001}, - {0.120125, -0.300214}, {0.179791, -0.636082}, {-0.605018, -0.693630}, - {-0.678318, -0.318564}, {-0.598472, -0.031708}, {-0.520574, -0.296742}, - {0.067744, -0.796947}, {0.696445, 0.463145}, {0.094760, -0.023756}, - {-1.028425, 1.287291}, {-0.669956, 0.116063}, {-0.209304, 0.099915}, - {-1.108453, -0.002002}, {-0.060206, -0.515472}, {0.981295, 0.380674}, - {0.263531, -0.667106}, {0.250979, 0.072504}, {-0.096590, 0.766292}, - {0.920231, -0.755035}, {-0.505097, -1.091862}, {-0.615787, 0.117510}, - {0.368374, 0.389098}, {-0.126383, -0.430203}, {0.164085, -0.529933}, - {0.599555, -0.034148}, {1.102519, -0.438562}, {0.085070, -0.251993}, - {0.865140, 0.585431}, {0.934833, -1.057558}, {0.249809, -0.620187}, - {0.265592, 1.080486}, {-0.634548, -0.038819}, {-0.150059, 0.264938}, - {0.250318, 1.521858}, {-0.173384, -0.223300}, {0.129138, 0.492724}, - {1.592594, 0.165069}, {-0.331133, 1.012240}, {-0.697260, -0.195315}, - {-0.312506, -1.024730}, {-0.234223, -0.824909}, {-0.383885, 0.106128}, - {-0.175865, 0.392687}, {-0.510849, -0.462690}, {-1.018937, 1.151529}, - {-0.038301, -0.066566}, {0.530731, 0.127405}, {-0.208679, -0.107666}, - {0.120497, 1.016165}, {-0.052440, 0.725401}, {1.832884, -0.342007}, - {0.092143, 0.258115}, {-1.159934, -0.970688}, {0.589430, -0.586012}, - {1.209632, 1.986167}, {-0.366520, 0.055513}, {0.384307, 0.775611}, - {-0.877936, -2.193519}, {-0.003713, 1.002400}, {-1.173911, 0.755036}, - {-0.477599, 0.075858}, {0.388147, 0.137404}, {-0.270243, -0.165515}, - {-0.260462, 1.171696}, {-0.150456, -0.885312}, {0.469399, -0.599552}, - {-0.597813, -0.750128}, {0.095583, -0.274177}, {-0.509728, 1.587391}, - {0.972749, 0.614814}, {-0.752960, -0.189362}, {1.062092, -0.210413}, - {-0.114508, 0.325050}, {1.881627, 0.271021}, {-1.128107, -0.567826}, - {0.014185, -0.695967}, {0.338390, 0.827812}, {-0.274898, 0.464329}, - {0.550296, 0.200794}, {-0.197346, -1.187593}, {-0.155908, -0.802583}, - {-0.207092, -0.070371}, {-0.486399, -1.113643}, {-0.129494, -0.242884}, - {0.631126, 0.237594}, {0.772150, -1.293381}, {-0.148225, 1.069063}, - {-0.557726, 0.180037}, {-0.251261, 0.420506}, {-0.687525, -1.530252}, - {0.308271, -0.038557}, {-1.212547, 0.035603}, {-0.060400, -0.303898}, - {1.425639, -0.355048}, {0.144429, 0.420649}, {-0.688609, -0.997562}, - {0.259183, -0.891376}, {0.275503, -0.114022}, {-1.060990, -0.859264}, - {-1.590535, -0.179986}, {-0.197122, -0.339152}, {-1.741402, -1.241081}, - {-0.101596, -0.103421}, {-0.576440, -0.998940}, {-0.159847, -0.078504}, - {-0.598367, -0.701100}, {0.454856, 0.507896}, {-1.739180, -0.913037}, - {1.341986, 0.134193}, {-0.290217, -0.535215}, {0.783955, -0.574633}, - {-0.126710, -1.241383}, {-1.693904, -0.209030}, {0.500406, 0.058675}, - {0.876139, -0.205673}, {0.347464, 1.353533}, {-0.250533, -0.590198}, - {-0.049717, 0.984800}, {-1.667565, -0.013165}, {0.328547, 0.584034}, - {-0.578874, -0.321222}, {0.607281, -0.663825}, {-0.042807, -0.635103}, - {-0.198325, -0.054844}, {-0.567400, -1.007322}, {0.181597, -0.281650}, - {0.922825, 0.237707}, {-0.725941, 0.008540}, {0.146820, 0.712341}, - {-2.004479, 0.919673}, {-0.437029, -0.158475}, {0.009848, 0.194884}, - {0.064501, 0.515108}, {0.966986, -0.106012}, {0.431525, -0.640987}, - {0.226213, 0.704404}, {-0.389554, 0.297250}, {0.227194, -0.123749}, - {0.958163, 0.684737}, {-0.763641, -1.299124}, {-0.519729, 1.144937}, - {0.517323, 0.380140}, {0.358759, -0.376012}, {0.485276, -1.189659}, - {-1.128039, 0.154856}, {0.012640, -0.800780}, {-1.023062, 0.541789}, - {-0.088985, 1.220985}, {-0.274541, 0.330453}, {-0.223176, 0.277022}, - {-1.250833, 0.859561}, {0.166349, -1.059528}, {0.706370, 1.301363}, - {0.865846, -0.966971}, {-0.746104, -0.181980}, {-0.382071, -0.287606}, - {-0.696105, 0.935651}, {-0.754779, -0.608633}, {1.558518, -0.068025}, - {-0.730162, -1.159437}, {-1.243312, -0.025267}, {0.538259, -0.151188}, - {0.755668, 0.731049}, {0.362774, -1.112199}, {0.951361, -0.710292}, - {1.205493, 0.703087}, {-0.384461, -0.900938}, {0.558954, 0.738985}, - {0.534887, -0.264438}, {0.451519, -0.094902}, {0.271715, -0.849368}, - {-0.622068, -0.879637}, {0.747059, 0.748628}, {-0.141696, -0.554025}, - {-0.162613, -0.058699}, {-0.438999, -0.305623}, {-0.974950, -0.030913}, - {-0.836826, -1.211227}, {0.066026, -0.500706}, {0.317875, 0.639406}, - {1.768633, -1.108933}, {-0.169267, -0.005666}, {0.308455, 0.547168}, - {-0.792556, -0.067929}, {-1.053188, -0.742882}, {-0.439344, 1.796462}, - {0.928509, -1.153488}, {-0.883353, 0.292079}, {1.150053, -0.757907}, - {0.159497, 0.386146}, {-0.575171, 0.435701}, {-0.104603, -0.597094}, - {-0.010359, -0.762375}, {0.533096, -0.049087}, {-0.622529, -0.504482}, - {-0.649558, -0.521691}, {1.604563, -0.953022}, {0.483842, 0.422572}, - {0.604771, 0.258910}, {-0.420070, 0.075085}, {-0.670900, -0.537843}, - {-0.643097, -0.750436}, {2.158761, -0.134695}, {-0.699376, 1.792557}, - {0.316584, 0.159085}, {-1.290301, 0.659405}, {-0.470062, 0.491114}, - {-0.217911, 0.097260}, {-0.883950, 0.411357}, {-1.137233, -0.417558}, - {-0.060187, 0.823960}, {-0.527339, 0.909397}, {0.614027, -0.516774}, - {0.326730, -0.720490}, {-0.732945, 1.140511}, {0.527214, -0.857791}, - {0.354728, 0.527356}, {-1.042879, -0.843408}, {0.388951, -0.250227}, - {-0.760452, -0.272504}, {0.670556, 1.780283}, {0.178493, -0.103607}, - {0.281239, 0.573283}, {-0.276774, -0.666889}, {-0.369088, -0.515050}, - {-1.566099, -0.292304}, {0.241018, 0.111041}, {-0.579810, -0.131634}, - {0.614676, -1.020588}, {2.122965, -0.652456}, {1.003513, -0.009904}, - {0.384063, -0.315227}, {1.662325, -1.228987}, {0.421827, -0.875429}, - {0.615807, -1.046427}, {-0.369778, 0.103087}, {-1.400076, -1.351331}, - {0.243226, 0.565874}, {-0.190009, -1.569295}, {0.431636, -0.614997}, - {0.640676, -0.202974}, {0.723470, 0.490124}, {0.178854, 0.920912}, - {0.291047, 0.310138}, {1.437523, -0.613064}, {0.311316, 1.098868}, - {0.064226, 0.222299}, {0.635425, 0.681261}, {-2.079335, -0.027042}, - {-1.620853, -0.434969}, {-0.771540, -0.951936}, {0.075813, -0.359065}, - {-0.196248, 0.026575}, {0.549859, -0.479033}, {0.779249, -0.479395}, - {0.489763, 0.682128}, {0.779679, 0.447111}, {0.248959, -0.926465}, - {-0.978864, -0.625647}, {0.487766, -0.729178}, {0.488021, -0.395398}, - {-1.132487, -0.266249}, {-0.946289, -0.121230}, {-0.043873, -0.494146}, - {-1.797368, -0.163129}, {0.604546, 0.840547}, {-0.100001, 0.205591}, - {-0.704900, -0.745045}, {0.141108, -0.367080}, {0.714093, 0.338304}, - {-0.211548, 0.288865}, {-0.139203, 1.696446}, {0.398683, -0.856051}, - {-1.399684, 1.056120}, {-0.172748, -0.560887}, {-0.742047, -1.011942}, - {0.435281, -1.466353}, {0.372200, 0.312796}, {-0.470258, 0.052912}, - {-0.720672, -0.015639}, {0.525673, 0.064041}, {0.322946, 0.778343}, - {-0.715545, 0.200291}, {-0.638279, -0.376644}, {0.318214, 1.262688}, - {0.518733, -0.228811}, {-0.587650, -1.462563}, {0.669318, -0.231777}, - {0.771174, 0.304270}, {-0.186317, 1.664676}, {0.111617, -1.626430}, - {-0.574343, 1.310556}, {1.093523, 1.010366}, {-0.051229, 0.373412}, - {-1.055527, -0.123199}, {1.258413, -0.434222}, {0.204129, 0.827730}, - {-0.609029, 0.323469}, {1.834988, 0.769506}, {-0.473224, 0.009616}, - {-0.936846, -1.464676}, {0.419282, 0.867511}, {0.691505, -0.431348}, - {0.462740, -0.806883}, {-0.077804, 0.056353}, {0.201756, 0.460018}, - {-0.101533, -0.186722}, {-0.683106, -0.812029}, {0.393013, 0.220783}, - {0.960070, 0.016689}, {-0.818561, 0.072895}, {-0.304093, 0.221132}, - {0.432887, 0.613225}, {0.799350, 1.722360}, {-1.201054, 0.101461}, - {-0.284951, -0.099726}, {-0.284407, 1.019124}, {1.161096, -1.015084}, - {0.470649, 0.547416}, {0.910485, -0.148244}, {0.903437, -0.639555}, - {0.414630, -0.744832}, {-0.807047, 0.328593}, {0.546277, 0.129403}, - {0.979881, 1.317070}, {0.815188, -1.157551}, {0.652102, 0.325572}, - {0.986148, -0.443291}, {0.321192, -0.168401}, {-0.095464, 0.134572}, - {-0.644626, -0.367752}, {1.186512, 1.426639}, {-1.268228, -1.212135}, - {0.329307, -0.048942}, {-0.453068, 0.181014}, {-0.120221, 1.319718}, - {0.203761, 1.057543}, {0.323603, -0.370886}, {1.278257, 0.506360}, - {-0.137128, -0.217014}, {-0.123980, -0.196150}, {0.969988, 0.131635}, - {1.034595, 0.043616}, {0.051072, -0.038913}, {0.475718, 0.545762}, - {0.860966, -0.183492}, {1.509751, 0.139050}, {0.183777, 0.478787}, - {0.452950, 0.262511}, {1.193602, -0.473727}, {1.279293, 1.055423}, - {0.496909, 0.719865}, {1.540333, -0.346943}, {-0.293427, -0.718329}, - {0.304463, 1.034630}, {0.081471, -1.789542}, {-0.654413, 0.275167}, - {-0.234365, 0.326354}, {-1.026665, 0.836313}, {1.740778, -0.446498}, - {1.571499, 0.008159}, {-1.551162, 0.190736}, {0.766180, -1.958868}, - {-0.246677, 0.141081}, {-1.245445, -1.767784}, {0.338713, -0.398232}, - {-0.167049, 0.337391}, {1.670908, -0.878596}, {-0.346210, 0.066791}, - {-0.167848, -0.262351}, {-0.838038, -0.908504}, {0.665549, -0.241012}, - {0.507867, -1.133164}, {0.083940, -0.788292}, {0.689884, 0.002313}, - {0.188896, 0.230707}, {-0.395535, 0.585358}, {0.759700, 0.630998}, - {0.406334, 0.692208}, {-0.523691, 0.244080}, {-0.358877, -0.192886}, - {0.658757, -1.197811}, {0.276591, -0.550659}, {1.042222, -0.377038}, - {-0.519696, 0.588037}, {0.042507, 0.893983}, {-1.038433, -0.388424}, - {0.229740, 0.097563}, {0.050357, 0.853214}, {1.178250, 0.666711}, - {1.119683, 0.327372}, {0.299392, 0.581337}, {-0.726023, 0.958577}, - {-2.087364, -0.040116}, {-0.733430, -0.365305}, {-0.183230, 0.747083}, - {0.195544, -0.669629}, {0.096009, 0.081064}, {-0.158337, 0.140540}, - {-0.141282, 1.098426}, {-0.200366, -0.260091}, {0.179909, 0.324990}, - {-0.177505, 0.710188}, {0.418389, 0.656253}, {0.201164, -0.480767}, - {-0.663206, -0.632061}, {0.866354, 0.298333}, {0.580605, -0.186255}, - {1.573994, -0.905037}, {-0.331628, -0.857198}, {0.740416, 0.061667}, - {-0.564123, -0.882095}, {-0.015107, 0.034831}, {0.843711, 0.918154}, - {-1.214840, 0.950409}, {-0.362231, 0.026602}, {-0.345554, 0.438305}, - {-0.413601, 0.471900}, {-1.395099, -1.305808}, {-0.405840, -0.326921}, - {0.411408, -0.368048}, {0.883666, -0.358755}, {-0.035198, 0.003136}, - {0.954488, -0.213214}, {0.332939, 0.172640}, {0.959216, 0.688263}, - {0.018761, 2.039100}, {2.100315, 0.051013}, {-0.271325, -0.485585}, - {0.510974, -0.232181}, {-0.510400, -0.715401}, {0.026534, -0.521681}, - {0.089140, 0.147550}, {-0.756320, 0.829660}, {-0.500559, 0.266032}, - {-0.082253, 0.526760}, {-0.317537, 1.100217}, {0.537659, 0.004379}, - {-0.511521, -0.070164}, {-0.950504, 0.979454}, {-0.434086, -0.894423}, - {-0.161771, 0.383922}, {0.169965, 0.443431}, {1.126951, 0.313781}, - {-0.083320, 0.064187}, {1.105827, 0.058595}, {1.599304, 1.457213}, - {0.097539, -0.136787}, {0.050654, 0.763772}, {-0.815735, 0.069732}, - {0.712392, 0.340298}, {-0.349751, 1.663162}, {-0.520406, 0.437961}, - {-0.182619, -1.106802}, {1.249108, 0.082180}, {-1.228325, -0.360564}, - {-1.231868, -0.419608}, {-0.294485, 0.226044}, {-0.060826, 0.702817}, - {-1.200765, 0.467426}, {-0.116198, 0.278628}, {1.214728, 0.324470}, - {0.225038, 0.563450}, {-0.007607, -0.256299}, {-1.010766, -0.953903}, - {-0.277060, 0.812392}, {0.707381, 0.168940}, {-0.918905, 0.693847}, - {0.282631, -0.353127}, {0.225166, 1.501837}, {-0.954247, -0.586650}, - {0.318076, -0.497355}, {-0.418723, 0.065298}, {0.084946, 0.228400}, - {0.307594, 0.474237}, {-0.107772, -0.421675}, {-0.232476, 0.576236}, - {0.586626, -0.859792}, {0.283680, -1.605937}, {0.065020, 0.212051}, - {-0.474997, -0.555701}, {0.353018, 0.138387}, {-1.107164, 0.434415}, - {0.138023, 1.048943}, {0.390060, -0.475007}, {0.216655, -1.005081}, - {-0.421095, 0.760430}, {0.827316, 0.631502}, {-0.349654, 0.360977}, - {0.492383, 1.430285}, {-1.500687, 0.296066}, {-0.380852, -0.291811}, - {-0.484800, -0.267565}, {-0.346712, 0.186646}, {-0.083542, 0.405885}, - {-0.188996, 1.142481}, {1.320101, 0.391448}, {-0.146608, 0.368600}, - {-1.163383, 0.327332}, {0.298202, -0.377332}, {-0.805110, 0.443164}, - {-0.871706, 0.069784}, {0.373116, -0.326406}, {-0.607307, 0.912847}, - {-0.607633, -0.101585}, {1.970281, 1.321946}, {-0.148369, 0.105401}, - {-0.282688, 0.816048}, {1.025746, 0.483259}, {-0.713131, 0.610143}, - {0.300423, -0.665059}, {-0.374302, 0.666611}, {-0.869616, 0.119894}, - {1.018758, -0.715852}, {-0.928172, -1.549172}, {0.085113, 0.833680}, - {1.108642, 0.496890}, {-1.549615, -1.217051}, {0.266179, -0.905077}, - {-0.215376, 0.513998}, {1.069599, 0.120225}, {-0.307138, -0.329984}, - {-0.571582, -0.130708}, {2.142098, -1.288388}, {-0.420347, 1.053044}, - {0.495939, -0.195319}, {0.502492, 0.785095}, {0.766173, 0.428730}, - {-0.099107, -0.093918}, {0.729183, -0.195718}, {0.426967, 0.415027}, - {-0.895545, 0.886429}, {-0.968602, -1.162273}, {0.416021, -0.046332}, - {-1.219170, 0.166351}, {0.586550, -0.244157}, {0.838475, -0.615897}, - {-0.672975, -0.618807}, {-0.360221, -0.009750}, {-0.674237, -0.787390}, - {0.760231, -0.187308}, {-0.812272, -0.645441}, {0.790059, -0.221013}, - {-0.232809, -1.981273}, {1.111118, 0.087870}, {0.404225, -1.245472}, - {0.461102, 0.105999}, {0.013247, 1.296239}, {-0.108755, 0.536528}, - {-1.449621, 0.250056}, {-0.195004, -1.416802}, {0.037800, -0.364457}, - {0.552454, -0.675048}, {-0.065913, 0.268582}, {-0.831306, -0.075565}, - {0.515745, -0.533599}, {-1.138916, -1.364227}, {-0.070245, -0.567231}, - {0.128759, 0.526600}, {0.665589, 0.326906}, {-0.224787, 0.432314}, - {-0.228078, -0.843603}, {-0.031752, -0.495566}, {0.022634, -0.591376}, - {-0.700905, 1.335250}, {-0.661231, 0.287638}, {0.023830, -0.433696}, - {-1.666931, -1.034963}, {0.531734, -0.239730}, {-0.827702, -1.580614}, - {-0.751258, 0.940162}, {-0.287944, -0.191240}, {-0.907179, -0.244279}, - {0.709229, -0.938878}, {0.900749, 0.288377}, {-0.676512, 1.189215}, - {0.514203, 0.472178}, {0.721634, -0.583054}, {1.061447, 0.267226}, - {-1.211157, 0.301310}, {-0.167337, -0.373970}, {0.028457, 0.985726}, - {0.110579, -0.098623}, {-0.172895, -0.801720}, {1.208278, 0.474267}, - {-0.384456, -1.699807}, {-0.218454, -0.500844}, {-0.106211, 0.296750}, - {-1.006444, -0.168547}, {0.382713, -0.009482}, {0.331157, -0.878432}, - {0.031083, -0.458680}, {-0.365436, -0.454964}, {-0.398935, -0.993382}, - {-0.769671, 0.501222}, {-0.051267, -0.864739}, {1.167413, 0.251483}, - {-0.638681, -0.123305}, {-0.903249, -1.315449}, {1.127817, 0.729152}, - {-1.489803, -0.197712}, {0.258543, -0.400706}, {-0.067041, -0.250410}, - {1.170671, 0.585027}, {-1.025814, -0.952182}, {0.191594, -0.695594}, - {1.088652, 0.211765}, {-0.672739, 0.157990}, {0.594503, -0.652204}, - {0.621315, -1.149470}, {-1.002667, -0.051699}, {-0.548659, 0.070243}, - {-0.256829, -0.297262}, {0.978255, 0.627959}, {0.645651, 0.839562}, - {0.851345, -0.772047}, {0.605615, -1.084795}, {-1.066617, 0.157309}, - {-0.431485, -0.334219}, {-0.065427, -1.128954}, {-0.568002, -1.040160}, - {0.572203, -0.754751}, {0.659738, -0.070165}, {-0.381698, -0.328700}, - {-1.564251, 0.477004}, {0.088705, -1.206888}, {0.054398, 1.727333}, - {-0.225188, -0.242253}, {0.166157, -0.688561}, {-0.949477, 0.963288}, - {0.412511, 0.460764}, {-0.156152, -0.188229}, {1.155036, 0.424556}, - {-0.490640, -0.278005}, {-0.412096, 0.287758}, {1.863923, -0.062265}, - {-0.222627, 0.474599}, {1.395178, 0.343841}, {-0.147666, -1.077881}, - {-1.174875, 0.087301}, {0.690832, 0.894002}, {0.207429, -0.821849}, - {1.005274, 1.609804}, {0.371987, -0.429320}, {-0.514226, -0.590668}, - {-0.026782, 0.397409}, {1.015714, 0.810520}, {0.927649, 0.649634}, - {0.776910, -0.296798}, {0.976134, 0.656214}, {0.003040, -0.262665}, - {0.315733, 1.042726}, {-0.596531, 0.246790}, {-0.402001, 0.608359}, - {0.581907, 0.501635}, {1.279527, 0.729790}, {0.490545, 0.881851}, - {1.094798, -1.607173}, {0.965914, 0.484647}, {-0.960222, 0.649783}, - {0.364875, -0.219241}, {-0.077840, -0.737867}, {0.774998, 0.247243}, - {-0.119677, -0.232309}, {-0.570180, -0.118825}, {0.977602, 1.283441}, - {0.831912, -0.804168}, {-0.196479, -0.062512}, {0.656737, 0.855329}, - {0.528258, -0.285970}, {-2.250344, 0.084504}, {0.546068, 0.570570}, - {-0.858377, -0.909879}, {-1.108219, 0.488554}, {-0.490006, -0.454847}, - {0.049783, -0.432571}, {0.144726, 1.065848}, {-1.394773, 0.611523}, - {0.082976, 0.531777}, {0.285337, -0.535880}, {0.308235, -0.704091}, - {-0.234517, 0.379574}, {-0.039539, 0.828459}, {0.357857, -0.609556}, - {0.753604, -1.306881}, {0.790172, 0.034169}, {0.056248, -0.121251}, - {0.186954, 0.648174}, {-0.995005, 0.274405}, {-1.001077, 0.860050}, - {-0.057085, 1.511382}, {-1.206087, 0.878339}, {0.137995, 1.844478}, - {-1.493125, -0.998766}, {0.745860, -0.643919}, {-2.238097, 1.200986}, - {-1.456539, 0.719147}, {0.950348, 0.805055}, {-0.011920, 1.722326}, - {1.586502, -0.601509}, {-0.761579, -0.427211}, {-0.442142, 0.336680}, - {0.366955, -0.402493}, {0.706776, 1.396136}, {-0.456781, 0.836723}, - {1.000545, -0.568838}, {0.385663, 0.662292}, {0.477626, 0.829285}, - {-0.458256, -1.032467}, {-0.359687, -0.822045}, {-0.684604, 0.498532}, - {-1.225389, 0.177601}, {0.432596, 0.406977}, {-0.151285, 0.179645}, - {1.147279, -1.685706}, {0.525030, 0.020319}, {-0.118010, -0.066492}, - {-0.080738, 0.414352}, {0.066255, 0.637437}, {0.213317, -0.937024}, - {0.349175, -0.783824}, {-0.536209, 0.153490}, {-0.439903, -0.158521}, - {0.270046, 0.415777}, {0.680110, -0.429989}, {0.868958, -0.394753}, - {-0.327469, -0.604439}, {0.018249, 0.086110}, {0.863033, -0.847249}, - {0.819329, 0.546402}, {1.547121, -0.605341}, {-0.742487, 0.218372}, - {-0.531181, -0.785213}, {-0.414961, -1.837414}, {-0.697729, -0.105849}, - {0.562781, 1.161757}, {-0.252197, 0.174986}, {1.019893, -1.022593}, - {1.147283, -0.216186}, {-0.192484, 0.544878}, {-0.288308, -1.126081}, - {-0.653159, 1.145602}, {0.356144, -0.300500}, {-1.877840, -0.660298}, - {-0.888508, 0.081546}, {0.095668, -0.650209}, {-0.996078, -0.377501}, - {-0.936371, -1.051814}, {0.735572, 0.371096}, {0.667417, 0.241111}, - {-1.166763, -0.795707}, {-0.604337, -0.214551}, {0.366715, -0.220244}, - {0.135127, -1.369202}, {-1.280505, 0.349096}, {1.611228, 0.383331}, - {0.010946, -0.325781}, {0.156384, 1.852116}, {-0.937935, 0.398887}, - {-0.149062, 0.073763}, {2.104644, 1.227660}, {-0.626178, -0.143603}, - {0.148232, 0.324548}, {0.172888, -0.311778}, {-1.220482, -0.578080}, - {-0.817595, 1.215959}, {-0.071187, -0.946781}, {-0.316114, -0.621434}, - {0.612704, -0.753227}, {0.053054, -0.899090}, {-0.548320, -0.228200}, - {0.163999, 0.796821}, {-0.245404, 0.209061}, {0.441967, 1.234234}, - {-0.551563, 0.044447}, {0.658026, 0.187557}, {0.127459, -0.986518}, - {-1.929082, -1.281298}, {-0.281742, -0.218021}, {-0.024907, 0.738612}, - {-0.576868, 0.213936}, {1.047293, 1.199670}, {-0.588133, 0.536676}, - {-0.873318, -0.257263}, {-0.173412, -0.363335}, {-0.711159, -1.458770}, - {-0.627417, -0.146663}, {0.734973, 0.087137}, {1.617436, -0.176356}, - {-0.695416, 0.009464}, {0.641452, 0.164848}, {-0.365163, -0.298145}, - {-0.040627, -0.594555}, {-1.136559, 0.782394}, {0.889175, 1.501206}, - {-0.505251, -0.965412}, {-0.235839, 0.215222}, {-0.031725, 0.742335}, - {0.298775, -0.150465}, {-0.849287, 0.112957}, {1.179378, 0.099546}, - {0.512879, 0.770936}, {-1.199297, -0.033108}, {-0.539796, 0.936294}, - {-0.205207, -1.051996}, {-0.131672, 0.924508}, {-0.089858, 0.043459}, - {-0.523057, 0.636311}, {-0.307674, 1.349578}, {0.036264, 0.711152}, - {1.140221, -0.739087}, {-0.755562, 0.284111}, {-0.724637, 2.054996}, - {-0.342831, -0.691441}, {-0.131512, -0.096478}, {-0.257152, 0.074351}, - {0.214615, 1.055861}, {1.802147, -0.650688}, {0.494614, -0.618490}, - {0.345858, -0.425000}, {-0.654990, 0.633968}, {1.944518, -0.824383}, - {0.027463, -1.406552}, {-0.356381, 1.000390}, {-0.326255, -0.349790}, - {-1.301773, -0.173698}, {1.209587, 0.733830}, {-0.415904, -0.973085}, - {-0.342312, 0.036046}, {-0.186381, 0.151542}, {-0.326625, 0.939369}, - {0.462830, -0.373640}, {0.606673, -0.179940}, {-0.484880, 0.561731}, - {-0.508378, -0.365497}, {0.234596, -1.627686}, {1.368364, -0.734676}, - {-0.795618, -1.015961}, {-2.239029, -0.882143}, {0.465919, -0.251305}, - {0.445335, -1.446642}, {-0.265756, 0.613863}, {-0.452452, -0.137435}, - {0.431065, 0.801259}, {-0.152433, 0.602319}, {-0.540982, -0.360173}, - {0.631619, 0.163229}, {-0.006424, -0.396139}, {-1.237030, 0.367923}, - {-0.850830, -0.132116}, {0.775877, -0.627868}, {0.771979, -0.413618}, - {0.022536, 0.168067}, {1.196601, 0.009715}, {-0.617334, 0.060062}, - {0.364119, -0.116998}, {0.673689, 0.458119}, {0.149576, -0.055954}, - {-0.543521, 0.313275}, {-0.158121, 0.340606}, {-1.637515, 0.192407}, - {-0.980130, -1.214198}, {0.271889, -1.100195}, {-0.043511, -0.011070}, - {1.944409, 1.536861}, {1.054500, -0.241073}, {-0.266577, -1.534933}, - {-0.040460, -0.625212}, {-0.459612, -1.252847}, {0.965432, 0.594862}, - {0.576392, -0.927788}, {-0.551566, 0.279525}, {0.426353, 0.063682}, - {0.612646, -1.516517}, {-0.007228, -0.346205}, {0.011120, 0.115249}, - {0.472003, -0.089491}, {0.714530, -0.399992}, {-0.151271, -0.191677}, - {-0.775722, 0.462697}, {0.938747, -0.059595}, {-0.019837, 0.256951}, - {1.336979, -0.025192}, {-0.897808, -0.356736}, {-0.805198, 0.998662}, - {-0.427256, 0.460826}, {0.649266, -0.173119}, {0.712430, -0.425832}, - {-0.254883, 0.091398}, {-0.082338, -0.612070}, {0.215579, -0.567451}, - {-1.144568, 0.155085}, {0.780083, -0.289786}, {-0.695259, 0.933670}, - {0.982418, -1.676289}, {2.030334, 1.321377}, {0.038067, 0.527490}, - {-0.875315, -0.009320}, {0.068908, -1.082731}, {-0.327867, 0.493442}, - {-0.247380, 0.306530}, {-0.737028, 0.122061}, {0.989016, 0.117014}, - {-0.043846, 0.663677}, {0.666528, -1.034380}, {0.394277, 0.951912}, - {-0.002676, 0.539665}, {1.144832, 0.222148}, {0.575492, 0.698214}, - {-0.465967, 0.644700}, {0.135505, -0.027215}, {0.971868, 0.345926}, - {0.064156, -0.279836}, {-0.379608, 0.096507}, {-0.122669, -0.207917}, - {0.579961, 0.725394}, {0.595409, -0.048807}, {1.252596, -0.666008}, - {0.928256, 0.648530}, {-0.765453, 0.753437}, {-0.869056, -0.282207}, - {0.599402, 1.136827}, {-0.491976, 1.257567}, {-0.690075, 0.095121}, - {0.114144, 0.613636}, {-0.016676, 0.984432}, {-0.038227, 1.273482}, - {-0.273440, 0.465032}, {-0.042422, -0.082568}, {0.293014, -0.062751}, - {0.091950, 1.052528}, {1.290355, 0.079452}, {-0.373801, -0.287744}, - {0.178010, 0.153087}, {-0.069493, -0.767951}, {0.592277, -0.164846}, - {-0.624072, 0.699601}, {-0.164866, 0.014304}, {-0.989879, 0.549690}, - {-0.390924, 0.210302}, {0.028281, 1.109096}, {0.200445, -0.121299}, - {-0.837043, -0.089108}, {-0.330949, -0.683155}, {-1.497096, -0.744454}, - {0.724696, 1.325496}, {1.093918, -0.158002}, {-0.986055, 0.252052}, - {0.738405, 0.425232}, {0.346898, -0.636832}, {0.795577, -0.558523}, - {1.639357, 0.539509}, {-1.027171, -1.972701}, {-0.526853, 0.066382}, - {0.029728, 0.371083}, {0.493240, -0.618207}, {-0.085066, 0.157037}, - {-0.598327, 0.875382}, {0.473045, -0.683630}, {-0.190108, 0.531203}, - {0.755223, -0.445656}, {-0.970831, -0.378947}, {0.691900, -0.774742}, - {-0.566027, -1.971771}, {0.221130, 0.861383}, {1.126111, -1.603044}, - {-0.238397, -0.723054}, {-1.355820, 0.134919}, {0.901198, 0.804579}, - {-0.152608, -0.056988}, {-0.405939, 0.133609}, {-0.748368, -0.793250}, - {-1.127288, -0.628552}, {-0.545445, -0.085877}, {-0.731033, 1.379358}, - {0.017076, 0.460959}, {0.860053, 0.187958}, {-0.398644, 0.846772}, - {-0.136298, -0.593748}, {-0.570386, -0.054041}, {-0.208522, 0.414807}, - {1.089348, 0.418117}, {0.071506, -0.234059}, {0.803787, -0.420491}, - {0.379378, 1.744838}, {0.984846, -0.269280}, {0.287580, 1.777600}, - {-0.044561, 0.393765}, {1.037652, 0.288589}, {1.365033, 1.028047}, - {-0.268731, 0.214781}, {-1.399734, -0.585635}, {0.396474, -0.012739}, - {-0.310157, -0.572639}, {-0.869280, -0.470035}, {-0.767115, -0.147986}, - {-0.594210, -0.009435}, {-0.259161, 0.687769}, {0.400244, 0.052298}, - {-0.081466, 1.100944}, {-0.597903, -0.298039}, {-0.112978, 0.185533}, - {-1.188213, 0.607802}, {0.406532, 0.557457}, {0.053603, 0.608809}, - {-0.909431, -1.412004}, {0.092312, -0.308009}, {-1.045767, -0.193634}, - {-0.655190, 0.515159}, {-0.979891, -0.064583}, {-0.305666, 2.135184}, - {0.263726, -1.169643}, {0.138287, 0.442218}, {0.414382, -0.295128}, - {-1.223938, -0.394704}, {-0.670657, -0.732705}, {-0.130172, 1.369600}, - {0.795171, 0.769043}, {-0.363984, 0.127902}, {-0.154541, -0.229581}, - {0.285194, 1.725037}, {-1.330522, 0.314956}, {-0.233268, -0.249791}, - {-0.867872, -0.116151}, {0.528821, 0.939245}, {0.529436, -0.728938}, - {1.562335, -0.647528}, {0.100798, 0.930577}, {-0.638534, -0.474881}, - {-0.985353, -0.905430}, {-0.508469, -0.557904}, {0.109266, -0.555654}, - {0.066719, -1.050199}, {0.086614, 0.288710}, {-0.064293, 0.794723}, - {0.211760, 0.375610}, {-0.388465, 0.047865}, {0.115226, 0.666505}, - {0.090883, -1.307463}, {-0.505210, -0.481163}, {0.297328, 0.181031}, - {-1.005686, -0.291049}, {-0.384623, -0.349974}, {-1.117550, -0.533047}, - {-0.273571, 1.197142}, {-0.355377, -0.791390}, {-1.166707, 0.219873}, - {-0.039557, 0.571754}, {-0.869280, 0.219124}, {-0.267389, 0.851277}, - {-0.047552, -0.759693}, {-1.247211, 0.340410}, {0.074985, -0.567950}, - {0.114898, -0.993669}, {1.315018, 1.236524}, {0.490222, -1.122814}, - {-0.208569, 0.122706}, {0.811257, 0.284157}, {-1.535386, -0.961487}, - {-0.575903, -0.329705}, {-0.440839, 0.189689}, {0.461173, 0.106876}, - {-1.404882, -0.039592}, {0.157627, -0.164670}, {-0.143457, -0.082398}, - {0.137764, -1.405608}, {1.138510, 0.467085}, {-0.569274, 0.068115}, - {0.254692, -0.256963}, {-0.200568, -0.105250}, {0.649507, 0.852508}, - {0.256781, 0.075334}, {-0.422662, 0.827176}, {0.453451, -0.274344}, - {-0.619070, -0.789528}, {0.511156, -0.517215}, {-0.746724, 0.533320}, - {-0.266023, 0.211951}, {0.820569, -0.021797}, {0.906967, -0.184995}, - {0.080283, -0.845286}, {0.216563, -0.065165}, {-1.069864, -0.627168}, - {-0.694919, -0.377147}, {0.560266, 0.723653}, {-1.810003, 0.936073}, - {0.401495, -0.323666}, {0.279725, -0.512582}, {0.115233, 0.391509}, - {-0.049100, 0.503527}, {0.381476, -0.924580}, {0.158435, -0.369579}, - {-1.724612, -0.082530}, {0.146337, -0.627385}, {-0.580628, -1.005474}, - {-1.283667, -0.367336}, {1.671694, 0.093866}, {0.495123, 0.338942}, - {1.386453, 1.289725}, {0.046473, -0.010269}, {0.345976, 0.217331}, - {-1.307691, 0.901025}, {0.011671, -0.051992}, {0.446749, 0.491618}, - {-0.798861, -1.715122}, {0.459684, 0.845517}, {-0.619994, -0.080941}, - {0.726701, 0.519006}, {0.366870, -1.500535}, {-0.695698, -0.307731}, - {0.383154, -0.604660}, {-0.200421, -0.592773}, {0.845962, 0.202566}, - {-0.081811, -0.479720}, {-0.162211, 0.211402}, {-0.508318, -0.515009}, - {-0.598247, -0.160839}, {-0.361101, 1.022331}, {-0.593453, -0.828867}, - {-0.335951, -1.161512}, {0.323913, 0.171438}, {0.880390, -0.900887}, - {0.961106, 1.439049}, {-0.145219, 0.714873}, {-0.035628, 0.517433}, - {-1.289047, 0.344996}, {0.823198, -0.391606}, {-0.666119, -0.158353}, - {-0.497984, -0.154500}, {0.346989, 1.546966}, {0.708533, -0.966663}, - {0.374617, 1.425507}, {-0.337693, 0.237900}, {0.070178, -1.763557}, - {-0.029864, -0.502392}, {1.018740, 0.551282}, {0.470196, 0.024369}, - {-1.046625, 0.923415}, {-0.440020, 0.376281}, {0.735956, -1.156211}, - {-0.994301, 0.170391}, {0.092725, 0.006086}, {0.907493, -0.090784}, - {0.594763, 0.737713}, {0.906663, -0.107508}, {-0.367296, -0.557330}, - {-2.018388, 0.168510}, {0.752505, 0.463679}, {0.078006, 0.290962}, - {0.109202, 1.088115}, {-0.098741, 2.088661}, {0.628856, 0.143489}, - {0.531659, -0.603075}, {-0.792778, 0.565173}, {1.033181, 0.091416}, - {-0.436632, 1.313604}, {-0.484757, -0.142273}, {0.419226, -1.120024}, - {0.480503, 1.065520}, {-0.237411, -0.260825}, {0.605263, -0.918341}, - {0.875513, -0.731113}, {1.386509, 1.669871}, {-0.213429, 0.316753}, - {0.131674, 1.000488}, {0.748148, -0.249815}, {-0.533266, 0.340614}, - {-0.869102, 0.414872}, {0.441595, -0.694290}, {0.054900, 1.807807}, - {-1.703986, -0.934117}, {-1.249102, 0.046980}, {-0.221412, -0.687920}, - {0.448836, 0.201658}, {0.650497, 1.040959}, {0.177494, -0.799854}, - {-0.085265, 0.556515}, {-0.932668, -0.426775}, {-0.062327, -1.158497}, - {-0.500424, -0.587836}, {0.391493, -0.387043}, {-0.617236, -0.317457}, - {-0.578667, 0.512964}, {-0.169709, -0.817154}, {-0.110670, 0.372632}, - {-0.222525, -0.793149}, {-0.009570, 0.182038}, {-0.527806, 0.463093}, - {-1.697382, -1.718132}, {0.361860, 0.075201}, {0.089404, 0.241598}, - {-0.946784, 0.814996}, {-0.613512, -0.255426}, {-0.177349, -0.488484}, - {0.054348, -0.553629}, {-0.194009, 1.167781}, {1.709740, 0.267476}, - {-0.821832, -0.696939}, {-0.200828, -0.430296}, {1.069248, -0.373373}, - {-0.238442, -0.199476}, {-0.180144, -0.025549}, {-0.139817, -0.071419}, - {-0.173577, -0.475708}, {0.304222, -0.368525}, {-0.590842, -0.064255}, - {-1.185859, -1.155381}, {-0.081806, -0.629742}, {0.922781, 0.144932}, - {0.942112, 0.322870}, {0.825791, 1.003816}, {0.826714, -0.826888}, - {0.213177, 0.794777}, {-0.099002, -0.002608}, {-0.492385, 0.451787}, - {0.128127, 1.082202}, {0.271635, -1.443648}, {-0.178330, -1.243963}, - {-0.067726, 0.414538}, {-0.546234, 0.480571}, {-0.991696, -0.224893}, - {0.432404, -0.524750}, {-0.501489, -0.744894}, {0.103839, -1.138339}, - {-0.279854, -0.368705}, {0.455291, 0.602993}, {-1.678218, 0.178024}, - {-0.130112, 0.138684}, {-1.101287, 0.579001}, {-0.092947, -0.011740}, - {0.295525, 0.118103}, {0.785569, 0.325779}, {0.504792, -0.455453}, - {1.132796, 0.017106}, {0.033302, 0.186834}, {0.810809, -0.362816}, - {-0.474375, 0.097647}, {-1.062575, -0.732286}, {0.342440, -0.680445}, - {-0.732904, -0.575352}, {0.303712, -0.631739}, {-0.319236, -1.030421}, - {-0.387937, -0.348376}, {-1.079633, 0.118041}, {-0.602187, -0.491677}, - {0.423529, 0.249166}, {-0.952323, 0.209902}, {0.034247, 0.375740}, - {-0.592018, -0.397569}, {-0.163837, -0.427724}, {0.382374, -0.150979}, - {0.555706, -0.725082}, {-0.355857, 0.158597}, {0.761846, 0.076153}, - {-0.634078, -0.304593}, {0.471280, -0.916497}, {0.242803, 0.758195}, - {0.754191, 1.510976}, {1.548155, -0.494631}, {0.691794, -0.562304}, - {0.668136, -0.981643}, {-0.254217, -0.991335}, {-0.318592, -0.794923}, - {-0.462833, -0.254355}, {0.963190, -0.369654}, {-0.006760, 0.514227}, - {-0.029911, 0.884285}, {0.486003, -0.768507}, {0.111313, -0.201531}, - {0.594695, -0.372400}, {0.590731, -0.701254}, {-0.563540, 0.783977}, - {0.368562, -1.798989}, {0.756754, 0.099174}, {-0.637641, -1.143978}, - {0.650260, -0.244381}, {-0.691307, -1.071333}, {0.861524, 0.340780}, - {0.505066, 0.009908}, {1.474460, 0.787023}, {0.976164, 0.140441}, - {-0.254395, -0.077743}, {-0.607054, -0.319290}, {0.265146, 0.411305}, - {-1.013336, 0.386584}, {0.105899, 0.018232}, {0.563171, -0.016770}, - {-0.940128, -0.278832}, {-0.221102, 0.977281}, {1.567826, 0.261716}, - {0.196254, -1.341196}, {-0.102125, 0.328156}, {-0.201069, -0.674704}, - {0.352926, -0.898702}, {0.911536, 0.859603}, {-0.528193, 0.953868}, - {1.140887, 0.032021}, {-0.020405, 0.168142}, {0.328295, -0.517896}, - {-0.337676, 0.588593}, {0.585343, 0.249905}, {-0.287053, -0.782415}, - {0.794615, 0.416868}, {-0.332534, 1.181646}, {0.674689, -0.239908}, - {-0.248407, 0.137528}, {-0.301989, 0.114605}, {-0.044851, 0.768646}, - {0.542929, 0.080812}, {-0.071794, -0.299563}, {-0.734715, 0.382308}, - {-0.421130, 0.911202}, {-0.430273, 0.472535}, {-0.687487, -0.273706}, - {0.367111, -0.660188}, {-0.918680, 0.527015}, {-0.341398, 0.970202}, - {-0.107157, 0.886225}, {0.938713, -0.223450}, {-0.671171, -0.152803}, - {-0.385831, 0.640238}, {-0.780561, -0.635265}, {0.715185, 0.185086}, - {-0.699200, 0.606720}, {-0.653360, 0.102234}, {0.131534, -1.084895}, - {0.261869, 0.060136}, {0.317683, -0.939159}, {-0.840538, -0.043646}, - {-1.424293, 0.084761}, {1.215854, -0.694838}, {0.062843, -0.337987}, - {0.563976, 0.504785}, {-0.080370, 0.085930}, {0.032035, -1.010920}, - {0.551369, 0.494227}, {-0.116020, 0.300480}, {0.331724, 0.036285}, - {-0.382426, -0.529493}, {1.077808, -0.458413}, {0.331854, 1.032253}, - {-0.535004, -0.323188}, {-0.819970, 0.052055}, {0.719559, -0.602325}, - {0.915057, 0.257542}, {-0.428636, -0.009926}, {-1.805475, 0.369659}, - {-0.614094, -0.001800}, {-1.235578, -0.052044}, {0.097063, -0.732735}, - {-1.460257, 1.469093}, {1.278098, -0.169305}, {-1.378817, 0.540052}, - {0.493755, -0.307548}, {0.218180, 1.141994}, {-0.221486, -0.292270}, - {0.287143, -0.163096}, {0.703925, 0.446666}, {0.212925, 0.082821}, - {0.484300, 0.306027}, {0.357386, -1.297873}, {-0.738326, -0.241678}, - {-0.741457, -0.442234}, {0.327873, 0.656962}, {-0.853324, 0.049464}, - {0.311712, -0.772024}, {0.492337, -0.224030}, {-0.072145, -0.706020}, - {0.120789, -0.269756}, {0.510265, -0.199574}, {0.305081, 1.339218}, - {-1.174933, -0.318689}, {-0.310504, 0.857660}, {-0.260578, -0.738450}, - {0.840290, -0.412105}, {0.978639, 0.996309}, {0.545701, -0.214489}, - {0.442492, 0.140782}, {0.134327, -0.614024}, {0.152361, -0.415766}, - {0.402772, -0.590738}, {-0.086536, 0.126473}, {0.212853, 0.348347}, - {1.454511, 0.690384}, {-0.525360, 0.196963}, {0.096687, -0.682747}, - {0.001357, 0.832025}, {-0.426188, -0.466376}, {0.206853, -0.152419}, - {0.687454, 1.804000}, {-1.322728, 1.203989}, {0.482003, -1.241984}, - {0.500789, -0.065064}, {0.244065, 0.269642}, {-0.469472, -0.237159}, - {-0.066490, -0.163310}, {-0.281095, -0.567134}, {0.893307, 0.612599}, - {-0.632126, -0.774347}, {0.109283, 0.368826}, {0.148461, -0.404510}, - {-0.667521, 1.577892}, {0.218306, 0.265584}, {0.264606, -0.211250}, - {0.652372, -0.157857}, {-0.577376, -0.888662}, {-0.945390, 0.153267}, - {0.375344, -1.667404}, {-0.156601, -0.117106}, {-1.462571, -0.718417}, - {-0.575509, -0.808437}, {0.364817, 0.078618}, {-0.403867, 0.323323}, - {0.157170, 0.940718}, {-0.905934, 0.911193}, {0.173700, 1.333921}, - {0.056693, -0.033255}, {-0.296912, -0.103485}, {0.153056, -0.604195}, - {0.377705, 0.504978}, {-0.673747, 0.286633}, {0.034797, 0.558569}, - {-0.710120, -0.480598}, {-0.362652, -0.642279}, {-0.284230, 0.181896}, - {-0.426250, 2.162377}, {0.985906, -1.488951}, {-0.458442, -0.456442}, - {0.553374, -0.612342}, {-0.809457, -0.439975}, {0.180812, 0.353789}, - {-0.978222, 0.464068}, {-0.300099, 0.132864}, {1.487060, 0.218514}, - {0.957071, 0.801319}, {-1.294117, 0.020448}, {0.445091, 0.773514}, - {-0.199977, 0.450449}, {1.443591, 0.429417}, {-0.113708, 0.610933}, - {0.137175, -0.859998}, {-0.132513, -1.322847}, {-1.005503, -0.177505}, - {0.000357, 0.779256}, {1.075366, 0.024032}, {0.459241, 0.710256}, - {-0.305482, 0.106401}, {-0.276184, 1.043264}, {0.516417, -1.254294}, - {-0.131916, 0.527997}, {0.234204, -1.557823}, {0.030533, -0.531908}, - {1.085678, -0.371773}, {-0.221198, -0.710384}, {-0.063287, 0.159905}, - {0.444706, -0.383745}, {-0.446182, -0.684475}, {0.740908, 0.413410}, - {0.167352, 0.712524}, {0.392175, 0.355523}, {0.129803, -0.137579}, - {-0.528156, -0.906438}, {0.405284, -0.052276}, {0.240957, -1.088857}, - {0.642791, -0.012554}, {-0.439821, 0.196588}, {0.640984, 0.397706}, - {-1.267697, -0.882481}, {-0.129466, 1.197844}, {1.461545, -0.514695}, - {-0.664521, -0.084123}, {-0.351623, 1.236291}, {0.412838, -0.694709}, - {0.414800, -0.181844}, {-0.304968, -0.380719}, {1.155782, -0.095914}, - {-0.071784, -1.320101}, {-0.694458, 0.795722}, {0.810258, 0.637455}, - {1.163340, -0.742524}, {-0.963930, 0.444600}, {0.655143, 0.089189}, - {-0.592677, -1.127872}, {0.887550, -0.327055}, {0.625412, -0.529684}, - {0.713678, -0.696201}, {0.055567, -0.252346}, {0.166431, 0.153213}, - {0.441026, -1.378759}, {0.559243, -0.537530}, {0.202748, 0.275560}, - {-0.840727, 0.168231}, {-0.064211, 0.001891}, {0.281684, 0.135740}, - {-0.358316, -0.959788}, {1.306011, 0.464514}, {-1.036941, -0.959162}, - {1.406593, 0.632846}, {-1.569454, -0.365218}, {-0.346228, 0.731728}, - {-1.295997, 0.560615}, {-0.959968, 0.986496}, {-0.585640, -0.657095}, - {-0.118904, -0.871209}, {0.926150, -0.531476}, {0.933032, 0.480609}, - {0.263173, 0.494663}, {0.886100, -0.059677}, {-0.369519, -0.535388}, - {0.421964, -0.910301}, {-0.326652, -0.190231}, {0.547934, 0.631971}, - {0.710113, -0.411325}, {0.693213, -0.929055}, {0.018916, -0.458380}, - {-0.289372, -0.644681}, {1.603608, -0.790238}, {-0.870347, -0.519386}, - {-0.120219, -0.195792}, {0.896996, 0.754328}, {-1.072971, 0.660451}, - {-0.169902, 0.618787}, {1.392250, 0.699588}, {0.102127, -1.159976}, - {0.654802, -1.138594}, {0.341693, 0.533089}, {0.622157, 0.293998}, - {0.739470, -0.685871}, {0.889143, -1.040852}, {0.028575, 1.018274}, - {1.349263, -0.463929}, {0.455431, -0.360066}, {-0.778939, 1.099713}, - {-0.893473, 0.754993}, {0.004027, -0.390836}, {-0.251340, 0.012372}, - {-0.222768, -0.628511}, {-0.106092, -1.338030}, {-1.913003, 0.816801}, - {0.249156, -0.479677}, {-0.736923, 1.666795}, {1.082270, -0.175401}, - {-0.885157, 0.570095}, {-0.049028, 0.558581}, {-0.490770, 0.519661}, - {-0.287551, -0.111662}, {1.033980, 0.682340}, {0.087287, 1.358185}, - {-0.050552, 0.564941}, {-0.303037, 0.089188}, {0.842740, 0.611644}, - {0.467414, -0.006327}, {0.466794, 0.602077}, {0.439659, -0.483228}, - {0.974723, -0.062053}, {-0.260206, -1.049128}, {-0.205828, 0.295329}, - {-1.647119, 0.441492}, {-0.714502, 0.081394}, {-0.205006, -0.757855}, - {-1.960274, 0.470666}, {-0.533298, 0.409415}, {0.855841, 1.096989}, - {0.358798, 0.730984}, {0.750960, -0.725304}, {1.146306, 1.834112}, - {-0.476547, 0.068212}, {-0.694398, -0.779186}, {1.092268, -0.985842}, - {1.398056, -0.217714}, {0.251666, 0.911836}, {0.110386, 0.085893}, - {0.701887, 0.259171}, {0.516668, 0.334310}, {-0.003315, -0.918830}, - {-0.195731, 0.013077}, {0.430466, -0.277817}, {1.030171, -0.394052}, - {-0.225629, -0.195349}, {-0.027538, -0.056974}, {0.031358, 0.064035}, - {0.387717, 0.243636}, {0.317769, -0.582616}, {0.940290, 0.778192}, - {-0.490807, -0.763537}, {0.207110, -0.045007}, {1.971938, 0.382367}, - {-0.727075, 0.439464}, {-0.077633, 0.672896}, {-1.460959, 1.007622}, - {-0.025801, -0.096694}, {-0.993988, -0.999907}, {0.464187, 0.789316}, - {0.256421, -1.363865}, {0.159660, -0.277453}, {-0.006103, 0.852472}, - {0.060031, 0.596424}, {0.620580, 0.715707}, {0.276113, -0.545072}, - {-1.012081, -1.133049}, {-0.097912, -0.474511}, {1.319384, 0.602481}, - {-0.031653, 0.663256}, {0.386930, 0.752664}, {-0.991397, -0.430424}, - {0.051973, -1.136431}, {-1.149435, 0.841670}, {-0.186103, 0.364773}, - {-0.412187, 0.132497}, {-0.775032, 0.368945}, {0.032215, 0.521604}, - {1.015831, -0.411670}, {0.726604, -0.273412}, {-0.017691, 0.358815}, - {-0.486292, -1.210999}, {-0.099767, 0.094482}, {0.097904, 0.233600}, - {-1.240408, 0.247283}, {0.721376, -1.415937}, {0.561702, 0.753190}, - {-0.214495, -0.390780}, {-0.433983, -0.193696}, {-0.539126, -0.635186}, - {0.334874, 0.117167}, {0.112738, -0.692831}, {1.294694, 1.248792}, - {-0.305773, 0.353188}, {1.021686, 0.202287}, {0.256958, -0.390091}, - {0.166097, 0.454005}, {-0.079576, -1.102067}, {1.538520, -0.563688}, - {-1.731706, -1.126758}, {-0.670402, 0.414350}, {0.514859, -0.033709}, - {0.457049, -0.953866}, {-0.025339, -0.186967}, {0.921516, -0.006589}, - {1.133250, 0.762349}, {-1.942749, -0.290318}, {-1.006259, -1.719958}, - {0.583133, 0.184458}, {1.533676, 0.565125}, {1.678753, 1.997106}, - {0.414856, 0.635099}, {0.248681, -0.371868}, {-0.480461, 0.508675}, - {0.128528, 1.225431}, {-1.035243, -0.326540}, {-0.591735, -0.256529}, - {0.404609, 0.115763}, {-0.127455, -0.322196}, {-1.377901, 0.027817}, - {-0.419663, -0.117352}, {0.100835, -0.416059}, {0.112067, -0.455572}, - {-0.918836, -1.089230}, {0.819424, -0.676223}, {-1.262287, -0.710934}, - {-1.405267, -0.629728}, {-0.245684, 0.259446}, {0.275126, 0.743111}, - {-0.632728, 0.059081}, {-0.268444, 1.149652}, {0.262731, -0.503980}, - {-0.732316, 1.865036}, {0.546659, -0.355999}, {1.055911, -0.387197}, - {0.493665, -0.753767}, {-0.182871, 0.659888}, {0.622885, -1.309388}, - {-0.557757, -0.093695}, {0.098147, 0.439508}, {0.803828, -0.887762}, - {-0.324194, -0.317906}, {-1.732072, -0.835605}, {-0.244274, 0.535165}, - {0.459924, 0.794849}, {-0.678300, 1.156888}, {-0.492597, 0.785141}, - {0.158968, 0.435641}, {-0.036905, 0.358065}, {0.110872, -0.689448}, - {0.880365, -1.190838}, {0.796720, 1.588231}, {-1.706377, 0.554221}, - {-0.358409, -0.529411}, {-0.715658, 0.777524}, {-0.561075, -0.227583}, - {0.899021, -0.235572}, {0.525853, -1.659359}, {0.079290, 0.113489}, - {0.113024, 0.340952}, {-0.139241, 0.174221}, {0.224799, 0.763237}, - {-1.379719, 0.258011}, {-0.935142, -0.447336}, {-0.784769, 0.357662}, - {-0.232321, -1.397151}, {-1.450584, 0.943146}, {-0.324962, -0.543177}, - {-1.282408, 0.863020}, {0.050112, 0.898989}, {-0.604191, -0.538101}, - {0.343664, -0.068146}, {0.102684, -0.123663}, {0.928256, 0.360823}, - {-0.097289, 0.462497}, {-0.092053, 0.034602}, {0.440637, -0.296188}, - {1.149567, -0.825341}, {0.260298, -0.546318}, {0.369902, -0.765528}, - {-0.115122, -0.752161}, {-0.134579, -0.097381}, {-0.352925, -0.341836}, - {-0.133949, 0.670338}, {-1.133992, -0.211796}, {-0.771100, 0.093373}, - {-0.958877, 0.269735}, {-1.004989, -0.185393}, {-0.095868, 0.247778}, - {-2.586064, -0.157309}, {0.225446, -0.204901}, {0.848046, -0.114858}, - {0.944526, 0.415761}, {0.175256, 0.081095}, {-0.221988, 0.520441}, - {0.101561, 0.235463}, {1.036973, 0.143210}, {1.226535, -0.837936}, - {0.071154, -0.334797}, {0.002085, -1.605103}, {-0.217532, -0.203431}, - {-0.020084, -0.177046}, {1.594854, 0.364505}, {0.353434, 0.078027}, - {-0.408512, 0.470233}, {1.312720, -0.497096}, {-0.446915, 1.180362}, - {0.576132, -0.033510}, {0.987148, 0.361694}, {-0.741101, 0.494390}, - {-0.147701, 0.106470}, {-0.122341, 0.707589}, {-0.828018, 0.595488}, - {0.358592, 0.384138}, {1.122524, -0.548564}, {0.865484, 0.246095}, - {-0.347659, 0.661972}, {-0.629108, -0.078289}, {0.435537, 0.266599}, - {-0.290543, 0.076388}, {1.350286, -1.026417}, {-0.279524, 0.033803}, - {0.805857, -1.271171}, {1.494965, -0.166193}, {0.224108, -0.156611}, - {0.348711, 0.043524}, {0.486362, 0.705632}, {-0.135721, 0.860144}, - {-0.419355, -0.933635}, {0.585876, -0.739752}, {0.348953, 1.633115}, - {-0.716160, -0.030413}, {-1.012214, 0.928111}, {1.274223, -1.604781}, - {0.986726, 0.442809}, {0.926012, -1.822679}, {-0.976620, -0.129446}, - {-0.631693, -1.113716}, {0.013938, -0.471054}, {-0.337122, 0.006422}, - {-0.075227, 1.194378}, {0.192303, 0.005400}, {0.482293, 0.882435}, - {0.759362, -1.106292}, {-0.178414, 0.131685}, {-0.109098, -0.738940}, - {0.076915, 1.201590}, {-0.065114, -0.913385}, {0.258717, 0.253192}, - {0.006675, 0.474848}, {-0.120236, 0.074537}, {-0.914876, -0.604674}, - {-0.239318, 0.139784}, {0.373102, -0.811346}, {-0.112757, 1.025991}, - {0.939548, 0.465295}, {-0.350290, -0.018134}, {-0.562664, 0.175504}, - {0.514850, -0.074323}, {0.521176, 0.137696}, {0.194373, 0.197405}, - {0.927279, 1.181192}, {-0.118453, -0.014140}, {1.916604, -0.970558}, - {0.612289, -1.323595}, {-0.046588, 0.676538}, {-0.361614, 0.343330}, - {-0.072801, -0.258052}, {-0.387405, -0.305871}, {-0.953448, -0.183769}, - {0.528532, -0.434791}, {-0.180672, -0.359667}, {-0.599359, 0.653634}, - {0.050363, -0.480589}, {0.233107, 0.154633}, {-0.948858, 0.182072}, - {0.456937, -0.516302}, {0.303400, 0.828243}, {-0.675064, -0.986310}, - {-0.305059, 0.166836}, {1.464878, 0.165149}, {0.374637, -0.656082}, - {0.718124, -1.594720}, {0.470116, -0.781559}, {0.309853, -0.650064}, - {-1.133502, 0.331558}, {0.145630, -0.142324}, {-0.157430, -0.301290}, - {1.777805, 0.083103}, {0.717511, 0.394040}, {-0.145187, 0.174645}, - {-0.557239, 0.572090}, {0.191157, 0.101788}, {0.484733, 0.137371}, - {0.285309, -0.047834}, {0.197723, 0.435201}, {1.212389, 1.074376}, - {1.174508, -1.056099}, {-0.076020, -0.321082}, {-1.196586, -0.557423}, - {-0.610224, -1.475905}, {-0.009208, 0.213072}, {0.515729, -1.346302}, - {0.103609, -0.105880}, {-1.120470, 0.071781}, {-0.777519, 0.463790}, - {1.156226, -0.298195}, {0.203968, 0.760272}, {-0.780637, -0.918900}, - {-0.769841, -0.775429}, {0.935468, 0.026705}, {-0.241774, 1.112869}, - {0.227628, 0.184193}, {-0.183832, 0.409623}, {1.130661, 0.731075}, - {-0.555506, 0.437555}, {0.457972, -1.800335}, {0.272675, 0.660832}, - {-1.884673, 0.050126}, {-0.580737, -0.779387}, {1.227434, 0.547756}, - {0.053354, -0.616688}, {0.478480, 0.910639}, {-0.333049, 0.719330}, - {0.010465, -0.612533}, {0.906478, 0.818118}, {-1.193153, -1.824502}, - {0.706058, 0.615496}, {-0.370577, -0.145762}, {-0.902391, -0.628656}, - {-0.106987, -0.364320}, {-0.084966, -1.302484}, {0.849559, -0.758851}, - {-0.721184, 0.072056}, {0.445967, 0.442923}, {1.135449, 1.092539}, - {0.250839, 1.832846}, {0.242031, -0.912937}, {0.969083, -1.380916}, - {-0.854039, 0.805446}, {-0.063648, -0.529546}, {-0.556826, 0.358275}, - {0.502400, -0.419893}, {1.121981, -0.341123}, {0.146130, 1.403614}, - {-1.507194, 0.954692}, {1.696664, 1.704881}, {-0.599841, -0.359776}, - {-0.044186, -0.459231}, {-0.118475, -0.554999}, {-0.833973, -0.512125}, - {-1.163373, -0.238938}, {-0.208580, 0.332700}, {0.371481, -0.478670}, - {-0.607465, -1.178812}, {-0.293391, 0.125643}, {-0.646705, 0.940141}, - {0.189148, -1.350865}, {0.342294, -1.580507}, {-1.132454, -0.157761}, - {-0.019979, 0.524966}, {-0.169449, -0.519595}, {1.065918, -0.985098}, - {-0.915971, -0.284780}, {0.098857, -1.215288}, {0.783253, 0.635773}, - {0.449313, -0.510098}, {0.689266, 0.814086}, {-0.144834, -0.612379}, - {-1.427958, 0.199905}, {-0.474064, -0.742974}, {-0.337112, -0.137790}, - {-0.674899, -0.264672}, {0.912269, 1.104826}, {0.831791, -0.341448}, - {-0.388669, 0.672793}, {1.087330, 1.281850}, {0.118528, 0.631338}, - {-0.206049, -0.715623}, {-0.781056, 0.033644}, {0.792916, 0.295321}, - {-0.482422, -0.237909}, {0.261478, -0.752447}, {-0.754615, -0.516213}, - {0.192734, 0.378640}, {-0.439435, -0.431982}, {-0.946669, 0.479718}, - {-0.357092, -0.691345}, {1.157752, 0.666368}, {-1.383208, 0.311908}, - {0.409399, 0.461214}, {-0.698759, -0.607928}, {-0.482476, 1.416944}, - {-0.199183, 0.371134}, {-0.082352, 0.429145}, {0.432215, -1.285389}, - {-0.244029, -0.686566}, {-1.015378, 0.249656}, {0.956609, 0.256536}, - {-1.108435, -0.400837}, {0.358475, 0.626661}, {0.376849, 0.118413}, - {0.384957, -0.159492}, {1.550985, 0.318564}, {-0.658378, 0.829656}, - {0.070058, -1.867597}, {-0.556355, 0.877398}, {-0.939162, -0.758821}, - {-0.975259, 0.428551}, {-0.465374, 0.248586}, {-0.647683, 0.162461}, - {0.478579, -0.086328}, {1.171809, -1.210333}, {0.350605, -0.026423}, - {-1.535107, -0.289105}, {0.569494, 0.289004}, {-0.842191, -0.535135}, - {-1.056587, -0.341966}, {0.571423, -0.949688}, {0.377006, 0.223183}, - {0.895255, -1.194232}, {0.407145, 0.361737}, {-0.133994, -1.212235}, - {-0.635602, 0.102165}, {-0.112363, 0.370473}, {0.088680, -0.934189}, - {0.189376, 0.032527}, {0.241638, 0.015864}, {0.926939, -0.360267}, - {0.633242, -0.199406}, {-0.777074, 0.718454}, {1.263760, 1.272871}, - {-0.887876, 0.895443}, {0.045161, -0.732052}, {-0.500926, 0.113907}, - {-0.126137, 0.817229}, {0.086923, -0.332814}, {0.016727, 0.325903}, - {-0.336638, -0.207087}, {-0.613900, -0.550235}, {1.069793, -0.208412}, - {0.077398, -1.607311}, {-0.215649, 0.115757}, {-0.404151, -0.996211}, - {0.226156, -0.014279}, {-1.177157, 0.074822}, {-0.140062, 0.186657}, - {-0.409112, -0.330324}, {1.309929, -0.332041}, {0.821633, 0.695834}, - {-0.938862, -1.552127}, {0.075839, 1.054654}, {0.323977, -1.147671}, - {0.310022, 0.038229}, {-0.359029, -0.022630}, {0.324017, 0.387352}, - {-0.048052, 0.500409}, {-0.768604, -0.470784}, {0.684604, 0.201031}, - {0.736939, -1.300678}, {-0.479045, -1.017034}, {0.007828, -0.810752}, - {-0.304589, -0.420991}, {0.655603, -0.376914}, {-0.526926, -0.309443}, - {1.263186, 0.124584}, {-0.301892, 0.095891}, {0.329349, 0.607629}, - {0.858170, 0.481326}, {0.863272, -1.044820}, {-0.185530, 0.990111}, - {-0.944209, 0.851341}, {-0.140130, 1.176828}, {0.656967, -0.249158}, - {0.831843, 0.166278}, {0.281441, 1.026104}, {0.815836, 1.287209}, - {1.204176, -0.446447}, {-0.824919, -0.004133}, {-1.288957, 0.000250}, - {0.202791, 0.163948}, {-0.652007, 1.250650}, {-0.940207, 1.250555}, - {0.060222, -0.160424}, {0.276591, -0.733905}, {1.240840, -0.391642}, - {1.228907, 0.734534}, {0.183878, 0.004227}, {0.471755, -0.211169}, - {1.313163, 1.109955}, {0.040600, -1.427535}, {-1.534644, 0.502761}, - {-0.618235, 0.755691}, {0.075225, 0.536254}, {-0.464799, -0.526058}, - {-0.418575, -0.584390}, {-0.394190, -1.816489}, {0.225854, 0.231993}, - {-0.635186, -0.053889}, {-0.064877, -0.134776}, {-0.030140, 0.052716}, - {-0.548128, -0.690454}, {0.386017, 0.089867}, {1.770913, 0.146184}, - {-0.245883, 1.392924}, {-0.437879, 0.537205}, {-0.330323, 0.467750}, - {0.586680, -1.393470}, {-0.120830, -0.437540}, {-0.963768, 0.437445}, - {0.330936, -0.667993}, {0.308680, -1.588304}, {0.825726, 0.482044}, - {0.226749, -0.379008}, {0.713663, 0.392264}, {-0.364814, -1.242878}, - {-0.029851, -0.845113}, {0.519322, -0.794357}, {0.118346, -1.295004}, - {-0.992456, 1.318909}, {-0.072580, -0.019761}, {-0.289738, 1.767553}, - {-1.316428, 0.126071}, {1.683718, 0.210909}, {1.611788, 0.725453}, - {0.165352, 0.295910}, {2.416738, 0.700021}, {0.526805, -0.148660}, - {0.937490, -0.086265}, {0.818973, 0.716807}, {1.269264, 0.610734}, - {0.966294, 0.177897}, {-0.865904, 0.933524}, {-0.204972, 0.387884}, - {1.036139, -0.352334}, {0.025383, 0.301119}, {1.257758, -0.315413}, - {0.678906, 0.616848}, {1.169668, -0.413489}, {-0.307375, 0.005018}, - {0.073738, -0.187008}, {1.813125, -0.752193}, {1.392039, -0.785845}, - {-0.643245, 0.390684}, {0.463355, 0.238971}, {-0.002376, -0.085880}, - {-0.838524, 1.114617}, {-0.367220, -0.351002}, {0.266690, -0.777264}, - {0.192761, -0.720230}, {-1.500903, 0.695838}, {0.493120, 0.067029}, - {0.030118, 1.236780}, {0.034760, -0.819626}, {0.293606, 0.201533}, - {0.312385, 1.481040}, {0.644201, -0.675942}, {-0.630559, 0.140196}, - {0.752821, 0.626086}, {-0.310553, 0.372922}, {0.511409, 1.005211}, - {-0.312640, 1.205754}, {0.047365, 1.161801}, {0.634709, 0.848718}, - {-0.185228, 0.068916}, {0.710197, -0.424226}, {-0.627263, 0.410260}, - {-0.890694, 1.019410}, {-0.911236, -0.507543}, {0.072052, -0.119403}, - {0.277360, 0.255984}, {0.011718, -0.365213}, {-1.242291, -0.359709}, - {-0.266353, -0.290392}, {-1.193119, -0.901162}, {0.016134, -0.154263}, - {-0.392536, -1.082696}, {0.997809, 0.053994}, {-1.230871, -0.639927}, - {0.753734, 0.260376}, {-0.177411, -0.654997}, {-0.664207, -0.818289}, - {0.558704, -0.173549}, {-0.456297, -0.523642}, {0.437174, 0.603725}, - {1.110922, 0.929951}, {-1.145341, 0.606142}, {0.762613, -0.534990}, - {1.123318, 0.182479}, {-0.924404, 0.074693}, {0.421870, -0.803706}, - {0.237068, -0.731789}, {0.114878, 0.715037}, {-0.115797, 0.490062}, - {0.613808, -0.057239}, {-0.002727, 0.385070}, {0.118135, -0.066553}, - {-0.137414, -0.095722}, {0.241358, -0.096421}, {-0.514497, -0.904141}, - {-0.484342, 1.537877}, {-0.143724, 0.510801}, {0.761716, 0.162944}, - {0.627842, -0.387618}, {-0.263134, -0.631088}, {0.435091, 0.285372}, - {-0.506864, 1.600501}, {-0.514922, -0.416914}, {-0.127203, 0.976581}, - {-1.080020, -1.111665}, {0.197020, 0.354050}, {1.494278, -0.024726}, - {-0.547009, 0.483956}, {-0.111064, -1.245961}, {-0.654196, -0.610226}, - {0.233488, 0.119793}, {-0.816235, -0.666550}, {-0.154340, 0.061817}, - {-0.949530, 0.341751}, {0.045377, 1.203108}, {0.430596, 1.308333}, - {-0.016732, -0.389215}, {0.399432, 0.672581}, {0.459967, 0.156065}, - {-0.095913, -1.398591}, {-1.249649, -0.318145}, {0.584487, 0.046164}, - {0.523293, -0.263306}, {0.928685, -0.941009}, {-0.094772, 1.143322}, - {-0.647698, 0.255648}, {-1.029936, 0.187780}, {0.514449, 1.421299}, - {0.437990, -0.736063}, {-0.148725, -1.226925}, {0.735137, -0.988119}, - {1.047799, -0.121534}, {-0.407426, 0.264870}, {-0.700435, -1.115746}, - {0.532253, 0.835391}, {-0.713866, -0.766539}, {-0.594814, -1.583788}, - {-0.091316, 0.186157}, {-1.061280, 0.790775}, {1.196936, -0.655124}, - {0.138017, -0.110440}, {-0.482455, -0.535907}, {1.275872, -0.400182}, - {-0.064806, 0.484727}, {0.401664, -0.613058}, {-0.700481, -0.936574}, - {0.532775, 0.696085}, {1.008801, 0.749932}, {-0.986396, -1.189219}, - {-0.913639, 0.371736}, {0.784265, -0.263053}, {-0.408200, -1.066935}, - {-0.668052, -0.239838}, {-1.178900, -1.241531}, {-0.853686, 0.295449}, - {0.166123, -1.515813}, {-0.444517, 0.062558}, {0.332299, 0.329983}, - {-1.982113, -0.485853}, {1.132998, -1.205220}, {-0.804666, 0.302509}, - {-0.238308, -0.134546}, {0.710908, -0.432452}, {0.315154, 1.398999}, - {-0.681044, 0.872108}, {0.606473, 0.523653}, {0.014945, 0.278227}, - {-0.139660, 0.507999}, {0.589431, 1.064057}, {1.203018, -0.095737}, - {-0.706335, 0.844312}, {-0.457733, 0.411376}, {1.392476, 0.615478}, - {0.503531, 0.629748}, {-1.868925, 1.019854}, {0.623614, -0.097751}, - {1.591276, -0.051853}, {-0.113714, 0.458968}, {0.053809, -0.896137}, - {0.828523, -0.324982}, {-0.897275, 0.933097}, {1.465266, 0.219218}, - {-0.328468, -0.511827}, {-0.269574, 0.240325}, {0.158350, -0.002023}, - {0.007904, 0.374705}, {-0.748152, -0.404403}, {0.401461, 1.023925}, - {-0.694375, 0.165567}, {-0.750854, -0.441250}, {-0.732961, 1.478016}, - {-1.351355, -0.403812}, {1.015405, -0.641125}, {-1.187931, 0.516955}, - {0.356994, 0.568579}, {-0.980631, -1.747832}, {0.841677, -0.390122}, - {-0.341402, -0.520199}, {0.267459, 0.114024}, {-0.241603, -0.232871}, - {0.477839, 0.132306}, {-1.470251, 0.729433}, {0.041666, -1.683171}, - {0.476142, 0.743715}, {-0.601401, -0.980501}, {0.652458, -0.252309}, - {0.456130, -0.278763}, {1.118120, 0.633555}, {-0.749787, -0.239808}, - {-0.104785, 0.184428}, {0.669072, 0.512814}, {-0.766815, -0.611725}, - {0.264691, 0.519192}, {0.723239, 0.197053}, {0.208870, -1.040927}, - {0.225315, 1.672246}, {-0.292557, 0.249723}, {0.028916, 0.585265}, - {0.095992, 0.356909}, {-0.555301, -0.057219}, {-0.928637, -0.681245}, - {-0.528215, 0.113653}, {0.051210, -0.925710}, {-0.488349, -1.072004}, - {0.388358, -0.829677}, {-0.440984, 0.402262}, {-0.587779, 0.415484}, - {-0.854813, -1.202757}, {0.140449, 0.615316}, {-0.969118, 0.625102}, - {0.723061, -0.023433}, {-0.466547, -1.193377}, {0.174382, -0.191844}, - {-0.069412, 0.744591}, {0.614304, 0.878272}, {1.039704, -0.498006}, - {-0.308974, 0.145160}, {1.014526, -0.374036}, {0.252267, 0.687180}, - {-0.162024, -0.879458}, {-0.069318, -0.136461}, {1.084086, -0.626762}, - {-0.337708, 0.138883}, {-0.614793, 0.495342}, {-0.313819, 0.218629}, - {-0.355789, -0.208860}, {1.264926, -0.581676}, {0.995574, 1.298469}, - {0.048826, 1.154609}, {0.853013, 0.154451}, {-0.288999, -0.321106}, - {-0.313594, -1.063780}, {0.993070, 0.561339}, {0.227798, 1.300257}, - {0.228511, 1.096806}, {-0.206126, -0.606261}, {0.534751, 1.086407}, - {0.990795, -0.239272}, {-0.221983, -1.228456}, {-0.853842, -0.354515}, - {-1.529191, -0.080374}, {0.510801, 0.916183}, {-0.406386, 0.535647}, - {-0.894904, -0.543193}, {-0.238739, -0.062090}, {-0.888515, -0.567698}, - {-0.480891, -0.205695}, {0.174172, -0.275572}, {-0.272541, 0.816420}, - {-2.017061, -0.971229}, {0.654095, -0.688792}, {-1.521416, -0.151355}, - {-0.419304, -0.564373}, {-0.683359, -0.964495}, {0.191915, 0.116535}, - {-0.122173, 0.698014}, {0.091031, 0.996259}, {0.807417, -0.307397}, - {0.503590, -0.560922}, {-0.025515, -0.177932}, {-1.471801, 0.431103}, - {-0.274382, -1.436026}, {0.410563, 0.251427}, {-0.688289, 0.531037}, - {0.235751, -0.017373}, {1.697625, 0.330051}, {1.296692, -0.008806}, - {-0.161821, -1.267515}, {-0.157375, 0.552060}, {0.194818, -0.498418}, - {-0.803649, 0.679683}, {-0.085934, 0.145656}, {1.299868, -0.011962}, - {-0.912591, -0.421947}, {1.145332, 0.300821}, {0.269805, 0.306810}, - {-0.204528, -0.802886}, {-0.467310, 0.023213}, {-0.143521, -0.064844}, - {-0.615181, -0.550979}, {-1.849136, -0.009920}, {0.171609, -0.665812}, - {-0.491934, 0.882227}, {-1.650295, 0.114048}, {-0.400294, 0.424205}, - {-0.514118, -0.669073}, {0.258922, 0.794121}, {0.049997, 0.134089}, - {0.194488, -0.156671}, {0.344593, -0.056610}, {-0.065019, -0.791255}, - {-0.712143, -0.889316}, {-0.037947, -0.410308}, {-0.608536, 0.363014}, - {-0.995931, 0.748773}, {-0.532246, 1.524272}, {-1.273984, -0.692641}, - {0.216458, -0.969723}, {0.596969, 1.207691}, {0.630096, 0.619046}, - {0.053170, 0.680191}, {-0.316325, 2.215220}, {-0.727683, 0.614145}, - {-0.426250, -0.833144}, {0.824881, -0.500053}, {-0.529623, 0.311797}, - {-0.178255, 0.825478}, {0.103841, -0.104707}, {-0.031122, 0.452810}, - {-1.102562, -0.565139}, {0.562892, -1.009280}, {-0.990678, 0.532690}, - {0.780854, -0.558275}, {-0.797341, -0.248667}, {0.419113, 0.984902}, - {-0.373388, -0.223312}, {-0.219678, -0.502263}, {0.073586, -0.923303}, - {0.462648, -0.208484}, {0.402837, 1.456425}, {0.394849, 0.801398}, - {-0.032908, -0.398294}, {0.137910, 0.005318}, {-0.388445, 0.932065}, - {-0.968678, 0.568907}, {-1.168897, 0.713647}, {-0.135803, 0.675903}, - {-0.798947, 0.409210}, {-0.210345, 0.474493}, {-0.996924, -0.261361}, - {-0.376090, -0.169902}, {-0.084624, -0.337132}, {-0.149856, 1.151486}, - {-0.334993, -0.025083}, {0.014955, -0.281633}, {-0.296591, 1.360250}, - {-0.356625, -0.268706}, {0.092831, -0.664457}, {0.661417, 1.101560}, - {0.818075, -0.436305}, {0.257700, 0.826407}, {-0.876984, -0.265632}, - {-0.847009, 0.983195}, {0.533962, 0.025176}, {0.475236, -0.021672}, - {-0.408513, 0.144330}, {-0.054836, -0.056845}, {-0.811997, -0.428748}, - {-0.041344, 0.580983}, {-0.403695, 1.106749}, {-0.782566, -0.126241}, - {-0.164866, 0.115952}, {-0.511490, -0.220781}, {0.758437, 1.045866}, - {1.585939, 0.717827}, {0.198230, -0.423196}, {0.425990, 0.760640}, - {0.349586, 0.560766}, {-0.394644, 0.704755}, {0.816262, 0.894866}, - {0.669015, 2.130989}, {0.400988, 0.020291}, {0.271768, 0.213246}, - {0.677947, -0.681183}, {-1.418844, -0.062849}, {0.154916, -0.318327}, - {-0.397071, 2.104998}, {0.775958, -0.897373}, {-0.332711, 0.107389}, - {0.120366, -0.286305}, {0.329814, -0.271822}, {0.103319, -1.265877}, - {-0.729148, 1.209006}, {0.782576, -1.122029}, {-0.924092, -0.627575}, - {-0.804932, -0.421433}, {0.344793, -0.265698}, {0.408639, 0.540421}, - {-0.154016, 0.136751}, {-1.289312, 0.562553}, {-0.541214, 0.328546}, - {0.113700, 0.137387}, {-0.357670, 0.284727}, {0.870838, -0.493262}, - {-0.984308, -0.399538}, {0.156173, 0.616735}, {0.558083, 0.793972}, - {-0.041236, -0.886977}, {-0.272831, -0.458041}, {0.720271, -1.299717}, - {0.800746, -0.688169}, {0.003356, -0.488594}, {0.112341, 1.180680}, - {-0.404111, -0.185403}, {-1.132811, 0.187327}, {0.278689, 0.563330}, - {-0.475478, 0.253690}, {0.822805, -1.018580}, {-0.536317, -0.432998}, - {1.196511, 0.646342}, {0.248643, -0.351856}, {0.023010, 0.801504}, - {0.082477, 0.227903}, {-0.739984, 1.409377}, {-1.093346, 0.284272}, - {0.014437, 0.797834}, {-0.231989, -0.756894}, {-0.324308, -0.373406}, - {0.327255, 0.165462}, {0.077915, 0.976373}, {0.099804, -0.232398}, - {-0.188951, -1.848099}, {-0.264076, 0.299642}, {-0.249151, 0.531139}, - {-0.085369, 0.191014}, {0.418407, 0.643442}, {0.548592, -0.986217}, - {0.201831, -0.013044}, {0.402804, 0.414341}, {0.672157, -1.203954}, - {0.095442, -0.174176}, {0.841303, -0.015891}, {-1.263681, -1.045229}, - {0.761722, 0.884349}, {-1.504885, -0.472921}, {-0.346331, 0.174952}, - {0.933591, 0.149618}, {0.730042, -0.463471}, {-0.475737, 1.006552}, - {0.759548, -0.283706}, {0.157366, -1.489094}, {0.523688, 0.334166}, - {0.876784, 0.002512}, {-1.026722, 0.090503}, {-1.165607, 0.169016}, - {0.359693, -0.053239}, {0.215738, 0.499053}, {-0.350342, 0.196230}, - {0.896169, 0.062044}, {2.042446, -1.127256}, {-0.534803, -0.041073}, - {-0.164018, 0.930955}, {1.250713, 0.249031}, {-0.869230, 0.749397}, - {0.340076, -0.429473}, {0.156416, -0.607349}, {-0.876436, 0.247448}, - {0.631910, -0.711511}, {-0.353926, 0.595086}, {-0.317500, 0.152275}, - {0.016852, 0.409049}, {0.138180, -0.897995}, {-1.043338, 0.106864}, - {0.249097, 0.765102}, {-0.063449, -0.898102}, {-0.009991, 0.423051}, - {-2.479719, -0.472494}, {0.089759, 0.324779}, {-0.425748, -0.136768}, - {-0.039432, 0.113546}, {0.378075, 0.584178}, {-0.116790, -0.340992}, - {1.409989, 0.608333}, {0.185191, 0.854648}, {0.148669, -0.916006}, - {0.243601, -0.578485}, {0.534792, 0.128748}, {0.096589, -0.011526}, - {0.302454, -0.104072}, {0.557113, -0.581964}, {0.123224, 0.084108}, - {-0.040691, 1.241659}, {-0.976656, -0.139564}, {0.461107, 0.951388}, - {-0.172467, -1.082873}, {-1.153675, -0.385351}, {-0.618565, 0.103723}, - {0.584970, -0.576273}, {-0.072267, 0.632778}, {-1.229002, -0.083644}, - {-0.398376, -0.960650}, {-0.182248, 0.182768}, {0.047476, -0.416691}, - {-0.006784, 0.265975}, {0.197887, -0.503323}, {1.187192, -0.302236}, - {-0.243130, -1.039109}, {-0.062329, 0.768271}, {0.943091, 0.735741}, - {-0.034137, 0.599684}, {-0.528197, -0.012226}, {-1.206841, 0.534777}, - {-0.136555, 0.133648}, {-0.026909, -0.925145}, {0.545718, 0.306186}, - {0.019155, 0.114856}, {0.108414, 0.467932}, {-0.690591, 0.822777}, - {-0.784363, -0.578012}, {-0.355875, 0.224161}, {1.082772, 0.724638}, - {0.259778, -0.690524}, {0.144948, -0.594185}, {-0.569524, -0.553273}, - {0.951085, -1.238274}, {-0.334362, 0.954367}, {0.270034, -0.455925}, - {0.135168, 0.992027}, {0.673968, -0.116692}, {1.150927, -0.985755}, - {0.401896, -0.044726}, {-0.404015, 0.215494}, {-0.874189, -0.310641}, - {-1.076193, -1.010944}, {-1.077048, -0.032036}, {-0.059354, -0.173463}, - {-0.218021, 0.018288}, {-0.196944, -0.747249}, {0.734062, 0.379284}, - {1.158500, 0.450099}, {-0.858797, 0.229643}, {1.308480, -0.146091}, - {-0.741501, 0.254662}, {1.000943, 0.157585}, {0.521755, -0.098708}, - {0.086764, 0.359042}, {-0.099892, 0.739584}, {0.340750, -1.523697}, - {-0.536943, 1.085834}, {0.570584, 0.105172}, {0.202618, -0.072868}, - {-0.636440, 0.211023}, {0.497984, 0.587557}, {-0.110149, -1.306920}, - {-0.679943, 0.412284}, {-0.316334, -0.908325}, {-0.711702, 1.541623}, - {1.257867, 0.108194}, {-0.642721, -0.461193}, {-0.358721, -0.241200}, - {0.150649, -1.176602}, {-1.319244, 0.289257}, {0.773558, 0.096770}, - {-0.827512, -0.185106}, {-0.040823, -1.803707}, {0.649424, -0.745211}, - {1.254139, 0.001556}, {0.329440, -0.291886}, {-0.640815, -0.162880}, - {0.091218, 1.039846}, {0.699821, -0.470335}, {-0.583234, -0.635644}, - {0.819819, -1.751943}, {-0.721584, 0.787984}, {-0.179237, 0.328456}, - {-0.063781, 0.429699}, {1.631510, 0.041000}, {0.122645, -0.926669}, - {0.970309, -0.036087}, {-0.204184, -0.045486}, {-0.597965, 0.889277}, - {-0.564184, -0.344697}, {-1.064722, -1.138890}, {-0.751389, -0.391462}, - {-0.024089, 0.535480}, {-0.265461, 0.383199}, {-0.504780, -1.007336}, - {-1.021076, 0.831820}, {0.141181, -0.805943}, {0.451375, 0.655968}, - {1.100952, 0.897682}, {0.205680, -1.447828}, {-0.748725, 0.229730}, - {0.886689, -0.042364}, {-1.821520, -0.303140}, {0.697765, -0.619635}, - {-0.046616, -0.261678}, {-0.207704, -0.328292}, {-0.534695, -0.547877}, - {-1.575192, 0.622682}, {0.469863, 0.483822}, {-0.215089, 1.552073}, - {0.505524, -0.648942}, {0.262484, 0.623770}, {0.427704, -0.562431}, - {-0.872769, 0.672559}, {-0.020422, -0.187349}, {1.243445, -1.678458}, - {0.123213, -0.587475}, {0.071629, -0.272299}, {0.150438, 0.166304}, - {-0.278067, -0.782556}, {0.011738, -0.690190}, {0.881321, -0.960599}, - {0.234258, -0.529572}, {-1.583603, -1.199128}, {0.394669, -0.930577}, - {-0.358556, 1.527559}, {-1.524935, -0.981286}, {-1.283556, 0.168284}, - {-0.071836, -0.156780}, {1.300191, 1.006321}, {-1.238737, 0.048229}, - {-0.377324, -0.229504}, {1.099479, 0.998962}, {-0.298661, -1.195932}, - {-0.283137, -0.159995}, {0.098216, 1.750651}, {-1.026856, 0.639700}, - {0.770303, 0.037554}, {-0.190248, -0.145522}, {-0.674866, 0.016212}, - {-1.556569, 1.310796}, {-0.417356, 1.000320}, {1.292398, -0.862891}, - {-0.666403, 1.999084}, {0.359215, 0.069716}, {0.347212, -0.033478}, - {-0.378434, -0.364239}, {-0.177074, 0.536678}, {0.665238, -0.817818}, - {-0.050101, 0.086105}, {0.402255, -0.348473}, {-0.108418, -0.286375}, - {0.632875, -0.573563}, {-0.401028, -1.098233}, {-0.209670, -0.524291}, - {1.161718, -0.018141}, {0.062103, 0.583460}, {0.477218, 1.102610}, - {-0.467535, 1.244971}, {-0.375225, -0.086564}, {0.628985, -0.808293}, - {1.769568, -0.074081}, {-0.632422, 0.452516}, {-0.080602, 0.904194}, - {-0.036578, 0.987790}, {-1.059879, -0.224910}, {-0.942022, 0.248616}, - {0.604268, 0.203433}, {0.511442, -0.200682}, {-1.007013, 0.355784}, - {-0.895393, -0.034260}, {-1.057717, 1.382638}, {0.611742, 0.856244}, - {0.703185, -0.058025}, {-0.130182, -0.591155}, {0.638317, -0.190395}, - {0.522978, -0.891479}, {-0.002451, -0.012145}, {-0.321576, 0.154897}, - {-1.017726, 0.839232}, {0.275647, -0.836124}, {-0.118267, -0.695792}, - {-2.185583, -0.392189}, {0.732423, -0.118374}, {0.884142, 0.303615}, - {-1.341810, -0.498593}, {-0.479942, -0.379985}, {0.111066, -2.027992}, - {0.639038, -1.018160}, {0.123944, 0.497292}, {-1.415298, -0.098769}, - {1.108608, -1.269705}, {-1.101691, 0.124200}, {0.442822, -0.443518}, - {-1.122461, 0.522937}, {-0.142504, -0.305149}, {-0.176067, -0.623792}, - {-0.196882, 0.715774}, {0.406265, 0.244901}, {1.161033, 0.506478}, - {0.167092, -0.544898}, {-0.008688, -0.682775}, {-0.481234, -0.114580}, - {-0.301007, -0.278349}, {0.839510, -0.084011}, {0.523550, 0.618197}, - {-1.485248, 1.869149}, {-0.385724, 0.172770}, {-0.388899, -0.581958}, - {0.615073, -0.767256}, {0.695869, 1.535576}, {-1.500226, -0.888290}, - {-0.511725, 0.657499}, {-0.738649, -0.437450}, {0.652296, -0.153666}, - {-0.169144, -0.366049}, {-0.213299, 0.312138}, {-0.862391, -0.179164}, - {0.479733, 1.023316}, {-1.704103, -0.974490}, {-0.348370, -1.488505}, - {-1.099062, 0.282122}, {-1.578280, -0.162824}, {-1.091052, 0.744575}, - {-0.515178, -0.044797}, {0.065343, 0.960922}, {-0.051800, -0.142943}, - {-0.117723, -1.467680}, {-0.643133, 1.163677}, {-0.034072, 0.261251}, - {0.464990, -0.130008}, {0.133313, -1.401987}, {0.126248, 0.450691}, - {-0.003664, -0.323720}, {0.142170, -0.755157}, {-1.656898, -0.020361}, - {-0.612778, 0.036440}, {0.353884, -0.743228}, {-0.430287, -0.179029}, - {0.625341, 0.171575}, {1.016815, -0.257385}, {0.324956, -0.714199}, - {-1.174736, -0.158217}, {-0.274466, -0.771165}, {-0.393455, -0.971745}, - {-0.298555, 0.790057}, {-0.646557, -1.558486}, {0.758193, 0.973426}, - {-0.512463, -0.785605}, {0.980556, -0.044524}, {0.453143, 0.624350}, - {1.147269, 0.020674}, {-0.501269, -0.404065}, {-0.244718, -0.507250}, - {0.770791, 0.097876}, {0.244499, -0.019047}, {-0.727271, -1.001762}, - {-0.366096, -0.511113}, {0.479774, 0.574401}, {0.917365, -0.129024}, - {-0.745295, -0.245488}, {0.745051, 1.034707}, {0.810366, -0.847422}, - {0.235447, 0.300914}, {-0.708897, -0.941699}, {0.309677, -1.041238}, - {-0.081649, 0.128611}, {0.844397, 0.010619}, {-1.009033, 0.934418}, - {1.144116, 0.074744}, {-0.057235, -0.308853}, {0.360603, 0.036429}, - {0.830911, -0.450962}, {-0.194946, -0.151025}, {-0.211182, 0.118259}, - {0.021337, 0.332110}, {0.129465, -0.225661}, {-1.052171, -0.755217}, - {0.633623, -0.177776}, {0.100743, -0.704954}, {-0.818968, 1.180590}, - {-0.535346, -0.545943}, {-0.006770, 0.316309}, {0.775806, 0.533149}, - {0.339163, 0.050466}, {0.318535, -0.074793}, {-1.297398, -0.351562}, - {-0.772665, 1.015512}, {0.295548, -0.180960}, {-0.044699, -0.203172}, - {0.724933, -1.023951}, {-0.167979, -0.725819}, {0.686506, 0.268161}, - {-0.480277, -0.221435}, {-0.056920, 0.480959}, {0.030116, -0.272789}, - {-0.302421, 0.129490}, {-1.671242, 0.181529}, {-0.281706, -0.333536}, - {0.016290, -0.028753}, {-0.259901, -0.190484}, {0.289524, -0.195349}, - {-1.337980, 0.540319}, {0.661628, -0.670418}, {0.599796, 0.557768}, - {0.580559, 0.969807}, {0.031230, 0.964814}, {0.198048, 0.444485}, - {0.578456, -0.883133}, {0.624222, 1.329692}, {-0.625168, -0.127331}, - {-0.017311, 1.164091}, {-0.621783, -0.446638}, {0.701142, -0.309340}, - {-1.057874, -0.834624}, {0.346678, -1.338687}, {0.667874, -0.522838}, - {-1.028893, -0.504854}, {-1.338328, -0.931585}, {0.287635, 0.120742}, - {0.230818, 0.167010}, {-0.328503, -0.748337}, {-0.255351, 0.964045}, - {0.510160, -1.611867}, {0.223958, -0.860844}, {0.239175, -0.837760}, - {1.266567, -0.125655}, {0.582400, 0.156299}, {0.251579, -1.778354}, - {0.650474, 0.028121}, {0.993767, -0.090186}, {0.441591, -0.361052}, - {-1.413507, 0.317850}, {0.334364, -0.332911}, {-0.010362, -0.177608}, - {0.014458, -0.502127}, {-0.919481, -1.160841}, {-0.443414, 0.552915}, - {-0.054788, -1.052794}, {-0.561902, 0.153077}, {-0.677469, -0.159762}, - {0.650310, -0.922686}, {0.296712, 0.812605}, {-0.294342, 0.055605}, - {-0.535585, -1.384576}, {-1.433487, -0.747544}, {0.645626, -0.741622}, - {0.920579, -0.258878}, {0.169646, 0.529906}, {0.674057, 0.410030}, - {-0.351663, 0.199608}, {-0.339342, -0.416492}, {-0.271758, 1.138671}, - {0.224929, -1.327320}, {0.601037, 1.033542}, {-0.193132, -0.768238}, - {0.364633, -0.653041}, {0.783166, -0.809904}, {0.559880, 0.350413}, - {0.615788, -0.237848}, {0.236813, -0.842202}, {0.031135, -0.661401}, - {0.349296, -0.774153}, {1.759036, -0.724450}, {-0.116563, 0.294276}, - {0.375200, -1.357901}, {-1.029118, 1.305234}, {0.497985, -0.464184}, - {-0.295867, -0.349915}, {0.221068, -0.835466}, {-0.838100, 0.275901}, - {-1.020066, 0.277497}, {1.091145, 0.328918}, {0.327124, 0.702349}, - {-0.476125, 0.304774}, {0.520932, 0.875467}, {-1.726524, 1.028699}, - {0.060615, 0.113976}, {0.297927, 1.293605}, {-0.405591, 0.650445}, - {0.037677, -0.734049}, {-0.565393, 0.943537}, {0.910424, -0.580765}, - {0.493416, -0.962297}, {0.956024, 0.716498}, {0.474440, 0.623715}, - {-0.922501, -0.564992}, {-0.794655, 0.719802}, {0.596664, -0.091353}, - {-1.236730, 0.412576}, {-0.041676, 0.394763}, {0.786846, 0.085198}, - {1.051734, -0.257630}, {-0.906726, -1.590711}, {0.362094, -1.386569}, - {0.148797, -0.901821}, {-0.736306, 0.417423}, {0.329381, -0.221941}, - {0.009126, 0.513875}, {-1.192236, 0.638637}, {-0.317820, 0.575279}, - {1.586186, -0.027898}, {-0.025386, 0.094059}, {-0.315796, -0.838576}, - {0.030063, -0.320087}, {0.534822, 0.130995}, {0.477222, -0.398652}, - {-0.913466, -0.563169}, {-0.823684, -0.189615}, {-0.213996, 0.665743}, - {0.654202, 0.146227}, {-0.004974, 0.257017}, {-0.024927, -0.214095}, - {-1.045988, 0.681355}, {0.146436, 0.294438}, {1.089600, -0.127405}, - {0.798004, 0.931002}, {-0.505832, 0.828742}, {0.361348, -0.830710}, - {-0.305041, 1.032923}, {-0.728657, -0.579665}, {0.517347, -0.452207}, - {0.879566, -0.278807}, {-0.124969, -0.036169}, {0.628951, -0.089218}, - {-0.603025, -0.528341}, {0.019535, 1.501341}, {0.881593, 0.143029}, - {-0.231925, -0.097508}, {0.538676, 0.300952}, {-0.127155, 0.296466}, - {-0.274248, 0.005941}, {1.500761, -0.345010}, {-0.907824, 1.044908}, - {0.414848, 1.043371}, {-0.867983, -0.304333}, {0.044936, 0.571416}, - {-0.266616, 0.376188}, {0.878846, 0.549724}, {-0.170746, 0.362205}, - {0.160919, 0.167739}, {0.462195, 0.540838}, {-0.875388, -0.096774}, - {0.307478, -0.185363}, {-0.181949, 0.313114}, {-0.085873, -0.399748}, - {-0.129085, 1.140098}, {-0.252383, 0.086665}, {0.189609, -1.301528}, - {0.382798, 0.498417}, {-0.506249, -0.317346}, {-1.212357, 0.230474}, - {0.474321, 0.181404}, {0.681870, -0.999781}, {0.607469, -0.406532}, - {0.622035, -0.522596}, {0.227928, 0.106501}, {-0.379127, -0.283975}, - {0.139899, -0.090042}, {0.672276, -0.271219}, {-0.234798, -0.982539}, - {0.475426, -0.896914}, {-0.325514, 0.546342}, {0.437787, 0.300656}, - {-0.625297, -0.525772}, {-0.061169, 0.198968}, {-0.094667, 0.112590}, - {0.786903, 0.717350}, {-0.109661, -0.225045}, {0.186298, -1.271786}, - {-0.369875, 0.986481}, {0.689748, -0.439040}, {-0.965116, -0.848020}, - {0.656998, -2.318079}, {0.002981, 0.218055}, {-1.189818, 0.355672}, - {0.584073, -1.050715}, {-0.108002, -0.588069}, {-0.313385, 0.621555}, - {-0.889104, -0.082471}, {-0.769348, 1.617374}, {-1.728674, 1.396468}, - {-0.616521, 1.370656}, {-1.249198, 0.309463}, {0.189456, -0.979952}, - {-0.118186, 1.507419}, {0.747125, 0.309914}, {-0.614646, 1.308353}, - {0.333443, -1.419442}, {-1.700063, 0.680655}, {0.266295, 0.063078}, - {-1.331327, 0.169856}, {0.242049, -1.531715}, {0.960667, -0.302137}, - {-0.061825, 0.429394}, {-0.329970, 0.278702}, {0.410208, 1.176057}, - {-0.789042, -0.174484}, {-0.238696, -0.184614}, {0.602804, 0.051704}, - {-0.633642, 0.103324}, {0.065643, -0.546136}, {-0.339235, -0.673524}, - {-0.315448, -0.300233}, {-0.864395, 0.215781}, {0.254565, 0.459681}, - {-0.723593, 1.270257}, {-0.583801, 0.838345}, {-0.808536, -0.416249}, - {-0.053534, 0.820439}, {0.798705, -0.418082}, {1.776613, -1.110952}, - {0.366472, 0.636865}, {0.324757, 0.701457}, {-0.036684, 0.112409}, - {-0.877729, 0.003873}, {-1.084160, -0.401799}, {-0.008295, 0.326360}, - {0.787213, -0.261947}, {0.836987, -0.392854}, {0.275954, 0.382297}, - {-0.690174, 0.027938}, {-0.374934, 0.437628}, {-0.759869, 0.360720}, - {-0.638815, 0.093196}, {0.189722, -0.218160}, {-0.454777, -1.027413}, - {1.236142, 0.310097}, {0.477871, -0.594035}, {-0.124788, -0.108431}, - {0.544631, 0.996734}, {-0.496622, -0.463029}, {0.625047, 0.069807}, - {0.557384, 0.060492}, {-0.265568, -1.409334}, {0.239741, 0.259396}, - {0.904890, -0.068242}, {-0.744938, 0.163030}, {-0.471091, -0.345572}, - {-0.273164, 0.370181}, {0.729318, 1.531839}, {-0.726184, -0.223504}, - {0.242483, 0.053784}, {-0.205845, -0.562647}, {-2.151637, -0.069466}, - {-0.846446, 0.795935}, {1.110915, -0.399958}, {0.489046, -0.556660}, - {0.205667, 0.176983}, {0.328136, 0.200920}, {0.527322, 0.191632}, - {1.546037, -0.657550}, {-0.310488, 0.301548}, {0.585276, 0.957516}, - {0.128524, 0.840981}, {0.018146, 1.407488}, {-1.516386, 0.228783}, - {0.124218, -0.156492}, {0.265637, 0.315627}, {-1.063782, -0.367510}, - {0.827797, 0.276360}, {1.960161, -1.227262}, {0.806068, 1.260862}, - {0.373849, -0.276127}, {-0.498184, -0.462535}, {-0.077592, 0.327073}, - {0.588710, -0.430273}, {-0.905723, -1.065033}, {-0.016188, -0.290291}, - {-0.109620, 0.477222}, {0.565824, -0.470857}, {0.705157, 0.606991}, - {0.614145, -0.049931}, {-0.031315, -0.632364}, {0.072033, -0.559342}, - {0.458793, 1.387290}, {0.206636, 0.224213}, {-0.392240, -0.854508}, - {-0.839329, 1.695036}, {0.566507, -0.629087}, {0.370644, -1.070375}, - {0.761916, -0.623349}, {0.602129, 0.418224}, {0.790301, -0.310664}, - {1.481982, 0.146058}, {-1.573813, 0.024454}, {0.567915, -0.336681}, - {-0.639597, 0.182668}, {1.260436, 2.207508}, {0.696288, 0.181341}, - {0.376110, 0.431512}, {-0.000551, 0.056281}, {0.402438, -0.361156}, - {0.072172, 0.279490}, {-0.885060, -0.641645}, {1.385817, 0.885361}, - {0.690711, -0.158455}, {-0.960198, -0.182059}, {0.321308, 0.180684}, - {0.147669, -0.549752}, {-0.107020, 0.306074}, {0.174252, 0.899434}, - {0.061913, -0.189282}, {1.102905, -1.250777}, {0.223198, -0.637361}, - {-2.146420, 0.173387}, {-0.084436, -0.775938}, {0.287327, 0.446614}, - {1.090236, 0.383949}, {1.121181, 0.127876}, {0.103766, 0.991675}, - {1.242702, 0.272046}, {1.008926, -0.211179}, {-1.353983, -0.705201}, - {-1.661310, 0.179906}, {-0.572442, 0.843940}, {0.534838, -0.420940}, - {1.906158, 1.102764}, {-0.553360, -0.478077}, {-0.636383, -1.315762}, - {-1.124395, 0.081685}, {0.220542, 0.468091}, {-1.229590, -0.659073}, - {-0.564517, 0.239986}, {-1.172267, -0.314597}, {0.151538, 0.149107}, - {0.242211, -0.821363}, {0.254545, 0.273831}, {-0.534100, -0.226399}, - {1.163542, -0.942243}, {1.041018, 0.317274}, {-0.401554, -0.096105}, - {-0.113999, -0.117513}, {-0.010346, -0.748131}, {0.354813, 0.636504}, - {-0.681541, -0.112983}, {-0.488145, 0.464117}, {-0.193164, 0.061733}, - {-0.192093, -0.321730}, {0.509883, 0.382645}, {-1.403973, -0.336215}, - {0.394349, -0.205158}, {0.391611, -0.502082}, {0.616434, -0.022915}, - {0.804218, -0.495715}, {-0.079753, 0.070374}, {0.341990, -0.635143}, - {0.067861, -0.236447}, {-1.101606, -0.120961}, {0.442884, -0.438436}, - {0.212980, 0.309736}, {0.528495, -0.251375}, {-0.692353, -0.169402}, - {0.562221, -0.028760}, {0.590351, 0.405250}, {-0.717372, 0.369161}, - {-0.806613, 0.504272}, {0.286954, 1.111197}, {-0.105423, -0.153474}, - {-0.346757, -1.116428}, {0.226199, -0.504658}, {0.004135, -0.101712}, - {-0.040985, -0.512184}, {-0.022114, -0.025237}, {-0.334621, -0.134380}, - {0.534726, -0.729250}, {-0.282945, -0.576566}, {-0.931037, 0.047644}, - {1.365371, -0.644779}, {0.168399, -1.211458}, {2.486020, -1.456800}, - {-0.004467, -0.574279}, {-0.401257, 1.031333}, {0.424854, 0.679751}, - {-0.360869, -0.836076}, {-0.349323, 1.100520}, {0.126475, 0.711401}, - {-0.075597, 1.820855}, {-1.746648, 1.113080}, {-0.153525, -0.544782}, - {-0.533184, -0.693391}, {-0.769927, -0.582211}, {-0.680363, 0.216778}, - {-0.004214, -1.526735}, {-0.086907, -0.002847}, {0.232166, -0.016912}, - {0.817197, 0.482386}, {-1.105532, 0.491655}, {-0.376338, 0.410127}, - {1.042417, 0.054103}, {-0.241349, -0.748510}, {-0.014625, -0.417149}, - {0.738367, 0.443956}, {-1.044035, 0.497683}, {0.292520, -0.751995}, - {-0.217407, 0.722108}, {0.918647, -0.718313}, {-0.164316, 0.409743}, - {1.309759, 0.090394}, {0.233709, -0.815158}, {-0.239462, 0.605397}, - {-0.039005, -0.027079}, {-0.954133, -0.096347}, {1.816169, 0.521655}, - {0.153716, -0.328576}, {0.835515, -0.359370}, {-0.705611, -0.523065}, - {0.138570, -0.063344}, {0.083846, -0.023266}, {-0.562762, -0.812709}, - {0.365173, -0.859163}, {0.578421, -0.182048}, {-0.126089, 1.117181}, - {0.617319, -1.086710}, {0.769929, 0.422361}, {-1.309781, 1.172984}, - {-0.596821, -0.251837}, {0.212351, -0.811837}, {-0.162098, -0.192380}, - {-0.813093, 1.121627}, {0.256762, 0.936857}, {-0.875631, 1.008870}, - {0.247567, 0.868075}, {0.971357, -0.738473}, {-0.226325, 0.330532}, - {-0.162002, 0.916161}, {-0.400712, 1.001422}, {0.074112, 1.112345}, - {0.860980, 0.266196}, {0.395444, -0.557019}, {0.120734, -1.186860}, - {0.556697, 0.066680}, {0.854588, 0.178589}, {2.451387, -1.403948}, - {0.227316, 0.024298}, {0.591620, 0.075444}, {0.200034, 0.061233}, - {0.482442, -0.836773}, {1.044504, 0.162091}, {0.928003, -0.484096}, - {0.382501, -0.191498}, {-0.375135, 0.607373}, {-0.736591, 0.301910}, - {0.174839, -0.142515}, {0.733383, 0.997919}, {-0.786136, -1.067298}, - {-0.206222, -0.113384}, {-0.464171, 0.094194}, {-1.350080, -0.791223}, - {-1.126134, -0.116062}, {-0.208917, -1.109539}, {-0.370726, -0.057655}, - {-0.091744, -1.090501}, {-0.208418, 0.132989}, {0.864632, -0.798601}, - {1.102361, 1.368734}, {-0.272215, -0.247604}, {-1.023085, -0.986586}, - {-0.065967, 0.605997}, {0.063587, -0.976618}, {-0.267152, -0.116898}, - {-0.461969, -0.203471}, {-0.573852, 0.570464}, {-0.138348, 0.534036}, - {-0.090592, 0.936618}, {0.850179, -0.537120}, {-0.433713, -0.556356}, - {-0.537237, -0.713364}, {0.426253, -0.478599}, {1.133750, -0.964272}, - {-1.331896, 0.116871}, {0.191830, 0.696149}, {-0.109898, -1.447008}, - {0.959592, 0.346543}, {0.261532, -0.822086}, {0.303775, -1.459434}, - {0.530404, 0.421720}, {-0.453037, -1.463699}, {0.123500, 0.017147}, - {0.172476, -0.507657}, {-0.160135, 1.263925}, {0.030836, 0.556500}, - {-0.185416, -0.025333}, {0.637640, 0.395256}, {0.089760, -0.864083}, - {0.577483, 1.581489}, {0.979522, 1.296548}, {-0.497799, -0.045689}, - {-0.047660, 1.066061}, {0.048446, -1.060159}, {-0.968548, -0.221439}, - {1.484060, 0.378410}, {-0.770293, -0.087204}, {-0.764451, -0.554893}, - {0.348932, -0.676770}, {-1.210537, 0.339603}, {0.924898, -0.536966}, - {-1.159727, -0.216140}, {-0.625226, -0.977963}, {0.640809, 0.919168}, - {-0.239144, 0.785286}, {0.809998, 0.679827}, {0.397941, -0.337279}, - {1.158469, -0.284939}, {0.740868, -0.632110}, {0.246451, 0.582746}, - {1.169569, -0.447871}, {-0.206093, -0.436712}, {1.593053, -0.562783}, - {-0.072116, -1.390822}, {0.534517, -0.038637}, {0.034689, 0.141429}, - {0.474386, 0.514105}, {0.572791, -0.330251}, {-0.548599, -0.594569}, - {-1.071301, -0.270923}, {0.486895, 0.652847}, {-0.069770, 1.249662}, - {-0.040552, -0.687992}, {-0.284734, 0.643650}, {-0.808577, 0.013167}, - {-0.452947, 0.353593}, {-0.729562, -2.012804}, {1.237631, -1.264824}, - {0.110039, 1.404809}, {0.107938, -0.296577}, {0.386214, -0.709940}, - {1.137573, 0.606987}, {0.412215, -0.555525}, {-1.988232, -0.162112}, - {0.848561, 0.408090}, {-0.811612, 0.394181}, {0.485756, -0.746334}, - {0.049115, -0.087741}, {-1.022135, -0.921590}, {-0.633999, 0.061617}, - {-0.090648, 0.618570}, {-1.247020, -0.001903}, {-0.421031, -0.238286}, - {0.711286, -0.314523}, {-0.147505, -0.383916}, {-0.683990, 0.445952}, - {0.432133, -0.119312}, {-1.132072, -0.396738}, {0.135841, 0.222292}, - {-0.230532, 0.331470}, {0.254731, -0.376331}, {-0.776682, 0.039871}, - {-1.169703, -0.331153}, {-0.873728, 0.067719}, {-0.207084, -0.835310}, - {0.037790, -0.362456}, {0.583451, 1.129280}, {-0.558111, -0.573604}, - {0.856679, -0.022411}, {0.164767, 0.141428}, {-0.009111, -0.317562}, - {1.150656, 1.264776}, {-0.789474, 0.292994}, {-0.466256, 0.131396}, - {-0.773386, 0.095435}, {-0.310801, 0.037979}, {0.426976, 0.983285}, - {0.477342, 0.671231}, {0.453581, 0.460922}, {-0.126415, 0.223835}, - {-0.197906, -0.189931}, {-0.526443, 0.635295}, {-0.729339, -0.271754}, - {-0.277572, -0.106432}, {0.605958, 0.268731}, {0.697244, -0.324635}, - {-0.601406, 0.750119}, {2.020241, -0.455436}, {-0.545556, -1.777371}, - {-0.106454, -0.323364}, {0.730151, -0.521349}, {-0.222232, -0.678729}, - {-0.822648, 0.759164}, {0.347482, 0.318147}, {0.320443, 1.047896}, - {-0.007527, -0.099273}, {-0.469680, 0.811059}, {-0.725923, 0.045348}, - {-0.845127, 0.408992}, {-0.483176, -0.402357}, {-0.244242, -0.138255}, - {0.777707, 0.361076}, {-0.284361, -1.213446}, {-0.005269, 1.151649}, - {-0.132040, -0.605975}, {-0.614343, 0.207020}, {0.172750, 1.326225}, - {-0.902838, 0.195327}, {0.343014, -0.865008}, {0.125967, 0.451258}, - {0.332072, 0.614969}, {-0.298182, 0.490626}, {1.424204, -0.479491}, - {-0.031385, 0.164505}, {0.233636, -1.315612}, {-0.450889, 0.377407}, - {0.029363, 0.410567}, {0.306058, 0.200634}, {-1.349288, 0.431649}, - {0.358784, 0.047745}, {-0.557686, 1.348221}, {-0.061715, -0.056931}, - {-0.363172, 0.195052}, {-0.657930, -0.139592}, {-0.228460, 0.043261}, - {-0.400956, -0.445312}, {-0.518420, 0.120859}, {-0.698407, -1.044712}, - {1.235472, 1.348407}, {0.487842, 0.303364}, {-0.723742, 0.780963}, - {-0.593303, -0.225305}, {-0.534609, 0.308384}, {0.517702, 0.592656}, - {0.954708, 0.946876}, {0.138369, 0.042618}, {-0.011117, 0.156468}, - {0.129045, -0.782424}, {0.544442, -0.335302}, {0.100454, 0.021699}, - {-0.414913, -0.364941}, {-1.446169, 0.180437}, {-0.104807, -1.198166}, - {-0.663552, 0.253006}, {-0.873757, 0.653705}, {0.913861, 0.776582}, - {0.408304, -0.209211}, {-0.292234, 0.935191}, {0.612411, 0.506772}, - {0.052624, -0.170316}, {-0.316935, 0.099714}, {-0.353097, 0.013558}, - {1.233948, 0.295996}, {0.369796, 0.587798}, {-0.240517, -0.082754}, - {0.456761, 1.042474}, {-0.213108, 0.167637}, {0.399378, -1.139074}, - {0.884318, -0.559808}, {1.445237, -0.362312}, {0.116480, 1.022887}, - {-1.064627, -0.325939}, {0.517946, -0.548647}, {0.415227, 0.031714}, - {0.100481, -0.138348}, {-0.809183, -0.296851}, {0.780624, 1.262479}, - {0.563065, -0.043795}, {0.912444, -0.494706}, {-0.734037, 0.870375}, - {-0.318819, 1.118381}, {-0.000746, -0.287874}, {-1.164864, -0.526955}, - {0.294943, 0.563007}, {-0.310269, 0.305960}, {-0.477327, -0.723869}, - {1.444745, 0.187725}, {1.871817, -0.263160}, {-0.194735, 0.555531}, - {-0.321051, -0.730174}, {-0.190988, -0.402861}, {-0.471553, -0.864754}, - {0.858125, -1.345250}, {-0.616872, 0.087958}, {1.283791, 0.027641}, - {0.256228, -1.305667}, {0.135487, -0.829405}, {-1.326564, 0.237115}, - {-0.150936, 0.123060}, {0.525275, -1.201838}, {0.345162, -0.254455}, - {-0.289832, -0.377094}, {-0.152667, -0.439359}, {-1.044104, -0.312180}, - {0.123564, 0.909003}, {0.092452, -0.627863}, {-1.077986, 0.652712}, - {0.546415, 0.317801}, {-0.327865, 0.791680}, {-0.742691, 0.429484}, - {1.359870, 0.653960}, {0.618629, -0.810634}, {-1.486101, -0.628531}, - {0.594045, -0.133495}, {-0.470586, 0.135156}, {-0.143237, -0.465263}, - {-1.088628, 0.943733}, {0.198579, -0.639867}, {-0.063074, -0.021058}, - {0.108028, 0.446404}, {1.189162, 0.613968}, {0.337471, -1.129207}, - {-0.455311, 0.326954}, {-0.570540, -1.907149}, {-0.314445, 0.220247}, - {-0.644406, 0.871505}, {-0.516263, 0.822251}, {-0.557629, -0.170696}, - {0.722273, -0.131339}, {0.230421, 0.790328}, {-0.104488, -1.716517}, - {-1.241919, 0.455016}, {-0.692486, 1.120817}, {1.549314, -0.046370}, - {-0.106043, 0.644970}, {-0.074406, -0.804419}, {0.548174, 0.128521}, - {-0.595960, -0.462357}, {0.142829, -0.219578}, {-0.162097, -0.875243}, - {0.686753, 0.775003}, {0.873880, 1.383881}, {-0.653841, 0.636136}, - {0.383632, -0.777116}, {-1.108266, 0.038942}, {0.971520, 0.211922}, - {-0.268643, 0.730017}, {0.855520, 0.049969}, {0.302034, -0.524310}, - {-0.852706, -0.537224}, {-0.804297, -0.114715}, {-1.478564, -0.084384}, - {-0.408535, 0.423840}, {-0.168721, -0.141810}, {0.077383, 0.243237}, - {-1.559434, 1.191402}, {1.022154, -0.100324}, {0.323561, 0.469589}, - {-0.663531, 0.640213}, {0.554019, 1.763611}, {1.013954, -0.099589}, - {-0.768361, 0.429501}, {-1.056947, -0.854475}, {0.199817, -1.902227}, - {-0.070703, -0.504816}, {-0.936270, 0.009265}, {0.151126, -0.507320}, - {-0.504326, 0.276844}, {-0.314265, 1.314549}, {0.326736, -0.579350}, - {0.592561, -0.964175}, {-0.223907, -0.829707}, {-0.401792, -0.560375}, - {0.302453, -0.641377}, {0.179660, 0.273186}, {-0.093790, -1.403175}, - {-0.547478, -0.365566}, {-1.082055, -0.079541}, {0.493591, 0.675680}, - {0.488427, 0.562525}, {0.214921, 0.219073}, {1.036597, -0.145378}, - {-0.027255, -0.113060}, {0.673240, 0.620677}, {0.723878, -0.899601}, - {0.069137, -0.059731}, {0.241888, 0.932147}, {0.990557, 0.522072}, - {0.333210, -0.429499}, {0.416918, 0.495753}, {-0.659767, -0.994323}, - {0.616175, 0.547587}, {1.096390, 0.648779}, {1.512614, 1.140619}, - {-0.038962, -1.035122}, {-1.083694, -0.279680}, {0.614096, 0.432151}, - {-0.347563, 0.062973}, {1.386988, -0.035997}, {0.327510, -0.207868}, - {-1.183518, -1.737384}, {-0.208895, 1.406995}, {0.663338, -0.017747}, - {-0.897272, -0.573788}, {0.942633, -0.547325}, {-0.099388, -0.254556}, - {-0.201353, 0.644556}, {0.866075, -0.228444}, {0.946155, -0.216844}, - {-0.253558, 0.114459}, {0.715896, 0.743102}, {-0.359932, 0.276616}, - {-0.210247, -0.083149}, {0.802847, 0.140860}, {0.408994, 0.029881}, - {0.377356, 0.319152}, {-0.372690, -0.245271}, {0.676166, 0.109436}, - {0.724096, 0.333436}, {0.221166, 0.187551}, {-0.391584, 0.738071}, - {0.005351, 0.778829}, {-0.358326, 0.932486}, {0.490539, 0.803589}, - {-1.940728, -0.191677}, {0.344834, 0.501654}, {0.800213, 0.523732}, - {0.582049, -0.075948}, {-0.161980, 0.485703}, {-0.259158, -0.582118}, - {1.062836, 0.273222}, {-0.778178, 0.190672}, {0.714527, -1.538556}, - {-0.396795, 0.449148}, {-0.781750, 0.953574}, {-0.338389, -0.501176}, - {-0.641856, -0.054484}, {0.563696, -0.904985}, {-0.099391, 1.184931}, - {-0.112808, 0.108574}, {0.646080, 0.427004}, {0.212517, 0.155965}, - {0.535560, -0.571720}, {0.553376, -0.294148}, {-1.607834, -0.184165}, - {-1.547767, 0.680574}, {0.781165, 0.154537}, {0.560969, 0.631483}, - {0.495580, 1.820957}, {0.007403, -0.213880}, {-0.133441, 0.263800}, - {-0.539947, -1.040542}, {0.451911, -0.153928}, {0.637194, 0.419776}, - {1.273621, 1.299122}, {-0.212328, 0.126958}, {-0.797461, 1.644603}, - {-0.122874, 1.002433}, {0.531739, 1.435631}, {-0.292445, 0.088739}, - {0.116979, 0.506073}, {0.300921, -0.773498}, {-0.001333, -0.556370}, - {-0.895409, 0.437721}, {0.917279, 0.508782}, {-0.491002, 0.775053}, - {0.198360, -0.494544}, {-0.466188, 0.389353}, {1.026724, 0.378360}, - {0.554313, 0.153011}, {2.109013, 0.702959}, {-1.076990, -0.126220}, - {-0.628257, -0.250837}, {-0.360120, -0.713433}, {0.323767, -0.526853}, - {0.618992, 0.232543}, {0.680284, -0.239604}, {-0.469444, 0.121707}, - {-0.121518, -0.113712}, {0.429205, -0.768057}, {0.120817, -0.738954}, - {0.246917, -0.025595}, {0.223685, 0.828870}, {0.558682, 0.833145}, - {-0.226176, -1.141426}, {0.592138, 0.661966}, {0.057983, -0.123112}, - {-0.277232, 0.942800}, {0.380806, -0.215897}, {-1.027768, -0.692785}, - {1.629491, -1.099912}, {-0.047831, -1.555090}, {-0.577377, -0.165198}, - {0.708597, -0.250402}, {-1.063587, -0.338164}, {0.505373, 0.385189}, - {0.072781, -0.658487}, {0.542617, -0.198652}, {1.367844, 0.323822}, - {-0.727703, 0.962762}, {-0.393308, 0.873045}, {-0.950481, 0.223532}, - {1.018389, 0.884161}, {-0.042519, 0.854602}, {-1.358413, -0.098257}, - {0.245351, -0.975102}, {-0.055406, -1.219287}, {1.325559, -0.297813}, - {-0.072107, -0.600966}, {-0.045452, -0.636110}, {1.196032, -0.569957}, - {0.455332, -1.319878}, {-0.547178, -0.392150}, {-1.296887, -0.758016}, - {0.862281, 0.903182}, {-0.538526, -0.948723}, {0.065158, 0.398744}, - {-0.565977, -0.745461}, {-0.050462, 0.869712}, {0.205620, -0.219247}, - {0.093927, -0.270377}, {1.113685, -1.069443}, {-0.718055, 0.556379}, - {0.050929, 0.307347}, {-1.222501, 0.207457}, {0.951141, -1.438969}, - {-0.003803, -0.125003}, {-1.267607, 0.411439}, {-0.857943, -1.588554}, - {0.596604, -0.286897}, {-0.872539, -0.101087}, {-0.658556, 0.189207}, - {-0.387868, -0.070786}, {-0.462842, 0.344476}, {1.085369, -0.860640}, - {1.581858, 1.043663}, {-0.972570, 0.171239}, {-0.075607, -0.486479}, - {1.421958, -1.399106}, {-0.589684, 0.410053}, {0.377491, 0.034375}, - {0.428788, 0.365635}, {-0.528193, -1.238089}, {0.262891, 0.578832}, - {0.066590, 0.188433}, {-0.745635, -0.018847}, {-0.116912, -0.514034}, - {0.597006, 0.677949}, {0.107517, -0.406065}, {1.015423, 0.001044}, - {-0.197476, 0.574557}, {-0.248416, -0.193462}, {0.473342, -1.017108}, - {0.137976, 1.024174}, {-0.210346, 0.751566}, {-1.015057, -0.473646}, - {-0.595567, 0.801209}, {0.796281, 0.545814}, {-0.856927, -0.309617}, - {0.591179, 1.361440}, {0.157283, -0.776932}, {0.393443, 1.025215}, - {0.537778, 0.697904}, {2.219707, 0.499801}, {1.273309, -0.828332}, - {-0.982928, 0.949413}, {-1.153902, 0.670467}, {-0.156032, -0.994523}, - {0.821935, -0.378448}, {0.260809, 0.087339}, {0.216860, -0.601138}, - {-0.882410, -0.227433}, {-0.440866, -0.094405}, {-0.074585, 0.039917}, - {-0.737009, 1.217088}, {-0.268090, 0.493822}, {-0.066510, -0.570724}, - {-0.203579, 0.757423}, {0.062591, -0.452128}, {0.507822, 1.130258}, - {-1.135255, -0.393007}, {0.740321, 0.411285}, {-0.402801, -0.390182}, - {0.794407, 0.970310}, {0.566977, 0.605520}, {-0.537209, 0.639380}, - {-0.426697, 0.138911}, {-0.087417, 0.452920}, {-1.152861, -0.321958}, - {-0.284884, 0.639191}, {0.145500, 0.907847}, {0.982621, 0.367939}, - {-0.195191, 1.137989}, {0.211046, -1.239543}, {0.562427, -0.534005}, - {0.830928, -0.588515}, {0.651664, -0.531934}, {-0.056867, 0.384091}, - {-0.589129, 1.364900}, {-0.141771, -0.114847}, {-0.411185, 0.073030}, - {-0.265763, 0.272064}, {0.882316, 0.793624}, {-0.160386, 0.002500}, - {-0.235607, -0.567823}, {-1.210585, 0.206751}, {0.817503, 0.330202}, - {-0.162811, -1.417884}, {0.592217, 0.010516}, {1.662363, -0.402841}, - {-0.446189, 0.501595}, {-0.729150, -0.238869}, {-0.452834, 0.078506}, - {-1.518996, -0.427439}, {-0.266874, 0.101362}, {0.531735, -0.547254}, - {-0.965587, 0.011378}, {-0.298296, -0.096297}, {-0.149287, 0.531172}, - {0.448779, -0.448307}, {1.047356, -0.315960}, {1.247794, 0.506753}, - {0.590511, 0.472349}, {0.121279, -0.433674}, {-0.114362, 0.767422}, - {1.581429, 0.955828}, {1.476868, -0.288333}, {-0.556583, -1.164155}, - {-0.059431, -1.160055}, {0.634128, 1.002689}, {-0.575933, 0.033633}, - {1.081099, 1.385344}, {-1.422736, 0.075505}, {1.046288, 0.401673}, - {0.435929, -0.472107}, {-0.206122, 0.348224}, {-0.412777, -0.109916}, - {0.121895, -0.581462}, {-0.133105, 0.264961}, {-0.850482, -0.072401}, - {-0.577871, 0.376519}, {-1.388756, -0.023759}, {0.779804, -0.186311}, - {-0.620828, -0.118957}, {0.932679, 0.434943}, {0.633370, 0.592508}, - {1.134259, 0.028486}, {0.799487, 0.223794}, {-0.347314, -0.170474}, - {0.539087, -0.221093}, {-0.820533, 0.307851}, {-0.717160, 0.017505}, - {0.542587, -1.162436}, {-0.624600, 0.801725}, {1.352536, -0.143812}, - {-0.796545, -0.900611}, {-0.356700, -0.350123}, {0.038018, 0.541666}, - {0.289386, 0.401983}, {-0.137301, 1.430812}, {1.503273, 0.402538}, - {-0.492407, -0.424006}, {0.932498, -0.226829}, {0.093021, 0.081391}, - {-0.093971, -0.658882}, {-0.284706, -0.026044}, {-0.226983, 0.526229}, - {0.029324, 0.041975}, {0.873120, 0.151935}, {-0.393476, -0.848702}, - {1.838695, -0.084288}, {-0.074042, 1.079671}, {0.039939, -1.111425}, - {0.669271, 2.216002}, {-0.589368, -0.446797}, {-0.465512, 0.085837}, - {0.651261, 0.403519}, {0.218905, -0.766309}, {-0.128001, 0.073902}, - {-0.272830, -0.432066}, {0.519152, -0.589446}, {-0.311524, 0.233018}, - {-0.545692, -0.664651}, {-1.380502, 0.757145}, {-0.000180, -0.339163}, - {0.446891, 0.438011}, {0.454009, -0.094370}, {-1.035878, 0.187205}, - {-0.896572, 0.237276}, {0.382598, 0.442667}, {-2.504186, -0.537285}, - {0.099216, 0.970556}, {-0.381212, -0.168048}, {0.554364, -0.100494}, - {-0.269872, -1.498621}, {-0.494833, -0.343613}, {0.449499, 0.124923}, - {0.027846, -0.151862}, {-0.115574, -0.391918}, {0.431950, -0.632974}, - {-0.223079, 0.433815}, {-0.360470, 0.230335}, {-0.351935, -0.652477}, - {-0.699202, -0.709860}, {0.165994, 1.156386}, {0.946215, -0.422976}, - {-0.694515, 0.460667}, {0.163665, -0.096615}, {-0.011231, 0.132682}, - {1.105695, 0.245389}, {1.070530, 0.039658}, {-0.393505, -0.942814}, - {0.695178, -0.279964}, {0.373143, -0.153469}, {0.068343, -0.246175}, - {0.255959, 0.802372}, {-0.561208, 0.096934}, {-0.520615, -0.044160}, - {0.829240, -0.282919}, {0.617384, -0.417490}, {1.900495, 1.234182}, - {-1.341464, 1.226474}, {-0.168441, -0.813023}, {1.015085, -0.464638}, - {0.369413, -0.066272}, {-0.239524, 0.683590}, {0.357866, -0.112409}, - {1.009900, 1.254497}, {0.068589, 0.356761}, {-0.438932, -0.304929}, - {-0.012575, -0.341361}, {0.299906, -0.036658}, {0.404167, -0.128515}, - {0.366136, -1.307424}, {-0.598692, -1.008058}, {0.110613, -0.159653}, - {1.201734, 0.376235}, {-0.704852, 0.106275}, {0.007635, 0.082348}, - {-0.767279, 0.145814}, {-2.046550, 1.123715}, {-0.006254, -0.772897}, - {1.860613, 0.657821}, {-1.010233, 0.378664}, {0.049775, 0.410985}, - {-1.426361, 0.659661}, {0.362923, 0.949449}, {0.169229, -0.433502}, - {1.588609, -1.429715}, {1.714049, 1.762603}, {0.280914, 0.315189}, - {-0.366100, 0.687960}, {-0.017839, 0.001341}, {-0.011156, -0.946371}, - {0.605485, -0.901263}, {1.083968, -1.642610}, {0.689493, 1.137977}, - {-1.346342, -1.228991}, {0.441885, 0.428678}, {-0.300121, -0.242661}, - {0.151982, 0.516324}, {1.165886, 0.321775}, {-0.428105, 0.187019}, - {-1.004687, 0.294742}, {0.338772, 1.213508}, {0.988679, -0.037867}, - {-0.224368, 0.155973}, {0.141559, 0.186316}, {-0.644438, 0.395989}, - {-0.199866, -0.523264}, {-0.107300, -0.461294}, {0.358698, -0.649953}, - {-0.634770, -0.312915}, {-0.564734, -0.715844}, {0.255026, -1.108371}, - {-0.086293, 0.312637}, {0.814938, -0.283814}, {1.229763, 0.128464}, - {0.227974, -0.418647}, {-0.120043, -0.684067}, {0.077666, -0.085758}, - {-0.050780, -0.670323}, {0.136626, 0.813804}, {0.594956, -0.407936}, - {0.955985, -0.191253}, {0.489552, -1.486926}, {0.577579, -0.486322}, - {0.562717, -0.751664}, {0.002459, 0.263571}, {0.288905, -0.878478}, - {-0.464409, -0.538675}, {0.286060, 0.412672}, {-0.181148, 0.381556}, - {0.151361, 0.358454}, {-0.078488, 0.251609}, {0.773414, -0.739208}, - {0.691577, -0.694201}, {-1.293390, -0.509235}, {1.146156, -0.653543}, - {-0.242636, -0.801005}, {0.353931, -0.135868}, {-0.243086, -0.439001}, - {0.354013, -0.233653}, {-0.277764, -0.677296}, {0.473043, 0.038362}, - {-0.176500, 0.264359}, {-0.625575, 0.366112}, {0.202867, 0.941900}, - {-0.326032, 0.671700}, {-1.046037, -0.687290}, {-0.868275, -0.007581}, - {-0.570060, 0.286439}, {0.713059, 0.210833}, {-1.294165, -0.028527}, - {0.071361, 0.847772}, {0.508287, 0.046283}, {0.058998, -0.528609}, - {-0.568115, 1.051018}, {0.922293, -0.377449}, {0.202094, 0.031911}, - {-0.114554, -0.415825}, {-0.776175, -0.804922}, {-0.057279, -0.584848}, - {0.412935, 0.618731}, {-1.092835, 0.486985}, {-0.678552, 0.788882}, - {-0.968375, 0.329940}, {-0.714789, -0.149820}, {-0.384156, 0.175588}, - {0.730323, -0.459545}, {-0.374056, -0.030715}, {-0.530865, 1.744913}, - {0.317942, 0.712183}, {0.514842, -1.521713}, {-1.982352, 0.917451}, - {0.533069, -0.184669}, {-0.047735, -0.546721}, {-0.084978, 0.164704}, - {-0.713723, 0.221991}, {0.082505, -0.468486}, {-0.100827, 0.472135}, - {-0.666553, 0.018597}, {0.287429, -0.329748}, {-1.436239, 1.330035}, - {0.290806, -0.769263}, {-0.048715, 0.566687}, {-0.968640, -0.211849}, - {0.088714, -1.498366}, {-0.081821, -1.526247}, {-0.569582, 0.589569}, - {-0.581721, -0.848599}, {-0.006144, -0.254501}, {-0.374622, 1.266927}, - {-0.426722, 0.039232}, {-0.613330, 0.408639}, {0.242699, -0.420023}, - {-0.511846, -0.344112}, {0.055041, -0.785869}, {0.817784, 0.414807}, - {0.327502, -0.140078}, {-0.177410, 0.254219}, {-0.697158, 1.041201}, - {0.443662, 0.437433}, {0.255286, 1.735288}, {-0.986974, 0.995444}, - {-0.170297, 0.934111}, {0.016505, -0.449689}, {0.074375, 0.925671}, - {-0.264038, -0.993178}, {0.394263, 0.428509}, {0.275369, -0.148148}, - {-0.026461, 0.786728}, {0.219694, -0.715724}, {-0.198181, -0.337653}, - {-0.046106, 1.077969}, {-0.427274, -1.648299}, {0.916379, 0.354817}, - {-0.495159, 0.025080}, {0.900671, -0.716446}, {-0.255983, 0.933249}, - {0.849832, -0.023818}, {0.848812, 1.222279}, {0.762640, -0.407851}, - {-1.113535, -0.693755}, {0.853063, -0.222685}, {0.182071, -0.562988}, - {0.452813, -0.071797}, {-1.401647, 0.298240}, {-1.096633, -0.276216}, - {-0.470637, -1.218317}, {0.061808, 0.397691}, {0.600333, -0.767871}, - {1.008250, 0.000708}, {-0.647290, 0.306240}, {-0.398649, 0.249797}, - {-1.305586, -0.172789}, {0.385940, -1.320990}, {0.758806, 0.901173}, - {-0.002028, -0.687838}, {-0.619773, -0.519246}, {0.850480, -0.003780}, - {-0.327611, 1.357023}, {0.407292, 0.562773}, {-0.053213, -0.769666}, - {1.106032, 1.282982}, {-0.673619, 1.289760}, {0.476732, -0.611785}, - {0.152022, -1.680944}, {-0.649479, -0.291411}, {-0.012972, -0.162121}, - {-0.691724, 0.407729}, {0.236190, -1.267413}, {0.533790, 0.419325}, - {-0.018652, 0.266647}, {0.229770, 0.165313}, {-0.558823, -0.887105}, - {-0.764080, 0.628785}, {0.355465, 0.190894}, {-1.031620, 0.424156}, - {0.210209, -0.511032}, {2.231847, -1.271046}, {0.495758, -0.561719}, - {-0.007179, -0.289322}, {0.208132, 1.637787}, {-0.761436, -0.158279}, - {-1.584498, -0.324741}, {0.085113, 0.686596}, {-0.430017, 0.361140}, - {0.205829, -0.606992}, {0.307451, 0.417509}, {-0.305665, 0.631657}, - {-0.401597, -0.758367}, {-0.231825, -0.733147}, {0.413582, 0.999199}, - {-0.017343, -0.416519}, {-0.165102, -1.228027}, {1.079916, 0.834003}, - {-0.032758, 1.090964}, {0.682886, 0.223947}, {-0.125567, 0.406849}, - {-0.291070, 0.319598}, {-0.433261, 1.411476}, {-0.521844, 0.077749}, - {-1.622536, 0.199245}, {-1.152493, -1.236599}, {0.010262, -1.143242}, - {0.590426, 0.129957}, {0.710855, -0.106919}, {0.453857, -0.988619}, - {-0.904005, -0.503640}, {0.589253, -0.486321}, {-0.430470, -0.027916}, - {-0.820770, -0.751695}, {-0.282278, -0.038594}, {0.864998, 0.097233}, - {0.111612, -0.288777}, {-0.028031, -0.269425}, {0.431845, 0.101275}, - {-0.339818, -0.152321}, {0.921835, 0.289830}, {-0.671086, -0.501673}, - {0.247329, 0.183999}, {0.567859, -0.307398}, {0.116284, 0.435589}, - {0.203286, 0.041931}, {0.492580, -1.168513}, {0.661239, 0.504958}, - {0.626179, 0.315147}, {1.241463, -0.126592}, {-0.242149, 0.706826}, - {0.022340, -1.150953}, {-0.121594, 0.286725}, {-0.759044, 0.336943}, - {1.203657, -0.225805}, {-0.307556, -0.613049}, {0.760114, -0.923164}, - {-1.293027, 0.195280}, {1.015077, 0.098072}, {-2.074471, -0.189545}, - {0.841240, 0.955406}, {-0.178337, 0.721980}, {1.160489, 0.003816}, - {-0.384566, 2.620896}, {0.704705, 0.063137}, {0.548336, 0.066192}, - {0.190808, -0.012015}, {0.553649, 0.329412}, {-0.320558, 0.795527}, - {-0.615417, 0.909293}, {-1.246752, -0.698925}, {0.549175, 0.281020}, - {-0.778784, -1.430814}, {0.806743, 0.036949}, {0.477405, -0.736326}, - {-0.702940, -0.929653}, {0.151960, 0.582314}, {0.865540, -0.423882}, - {0.491950, 0.963153}, {0.330508, 0.053934}, {0.464252, 0.827913}, - {0.192361, -0.235847}, {0.816402, -0.115001}, {0.092131, -0.660784}, - {0.174107, 0.285417}, {-0.755223, 0.514173}, {0.364767, -0.792043}, - {-0.562086, -0.217651}, {0.353453, 0.348443}, {0.585457, 1.370006}, - {0.984197, -0.178664}, {-0.366706, -0.786270}, {1.414700, -0.134770}, - {0.941644, 0.284337}, {-0.455753, 1.036933}, {1.382049, 0.541054}, - {0.575756, -0.046144}, {-0.051649, 0.048517}, {-1.119540, 0.541357}, - {0.273349, 1.070178}, {-0.456227, -0.374803}, {-0.426392, -0.882598}, - {-0.085007, 1.118462}, {-0.265127, 0.515600}, {0.769586, -0.251247}, - {-0.458924, 1.727463}, {0.661363, 0.210307}, {0.953185, 0.310892}, - {0.165745, -0.249229}, {0.003256, -1.461112}, {-1.295068, 0.895661}, - {0.505398, -0.514159}, {-0.794349, -0.483016}, {-0.156867, -1.192899}, - {0.540678, 0.515770}, {-0.124202, -0.030591}, {-0.391160, 1.843647}, - {0.495854, 0.368012}, {0.973258, -0.316386}, {-0.194668, -0.132074}, - {-0.155372, -0.897061}, {0.231087, -0.105997}, {-0.153340, -0.294455}, - {0.796845, 0.174109}, {0.603647, 0.542966}, {0.254563, 0.674866}, - {-0.956172, -0.048158}, {-0.530818, -0.801843}, {-1.026113, -0.351077}, - {0.523780, 0.415202}, {-0.948912, -1.572310}, {0.410020, 0.659503}, - {-0.701486, -0.147504}, {2.688922, 0.358403}, {1.560465, -0.433628}, - {-0.496547, -0.211502}, {-0.124965, -0.391226}, {-0.533224, 0.503166}, - {-0.321520, -0.572785}, {1.258924, 0.163907}, {0.151190, -0.084062}, - {0.226057, -0.056905}, {0.587172, -0.471113}, {-0.695980, -0.163141}, - {-1.237538, -0.208643}, {0.998500, 0.955563}, {-0.179606, 0.559009}, - {0.137764, -0.393149}, {0.502345, -0.054011}, {-0.904479, 0.141850}, - {-0.350247, -0.211378}, {0.404017, -0.839708}, {1.263962, 0.630874}, - {-0.135289, -2.442988}, {0.442130, -0.830587}, {0.122658, 0.023062}, - {0.883724, 0.665128}, {-0.178230, 0.306886}, {-0.468211, 0.071836}, - {0.246586, 0.267636}, {-0.557471, -0.275384}, {0.580532, -0.339634}, - {0.229230, 0.098588}, {-0.037226, 0.048941}, {0.429143, -0.409864}, - {-0.994136, 0.254552}, {1.166575, 0.976509}, {0.851270, -0.625880}, - {-0.345877, 0.458113}, {1.414551, -0.046154}, {-0.380014, 0.085284}, - {-0.464670, 0.922754}, {0.372413, -0.292998}, {0.047303, -0.678625}, - {0.754110, -0.077518}, {-0.818388, -0.489265}, {0.374833, 0.280108}, - {0.074119, -1.470670}, {-0.635899, -0.637640}, {0.921722, 0.985314}, - {-1.420950, 0.022021}, {0.627703, 0.569002}, {0.340334, 0.147938}, - {0.400352, 0.190057}, {-1.088817, 0.050628}, {0.137021, 0.484178}, - {0.078217, 0.350442}, {0.294682, 0.070688}, {-0.085588, 0.602284}, - {0.673964, -0.173427}, {-0.235137, -0.583674}, {-0.707102, 0.052630}, - {0.474050, -1.693641}, {1.003813, 0.543324}, {0.628591, -0.050070}, - {-0.249527, 0.767586}, {-1.879195, -0.452537}, {0.396132, -0.415229}, - {-0.028199, 0.551825}, {0.385329, -0.220834}, {1.324679, -0.312798}, - {-0.642863, -0.825135}, {-0.004710, -0.058157}, {-0.847162, 0.856134}, - {-0.740614, -0.863084}, {-1.158400, 0.973958}, {-1.671737, -0.563632}, - {-0.650321, -0.235563}, {0.598594, -0.545525}, {0.526469, 0.149947}, - {-0.237268, 0.583359}, {0.423311, -0.217139}, {0.379071, 1.034865}, - {-1.758812, 0.686033}, {-0.185959, 0.643266}, {0.032531, 0.661944}, - {-0.298139, -0.817098}, {-1.599706, -0.313605}, {0.426141, -0.444764}, - {-1.006136, -0.819221}, {-0.706618, -0.317805}, {0.141126, 1.084697}, - {0.623824, 0.023016}, {-1.046610, 0.015300}, {0.745230, 0.751430}, - {-1.319946, -0.564289}, {-0.604642, 0.954636}, {-0.483640, 1.126604}, - {-0.757284, -0.011440}, {-0.387955, -0.304309}, {0.153010, 2.368292}, - {0.914144, -1.029997}, {-0.299668, -0.611878}, {0.525482, -0.659581}, - {0.420515, 0.491139}, {-0.366100, 0.268333}, {0.341777, -1.103398}, - {-0.323677, 0.907073}, {-1.121212, 0.392582}, {0.633364, 0.164803}, - {0.338245, -0.443073}, {-0.135408, -0.702552}, {-1.008789, -0.011260}, - {-0.781123, -0.685846}, {0.776429, -0.662386}, {1.057167, 0.352887}, - {-0.597591, 0.229540}, {0.084232, 1.119583}, {-0.285929, 0.236433}, - {0.186841, 0.460782}, {-0.172005, -0.130474}, {0.310647, 0.559606}, - {-0.119430, 0.878673}, {-1.612776, 0.477573}, {-0.154730, -0.506361}, - {-0.083025, -1.341480}, {-0.590808, -0.873065}, {0.237921, 0.451140}, - {-1.029581, -0.416044}, {-0.719467, -1.896297}, {-0.051499, 0.067354}, - {0.889375, -0.684079}, {-0.718765, 0.727295}, {-0.536690, -0.605252}, - {-0.739059, -0.585248}, {0.344357, 0.106056}, {-0.829777, 0.728094}, - {-0.283713, 0.261390}, {0.152151, 0.078054}, {0.567021, 0.126294}, - {0.291900, 0.562743}, {1.059085, 0.084687}, {-0.551331, -1.234712}, - {-0.588794, -1.091670}, {-1.691073, -0.118561}, {1.420551, -1.631329}, - {0.205528, -0.641568}, {0.162794, 0.566978}, {0.766135, -0.410851}, - {-0.798597, 0.988584}, {-0.718769, -0.992680}, {0.344092, 0.608391}, - {0.292893, 0.732026}, {0.056027, -0.138066}, {0.429755, 0.079029}, - {0.187873, 0.660457}, {-0.517005, 0.344139}, {-0.147412, -0.311869}, - {-0.426811, -0.332282}, {1.157440, -0.638019}, {0.183905, -0.237103}, - {-0.779848, 0.107454}, {-0.451815, -0.023654}, {-0.631830, 0.052062}, - {-0.010302, 0.265023}, {-0.740212, 0.667259}, {-0.327306, -0.562585}, - {-0.036460, -0.926800}, {-0.695698, 0.585635}, {0.506878, 0.691465}, - {0.758726, 0.102093}, {0.084728, 0.503180}, {1.401625, 0.519015}, - {-0.631581, -0.606695}, {0.803128, -0.862507}, {0.940896, 0.866730}, - {0.194009, 1.652032}, {0.144810, -0.487873}, {-0.461080, -0.403805}, - {0.002382, 0.136163}, {0.075381, -0.322951}, {-0.966995, 0.269808}, - {-0.030479, -0.126750}, {-0.149463, 0.291122}, {1.059634, -0.087343}, - {-0.579570, 0.637704}, {-0.747178, -0.468939}, {0.647099, -0.724797}, - {-0.223191, 0.924383}, {-0.337221, -0.601146}, {-0.515588, 0.209382}, - {-0.439052, -0.285641}, {-0.461382, 0.405431}, {-0.342314, -0.077113}, - {-0.631056, -0.415190}, {0.238351, -0.386171}, {-0.862323, 0.642213}, - {0.023490, 1.420643}, {-0.875054, -0.335857}, {-0.501911, 0.198525}, - {-0.610229, -0.615875}, {-0.798574, 0.715166}, {0.822130, -1.270475}, - {-1.244082, 0.455988}, {1.012773, -0.052447}, {1.371291, 0.428342}, - {0.352000, -0.742200}, {-0.239479, -0.204546}, {-0.894340, -0.160308}, - {0.011754, -0.047223}, {-0.665009, -1.202901}, {-0.774045, -1.477797}, - {0.298235, 0.642437}, {0.281567, -0.363596}, {-0.359115, 0.641628}, - {0.457527, 0.395590}, {-0.613016, 0.686037}, {0.366476, -1.001394}, - {-1.256980, -0.267237}, {-0.929750, 0.866740}, {0.450983, -0.179572}, - {-0.783167, 0.315364}, {0.373729, -0.263585}, {-0.829264, 1.092197}, - {-0.294844, -1.307715}, {-0.382714, 0.271065}, {0.432171, 1.321070}, - {1.193662, -0.601561}, {0.441481, 1.078067}, {0.816584, 0.272961}, - {0.550523, -0.150661}, {0.184214, -0.219220}, {-0.009063, -0.442284}, - {1.646675, -0.741609}, {1.016200, 0.837222}, {-0.793906, -0.222885}, - {0.919271, 0.064883}, {-1.356202, 0.423254}, {0.049124, -0.191414}, - {-0.195965, 0.184440}, {1.121060, 1.056448}, {-1.033376, -0.124441}, - {0.347735, 1.195392}, {0.503386, 0.384467}, {0.000622, 0.057254}, - {0.170387, -0.558950}, {0.128132, 0.079457}, {1.004037, -0.526779}, - {0.385914, 0.909700}, {1.335021, -1.678956}, {-0.288577, -0.895513}, - {0.565198, -0.882130}, {0.225851, 0.962253}, {0.879317, -0.347095}, - {0.176626, 0.994786}, {-0.866639, -0.349720}, {-0.671101, -0.515104}, - {-0.485501, 0.483706}, {-0.618060, 0.335038}, {0.041503, -0.588110}, - {0.111759, 0.143271}, {0.462091, -1.215689}, {-0.745533, 0.359722}, - {-0.258587, -0.704901}, {0.274778, 0.923238}, {-0.004584, -0.433904}, - {-0.110584, 0.522650}, {0.310410, -0.005530}, {-0.937176, -1.562305}, - {-0.827198, 0.289808}, {-0.698794, -2.184667}, {-0.330698, -0.129384}, - {1.282239, 0.020580}, {0.367543, 0.233161}, {0.065772, 0.245385}, - {-1.368919, -0.232512}, {-0.022110, -0.434683}, {0.989342, 2.850177}, - {0.301916, -0.504838}, {-0.199269, 0.274472}, {0.050557, -0.762571}, - {-0.439144, -1.131543}, {-1.080251, -0.382884}, {0.966876, -2.108684}, - {-0.843520, -0.663706}, {0.898827, 0.695593}, {1.141696, 1.743007}, - {-1.209097, 0.920291}, {-0.133004, -0.591750}, {0.230189, -0.024491}, - {0.267833, -0.097969}, {0.945771, -0.620059}, {-1.927322, 0.029121}, - {0.624278, -1.539738}, {0.038578, 0.956436}, {-0.340126, 0.630304}, - {0.615450, 0.090583}, {0.546216, -0.444248}, {1.103206, -0.220818}, - {0.249552, -1.338686}, {0.137988, -0.524542}, {0.535324, -0.053403}, - {-0.312144, 0.754749}, {-0.305128, -0.570806}, {-0.270710, -0.431734}, - {1.075527, -0.517887}, {0.925849, -0.402164}, {0.780606, -0.094631}, - {0.304430, -0.321345}, {-2.161699, 0.828282}, {-0.074158, -0.677161}, - {-0.063345, -1.326582}, {-0.309826, 0.355096}, {-0.276573, -0.413940}, - {0.647672, 0.302474}, {-0.232098, -1.147781}, {0.120684, -1.621992}, - {0.955412, 0.475249}, {-1.220155, -0.114060}, {1.336061, 0.110965}, - {-0.643678, -0.340022}, {-0.275077, -0.365716}, {0.534379, -0.975696}, - {-1.015498, -0.567058}, {-0.064751, -0.046544}, {1.134877, -0.470992}, - {-1.008269, 0.759255}, {-0.144860, 0.949311}, {-0.732892, 1.047155}, - {-1.535131, -0.961362}, {-0.269558, 0.444843}, {0.059658, -0.187720}, - {0.035190, -0.221091}, {-0.281704, -0.358197}, {1.022722, 0.075790}, - {-1.083448, -0.575743}, {-1.302319, 0.027091}, {0.650458, 1.349900}, - {-1.899117, 1.012783}, {0.181135, 0.688259}, {-0.202816, 0.372898}, - {0.022705, 1.006927}, {0.407585, -0.837289}, {0.002035, 0.352033}, - {-0.356021, 0.346572}, {-0.617595, 0.786143}, {0.239147, -0.279550}, - {-0.088149, 0.102956}, {-0.145992, 0.070007}, {0.061313, -0.731353}, - {-0.584911, -0.334126}, {-1.203326, 0.593685}, {-0.269043, -0.369218}, - {0.521335, -0.180848}, {0.144528, 0.438304}, {0.735844, -0.087415}, - {0.843519, 0.404185}, {0.253477, 0.233027}, {0.286579, -0.892798}, - {0.017010, 1.496329}, {-0.282048, -0.432474}, {-0.831781, -0.766073}, - {-0.339801, 0.157388}, {0.117625, -0.661367}, {-0.133374, -0.349166}, - {-0.700496, -0.598886}, {1.062019, -0.225486}, {-0.844149, 1.129804}, - {0.879032, 0.843744}, {-0.329666, 0.330986}, {0.186070, -0.855283}, - {-0.324321, -1.583881}, {1.541431, -0.622636}, {0.819195, -0.182278}, - {0.449811, -0.132524}, {-0.888292, -1.515782}, {-1.001516, -0.830254}, - {0.250502, -0.344122}, {-0.187613, 1.197694}, {-0.529563, 1.498822}, - {-0.076462, -0.133383}, {0.650433, 0.946105}, {-0.483935, 0.181802}, - {-0.723391, -0.925543}, {-0.431870, -0.262836}, {-0.422439, 0.651529}, - {-0.782266, 0.681568}, {0.562754, -0.374426}, {0.519622, 0.043415}, - {-0.801116, 1.075381}, {-0.799244, -1.077313}, {0.540276, 1.027038}, - {-0.894727, -0.874882}, {-0.749377, 1.018981}, {0.184097, -0.111914}, - {0.042289, -0.830370}, {1.791222, -0.588920}, {-0.047891, 0.031348}, - {0.043701, -0.440535}, {-0.840151, -0.568261}, {0.323255, 0.787932}, - {1.107241, 0.054776}, {0.060801, -0.856247}, {-0.813509, 0.705567}, - {-0.791245, 1.459674}, {-0.014035, -0.216140}, {0.387915, 0.037240}, - {0.642452, -0.129442}, {-1.843821, -0.114364}, {-0.035832, 0.415178}, - {0.767540, 0.263665}, {-0.652285, -0.081054}, {-1.285872, 0.969226}, - {0.618911, 0.255848}, {-0.807479, 0.457430}, {1.064158, 0.201941}, - {0.880563, 0.083746}, {-0.305545, 1.351159}, {0.904389, -0.245280}, - {-0.217445, 0.025212}, {-0.836006, -0.776473}, {0.738829, 1.044716}, - {0.284688, -0.270552}, {1.085086, -0.533687}, {0.671634, 1.461351}, - {0.644988, -0.881924}, {-0.894529, 0.426442}, {0.562243, 0.029641}, - {0.404564, 0.410895}, {0.425106, -0.487737}, {-0.640461, -0.176507}, - {-0.113150, -0.170049}, {0.212635, -0.218543}, {0.269008, 1.255394}, - {0.432785, 0.488759}, {0.513129, 0.005448}, {0.099545, 0.578849}, - {0.086904, -0.186066}, {-1.555150, 0.851275}, {-0.032900, 0.503340}, - {1.149826, 0.331512}, {0.073811, 0.159585}, {-0.223626, 0.427643}, - {1.261585, 0.418598}, {0.601685, -0.525800}, {-0.486987, -0.199185}, - {-0.059233, 0.227470}, {0.226861, 0.459247}, {-0.341422, -1.927231}, - {-0.171239, 0.113076}, {0.078549, 1.096510}, {-0.338355, -1.369953}, - {0.159905, -0.691937}, {-0.307114, 0.783536}, {-0.566867, 0.107976}, - {0.511947, -0.433910}, {0.691441, -0.214146}, {-0.603745, 0.410150}, - {0.628406, 1.315388}, {0.785402, -0.016113}, {0.897580, 1.142371}, - {-0.523238, 0.503762}, {-1.709664, -0.720023}, {0.458547, -0.008885}, - {-0.334689, -0.277679}, {0.489018, -0.845080}, {0.523348, 0.669807}, - {-0.078580, 0.679453}, {0.434669, 1.223368}, {-0.046575, 1.365787}, - {-0.280968, -0.687172}, {-1.099810, 0.666500}, {-0.860152, -0.227991}, - {-0.330220, 0.063645}, {-0.469986, -0.845073}, {-0.674068, 1.048877}, - {0.455515, 0.818142}, {0.849858, -0.564687}, {0.059095, -0.035666}, - {-0.223894, 0.001953}, {-0.067447, -1.792125}, {1.605312, 0.096682}, - {-1.475052, -0.104396}, {-0.360386, -0.579824}, {0.955123, 1.157321}, - {-1.251963, 0.038931}, {0.370436, -0.992312}, {1.371997, -0.487094}, - {0.015502, -0.447989}, {-0.022840, -0.149928}, {-0.664625, 0.831535}, - {0.757109, 0.066880}, {-0.632931, -0.921457}, {-0.231963, -0.193233}, - {0.777090, 0.166369}, {0.609395, -0.027552}, {0.139106, 0.541898}, - {0.942118, 0.587904}, {0.251157, -0.133831}, {0.487019, 0.189802}, - {0.457665, 0.362136}, {-0.424465, -1.249760}, {0.581103, -0.376516}, - {0.510419, -0.590129}, {1.037473, 0.371550}, {-0.466737, -1.004333}, - {-0.011938, 0.537880}, {0.547161, 1.035422}, {0.606423, -0.516887}, - {0.056961, 1.039645}, {0.477078, -0.559180}, {-0.254626, -1.547132}, - {-1.133833, 0.334869}, {0.822161, 0.621644}, {-0.062360, -1.517223}, - {-0.703293, -0.420242}, {0.317995, -0.825593}, {0.736898, -0.336708}, - {0.771707, -0.083937}, {-0.213908, 0.357054}, {1.824059, 0.566277}, - {-0.196467, 1.192675}, {0.798056, 0.142119}, {-1.061991, 0.018563}, - {-0.560025, 0.370005}, {0.454753, -0.180904}, {-0.998511, 0.325013}, - {-0.821580, -0.926141}, {0.234012, -1.400391}, {-0.674742, -0.704986}, - {-0.291769, 1.030446}, {-0.034057, 0.722172}, {0.696109, -0.239704}, - {0.209895, -1.576507}, {-0.157850, 0.127201}, {0.466905, 0.165965}, - {0.723092, -0.550305}, {0.061567, 0.078169}, {-0.065939, 0.569606}, - {-0.133807, 0.770113}, {0.393001, 0.504942}, {0.938111, -0.161913}, - {-0.597112, 0.176459}, {-0.258463, 0.179758}, {1.377765, -0.886022}, - {0.438264, 0.736861}, {-1.525573, 0.999277}, {-0.620013, 0.193526}, - {0.575873, -1.214428}, {-0.126903, 0.386866}, {0.530483, 0.213737}, - {0.088473, -0.115534}, {-0.212839, 0.385450}, {-1.321082, 0.296746}, - {0.250801, 0.116243}, {-0.419752, 0.580050}, {0.941619, -1.096349}, - {0.016156, -0.012206}, {0.223729, -0.513092}, {0.431069, -0.090005}, - {-0.564370, 0.121675}, {0.207579, 0.543705}, {-0.569522, 0.970283}, - {0.817061, 0.419924}, {-0.249714, 0.263547}, {0.715514, 0.375579}, - {0.601764, 0.078943}, {0.912619, -0.785623}, {-0.761932, 0.233378}, - {0.345236, -0.083941}, {0.256879, 0.092192}, {1.596566, 0.978531}, - {0.233048, 0.142618}, {0.613216, -0.032437}, {0.829523, -0.330173}, - {0.230123, -0.145399}, {1.458398, 1.026591}, {0.430070, 0.208748}, - {0.266168, 0.118494}, {0.539393, -0.277606}, {-0.413476, -0.313748}, - {-0.369556, 0.091205}, {-0.326428, -0.843489}, {0.876747, 0.200702}, - {-0.649832, 0.677572}, {-0.132473, -0.408711}, {-0.189154, -1.243630}, - {0.300237, -0.606909}, {-0.727253, -1.333235}, {0.491897, 0.548159}, - {0.129355, 1.663229}, {-0.845514, -0.240228}, {-0.375039, -0.919784}, - {0.911949, -0.218323}, {0.235257, 0.391849}, {-0.246544, 0.164098}, - {-0.231634, 0.840406}, {0.469351, -0.182122}, {-1.743900, 0.992432}, - {0.852607, -0.539289}, {0.795267, -0.387124}, {-0.185710, 1.359292}, - {0.094303, 0.079949}, {0.642032, 0.393244}, {-0.155963, 0.192307}, - {-0.348090, -0.970893}, {0.392175, 0.779526}, {0.325050, -1.394403}, - {-0.089091, -0.577495}, {-0.483524, 0.167122}, {-0.942847, 0.788769}, - {-0.766730, -0.156880}, {0.105378, 0.028165}, {-0.514349, 0.215037}, - {0.561907, -0.681160}, {0.734924, 0.641628}, {-0.145145, -0.683320}, - {0.393664, 0.363491}, {-0.681003, 0.495072}, {0.548521, -0.587928}, - {-0.058075, 0.565056}, {-0.107237, 1.111712}, {0.172436, -0.254398}, - {0.227540, -0.704157}, {0.265045, -0.730209}, {-0.869922, -0.474264}, - {-0.424165, 0.721119}, {-1.396401, -0.989424}, {0.221913, -0.297296}, - {0.286758, -1.498876}, {0.359150, 0.152013}, {0.112532, 0.792481}, - {-0.518915, 0.573917}, {0.223169, -0.581940}, {0.093260, -0.638841}, - {0.366104, 0.042771}, {0.417517, 0.376103}, {0.991679, -0.041029}, - {-0.060651, -0.884169}, {-1.391370, 0.124718}, {1.114556, 1.972558}, - {1.020741, -0.667193}, {-0.025144, 0.571881}, {0.669084, -0.756397}, - {0.439585, -0.056732}, {0.015199, 0.202094}, {0.566927, -0.613071}, - {-0.253624, 0.616822}, {-1.725917, 0.187096}, {-0.845198, 1.593293}, - {-0.490629, -0.100485}, {0.571619, -0.604498}, {-0.018727, -0.145532}, - {-0.003540, 0.086011}, {-0.606243, -0.821588}, {0.783794, 0.540017}, - {1.102898, -0.136964}, {0.216892, 1.340393}, {0.342599, -1.539241}, - {-0.575259, 0.204180}, {-1.488872, 0.715385}, {-0.221673, -0.742431}, - {-0.113355, 0.020189}, {0.213762, -0.406233}, {-0.170202, -1.176525}, - {-0.131939, -0.115900}, {0.612452, 0.453876}, {-0.743530, -0.455021}, - {0.466304, 0.328039}, {-0.258516, 0.475259}, {-0.516879, -0.380717}, - {-1.270884, -0.082694}, {0.501087, -0.200590}, {-1.445308, -0.484118}, - {0.650660, -0.526876}, {-0.229810, -0.738966}, {-0.802840, 0.194996}, - {0.829044, -0.227303}, {-0.054933, -0.287901}, {0.285078, 0.281370}, - {-0.363464, 0.182841}, {0.075010, -1.057872}, {-0.589787, -0.269938}, - {1.178426, 0.146037}, {-0.073736, 1.967197}, {0.910865, 0.370300}, - {-0.153322, 0.395913}, {1.123574, 0.170210}, {-0.882067, 0.376414}, - {0.111788, 0.783705}, {-0.791890, 0.455797}, {0.724860, 0.924557}, - {-1.174621, 1.356142}, {-1.081595, -0.106305}, {-0.006296, -0.172133}, - {-0.122594, -1.407199}, {-0.404103, 0.582921}, {-0.882765, 0.122557}, - {0.094063, -0.110042}, {1.335416, -0.733367}, {0.464591, -0.575710}, - {-0.121591, -0.127096}, {-0.062471, 1.097518}, {0.159503, 1.027292}, - {-1.093872, -0.247750}, {0.529288, -0.443974}, {-0.136074, -0.048432}, - {0.556999, 0.495463}, {0.588577, 0.128776}, {0.462049, -0.451937}, - {0.353590, -0.723830}, {0.204804, -1.625933}, {0.092930, 1.161258}, - {-1.224485, 0.628751}, {0.229420, -0.877564}, {0.739953, -0.878338}, - {-0.892648, 0.514262}, {-0.544203, 0.616829}, {1.134951, -1.505910}, - {0.708691, 0.176345}, {-0.292243, 0.137628}, {-0.337737, -0.596135}, - {1.471883, 0.535997}, {-0.850951, 0.121347}, {0.243537, -0.589604}, - {-0.059771, 1.176776}, {-0.454490, 0.804287}, {0.070382, 0.030761}, - {0.242788, 0.176748}, {-0.126759, 0.129941}, {0.030666, -0.850073}, - {1.875655, 0.587808}, {-0.161780, -1.784124}, {-0.569807, 0.916039}, - {-0.569185, 0.072547}, {-1.127872, 0.026428}, {-1.150343, 1.487388}, - {0.720566, 0.922631}, {0.383465, -1.084402}, {-1.237511, 0.762091}, - {-0.099930, -0.928349}, {-0.601861, -0.484212}, {0.014186, 0.985724}, - {0.396531, -0.374346}, {0.370483, 0.478921}, {0.417636, 0.285218}, - {0.144493, 0.855940}, {1.513194, -0.430838}, {-0.286139, -0.974602}, - {-1.347122, -1.183399}, {-0.109208, -0.834271}, {-0.070154, -1.123663}, - {0.980670, 0.398785}, {1.504316, -1.491271}, {0.365317, 0.703937}, - {0.327227, -1.471393}, {0.779325, -0.291336}, {-0.813175, -0.633449}, - {0.201307, -1.315156}, {-0.157624, 0.806373}, {1.101852, 0.306818}, - {0.548022, 0.618568}, {0.914485, -1.093983}, {-0.788237, 1.330140}, - {0.204645, -1.260284}, {0.708261, -0.487650}, {0.831419, 0.494045}, - {-0.479281, -0.174932}, {0.274606, 0.031707}, {0.511466, 1.479375}, - {-0.749887, 0.138556}, {0.094436, -1.604624}, {1.701213, -0.021478}, - {1.273051, 0.873564}, {-0.564715, -0.604606}, {0.576919, -0.577415}, - {0.854536, 0.069007}, {2.004698, -0.186701}, {-1.020772, 0.648632}, - {-0.474304, -0.256917}, {0.280593, -0.442013}, {0.609646, -0.099227}, - {-0.587909, -1.324509}, {-0.478677, -0.380842}, {0.992419, -0.833282}, - {-0.207837, 0.203639}, {0.504914, 0.234515}, {-0.266033, 0.132612}, - {-0.242541, -0.095664}, {-0.167233, -0.590706}, {-1.276869, 0.288847}, - {-0.312084, -0.687477}, {0.271583, -0.587164}, {0.515093, 0.888483}, - {-0.886180, 1.600277}, {0.761687, 1.283905}, {-0.917327, -0.468507}, - {-0.255153, 0.234853}, {-0.698140, 0.280238}, {-0.173308, -0.549159}, - {1.163074, -0.136380}, {-0.522856, -1.545376}, {-0.250713, -0.577033}, - {0.127714, 0.573650}, {-0.619459, 0.761195}, {0.854662, -0.335280}, - {1.288629, -1.596849}, {-0.259143, 0.994771}, {-0.089218, 0.323881}, - {1.037082, -0.027840}, {0.020579, 1.366726}, {-0.158254, 0.495453}, - {0.551658, 0.631316}, {0.038543, -0.710163}, {0.702737, -1.985090}, - {1.398746, -0.143418}, {0.084599, -0.676724}, {-0.015678, 1.464065}, - {-0.034517, -1.102207}, {-0.094801, -0.520467}, {-0.203622, 0.612699}, - {-1.132184, -0.715451}, {-0.130513, 0.631629}, {-0.340655, 0.517577}, - {-1.132617, -0.041877}, {-0.913628, 0.061052}, {1.393766, -0.805041}, - {0.243021, -0.275513}, {0.592899, 0.812328}, {-0.181057, 0.511301}, - {-0.230935, 0.289646}, {-0.253628, 1.248452}, {-0.375765, -0.450903}, - {0.175142, -0.879180}, {0.632521, 0.051703}, {0.714207, 1.053456}, - {-0.848408, 1.064349}, {-0.233667, -0.270396}, {0.383107, -0.240141}, - {0.507137, -0.249806}, {-0.030230, -0.356838}, {-0.578340, 0.125787}, - {-1.095438, -1.281125}, {0.471165, -1.473161}, {-0.176499, -0.292983}, - {0.283998, -0.579375}, {-1.456174, 0.442805}, {-1.091059, -0.554400}, - {0.325498, 1.215230}, {0.374914, -0.970670}, {1.014939, 0.866143}, - {-0.947639, 0.514860}, {0.945109, -0.393500}, {-1.063523, -0.388257}, - {0.026398, -0.066196}, {-0.485485, 0.511262}, {0.171215, -0.511392}, - {-1.389303, -0.782160}, {0.119798, -0.872876}, {-0.380890, -0.950004}, - {-0.454074, 0.379206}, {-0.150043, -0.133012}, {0.209178, 0.071162}, - {0.194253, -0.916240}, {-0.696335, -1.251679}, {-0.227848, 0.695565}, - {-0.243941, -0.084309}, {-0.950502, -0.635794}, {-0.290364, 0.216578}, - {-0.751428, -1.213585}, {0.460577, -0.149599}, {0.324715, 0.166467}, - {-0.614041, -1.173885}, {-0.142238, -0.336419}, {-1.471493, -0.936717}, - {1.646690, 0.184204}, {0.225939, 0.300060}, {-0.128450, 0.389350}, - {0.727421, -0.454894}, {-0.435942, 0.105538}, {1.205978, 0.100260}, - {-1.315567, 0.308342}, {0.754698, 1.164033}, {-0.107954, -0.172451}, - {-1.047203, 1.015069}, {-1.389840, -0.266683}, {0.547945, 0.616535}, - {-0.434114, 0.849453}, {0.071122, -0.277037}, {-0.050800, 0.284288}, - {-0.165278, 0.009121}, {-0.219966, -0.098418}, {0.198508, 0.353809}, - {-0.581533, 0.448088}, {-1.784726, -1.161621}, {-0.604861, -0.274908}, - {0.183057, 0.051142}, {-0.317797, 0.278299}, {-0.850828, -0.630589}, - {0.104573, 0.285301}, {0.105866, 0.698211}, {-0.180861, -0.862928}, - {0.475285, -0.838884}, {0.532029, -1.353946}, {-0.605465, 1.385299}, - {0.218651, -1.214866}, {2.160576, -0.144045}, {0.168189, 1.107664}, - {0.299490, -0.176740}, {-0.396194, 0.210866}, {-0.125884, -0.224011}, - {0.853672, 0.228498}, {-1.748178, -1.154824}, {0.367379, 0.232790}, - {-0.181073, -0.618603}, {-0.789253, -0.907517}, {0.589666, 0.083053}, - {0.205531, -0.292960}, {-1.755342, -0.647660}, {1.320671, 0.483386}, - {0.751741, -0.776958}, {0.895885, 0.848563}, {0.581838, -0.625789}, - {-0.172855, -0.093791}, {1.730868, -0.185926}, {-0.859963, -0.199970}, - {0.619064, -1.075834}, {-0.751592, -0.307590}, {0.383126, 0.058031}, - {0.532780, -0.855648}, {-0.809753, 0.598019}, {0.523282, -0.210299}, - {0.092903, 0.620162}, {-0.841020, -0.066447}, {-0.888254, 0.244874}, - {-0.225321, -0.358074}, {-0.523697, 0.142496}, {-0.211782, 0.560938}, - {0.850574, -0.508918}, {-0.016610, 0.930612}, {-0.170152, -0.661760}, - {0.379929, 0.104789}, {-0.781353, 0.502040}, {1.259342, -0.010921}, - {-0.135465, 0.122281}, {0.166991, -0.732114}, {0.955615, -0.124115}, - {1.109480, -1.575200}, {0.054263, -0.253799}, {0.862238, -1.307799}, - {0.016864, 0.606661}, {0.483294, -0.230111}, {1.663652, 0.729566}, - {-0.611224, -0.653048}, {-1.924986, -0.524554}, {-0.603593, -0.245722}, - {0.878295, 0.316568}, {0.052504, -1.019809}, {0.512341, 0.171092}, - {0.774275, -0.490241}, {-1.055341, 0.751595}, {-1.688396, 1.987387}, - {-0.902226, -0.336708}, {-0.433191, -0.099476}, {-0.920050, 1.128085}, - {-1.100896, 0.374304}, {0.388182, 1.245751}, {0.280377, 0.511610}, - {-0.344954, -0.349710}, {0.567448, -0.222402}, {-0.230275, 0.053800}, - {-1.450383, -0.655175}, {-0.140144, 0.256758}, {-1.291789, 0.096818}, - {-0.626539, -1.194533}, {0.550245, -0.702534}, {0.445211, 0.411623}, - {0.860433, -0.689320}, {0.660554, -0.055735}, {0.924256, -0.222386}, - {1.467143, -0.039871}, {0.423189, -0.130886}, {-0.157257, -0.253543}, - {0.054858, 0.012374}, {0.004722, -0.181412}, {1.204185, -0.360653}, - {0.683748, -1.078223}, {0.114180, 0.204924}, {-0.209641, 0.052979}, - {0.590545, -0.623896}, {0.855198, 0.077004}, {-0.183976, 0.390004}, - {0.562404, -0.634269}, {0.638455, 0.770984}, {0.539077, 0.058849}, - {1.143837, -0.619012}, {0.379303, 0.131913}, {0.694961, -0.856962}, - {1.031972, -0.095841}, {-0.414443, -0.130743}, {-0.530670, -1.027409}, - {0.532992, 0.593755}, {-0.302745, 0.408516}, {-0.163969, -0.009049}, - {-0.937897, 0.569411}, {0.236075, -0.118090}, {0.367388, 0.920104}, - {-0.228411, -0.020714}, {0.450075, -1.376905}, {0.672742, 0.878365}, - {0.272849, 0.717775}, {0.332603, -0.084299}, {-0.123209, 0.546980}, - {1.599618, -0.734019}, {-1.207434, -1.476439}, {0.126576, 0.023655}, - {1.085747, 0.148754}, {-1.156599, -0.185243}, {1.100054, -0.369996}, - {-0.075626, -0.451481}, {-0.905205, -0.526888}, {-0.401543, -0.591241}, - {-0.114917, -0.419392}, {0.538569, -0.347340}, {0.301107, -0.265479}, - {-1.341466, -0.843870}, {-1.296856, -0.888799}, {0.498068, -0.039892}, - {-0.390159, 0.729649}, {1.171404, 1.213731}, {-0.539536, -0.533475}, - {-0.471922, -0.364102}, {0.204217, -0.768619}, {0.692290, -0.199941}, - {0.682400, 2.105154}, {-0.663000, 0.094841}, {1.190975, 1.491593}, - {-0.756086, 0.111941}, {0.061172, 0.566461}, {-0.048715, 0.143162}, - {0.311618, -0.313990}, {0.310462, 0.386462}, {0.466845, 0.225448}, - {0.572650, -1.340082}, {-0.824610, 0.849502}, {0.746589, -0.306592}, - {1.392851, 0.308872}, {0.506791, 0.509163}, {-1.012017, 0.338057}, - {-0.425655, 0.744355}, {-0.177273, -1.268582}, {1.931480, -0.463406}, - {-1.005768, -0.526282}, {-0.554007, 0.732979}, {0.203002, 1.016918}, - {-0.343580, 0.392522}, {0.671733, 0.125681}, {-1.033077, -0.210715}, - {-0.047144, -1.546564}, {0.263303, -0.350745}, {-0.790377, -0.556737}, - {0.347599, -0.244305}, {-0.267536, -0.557566}, {-0.914996, -0.772484}, - {-1.415204, 0.476464}, {0.636720, 0.271362}, {-0.160421, -0.202122}, - {0.256900, -0.971435}, {-1.341629, -1.340080}, {-0.996941, -0.175151}, - {-0.275634, -0.620064}, {0.277806, 1.181420}, {0.257685, -0.644443}, - {0.972835, 0.904661}, {-0.069391, 0.979036}, {0.033424, 1.180349}, - {1.601465, -0.899762}, {-1.159530, -0.513358}, {0.659085, -0.351394}, - {-0.778353, 0.391627}, {-0.732485, -0.817011}, {0.160577, -0.745746}, - {-1.425300, 0.587289}, {0.466481, 0.028874}, {0.257711, -0.211149}, - {0.360215, 0.446898}, {0.160066, -0.290423}, {-0.826929, 0.104860}, - {-1.006527, 1.418773}, {0.086332, -0.509908}, {-0.775915, -0.277061}, - {-0.568888, -1.679972}, {-0.636057, 0.987827}, {-0.308029, 0.307089}, - {0.717339, -0.888667}, {-0.398455, 0.051524}, {1.624831, -0.428584}, - {-0.995265, -0.949414}, {-0.574018, -0.660601}, {0.821218, 0.649943}, - {-0.066875, -0.742312}, {-1.042409, -0.345767}, {-0.694825, -0.086997}, - {0.892671, 0.304710}, {1.463746, 1.347942}, {-0.794659, -1.465119}, - {0.093978, -1.391761}, {-0.289519, 0.622867}, {-0.038301, -0.287028}, - {0.225742, -0.501018}, {-0.619576, 1.728619}, {-0.078345, 0.521977}, - {0.410487, 0.768793}, {0.898314, -1.505122}, {0.982556, -0.321653}, - {-0.156688, 0.426663}, {0.914887, 0.476645}, {-0.661801, -1.162848}, - {-0.834380, -0.187532}, {-1.033042, -0.657361}, {-0.258103, -0.279691}, - {-0.077377, -0.617789}, {-0.067528, -0.795636}, {0.697166, 1.250363}, - {0.612638, 0.426930}, {0.414738, 0.159230}, {0.012610, 1.110968}, - {0.088986, 0.174993}, {-0.701699, -0.585427}, {0.005547, -1.001461}, - {-0.499370, -0.219090}, {-0.409379, -1.410114}, {0.678592, 1.914758}, - {-0.333608, 0.094601}, {1.473032, -0.764558}, {0.234098, 0.682258}, - {-0.764432, 0.203001}, {-0.286558, -0.776227}, {0.015636, -0.427128}, - {-0.829637, -0.587309}, {0.126426, -0.046741}, {-0.999990, -0.782663}, - {-1.231364, -0.812437}, {-0.064503, -0.714886}, {-0.917891, 0.770603}, - {-0.586602, 0.007693}, {0.403223, 0.712644}, {-0.008010, -0.902316}, - {0.357368, 0.403032}, {0.138081, -0.123957}, {-0.283588, 0.063573}, - {-0.309539, 0.658890}, {-0.406599, 0.958829}, {-0.708649, -0.300691}, - {-0.292065, 0.281290}, {0.654537, 0.474224}, {-0.708419, -2.474893}, - {-0.285932, 0.822338}, {-1.107321, -0.186473}, {-0.369601, -0.659469}, - {0.617200, -0.315311}, {0.185574, -1.073683}, {-1.332198, 0.646972}, - {1.358647, -0.343407}, {0.423292, 0.187194}, {-1.766024, 0.026657}, - {-0.511465, -0.056579}, {-0.202844, -0.666845}, {-0.061273, 0.149654}, - {-0.160488, 0.253664}, {-0.336715, 0.856404}, {-0.211530, 0.286960}, - {-0.096027, -0.438433}, {-0.123255, 0.410071}, {-0.588208, 0.110857}, - {-0.160651, -0.237762}, {0.178849, -0.486365}, {0.523072, -0.604543}, - {-0.481635, 0.822471}, {-1.427760, 1.475099}, {-0.015193, 0.056991}, - {-0.020920, -0.628689}, {-0.662725, -0.334047}, {-0.029955, 0.271499}, - {-0.549856, 0.193420}, {-0.591084, -0.460397}, {-0.847475, 0.176087}, - {0.134666, 1.535474}, {-0.404517, 1.774605}, {-0.012591, -0.025081}, - {0.304635, 0.349055}, {1.032524, -1.067513}, {-0.654717, -0.443237}, - {0.354067, -0.906890}, {0.645732, -0.808004}, {0.708526, 0.422639}, - {0.251741, -0.199950}, {-0.343301, -0.372559}, {0.521966, 0.293809}, - {0.596219, 1.459711}, {-0.911900, 1.090172}, {-0.180459, -0.242334}, - {0.043777, -0.308086}, {0.892502, -0.297267}, {0.069414, 0.548758}, - {0.106618, 0.638483}, {0.075271, 0.328460}, {-0.453758, 0.763184}, - {0.873083, -0.518432}, {-0.165817, -0.466517}, {-0.777957, 0.195349}, - {-1.045421, -0.135624}, {1.085889, 0.201413}, {0.045273, 0.861950}, - {-0.380225, -0.540513}, {1.234628, -0.061586}, {0.388294, 0.042646}, - {-1.184967, -0.334204}, {-0.431482, 0.137044}, {-0.260536, -0.255510}, - {0.676812, -1.129665}, {0.060250, -0.101155}, {0.177268, 0.504934}, - {0.447116, 0.913391}, {-0.188139, 0.308266}, {-0.461521, -0.562924}, - {0.803880, -0.403873}, {-0.719793, 0.283642}, {-0.274215, -1.343825}, - {-0.176226, -0.931566}, {-0.456589, 0.988810}, {0.069589, -0.085009}, - {0.498388, 0.661623}, {1.764237, -1.921451}, {-0.520769, -0.283433}, - {-0.863480, -0.545718}, {0.164524, -1.140960}, {0.391842, 1.388107}, - {-0.211966, -0.760097}, {0.882238, 0.726142}, {-0.494735, -0.147398}, - {-2.130035, -0.271010}, {-0.091024, -0.085686}, {-1.139421, 0.482023}, - {-1.313630, 0.069675}, {-1.013372, -0.030979}, {-0.010000, -0.309232}, - {0.015798, -0.454868}, {-0.021211, 1.170452}, {0.733800, 0.657433}, - {-0.564449, -1.202041}, {-1.438305, -0.225477}, {0.737473, 0.034093}, - {-0.124011, 0.017096}, {-1.054430, -0.490369}, {0.735048, -0.170665}, - {-0.603735, -0.398150}, {-0.291035, -1.773649}, {-0.230866, 0.024045}, - {0.565597, -0.230533}, {0.341789, 1.338716}, {-0.174622, -0.278944}, - {-0.235408, -1.074645}, {0.457028, 0.409652}, {0.792267, 0.082481}, - {0.739603, -0.207675}, {-0.446134, 0.728303}, {0.271171, 0.646737}, - {-0.080809, -0.597354}, {-0.333713, 0.650210}, {-0.058765, -0.037884}, - {0.313115, 0.179699}, {1.061631, 0.029643}, {-0.718130, -0.867332}, - {0.161520, -0.373053}, {0.115240, 1.018624}, {-1.401570, -1.811324}, - {-0.389145, 1.565653}, {0.275466, 0.553665}, {1.366925, -0.550564}, - {-0.653708, -0.492507}, {0.639135, 0.108763}, {0.502588, 1.583952}, - {-0.959099, 1.271320}, {-1.233735, 0.101634}, {-0.740340, -0.248321}, - {-0.892102, 0.109857}, {-0.345742, 0.073819}, {0.031049, -0.115825}, - {0.366890, 1.202980}, {-0.555795, 0.858266}, {-0.789748, -0.582250}, - {-0.684044, -0.073831}, {0.431366, -0.264677}, {-0.251106, -1.079765}, - {-0.048445, -0.527598}, {-0.257022, 0.807331}, {0.604370, 0.108487}, - {1.193560, -0.504331}, {0.887205, 0.223083}, {0.165226, 0.181709}, - {-0.694678, 0.305534}, {-0.539173, -0.699254}, {-0.962349, -2.031904}, - {0.437054, 0.981274}, {0.472644, 0.330887}, {0.577628, 0.332816}, - {-0.547620, -0.333722}, {-0.651263, 2.080435}, {-0.084852, 0.079156}, - {-0.760344, 0.805795}, {0.499899, -1.470379}, {0.351524, 0.328809}, - {0.080884, -0.587359}, {-0.553406, -0.169034}, {0.039425, -0.538786}, - {0.858310, -0.140728}, {0.472670, -2.246532}, {-0.368775, -0.323302}, - {0.090378, -1.378154}, {-0.550284, 0.507064}, {0.539224, 0.603538}, - {-0.000691, -1.727633}, {-2.003468, -0.661973}, {0.337784, 0.651070}, - {0.162028, 0.567114}, {-0.067531, 0.050097}, {0.182332, -0.719324}, - {-1.474951, 0.685114}, {0.860035, 0.235277}, {0.673692, -0.745029}, - {0.163864, 0.823959}, {0.712323, -0.579740}, {0.133995, -0.852349}, - {-0.093329, -0.759119}, {0.285367, 1.120202}, {0.187071, -0.415625}, - {0.522904, 0.451246}, {0.757153, 0.243609}, {0.184169, 1.090276}, - {1.479287, -1.344383}, {1.487636, 0.349166}, {-0.095602, 0.755634}, - {-0.112605, 0.207789}, {-0.441569, -0.286210}, {-0.409203, 1.547667}, - {-0.546806, -1.646303}, {1.074615, 1.044879}, {-0.434627, -0.525903}, - {-0.242109, 1.227347}, {-1.319122, 0.275312}, {-0.545729, 0.662611}, - {0.343853, 0.157724}, {0.475258, 0.149229}, {0.253291, 1.076345}, - {-0.570123, -1.272515}, {-0.186610, 0.269897}, {-0.189057, 1.120619}, - {-0.383515, 0.226731}, {0.924259, -0.098409}, {-0.080234, -0.649794}, - {-0.726238, -1.386272}, {0.806442, -0.219207}, {0.024879, 0.089845}, - {0.913936, -0.796274}, {2.617004, -0.280960}, {-0.718628, -0.178037}, - {-0.428151, 0.215331}, {-0.073535, -0.606667}, {0.254862, 0.639116}, - {1.488909, 0.267331}, {-0.583632, -0.698212}, {1.157905, 0.856185}, - {0.267413, 0.309240}, {-0.460028, 0.787779}, {0.527296, 0.364704}, - {0.341824, -1.132002}, {0.758196, 0.233237}, {0.556152, 0.517602}, - {0.066575, -0.831919}, {0.517617, -1.003521}, {-0.448421, 0.717349}, - {0.254943, 0.001274}, {-0.525383, -0.477606}, {1.091618, 0.208053}, - {-0.123831, -0.791330}, {0.334160, 0.226185}, {-0.698222, 0.706486}, - {-0.032881, 0.242425}, {-0.281343, 0.751205}, {0.632088, -1.214175}, - {0.073367, -1.174985}, {-0.324776, -0.120150}, {0.164874, 0.111320}, - {0.609620, -0.439175}, {0.031007, 0.000219}, {1.028218, -0.287004}, - {1.158747, 0.853374}, {-1.199486, -0.275183}, {-1.283849, 1.091030}, - {0.561488, -0.120327}, {-0.287822, -0.044037}, {-0.968829, -0.687665}, - {1.352591, -0.243109}, {-1.373144, 0.694374}, {-0.378153, 0.037286}, - {-0.802495, 0.406625}, {-0.041211, -0.643437}, {0.185728, -0.003745}, - {-0.305742, -0.281991}, {0.387514, -1.518495}, {-0.242799, 0.206669}, - {-0.669666, -0.599745}, {-0.141009, -2.414735}, {-0.003491, -0.033090}, - {-0.289344, -0.418806}, {0.520367, 0.013915}, {0.555563, -1.274973}, - {-0.324143, 0.296732}, {-1.457603, 0.238373}, {0.410639, 0.101798}, - {-1.012753, -0.935328}, {0.899841, 0.309905}, {0.127096, -0.954350}, - {0.106654, 1.147259}, {-0.355125, -0.287927}, {-1.547840, -0.332855}, - {-0.733110, 0.032549}, {-0.271676, 0.273160}, {-0.415254, -1.088883}, - {0.067924, -1.032075}, {0.476029, -0.014800}, {-0.003191, -0.439740}, - {-0.798743, 0.822659}, {0.883440, 0.479619}, {-1.455205, -0.328712}, - {0.775377, 0.211114}, {1.220351, 0.695741}, {0.452471, 1.035777}, - {0.341504, -1.320770}, {-0.611155, 0.468035}, {0.908185, 0.273328}, - {0.292692, -1.200411}, {-0.033289, -1.174946}, {0.994273, -0.733959}, - {0.214130, 0.413516}, {0.274615, -0.372335}, {1.346686, -1.437341}, - {-0.197733, -0.578892}, {0.149638, -0.107375}, {-0.339736, 0.034751}, - {-0.338912, 0.066107}, {0.750437, 0.078081}, {-1.049538, 0.591718}, - {-0.041805, 0.895005}, {-1.095430, 0.700039}, {-0.235200, 0.094713}, - {0.065897, 0.602921}, {0.755398, -0.108273}, {1.091147, 0.071925}, - {0.228578, -0.294732}, {-0.584694, -0.554632}, {-0.078499, 0.146121}, - {-0.915751, -0.799416}, {-0.365473, 0.373294}, {-0.531644, -0.071814}, - {0.721813, 0.581123}, {-0.110709, 0.244037}, {0.199982, 1.816332}, - {0.564345, 1.371369}, {0.467000, 1.041223}, {-0.686056, 0.372524}, - {0.104741, -0.231289}, {0.409822, -0.375921}, {0.031726, -0.309260}, - {1.183292, 0.898475}, {-0.493938, -0.680656}, {0.890296, 0.420048}, - {0.070555, -0.613145}, {-0.022719, 0.779646}, {1.421551, -0.488215}, - {-1.226503, 1.639620}, {-0.306046, 0.416864}, {-0.696823, 0.344132}, - {-0.143656, 1.441148}, {-0.689809, -0.700984}, {0.463316, 0.449139}, - {-1.364012, 0.198649}, {0.449165, 0.742472}, {-0.486011, -1.473443}, - {0.500896, 0.833914}, {-0.622554, -0.239606}, {1.189831, -1.242437}, - {1.151693, -0.330836}, {0.920582, -0.666624}, {-1.224090, -1.875929}, - {-1.092502, -0.769761}, {-0.262561, -0.202329}, {0.431854, 1.719011}, - {-0.428703, -0.207687}, {0.564636, 0.288137}, {-0.667355, 0.277334}, - {0.180266, 0.623707}, {-0.315467, -0.069400}, {-0.601639, -0.462335}, - {-0.948292, -0.538306}, {-1.253119, -0.336230}, {-0.049082, 0.253962}, - {-0.451911, 0.428742}, {0.736800, 0.882449}, {-0.412044, 0.366809}, - {-0.467545, -1.006095}, {1.008279, 1.350596}, {-0.359243, 1.473972}, - {0.331398, -0.803076}, {-0.297361, -0.463851}, {0.201236, -0.107912}, - {0.239863, 0.923164}, {-0.353475, 0.650233}, {0.384891, 0.803903}, - {0.302545, 1.670567}, {0.799741, 0.176856}, {-0.024317, 0.120099}, - {0.008041, -0.350004}, {0.230942, 0.570515}, {-0.132010, 0.455897}, - {-0.263291, -0.539349}, {-0.645935, 0.218008}, {-0.463458, 0.613702}, - {0.243487, 1.705323}, {-0.868175, 1.548390}, {-0.227668, 1.410199}, - {0.658615, 0.988933}, {-1.447789, 0.664133}, {0.798315, 0.707355}, - {0.425196, -1.360819}, {-0.135508, -1.272751}, {0.647140, 0.224335}, - {1.161476, 0.319277}, {-0.480896, 0.374320}, {1.878285, 0.118100}, - {-0.211065, 2.614610}, {0.436903, -0.128683}, {1.200507, -0.109365}, - {-0.119335, -0.098252}, {0.589978, 0.683516}, {-0.940828, 1.101724}, - {-1.549157, 0.580937}, {-0.045247, 1.021449}, {0.032804, -0.767668}, - {0.999415, -0.176564}, {-0.273115, -1.412497}, {0.167989, -0.295090}, - {-0.036130, -0.505037}, {0.340076, -0.586571}, {-0.911702, 0.260780}, - {-0.738639, -1.333492}, {0.734417, -1.151579}, {-1.217327, -0.926407}, - {0.231592, 0.190441}, {0.737205, -0.440307}, {0.438334, -0.481113}, - {0.415552, 0.334575}, {0.720010, 0.454014}, {-0.802826, -0.345235}, - {-1.888756, 0.673207}, {-0.545520, -0.182574}, {1.213482, 0.417727}, - {-1.244954, 0.421645}, {-0.259205, -0.972422}, {-0.804418, 0.298643}, - {-0.497450, -1.013039}, {-0.363112, -0.066604}, {-0.295601, 0.914620}, - {1.021939, -0.017453}, {0.680981, 0.298866}, {1.107544, 0.912255}, - {0.209341, 0.491702}, {1.108210, 0.582607}, {-1.014248, -0.037100}, - {0.258361, 0.684969}, {1.045870, -0.304365}, {-0.871056, 0.100909}, - {0.823420, -0.126928}, {-1.214117, 0.314406}, {0.871430, 0.118769}, - {-0.231277, 0.241207}, {0.035972, 0.285960}, {-0.742023, 0.505129}, - {0.254087, 0.341223}, {0.454655, -0.525507}, {0.755748, -0.462112}, - {0.587311, 0.633949}, {-1.442459, 0.796037}, {-0.318407, -0.290317}, - {-0.527692, -0.825944}, {0.971368, -0.736664}, {0.229420, 1.203638}, - {-0.736167, -1.347227}, {1.412800, 0.828552}, {0.740372, -0.240037}, - {0.876093, -1.017553}, {-1.210328, 0.107513}, {1.137077, 0.416858}, - {-0.750964, -0.268489}, {-0.489146, -0.819406}, {0.703970, -0.019085}, - {-0.301573, 0.768771}, {-0.280863, -0.923373}, {-0.372715, 0.726574}, - {0.399350, 1.779629}, {-0.254864, -0.001700}, {0.357948, 1.923558}, - {0.853556, -0.006690}, {0.509726, 0.496630}, {-0.858094, -1.471612}, - {-1.728564, 1.392049}, {0.623779, -0.300334}, {-0.675676, -0.167689}, - {-0.849742, -0.641322}, {0.697436, -0.283774}, {-0.275413, -0.855216}, - {0.109529, -1.411846}, {-0.609845, 1.742109}, {0.172157, 0.641408}, - {0.021837, 0.465026}, {-0.022089, -1.116902}, {0.964458, 0.032398}, - {0.532234, 0.444177}, {1.296815, -0.784017}, {0.749398, 0.180579}, - {0.574044, -0.467364}, {-0.838701, -1.398614}, {0.129156, 0.516463}, - {-1.055356, -1.190214}, {0.528734, -0.367550}, {0.797226, 0.908928}, - {-0.050036, 0.414600}, {-1.125256, -0.572235}, {0.346222, 0.074931}, - {-0.538717, -0.265686}, {-0.056401, 0.092578}, {-0.207907, -0.019935}, - {1.012684, 0.194750}, {-0.367511, -0.884469}, {0.107956, 0.421098}, - {-0.130369, -0.206243}, {-0.422989, 0.053730}, {0.242778, 0.306604}, - {1.008636, -1.384316}, {0.333947, 0.589110}, {-0.676884, 0.681691}, - {0.948866, 0.105958}, {0.426000, 0.672980}, {-1.064013, 0.336557}, - {-0.240377, 0.553604}, {-1.066478, -0.727211}, {-0.640961, -0.431194}, - {-0.047056, 0.430286}, {1.455127, 0.086339}, {1.044019, 0.478455}, - {-0.476166, 0.241834}, {0.380861, -1.272487}, {-0.346503, -0.477271}, - {0.130709, 0.817365}, {-0.985777, -1.207054}, {-0.046189, -1.202671}, - {-0.330047, 0.026048}, {-0.239273, 1.694012}, {-0.003318, -0.758511}, - {0.329162, -0.169705}, {-0.474235, -0.351765}, {0.503979, 1.428228}, - {0.554457, 0.574828}, {-1.434442, -0.919440}, {-0.451345, 0.194554}, - {0.521378, -0.954107}, {0.200849, 0.335852}, {-0.124435, 0.284194}, - {-0.895518, -0.304695}, {0.301791, 0.348402}, {0.093200, -1.526336}, - {0.633977, 0.922629}, {0.135976, -0.420617}, {0.232458, -0.359167}, - {0.716139, 0.072091}, {0.254796, -0.013268}, {-0.379655, -0.585246}, - {-0.022477, 0.395561}, {-1.191544, -0.383859}, {1.447703, -0.326901}, - {1.032686, 1.916231}, {-0.883760, 0.132351}, {0.797983, 0.389918}, - {0.690284, 0.427680}, {-0.500221, -0.126779}, {-0.347322, 1.756772}, - {0.199207, 0.321965}, {1.155876, -0.872054}, {0.930258, -0.737929}, - {0.355776, 0.125540}, {0.111132, -0.084686}, {-1.765447, -0.399887}, - {-0.484057, -0.693399}, {0.164002, 1.979783}, {0.861997, 0.458612}, - {1.264516, 0.761647}, {-0.265837, 0.631914}, {1.055233, 0.348404}, - {-1.092578, -1.237799}, {0.095743, -1.847219}, {-0.335968, -0.005423}, - {-0.404703, 0.532334}, {-0.681848, -0.884532}, {-1.117062, -1.755286}, - {-0.757974, -0.504821}, {-0.349785, 0.132151}, {0.770082, 0.883966}, - {-0.583158, -0.064996}, {-1.505933, 0.375539}, {0.417048, 0.888212}, - {0.276252, -0.045163}, {-0.424762, -0.615027}, {-0.365226, -0.268774}, - {0.618845, -0.605848}, {0.164242, -0.422652}, {0.645703, 0.576558}, - {0.709919, 0.591569}, {0.666594, -0.737500}, {0.026753, 0.073156}, - {-0.021352, -0.729128}, {0.909815, -0.255206}, {-0.589314, -0.428360}, - {0.632534, -0.568628}, {0.261934, -1.385056}, {0.119414, 0.325016}, - {0.805002, -1.770542}, {0.277957, -0.422711}, {0.741012, -1.257607}, - {1.212983, 1.441817}, {-0.765914, 0.535380}, {0.317519, -0.080034}, - {-0.338720, 0.031978}, {0.437849, 0.750522}, {0.047748, -0.215083}, - {-0.962192, -0.546992}, {-0.645064, 0.921583}, {-0.551719, 0.389382}, - {0.105114, -0.340749}, {-0.310464, -1.039947}, {0.161271, 0.002407}, - {-0.846793, -0.332475}, {0.085515, -0.070405}, {0.516329, 0.565764}, - {-0.035842, -1.577365}, {-0.663475, -0.556161}, {0.282857, 0.891555}, - {-1.157957, 0.323517}, {0.468238, 0.244984}, {-0.001649, -1.302923}, - {-0.138291, 0.749416}, {0.078580, 1.089354}, {0.049946, -0.266946}, - {0.138307, -0.213026}, {-0.398241, 0.031845}, {-1.097927, 0.485306}, - {-0.228563, 0.686991}, {1.497539, 0.916258}, {0.779815, -0.813548}, - {-0.470301, -0.251974}, {0.471512, 1.453454}, {-0.334489, -0.584985}, - {-0.471259, -1.117006}, {0.399544, -0.900880}, {0.372172, 0.255576}, - {-0.107049, -0.126052}, {0.408528, -0.020332}, {0.284764, 0.268221}, - {-0.298182, -0.221228}, {-1.686760, 0.052717}, {-0.036532, 0.036560}, - {-0.523159, -0.734161}, {-1.978600, -0.302538}, {-0.584814, -0.405386}, - {-0.741486, 0.753370}, {-0.040990, -0.509271}, {-0.541529, -0.386237}, - {0.566418, 0.037714}, {0.151225, 0.807270}, {0.189559, -0.703980}, - {-0.079181, -0.363765}, {-0.031324, -1.081530}, {0.083723, -0.843167}, - {0.221127, 0.064046}, {-0.427889, 0.022969}, {0.139107, 0.082158}, - {-0.086705, 1.011836}, {0.342143, 0.246917}, {0.207554, 0.133077}, - {-0.080966, 1.046769}, {-1.059233, -1.085633}, {-0.356010, 0.718178}, - {-0.577859, -0.109375}, {0.542744, 1.108480}, {-0.876346, -0.752113}, - {1.300557, -0.250276}, {-1.010939, 1.119039}, {0.250270, -0.805066}, - {-0.711292, -0.052695}, {-0.272900, 0.801570}, {-0.129894, -1.472325}, - {-0.059291, 0.042281}, {0.343083, 0.256834}, {0.652360, 1.649133}, - {-0.441827, 0.270447}, {-0.338878, 0.306703}, {-0.533263, -0.367020}, - {-0.251497, -0.091588}, {-0.288078, -0.953882}, {-0.687001, 1.500250}, - {-0.145605, -0.885543}, {-0.295624, 0.364480}, {-0.773724, 0.838420}, - {-0.755309, -0.637771}, {0.140479, 0.139850}, {0.164407, -0.946375}, - {0.334796, 0.474215}, {-0.108846, 0.443189}, {-0.315848, -0.562709}, - {1.146425, -0.086577}, {1.422925, 1.452282}, {0.528118, 1.090295}, - {0.142858, -1.517183}, {0.089292, -1.030106}, {1.868715, -0.729473}, - {-0.847120, 1.530669}, {-0.619504, -0.077095}, {0.013841, 0.239227}, - {0.358968, -0.495570}, {0.529144, -0.319802}, {-0.237481, 0.008175}, - {-0.949545, -1.524610}, {-0.764478, 1.202526}, {-0.754071, 0.211168}, - {0.726948, -0.350558}, {-0.383736, -0.722571}, {-0.531464, 0.251220}, - {-0.215829, 0.489119}, {-0.673253, 0.780101}, {-0.425690, 0.571457}, - {-0.591886, -0.066992}, {-1.591411, -0.156612}, {0.832392, -2.183463}, - {0.089291, 0.262270}, {0.334040, 0.864206}, {1.070955, -0.017792}, - {-0.209751, -0.368139}, {0.320312, 0.611719}, {0.299755, -0.675094}, - {0.945826, 0.192595}, {0.160973, -0.236396}, {-0.930557, -0.137053}, - {0.824962, -0.452584}, {-0.781090, 0.259436}, {0.499810, -0.342312}, - {-0.976936, -0.295870}, {-1.864960, -1.380520}, {-0.343277, 1.189033}, - {0.354532, 0.766793}, {-0.539951, 0.213865}, {-0.755910, 0.577450}, - {-1.051209, -1.337479}, {-0.047104, 0.329372}, {0.415117, -0.259529}, - {0.118073, 0.808609}, {1.623840, -0.219009}, {-0.092132, 1.145445}, - {-0.289294, 0.153253}, {-0.118908, 0.241607}, {-1.524828, -0.280118}, - {0.532567, -0.648456}, {-0.104690, -0.952993}, {0.096358, 0.341141}, - {0.577925, -1.416989}, {-0.472131, 0.005166}, {0.441558, 0.684743}, - {-1.075276, 0.458788}, {-0.542887, -2.145492}, {0.982289, -0.712595}, - {0.376656, -0.133513}, {-0.495061, -0.153725}, {-0.843701, -0.590876}, - {0.189824, -1.026949}, {0.271507, 0.450949}, {-1.214261, 1.019265}, - {-0.192929, 0.809120}, {0.580104, -0.580059}, {-1.008693, 0.258822}, - {-0.686540, -0.150929}, {-0.806180, 0.585680}, {0.382421, 0.681665}, - {0.993495, 0.326671}, {-0.011094, 0.137639}, {0.230903, 1.353307}, - {0.321925, -0.530779}, {0.445268, -0.218635}, {-0.248939, -0.811110}, - {-0.438773, 0.174895}, {0.092849, -0.786051}, {0.672213, 0.282743}, - {0.310022, 0.016750}, {-0.554465, -1.296100}, {1.167694, 0.289020}, - {-1.008050, -1.267211}, {1.337627, -0.727579}, {1.107920, -0.800503}, - {1.580887, -0.434263}, {0.534123, -0.023207}, {-0.672041, -1.190008}, - {-0.623945, -1.000304}, {-0.339638, -0.090139}, {-0.247150, -0.090013}, - {-0.248865, -0.373625}, {-1.008469, -0.345410}, {0.219290, -0.748377}, - {-1.110240, 0.109012}, {-1.315957, -0.132981}, {0.328799, 0.407528}, - {0.992340, 0.695968}, {0.540487, 0.100143}, {-0.101748, 1.200990}, - {1.372902, -0.484321}, {0.182478, 0.930679}, {1.286810, -0.092169}, - {0.361417, -0.430697}, {0.059600, 0.508897}, {0.957065, 0.231615}, - {0.315519, 0.910029}, {-0.259820, -1.108543}, {1.139876, 1.306830}, - {0.111378, 0.598970}, {-1.158463, 0.057921}, {0.732254, 0.269129}, - {-0.422410, 0.384354}, {0.434930, 0.258197}, {-0.135920, -0.584475}, - {-0.525475, 0.266487}, {0.479545, -1.317436}, {-0.588906, -1.032770}, - {0.421416, -0.456796}, {-1.112158, 0.197872}, {0.427474, -1.371221}, - {1.169989, 0.066283}, {-0.285752, 0.682510}, {-1.103367, -0.081644}, - {-0.492414, -0.508673}, {-0.603259, 0.274685}, {0.453820, -0.705243}, - {0.451449, -0.286640}, {-0.890995, 1.493104}, {-0.269448, -0.111697}, - {-0.284481, 0.892255}, {-0.156936, 1.178820}, {-0.026075, -0.288447}, - {0.192773, -0.689622}, {0.408094, 0.221306}, {-0.077789, 0.462070}, - {-0.763512, 0.374190}, {1.372160, -0.387671}, {-0.961063, 0.123053}, - {-0.563208, -1.176171}, {-0.681526, 0.053875}, {0.246027, 0.916420}, - {0.074971, 0.397053}, {-0.509338, -0.467579}, {-0.028080, -0.246218}, - {-0.778298, -1.008908}, {-0.688193, -0.856779}, {2.135919, -0.463805}, - {-0.151521, -0.435434}, {0.286563, -1.399753}, {-0.238350, 0.812805}, - {-0.637019, 0.391566}, {-0.930719, -0.753007}, {-0.130401, -0.095141}, - {-2.022008, 1.588912}, {0.465128, -0.736271}, {0.259710, 0.008248}, - {-0.670376, 0.573592}, {-0.759845, -0.245010}, {1.199012, 1.484925}, - {0.117486, -1.283839}, {0.823713, 0.601557}, {0.430107, 1.305288}, - {-0.857913, -0.086698}, {-0.240219, 1.178419}, {0.106586, -0.727451}, - {-0.013468, -0.553821}, {0.331834, -0.839487}, {-0.314308, -0.236823}, - {-1.020583, -0.465144}, {-1.183478, -0.838031}, {-0.688226, -0.504797}, - {-0.659946, 0.110839}, {-0.317790, -0.888356}, {0.070495, -0.690989}, - {-0.215137, -0.280878}, {-0.523957, -1.084659}, {-1.625006, -0.827692}, - {-1.254357, -0.098812}, {-0.037334, -0.320405}, {-1.032500, -1.006692}, - {1.085823, -0.464633}, {-0.424815, -0.295596}, {-0.359488, -1.184184}, - {-0.081069, -0.021767}, {0.194173, -1.145768}, {-0.408176, -0.113861}, - {-0.210713, 0.116032}, {0.153323, -0.278102}, {-0.824116, -0.348393}, - {1.711024, -0.546763}, {0.732380, 0.343069}, {-0.031038, -0.890522}, - {0.333504, -0.385973}, {0.838976, 0.266577}, {-0.957789, -0.709820}, - {0.084819, -0.404493}, {0.086928, 0.312046}, {0.263436, 0.677942}, - {-0.878981, -0.061526}, {1.171282, -0.158491}, {1.014568, -0.534002}, - {-0.414913, -0.218960}, {1.441376, -0.016469}, {-1.076862, 0.575999}, - {-0.508823, -0.139239}, {0.558421, 0.010286}, {0.950772, -0.758483}, - {-0.041742, 0.060954}, {-0.951736, -0.703192}, {1.175201, 0.090376}, - {-0.088403, 0.175440}, {1.137298, 0.338050}, {0.202901, -0.780958}, - {0.061536, 1.037387}, {0.163756, 0.146354}, {-1.082413, -0.656845}, - {-0.663994, -0.554342}, {0.921438, 0.127520}, {-1.683027, -0.494672}, - {-1.207142, 0.324501}, {-1.591428, -0.689670}, {0.380479, -0.276296}, - {-1.370787, -0.457896}, {0.311180, 0.865492}, {0.329667, -0.284122}, - {0.764384, -0.263737}, {0.388595, 0.581989}, {0.530794, 0.089158}, - {-0.194579, -0.160770}, {-0.497197, 0.237652}, {-0.969043, 0.476531}, - {0.638742, 0.543269}, {-0.246685, -0.490291}, {-0.504714, 0.519112}, - {-0.275926, 0.004395}, {-0.679165, 0.801614}, {-1.013769, 0.245981}, - {-1.048180, 0.133878}, {-0.347843, -0.709411}, {-0.382321, 0.205123}, - {-0.289524, 0.058317}, {0.779829, -0.108258}, {-0.607607, -0.504919}, - {-0.313592, -0.887478}, {-1.599302, 0.151143}, {-0.235541, 0.112637}, - {0.193417, 0.135649}, {0.160499, -0.467862}, {-0.417821, 0.508193}, - {-0.371340, -0.797004}, {-1.218597, -0.463920}, {-0.329584, -0.832050}, - {0.403735, -0.347268}, {0.312113, -0.544869}, {-0.885796, -0.033127}, - {0.757105, 0.871085}, {-0.135961, 0.870860}, {-0.428802, -1.184347}, - {0.290754, 0.685975}, {0.025818, -0.815321}, {0.241907, 0.375104}, - {1.038442, 0.255637}, {0.196660, -0.681084}, {-1.074595, -0.105662}, - {-1.073237, 0.535047}, {-1.330165, -0.216306}, {0.568918, -1.460499}, - {0.046209, -1.528571}, {0.044727, 0.488519}, {-0.583277, -0.315108}, - {-1.471177, -0.727805}, {-0.046036, -0.582608}, {-0.295384, 0.529362}, - {0.361797, -0.922655}, {0.397070, -0.019993}, {-0.492521, -0.117990}, - {0.782889, 1.170999}, {0.662184, 0.636561}, {-1.735288, 0.395381}, - {0.079380, -0.052730}, {0.709996, 0.654113}, {-0.376010, -0.821716}, - {0.920385, -1.393132}, {-0.322399, 0.137951}, {0.319344, -0.513440}, - {1.985403, -1.230494}, {-0.254706, 0.778217}, {-0.381202, 0.578765}, - {-0.175651, 0.459589}, {0.364902, -0.349097}, {-0.521217, 0.377102}, - {-0.696214, 0.237524}, {-1.428330, 0.264137}, {1.113969, -0.075405}, - {-1.211818, 0.228307}, {-0.100941, 0.790198}, {0.189215, -0.790792}, - {0.363891, -1.198473}, {-0.964005, 0.251669}, {0.801589, -0.261038}, - {-1.090147, 0.402919}, {-0.227480, -0.351480}, {-0.406823, 0.119514}, - {-0.814855, 1.243446}, {0.516934, -1.114966}, {0.026047, 0.248718}, - {-0.378437, 0.509858}, {0.312049, 0.311611}, {-0.891748, 0.177292}, - {0.608950, 0.028471}, {-0.495443, -0.650332}, {-0.032869, 0.579244}, - {1.360294, -1.192193}, {-0.391750, 0.494781}, {-0.337458, 0.448717}, - {0.363825, -0.229340}, {-1.236290, 0.427883}, {0.399168, 0.082217}, - {0.280208, -0.644907}, {-0.759483, -1.003514}, {1.269082, -0.253776}, - {0.442041, 1.322204}, {1.329775, -0.544052}, {0.399145, 0.137237}, - {0.772111, 0.321600}, {-0.588199, -0.243919}, {-0.658466, -0.868454}, - {0.146449, -0.936439}, {0.021534, -0.658851}, {0.764039, 0.391941}, - {0.200860, -0.212653}, {0.159180, -0.042023}, {-0.537129, -0.147575}, - {0.702245, -1.015617}, {1.790915, 0.570027}, {0.766059, -1.875739}, - {-0.182925, -0.787800}, {0.315391, 0.206610}, {0.710280, -0.029793}, - {0.798824, 0.611930}, {0.082498, -0.122377}, {-0.441196, -0.130910}, - {0.361502, 0.019255}, {-0.494324, 1.258054}, {-0.658917, 0.549865}, - {1.452774, 0.133686}, {-0.454627, -0.589725}, {-0.880561, 0.736115}, - {-0.035445, 0.327460}, {0.642400, 0.698314}, {0.196188, 0.488357}, - {-1.092548, -0.378542}, {1.012368, 0.219866}, {0.136436, 1.050915}, - {0.450533, -0.095960}, {-1.079073, 0.205764}, {0.129783, -0.607319}, - {0.304598, -0.028435}, {1.256490, -0.636622}, {0.251786, -0.305137}, - {-0.501987, 0.211074}, {-0.906736, -0.486202}, {-0.082131, 0.034965}, - {-0.584390, 0.499364}, {0.129603, -0.644452}, {-0.480831, 0.196367}, - {0.349143, 1.779059}, {0.431185, 1.141092}, {-0.747513, 0.731564}, - {-0.786213, 0.604126}, {1.290785, 0.708430}, {-1.621136, 0.607945}, - {-1.515636, 0.414725}, {-1.243614, 0.535769}, {-0.468547, 0.431251}, - {-0.710815, -1.121571}, {-1.329742, -0.444443}, {-0.399959, 0.076529}, - {-0.261205, -0.551109}, {-0.712130, -1.339364}, {-1.672925, 1.158768}, - {0.511278, 0.494824}, {1.221284, -0.403334}, {-0.689758, 0.135193}, - {-0.266714, -1.264919}, {-0.186901, -1.052718}, {0.711819, 1.601651}, - {-0.004976, -1.134699}, {0.264689, 0.143991}, {-0.485013, 0.240249}, - {-0.430138, -0.180132}, {-0.448256, 0.065344}, {-0.313909, 0.042542}, - {-1.788176, -1.003737}, {-0.430691, 0.515782}, {-0.552024, 0.033933}, - {-0.511113, -0.396641}, {-0.667628, 1.324609}, {1.536055, -0.176847}, - {-0.371362, -0.780574}, {-0.604459, -0.180242}, {0.127890, -0.724469}, - {-0.546043, 1.055909}, {-1.160424, 0.296830}, {0.851429, -0.834491}, - {-0.653446, -0.319744}, {-0.281928, 0.036064}, {0.152684, 0.887427}, - {-0.584216, -1.129730}, {-0.301487, -0.448074}, {-0.644999, -0.062434}, - {-1.064140, -0.877770}, {-0.025358, 0.318626}, {-0.169102, -1.656778}, - {-0.410128, 1.517397}, {0.908370, 0.349006}, {-1.017744, -0.256003}, - {-0.115645, 0.371458}, {-1.286410, -1.036681}, {0.668494, -0.174631}, - {0.543753, -0.269535}, {0.520788, -0.045167}, {-0.348305, 0.919992}, - {0.371761, 0.757065}, {0.314541, -0.679578}, {0.365607, 0.778578}, - {-0.119374, 0.153537}, {-0.266104, -1.198807}, {0.480855, 0.786074}, - {-0.032335, -0.840292}, {0.610415, 0.164635}, {-0.644738, -0.147418}, - {0.544935, 0.824594}, {0.702994, -1.244186}, {0.383204, 1.467042}, - {0.264960, -0.885661}, {0.500914, -0.588794}, {0.070323, 0.125276}, - {-1.166675, -1.286120}, {2.429481, -0.059230}, {0.764725, -0.984194}, - {1.319205, 0.802877}, {0.667521, -1.156544}, {-0.490046, -1.778711}, - {0.006985, 0.759426}, {-0.060767, 0.767774}, {-0.536098, -0.574244}, - {-0.438429, -1.187924}, {-0.482447, -1.117342}, {-0.450270, -0.012118}, - {-0.862294, 0.414935}, {0.111836, -0.764191}, {0.176201, -0.840321}, - {0.003283, 0.329039}, {-1.081580, -0.831850}, {-0.757816, -0.792817}, - {1.390379, 0.527990}, {-0.423941, -0.375055}, {1.019446, 0.722048}, - {-1.226189, -0.806075}, {-0.767485, -0.457873}, {0.492217, -0.548094}, - {0.691643, -0.508868}, {0.141146, -0.799097}, {-0.090612, 0.367936}, - {-1.588061, -0.270815}, {-0.235590, -0.137989}, {-0.055501, 0.515153}, - {0.710591, -0.228057}, {-0.499118, 0.081473}, {0.605634, -0.712194}, - {-1.465126, -0.300375}, {-1.525912, 0.646441}, {-0.143056, 0.092698}, - {-1.615522, 0.655455}, {-0.920867, 0.776885}, {1.293398, 0.375770}, - {-0.367088, 0.290023}, {0.060016, -1.396905}, {-0.564301, -0.163519}, - {0.765264, 0.454371}, {0.251582, -0.413469}, {-0.202361, -0.426122}, - {-0.059972, 0.009915}, {-0.818937, 0.409182}, {0.019321, 1.223693}, - {-0.308784, -0.106641}, {-0.245638, -1.287715}, {-1.559027, 0.473275}, - {-0.523531, 0.009086}, {-0.815917, 0.794331}, {1.557748, 0.201257}, - {-1.003834, 0.532228}, {-0.108970, -0.321004}, {0.324720, -1.294292}, - {-0.526747, 1.138428}, {-0.648496, 0.837288}, {0.145426, 0.003744}, - {0.995406, -0.617984}, {0.658038, -0.080149}, {0.680441, -0.468064}, - {1.360485, 0.405642}, {-0.648630, 0.199765}, {1.421996, 0.120768}, - {-1.160572, 0.425829}, {-0.534584, 0.437195}, {0.263973, 1.083009}, - {0.084184, -0.731033}, {-0.583261, -0.202720}, {-0.567244, -0.031166}, - {-0.393410, 0.011082}, {0.471308, 0.529559}, {0.817988, 0.803892}, - {-0.436848, 0.012289}, {0.134056, -0.016346}, {-0.510996, -0.160355}, - {0.301328, 0.155798}, {0.135075, -0.240089}, {-2.111101, -0.043898}, - {0.492706, -1.075578}, {0.331122, -0.193177}, {-0.337675, -0.385101}, - {0.600488, -0.607441}, {-0.482480, 0.488866}, {0.510644, -1.348219}, - {-0.900080, -0.246883}, {0.054556, -0.043343}, {-2.185732, -0.132914}, - {-1.179464, -0.506427}, {0.060865, 0.023893}, {0.465712, -0.293140}, - {0.600472, -0.542588}, {0.339465, -0.734740}, {0.066566, -0.329599}, - {-0.182971, -0.834260}, {-0.759862, -0.649675}, {0.503928, 0.562654}, - {0.180099, -0.072681}, {-0.298720, 0.091572}, {0.414829, 0.685094}, - {-0.178731, 1.490621}, {-0.764312, -0.940243}, {-0.609986, 0.139467}, - {0.620076, -0.882397}, {-0.662503, -0.243036}, {0.756788, 0.492556}, - {-0.192028, -0.450766}, {0.351446, 0.122595}, {0.312300, -0.348844}, - {-0.844268, 0.241385}, {-0.245266, -0.747779}, {-1.043476, -2.173372}, - {0.689560, 0.287984}, {-0.604039, 1.340161}, {-0.186566, -1.016223}, - {-1.636023, -1.237069}, {-0.183189, 0.475359}, {0.632049, -0.473980}, - {-0.105737, 0.324525}, {-0.734339, -0.411750}, {-0.959041, -0.918415}, - {0.467121, -0.942991}, {0.819873, 0.146195}, {0.528463, -0.981180}, - {0.144697, 0.795032}, {0.104364, 0.648283}, {0.183268, 0.614067}, - {-1.164645, 0.810951}, {0.009496, 0.610751}, {-1.300113, -0.583004}, - {-1.015675, 0.243285}, {0.097064, 0.342813}, {-0.245720, 0.670790}, - {0.205629, 0.159022}, {-0.262508, -0.028034}, {-0.035008, 0.785832}, - {0.565660, 0.072977}, {0.857016, -0.270113}, {0.136789, -0.121418}, - {-0.656906, 0.866977}, {0.154962, 1.086797}, {1.053022, -1.172792}, - {0.226542, 0.180113}, {0.245718, -0.555295}, {-0.232891, 0.136740}, - {-0.930222, 0.234981}, {-0.486962, -0.336185}, {0.350798, 0.599626}, - {0.574125, 0.169891}, {0.614118, -0.392546}, {-1.180994, 0.390905}, - {0.683221, 0.485573}, {-0.841497, 0.916893}, {0.493882, 0.242793}, - {1.254721, -0.271983}, {-0.534063, 0.438921}, {0.575408, -0.133856}, - {0.312608, -0.033845}, {0.580808, -0.613817}, {-0.784972, -0.028488}, - {0.021831, -0.097100}, {1.458365, -0.869399}, {-1.300065, 0.760049}, - {0.248812, -0.160696}, {0.577725, 0.443818}, {-0.187965, 1.600714}, - {0.318288, -0.795075}, {-0.721696, -0.233585}, {0.273242, 0.614688}, - {0.681000, -0.554330}, {-1.334662, -0.151226}, {0.090395, 0.928536}, - {0.810563, 0.579363}, {-1.128333, 0.111594}, {1.434974, 0.769472}, - {-1.029423, 0.004195}, {-0.400590, 0.108051}, {-0.108363, -0.294703}, - {2.176060, -0.435633}, {0.755020, 0.883148}, {-0.455663, -0.243404}, - {0.367326, -1.926805}, {-0.455835, -0.070141}, {1.081696, 0.103537}, - {0.413618, -0.241936}, {-0.155372, -0.490682}, {-0.621036, 0.039829}, - {0.890303, -0.313264}, {-0.023574, -0.297114}, {0.149197, 0.434404}, - {-0.685611, -0.688437}, {0.206938, 0.778492}, {-0.031417, 0.174300}, - {-0.246155, -0.983701}, {0.342626, 1.369090}, {-0.431405, 0.516606}, - {-0.058886, -0.776391}, {1.360163, 0.224372}, {1.125009, 0.009836}, - {0.803894, 0.584153}, {-1.066450, -0.134171}, {0.881308, -0.764883}, - {0.171104, 0.260482}, {0.114729, -0.114913}, {0.883607, 1.086200}, - {0.699362, -0.659063}, {-0.164816, -0.175345}, {0.387135, -0.085228}, - {-0.572309, 0.619865}, {-0.012015, -0.860950}, {-0.342715, 0.692370}, - {-0.024062, -0.039234}, {0.292654, 0.782865}, {0.060171, 0.442951}, - {0.160037, -0.381519}, {0.408238, -0.320343}, {-0.342973, -0.880725}, - {0.737359, 0.306119}, {-0.536555, -0.356491}, {0.838071, -0.060380}, - {0.019197, -0.215087}, {0.281771, 0.139607}, {-0.133836, -0.948025}, - {0.064779, -0.167417}, {-0.325938, 0.106840}, {0.447499, 0.335119}, - {0.025073, 0.284159}, {-0.052734, 0.106778}, {-0.701789, -1.485622}, - {0.518739, -0.597975}, {-1.716639, 0.510981}, {-0.148489, 0.188995}, - {0.199804, 0.565255}, {0.503694, -0.249207}, {0.351417, 0.318152}, - {-0.004846, 0.498401}, {-0.527585, 0.429634}, {2.230256, 0.657682}, - {1.005492, 0.534070}, {0.335269, -0.396652}, {-0.245966, 0.173556}, - {1.145575, 0.588938}, {0.250537, 0.473746}, {0.273775, -0.223929}, - {0.015710, -0.244761}, {-0.725572, 0.598468}, {0.272714, 0.218757}, - {-1.388789, 1.100565}, {0.552103, -0.509940}, {-1.061048, -0.439544}, - {0.192437, 0.828632}, {-0.847671, 1.023359}, {0.366431, -0.588009}, - {0.237764, 0.442998}, {-0.676158, -0.309010}, {-0.610452, -0.659422}, - {-0.259924, 0.412575}, {0.388464, 0.697350}, {0.043340, 0.184411}, - {-0.572546, -0.447644}, {-0.330020, 0.540548}, {-0.476494, 0.090675}, - {0.428011, 0.507960}, {-0.296043, -0.255790}, {1.215630, -0.318831}, - {-1.154660, -0.477923}, {-0.262266, 1.238092}, {-0.608603, 0.453266}, - {-0.032630, -0.939531}, {-1.660462, -0.153632}, {1.705682, -0.866847}, - {0.429987, -0.912308}, {0.416998, 0.929955}, {1.043259, 0.307132}, - {-0.982368, 0.014721}, {0.123933, 1.132765}, {-0.203176, -0.346598}, - {0.070922, -0.385330}, {0.144019, 0.165251}, {0.096086, -0.226780}, - {0.793344, 0.135213}, {-0.393406, -0.119594}, {1.126684, -1.053134}, - {-0.132630, 0.517421}, {0.300448, -1.340154}, {-0.834868, 0.378596}, - {-0.132590, -0.127355}, {-0.544568, 1.427218}, {-0.443372, 0.521400}, - {-1.030830, 1.124109}, {-1.434174, 0.036345}, {-0.448801, -0.849006}, - {1.295485, 1.176937}, {0.612869, -0.763780}, {-0.369440, -1.146724}, - {-0.183304, -0.234196}, {0.228224, -0.830902}, {1.022613, 0.744120}, - {0.025729, 0.401274}, {-0.291958, 0.275394}, {-0.232227, -0.344890}, - {-0.372023, -0.748359}, {0.399097, -0.026262}, {-0.980706, 0.557794}, - {-1.242178, -0.160578}, {0.807544, 0.089148}, {-0.313827, -0.935789}, - {0.877743, 0.053390}, {-0.471764, -1.392615}, {0.816500, 1.445653}, - {-0.016996, -0.915960}, {-0.919171, -0.825732}, {0.536946, 0.833119}, - {-1.361314, -0.838853}, {-0.180351, -0.307114}, {0.720178, 1.060531}, - {0.168912, 1.130233}, {1.082306, 0.407076}, {0.193384, 0.074239}, - {0.505658, -0.337304}, {-0.059033, -0.040496}, {-0.238771, -0.195282}, - {-0.160034, 1.174256}, {1.572109, -0.122569}, {0.170932, -0.122646}, - {0.407778, 0.454863}, {-0.016869, -0.027842}, {0.533907, -0.455801}, - {1.171133, 1.451143}, {-0.221926, 0.445829}, {-0.343024, -1.134887}, - {-0.084294, -0.803381}, {1.762508, 0.510097}, {0.422538, -1.828873}, - {-0.272140, -0.351999}, {-0.432142, 1.296591}, {-0.804792, 1.207034}, - {-0.903372, 0.071198}, {0.221699, -0.548004}, {0.296788, -0.487708}, - {-0.892082, 0.116939}, {0.118529, -0.058040}, {0.889249, 0.038813}, - {-1.435339, 0.345064}, {0.196684, 0.414290}, {-1.174361, -0.538056}, - {-0.655841, 0.448240}, {0.472673, -0.022418}, {0.940362, 0.311382}, - {-0.835209, -0.613456}, {1.186347, 0.367963}, {-0.745946, -1.281948}, - {0.614204, -0.405224}, {0.981560, 0.711532}, {-0.869991, 0.308124}, - {-0.141029, -0.054972}, {-0.145974, 0.432189}, {0.451887, -0.259041}, - {-0.784348, -0.033713}, {0.793608, 0.102305}, {-0.744519, 0.342470}, - {0.486741, 0.105299}, {0.347823, -0.107864}, {-0.331637, 0.717920}, - {-0.508501, 1.192128}, {1.490978, 0.162327}, {0.736492, -0.127445}, - {-0.085074, -0.474562}, {0.599451, -0.167800}, {0.674386, 0.323677}, - {-0.412837, -0.758638}, {0.609945, -0.786243}, {0.606302, 0.662258}, - {0.070750, 0.124316}, {0.362489, 0.853723}, {-0.421579, -0.217535}, - {-0.769619, 2.120710}, {-0.686205, -1.002458}, {0.847970, 0.499804}, - {-0.240487, -1.200173}, {-0.787843, -0.870082}, {0.134999, -0.037935}, - {1.418077, 1.020690}, {0.255585, -0.903872}, {0.517503, 1.018629}, - {0.222738, -0.956358}, {-1.235963, 0.716474}, {0.896358, 1.292193}, - {0.622993, 0.939205}, {0.032065, 0.164409}, {-0.779169, 0.659748}, - {-0.738374, 0.133285}, {-0.620870, -0.855214}, {0.342903, 0.804248}, - {0.339164, -0.133036}, {-1.661026, -0.210091}, {0.245305, -0.675406}, - {-0.984197, 0.390112}, {-0.061474, -1.162560}, {-0.723975, 0.336075}, - {0.796753, -0.371630}, {-0.548010, -0.761000}, {-0.603116, -0.658810}, - {0.990442, 0.351586}, {-0.086890, -0.036006}, {0.092425, -0.586906}, - {-0.925900, 0.593131}, {-0.763373, -0.389790}, {-0.938653, -0.603703}, - {1.319069, 0.867869}, {0.485223, 0.597602}, {0.488264, -0.833841}, - {0.550617, -0.599518}, {-0.329951, 0.815395}, {0.408096, -0.163820}, - {0.427087, -0.036759}, {0.177247, 0.112508}, {0.674777, -0.049031}, - {-0.068546, 1.438730}, {0.238263, -1.518472}, {0.883496, 0.410851}, - {-0.306168, -0.121973}, {0.119223, 0.124116}, {-0.458455, 0.205762}, - {0.819118, -0.420270}, {-0.502089, 0.258248}, {-0.168138, 0.489351}, - {0.807982, -0.264625}, {0.084262, -0.505577}, {-0.559426, 0.054462}, - {0.257622, -0.205514}, {0.063041, -0.447553}, {0.373281, 0.067113}, - {-0.407206, -0.939355}, {0.143221, -0.451897}, {0.706256, 0.478611}, - {0.537206, 0.751956}, {0.186734, -0.620411}, {0.745475, -1.471416}, - {0.698281, 0.256863}, {0.042234, -0.046608}, {0.099521, -0.430961}, - {0.236487, 0.680732}, {0.928581, 0.289094}, {-0.110851, 0.188157}, - {-0.222611, -0.812705}, {-0.633681, 0.426959}, {1.240335, -1.514135}, - {0.889274, -0.903866}, {0.435835, 0.552663}, {0.713055, 0.641659}, - {-0.042562, -0.629798}, {-0.218147, -0.486607}, {0.534103, -0.801708}, - {0.241010, 0.206161}, {0.572140, -0.082834}, {-1.509288, -0.142938}, - {0.613317, -1.136810}, {-0.196998, -0.273118}, {-0.692536, -1.013502}, - {-0.524362, -0.353001}, {-1.413574, -0.317148}, {-0.184674, -1.254237}, - {0.212553, -0.393970}, {0.115187, -0.497395}, {-1.156764, 0.217090}, - {-0.424303, -0.518804}, {0.414805, 0.157648}, {0.213679, -0.158910}, - {-0.174193, 0.696145}, {0.085286, 0.143396}, {-1.850393, 0.435779}, - {-0.015959, -0.039908}, {-1.196652, -0.512413}, {0.461147, 1.083615}, - {1.188726, -1.253006}, {0.191977, 0.248884}, {-0.633004, 0.193534}, - {0.030327, 0.447737}, {-0.264705, 0.787837}, {0.010620, 0.245484}, - {-0.824799, -0.704581}, {-0.850004, 0.204610}, {0.381113, -0.610533}, - {0.471917, 1.571607}, {1.071030, -0.224993}, {-0.384820, -0.304042}, - {0.283926, -0.337624}, {-0.030392, -0.446234}, {0.380697, 1.115396}, - {-0.572464, 0.561788}, {0.625570, 0.831812}, {0.385308, 0.863936}, - {-0.754364, 0.169919}, {0.019587, -0.256785}, {0.572060, 0.074947}, - {-0.701087, -0.235522}, {-0.048703, 0.055669}, {1.222353, 0.777241}, - {0.332950, 0.082754}, {-0.367895, -0.645924}, {0.770417, 0.554187}, - {-0.458786, -1.031422}, {0.314500, -0.322402}, {-0.683719, -0.429777}, - {-1.553851, -0.570942}, {-0.067857, -0.160216}, {2.145920, 0.854215}, - {0.213836, -0.315033}, {-0.513806, -0.416544}, {-1.457721, -1.141119}, - {0.886807, -0.392147}, {-0.193698, -0.206875}, {0.548596, -0.465798}, - {0.215522, 0.180953}, {-0.391465, -0.142202}, {0.902257, 0.158063}, - {0.408777, -0.224758}, {0.446692, 0.091443}, {-0.094655, 0.081225}, - {0.499235, 0.958718}, {0.761380, -0.531675}, {0.276579, 1.203927}, - {0.276615, 0.189762}, {-0.100258, -0.732587}, {-0.027769, 1.596871}, - {0.462540, 0.379880}, {-0.341576, 1.767737}, {0.394437, -0.167993}, - {-0.105307, -0.509844}, {0.334850, -2.520104}, {0.845128, -0.104068}, - {-0.740984, -0.026126}, {-0.974643, -0.280273}, {-0.134239, -0.078789}, - {-0.299124, -0.863529}, {0.106515, 0.170939}, {-0.927394, 0.870161}, - {-0.491114, -1.917638}, {-0.529767, -0.057114}, {0.786100, -0.565618}, - {0.176072, -0.842280}, {0.326239, -0.605491}, {0.116318, 1.170250}, - {0.644626, 0.571773}, {0.232028, -1.300912}, {0.588283, 0.271257}, - {-0.906647, -1.277791}, {0.521843, -0.527216}, {1.442306, 0.379763}, - {0.236952, 1.052319}, {-0.295295, -0.568414}, {0.242369, -0.208334}, - {-0.513807, -0.995215}, {0.709065, 0.862066}, {-0.881110, -0.392734}, - {-0.341385, -0.818876}, {-0.562235, -0.774610}, {-0.383367, -0.394595}, - {0.193563, 0.074610}, {1.080435, 0.606053}, {0.541249, 1.153279}, - {-0.507145, -0.367372}, {-0.179289, 0.029067}, {0.098487, -0.117080}, - {-0.648908, 1.440715}, {0.227369, 0.898461}, {0.080062, -0.499544}, - {0.644433, -0.375275}, {1.389011, 0.012401}, {-0.264708, -0.741045}, - {0.537436, -0.075225}, {1.106610, -0.549125}, {1.258275, -0.013265}, - {0.728976, 0.175113}, {-1.886547, -0.858978}, {-0.781953, -0.791226}, - {0.122237, -0.660890}, {-1.264703, -0.283197}, {0.103200, -0.239052}, - {-0.243478, 0.149221}, {-0.144997, -0.203846}, {-1.067080, -1.526123}, - {-0.976317, 0.443019}, {-1.106013, 0.024286}, {-0.311371, 0.312037}, - {0.122867, -0.212564}, {-1.891145, 0.276717}, {-0.898165, -0.258266}, - {0.160126, -1.155622}, {0.322655, -0.124973}, {0.709720, -0.446937}, - {0.646654, -0.041224}, {-0.212961, 0.280510}, {0.377353, 0.020557}, - {-0.559193, 0.356275}, {-0.304649, 0.801474}, {0.039679, -1.071028}, - {0.201060, 0.268840}, {0.060299, 0.506095}, {0.468796, 0.933767}, - {-0.161046, 0.352827}, {0.444057, -0.026569}, {-0.686397, 0.188762}, - {-0.335728, 0.854376}, {1.571248, -0.778097}, {-0.297224, -1.112280}, - {-0.298702, 0.212694}, {0.753050, -0.774688}, {0.772973, 0.801142}, - {1.006190, 0.195367}, {0.333846, -0.480112}, {-0.391853, 1.243410}, - {-0.695698, -0.290131}, {-0.739155, -0.888427}, {-0.332246, -1.694342}, - {-0.872134, -0.491913}, {-1.196152, -0.951224}, {0.677412, 0.228122}, - {0.078804, 0.855733}, {0.835586, 0.425326}, {-0.229803, -0.248342}, - {-0.718329, -0.707283}, {-0.509813, -1.200162}, {0.225505, -1.007218}, - {-0.328166, -0.713028}, {0.464166, 0.043179}, {0.309117, 1.116584}, - {0.123684, 0.813080}, {-0.557566, 0.056690}, {0.771158, 0.111089}, - {-0.102040, 0.365176}, {0.283581, -0.304576}, {0.965047, 0.603779}, - {-0.888726, 0.478438}, {0.477779, 1.650476}, {-1.743258, -0.545295}, - {1.377725, -0.340541}, {-0.086465, 0.288027}, {0.172055, -1.416793}, - {-0.156652, -1.552419}, {1.449604, -0.803632}, {0.172637, 0.621346}, - {0.793824, 1.127283}, {-0.470779, 0.819345}, {0.854335, -0.217494}, - {1.238408, -0.227297}, {-0.446910, -0.251604}, {-0.124721, 0.631903}, - {1.355742, -0.253180}, {0.521698, -0.380554}, {0.610522, -0.644701}, - {-0.081964, 0.075793}, {-0.023329, 1.079615}, {0.035329, 0.305532}, - {0.833652, 0.329381}, {1.248972, -0.520503}, {1.090623, -0.312108}, - {-0.298609, 0.072040}, {-1.133040, -1.182362}, {0.439116, 0.599685}, - {-0.255228, -0.318038}, {-0.027322, 0.405769}, {-0.892907, 1.076022}, - {-0.262922, 0.302096}, {-0.920155, -0.097186}, {-0.540438, 1.415810}, - {0.272013, -1.071177}, {-1.292397, -0.727006}, {-0.061905, -0.763598}, - {-0.941549, 0.110682}, {-0.295776, 0.793431}, {-0.169404, 2.201666}, - {-0.222637, -0.543007}, {-0.231419, 1.018982}, {0.431675, -0.674150}, - {0.647789, 1.313624}, {-0.264086, -1.589729}, {-0.501708, 1.108352}, - {-0.208768, -0.310074}, {-0.597616, 0.571167}, {0.001134, -0.028259}, - {1.776513, 0.322038}, {0.000932, 0.887187}, {-0.308110, -0.292049}, - {-0.532540, -0.401817}, {0.489140, -0.274389}, {2.617062, 0.127502}, - {0.147567, 1.240201}, {0.663675, 0.555925}, {-0.074294, -0.891471}, - {-0.052708, 1.536838}, {0.022298, -0.206741}, {0.479854, 0.468749}, - {-0.554820, 1.208232}, {0.082508, 0.244005}, {0.308910, 0.266430}, - {-0.474058, 0.730188}, {-0.234200, -0.862644}, {0.952488, 0.374155}, - {-1.407313, 0.324058}, {0.255768, 0.333183}, {-1.409944, 0.885110}, - {-0.133868, 0.923739}, {0.365945, -0.286467}, {-0.173753, -0.130918}, - {-0.127021, -0.366972}, {0.038457, 0.743113}, {-0.478880, -0.722286}, - {-0.422107, -0.391745}, {1.431973, 1.075899}, {0.065443, 0.277849}, - {-1.101839, -0.748236}, {0.291738, 0.774096}, {-0.408096, 0.206278}, - {-1.180762, 0.039864}, {0.986053, -0.063561}, {0.898749, 0.024366}, - {0.206499, 0.151574}, {0.542112, 0.681856}, {0.773880, 0.684502}, - {-0.241328, -0.031931}, {-0.382695, -0.326442}, {-0.849252, -0.163569}, - {-0.224038, 0.104381}, {-0.271735, 0.180993}, {-0.297649, 1.141589}, - {-0.707010, -0.959005}, {0.401963, -0.582866}, {-0.715231, -0.495908}, - {0.530290, -1.238800}, {-0.754427, 0.394484}, {0.419279, -1.220995}, - {0.230175, 0.787427}, {0.371875, -0.606294}, {0.450371, -0.675309}, - {0.171612, -0.392663}, {0.044028, 0.193995}, {0.390951, 0.897858}, - {0.462471, -1.607671}, {1.295156, 0.465999}, {0.793000, -0.411269}, - {0.521132, -0.780113}, {0.533996, -0.337154}, {0.465286, 0.327814}, - {0.575773, 0.419234}, {-0.030753, -0.501412}, {-0.575181, -1.392250}, - {0.464516, 0.592014}, {-1.051143, 0.268391}, {0.131935, 0.110597}, - {0.074115, 0.640275}, {1.141666, -0.715042}, {0.981527, 0.398484}, - {-0.318100, -0.014155}, {0.180788, -2.372129}, {-0.228512, -1.445935}, - {0.604143, 0.511910}, {0.061448, 0.220588}, {1.285856, 0.755178}, - {-0.007362, 0.382650}, {-0.121693, -1.355384}, {0.384877, 1.724619}, - {0.501171, 0.169846}, {0.072657, 1.420837}, {-0.653957, -1.801468}, - {1.157954, -0.653464}, {-0.086409, 0.466198}, {-0.284619, -1.509457}, - {0.250620, 0.007603}, {-0.493596, -0.521283}, {0.052350, 0.242415}, - {-0.662703, 0.329744}, {0.270573, 0.839284}, {1.071362, -1.329600}, - {1.398703, -0.282566}, {-0.731533, 1.666659}, {1.288748, 0.120392}, - {-0.275091, -0.249067}, {0.385583, 0.034420}, {-0.019935, -0.619918}, - {0.126886, 0.241649}, {-0.634954, -0.683893}, {-0.689498, -0.555893}, - {0.355284, -0.081731}, {-1.040687, -0.136149}, {-0.539910, -1.308056}, - {-0.577548, 0.394734}, {-1.345688, 0.532236}, {-0.139622, 0.230896}, - {0.266085, -0.109778}, {0.720346, 1.119455}, {0.079954, 0.124289}, - {0.511923, -1.657132}, {-2.248034, 0.251991}, {1.364589, 0.688028}, - {0.888909, -0.151714}, {-0.569128, 0.357256}, {-0.771377, 1.271462}, - {-0.737187, -0.032195}, {-0.719654, 0.068332}, {-0.741507, -0.004577}, - {-0.437575, 0.452222}, {0.046679, 0.449842}, {-0.220268, -0.231133}, - {0.487091, -0.782256}, {-0.588303, -0.523988}, {0.078759, 0.662810}, - {1.248130, -0.793583}, {0.508679, 0.242683}, {0.870960, -0.005896}, - {0.322792, -0.772706}, {-0.837291, -0.424434}, {-0.273942, -0.068730}, - {-0.996061, 0.634835}, {-0.325385, 0.366167}, {-1.601558, -0.215569}, - {0.865809, -0.026148}, {1.361558, -0.115469}, {-0.588242, -0.102336}, - {-0.387966, 0.323272}, {0.289584, -0.504165}, {-0.754503, -1.114553}, - {-0.353904, -0.014974}, {-0.948798, 0.383592}, {-0.060121, -1.007894}, - {-0.209254, 0.035108}, {-0.191868, -0.327112}, {-0.872958, 1.449912}, - {1.215036, 0.727058}, {-0.851767, 0.775217}, {0.370956, -0.452360}, - {-0.325553, -0.956322}, {-0.341459, 1.281000}, {-0.094430, -0.289030}, - {0.272220, 0.131684}, {-0.490177, -0.806252}, {-0.099482, 0.801627}, - {0.660006, -0.111388}, {-0.412095, 0.392647}, {-0.019833, 0.332668}, - {-0.076947, 1.499139}, {-0.243294, 1.683990}, {-0.671076, -0.433132}, - {0.167768, -0.058623}, {1.324849, 0.390514}, {-0.069259, -1.476604}, - {-0.201312, -0.076595}, {0.817829, -0.669267}, {0.271931, 0.149985}, - {-0.209551, -0.803738}, {0.823791, -0.880931}, {0.945366, -0.396813}, - {-0.636227, 0.164765}, {-0.560128, 1.371587}, {-0.210411, -0.871558}, - {0.049073, 0.899454}, {-0.426285, 0.802485}, {0.481298, 0.695859}, - {-1.158734, 0.585655}, {0.344093, -0.512270}, {0.837968, 0.186502}, - {0.446366, -0.555741}, {0.389203, -0.792521}, {-1.165375, -1.629469}, - {-1.254712, 0.471550}, {0.689930, 1.197958}, {-1.004811, 0.105754}, - {0.841131, 0.147341}, {0.154420, -0.297913}, {-0.796042, -0.454021}, - {-1.231614, -1.187511}, {-1.109815, -0.141912}, {-0.566546, -0.288210}, - {-0.661025, 0.127627}, {-1.017198, -1.001861}, {1.186309, 0.060379}, - {-0.220627, 1.019218}, {-1.293678, -0.087054}, {-0.025609, 0.418478}, - {0.771157, -0.681107}, {0.539560, 0.233353}, {-0.378370, 0.264538}, - {1.893478, -0.101454}, {0.248258, -0.000550}, {-0.031156, -0.785691}, - {1.781812, -1.292306}, {1.084657, 0.507894}, {-0.699208, 0.885340}, - {1.285794, -0.619386}, {0.955586, -0.121447}, {-0.914452, -1.178647}, - {-0.242399, -0.427685}, {-0.000717, 0.064139}, {0.574391, -0.693162}, - {0.485580, -0.614569}, {-0.408661, -0.616323}, {-0.464543, 0.219753}, - {0.765718, 0.874867}, {1.166937, -0.037645}, {-0.387840, 0.839810}, - {-0.522687, 1.260869}, {0.079230, 0.752776}, {-1.317984, 1.303184}, - {1.280048, 0.412472}, {1.609177, -1.354228}, {1.037420, 0.014540}, - {0.221589, 0.058322}, {-0.629552, 0.832290}, {-1.314747, 0.685569}, - {0.279436, -0.743734}, {-1.036796, 0.905691}, {0.495922, 0.253242}, - {-0.916021, 0.154075}, {0.864485, 0.140135}, {-0.350216, -0.107206}, - {-0.536267, 0.213086}, {1.398571, -0.305908}, {-1.517443, -0.348266}, - {0.316594, 0.475011}, {-0.682424, 0.439457}, {-0.443305, 1.044724}, - {-0.515239, -0.514528}, {-1.187287, 0.148757}, {0.286934, -0.102590}, - {0.258621, -0.932940}, {1.392701, -0.258996}, {-0.247044, 0.662986}, - {-0.039077, -0.511042}, {0.844728, -0.217617}, {0.655759, -0.440128}, - {-0.413628, -0.925661}, {-0.488104, -1.044892}, {-0.543050, 0.155919}, - {0.817307, 0.193785}, {0.341966, 0.009039}, {0.574199, 0.718193}, - {-0.179957, -0.492905}, {0.487152, 0.524160}, {0.329158, -0.281555}, - {-0.816659, -1.487422}, {0.535622, 0.409912}, {0.252481, -0.624546}, - {-0.108432, -0.823732}, {0.302554, -1.011194}, {-0.425776, -1.472152}, - {-0.398910, -0.198658}, {-0.068758, -1.227234}, {0.126371, -0.758421}, - {0.343071, -0.216133}, {0.001535, 1.505001}, {0.112153, 0.738745}, - {-1.513525, -1.478555}, {0.939067, 1.193568}, {0.382158, -0.305531}, - {-0.777582, -1.155642}, {-0.672354, -0.312022}, {-0.374348, -1.352798}, - {-0.418581, 0.634617}, {0.217850, -0.116165}, {0.432181, 0.426225}, - {-0.889372, 0.893485}, {0.855687, -0.582910}, {-0.438450, -0.263930}, - {-0.466874, -0.869459}, {0.040757, -0.535451}, {-0.140064, 0.789127}, - {-0.027951, 0.105940}, {-0.437942, -0.211395}, {-0.040889, -0.017258}, - {0.338753, 0.833301}, {0.111661, -0.175934}, {0.984011, 0.077959}, - {-0.244420, 0.211986}, {-1.269522, 0.063911}, {0.409668, -0.303990}, - {0.462926, 1.021879}, {0.011614, -0.284044}, {1.020808, 0.476647}, - {0.196290, 0.617474}, {-1.098523, 0.371501}, {0.161323, -0.313071}, - {-0.002902, 0.397897}, {-0.356512, 0.045680}, {0.279592, -0.533235}, - {-0.475045, 0.692805}, {-0.089288, -0.703191}, {-0.405232, -0.892280}, - {1.186783, 0.798136}, {-1.149640, -0.304031}, {-0.243771, -0.696568}, - {-1.109856, 0.231693}, {0.587465, -0.480350}, {0.184300, 0.622183}, - {0.153163, 0.512540}, {1.675888, 0.477305}, {0.698217, 0.670234}, - {0.860644, 1.171471}, {-0.330617, 0.580491}, {-0.058262, -0.788790}, - {-0.358326, -0.426058}, {0.905134, -0.409635}, {-0.008586, 0.990271}, - {0.929488, -0.596337}, {-1.358305, 0.391919}, {0.902404, 0.342821}, - {-0.063962, 0.618381}, {-0.053813, 0.301008}, {0.297584, -0.666505}, - {0.556545, 0.163475}, {-0.105724, 0.005318}, {0.756775, 0.828292}, - {-0.274629, -0.880320}, {-0.476757, -1.149811}, {1.127103, -0.294822}, - {-1.437952, 0.298334}, {0.907496, 0.739951}, {0.482075, 0.004954}, - {0.157887, -0.816916}, {-1.104784, 0.063870}, {-0.724938, -0.327697}, - {-0.487298, 0.975783}, {-0.065203, 0.869972}, {-0.211487, -0.462389}, - {1.094010, 0.177366}, {0.291395, -1.629667}, {0.319282, 0.785872}, - {1.229602, 0.954910}, {-0.342436, -0.978418}, {0.352808, -0.930560}, - {0.347757, -0.981736}, {0.298532, -0.077863}, {-0.714535, -0.393789}, - {-0.333766, -0.139255}, {-0.418941, 0.359123}, {-0.645184, 0.861929}, - {-0.722475, 0.301444}, {-0.583318, 1.352369}, {-0.712937, 0.243635}, - {0.440878, -0.827122}, {0.327224, -0.062067}, {0.186287, 1.258463}, - {-0.729241, 0.868902}, {0.541857, -0.200516}, {1.156841, -0.049354}, - {1.070085, -0.139319}, {0.275765, 0.779653}, {0.355802, -0.444176}, - {-0.215164, 1.591130}, {0.410285, -0.761158}, {-0.921834, -0.002490}, - {-0.552404, -0.660768}, {0.405438, 0.139289}, {-0.275428, -0.582028}, - {0.727740, -0.766058}, {-0.306953, -0.280078}, {0.816312, -0.261072}, - {-0.199058, 0.147132}, {-0.360431, 1.125081}, {1.191538, -0.047433}, - {0.305817, -0.633319}, {-0.494003, 0.488029}, {0.212671, 0.098168}, - {0.210869, -0.461609}, {-0.134279, 0.437562}, {0.343639, -0.292114}, - {-0.041375, -0.808615}, {-1.049076, 0.685913}, {-0.665760, -1.010501}, - {-0.316509, -0.003953}, {0.009980, 0.599501}, {0.638152, -0.300940}, - {-1.337720, -1.392983}, {-0.275772, 0.226258}, {-0.550300, 0.251820}, - {-0.584194, 0.093470}, {0.610120, 1.230993}, {-0.976958, 0.361009}, - {-0.875544, 1.373339}, {0.287035, -0.431066}, {-0.467716, 0.616202}, - {-0.521935, -1.111703}, {-0.098289, -0.170971}, {-0.189521, -0.430798}, - {0.994687, -0.127269}, {0.197679, 0.364513}, {-0.553761, -1.362114}, - {-1.599143, 0.283164}, {0.343200, 0.241993}, {0.950041, 0.135606}, - {-0.496251, 0.947582}, {0.112208, -0.474788}, {-0.043567, -0.201243}, - {-0.152120, 0.819050}, {-0.698148, -0.987049}, {0.472844, 0.167428}, - {0.805574, 0.137483}, {0.993595, 0.361435}, {-0.755927, 0.329879}, - {-0.477493, 0.425378}, {0.513390, 0.862967}, {-0.370640, -1.203726}, - {0.303774, 0.888996}, {-0.531538, -0.061148}, {0.292513, 1.123151}, - {-1.375406, 0.912479}, {0.874095, 0.312105}, {0.285703, 1.070449}, - {-0.327598, 0.204123}, {0.514364, -0.591838}, {0.187292, 0.151885}, - {-0.305341, 0.797145}, {0.512371, -0.430627}, {-0.263249, 1.117044}, - {1.457063, 0.655659}, {0.400834, -0.687060}, {-0.534341, 0.199095}, - {-0.670479, -0.049629}, {0.170424, 0.355076}, {-0.089197, -0.199899}, - {-0.516640, -0.098609}, {-1.415132, -0.986232}, {-0.543245, -0.612453}, - {1.700407, -0.111663}, {-0.333996, 0.941663}, {-0.558882, 0.628745}, - {-0.189070, -0.269156}, {-0.092103, 0.289742}, {1.721874, -0.613049}, - {0.400596, -1.689893}, {0.029330, 0.780505}, {0.702801, -1.886583}, - {0.527904, 1.344383}, {-1.532567, -0.282722}, {-0.187656, 1.032522}, - {-0.563567, 0.352977}, {1.552724, 1.036609}, {-0.362367, 0.884433}, - {0.907224, -0.245049}, {0.968850, 0.022296}, {0.991932, -0.528220}, - {-0.574841, -0.667893}, {-1.285195, -0.410222}, {0.961984, 0.592525}, - {0.851798, -0.802477}, {-1.049946, -0.207182}, {0.797470, -0.161487}, - {-0.749814, 0.644751}, {1.147914, 0.191578}, {1.094925, -0.009702}, - {-0.016473, -0.192798}, {-0.479182, -0.608849}, {-0.521973, 0.822191}, - {-0.532269, 0.303592}, {1.239154, 0.041944}, {0.389138, 0.091142}, - {-0.663000, 0.328936}, {0.342085, -0.836875}, {-1.076007, -0.660702}, - {-0.134030, 0.851663}, {0.024222, 0.084575}, {-1.902667, -0.772045}, - {-0.584827, -0.179968}, {0.072428, 0.119199}, {-0.342968, 0.700217}, - {-0.467256, -0.216460}, {0.245841, 0.459667}, {-0.569716, -0.968906}, - {-0.425136, -0.329992}, {-0.290409, 0.687952}, {0.225955, 0.172615}, - {1.003682, -0.248519}, {-0.114798, 1.216756}, {1.860231, -0.053088}, - {0.106746, -0.618765}, {0.288442, -0.650337}, {0.718256, -0.694432}, - {-0.331457, -0.719543}, {1.068076, 0.148336}, {-0.096353, -0.028651}, - {0.897863, -0.741848}, {0.412489, 1.038703}, {-0.114692, -0.055749}, - {0.139043, -0.040275}, {0.638080, -0.220795}, {-0.633578, 1.226884}, - {-0.251365, 1.662993}, {0.225500, 0.307234}, {-0.602385, -1.321478}, - {0.034489, -0.600173}, {-0.758390, -0.563067}, {-0.284530, -0.408226}, - {-0.579724, 1.090416}, {0.564264, -0.546693}, {1.299442, -0.259779}, - {0.540747, 0.139655}, {0.950786, 0.132223}, {-0.293267, -0.682357}, - {-0.926701, 1.267867}, {-0.861209, -0.469813}, {0.266995, 0.266466}, - {-0.336500, 0.231023}, {-0.345643, 0.297993}, {-1.065829, -0.717767}, - {0.337612, -0.915230}, {0.091474, 0.162675}, {0.308361, -0.094296}, - {0.577293, -1.348639}, {-0.284413, 0.283653}, {0.357282, 0.494051}, - {1.245152, 0.281545}, {-1.431170, -0.390320}, {0.181289, 0.594357}, - {0.532038, -1.703506}, {-0.080299, -0.145390}, {0.706124, 0.883663}, - {-0.383556, -0.058734}, {-0.778841, -0.343133}, {0.466969, -0.233412}, - {0.438538, -0.476148}, {0.583980, -0.010636}, {-0.877575, 0.042320}, - {0.360100, -1.169871}, {-0.088032, -0.398826}, {-0.476665, -0.290729}, - {0.290340, 0.526910}, {0.348399, -0.419803}, {0.846750, 0.362483}, - {1.325840, 0.694740}, {-0.345673, -0.490818}, {-0.280731, -0.855840}, - {1.003652, 0.167563}, {0.046835, 0.199770}, {-0.137995, 0.109839}, - {1.236355, 0.414718}, {0.076375, 0.187022}, {0.540177, 1.332342}, - {-0.536548, 0.170836}, {-0.538823, -0.787885}, {-0.030721, -0.152529}, - {-0.197468, -0.453547}, {-0.860949, -0.359616}, {-0.076259, -0.168284}, - {0.128913, 0.374510}, {0.491855, 0.338274}, {0.841089, 0.539245}, - {-0.918791, -0.642914}, {0.722143, 0.109400}, {-1.613346, 0.192994}, - {0.138179, 0.384452}, {0.217286, 0.484391}, {-0.617670, 0.552131}, - {-0.314759, 1.396384}, {0.680449, 0.920245}, {-0.776923, 0.591054}, - {0.357123, 0.348420}, {-0.552000, -0.959852}, {-0.457786, -0.012405}, - {0.194398, 0.372935}, {-1.158776, -0.739099}, {-0.119856, 0.695673}, - {-1.044994, 0.542655}, {-0.057589, 0.663487}, {-0.637497, 1.383641}, - {0.841195, 1.016650}, {-0.227216, 0.350548}, {-0.666675, 0.297665}, - {-0.837852, 0.428705}, {-1.515275, -0.555662}, {-0.151261, -0.712636}, - {-0.221931, -0.513521}, {-1.443995, 0.844288}, {0.313953, 0.097811}, - {-0.204681, -0.430877}, {0.980967, -0.423177}, {0.232925, -0.543011}, - {0.306555, -0.317551}, {-1.105006, -0.200727}, {-0.491818, -0.043239}, - {-0.024608, -0.174225}, {0.033530, 2.148918}, {-0.623382, -0.443777}, - {-1.073524, 0.750841}, {-0.120307, 1.009256}, {0.383676, -0.259419}, - {-0.313467, -1.256964}, {-0.422919, -0.188656}, {1.284099, 0.681505}, - {0.223126, -0.031646}, {0.306322, -0.620767}, {0.442285, 0.769126}, - {-0.724718, -0.051262}, {0.239249, -0.361381}, {0.330321, -0.151744}, - {-0.732583, 0.357697}, {1.352363, 0.469735}, {-0.520244, -1.172771}, - {-0.830415, 0.617391}, {-0.345373, -0.338332}, {-0.195310, 1.495399}, - {-0.303452, -0.330434}, {-0.858515, 0.736562}, {-0.299252, 0.080389}, - {1.345959, -0.872637}, {0.074448, -0.237625}, {1.059866, -0.609576}, - {-0.575313, 0.866044}, {-0.077763, 1.006470}, {-1.001055, 0.181480}, - {0.602403, -0.828705}, {0.704641, -0.635900}, {0.125989, 0.812281}, - {-0.020565, -0.376771}, {0.086654, 0.473210}, {-0.807156, -0.842660}, - {1.800373, 0.552391}, {-0.130840, 0.401600}, {1.213215, 0.407588}, - {0.032867, 0.902099}, {-0.647827, -0.660410}, {0.139245, 0.572428}, - {0.503025, -0.013337}, {-0.345741, -0.790109}, {1.992791, -0.453862}, - {-1.025935, 0.141881}, {1.284579, -0.440883}, {-0.079254, 0.984268}, - {0.774126, 0.771004}, {0.446898, 0.009177}, {-0.145382, 0.156029}, - {0.640419, 1.548422}, {0.417477, -0.537218}, {-0.166369, -1.168204}, - {-1.576589, -0.006857}, {-0.568257, 0.799393}, {-0.097194, 0.950091}, - {0.517471, -1.411220}, {0.238796, -0.516115}, {0.520339, 0.649062}, - {0.066756, -0.377378}, {-0.337598, 0.506655}, {0.082550, -0.452063}, - {0.348994, 0.931952}, {-0.986407, -0.704322}, {-0.127239, 0.598529}, - {0.326580, -0.100612}, {-0.479889, -0.405277}, {-1.261540, 0.389325}, - {-0.326830, -0.479964}, {0.362882, 0.916080}, {0.351699, 0.236263}, - {0.339159, -0.569330}, {0.193999, 0.722854}, {-0.383134, -0.307248}, - {0.983325, -0.083201}, {0.134546, 1.185024}, {0.453730, 0.055284}, - {0.699766, -0.295923}, {-1.300227, 2.106761}, {1.649077, 0.568909}, - {1.754100, -0.494836}, {1.533405, 0.734520}, {1.171021, 0.482031}, - {1.401353, 0.104870}, {0.365542, -1.022673}, {-0.297745, 0.086303}, - {0.811492, 0.413641}, {-0.006258, 0.257878}, {0.025602, 0.267244}, - {0.302591, 0.729528}, {1.143575, 0.702035}, {0.878501, 0.429343}, - {-0.568291, 1.009797}, {0.475038, -0.837439}, {0.463692, 0.574354}, - {-0.262200, -0.340073}, {-0.092665, 0.807504}, {0.502834, -0.559747}, - {-0.405528, 0.310426}, {0.892265, 0.595287}, {1.606894, -1.747076}, - {-0.552482, 0.153944}, {-1.140951, 0.420524}, {-0.002796, 0.745166}, - {1.856330, -0.471658}, {-0.278099, 0.079846}, {-0.859602, 0.915874}, - {-0.131552, -0.316820}, {-0.384475, -0.141175}, {1.036717, -0.801126}, - {-0.243963, -0.971380}, {-0.096054, 0.106090}, {-1.006589, 0.633260}, - {1.195284, 0.049783}, {1.377535, 0.570432}, {0.727388, 0.842091}, - {-0.591521, -0.187649}, {0.435684, -0.688750}, {-0.294460, 0.716584}, - {1.215540, -0.474825}, {-0.696852, -1.070607}, {-0.396589, 0.554698}, - {0.089609, -0.423692}, {-1.348885, -0.346625}, {0.203519, 0.440114}, - {0.743717, -0.894146}, {-0.159810, -0.334923}, {0.682591, -0.546565}, - {-0.712575, 0.476973}, {-1.104661, -0.456355}, {-0.479537, 0.251457}, - {-1.174705, -0.052909}, {-0.352342, 0.708805}, {0.131579, -0.078383}, - {0.418601, 0.558629}, {-0.035404, -0.244368}, {0.264606, -1.039640}, - {-0.949351, 0.500103}, {0.788048, 0.890085}, {-0.089676, 0.665759}, - {-0.926300, 0.785008}, {0.511916, 0.407786}, {0.421369, -0.501708}, - {0.673039, -0.920122}, {-1.286538, -0.354717}, {0.248195, 0.038161}, - {-0.205990, 1.080045}, {-0.217009, 0.702000}, {-0.276423, 0.807365}, - {-0.426657, 0.829259}, {1.389469, -0.172937}, {0.242023, 0.337750}, - {0.111603, -1.317547}, {-0.474308, -0.557545}, {-0.943573, 0.433703}, - {0.637707, -0.325782}, {0.288693, 0.683452}, {0.404386, 0.934451}, - {0.280019, 0.234267}, {0.235777, -0.732291}, {0.679205, -0.897298}, - {-0.633602, 1.471122}, {0.135238, 0.129816}, {-0.615491, -0.198805}, - {-0.064142, -0.264310}, {-0.386053, -0.523291}, {0.905432, -0.812653}, - {-0.251535, 0.119324}, {0.544902, -1.468042}, {0.940112, -1.020098}, - {0.261122, 0.539496}, {-1.028811, -1.062924}, {-0.961214, 1.210793}, - {0.440965, -0.383521}, {-0.471681, -0.646258}, {-0.640999, 0.630283}, - {-0.593379, 0.907085}, {-0.559648, -0.906520}, {0.131252, 0.190629}, - {-1.155937, 0.469075}, {-0.774295, 0.491694}, {-0.391053, 0.660751}, - {0.248040, 0.038323}, {-0.603211, 0.265228}, {-1.222478, -0.223261}, - {1.022423, 0.355851}, {0.285110, 0.398718}, {1.496522, -0.815689}, - {0.651223, -0.214058}, {1.483784, -0.345858}, {0.338015, -0.489712}, - {-0.046722, -0.437334}, {0.159075, -1.718044}, {-0.190740, -0.099638}, - {0.061885, 0.049811}, {0.679428, -0.232491}, {0.435870, -0.001996}, - {1.027309, -0.975858}, {-0.014691, -0.487557}, {-0.295080, 0.752236}, - {-0.274321, 0.469497}, {-0.517557, 1.067698}, {0.064585, 0.127431}, - {-1.046478, -0.199519}, {0.243379, 0.939476}, {0.061894, -0.918354}, - {0.182123, 0.572483}, {0.530045, 0.686889}, {-0.039721, -0.301593}, - {1.310340, -1.022175}, {0.167251, -0.342483}, {-0.873160, 0.739288}, - {1.084948, -1.081913}, {0.987790, -0.737875}, {1.115765, 0.832754}, - {0.710369, 0.565371}, {1.222391, -0.328709}, {0.981649, -0.055245}, - {-0.777509, -1.846205}, {0.368035, 0.488807}, {-1.365216, 0.569074}, - {1.124465, 0.671338}, {0.992709, 0.751788}, {-0.470874, 0.278596}, - {0.636061, -0.169493}, {0.359905, 0.085555}, {0.222456, 0.382605}, - {-1.173254, 0.201384}, {0.279053, -1.466444}, {-0.551690, 1.345065}, - {-0.510876, -0.198530}, {0.495703, -0.623988}, {0.084364, 0.323890}, - {-1.999895, -0.270420}, {-0.076837, 1.042714}, {-0.752037, 0.184538}, - {0.788181, -0.585590}, {-0.331946, 0.352529}, {-0.573372, 0.687863}, - {0.138512, -0.567696}, {-0.295121, -0.726297}, {-0.543169, 0.137349}, - {-1.715495, -1.038332}, {-0.792709, 1.829956}, {-0.512584, -0.042359}, - {0.314335, 0.342696}, {0.301736, 0.685331}, {0.538495, 1.567646}, - {0.619975, 0.078173}, {-0.498993, -0.523364}, {-0.772238, 0.214198}, - {-0.098512, -0.182276}, {0.454210, -0.534136}, {-1.022817, -1.137971}, - {0.073646, 1.100400}, {-1.024269, -1.297541}, {0.102126, -0.936219}, - {-0.656945, 0.838675}, {-0.883419, -0.256136}, {-0.187742, -0.020857}, - {0.277194, -0.076560}, {0.664217, -0.799587}, {-0.150595, -0.678707}, - {1.282330, -0.650995}, {0.230992, -0.615056}, {1.240003, -0.672353}, - {-0.277618, -0.291440}, {0.819647, 0.226890}, {0.150397, -0.913147}, - {-0.416220, 0.946438}, {-0.076384, 1.536212}, {1.392241, -1.502352}, - {1.326505, -0.499578}, {-0.091994, -0.153227}, {-0.961196, 0.689524}, - {0.781255, -0.480439}, {0.928013, 0.550042}, {-0.232140, 0.627398}, - {-0.954812, -0.337019}, {0.310334, 1.994616}, {0.437513, -0.248398}, - {0.219854, 0.604570}, {-0.986371, 0.508113}, {0.338285, -1.014958}, - {0.109864, 0.456381}, {0.279878, -0.662212}, {0.837898, 0.324217}, - {0.556637, 0.129244}, {0.274982, 0.417030}, {-0.610253, -0.031767}, - {0.087246, -0.527219}, {-0.003924, -0.518842}, {-1.162910, 0.023406}, - {-0.748007, -0.086280}, {-1.473481, 0.519776}, {0.227004, -0.462845}, - {-1.082161, 0.747261}, {-0.506904, 0.368379}, {-0.400566, -0.884841}, - {0.601519, 0.983189}, {-0.166960, 0.343570}, {-1.095310, 0.099506}, - {1.360160, 0.674208}, {-0.147483, 0.107427}, {0.281204, -0.417472}, - {0.661175, -0.414379}, {-1.448734, 1.031802}, {-0.755926, 0.045997}, - {-0.411609, 0.573619}, {0.557744, 0.825309}, {-0.849476, -0.220213}, - {0.491201, 0.095585}, {0.495856, -0.624079}, {0.271922, -0.075840}, - {-1.176081, 0.131668}, {0.199308, 0.838635}, {1.157825, -0.261944}, - {0.499849, 0.118281}, {0.977981, 0.048878}, {1.199673, -0.964225}, - {0.858596, -0.581090}, {-0.452553, -0.218746}, {0.299985, 0.111416}, - {0.658092, 0.162666}, {-1.038127, -1.509123}, {-0.476839, -0.238866}, - {-0.825964, -0.083540}, {-0.311650, 0.915382}, {-0.346397, 0.095597}, - {1.291551, -0.057599}, {-0.180325, 1.013067}, {-0.377176, -0.025424}, - {-0.170279, -0.752118}, {-1.045206, -0.436628}, {1.077868, 0.598796}, - {-1.083213, -1.758250}, {-0.312935, 0.179621}, {0.255198, -0.202909}, - {0.713268, -1.475905}, {-0.464259, 0.230728}, {-0.089435, 0.405254}, - {0.475353, -0.424938}, {-0.867856, -0.104100}, {-0.636819, -0.246586}, - {-0.172386, 0.532258}, {-0.100517, -0.057939}, {-0.090309, -0.013900}, - {-0.012730, -0.418781}, {-0.323899, -0.112924}, {0.548806, -0.078950}, - {0.011270, -0.804839}, {-1.476368, 0.179108}, {0.820229, -0.630583}, - {1.295267, -0.443406}, {0.544548, 0.943069}, {1.785252, -0.261154}, - {2.075199, -0.129452}, {0.294332, 0.738836}, {-0.488866, 1.007274}, - {-0.503534, -1.208814}, {-0.422143, 0.460624}, {-0.695711, 1.140055}, - {-0.298145, 0.028151}, {-0.530038, 0.012494}, {1.063207, 0.272223}, - {0.307094, -0.925566}, {-0.396384, -0.079196}, {-0.264129, -0.690633}, - {0.342815, 1.176028}, {0.208513, 0.031339}, {1.092949, -1.279019}, - {-0.182367, 1.458113}, {0.459643, 0.537035}, {-1.422746, -0.199628}, - {0.120842, 0.431555}, {0.120487, 0.860370}, {0.880075, -1.318327}, - {-0.918494, -0.508262}, {1.039805, -0.397278}, {-1.116948, -0.764242}, - {-0.648588, 0.086831}, {-0.310475, 0.435516}, {0.627558, -0.763336}, - {-0.357348, 1.121826}, {-0.261118, -0.210469}, {0.566079, 0.338734}, - {0.732632, -0.864559}, {-0.031237, -0.416613}, {-0.486114, 0.440274}, - {1.080200, 0.451333}, {0.411008, -0.914379}, {1.630417, -0.573224}, - {1.789973, -0.128818}, {-1.282816, -0.068424}, {0.649218, -0.044922}, - {0.219130, 0.525529}, {-0.370677, -0.053050}, {1.003421, -0.883361}, - {-0.342108, -0.405991}, {0.559990, 0.090486}, {-0.819193, 1.397662}, - {-0.712352, 0.014975}, {0.372887, 0.809808}, {0.368211, 0.098352}, - {0.107715, 0.035441}, {-1.024098, 0.171511}, {-1.378939, -0.282636}, - {-0.515788, 0.376429}, {0.019939, 0.105386}, {-0.458813, -0.083868}, - {-0.496787, 0.049241}, {0.463699, 0.772761}, {-0.261173, 1.395466}, - {-0.700428, -0.454140}, {0.203633, 0.129327}, {0.688547, -0.064068}, - {-0.286357, -0.615908}, {1.006754, -0.251008}, {0.233480, 0.634520}, - {0.098067, -0.799585}, {0.531663, 1.047693}, {-0.357639, 0.643432}, - {-0.454815, -1.314132}, {0.024120, 0.533402}, {-0.411249, -1.147575}, - {-0.478917, 0.650582}, {0.527923, -0.220407}, {0.760079, -0.003595}, - {-1.436180, 1.015680}, {0.226704, 0.663645}, {-0.045143, -0.061152}, - {-0.302953, 0.503048}, {-1.017092, -0.028102}, {-0.437520, -0.181724}, - {0.691820, 0.557386}, {0.481078, 0.854929}, {0.210535, -0.105821}, - {0.309759, 1.545655}, {-0.118720, -0.106134}, {-0.491147, 0.073132}, - {-0.315558, 1.304714}, {-0.069603, -0.566994}, {-1.420324, -0.302228}, - {-0.001001, -0.159619}, {0.538514, -0.717943}, {-0.023256, 0.486612}, - {0.961986, -0.094342}, {1.390177, 1.690547}, {0.060921, -0.573038}, - {1.227780, -1.614966}, {0.860354, 0.141537}, {-0.673537, -0.182732}, - {-0.394389, 0.486924}, {0.189958, -0.299760}, {-0.187816, 0.758961}, - {0.930850, 0.838789}, {0.532089, 0.052800}, {1.183978, 0.043238}, - {0.000885, 1.006165}, {0.652237, -0.033242}, {-0.062365, 0.853989}, - {0.074019, 1.062932}, {0.548674, 1.299869}, {0.635525, 0.892433}, - {1.040413, -0.904244}, {-0.637131, -1.220854}, {-0.178723, 0.705191}, - {0.679517, -1.054694}, {0.050417, 0.463792}, {-0.432476, -0.705006}, - {0.479097, -1.050954}, {0.759427, -0.851752}, {1.022693, -0.592958}, - {-1.062087, 0.416080}, {0.240269, -0.546121}, {0.721674, 0.787447}, - {0.390897, 0.893822}, {-1.344788, -0.366112}, {-0.388957, 1.529754}, - {-0.410491, -0.551688}, {0.059600, 0.157555}, {0.589211, 0.635496}, - {1.524161, -0.681505}, {0.382074, 0.694384}, {0.184238, -1.242472}, - {-1.872358, 0.314061}, {0.197887, -0.051333}, {0.134921, 1.052766}, - {0.262707, 0.571038}, {0.217454, 1.533922}, {-0.473612, 1.565367}, - {-0.430548, -0.327960}, {2.456992, 0.326251}, {-0.249071, -1.096478}, - {1.629764, 0.016947}, {-0.311299, -0.966789}, {-0.271977, 0.129707}, - {0.570742, 0.441806}, {-0.663392, -0.189752}, {-0.657755, -0.378028}, - {-0.289619, 0.178035}, {-1.547191, -1.379442}, {0.318863, 0.097885}, - {-0.133141, -0.867632}, {1.709726, -0.325249}, {-0.859378, -1.097579}, - {-0.824774, -1.066003}, {0.667650, -0.896375}, {0.771396, 0.193745}, - {0.187997, 0.834902}, {0.264365, -0.077232}, {-0.205345, -0.363629}, - {0.785119, 0.128526}, {-0.691053, -0.612586}, {0.013257, -0.052083}, - {0.825087, 0.514926}, {-0.296533, 0.266757}, {0.172197, -1.001242}, - {-0.096571, 0.384834}, {0.009580, -0.143642}, {-0.430595, 0.227296}, - {0.246564, -0.054633}, {-0.094468, -0.110370}, {-0.692380, 0.378773}, - {-0.199042, -1.555449}, {0.505427, 0.687997}, {0.449979, 0.039450}, - {0.393759, -0.881240}, {1.174371, 0.587504}, {-0.022562, -0.094548}, - {0.799280, -1.480472}, {0.041460, -1.331186}, {-0.092273, -0.056904}, - {1.089637, 1.394368}, {0.377098, -0.286844}, {-1.518074, 0.303598}, - {-0.424125, -0.919862}, {0.735314, 0.790515}, {-0.419136, -0.537595}, - {-0.224393, -1.089326}, {-0.932735, 0.204017}, {-1.046173, -0.492433}, - {0.530493, -0.892328}, {-1.605953, -0.056949}, {-0.082756, -0.072003}, - {-0.273932, -0.025963}, {-0.800355, 0.314344}, {0.072312, 0.478394}, - {0.398293, 0.285516}, {-0.548830, 0.122373}, {-0.168767, 0.843687}, - {-0.270897, 1.661998}, {-1.170453, -0.201107}, {-0.475110, -0.145280}, - {1.305465, -0.282810}, {-0.315642, 0.100244}, {-0.086178, 1.029969}, - {0.615427, 0.779651}, {-0.207107, 0.112033}, {1.324170, -0.301879}, - {0.970426, -0.300709}, {-0.051026, -1.504892}, {-0.710653, 0.471644}, - {-0.246991, 0.815189}, {0.603725, 0.395888}, {0.287185, -0.903460}, - {0.542505, -0.034145}, {0.491362, 0.846853}, {-0.795065, -0.413406}, - {-0.094830, -1.353670}, {0.848408, -0.279441}, {0.423856, -0.773367}, - {0.223410, -0.744911}, {-0.290439, 0.138562}, {0.179655, -0.293731}, - {0.963360, 1.602055}, {-0.162586, -0.561803}, {0.690172, -0.162130}, - {-0.056525, -0.217605}, {0.406531, -1.570055}, {-0.214027, 1.317937}, - {-1.324464, 0.041843}, {0.524061, 0.463133}, {-0.308113, -0.660500}, - {-0.045374, 0.866035}, {-1.375194, -0.346669}, {-0.241115, -1.057360}, - {1.046871, 1.007542}, {-1.538573, -0.349429}, {-1.296515, 0.500255}, - {-0.319061, 1.182597}, {0.822835, 1.088292}, {-0.242570, 0.808708}, - {-0.741186, -0.287133}, {-0.043203, -0.170825}, {0.086436, 1.296764}, - {0.039347, 0.444439}, {-0.452934, 0.019311}, {0.165106, 0.678114}, - {0.077917, 0.386698}, {-0.827517, 0.531529}, {0.008533, 0.559169}, - {0.779173, -1.106132}, {-0.141012, -1.305121}, {-0.017937, 0.457808}, - {1.289752, 0.160765}, {0.540358, 1.399083}, {-0.512611, 0.568784}, - {-0.648622, -0.300842}, {-0.293245, 1.682090}, {0.675206, 0.479373}, - {-0.247437, 0.127139}, {0.385699, -1.137733}, {0.734392, 0.440471}, - {-1.045057, -0.228324}, {0.556728, -0.598054}, {-0.283752, -0.097712}, - {-0.555117, 0.220327}, {0.850535, 0.713509}, {-0.187237, -0.137412}, - {-0.069355, -0.705473}, {0.514740, -0.842808}, {-0.680879, -0.366539}, - {0.249006, -0.335864}, {-0.098391, 0.639156}, {0.171737, -0.709357}, - {-0.443634, -0.636049}, {1.088524, 0.709373}, {1.223219, -0.602659}, - {1.372139, -0.120711}, {0.934723, 0.998017}, {-0.627598, 0.214279}, - {1.030711, -0.173404}, {0.136914, 0.142240}, {-0.703009, -1.393580}, - {0.296772, -0.271707}, {-0.650348, 0.475265}, {0.681210, -0.614719}, - {-0.063976, 0.173702}, {0.927263, -0.034156}, {0.436673, 0.433596}, - {-0.011766, 0.233163}, {-0.461304, -2.176818}, {-0.555505, -0.395928}, - {-0.121968, -0.515902}, {-0.078036, -0.661705}, {0.922070, -1.399317}, - {0.438197, -0.410533}, {0.889117, 2.238643}, {-0.109874, -1.599532}, - {-0.122962, -0.682850}, {-1.305958, -0.154182}, {0.431402, 1.018367}, - {-0.143377, -0.893054}, {0.560765, -0.446487}, {0.753484, -0.241121}, - {-0.967923, 0.257292}, {-0.119665, -1.032914}, {-0.991815, 0.479675}, - {-0.629275, 0.847630}, {0.721789, 0.636400}, {0.977668, -0.039434}, - {0.187379, -0.387067}, {-0.314152, 0.141318}, {-0.817531, 0.628117}, - {-0.923341, -0.167044}, {-0.155868, -0.084994}, {-0.686082, -0.206933}, - {0.021763, -1.069100}, {0.091063, -0.184178}, {-0.307996, -0.942727}, - {0.036592, 0.643156}, {-0.299491, 1.314708}, {-0.149338, -0.041127}, - {-0.365165, 0.727747}, {-0.591302, -0.009641}, {-0.511106, 0.790851}, - {-0.008839, -0.298441}, {0.450988, -0.963904}, {-0.043228, -0.140045}, - {0.622787, -0.480381}, {1.330465, -0.430632}, {0.237069, 0.372814}, - {0.013612, 0.660065}, {-0.005838, 0.638106}, {0.099138, 0.487362}, - {-0.462270, 0.760901}, {-0.039276, -0.367186}, {-0.849389, 0.963066}, - {0.260960, -0.760724}, {-0.017266, -0.504135}, {0.468009, 0.090059}, - {1.015524, 0.512994}, {0.320663, -0.586802}, {1.320691, -0.542734}, - {-0.662519, -0.014055}, {-0.297684, -0.044484}, {-0.799770, -0.356844}, - {-0.382747, 0.640791}, {-0.656885, 0.305997}, {0.114703, -0.966648}, - {0.136089, -0.769987}, {0.032134, -0.482388}, {0.164098, -0.131159}, - {0.378416, 0.078075}, {-0.221686, 1.091587}, {-0.103693, 0.709294}, - {-0.345252, -0.305954}, {1.203122, -0.260458}, {0.793078, -1.844025}, - {0.052521, 0.691232}, {0.327413, 1.180506}, {0.000942, -0.045549}, - {0.500746, -0.800283}, {-0.118962, -0.269397}, {0.302711, -0.955327}, - {-0.451537, -0.663640}, {-0.783589, -0.143810}, {0.777130, 0.550576}, - {-1.296793, -0.096188}, {0.156387, 1.318119}, {-0.441793, 0.789109}, - {0.098510, -0.721234}, {1.144887, 0.174284}, {-0.628743, 1.542204}, - {-0.746915, -1.002669}, {0.640209, 1.564354}, {-0.042800, 0.694716}, - {-1.546423, 0.892586}, {-0.302209, 1.431112}, {-0.691142, 0.333508}, - {-0.429388, -1.099203}, {1.047799, -0.141377}, {-0.835629, -0.419429}, - {-0.395704, 0.291504}, {1.169077, -0.006899}, {-0.000406, -1.023570}, - {-0.005843, 0.363119}, {-0.830499, -0.161589}, {-0.049930, 0.150634}, - {0.110034, 0.489642}, {0.229673, -0.090654}, {0.628243, 1.472188}, - {-0.426285, -0.014405}, {0.704156, -0.031663}, {1.408712, -0.223024}, - {-0.310124, 0.322176}, {1.341750, -0.011950}, {-0.475503, -0.217211}, - {-0.322988, 0.045987}, {-0.293056, 0.205099}, {-0.120599, -0.231858}, - {-0.145756, -1.419736}, {0.586338, 0.525593}, {-0.107314, 0.053626}, - {-0.592978, -0.037145}, {-1.158385, -1.045554}, {0.119389, 0.728346}, - {1.574950, -0.490199}, {-0.282055, -0.229629}, {0.168220, 0.641829}, - {0.215137, 0.436435}, {-1.469822, -1.022768}, {0.122827, -0.355324}, - {0.340368, 0.460545}, {-0.133655, -0.013018}, {-0.214706, -0.229367}, - {1.137280, -0.600999}, {-0.774999, -1.178053}, {1.518943, 1.058591}, - {0.407081, -0.502228}, {-1.241990, 0.417551}, {0.014212, 0.382705}, - {1.079171, 0.037512}, {1.449532, -0.035599}, {-0.342860, 0.119856}, - {-0.203089, 1.758978}, {0.892215, -0.343795}, {-0.742509, -0.990385}, - {0.467033, -0.033716}, {0.478131, -0.642241}, {1.344997, -0.160438}, - {-0.420145, 0.331979}, {-0.652954, 0.592996}, {-0.495241, 0.174791}, - {0.187080, -0.257417}, {-0.382043, -0.147167}, {0.529967, 0.430835}, - {0.479963, -0.054450}, {-0.878576, 0.171068}, {0.128695, -0.437802}, - {-0.715424, -0.054429}, {-0.735767, 1.208460}, {0.913745, 0.145152}, - {-0.901428, 0.263530}, {-0.108728, 1.211707}, {0.869162, 1.245237}, - {1.346936, 0.981211}, {0.064847, -0.378967}, {0.076235, 1.113281}, - {-0.158075, -0.350806}, {-0.830559, 0.718345}, {0.165189, 0.659124}, - {0.566927, -0.057358}, {-0.256642, 0.501692}, {-0.496891, 0.558987}, - {0.314791, 1.531419}, {-0.105210, -0.967250}, {0.340576, 0.711382}, - {-1.141627, -1.066447}, {-0.110436, -0.387441}, {0.079143, -0.720602}, - {0.166833, 0.239506}, {-0.442205, -0.338438}, {0.483370, 0.156757}, - {0.693114, 0.276451}, {-0.183391, 0.020851}, {0.204206, -0.677262}, - {0.689076, 0.309579}, {-0.481239, -0.584827}, {-0.933420, -0.491870}, - {-0.520784, -0.281925}, {1.692787, -0.862935}, {0.974295, -0.065542}, - {0.013460, -0.253194}, {-0.484361, 0.487765}, {1.102883, -0.797744}, - {1.017178, -0.706175}, {-0.306430, 0.465774}, {0.652186, 0.377622}, - {-0.509788, -0.117614}, {-0.182832, 0.281499}, {-0.243806, -0.608884}, - {-0.812188, 1.031517}, {-0.318785, -1.096473}, {-0.753378, 0.448524}, - {0.190946, 0.805434}, {1.315679, 0.386423}, {0.517649, -0.029638}, - {0.005505, 0.303030}, {0.245582, -0.056264}, {-1.003810, 0.352134}, - {0.145024, 0.704185}, {0.462317, 0.143256}, {0.942234, 0.897553}, - {-0.215521, -0.331736}, {-0.486441, -0.282984}, {-0.132013, -0.653772}, - {0.703166, -0.978950}, {1.265242, -0.730936}, {0.541313, -1.092878}, - {-0.426889, -0.709462}, {0.358945, -0.092949}, {1.287703, -0.466656}, - {-0.029177, -0.528144}, {-1.262047, -0.156719}, {1.119061, -0.140010}, - {0.744231, 1.364940}, {-1.477712, 0.677879}, {1.394701, 0.568561}, - {-0.709296, 1.089103}, {-1.084068, 1.032923}, {0.692925, -1.436255}, - {-0.583488, 0.006146}, {-0.096832, 0.481081}, {0.065004, -0.486029}, - {0.870241, -0.777612}, {-0.485691, 1.334895}, {1.654056, -0.558402}, - {-0.123607, -0.634878}, {-0.327436, -0.483555}, {-0.308836, 0.238801}, - {0.997275, 0.372461}, {1.298622, -0.350636}, {0.054553, -0.251766}, - {-0.663848, 0.096227}, {-0.414783, -0.476282}, {0.017994, -0.596242}, - {0.073553, 0.224045}, {-0.017235, -0.787626}, {-0.513162, -0.883175}, - {0.296796, -0.667669}, {0.609890, 0.396096}, {-0.429109, 0.719473}, - {1.004360, -0.399219}, {-0.729476, -0.121898}, {0.495306, 0.262692}, - {-0.113961, -0.354866}, {-0.397658, 0.111103}, {0.772712, 0.034410}, - {1.351640, -0.201355}, {-0.632191, -0.828298}, {-1.263127, -0.771645}, - {0.439372, -1.090465}, {0.360964, -0.050497}, {0.347296, -0.241183}, - {0.779991, 1.223795}, {-0.304319, 0.532105}, {0.438098, 0.404655}, - {-0.851470, -0.274463}, {-0.456542, 0.692725}, {-0.246019, 0.385583}, - {0.191244, 0.619761}, {-1.086195, 0.003533}, {0.904869, 0.542475}, - {0.998638, 0.170402}, {-0.706807, -0.315809}, {0.166527, -0.172701}, - {-1.000581, -0.025441}, {-0.835619, 1.640966}, {0.465558, -0.261938}, - {-0.312499, 1.039515}, {0.963936, 0.325342}, {-0.691905, -1.644457}, - {0.352920, -1.072839}, {0.628098, 0.001310}, {0.081833, 0.343911}, - {0.014168, 0.756927}, {-0.973338, -0.558293}, {-0.871959, -0.104032}, - {-0.002001, -0.006319}, {1.286904, -0.201689}, {0.244030, 1.578598}, - {-0.616804, 0.274645}, {-0.318141, 0.335599}, {-0.697360, -0.095197}, - {0.011818, -0.863732}, {-0.138582, -0.019176}, {-0.725250, -0.217377}, - {-0.875897, 0.417330}, {-0.319059, 0.539565}, {-0.482789, -0.312334}, - {0.409422, 1.158154}, {-0.015202, 0.405469}, {0.566499, -0.239419}, - {-0.048926, -0.333125}, {0.123632, -0.575811}, {-0.737014, 1.050065}, - {-0.498796, -0.462582}, {1.103683, -1.514551}, {-0.494598, -0.326410}, - {-0.197300, 0.386700}, {0.062856, 0.241676}, {1.540076, 0.134030}, - {0.167199, 0.718623}, {1.460202, 0.168436}, {-0.151115, 1.190752}, - {-1.605562, -0.849851}, {-0.182316, 0.843664}, {0.063442, -0.632068}, - {0.600120, -1.467388}, {-0.214057, 0.008288}, {-0.591725, 0.015858}, - {0.426621, -0.467059}, {0.308007, -0.521593}, {0.187186, 0.432812}, - {0.771873, -0.797405}, {-1.666113, -0.612908}, {0.662923, -0.640449}, - {0.418502, 0.839952}, {0.567399, 1.411843}, {1.409143, 0.943162}, - {0.272974, 0.334327}, {-0.194930, -0.042914}, {-0.656420, 0.632150}, - {-1.041831, 0.166806}, {0.747201, 0.813639}, {0.281704, 0.944374}, - {1.358369, 0.491507}, {0.367469, -0.875805}, {-0.422513, 0.169091}, - {1.285167, 0.685694}, {0.330428, -0.193560}, {0.299608, 0.675410}, - {-0.270314, -0.081031}, {0.064389, 1.581159}, {-0.222432, -0.019499}, - {0.426707, 0.157563}, {0.722662, -0.647789}, {0.242988, 0.714443}, - {0.748898, -0.308079}, {-0.016544, 0.354901}, {-0.997099, -0.209123}, - {-0.235030, -0.400691}, {-0.203206, 1.099828}, {0.142727, 0.095450}, - {-0.341516, 0.326233}, {0.095229, 0.019195}, {-0.660175, 0.112390}, - {0.905233, -0.514587}, {0.319161, -0.949665}, {-0.405405, -2.149487}, - {0.208820, 0.999381}, {-0.315606, 1.516585}, {-0.641859, -1.688719}, - {0.964642, -0.657701}, {0.065903, -0.060402}, {-0.026539, -0.681936}, - {-0.614921, -0.563590}, {0.246976, -0.939397}, {0.385899, 0.281023}, - {-0.094005, 0.848061}, {-0.169226, 0.774612}, {-0.724207, 0.299136}, - {-1.194411, -0.024786}, {0.882686, -0.287766}, {-0.483190, -0.806528}, - {-0.483338, 0.922785}, {0.041603, 0.257413}, {0.498249, 0.308889}, - {0.634894, -0.438796}, {0.295743, -0.624397}, {0.071996, 0.006979}, - {-0.372322, -0.699701}, {-0.914731, 1.474448}, {-0.027933, -0.761139}, - {-0.295425, -0.913413}, {1.158772, -0.605934}, {-1.099764, 1.238334}, - {0.225717, -0.107705}, {-0.060501, -0.133608}, {-1.004261, -0.846772}, - {1.353121, 0.234258}, {0.115511, -0.813911}, {-2.526341, -0.552748}, - {0.628997, 0.483053}, {-0.185551, 0.719097}, {1.038135, -1.267809}, - {-0.807875, -0.433980}, {-0.095644, 0.352912}, {-0.401847, 0.180421}, - {0.326983, -0.414106}, {-0.700716, -0.454423}, {1.753344, 0.341367}, - {-0.495613, 0.589827}, {0.795817, -0.022842}, {-0.921182, -0.686602}, - {-1.692668, -0.029685}, {-1.122250, -0.221354}, {-0.588052, 1.370316}, - {0.988746, -0.162050}, {-0.653970, -0.824491}, {0.362938, -0.445459}, - {1.171398, -0.033829}, {-0.128480, 0.441175}, {-0.102669, -0.405796}, - {1.815588, -0.843343}, {-0.009833, -0.493984}, {-0.949789, 1.129682}, - {0.396000, 0.520610}, {0.793786, -1.116647}, {0.245421, -0.634161}, - {-1.542438, 0.723155}, {-0.983627, -0.634587}, {0.325658, 0.423862}, - {0.686591, 0.678101}, {0.840170, 1.189774}, {-0.124161, 0.328021}, - {-0.670110, 0.306719}, {-0.647672, -0.390379}, {-0.799760, -0.896996}, - {0.791386, 0.183740}, {-0.999459, 0.290365}, {0.108208, 0.682826}, - {0.722602, -0.063568}, {0.675050, -0.417068}, {0.049737, -0.626277}, - {-0.091161, -0.152698}, {-0.169368, -0.424080}, {0.965155, 1.073006}, - {0.875146, 0.371974}, {0.027511, -0.094845}, {0.046664, -0.034023}, - {0.088000, 0.191606}, {-0.292866, 0.357606}, {0.486410, -0.150151}, - {0.758034, 0.769236}, {0.373728, 0.795101}, {-0.271229, -0.284477}, - {1.579846, -0.350881}, {-0.201557, 0.028050}, {-0.509997, 0.955817}, - {0.452960, 0.647232}, {-0.406892, 0.567143}, {-1.706461, 1.360423}, - {0.953890, -0.875465}, {0.657629, 0.021581}, {-0.129957, -1.226930}, - {-0.302970, -0.942701}, {0.048147, -0.690086}, {-0.477384, 0.846820}, - {0.024795, 1.669001}, {1.201373, 0.130037}, {0.028444, -0.954818}, - {0.597766, -0.157195}, {1.257619, -0.713805}, {-0.793364, 0.384184}, - {-1.448279, 0.244332}, {-0.241725, 0.023413}, {-0.834162, -1.002103}, - {-0.092808, -0.130621}, {0.251400, 0.563136}, {0.142776, -0.576081}, - {0.082036, -0.836429}, {0.477424, -0.233922}, {0.592498, -0.708705}, - {-0.092424, -0.165077}, {0.961011, -0.437526}, {-0.040373, -0.007315}, - {0.151106, 0.495559}, {-0.791185, -0.172713}, {0.532989, -0.116812}, - {0.323417, -0.257345}, {-1.564697, 1.408229}, {-0.721557, 1.018666}, - {0.590124, -0.231628}, {0.771734, -0.400268}, {-0.051036, 0.575551}, - {-0.045053, -0.822877}, {0.870412, 0.425655}, {-0.252330, -0.444619}, - {-0.101144, -0.403048}, {-0.027262, 1.535667}, {-0.641673, -0.519516}, - {0.738704, 0.547992}, {0.168648, -0.151548}, {-1.710591, 0.257789}, - {-0.092677, 0.346082}, {-0.338101, 0.082259}, {-0.050333, -0.211235}, - {-0.699288, -0.374695}, {-0.591992, 1.089774}, {0.627032, -0.226781}, - {-0.162334, 0.632005}, {1.473994, -0.687098}, {-0.034147, -0.046207}, - {1.689347, 0.546087}, {-0.064003, 0.303521}, {0.024821, -0.361900}, - {0.625408, 0.536032}, {0.859899, -0.542843}, {-0.768487, 0.655731}, - {0.156214, 0.442436}, {-0.920403, -0.423091}, {0.288070, -0.057672}, - {0.835439, -0.025869}, {0.486492, -0.403805}, {-0.670555, -0.015233}, - {0.202429, -0.231184}, {0.368462, 0.045512}, {-0.759523, -0.656840}, - {-0.306825, -1.845469}, {-1.126798, 0.416730}, {0.253965, -0.048144}, - {0.573909, 0.256679}, {-0.077506, 0.902226}, {0.106140, -0.161830}, - {0.944351, -0.103539}, {0.996280, 0.024614}, {-0.437475, -0.095610}, - {1.605320, 0.269590}, {-0.030932, 0.428579}, {0.298472, -0.901861}, - {-0.459703, -1.415808}, {-1.427354, -0.827994}, {-0.668940, -0.453174}, - {0.081398, -0.075764}, {0.449178, 0.115437}, {1.319972, 0.180253}, - {0.214731, -0.518376}, {0.401389, -0.697856}, {-0.966804, -0.086393}, - {0.091583, 0.256263}, {0.121284, -0.390260}, {0.682460, 0.337722}, - {-0.528372, -0.012843}, {0.535463, 0.220828}, {-0.207327, -0.002275}, - {0.032177, -1.481349}, {-1.046740, 0.503154}, {0.990748, -1.593273}, - {-0.395646, 0.419805}, {0.309283, -0.466387}, {1.107873, 0.046100}, - {0.557575, 0.602810}, {-0.973449, -0.826520}, {1.174536, -0.115438}, - {0.270087, -0.056070}, {0.301369, -1.259042}, {0.176198, 0.039041}, - {0.685912, -1.168439}, {0.868333, 0.870309}, {0.428619, -0.314340}, - {-0.605176, -0.019613}, {0.551734, 0.028005}, {0.967593, -0.636688}, - {0.282477, 0.393573}, {0.681596, -0.537855}, {0.080952, 0.362344}, - {1.080137, -1.004045}, {-0.121193, -0.497869}, {0.873317, -0.001814}, - {-0.626031, -0.544039}, {0.108145, -0.684680}, {-0.563032, -0.925852}, - {0.979941, -0.514612}, {-0.608938, 0.633467}, {-0.053909, 0.182506}, - {-0.043155, 1.357664}, {-0.258396, 0.276981}, {-0.273572, -0.131251}, - {-0.146091, -0.601641}, {-0.285407, -0.362421}, {-0.145943, -0.085332}, - {1.246647, -0.702939}, {0.000929, -0.146198}, {0.426066, 0.520638}, - {-0.385219, -1.726361}, {0.895211, 0.932719}, {1.007455, -1.259203}, - {-0.192862, 0.700090}, {-0.229940, 0.047657}, {-0.530813, -0.440148}, - {-0.611116, -0.509634}, {-0.580100, 0.142553}, {0.614953, 0.098769}, - {1.398503, 0.775546}, {-0.541719, -1.671509}, {-0.241597, 1.020908}, - {-1.077532, -0.515526}, {0.655762, 0.775059}, {-0.765450, -1.239293}, - {0.962747, -0.806323}, {-0.609721, 0.251087}, {0.050378, -0.384786}, - {0.848758, 0.698701}, {2.116104, 1.231120}, {0.111879, -0.017177}, - {-0.687465, -0.181288}, {-0.675059, -0.418819}, {0.279545, -0.339861}, - {-0.599722, 0.492495}, {0.684005, -0.397453}, {0.147776, -0.639692}, - {0.097598, -0.641184}, {0.081977, 0.034408}, {-1.362164, 0.108665}, - {0.163552, -1.671503}, {0.040631, -1.212350}, {0.291558, 0.657082}, - {-0.295903, -1.140027}, {-0.376469, 1.434394}, {0.423132, 1.500112}, - {0.939533, 0.706458}, {-0.723371, 0.467943}, {0.734789, -1.367821}, - {-0.286426, -0.430950}, {0.741645, 0.202610}, {-0.474269, -0.383443}, - {-0.111238, -1.258131}, {0.660971, -0.293692}, {-1.682554, 0.395094}, - {-0.315600, 1.396362}, {-0.537842, 0.199873}, {-0.495910, 1.133647}, - {-0.202967, 0.311606}, {0.956309, 1.302041}, {0.014266, 1.520439}, - {-0.219412, 0.174062}, {-0.681151, -0.951635}, {0.404607, 1.513381}, - {0.416153, 0.210891}, {0.142163, 0.694091}, {0.076219, 0.460826}, - {-1.083648, 1.037683}, {0.270994, 0.354254}, {0.986873, 2.149951}, - {0.393861, 0.989633}, {0.688971, 0.339303}, {0.071278, 0.056799}, - {-1.016039, -0.020912}, {-1.334468, -0.536643}, {0.734131, -0.538999}, - {0.610162, -0.467191}, {0.178098, 0.248881}, {1.107075, 0.903290}, - {0.067019, 0.376517}, {0.063519, 0.307756}, {0.222092, 0.047481}, - {-0.642008, 1.339605}, {-1.434671, 0.390346}, {-0.286363, -1.096375}, - {0.528233, -0.114303}, {0.002839, -0.363739}, {0.081966, 0.477424}, - {-0.745078, -0.212704}, {0.262151, -0.629614}, {0.650702, 0.297788}, - {-0.360384, 0.654797}, {-1.210552, 0.346825}, {-1.123528, 0.141074}, - {0.254125, 0.134089}, {-0.854449, -1.272994}, {0.503444, 0.407784}, - {-0.063343, 0.002590}, {-1.217891, 0.297324}, {1.362821, -0.092500}, - {-0.620024, -0.181695}, {-0.583878, -0.087572}, {-0.077708, -0.591811}, - {0.407316, 0.210572}, {0.370971, -1.195471}, {-0.299583, 1.320451}, - {0.203216, 0.646346}, {0.366164, 0.909438}, {0.203023, 0.338926}, - {0.886110, -0.616392}, {0.123373, -0.265751}, {1.002188, -0.721736}, - {-0.087786, -0.162014}, {-0.147706, -0.257366}, {0.138837, 0.156403}, - {-0.935765, -0.897313}, {0.145589, 0.934317}, {-1.257050, 0.339883}, - {-0.640691, -0.497094}, {0.249565, 0.324230}, {0.429013, -0.807024}, - {0.951042, -0.750363}, {-0.233908, 0.322168}, {-0.155345, -0.058620}, - {-0.923954, 1.122193}, {0.575643, 0.585440}, {0.020598, 1.436937}, - {-0.091407, -0.699294}, {0.578322, 1.106103}, {-0.103452, -0.119980}, - {1.023561, 0.237926}, {-0.294089, -0.806202}, {0.353528, -0.555679}, - {-0.047433, -0.322646}, {1.165529, 0.140760}, {-0.792405, -0.115971}, - {-1.054716, -1.248429}, {-0.445960, -0.522722}, {-0.535668, -0.623538}, - {1.871897, 0.379341}, {-0.602944, 0.291409}, {0.163383, -0.302622}, - {-0.434323, -0.137421}, {-0.350281, 0.083213}, {0.871609, -0.841751}, - {0.975364, -0.601977}, {0.494758, 0.224624}, {0.242478, 0.421058}, - {0.232225, -1.453569}, {0.414761, 0.849492}, {0.604876, 0.053472}, - {0.281405, -0.468279}, {-0.722334, -0.651553}, {0.212448, 0.783791}, - {0.338838, 0.566970}, {0.968908, 0.412173}, {-0.818738, 1.184692}, - {-0.942716, 1.063357}, {0.156179, -0.884947}, {0.275563, -0.824764}, - {0.161075, 0.512591}, {-0.063483, -0.132659}, {0.244437, 0.539625}, - {-1.022381, 0.103652}, {-0.191213, 0.245448}, {1.202137, -0.341605}, - {-0.830870, 0.088173}, {-0.376038, -1.505356}, {-0.132499, -0.483134}, - {1.405172, -0.388605}, {-0.731394, -0.474684}, {0.424459, 1.084378}, - {0.569630, -0.465403}, {0.342360, 0.588034}, {0.530620, 0.584731}, - {0.465075, 0.367666}, {0.476078, -0.835102}, {0.325328, 0.098233}, - {-0.588893, 0.045396}, {0.190879, 0.254040}, {0.743863, 1.485769}, - {0.092567, 0.772116}, {-0.316621, 0.345606}, {-0.782686, -0.306573}, - {-0.034863, -0.764078}, {0.087823, 1.095970}, {0.006421, 0.475137}, - {-0.539624, 1.058665}, {-0.112003, -0.421538}, {0.814427, -2.240315}, - {0.297667, 0.029955}, {0.387983, 0.365167}, {-0.512255, 0.697944}, - {-1.002389, -1.053748}, {0.785925, -0.982717}, {0.513858, -0.382507}, - {-0.739047, 0.720458}, {0.563904, -0.592574}, {0.269190, -0.290482}, - {-0.443868, 1.120572}, {-1.130339, 0.430364}, {0.653121, -1.146882}, - {-0.143795, -0.395516}, {-0.601965, 0.136010}, {0.108440, -1.108889}, - {-0.633592, -0.202239}, {-0.057448, 0.917590}, {-0.339216, 0.038929}, - {-0.236586, 0.236913}, {0.250535, 0.573183}, {-1.205567, -0.151059}, - {0.435760, 0.422565}, {0.195745, -0.511377}, {1.127967, -0.973948}, - {0.989271, -1.392772}, {0.135742, 0.374199}, {-0.344161, 0.674263}, - {-0.011739, -0.360829}, {-1.431782, 0.085627}, {-0.120657, 0.501635}, - {0.750871, 0.035088}, {-0.415468, -0.782156}, {0.295173, 0.275036}, - {-0.601768, 0.944578}, {-0.818800, -0.499709}, {0.750934, 0.255211}, - {0.011539, -0.207586}, {-0.059063, 0.577347}, {0.027127, 0.182079}, - {0.058243, 0.931415}, {-0.671812, 0.744172}, {0.645644, 0.221537}, - {-0.870574, -0.487558}, {1.078105, 0.615241}, {-0.212722, -0.339828}, - {1.044228, -0.140719}, {0.507397, -0.046622}, {-0.034885, -0.440408}, - {0.752870, 2.271021}, {-0.581907, -0.235032}, {-0.322662, -0.221511}, - {0.415694, 1.662084}, {0.145703, -0.397409}, {0.254030, 0.000521}, - {-0.087437, -0.980333}, {0.227735, -0.592052}, {-1.659078, 1.444394}, - {0.165351, 0.893154}, {0.143596, -1.051117}, {-0.150326, -0.227989}, - {-0.176142, -2.753715}, {-0.304719, -1.679630}, {0.142689, 1.087978}, - {-0.017008, -1.616949}, {-1.541590, 0.163136}, {-0.310240, -0.896758}, - {-1.275426, 0.756192}, {1.243312, -0.449887}, {1.116768, 0.875750}, - {-0.707965, 0.070670}, {0.913211, -0.140092}, {-0.979090, 0.451250}, - {-0.864155, -1.828690}, {0.921171, 0.476562}, {0.355440, 0.234661}, - {-0.524266, 0.329766}, {-0.358736, -1.603375}, {-0.648495, 0.757445}, - {0.418951, 0.216528}, {-0.427809, -0.403671}, {0.337321, -1.387978}, - {1.655019, -0.215407}, {0.451075, -0.095607}, {-0.244406, 0.146289}, - {-0.137790, 0.167550}, {0.630097, 0.525331}, {1.207748, 0.306192}, - {0.281222, 2.135639}, {1.263418, -0.404728}, {-0.462965, -0.321707}, - {-0.502160, -0.109373}, {0.267206, 0.604009}, {-0.095540, -0.133320}, - {-0.518950, -0.011799}, {0.882133, -0.870423}, {-0.273993, -0.871520}, - {-0.369624, -0.376413}, {-0.426616, -1.054248}, {0.605760, -0.041916}, - {-1.076826, -0.702786}, {0.262593, 0.312531}, {-0.247497, 0.678962}, - {0.286441, -0.227566}, {-0.090176, -0.850555}, {-0.613904, -0.323067}, - {-0.479344, 0.855193}, {0.812688, 0.259328}, {-0.397216, -0.922578}, - {0.056809, -0.180688}, {-1.371158, 0.243855}, {-1.014261, 0.371907}, - {0.033020, 0.410626}, {-0.916478, 1.112751}, {0.669737, 1.082816}, - {0.431280, -0.142717}, {0.497122, -0.690756}, {-0.119205, -0.540953}, - {0.181345, 0.682248}, {0.031749, -0.632391}, {-0.426867, 0.192814}, - {-0.081193, 0.403163}, {0.211498, 1.119102}, {-0.832741, -0.389058}, - {0.687365, 0.355030}, {0.635475, -0.427351}, {-0.546154, -0.025184}, - {-0.489334, 0.302793}, {-0.652276, -0.513544}, {1.042010, -0.712245}, - {-1.620305, 0.506514}, {-0.862786, 0.428432}, {0.604738, -0.408423}, - {-0.521311, -0.121360}, {0.541474, -1.269409}, {-0.497038, 0.414833}, - {-0.241790, -0.086959}, {-0.152804, -0.480866}, {-0.370062, 1.004085}, - {0.669046, 0.066165}, {-0.781561, 0.108622}, {-0.559473, 0.168401}, - {-0.453866, 0.541715}, {-0.674082, 0.794643}, {-1.933105, -0.147404}, - {1.300205, 0.575127}, {0.347053, 1.234056}, {0.029991, 1.224125}, - {0.468447, 0.084716}, {0.172597, -0.493143}, {0.474934, 0.314407}, - {-0.641944, -1.460289}, {-0.397220, 1.519256}, {-0.434311, 0.720815}, - {0.309265, 0.342057}, {-1.198355, -0.052924}, {-0.707677, 0.641043}, - {-0.961501, -0.105753}, {0.041026, -0.219741}, {0.296451, -0.155747}, - {-0.041502, 0.329670}, {-0.175649, -1.146940}, {0.291242, -0.629172}, - {0.201876, 0.521308}, {-1.249795, 1.396366}, {0.721736, -0.901069}, - {-0.279288, 0.146240}, {0.057212, -0.542932}, {0.895544, 0.168533}, - {1.243546, 0.419985}, {1.443173, 0.998921}, {1.178023, -0.424663}, - {0.944378, 0.694314}, {0.077267, -0.557875}, {-0.100770, -0.061053}, - {0.091123, 0.783914}, {0.627541, -0.406884}, {0.300425, 0.129705}, - {1.588361, 1.060950}, {-0.737907, -0.102440}, {-0.408529, -0.967258}, - {0.409326, -0.583521}, {-0.252992, 0.274365}, {0.467400, 0.293939}, - {0.616506, 0.083653}, {0.069252, 0.630033}, {1.261570, -0.161448}, - {0.980182, 0.016625}, {-0.967191, 0.426424}, {0.974353, 0.373262}, - {0.465758, 0.406121}, {0.049765, 0.155789}, {1.019360, 1.113022}, - {1.482616, -1.082850}, {-0.370055, 1.170347}, {-0.914180, -0.076800}, - {0.711749, 0.443053}, {1.000344, -0.911585}, {-0.685291, -0.007084}, - {0.003534, -1.342957}, {-0.224481, -0.897010}, {1.435450, 1.058341}, - {0.901816, -1.078478}, {0.440206, 0.310660}, {-0.440452, 1.055084}, - {-0.481999, 0.510978}, {-0.425880, -0.638269}, {-0.887044, 0.737327}, - {0.766324, 0.831116}, {0.474519, 0.013742}, {0.719499, 0.072296}, - {0.128751, 0.551124}, {-0.346348, -0.115964}, {-0.027651, -0.597646}, - {0.459124, 0.203102}, {0.076236, 0.050293}, {-1.070625, 1.089285}, - {0.946162, 0.643590}, {0.493112, -0.908918}, {-0.530798, 0.636518}, - {-0.775397, 0.649794}, {0.666540, -0.670376}, {-0.051724, -1.176117}, - {0.734299, -0.049687}, {-0.366040, 0.690415}, {-0.363912, -0.763731}, - {0.809317, -0.192377}, {-0.584942, -0.575854}, {0.212895, 0.318501}, - {-0.229536, -0.564216}, {0.325465, -0.148910}, {-1.208239, 0.149334}, - {-0.854608, -0.061222}, {-1.275009, 1.356758}, {0.005121, 0.384686}, - {0.540351, -0.968782}, {0.522470, 0.505677}, {1.606856, 0.455340}, - {0.390568, 0.183534}, {-0.517696, 0.031122}, {0.301117, 2.578628}, - {-0.301510, -1.216527}, {-0.342228, -0.046947}, {-0.348194, 0.992603}, - {-0.067880, -0.448626}, {1.327164, 0.245718}, {-0.452255, -1.409662}, - {0.439151, 1.195320}, {-1.258445, 1.550755}, {-0.487881, 1.205291}, - {-0.539438, -0.040513}, {0.112800, 0.659260}, {0.163991, -0.512811}, - {-0.598902, 0.260073}, {-0.759021, 1.076704}, {-0.850034, -0.410968}, - {0.017091, -0.374513}, {-1.673326, 0.068799}, {0.965866, -0.779812}, - {-0.058769, -0.720178}, {-0.055818, -0.470524}, {-1.050913, 0.161955}, - {1.117855, 0.191514}, {1.104705, 0.175696}, {0.367485, -0.458936}, - {0.138570, 0.060696}, {-0.646029, 0.418187}, {0.562371, -0.098041}, - {0.132342, 0.156962}, {0.616000, 0.247797}, {-0.849396, -0.017041}, - {-1.265605, -0.174037}, {0.263149, 0.173862}, {-0.947393, -0.548476}, - {-0.781072, -1.083780}, {0.283519, -1.581446}, {-0.649758, 0.090980}, - {0.080903, -0.435490}, {-0.546066, -0.445276}, {0.883145, 0.033681}, - {-1.438228, -1.592795}, {-0.929637, 0.644398}, {-0.843645, 1.001079}, - {-0.103938, 0.314698}, {-0.882742, 0.603233}, {0.560060, 0.672982}, - {0.265318, -0.520901}, {0.037542, -0.468269}, {-0.614846, -0.896426}, - {-0.811132, -0.075196}, {-0.701491, -0.278436}, {-0.169226, 0.555609}, - {0.152666, 0.988791}, {0.155918, -1.638999}, {-0.029867, -0.008556}, - {0.789905, -0.447722}, {0.369189, 0.638383}, {0.224741, -0.857948}, - {1.360289, -0.368943}, {1.012567, -1.472297}, {0.750105, -0.167508}, - {0.543334, -0.115844}, {0.551806, -1.337525}, {1.881674, 0.384950}, - {-0.334593, -0.392176}, {0.568056, 0.658811}, {0.826330, -0.070998}, - {-0.837258, -0.838016}, {-0.559858, -1.022418}, {0.141410, -0.739586}, - {-0.910228, -1.581966}, {-0.196767, -0.383060}, {-1.084272, -0.459566}, - {-0.639058, 0.491458}, {0.003765, 0.880280}, {1.188473, -0.151647}, - {0.210026, -1.324828}, {-0.100415, 0.512765}, {0.513964, -0.254631}, - {-0.644200, 0.342062}, {0.783293, 0.003817}, {0.641491, 0.529011}, - {0.382460, -0.793553}, {-0.168696, 0.881504}, {-0.665068, -0.411740}, - {-0.422928, -0.392841}, {-0.293466, -0.490343}, {0.174657, 0.011203}, - {0.371092, 0.692387}, {0.221498, 0.094331}, {1.040101, -0.724797}, - {-0.594782, -0.235973}, {0.067611, -1.262378}, {0.159732, -0.070026}, - {0.643780, -0.804505}, {0.537444, 0.286446}, {0.032259, -0.725526}, - {-0.348096, 1.322484}, {-0.412691, -0.682603}, {0.064050, -0.147144}, - {-1.125518, -0.730751}, {0.100103, -0.336546}, {0.011121, -1.408579}, - {-0.435174, 0.184880}, {0.216681, 0.145450}, {0.160929, -0.027522}, - {-0.094411, 0.775505}, {0.917143, -0.930427}, {0.346981, 0.563719}, - {-1.570088, -0.176042}, {-0.151329, -1.215049}, {-0.517596, -0.556149}, - {1.388624, 0.121150}, {-1.346197, -0.331584}, {-1.014897, -0.904715}, - {-0.370488, 0.625232}, {0.234481, -0.599066}, {-0.838492, 0.445635}, - {0.570000, 0.510314}, {-0.117676, 0.285231}, {1.428193, 0.287780}, - {0.846940, 0.133845}, {1.197855, 0.607831}, {-0.882803, -1.383388}, - {0.034651, -0.574273}, {0.081993, -1.106833}, {-0.415176, -0.051580}, - {-0.142726, 0.131354}, {0.705295, 0.285068}, {0.616462, 0.274167}, - {0.542851, -0.557143}, {-0.453895, 1.480666}, {0.389829, 0.139984}, - {0.729928, 0.418423}, {0.199777, 0.543327}, {-0.777423, -0.121813}, - {0.544161, 1.047456}, {0.144618, 0.189402}, {-0.330806, -0.839508}, - {-0.386112, 0.095356}, {0.334664, -0.570556}, {0.688800, 0.258836}, - {-0.375194, 0.976342}, {-0.979181, 0.389248}, {0.352754, 0.182541}, - {-0.557678, 0.183718}, {0.059676, -0.515850}, {0.889687, 0.384437}, - {0.326761, -0.569045}, {-0.356064, 0.960982}, {-0.015646, 0.537468}, - {0.070428, -0.848307}, {-0.986289, 0.860168}, {-0.141119, 0.141116}, - {0.387450, 1.352744}, {0.898063, 0.207277}, {0.307952, 0.280249}, - {-1.091253, -0.645560}, {1.079365, 0.448420}, {0.318470, -0.047758}, - {-0.664574, 0.564786}, {-0.568208, 0.492372}, {0.143767, 0.051228}, - {-0.416511, 0.722973}, {-0.892012, -0.308575}, {0.361998, -0.008642}, - {-0.497223, -0.648014}, {0.249791, -0.081327}, {0.207192, 0.128874}, - {-1.025766, -0.510293}, {0.098964, 0.621213}, {-0.490461, 0.631713}, - {-0.448633, 1.805053}, {-0.321075, -0.425673}, {0.109959, 0.748809}, - {-0.636473, 0.818729}, {-0.323787, -0.565485}, {-0.031436, 0.886588}, - {-1.100856, -0.295367}, {0.013026, 1.275442}, {1.243183, -0.863036}, - {-0.016862, -1.104960}, {-0.503751, 0.059092}, {-0.428264, -1.092108}, - {0.240446, 0.733125}, {-0.924166, -0.286675}, {0.081255, 0.268827}, - {0.578614, 0.267076}, {0.855698, 0.686772}, {0.694556, 0.169285}, - {0.065727, -1.138257}, {-1.326172, -0.634456}, {-0.290709, 0.244074}, - {0.184962, -0.684550}, {-0.484932, -0.874069}, {0.683665, -1.045173}, - {-0.583586, 0.853352}, {-0.817727, -1.045137}, {-0.661010, -1.251055}, - {-0.369424, 0.527159}, {-1.301217, 0.246717}, {0.143446, 0.006156}, - {-0.073755, 0.534466}, {-1.136401, -0.589760}, {-0.607309, -0.316112}, - {0.335294, -0.448585}, {-0.574601, 0.205810}, {-0.239630, 0.283724}, - {-0.697449, -0.307286}, {0.071816, 0.155103}, {1.367617, -1.141154}, - {-0.396951, -0.248389}, {-1.092599, -0.617174}, {-1.294691, -0.226609}, - {-0.380847, -0.089574}, {-0.743203, 0.637321}, {0.235272, -0.819851}, - {-1.195970, 0.512104}, {-1.679973, -0.738527}, {0.575380, -0.899765}, - {-1.649001, -0.199959}, {0.213428, 1.358885}, {0.943931, -0.471162}, - {0.432717, 0.866101}, {0.145445, 0.133728}, {-0.555018, 0.149227}, - {-0.914787, 0.598720}, {-0.653930, -0.654901}, {-1.346925, 0.329945}, - {-0.171424, -0.565344}, {-0.301527, 0.240508}, {1.273836, -0.145758}, - {-0.675821, -1.095405}, {-0.413545, -0.143713}, {-0.106844, 0.824615}, - {0.131452, -1.038036}, {-0.326685, 1.463916}, {-0.584519, -0.458745}, - {-0.543369, -1.094143}, {0.143483, -0.846585}, {0.272163, 0.167407}, - {0.401943, -0.563082}, {1.212306, 0.087879}, {0.504145, -0.648031}, - {-0.462351, -0.159423}, {-0.319523, 0.179709}, {1.357242, 0.045627}, - {1.074160, 0.840235}, {0.790452, 0.720079}, {-0.705431, 0.410349}, - {0.416680, -0.002549}, {-0.884954, -0.146867}, {-0.808279, -0.171336}, - {-1.018281, 0.721639}, {0.822228, 1.039615}, {1.037790, 0.060549}, - {-0.074556, -0.200271}, {-0.880853, -0.366553}, {-0.343761, 0.333341}, - {-0.313231, -0.586011}, {0.283823, 0.573617}, {1.143016, 0.089887}, - {0.410687, 1.083689}, {0.277861, -0.083366}, {0.021606, -0.194773}, - {-0.750214, 1.458612}, {0.917402, -0.016748}, {-0.339684, -0.337568}, - {1.005284, -0.645882}, {-0.519209, 0.899330}, {0.826162, -0.741211}, - {1.300132, -1.109551}, {-0.374995, -0.317730}, {0.785101, 0.228184}, - {0.415868, 0.737788}, {0.527210, -0.188643}, {0.376705, 0.413658}, - {0.989599, 0.805633}, {-0.137061, -0.915614}, {-1.702346, -0.057933}, - {-1.956591, 0.046432}, {-0.416960, 0.338240}, {-0.658461, -1.216968}, - {0.365795, 0.659371}, {0.252050, -0.558653}, {-0.454467, 0.004934}, - {0.504714, 0.229244}, {-0.278911, -0.228103}, {-0.127623, -0.114296}, - {-0.014266, -0.342689}, {-0.604625, 0.121864}, {-0.387685, -0.068082}, - {-0.091712, 0.800537}, {0.485931, -0.161304}, {-0.016110, 0.493620}, - {-0.653134, -0.353877}, {-1.046778, 0.196967}, {-0.263242, -0.289129}, - {0.336474, -0.180203}, {0.298396, -0.644825}, {-0.427587, 0.572250}, - {-0.208223, 0.053185}, {0.533386, -1.227956}, {-0.725350, 0.128195}, - {0.672904, 0.530250}, {-0.061316, -0.194678}, {-0.709433, -0.046001}, - {-0.588879, 0.353459}, {0.123260, 0.618527}, {-0.549665, 0.060101}, - {0.890191, -0.845135}, {-0.454263, -1.313850}, {0.783957, -0.491876}, - {1.361276, 0.023611}, {-0.458428, 0.042147}, {-0.143219, -0.073745}, - {0.074903, -0.017429}, {-0.067903, -0.816547}, {-0.380387, -0.772921}, - {-0.240030, 1.420491}, {-0.003621, 0.010600}, {-0.444036, 0.409901}, - {0.277409, 0.726745}, {0.119726, 1.707099}, {-0.621712, -0.457125}, - {-0.214421, 1.545744}, {0.278621, -0.735467}, {-0.099482, 0.119682}, - {0.952647, -1.013460}, {-0.290825, -0.041022}, {0.368084, -0.002760}, - {-0.689006, -0.068005}, {0.015785, 0.505867}, {1.306051, 0.203435}, - {-0.263603, -0.214893}, {0.292584, -0.248845}, {-0.344389, -1.191472}, - {0.096606, -0.045469}, {0.147219, 0.465939}, {-0.579923, -1.133735}, - {-0.918253, -0.931145}, {0.557217, 0.127417}, {0.614199, 0.613104}, - {0.412233, 0.943510}, {-0.471662, -0.514960}, {-0.817375, -0.836164}, - {-0.264718, -0.546935}, {0.508435, 0.771316}, {0.031847, -1.856060}, - {-0.443846, -0.260004}, {-0.716667, -1.374211}, {0.501604, 0.548927}, - {0.314912, 1.032581}, {-0.781109, 0.916868}, {-0.869837, -1.039860}, - {0.630546, 0.674600}, {0.272632, 0.214175}, {0.531070, 0.330978}, - {0.675056, -0.653400}, {0.573720, 0.836919}, {-0.611225, 0.014075}, - {-0.257263, -0.391545}, {-0.759020, -0.312859}, {0.264351, 0.791373}, - {-0.438730, -0.456151}, {-0.103243, -0.632429}, {0.482892, 0.141475}, - {-1.072978, 0.148871}, {-0.939209, -0.558985}, {0.464793, -0.984782}, - {0.344131, 0.564869}, {1.005227, -0.360487}, {-0.225080, 0.071180}, - {0.208733, -0.458590}, {0.680123, -1.202615}, {-0.308920, 0.517768}, - {0.980274, 0.589646}, {0.902236, -0.040233}, {-1.138100, 0.039754}, - {0.169840, 0.120056}, {-0.733937, 0.211810}, {0.623660, -0.836100}, - {-0.173754, 0.076214}, {-0.541470, 0.864952}, {-0.080678, -0.163713}, - {-0.044093, 0.109390}, {-0.028695, -0.639742}, {0.643003, 0.482195}, - {-0.364304, -0.293403}, {-0.231682, -0.410161}, {-0.467438, -0.345931}, - {-0.390529, 0.236207}, {-0.175126, 0.380258}, {0.978393, 0.640634}, - {0.257795, -0.903357}, {0.641261, 0.315085}, {-0.098354, 0.511919}, - {-0.717823, -0.919712}, {0.709709, -0.590981}, {0.997767, 0.207366}, - {0.588275, -0.122289}, {-0.222499, 0.042538}, {0.394217, 0.054417}, - {0.214881, 0.114854}, {0.596482, 0.581786}, {0.477025, -0.157396}, - {-0.633506, -1.318668}, {-0.037122, 0.440028}, {0.968742, -0.275315}, - {-0.513770, 0.381195}, {1.098776, 0.728930}, {0.150417, -0.421163}, - {-0.902237, 1.142415}, {-0.729498, 0.499136}, {0.418742, 0.861949}, - {0.267916, -0.737845}, {0.024422, 0.770033}, {0.566193, 0.531592}, - {0.166300, -0.113780}, {-0.275348, -0.044917}, {0.629763, -0.044562}, - {0.108581, -0.580329}, {0.247883, -0.494344}, {-1.462176, 0.531806}, - {0.324773, -1.258865}, {-0.406431, 0.059552}, {0.113265, 0.337107}, - {-0.506166, 1.040579}, {-0.703153, 0.839870}, {-0.260571, -1.535683}, - {-0.454874, -0.041822}, {-0.199992, -0.302883}, {-0.743083, -0.906848}, - {-0.675013, -0.597745}, {-0.338081, -1.521178}, {0.931345, -1.090509}, - {0.651153, -1.330153}, {-1.079088, 0.315838}, {0.246740, 0.044863}, - {0.202616, 1.446147}, {-0.433066, 0.284324}, {-0.609858, 0.344346}, - {1.142330, -0.944550}, {-0.350428, -0.881955}, {-0.451507, -1.605877}, - {-0.400012, -0.239471}, {-0.136838, -0.775874}, {0.282265, -0.413392}, - {-0.988833, 1.529659}, {0.719835, 0.005099}, {0.052020, -0.477086}, - {-1.283307, 0.058599}, {0.165701, 0.649111}, {1.021960, -1.416111}, - {0.940476, 0.062629}, {-0.751199, 0.038566}, {0.243450, -0.762697}, - {-0.649152, 0.044560}, {0.908395, 0.209002}, {0.325158, 0.216998}, - {0.396454, 0.138658}, {-0.763522, -0.025907}, {-0.762589, -0.137472}, - {-0.327529, -1.036809}, {-0.632504, 0.676907}, {0.183574, 0.389227}, - {-0.859700, -0.703806}, {-1.154826, -0.991693}, {0.449444, 0.396030}, - {0.441770, 0.491508}, {-1.205186, 0.299378}, {1.050428, -0.456205}, - {0.096725, 0.154959}, {0.584349, -0.864514}, {-1.679030, 1.143489}, - {0.008505, 0.228789}, {-0.661763, 0.775812}, {0.142798, -0.623065}, - {-0.241421, -0.526502}, {1.106520, 0.156370}, {0.365753, -0.256303}, - {-0.977046, 1.118332}, {0.884009, 0.203437}, {-0.353712, 0.852741}, - {1.135822, -0.309740}, {-0.439555, -0.067368}, {0.554689, -0.288402}, - {1.734416, 1.344531}, {-1.349819, 0.759427}, {0.102799, -0.495112}, - {0.063102, 0.722775}, {-1.222947, -0.080150}, {-0.340332, 1.061612}, - {-0.228259, -1.903851}, {-0.090773, 0.687378}, {0.203348, 0.507128}, - {-0.577364, -0.212706}, {-0.857515, -0.853969}, {-0.562304, 0.383151}, - {-0.918214, -1.478510}, {1.026666, 0.071216}, {-0.012886, -0.308529}, - {0.022988, -0.145717}, {0.234582, 1.146633}, {1.975283, -0.173765}, - {-1.487083, 0.919537}, {-1.203767, 1.128685}, {-1.355804, -0.425852}, - {-0.102354, -1.008553}, {-0.436827, 0.374401}, {-1.741085, 0.223597}, - {-0.898223, 0.399684}, {0.002133, -0.652951}, {0.333743, 0.185220}, - {-0.163247, 1.355073}, {-0.198911, -0.789921}, {0.240101, 0.133008}, - {-0.149245, -0.404471}, {1.281203, -0.360689}, {-0.172603, -0.635725}, - {0.286292, -0.148272}, {-0.989616, 0.037128}, {-0.811488, 1.305276}, - {0.736930, -1.009141}, {1.069361, -0.737178}, {0.752787, -0.592366}, - {-0.668359, 0.755571}, {0.005078, -0.395512}, {0.006600, 0.636287}, - {-0.619231, -0.611731}, {0.333470, -0.919963}, {-0.492449, -1.419036}, - {-0.622632, 0.194757}, {0.676292, 1.819990}, {-0.328240, 0.542470}, - {0.345128, -0.019528}, {-0.616645, 0.691087}, {-0.507449, -0.432094}, - {-0.204852, -0.217874}, {0.834005, -0.099980}, {1.199202, -0.293367}, - {0.449203, -0.521362}, {0.226780, -0.171567}, {0.523436, 0.775392}, - {-0.711218, -0.421231}, {0.151391, -1.096606}, {-0.249307, 0.995733}, - {0.245582, -0.339674}, {0.412624, -0.060258}, {-0.300827, 0.023954}, - {-0.265459, 0.720401}, {-0.496526, -2.099281}, {-0.605097, -0.001741}, - {-1.378320, -0.341276}, {-0.994346, 0.085029}, {1.632400, 0.360458}, - {-0.491899, -0.396243}, {-0.010321, -1.021544}, {-1.316304, 0.895828}, - {-0.198830, -0.208983}, {0.916044, 0.314340}, {0.562103, -0.885413}, - {0.878424, -0.092960}, {-1.045844, -0.687749}, {-1.295066, -0.226382}, - {-0.359215, 0.110638}, {0.540396, -0.456394}, {1.030585, 0.127512}, - {-0.085532, 0.952881}, {0.106917, 0.478915}, {-0.664272, -0.344642}, - {0.788052, 1.409984}, {-0.673592, 1.430835}, {-0.718720, -0.290875}, - {-0.721900, 0.085461}, {0.476120, -0.538352}, {0.554070, 0.581590}, - {-0.576287, -0.853427}, {-0.431295, -0.014809}, {-2.353094, 1.312785}, - {1.022447, 1.017332}, {0.418273, 2.001674}, {-0.898325, 0.139499}, - {0.235885, 0.080549}, {0.183877, 0.730680}, {1.009956, 0.519400}, - {-0.689154, 0.060848}, {-0.683728, -0.649710}, {0.079095, 0.516578}, - {-1.386436, -0.530334}, {0.302774, -0.053089}, {-0.248980, 0.192447}, - {-0.680767, 0.423570}, {-0.043439, 0.510224}, {-1.016935, 0.183362}, - {0.076796, -1.333739}, {-0.313256, -1.452270}, {-0.850463, 0.112410}, - {0.244360, -0.084178}, {0.067792, -0.882987}, {-0.569372, -0.399011}, - {-0.189225, 0.729525}, {-0.588975, -0.077969}, {1.010968, -0.489609}, - {-0.395063, 0.239897}, {0.025387, 0.354833}, {0.725579, 0.805842}, - {-1.146500, -0.264508}, {-0.222810, -1.814964}, {0.507912, -1.443934}, - {0.296149, 0.880303}, {-0.439268, 1.606203}, {0.334727, 0.325640}, - {-0.869431, -0.847762}, {-0.407707, 0.153088}, {0.348556, 0.542411}, - {-0.082133, 0.838110}, {-0.377740, 0.348750}, {-0.523685, 0.000306}, - {0.451224, 1.080533}, {0.864641, 0.961894}, {-0.464419, -0.075393}, - {0.247437, -0.100790}, {0.677059, -0.034906}, {0.977166, 0.730818}, - {0.276546, -0.403567}, {-0.380227, -0.745522}, {-0.300027, 0.125790}, - {0.454573, 0.006509}, {-0.771309, 0.081517}, {-0.311846, -0.412134}, - {-0.014595, 0.090009}, {0.707382, -0.074778}, {-1.353019, -0.753631}, - {-0.100071, 0.822131}, {0.954790, -0.432571}, {-0.078897, -0.647015}, - {0.386041, -0.035061}, {0.448108, 0.197019}, {-0.270952, 0.887823}, - {0.648405, -1.073664}, {0.044912, -0.754380}, {-0.455401, -1.209139}, - {-1.242109, 0.132042}, {0.391696, -0.419274}, {-0.160193, -1.086374}, - {0.193327, 0.720599}, {1.178831, -0.759304}, {-0.564605, 1.076430}, - {-0.643302, -0.416708}, {-0.962134, -0.990827}, {0.368858, -0.144279}, - {0.036509, -0.440959}, {0.179113, 0.270476}, {0.049637, -0.799549}, - {0.618109, -0.582336}, {-1.394815, 0.395536}, {0.810724, -0.184896}, - {-0.176056, -0.058013}, {-0.488312, -0.368066}, {-0.080337, -0.440737}, - {0.116364, 0.953468}, {-0.307639, -0.302137}, {0.341945, 0.164106}, - {-0.466698, -1.158425}, {0.052765, -0.344994}, {-0.107626, -0.229995}, - {0.080011, 0.653158}, {-0.438442, 0.465432}, {1.422075, -0.608592}, - {0.108080, -1.057456}, {-0.484339, -0.907178}, {-0.746907, -1.978396}, - {-0.177762, 0.203051}, {0.386845, -1.106388}, {0.611978, -1.018232}, - {0.520887, -0.361754}, {-0.360101, -0.064618}, {0.794305, 0.526908}, - {0.619432, -0.126033}, {-0.340265, -1.373028}, {0.847319, 1.149398}, - {-0.270491, -0.369213}, {-1.409881, 0.523044}, {-0.402942, 0.347133}, - {0.100939, -0.350152}, {-0.107951, -0.680471}, {0.436856, -0.753223}, - {-0.874005, 0.762825}, {1.008767, -0.929545}, {0.927536, -0.502055}, - {1.498450, -0.602521}, {0.762959, -0.278194}, {-1.522717, -0.649417}, - {0.994833, -0.186581}, {0.216919, 0.567066}, {0.850492, -0.682931}, - {-0.777097, -0.903028}, {-0.850634, -0.188701}, {0.044620, 1.541080}, - {-0.307342, -0.202304}, {-1.090498, -0.818833}, {-0.004279, 0.647200}, - {-0.290596, 0.500608}, {-0.009800, -0.272120}, {-1.731344, -0.849070}, - {-0.389416, -0.540169}, {1.177543, 0.747062}, {-0.858150, -0.456143}, - {0.973307, 1.377374}, {1.032589, 0.695827}, {0.015056, 0.450971}, - {-0.934915, -0.677001}, {0.342935, 0.069114}, {0.145474, -0.791543}, - {1.997462, -0.362196}, {-0.993218, -0.020078}, {1.123258, -0.113204}, - {0.125841, 1.008802}, {0.727876, 1.066038}, {-0.224529, 0.890501}, - {0.213441, 1.187995}, {0.239012, -0.848701}, {-0.519815, -0.475935}, - {0.113620, -0.506924}, {0.203290, -0.296634}, {-0.290231, -0.514121}, - {0.218741, 1.021963}, {-1.315299, 0.334324}, {-0.936988, 0.419998}, - {0.886813, 0.145840}, {-0.188194, -1.261272}, {0.949296, 0.646163}, - {-0.826651, -0.432253}, {0.061005, 0.573649}, {0.922200, -1.334003}, - {-0.006091, 0.134091}, {1.024516, 0.063476}, {-0.089739, -0.290697}, - {0.339610, 0.989953}, {0.555781, -1.426528}, {-0.025669, -0.189457}, - {-0.710042, 0.953935}, {-1.262187, 0.132588}, {0.658343, -0.530960}, - {0.676713, -0.669361}, {0.834718, -2.007914}, {0.833518, 0.359230}, - {0.649170, -0.687822}, {-0.001830, -0.386894}, {0.994915, -0.229340}, - {0.092444, 0.399221}, {0.536323, -0.782432}, {0.262010, 1.204889}, - {-0.208387, 0.425622}, {-1.100914, 1.683131}, {-1.658393, -0.775979}, - {-0.078725, -0.220114}, {-0.303566, 0.923927}, {-0.225885, 0.033406}, - {-0.837593, 0.349616}, {-0.560227, 0.714755}, {0.551992, -0.393791}, - {0.541405, -0.530435}, {-1.165526, 0.078792}, {-1.026038, 0.387096}, - {-0.517090, -0.484350}, {0.136127, 0.124638}, {0.698761, 0.346848}, - {-0.783071, 0.074379}, {0.158195, 1.117125}, {0.712435, -0.286792}, - {-0.362540, -1.001977}, {-0.261314, 1.161940}, {1.007828, 0.544864}, - {0.141605, 0.538099}, {-0.536036, -0.744530}, {-0.056455, 1.157725}, - {0.270982, -0.362836}, {1.263497, 0.040674}, {0.146764, -0.753269}, - {0.364839, 0.210494}, {0.142940, 0.490340}, {0.272361, 0.068047}, - {-1.040589, 1.260799}, {1.008508, 0.670697}, {-1.014574, 2.123840}, - {-0.791800, -1.531609}, {-1.780964, 0.224965}, {1.573411, 0.802257}, - {-0.041381, 0.109724}, {-1.138676, 0.501035}, {-0.552511, 0.754384}, - {0.074825, -0.740712}, {0.310992, -0.947818}, {-0.161513, 1.611466}, - {0.351436, -0.213846}, {-0.232344, 0.926067}, {-0.712473, 0.154074}, - {0.531308, 0.239847}, {0.530134, 0.456501}, {-0.297722, -0.791948}, - {-0.072871, -1.399393}, {0.183656, 0.497474}, {-0.279718, -0.393118}, - {0.648989, -0.820860}, {0.372595, -1.044493}, {1.032547, 0.849237}, - {1.174671, -0.618382}, {-1.652857, -1.472496}, {0.158852, 0.191819}, - {0.298620, 0.279073}, {-0.234746, -0.135384}, {-0.875820, 0.319486}, - {-0.426039, 0.843713}, {-0.496797, -0.192881}, {-0.578836, 0.257663}, - {-0.238402, 0.900325}, {-0.204088, -1.191861}, {0.736090, 1.052130}, - {-0.052316, -0.025508}, {-0.213198, -0.936710}, {-0.491398, 0.410943}, - {0.177843, 0.351607}, {0.413028, -0.384109}, {-0.296570, 0.034297}, - {-0.222102, 0.514522}, {0.347397, -0.839739}, {0.755191, 0.119118}, - {-1.317696, 1.106367}, {0.012111, 0.796336}, {0.227983, 0.378704}, - {-0.182946, 0.270691}, {-0.133785, 0.099382}, {-0.266511, 0.038997}, - {-0.821681, 0.553035}, {0.389307, -1.106532}, {0.135254, -0.883464}, - {1.870178, -0.286558}, {-0.437784, -0.288228}, {0.390194, 0.094215}, - {0.606508, -1.296029}, {-0.093019, -0.614305}, {1.233362, 1.207790}, - {0.161323, -0.765341}, {-0.350088, 1.001790}, {-0.502004, -0.037202}, - {-0.067642, -0.030906}, {-0.579459, -0.835251}, {-0.327448, -1.330617}, - {-0.822818, -0.500291}, {1.616254, -0.161664}, {0.523254, 0.304197}, - {0.874754, 0.727626}, {-0.625833, 0.211643}, {-0.295817, -0.417120}, - {-0.533891, 0.548556}, {-0.558758, 0.571516}, {0.822203, 0.414686}, - {1.369430, 0.325986}, {1.064004, 0.174272}, {-0.985833, 0.875381}, - {-0.345980, 0.354199}, {0.100855, 1.346421}, {1.413487, -0.299202}, - {-0.121055, -1.168458}, {0.501534, -0.001734}, {-0.099610, 0.124655}, - {-0.014849, -0.560165}, {1.152084, 0.973772}, {-0.517379, -0.823509}, - {0.020539, -0.675177}, {-0.039182, 0.878191}, {0.067950, 0.560550}, - {-1.394269, 0.829335}, {-0.441627, -0.010153}, {0.385140, 0.222085}, - {0.653992, -0.840685}, {0.554082, -0.687828}, {0.754380, -0.171576}, - {0.690489, -0.152949}, {0.000351, -0.549264}, {0.634582, -0.004171}, - {-0.818523, 1.190795}, {-0.877491, -0.566566}, {-1.770940, -0.640230}, - {-0.681648, 0.896819}, {0.714653, -1.455870}, {0.904495, -1.333302}, - {0.574457, -0.384864}, {-0.758292, -0.483590}, {0.187676, 0.405114}, - {0.994700, -0.071836}, {0.104159, 0.532615}, {-0.044879, -0.582247}, - {0.088417, 0.343948}, {-0.123630, -0.413369}, {-0.520220, 1.012739}, - {-0.210080, -0.180696}, {1.090599, -0.559357}, {0.684438, 0.378806}, - {-0.026784, 0.937192}, {1.281961, 0.075214}, {0.730268, -0.520097}, - {0.937449, -1.019487}, {-0.061509, -0.176202}, {-0.421825, 0.313385}, - {-0.367561, 0.463862}, {-0.121494, -0.479397}, {0.550684, -0.312000}, - {-0.047790, -0.598700}, {-0.759626, -0.857538}, {0.464120, -0.230825}, - {0.787116, -0.630031}, {-0.508880, 0.581898}, {-0.454863, 0.576846}, - {-0.207468, 1.946940}, {-0.913960, -0.235153}, {1.143211, 0.111025}, - {-0.137003, 0.162749}, {-1.146435, 1.853002}, {-0.318815, -0.421180}, - {-0.260398, -0.035725}, {0.175171, -0.048527}, {-0.261859, 0.350284}, - {0.162278, -0.033220}, {-0.592133, -0.719742}, {1.618602, 0.334038}, - {-0.096548, -0.880363}, {-0.348537, 0.448118}, {-0.662260, 0.179356}, - {1.039235, 0.256463}, {-0.996895, 0.746454}, {-0.834224, -0.090841}, - {-0.647685, -0.812629}, {-1.308253, 0.412350}, {-0.125295, -0.126640}, - {0.576406, -0.583028}, {-0.374377, -0.094747}, {0.533871, -0.080927}, - {0.515122, -1.155921}, {-0.507165, 0.282523}, {-0.699975, 1.619406}, - {0.182354, -0.753123}, {0.710919, -0.243223}, {1.477830, -0.025138}, - {1.782881, 0.259661}, {-0.521191, 0.411698}, {-0.166741, 0.852319}, - {0.207224, -0.159255}, {-0.487196, 1.583805}, {0.420298, -0.587703}, - {-0.287136, 0.347728}, {-0.058681, -1.279535}, {-0.213399, -0.886647}, - {-1.030968, 0.343184}, {0.028405, -0.952633}, {0.464603, 0.442204}, - {0.931560, 0.453043}, {0.284575, 0.967136}, {0.138022, 0.059599}, - {-0.451299, -1.015639}, {1.003979, 1.068919}, {-0.655263, -0.663366}, - {-0.019621, -0.138225}, {0.156525, -0.341867}, {0.381232, 0.059268}, - {-0.023279, -0.077880}, {-0.156909, 0.250573}, {-0.169278, -0.914286}, - {0.305569, -0.291525}, {0.731565, 0.454905}, {1.160261, 0.085413}, - {-0.402037, -0.336640}, {-0.086852, 1.607379}, {1.032812, 0.761434}, - {-1.011438, 0.206404}, {-0.152752, 0.593129}, {0.239131, -0.087052}, - {0.808812, -0.541022}, {-0.140430, -1.364158}, {0.194295, 0.880644}, - {0.118366, 0.064148}, {-0.536040, 0.778541}, {-0.720747, 0.002512}, - {0.088296, -1.191485}, {0.644848, -0.444607}, {0.485903, 0.409511}, - {1.460176, -0.876221}, {-0.339190, -0.439055}, {0.447675, 0.418898}, - {-1.175829, -0.902773}, {0.534399, 0.539156}, {-0.365101, -0.459903}, - {-0.889603, -0.728754}, {-0.720091, 0.356776}, {0.152954, 0.223066}, - {1.507327, 0.739365}, {0.310249, -0.006371}, {-0.112344, -0.419108}, - {0.843904, -0.314723}, {0.087930, 0.313616}, {0.844712, 0.196815}, - {0.375568, 0.356237}, {0.204981, -0.400083}, {0.361654, -0.270180}, - {-0.424588, -0.363919}, {-0.302380, 0.390982}, {0.538019, -0.362291}, - {-0.287025, 0.105711}, {-0.592141, -0.264936}, {-0.265425, 0.583077}, - {-0.152032, 0.522918}, {-0.189186, -0.250399}, {-1.096465, 0.469056}, - {-0.888549, -1.140952}, {-0.501972, -0.339613}, {-0.203446, 0.426474}, - {-0.039456, -0.535356}, {0.070475, 0.484328}, {0.924276, -0.396241}, - {-0.106967, 0.012352}, {-0.367264, 0.819153}, {0.456802, 0.237844}, - {0.563188, -1.024814}, {0.009682, -0.064482}, {-0.764852, 0.219713}, - {-0.414932, -0.531342}, {-0.088775, -0.892699}, {-0.473699, 0.186136}, - {-0.776648, -0.582610}, {0.175734, -1.058049}, {1.285690, -0.391957}, - {-0.091057, -1.011907}, {-0.162767, 0.561617}, {0.031953, -0.540131}, - {0.534081, 0.664403}, {-0.360770, 0.122694}, {-0.178962, 0.466559}, - {-0.004184, -0.337578}, {-0.757067, 0.029093}, {-1.101300, 0.209913}, - {0.465322, -0.086027}, {-0.168690, 1.115947}, {0.263414, -0.000775}, - {0.159567, 0.853760}, {0.094110, -0.060344}, {-0.421000, -1.195796}, - {0.441781, 0.242496}, {-0.021002, -0.381271}, {-0.481126, -0.563097}, - {-0.798248, -0.508280}, {-0.268196, 0.934724}, {1.292721, -0.335166}, - {0.226534, 0.445048}, {1.184933, 0.558462}, {0.375495, -1.145480}, - {0.748214, -0.745104}, {0.688162, 1.047310}, {0.637883, 0.949140}, - {-0.578133, -0.371881}, {-0.506057, 0.137040}, {-0.392437, -1.031430}, - {-1.250713, -1.946813}, {-0.206704, 1.462894}, {0.398430, -0.219612}, - {0.730672, -0.702692}, {-0.698928, -0.450961}, {0.584867, -0.708127}, - {0.590944, -0.109226}, {-0.542510, 0.253958}, {-0.268875, 1.111628}, - {0.649546, -0.696286}, {-1.149829, -0.309965}, {-0.154368, -1.500089}, - {0.822416, 0.353288}, {0.501110, -0.318761}, {-0.212429, -0.008096}, - {-0.006164, -0.123611}, {0.288868, 0.048345}, {-0.574713, -0.524916}, - {0.018293, -1.030497}, {-0.005055, -0.072736}, {0.723568, -0.635163}, - {0.237863, -0.875191}, {-1.247980, -0.863139}, {-0.302079, -0.212290}, - {-0.421802, -0.759025}, {-0.589974, -0.507471}, {-0.334862, 0.003375}, - {0.401797, 0.706722}, {-0.461749, 0.283630}, {-0.841187, -0.665548}, - {-0.626371, 0.618334}, {-0.020821, 0.503040}, {0.116914, -0.093341}, - {-0.151675, -0.528033}, {-0.193343, -1.099319}, {0.274029, 0.445690}, - {-0.021446, -1.220103}, {0.513206, -0.740022}, {1.777028, 0.407704}, - {0.786759, 0.109353}, {-1.004914, 0.876901}, {0.464743, 1.170006}, - {-0.002439, 0.125068}, {0.962875, -0.407956}, {0.530559, -0.756573}, - {-0.389738, 0.110620}, {-0.556624, 0.014509}, {-0.132983, 0.247574}, - {0.587943, -0.342146}, {1.296368, 0.197680}, {-0.733120, -0.623643}, - {-0.011093, 0.978888}, {0.039641, -0.978184}, {-0.443314, -0.153156}, - {0.588043, 0.490341}, {0.218709, 0.363791}, {-0.914626, 0.826702}, - {1.411108, -0.816719}, {-0.490262, -0.144227}, {-1.206037, 1.156620}, - {-0.662082, 0.479091}, {0.615883, -0.149877}, {1.177829, -0.036366}, - {0.394260, -1.578483}, {0.383648, 0.485998}, {-0.028002, 0.334074}, - {0.722762, 0.190366}, {0.475814, 0.082245}, {0.439991, -0.022567}, - {0.014753, 0.128088}, {-1.144640, -0.335474}, {0.470690, 0.257257}, - {-0.751319, -1.107300}, {0.531539, 0.456327}, {0.464679, 0.083408}, - {0.077604, -2.053833}, {-0.031526, -0.401000}, {-0.741780, -0.921745}, - {-0.504616, -1.015580}, {0.999344, -0.252633}, {0.199592, -0.614304}, - {-1.630268, -0.100880}, {-0.754618, -0.275004}, {-1.115735, -0.519031}, - {-0.156714, -0.646913}, {-0.315061, 0.123277}, {-0.414084, -0.655534}, - {0.469319, -0.330941}, {0.647004, -0.163404}, {-0.255922, 1.618105}, - {-1.376396, -0.535470}, {1.334960, -0.249415}, {-0.920735, -0.189727}, - {2.380895, -0.939174}, {-0.661720, 0.252740}, {1.948294, -0.096848}, - {-1.518951, -0.774151}, {0.370676, -0.131442}, {0.135880, 0.077151}, - {-0.793921, 0.407360}, {0.434706, 0.909590}, {-0.892096, 0.523341}, - {-0.077199, 0.691331}, {-0.703000, 0.726934}, {-0.793375, -0.399673}, - {0.170385, -0.177280}, {0.497139, 0.034646}, {-0.972295, 1.093025}, - {-0.260981, -0.434597}, {0.295369, 0.422417}, {0.508523, 0.711213}, - {-0.589540, 0.610066}, {0.089695, 0.577849}, {-1.169455, 0.371278}, - {0.097553, -0.508773}, {-1.427358, -0.450822}, {0.764169, -0.321795}, - {0.281425, 1.167852}, {-0.513064, -0.109472}, {1.086924, 0.792903}, - {-0.003835, 0.815400}, {-0.876442, -0.231937}, {0.483821, -0.227180}, - {0.779304, 0.300537}, {-1.021341, -1.075650}, {-0.042599, 1.217835}, - {-0.124324, 1.154569}, {0.983924, 0.128325}, {-0.262283, -0.571139}, - {0.163939, 0.036503}, {0.502541, -0.457276}, {0.027506, 0.551723}, - {-0.759208, -0.190703}, {-0.532469, 1.757544}, {-0.097832, 1.793890}, - {-0.233310, 0.236538}, {-0.296963, -0.245692}, {0.331985, 0.497470}, - {1.077897, -0.029477}, {0.485004, -1.550032}, {0.829323, -1.208018}, - {-0.417397, -0.885481}, {-0.910960, 0.333680}, {0.505911, 0.222267}, - {-0.779049, -0.648859}, {0.024723, -0.506963}, {-1.044112, 0.858742}, - {0.349329, 0.199761}, {0.426148, 0.579699}, {1.397881, -0.625570}, - {-0.999539, 0.150193}, {-0.506555, -0.493017}, {0.815503, -1.014094}, - {-0.309845, 0.860823}, {0.636101, 0.034581}, {0.383700, 0.629026}, - {0.046350, -0.409060}, {0.382661, 0.192436}, {1.578886, 0.214420}, - {-0.287174, 0.113654}, {-0.567400, 0.209722}, {0.432908, -0.738713}, - {-0.114021, 1.023082}, {-0.087467, -0.003324}, {1.628689, 0.382128}, - {0.930859, -0.955031}, {0.365787, -0.587545}, {-0.566131, 0.401941}, - {1.205574, -0.693033}, {1.041772, -0.318306}, {0.520455, -0.180903}, - {1.313961, 0.417802}, {-0.785333, -0.826391}, {-0.003165, 0.987190}, - {0.202221, -1.499396}, {-0.156205, 0.234217}, {-0.034555, -0.710464}, - {0.578915, 0.025341}, {-0.967250, 0.482964}, {-0.125553, 0.645679}, - {0.121600, 0.282214}, {-0.467374, -0.523647}, {0.801851, 0.110140}, - {-0.202959, 0.245792}, {0.964451, -0.823875}, {-0.720574, -0.733981}, - {-1.552269, 0.726240}, {0.240196, 0.208363}, {-1.020113, 0.453542}, - {0.835032, 0.546624}, {-0.427770, 0.890482}, {0.244842, -0.570207}, - {0.187974, -0.525677}, {-0.033276, -0.603446}, {0.681630, 0.069452}, - {-0.076943, 1.444004}, {-0.466249, -1.483352}, {-0.333822, -0.553728}, - {-0.464640, 1.570671}, {0.247143, -0.404809}, {0.217763, -1.913662}, - {0.569612, 0.403222}, {-0.950478, 0.269484}, {1.296281, -0.340172}, - {0.248056, -0.421869}, {0.333895, 1.464495}, {-0.974868, 0.646046}, - {0.432670, -1.031978}, {1.128838, 0.295748}, {-0.460823, 0.493682}, - {-0.717489, 1.188427}, {1.258650, -0.377973}, {-0.828146, 0.064178}, - {0.641771, -0.060587}, {0.245022, 0.356199}, {0.154221, -0.400658}, - {0.570724, 0.989517}, {-0.412180, 0.972591}, {0.350613, 0.545597}, - {1.122365, -1.975271}, {0.160367, 0.137915}, {0.352691, -0.878584}, - {0.423026, 0.373635}, {-0.726179, 0.179411}, {-0.338326, -1.788241}, - {1.947859, 1.575207}, {-0.951344, 0.536022}, {0.247396, -0.497166}, - {0.724586, -0.403144}, {-0.061126, -0.153871}, {0.528230, -0.103315}, - {-0.022290, -0.672390}, {-0.000978, -0.182703}, {-0.241614, -0.359854}, - {0.220241, 0.428535}, {0.798476, -0.295902}, {-0.146218, 0.143398}, - {-0.619417, 0.438462}, {-0.308855, 0.331077}, {-1.361136, 1.024312}, - {-0.647613, 0.907512}, {0.233092, -1.078341}, {1.052241, -0.621467}, - {-0.198725, 1.172681}, {-0.081506, 0.023033}, {-0.547092, 0.137317}, - {0.637615, 1.859723}, {-0.623497, -0.596191}, {0.149195, -0.605881}, - {0.093756, 0.630550}, {0.213268, -0.787503}, {0.426453, -0.185747}, - {-1.548568, 0.881788}, {0.051195, 0.231489}, {0.209291, -0.593744}, - {0.628475, 0.857678}, {-1.089235, -0.641101}, {0.594605, -0.576514}, - {0.252215, -0.021007}, {1.067553, 0.471123}, {0.321541, -0.402181}, - {0.284533, -0.960188}, {0.541105, -0.082863}, {0.565337, 1.026278}, - {0.317525, -1.185003}, {0.530922, -0.175306}, {-0.946283, 1.216512}, - {-0.462192, 0.124213}, {-0.067219, 0.018689}, {-0.295595, 0.227283}, - {-1.116823, 0.278792}, {0.252187, -0.143898}, {-1.275510, 0.009213}, - {-0.097323, -1.128635}, {-0.292395, -0.146099}, {0.287647, 0.343419}, - {-0.297120, 1.037639}, {-1.152909, -1.062561}, {0.117167, 0.480675}, - {0.542487, 0.344975}, {-0.269590, 0.071787}, {0.351416, 1.336789}, - {-0.679649, 1.205267}, {0.158638, 0.405538}, {0.690315, -0.580242}, - {-0.528184, 0.321935}, {-0.275456, 0.434026}, {1.047915, -0.868060}, - {-0.268058, 0.433124}, {0.395739, 0.168345}, {-0.706243, 0.261628}, - {-1.686516, 0.100118}, {1.210646, 0.205449}, {-0.403912, 1.149188}, - {0.218345, -0.059565}, {0.666191, -1.686280}, {-1.080821, 0.264224}, - {0.133752, -0.095685}, {-0.765833, -0.042006}, {-0.851086, -0.571563}, - {-0.431850, -0.146573}, {-0.083487, 0.324847}, {-0.458226, 0.266507}, - {-1.653483, 0.274261}, {-0.892105, 0.192638}, {0.325240, 0.618814}, - {0.839860, -0.650172}, {0.586121, 0.493141}, {0.424046, -0.596069}, - {0.579320, -0.426532}, {-0.860414, -0.096015}, {1.231735, -0.063091}, - {0.667487, 0.509589}, {-0.244143, -0.241915}, {0.392425, -0.336987}, - {-0.577080, 0.077028}, {-0.243798, 0.518442}, {-0.186535, -0.514620}, - {-0.350824, 0.893193}, {-1.068767, -0.852674}, {0.256260, -0.692879}, - {0.700920, -0.234622}, {-1.148149, 0.242284}, {0.140398, -0.995881}, - {-1.137315, -0.101466}, {0.642480, 1.006613}, {-0.539053, -0.106642}, - {0.894393, -0.576259}, {0.055949, -0.805028}, {-0.346054, -0.817483}, - {-0.401898, 0.351013}, {0.959261, -0.648991}, {-0.653608, 1.002869}, - {0.844153, 0.220495}, {-0.631592, -0.347616}, {-0.725926, 1.047737}, - {0.236023, 0.283730}, {0.123264, 0.320307}, {1.048852, -0.451049}, - {-0.411348, -0.986237}, {-0.003611, -1.217079}, {-0.178690, 0.757153}, - {-0.913871, 0.555166}, {0.359649, -0.092164}, {-0.762808, -1.868481}, - {-0.459054, -0.002625}, {-0.409244, -0.658257}, {0.538408, -0.336349}, - {-0.748231, -0.660716}, {-0.250560, -0.025371}, {0.456996, -0.231112}, - {0.299549, -1.219953}, {1.172228, -0.394426}, {-0.378361, 0.665830}, - {0.415112, 0.418938}, {-0.548112, 0.102843}, {-0.133962, -0.903369}, - {-0.468702, 0.681193}, {1.222459, 1.556622}, {0.578721, 0.124503}, - {-0.465609, -1.236596}, {0.344855, 0.485644}, {-0.769591, 0.360454}, - {-0.285111, -0.421824}, {0.383924, -0.612774}, {-0.340934, -0.217555}, - {1.033859, -0.961846}, {-0.638277, -0.124713}, {0.713854, -1.025591}, - {0.641113, 0.723899}, {-0.714185, 0.025297}, {-0.243242, -0.632974}, - {0.004698, -0.561759}, {0.826869, 1.173450}, {0.966164, -0.707247}, - {-0.542635, 1.049767}, {-0.518506, -0.302156}, {0.545221, -0.705138}, - {-0.102193, -0.186358}, {0.365136, 0.095347}, {0.201770, -0.480568}, - {0.016332, 0.581984}, {-0.200321, -0.337498}, {0.655831, 0.299526}, - {-0.638049, 0.233237}, {1.424052, -0.333001}, {0.052369, -0.134042}, - {-0.288253, 1.232961}, {0.183916, -0.245885}, {0.477995, -1.296021}, - {-0.386385, -0.681627}, {-0.871080, 0.846105}, {0.995819, -0.009435}, - {0.296135, 0.463088}, {0.504048, 0.026186}, {0.829560, -1.492906}, - {0.848924, -0.979175}, {-0.656607, -0.872808}, {0.063178, -0.565062}, - {-0.543978, 0.668214}, {-0.282821, -0.442039}, {0.348789, 0.133412}, - {-0.108280, -0.389999}, {0.463560, -0.296653}, {0.762565, -0.939430}, - {0.562681, 0.745310}, {-0.475544, -0.766254}, {-0.140575, 0.199589}, - {-0.681751, -0.057548}, {-1.695019, -0.254700}, {-0.534453, -1.252818}, - {-0.097463, -0.033164}, {0.013134, 0.327568}, {0.838379, 0.372423}, - {0.665435, -1.323001}, {-0.545902, 1.244126}, {-0.272644, 0.828079}, - {-0.246118, 0.092456}, {1.201818, 0.219538}, {0.298446, 0.028810}, - {0.130586, -1.150124}, {-0.189182, 0.693609}, {-0.220031, 0.117008}, - {0.553178, -1.375086}, {0.699370, 0.127016}, {0.961901, 0.570180}, - {-0.251472, -0.425322}, {0.846566, 0.693479}, {-0.078834, -0.799604}, - {-0.174930, -0.493040}, {-1.328997, -0.114349}, {0.127677, 0.719281}, - {-1.121602, -1.078388}, {-0.664228, 1.733879}, {1.383895, -0.064893}, - {0.539674, -2.059210}, {-1.022668, 0.526521}, {0.733573, -0.308119}, - {-0.188367, 1.132020}, {0.610091, -0.282697}, {0.423397, 0.009993}, - {0.393636, -0.644193}, {0.128715, -0.357517}, {0.517623, -0.447918}, - {0.158965, 1.067064}, {0.371601, -0.581261}, {-0.927113, -0.619224}, - {1.303716, -1.165499}, {0.322206, 0.200896}, {-0.825444, 0.595176}, - {0.762828, -1.494917}, {1.295692, -1.470736}, {0.013767, -0.200418}, - {-0.238785, -0.631234}, {-0.022044, -0.446997}, {0.407923, -0.215020}, - {-0.523749, -0.371120}, {0.713283, 0.184292}, {-0.268406, -0.526939}, - {0.138893, -1.775308}, {-0.937942, 1.003578}, {-0.063107, 0.546195}, - {-0.317434, 0.743692}, {0.750336, 0.359023}, {-0.674060, -1.184966}, - {2.118200, 0.150908}, {0.312808, 0.577403}, {-0.115615, -0.380405}, - {0.093313, 0.277709}, {0.781873, -0.614278}, {0.868257, -0.087240}, - {0.696852, -0.037947}, {0.418258, -0.615206}, {-0.502346, -0.363948}, - {0.607748, 1.486425}, {-0.564759, 0.351200}, {-0.583354, -1.006512}, - {0.270122, -0.440737}, {0.779603, -0.084426}, {-0.007898, -0.106035}, - {0.320554, 0.214694}, {-0.177764, -1.660508}, {0.364537, -0.190366}, - {0.239589, -0.553225}, {-0.383177, 0.604839}, {0.055061, 0.152930}, - {0.224963, 0.592680}, {0.196291, -0.213862}, {-0.145762, 0.712477}, - {0.968561, 0.056109}, {0.598746, 0.380951}, {0.702798, 0.468182}, - {-0.052676, -0.835553}, {0.586200, -0.290487}, {-0.725037, -0.556427}, - {0.267490, -0.645407}, {-0.859603, 0.256510}, {-1.167129, -0.483687}, - {-0.249517, -0.840456}, {-0.081174, -0.251055}, {-0.107692, 1.266167}, - {0.924662, -0.992418}, {0.178689, 0.182523}, {-0.559303, -0.632352}, - {-0.754172, -0.225666}, {0.422639, -0.820600}, {0.948590, 1.657351}, - {-0.281405, -0.169279}, {0.057540, 0.103383}, {0.965329, -0.888955}, - {-0.568440, 1.343059}, {-0.186236, -0.018155}, {-0.110761, -0.791860}, - {-0.525465, -0.172692}, {-0.820201, -0.368637}, {0.488156, -0.537817}, - {-0.115891, -0.625948}, {-0.244424, -0.566245}, {-0.034738, -0.193282}, - {0.995996, 1.175802}, {0.633444, 1.030137}, {0.651915, 0.959199}, - {1.923756, -0.905022}, {-1.312415, 0.148790}, {-0.096677, -0.026953}, - {0.390501, 0.602404}, {0.867561, -0.780886}, {-0.248516, 0.609102}, - {0.754966, -0.110229}, {0.193581, -1.306164}, {-0.006005, -0.435352}, - {-0.309464, 0.845346}, {-1.119399, -0.660584}, {1.827421, -0.534782}, - {1.365352, -0.177950}, {-0.386234, -0.795813}, {-0.468086, -0.003789}, - {0.881840, 0.036744}, {-0.514770, -0.810572}, {0.151684, 0.110164}, - {0.458389, 0.323786}, {-0.120473, -1.314917}, {0.204646, 1.100970}, - {0.020544, 0.284023}, {-1.429218, 1.177050}, {0.905353, 0.885557}, - {-1.160315, 1.849909}, {-1.424230, -1.176559}, {-0.905514, 0.530293}, - {0.395918, 0.575079}, {-0.420402, 0.728284}, {-0.068162, -0.727264}, - {-1.231408, 0.352116}, {-0.629367, 0.024142}, {-0.776077, 0.835663}, - {1.388639, 1.024976}, {0.079304, 0.123010}, {-0.742089, -0.595562}, - {0.413633, 0.178427}, {1.148139, 0.310845}, {-1.223023, -0.107151}, - {0.893529, -0.158779}, {0.455295, 0.570938}, {0.361370, 0.154722}, - {0.452221, 0.207669}, {0.342056, 0.533909}, {1.139659, 0.955398}, - {0.954993, 0.826294}, {0.436891, 0.869010}, {0.229994, -0.244482}, - {0.099847, -0.476888}, {-0.522935, 0.503299}, {-0.406360, 0.610955}, - {0.944435, -0.128204}, {0.065770, -1.670135}, {0.740768, -0.036056}, - {-0.584472, -2.391807}, {-0.818919, 0.704807}, {-0.164141, 0.180842}, - {-0.896661, 0.450317}, {0.871090, 0.180263}, {0.135365, 1.111712}, - {-0.834453, -0.341845}, {-0.257690, -0.035587}, {-0.462253, 0.690694}, - {-0.658742, -0.564799}, {-0.424196, 2.228747}, {0.041939, -0.154539}, - {-0.403634, 0.374377}, {-1.213989, -0.071425}, {-1.333255, 0.641658}, - {0.544231, 0.130374}, {-0.285297, -0.101088}, {0.409156, 0.353600}, - {-0.616579, -0.490166}, {0.138329, 1.149111}, {-0.089856, -0.208823}, - {0.269195, 0.727445}, {-0.532599, 0.947341}, {1.064642, 0.518264}, - {-0.160568, 0.127441}, {-0.982412, 0.428601}, {0.671490, -0.105111}, - {-0.544419, 0.539514}, {0.650748, 0.073317}, {1.383643, 0.790720}, - {0.254461, -1.150863}, {-1.104232, 0.797452}, {-0.254246, -0.008363}, - {-0.300772, -0.103863}, {0.576015, 0.396718}, {1.176581, 0.732102}, - {0.153447, 0.054295}, {0.000016, -0.797409}, {0.700654, 0.049420}, - {-0.194685, -0.862644}, {-0.478585, -0.200502}, {-1.569114, -0.100896}, - {-0.099857, 1.359227}, {0.499119, 0.183329}, {-0.594711, 0.176504}, - {0.329206, 1.105346}, {0.247398, -0.273746}, {-0.345935, -0.650667}, - {-0.038984, -0.023328}, {-0.333903, -0.697988}, {-1.651307, -0.010374}, - {0.135007, -0.017740}, {-0.899312, 0.155947}, {-0.464175, -0.248264}, - {0.009996, 0.360149}, {-0.695577, -0.382261}, {-0.402334, -0.007657}, - {0.620490, 0.453809}, {0.091440, 0.758711}, {0.343166, 1.541721}, - {0.429339, -0.421495}, {-1.151836, 0.034463}, {-0.085981, 0.906358}, - {-0.026440, 1.303161}, {0.193819, 0.354018}, {0.562069, -0.395005}, - {-0.439914, -0.948032}, {-0.334438, 0.562737}, {-0.864347, 0.208509}, - {-0.643184, -0.135769}, {0.053163, 0.285246}, {1.646151, -0.432861}, - {1.132792, -0.101623}, {-0.698541, 0.212543}, {-0.600253, -0.394334}, - {-1.414120, -0.017888}, {-0.368393, -0.718877}, {-0.680915, 0.363811}, - {-0.319313, 0.322213}, {-0.244923, 0.003331}, {1.157367, -0.139673}, - {0.607064, -0.324347}, {-0.644671, -0.765634}, {0.089788, -0.064507}, - {-0.720007, -0.670351}, {0.360654, 0.469579}, {-0.309126, -0.364294}, - {0.500641, -0.866124}, {-0.320571, -0.281417}, {-0.224328, 1.348302}, - {0.115238, 0.182192}, {-0.936327, -0.335628}, {0.137544, 0.668139}, - {0.100546, -0.022904}, {-0.024822, -0.108423}, {0.011225, 0.990800}, - {-0.279834, -0.438608}, {-0.275984, 0.874441}, {-0.823737, 0.963043}, - {-0.768202, 1.310865}, {-0.066729, 1.666242}, {0.907228, 0.372265}, - {-0.319255, 0.457291}, {-0.671123, 0.800845}, {-0.077611, 0.279797}, - {-0.194283, -0.608156}, {-0.041376, -0.876926}, {-0.020332, -0.458281}, - {-0.440460, 0.163008}, {0.454897, 0.330234}, {-0.331951, -1.540866}, - {-0.633680, -0.034518}, {0.757495, 0.101301}, {-0.833573, -0.786251}, - {0.965374, -1.392252}, {-1.562416, -0.203946}, {0.170349, 0.102477}, - {-0.297897, 0.362400}, {-0.231639, -0.158231}, {0.959721, 0.665986}, - {1.098533, 0.573646}, {-0.091776, 0.472902}, {0.533416, -1.030881}, - {0.526210, 1.060061}, {-0.223194, 0.188243}, {-0.611879, -1.854657}, - {0.428365, 0.538233}, {-1.044283, -0.338610}, {0.027523, 0.049873}, - {-0.049738, 0.893777}, {-0.579892, -0.756394}, {-0.740191, 0.748805}, - {-0.542898, -1.202564}, {0.825741, -0.048525}, {0.539443, -1.170783}, - {1.033500, 0.348025}, {0.715562, 0.128228}, {0.108775, 0.269008}, - {0.955005, 0.864143}, {-0.207915, 0.674605}, {1.403034, 0.313231}, - {0.296529, -1.450481}, {0.548132, 1.537754}, {-0.021173, -0.057581}, - {0.936941, 0.628264}, {-0.628539, 0.130955}, {0.068526, 0.421100}, - {-0.403953, -1.199911}, {1.453961, -0.456943}, {-0.201087, 0.108304}, - {0.271445, 0.783038}, {0.520304, 0.921613}, {-1.395021, -0.780013}, - {0.131228, -0.186797}, {-0.855353, 0.537660}, {-0.337268, -0.724038}, - {-0.432516, 0.344531}, {-0.767389, 0.464180}, {-1.035498, 0.530026}, - {0.441212, 0.883714}, {1.105195, -0.408422}, {-1.103082, -0.169069}, - {-0.295896, 0.969360}, {-0.478854, -0.782398}, {0.416756, 0.605709}, - {0.733967, 0.544675}, {0.971172, 0.356416}, {0.599161, -1.120536}, - {-0.248181, 0.556249}, {0.887368, -0.641314}, {0.673646, -0.843245}, - {-0.312341, 0.397320}, {0.729720, 1.731690}, {-0.801968, 0.323223}, - {-0.536627, 0.327754}, {1.622578, -0.105935}, {-1.750543, -0.207221}, - {-1.908934, -0.520022}, {-1.469000, 0.309230}, {-0.115261, 0.192568}, - {-0.122709, 0.084334}, {0.189000, 0.696045}, {0.493215, -1.328955}, - {-0.721492, -0.333963}, {1.161054, -0.002184}, {0.512723, 1.972711}, - {-0.444754, -0.130414}, {-0.868852, -0.249870}, {-0.816170, 0.515289}, - {1.022070, -0.030086}, {-0.638999, -1.338192}, {0.242959, 0.271414}, - {-0.602075, -0.601963}, {0.423126, 0.633321}, {0.223533, 0.010055}, - {0.646706, 1.390161}, {-0.357542, 0.682465}, {-2.009524, -0.830636}, - {-0.778937, -0.933904}, {0.175269, -1.002111}, {-0.634257, 0.665399}, - {-0.657813, 0.290878}, {0.747272, -0.428248}, {0.007320, -0.768663}, - {1.248404, -0.212529}, {-0.270378, 0.342898}, {-0.666666, -1.140755}, - {0.196211, 1.501705}, {0.302202, 0.083526}, {0.991868, -0.189178}, - {0.155298, -1.253545}, {-0.466703, -0.348936}, {0.716118, 0.723010}, - {-1.105804, -0.353013}, {0.555094, 0.469380}, {-0.287244, 1.500390}, - {-0.246485, 0.237558}, {-0.510462, -0.763731}, {-0.561608, -0.551817}, - {-0.069471, 0.227096}, {1.137497, 0.948345}, {0.172721, -0.065489}, - {0.748416, 0.831896}, {-0.155555, -0.792121}, {-0.477453, 0.763809}, - {0.124495, 0.775665}, {-0.615673, 0.574783}, {0.204540, 0.358135}, - {-0.903123, -0.381671}, {0.487242, 0.995473}, {-0.926024, 0.064502}, - {0.929931, 0.258942}, {0.312395, -0.341280}, {0.549625, -0.936615}, - {-0.861195, 0.434874}, {1.386344, 1.002935}, {0.150581, 1.440757}, - {-0.223814, 0.226411}, {-1.239970, 0.911429}, {0.525911, -0.294822}, - {0.774677, -0.033484}, {-0.481076, -0.140935}, {0.097171, 0.602864}, - {0.273227, 1.072022}, {0.309890, 0.473631}, {-0.466034, 0.111893}, - {-0.691036, 0.030113}, {-0.821156, -0.280252}, {-0.526502, -0.289481}, - {0.720837, 0.871377}, {0.790615, 0.875528}, {0.797253, 0.484843}, - {0.111852, -1.055992}, {0.169400, 0.295747}, {1.171135, -0.137264}, - {0.290213, 0.662161}, {-0.393626, -0.143884}, {-0.749653, -0.256666}, - {0.260497, 0.439210}, {1.135854, -0.431511}, {0.258906, 0.670444}, - {-1.066888, -0.119150}, {0.453981, 0.837529}, {0.411804, 0.845536}, - {-1.059449, 0.036210}, {0.764611, 0.473083}, {-0.027347, 0.346493}, - {0.339275, -1.308645}, {-0.110170, -0.533479}, {-0.509505, 0.121273}, - {0.007601, 0.222193}, {0.245116, 1.845521}, {-0.063218, 0.106742}, - {0.947333, 0.014644}, {0.082611, -0.363300}, {0.686892, -0.186853}, - {1.235221, 0.021879}, {-0.257780, 0.017378}, {0.015664, 0.281120}, - {0.190295, 0.897504}, {0.379354, 0.120590}, {0.427338, -0.164006}, - {1.172924, 0.915224}, {0.721570, -1.247163}, {0.084550, 0.312004}, - {-1.286085, 0.190192}, {0.284174, -0.119200}, {-0.010789, -1.373622}, - {-0.185711, -0.418035}, {0.505770, 0.363854}, {0.061188, 0.700576}, - {-0.462928, 0.573874}, {0.740084, -0.629523}, {0.528961, 1.652541}, - {0.623314, 0.190869}, {-0.597870, -0.927126}, {0.533533, 0.251731}, - {0.277124, 1.153433}, {0.851106, -0.786252}, {-1.330171, 1.147345}, - {-0.464697, 0.070864}, {0.212042, -0.145618}, {-0.687571, 1.186801}, - {0.481482, 0.178028}, {-0.149879, 0.044565}, {-0.223578, 0.104703}, - {0.574649, -0.285176}, {-1.833740, 0.013517}, {-1.725660, -0.234990}, - {-0.463536, 0.588847}, {0.902710, 0.788674}, {-0.254637, -0.532033}, - {0.572229, 1.349808}, {-0.063305, -0.215431}, {0.516429, 0.299522}, - {-1.130246, 0.308680}, {-0.900674, -0.507683}, {-0.583496, 0.223002}, - {-0.592279, -0.950809}, {-0.100426, -0.586777}, {-0.028076, 0.677118}, - {-1.803788, -0.573550}, {-1.088822, 1.183910}, {0.596317, -1.549580}, - {0.668189, -0.306555}, {-0.020441, 0.607971}, {0.853888, 0.246148}, - {0.879904, 1.225752}, {1.614124, 0.830021}, {-0.291743, -0.135559}, - {0.458523, -0.480775}, {0.275255, 0.138678}, {0.883940, 0.525436}, - {-0.542455, -0.182128}, {0.999170, -0.332015}, {0.099745, 0.792268}, - {0.708489, 0.722752}, {-1.050482, -0.202141}, {-1.139348, 0.223888}, - {-0.165198, -0.429917}, {0.319484, 0.084528}, {0.047179, 0.526009}, - {-1.274314, -0.347434}, {-0.377124, 0.028014}, {-0.360881, 0.915426}, - {-0.725553, -1.003947}, {0.135016, 0.821066}, {0.748460, 0.802817}, - {0.130105, 0.256667}, {-0.269583, 0.719719}, {0.649401, 0.873793}, - {0.987143, 0.161186}, {-0.240362, 0.789136}, {-0.121450, 0.924916}, - {-0.259843, 0.404871}, {0.016597, -0.851491}, {-0.042926, -0.009539}, - {-0.196370, -0.423108}, {-1.535905, 0.622120}, {-0.853325, 0.069428}, - {-0.713308, 0.493254}, {0.023896, 0.016209}, {-1.230161, 0.130732}, - {0.290839, -1.217903}, {-0.256162, -0.539416}, {0.629392, 0.257101}, - {0.982458, -0.309371}, {1.120927, 1.254970}, {2.080817, -0.873252}, - {-0.419871, 0.427512}, {-0.008634, 0.589147}, {-1.033991, -0.181336}, - {0.243382, -0.186332}, {0.333660, -0.327366}, {0.221360, 0.080553}, - {0.704698, 0.309089}, {-0.450895, 0.130395}, {0.168094, -0.573576}, - {1.018659, 0.358155}, {0.418952, -0.622499}, {-0.997778, 0.362820}, - {0.222152, -0.219744}, {-0.166802, 0.480155}, {-0.919339, -0.890832}, - {-0.286039, 0.292035}, {0.448303, -0.301572}, {-0.449567, 1.207951}, - {0.897655, -0.477985}, {0.503965, -0.545751}, {0.401514, -1.644501}, - {0.271308, 0.286347}, {-0.284592, 0.577983}, {-0.009884, 0.478410}, - {1.517272, -1.524143}, {-1.437806, 0.700884}, {-0.275556, -1.439763}, - {1.893314, -0.130608}, {-0.166340, 0.557318}, {-0.691321, 0.091720}, - {-0.106616, 0.561819}, {-0.383283, -0.766395}, {0.775944, 0.312252}, - {0.208777, -0.783645}, {-0.680476, 0.061669}, {0.183494, -1.161476}, - {-0.392678, -0.523162}, {-0.073376, 0.398882}, {1.160349, -0.807825}, - {-0.986883, 0.472541}, {-0.034247, -0.317474}, {0.352450, -0.542563}, - {0.578726, 0.400276}, {-0.141064, -0.541357}, {-0.202180, 0.303236}, - {-0.873698, -0.388820}, {-1.241604, -0.714657}, {0.264090, -1.498626}, - {0.602075, 0.227838}, {-0.154430, 0.667914}, {-1.462996, 0.458992}, - {-0.822634, 0.424372}, {-0.658739, 0.865879}, {-0.422218, 0.182616}, - {0.053181, -0.072330}, {-0.062806, 0.762247}, {0.835446, -1.311912}, - {0.087703, 0.026320}, {0.542328, -0.151886}, {-1.828505, 0.593531}, - {-1.080520, 1.086271}, {0.849256, 0.525323}, {0.497942, 0.697413}, - {-0.244531, 1.043887}, {-1.458797, -0.216500}, {-1.214738, -1.022308}, - {0.159061, -0.098262}, {0.727952, 1.271393}, {-0.754485, 0.954004}, - {-0.176632, 0.615747}, {0.028411, -0.767032}, {-0.748180, -0.441965}, - {0.242074, -0.788659}, {0.670060, 1.096734}, {0.154009, -1.243446}, - {0.850586, -1.501833}, {1.150581, 0.774110}, {-0.989572, 0.879881}, - {-0.575178, 0.294339}, {0.003447, 0.489239}, {1.145287, 0.324623}, - {0.184091, -1.062771}, {0.158889, 0.215402}, {0.201577, 0.011042}, - {-0.181512, -0.504270}, {-0.055374, 0.590276}, {-0.531721, -0.884568}, - {-0.209470, -0.372283}, {-1.255795, -0.759923}, {0.366333, -0.922058}, - {1.322717, -0.181335}, {-0.678275, 1.164669}, {-0.750670, -0.137794}, - {0.112897, 0.410423}, {0.191286, 0.113733}, {-0.452766, 0.723349}, - {-0.736083, -0.170689}, {0.692416, 0.132405}, {1.018870, -1.559833}, - {-1.443120, -0.229399}, {0.716224, 0.947647}, {0.279685, 0.653005}, - {0.710520, 0.177459}, {-0.557518, -1.425511}, {-0.256127, 0.315232}, - {-0.082281, 0.579783}, {-0.857951, -0.531888}, {-0.747733, 1.197090}, - {-0.006789, -0.966185}, {-0.612837, -0.621645}, {1.132351, 0.561013}, - {0.365387, 0.280771}, {0.819015, 0.005642}, {0.077710, -0.275083}, - {-0.589305, 0.053577}, {0.746235, 0.106363}, {0.483010, -0.756925}, - {0.555464, -1.006915}, {1.083126, -0.706053}, {-0.114394, -0.110508}, - {1.101602, -1.451006}, {0.482109, 0.584615}, {0.242472, -1.768441}, - {2.096101, 0.679566}, {-0.527421, -0.071384}, {1.001152, 0.540874}, - {1.515730, -0.408948}, {-1.081754, -0.587317}, {-1.534001, -0.908835}, - {0.161009, 0.022969}, {-0.555147, 0.084544}, {-0.049147, 0.004229}, - {-0.281130, 1.140545}, {1.877216, 0.501126}, {0.834883, 0.052106}, - {0.108568, -1.416109}, {-0.496393, -0.851726}, {-0.546421, -0.850434}, - {-0.100497, 0.366563}, {-0.505233, -0.181871}, {0.003181, -0.257644}, - {-0.427184, 0.802357}, {2.175829, 0.214003}, {-1.470833, -0.859757}, - {0.177123, -0.005589}, {-0.155512, -0.028954}, {-0.576782, -0.183170}, - {0.659928, 0.889550}, {0.547329, -0.667458}, {1.543267, -0.883763}, - {-0.027341, -0.587168}, {-0.767299, 0.181322}, {-0.058809, 0.621716}, - {-0.136666, 0.112151}, {1.320616, -0.923620}, {-0.758136, 0.563569}, - {-0.896224, 0.826225}, {0.415972, 1.835909}, {-0.226084, 0.573171}, - {0.648683, 0.868590}, {0.148597, 0.095773}, {-0.923255, -0.006413}, - {0.008498, 0.345011}, {-0.438936, -0.177137}, {-0.220799, 0.289912}, - {0.374629, -1.246758}, {-0.405352, -0.920192}, {0.267008, 0.274742}, - {-0.976383, -0.137177}, {0.688771, 1.380999}, {-0.478994, -0.518246}, - {0.005349, 0.286922}, {-0.296630, 0.203362}, {-0.543880, -0.873593}, - {1.511098, -0.907825}, {0.433183, -1.112696}, {0.716750, -0.497192}, - {0.545947, 0.471261}, {1.624519, -0.037766}, {-0.383763, -0.364185}, - {-0.361717, 0.471989}, {-0.997984, 1.419701}, {0.816524, -0.299520}, - {-0.245384, 0.189731}, {0.065447, -0.059209}, {0.779328, 0.204790}, - {0.731539, -0.345297}, {0.404574, 0.248687}, {1.043347, 2.307089}, - {0.334605, -0.253063}, {-0.216840, -0.098456}, {0.350238, -0.382642}, - {0.349119, -0.532957}, {-1.859158, -0.233730}, {0.862392, -0.445325}, - {-0.101752, -0.036104}, {-0.378956, -0.338704}, {-0.994805, 0.464318}, - {-0.996382, 0.208659}, {0.808323, 0.455032}, {-2.112046, 0.061540}, - {0.819598, 0.624593}, {0.878981, 1.053073}, {-0.341489, -0.442258}, - {-0.496671, -0.854729}, {0.065132, 0.231571}, {-0.246478, 0.530029}, - {-0.284105, 0.054951}, {0.376465, -0.172238}, {0.299234, 0.652101}, - {-0.627995, 1.886543}, {-0.482888, -0.856058}, {-0.830026, -0.832774}, - {0.779929, 0.337171}, {-0.369851, -0.412797}, {-0.432700, 0.692209}, - {-0.065776, 1.142133}, {1.054275, -0.392488}, {-0.718737, -0.644947}, - {-0.076992, -0.542669}, {-0.175216, 0.328426}, {-1.591234, -0.008631}, - {-0.369091, -0.575943}, {-0.664370, 0.357384}, {-0.223916, -0.159983}, - {-0.524674, 0.109124}, {0.980964, 0.285221}, {1.085013, 0.302149}, - {0.239054, -1.200352}, {-1.131626, 0.880129}, {0.611328, 0.462691}, - {0.109595, -0.038623}, {0.137486, 0.811529}, {0.196871, -0.418142}, - {0.699526, -0.181672}, {-0.998589, 0.332045}, {-0.339367, -0.358573}, - {-0.870253, 0.811889}, {0.424311, 2.218276}, {0.122027, 0.056903}, - {-0.485555, -0.599874}, {-0.023325, 0.457989}, {-0.257390, 0.531017}, - {-0.594800, -0.363526}, {1.037002, 0.461854}, {0.667577, 0.489237}, - {0.025804, 0.603610}, {-0.453581, -0.162107}, {0.230955, -0.243543}, - {-0.669782, 0.966822}, {-0.624782, -0.044558}, {-0.787855, 0.834564}, - {-0.309755, -0.555690}, {0.895544, 0.561778}, {-0.081447, -0.146939}, - {0.741198, -0.128052}, {0.669056, 0.986545}, {-0.747874, 0.482845}, - {0.073550, -0.909752}, {-0.872751, -0.413878}, {-0.863929, -0.294266}, - {1.093727, -0.577195}, {-0.161357, 0.324918}, {0.125704, 0.723239}, - {-0.766171, -0.998274}, {-0.023512, 0.626686}, {-0.790729, -0.296770}, - {2.140339, 0.378394}, {-0.262331, 0.246625}, {-0.856882, -0.281878}, - {0.997209, 0.093078}, {1.148219, -0.546145}, {-0.030454, 0.592030}, - {0.076696, 0.233782}, {-0.141260, -0.777390}, {-0.589189, -0.483685}, - {0.289672, 0.386135}, {-1.264861, -0.995417}, {-0.042752, -0.532604}, - {-0.134781, 0.365284}, {-0.340780, 1.472232}, {-1.483415, 0.914143}, - {-0.283508, 0.156881}, {-0.736152, -1.343692}, {-0.096745, 0.290601}, - {0.091744, 0.223455}, {-0.353464, 0.284825}, {-2.136104, -0.528703}, - {0.494303, 0.010275}, {0.096905, -0.401126}, {0.727808, 0.185508}, - {-0.613681, 0.534158}, {1.044872, 0.971303}, {0.717104, 0.100286}, - {-1.419618, -0.604448}, {-0.410767, -0.231726}, {0.848536, 0.951917}, - {0.746859, -0.161283}, {-1.056914, -0.626140}, {-0.302984, 0.411916}, - {-0.391683, 0.373145}, {-0.314457, 0.491804}, {1.239795, -0.694703}, - {-0.168077, -0.742324}, {0.053671, 0.573151}, {1.116908, -0.547143}, - {-0.580176, 1.202944}, {0.088589, -0.455011}, {0.779909, 0.947051}, - {-0.559228, -0.818329}, {-0.112108, -0.428851}, {0.483455, 0.814911}, - {1.219918, -1.265525}, {-0.808586, 0.580155}, {-0.538486, -0.056154}, - {0.696324, 0.122801}, {-0.312645, -0.640077}, {0.504048, -1.031634}, - {0.178747, 0.494393}, {1.744485, 1.430984}, {-0.106728, 0.085838}, - {-0.572292, 0.236523}, {0.052278, 0.163252}, {0.083152, -0.214327}, - {0.114333, 0.425771}, {0.359542, -0.296919}, {-0.935315, 0.054319}, - {0.076361, -0.824908}, {-0.081657, 0.104635}, {-0.267140, -0.395640}, - {0.426262, -1.206860}, {0.257655, 0.559848}, {0.244592, 1.151796}, - {0.897633, -0.515393}, {0.418324, 0.647156}, {-0.741549, 0.112829}, - {0.988401, -0.625204}, {0.369894, -0.802808}, {0.658272, -2.303792}, - {-0.215105, 1.646744}, {0.519888, 1.012419}, {-0.238965, -0.324462}, - {-0.112710, 0.191850}, {-0.066331, -1.146826}, {-0.038528, -0.023964}, - {0.373568, 0.001974}, {-0.864264, -0.906543}, {0.679871, 0.421732}, - {-0.043741, 1.101931}, {-0.552452, -0.138525}, {-0.095636, -0.883681}, - {-0.072871, 0.876045}, {-0.238791, 0.132820}, {0.244078, -0.390211}, - {-0.082340, 0.487018}, {0.796116, 0.096262}, {0.408338, 0.230686}, - {-0.441585, -0.626388}, {0.365510, 0.719968}, {0.126699, -0.388437}, - {0.110592, -0.075274}, {2.264902, -1.563334}, {-0.272466, -0.015424}, - {0.608222, 1.351945}, {-1.147737, 1.113406}, {0.284979, -0.205787}, - {-0.450449, 0.238860}, {1.027885, -0.840673}, {-0.455186, -0.221859}, - {-0.938632, -2.082159}, {1.391911, 0.802204}, {0.975475, -0.276338}, - {-0.243330, -0.064295}, {0.138971, 0.536216}, {0.691166, 0.177819}, - {1.026026, -1.879955}, {-0.187583, 0.063026}, {-0.074402, -0.288843}, - {-0.243687, 0.652614}, {-1.212718, -0.767727}, {0.251387, 0.506600}, - {-0.660165, 0.422242}, {0.679188, 1.371130}, {-0.170699, -0.614176}, - {0.520129, -0.476992}, {0.848435, -0.401178}, {0.405024, -0.093561}, - {0.626143, 0.076985}, {0.295405, -0.762852}, {0.549177, 0.725065}, - {0.526664, 0.156528}, {0.977468, -0.889557}, {-0.501570, -0.343316}, - {-2.000729, -1.623071}, {-1.946962, 0.328553}, {0.777598, -0.856117}, - {-0.326491, 0.100360}, {0.198779, -0.141495}, {-0.995361, -1.077920}, - {0.047623, -0.345042}, {1.887429, -0.220347}, {-0.157694, 0.558083}, - {0.462495, -0.577463}, {-0.215078, -0.858704}, {1.253739, 0.253756}, - {-0.169634, -1.005008}, {-0.047497, 0.740879}, {-0.581666, 0.040685}, - {-0.201745, 1.662973}, {0.317519, -1.047738}, {0.967803, 0.032915}, - {0.212464, 0.089187}, {0.718780, 0.944362}, {-1.948257, -0.331151}, - {0.922229, -0.646998}, {-0.627500, 0.378164}, {-0.222201, -1.313254}, - {-0.266142, 0.014479}, {-0.424176, -0.993625}, {-0.059820, 0.319289}, - {-0.843761, -0.433096}, {0.087394, -0.412266}, {0.305914, -1.210798}, - {0.471462, 0.643052}, {1.252232, 0.000904}, {0.216403, -0.122659}, - {1.216662, 0.381311}, {1.296341, -0.140316}, {-0.022925, 0.194975}, - {0.862409, 0.620792}, {0.064807, 1.351515}, {-0.565969, -0.236810}, - {-0.155437, 0.605360}, {0.051996, 0.325921}, {0.150445, 0.429124}, - {0.459964, 0.511976}, {0.428904, 0.323586}, {0.188316, -0.513317}, - {0.939000, 1.371945}, {0.649626, -0.024783}, {1.376851, 0.200015}, - {-0.048111, -1.183880}, {-0.786435, -0.777301}, {-0.241709, 1.388115}, - {-0.109006, 0.946566}, {1.156840, 1.561297}, {-0.127523, 1.700414}, - {0.761736, -0.883463}, {-1.099255, -0.579362}, {1.338325, 0.799131}, - {-1.021709, 0.379151}, {-0.994399, 0.063684}, {0.818383, -0.273057}, - {0.668366, -0.297543}, {-1.015779, 0.889539}, {0.913941, -0.629156}, - {-1.700678, 0.079532}, {0.256160, -0.369452}, {0.150019, 0.098158}, - {-0.119020, -1.045646}, {0.741243, -0.716726}, {-1.108436, 0.863056}, - {0.307252, 0.506812}, {-0.171352, -0.503576}, {1.261155, 0.176500}, - {0.174007, -0.712686}, {-0.141806, 0.330990}, {-0.109117, -0.228317}, - {0.203634, 0.606610}, {-0.712412, 0.250541}, {-0.137947, 0.768827}, - {-0.744735, 0.914129}, {-1.167755, 0.152721}, {0.327150, -0.113608}, - {0.177006, -0.387882}, {0.848800, 0.884244}, {-0.111614, -0.152304}, - {-0.300267, 0.243189}, {0.093467, 0.290017}, {1.352682, 0.983666}, - {0.299551, 0.490373}, {-0.353636, 0.504747}, {0.613392, -0.069319}, - {1.054224, -0.871011}, {2.339625, -0.344715}, {-1.010481, 0.230538}, - {-0.539544, -0.583309}, {0.499012, 0.102340}, {-0.575380, 0.783295}, - {0.805940, 0.307558}, {0.417599, -0.060720}, {-0.177191, -0.033481}, - {0.109710, -0.280558}, {0.446148, -0.888981}, {0.195612, -0.768271}, - {0.039506, 0.628468}, {-0.492624, -0.504992}, {-1.396420, -0.011736}, - {-0.046356, 0.570300}, {1.085142, -1.294011}, {0.752542, -0.090279}, - {-1.473829, 0.875925}, {0.761430, -0.161165}, {0.959718, 0.258992}, - {0.460259, 0.467090}, {0.108088, -0.414908}, {0.842820, 0.796490}, - {0.248226, 0.228333}, {-0.166433, -2.038801}, {-1.326628, -0.722473}, - {-0.475355, 0.696458}, {0.138056, 0.500725}, {0.168092, -0.866839}, - {0.019798, -0.447601}, {-0.724926, 0.046180}, {-0.276801, 1.054389}, - {0.003609, -0.044388}, {-0.692568, 0.378780}, {-0.950437, -0.173717}, - {0.251268, -0.282029}, {-0.439649, 0.031710}, {-1.080425, -0.215370}, - {0.719048, -0.338402}, {-0.687926, -0.765291}, {-0.401951, -1.098793}, - {-0.568740, -0.550765}, {-1.100182, -1.817952}, {0.427277, 0.515781}, - {-0.227288, 0.535524}, {0.311561, -0.427903}, {0.531886, 0.638625}, - {-1.225598, -0.291583}, {-0.123388, -0.705261}, {0.958207, 0.537159}, - {0.328784, -0.348955}, {0.027395, -0.081869}, {0.067524, 0.032020}, - {0.528416, -0.759115}, {0.941596, -0.896593}, {-0.219845, -0.026498}, - {-0.032095, 1.010285}, {-0.610792, 0.633952}, {0.108644, 0.649716}, - {0.552711, 0.848451}, {0.201063, 0.583580}, {-1.261548, 0.388021}, - {0.890668, -0.175176}, {0.607208, -0.307948}, {-0.205981, 0.041344}, - {-0.776250, 0.177243}, {0.337239, 0.161071}, {-0.037705, -0.120282}, - {-0.014045, -1.241609}, {-0.555803, 0.188605}, {0.241814, -0.987252}, - {-0.463139, 0.874492}, {-0.070504, 0.160308}, {-0.178391, 0.972757}, - {-0.366224, -1.177044}, {0.971867, 0.479103}, {0.125259, 0.461216}, - {0.694764, -1.494325}, {-0.277845, 0.320865}, {0.616292, -0.626879}, - {-0.030863, 0.874982}, {-0.766846, -0.016767}, {-0.369774, 0.258101}, - {-0.149097, 0.291851}, {-0.493542, -0.295266}, {1.146361, -0.267924}, - {-0.934380, -0.011444}, {0.415305, 0.183752}, {-0.491891, -0.357477}, - {-0.560602, -0.794771}, {0.317386, 0.323920}, {-0.500328, -0.562780}, - {0.041451, -0.181370}, {-0.529525, -0.497591}, {0.648109, 0.580791}, - {-0.582613, -0.249940}, {-0.051540, -0.826063}, {1.646775, 0.986751}, - {0.481024, -0.258589}, {-0.789469, -0.719895}, {0.638624, -0.406398}, - {-0.281974, -0.250588}, {-0.619277, -0.458814}, {1.953618, -0.616999}, - {1.097286, 0.692794}, {-0.079763, 1.146230}, {-0.662413, -0.114838}, - {-0.710125, -0.561579}, {0.652582, -1.218519}, {-1.107519, -1.568995}, - {-0.128567, -0.868703}, {1.148380, -0.401765}, {0.275385, 0.300600}, - {0.619924, 0.435204}, {0.536274, -1.285634}, {-0.410239, -0.168935}, - {0.305748, 0.032075}, {-0.278987, -0.244613}, {0.272564, -0.215397}, - {0.442925, 0.284863}, {0.343083, -0.985089}, {0.243655, -0.535491}, - {-0.058256, -0.138061}, {1.469464, 0.252023}, {0.457389, 0.293408}, - {-0.401809, 0.313757}, {0.756131, -0.077182}, {-0.785143, 0.185929}, - {0.335933, 0.863780}, {-0.386318, -0.435270}, {0.083281, -0.052628}, - {0.228627, -0.248970}, {0.607702, -0.139063}, {-0.640376, -1.314560}, - {-0.128571, -0.846763}, {0.614100, -0.123165}, {0.129793, -0.321393}, - {-0.266171, -0.648007}, {0.416713, -0.029613}, {0.225510, 0.728644}, - {0.393598, 0.429328}, {1.597007, -0.340253}, {0.768635, 0.000382}, - {0.010930, 0.047671}, {-0.193073, 0.323188}, {-1.230056, 0.049060}, - {-0.445542, -0.226577}, {-1.104063, -0.513824}, {0.799375, 0.141533}, - {0.706937, 0.178929}, {0.236867, 0.128337}, {-0.097298, -1.042810}, - {-0.735652, 0.420616}, {-0.588963, -0.623118}, {-1.635909, 0.027266}, - {-0.945824, 1.046139}, {-0.697924, -0.368466}, {0.335071, -0.324357}, - {0.418055, -0.170021}, {-0.243762, 0.064872}, {0.400947, -0.261076}, - {-0.356738, -0.672932}, {1.059406, 0.747656}, {0.122394, -0.472220}, - {0.295724, 0.705496}, {-0.593362, 0.561189}, {0.827451, -0.913072}, - {0.575753, -0.582888}, {-0.449487, -1.203258}, {0.002070, -0.209496}, - {-0.819372, 1.013107}, {-0.223983, 0.409793}, {-0.105117, -0.240320}, - {0.505813, 0.544863}, {-0.062506, 0.840417}, {-0.074185, -1.498686}, - {-0.050561, -0.531679}, {-0.407497, 0.036355}, {-0.640938, -0.667689}, - {0.015491, 0.043753}, {0.687209, -1.632878}, {0.618242, -1.063427}, - {-0.241815, -0.839270}, {0.602280, 0.346705}, {-0.701291, 0.105225}, - {-0.407340, -0.339801}, {-0.345298, -1.047087}, {-0.134469, -0.783420}, - {-0.543787, 1.086768}, {-0.222433, -0.012544}, {0.760408, -0.125045}, - {-0.585757, -1.015366}, {-0.622145, -0.507983}, {-0.105669, -0.357043}, - {-0.255007, 0.058948}, {-0.925739, 0.274361}, {-0.375779, -0.555844}, - {0.432849, 0.596696}, {0.057883, -0.368657}, {-0.451532, -0.509855}, - {-0.756553, -1.048769}, {-0.348112, -0.540951}, {-0.831728, -0.598372}, - {0.332533, 0.729092}, {-0.135877, 0.565378}, {0.062568, -0.041090}, - {-0.367750, -0.509901}, {-0.553719, -0.111947}, {-1.021522, 0.275873}, - {-0.050085, 0.315809}, {-0.928466, 0.206772}, {-1.191365, 1.451377}, - {0.920724, 1.063243}, {-0.063332, -0.406468}, {-0.515630, -1.279352}, - {0.487661, -0.818408}, {-0.027072, -0.002359}, {0.227643, 0.002201}, - {1.084393, 0.067814}, {0.552847, 0.362214}, {0.199879, 0.680228}, - {0.372569, 0.685069}, {0.292540, 0.321147}, {0.363653, 0.247260}, - {-0.588959, -0.794473}, {0.352148, 0.263375}, {0.524180, -1.109269}, - {-0.285997, -0.110195}, {-1.179159, -0.952197}, {0.573545, 0.373895}, - {-0.224947, 0.447142}, {0.137062, -0.810396}, {0.027311, -0.504226}, - {1.193193, 0.163454}, {0.554125, 0.651387}, {0.650385, 0.140576}, - {-0.818715, -0.166574}, {0.098850, 0.910239}, {-0.364286, 1.396334}, - {-0.209655, -0.775914}, {-0.370780, -1.208692}, {-0.047578, 0.440463}, - {1.233010, -0.648612}, {-0.140918, 0.321229}, {0.196838, 0.020064}, - {0.376956, 0.417526}, {0.185651, 0.879134}, {0.640523, -0.156284}, - {0.743281, -0.154083}, {-0.360541, -0.915597}, {-0.177171, -0.588081}, - {0.960627, -0.156028}, {0.537350, -0.452252}, {-0.235733, -0.027291}, - {-0.746237, -0.017686}, {-0.406613, 0.579063}, {-0.994922, -1.060790}, - {-0.669324, 0.430821}, {-0.398869, -0.634411}, {0.762944, -0.143725}, - {0.283899, 0.878354}, {-0.070692, -1.069885}, {1.509989, -0.562410}, - {0.612479, -0.758589}, {-0.176361, -0.743195}, {-1.116313, -0.446980}, - {-0.007589, 0.391379}, {0.102751, 0.106416}, {0.704608, -0.302822}, - {0.013309, -0.343502}, {1.258582, -0.751478}, {-0.768097, -1.864140}, - {-1.428795, 0.401529}, {-0.620903, -1.088542}, {-0.328758, -0.244061}, - {-0.351989, -0.302104}, {0.040004, 0.117331}, {-0.116617, -0.037641}, - {-0.271723, 0.244152}, {0.359241, -0.171465}, {-0.586401, -0.121233}, - {0.604605, 1.161484}, {-0.403794, 1.518033}, {-0.320099, -1.946147}, - {1.265835, -1.070397}, {1.028280, 0.157896}, {0.070852, 0.788980}, - {-0.628415, -0.602539}, {-0.452347, 0.152041}, {0.078811, 0.062621}, - {0.343871, 1.592619}, {-0.148877, 0.159315}, {-0.000463, -0.181856}, - {-1.639889, -0.376867}, {0.521937, 1.142912}, {0.935462, -0.231012}, - {0.779969, -0.218677}, {-0.354689, -0.476571}, {-0.904562, 0.034987}, - {0.125173, 0.573088}, {-0.495766, -1.612758}, {-2.062263, 0.055393}, - {-0.580883, 0.751677}, {0.616167, -0.770758}, {0.926324, -0.141294}, - {1.046484, -0.562055}, {0.375710, -0.089429}, {-1.166185, -0.487809}, - {-0.707975, -0.729558}, {-0.118322, -0.402670}, {0.272092, 0.594689}, - {0.240115, -0.224296}, {0.244773, -0.446577}, {-0.046161, 0.215951}, - {1.385255, -0.292633}, {0.161275, -0.089966}, {-0.145126, -0.954704}, - {-0.061937, 0.085533}, {-0.448217, -0.232410}, {-0.295303, 0.406249}, - {-0.273240, -0.980753}, {-0.413078, 0.765020}, {0.565840, -0.524401}, - {0.554666, -0.284595}, {0.114768, 0.187983}, {-0.890592, -0.266010}, - {0.650560, 0.103151}, {0.586884, -0.342944}, {0.626604, -1.021207}, - {-1.554120, -0.024893}, {1.869185, 0.210050}, {-0.012275, 0.388102}, - {-0.462074, -0.605148}, {0.255341, -0.179884}, {-0.340660, -1.397953}, - {0.187923, 0.360639}, {0.484712, -0.181846}, {-0.177458, 0.360760}, - {-0.482337, -0.081107}, {-0.253224, 0.661932}, {-0.724755, 0.316380}, - {-0.028731, -0.097583}, {-0.090675, 0.918420}, {-0.288796, -0.874214}, - {-1.281843, -1.346400}, {-1.975214, 0.339394}, {-0.613541, 0.515236}, - {0.250206, 0.074632}, {0.996936, 0.863932}, {-0.782503, -0.162518}, - {-0.086359, -1.378544}, {0.721407, -0.891762}, {0.240897, 0.580625}, - {-0.133187, 1.084532}, {1.435339, -0.476021}, {0.283575, 0.906435}, - {-0.470645, -0.523456}, {-0.939491, -0.042648}, {-0.949484, -0.012379}, - {-0.083733, -0.312338}, {-0.885689, -0.387254}, {0.644921, -1.190076}, - {-1.121036, -0.485559}, {-0.356930, -0.523413}, {-0.479120, -0.096518}, - {0.952204, -0.417529}, {0.557766, -1.049478}, {1.135059, -0.173027}, - {-0.302560, -0.322420}, {-0.183123, -0.081440}, {0.074167, -0.077368}, - {-1.407874, 0.624530}, {-0.230311, -0.298617}, {0.770821, 0.424980}, - {-1.662785, -0.094771}, {-0.287911, 0.475809}, {-0.048476, -0.203032}, - {0.553445, -1.016724}, {-0.376555, -0.217766}, {0.114631, -0.345042}, - {-0.593877, 0.872006}, {0.276043, 0.101842}, {0.882983, 0.102907}, - {0.001158, -0.755667}, {0.047028, -0.324113}, {-0.646981, 0.918540}, - {0.291671, 0.556886}, {-0.137889, -1.529846}, {0.298642, -0.279176}, - {1.768655, -0.293840}, {-0.235337, -0.109834}, {0.114141, -1.468380}, - {0.478717, 0.202262}, {-0.370501, -1.198972}, {-0.151985, 0.917563}, - {-0.053941, 0.940994}, {1.249975, -0.625239}, {0.398662, 0.117818}, - {-0.205314, -0.918815}, {-0.419043, -0.126397}, {-1.290054, 0.482208}, - {0.604014, -0.941747}, {0.399735, 0.820368}, {-0.249355, 1.154546}, - {0.359412, -1.303754}, {-0.016680, -1.368714}, {0.248771, -0.238636}, - {-0.263899, 0.869256}, {-0.369987, -0.283830}, {-0.466650, -0.208697}, - {-1.657492, -0.255177}, {0.933283, 0.293801}, {2.525568, -0.350252}, - {-0.106274, -0.303690}, {-0.411917, 1.078396}, {-0.386613, -1.306253}, - {0.971809, -0.252645}, {0.155680, 0.462985}, {-0.520441, -0.015665}, - {0.566224, -0.363200}, {0.858518, -0.442505}, {-0.176691, 0.428155}, - {-0.006586, -0.742642}, {-0.224886, -0.229415}, {1.261164, -0.739608}, - {-0.669418, -0.283427}, {1.069320, -0.425814}, {-1.009479, 0.708147}, - {-0.473014, -0.106836}, {0.283953, -0.549942}, {-0.853421, -0.329629}, - {-0.464193, 0.622219}, {-0.087188, -0.801405}, {0.500055, 0.318167}, - {1.123225, 0.074764}, {-0.235380, -0.485006}, {-0.714091, 0.030128}, - {-0.239461, -1.534452}, {1.116795, -0.824399}, {-0.825487, -0.207473}, - {-0.051835, -0.448793}, {0.164883, 0.984871}, {0.253362, -0.188939}, - {-0.372140, -0.968723}, {0.119889, 0.519344}, {1.497227, -0.331945}, - {-1.279538, -0.084243}, {1.188019, -0.265337}, {0.213106, -1.016021}, - {0.100412, 0.388037}, {-0.512935, -0.810146}, {-0.598912, -0.689186}, - {-0.567116, -1.257426}, {0.086859, -0.193039}, {-0.940346, 0.374944}, - {-0.034308, 0.275811}, {-0.545470, 0.096491}, {-0.093181, 0.866228}, - {-1.219487, 0.113771}, {1.206312, 0.106241}, {0.892992, -0.849006}, - {-1.354809, 0.769571}, {0.735957, 0.424012}, {-0.565301, 0.510339}, - {-0.899932, 0.461990}, {1.103376, 0.451826}, {0.132011, -0.842416}, - {-0.638797, 0.144869}, {-0.642707, 0.416796}, {-0.427401, 0.363543}, - {0.168475, -0.766367}, {-0.751506, 0.061892}, {0.574152, -0.505695}, - {-0.335072, -0.286006}, {-0.834026, 0.619608}, {0.547215, 0.287132}, - {0.298914, -0.179478}, {-0.561363, 0.759409}, {0.745341, 0.945481}, - {-0.902903, -0.037729}, {-0.390261, -0.658194}, {0.279026, 0.870289}, - {-0.157925, 0.902163}, {0.536656, 1.220876}, {0.488578, 0.348556}, - {-0.531355, 0.421049}, {0.117253, 0.950821}, {0.718010, -0.541365}, - {-0.837644, 0.805630}, {0.181802, -0.456620}, {-1.144830, -0.841213}, - {0.996041, 0.509847}, {-0.317890, 1.355479}, {0.444140, 0.143680}, - {-0.301898, 0.640867}, {0.655019, 0.121403}, {-0.515694, 1.185059}, - {0.107950, 0.148497}, {-0.134465, 0.366955}, {-0.413694, -0.651129}, - {-1.609086, -0.006717}, {1.545435, 0.251703}, {-0.413004, -0.506535}, - {1.058658, -0.827896}, {-0.625554, -1.151844}, {0.662481, 0.578591}, - {-0.053525, 0.667165}, {-1.458461, 0.403909}, {1.438034, 1.671089}, - {0.449605, -0.144770}, {-0.211705, 0.239155}, {0.737903, -0.691716}, - {-0.892143, -0.156775}, {1.022161, 0.568443}, {-0.895021, -1.159661}, - {-0.129957, -1.015277}, {0.025829, 0.618146}, {-0.725841, 1.354559}, - {-0.404110, 0.239310}, {-0.381553, -1.030973}, {0.661700, 0.726828}, - {-0.871968, -0.873774}, {-0.634683, -1.073318}, {-0.190002, 0.527019}, - {0.450145, 0.068487}, {-0.493345, -0.565194}, {-0.067292, -1.089015}, - {0.311426, -0.162816}, {0.696492, -1.081337}, {-0.079561, 0.192018}, - {-1.038164, 0.001589}, {-1.209152, 0.260031}, {0.517225, 0.673063}, - {-1.070390, 0.051018}, {-0.172812, -0.518776}, {0.246896, 0.360236}, - {1.261445, -1.363637}, {-0.249520, 0.115168}, {-1.039049, 1.002534}, - {0.995219, -0.530594}, {0.158186, -0.370508}, {0.269083, -0.100298}, - {0.446531, 0.134572}, {0.163460, -0.234424}, {0.655361, -0.266745}, - {1.368913, -1.221585}, {-0.037131, 0.339951}, {-0.094642, 0.057267}, - {1.801376, 1.555417}, {-0.674158, -0.035333}, {1.133275, -0.083941}, - {-0.528994, 0.797127}, {-0.613801, -0.039986}, {0.326418, 0.552173}, - {0.961590, 0.195621}, {0.164999, -0.415260}, {1.123196, -0.173849}, - {-1.028232, -0.935003}, {-0.006582, -0.860200}, {0.017667, 0.604943}, - {-0.069771, -0.320669}, {0.410253, -0.394301}, {-0.464009, -1.065665}, - {-0.388085, -0.714962}, {-0.379551, -0.026035}, {-0.465111, 0.046714}, - {0.329026, 1.072201}, {-0.204617, 0.340843}, {0.353240, -0.991605}, - {0.276096, 0.606240}, {0.180433, 0.509623}, {0.603712, -1.428401}, - {-0.288965, 0.170324}, {0.199499, -0.953213}, {0.555000, -0.156563}, - {-0.332052, -0.212173}, {-0.551909, -1.110573}, {-0.701355, -0.256082}, - {0.052215, -0.905251}, {0.154667, 0.287735}, {-0.375212, 0.075292}, - {0.831316, -0.327454}, {-0.544062, -0.324524}, {0.375690, 0.435796}, - {1.420773, -1.694466}, {-0.472987, -0.933482}, {-0.295863, 1.125223}, - {1.051997, -0.065696}, {-0.318684, -0.268566}, {-0.407761, 0.906795}, - {0.611763, -0.834517}, {-0.577473, -0.618957}, {-0.056931, 1.173181}, - {1.188827, -0.751072}, {-0.395580, -0.277524}, {-0.286643, -0.821660}, - {-0.243831, -0.902510}, {-0.859681, 0.635123}, {0.132016, 0.648423}, - {0.176409, -0.202077}, {0.916956, -0.416387}, {-0.387859, 0.270335}, - {-0.470603, -1.118427}, {-0.082099, 0.536118}, {-0.319736, 0.623595}, - {0.105603, -1.227178}, {-0.246468, -0.676755}, {-0.137842, -0.198255}, - {-0.612401, 0.267072}, {0.140070, 0.928564}, {-0.276867, -0.692713}, - {0.330789, 0.082247}, {-0.310965, 0.471960}, {-0.638029, -0.130571}, - {-0.227627, 0.371444}, {1.447594, -0.579724}, {1.434342, 1.967624}, - {-0.533127, -0.360049}, {0.090985, 0.865811}, {1.621069, -0.655068}, - {-0.107101, 0.602642}, {-0.678090, -0.200194}, {0.631410, 0.856782}, - {0.026655, -0.682962}, {1.024181, -2.110779}, {-0.329181, -0.015544}, - {-0.869617, 0.964415}, {-0.574403, 0.639381}, {-0.200844, -0.526831}, - {-0.254985, -0.692828}, {-0.627544, 0.386942}, {-0.594953, 0.059818}, - {-0.728173, 0.322703}, {-0.125809, -0.264083}, {-0.862048, -0.024952}, - {-0.305275, 0.632945}, {0.503292, 0.276135}, {-1.035994, -0.815081}, - {0.004263, -0.952890}, {0.188009, -0.695292}, {-0.490270, -0.076733}, - {-0.847985, 1.389987}, {0.757101, 0.356868}, {-0.744715, 0.614691}, - {-1.179587, -1.951262}, {0.406179, -0.501517}, {-0.567337, 0.303614}, - {-0.351789, 1.342365}, {1.001646, -0.588464}, {-0.751630, -0.865141}, - {-0.336056, 0.681107}, {0.181667, -0.648438}, {0.661723, -0.599597}, - {-0.843666, 0.930312}, {0.610179, 0.011804}, {0.637391, 0.730488}, - {0.887057, -0.039574}, {-0.596744, 0.306742}, {0.693533, -0.788946}, - {0.358266, -0.635755}, {-0.103668, 1.012763}, {-0.409437, 0.643533}, - {0.623653, -0.403418}, {0.974759, -0.268196}, {0.726314, 0.552070}, - {-0.209079, -0.180960}, {-0.253123, 0.174441}, {-0.343619, -0.120766}, - {0.153239, -1.407465}, {0.003501, -0.301579}, {-0.565188, 1.263652}, - {0.256238, 0.366026}, {-0.196671, 0.887337}, {-0.842150, 1.461294}, - {-0.109778, -0.496130}, {0.715528, -0.835101}, {-0.091186, 1.525347}, - {1.127749, 0.614371}, {0.816348, 0.223844}, {0.088529, 0.545457}, - {0.681807, -0.374392}, {0.497116, 0.065098}, {1.063631, 0.330052}, - {-0.473036, 0.034874}, {-0.157862, -0.001305}, {0.434218, 0.197264}, - {-0.550799, 0.054486}, {0.973037, 0.002784}, {0.493822, 1.160678}, - {0.413581, 1.777586}, {0.337161, 0.056664}, {-0.209438, -0.856569}, - {0.312104, -0.137281}, {-0.812145, -1.333425}, {-0.687317, 1.281605}, - {0.245950, 0.130437}, {-1.137658, -1.119996}, {-0.321589, -0.976619}, - {1.042918, 0.688281}, {0.126441, -0.281123}, {-0.690719, 0.538968}, - {0.814742, 0.984337}, {0.800806, 1.660842}, {0.253362, 0.679494}, - {0.289842, 0.084567}, {0.065649, -1.313600}, {1.285205, 0.734431}, - {0.200443, -0.037244}, {1.168457, 0.074900}, {0.726807, -0.504987}, - {-0.246237, -0.309694}, {-0.030608, 0.807033}, {-0.040489, -0.022902}, - {-0.102770, -0.193521}, {0.760273, -0.024193}, {0.153393, 0.638818}, - {-0.049047, 0.072808}, {-0.751583, 0.168734}, {-0.163908, -0.509905}, - {0.673933, -0.014424}, {-0.833475, -1.008629}, {-0.590986, -0.105231}, - {0.643961, 0.628600}, {0.438267, 0.052614}, {0.110321, 0.046113}, - {-0.517915, 1.355916}, {0.868033, -0.159152}, {0.371602, -0.857592}, - {-0.419888, -0.337480}, {0.558052, 0.219982}, {-1.131058, -1.257138}, - {0.733544, 0.933340}, {-0.646570, -0.253332}, {-0.419020, 0.398702}, - {1.839728, -0.458298}, {0.357707, -1.077159}, {0.104771, 0.546341}, - {-1.056007, -0.099425}, {-0.111075, -2.042791}, {0.053667, 1.959269}, - {0.389828, -0.320662}, {1.618109, 0.681527}, {0.103634, -1.050246}, - {0.915626, 0.011762}, {1.378525, 0.843142}, {-0.180366, -1.548472}, - {0.582354, 0.761079}, {-0.022354, -0.375777}, {-0.465816, -0.153786}, - {0.803733, 1.015041}, {-0.844731, -0.505638}, {0.629193, -0.387865}, - {-0.170733, 0.143273}, {-0.240827, 0.231065}, {-1.250344, -0.026121}, - {-0.388932, 0.564174}, {0.216054, -0.002170}, {0.232108, 1.522422}, - {0.519424, -0.502575}, {-0.052313, 0.444903}, {-0.705677, -0.812735}, - {-1.176015, -1.380785}, {-1.723397, -0.849389}, {-0.225763, -0.831275}, - {-0.102199, -0.389384}, {0.320482, -0.065426}, {0.050518, -0.353202}, - {0.095464, 0.245600}, {0.610228, -1.495030}, {0.499674, 0.301388}, - {0.079124, -0.689882}, {-0.176226, 0.270693}, {0.591074, -0.395837}, - {0.962485, 1.108556}, {-0.376415, 1.325772}, {1.593700, -1.306007}, - {-0.669529, 0.727318}, {0.730542, -0.798588}, {-1.006559, -1.222182}, - {0.105828, -0.657938}, {-0.965177, -0.739113}, {-0.235450, 0.413555}, - {0.384625, -0.100571}, {1.362594, -1.289672}, {1.236262, 0.729084}, - {0.648425, -0.684215}, {0.986055, -0.194520}, {-1.152769, -0.783978}, - {0.576223, 0.548201}, {0.097504, -0.259566}, {-0.360024, 0.723081}, - {0.607059, -1.003423}, {-0.227951, -0.734850}, {-0.294650, -1.235194}, - {0.193334, -1.675714}, {-0.767385, 0.618813}, {0.098473, -1.515022}, - {0.358150, -0.135228}, {1.113325, 1.368268}, {-0.151595, -0.246173}, - {-1.570232, -0.023322}, {-1.226877, -0.155807}, {1.879898, 0.177321}, - {1.050730, -0.192028}, {0.075023, 0.738806}, {0.439378, 0.159967}, - {-0.870739, -0.053774}, {-0.613293, 1.773483}, {1.022477, 0.589100}, - {-1.903232, -0.116118}, {0.130492, 0.364978}, {-0.889512, 0.294264}, - {-0.898750, 0.561895}, {0.251006, 0.804611}, {-0.113566, -0.941961}, - {-0.234088, -0.917563}, {-0.250283, -0.288450}, {-0.907878, -0.094818}, - {-0.881149, 0.528179}, {-1.303454, -0.223259}, {0.206582, 0.221846}, - {-1.571029, 1.443146}, {-0.706678, -0.390482}, {0.141913, 0.510894}, - {0.182936, 0.421928}, {-0.119593, 0.561059}, {-0.744027, 0.428400}, - {-0.152375, -0.959526}, {1.160939, -0.069288}, {-0.076280, 0.162181}, - {0.327619, 0.155115}, {-0.530834, 0.574725}, {-0.430831, -0.101593}, - {0.920280, -0.279728}, {0.031487, -0.263205}, {-0.576176, -0.109081}, - {0.808516, -0.116405}, {1.125426, -0.338095}, {-0.908021, -0.070953}, - {0.115823, 0.531403}, {0.848018, -0.378923}, {-0.380277, -0.804293}, - {-0.373310, 0.893974}, {-0.330087, 0.948002}, {-0.086096, -0.437250}, - {-0.469167, 0.454149}, {0.970617, 0.231241}, {-0.817633, 0.825176}, - {-0.435250, 0.430634}, {1.683802, 0.853621}, {1.351207, 0.235931}, - {-0.050678, -0.032962}, {-0.355436, 0.398207}, {-0.678845, -0.389077}, - {-0.273377, -0.710650}, {-1.210956, 0.678632}, {-0.755085, -0.086894}, - {-1.100352, 0.299255}, {-0.035763, 0.330123}, {0.322939, 1.101242}, - {0.595764, -1.157084}, {-1.243325, -0.664861}, {-1.663768, -0.505836}, - {-1.267451, 0.873669}, {-0.455003, -0.043938}, {0.470999, 0.538119}, - {0.579555, -0.717479}, {-0.802576, 0.421240}, {-0.237682, 0.488393}, - {0.862354, 0.812298}, {0.230856, 0.213576}, {0.141439, 0.509505}, - {0.206889, 0.858483}, {0.026078, -0.546219}, {0.781592, -0.388893}, - {-0.123377, -0.794665}, {0.068495, 1.214323}, {-0.714881, -1.054803}, - {-0.461472, -0.106502}, {0.562470, -0.529948}, {-0.709943, -1.806260}, - {0.774827, 0.627849}, {-0.082874, 0.781436}, {-0.301659, -0.219263}, - {0.608640, -0.139735}, {-0.786892, -1.283778}, {-0.366386, -1.194705}, - {1.061684, -0.463841}, {-0.559144, 0.542831}, {-0.177584, 1.693041}, - {-0.677950, 0.092316}, {0.408613, -0.701200}, {0.245716, -0.034669}, - {0.997366, -0.451955}, {-0.206925, 0.136163}, {0.352996, 1.213371}, - {0.148059, 0.397297}, {1.053839, 0.169786}, {0.573741, -0.636227}, - {0.612745, -0.530977}, {0.516292, 0.150499}, {-0.036636, 1.234072}, - {-0.283012, 0.155921}, {-0.487859, 0.275921}, {-0.763096, 1.543259}, - {-1.012146, 0.104486}, {0.648292, 0.052648}, {1.113207, -1.334106}, - {1.621335, -0.326147}, {0.044245, 1.144835}, {-0.604862, -0.428931}, - {0.208504, 0.480038}, {0.621283, -0.263113}, {-0.268506, -1.286471}, - {-1.190871, -0.981942}, {-0.343443, -0.970982}, {-0.443971, 0.172888}, - {-0.529676, 0.789394}, {-0.747990, -0.355262}, {0.260979, -0.616260}, - {-0.364506, 0.875792}, {0.230262, -0.650448}, {-0.157869, -0.224029}, - {-0.138491, 0.273796}, {-0.337906, 0.142918}, {-1.126425, 1.012362}, - {-0.045829, -1.204217}, {-0.040201, 0.072991}, {0.095082, -0.512595}, - {0.391243, -0.697281}, {0.028836, 0.470680}, {-0.254693, 0.317709}, - {0.527280, 0.185890}, {0.679726, -0.539661}, {0.536096, 0.202399}, - {0.636754, -0.073378}, {-1.635579, 0.303301}, {-0.055276, -0.309005}, - {-0.377681, -0.618366}, {-0.570992, 0.899069}, {0.318571, -1.082007}, - {-0.501136, -0.050577}, {0.463349, -0.492909}, {-0.586518, 1.437252}, - {-1.498805, 0.669497}, {-0.668884, 0.501976}, {0.849874, -0.274321}, - {1.503969, 0.089087}, {0.495296, -0.282796}, {0.643539, -0.319368}, - {-0.003123, 0.503895}, {0.448926, 0.415716}, {1.300971, 1.185440}, - {0.666304, -1.011385}, {-0.501095, -0.437884}, {0.126722, -0.628526}, - {0.602820, 0.306907}, {-1.052462, 1.759648}, {0.804709, -0.383309}, - {-0.783674, 0.703607}, {0.555353, -0.894576}, {0.367530, -1.251446}, - {-0.379656, 1.053925}, {-0.368063, 1.523577}, {-0.512766, 1.220449}, - {0.310470, 1.126447}, {-0.668240, -0.719845}, {1.311328, -0.273581}, - {1.193026, 0.758730}, {0.011468, 0.411093}, {0.679916, 0.227215}, - {0.200297, -0.461842}, {0.203994, -0.360266}, {-1.711995, -0.791191}, - {-0.587169, -0.795622}, {-0.126559, 0.539690}, {-0.311544, 0.215622}, - {0.624084, -0.939499}, {0.451027, 0.963659}, {0.053951, 0.473962}, - {-0.378173, -0.754404}, {-0.483375, 0.169867}, {0.327772, 0.443014}, - {0.438977, -0.918669}, {0.272163, 0.913450}, {-1.148166, -1.651656}, - {0.678756, 0.022641}, {-0.162722, 1.419714}, {-0.442976, -0.324650}, - {-0.101127, -0.176612}, {-0.257379, -0.900592}, {-0.692997, -0.167735}, - {-0.576470, -1.033809}, {0.129483, -0.795888}, {-0.091165, -0.991940}, - {-1.546060, 0.754515}, {-1.955953, 0.823558}, {-0.507420, -0.342439}, - {0.839643, 0.549449}, {1.041734, -0.351442}, {-0.099299, 0.427514}, - {0.396409, 0.685967}, {1.582812, 1.019917}, {0.095047, -1.033650}, - {1.097222, 0.232333}, {0.235403, 0.744469}, {-0.956056, -0.248764}, - {-0.007542, 1.351857}, {0.829327, 0.165330}, {1.934778, 0.740345}, - {-0.042057, -0.505659}, {0.029940, 0.584136}, {-0.660522, 0.974654}, - {0.550707, 0.625208}, {-0.736240, -0.090338}, {-0.773422, 1.383895}, - {0.164752, 0.971219}, {-0.078130, -0.016604}, {1.174557, -0.671066}, - {0.709217, -0.447833}, {1.173960, 0.447247}, {-0.452182, -0.283778}, - {0.221362, 0.238256}, {0.438321, 1.115051}, {0.385345, -0.134963}, - {-0.116907, -0.452026}, {1.326754, -0.143928}, {0.377629, 0.647795}, - {0.706637, 0.054253}, {0.484648, 0.233001}, {0.559643, -0.014661}, - {0.442585, 0.019897}, {-0.481860, 0.319169}, {-1.873430, -0.373696}, - {-1.468880, -0.338588}, {-0.564341, 0.015573}, {0.135980, -1.308351}, - {-0.209918, 0.409567}, {0.134787, 0.555218}, {-0.280328, 0.229205}, - {0.356642, 0.145734}, {1.209981, -0.768739}, {0.323467, 0.471938}, - {-0.538486, 0.833259}, {0.377447, 1.471453}, {-1.542076, 0.534062}, - {0.308006, -0.915789}, {0.667877, 0.838388}, {-1.325876, -0.147813}, - {0.049283, -0.409670}, {0.822751, -0.324401}, {-0.248490, 0.044080}, - {0.397286, -0.527903}, {0.267321, 0.173917}, {0.097825, -0.258165}, - {0.156112, -0.403906}, {-1.493610, -0.584519}, {1.035700, -0.624181}, - {0.193366, 0.367275}, {-0.591444, -0.918827}, {-0.031241, 1.199647}, - {-0.635795, -0.401301}, {0.292380, -1.257504}, {0.790531, 0.283300}, - {-0.612248, -0.856913}, {-0.003711, 0.557474}, {0.046168, 0.504684}, - {-0.258980, -0.145285}, {-0.700174, 0.664606}, {-1.044332, 0.112828}, - {-1.203219, -0.050509}, {-0.098679, 0.681808}, {0.117978, 1.020073}, - {-0.138431, -0.213658}, {-0.373621, 0.314261}, {-1.125660, 0.217905}, - {0.579220, 0.315413}, {0.819870, -0.421409}, {0.215607, 0.366435}, - {-0.391899, -0.353763}, {0.031600, 0.391145}, {0.779146, -0.001210}, - {-0.371743, 0.236842}, {0.044205, 0.077276}, {-0.029682, 0.564854}, - {-0.803910, 0.609822}, {0.083413, -0.621601}, {-0.569837, -0.201887}, - {-1.037479, 0.198802}, {0.870755, -0.457554}, {-0.644685, 0.562159}, - {-0.368567, -0.571753}, {-0.908622, 0.593380}, {-0.022836, -0.725834}, - {-0.212127, 0.760100}, {0.182831, -0.768164}, {1.377295, 0.894573}, - {-0.388203, -1.179584}, {-0.366572, 0.592177}, {-1.357572, 1.221986}, - {-1.467493, 1.254612}, {0.728275, 1.398245}, {0.270538, -0.980435}, - {-0.109704, 0.391466}, {-0.819701, -0.282182}, {-1.576902, -0.264228}, - {-0.293211, -0.354652}, {0.932537, 0.499530}, {0.124587, 0.187973}, - {-1.182933, 0.450079}, {0.045172, 0.295898}, {-0.952133, -0.026615}, - {-1.077399, 1.492134}, {2.165598, -0.025851}, {0.615697, -0.448814}, - {0.371116, 0.104843}, {-0.637342, 0.743420}, {-0.339935, 1.886651}, - {-0.118879, -0.518939}, {-1.136926, 0.479470}, {0.151684, 0.264658}, - {-0.017438, 0.081592}, {0.013367, -0.432744}, {0.818175, -0.660425}, - {0.169977, 1.246542}, {0.046875, -0.572609}, {0.971265, 1.007843}, - {0.552874, -0.763970}, {0.402362, 0.688291}, {-0.177514, 0.862440}, - {0.727237, 0.600365}, {-0.123267, -0.320214}, {-0.973245, -1.093332}, - {-0.622050, 0.480692}, {0.850534, 0.250697}, {1.435793, -1.334161}, - {-0.297031, -1.179966}, {0.304224, 0.432995}, {-0.319411, 0.044257}, - {-0.130799, -0.801940}, {0.073259, -0.088438}, {-0.115683, 0.651869}, - {-1.284032, 0.744815}, {-0.572874, 1.298015}, {0.284922, -0.246805}, - {0.516957, 0.398332}, {-0.407991, -0.949022}, {0.136622, 0.969059}, - {0.040189, -0.190255}, {-0.287121, -0.074766}, {-0.610242, -0.365421}, - {-0.695631, 0.472487}, {-0.761210, -1.011743}, {-0.159401, 0.335151}, - {-0.127480, -2.513513}, {-0.621617, -0.001532}, {-0.233636, 0.540107}, - {-0.615082, 0.740370}, {0.728082, -0.745504}, {0.755201, -0.364350}, - {1.455688, 0.113219}, {-0.384111, 1.799205}, {-0.060414, 0.594761}, - {-0.645534, -1.282521}, {1.354648, -0.365049}, {0.700581, -0.261592}, - {-0.420933, 0.412919}, {-0.118914, -0.126970}, {-0.369305, -0.651979}, - {0.833302, -0.776442}, {-0.889951, 0.333417}, {0.717829, 0.832634}, - {-0.780598, -0.353698}, {-0.126353, 0.156872}, {-0.870306, -0.186695}, - {0.188068, -0.272942}, {-0.853431, -0.099724}, {-0.972554, -0.599254}, - {-1.109184, -0.599650}, {0.911559, 0.240889}, {-0.351639, -0.044241}, - {0.189684, -1.491880}, {0.667445, -0.069260}, {0.369786, -0.124370}, - {0.521743, -0.479616}, {-1.023666, 0.709321}, {-0.009410, -1.304473}, - {0.457866, -0.753617}, {0.514681, -1.122756}, {0.052715, 0.047106}, - {-0.308785, -0.058814}, {-0.543798, 0.853832}, {0.057451, 0.111738}, - {0.023706, 0.449120}, {0.854094, -2.321072}, {-1.288841, 0.610626}, - {1.070943, 0.900281}, {-0.314136, 0.986491}, {-0.484965, -0.906231}, - {-0.534703, -0.786444}, {0.529497, 0.880418}, {-0.594563, -0.523274}, - {-0.714857, -0.819102}, {0.846788, -0.989649}, {-0.535982, 0.146718}, - {-0.205090, -1.063691}, {0.080422, -1.044347}, {0.026911, 0.228324}, - {1.491431, 0.321161}, {0.661557, -0.309540}, {0.438783, -0.302408}, - {0.264915, 1.176531}, {0.410967, -0.019055}, {0.147043, -0.649251}, - {0.492513, -0.013112}, {0.332999, -0.478951}, {0.068906, 0.560099}, - {-0.486798, -0.215182}, {-0.415900, 0.858515}, {0.705293, 1.097754}, - {-0.154359, 0.384802}, {-0.221449, -0.178315}, {-0.575917, 0.074498}, - {0.146447, 0.313370}, {0.126790, 0.398399}, {0.289635, -0.126919}, - {-0.074227, -0.213796}, {-0.065885, 0.678123}, {0.656923, 0.499602}, - {-0.564350, -0.575801}, {-0.629272, 1.852769}, {-0.652193, -1.012536}, - {0.935159, 0.505553}, {0.010577, 0.401854}, {0.400071, 0.797892}, - {-0.638037, 0.362640}, {-1.348614, -0.440950}, {0.377069, -0.621824}, - {0.782456, 0.777046}, {0.279392, -0.409277}, {-0.093743, -0.882047}, - {0.432319, -0.202289}, {-0.854399, 0.269268}, {-0.569395, -0.550870}, - {-1.305619, -0.766131}, {0.399734, 0.356151}, {-0.587518, 0.990603}, - {-0.461472, -0.854095}, {-0.776429, 1.123592}, {-2.094551, 0.016854}, - {-0.852694, -0.164675}, {-0.752425, -1.146923}, {0.235446, 0.097446}, - {-0.191573, 0.584031}, {0.036355, 0.837690}, {0.950405, -0.468673}, - {0.022319, 0.946512}, {-0.666949, 0.540367}, {-0.517209, -0.408994}, - {-1.497582, 1.429821}, {-1.424709, -0.265863}, {1.067800, -0.018164}, - {-0.403612, 0.521463}, {0.520736, 0.179845}, {1.558446, 2.297753}, - {-0.611957, 0.341035}, {0.574676, 0.189530}, {0.258192, -0.367458}, - {-0.515869, -0.068053}, {0.320528, 0.981756}, {0.756459, 0.855889}, - {-0.436195, 0.505209}, {-0.197706, -0.042505}, {0.570348, -0.442366}, - {0.618202, -1.234316}, {-0.246493, 0.145392}, {0.249191, 0.204177}, - {-0.504036, -0.337933}, {0.265983, 0.156993}, {1.010411, -0.820082}, - {0.967946, -1.061406}, {-0.994254, 0.516854}, {0.246911, -1.559882}, - {-0.224508, -1.563141}, {-0.420039, -0.552007}, {0.078066, -0.074774}, - {-0.203336, -0.297024}, {-0.109335, 0.225023}, {1.250758, -0.808705}, - {-1.025240, 0.921113}, {0.077180, 1.828942}, {-0.881796, -0.755137}, - {-0.091333, -1.279348}, {-0.062119, 0.378901}, {-1.499594, 0.831770}, - {-1.371222, 0.612782}, {0.282594, 0.759345}, {0.601033, -0.540685}, - {0.873884, -2.107622}, {-0.413409, 1.183102}, {0.035613, 0.033901}, - {-0.371701, -0.512521}, {-0.390149, 0.589897}, {-0.421352, -0.052553}, - {0.213716, -0.657424}, {-0.090430, -0.071487}, {0.058196, -0.653575}, - {-0.705436, 0.067998}, {-0.053729, -0.957150}, {-0.271140, 0.371048}, - {1.052676, 1.059416}, {1.043681, 0.143528}, {1.356857, 0.687629}, - {0.091930, 1.509739}, {0.339513, 0.792737}, {-0.055242, 1.281981}, - {0.029510, 0.013582}, {-0.120412, 0.188881}, {-1.249855, -0.851677}, - {-1.079515, -0.452445}, {0.393657, -1.150160}, {-0.008601, -0.141600}, - {0.225137, 0.963209}, {-0.201913, 0.770309}, {-0.791302, -0.165032}, - {0.517454, -1.029753}, {-0.607919, -0.209344}, {0.527461, -0.735633}, - {-0.266679, -0.286525}, {-1.703636, -1.176549}, {-0.200180, 0.435851}, - {0.269835, 0.613393}, {0.745864, -0.434237}, {0.471439, 1.529898}, - {0.363553, -0.002981}, {-0.338163, 0.906062}, {0.883375, -0.307422}, - {-1.120693, -0.268472}, {1.221899, 2.130810}, {0.141656, 0.031991}, - {-1.233096, 0.667534}, {0.624299, 0.425867}, {-0.170222, 0.592248}, - {1.076470, 1.444681}, {-0.183938, 0.142772}, {-0.821524, -1.008571}, - {-0.146813, 0.404454}, {0.684416, -1.073105}, {1.117901, -0.560429}, - {0.530161, -0.027038}, {-0.253069, -1.639337}, {-0.717668, -1.081437}, - {0.653127, 0.114892}, {0.095271, 0.140140}, {-0.053616, 0.987509}, - {-0.122837, 0.191773}, {-0.706302, 0.420038}, {1.186340, 1.028863}, - {-0.117144, -0.018757}, {1.239061, -0.216330}, {0.295645, 0.318719}, - {-0.287663, 0.752288}, {1.436414, 1.607598}, {-1.174806, 0.781807}, - {0.919130, 0.760221}, {-1.465950, -0.301338}, {-0.028985, 0.532472}, - {0.108693, 0.221737}, {-0.679071, -0.035699}, {0.046814, -1.058415}, - {0.343905, 0.344772}, {0.570854, 0.524909}, {0.315360, 0.196929}, - {-0.434684, 1.005404}, {-0.404268, 0.684464}, {-0.747997, -0.269495}, - {-0.358844, 0.247169}, {-0.714708, -0.157657}, {1.004165, 0.448171}, - {-1.235014, -0.550712}, {0.442388, -0.935624}, {0.702100, -0.807752}, - {0.358939, -0.783201}, {-1.133754, -0.837761}, {-0.467297, -0.165956}, - {1.008790, 0.066224}, {-0.272849, 0.330043}, {-1.966277, 1.246796}, - {-0.917265, -1.017836}, {-0.027061, -0.299158}, {1.124767, -0.984969}, - {0.146385, 1.049555}, {0.558241, 0.085019}, {-0.158555, -1.463400}, - {-0.133509, -0.671532}, {0.666487, -0.563999}, {0.656119, 0.119249}, - {1.041716, 0.447584}, {-0.025932, 0.527085}, {-1.593675, -0.940512}, - {0.218719, 0.224522}, {0.858700, -0.400714}, {-1.323566, -1.320280}, - {-1.019153, -0.525948}, {1.737703, 0.326414}, {-0.638443, 0.055007}, - {0.086753, 0.243740}, {-0.885970, 0.377519}, {1.184245, 0.505174}, - {0.202493, -0.306676}, {1.189207, -0.823331}, {0.398937, 0.120145}, - {-0.646384, 0.314075}, {-1.137885, -0.095339}, {0.948864, -0.716966}, - {0.463843, -0.358252}, {0.980654, -0.901849}, {-1.215558, -0.298514}, - {0.270095, 0.365947}, {0.140718, -0.306677}, {0.587339, -0.550040}, - {0.855364, -0.692435}, {-0.456061, -0.045239}, {0.462259, -0.725169}, - {0.724895, 0.455988}, {-1.028200, -0.257751}, {-1.072973, -1.142716}, - {-0.576397, -1.548709}, {-0.284426, 0.134787}, {-1.039392, 0.502217}, - {-0.217312, -0.180047}, {0.694919, 0.186815}, {-0.847320, -1.048344}, - {-1.022385, -0.565583}, {-0.660343, 0.410869}, {-0.718115, -0.544506}, - {-0.182651, 0.469230}, {-0.231679, -0.362006}, {-0.015608, 0.083363}, - {1.222271, -0.723882}, {-0.508861, -0.822197}, {-0.902930, 0.636436}, - {0.112424, -0.324648}, {0.315799, -0.188587}, {1.024169, -0.474601}, - {-1.152947, 0.595031}, {0.902782, -0.236906}, {-0.241519, 0.977620}, - {-1.518523, -0.585001}, {-0.000930, 0.727162}, {0.877585, 1.068244}, - {-1.638870, -0.206063}, {1.408922, -0.130538}, {-0.523389, -0.811424}, - {0.101777, 0.366629}, {1.289354, -0.426427}, {0.604590, -1.337170}, - {-0.058429, 1.861749}, {-0.561091, -0.637419}, {0.424127, -0.323688}, - {-0.081614, -1.449043}, {0.968017, 0.267704}, {0.108011, 0.499381}, - {0.170847, -0.487345}, {-0.458183, -0.767461}, {-0.039893, 0.250217}, - {0.131645, -1.086087}, {0.161841, 0.342612}, {-1.600553, 0.342165}, - {0.541176, 0.414102}, {0.409636, 0.349951}, {1.204189, -1.086040}, - {0.350477, 0.682488}, {-0.721238, 0.208825}, {0.428534, -0.790265}, - {0.121097, -0.359704}, {1.361358, 1.230809}, {-0.384294, 0.472650}, - {0.145290, -0.174952}, {-0.046377, -0.107608}, {-0.383656, 0.796097}, - {1.031273, 0.264224}, {1.167621, -0.300218}, {-0.292386, -0.318581}, - {-0.335417, -1.144967}, {-0.648088, -0.289108}, {-0.068185, -0.682794}, - {0.894230, 0.285057}, {-1.260050, 0.086270}, {0.247349, 0.104827}, - {0.007993, 0.124410}, {-0.089590, -0.563814}, {1.509332, -1.875702}, - {-0.076540, 1.065093}, {0.316001, -0.172131}, {0.102151, -0.953328}, - {-0.190367, 0.254101}, {0.255213, 1.104178}, {0.291825, -0.052904}, - {-1.058847, -0.004168}, {-0.293184, -0.372100}, {-0.420888, 0.496658}, - {0.646020, 0.472691}, {-0.568856, -0.424865}, {-0.822198, 0.342074}, - {0.566707, -0.906916}, {0.880532, -1.481777}, {-0.158097, 0.395299}, - {-0.169400, -0.308643}, {-0.420999, -0.995964}, {-0.134220, -0.451067}, - {-0.560854, -0.358684}, {0.533672, 0.609505}, {0.225296, -0.259670}, - {0.136387, 1.320238}, {-0.143082, -0.656944}, {-0.039519, -0.440310}, - {0.064516, -0.216104}, {0.327496, -1.720161}, {1.222967, 0.133978}, - {0.344704, -0.992218}, {-0.298720, 1.336461}, {0.910618, 0.343415}, - {0.792131, -0.077562}, {-0.078523, 0.161363}, {0.419388, 0.354756}, - {-1.022862, -0.528513}, {0.024169, 0.636111}, {-0.121226, 0.869259}, - {0.269960, 0.147618}, {-0.173962, -0.286819}, {-0.610308, -0.112641}, - {1.516570, 0.220792}, {0.067268, -0.929080}, {0.140334, 1.330344}, - {0.126366, -1.081471}, {-0.243734, -0.118978}, {-0.277617, -1.194380}, - {-0.682716, 0.298833}, {-1.288838, 1.513837}, {-1.077710, -0.288363}, - {0.353844, 0.331654}, {-0.496007, -0.449799}, {0.674501, -0.901818}, - {-0.425209, -0.743499}, {-0.493533, -0.014724}, {-0.126484, -0.166360}, - {0.321523, -1.190012}, {-0.243319, 0.253336}, {-0.324947, -0.463787}, - {0.224061, -0.778740}, {-0.022366, -0.614416}, {-0.104315, -0.614804}, - {0.416559, 0.514345}, {-0.380783, -0.071819}, {1.224245, -0.170595}, - {0.668510, 0.088242}, {0.011928, -0.606299}, {-1.276925, -0.185928}, - {1.427795, 0.603522}, {-0.687761, -0.603504}, {-0.132693, -0.457303}, - {-0.680173, -0.865798}, {-0.251745, -0.935759}, {0.444854, -0.248104}, - {0.068890, 0.189164}, {-0.218620, -1.194219}, {0.102438, 0.748316}, - {0.626796, -0.085816}, {0.382283, 0.477754}, {-0.055020, -0.453327}, - {-0.629663, -0.255501}, {-0.314275, -0.853495}, {0.153019, 0.700717}, - {0.819287, 0.714535}, {0.078689, -0.639930}, {-0.470512, -0.225320}, - {0.479791, 0.944982}, {1.631216, 1.256571}, {-0.936889, 0.646269}, - {-0.494894, 0.683656}, {0.921918, 0.268295}, {0.561338, 0.520386}, - {0.414373, 1.463005}, {0.760467, 0.214625}, {0.964109, -0.139284}, - {-0.587657, -0.930694}, {0.299208, 0.117574}, {-0.452623, 1.080372}, - {-0.206742, -0.027465}, {-0.995999, 0.131516}, {-0.409115, -1.251451}, - {0.286588, 0.339968}, {0.248896, 0.976740}, {-0.600229, -1.037789}, - {1.217989, -0.829786}, {-0.533772, -0.390166}, {-0.252891, 0.090843}, - {0.830241, -0.674900}, {-0.305120, -0.830369}, {-0.491488, 0.649178}, - {0.438337, -0.155879}, {-0.355961, 0.587665}, {0.504438, 0.139915}, - {0.729127, -0.183104}, {0.107723, -0.278060}, {0.688445, 0.756468}, - {0.393728, -1.411304}, {0.536781, 1.086957}, {-0.520090, -0.203326}, - {0.533082, -0.846444}, {-0.394528, 0.670604}, {-0.382789, -0.861758}, - {0.250303, 0.478741}, {-0.327998, 0.777437}, {0.733849, -0.765777}, - {-0.089826, -1.110802}, {-0.206186, -0.678356}, {0.386616, 0.326163}, - {0.525415, -1.219435}, {0.133794, 0.344521}, {0.004897, -0.582482}, - {-0.750436, -0.832588}, {1.048079, -0.016272}, {1.705627, 0.415836}, - {1.430775, 0.468125}, {0.131126, -0.137068}, {0.835151, -0.271749}, - {-0.298794, 0.661111}, {-1.031776, -0.466190}, {0.920307, 0.012391}, - {0.714790, 0.765926}, {0.049065, 1.311591}, {-0.718093, -0.406004}, - {0.398720, -1.039662}, {-0.246073, 0.103843}, {-0.710795, 0.507890}, - {0.091547, -0.294237}, {1.265596, 0.506513}, {0.247169, -0.808032}, - {0.329468, -0.429356}, {0.401651, -1.497002}, {-0.915131, 0.517771}, - {-0.158804, -1.010671}, {0.337866, 0.270349}, {-0.334280, -0.437324}, - {0.587549, -0.839959}, {0.609462, 0.218756}, {0.663163, 0.295161}, - {0.199296, -0.011211}, {0.336088, -0.804984}, {-0.689722, 0.139018}, - {1.805106, 0.071002}, {0.012271, -0.185305}, {-0.242626, 1.069228}, - {-0.001816, -0.770260}, {1.082567, -0.538776}, {-0.300932, 0.408739}, - {0.673658, -0.546763}, {-0.522996, -0.593263}, {0.783541, 0.018982}, - {0.129059, 1.126919}, {0.089440, 0.382453}, {-0.027288, 0.112335}, - {0.207647, -0.722367}, {-0.570810, 0.360483}, {0.285651, -0.252501}, - {0.723943, 0.093512}, {0.112908, 0.175056}, {-0.488045, 0.285721}, - {-0.059020, -0.037746}, {-0.512124, -0.099456}, {-0.349365, -0.609648}, - {0.107796, -0.112698}, {-1.477146, 0.619852}, {0.417878, 1.275517}, - {0.029314, -0.196885}, {0.570071, -0.086919}, {0.249916, 0.287204}, - {0.383593, 0.201145}, {0.114623, 0.900762}, {0.682162, -0.223562}, - {0.322560, 0.917578}, {0.750428, 0.353774}, {-0.948208, 0.123629}, - {0.768450, 0.085982}, {1.272772, 0.309070}, {-0.439142, -0.382147}, - {-0.008128, -1.247159}, {0.009078, -0.697620}, {0.007060, 0.961034}, - {0.129413, 0.505956}, {-1.910256, -0.665300}, {0.069935, -1.173748}, - {-0.120057, 0.181999}, {0.399439, -0.688444}, {0.284874, 0.541595}, - {0.285854, 0.693654}, {-0.001666, -0.103849}, {-1.224582, 1.329128}, - {-0.648986, 0.890249}, {-0.388631, -0.337343}, {-0.610412, 0.675449}, - {0.271354, -0.522851}, {-0.469737, 0.289745}, {-0.135145, 0.094711}, - {0.391914, 0.360719}, {-1.432849, -0.395919}, {0.718524, 0.095473}, - {0.971875, 0.020463}, {0.321075, 1.646243}, {-0.198847, -0.236427}, - {1.874800, -0.097315}, {-0.243075, -0.495529}, {0.920510, 0.609915}, - {0.471311, -2.079300}, {-0.581785, -1.219514}, {-0.280604, 0.335288}, - {0.744908, 1.156712}, {1.065821, 1.187737}, {0.063306, 0.219678}, - {0.149226, 0.523140}, {-0.223783, -0.203258}, {-0.453659, -0.055288}, - {-0.577265, 0.580418}, {-0.394131, 0.807998}, {-0.805989, 0.389628}, - {0.497947, 0.244122}, {0.156364, 0.586017}, {-0.824797, 1.008399}, - {0.152007, -1.426285}, {0.515238, 0.477685}, {-0.477381, 0.117855}, - {-0.950519, -1.318016}, {0.420935, 0.940154}, {-1.026912, -0.466710}, - {-0.582401, 0.139818}, {-0.549374, -0.236186}, {0.644767, -0.465686}, - {0.830889, -0.265762}, {-0.144430, -0.761845}, {-0.128806, -1.521828}, - {-0.372228, -0.069244}, {-0.492768, 0.219460}, {-0.490296, 0.354823}, - {-0.848195, 0.898729}, {0.865969, -0.571089}, {-0.454317, 0.699749}, - {0.042831, -0.315084}, {-0.285471, -0.292725}, {-0.534360, 0.172237}, - {0.689555, 0.264977}, {0.815292, -1.505314}, {0.497006, -0.098925}, - {0.298728, 0.364288}, {0.136240, 0.303815}, {0.283923, 0.596503}, - {0.114502, -0.238589}, {-0.297723, 0.385486}, {-0.316969, 0.430939}, - {0.040942, -0.313941}, {-0.289333, 0.351903}, {0.896973, 0.079274}, - {-0.268520, 0.041966}, {1.030958, -0.635246}, {-1.875177, 0.592061}, - {-0.430594, -0.653622}, {0.267462, 0.655383}, {-0.514834, 1.076798}, - {-0.097106, 0.538920}, {0.013117, 0.662483}, {0.644666, 0.595031}, - {-0.117338, 0.439290}, {-0.357636, -0.677673}, {-0.088865, -0.231393}, - {0.965777, -0.113227}, {0.220975, 0.768523}, {-0.828622, 0.050192}, - {-0.240097, -0.029707}, {-1.058309, 1.038959}, {-0.570250, -0.924301}, - {-0.262456, -1.462101}, {-1.228857, -0.142778}, {0.469875, 0.739288}, - {1.100930, 0.341907}, {0.672967, -0.393436}, {0.518804, 0.496781}, - {-0.142314, 0.761519}, {0.125922, -0.550510}, {-0.348100, -0.273610}, - {-0.427612, 0.061501}, {0.256513, 0.747116}, {-0.059648, 0.168510}, - {-0.913990, 0.875762}, {-0.802038, 0.135093}, {0.203664, -0.374754}, - {0.469188, -0.636419}, {0.809588, 0.460623}, {0.113743, 0.524456}, - {-0.272354, -0.854766}, {0.022865, 0.418124}, {-0.133409, 0.060661}, - {1.539998, -0.517456}, {-0.645522, -0.426623}, {-0.371401, -0.661202}, - {-0.122534, 1.261750}, {0.093323, -0.383381}, {0.134252, 0.902849}, - {0.511477, 1.313929}, {0.099273, 0.514895}, {-0.058003, 0.969434}, - {-0.141294, -0.471783}, {-0.429620, -0.154513}, {-0.287361, -0.442306}, - {-0.336878, -0.062789}, {-0.605904, 0.102936}, {-0.142869, -0.443398}, - {1.535686, 1.529627}, {0.367539, 0.095620}, {0.212680, 0.531485}, - {0.604709, -0.251699}, {-0.161790, -0.242223}, {-0.575133, 0.475413}, - {0.007935, 0.138656}, {-0.156317, 0.351535}, {1.107248, 1.232089}, - {-0.269558, 0.504884}, {0.074465, -0.942669}, {0.141073, -0.429191}, - {-0.269876, 0.330541}, {-0.209983, 0.505994}, {0.562585, 1.614445}, - {0.439637, -1.675931}, {0.030853, -1.163880}, {0.304423, 1.022936}, - {-0.327022, -0.504994}, {1.936745, -1.338733}, {-0.351500, -0.385984}, - {-0.563641, -0.826557}, {-0.380570, 0.789590}, {-0.148708, 0.255027}, - {-0.888800, -1.395291}, {0.632760, -0.463043}, {0.234656, 0.303244}, - {0.116743, -0.473395}, {0.271851, 0.175900}, {-0.552514, -0.338339}, - {0.691982, 0.143707}, {-0.976338, 0.662087}, {-0.504830, 0.685742}, - {-0.264117, -0.307242}, {0.511863, 0.356987}, {0.055412, -1.049023}, - {0.191737, 0.267756}, {0.231510, -1.056609}, {0.204476, -0.636612}, - {-0.133734, 1.938848}, {0.255605, -1.483930}, {1.011052, 1.161027}, - {0.898627, 0.805878}, {-0.213312, 0.436263}, {0.755626, 0.187831}, - {-0.762523, 0.657359}, {0.036146, 0.739059}, {-0.116160, -0.417153}, - {-0.150632, -0.670163}, {0.418430, -0.878027}, {0.525073, -0.538173}, - {-0.370425, -1.117374}, {-0.757346, 0.213995}, {-0.208166, -0.014412}, - {1.041135, -0.440021}, {0.745159, -0.655492}, {0.075926, -0.175046}, - {-0.667127, -1.402322}, {-0.420118, -0.660770}, {-0.911100, -0.316687}, - {-0.103679, 0.220340}, {-0.660715, -0.765549}, {-1.825846, 0.383159}, - {-0.802056, -0.280138}, {-0.373981, 0.538737}, {-0.426700, 0.773436}, - {-0.163357, 0.074898}, {1.227122, 1.422060}, {1.288474, -0.542456}, - {-1.032935, 0.639189}, {0.437950, -0.087142}, {0.475027, -0.968816}, - {0.165371, 0.564307}, {-0.510503, -0.411686}, {-1.231209, -0.637638}, - {1.256137, -0.449882}, {-1.522424, -0.184787}, {-1.028042, 0.985088}, - {1.030749, -0.439651}, {-0.387196, 0.411551}, {1.188856, 0.408318}, - {-0.587327, -0.142216}, {1.135026, -0.262557}, {-0.508316, -0.762131}, - {-0.149100, 0.280352}, {-0.951866, 0.279302}, {-0.604205, -0.672315}, - {1.600248, -0.457873}, {0.569092, 0.161693}, {-1.152617, 0.488698}, - {0.409741, 0.570698}, {-0.507684, -0.112046}, {-0.748483, 1.030598}, - {-0.076532, -0.294944}, {0.270334, -0.074069}, {0.758352, 0.152663}, - {-1.269700, 0.914973}, {-0.730966, 0.274066}, {-1.529546, -0.878928}, - {-1.992355, -0.301284}, {-0.645659, 0.223827}, {-1.002499, 0.318252}, - {0.165309, -0.639122}, {-1.019766, 0.307431}, {0.679903, -1.055646}, - {-0.003741, 0.179578}, {0.256276, 0.808911}, {1.114403, -1.010407}, - {-1.146745, -0.331667}, {0.404155, 0.383710}, {-0.237773, 0.921262}, - {1.885775, 0.430458}, {-0.818223, 0.346674}, {-0.078311, 0.863722}, - {-0.428592, 0.254773}, {0.534155, 0.809113}, {1.383017, 0.888617}, - {-0.515986, -0.599548}, {0.212821, -0.000715}, {-1.206773, 0.526967}, - {0.014093, 0.006118}, {0.158839, -1.216860}, {-0.027659, 0.926053}, - {0.019575, 0.165710}, {0.197453, -0.230582}, {1.261566, 0.802630}, - {0.197086, 0.008144}, {0.059366, -1.335864}, {0.762630, 0.316835}, - {0.094044, 0.216878}, {-0.061064, 0.344751}, {1.017651, -1.442284}, - {0.827257, 0.377237}, {-1.187013, -0.462500}, {0.582280, -0.502331}, - {0.744537, -1.480232}, {-0.629860, 0.197390}, {0.059392, -0.392031}, - {-0.574393, 0.117983}, {0.129667, -0.171614}, {-0.108789, -0.144976}, - {-0.289720, 0.028863}, {-0.236768, 0.375456}, {-0.026387, -0.120244}, - {-0.494994, 1.099108}, {-0.243313, -0.271767}, {0.887063, -0.199488}, - {-1.520577, 0.158127}, {1.002710, -0.502214}, {-0.690706, -0.243567}, - {-1.318276, -0.321401}, {-0.458306, -0.366136}, {-0.120988, 0.372985}, - {-0.278336, 0.750513}, {-0.430248, 0.203486}, {-0.431980, 0.898660}, - {0.147149, 0.183560}, {-0.761892, -0.033976}, {0.544541, 0.195048}, - {-1.004320, 0.048136}, {0.445875, 0.124557}, {0.819350, 0.116228}, - {-0.074228, -0.359250}, {0.149207, 0.639891}, {0.338190, 0.705314}, - {0.771753, 0.452919}, {0.713768, -0.325439}, {0.792008, 0.244063}, - {0.619732, -0.670480}, {-0.192255, -0.539623}, {-0.071555, 0.106152}, - {-0.531400, 0.439331}, {0.858087, 0.454744}, {-0.324386, -0.432407}, - {-0.049221, -0.765374}, {0.524452, 0.531419}, {0.003815, 0.508387}, - {-0.841803, -0.132345}, {-0.251592, 0.174575}, {0.134064, -0.846480}, - {-0.380022, -0.772825}, {0.570028, 0.455106}, {0.685860, 0.878152}, - {0.349189, -0.979386}, {-0.870929, 0.582146}, {-0.970770, -0.902920}, - {1.432578, 0.124514}, {-1.833284, 0.491911}, {-0.632608, 0.655085}, - {-0.587920, -0.340920}, {-0.688839, -0.890105}, {0.453233, -1.036321}, - {1.020132, 0.523791}, {0.951761, 0.683777}, {-1.376582, 1.527485}, - {0.236742, -1.750241}, {-0.460403, 0.501992}, {1.020721, 0.229132}, - {1.051587, -0.362471}, {-0.259974, 0.863537}, {0.429171, 1.050911}, - {0.191844, 0.578415}, {-0.231841, 0.432569}, {-0.984387, -0.084837}, - {-0.358412, 0.102102}, {0.878619, 0.582503}, {-0.205932, 0.835352}, - {-0.103196, -0.742711}, {1.284650, -0.553309}, {-0.438278, -0.845167}, - {-0.180808, -0.562684}, {-1.415280, 0.309014}, {1.032654, 1.546299}, - {-0.578971, 0.502129}, {-0.372922, 0.342322}, {-0.601495, -0.396972}, - {0.449218, 1.693786}, {-0.215480, -0.912576}, {-0.305294, -0.068039}, - {1.234584, 0.890927}, {-0.133936, -0.401511}, {-0.029240, -0.508774}, - {-0.446670, 0.056391}, {0.438196, 0.121282}, {-0.235203, -0.016227}, - {0.085158, 0.853693}, {0.589462, -0.003206}, {-0.347001, 1.098295}, - {-0.482088, 0.276294}, {1.115959, 0.104063}, {1.222275, -0.122048}, - {1.131900, -0.401884}, {0.416713, 0.972292}, {0.268957, 0.822470}, - {-0.378075, -0.239070}, {0.678130, -0.622487}, {0.001222, 0.176722}, - {0.515715, 0.556026}, {-0.811341, -0.664363}, {-0.066931, -0.106832}, - {0.259630, -0.482719}, {-1.051136, 0.675293}, {-0.444388, -0.119788}, - {0.307477, -0.014828}, {-0.184077, 0.282394}, {-0.719949, 0.155395}, - {0.689853, 0.466149}, {0.254500, -1.065029}, {-1.153940, 1.026575}, - {-0.724639, 0.811474}, {0.280946, 0.774506}, {1.733286, 0.702247}, - {0.057015, -0.144861}, {1.201717, -0.620823}, {-1.489848, -0.513420}, - {0.007687, 0.478682}, {0.217798, -0.381518}, {0.395505, 0.487883}, - {0.637114, 0.738214}, {-0.696254, -0.017240}, {-0.601473, -0.310016}, - {-0.911395, -0.423135}, {0.943762, 0.871834}, {0.712787, -0.214152}, - {-0.154493, 0.356730}, {0.439694, 2.528324}, {0.511167, -0.597179}, - {-1.077821, 1.509451}, {0.534645, -0.031730}, {0.367335, -0.235827}, - {-1.523038, 0.527418}, {0.337825, -0.714982}, {-0.447831, -0.426621}, - {-1.118101, -0.239219}, {0.531552, 0.943312}, {-1.294295, -0.742653}, - {0.625772, 0.643434}, {-0.277690, -0.187306}, {0.253799, -0.294410}, - {-0.613186, 0.208064}, {-0.188373, -0.612828}, {0.217985, -0.165977}, - {0.588750, 0.477662}, {-0.901009, -0.304080}, {-1.010997, 0.557475}, - {-0.375059, -0.290759}, {0.071666, -0.579673}, {0.210535, 0.735150}, - {-0.448087, -0.526083}, {0.398716, 0.065340}, {0.485392, 1.369999}, - {-0.299177, -1.126727}, {-0.103942, 0.680101}, {0.328730, 0.178544}, - {0.142174, 0.134296}, {0.204866, -0.912750}, {-2.020140, 0.645009}, - {0.177036, -0.288237}, {-0.069950, 1.225832}, {-0.304805, 0.134353}, - {-1.765184, -0.128221}, {-0.393885, -0.444420}, {-1.330829, 0.743254}, - {0.830278, 0.671366}, {0.869670, -0.919906}, {1.211946, -1.221721}, - {0.363820, 0.389598}, {-0.613657, -0.172961}, {0.534523, -0.777950}, - {0.899525, 0.837620}, {0.229674, 0.539808}, {-0.588145, 1.541271}, - {0.526527, 0.218288}, {0.108346, -0.146209}, {0.256885, 0.222342}, - {-0.471906, -0.622017}, {-1.040667, -1.033413}, {1.262585, 0.812615}, - {-0.109457, 1.184248}, {-0.777400, -1.560435}, {0.151619, -0.442552}, - {1.678563, 0.504373}, {-0.589008, -0.440073}, {-0.173452, 0.875637}, - {-0.330927, -0.861614}, {0.529098, 0.754519}, {-0.530484, 0.361856}, - {-0.340118, -0.014196}, {-0.443443, -0.221920}, {-0.295703, 0.775663}, - {0.931839, 0.391841}, {1.227308, 0.357324}, {1.058906, -0.561328}, - {0.379099, 0.857939}, {0.379845, 0.088003}, {2.175076, 0.202864}, - {0.100406, -0.297335}, {0.240141, -0.401507}, {0.578608, 0.265995}, - {-0.515623, 0.946173}, {-0.587795, -0.555286}, {0.383657, -0.195416}, - {0.759589, -0.774641}, {-0.109808, -0.123684}, {0.172620, 1.054034}, - {0.231130, 1.353771}, {0.832332, -0.629704}, {0.736182, -0.815986}, - {1.913341, -0.066831}, {0.548944, 0.930218}, {1.187104, 0.054595}, - {-0.065391, 1.307484}, {-1.032659, -0.304898}, {0.770218, 0.384590}, - {-0.461868, 0.279681}, {0.659794, 1.167296}, {-0.280067, 1.596266}, - {-0.557632, -1.620087}, {0.231064, 0.159401}, {-0.585902, -0.632748}, - {-1.008761, 0.180220}, {-2.136943, 0.182556}, {0.578714, -0.151526}, - {0.468830, -0.370074}, {-0.124409, 0.101686}, {-0.623913, 0.511890}, - {0.603725, -0.110424}, {0.086402, 0.305489}, {0.397162, -0.844066}, - {0.287331, 0.595819}, {0.435615, -0.308301}, {-1.631188, 1.233723}, - {-0.099963, -0.568243}, {-0.069033, -0.553885}, {0.465490, 1.705170}, - {-1.502903, 0.051838}, {0.202618, 0.056840}, {0.690444, 0.625482}, - {0.529718, -0.327767}, {-0.489490, -0.609651}, {0.832393, 1.453277}, - {1.712547, 0.803720}, {0.189576, -1.727333}, {0.907285, -0.228063}, - {1.339552, -0.868890}, {-1.166663, -1.224587}, {-0.379674, 0.609648}, - {-0.573722, -0.147682}, {-0.268252, -0.294019}, {-0.342327, 0.622820}, - {-0.973481, 1.055302}, {0.765404, -0.814623}, {-0.533027, -1.451319}, - {-0.272482, 1.012991}, {-0.542893, -1.562890}, {-0.171077, 0.717300}, - {0.308168, 0.116356}, {0.314240, -0.370956}, {0.804733, -0.334112}, - {0.386616, -0.027912}, {-0.099513, 0.902143}, {-0.123303, 0.843877}, - {1.079426, -0.071035}, {0.598008, -0.248097}, {0.573794, 0.625676}, - {0.290775, 0.601791}, {-0.846620, -0.609600}, {0.441754, 0.374976}, - {-0.292908, -0.310313}, {0.389009, -1.122842}, {-1.994184, -0.597685}, - {-0.288490, -0.137211}, {0.826802, -0.414513}, {0.440020, -0.030550}, - {-0.776099, -0.389480}, {0.554564, 0.554801}, {1.224902, 0.286133}, - {-0.979788, 0.109225}, {1.253196, 0.209456}, {0.251155, 0.753947}, - {0.665114, -0.393747}, {-0.564377, -0.513027}, {1.288081, -2.157011}, - {0.235869, 0.471166}, {-0.406039, 0.027257}, {-0.294357, -0.382251}, - {0.119859, -0.100326}, {-0.458593, 0.981385}, {1.025987, -0.633064}, - {0.615666, 1.604773}, {0.594899, -0.462359}, {0.309323, 0.834967}, - {1.020212, 0.969725}, {-0.195893, -0.386131}, {-0.627758, 0.223954}, - {-1.018009, 0.285884}, {-0.624008, 0.485126}, {0.160685, -0.253051}, - {-1.063582, 1.681213}, {-0.198088, -0.757754}, {0.728279, 0.034337}, - {0.762127, -0.032588}, {0.221347, -0.818478}, {0.269797, -1.110743}, - {-1.210268, -0.495728}, {0.485286, -0.320922}, {-0.155302, 0.041326}, - {-0.402684, 1.638042}, {-0.478496, -0.696576}, {0.857587, -0.932290}, - {-0.479103, -1.444577}, {0.106673, 0.771573}, {0.174064, 0.228316}, - {0.379493, 0.761051}, {-0.573243, -0.279958}, {0.611776, 0.691011}, - {0.437668, 0.574424}, {1.270251, 0.249666}, {0.164892, 0.358455}, - {0.667730, 1.155659}, {0.466743, 0.958982}, {-0.728237, -0.561067}, - {-0.191912, 0.053633}, {-0.319731, -0.092707}, {-0.675490, 0.366198}, - {0.535741, -1.151621}, {-0.343547, 0.839867}, {0.751048, -1.498414}, - {1.666151, -0.356844}, {0.042997, 0.353855}, {0.599371, 0.374659}, - {-0.030844, -0.467997}, {0.527571, -0.170217}, {1.039629, 0.511229}, - {0.139445, -0.375293}, {-0.643767, -0.579323}, {-0.213417, 0.056574}, - {0.868315, -0.291497}, {1.312809, 0.661863}, {-0.239329, -0.350563}, - {0.055933, 1.334509}, {-0.896131, 1.594030}, {-0.843781, -1.287317}, - {0.346229, -0.350082}, {-0.385374, -0.165116}, {0.058133, -0.170327}, - {-0.302902, -0.091267}, {-0.224982, -0.275217}, {-0.639219, 0.182658}, - {1.005439, 0.970002}, {0.302856, 0.157512}, {0.167572, 0.392681}, - {-0.183465, -0.536818}, {-0.276488, 0.932653}, {-0.698586, -0.291830}, - {-0.663474, 0.073177}, {-0.707151, 0.843712}, {0.813781, -0.237099}, - {-0.567100, -0.155201}, {-0.695440, 0.900429}, {-0.507948, -0.238936}, - {0.813905, -1.435846}, {-1.030962, 0.416183}, {0.010413, -0.077815}, - {-0.456217, 0.939060}, {-0.280898, 0.860698}, {-1.059189, -0.026381}, - {0.418985, 0.103886}, {0.243547, 0.263705}, {1.022534, -0.870284}, - {-0.319105, -0.830518}, {0.309283, 0.131609}, {-0.366955, 0.545398}, - {-1.091913, 0.803764}, {0.919995, -1.444688}, {-0.514388, -0.892124}, - {0.046488, -0.043293}, {-0.097040, -0.142277}, {-0.621773, 0.278483}, - {-0.238226, -0.303143}, {-0.239201, -0.202993}, {0.828891, -0.447296}, - {-0.814409, -0.762757}, {0.317636, -0.775188}, {-0.704665, -0.001095}, - {0.190795, -0.410853}, {0.438536, 0.007221}, {-1.275473, 1.581711}, - {-1.032641, 0.427879}, {0.043270, 0.560571}, {-0.310790, -0.295852}, - {-0.322617, -0.582956}, {-0.823786, 0.792678}, {-0.825312, 0.460310}, - {-0.142982, -0.231356}, {-0.107885, 0.006865}, {-0.428315, -0.575707}, - {-0.451766, -1.312755}, {-0.605263, 0.052154}, {-0.858527, 0.472405}, - {-0.147632, 0.851068}, {-0.032356, -0.398183}, {-0.601653, -0.044037}, - {0.037578, 0.212620}, {0.475474, 0.577324}, {-1.937575, -1.393675}, - {0.241383, -0.543812}, {0.300632, -0.384921}, {0.860763, 0.252422}, - {0.040594, -0.371765}, {0.552900, 0.011664}, {-0.353449, 0.312965}, - {0.857064, 1.235445}, {-0.408279, -0.576770}, {0.133850, -0.708734}, - {0.979223, 1.697775}, {-0.859229, -0.252335}, {-1.136499, -0.537318}, - {-0.025246, 0.178310}, {1.169886, -0.131893}, {0.491317, -0.071596}, - {1.485336, -0.526005}, {1.948320, -0.173133}, {0.359882, -0.593865}, - {0.784955, 0.290084}, {-0.367032, 0.564664}, {-0.053053, 0.166978}, - {0.576522, -1.319649}, {0.593626, -0.037716}, {0.330368, 0.727155}, - {0.248306, 0.837877}, {-0.596916, -0.440271}, {-0.031691, 0.753502}, - {-0.427416, 1.496483}, {0.024830, 0.428486}, {-0.251342, -1.094742}, - {0.345125, -0.553380}, {-0.898429, -0.026258}, {0.712027, 0.447699}, - {-1.220289, -0.815846}, {0.262894, 0.251074}, {-0.136647, 0.183869}, - {0.404985, -0.461170}, {0.431711, -1.281842}, {0.163396, 0.332593}, - {-0.552892, 0.335223}, {-0.672727, -0.000601}, {0.044287, 0.469885}, - {0.199923, 0.345696}, {0.723835, -0.177781}, {-0.379719, 0.397453}, - {-0.641487, 1.511009}, {0.061980, 0.031751}, {-0.844554, 0.892103}, - {-0.715934, -1.294866}, {0.173878, -1.451147}, {0.564775, -0.224633}, - {-0.475705, 0.218131}, {1.368321, 2.155638}, {-0.559571, -0.151806}, - {0.367671, -1.069871}, {-0.480085, -0.683981}, {-0.968596, -0.196502}, - {0.088215, -0.398611}, {0.089681, 0.049280}, {0.019565, 0.640091}, - {0.804096, -0.312743}, {-0.029222, -0.817238}, {0.111560, 0.026803}, - {1.124348, -0.247172}, {0.828146, -1.297903}, {0.584710, 1.072408}, - {-1.079120, 0.519528}, {-0.559623, -2.083301}, {-0.013739, 0.168279}, - {0.094835, -0.001691}, {-0.176566, -0.071756}, {0.143178, 0.023358}, - {-1.209996, -0.402923}, {0.502949, -0.787258}, {-0.439794, -0.826874}, - {0.037231, -0.182201}, {0.559047, -0.316920}, {1.353808, -0.063423}, - {-0.184105, -1.087707}, {0.520159, 0.016875}, {0.408005, 0.337109}, - {0.012034, -0.141686}, {-0.116381, 0.989265}, {0.215828, -0.819388}, - {-0.175628, 0.230390}, {-0.392693, -0.773533}, {0.019304, 0.018939}, - {0.019620, 1.129002}, {-0.266461, 0.476351}, {-0.932192, -0.308265}, - {1.087973, 0.187229}, {0.878040, 0.274679}, {-0.967149, -1.149465}, - {0.110062, -0.288712}, {0.410077, 0.016828}, {-1.137827, 0.737936}, - {0.556373, 0.712373}, {-0.136341, -0.106141}, {0.966315, 0.131986}, - {-1.636164, 0.243468}, {1.058806, -0.648276}, {0.211281, 1.021837}, - {-0.200606, 0.108194}, {0.343630, 0.685307}, {0.492227, -0.038799}, - {0.033762, 0.584277}, {0.236607, 0.567255}, {0.680730, 0.758640}, - {-1.029663, 1.126743}, {-1.572466, -0.113236}, {-0.285795, 0.080142}, - {-0.974205, -0.403896}, {1.117339, -0.485668}, {-0.600984, -1.054548}, - {0.893469, -0.995996}, {1.668182, -0.272915}, {-0.209205, 0.453159}, - {0.256428, -0.019136}, {0.333610, 0.511375}, {-1.232951, 0.873284}, - {-0.761203, -0.368131}, {-0.518450, -1.168993}, {0.742393, -0.718962}, - {0.449123, 0.250070}, {0.014006, -0.412005}, {-0.680747, -0.172112}, - {0.116133, -0.562759}, {0.460738, -0.656872}, {0.650550, 0.619822}, - {0.131879, 0.424197}, {-0.553638, -1.742206}, {0.312592, 0.469697}, - {-0.531606, -0.391612}, {1.380083, 1.445451}, {-0.921923, -0.915796}, - {-1.153275, 0.556598}, {-0.161191, 0.501045}, {-0.702263, -0.058096}, - {0.560614, 0.671590}, {0.036180, -0.376868}, {-0.588677, 0.721655}, - {0.621821, -0.164663}, {0.794529, 0.699955}, {-0.719335, 0.651360}, - {0.148510, 0.760655}, {-0.114731, 0.951111}, {0.895827, 0.383900}, - {-0.746435, 0.641606}, {-0.421358, 0.631822}, {0.466984, -0.324033}, - {0.489916, -0.957898}, {0.079711, 0.062274}, {1.246410, -0.778342}, - {-0.318010, 0.318632}, {0.510297, -0.392028}, {1.251361, 1.171531}, - {0.293846, 0.756420}, {-0.909834, -1.088653}, {0.185629, -0.928923}, - {-0.192179, 0.381852}, {0.128132, -0.618807}, {1.135265, 1.096902}, - {1.130910, 0.031333}, {0.189199, -0.530720}, {0.364752, 0.516586}, - {-0.640494, -0.438013}, {-0.554450, 0.002218}, {-1.568253, -0.283404}, - {0.597701, -0.124230}, {1.153399, 0.400638}, {0.290154, -0.118022}, - {-0.394926, 0.335760}, {-0.046594, -1.272174}, {0.520793, -0.596359}, - {0.684737, 1.409372}, {2.146829, -0.595201}, {0.334683, 0.150969}, - {0.037160, 0.579834}, {0.559788, -1.024755}, {-0.268161, -1.685690}, - {-0.777837, 0.327112}, {-0.628273, -0.114822}, {-2.163572, 0.843763}, - {-0.523453, 1.909596}, {-0.390204, 0.742400}, {0.184483, -0.248507}, - {0.492118, 0.308610}, {0.809920, -0.427897}, {0.210169, -0.601697}, - {0.065808, -0.422819}, {-1.259986, 0.023207}, {-1.222129, 0.568027}, - {-0.255664, -0.612253}, {0.228229, 0.962349}, {-1.340872, 1.427331}, - {-0.567869, -1.869379}, {-0.763201, -0.271214}, {-1.445104, 0.226024}, - {-0.645348, 0.310639}, {-0.516378, 0.457223}, {0.261481, -0.723054}, - {0.698503, -0.491313}, {0.002835, 0.081625}, {-1.025465, -0.176307}, - {-0.479908, 0.644662}, {-0.748698, -0.134649}, {0.463082, -1.921004}, - {0.586063, -2.033114}, {-0.458925, 0.394895}, {-0.509606, 0.005512}, - {-0.447751, -1.910113}, {-1.557059, -0.149125}, {0.534921, -0.429562}, - {0.211883, 0.620042}, {-1.527148, 0.587183}, {0.401908, 1.280822}, - {0.031060, 0.420576}, {-0.762789, -0.367085}, {1.175118, -0.820434}, - {-0.478197, -0.370352}, {-0.236025, 0.061470}, {0.686564, -0.585512}, - {-0.237052, 0.253177}, {-0.729385, -0.466642}, {-0.662395, -0.391071}, - {0.273296, 0.506813}, {0.965051, -0.027263}, {0.070026, 1.046618}, - {0.092287, 0.070415}, {-0.908972, -0.539245}, {-0.623800, 1.413496}, - {0.325102, 0.822477}, {-0.518215, 0.034588}, {0.220737, 0.705239}, - {-0.818519, -0.857503}, {-1.388012, 0.171706}, {0.650287, 1.022428}, - {2.412083, -0.776552}, {-0.297618, 1.080676}, {0.467493, -0.420103}, - {-0.059584, -0.053936}, {0.624517, -0.194404}, {0.036811, 1.302039}, - {0.842010, -0.194790}, {0.215698, 0.725725}, {-0.272988, 0.542958}, - {-0.298502, 1.190862}, {0.166648, 0.297913}, {-0.783560, -0.385328}, - {0.351894, -0.279022}, {0.183874, 0.243079}, {0.134334, 0.079331}, - {-0.383688, 0.849714}, {-0.227904, 0.641252}, {0.329318, 0.943028}, - {0.936512, 1.038576}, {0.757479, 0.393397}, {1.478493, -0.037539}, - {-1.189804, 0.402658}, {0.292558, -1.779022}, {-0.284935, -0.366083}, - {-0.386498, 1.453383}, {0.611253, 0.499528}, {-0.251683, 0.181155}, - {0.804380, -0.388200}, {-0.231037, 0.258398}, {0.623782, 0.017725}, - {0.468501, 0.540843}, {0.054289, 1.158843}, {0.109397, 0.089475}, - {0.057510, 0.640870}, {-1.007740, -1.110276}, {0.732886, 0.842128}, - {0.268033, -0.755497}, {-0.031795, -0.214367}, {-0.643266, -0.275480}, - {1.885364, -0.353332}, {1.004060, -1.001434}, {-0.017497, 0.894947}, - {1.829552, 0.069833}, {-0.930362, -0.271928}, {-0.374898, 0.170401}, - {-0.104757, -0.184549}, {1.479948, -0.472800}, {-0.766489, -0.268751}, - {-0.188110, 0.343063}, {-0.068686, 0.373199}, {-0.335110, 0.539789}, - {0.926700, -0.263069}, {-0.060970, 0.075089}, {-0.047239, -2.343455}, - {-0.758616, -0.638756}, {0.194242, 0.628520}, {-0.670422, -0.252502}, - {-0.586947, 1.217569}, {0.325827, 0.180049}, {-1.170374, -0.478935}, - {1.157467, 0.136615}, {0.553874, 0.901300}, {0.489163, 0.191637}, - {0.233215, -0.282606}, {1.394105, -0.595516}, {-0.616522, 0.715078}, - {-0.840391, -0.099596}, {0.539287, -0.316566}, {-0.384641, 1.575414}, - {0.708599, 0.923721}, {-0.728650, 0.399285}, {-0.884493, -0.797352}, - {0.346664, 0.439675}, {-0.912444, -1.014233}, {0.440793, 1.115063}, - {-0.852873, -0.619209}, {0.167686, -0.498302}, {1.288179, 0.409765}, - {1.402931, 0.688458}, {-0.515123, -0.824088}, {0.192950, -0.248628}, - {-0.062076, 0.319169}, {0.488478, 2.046597}, {-0.279347, 0.144513}, - {-0.425342, -0.162927}, {0.794761, 0.950190}, {0.050606, -1.039568}, - {0.258260, 0.371916}, {0.299544, 0.840263}, {1.011669, 1.277889}, - {-0.455175, 0.008475}, {0.006032, 0.495940}, {-0.564037, 0.951911}, - {-0.739710, 0.911333}, {0.288278, 0.246605}, {-0.415489, 0.418020}, - {0.214393, -0.216782}, {-0.258230, 0.012515}, {0.085156, -1.067564}, - {-0.477948, -0.126020}, {0.819553, 0.227472}, {0.218761, 0.118708}, - {-1.147643, 0.315880}, {-0.227523, 0.539005}, {0.001495, 0.428174}, - {1.833835, -0.253958}, {0.094817, -0.427417}, {0.304182, 0.027684}, - {-0.448943, 1.724177}, {0.306482, -1.723176}, {0.297892, 0.566358}, - {0.070474, -0.408958}, {-1.135178, 0.616141}, {1.174561, 0.739951}, - {-0.427643, -0.076585}, {-0.143676, -0.561043}, {-0.575947, -0.963853}, - {0.287610, -0.416596}, {1.053362, 0.219671}, {0.215916, -0.082404}, - {-0.004859, 1.016390}, {-0.304115, -1.250074}, {-0.804160, 1.414419}, - {0.435396, 1.580271}, {-0.540909, -0.386004}, {0.391329, 0.175570}, - {0.068666, -0.634001}, {-0.924601, -1.223534}, {-0.244715, -1.882378}, - {-0.005935, 0.055254}, {0.053374, -2.037105}, {-0.222229, -0.314341}, - {1.683783, -0.136252}, {-0.209519, 0.319064}, {0.128087, 0.515904}, - {1.057809, 0.518777}, {1.302667, -0.667992}, {0.711711, 1.370832}, - {-0.425870, -0.921453}, {-0.282099, -0.019978}, {0.475885, 0.778538}, - {-1.191533, 0.734870}, {-0.029950, 0.617866}, {-0.455740, -0.735148}, - {-1.482617, 0.289506}, {-0.281529, -1.036867}, {-0.900051, -0.070463}, - {-0.281393, -0.018742}, {-1.565083, 0.033298}, {-1.253289, 0.604701}, - {-1.473103, 0.505138}, {-1.337558, -0.025304}, {0.025156, 0.114029}, - {1.186775, 0.120767}, {0.833490, -1.016311}, {-0.566033, -1.332979}, - {-0.525104, -0.650364}, {-0.791062, 0.388240}, {1.154731, 1.317110}, - {-0.317317, -0.091369}, {0.113614, 0.044248}, {-0.258272, -0.047712}, - {1.078975, 0.638972}, {-0.597647, 0.741361}, {-0.489840, -0.645206}, - {0.555416, 0.241694}, {-0.612925, -1.006549}, {-1.021876, -0.178930}, - {-0.739651, 0.372522}, {0.602211, 1.641040}, {0.379708, -0.413169}, - {0.089748, -0.616324}, {0.599494, -0.401401}, {0.259038, 1.039479}, - {0.006801, -0.534216}, {-1.441283, -0.788294}, {0.652339, -0.170895}, - {0.170934, 0.389251}, {0.369531, 1.157200}, {-1.009088, 0.126682}, - {-0.315585, 0.221797}, {0.202527, 1.134547}, {-0.272163, -0.354116}, - {-0.278950, -0.284232}, {-0.055980, -0.181156}, {-0.432454, -0.002721}, - {-0.818628, -0.041833}, {-0.544952, -0.105704}, {0.552322, 0.225571}, - {-0.429020, -0.426446}, {0.450359, 0.329922}, {-0.420977, 0.010542}, - {0.524081, 0.061941}, {-0.611116, -0.497061}, {-0.185940, -1.029832}, - {-0.352210, 0.272805}, {-0.523549, 0.577421}, {0.484978, -0.655545}, - {0.426839, 0.473204}, {-0.694465, 0.191582}, {1.346640, -0.894402}, - {-0.108025, 0.551475}, {0.196850, 0.014778}, {0.461298, -0.661029}, - {1.183668, -0.482788}, {0.451475, 1.978741}, {0.436252, -0.573917}, - {-0.793265, 0.340729}, {0.372344, 0.278611}, {-0.754183, 0.302767}, - {-1.031154, -1.065581}, {0.628203, -0.223986}, {0.430165, -0.891388}, - {-0.015695, -0.279011}, {0.048695, -1.308632}, {-0.269414, -0.197042}, - {-0.795862, 1.044719}, {0.436994, -0.946302}, {0.660415, 0.069112}, - {-0.073069, -0.338405}, {-1.016127, -0.176174}, {0.603558, 0.251424}, - {0.051546, -0.212910}, {-0.297017, -1.927157}, {-0.110347, -0.266009}, - {0.592700, -0.192662}, {-0.562193, -0.059079}, {-0.549655, 1.273057}, - {0.063368, 0.733878}, {-0.221776, 1.592995}, {-0.742231, -1.023633}, - {-0.300987, 1.027012}, {0.819822, 1.696182}, {-0.391936, 0.788524}, - {0.532161, -0.042235}, {-0.366096, -0.206694}, {-0.124892, -0.264484}, - {-0.704913, 0.651417}, {2.149216, -0.035024}, {-0.208488, 0.467413}, - {0.197927, -0.450251}, {0.775973, 0.707921}, {-0.971095, 0.934934}, - {-0.675312, -0.556623}, {0.398423, 2.014933}, {1.314999, 0.121784}, - {-0.149328, -0.548591}, {0.624388, 0.554257}, {0.794465, -0.762318}, - {-0.342740, -0.044003}, {0.664133, 0.988572}, {-0.591256, -0.550813}, - {0.004503, -0.209721}, {-0.704415, 1.115631}, {0.499527, -0.865457}, - {-0.427010, -0.058056}, {-0.442966, -0.801730}, {-0.028645, -0.432707}, - {-0.520193, -0.477441}, {0.693746, -0.591685}, {-0.723356, -0.124885}, - {-0.271467, 0.138230}, {0.378694, -1.346075}, {0.867608, -0.861081}, - {-0.030809, -0.637696}, {1.547649, -0.433481}, {0.281972, 1.218074}, - {0.289769, -0.252994}, {-0.547299, -1.114947}, {0.281379, 0.103827}, - {0.144241, 0.141649}, {0.882615, 0.777328}, {0.293825, -0.291434}, - {0.115586, 0.642325}, {-0.661045, -0.025898}, {0.339237, 0.790670}, - {-0.709378, 0.173682}, {-0.691671, 0.227216}, {-0.093392, 0.390772}, - {-0.822655, 1.661899}, {0.470760, -0.539462}, {0.883847, 0.324028}, - {-0.816597, -0.501790}, {-0.171583, -1.222645}, {0.589553, 0.087931}, - {0.352979, -0.325299}, {-0.040087, 0.573102}, {-0.333396, 0.702907}, - {0.678815, 0.634352}, {1.236381, -0.495768}, {0.455672, 1.242359}, - {-0.877502, -1.177867}, {0.036368, 0.084722}, {-0.261535, 1.262188}, - {-0.187800, 0.138469}, {0.075047, 0.017116}, {-0.553277, -0.427987}, - {0.203971, -0.219700}, {-0.102810, 0.727420}, {-0.208146, 0.641188}, - {0.505555, -1.229252}, {-0.089677, -0.317869}, {0.045298, 0.553962}, - {0.682165, 0.978041}, {0.758240, 1.062833}, {-0.591609, -0.169416}, - {0.200002, -0.806496}, {0.401893, -0.505467}, {-0.049368, 0.974221}, - {-1.338392, -1.052507}, {-0.234168, -0.459732}, {-0.049076, -0.787956}, - {-0.440995, 0.824773}, {-0.310494, 0.155186}, {0.629950, 0.438434}, - {0.128082, -0.298934}, {-0.889005, -0.700750}, {0.725139, 1.108872}, - {0.806530, 0.172376}, {1.274152, -1.109091}, {0.361415, 0.304318}, - {-0.770589, -1.690576}, {-0.077050, -1.541958}, {0.055098, 0.140834}, - {-1.027384, -0.083170}, {-0.387121, 1.173074}, {-0.511185, -0.640359}, - {0.970168, 0.278280}, {-0.399875, -0.215985}, {0.578435, 0.171387}, - {-0.143334, -0.387392}, {1.048777, 0.181700}, {0.369934, 0.608091}, - {1.128358, -0.533869}, {0.725995, -0.677232}, {0.131748, -0.914071}, - {-0.661664, 0.557397}, {0.864385, 0.026499}, {-0.076076, -0.384927}, - {-1.700148, 0.806878}, {-0.093025, 0.160711}, {0.657889, -0.819687}, - {1.415252, 0.043090}, {-0.474513, 1.021749}, {-0.235819, 0.669443}, - {-0.209294, 0.038555}, {0.350373, 0.947927}, {-0.473777, 0.450919}, - {-0.439863, -1.296476}, {-0.041963, 0.452473}, {0.519491, -0.934337}, - {0.029848, 0.199221}, {0.568997, 0.413023}, {-0.422968, 0.191107}, - {-1.046889, -0.575230}, {0.555575, 0.114778}, {-0.271803, -0.125287}, - {-1.492866, -0.813928}, {0.581882, -0.352968}, {-0.802623, 1.377947}, - {0.700558, 0.297364}, {0.010499, 0.485443}, {0.030525, -0.214066}, - {0.290003, -0.036848}, {0.177382, 0.633674}, {-0.142112, -0.817479}, - {-1.506692, 0.130953}, {-0.549851, 0.089496}, {0.530755, 1.632153}, - {0.958531, -1.707736}, {0.610349, 2.078139}, {-0.086293, 0.239772}, - {0.202042, -0.362267}, {0.894271, -1.466671}, {0.438957, 0.318388}, - {-0.721440, -1.241242}, {0.570884, 0.929768}, {0.691115, 0.078293}, - {2.031262, 0.005026}, {0.614740, 0.403247}, {-0.153316, -0.453097}, - {-0.500683, -0.473711}, {-0.604458, 0.407987}, {0.182040, 0.697141}, - {-0.162319, 0.006736}, {0.525699, 0.675310}, {-0.360962, -0.686781}, - {1.308789, -0.386448}, {-0.174349, -0.941565}, {-1.104866, 0.335170}, - {-0.705175, 0.291939}, {-0.244608, -0.192226}, {0.962480, 0.146916}, - {0.413036, -0.045753}, {0.322721, 0.586207}, {-0.285444, 0.020732}, - {-0.201547, -0.960376}, {-0.525784, 0.598120}, {-0.594926, 0.215987}, - {-0.157909, -0.395456}, {0.609670, 0.114630}, {0.326789, -0.001808}, - {-0.652800, 0.608450}, {0.630816, -0.318163}, {1.290349, -0.308122}, - {0.302288, 0.042105}, {-0.618234, -0.122607}, {-0.671018, 0.647521}, - {-0.033489, 1.029981}, {1.127675, 0.838844}, {-0.391586, 0.406333}, - {0.634599, -0.206173}, {-0.158274, 0.281173}, {0.031888, 0.459707}, - {-0.371921, 0.932324}, {0.076527, -0.283407}, {-0.241424, 0.283793}, - {0.312402, 0.175612}, {0.212368, -0.432081}, {-0.773642, 0.100780}, - {0.251432, 0.483141}, {-0.166812, -0.067869}, {0.027261, 0.793139}, - {0.764140, 0.027200}, {0.014120, -0.858433}, {-0.996727, 0.370392}, - {0.132527, 0.167380}, {0.972844, 0.615013}, {-0.400845, -1.129354}, - {0.468849, -0.867083}, {1.017556, -0.782061}, {-0.109531, -0.643417}, - {-0.213625, 0.158193}, {0.199067, -0.074333}, {0.344584, -1.074916}, - {-0.221442, 0.527535}, {-0.427743, 0.192179}, {-0.445158, 0.223376}, - {-0.406246, -1.129810}, {0.498180, -0.537912}, {0.246385, 1.147774}, - {1.124593, 0.638781}, {-0.238219, -1.178279}, {0.564715, 0.082624}, - {0.009528, -0.294926}, {0.449595, -0.413499}, {-0.222000, -0.383341}, - {-0.293071, -0.020010}, {0.262525, -0.619825}, {-0.622110, 0.994815}, - {0.826520, -0.318905}, {-0.139956, 0.034670}, {-0.602776, 1.445757}, - {-0.000428, 0.515115}, {0.262184, -0.002736}, {1.304981, -0.501046}, - {-0.321231, 0.622551}, {1.054329, -0.220852}, {-0.492771, -0.940654}, - {-0.780517, 1.146123}, {-0.030875, -1.453137}, {0.833466, -0.395468}, - {0.523778, 0.759513}, {-1.126077, -0.417115}, {-0.556663, 0.032786}, - {0.206892, -1.122757}, {-0.366164, 1.106942}, {0.152365, -0.067752}, - {0.046570, -0.568357}, {-1.294625, 0.304168}, {-0.314597, -0.414620}, - {1.204236, 0.126016}, {-0.051512, 0.247893}, {-0.662050, -0.548429}, - {0.806882, 0.635211}, {0.354519, 0.315406}, {-0.102549, -0.307759}, - {-0.945865, -1.144877}, {0.092988, -0.095752}, {-0.590799, 1.426964}, - {-0.512031, -0.295192}, {-0.241074, -0.440517}, {0.829680, 0.087681}, - {-0.109337, -0.289886}, {0.656985, 0.294518}, {0.564203, 0.206732}, - {-0.898597, -0.207926}, {0.327259, 0.685055}, {1.226880, -0.695505}, - {-0.829727, 0.718718}, {-1.451225, -0.289371}, {0.837042, 1.220714}, - {-0.158113, 0.175430}, {0.974037, -0.062980}, {0.178835, 0.169509}, - {1.118203, 0.735886}, {0.104949, -0.340257}, {0.378724, 0.089648}, - {0.214056, -0.821406}, {1.396107, 0.599080}, {0.369926, 0.109247}, - {0.673800, 0.763612}, {-0.268951, -0.230063}, {0.567933, 0.162580}, - {-1.689604, -0.345288}, {0.137885, -0.093063}, {-0.298533, -0.191792}, - {1.251967, -0.136681}, {-0.693495, -0.932444}, {-0.555325, -0.131594}, - {0.236263, -0.069815}, {-1.252648, 0.035106}, {-1.764317, 0.733486}, - {-0.075051, 1.622354}, {-0.085244, -0.605377}, {-0.642959, -0.089863}, - {-0.113593, -0.099045}, {0.058362, -1.029047}, {0.826847, 0.113454}, - {-0.244119, -0.050284}, {-1.073509, 0.123867}, {-0.904460, -0.901549}, - {0.453204, -0.459712}, {-1.264724, -0.418653}, {0.472295, -1.485124}, - {0.323558, -0.092765}, {1.800720, 0.519789}, {-1.126308, -0.318456}, - {0.724158, -0.269665}, {0.710385, 0.177657}, {-0.783852, -0.215007}, - {-1.354067, 0.031020}, {-1.015185, 0.249321}, {0.839984, 1.457903}, - {-0.353245, -0.313877}, {0.763070, 0.903317}, {-1.656538, -0.791042}, - {-0.892608, -0.381481}, {0.649284, -0.643492}, {1.455720, -0.133815}, - {0.732560, -0.289157}, {-0.377583, -1.019029}, {-0.377847, -1.270397}, - {0.809711, -0.293496}, {-1.027232, -0.492600}, {-0.531947, -1.149837}, - {-0.321890, 0.886703}, {-0.603477, -1.377457}, {0.259723, -0.220563}, - {0.949998, 0.240148}, {0.261264, 0.890932}, {0.595257, -1.336390}, - {-0.362741, 0.082717}, {-0.355324, -0.058517}, {-0.404853, -0.487143}, - {-0.431324, 0.299014}, {0.079328, -0.804580}, {0.824935, -0.454231}, - {0.262757, -0.554689}, {0.126869, -0.439135}, {-1.051874, -0.512746}, - {0.293715, 0.904688}, {-1.530512, -0.258114}, {0.782473, 1.192382}, - {0.532046, 0.769399}, {0.384142, -0.126943}, {0.161275, -0.961466}, - {-0.060918, -0.053277}, {0.876995, 1.833961}, {-0.747767, 0.165348}, - {-0.052410, -0.612302}, {0.814379, 0.370027}, {0.848717, -0.351940}, - {-0.797478, -0.346407}, {0.451936, 1.010194}, {0.582376, 0.949018}, - {-0.342362, 0.108576}, {0.556515, -0.142943}, {0.728162, -1.097160}, - {-1.075414, 0.137602}, {0.457708, -0.654780}, {0.165246, 1.781712}, - {-0.319642, -0.993107}, {-0.584410, 0.462585}, {-0.203283, -0.682679}, - {-0.872903, 0.560968}, {0.545374, 0.278981}, {0.918419, 0.246065}, - {-0.632251, -0.167158}, {-0.285094, 0.517218}, {0.742545, -0.428022}, - {-0.272512, -0.650121}, {0.007097, -0.259464}, {0.321549, -0.153838}, - {-0.935528, -0.478174}, {-0.609717, -0.076270}, {-0.755654, -0.453108}, - {0.881595, 0.809393}, {-0.851194, -0.126438}, {-0.678539, -0.168662}, - {-0.735439, 1.454476}, {-0.702070, -0.732654}, {0.950217, 0.061374}, - {0.931381, 0.383055}, {-1.577577, -0.830957}, {1.081051, 0.875738}, - {0.946201, 1.485701}, {0.433276, 0.890427}, {1.505338, 0.234134}, - {0.083216, 0.185535}, {0.206556, 0.692397}, {0.800164, 1.210478}, - {0.308393, -0.573495}, {-0.455541, 0.377465}, {0.285379, 0.593679}, - {1.807014, 0.007663}, {1.599165, -0.768434}, {-0.182963, -1.147207}, - {0.691660, 0.496669}, {0.235179, -0.284885}, {-0.461998, 0.542110}, - {-1.935320, -0.774389}, {-0.078056, -0.127823}, {0.299281, -0.033361}, - {0.302731, 0.078716}, {0.069066, -0.050105}, {0.221607, -1.239222}, - {0.340220, 0.582368}, {-0.565872, 0.345751}, {-0.470414, 0.191707}, - {-0.086475, -1.321960}, {-0.653337, 1.499706}, {-1.186698, 0.203143}, - {0.362014, 0.335224}, {0.763790, -0.914370}, {1.135858, -1.463878}, - {0.719099, -0.477518}, {0.269766, 0.421199}, {0.064365, -0.175814}, - {-0.367548, 0.001256}, {0.544776, -0.698629}, {0.615651, -0.386841}, - {-0.875089, -0.516872}, {0.413476, -1.281108}, {0.502809, -0.490843}, - {-2.204143, 0.110420}, {-0.385040, -0.740596}, {0.695904, 0.385231}, - {0.255709, 0.008205}, {-0.586557, -0.564665}, {0.803747, 0.411107}, - {1.601181, 0.662062}, {0.865286, -0.979781}, {0.689845, 0.519237}, - {0.395498, 0.145840}, {-0.626369, 0.344739}, {0.042164, 0.051887}, - {-1.403498, 0.671656}, {0.598572, 0.681828}, {1.220256, -1.165620}, - {-0.793312, 0.715179}, {-0.234183, 0.019938}, {0.385507, 0.226328}, - {-0.450997, -1.107601}, {-1.171289, 0.649867}, {-1.080178, -1.231856}, - {-0.061619, 1.143806}, {0.430298, 0.525364}, {-1.049354, 0.166192}, - {-0.080776, -0.357525}, {0.511572, -1.785495}, {-0.558196, 0.261639}, - {-0.887145, 0.298578}, {-1.566637, 0.706769}, {1.151140, 0.445122}, - {-0.586133, 0.107778}, {-0.804525, 0.245580}, {0.980744, 1.043818}, - {-0.070419, -0.910922}, {-0.451713, 0.466261}, {1.125777, 0.160904}, - {0.577041, 0.069860}, {1.144021, -0.150339}, {-0.411414, 0.404973}, - {0.188443, 0.548050}, {0.225498, -0.614626}, {1.398432, -1.427287}, - {-0.035313, 0.492779}, {0.460713, -1.022950}, {-0.523193, -0.887124}, - {-1.045011, 0.261402}, {1.388863, -0.612235}, {0.475152, -0.857959}, - {0.468680, -0.231389}, {0.983306, 0.199760}, {-0.645385, 0.205021}, - {-0.363448, -0.870316}, {-0.003819, 0.010668}, {0.471121, 0.244769}, - {-0.040500, 0.556180}, {-1.479050, 0.358434}, {0.182788, 0.373558}, - {-0.858638, -0.878108}, {0.001368, 0.436654}, {0.142518, 0.294864}, - {-1.153171, 0.438127}, {0.937820, 0.034099}, {1.521724, -0.077421}, - {-0.377694, -0.278517}, {1.467230, -0.459260}, {0.145964, 0.357560}, - {0.619192, -1.480037}, {-0.797876, 0.686615}, {-0.465726, 1.294829}, - {1.120753, 0.433341}, {0.481084, 0.429728}, {-0.993491, -0.218804}, - {0.080120, 0.061366}, {-0.345080, -1.108765}, {0.597685, -1.108810}, - {0.272861, -1.448070}, {0.103180, -0.368753}, {0.452562, -0.193846}, - {-0.047889, -0.169513}, {-0.062237, -0.499899}, {-0.208393, 1.227431}, - {0.358621, -0.122079}, {-0.538647, 0.167846}, {-0.535399, 0.147300}, - {-0.016851, -0.523791}, {0.185591, 0.287441}, {-0.076126, 0.077379}, - {0.111808, -0.298068}, {-0.360049, 0.447806}, {-0.468579, 0.021829}, - {0.999254, 0.093009}, {0.409156, 0.087569}, {-0.290239, 1.155172}, - {-0.631769, 0.113278}, {-0.485475, 0.352847}, {0.132807, 0.899243}, - {0.231351, -0.149363}, {0.389824, -1.011206}, {-0.093767, 0.618494}, - {0.302881, 0.883287}, {0.253348, -0.020438}, {0.310115, 0.544154}, - {-0.181672, 0.250213}, {0.785253, -0.002714}, {0.399704, -0.310344}, - {-1.634428, 0.357997}, {0.976723, 0.117106}, {-0.663422, 0.938808}, - {1.142522, 0.426250}, {-0.176854, 0.538674}, {1.134571, 1.976267}, - {-0.793977, 0.553600}, {-0.496199, 0.132777}, {0.428161, 1.342281}, - {0.881731, -0.349207}, {0.487284, -0.673507}, {0.834150, 0.300816}, - {1.043740, 0.574802}, {-0.108407, 1.056837}, {-0.745715, 0.304328}, - {0.494903, 0.535517}, {-0.608093, 0.752694}, {0.430291, -0.135674}, - {-0.174181, -1.362910}, {-0.064613, -1.995513}, {-0.704478, 0.276742}, - {0.232225, -0.347325}, {0.129886, 0.297225}, {0.095056, 0.366532}, - {1.123177, -0.516860}, {0.280489, 0.548995}, {0.950114, 0.871146}, - {-0.045855, -0.101106}, {0.323361, 0.916197}, {-0.379042, -0.789420}, - {0.155370, -0.526626}, {0.123440, -0.404112}, {1.122189, -0.542010}, - {0.287594, -0.412748}, {-0.487695, -0.914112}, {0.326158, -0.133099}, - {-0.166449, -1.353339}, {-0.055827, 0.625175}, {-1.228110, 0.059411}, - {-0.274514, -1.194058}, {0.008816, -0.571387}, {-0.700423, 0.936284}, - {-0.528928, 0.824434}, {-0.436216, 1.131698}, {-1.371594, -0.535034}, - {-0.002092, 0.190907}, {-0.652668, 1.278957}, {0.101573, -0.906194}, - {0.783427, -0.139790}, {-2.499705, -0.774554}, {0.580857, 0.350367}, - {-0.259410, 0.346345}, {1.443858, 0.066180}, {1.007880, -0.608615}, - {-1.185398, -0.124630}, {-1.074749, -0.104417}, {-0.075128, 0.869631}, - {-0.157998, 1.035636}, {-0.212559, -0.416354}, {0.399589, -0.077372}, - {0.139788, 0.342017}, {1.188158, -1.194288}, {0.290935, 0.230597}, - {0.467906, 0.144104}, {0.777358, 0.288836}, {0.818580, 0.308433}, - {-0.210142, 0.214512}, {0.315948, -0.636328}, {-0.005891, -0.999753}, - {0.072755, -0.563891}, {0.425654, 0.196551}, {0.361411, -0.211226}, - {0.905206, -1.349513}, {-0.790974, -0.395724}, {0.525156, 0.770383}, - {-0.092408, -0.488183}, {0.265920, -0.036150}, {-0.276333, -0.689856}, - {0.117261, 0.005735}, {-0.665691, -0.164460}, {0.312157, -0.594442}, - {0.107864, -0.443120}, {1.118670, -0.671898}, {-0.022763, 0.583797}, - {0.510916, -0.179671}, {0.714169, -0.104546}, {0.396036, 1.216840}, - {0.373920, 0.135520}, {0.553972, -0.997894}, {0.052585, 0.462084}, - {-0.150044, -0.163447}, {1.461147, 0.659548}, {-1.000455, -1.680109}, - {-0.717611, -0.210337}, {-0.772596, -0.251350}, {0.537726, 1.050492}, - {-0.482650, -0.283289}, {-0.633239, -0.569656}, {-0.904458, -0.617468}, - {0.109119, -1.522443}, {-1.226419, -0.899079}, {0.379579, -0.252179}, - {-0.104614, 0.852366}, {-0.503179, 0.002718}, {0.361405, -0.255127}, - {0.707854, -0.139151}, {0.588351, 0.341695}, {0.541234, 0.404290}, - {-0.423201, 0.945891}, {0.540899, 0.903758}, {-0.383715, -1.224310}, - {0.541671, -0.191686}, {0.220524, -0.467755}, {0.419523, -0.261834}, - {-0.248004, -0.524029}, {1.166929, -0.005245}, {0.162462, 0.683697}, - {0.021613, -1.336883}, {-0.371790, -0.820360}, {0.064987, -0.180902}, - {-0.530311, -0.237448}, {0.014535, 0.196268}, {0.302158, -0.943375}, - {-0.741328, -0.621982}, {-0.990134, -0.843669}, {0.298802, 0.314671}, - {0.150737, -0.515418}, {0.642389, 0.170803}, {-0.660634, -0.070932}, - {-0.466752, 0.294915}, {0.498991, 0.882812}, {-0.120033, -0.318492}, - {-0.283866, 0.416022}, {-1.125159, 0.156951}, {0.164229, 0.285664}, - {-0.680682, 0.531478}, {-0.228335, 0.444181}, {0.424797, -0.850202}, - {-0.620993, 1.933195}, {0.618146, 1.057688}, {0.351681, 0.093757}, - {0.343992, -0.350496}, {0.419756, -0.682277}, {0.132223, -0.220393}, - {0.315669, -0.077213}, {0.623756, -0.047636}, {-0.980970, 0.008924}, - {-0.180176, 0.848320}, {1.546197, 0.370102}, {0.713022, -0.899697}, - {-0.512503, -0.004650}, {-1.161518, 0.132127}, {-1.041393, -0.554167}, - {-0.036518, 0.378256}, {-0.567661, -0.897940}, {0.259504, -0.049623}, - {-0.026158, -0.270600}, {0.724927, -0.499448}, {0.138307, 1.291056}, - {-1.822129, -1.644371}, {0.671500, 0.097591}, {-0.980895, 0.107560}, - {-0.420513, 0.010420}, {0.003000, -0.162645}, {0.447768, -0.633708}, - {0.382118, 0.153956}, {-0.223916, -0.841490}, {-1.102503, -0.035876}, - {0.040286, 0.813246}, {0.067205, -2.636223}, {-1.058178, -0.439882}, - {0.240943, 0.599442}, {-0.266778, -1.074089}, {0.320826, -0.918839}, - {-0.646954, -0.007690}, {-0.530749, -0.347252}, {-0.393036, -0.123253}, - {0.053211, -2.091439}, {-0.481911, -0.677379}, {-0.014975, 0.997160}, - {0.536010, 1.088136}, {-1.031007, -1.129666}, {-0.116730, 0.519996}, - {1.565485, -0.343272}, {-0.368459, 0.506657}, {-0.230470, -0.260120}, - {0.621381, 1.007440}, {0.186324, -0.312790}, {0.273069, -0.166279}, - {0.201102, 1.556145}, {-1.115634, 1.567159}, {-0.648866, -0.322859}, - {-0.704410, 0.380438}, {0.342389, 0.213936}, {-0.042804, 0.701810}, - {0.016719, 0.090798}, {-0.731592, -0.277491}, {0.103078, 0.783883}, - {0.345053, 0.215559}, {0.067924, 1.081925}, {0.369806, -0.219722}, - {1.098806, 0.215612}, {-0.724316, -0.036048}, {0.186158, 0.608022}, - {0.139663, 0.056514}, {-0.575010, -0.801492}, {-1.123663, -0.414602}, - {0.564236, 0.266108}, {-0.391462, 0.093429}, {0.144703, -0.560902}, - {-0.686121, 1.329790}, {-0.379640, -0.241261}, {-0.498875, -1.364991}, - {0.541470, 0.214751}, {-0.508841, -0.694946}, {0.812702, 0.407024}, - {0.257132, 0.128592}, {-1.187255, -0.495273}, {0.020247, -0.196925}, - {0.188392, -0.459074}, {-0.932918, 0.525366}, {1.134929, 1.151288}, - {-1.296745, -0.844320}, {-0.610290, -1.014578}, {0.623994, 0.443023}, - {-0.303615, -1.049124}, {-0.597543, -0.208275}, {0.252960, 0.992397}, - {-0.023412, 0.368284}, {-0.429581, -0.070039}, {0.923782, -0.778340}, - {0.060056, -0.739469}, {0.753096, 0.478049}, {-0.127857, 0.093383}, - {0.106401, 0.423911}, {-0.183224, -0.032369}, {-0.381160, 0.851604}, - {-0.797228, -0.217383}, {0.227067, 0.316891}, {0.451114, 1.830366}, - {-1.042958, 0.186763}, {-0.171936, 0.478779}, {-0.075379, 0.034822}, - {0.385404, 1.160047}, {0.105260, -1.211098}, {1.211046, -1.103540}, - {0.308818, -1.042156}, {-0.704631, -0.115963}, {0.012675, -0.547391}, - {-0.484557, -0.100460}, {-0.836917, -0.043501}, {-0.463115, 1.544351}, - {0.309894, -0.669455}, {0.685375, 0.000866}, {0.511942, 0.836813}, - {-0.929517, -0.531037}, {0.050933, 0.075894}, {0.845070, 1.231045}, - {0.796139, 0.796776}, {0.766749, -0.653760}, {0.742048, 1.398289}, - {-0.403017, -0.007496}, {-0.509706, 1.110607}, {-1.449968, 0.427343}, - {-0.010909, 1.223294}, {-0.077727, -0.670769}, {0.526333, 0.308160}, - {0.319094, -0.176388}, {0.742543, 1.379446}, {1.245044, 1.188638}, - {-0.025489, -0.164810}, {0.608945, -0.073624}, {-0.174670, -0.273746}, - {-0.624686, 1.010041}, {-0.670461, 0.584006}, {-0.444858, -1.904891}, - {0.222806, 0.547945}, {0.138390, 0.546322}, {-0.446882, -0.696967}, - {-0.628694, -1.208785}, {-2.152300, -0.613403}, {-0.096864, 0.068138}, - {-0.301906, -0.946012}, {-0.369820, -0.646125}, {-1.447581, -0.646713}, - {-0.400707, -0.494477}, {-0.635435, -0.038456}, {0.296783, 0.278288}, - {-1.001213, 0.042941}, {0.091071, 0.902239}, {-0.460656, 0.281628}, - {0.479946, 0.142043}, {-0.487485, -0.696643}, {-0.407485, -0.541246}, - {-0.607882, -0.853128}, {-1.305443, -0.877425}, {-0.359749, -0.647498}, - {-0.626709, 0.576527}, {-0.148729, -0.090456}, {0.172979, 0.177948}, - {-0.107637, -0.478667}, {0.366998, 0.024629}, {0.462107, 0.857612}, - {-0.460563, 0.248349}, {0.907838, 0.853909}, {0.783150, 0.585374}, - {-0.299669, -0.212882}, {1.119594, 0.504852}, {0.377228, 0.481423}, - {0.852296, 0.676788}, {-0.286757, -0.002129}, {0.209843, -0.977784}, - {-0.441823, -0.072773}, {0.917957, -0.753300}, {0.273348, -0.628772}, - {-0.284862, 0.155215}, {-0.247355, -0.247082}, {2.118546, -0.537469}, - {-0.310251, -0.363626}, {1.378995, 0.614774}, {0.009172, -1.398820}, - {-0.300000, 0.441999}, {-0.297449, 0.954413}, {0.683275, 0.180768}, - {-0.371476, -1.618431}, {-0.175134, -1.231505}, {-0.749555, -0.428287}, - {-0.969477, 0.592818}, {0.687133, -0.691685}, {-0.165526, -0.045505}, - {0.910848, -0.391948}, {1.179305, 0.100935}, {0.166614, -0.729254}, - {-1.130469, 0.164593}, {-1.549639, 0.217721}, {-0.481054, -0.872328}, - {-0.586590, -1.074824}, {0.091563, 0.381294}, {-0.609678, -0.230306}, - {0.503876, 0.238278}, {-0.562595, 1.625733}, {1.273220, 0.329444}, - {0.309265, -0.432313}, {0.950421, 0.011570}, {0.374275, -0.221395}, - {-0.002535, -0.068439}, {-0.704010, -0.714205}, {0.645151, -0.117244}, - {-0.548621, 0.089519}, {-1.310708, 0.214149}, {-0.222895, 0.327611}, - {-1.536313, 0.422522}, {0.805899, -1.158480}, {0.201190, 0.527469}, - {0.085621, -0.741991}, {-0.638953, 0.135701}, {0.610284, 0.256558}, - {-0.021550, -0.185034}, {-0.663349, 0.344785}, {1.234438, 0.087483}, - {-0.131234, -1.490191}, {0.256245, 0.425473}, {-0.093340, 0.831930}, - {-1.552555, -0.056483}, {0.441688, 0.115210}, {0.108127, 0.046402}, - {-0.367616, -0.887437}, {-0.808894, -0.681247}, {-0.609795, -0.206087}, - {0.578144, 0.401209}, {-0.066620, 0.628916}, {0.230375, -0.294361}, - {0.168031, 0.445080}, {0.184035, 0.358481}, {0.251087, -0.489438}, - {-0.945207, 2.090916}, {-0.899493, 0.281441}, {-0.600711, 0.695281}, - {0.496877, 1.825249}, {0.557064, 1.787828}, {-0.032903, 0.096150}, - {-0.171482, -0.526085}, {-0.560700, 0.472487}, {-0.295947, 0.009918}, - {1.142040, 0.416169}, {-0.447775, 0.074483}, {-0.823909, -1.010476}, - {-1.547191, 1.727266}, {-0.760387, -0.877929}, {-1.629711, -0.932786}, - {0.486282, 0.248117}, {-0.264396, 0.926022}, {1.081113, 0.075435}, - {-0.643699, -0.289886}, {0.440984, 0.308158}, {0.821736, -0.810105}, - {-1.505203, -1.521192}, {-0.542677, 0.842918}, {0.164887, 0.399004}, - {-0.811521, 0.078831}, {0.797827, -1.167125}, {-0.401101, -0.501867}, - {0.364811, -0.809028}, {0.734068, -0.323428}, {-0.319197, -0.550535}, - {-0.271324, -0.367006}, {-0.059699, 0.983663}, {-1.366932, 0.282483}, - {0.168976, 0.203650}, {0.302598, -0.221575}, {1.175485, 0.753488}, - {0.107512, 1.781766}, {0.946028, -0.282479}, {-0.679608, -0.932184}, - {-1.191856, 0.201361}, {-0.166462, -0.053378}, {-0.812532, -0.147616}, - {1.611017, 0.674833}, {0.314528, 1.017239}, {-1.162592, 0.325194}, - {-1.032033, 0.635921}, {0.084120, -0.730470}, {0.494315, 0.897198}, - {0.847109, 0.168996}, {1.644454, 0.751446}, {-0.353970, -0.863128}, - {0.678397, 0.141939}, {-0.973674, -2.013022}, {0.685345, 0.419897}, - {-1.288642, -0.442089}, {-0.054887, -0.748914}, {-0.601785, -0.605123}, - {-0.214297, -0.391510}, {-1.074972, 0.659726}, {0.105391, 0.708672}, - {-0.113354, -0.765485}, {0.300873, 0.781452}, {0.170277, 0.599499}, - {0.147834, -0.954326}, {-0.339726, -0.501183}, {0.544002, 0.385444}, - {0.352044, 1.066552}, {0.911869, 0.956912}, {-0.191047, 0.108966}, - {1.413499, -0.757569}, {0.706789, -1.026854}, {0.539308, -0.138690}, - {0.080942, -0.272806}, {0.098018, 0.018024}, {0.195238, -0.389384}, - {0.488144, -0.357992}, {-0.309817, 0.010149}, {-1.032893, -0.592658}, - {-0.298775, -0.388887}, {1.131782, -1.690704}, {-0.193514, 0.171204}, - {-0.537903, -0.543134}, {0.659055, -0.601144}, {0.304951, 0.294985}, - {0.888941, 0.970043}, {0.458543, -0.183693}, {-0.759308, 0.795668}, - {-0.350375, -0.113882}, {-0.127585, 0.382365}, {-0.213916, 0.521858}, - {-0.344818, 0.116112}, {-0.092834, -0.185633}, {0.061649, 1.365497}, - {0.476463, -0.791558}, {-0.984206, 0.997109}, {-0.057978, -0.489422}, - {-0.194234, -0.607085}, {-0.657674, 0.088412}, {-0.469191, 0.137722}, - {1.011820, -0.291022}, {-0.303269, -0.626332}, {0.561159, -0.200477}, - {0.140475, 0.804297}, {0.160608, -0.598328}, {0.213319, 1.449153}, - {1.142243, 0.283340}, {0.065037, -0.257834}, {0.261033, 0.207025}, - {0.700460, 0.482503}, {0.843141, -0.154417}, {0.292633, 0.402510}, - {-0.818789, -0.671620}, {0.736334, -0.267822}, {-0.736153, 0.705889}, - {-1.012207, -0.010744}, {0.662579, 0.401311}, {-0.387354, -0.679445}, - {1.209621, -0.153205}, {-0.701672, 0.069607}, {1.319853, 1.085888}, - {1.254748, -0.101110}, {0.266011, -0.499106}, {0.615725, 0.884454}, - {-1.011208, 0.102181}, {-1.099802, -0.974027}, {-0.531963, -0.562972}, - {0.121607, -0.356338}, {0.518231, 0.154831}, {0.499951, 1.188225}, - {-0.817457, 1.714401}, {0.369950, 0.572897}, {-0.414845, -0.182628}, - {-0.718216, 1.117213}, {-1.333928, 0.469810}, {-1.207522, -0.417102}, - {0.561111, 0.726184}, {-1.117766, -0.219214}, {0.744550, -0.034760}, - {0.797619, 1.455506}, {-0.584053, 0.337943}, {0.157397, -0.757585}, - {0.116196, -0.446006}, {0.146428, 0.467807}, {0.714421, -0.366232}, - {1.429872, 0.625346}, {-0.033015, 0.198674}, {0.105885, -0.216353}, - {-0.023687, 0.692143}, {-0.048073, 0.669529}, {-0.205184, 0.780326}, - {0.266525, 0.176072}, {0.141148, 0.252191}, {-0.388369, 0.046018}, - {0.299170, -0.177464}, {-1.081893, -1.145642}, {0.010014, 0.514986}, - {0.448166, -0.748932}, {-0.295357, -0.035173}, {-0.033904, 0.187373}, - {-0.964666, -0.232491}, {0.485426, -1.478534}, {0.150372, 0.430681}, - {1.004055, 0.755612}, {-1.273932, -0.382681}, {-0.123319, 0.320989}, - {-0.919513, -0.315545}, {-0.497703, 0.345372}, {0.182013, -0.018783}, - {0.188130, -1.169909}, {-0.716006, -0.184715}, {0.178950, -0.378160}, - {-1.121777, 0.261067}, {-0.884913, 0.533499}, {-0.252487, -0.381490}, - {-0.521029, -0.459944}, {0.109009, -0.604069}, {-0.131799, -0.166129}, - {-0.915776, 0.867035}, {-0.051356, -0.189373}, {0.352025, 0.298949}, - {0.197533, 0.081879}, {-0.198604, 0.668512}, {1.153004, 0.840196}, - {-0.111957, -0.162456}, {1.271047, 0.649951}, {-0.272905, 1.016445}, - {-0.490432, -1.110506}, {0.098962, 0.280027}, {-0.149747, -1.055724}, - {0.592247, -0.565550}, {1.155912, -1.145805}, {0.763039, 0.568494}, - {-0.395993, 0.406406}, {0.047324, 0.263514}, {-0.137376, 0.214639}, - {-0.226893, -0.197915}, {0.966088, -0.475559}, {-0.194234, -0.012569}, - {-0.473935, -0.886494}, {-0.265603, 0.751773}, {-1.593588, 0.084399}, - {1.119877, 0.854302}, {-0.038422, 0.118207}, {0.370947, 0.914543}, - {1.114324, 0.036220}, {0.206356, -0.695196}, {1.075653, 0.031579}, - {-0.428467, 0.099867}, {-0.942289, 0.247139}, {-0.925418, -0.511600}, - {-0.275870, -0.147021}, {0.403291, -0.774485}, {-0.147236, -0.816691}, - {0.715749, -0.581534}, {0.714183, -0.266639}, {-0.530022, 0.395632}, - {-0.081142, 0.308192}, {0.776196, -1.301781}, {0.402042, 0.760863}, - {0.582426, 1.116527}, {0.303501, -1.230810}, {0.909943, -0.101521}, - {-0.304997, 0.216745}, {-0.534911, -1.278462}, {0.117181, 0.344833}, - {0.598680, -0.801582}, {-0.488952, 0.298129}, {-0.577852, -1.244262}, - {1.066878, -0.383162}, {0.365205, -0.304288}, {0.219744, 1.047894}, - {-0.203519, 0.603274}, {0.562170, 0.561149}, {0.172008, 0.053308}, - {-0.240833, -0.248882}, {0.374048, 0.395277}, {-0.184462, 0.712107}, - {-0.744861, -0.403328}, {0.909695, -0.029738}, {-0.518537, 0.759702}, - {0.075402, 0.358815}, {1.141827, -0.585600}, {-0.562473, 0.258697}, - {-1.676194, 0.124049}, {0.233487, -1.891531}, {-0.829451, 0.542206}, - {0.671130, -0.997574}, {-0.508597, -0.729909}, {1.180725, -0.338574}, - {1.129566, -0.232048}, {-0.380058, 0.044743}, {-0.520974, 0.138217}, - {0.316724, 0.009838}, {0.133527, -1.443095}, {0.420516, 0.089332}, - {-0.302825, 0.028929}, {1.668571, -0.092751}, {0.452698, 0.532245}, - {0.360685, -1.949182}, {-0.909377, 1.422417}, {0.108981, 0.031519}, - {0.529371, -0.320971}, {-0.439658, 0.288459}, {0.212286, -0.312996}, - {0.505587, 0.680236}, {0.990288, -0.247507}, {-0.568695, -0.327833}, - {-0.026999, -2.401438}, {0.339704, -0.467720}, {1.232324, -0.049586}, - {-1.244245, -0.285340}, {-1.630956, 0.212445}, {0.099499, 0.057161}, - {0.764231, -0.893147}, {0.454370, -0.132950}, {0.140425, 0.680194}, - {0.516606, 0.024468}, {-0.862301, 0.058704}, {0.505420, 0.269336}, - {-1.237570, -0.038382}, {0.535371, -1.536667}, {-0.363929, -0.038955}, - {0.024531, 0.914036}, {0.543681, 0.532978}, {-0.515135, -0.698846}, - {-0.428846, 0.073398}, {-1.039931, 0.055062}, {-0.621873, -1.226401}, - {0.007829, 0.811232}, {0.571021, -0.114346}, {-0.382807, 0.023667}, - {-1.068780, -1.869853}, {1.156098, -0.153257}, {0.573828, -0.535261}, - {-0.790467, 0.176901}, {-0.315664, 0.803594}, {-0.334936, 0.354728}, - {-0.055522, 0.952521}, {1.315614, 0.102351}, {0.491766, 0.538302}, - {0.653814, -0.342202}, {-0.127639, -1.045441}, {0.819444, -0.227273}, - {-0.029933, 0.258527}, {-0.824566, 0.432697}, {0.165227, -0.560056}, - {-0.588310, 0.436099}, {-0.421849, -0.388859}, {-0.090400, -1.251581}, - {-0.533719, 1.429956}, {0.394513, 1.115320}, {-0.782266, 0.768142}, - {-0.197776, 0.622177}, {-0.067525, 1.525139}, {1.756764, 0.035239}, - {0.798450, -0.795585}, {-0.262068, 0.632512}, {1.880538, -0.279111}, - {-0.792909, -0.561815}, {0.888441, 1.301812}, {0.701364, -0.873528}, - {1.343495, -0.562411}, {0.868597, 0.141126}, {-0.328745, 0.918909}, - {-0.941006, -1.339590}, {-1.343155, -0.049963}, {-0.574658, -1.478137}, - {0.137838, 0.792901}, {-0.041365, 0.454133}, {0.091431, -0.459571}, - {-1.358113, -0.736001}, {-0.192427, -0.926593}, {0.350541, 0.433002}, - {-0.084577, -0.444999}, {0.205895, -0.138558}, {-0.941218, -0.106877}, - {-0.194195, 0.335722}, {0.734401, -0.283139}, {1.613564, -0.517256}, - {-0.090641, 0.231313}, {0.266345, 0.222315}, {0.518095, 0.960832}, - {0.250561, -0.619001}, {-0.130002, -0.001817}, {-0.447930, 0.628615}, - {-1.273623, 0.406367}, {0.212427, 0.986079}, {-0.997576, -0.940297}, - {0.375197, 0.358510}, {0.229471, -1.781878}, {0.184320, 0.461606}, - {0.434436, -0.414778}, {0.034886, -0.062974}, {-1.325976, 0.135652}, - {0.189020, -0.739167}, {-0.205637, -0.572855}, {0.860524, -0.315333}, - {0.469117, -1.548092}, {-0.513513, 1.158982}, {-0.837350, 0.105504}, - {-0.061953, -0.530778}, {0.293859, 0.467221}, {-1.319548, -0.912039}, - {-0.137013, -0.872433}, {0.387589, -0.454601}, {-0.234174, -0.245068}, - {-0.744095, -0.128278}, {-0.391439, 0.309053}, {0.908503, 0.583369}, - {0.802960, 0.512355}, {-0.685064, 1.108868}, {0.251810, 0.543558}, - {-0.142699, 0.735253}, {-0.039414, -0.908746}, {0.003694, -0.414133}, - {0.715774, 0.070174}, {-0.374828, 1.309546}, {-0.427538, 0.385587}, - {1.338794, 0.002127}, {-0.216609, -0.694721}, {-1.047300, 0.562533}, - {0.397480, 0.627659}, {-0.068233, -1.155685}, {-0.553008, 0.472904}, - {-0.042893, -0.644339}, {-0.448845, -1.208575}, {-1.198214, 0.953970}, - {0.997727, 0.245114}, {0.597755, 0.536424}, {0.056192, 0.023036}, - {-0.599560, 0.905339}, {-0.495127, -1.106235}, {-0.677290, -0.536778}, - {-0.732936, 0.552336}, {-0.341833, 0.636930}, {0.745283, 0.226951}, - {-1.677101, -0.140140}, {0.185817, 1.107540}, {-0.845686, -0.138093}, - {0.337944, -0.600359}, {1.011849, 0.076595}, {-0.535078, 0.401710}, - {-0.509358, 0.080738}, {-0.713136, 0.201088}, {-0.037796, -0.459023}, - {0.077312, 0.078831}, {-0.674500, 0.304809}, {0.022353, 0.208630}, - {0.234088, -0.185560}, {-0.100573, -0.317607}, {1.598601, 0.170815}, - {1.128860, 0.395856}, {0.126361, 0.194856}, {-0.743378, -1.283214}, - {-0.729153, -1.745945}, {0.427334, 0.514369}, {-0.260759, 0.127843}, - {0.726265, 0.484686}, {-1.043220, 1.583933}, {0.058154, 0.202930}, - {-0.691332, 0.298501}, {0.914411, -0.450303}, {0.871508, -0.248846}, - {-0.880065, -1.352105}, {-0.347400, -0.479989}, {-0.523254, -0.137392}, - {0.062610, 0.321808}, {0.583315, 1.055442}, {-0.543484, 0.434486}, - {-0.325772, -0.127451}, {-0.691826, -2.465879}, {-0.182029, -0.371495}, - {0.061634, 0.106658}, {0.465593, -0.215001}, {0.799056, -0.576378}, - {0.246446, 0.624574}, {-0.629259, -0.126268}, {-0.332421, -0.594629}, - {0.811796, 0.672092}, {-0.362575, -0.952485}, {-0.013237, -0.559132}, - {0.462364, -0.104255}, {-1.326460, -0.448336}, {-0.472969, -1.030240}, - {0.263871, 0.137456}, {0.289922, 0.058766}, {0.129665, -0.095386}, - {0.004142, 0.060144}, {0.440724, 0.236644}, {-0.648048, -0.197413}, - {-0.313149, 0.016730}, {-0.002432, 0.336209}, {0.258660, 1.080749}, - {-0.622678, -0.971236}, {-0.756907, -0.630989}, {-0.511331, 1.518728}, - {0.044649, -0.192437}, {-0.525301, 1.021474}, {-0.281214, 0.054685}, - {-1.829357, -0.855561}, {-1.000657, -0.711545}, {0.117003, -0.447632}, - {0.776485, -0.166259}, {0.540743, 0.110749}, {0.957454, -0.352617}, - {1.317026, 1.546090}, {0.140886, 0.013168}, {-0.570171, 0.392356}, - {-0.129722, 0.788992}, {-0.725847, 0.653395}, {0.679142, 0.364229}, - {0.007173, -0.853037}, {0.914126, -0.596944}, {0.066525, 0.639936}, - {0.026810, 0.096725}, {-0.538577, -0.152497}, {0.239321, 1.002422}, - {0.129554, -1.193610}, {-0.187528, 0.700211}, {-0.645819, 0.080298}, - {0.283125, 0.043507}, {0.350661, 0.372335}, {-0.655806, 0.541560}, - {0.259071, 0.914486}, {-0.920489, -0.623889}, {0.682493, 0.379061}, - {-0.505215, 0.663097}, {-0.426863, -0.323863}, {0.363894, 0.848174}, - {-0.959164, 0.304144}, {0.370840, 0.239161}, {-0.576532, 1.683390}, - {0.072048, -0.479737}, {0.248627, -0.740696}, {0.267982, -1.331841}, - {-0.742341, -0.098982}, {-1.397583, 0.691099}, {0.062944, -0.918057}, - {-0.341076, -0.572305}, {-0.625912, 0.261916}, {0.000942, 0.115087}, - {-0.175561, -0.065593}, {0.613856, -0.651875}, {-0.374162, -1.289950}, - {-0.165900, -0.183065}, {0.934889, -0.088622}, {-0.658801, -0.699260}, - {-0.381254, -0.924817}, {-0.606669, 0.746831}, {-0.801585, -0.060323}, - {0.750367, -1.191764}, {0.422306, 0.025905}, {-0.348244, -0.193827}, - {0.533889, 0.323919}, {-0.475731, -0.614214}, {1.358458, 1.027040}, - {0.041062, 0.716650}, {1.086781, 0.856076}, {-0.318239, -0.090265}, - {-0.583590, -0.229458}, {0.280177, -0.106195}, {-0.066028, 1.050147}, - {0.446572, 0.653688}, {1.619855, 1.546549}, {-0.200833, -0.507327}, - {1.815705, 1.725080}, {0.491063, -0.912080}, {-0.302422, -0.518018}, - {-1.497067, -0.317440}, {0.268533, -2.004116}, {-0.197770, -0.600212}, - {0.599980, 0.496906}, {-0.801705, -0.434370}, {-0.209023, -0.416797}, - {0.089678, 0.179194}, {0.720592, -0.140217}, {0.937690, 0.785413}, - {0.390751, 0.123322}, {0.407110, -0.263791}, {-0.635582, 0.585058}, - {1.028085, 0.038369}, {0.650746, -0.320141}, {0.273652, -0.045191}, - {-0.773139, -0.851372}, {0.357316, 0.497209}, {0.140061, 0.278817}, - {-0.416838, -1.327050}, {1.445687, -0.014796}, {0.457813, 0.799090}, - {-0.556724, 0.854916}, {-0.641068, -0.733796}, {-0.186028, 0.209995}, - {0.018928, -0.915909}, {-0.352721, 0.748722}, {-0.917271, 0.414704}, - {-1.388564, 0.625074}, {-0.601451, 1.435210}, {-0.090926, -0.755952}, - {-0.293108, -1.116392}, {0.041463, -0.942099}, {0.666369, -0.398063}, - {0.076754, -0.528375}, {0.698873, -1.134724}, {-0.392975, -1.312348}, - {-0.526917, 0.774984}, {-0.133714, -0.398997}, {-0.990661, -0.808244}, - {0.208158, 0.174976}, {-0.042402, 0.479397}, {0.972845, -1.260660}, - {-0.360790, 2.380324}, {-1.161445, -0.617964}, {-1.369325, 0.963665}, - {0.712060, 0.409267}, {0.061189, 1.091821}, {0.108450, 0.248626}, - {-0.532186, 0.684632}, {0.049827, 0.344103}, {-0.730446, -0.644051}, - {0.644672, 0.108521}, {-0.311770, 0.388340}, {0.133496, 0.663978}, - {-1.068918, -0.856697}, {-0.186471, -2.407906}, {0.497449, 0.217132}, - {0.553690, 0.561973}, {-0.222306, 0.573912}, {0.294889, -0.153714}, - {-0.467937, -0.114124}, {0.505513, 0.947824}, {0.835613, 1.387442}, - {0.099424, -0.647555}, {-1.266308, 0.746230}, {-0.314232, -0.506824}, - {-0.017508, 1.148471}, {-0.005104, 0.544153}, {1.347437, 0.169568}, - {0.736192, -2.120244}, {0.478583, -0.538318}, {-0.845261, -0.241234}, - {0.711244, 0.248858}, {-0.960539, 0.885631}, {0.519557, 0.157119}, - {0.400078, -0.558660}, {-0.355913, -0.726436}, {0.620301, 0.283481}, - {0.437469, 0.894420}, {-0.246065, -0.441159}, {-0.207652, 0.260112}, - {0.235413, 1.202266}, {-0.147333, 0.651418}, {-0.885893, -0.987513}, - {-0.126637, -0.161050}, {0.198054, -0.239859}, {0.753221, -0.122113}, - {0.852570, 0.312679}, {-1.421536, 0.339068}, {-0.608847, 0.082841}, - {0.806647, -0.618066}, {-0.055481, 0.361346}, {0.524385, 1.872652}, - {-0.288788, -0.146810}, {-0.967147, -0.853194}, {1.966405, -0.833411}, - {0.789003, -0.347270}, {0.015620, -0.631887}, {-0.150879, 0.915769}, - {-1.491238, 0.217030}, {0.326333, 1.498518}, {0.141223, -0.389036}, - {-0.513646, 0.793641}, {0.900859, 0.209672}, {0.036641, -0.621067}, - {-0.472702, 0.503169}, {-0.229471, 0.415297}, {-0.063377, -0.510807}, - {1.772735, -0.165259}, {0.367308, 0.204078}, {-0.811216, -0.742540}, - {-0.346736, -1.336241}, {-0.390538, -0.215693}, {0.273645, 0.017357}, - {-0.411219, -0.583215}, {0.179285, 0.386901}, {-0.714087, -0.705568}, - {0.354034, -0.029101}, {-0.124648, -1.203258}, {1.036534, -0.216642}, - {-0.079461, -0.167129}, {-0.519538, 0.969040}, {-0.926647, -0.543191}, - {-0.311806, 0.129944}, {0.338452, 0.046144}, {0.443791, 1.037348}, - {0.366235, 0.139119}, {-0.436045, -0.889787}, {-0.487186, -0.329841}, - {0.501924, -0.296196}, {-0.155070, 0.928638}, {-2.271375, -1.096587}, - {-0.875416, 0.031515}, {0.034895, 1.136367}, {1.259196, 0.151467}, - {-0.252917, 0.546385}, {0.146755, 0.215855}, {-1.279319, 1.584790}, - {-0.218261, -0.211344}, {0.838865, -0.281694}, {0.072992, 0.018618}, - {-1.486640, -1.384387}, {0.673440, 0.783368}, {0.039087, 0.485902}, - {0.548339, -0.131470}, {-0.662826, 2.232434}, {-0.724622, -0.767747}, - {-0.737761, -0.048276}, {0.858736, 0.000247}, {-0.219835, -1.241124}, - {0.396621, -0.086901}, {-1.437003, 0.502828}, {-1.537267, 0.734791}, - {0.247638, -1.034931}, {-0.879638, 0.130748}, {0.532153, 0.697673}, - {0.869286, 1.340851}, {0.477714, -0.332712}, {-0.081229, 0.614635}, - {-0.409415, -0.046581}, {0.677428, -1.891076}, {-0.988289, 0.508962}, - {0.887530, -0.096640}, {-1.348466, 0.384365}, {-1.031462, -0.619078}, - {-0.457756, 1.980067}, {-1.307319, -0.821311}, {-0.428687, -1.927863}, - {0.126831, 0.314297}, {0.552891, 0.191885}, {1.303032, -1.178928}, - {-0.456697, 0.537127}, {-0.138564, 0.139533}, {-0.864216, -0.683295}, - {0.036298, -1.122012}, {0.480571, -0.713238}, {0.192623, -0.245657}, - {1.311303, -0.200987}, {0.399964, -0.611107}, {0.442759, 1.073488}, - {-0.696011, -1.128391}, {0.170959, -0.286343}, {1.066110, -0.985228}, - {-0.541647, 0.438916}, {-0.441049, 1.398625}, {0.351268, -0.444252}, - {-0.100225, -0.353511}, {-0.544437, 0.471382}, {0.719671, 0.361168}, - {0.651644, 0.499506}, {0.854268, -0.138822}, {-0.292998, -1.397932}, - {0.351302, 0.565472}, {-0.249761, -0.289783}, {0.579986, 1.135063}, - {0.380274, 0.431460}, {0.142501, -0.768253}, {1.174364, -1.250559}, - {0.124183, -0.664356}, {-1.775768, -0.426318}, {-0.410384, 1.397669}, - {-0.001185, 0.082445}, {0.683819, 0.016434}, {-0.474231, -1.274486}, - {-0.227899, -0.715442}, {0.190972, -1.037010}, {0.515506, 1.060213}, - {0.574070, -0.057852}, {0.794263, 0.456543}, {0.941117, 0.348461}, - {0.714095, 0.442504}, {-1.016134, -0.621262}, {1.501944, -0.164696}, - {0.859384, 0.325223}, {0.605958, -0.405522}, {0.907773, -0.133478}, - {-0.652518, 0.324279}, {-0.223686, 1.532219}, {0.361665, 0.114357}, - {0.118379, -1.485257}, {0.306623, -1.663751}, {-0.611527, 0.305831}, - {-0.371509, 0.148804}, {-0.317648, 0.168418}, {-0.579078, -0.164959}, - {0.064958, 1.214070}, {-1.513764, -0.019390}, {0.016424, 2.001058}, - {-0.457485, -0.024951}, {-0.847341, 0.548593}, {-0.839426, 0.760265}, - {-0.698344, 1.016456}, {-0.246799, 0.331351}, {0.869786, -0.376963}, - {-0.318179, 0.256495}, {0.392127, -1.203653}, {-0.120425, -0.077075}, - {1.005891, -0.597390}, {0.055568, -0.619495}, {0.760399, 0.047681}, - {0.293058, 0.480236}, {0.295600, 1.063913}, {0.595203, 0.121404}, - {0.681366, -0.184135}, {1.298989, -0.786985}, {-0.354303, 0.275603}, - {0.255593, -0.140121}, {1.054477, 0.948719}, {-0.798213, 0.913454}, - {-0.582777, 0.673212}, {-1.973554, 1.089905}, {0.606828, -0.566130}, - {-0.539355, -1.199468}, {0.086100, 0.764955}, {0.792542, -1.548656}, - {-0.533920, 0.802166}, {0.132591, -0.662338}, {-0.061156, 0.482952}, - {-0.104437, -0.056214}, {-2.042381, 0.317327}, {-0.706828, 0.899494}, - {-0.098682, 0.865073}, {0.231769, -0.480548}, {-0.723515, -0.797806}, - {-0.333745, -0.255096}, {1.425486, 0.616569}, {-0.223026, -0.286492}, - {0.945380, -0.819845}, {-0.836305, 0.433398}, {0.888634, -0.227558}, - {-0.302648, -0.403994}, {-0.266759, 0.341454}, {-0.911044, 0.207652}, - {0.257598, 0.267578}, {-0.376137, -0.484206}, {-0.106228, 1.155262}, - {-0.547100, -1.021943}, {-0.252786, 0.099260}, {0.089525, -0.008952}, - {-0.445924, 0.184429}, {0.141610, -0.548673}, {-0.639422, -1.083761}, - {0.498910, 0.621386}, {0.093824, -0.107770}, {-0.245646, 0.217584}, - {-0.612243, -0.523719}, {0.457347, 0.364012}, {-0.411336, -0.629464}, - {-0.092268, 0.204563}, {0.920493, -0.578667}, {-0.869454, -0.238633}, - {-0.751389, 0.777007}, {0.580578, 0.705056}, {-1.233334, -1.695404}, - {-0.121305, 0.368160}, {0.782543, 0.610795}, {0.553925, 1.300069}, - {1.374260, 0.609157}, {-1.357033, 0.843414}, {0.098626, -0.521365}, - {-0.032515, 0.264753}, {0.062218, 0.085845}, {0.138012, -1.084788}, - {-0.187827, 1.380862}, {0.263689, 1.028871}, {-1.215770, -0.552066}, - {-0.971891, -0.672402}, {-0.256976, 0.648996}, {0.007809, -0.724976}, - {-1.053466, -0.103232}, {0.957392, -1.526623}, {0.387851, 1.252142}, - {0.298416, -0.686813}, {-0.249408, -0.417895}, {-0.524619, -0.646987}, - {-0.101608, 0.062621}, {0.111389, -0.960781}, {1.101285, 0.205008}, - {-0.120747, -0.663793}, {-0.602035, 0.176470}, {1.221108, 0.961762}, - {0.159797, -0.161413}, {-0.233941, 0.806754}, {1.256036, 0.863057}, - {0.259618, 0.549863}, {0.320844, 0.899846}, {1.030547, -0.232090}, - {-0.517929, -0.918284}, {0.680314, 0.060717}, {-0.505026, -1.527791}, - {0.162336, 0.314724}, {0.234991, -0.216314}, {1.375132, 0.094076}, - {-0.125705, -0.044844}, {0.657598, 0.128665}, {0.281292, 0.370853}, - {0.027894, -0.981212}, {-0.732655, 0.132501}, {-0.338577, 0.250010}, - {-1.883558, 0.143130}, {-1.095169, -0.539749}, {0.166138, 0.224390}, - {-1.094189, -0.104317}, {-0.997375, -0.598321}, {-0.535645, -0.686231}, - {1.289569, -0.268987}, {0.998965, 0.994487}, {-0.349591, 0.714244}, - {-0.457773, -1.093644}, {-1.171475, 1.478846}, {0.523449, 0.576947}, - {-0.610201, 0.802389}, {1.367942, -0.063770}, {-1.189872, 0.914725}, - {0.408213, 0.132025}, {-0.856124, -1.135856}, {-0.347681, -0.706150}, - {0.226903, 0.619634}, {0.548890, 0.651093}, {-1.798606, -0.216122}, - {-0.220157, -0.282742}, {0.108822, -0.485596}, {-0.238309, -0.347750}, - {-0.476180, 0.392785}, {0.428713, -0.175999}, {0.416074, -0.089752}, - {1.268016, -1.407373}, {-0.322409, 0.315716}, {-0.086932, -0.954776}, - {-1.178527, 1.119818}, {0.873189, -0.405550}, {-0.286794, -0.449645}, - {0.741120, -0.039714}, {-0.401502, 0.784565}, {1.378832, 0.131114}, - {-0.510286, -0.774428}, {-0.241374, 0.226729}, {-0.413898, -0.710203}, - {-0.617347, -0.040064}, {1.452338, -1.110283}, {0.018838, -0.592385}, - {0.339572, -0.084802}, {0.262142, 1.120113}, {0.382072, 0.167998}, - {-0.273583, 1.253093}, {-0.509580, -0.586627}, {-1.016938, 0.501199}, - {0.530467, 0.149760}, {0.204492, 0.038013}, {0.074458, -0.292217}, - {0.257628, 0.451130}, {0.557490, -0.411723}, {-0.181796, -0.641207}, - {-0.392248, -0.582808}, {0.705525, -0.502120}, {-1.021501, -0.207399}, - {-0.060821, 0.298599}, {-0.261969, -0.318225}, {-0.350443, 1.831054}, - {0.029182, 0.719110}, {-1.269295, -1.154099}, {-1.488271, -1.469956}, - {0.176535, 1.097410}, {-1.195927, 0.342358}, {0.582184, 0.396307}, - {-0.764560, -0.634440}, {0.106084, -0.378503}, {0.760363, 0.649530}, - {-0.020356, -0.601389}, {-0.423594, -0.651490}, {0.600149, -0.395775}, - {0.421193, 0.051504}, {-1.364237, 0.717686}, {0.876530, -0.288772}, - {-0.098973, 0.266692}, {0.051789, 0.462817}, {0.361495, -0.346842}, - {-0.553109, 0.940488}, {-0.653951, 0.277526}, {0.163045, -0.244626}, - {-0.126776, -0.299731}, {0.860475, 0.302389}, {0.606731, -0.425179}, - {0.305458, 0.780583}, {1.028347, -1.635167}, {0.197608, 1.209333}, - {0.150105, -0.773508}, {-0.560487, -1.383294}, {-0.657034, 0.108016}, - {-0.629934, -0.335711}, {-0.404889, 0.112022}, {0.350071, -0.125444}, - {-0.397430, -0.533393}, {1.157015, -0.673598}, {0.836126, -0.091404}, - {0.420003, 0.030830}, {0.304754, 0.940964}, {0.857632, -0.131707}, - {1.482902, -0.526416}, {-0.506755, 0.581483}, {0.798173, -0.622550}, - {0.199645, 0.054187}, {-1.166797, -0.592686}, {0.703425, -0.099088}, - {0.100574, -0.652021}, {-0.452634, 0.557510}, {-0.395655, 0.631259}, - {0.005128, -0.031089}, {-0.476422, 0.288975}, {-0.696440, 1.007601}, - {0.651351, 0.229279}, {-0.546184, 0.967790}, {-1.783408, 0.458041}, - {-0.158492, 0.721176}, {-0.829438, -0.495769}, {0.853862, -0.436152}, - {-0.510630, 0.354021}, {0.410283, -0.562993}, {1.333456, 0.619765}, - {0.680707, 0.364967}, {0.768117, 0.202325}, {-0.624035, 0.194222}, - {-0.242982, -0.068768}, {-0.060626, 0.243812}, {0.918857, 0.010191}, - {-0.158575, -0.660882}, {0.268070, -1.046163}, {-0.550812, -0.916602}, - {0.222526, -1.326576}, {-0.142632, 1.771943}, {-0.500111, 0.366333}, - {0.045897, -0.931826}, {0.061037, -0.398634}, {-1.206603, 1.049450}, - {-0.346603, 0.009748}, {-0.194651, -0.420179}, {-0.172385, 1.200766}, - {-0.276451, -1.221394}, {-0.971227, 0.736046}, {0.849993, -0.122658}, - {0.565771, 1.029030}, {0.572575, -0.539519}, {-0.278977, 0.982730}, - {-0.406039, -0.534002}, {-0.022104, -0.217645}, {0.393789, -0.655764}, - {-0.821859, 0.222043}, {0.709829, -0.538537}, {0.309091, 1.335973}, - {0.555716, 0.225149}, {1.155433, -0.264109}, {-0.224191, -0.004592}, - {-0.076549, 0.928899}, {0.141337, -0.500391}, {-0.286491, 0.403995}, - {0.340087, 1.192301}, {-0.264734, 0.101794}, {0.873252, -1.455120}, - {-0.574337, 0.221889}, {-1.110424, 0.703227}, {0.420803, 0.333899}, - {0.277080, -0.644572}, {-0.747538, 0.159962}, {0.552815, 1.068068}, - {1.368512, 0.010990}, {-0.206001, -0.237472}, {0.288503, -0.659436}, - {-0.954056, 0.215502}, {1.548500, -0.238286}, {-0.889812, 0.522877}, - {-0.012439, -0.723786}, {-0.525273, -0.379121}, {-0.527515, -1.502476}, - {0.133542, 0.108887}, {0.492447, -0.045511}, {0.574807, -1.260810}, - {0.878001, 0.683264}, {-0.376682, -0.588180}, {0.164608, 0.358034}, - {0.459547, 0.386397}, {-1.374767, 0.442204}, {-0.699591, -0.427016}, - {-0.228447, -1.161662}, {-0.322419, 1.606881}, {0.576055, 1.101472}, - {0.563123, 0.146375}, {0.244216, -0.241690}, {0.438112, -0.485327}, - {-1.276929, 0.367200}, {-0.181353, -1.346356}, {-0.146869, -0.957341}, - {-2.198517, 0.705247}, {-0.289717, -0.177364}, {0.280325, -1.142208}, - {0.002380, 0.345383}, {-0.418233, -1.133385}, {0.183564, 0.534520}, - {-0.372636, -0.051311}, {-0.020811, -0.085884}, {1.163894, -0.173220}, - {0.616165, 0.230038}, {-1.320575, -0.652613}, {0.123778, -0.062176}, - {-0.722536, -0.008719}, {1.340873, 0.027244}, {-0.294827, -0.522338}, - {-0.602427, 0.183616}, {-0.785766, -0.953680}, {-0.286187, 0.348720}, - {-0.280901, 0.554931}, {0.380116, 0.763759}, {0.780404, 0.192032}, - {1.328343, 1.436113}, {-0.362877, 0.085413}, {1.403308, -0.413647}, - {0.773876, -0.086423}, {-1.316530, -0.726207}, {-0.379298, -0.390658}, - {-0.150301, 0.006436}, {0.370812, -0.684290}, {-0.905463, -0.548246}, - {-0.072613, 0.421906}, {-0.211486, 0.321136}, {-0.247273, 0.076461}, - {-1.160356, 0.131643}, {0.379819, -0.441965}, {1.064987, 0.033534}, - {-0.575692, -0.336300}, {-0.131156, 0.299834}, {-0.907355, -0.562159}, - {-0.142894, -0.067061}, {-0.305338, 0.059685}, {-0.890171, -0.918641}, - {-0.333344, 0.104434}, {0.450288, 0.236190}, {0.180918, -0.376193}, - {-0.816878, 0.145535}, {-0.789538, -1.143910}, {-0.022631, 0.224265}, - {-0.080696, 0.591185}, {-0.511739, 0.521540}, {1.522040, -1.191704}, - {-0.120255, 0.225194}, {-0.124457, 0.484338}, {-0.332395, 0.668069}, - {1.358569, 0.343165}, {-0.907961, 0.303291}, {-0.726165, 0.958101}, - {-0.631030, -0.969657}, {0.187222, -0.841928}, {-1.702365, -0.218011}, - {0.042628, -1.318380}, {0.356098, 0.394505}, {-0.321503, -0.176962}, - {-1.508798, 0.471924}, {0.284711, -0.884522}, {-0.279981, 1.075346}, - {0.261212, 0.062374}, {0.730161, -0.028577}, {1.413322, -0.696512}, - {-0.537404, -0.498826}, {0.470840, -0.050515}, {1.075743, 1.816796}, - {0.238969, 0.728689}, {0.021923, -0.203939}, {0.068466, 0.691633}, - {-0.463844, 0.382524}, {0.536354, 1.367231}, {-0.269568, 0.317660}, - {-0.509721, -0.056128}, {-0.996035, 0.482343}, {-0.318504, 0.613621}, - {0.724407, -0.391671}, {-0.976483, 0.002770}, {0.168754, -0.138651}, - {-0.850412, 0.004662}, {-0.778271, 0.301141}, {-0.556300, -0.014048}, - {-0.144566, 0.581755}, {1.567425, -1.299013}, {-0.633055, -1.176258}, - {-1.218887, 1.088643}, {-0.057700, 0.210952}, {-0.252005, -0.056308}, - {-0.164041, 1.200916}, {0.881096, -0.523409}, {1.271002, 0.348902}, - {0.300212, 0.080781}, {-1.259126, -0.385348}, {0.380261, -0.005380}, - {0.301990, -0.096667}, {-0.644417, 0.661865}, {0.031295, -0.414362}, - {0.513909, -0.849192}, {1.037724, 0.167813}, {0.045507, 0.302800}, - {-1.007752, -0.631584}, {-1.626240, 0.520166}, {0.161739, -0.005463}, - {-1.011094, -0.296322}, {0.530863, -0.353709}, {0.919905, -1.215387}, - {-0.399307, 0.348172}, {0.124302, -0.831545}, {-1.101106, 0.209511}, - {0.423896, 0.392179}, {-0.194011, -0.630735}, {-0.500591, 0.215709}, - {0.031183, 0.910928}, {0.038389, -0.311259}, {-0.355431, -1.334079}, - {0.530912, -0.294080}, {-0.716034, -1.092596}, {0.581166, 0.307768}, - {0.499546, -1.691484}, {-0.109812, -0.243400}, {0.044216, 0.158567}, - {-1.588308, -0.037482}, {0.222448, -1.635453}, {-0.184406, -0.084681}, - {1.961808, 0.936940}, {0.545590, 0.745191}, {0.655076, 0.761226}, - {0.928499, -0.528748}, {0.311753, 0.419596}, {1.127516, 0.514393}, - {-1.142233, -1.018180}, {-0.751043, 0.873569}, {-0.003552, -0.256010}, - {-0.055468, -0.040296}, {-0.461006, 0.063426}, {0.114477, 1.054606}, - {0.646237, -0.738074}, {0.047691, 0.563215}, {0.182860, -0.736483}, - {1.006184, -0.743762}, {0.208249, 1.194100}, {-0.936638, -0.678655}, - {1.379611, -1.003314}, {-0.214213, 0.683884}, {-0.412822, 0.050631}, - {0.206172, -0.486222}, {-0.262572, 0.662397}, {0.484827, 0.903902}, - {1.340717, 0.828282}, {0.376723, -0.394673}, {0.947224, 0.377674}, - {-1.479304, -0.488522}, {-0.346264, -1.112863}, {0.079983, -0.757019}, - {-0.589024, -0.865351}, {0.154858, 0.742523}, {-0.185417, -1.110911}, - {0.054021, 0.213561}, {0.049129, 0.159524}, {0.250903, 1.427318}, - {-1.002452, -1.002884}, {-0.706890, 0.148861}, {-1.154288, -0.107721}, - {-0.817221, 0.436977}, {-0.157997, -0.870204}, {1.385451, -1.059729}, - {-0.802317, 0.030557}, {0.536617, -0.377124}, {-0.267416, 1.257724}, - {0.271600, -0.064099}, {-0.293484, 0.280734}, {-0.139114, -0.129475}, - {0.480314, -0.765081}, {0.342935, -0.322883}, {0.036162, -0.632071}, - {0.182499, 0.303409}, {0.388280, -0.850579}, {-0.118716, 0.915001}, - {-0.755100, -0.436041}, {-0.860414, 0.326513}, {-0.078845, 0.146499}, - {-0.454604, 0.719797}, {-2.241604, 0.049962}, {-1.192389, 1.327719}, - {0.375567, 1.037999}, {0.689446, -0.703830}, {0.302199, -0.655993}, - {-0.087239, 0.488734}, {0.211377, 0.892874}, {-1.046074, -0.479046}, - {-1.018003, 0.367627}, {-0.152274, 1.650427}, {-0.779947, 1.239985}, - {0.952925, 0.318968}, {0.643531, 0.231822}, {-0.469200, -0.137811}, - {0.818526, -0.988439}, {0.143608, -0.391619}, {-0.078638, -0.494635}, - {-0.706101, -0.278646}, {-0.828922, 0.806409}, {-0.198227, 0.585023}, - {-0.181743, -0.538596}, {0.696894, 0.324933}, {-1.035302, -0.067149}, - {1.116654, -0.636352}, {-1.447442, -0.383901}, {-0.842335, 0.808594}, - {-0.059386, -1.333912}, {0.039588, -0.568428}, {1.841497, 0.186063}, - {-0.222182, 0.546696}, {-0.492511, 0.065429}, {-0.049596, 0.521704}, - {0.950219, 0.001244}, {0.239031, 0.821970}, {-0.148545, -0.111477}, - {-0.799855, 0.719260}, {-0.198976, -0.598787}, {1.057029, -0.080555}, - {-0.042454, 0.198415}, {-0.396442, 0.128443}, {0.356674, 0.917567}, - {0.629624, -0.252468}, {0.494230, 0.346046}, {-0.203429, 0.238311}, - {-1.254628, -0.489511}, {-0.885587, 1.273245}, {0.130810, -0.161627}, - {0.060963, -0.761843}, {-0.216955, -1.087269}, {0.365978, 0.094954}, - {0.912409, 0.200455}, {-1.054822, -0.278074}, {0.608031, 0.908329}, - {0.311314, -0.062994}, {-1.084923, -0.437044}, {0.483123, 0.692619}, - {0.487429, 0.109963}, {-0.553350, 0.131579}, {-0.992250, 0.280366}, - {-0.884746, 0.002868}, {-0.029371, 1.412446}, {0.678184, 0.364567}, - {-0.139078, -0.387712}, {-0.347524, 1.175467}, {-1.183990, -0.650822}, - {1.246393, -1.035660}, {-0.296366, 0.060319}, {-1.583348, 0.761657}, - {-0.150878, 0.717756}, {-0.539900, 0.032499}, {0.538042, -0.765398}, - {0.608876, -0.599854}, {0.351878, -0.018209}, {-0.963879, 0.867025}, - {-0.746801, 0.240322}, {-0.264184, -0.061670}, {0.684332, 0.011746}, - {1.440898, -0.176096}, {0.229892, -1.161869}, {0.056788, -0.657892}, - {-0.700251, -0.949597}, {-0.678207, -1.371336}, {0.610739, 0.719252}, - {-1.817905, -0.601268}, {0.031990, 0.180419}, {0.060516, 0.204577}, - {-0.679842, 1.491688}, {0.905999, -1.561989}, {-0.013397, -0.658106}, - {0.646469, -0.124247}, {0.231365, -0.066460}, {0.072911, 1.358672}, - {0.523387, 0.767592}, {-0.255464, -0.837687}, {-0.347596, 0.065474}, - {-0.118698, 0.282555}, {0.227003, -0.532110}, {-0.105316, 1.261845}, - {-1.287464, 0.009365}, {0.164639, 0.004452}, {0.487845, -0.036515}, - {0.237642, -0.113136}, {0.280221, -0.370952}, {-0.693740, -0.547488}, - {-0.026475, -1.513071}, {0.562730, -0.294865}, {-0.407170, -0.821101}, - {-0.007381, -0.255046}, {-0.882883, 0.044493}, {0.458046, -0.236675}, - {-0.280611, 0.402649}, {0.655407, 0.081470}, {-0.583163, 0.689875}, - {-0.126923, -0.141713}, {0.568498, -0.192502}, {0.207786, -0.707445}, - {0.181237, -0.315024}, {0.452277, -0.237819}, {0.804749, 0.161488}, - {-0.668502, -0.165804}, {-0.995984, -0.756193}, {-1.477199, 0.138328}, - {0.224779, 0.153369}, {0.714115, -0.105414}, {0.755752, -1.157271}, - {-0.624159, 0.288454}, {0.410050, -0.940682}, {-0.735226, 0.333144}, - {-0.319454, -0.151368}, {-0.534119, 0.581015}, {-1.021982, 0.025073}, - {0.364749, -0.324409}, {-0.809700, -0.013999}, {-0.631631, -1.111146}, - {0.041314, -0.401087}, {0.694871, 0.735264}, {-0.367532, -1.564337}, - {-0.580821, -0.330655}, {0.183537, 0.598051}, {-0.245114, -0.399095}, - {0.431852, -0.491440}, {-1.538842, 0.741551}, {0.355387, -0.411799}, - {0.047607, -1.484812}, {-0.406563, -0.099734}, {-0.476070, -0.974793}, - {0.424268, -0.049799}, {-0.463479, 0.342533}, {-0.021704, -0.441977}, - {0.274849, 0.092550}, {0.062134, 0.876438}, {0.724167, -0.072370}, - {-0.878909, 0.087750}, {0.496256, -0.162627}, {0.279006, 0.247471}, - {1.112257, -0.008240}, {-0.542958, 1.121075}, {0.883658, -1.033522}, - {0.665774, 1.218471}, {-0.485500, 0.566506}, {0.101171, -0.467048}, - {0.428733, 0.037372}, {0.070215, 0.356568}, {-0.115995, 0.469828}, - {-0.288060, 0.751706}, {-0.893341, -0.479910}, {0.129788, -0.712225}, - {0.607605, -0.659464}, {-0.928870, 0.184671}, {1.532564, 0.622921}, - {-0.259213, 0.773723}, {-0.613180, 1.165169}, {-0.246855, 0.477170}, - {-0.763396, 0.185209}, {0.176437, -0.026025}, {0.238849, 0.442184}, - {-0.352254, -0.531682}, {0.807799, -0.627800}, {0.047221, 0.691612}, - {-1.063426, -0.086542}, {0.127711, -0.873769}, {-0.266249, -0.401636}, - {-0.792988, 0.561747}, {1.359199, 0.175116}, {0.055027, 0.221748}, - {-0.811887, 0.783136}, {-0.242847, 1.170197}, {0.603982, -0.386618}, - {-0.066028, -0.887924}, {0.195072, -0.461362}, {-0.124588, -1.349309}, - {-0.923671, 0.021243}, {0.672608, 0.390882}, {-0.157503, 0.476204}, - {0.395069, 1.581050}, {0.546212, 0.493126}, {-0.275470, -0.171620}, - {0.279435, 0.010272}, {0.398665, -0.060216}, {-0.540549, -0.545716}, - {-0.203679, 0.332363}, {-0.496097, -0.577372}, {0.580802, 0.437667}, - {1.112826, -0.947356}, {-0.740122, -1.666636}, {0.794783, -1.131704}, - {-0.942124, -0.854277}, {-0.673412, 0.214855}, {-0.147656, 0.291988}, - {-0.104863, 0.388239}, {0.076779, 0.606955}, {0.200388, 0.524721}, - {-0.320980, 0.897459}, {0.075462, 0.168864}, {1.058383, -0.217411}, - {-0.257135, -0.135694}, {-0.967934, -0.164808}, {-0.923465, 1.535662}, - {-0.342228, 0.493143}, {0.950437, 0.330328}, {1.159788, 0.029407}, - {0.519360, -0.289634}, {-0.387919, 0.756822}, {0.110258, -0.324655}, - {-0.834385, 0.057787}, {0.385197, 0.770062}, {-0.865068, -0.695108}, - {-0.163616, 0.499126}, {-0.260925, 0.174936}, {0.269825, -0.563868}, - {0.085977, 0.711242}, {-0.154136, -0.310298}, {0.667896, 0.312458}, - {0.455000, 0.511352}, {-0.119230, 0.565919}, {0.448509, -0.266193}, - {-0.076594, 0.711581}, {0.487758, -0.084284}, {-0.134384, 0.512608}, - {-0.073188, -1.588799}, {0.263813, -1.537716}, {-0.318161, 0.668523}, - {0.716481, 1.034983}, {0.100407, 0.603227}, {1.278314, 0.725134}, - {-1.102419, -0.668425}, {-1.533689, -0.122580}, {-0.015321, -0.363228}, - {-0.354993, -0.049059}, {0.234433, -0.176360}, {1.531154, 1.445120}, - {0.196174, -0.704589}, {0.939701, 0.188199}, {-0.883210, -0.154533}, - {0.533736, 1.018771}, {1.025444, -0.745913}, {-0.224936, 0.074982}, - {-0.445386, -0.861890}, {0.037407, -0.227981}, {-0.186347, -1.290577}, - {-0.309371, 0.403374}, {-0.532396, 0.613887}, {2.165530, 1.358975}, - {2.007988, -0.415721}, {1.170118, 1.184736}, {0.147671, 0.285319}, - {0.189048, -1.372490}, {0.572345, -0.160934}, {-0.968055, 0.078689}, - {-0.838057, 0.005487}, {0.002971, 0.754035}, {0.963936, -1.052451}, - {1.384693, -0.238220}, {0.730919, -0.253514}, {-0.055962, -1.239576}, - {-0.971576, 0.081729}, {1.592811, 0.554873}, {0.891373, -1.465274}, - {-0.436801, 0.681487}, {0.781594, -0.567997}, {-0.734441, -0.356614}, - {-0.417233, 0.307766}, {-0.342015, -0.643618}, {-0.292766, -0.377798}, - {0.524786, 0.511648}, {-0.581227, 1.232650}, {-0.014453, 0.621820}, - {0.249726, 0.375897}, {0.606730, -0.436103}, {0.470665, 1.092492}, - {0.049061, 0.242758}, {0.356517, 0.602295}, {-0.136680, -0.171375}, - {0.138788, 0.924838}, {1.014005, -0.233081}, {-1.201889, 0.445990}, - {1.026871, -0.586108}, {0.489435, 1.106440}, {-0.647070, 0.966539}, - {0.412053, 0.403891}, {1.508765, 0.651857}, {0.967302, 0.360629}, - {0.643439, 0.542859}, {0.009643, 0.167438}, {-0.043095, -0.479629}, - {-0.427617, -0.891696}, {0.262743, 0.496652}, {0.399848, 0.055136}, - {0.389352, -0.140837}, {-0.874961, -0.286650}, {-1.148781, 0.964809}, - {-0.075158, -1.058411}, {-1.356972, 0.477178}, {-0.583056, 0.785091}, - {0.180521, 0.643195}, {-0.341790, 0.582116}, {0.617637, -0.386019}, - {0.287523, -0.641069}, {0.445544, -1.046088}, {0.056885, 0.909019}, - {0.237974, -0.577966}, {0.265120, 0.170968}, {0.831315, 0.261175}, - {-0.053478, 0.750541}, {-0.910915, 0.305149}, {0.740491, 0.199702}, - {-0.644430, 0.804073}, {-0.032674, 0.043810}, {0.506929, 0.722204}, - {-1.458642, -0.012285}, {1.125423, -0.870600}, {-0.413975, -1.013859}, - {0.263494, -0.250882}, {-0.509992, 0.642512}, {0.309917, 0.102069}, - {0.432682, -0.594946}, {0.389074, -0.347972}, {0.363322, 0.447382}, - {0.409466, 0.684147}, {-0.383569, 1.103528}, {0.400605, 1.027698}, - {-0.244181, -1.174979}, {-0.138094, -0.035489}, {-0.732504, -1.119719}, - {0.401623, -0.226204}, {-0.009444, -0.493273}, {-0.623539, 0.052497}, - {-0.082322, 0.624134}, {-0.241276, 0.692779}, {-0.855399, -0.954111}, - {-0.102812, 0.455049}, {-0.163148, -0.813131}, {0.632547, -0.140929}, - {0.494530, -0.185368}, {-0.193079, -0.723176}, {0.337338, -0.445788}, - {0.401790, 0.559695}, {0.230591, -0.192288}, {-0.300693, -0.121974}, - {1.384646, -0.585677}, {0.325791, -0.040454}, {-0.012575, 0.226125}, - {-1.008117, -1.345584}, {-0.253066, -0.722583}, {0.510556, -1.634320}, - {-0.620574, 0.638105}, {0.744498, -0.848184}, {-0.604678, 0.294828}, - {0.576435, -0.241527}, {-0.209046, 1.633283}, {-0.037161, -0.383274}, - {-0.522555, -0.336960}, {0.454551, 0.473618}, {-0.155145, -0.383863}, - {0.691671, 0.364433}, {0.110858, -0.308247}, {0.291931, -0.200529}, - {-0.257731, -0.294773}, {-0.297832, -0.078972}, {-1.000551, -0.056650}, - {-0.728054, 1.617977}, {0.683715, -0.328680}, {-0.000525, 0.011541}, - {0.620598, -0.661930}, {0.264711, -0.928142}, {0.228987, -0.335306}, - {-0.244599, -0.068855}, {-0.836542, -0.817358}, {0.092673, 0.460987}, - {-1.129502, -0.114615}, {-0.632434, 0.515582}, {0.031820, 0.686984}, - {0.770886, -0.492505}, {-0.596480, 1.289307}, {-0.101952, -0.691478}, - {-0.104274, -0.131200}, {-0.625558, -1.086399}, {0.877969, -0.772245}, - {0.268059, -0.223637}, {-0.900697, 1.204608}, {0.050722, 0.907601}, - {0.673273, 0.381280}, {-2.047377, -0.460464}, {-0.180485, 0.585813}, - {0.917693, -0.593887}, {-0.800537, 0.647290}, {-0.440595, 0.183335}, - {-0.713969, -0.073229}, {-0.774967, -0.149180}, {0.404131, 0.588253}, - {-0.461998, -0.696968}, {0.274178, -0.357117}, {0.206730, 0.108627}, - {-1.064527, -0.450529}, {0.868135, -0.511465}, {1.861500, -0.019361}, - {-0.168042, 0.157278}, {-0.306666, -0.372632}, {-0.358648, 0.439013}, - {-0.508541, 0.110548}, {0.429907, 0.318529}, {0.768140, 0.536835}, - {-0.468226, -0.061801}, {-0.479689, -0.447397}, {1.419374, -0.900772}, - {1.265393, -0.725799}, {-1.446047, 0.967326}, {-1.003305, -0.450572}, - {-0.765069, -0.367291}, {0.058085, 0.520892}, {0.507400, 0.307971}, - {-0.096135, 0.082836}, {0.499087, -0.483651}, {0.786245, -0.896910}, - {-0.776823, -0.917120}, {0.046113, -0.674221}, {0.437166, -0.946565}, - {-0.481481, 0.348660}, {-0.303571, -1.297511}, {0.184266, -0.433271}, - {0.351287, 0.490834}, {0.136868, 0.207400}, {-0.928643, -0.705652}, - {0.411477, -0.296834}, {-0.130098, 0.423371}, {0.256138, 0.201198}, - {1.325804, -1.394897}, {-0.987536, 0.911194}, {0.467954, 0.721556}, - {-1.111917, -0.388390}, {-0.225829, -0.194731}, {0.686892, 0.002306}, - {0.017090, -0.337756}, {0.320620, 0.701407}, {-0.126604, -0.448189}, - {-1.038320, 0.350680}, {0.525033, -0.775856}, {1.423413, -0.907011}, - {-0.654169, 1.310124}, {-0.256723, -1.274182}, {-0.148799, 1.158405}, - {-1.309938, -0.423753}, {-0.822022, 0.520373}, {-0.487639, -0.029609}, - {-1.731135, 1.225201}, {0.860007, 0.817290}, {1.085528, -0.477385}, - {0.170410, 0.225994}, {0.130012, 0.501964}, {1.362920, -1.040532}, - {0.274595, -0.360680}, {-0.180443, -1.150807}, {-1.010892, -2.785690}, - {-0.185408, 0.645141}, {0.408186, 0.598987}, {-0.276912, -0.233762}, - {-0.554369, 0.384061}, {-0.313129, -1.273413}, {-0.295076, -0.206805}, - {-1.135422, 0.314641}, {-0.091967, 1.316718}, {-1.148036, 0.420483}, - {0.464056, 0.070829}, {0.643956, -1.132460}, {0.007388, -0.087534}, - {-0.670980, -0.644856}, {-0.562657, 0.103308}, {-0.910544, -0.624181}, - {-1.294871, -0.704342}, {0.253288, -1.249465}, {0.010697, -0.206204}, - {0.032296, -0.068846}, {0.227298, 0.289679}, {-1.018986, 0.376146}, - {0.196228, 0.336658}, {0.324491, 0.481509}, {1.401432, -1.385349}, - {0.469776, -0.021242}, {-0.359218, 0.077900}, {0.263855, -0.553276}, - {-1.338136, 1.760596}, {0.345680, -0.356526}, {0.967508, -0.348957}, - {-0.000197, -0.317256}, {0.266182, 0.209979}, {0.645966, -0.065156}, - {0.095471, 0.687960}, {-0.950904, 0.472007}, {0.237504, 1.029535}, - {-1.188493, 0.582823}, {0.037901, 0.276498}, {1.500981, 0.033858}, - {0.470859, 0.204791}, {-0.325697, -0.511828}, {-0.701164, -0.624759}, - {-1.022831, 0.029449}, {-0.617654, -0.209681}, {-1.086358, -0.753587}, - {-0.620495, 0.350436}, {0.255824, 0.780289}, {0.259997, 0.853987}, - {0.178984, 0.708660}, {0.206355, 0.342937}, {-0.203803, 0.123989}, - {0.087570, -0.018768}, {-0.251778, 0.402282}, {-0.067944, 0.802752}, - {0.814430, -1.075422}, {0.980073, 0.924960}, {-0.643462, 0.281085}, - {-0.043385, 0.222169}, {0.150379, -0.073680}, {-0.866595, -0.370094}, - {0.070700, -0.031495}, {-0.718160, -0.057721}, {-1.453375, 0.891355}, - {0.289324, 0.775060}, {0.181655, 0.483275}, {-0.752997, -0.073676}, - {-0.304538, -1.541777}, {-0.709192, 0.581410}, {0.492839, -0.517246}, - {0.183811, -0.156000}, {0.653373, 0.230724}, {0.406458, 0.005703}, - {-0.311049, 0.812297}, {-0.520574, 0.204449}, {0.054290, -0.724717}, - {0.094583, -0.073227}, {0.038531, 1.556567}, {-0.384123, -0.654494}, - {0.561946, -0.464299}, {-0.404523, -0.766166}, {-0.481575, 0.460856}, - {-1.907571, -0.823209}, {2.101905, 0.161585}, {0.287454, -0.132443}, - {1.242270, 0.686925}, {-0.921165, -0.565261}, {0.611637, 0.513699}, - {0.049954, -1.129081}, {-0.501940, 0.054891}, {1.429713, -0.551187}, - {-0.836163, -0.446508}, {0.278495, 0.087073}, {0.218168, -0.779450}, - {-0.223319, -0.407988}, {0.634553, -0.616996}, {1.182395, 0.959111}, - {-0.978832, 0.211972}, {0.424967, -0.249287}, {-0.041136, -0.865872}, - {0.678616, 0.138109}, {-0.183760, 0.626009}, {0.774335, 0.071065}, - {-0.711756, 0.994632}, {-1.071178, -0.459611}, {-0.483535, 0.070145}, - {-1.195615, 0.843780}, {-0.466068, -0.769168}, {-0.277629, -1.090422}, - {0.421671, -0.180614}, {0.412349, 0.215483}, {0.770770, -1.211197}, - {0.216869, -1.257316}, {1.131962, 1.071910}, {0.604317, 1.569760}, - {-0.432696, -0.511691}, {1.490919, 0.544307}, {0.722433, -0.223854}, - {-0.747281, 0.587934}, {0.591043, -0.389259}, {0.915617, 0.907123}, - {-0.090304, 0.260222}, {-0.286085, 0.181432}, {-1.366335, 0.134996}, - {1.006915, -0.256088}, {-0.742269, -0.287000}, {-0.560519, 0.149843}, - {0.228870, -0.089042}, {0.485062, 1.555019}, {-2.098179, -1.037507}, - {0.281221, 0.160181}, {1.124136, 0.576409}, {0.377565, 0.179290}, - {-0.774858, -0.594426}, {0.057609, 0.773926}, {-0.352908, 0.659389}, - {-0.214422, -0.486733}, {1.185269, -0.773319}, {2.361595, 0.580060}, - {-0.480781, 0.323322}, {-0.280537, 0.592566}, {-0.518135, 1.090907}, - {0.038454, -0.673850}, {-0.396300, 0.291648}, {0.431237, -0.742958}, - {-0.354511, -0.258468}, {0.589504, -0.340787}, {0.350439, 0.872189}, - {0.434521, 0.321774}, {-0.033107, 0.105060}, {0.708078, -0.753049}, - {0.529888, -0.271240}, {0.536421, -1.059462}, {-0.225809, -0.688310}, - {1.434065, 0.509015}, {-0.173576, 0.479379}, {-1.128043, -1.200555}, - {-0.400962, 0.006900}, {-0.193926, 0.797977}, {0.890121, -0.520395}, - {0.483454, -0.759030}, {0.120016, 0.881875}, {-0.600343, -0.651720}, - {-1.451600, -1.029965}, {0.761142, 0.319997}, {-0.112053, -1.155185}, - {1.220439, 1.751782}, {1.160185, 0.688299}, {-0.512242, -0.051162}, - {-0.706967, -0.136270}, {0.615304, 1.293581}, {-1.400761, 0.916505}, - {1.187036, 0.351908}, {0.080335, -1.965701}, {-1.630052, 0.439980}, - {-1.391160, 0.129870}, {1.155798, 0.582881}, {-0.065111, -1.099486}, - {0.125533, -0.003002}, {-0.164680, 0.102916}, {0.466728, 0.343552}, - {0.762902, 0.475304}, {0.744999, -0.654491}, {-1.398257, 0.311517}, - {-0.237558, -0.246793}, {0.428761, 0.156024}, {0.570756, 0.535184}, - {2.016382, -0.060246}, {-1.088301, 0.681331}, {0.830869, -0.097576}, - {0.388942, 1.207765}, {-0.606217, -0.034154}, {-0.231597, -0.930088}, - {-1.380885, -0.946200}, {1.243384, -0.076184}, {-0.876585, 1.046718}, - {0.966272, 0.210433}, {-0.291174, 0.271509}, {0.211819, 0.974055}, - {-0.463701, -0.565772}, {0.487341, -0.602470}, {-1.121183, -0.165544}, - {-0.252906, 0.474726}, {-0.402199, 0.851284}, {0.080496, -0.760036}, - {0.025413, -1.091766}, {0.547332, -0.330242}, {-0.672557, 0.494495}, - {0.954815, -0.310860}, {0.424952, 0.387591}, {-0.206481, -1.215096}, - {-0.565978, 0.308471}, {-0.594998, 0.287291}, {0.244841, -1.011218}, - {-0.121897, -0.182509}, {0.436936, -0.388815}, {-0.237612, 0.125997}, - {0.469551, 0.559430}, {-0.150812, 0.430465}, {-0.309672, -0.159915}, - {-0.041266, -0.484249}, {-0.498416, 0.134495}, {-0.216836, -0.600673}, - {0.753550, 0.178144}, {-0.829567, 0.580848}, {0.151586, 0.985193}, - {-0.030831, 0.835093}, {-1.336242, -0.274785}, {0.877728, 0.795873}, - {-1.272274, -0.088021}, {0.329721, 0.397562}, {0.284857, -0.480608}, - {0.682917, 0.080741}, {-0.101889, -0.248454}, {-0.682076, 1.494906}, - {0.629653, 0.954928}, {-0.543290, 1.090091}, {1.459454, 0.219865}, - {0.242040, -0.001250}, {1.335699, -0.279217}, {-0.929197, -0.177255}, - {-1.073987, -0.628953}, {-0.603636, 0.406831}, {-0.127502, -0.233138}, - {-0.595331, -1.556322}, {-0.003979, -0.372901}, {-0.071019, 0.395963}, - {0.367574, -1.213747}, {-0.334848, -0.212891}, {0.545672, 0.431015}, - {-0.319922, -1.488089}, {1.622107, -0.160144}, {-0.443496, -0.342474}, - {-0.182690, 0.814460}, {0.294580, 0.439232}, {-0.456404, -0.781690}, - {-0.239482, 0.065164}, {0.522642, 0.114414}, {0.220545, 0.027521}, - {0.928442, -0.357315}, {-0.037976, 0.045284}, {0.271085, -0.280372}, - {1.126150, -0.692677}, {0.605778, -0.288038}, {-0.839818, 0.853392}, - {-0.017924, -0.218859}, {0.193144, 0.838310}, {0.382364, -0.079117}, - {-1.218131, -1.625995}, {0.587757, -0.067836}, {1.112485, -0.821042}, - {-1.079681, 1.113467}, {0.739449, 0.903260}, {-0.337197, -0.539171}, - {-0.715782, 0.433698}, {-0.681131, -1.078419}, {-0.399622, -0.481035}, - {0.985279, 0.921888}, {-0.886267, -0.759144}, {0.477293, -0.151442}, - {-0.382453, -0.131280}, {-0.996212, -0.422600}, {0.704734, 0.607694}, - {0.134826, 0.350086}, {-0.256879, 0.214261}, {-0.492210, -1.268288}, - {0.269138, 1.401154}, {-0.717996, 0.256866}, {0.058280, -0.897792}, - {0.335278, -0.190030}, {-0.247184, -0.605186}, {0.020146, 0.328500}, - {-1.189915, 0.129145}, {0.215961, 1.303383}, {0.478757, 0.180930}, - {-0.299342, -0.948503}, {-1.146943, 0.060521}, {-0.868843, -1.063643}, - {0.923269, -0.045103}, {-0.878523, 1.072741}, {0.151682, -0.385870}, - {1.248675, 0.859689}, {0.583381, -0.622081}, {-0.427717, -0.653473}, - {0.114755, 1.122795}, {0.715533, -1.419478}, {-0.653173, -0.975489}, - {0.388866, -0.494883}, {0.991641, -1.615541}, {1.623819, -0.756583}, - {-0.477507, -0.049437}, {-0.921536, -0.203534}, {0.524950, -1.209924}, - {0.015214, 0.484588}, {-0.744276, -0.907266}, {-0.256785, 0.726990}, - {-0.989783, 0.236785}, {-0.927026, 0.190489}, {-1.224202, 0.044595}, - {0.695077, -0.066990}, {0.118911, 0.317058}, {0.216068, 0.148307}, - {0.147362, 0.344791}, {-0.335603, 0.447019}, {-1.224890, -0.325840}, - {0.002756, -0.321191}, {-0.160248, 1.419446}, {1.272372, -0.411115}, - {0.090553, -0.020891}, {-0.813158, 0.552475}, {-1.298817, 0.862553}, - {-0.585694, 1.251896}, {-0.013283, -0.413138}, {-0.297463, -0.903216}, - {-0.255549, 1.091331}, {-0.206760, 0.800369}, {-0.390704, 0.606333}, - {0.513017, -1.429631}, {0.433862, 2.005801}, {-0.383853, -0.598873}, - {1.005859, 0.614970}, {0.851717, 0.475903}, {0.326298, 0.574711}, - {-0.558315, 0.661107}, {0.524201, 0.697230}, {0.354126, -1.373313}, - {-0.935029, 0.948730}, {-0.134743, 0.135532}, {0.276808, 1.185467}, - {0.018978, 0.217541}, {-0.112404, 1.728553}, {-1.302444, 0.146517}, - {0.311354, -0.511768}, {-0.162418, 1.170043}, {1.221405, -0.185509}, - {0.187501, -0.388756}, {-0.992425, 0.895706}, {0.010906, -0.436499}, - {-1.151269, -0.978387}, {0.331651, 2.365055}, {-0.261792, -0.105662}, - {-0.015082, -1.027851}, {-0.566662, -0.066912}, {0.333652, 0.030599}, - {-0.580868, 1.197625}, {-0.698983, -0.072313}, {-0.336455, 0.586318}, - {-0.460653, -1.130129}, {1.129557, -0.342097}, {0.675431, -0.111390}, - {0.656948, -1.198251}, {0.124118, 0.471617}, {0.873740, -0.661021}, - {0.883188, -0.120431}, {-0.231922, 0.823063}, {-0.037173, 0.803393}, - {0.249852, -0.697130}, {-0.608230, 0.681932}, {-0.243067, -0.598592}, - {1.280129, 0.144530}, {0.335054, -0.507225}, {-0.148178, 0.471538}, - {-1.320556, 0.648198}, {0.793534, 0.184092}, {0.175364, 0.260736}, - {-0.345658, -1.638374}, {-0.954853, 0.361345}, {-0.439794, -0.209984}, - {-0.580261, -0.437008}, {-0.042380, -1.008410}, {-0.256240, 0.240739}, - {0.997668, 0.041341}, {0.084286, 1.337007}, {-0.089726, 0.349824}, - {-0.351226, -0.439389}, {0.789935, -0.231385}, {0.559332, 0.372916}, - {0.431332, -0.309163}, {0.438769, 0.729816}, {-0.709308, -0.453381}, - {-0.806887, 0.031475}, {-0.109243, 0.296421}, {1.053895, -0.808360}, - {1.310377, -0.018203}, {-0.088228, 0.464224}, {0.404860, 1.091152}, - {0.980650, -0.822832}, {-0.182331, 0.154915}, {-0.416259, 0.293648}, - {-1.202575, 0.608544}, {-0.939778, 0.311341}, {0.362085, -0.732201}, - {0.318978, -0.637671}, {-0.485214, 0.461226}, {-0.302925, -0.728450}, - {0.411979, -0.138660}, {-0.429297, -0.510534}, {-1.260831, -0.795375}, - {0.852526, -0.602336}, {-0.795936, 0.503556}, {-1.379397, -0.490658}, - {0.325956, -1.584800}, {-0.223558, 0.569081}, {0.081155, 0.347926}, - {-0.295295, 0.593889}, {1.147863, 0.678079}, {0.666420, 0.268891}, - {0.335919, -0.387414}, {1.884109, -0.565796}, {-1.155022, -0.181474}, - {-0.083694, 0.434470}, {-0.431032, -0.709799}, {0.867853, -0.661146}, - {1.308108, -0.705654}, {0.441709, 0.237870}, {0.906238, 0.160666}, - {0.263269, -0.911975}, {1.316673, 0.073375}, {0.495316, 0.359938}, - {-0.137338, -0.098128}, {1.551014, -0.986343}, {0.852076, -0.721691}, - {0.453226, 0.292144}, {1.095678, -0.511793}, {-0.038954, 1.062364}, - {0.808936, -0.562206}, {-0.290931, -0.645168}, {0.256794, 0.145837}, - {-0.849594, 0.501363}, {0.383039, -0.725827}, {0.191017, 0.987863}, - {-0.260132, 0.407206}, {0.386396, -1.059209}, {-0.377412, -0.745123}, - {-0.291906, -0.531367}, {-0.405497, 0.709018}, {0.620085, 0.652872}, - {-0.848280, -0.510761}, {0.284859, 0.615713}, {0.348772, -0.207622}, - {-0.055816, 1.039482}, {0.334478, 0.209594}, {1.605196, -0.420670}, - {-0.605169, -0.084273}, {0.630320, 0.781429}, {0.014900, -0.362734}, - {0.894942, -0.727579}, {0.067741, 0.754466}, {0.949988, -0.066743}, - {-0.253311, -0.959373}, {-0.348181, 0.499553}, {0.059039, -0.130159}, - {-0.127018, -0.015114}, {0.113024, -0.379652}, {-0.474835, -0.334921}, - {0.787752, 1.233290}, {0.730310, -0.362158}, {-0.043029, 0.764059}, - {0.702234, 0.977776}, {-0.707870, 0.675695}, {-0.746668, -0.056283}, - {-1.427597, 0.548321}, {-0.889836, -0.322518}, {0.559716, -0.205609}, - {0.866683, -0.427771}, {0.190978, -0.991563}, {-0.904855, 0.124091}, - {0.050012, -0.833915}, {-0.237735, 0.753702}, {1.054057, -0.159998}, - {-1.311705, -0.141423}, {-0.167340, -0.857237}, {0.299898, -2.073567}, - {1.438581, 0.978587}, {-0.643269, -0.584753}, {0.133317, 0.494257}, - {-0.649429, 0.374599}, {0.275902, -1.538577}, {1.198951, -0.760458}, - {-1.385012, -0.069386}, {-1.281703, -0.058265}, {-0.555278, -0.011261}, - {-2.004580, -0.558871}, {0.177745, -0.102492}, {0.172073, -0.727798}, - {0.435496, -0.446889}, {0.636023, -1.534272}, {0.316862, 0.134926}, - {-0.152594, -0.252641}, {1.716484, -0.760875}, {0.577497, 1.141460}, - {0.259169, 0.340464}, {0.148970, -0.160064}, {1.170360, 0.759366}, - {-0.411688, 0.120789}, {0.282131, -0.723614}, {-0.570560, -0.471775}, - {0.394987, 0.179098}, {0.078922, -1.605195}, {1.222166, 0.705268}, - {0.112494, 0.182192}, {-0.419529, -0.187154}, {-1.690670, -0.646314}, - {-1.058211, 0.228100}, {0.214788, 0.185218}, {0.288251, 0.244880}, - {-1.430080, -1.445750}, {0.247476, -0.302103}, {0.265110, -0.804134}, - {1.164424, 1.113711}, {0.311110, -1.210742}, {0.796506, 0.428281}, - {-0.316142, -0.291436}, {-0.440177, -0.503075}, {0.097647, -0.178009}, - {0.663421, 0.217058}, {0.665703, -0.958534}, {0.310222, 0.430380}, - {1.264676, 0.514635}, {0.652022, -0.675808}, {0.546673, -0.732842}, - {-1.412238, 0.029713}, {1.812263, -0.439160}, {-0.059908, -0.137715}, - {0.717444, -0.127056}, {-0.231742, 0.293963}, {0.953017, 0.337998}, - {-0.259151, 0.250980}, {0.052105, -0.381903}, {0.152729, -1.519173}, - {-0.591415, -0.657243}, {-0.150356, 0.561554}, {0.049513, -0.328535}, - {0.980559, -0.235285}, {1.255975, -0.268207}, {0.054851, 0.313362}, - {1.065817, 0.798603}, {0.333122, 0.943230}, {0.173731, 1.244529}, - {-0.137778, 1.175759}, {-0.572404, -0.089366}, {-1.084071, 0.201398}, - {-0.302239, -0.089035}, {-2.102849, 0.327512}, {-0.071969, 0.048153}, - {-0.987305, 0.609359}, {0.045616, -0.070737}, {0.255401, -0.350403}, - {-0.325866, -0.684457}, {-0.949723, -0.234736}, {0.084110, -0.655785}, - {0.250549, 1.066458}, {0.025403, -0.832694}, {-0.995800, 0.738287}, - {0.298398, 1.547136}, {-1.442081, 0.084168}, {0.067213, -0.221365}, - {0.242559, 0.174805}, {-0.326723, -0.622174}, {0.223836, -0.637175}, - {0.811831, -0.299335}, {0.773214, 0.551379}, {0.392211, -0.445570}, - {-0.284968, -0.265439}, {-0.881859, 1.508451}, {-0.347475, -0.325761}, - {-0.616885, -0.769191}, {0.576795, -0.557282}, {0.047390, 0.337606}, - {-0.097859, 1.780184}, {-0.429312, 1.112392}, {-0.524623, 0.219636}, - {0.405006, -0.298594}, {0.382213, -1.012895}, {-0.976113, -0.643431}, - {-0.135279, 0.069899}, {-0.077138, 0.056443}, {-0.622842, -0.648767}, - {-0.142333, -0.385734}, {0.939501, 1.168477}, {-0.090723, -0.021190}, - {0.941865, -1.007430}, {-0.986187, 0.958079}, {0.375743, 0.363480}, - {-0.381949, -0.320752}, {1.268664, -0.616885}, {0.136944, 0.263353}, - {-2.053794, 0.961262}, {-0.684081, -1.224868}, {0.599383, 0.140131}, - {-0.032657, 0.782458}, {0.385562, -0.313714}, {0.404669, 0.093627}, - {1.091659, 0.677779}, {-0.253105, -0.859333}, {-0.324104, 0.386444}, - {-1.904799, -0.146740}, {0.373496, 0.440722}, {1.125800, 0.354270}, - {-0.276754, -0.390405}, {0.553166, -0.230742}, {0.345504, 1.257560}, - {0.326855, 0.709150}, {0.168127, 0.088543}, {0.349772, -0.368904}, - {-0.285477, -0.469480}, {0.523761, -0.504454}, {0.904464, -0.016717}, - {0.081565, -0.511504}, {0.885394, 0.427703}, {-0.042153, 0.607306}, - {-0.240457, -0.369428}, {-0.476362, 0.849541}, {0.090063, -0.979648}, - {0.986172, -1.489947}, {-1.101995, 0.630631}, {-0.700222, -0.297787}, - {-0.105735, -0.061019}, {0.274621, 0.286836}, {0.956524, -0.005156}, - {1.141911, 0.489715}, {0.155700, 0.477954}, {0.161408, -0.280752}, - {0.208306, -0.382345}, {-0.319743, -0.654164}, {1.015004, -0.453518}, - {0.798286, 0.047264}, {-0.339036, 1.191907}, {-0.508641, 0.191641}, - {-0.312756, 0.231250}, {1.006892, 0.770095}, {0.392099, -0.187454}, - {0.827204, -1.196456}, {-0.071158, 0.489808}, {-0.111609, -0.123514}, - {-0.392260, 1.137272}, {-0.418037, -0.312706}, {-0.890258, -0.638300}, - {0.922980, 1.538843}, {-0.076405, -0.034489}, {-0.056280, 0.132953}, - {0.470452, -0.751306}, {-0.507513, -0.546397}, {-1.195554, 0.917548}, - {0.119745, -1.039416}, {0.641056, 0.873863}, {-1.881030, 0.230334}, - {-0.472662, -0.485251}, {-0.731312, -0.241578}, {1.386169, -0.814696}, - {0.439633, 0.192069}, {0.060629, -0.471375}, {-0.908071, 0.528836}, - {0.831151, 0.885574}, {-1.203440, -0.299895}, {0.129863, 0.106531}, - {0.936271, 0.756381}, {0.084020, -0.140794}, {0.018339, -0.191766}, - {0.476259, 1.311259}, {0.250059, -1.190703}, {-0.203745, 0.761848}, - {-0.825526, -0.180980}, {0.812343, 0.263797}, {-0.153643, 0.325493}, - {-0.823435, -0.089900}, {-0.936715, -0.947103}, {0.504302, 0.273732}, - {-0.136153, 0.040614}, {-0.228844, 0.063628}, {0.961477, -0.801511}, - {0.144958, 0.157167}, {-0.275340, 0.067845}, {0.982365, 0.655564}, - {-0.101251, 0.364215}, {-0.518940, 0.008418}, {1.146963, 0.276110}, - {-0.685455, 0.477746}, {-0.867617, 0.334274}, {-0.216229, -1.075130}, - {0.222334, 0.883621}, {0.561563, -0.562039}, {0.122965, -1.491563}, - {0.905398, 0.202764}, {0.237011, 0.541816}, {0.995545, -0.305894}, - {0.621302, -0.394520}, {0.118272, -0.759820}, {0.217348, -1.054868}, - {0.146891, 0.018121}, {-1.551826, -0.096002}, {0.015579, -0.036639}, - {1.011278, -1.192439}, {-0.071961, 0.011541}, {-0.953020, -0.444260}, - {-0.367500, 1.228606}, {1.526161, 0.151876}, {1.107404, 0.159669}, - {0.491996, -0.158496}, {-0.098865, 0.292759}, {-0.430131, -1.325361}, - {1.032900, 0.131424}, {0.238858, -0.653212}, {1.227567, -0.970755}, - {-1.135533, 0.454609}, {-0.498524, -0.586837}, {-0.249832, 0.164953}, - {0.788240, 0.689636}, {-1.805305, 0.688304}, {-0.568470, -0.213126}, - {-1.008743, 0.494092}, {-0.068211, -0.558996}, {1.019529, -1.524452}, - {-1.555353, 0.038906}, {-1.517993, 0.035634}, {-0.183605, 1.086476}, - {-0.901828, 1.815693}, {-0.376961, 0.539305}, {0.384843, 0.052507}, - {-0.147705, -1.045677}, {0.880142, -0.997078}, {-0.854662, 0.272260}, - {0.283422, 1.151546}, {-1.105150, 0.930541}, {0.044104, 0.397594}, - {-0.104013, -0.673208}, {-0.211616, -0.621975}, {0.027161, 0.371316}, - {0.600274, -0.606245}, {0.806180, 0.471603}, {-1.008090, 0.778175}, - {-0.289146, -0.809723}, {-0.038659, -0.429242}, {-1.334523, -0.137992}, - {-1.995175, 0.137457}, {0.021312, -0.091064}, {-1.281258, -0.684793}, - {-0.413871, -0.292442}, {0.381687, 0.818085}, {0.295284, 0.101209}, - {0.665034, 0.592564}, {0.037124, 0.035242}, {0.132064, -0.657651}, - {1.053341, 0.819935}, {1.210807, 0.675951}, {0.457895, -1.075189}, - {0.358357, 0.147282}, {-0.499271, 0.175458}, {0.854323, 0.068143}, - {1.991820, 0.805889}, {1.826429, -0.005057}, {-0.467242, 0.138414}, - {-0.366227, -1.697539}, {0.485183, -0.821876}, {0.536318, 0.341220}, - {-0.441596, 0.831566}, {-0.134826, 0.751288}, {0.358869, 1.095253}, - {-0.386092, 0.078119}, {-0.397661, -0.118587}, {-0.419914, -1.100465}, - {0.280444, 0.389289}, {-0.832278, 0.269468}, {0.472347, 0.132484}, - {0.088928, -0.278739}, {0.361290, -0.444613}, {-0.320039, -0.519034}, - {1.354470, 0.178576}, {-0.168088, -0.359028}, {-1.317068, -0.040397}, - {-0.157570, 0.775248}, {0.150971, -0.256518}, {0.921575, 0.744693}, - {-0.137337, -0.764665}, {-0.917358, -0.458914}, {-0.705772, -0.263352}, - {-0.510704, -1.187616}, {0.796905, 0.825262}, {-0.050399, 0.512465}, - {0.768824, -0.159475}, {-0.687249, 0.364975}, {-0.430008, -0.471340}, - {-0.202663, -0.386981}, {-0.518536, 0.608685}, {0.525161, 0.135142}, - {-0.372337, -0.486685}, {0.717387, -1.392395}, {0.854322, 0.356855}, - {-1.102180, -0.156184}, {-0.209081, -0.377676}, {-0.967928, -0.798301}, - {0.111753, 0.232228}, {0.314745, 0.446778}, {-0.989801, 0.082857}, - {-0.298760, 0.326928}, {-0.204933, 0.197721}, {1.048764, -0.114128}, - {-0.304972, 0.032725}, {0.104894, 0.290204}, {-0.045314, 0.859009}, - {-0.718912, 1.194088}, {-0.242557, 0.422101}, {-0.859795, 0.575768}, - {0.311124, -0.177388}, {-1.427806, 0.214970}, {-0.645104, 0.500403}, - {-0.219194, -0.984099}, {0.788104, -0.907460}, {0.513765, 0.453685}, - {0.335412, -0.418488}, {-1.097887, 0.150175}, {-0.979087, 0.198912}, - {0.305300, -1.140391}, {0.077787, 0.856586}, {0.214734, -0.592854}, - {-1.113305, 0.320877}, {-0.669169, 0.448671}, {0.253991, 0.932563}, - {-0.455481, 0.185849}, {0.762277, -0.010084}, {-0.477479, 0.184388}, - {0.960667, 0.390639}, {-0.720191, 0.037977}, {-1.316302, 1.152700}, - {0.398760, 0.257566}, {-0.401636, -0.419254}, {-1.914376, 1.449176}, - {-0.339228, 0.296751}, {0.207467, 0.305288}, {-1.731574, -0.030498}, - {-0.240750, -0.617304}, {-0.237212, 0.715578}, {-0.416285, -1.008641}, - {0.634027, 1.717009}, {0.384123, -0.449106}, {-1.160894, -1.767794}, - {0.618354, -0.261380}, {-1.569626, -0.364495}, {0.631915, -0.543410}, - {0.282734, -0.370501}, {-0.977373, -0.433726}, {1.432343, -0.462557}, - {-0.972547, 0.004444}, {0.784231, -0.243932}, {-0.376546, -0.584034}, - {1.001247, -0.164126}, {0.554715, -0.308636}, {0.540227, 0.426550}, - {-1.066853, -0.294694}, {-0.504114, 0.275915}, {-0.949985, 0.630675}, - {0.506317, -0.294027}, {0.133689, 0.989125}, {0.105266, 0.527915}, - {0.072913, 0.211680}, {0.381472, 0.837872}, {-0.183162, 0.180758}, - {0.458198, -0.961007}, {-0.004799, 0.996245}, {-1.561414, -0.676542}, - {-1.427195, 0.800941}, {0.173579, 0.155504}, {-0.830370, 0.498583}, - {-0.232669, 0.505982}, {-0.096304, -0.750719}, {1.906512, -1.461034}, - {-0.395663, -1.409489}, {-0.705341, -0.497179}, {-0.163104, -0.442154}, - {0.853744, -0.265722}, {-0.361874, 0.151299}, {0.107204, -0.414142}, - {-0.106144, 0.419209}, {-1.286889, -0.802826}, {-0.144332, 0.370855}, - {0.474858, 0.913496}, {-0.867293, 0.301363}, {-0.545302, 0.146680}, - {0.001880, 0.805475}, {1.320236, 0.643083}, {-1.141064, 1.684144}, - {-0.128674, 0.678582}, {-0.343416, 0.309854}, {0.019772, 1.077821}, - {-0.239235, -0.119506}, {-0.373356, -0.583563}, {0.403890, -0.534354}, - {-0.519976, 0.020956}, {0.712048, 0.988539}, {-0.861664, -0.493059}, - {0.093158, -0.833793}, {1.052626, 0.468904}, {0.091221, 0.456901}, - {-0.584013, -0.961460}, {1.685019, 0.470576}, {-0.180148, -0.785828}, - {-0.210638, -0.498937}, {0.934431, 1.304392}, {0.066268, -0.504962}, - {0.151449, -0.194295}, {0.247991, 0.136973}, {-0.126328, -0.633755}, - {-0.857218, 1.918319}, {0.354034, 0.566611}, {-0.323836, -0.588707}, - {-0.093776, -0.592204}, {-0.027068, -0.042178}, {0.002969, 0.636477}, - {-0.480469, -0.201484}, {-1.191052, 0.906057}, {0.598655, -0.164748}, - {-0.044789, -1.118828}, {-0.541816, -0.070911}, {0.074609, 1.345165}, - {-0.032322, -0.231974}, {-0.449760, 1.661760}, {0.707548, 0.034345}, - {-0.907888, -0.004174}, {0.152966, 0.440522}, {0.046909, 0.346149}, - {-0.281537, -1.219698}, {-0.895213, 1.513594}, {-0.881255, 0.124261}, - {-1.081693, -0.436486}, {-0.106278, 0.626797}, {0.754899, 0.295278}, - {-0.227234, 0.474572}, {-0.763770, -0.042921}, {-1.002643, 0.429052}, - {0.478156, -0.815031}, {-0.733688, -0.279437}, {-0.362104, 0.064655}, - {-0.114674, 0.196627}, {0.044324, -1.013509}, {-0.452231, -1.026683}, - {-0.928972, 0.240171}, {0.531384, -0.041877}, {0.360475, 2.263092}, - {-0.002502, 0.278693}, {-1.068170, -0.652698}, {-0.133973, 0.404417}, - {0.112787, 0.817903}, {0.093469, 0.514351}, {0.173190, 0.030494}, - {-0.386117, -0.119304}, {-0.150011, 1.098977}, {-0.718702, 1.061190}, - {-0.187865, 0.769379}, {-0.673330, -0.520017}, {-0.782271, 0.749117}, - {1.040643, -0.447207}, {-0.686538, -1.825913}, {0.706101, -1.401344}, - {-0.031939, -0.069587}, {1.026212, -0.730925}, {0.311104, 0.591601}, - {0.589268, -0.406947}, {-0.305040, 0.233919}, {-0.658906, -0.074957}, - {-0.172826, 0.539225}, {1.621683, 0.577736}, {1.074205, 0.776840}, - {-1.131216, -0.504166}, {-0.664862, -0.542385}, {-0.245912, 0.040006}, - {1.012363, -0.520893}, {-1.044423, -0.968495}, {0.057525, -0.137602}, - {0.031642, -0.360814}, {0.302685, 0.776735}, {-0.590976, 0.666512}, - {-0.153819, -0.015702}, {0.050475, 1.733477}, {0.474972, 0.052117}, - {0.185655, -0.901557}, {0.383428, 0.150210}, {0.254788, 0.679409}, - {-0.224796, 0.681574}, {-0.256749, -1.077031}, {0.134707, -0.760133}, - {1.014226, -1.619607}, {-0.766887, -0.104736}, {0.761824, -0.642466}, - {0.640060, 0.025030}, {0.717916, 0.808046}, {0.158375, -0.609786}, - {0.599932, 0.529572}, {0.920422, -1.417508}, {0.247593, -0.365323}, - {0.143007, 0.147123}, {-0.698949, -0.661064}, {0.099640, 0.528546}, - {0.387466, 1.303945}, {0.721636, -0.563915}, {-0.056200, -0.095831}, - {0.127167, 0.466936}, {0.614167, -0.250185}, {0.324173, -0.104513}, - {0.564475, -0.584259}, {0.000883, -0.715214}, {0.175617, -0.853427}, - {-0.655242, 0.141206}, {-0.799496, -0.397656}, {0.509296, -0.078758}, - {0.824815, -0.397955}, {0.165592, -0.838807}, {-1.406393, -0.034832}, - {-0.140087, -0.245922}, {-0.039954, -0.580654}, {0.592499, 0.257650}, - {0.865662, -0.321183}, {-0.348095, 0.633829}, {-0.222209, 0.346638}, - {0.077141, -0.429164}, {-0.612928, 0.649756}, {-0.218828, -0.978959}, - {-0.467017, 0.873553}, {1.012268, -0.236361}, {0.935993, -0.768227}, - {-0.637278, 0.397934}, {-0.171380, 0.726429}, {-0.200094, 1.039778}, - {-0.395740, -0.290233}, {-0.251927, 0.547605}, {-0.317331, 2.066899}, - {0.874234, -0.172457}, {-0.112367, 0.968130}, {-0.608874, -0.281634}, - {0.458084, 0.134327}, {-0.327929, -0.153658}, {-0.809721, -1.217724}, - {0.108791, 0.635246}, {-0.127071, 0.688169}, {-0.681222, 0.292983}, - {-0.447850, -0.098757}, {-0.059162, 0.033865}, {-1.459920, -0.167831}, - {-0.546872, 1.304584}, {0.567670, -0.764303}, {-0.051371, 0.814561}, - {0.018359, 0.085225}, {0.295254, 0.367041}, {0.923804, -0.382126}, - {-0.094986, 0.179273}, {0.751972, -1.355834}, {-0.131853, -0.066514}, - {0.223027, -0.074406}, {-0.447982, -0.207079}, {-1.165943, -1.747960}, - {0.289496, -0.581631}, {0.995888, -0.840471}, {0.287864, -1.173235}, - {-0.035233, -0.012186}, {1.404205, -0.502267}, {0.271013, -0.607421}, - {0.082209, -0.294491}, {1.108759, 0.397367}, {0.147693, -0.077201}, - {0.644694, -1.167422}, {0.439444, -0.480603}, {1.596557, 0.704222}, - {0.202072, -1.010761}, {0.472276, -0.171207}, {0.496560, -0.780542}, - {1.279076, -0.623514}, {0.182762, -0.393778}, {0.150084, 0.277712}, - {0.752527, 0.683646}, {0.480142, 1.172231}, {1.005193, -0.949569}, - {0.668218, -0.521006}, {-0.401607, 0.695572}, {0.934451, -1.387263}, - {-1.060714, -0.674529}, {0.445290, -0.241091}, {0.757956, 0.271408}, - {1.231487, 0.237535}, {-0.486448, 0.433734}, {-1.455954, 1.581795}, - {-1.037576, -1.013962}, {-0.251248, -0.324413}, {1.064396, 0.130331}, - {-1.209972, -0.399869}, {0.412389, 0.237274}, {-0.971736, 0.139207}, - {0.364493, 0.360362}, {0.462466, 0.123618}, {0.015647, 0.662696}, - {0.521067, -0.464325}, {-0.691029, -0.419101}, {0.797372, -0.361360}, - {-0.711848, -0.337005}, {0.276187, 0.033567}, {0.261731, 0.465815}, - {-0.122547, -0.163457}, {0.449124, 0.025562}, {-0.366007, -0.325535}, - {0.741756, 0.044402}, {0.795758, -1.009837}, {-0.045791, -1.021170}, - {-0.690750, -0.553651}, {-0.885860, 0.289949}, {0.587965, -0.598258}, - {0.645572, 0.810630}, {-0.008388, -0.730176}, {0.161907, 0.977525}, - {-0.967148, 0.872038}, {0.372738, -0.028752}, {0.255575, 1.354765}, - {-0.947345, 0.186383}, {0.938292, 0.931974}, {-0.137511, -1.156500}, - {1.535508, 1.226839}, {0.098197, 0.233959}, {1.091029, -0.489096}, - {0.919905, 1.862780}, {0.715268, 0.128684}, {0.737863, -0.154854}, - {-0.231765, -0.541695}, {-0.512769, -0.574521}, {-0.128448, 0.487393}, - {0.352688, 1.345931}, {0.064971, -0.982254}, {-0.726009, 1.313529}, - {0.448623, -0.053441}, {1.469537, -0.044362}, {1.011843, 0.352729}, - {1.063249, -0.322635}, {-0.131380, 0.533014}, {0.451360, 0.230248}, - {0.001995, 0.153600}, {1.646787, 0.881911}, {-1.458759, -0.586824}, - {-0.702392, -0.241636}, {-0.074182, -0.072131}, {0.262439, 0.583482}, - {-0.476122, 0.082469}, {0.438068, 0.803544}, {-0.207061, 0.660637}, - {0.567990, -0.597823}, {-1.688718, -0.103409}, {-0.829192, 0.426556}, - {0.827020, 0.826934}, {0.441454, -0.546262}, {-0.304897, -0.022233}, - {-0.357555, -0.612953}, {-0.388052, 0.013095}, {0.777314, 0.544567}, - {0.437676, 0.305298}, {-0.356608, -0.848358}, {0.791083, -0.271240}, - {0.044885, 0.107636}, {0.364655, 0.012973}, {0.538263, -1.124278}, - {0.228271, -1.168910}, {0.026633, -0.327359}, {0.464736, -0.077427}, - {-0.438151, -0.387916}, {0.384472, 0.255111}, {-0.913587, 0.151118}, - {0.215311, 0.261325}, {0.133743, 1.302663}, {0.977288, -1.212393}, - {-1.005590, 1.135110}, {-1.031105, -0.046053}, {0.034069, 0.088167}, - {-1.874043, 0.314546}, {-0.138676, -0.665746}, {-1.367737, 0.809027}, - {-0.617917, 0.576212}, {-0.059977, 0.148805}, {1.021231, -1.734845}, - {0.232449, -1.635767}, {-0.402629, 0.093773}, {0.306316, -0.589913}, - {0.691035, -0.933528}, {-0.854344, -0.581280}, {-0.550056, -0.087623}, - {-0.735359, 0.440600}, {-0.599941, -0.566529}, {-0.157511, 0.329776}, - {-0.620057, -0.573574}, {-0.618399, -0.151361}, {0.173969, -0.559218}, - {-0.316563, 2.332789}, {-0.512502, -0.263662}, {0.127996, 0.407326}, - {0.888734, -0.229112}, {0.431876, -0.881928}, {0.480039, -0.855335}, - {0.548737, 0.504779}, {0.039114, -0.355311}, {-0.536205, 1.175569}, - {-0.006012, -1.440053}, {-0.366908, -0.714389}, {-0.253160, -0.482878}, - {0.071598, -0.022415}, {0.484456, 0.242941}, {0.353405, -0.516339}, - {0.269909, 0.018111}, {-0.512141, 0.368190}, {-0.034358, -0.690191}, - {0.186251, -0.383563}, {-1.243734, 1.020511}, {-0.310334, -0.639568}, - {-0.238013, 1.203421}, {-0.276677, 0.105597}, {0.528988, 0.213357}, - {0.351103, 0.004227}, {0.686052, -0.683489}, {0.402253, -0.548756}, - {-0.244236, -0.179112}, {0.039858, 0.390838}, {0.985325, 0.842588}, - {0.440814, -0.329205}, {0.666419, 0.644613}, {0.548497, -0.000859}, - {-0.938426, 1.023278}, {-0.941754, 0.721262}, {0.000099, 1.114577}, - {-1.218951, 1.191773}, {-0.607709, 0.205343}, {-0.206425, 0.838011}, - {0.699534, -0.002445}, {1.352826, -0.100402}, {0.041916, 0.740550}, - {0.416504, -0.341657}, {0.097466, 1.186724}, {0.687240, -0.367369}, - {0.545399, -0.035212}, {0.374638, 0.479261}, {0.135228, -0.116509}, - {-0.608795, 0.777712}, {0.335622, 0.171713}, {-0.049759, 0.394634}, - {0.882455, -0.007277}, {0.074308, 0.777326}, {0.370312, 0.102349}, - {0.376820, 0.573884}, {-0.431049, 0.306366}, {1.085490, 0.744110}, - {-0.230620, -0.315921}, {0.436716, 0.557135}, {-0.702941, 0.571264}, - {0.221250, 0.066672}, {-0.570686, -0.286918}, {-0.560485, -1.471082}, - {-0.314618, -0.584589}, {-0.311362, 0.168867}, {1.173793, 0.106905}, - {-1.017770, -0.355978}, {-0.228067, -0.524127}, {-0.163044, -1.799027}, - {-0.126843, -0.121222}, {-0.360908, -0.655512}, {1.040580, -1.978968}, - {-0.769183, 0.705786}, {-0.275717, -0.258945}, {-0.590592, -1.078141}, - {-1.062724, 0.958762}, {0.123248, 0.000726}, {-0.630985, -0.643702}, - {-0.304755, 0.333120}, {-0.354195, -0.773979}, {-1.222200, -0.340033}, - {-0.500831, -0.495272}, {0.395941, 0.305049}, {1.926537, -0.064242}, - {0.102387, 0.533556}, {1.094398, 0.165614}, {-1.017921, -1.540784}, - {-0.218494, -0.929660}, {-0.535317, 0.186219}, {1.199743, -0.241787}, - {0.086699, -0.643872}, {-0.586069, 0.057078}, {0.457002, -0.144936}, - {0.938976, 0.355965}, {-0.478159, -0.863239}, {0.123059, 0.137369}, - {-0.726764, 0.697758}, {-0.776171, -0.293292}, {0.532566, -0.658669}, - {0.490077, -0.101454}, {0.031428, 0.291178}, {-0.667737, 0.741288}, - {0.907230, 0.233775}, {0.515349, -0.227823}, {1.010764, -0.015213}, - {0.444179, -0.562985}, {-0.276474, 0.657198}, {-0.172263, 0.956311}, - {-0.355806, 0.703603}, {-0.506885, -0.799493}, {-0.697335, -0.297622}, - {-0.012191, 1.840314}, {-0.847463, 0.284183}, {0.854194, 0.403219}, - {1.929827, 0.528325}, {-0.261886, 0.577017}, {-0.031070, -2.348125}, - {-0.155820, -0.265157}, {0.512475, 0.208609}, {-1.450445, -0.816839}, - {0.564060, 0.610582}, {0.208762, 0.538423}, {-0.394083, -0.217364}, - {0.232377, -0.084660}, {0.344522, 0.516178}, {-1.449901, -0.112290}, - {0.000158, -0.982079}, {0.787346, 1.416797}, {0.158547, -0.490012}, - {-0.765118, 0.416037}, {0.552854, 0.197313}, {-0.560294, 0.168624}, - {-0.710216, -0.278700}, {-0.022732, 0.174521}, {-0.831227, 0.475439}, - {0.219373, -0.678127}, {-0.002961, -0.573618}, {-0.945813, 0.412736}, - {-0.979897, 1.265908}, {-0.311475, 0.379769}, {-0.082964, 0.038846}, - {-0.500868, 0.551077}, {-1.116548, -0.382053}, {-0.150512, -0.889516}, - {0.003441, -0.441244}, {-0.155477, 0.236868}, {-0.372866, -0.003664}, - {0.517363, -0.227696}, {0.348671, -1.184919}, {0.023715, -0.857359}, - {-1.165542, 0.373084}, {-0.372004, 0.745161}, {1.486675, 0.482708}, - {0.713017, -0.111925}, {0.698459, 0.261537}, {-1.448937, 0.151106}, - {-0.936754, 0.023684}, {0.896661, -0.031541}, {0.360038, 0.783076}, - {-0.094289, 0.365897}, {1.270895, 0.047391}, {-0.069325, -0.911174}, - {0.356797, -0.202779}, {0.966214, -0.501017}, {-1.056213, -0.334850}, - {-1.048820, 1.448814}, {-1.559907, 0.438635}, {-0.533985, 0.378701}, - {1.577709, -0.730175}, {0.591595, 1.416816}, {-0.192300, -0.219470}, - {0.299344, -0.860943}, {0.318677, 0.121607}, {0.335483, 0.070689}, - {-0.111371, -1.205420}, {0.395077, 0.205784}, {1.026121, -0.818676}, - {-0.968687, 0.857896}, {0.312721, 1.501156}, {-0.482650, 0.352206}, - {0.997697, 0.112893}, {0.950446, -0.398203}, {0.097713, -1.070921}, - {-0.800673, -0.325717}, {0.671945, -0.861890}, {0.021531, -0.436324}, - {0.437880, 1.356432}, {0.457176, -0.276639}, {-0.247776, 0.777048}, - {0.251688, 0.079969}, {-1.334482, -1.474248}, {-0.483623, 0.743976}, - {0.355137, -0.034433}, {-0.956198, -1.078557}, {0.405169, 1.702393}, - {-0.835610, -0.412153}, {0.177645, -0.803742}, {0.190991, -0.126655}, - {-0.293197, 0.907349}, {0.208255, 0.226394}, {-0.590120, -0.320991}, - {-0.477141, -0.954609}, {0.534067, -0.035251}, {-0.962419, 0.424134}, - {0.409965, -0.074026}, {-0.110630, -0.862237}, {0.037791, 0.944337}, - {0.944043, -0.704466}, {-0.648236, 0.057918}, {-0.617177, -0.830966}, - {0.416183, -0.658194}, {1.180214, 0.519521}, {-0.123865, -0.426364}, - {0.019066, 0.317164}, {0.234837, 0.331158}, {-0.656986, 0.335032}, - {0.346063, -1.649529}, {0.058210, -0.381788}, {-0.260900, 0.186365}, - {0.429371, 0.681698}, {1.939461, -1.181745}, {-0.445243, -0.716289}, - {0.131740, 0.865901}, {-0.918136, -0.131137}, {-0.053577, -0.373297}, - {-0.531049, 0.031422}, {-1.254709, 0.556524}, {-1.119247, 0.394916}, - {-0.498215, -0.035437}, {1.322329, 0.190493}, {-0.701283, -1.164440}, - {-0.361131, -0.504716}, {-0.117174, 0.107979}, {0.700073, 1.603625}, - {-0.582119, 0.440169}, {1.018868, -0.420729}, {-0.212079, -0.280104}, - {1.132422, -0.035123}, {0.026273, 1.886585}, {-0.729453, 0.098911}, - {0.805546, 0.750763}, {0.224181, 0.331261}, {0.116170, 0.259857}, - {0.100047, 0.046190}, {-0.055174, 0.957446}, {-1.456418, -1.105336}, - {0.290339, -0.811412}, {-0.403941, -0.272939}, {1.707646, 0.332927}, - {0.858293, 0.006974}, {-0.476534, 0.364698}, {-0.705168, 0.544668}, - {-0.667669, 0.289049}, {1.181489, -0.102266}, {-0.363524, -0.507603}, - {0.077873, -0.227451}, {-0.070765, 0.236432}, {0.547170, 0.221358}, - {-0.084700, -0.954482}, {-0.930200, -1.003973}, {0.641949, 1.189144}, - {0.292530, 1.376169}, {0.146329, 0.050514}, {0.504086, 0.327294}, - {0.560656, -0.819642}, {-0.782328, 0.555732}, {-0.321355, 0.040423}, - {0.575312, 0.676942}, {0.676739, 0.371605}, {-0.739089, 0.154797}, - {-0.196959, 0.765774}, {-0.075477, -0.064618}, {-0.708957, -0.695153}, - {-0.114007, -0.274311}, {-0.208777, -0.197655}, {-0.330289, 0.090402}, - {0.645717, -0.861720}, {0.759627, 1.159973}, {0.736863, 0.016140}, - {-0.290055, 1.066642}, {-0.360313, 0.572408}, {0.559798, -0.118348}, - {1.099664, 0.913475}, {-1.221145, 0.753011}, {-1.080846, -0.309538}, - {0.898748, -1.751489}, {-0.793636, -0.682252}, {0.601441, 0.716634}, - {-0.754166, -0.295275}, {-0.057178, -0.531244}, {-0.503737, 0.754428}, - {-0.092784, 0.415358}, {-0.428408, 0.867882}, {-0.531645, -0.427532}, - {0.015225, 0.360774}, {0.052039, 0.804546}, {0.140220, 0.683936}, - {-0.183837, -0.075742}, {0.141611, 0.121116}, {0.863189, -0.304942}, - {-0.183500, -1.267097}, {0.721582, 0.324832}, {0.490362, -0.620402}, - {0.032723, -0.342147}, {0.015191, 0.299803}, {-0.453198, 0.232907}, - {0.890290, -0.037167}, {1.101406, -0.724242}, {-1.147539, -0.245951}, - {-1.727078, -1.683502}, {0.261545, -0.107582}, {0.068065, 0.753220}, - {0.369570, 0.796556}, {0.143988, 0.884428}, {0.009223, -0.259795}, - {-0.207237, 1.912655}, {0.901343, 0.446570}, {1.779646, -0.190026}, - {0.060311, -0.035492}, {0.471146, -0.987103}, {-0.678292, -0.087719}, - {-0.381341, 0.932014}, {0.423463, -0.374888}, {0.132522, -0.133326}, - {0.725087, -0.055467}, {-0.026041, 0.630602}, {0.237645, -0.147676}, - {0.384787, 0.046887}, {1.184148, -0.971991}, {0.904135, -1.133769}, - {1.047468, -0.174437}, {-0.262063, 1.567163}, {-0.323006, 0.521236}, - {0.517606, 0.341770}, {-0.289763, -0.525198}, {1.140138, -0.745015}, - {0.748583, 0.650728}, {-0.040966, 0.218449}, {0.340059, 0.915520}, - {0.031779, 0.421656}, {-0.394555, -0.262061}, {0.204192, -0.199669}, - {-0.222583, 0.416622}, {0.026680, 0.648281}, {0.394312, -0.072898}, - {-0.547009, -0.610642}, {-0.323403, -0.781335}, {0.246200, -0.481307}, - {1.250227, -0.203189}, {1.335570, 0.028829}, {0.907068, -0.322204}, - {-0.241285, 0.672412}, {-0.500388, 1.413200}, {0.348404, 0.053563}, - {-0.515993, 1.348158}, {0.419507, 0.843740}, {-1.680552, -0.349667}, - {1.125661, 0.162114}, {-2.253658, -1.822658}, {-0.603819, -0.131986}, - {-0.688067, -1.520234}, {0.107885, 1.042587}, {0.794351, 0.550783}, - {0.107568, 0.622575}, {0.427502, 0.055636}, {-0.386636, -0.648276}, - {-0.530590, 0.233918}, {-0.069396, -0.648418}, {0.677155, 1.610371}, - {-0.636080, 0.824467}, {1.069180, 0.649464}, {-1.099628, 0.652186}, - {1.175325, 0.015894}, {0.519414, -1.197649}, {-0.613790, -0.781378}, - {-1.117294, 0.891372}, {0.284313, -0.488536}, {0.142283, 1.641906}, - {1.718632, -0.694643}, {-0.611194, -0.432577}, {-0.251579, -0.852987}, - {-0.170100, 0.486159}, {0.320121, -0.580628}, {0.872266, -0.384060}, - {-0.208309, 0.139307}, {-1.583756, -0.645014}, {-0.702369, -0.541675}, - {0.336241, 0.831866}, {-0.865645, 0.436119}, {-0.620241, -0.606092}, - {-0.104203, 0.984638}, {-0.410559, -0.040961}, {-0.416490, -0.226391}, - {0.088726, -0.220726}, {-1.499559, -0.585178}, {0.293249, 0.186455}, - {-1.210379, -0.633716}, {-0.277191, -1.244025}, {1.139804, 0.055639}, - {-0.228353, 0.448129}, {0.559068, -0.023119}, {-1.221999, 0.465622}, - {1.162107, -0.729434}, {-0.368202, 0.259066}, {-0.285426, 1.295138}, - {0.379646, 0.224708}, {0.294352, -0.551327}, {-0.462702, 0.187464}, - {-0.026366, -1.131739}, {0.894485, -0.169837}, {1.029962, -0.513169}, - {-0.308485, -0.846109}, {0.013267, 0.200561}, {0.442056, 0.037734}, - {-1.579953, -0.567456}, {0.313331, 0.287219}, {0.237625, -1.467799}, - {-0.343068, 0.471870}, {0.808584, -0.605491}, {-0.384505, 0.285999}, - {-0.821182, 1.140405}, {0.083857, 0.569015}, {0.358021, 0.251793}, - {-1.050896, 0.222264}, {0.693579, -0.417443}, {0.488468, 0.599156}, - {-0.102947, -1.320533}, {0.340396, -0.671734}, {0.618710, -0.219283}, - {-0.125032, -0.163230}, {-0.088188, -0.534394}, {0.682064, 1.041136}, - {-0.344705, -0.089664}, {-0.529053, 0.255838}, {-0.136569, -0.214062}, - {1.455681, 0.491256}, {1.238314, -0.436456}, {0.183785, -0.294781}, - {-1.115245, 1.248687}, {-0.649421, -0.614780}, {1.178710, -0.312908}, - {0.812326, -0.393600}, {-0.874232, 0.893146}, {-1.043341, -0.195049}, - {-1.266037, -0.004749}, {-0.377230, -0.359996}, {-0.196225, 0.796953}, - {0.996897, -0.623582}, {-0.556859, -0.864103}, {-1.371972, 0.769551}, - {0.056397, -0.658378}, {-0.074004, 0.516830}, {-0.019248, 0.750291}, - {0.172892, -0.524600}, {-0.598676, -0.007268}, {0.137861, 1.698237}, - {-0.084691, 1.344243}, {0.001925, -0.191394}, {0.240667, -0.596132}, - {-0.139205, 1.502034}, {0.716061, -1.415551}, {0.861506, -0.658005}, - {0.514495, 0.090184}, {-0.528631, 1.006103}, {-0.388832, -0.792382}, - {0.735890, 0.122394}, {-1.547132, 1.015471}, {0.121113, -0.501140}, - {0.975384, -1.280454}, {0.079350, 0.996285}, {0.046097, -1.248331}, - {-0.978137, -0.857029}, {-0.292484, 0.917538}, {0.476399, -0.533662}, - {-0.185424, 0.410061}, {-0.516918, 0.560953}, {-1.108884, 0.242701}, - {0.393610, -1.112134}, {-0.342411, 0.026459}, {0.960001, -0.039799}, - {0.292966, -0.871399}, {0.509531, 0.068985}, {0.306125, 0.182601}, - {0.684688, 0.611943}, {0.366705, -1.300976}, {-0.161117, 0.460565}, - {0.919045, 0.162937}, {-0.600136, 0.528728}, {0.807988, -0.082820}, - {0.723075, -1.101493}, {0.408624, 0.497548}, {0.592179, -0.511883}, - {-0.624763, 0.320432}, {0.702432, 0.047555}, {-0.826321, 0.702721}, - {-0.590704, 0.927206}, {-1.222225, 0.520187}, {0.057220, -0.355501}, - {-0.346697, 0.327871}, {-0.389801, -1.554275}, {0.700315, -0.895953}, - {0.367463, 0.307326}, {-0.364395, -1.611608}, {-0.506932, 0.889372}, - {-0.243596, 0.575283}, {-0.802028, 0.056860}, {-0.171424, 0.239689}, - {0.169908, -0.522395}, {0.213199, -0.701460}, {0.552262, 0.906828}, - {-1.016062, 0.643300}, {0.298917, -0.477633}, {0.354035, 0.004910}, - {-0.091019, 0.375327}, {-0.237197, 0.523797}, {-0.445213, 0.236868}, - {0.184486, 0.210037}, {-0.200655, -0.532764}, {-0.165018, 0.252682}, - {0.301383, -0.470096}, {0.733004, -0.519851}, {-0.340900, 0.559258}, - {-0.003634, 0.397142}, {-0.158002, -0.601995}, {1.029616, -0.712344}, - {-0.272084, 1.292895}, {-0.245181, 0.153895}, {1.537927, 0.233934}, - {-0.194398, -0.207617}, {-0.037529, -0.362480}, {-1.439610, -0.069318}, - {-0.527334, -0.847175}, {0.888073, 1.120245}, {0.759059, -1.709285}, - {-0.038818, -0.451563}, {-1.569456, 0.059742}, {-1.135825, 1.105116}, - {0.860456, -0.054651}, {0.791421, 0.583433}, {0.300375, 0.733727}, - {0.740330, 0.173272}, {0.720677, -0.006213}, {0.211773, 0.171237}, - {1.239301, 0.513578}, {-0.038229, -1.319419}, {-1.110608, 0.623842}, - {-1.199877, 2.009182}, {0.110201, 1.359225}, {-0.521048, 1.259603}, - {-0.779884, 0.080694}, {0.922866, 1.378522}, {-0.036678, -0.256378}, - {0.630587, 0.356473}, {-0.818911, 0.348724}, {-0.823156, -0.403827}, - {-0.305461, -0.183285}, {0.545495, -0.917827}, {-0.307489, 0.278087}, - {0.576430, 0.263072}, {-0.110932, 0.343314}, {-0.730010, 0.924897}, - {0.492041, 0.775198}, {0.461854, 0.423507}, {0.427495, 1.700151}, - {0.432533, 0.301152}, {-0.593518, 1.393076}, {-0.389399, -0.733757}, - {-1.049504, 0.301791}, {0.546392, 0.734537}, {0.338524, 0.116400}, - {-0.597570, -1.925078}, {0.322346, 1.008118}, {0.513935, -0.042958}, - {-0.518049, 0.101353}, {1.352677, -0.293425}, {0.240988, -1.041734}, - {-0.691185, -1.063328}, {0.130569, 1.016253}, {-0.586304, -0.555797}, - {0.462853, -0.235079}, {0.079994, -0.355770}, {0.153572, 0.147783}, - {-0.596490, -0.795026}, {0.326538, -0.790256}, {-1.460756, -0.251033}, - {0.017858, 0.259083}, {0.507881, -1.054094}, {0.266351, 0.627879}, - {-0.752761, -0.513762}, {-0.627282, 0.008649}, {-0.886446, 0.842860}, - {-0.463043, -0.469626}, {0.096623, 0.933024}, {-0.286410, 0.744126}, - {-0.542282, 1.126897}, {-0.313235, 0.205528}, {-1.320519, 0.277179}, - {0.071715, 0.147248}, {-0.903511, -0.083047}, {0.656132, -1.350683}, - {-0.207632, -0.039248}, {0.117073, -0.120780}, {-1.332364, 0.590990}, - {-0.380298, -0.400794}, {-0.366577, 0.174013}, {0.485112, -0.117400}, - {0.372690, -0.023396}, {-0.909507, -0.293390}, {1.037746, 0.057621}, - {0.939461, -1.025088}, {1.893673, -0.611078}, {0.078827, -0.951650}, - {-0.839030, 0.090466}, {-1.104840, -1.126416}, {0.590214, 0.068381}, - {1.100851, 0.573205}, {-0.393116, -0.875980}, {-0.254150, -0.405253}, - {-0.278855, 1.000683}, {0.921864, 0.463923}, {-0.041988, -0.112156}, - {0.155288, -0.019315}, {0.099627, 0.916635}, {-0.622412, -0.503004}, - {-0.262853, 0.533022}, {-2.349103, -0.232631}, {-0.387689, -0.672924}, - {-0.981208, 0.386278}, {0.021049, -0.336082}, {0.385965, 1.431628}, - {0.084666, -0.022362}, {1.501095, -0.445381}, {-0.174828, 0.029946}, - {-0.075096, -0.754793}, {0.440599, -0.624117}, {-0.191469, -0.122779}, - {-0.619664, 0.048316}, {0.681431, -1.113935}, {0.392264, -0.416262}, - {-1.025569, 0.426959}, {0.231863, 1.526328}, {-0.235847, 0.767781}, - {-0.081400, -1.937839}, {-0.142145, 0.413403}, {-0.578059, -0.410749}, - {0.886248, -1.144489}, {-0.584558, -0.717462}, {0.337355, -0.804375}, - {-0.070221, 0.776269}, {-0.020066, 0.015296}, {-0.731855, 1.217179}, - {0.430529, -0.118092}, {0.121456, 2.210222}, {0.825156, -1.563617}, - {-0.365542, -0.034897}, {0.238998, 0.603491}, {-0.488885, -0.418294}, - {0.519796, -1.412865}, {-1.114191, -0.510320}, {-0.752598, 0.541650}, - {0.380631, -0.713726}, {0.023115, 1.015882}, {-0.198359, 0.433732}, - {0.103927, 0.017306}, {-0.039809, 0.223707}, {1.711996, 0.402454}, - {-0.056678, 0.174339}, {-1.687713, -0.160125}, {0.696416, -0.493909}, - {-0.873410, 0.257890}, {0.319853, 0.072947}, {-0.368300, 0.341422}, - {-0.482285, 0.930112}, {-0.004708, 0.893093}, {-0.051559, 0.713417}, - {1.244796, 1.336726}, {-0.104941, -0.449322}, {0.655462, 0.706759}, - {-0.239773, 1.696788}, {-0.324650, 0.398949}, {0.624589, 0.044072}, - {0.357952, 0.443955}, {0.749903, 1.159453}, {-1.563112, -0.838062}, - {-0.617714, -0.025810}, {1.450510, -0.020522}, {0.225253, -1.483181}, - {-0.666102, -0.989824}, {0.463322, 0.622948}, {-0.252765, -0.493345}, - {-0.030605, 0.132428}, {-0.104919, -1.328013}, {0.512898, -0.265843}, - {0.641341, 0.344586}, {0.586485, -0.656758}, {-0.869639, -1.444607}, - {-0.283470, -0.175611}, {-0.403954, -0.687469}, {0.222511, -0.720233}, - {-1.268683, -0.981553}, {-0.379982, -0.435577}, {1.266867, 0.349347}, - {0.164557, -1.057785}, {0.093567, 0.955540}, {-0.141307, -0.705522}, - {0.371905, 0.120573}, {-0.389172, -0.765473}, {0.917816, -0.237643}, - {1.004090, 0.178844}, {-0.629418, -0.412242}, {-0.210337, 0.560592}, - {-0.318360, 1.059381}, {0.583389, -1.323808}, {-0.817288, 0.993688}, - {-0.878170, -1.153520}, {0.368115, 0.337455}, {0.031655, 0.110590}, - {0.265206, 0.204946}, {0.088893, 0.170791}, {-0.177558, 2.292458}, - {0.141059, -0.985035}, {-0.660856, -0.980383}, {-0.609849, 0.985874}, - {-0.214610, 0.730502}, {-0.616156, -0.316919}, {0.694992, -0.768053}, - {-0.325122, -1.054053}, {1.217558, -0.854166}, {0.854051, -0.005104}, - {1.209427, -0.241328}, {0.324556, 0.132322}, {-0.343527, 0.053413}, - {0.224351, 0.479553}, {0.421346, -0.521788}, {0.118883, -0.218365}, - {0.188380, -0.456052}, {-0.349273, -0.770785}, {0.219073, 0.003962}, - {-0.296130, -0.656501}, {0.636082, 0.026015}, {-0.625080, 0.346952}, - {0.929759, 0.857013}, {0.187340, 0.484039}, {0.007584, -0.624158}, - {0.309799, -2.221435}, {0.640643, 1.329439}, {0.226335, -0.805996}, - {0.822625, 1.060992}, {-0.470881, -1.000766}, {0.425072, -0.397100}, - {-0.223623, 0.531114}, {0.292353, -0.088059}, {0.366968, 0.358980}, - {-0.753461, -0.700875}, {0.249173, 0.177231}, {0.182607, -0.592219}, - {-0.058347, 0.078718}, {0.183978, -0.226199}, {0.648659, -0.221680}, - {-0.656861, -0.408497}, {0.798399, 0.044049}, {-1.154125, -0.803622}, - {0.008225, -0.136806}, {0.676763, -0.316637}, {-0.376109, 0.251771}, - {-1.331292, 1.241033}, {0.190767, 0.475373}, {0.578552, 1.172062}, - {0.505876, -0.233129}, {-0.361797, -0.297199}, {-0.097264, -0.225741}, - {-0.050572, -0.001436}, {-0.454120, -0.192442}, {1.120225, -0.898933}, - {-0.216917, 0.333024}, {0.110060, 0.750588}, {0.760030, 0.575150}, - {0.975368, 0.487183}, {-0.416180, 1.692559}, {0.804607, -0.335317}, - {-0.669472, 0.243862}, {1.112954, -0.010765}, {-0.312142, -0.937224}, - {-0.567689, -0.263702}, {0.041868, 0.572080}, {1.804127, -0.566619}, - {-0.521481, 1.063847}, {1.819315, 0.382287}, {0.380872, -0.611233}, - {0.296314, -0.222157}, {1.498113, 0.879454}, {1.518674, 0.605166}, - {0.019620, -0.040801}, {1.102724, 0.266670}, {-0.684836, -0.568236}, - {0.519185, -0.779516}, {-0.226690, -0.818393}, {0.394623, -1.286799}, - {0.900695, 0.487765}, {-0.799478, -0.400191}, {-0.830514, -0.562055}, - {0.951365, -0.076491}, {-0.152298, -1.042769}, {0.069064, -1.023238}, - {0.053427, -1.985536}, {-0.686719, 0.206313}, {-0.872301, 0.294649}, - {-0.624577, -0.387285}, {-0.050756, 0.173358}, {-0.721308, 0.536205}, - {0.598027, -1.956268}, {1.243462, -0.102223}, {0.272178, 0.642981}, - {0.490204, -1.332468}, {-0.459636, 1.005367}, {-0.186912, -0.782287}, - {-0.912943, -0.294037}, {1.394333, 0.134047}, {-0.104225, 0.280412}, - {0.396206, -0.652859}, {-1.350593, 0.267762}, {-0.192340, 0.249925}, - {-0.294556, 0.392405}, {-0.585629, -0.706280}, {0.416039, -0.105205}, - {0.230197, -0.642631}, {-0.788622, -0.801780}, {0.641724, 0.143368}, - {0.868609, 0.721575}, {-0.648315, -0.221029}, {-0.759865, -0.581518}, - {0.050452, -0.421412}, {0.554405, -0.621567}, {-0.620533, -0.351417}, - {-0.708260, 0.277084}, {-0.663141, 0.789494}, {0.544607, -0.890151}, - {0.915475, 0.208660}, {-0.089024, -1.629471}, {0.122487, 0.665973}, - {0.778714, -0.473087}, {0.436424, -0.053708}, {-0.962989, 0.178894}, - {-0.093878, -1.372909}, {-1.334592, -0.532912}, {0.914235, -1.047946}, - {0.468339, 0.302520}, {0.144360, 0.390533}, {-0.851259, 0.971010}, - {-0.701207, 0.150590}, {0.338131, -0.762748}, {1.102405, -0.101683}, - {0.187218, 1.112117}, {0.825270, -0.520667}, {0.520354, 0.359599}, - {-0.541755, 0.243781}, {-0.025789, -0.276606}, {0.663983, -0.217932}, - {-0.424530, 0.937543}, {0.087080, -0.695290}, {0.125273, -0.056948}, - {-0.574391, 0.829597}, {0.707433, -0.081680}, {1.053279, 0.587411}, - {1.371934, -0.232203}, {1.377562, -0.181817}, {0.301180, 1.214186}, - {-1.259045, -0.768218}, {-0.106634, 0.320428}, {0.638354, 0.147326}, - {1.035767, 1.246632}, {-0.484057, -0.778008}, {-0.568900, 0.810352}, - {1.343526, -0.565878}, {-0.078860, 0.468044}, {-0.241550, -0.951938}, - {0.207429, -0.254585}, {0.447816, -0.015839}, {0.302137, 0.164948}, - {0.563014, 0.769551}, {-1.148579, 0.887160}, {-0.083611, 0.680195}, - {0.369397, 0.512873}, {0.381627, 1.395393}, {0.681791, 0.515388}, - {-0.542576, -1.534588}, {1.918437, 0.611528}, {-0.522244, 1.209917}, - {-0.093985, -0.455651}, {-0.107796, 0.859061}, {-1.018800, 0.051540}, - {-0.539498, -0.754561}, {-0.015481, -1.049091}, {0.407858, 0.681992}, - {1.168251, -0.815391}, {0.280607, -0.068227}, {-0.528591, 0.091963}, - {-1.073499, -0.577745}, {0.395243, -0.629384}, {1.095985, -0.516588}, - {-0.136250, -0.015595}, {-0.696164, 0.819270}, {-0.192516, -0.906690}, - {1.066016, 0.386976}, {0.084233, -0.420819}, {0.691169, -0.036671}, - {0.304274, -0.143800}, {0.174184, 1.080694}, {-0.812545, -0.113297}, - {0.498295, -0.183696}, {1.482711, 0.261931}, {-1.195411, -0.365014}, - {-1.007641, -1.211093}, {0.180812, -0.582404}, {-0.600608, 0.360349}, - {-0.795459, -0.612485}, {-0.498403, -0.770827}, {0.179341, 0.252923}, - {0.078219, -0.134409}, {0.029020, 0.530232}, {-1.082486, -0.964627}, - {0.475449, 0.228865}, {0.945295, -0.971173}, {-0.376007, -0.822730}, - {-0.048402, -0.952172}, {0.442908, 0.788001}, {-0.523677, 0.317709}, - {0.249828, -0.866534}, {0.288825, -0.711717}, {0.749714, 1.240367}, - {0.231159, -0.142686}, {-0.672808, -0.212280}, {-0.205479, 0.294669}, - {-0.867840, 1.497664}, {0.602268, 0.171039}, {-0.439475, -0.397819}, - {0.056233, 1.305299}, {-0.202537, -1.087085}, {0.879143, 0.645517}, - {-0.098655, 0.549591}, {-0.079826, 0.092852}, {0.787565, -0.587819}, - {0.844504, 0.083068}, {-0.316615, -0.486807}, {0.318470, -0.589745}, - {-0.323499, 0.031700}, {0.794815, 1.192794}, {-1.434705, -0.743418}, - {0.194635, 0.496011}, {-0.068369, 1.097164}, {0.055882, -0.610884}, - {-0.944299, -0.941208}, {-0.498806, 0.156640}, {0.208447, -0.528226}, - {0.956777, -0.354452}, {-0.879130, -1.356783}, {-0.605954, 1.495664}, - {-0.025056, 0.107553}, {0.610923, 0.435619}, {-1.008064, 0.239170}, - {-0.137944, -0.395381}, {-0.531626, 0.570013}, {0.039088, -0.074388}, - {-0.602167, -0.940069}, {0.520930, 0.839237}, {-1.547177, 0.015998}, - {0.439233, 0.453052}, {-0.029776, -0.125403}, {-0.345532, 0.150671}, - {0.283820, -0.311247}, {0.691268, 0.439948}, {-0.297298, 0.571417}, - {-0.664505, -0.174490}, {1.265258, 0.472942}, {0.049889, 0.244857}, - {-0.095322, 0.754115}, {-0.029737, -0.356600}, {0.146569, -1.294022}, - {-0.295789, 0.369970}, {0.200032, -0.482899}, {0.781168, 1.247152}, - {-0.245575, 0.442512}, {-1.080089, -1.224498}, {0.347986, -0.310894}, - {1.813778, -0.546107}, {0.347830, 1.098305}, {1.139714, 0.083681}, - {0.613995, -0.064648}, {0.627980, -1.185934}, {-0.088940, -0.247523}, - {0.293299, 0.282612}, {0.145607, -0.363898}, {0.682261, 0.069479}, - {-0.062785, -0.107404}, {-0.404708, 0.102763}, {-0.237587, 0.193964}, - {0.971118, 1.637474}, {-0.449309, 0.565929}, {1.795769, 0.373496}, - {-0.873712, 0.616632}, {-0.196513, -0.640404}, {-0.186019, -0.672891}, - {0.405301, -0.523678}, {-1.000323, 1.087868}, {-0.748565, 0.346213}, - {-0.533750, 0.023908}, {-0.576248, 0.401431}, {-0.892996, 0.627997}, - {-0.467071, 1.447969}, {-0.139768, -1.028884}, {0.278656, 0.126379}, - {-0.238544, 0.542289}, {-0.270467, -1.010170}, {-0.228088, 0.216426}, - {1.142972, -0.627060}, {1.031965, -0.434600}, {0.340546, -0.237191}, - {-0.136616, 0.924569}, {-0.852451, 0.409948}, {-0.030960, 0.003293}, - {0.751540, -0.478669}, {0.454761, -0.433887}, {-1.611252, 0.302680}, - {0.003690, -0.193511}, {-0.883646, -0.472813}, {-0.217567, 0.614904}, - {-0.060909, -0.291651}, {0.348777, 0.769840}, {-0.205364, -0.945972}, - {0.100935, -1.105324}, {-0.730546, 1.197917}, {0.037881, -1.364004}, - {-0.790273, -0.500485}, {1.019594, 1.405192}, {0.553383, -0.760307}, - {0.079813, 1.242097}, {0.724602, 0.322399}, {0.691650, -0.277596}, - {-0.999711, 0.814944}, {-0.103090, 0.702437}, {-0.245544, -0.599467}, - {-0.194306, 1.677402}, {0.436362, 1.246626}, {0.206087, -0.136172}, - {1.747782, 0.584106}, {0.406945, 0.500722}, {0.401018, 0.061251}, - {-0.485579, -0.126287}, {0.102872, 0.074572}, {0.526394, -0.130306}, - {-0.997377, 0.317494}, {0.651321, -0.412428}, {-1.160759, -1.663891}, - {-1.106270, 0.202325}, {-0.698919, 0.195317}, {0.486878, 0.717703}, - {-0.998619, 0.718843}, {0.006452, 0.669891}, {1.418430, -0.380581}, - {-0.079725, 0.248431}, {0.034193, -0.516827}, {0.087614, -0.200013}, - {-0.608534, -0.918271}, {-0.096351, -0.320469}, {-0.803814, -0.983979}, - {-0.563381, 0.035484}, {0.725737, 0.753731}, {0.945344, -0.412933}, - {1.252002, 0.158636}, {-0.615195, -0.442558}, {-0.181433, -0.153078}, - {-0.131831, 0.255303}, {0.028794, 0.045431}, {-0.901468, -0.112194}, - {-0.240013, 0.332503}, {0.725427, 1.028639}, {-0.832698, -1.074637}, - {-0.087355, 2.052221}, {-1.695433, 1.195954}, {0.348765, 0.618883}, - {-1.261736, 0.226435}, {-1.036571, 1.108908}, {-0.631858, 0.969470}, - {-0.383927, 0.513694}, {-1.065415, 0.305332}, {-0.770717, -0.211612}, - {-0.042169, -0.577398}, {0.778070, 0.164015}, {-0.308740, 0.253317}, - {0.673013, 0.384047}, {-0.663271, -1.645542}, {-0.594806, -0.266981}, - {0.031422, 0.017209}, {0.372819, 0.179241}, {-0.451831, -1.222927}, - {-1.473253, -1.466359}, {-0.021394, 1.299407}, {0.517073, 1.048515}, - {-0.492487, 0.319604}, {0.045902, -0.369191}, {0.761630, -0.646184}, - {-1.143760, -0.877989}, {-1.207937, 0.402411}, {0.647822, -0.684881}, - {1.561865, -0.520949}, {0.034907, 0.267810}, {-0.060274, -1.422451}, - {-0.739349, 0.707542}, {-0.536740, -0.575886}, {-0.052684, -0.290248}, - {-0.123131, -0.743400}, {-0.514004, 0.128876}, {-0.865755, 0.825335}, - {-1.093714, -1.041393}, {1.399303, -0.474390}, {-1.593978, -0.302014}, - {-0.647736, 0.276940}, {-1.921976, -1.024671}, {-0.330629, -1.292647}, - {-0.758354, 0.195156}, {0.469699, 0.035348}, {-0.091111, 0.143719}, - {-0.451077, 0.345265}, {0.206307, -1.201955}, {-0.710390, 1.963236}, - {0.375559, -0.576808}, {0.149091, -1.086740}, {-0.449572, 0.325384}, - {-0.192764, 0.050606}, {0.421631, -0.018053}, {1.221822, 0.036003}, - {0.377659, 0.155503}, {0.659024, -0.972623}, {0.028611, 1.195320}, - {0.766597, 1.851492}, {-0.080947, -0.311238}, {-0.546674, 0.601715}, - {0.100401, -0.217646}, {0.545637, 0.168297}, {-1.346635, -0.631837}, - {-0.682666, 0.621478}, {0.045733, -0.349107}, {-1.244812, -0.204358}, - {-0.422721, 0.108213}, {0.079947, -0.097146}, {-0.020068, 0.559199}, - {0.297205, 0.513111}, {0.941640, 0.417691}, {-0.925712, -0.314921}, - {-0.315827, 1.287305}, {0.529011, 0.755734}, {-1.309677, 0.875144}, - {-0.230303, 0.267374}, {0.868997, 0.302759}, {-0.111540, 0.065648}, - {-0.142909, 0.138899}, {-0.578420, -1.061350}, {0.245031, 0.319639}, - {1.260454, -0.384548}, {0.982616, 0.576288}, {0.159346, 0.750479}, - {-0.087783, 1.089588}, {0.196171, -0.771344}, {-0.607085, 0.048410}, - {-0.068539, -0.651095}, {0.361776, -0.899946}, {0.513233, -0.276754}, - {-0.815696, 0.184741}, {0.595970, 0.094903}, {0.115271, -0.496266}, - {1.233400, -0.604420}, {-1.610600, 0.068291}, {1.685176, -0.540653}, - {1.331054, -0.306383}, {0.474553, -0.181542}, {-0.349692, -1.046318}, - {0.466882, 0.552974}, {0.671398, 0.059918}, {1.220610, -0.655965}, - {-1.017139, 0.324829}, {-0.405089, -0.133175}, {-1.230806, -0.614727}, - {0.053516, 0.105043}, {0.263139, -0.629699}, {0.284898, -0.362198}, - {-0.210472, 0.588927}, {0.430466, 0.051079}, {0.114497, 0.987658}, - {-1.348501, 0.053213}, {-0.087962, 0.937382}, {-0.583326, -0.560167}, - {0.925946, 0.254656}, {-0.883881, -1.030357}, {-0.800863, 0.810453}, - {1.625943, -1.280755}, {0.323764, -0.336854}, {0.797648, 0.589424}, - {-0.219584, 0.872309}, {0.640241, 0.052660}, {0.266435, -0.575933}, - {0.010578, 0.226011}, {0.416890, 0.200529}, {1.452786, -0.051537}, - {-0.310855, 0.121700}, {-0.632248, -0.915323}, {0.030787, -0.673870}, - {-1.049494, 0.197745}, {0.047091, -1.145422}, {0.711093, 0.945179}, - {-0.242047, 0.140575}, {0.340217, 0.852112}, {0.630934, 1.603793}, - {-0.212128, 0.191145}, {-1.331703, -0.244984}, {0.474762, -1.272654}, - {-0.064322, 0.887641}, {-0.772426, -0.137183}, {-0.476909, -0.765121}, - {-0.921167, 0.515822}, {0.706203, -0.726292}, {-1.297285, 1.234220}, - {0.251867, 0.516994}, {0.152440, 0.693035}, {0.355725, -0.222082}, - {0.070784, -0.573142}, {-0.472779, 0.405148}, {-0.387195, 0.495100}, - {0.353239, 1.388869}, {0.436446, 0.846312}, {0.117673, 0.291440}, - {0.038314, 0.003910}, {0.832524, 0.297668}, {-0.067787, -0.787236}, - {0.308990, -1.201882}, {-0.716303, 0.682363}, {-1.541222, 0.779205}, - {-0.399833, 0.182525}, {-1.489015, 0.201933}, {-1.085351, -0.414808}, - {-0.593430, -0.460045}, {-0.136958, 0.225884}, {0.839454, 0.132045}, - {0.512016, 0.539074}, {1.021031, -0.818081}, {-2.082684, -0.974775}, - {1.078381, -0.424613}, {-0.215449, -1.070854}, {-0.267500, -0.045646}, - {-0.097457, -0.787663}, {-1.127850, -0.129833}, {0.261141, 0.361222}, - {-0.047321, -0.078316}, {-0.213066, -0.934763}, {-0.693972, 0.416171}, - {0.734195, 0.443239}, {-0.761988, 1.089263}, {0.254715, 0.226029}, - {0.302206, 0.304181}, {-0.588604, -0.955464}, {-0.724068, 0.962523}, - {1.030788, 1.094885}, {-1.634408, 0.959742}, {-0.343578, 0.529590}, - {-0.913576, 0.062114}, {-0.029438, 0.785613}, {-0.978121, -1.357258}, - {0.393594, -0.252471}, {-0.547676, 0.105908}, {0.540394, -0.607045}, - {0.769064, -0.118855}, {-0.655730, 0.653167}, {0.624079, 0.821763}, - {0.289239, -0.019449}, {0.171656, -0.435785}, {1.322478, 0.011860}, - {-2.093062, 1.275452}, {-0.213217, 0.410659}, {-0.922502, 0.014639}, - {1.481723, -0.168258}, {-1.494468, -0.526159}, {0.212115, -0.653763}, - {0.247302, 0.440803}, {-0.227827, -0.164564}, {-0.730551, 0.626705}, - {0.955221, -0.640437}, {0.083621, -0.495753}, {0.010779, 0.268628}, - {-0.517990, 0.518614}, {-0.127293, 0.121118}, {-1.391215, 0.845785}, - {0.376562, 0.013170}, {-0.023148, 0.651098}, {-0.545330, 1.030364}, - {0.423751, -1.034899}, {0.064578, 0.069449}, {0.727233, -0.170816}, - {-0.262943, -0.128789}, {-0.200262, 0.310986}, {0.252975, 0.424229}, - {-0.907615, -0.073997}, {-0.543862, -0.735072}, {-0.813343, -0.173314}, - {-1.201885, 1.528061}, {0.656099, 0.166095}, {-1.168671, 0.209173}, - {0.835893, 0.449546}, {0.058003, -0.443218}, {-0.940742, 0.333260}, - {0.685444, 1.349441}, {-0.070850, 0.383320}, {-0.784000, 0.412765}, - {0.972754, 0.248983}, {-0.611710, 0.795272}, {0.740168, -0.382664}, - {-0.595800, 1.134890}, {-0.291688, -0.192899}, {-0.324666, 1.139416}, - {-0.026190, 0.014553}, {-0.797475, 0.108035}, {0.257394, -0.383343}, - {0.936633, -2.076909}, {-0.164027, 0.563305}, {-0.029333, -1.077666}, - {-0.776752, 0.687745}, {-0.361438, -1.434606}, {0.159147, 0.129632}, - {0.742079, -0.379723}, {-0.325943, -0.534641}, {0.421914, 0.776426}, - {-1.185213, 1.207085}, {-0.812063, -0.427344}, {-1.734549, -0.468229}, - {-0.532631, -0.196973}, {-1.124256, -0.783135}, {0.002816, -0.609461}, - {0.497856, -0.858671}, {0.297182, -0.995354}, {-0.009002, -0.094468}, - {-0.841901, 0.478523}, {-0.357151, -0.724320}, {0.684269, -0.106986}, - {-0.875832, 0.368872}, {-0.451512, 1.155647}, {0.007695, 0.984606}, - {-0.245539, -0.586946}, {-0.438202, 0.003614}, {0.272786, 0.270776}, - {0.645523, 0.541562}, {-0.237560, -0.637564}, {-0.848358, -0.612336}, - {-0.277362, -0.783485}, {0.481862, -0.045225}, {0.276958, 0.039033}, - {-0.226987, 1.330472}, {1.139474, 0.298630}, {-0.452719, 0.688238}, - {0.575993, -1.073807}, {-0.877879, -0.474368}, {1.162578, -0.352652}, - {-0.616572, -0.422459}, {-0.353035, 1.347897}, {-1.158601, -0.646731}, - {0.451272, 0.588822}, {-0.141924, 0.363633}, {0.527233, -0.473859}, - {-0.363216, -0.892939}, {-1.340083, -0.111274}, {-0.603631, -0.270979}, - {-0.188457, 0.012816}, {-0.811343, 1.252060}, {1.188571, -0.831308}, - {-1.041929, -0.096941}, {0.712698, 0.394449}, {-0.553583, 0.946137}, - {-1.219442, -0.169581}, {0.864311, -0.554224}, {-0.262955, 1.220312}, - {-0.576259, 0.887034}, {1.004077, 0.461673}, {-1.593715, 0.659881}, - {0.531584, 0.228323}, {-0.240945, 0.486940}, {0.922614, -0.455564}, - {0.275567, 0.685332}, {-0.420722, 1.269918}, {0.430470, 0.686037}, - {0.034631, -0.235561}, {-0.314039, -0.525507}, {0.272926, 1.024054}, - {-0.597859, -0.371195}, {0.369351, 0.638611}, {-0.203028, 1.337666}, - {0.939544, 0.549966}, {0.478238, -0.275508}, {-0.155890, 0.618782}, - {0.065502, 1.306056}, {-0.144435, -1.053199}, {0.675192, -1.042800}, - {0.887757, 0.799049}, {1.032078, -0.335687}, {-0.416585, -0.671976}, - {-0.277219, 0.392748}, {-1.373308, 0.145767}, {-1.898957, 0.258620}, - {-1.507777, -0.799117}, {0.125190, -1.513681}, {-0.555275, -1.147338}, - {0.109193, 0.630449}, {0.850572, -0.428761}, {0.762598, -0.418743}, - {-0.658676, 0.120374}, {0.219889, 0.679444}, {0.960891, 0.748391}, - {0.870463, 0.591815}, {1.008497, 0.258433}, {-0.397245, 0.229091}, - {0.079530, -0.765548}, {-1.189197, 0.391146}, {1.090130, -0.176457}, - {0.878735, -1.220042}, {-0.282687, 0.045037}, {0.690295, 0.760265}, - {-0.064226, -1.270045}, {0.451127, 0.620894}, {0.518653, -0.291379}, - {1.427926, 0.763723}, {0.013799, -0.112367}, {-0.284511, 0.556617}, - {0.023375, -1.498134}, {0.527409, 0.837385}, {-0.337269, 0.119037}, - {0.397375, 1.457268}, {-0.915267, 1.637006}, {0.189049, 0.517475}, - {0.118637, 1.005364}, {0.396135, -1.604041}, {-0.089106, -0.609048}, - {-0.028093, 0.096681}, {0.978246, -0.222336}, {0.078209, 0.502843}, - {0.317957, -0.209239}, {-0.235391, -1.067509}, {0.672564, -0.630147}, - {0.573721, 0.505773}, {-0.211566, 0.007962}, {0.493715, -1.029766}, - {0.610607, -0.973276}, {-0.204172, -0.197208}, {1.323638, -0.298948}, - {-1.036127, -1.456968}, {-0.650336, -0.262731}, {-0.324206, -0.556171}, - {0.184158, -0.349058}, {0.439262, 0.058320}, {-1.534475, 0.227140}, - {-0.631174, 1.780843}, {-0.755815, -0.501755}, {0.146835, -0.731846}, - {0.859454, 0.963689}, {0.800582, -0.146938}, {1.372001, 0.638182}, - {-0.919889, -0.622212}, {0.681129, -0.602858}, {0.172753, 1.274081}, - {-0.669045, -0.735854}, {1.072433, -0.430603}, {-0.945714, 0.249387}, - {0.058404, -0.356905}, {0.280842, 1.395081}, {-1.333727, 0.175503}, - {-0.162653, 0.997135}, {1.349928, -0.778412}, {0.351735, -0.432853}, - {0.130525, -0.679365}, {-0.255894, 0.000290}, {-0.033975, 0.753936}, - {0.880727, 0.592943}, {-0.432137, -1.241763}, {-0.916417, 0.629270}, - {-0.417353, 0.281667}, {1.027431, -0.561347}, {-0.313624, -0.862803}, - {0.688305, -1.114407}, {0.407758, 0.350545}, {-0.084867, -0.097319}, - {0.659983, 0.568765}, {-0.226611, 0.133226}, {-0.215283, -0.443496}, - {0.718936, -0.037813}, {0.933978, -0.233086}, {-0.516582, 0.734210}, - {0.736643, 0.706611}, {0.305234, 0.000249}, {-0.370270, 0.590320}, - {0.962118, -0.925841}, {-1.048981, -0.103269}, {0.044995, 0.871437}, - {0.797065, -0.797195}, {0.012374, 1.464487}, {-0.744670, -0.902590}, - {-0.975379, 0.299666}, {-0.751756, -0.171825}, {-0.478057, 1.113745}, - {-0.351503, 0.127088}, {0.589924, -0.913712}, {1.035181, -0.319182}, - {-0.226216, -0.426067}, {0.740355, 0.631193}, {-0.506299, -2.521827}, - {-0.734618, -0.279302}, {-0.793006, 0.934782}, {0.400248, 0.019342}, - {-0.460130, 0.039696}, {-1.182922, -0.759926}, {-0.322657, 0.433662}, - {1.295318, 0.089107}, {0.776325, -0.202020}, {-1.354920, -0.019325}, - {-0.070378, -0.628537}, {-0.313186, -0.122804}, {0.679820, -0.407435}, - {0.568100, -0.865077}, {-0.270622, -0.118376}, {-0.120073, 1.163957}, - {-2.521375, -0.093829}, {0.242298, -0.793270}, {0.110432, 1.286578}, - {0.589488, 0.684460}, {-0.130721, -0.833847}, {-1.196174, 0.719174}, - {1.558364, -0.705261}, {0.040922, 0.325140}, {-0.591884, 0.749348}, - {-0.121397, 0.219684}, {0.378761, -0.899270}, {-0.292474, -0.083947}, - {-0.868838, -1.003608}, {0.229984, -1.746968}, {-0.653827, -0.413638}, - {-0.724029, 0.485097}, {0.014806, 1.481808}, {-0.493384, -0.210216}, - {0.722527, -0.225007}, {1.054819, 1.601291}, {-0.282008, -0.282742}, - {-0.866851, 0.072647}, {-1.735218, -0.205276}, {-0.689724, -0.951328}, - {0.216225, 0.177342}, {-0.124588, -0.162394}, {0.489274, -0.190430}, - {-0.057484, -0.451252}, {-0.838170, 0.008589}, {-0.012782, 1.507933}, - {-0.471353, 0.394553}, {-0.190237, 0.685665}, {0.557875, -0.620214}, - {-0.059726, 0.397332}, {-0.592982, -0.006411}, {-0.123340, 0.161368}, - {-0.854995, 0.700566}, {-0.572703, -0.252267}, {-0.763440, 0.344721}, - {0.021265, 0.446768}, {-0.586946, 0.323793}, {0.180415, 0.043743}, - {-0.288882, -0.511805}, {2.624556, -0.567090}, {0.551481, 0.803221}, - {-0.143453, -0.586976}, {0.992092, 1.533923}, {-0.318124, -0.550864}, - {1.318704, -0.063433}, {-0.155347, 1.117042}, {0.058911, -0.944546}, - {0.108052, -0.051107}, {-1.035368, 0.386023}, {-0.823147, 0.171737}, - {0.846301, 0.680001}, {-0.110664, 0.468723}, {-0.083706, 0.625575}, - {0.290091, 0.858146}, {-0.662183, -0.590796}, {-0.288190, -0.353492}, - {-1.159802, -1.337642}, {-0.306885, -0.750638}, {0.044691, -1.653807}, - {-0.615050, 0.289028}, {-0.201731, 0.465221}, {1.008004, -0.060762}, - {-0.550498, 0.300423}, {-0.116548, -0.013405}, {0.549048, 1.586230}, - {0.759367, -0.971517}, {1.323636, 1.681829}, {0.170062, 0.089436}, - {-0.211072, 0.704819}, {-0.419963, -0.128266}, {0.626398, -0.551576}, - {1.543900, 0.511508}, {-0.784514, 1.183790}, {0.502940, 1.028658}, - {-1.016714, 0.248965}, {0.112604, 0.111350}, {-0.123006, 0.683764}, - {0.021753, -0.247159}, {0.138703, 1.086674}, {-0.051887, -1.076659}, - {1.737884, 0.864115}, {-0.215718, 0.020311}, {0.666013, -0.799401}, - {-1.108657, 0.547216}, {0.552800, 2.316691}, {-0.103811, 0.195943}, - {-0.559387, 0.399860}, {-0.574699, -0.002171}, {0.494645, 0.839499}, - {1.539942, 0.061094}, {-1.185473, 0.157370}, {0.687725, -0.726402}, - {1.062304, 0.143174}, {-0.231306, 0.431820}, {0.181212, 0.243572}, - {0.048089, 1.016969}, {1.019749, -0.468151}, {0.272841, -0.383551}, - {0.606381, -0.216956}, {-1.061207, -1.080103}, {-0.174838, 0.363043}, - {-0.498895, 1.116096}, {-0.098641, 0.561958}, {0.043930, 0.385439}, - {-0.427768, -1.146650}, {0.923076, -0.396539}, {0.754689, 0.963067}, - {-0.037038, -0.203416}, {0.019305, -0.562339}, {-0.797642, -0.371491}, - {0.081456, -0.831708}, {0.208751, -1.180105}, {-0.774074, -0.978951}, - {1.266618, 0.537957}, {-0.712267, 0.567095}, {0.145303, -0.817414}, - {1.967789, 1.007710}, {0.193202, 0.217408}, {-0.798454, -0.633302}, - {-0.330441, 0.650118}, {-0.007839, 0.797737}, {-0.990287, 0.006108}, - {-0.443475, 1.373610}, {0.356907, -0.324058}, {-0.456490, 0.150888}, - {0.778863, -0.215198}, {-0.465454, -0.433403}, {0.906855, 0.653127}, - {0.492398, -0.648731}, {0.945877, -1.419218}, {-0.177893, -0.646512}, - {1.411359, -0.241056}, {-0.264133, -1.505842}, {-0.366946, 0.985009}, - {-0.128469, -0.052593}, {0.167171, -0.446152}, {0.919920, 0.002816}, - {0.119854, -0.960683}, {1.395234, -1.093261}, {0.264784, 0.684038}, - {0.136742, -0.623673}, {-1.157844, 0.208610}, {-0.081146, -0.545579}, - {0.129620, 0.317296}, {-0.565284, 0.051918}, {-0.552605, 0.036032}, - {0.605695, -0.026673}, {0.050425, 2.453665}, {0.044827, -1.616143}, - {-0.113293, 0.653822}, {1.093501, 2.247677}, {0.695921, -1.033199}, - {0.000694, -0.086366}, {0.421101, 0.539692}, {0.051940, -1.072276}, - {0.040107, -0.888686}, {-0.229449, 1.123220}, {1.198503, -0.862325}, - {0.700102, 0.555513}, {-0.119860, -0.774937}, {-0.028011, 1.437656}, - {1.000033, 0.429811}, {0.381991, -0.471777}, {-1.061909, 0.633338}, - {0.795537, -0.653199}, {1.595592, -1.118207}, {-0.084673, -1.361223}, - {-0.624297, 0.764246}, {0.089882, 1.013592}, {-0.533656, 0.632749}, - {0.465736, 0.775404}, {-0.888801, -0.059761}, {0.523573, 0.053779}, - {-0.209593, 0.885880}, {0.748105, 0.127068}, {0.599795, -1.139121}, - {-0.077588, 0.842374}, {0.761840, -0.795831}, {0.709548, 0.183950}, - {-0.252544, 0.680008}, {0.570220, 0.515018}, {0.266137, -0.206870}, - {-0.885632, 1.679647}, {1.150557, 0.483125}, {-0.468721, -1.841706}, - {0.271059, 0.926911}, {-0.154149, -0.322614}, {-0.329320, 1.218566}, - {-0.171047, -1.007784}, {0.223529, -0.505620}, {0.772175, 0.801805}, - {-0.341824, 0.518301}, {0.968368, -1.633597}, {0.073692, -0.583842}, - {-0.953372, -0.161117}, {0.551488, 0.447077}, {0.020273, -0.505357}, - {0.365393, -0.032102}, {0.844367, -0.639689}, {1.018752, 0.751834}, - {1.126097, -0.613405}, {1.016788, -0.019078}, {0.623747, 0.592169}, - {-1.319641, 0.298078}, {-0.329394, -0.423323}, {0.364704, -0.653483}, - {0.617694, -0.252054}, {-0.591705, 1.619074}, {-0.161785, 1.838932}, - {0.564582, -0.723667}, {0.225778, 0.243980}, {-0.037796, 0.502040}, - {0.367842, -1.021410}, {-0.427836, -0.366767}, {-0.488887, 1.324747}, - {0.283351, -0.475819}, {-0.368885, -0.343402}, {0.022111, -1.503025}, - {0.608174, 0.232807}, {0.872253, -0.186510}, {-0.550839, -0.327475}, - {-0.154591, -0.267873}, {-0.747008, -0.379431}, {-0.277511, -0.951636}, - {-0.759266, 0.574239}, {1.154286, 0.179194}, {-0.112772, -0.817203}, - {0.200759, 0.799191}, {-0.502025, 0.432883}, {-1.119323, -0.074693}, - {1.254542, 0.141465}, {0.080510, 0.266965}, {1.402806, 0.382574}, - {0.817240, -0.115142}, {0.507720, 0.176294}, {0.210651, -0.143840}, - {-0.689945, 1.732906}, {0.235579, -0.641823}, {0.851720, -0.271216}, - {-0.214092, -1.383215}, {1.260678, -0.375676}, {-0.342547, 0.300925}, - {0.157321, -1.216358}, {-1.291505, 0.269752}, {-0.813264, 0.966839}, - {0.385009, -0.966745}, {0.048812, 0.037934}, {0.157922, 0.072546}, - {0.136019, -0.636157}, {-1.131118, 0.701695}, {0.057882, 0.542163}, - {-0.289670, -0.556624}, {0.296565, 0.901636}, {0.811896, 0.152258}, - {0.071886, -0.310387}, {0.248307, -1.423973}, {-0.077694, -0.208889}, - {0.351881, -0.374276}, {-1.108993, 0.435304}, {0.689461, -0.661618}, - {-0.847280, 0.417742}, {-0.693780, -0.030547}, {0.205481, 0.163966}, - {1.152296, 0.501315}, {0.421218, -0.000555}, {-0.796311, 0.281834}, - {-0.269010, 1.052164}, {0.133541, -0.454531}, {-0.412860, 1.370429}, - {0.616688, 0.124832}, {0.702940, -1.203623}, {0.675882, -0.390202}, - {0.830890, 1.250459}, {0.674844, 0.665324}, {-0.043831, 0.707066}, - {-0.886906, -0.060713}, {0.677298, -0.111700}, {-0.754756, -0.380721}, - {-0.561574, 0.787921}, {-0.138727, -0.246949}, {0.399551, 0.257836}, - {0.391218, -0.046240}, {-0.604638, -0.547392}, {1.211615, 0.045085}, - {-2.243039, -0.736534}, {0.779312, 0.843648}, {0.162298, 0.157163}, - {-0.140700, 0.766237}, {-0.144998, 0.378899}, {0.417087, 0.656509}, - {-0.663537, 0.226287}, {0.623830, 0.333788}, {2.231783, 0.374867}, - {0.734099, 0.049999}, {1.036979, -0.688127}, {-1.040401, -0.707128}, - {0.381121, -0.100134}, {1.359817, -0.400703}, {-0.552157, -1.396689}, - {0.259124, -0.224525}, {-0.273705, -0.347394}, {-0.409249, 0.216952}, - {-0.216934, -0.899068}, {-0.235146, 0.030945}, {-0.889038, 0.360220}, - {-0.157354, 0.100057}, {-0.036127, -0.499812}, {-0.348823, 0.151622}, - {0.279825, -0.589387}, {-0.933342, 0.643324}, {0.555767, -0.017369}, - {-0.011276, -0.013992}, {-0.434804, 0.253158}, {0.675855, -0.224374}, - {-0.805744, 0.659219}, {0.808692, 0.008962}, {0.397507, -1.041463}, - {-0.127428, -0.570829}, {-0.029020, -0.201817}, {-1.009712, -0.877845}, - {-1.216129, 0.783185}, {0.328932, -0.747150}, {-0.854801, -0.178626}, - {-0.785073, -1.023245}, {0.788804, 0.147804}, {-0.654940, 0.835733}, - {1.194529, 0.469089}, {-0.435047, -0.112630}, {-0.398296, 0.298359}, - {0.614442, -0.831401}, {0.898647, 1.252811}, {-0.651719, 0.063096}, - {0.829332, -0.130964}, {-0.644862, 0.485383}, {0.099189, -1.241679}, - {0.232553, -1.087991}, {0.827992, 0.327188}, {0.251847, -0.542311}, - {0.114473, 0.172203}, {-0.607207, -0.449144}, {-0.376521, 0.290727}, - {-0.132065, 0.363772}, {0.435356, -0.571154}, {-0.190653, 0.248960}, - {0.651496, -0.923586}, {0.512997, -0.004873}, {-0.236174, -0.568753}, - {0.932160, -1.334080}, {0.155451, 0.672475}, {-0.911918, -0.030052}, - {0.263176, 0.406002}, {0.304970, -0.011967}, {-0.410390, -0.330155}, - {-0.141643, 0.047151}, {-0.172968, -1.012272}, {-0.372838, 0.560728}, - {-0.855840, 0.042006}, {-0.164063, 0.636134}, {-1.109047, -0.279656}, - {-0.069774, -0.604646}, {-0.282135, -0.394121}, {0.176084, 0.052311}, - {0.487541, -0.565642}, {-0.208335, 0.518275}, {-0.149021, -0.363198}, - {-0.249631, -0.090729}, {-0.249841, -0.596483}, {0.640211, -0.976106}, - {0.326645, 0.866942}, {1.183765, 0.830576}, {-0.029594, -0.620946}, - {1.115148, -0.337932}, {1.567311, 0.261972}, {-0.721293, -0.564232}, - {-0.357507, 0.803439}, {-1.016735, -0.027591}, {-0.426745, 1.104032}, - {0.443712, 1.244449}, {1.160755, -0.838377}, {-0.819387, -0.128786}, - {0.288092, 0.008755}, {-0.515644, 0.101036}, {0.364482, -0.130023}, - {-0.229438, -0.654899}, {0.906635, -0.125711}, {-0.159322, -0.304040}, - {-1.211824, 0.158356}, {-0.012123, -0.488427}, {-0.426069, -0.835684}, - {-0.125217, -1.170805}, {-0.270562, 0.000386}, {0.623183, -0.945317}, - {0.848419, -0.522606}, {1.250635, 0.444407}, {0.492130, 1.050228}, - {1.080375, -0.338691}, {-0.764704, -1.279899}, {0.741656, 0.485046}, - {0.956357, -1.023715}, {-0.247405, -0.820810}, {-0.149085, -0.107801}, - {-0.570624, 1.043465}, {-0.115018, -0.641550}, {-0.616512, -0.289516}, - {1.176485, -0.172412}, {-0.362269, 1.717443}, {-0.817064, -0.370700}, - {-0.465179, 0.259246}, {-0.642608, 0.664244}, {0.747615, 0.390002}, - {-1.838046, -0.673345}, {-0.071150, -0.063051}, {0.124401, -0.037791}, - {0.721531, -0.349121}, {0.948579, -0.683095}, {-0.296344, -1.657454}, - {-0.244777, -0.050854}, {-0.355675, -0.088336}, {0.834088, -0.200241}, - {-1.139669, 0.315556}, {-0.080632, -0.198803}, {-0.187648, 0.739006}, - {0.609210, -1.146719}, {0.133987, 0.472373}, {1.301981, -0.658052}, - {0.148344, 0.175711}, {0.482189, -1.298825}, {-0.666823, -0.399625}, - {0.067421, -0.725454}, {-0.052146, -0.168842}, {0.332959, 0.334690}, - {-1.054764, 0.239030}, {-0.165250, -0.447066}, {-0.428016, 1.320568}, - {0.510212, 0.318306}, {0.451920, 0.645015}, {1.606643, 0.236357}, - {0.230974, 0.123761}, {-0.049062, 0.112286}, {0.479037, 0.015434}, - {-0.287389, 0.872496}, {1.067029, 0.499731}, {-0.126337, 0.779721}, - {-0.370434, 0.612051}, {0.075632, 0.614917}, {-0.528660, -0.850174}, - {0.487266, -0.590261}, {-0.234836, 0.263938}, {-0.065654, 2.081570}, - {-0.636267, -0.906258}, {-0.803871, 0.321421}, {-0.328638, 0.333370}, - {-0.516140, 0.175497}, {0.347902, -0.402807}, {0.411276, 0.362019}, - {0.440469, 0.412853}, {1.107078, -0.338276}, {0.856038, -0.131811}, - {-0.369578, 0.324333}, {0.516267, 0.144410}, {-0.706354, -0.923046}, - {1.199280, -0.679079}, {-0.206381, 0.733361}, {-1.118980, -0.339299}, - {0.249695, 1.301003}, {-0.001465, 1.070052}, {-0.888923, -0.187516}, - {0.810337, 0.313939}, {0.305196, 0.026000}, {0.494726, 1.024847}, - {1.476541, -0.802107}, {-0.526713, 0.266385}, {0.384008, -0.961735}, - {1.282973, -0.698481}, {0.988486, 0.038408}, {-0.219075, -1.024923}, - {-0.466889, 0.255891}, {0.003917, 0.530058}, {-0.767964, -0.385498}, - {-0.377691, 0.462312}, {0.026027, -1.093603}, {-0.458202, 0.027801}, - {0.806314, -0.293232}, {0.050386, 0.705391}, {0.738212, 0.099567}, - {1.685787, 0.176921}, {-0.892685, -0.318613}, {1.109295, -0.356620}, - {-0.037037, -0.399946}, {1.099257, 0.066189}, {-0.138197, 0.931202}, - {0.352476, 0.541835}, {-0.234773, 1.811281}, {0.220325, 1.006277}, - {1.183808, 0.818720}, {0.412037, -0.266925}, {-0.046189, 0.101378}, - {-0.525259, 0.184060}, {0.223098, -0.866883}, {0.759485, 1.089619}, - {-0.645569, 0.593185}, {-0.363564, -0.111653}, {-0.760729, 0.424275}, - {-0.173270, 0.825271}, {-0.893186, 0.404038}, {0.757566, 0.583220}, - {-0.256129, -0.077900}, {0.284986, 0.630869}, {0.664454, 0.481663}, - {0.119009, 0.113249}, {-0.205947, 1.010834}, {0.932543, -0.060003}, - {0.274266, -0.406043}, {-0.247609, 0.396317}, {-0.442815, 0.120444}, - {-1.305720, 0.295270}, {0.936322, 0.968362}, {-0.571598, -0.407698}, - {-0.392774, -0.484139}, {0.822763, 0.339368}, {-0.517289, 0.041135}, - {0.147543, -0.792703}, {-1.670020, 0.099579}, {-0.299869, -0.266431}, - {0.605640, -0.814238}, {1.222721, 1.050723}, {-0.467391, -0.124769}, - {-0.575869, 0.609053}, {1.713472, 0.570511}, {0.042960, -1.006402}, - {1.239476, -0.082176}, {0.378559, -0.955065}, {-0.165652, 0.451352}, - {0.429384, -0.053004}, {-0.244308, 1.056232}, {0.830270, -0.183125}, - {-0.600558, -1.360258}, {0.171056, -0.003685}, {0.839484, 0.430587}, - {-0.553197, -1.112661}, {0.472149, 1.241828}, {0.428034, 0.237235}, - {0.611704, -0.377012}, {-0.231170, -0.306880}, {0.087621, 0.844398}, - {1.390622, 0.674419}, {0.387463, -0.353450}, {-0.150300, 0.730488}, - {-1.062157, 0.504289}, {-0.531514, 0.020223}, {0.128882, -0.065820}, - {0.331307, 0.862964}, {-0.725060, 0.793610}, {0.668800, -2.340218}, - {0.306622, 0.510434}, {-0.240424, 0.483310}, {0.755874, -0.307130}, - {0.307453, -0.534037}, {-0.260084, -0.957092}, {0.030535, -0.356006}, - {0.063740, 0.338408}, {0.137347, 0.408912}, {0.071998, -0.512812}, - {-0.816655, 0.667604}, {0.206418, 0.459734}, {-0.199134, -1.021477}, - {-0.027864, -0.229509}, {0.029766, 0.406308}, {0.263539, 0.950641}, - {1.107474, 0.510104}, {0.701356, -0.092664}, {-0.332519, 0.882492}, - {-0.259295, 0.542719}, {0.803323, -0.516191}, {-0.810940, 0.828519}, - {-0.333099, 0.493898}, {0.803446, 0.041317}, {-0.752852, -0.397360}, - {-0.508714, -0.341192}, {-0.998590, 0.444147}, {0.540311, 0.590371}, - {0.352505, -0.284619}, {-0.330681, 0.699920}, {-0.428966, 0.610587}, - {-1.333091, -0.297171}, {0.345433, -0.821063}, {0.993852, 0.062134}, - {0.729285, 0.480559}, {-0.038753, -0.071297}, {-0.388438, -0.398816}, - {-0.746620, -0.076653}, {0.345309, 0.817757}, {0.769405, -0.063687}, - {0.092044, -0.442898}, {1.029397, -0.869702}, {0.832081, 0.437601}, - {-0.374608, -0.269611}, {-0.728890, -1.033769}, {-0.207543, 1.059676}, - {0.140337, 0.321861}, {-0.268235, 0.376937}, {0.554032, -1.522496}, - {0.302898, 1.115891}, {-0.566679, 1.087246}, {0.209126, -0.299056}, - {0.183449, -0.446472}, {0.769257, 1.156924}, {-0.426186, -0.534314}, - {1.357257, -0.027091}, {0.125598, -0.148277}, {0.361150, -0.612232}, - {0.733645, -0.215266}, {-0.599140, -0.087500}, {0.364386, -0.379064}, - {0.106744, 0.427322}, {0.244401, -0.090466}, {-0.086618, 0.290300}, - {-0.769588, 1.227312}, {0.410929, 0.406906}, {0.033896, -0.301329}, - {1.368098, -1.264228}, {0.265425, 0.246094}, {-1.089731, 0.655995}, - {-0.959035, -0.323536}, {-0.177452, 0.299655}, {-1.085650, 0.751856}, - {-0.934940, -0.467314}, {0.157832, -1.370121}, {-0.756801, 1.174560}, - {-0.238213, 1.484015}, {0.103337, 0.562886}, {-0.883352, -0.457006}, - {-0.619941, -0.072602}, {0.827989, -0.576543}, {-0.274512, 0.688768}, - {0.192892, 0.046977}, {0.494114, -1.198486}, {0.210812, -1.483980}, - {0.068552, -0.412908}, {0.768963, 0.512225}, {0.887015, -0.416106}, - {0.069268, -0.161404}, {1.158016, 0.428234}, {1.414889, 0.177849}, - {-0.043316, -0.734135}, {1.519925, -0.641341}, {-0.954973, -0.096053}, - {-0.627640, 0.832967}, {-0.128482, 0.227255}, {0.096457, -0.172163}, - {-1.188885, 0.383040}, {-0.636699, 0.641324}, {0.760031, -0.811875}, - {-0.020737, 0.443516}, {0.457384, -0.365880}, {-0.876749, 1.149372}, - {0.295054, 0.679878}, {0.023256, 0.103668}, {-0.327805, -0.125698}, - {0.020041, 0.216254}, {-0.306899, -0.187019}, {1.085265, 0.158704}, - {-0.145690, -0.394788}, {0.338803, 0.342693}, {-0.515034, -1.539775}, - {-0.389804, 1.336893}, {-0.094832, 0.858926}, {-0.697567, -0.301372}, - {0.304157, -0.457016}, {0.445920, 0.840317}, {0.367189, -0.400123}, - {-0.537674, 0.319642}, {0.040484, 0.213835}, {0.486631, 0.235979}, - {-0.927168, 0.494577}, {0.095336, 0.538537}, {-0.685255, -0.341503}, - {-0.414110, 0.730628}, {-0.249497, -0.384687}, {-0.381906, 0.335050}, - {-0.296216, 0.192564}, {0.259756, 0.167208}, {-0.631983, 0.213763}, - {-0.107557, 0.031968}, {0.086282, -0.608626}, {-0.520260, -0.616549}, - {-0.380245, 1.375046}, {-1.355688, -0.262657}, {-1.404467, 0.037742}, - {0.045811, 0.570009}, {-0.416171, -0.129814}, {0.370554, 0.880282}, - {0.719642, 1.595834}, {0.056979, 1.643866}, {0.509780, -0.269105}, - {-0.035170, -0.008985}, {-0.380304, 0.435292}, {-0.061932, 0.766256}, - {0.417917, 0.120335}, {-1.059375, 0.118735}, {0.561525, -0.136216}, - {1.044780, 0.316513}, {0.278741, 0.285996}, {0.445276, 1.914646}, - {1.135214, -0.056030}, {1.552693, -0.468664}, {0.107992, 0.196631}, - {0.010882, -0.782850}, {0.411889, 0.243120}, {1.041102, 0.506174}, - {-0.436580, 1.011682}, {0.234764, -1.107368}, {-0.369947, -0.283590}, - {0.712020, -0.042864}, {0.256171, -0.289042}, {-0.664674, -0.389437}, - {0.501317, -0.199763}, {-0.233973, 0.776302}, {-0.551974, -0.311394}, - {-1.213793, -0.063365}, {-0.942542, 0.886742}, {0.120656, -0.927157}, - {0.848886, -0.191111}, {-0.085995, 0.712069}, {-0.121119, 0.712586}, - {0.795790, 0.039031}, {1.130273, -1.091505}, {-1.009660, -0.084673}, - {-1.391243, 1.439570}, {-0.790172, 1.190427}, {-1.055203, 1.031347}, - {0.351972, -0.261797}, {0.309700, -0.121583}, {-1.395336, -0.368211}, - {-0.242807, 0.043287}, {-0.091725, 1.525055}, {0.222701, -0.585086}, - {-0.197990, 1.109946}, {0.683433, 0.234584}, {0.778488, 1.031004}, - {-1.728844, -0.828213}, {-0.305833, 0.235194}, {0.839395, 1.013991}, - {-0.732283, -1.178569}, {0.751353, 0.525831}, {-0.608151, -0.209578}, - {-0.760489, 0.909863}, {-0.941207, 0.596632}, {0.113422, 0.124614}, - {-0.677100, -0.845145}, {-2.116992, -1.043945}, {0.443954, 1.264070}, - {-0.844221, -0.548022}, {0.073296, 0.266820}, {0.606826, -0.308290}, - {-0.142944, 0.057349}, {0.072881, 0.302992}, {-0.294356, -1.221644}, - {0.671911, 0.295323}, {-0.409702, -0.847209}, {0.266690, -0.020814}, - {1.417976, 0.528433}, {0.294250, -1.224903}, {-0.438673, -0.509542}, - {0.044148, 0.398124}, {-0.812297, -0.912451}, {-0.879513, -0.624383}, - {0.758342, 0.704452}, {0.563399, -1.164427}, {0.809358, -0.309169}, - {-0.076009, -1.386514}, {-0.580469, 0.458582}, {0.513892, 0.214365}, - {-0.640728, -0.171872}, {-0.521270, -0.133816}, {-0.843834, 0.906054}, - {-1.123661, 0.041336}, {0.082797, 0.087755}, {0.904721, 1.160552}, - {-0.238756, 0.127971}, {-1.306804, 0.307469}, {-0.097808, 0.500074}, - {-0.007891, -0.206617}, {-1.058789, -1.223922}, {-0.086817, 1.141660}, - {-0.672100, 0.422630}, {1.107477, 0.445402}, {-1.048691, 0.148970}, - {0.860657, -0.307406}, {-0.075900, -0.772589}, {0.085372, -0.654328}, - {-0.402544, 0.348887}, {0.836413, -0.212447}, {0.969845, -0.432787}, - {1.678800, -0.719544}, {0.122685, 0.736764}, {-0.610210, -0.231955}, - {-0.602630, 0.861072}, {1.689118, -0.524512}, {-0.570388, -0.710299}, - {0.359182, -0.302528}, {-0.584968, 0.029896}, {0.376150, -0.101358}, - {0.190034, -0.895052}, {-0.083246, 0.352043}, {0.488237, -0.109218}, - {0.864959, -0.134808}, {-0.489859, 0.046721}, {-0.285949, -0.556426}, - {-0.090628, -0.144285}, {-0.407313, 0.094491}, {-0.754715, 0.269388}, - {-0.110048, 0.336987}, {-1.504402, 0.827809}, {-1.144984, 0.736338}, - {-0.615585, -0.119038}, {-1.320089, 0.799899}, {0.146051, -1.613330}, - {-0.203844, 1.002752}, {1.005593, -1.051012}, {0.590068, 0.881226}, - {1.034314, 0.478533}, {-0.807146, 0.527922}, {-1.431626, 1.052176}, - {0.254060, -0.588784}, {-0.552606, 0.801991}, {0.571316, -0.099644}, - {1.906518, 0.779457}, {0.661004, 0.688072}, {-0.848444, -0.767891}, - {-0.446525, 1.557097}, {0.342626, 0.070643}, {1.499481, -0.562495}, - {0.474748, -0.065518}, {-1.305470, 0.236428}, {-0.996922, 0.424136}, - {0.109899, 0.116446}, {-1.376289, -1.178174}, {1.094583, 0.176159}, - {-0.660629, 0.735661}, {0.324773, -0.650471}, {-0.050363, 0.168514}, - {1.411432, 0.431589}, {-0.841104, 1.189949}, {-0.090368, 0.422103}, - {-0.138836, -0.227462}, {0.251194, 0.456981}, {-0.456550, -1.052269}, - {-0.585470, -0.733649}, {0.718189, 0.069608}, {-0.215514, 0.144581}, - {-0.295208, -0.293870}, {0.064279, 1.659733}, {-0.639890, 0.107245}, - {0.671313, -0.308464}, {0.171154, 0.201673}, {0.530860, -0.395579}, - {0.405182, 0.111475}, {-1.105560, 0.477897}, {-0.469701, -0.814646}, - {-0.310904, -0.140531}, {0.906292, 0.445761}, {0.641656, -0.711619}, - {1.811121, -0.499532}, {0.544038, 0.258314}, {0.240229, 0.023662}, - {-0.161251, -0.927410}, {0.526134, 0.501783}, {-0.633589, -0.525689}, - {-0.969783, 1.421790}, {0.164651, -1.234975}, {-0.945772, 0.158957}, - {0.120218, -0.221355}, {0.234672, -0.016298}, {-0.397618, -0.661839}, - {1.072883, -0.141947}, {-1.348040, 0.586734}, {-0.872801, 0.434857}, - {-1.430760, 0.165192}, {-0.636803, 0.781150}, {-0.071279, 0.396819}, - {-0.298115, 0.418331}, {0.831866, -0.535220}, {0.958718, 0.633147}, - {1.412960, -0.748229}, {-0.178002, -0.206609}, {-0.024151, 0.915775}, - {1.393923, 0.405981}, {-0.206648, 1.302225}, {0.259960, 0.096155}, - {0.842216, 0.222933}, {-0.375179, 0.699708}, {-1.103264, -0.776247}, - {0.193353, -1.171155}, {0.205492, 0.076179}, {-0.072841, -1.186499}, - {-0.401707, 1.760304}, {-0.205922, 0.764063}, {0.028046, 0.211591}, - {0.009746, 0.166249}, {-0.523126, 0.458907}, {0.775557, -0.863099}, - {0.597490, 0.287191}, {1.398946, -0.443293}, {-0.610123, -1.801501}, - {-0.659803, 0.440813}, {-0.254009, 0.206463}, {0.023678, -1.708605}, - {1.336293, -1.666408}, {-0.624224, -0.008318}, {-0.391454, -0.672562}, - {0.005607, 0.074204}, {-0.563962, 0.743411}, {-0.451022, -0.173040}, - {-0.382636, 0.398129}, {-0.036862, -0.079446}, {-0.008467, -2.296086}, - {0.023278, 1.499503}, {-0.064032, -0.525729}, {1.457191, -0.108098}, - {0.321643, 0.192680}, {0.121531, 0.798915}, {0.925207, 0.317706}, - {1.826658, 0.097183}, {-1.022560, 0.131480}, {-0.318490, 1.086323}, - {-1.671511, -0.990183}, {-0.087723, 1.093251}, {-0.866849, 0.094690}, - {0.559302, -0.868112}, {-0.607928, -1.491484}, {-0.369056, 0.883585}, - {-0.373229, -0.023122}, {-0.971052, 0.792590}, {0.851785, -0.009613}, - {-0.460853, 0.096153}, {-0.755498, 0.166030}, {-0.598639, -0.848533}, - {0.291127, -0.247983}, {-0.829961, -1.371573}, {-0.887194, -0.038222}, - {1.016759, 0.265340}, {-1.203644, -0.226689}, {1.077377, 0.055066}, - {-0.711420, -0.799640}, {-0.952350, 1.757540}, {-0.699760, -0.395833}, - {0.196095, -0.452552}, {0.858758, 0.082961}, {-0.102536, -0.000287}, - {0.343266, -0.165811}, {-0.728940, 0.271092}, {-0.365214, 0.684535}, - {0.216959, 0.140539}, {1.180350, -0.419423}, {1.324288, -0.085228}, - {0.147214, -0.477679}, {-0.340726, -0.495787}, {-1.273332, -1.550655}, - {0.922246, -0.111028}, {0.801098, 0.605313}, {0.636192, 1.656684}, - {-0.459339, 0.881863}, {1.781037, 0.234321}, {0.109470, 0.133394}, - {-0.004980, -0.810822}, {0.908525, -0.163045}, {-0.974477, 0.323659}, - {-0.048603, -0.036304}, {0.325440, -0.342764}, {-0.337570, -1.092254}, - {0.903449, -0.284129}, {-0.513390, 0.181617}, {-0.906126, 0.669673}, - {-0.047735, -0.670418}, {0.017003, 0.589952}, {0.028141, 0.768896}, - {-0.578796, 0.026764}, {0.153556, -1.036369}, {1.736299, 0.027607}, - {0.207225, -0.621084}, {0.705813, 0.683555}, {0.613738, -0.279927}, - {0.893509, -0.452908}, {0.636020, -0.005940}, {-0.658270, -0.311733}, - {-0.134504, 0.070080}, {1.042131, 0.291936}, {-1.287365, 0.847615}, - {-0.003671, 0.744938}, {1.467651, 0.342594}, {0.428411, 0.563561}, - {-0.684351, 0.323237}, {-1.151725, -1.138706}, {-0.979643, -0.060294}, - {-0.950965, 1.226894}, {0.275188, 1.399455}, {1.059926, -0.504133}, - {1.403033, -0.687512}, {0.451808, -0.267527}, {0.287162, 0.469132}, - {0.667303, -0.852516}, {-0.817966, 0.656727}, {-0.610009, -1.209200}, - {-0.303650, -0.565971}, {0.794594, -0.236306}, {0.431590, -0.908313}, - {-0.486556, -0.148481}, {0.047972, -0.563498}, {0.402585, -0.280605}, - {-0.378654, 1.233252}, {0.353901, -0.875133}, {0.422729, 0.132703}, - {0.856809, 1.362334}, {-0.307263, -1.011948}, {-0.301736, 0.329660}, - {-1.085452, 0.606158}, {0.652982, -0.949242}, {0.162631, -0.537617}, - {-0.965026, -0.836121}, {-0.224588, -0.548422}, {-0.437774, -0.279190}, - {0.115997, 1.282330}, {-0.897054, -0.047287}, {-0.798308, 0.372153}, - {0.665938, -0.055502}, {-0.287413, -0.908496}, {0.678644, 1.314557}, - {-1.449310, 1.522950}, {0.133398, -0.047658}, {1.224299, -0.149895}, - {0.441690, -0.259865}, {0.126046, 0.235240}, {-0.966749, -0.417786}, - {-0.246070, 0.437277}, {-0.513593, 0.459173}, {1.263919, 0.212954}, - {-0.627105, 0.099150}, {-0.594187, 1.118584}, {0.080869, 0.148184}, - {0.706184, 0.093108}, {-0.250103, 0.904912}, {-0.085195, 0.370800}, - {-0.081942, 1.186957}, {-0.296313, 0.398278}, {0.107458, -0.270042}, - {-1.468816, 0.286041}, {-0.248786, -0.194616}, {-0.839973, 0.355437}, - {-0.683425, -0.178796}, {-0.338075, -0.537129}, {-0.036752, -0.461836}, - {-1.024372, -0.805341}, {0.013059, 0.294161}, {0.921884, 0.535430}, - {-1.007252, 1.557665}, {0.542827, -0.917693}, {0.309396, 0.368338}, - {1.457432, -0.177952}, {0.233876, -1.087922}, {-0.287049, -0.480668}, - {-2.620387, 0.600910}, {1.326669, -0.917157}, {0.401335, 0.923110}, - {0.162796, 1.157234}, {0.041788, -0.014345}, {0.072941, -0.425285}, - {-0.560475, 0.764890}, {0.016479, 0.416079}, {0.097405, 0.248996}, - {0.019340, -0.636057}, {-0.744067, 0.747826}, {0.245503, 0.206129}, - {-0.143130, -0.092267}, {-0.030139, -0.746082}, {-0.340620, -0.172249}, - {0.574330, 0.097636}, {0.705237, 1.038887}, {0.036829, -1.428994}, - {-0.385480, 1.221082}, {0.367570, -0.573062}, {0.850865, -0.205763}, - {-1.330905, 0.354961}, {-1.307074, -0.343509}, {-0.957751, -0.442580}, - {-0.409731, 0.243503}, {0.567889, -0.604233}, {0.388103, 0.085991}, - {0.040627, -0.011142}, {0.077060, 2.004945}, {-0.833086, -0.049453}, - {-0.843774, -0.478384}, {0.372355, -0.792844}, {-0.234287, 0.672964}, - {0.107062, -0.502565}, {-1.135028, 0.280502}, {0.638347, 0.034212}, - {-0.199093, -0.238458}, {0.782282, 1.017529}, {1.389149, 0.234737}, - {-0.823454, -0.341639}, {0.651162, 0.121302}, {0.653624, 0.783446}, - {0.352699, -0.207281}, {1.238071, -0.754767}, {-0.238806, 0.128663}, - {0.262681, 0.361327}, {0.509025, -0.603024}, {0.981913, -0.189391}, - {-0.706196, -0.289371}, {1.145942, 0.153677}, {-0.907823, -1.129337}, - {0.188763, 0.623059}, {-0.207448, 0.309242}, {-1.436932, -0.449519}, - {0.263175, 0.540244}, {-0.483092, -0.058570}, {0.397371, 0.753641}, - {0.644110, 0.798701}, {-0.237872, -0.334731}, {0.600366, -0.897091}, - {0.710538, -0.133366}, {-1.516116, 0.488503}, {-0.939188, 0.418730}, - {-0.827630, -1.305309}, {0.991499, -0.948166}, {-0.499176, -0.031343}, - {0.451127, 0.527453}, {-0.546957, -0.430328}, {0.946791, -0.178838}, - {1.094307, -0.154938}, {0.609540, -0.054620}, {0.425711, 0.862792}, - {1.052342, -0.544269}, {0.017746, 0.359976}, {0.075115, -0.401081}, - {0.374648, 1.155752}, {-0.461745, 0.439978}, {0.047619, -0.886710}, - {-0.099683, 0.583548}, {-0.334765, 0.050996}, {-0.478206, -1.264766}, - {0.516489, 0.865504}, {0.320340, -0.267298}, {-1.324292, 0.440493}, - {-0.710460, -0.206828}, {-0.884704, 0.660258}, {-0.262272, 0.394818}, - {-1.601370, 0.444466}, {-0.040487, 1.753595}, {0.449335, 0.513686}, - {-0.558298, 0.133991}, {-1.303113, -0.149324}, {-0.640885, 0.046974}, - {-0.069325, -1.365680}, {0.608970, 0.076633}, {-0.606595, 1.106964}, - {-1.357901, -0.599083}, {0.171158, -0.825277}, {-0.169345, 1.197084}, - {0.952399, -0.276599}, {-1.216459, -1.814032}, {0.336292, -0.361441}, - {-0.391223, 0.027209}, {-0.888571, 1.002162}, {0.433612, 0.093511}, - {-0.367321, 1.307070}, {0.857512, -0.309022}, {0.552752, -0.380307}, - {-0.133756, -0.251153}, {-0.076031, 0.670133}, {0.150394, 0.146506}, - {-0.499016, 0.809971}, {-0.790913, 0.740662}, {-1.123231, -1.005292}, - {0.580124, 0.208377}, {-0.466913, 0.115610}, {1.579526, 0.786724}, - {0.463652, 0.545059}, {0.363065, -0.468610}, {0.052198, 0.530309}, - {-0.533674, 1.126832}, {0.055098, 1.460855}, {0.446183, -0.620585}, - {0.061081, -0.558367}, {0.602677, 1.026030}, {-0.214633, 0.288994}, - {-0.885402, -0.515751}, {0.666543, 0.166763}, {-0.582033, -0.122415}, - {0.363257, -0.093152}, {0.197198, 0.114842}, {0.406922, 1.065118}, - {-0.242795, 0.181694}, {1.181767, 0.889092}, {0.397062, -0.428570}, - {-1.448884, -0.474985}, {-0.309184, -0.467696}, {0.137783, 2.027669}, - {0.474842, -0.884960}, {-1.661712, 0.148843}, {-0.069285, -0.320696}, - {-0.170034, 1.251510}, {-0.222496, -0.937833}, {-0.311250, -0.485117}, - {-0.383917, -0.251372}, {-0.320437, -0.642387}, {0.206323, -0.019793}, - {-0.278823, -0.242762}, {0.680746, -0.243103}, {-0.567863, -0.748655}, - {-0.323796, -0.790379}, {0.524243, -1.175681}, {-0.397445, -0.523772}, - {-0.474692, -0.477136}, {0.189023, 0.966859}, {0.386555, 0.481977}, - {-0.140878, -0.911496}, {0.406182, -0.015365}, {0.102477, -0.746348}, - {0.090930, -0.614517}, {-0.086082, -0.376112}, {0.370291, 1.207642}, - {1.139898, 0.217497}, {-0.610672, 0.245983}, {-0.174618, 0.833632}, - {-0.831968, 0.195580}, {-0.757329, -0.178189}, {-0.452875, 0.648865}, - {-0.050510, -0.011244}, {0.607291, 0.053154}, {-0.511124, 0.651127}, - {1.482337, -0.900918}, {-0.703173, 0.311134}, {-0.814727, 0.000269}, - {-0.500544, -0.108025}, {-0.986775, -1.061037}, {0.121914, -0.452219}, - {-0.442473, 1.026816}, {0.763792, 1.515099}, {0.623316, 0.417977}, - {-0.212855, 0.306216}, {-0.561318, -0.795493}, {0.576698, 0.693102}, - {0.061154, 1.127743}, {-0.887248, -0.434093}, {0.400682, -0.310835}, - {0.432078, 0.437754}, {-1.820646, -0.665382}, {-0.545136, -0.481289}, - {0.400912, 0.700684}, {0.137771, 0.590814}, {0.811931, 1.048663}, - {-0.815412, -0.744414}, {-0.182987, 0.208578}, {-0.481622, -0.883622}, - {-1.174057, 0.017304}, {0.762922, 0.651641}, {-0.225956, 0.405115}, - {0.170487, 0.754648}, {-0.324751, -0.699111}, {0.508982, 0.579276}, - {-0.217381, 0.280138}, {-0.164204, 0.071186}, {1.046480, -0.151789}, - {-0.407525, 0.236215}, {0.043528, 0.503335}, {-0.422499, 0.544007}, - {0.737522, -1.360706}, {1.348720, 0.519788}, {-0.879691, 0.405074}, - {-0.357675, 0.687248}, {-0.860730, -0.689677}, {-1.748928, -1.078704}, - {-0.195426, -1.049862}, {-0.035495, -0.350232}, {1.033713, -0.030587}, - {0.800092, -0.110899}, {-0.305951, 0.274492}, {-0.832381, -0.825501}, - {1.297737, 0.530891}, {-0.024356, 0.967573}, {-0.449962, 1.296328}, - {0.341683, -0.869522}, {-1.470761, 0.197663}, {-0.936318, -1.271953}, - {0.048144, -0.615236}, {0.378908, 0.844420}, {0.461083, -0.366872}, - {0.047960, 0.407828}, {-0.840079, -1.095449}, {-0.027915, 1.084483}, - {0.674601, 0.522046}, {1.931610, 0.765981}, {-0.125784, -0.336877}, - {0.019115, -1.481554}, {0.820840, -0.447176}, {0.707047, 0.929830}, - {0.958282, -0.396113}, {-0.580240, 0.094636}, {-0.174754, -1.196160}, - {-0.860568, -0.091731}, {0.523920, -0.030573}, {0.274479, -0.049813}, - {0.153459, 0.249274}, {0.533358, 0.444977}, {-1.241255, 0.245974}, - {-1.012174, -0.027701}, {-0.395522, -0.193917}, {-0.972526, 0.180350}, - {0.430804, -0.833766}, {-1.011518, 0.292716}, {0.207684, -0.205800}, - {0.044858, 0.152791}, {0.448157, -0.030646}, {-0.499634, -0.262260}, - {-0.143806, -1.010803}, {0.886031, -0.336787}, {-0.362530, -1.768263}, - {-0.242831, -0.154468}, {0.734717, 0.111474}, {0.072613, 0.508828}, - {-1.899793, 0.301018}, {0.090072, 0.247977}, {1.285664, 0.732956}, - {-0.135188, 0.142834}, {1.273538, -0.920904}, {0.221604, 0.753942}, - {0.117900, 1.060812}, {-0.232774, -0.083558}, {-0.425926, 0.686408}, - {-0.340529, -0.169042}, {-1.070367, -0.239810}, {0.173529, -0.065984}, - {-0.933640, 0.004310}, {-0.566267, 1.379593}, {0.734686, -0.766672}, - {-0.413294, 0.709294}, {0.595004, -1.135705}, {0.718267, -0.281773}, - {0.106468, -0.863281}, {-1.145502, 0.206171}, {0.887536, -0.242405}, - {-0.075956, 0.156573}, {-0.567216, -0.288216}, {0.664645, -0.362856}, - {0.547459, -1.799647}, {-0.241719, 0.821927}, {-0.034155, 0.250263}, - {-0.046388, -0.235086}, {0.419359, 0.310763}, {-0.215888, -1.367215}, - {0.034387, 1.044299}, {-0.358005, 0.645426}, {0.326152, 0.748784}, - {0.202163, -1.123275}, {0.690767, -0.848466}, {-0.125006, -0.255902}, - {0.162892, -0.345699}, {-0.955042, 0.294080}, {0.083320, 1.880625}, - {-1.198282, 0.804137}, {0.587054, -0.958859}, {-1.601116, -0.725511}, - {1.139292, -0.045379}, {0.203917, 0.685789}, {-0.493037, 0.458789}, - {-0.031010, -0.106568}, {-0.429805, 1.119367}, {-0.528015, 0.735593}, - {-0.134197, -1.255463}, {-0.448291, -0.262008}, {-0.050223, 0.690944}, - {-0.326287, 0.961302}, {0.124462, -0.571389}, {-1.086006, 0.724509}, - {0.209547, 1.056945}, {-1.293691, 0.471514}, {-0.003896, 0.567797}, - {0.183588, -0.440099}, {0.728438, -0.316034}, {0.626752, -0.654537}, - {-0.323843, -0.581490}, {-0.584120, 1.235448}, {-0.724753, -0.357822}, - {0.651802, -0.255045}, {1.066699, 0.145706}, {-0.327084, -0.703887}, - {0.726433, 0.902326}, {0.615929, -0.468777}, {0.215638, 0.025393}, - {0.133688, 0.312972}, {1.480107, 0.472599}, {-0.422097, -0.160696}, - {-0.044013, -0.556906}, {0.614888, -0.377907}, {-0.064303, -0.363883}, - {0.417722, 0.242693}, {-0.610622, -0.349784}, {0.274353, 1.229638}, - {1.376876, -0.661918}, {0.065799, 0.192942}, {-0.985618, 1.632529}, - {0.007131, -0.681075}, {0.034166, -0.337426}, {-0.725304, -0.279474}, - {-0.730621, -0.266983}, {-0.843057, 0.478930}, {0.474710, -0.454256}, - {-0.507851, -1.321088}, {-0.017476, -0.794130}, {-1.038323, 0.066833}, - {0.385382, 1.225797}, {0.021934, -0.410591}, {-1.010484, -0.669754}, - {0.429793, 1.532827}, {0.636827, -0.288977}, {-0.534265, -0.646029}, - {-0.844287, -0.564450}, {-0.396490, 0.315667}, {-1.273186, 0.218433}, - {0.417662, -0.018864}, {0.462506, -1.253567}, {-0.182622, -0.273477}, - {-1.579637, 0.949574}, {0.433213, -0.037784}, {-0.846671, 0.082560}, - {0.662308, 0.650516}, {0.045595, -0.496667}, {0.119091, 0.014749}, - {0.608458, 0.837623}, {-0.687084, -0.195381}, {-0.018589, 0.789815}, - {-0.298420, 0.261702}, {-0.040271, -0.194730}, {0.620631, 0.613639}, - {-0.937617, -1.049478}, {-1.053561, -0.076996}, {-0.146382, 1.050599}, - {-0.020837, 0.355688}, {0.201458, 0.287587}, {2.218790, 0.476933}, - {-0.104763, 0.355760}, {-0.479467, 1.109721}, {-0.893756, -0.550251}, - {0.956522, -0.432295}, {-0.194464, 0.764093}, {-0.704136, 0.235401}, - {-0.654628, -0.706623}, {-0.493649, -1.139754}, {1.131061, -0.875211}, - {0.422646, 0.452794}, {1.210811, 0.230644}, {0.529746, 1.430776}, - {0.460853, -0.100968}, {0.145607, 0.417836}, {-0.183425, 0.671501}, - {0.712047, 0.585763}, {0.667523, 0.427398}, {0.083714, 0.241186}, - {0.603047, -0.437378}, {0.671836, -0.108031}, {0.147556, 1.611462}, - {-0.474514, 0.338308}, {0.669331, -0.582147}, {-0.518075, -1.063090}, - {-0.404972, 1.037375}, {0.392642, 0.132706}, {0.091281, -0.677244}, - {-0.101493, 0.595298}, {-0.273278, -0.149243}, {-0.056904, 0.119955}, - {-1.155884, -1.080464}, {-0.068053, -0.148710}, {0.578176, 0.409176}, - {0.840193, 0.143279}, {-0.240609, -0.502595}, {-1.242000, -0.441204}, - {1.109439, 0.606569}, {0.055563, -0.064248}, {-0.149710, 0.672466}, - {0.726856, -0.310854}, {-0.653160, -0.652705}, {0.278598, 0.458304}, - {1.079266, 0.059011}, {-1.419938, 0.322182}, {0.945599, 0.108086}, - {-0.751556, 0.294139}, {0.427620, 0.212390}, {-0.069527, 0.242822}, - {0.278856, -0.156601}, {-0.065200, 0.118212}, {-0.195535, -0.019769}, - {-0.420603, -0.282551}, {-0.907453, 0.158124}, {0.113203, -0.260452}, - {0.108842, -0.457941}, {0.325193, 0.172876}, {0.291742, -1.615476}, - {1.111341, 0.223062}, {0.355686, 0.290422}, {0.634955, -0.443257}, - {-0.288282, -0.326955}, {0.392507, -0.445702}, {-0.079780, -0.200318}, - {0.358629, 0.085606}, {-1.037372, 0.489174}, {-0.650397, -0.686827}, - {1.025516, -1.009867}, {0.704492, -0.014842}, {-1.937672, 0.038744}, - {1.043168, -0.182518}, {0.767195, 1.172210}, {-0.973759, 0.495782}, - {0.727765, -0.454134}, {-0.463311, 0.027464}, {0.461195, 0.676168}, - {0.563002, -0.443334}, {0.837410, 1.297797}, {0.530937, 0.527558}, - {-0.207558, 1.073655}, {0.017685, -0.129331}, {-0.434984, -0.756967}, - {1.186167, 0.330663}, {-0.494215, -0.229928}, {-1.967930, 0.423566}, - {0.085717, 0.490676}, {0.579028, 0.081474}, {-1.165809, 1.066751}, - {0.155616, -0.207882}, {0.824000, 0.024005}, {-0.650314, -0.289259}, - {0.289677, 0.562463}, {0.084380, -0.741257}, {-0.185975, -1.002760}, - {-0.258544, -1.231110}, {-0.680721, -0.132215}, {-0.126178, -0.346100}, - {0.059501, -0.556818}, {0.257426, 0.740194}, {0.209590, 0.920746}, - {0.278486, 0.751635}, {-0.266518, -0.406470}, {0.747083, 0.368274}, - {0.361351, 1.035953}, {0.730710, 0.834248}, {-0.629610, -0.456521}, - {-1.063318, 0.238140}, {-0.239986, 0.455673}, {0.045907, 1.094522}, - {-0.098907, -1.444712}, {0.346836, -0.959861}, {-0.120778, -0.989386}, - {0.411690, 0.088654}, {-0.269997, 0.408287}, {0.840135, -0.066117}, - {-0.488370, 1.718434}, {0.875784, 1.132982}, {-0.423667, -0.074866}, - {0.406809, -1.179861}, {0.214059, -0.303153}, {-0.302193, 1.101238}, - {0.868983, -0.955911}, {-0.507030, -0.093825}, {0.906214, 0.198565}, - {-1.340024, 0.138617}, {-0.383054, -0.069114}, {-0.486159, -0.087876}, - {-0.469249, 0.620882}, {-0.278926, 0.596592}, {-1.669627, 0.194691}, - {0.742352, -0.614247}, {0.718457, -1.097553}, {-1.226771, 0.059541}, - {-0.753392, -1.289320}, {-0.209317, -0.130344}, {0.481910, 0.355924}, - {-0.316461, 0.620936}, {-1.244952, -0.290661}, {0.215579, -0.017983}, - {-0.469612, -0.348379}, {-1.275008, 0.509724}, {-0.522839, 0.762522}, - {1.326882, 0.479414}, {0.226020, -0.210263}, {-1.179333, -0.508178}, - {-0.818269, -0.304733}, {-0.173224, -0.439298}, {-0.536131, 0.998854}, - {0.607704, 0.360449}, {0.006800, 1.240915}, {-0.835128, -0.346159}, - {0.147648, 0.135792}, {-0.724952, -0.728993}, {0.387685, -0.535468}, - {0.119265, 0.577041}, {0.496673, -0.247011}, {-0.506871, 0.140888}, - {-0.556531, -0.131979}, {-0.286395, 0.267888}, {-1.535815, 0.901937}, - {-0.025959, -0.061265}, {0.571857, 0.076721}, {0.378659, -1.266500}, - {0.474031, -1.498596}, {-0.010007, 0.157154}, {1.036847, 0.749449}, - {1.036444, 0.841654}, {0.548594, -0.632059}, {0.368966, -1.003432}, - {0.570837, -0.124028}, {0.341200, 0.495283}, {1.122887, 0.046649}, - {0.748775, -0.646888}, {0.114935, 0.407391}, {0.016391, -1.068782}, - {0.276187, 0.082486}, {0.328695, -0.203988}, {-0.955191, -0.006992}, - {-0.954723, 0.976115}, {0.130024, 0.006814}, {1.178728, -1.134652}, - {-0.280919, 1.145315}, {-0.074035, -0.138700}, {-0.885872, -0.173488}, - {-0.052446, 0.391385}, {0.061407, -0.036012}, {-0.178374, 0.207062}, - {1.539364, -0.706954}, {0.683015, -0.203145}, {0.214058, -0.228743}, - {0.816114, -0.336901}, {1.083669, 0.601556}, {0.243885, 0.366600}, - {-0.376040, 0.342849}, {0.049959, -0.020917}, {-0.249481, 1.559691}, - {0.260203, 0.448585}, {0.400041, 0.204926}, {0.103935, -0.828622}, - {-1.743587, -0.564881}, {1.227175, -0.006252}, {0.517290, 0.681785}, - {0.041937, -1.277299}, {0.884991, 1.022953}, {-0.395354, 0.177096}, - {0.659057, -0.417478}, {-1.433312, -1.086898}, {-0.307188, 0.459477}, - {1.083389, -0.395616}, {0.931207, -0.529729}, {-0.691098, -0.682569}, - {-0.107824, -0.121179}, {0.162237, 0.278125}, {-0.187331, -0.078223}, - {0.539435, -0.468066}, {-0.037026, -0.169309}, {-0.032828, 0.774350}, - {1.004977, 0.207932}, {-1.375620, -0.465708}, {-0.853797, -0.492372}, - {0.857050, -0.067048}, {-1.358066, -0.056983}, {0.205638, 0.517628}, - {0.134978, -1.457460}, {-0.628057, -0.198079}, {1.020819, 0.168767}, - {-0.660697, 0.430602}, {-1.207856, 0.350159}, {0.211552, 0.334102}, - {1.569613, 0.644036}, {0.625801, -0.806877}, {0.753956, -0.280829}, - {0.800271, 0.796731}, {-0.157847, 0.366712}, {-0.520191, -0.177564}, - {-1.880639, 0.111041}, {0.565178, -0.025211}, {0.867760, 0.267054}, - {-1.699681, 0.127302}, {0.925459, 0.105993}, {-0.381951, -0.290209}, - {-0.008579, -0.672418}, {-0.226066, 0.111930}, {-0.511046, -0.180645}, - {-0.150570, -0.920002}, {0.456257, 1.157604}, {0.285512, -0.521834}, - {0.197973, 0.250159}, {-0.574980, -1.048345}, {0.065042, 0.539600}, - {-0.080347, 0.440878}, {0.334152, 1.807252}, {0.870739, -0.406652}, - {0.176466, 0.116783}, {-0.373632, -0.833253}, {-0.411070, -0.622612}, - {0.490742, 0.472114}, {-0.144185, 0.440259}, {-0.911075, 1.395547}, - {-0.963359, 0.070059}, {0.472861, 0.954686}, {0.144494, 0.457410}, - {0.724328, 0.010123}, {1.405964, 0.660263}, {0.629468, -1.148403}, - {-0.365955, 0.044107}, {1.302156, -0.349987}, {0.559796, 0.286848}, - {-1.408563, 1.083378}, {0.176937, 0.040345}, {-0.339737, -1.036991}, - {-0.000428, 0.120110}, {0.174082, -0.440745}, {-0.812662, 0.308663}, - {-0.344535, 0.731337}, {-0.687735, -0.481504}, {-0.167853, 0.616992}, - {-0.032443, -0.661320}, {-0.744886, -0.239760}, {0.372373, 0.085475}, - {-1.440036, 0.895442}, {-0.277006, -0.398549}, {-0.370569, -0.322067}, - {0.103481, -0.007568}, {-0.106426, 0.323058}, {-0.483987, -0.268954}, - {0.292168, 0.040605}, {0.074066, 0.134120}, {0.153317, -1.287651}, - {-1.203918, -0.967637}, {-0.317271, 0.386501}, {0.954049, -0.099558}, - {0.462192, -0.061542}, {-0.062967, 0.369906}, {-0.884488, 0.712304}, - {0.186711, -0.348097}, {-0.352553, -1.659383}, {-0.486478, -1.015527}, - {0.251005, 0.060654}, {-0.383225, 0.840563}, {-0.808342, -0.888829}, - {-0.227572, 0.129202}, {-0.314270, -0.775019}, {-1.545768, -0.570873}, - {0.545677, 0.182432}, {0.081540, -0.429030}, {-0.106779, -0.216418}, - {0.450044, 0.045841}, {0.905832, -0.902027}, {0.457874, -0.063177}, - {0.116610, -0.016288}, {-1.167063, 0.372052}, {0.982923, -0.259440}, - {-0.922239, 0.212051}, {-0.529454, -0.435260}, {-0.213398, 0.659482}, - {0.235217, -0.582746}, {0.622280, 0.032259}, {0.593666, 0.351868}, - {-0.873997, -0.448480}, {-0.945217, 1.031911}, {-0.039626, 0.351279}, - {1.166869, -0.022261}, {0.104525, 0.891744}, {-0.833076, 0.326978}, - {1.038616, 0.221851}, {0.210548, 0.797819}, {-0.610088, -0.922245}, - {-0.343548, -0.954441}, {0.159815, -0.755620}, {-1.254248, 0.310110}, - {0.112621, 0.338769}, {0.509586, -0.114230}, {0.458902, -0.012483}, - {-0.077531, 0.845512}, {-0.024838, -0.325136}, {0.099325, -0.797450}, - {-0.149184, 0.461116}, {-0.229381, -0.113607}, {-0.790994, 0.906154}, - {1.110214, 0.040753}, {-0.312241, 0.102262}, {-0.492226, -0.169707}, - {0.154426, 0.445431}, {0.915648, 0.371803}, {-0.997727, -0.598569}, - {-0.694967, -0.288512}, {0.440323, -0.276589}, {-0.606794, -1.515034}, - {-0.336494, 0.022852}, {0.119489, -0.371741}, {-0.695836, 0.229833}, - {-0.161236, -1.197827}, {0.902952, 0.341914}, {-0.478975, -0.883342}, - {0.010275, 0.473193}, {-0.257723, 0.343809}, {-1.647461, -0.658151}, - {1.203630, 0.311324}, {-0.520208, -0.077408}, {-0.042387, -0.201717}, - {0.732624, -0.442372}, {-0.025341, 0.263186}, {-0.585464, 0.089537}, - {-1.270729, 0.861931}, {0.365129, 0.609487}, {1.133617, -1.306806}, - {-0.010529, -0.948779}, {-1.495597, 1.148781}, {-0.029070, -0.136818}, - {0.206800, 0.008509}, {-0.794964, 0.295312}, {0.338531, -0.540493}, - {-0.405923, -0.474873}, {0.979782, 0.070233}, {-1.358570, -3.041284}, - {-2.044437, -0.337722}, {0.467839, -0.830266}, {0.885020, 0.766034}, - {0.628159, 0.150322}, {0.155384, 1.033378}, {0.499468, -0.472419}, - {-0.017379, 0.135709}, {1.044006, 0.107473}, {0.069893, 1.038512}, - {0.052506, -0.202886}, {0.725175, -0.396198}, {-1.435707, 0.436358}, - {-0.537693, 0.135514}, {0.874197, 1.596120}, {0.692789, -0.072948}, - {1.514427, 0.422330}, {0.356388, 0.004602}, {-0.424132, 1.742008}, - {1.161560, 0.621060}, {-1.253631, 0.873246}, {0.830477, -0.113869}, - {-0.089117, 1.005543}, {-0.119315, 0.415317}, {0.530735, -0.551322}, - {0.468530, -0.096115}, {0.465401, 0.845196}, {-1.226917, 1.079224}, - {-0.340842, -0.903031}, {1.019357, -0.845306}, {-0.542261, -0.981142}, - {0.745563, -0.146286}, {0.146678, 1.522813}, {0.489313, 0.877646}, - {0.622197, 0.410875}, {-0.332401, 1.742686}, {-0.530628, 0.179136}, - {0.214410, 0.379434}, {-1.320653, 0.366324}, {-0.135837, -0.625588}, - {0.018205, 0.579573}, {0.113747, 0.193869}, {0.826568, -0.342809}, - {0.517217, 0.388353}, {0.511517, -1.261484}, {0.069570, 1.590514}, - {0.524966, 1.277127}, {-0.604102, 0.356745}, {-0.289114, 1.192349}, - {-1.224444, 0.781320}, {0.797974, 0.660886}, {0.358733, 0.016464}, - {-0.201142, 0.232487}, {1.024496, -0.588845}, {-0.513361, 1.122263}, - {-0.918694, 0.121980}, {-0.195506, -0.020095}, {0.331440, -0.501190}, - {0.266567, 1.455573}, {0.740847, 0.632486}, {-0.395862, 0.862711}, - {-0.542915, -0.406950}, {-0.187643, 0.516822}, {-0.777298, -0.688838}, - {1.561877, 0.175345}, {0.042752, 0.261983}, {-0.477959, 0.013431}, - {-0.378112, -0.612150}, {0.517772, -0.504068}, {0.534609, -0.171057}, - {0.581429, -0.511870}, {1.573305, 0.690322}, {0.371148, 0.371632}, - {0.775532, -1.827403}, {0.699914, -0.106911}, {-0.563281, -0.400668}, - {0.120288, 0.692679}, {-0.216988, 0.919587}, {-0.032172, -0.042166}, - {0.257666, -0.073362}, {-0.829215, 0.807044}, {0.043528, -0.370050}, - {0.726681, -0.109935}, {0.199629, -0.260646}, {-0.064800, 0.952449}, - {-0.366864, 0.342468}, {-0.213579, 0.473732}, {0.475745, -0.522349}, - {-0.578518, 0.470114}, {0.131571, 0.070506}, {0.199747, 1.295036}, - {0.163703, 0.315885}, {0.730185, -0.561563}, {0.155160, -0.466836}, - {0.209743, -0.938351}, {-0.332044, 0.339460}, {-0.334248, -0.438717}, - {-0.177906, -0.445812}, {-0.403888, 0.515655}, {-0.529417, 1.448326}, - {0.751148, -0.069385}, {-0.543366, 1.195889}, {-0.565148, 0.963886}, - {1.462286, -0.220984}, {1.482440, -0.287540}, {-0.577094, -0.718976}, - {-1.677120, -0.951714}, {1.349836, 0.330001}, {0.047546, -0.005764}, - {-0.087343, -0.860869}, {0.969527, -0.058331}, {0.640526, -0.460373}, - {-0.620476, 0.177907}, {0.646331, 0.313684}, {-0.865669, -0.430395}, - {-1.109093, 0.284577}, {0.623313, 1.066345}, {-0.942186, 0.297467}, - {0.386541, -0.886178}, {-1.337573, 0.110937}, {0.411021, -0.972933}, - {-0.731420, -1.565217}, {0.115932, 0.032862}, {0.647009, -0.702312}, - {0.368068, 0.376174}, {1.769808, -0.289011}, {-0.186158, 0.373612}, - {-1.327035, -0.080788}, {-1.039836, -0.777259}, {-0.020857, 0.135255}, - {-0.342180, -0.853006}, {0.599834, 0.159697}, {-1.190980, -0.408167}, - {-0.953700, -0.055447}, {0.242964, 0.103171}, {-0.330887, 0.495570}, - {-0.736320, -0.023509}, {0.572782, 0.531094}, {1.955315, 0.650087}, - {0.489044, -0.003831}, {-0.573902, -1.761131}, {-0.258057, -0.141214}, - {0.092342, 0.110264}, {0.813360, 1.816915}, {1.221027, -0.215925}, - {-0.103234, 0.313383}, {0.078699, -0.198435}, {-0.581828, -0.816310}, - {0.283286, -0.081822}, {0.302095, -0.251803}, {-0.406478, -0.593376}, - {-1.326431, 0.230793}, {-0.180609, 0.370457}, {0.552601, 0.177024}, - {-1.333465, 0.065461}, {0.599845, -0.602277}, {1.077753, -1.104753}, - {0.809628, 0.038772}, {0.024962, -0.314990}, {-0.988391, 1.568123}, - {0.338240, 0.004098}, {-0.412518, 0.731701}, {-0.313828, 0.854789}, - {1.524806, -1.562020}, {-1.169150, 0.061988}, {-0.463460, -1.121006}, - {-0.688317, 0.548066}, {1.066755, -1.657319}, {-0.098140, -0.618434}, - {0.432144, -0.550599}, {-0.078023, 1.897759}, {0.527062, -1.127072}, - {0.386297, 0.274681}, {1.092527, -0.621702}, {0.544097, -0.200129}, - {0.619517, 0.186827}, {-0.894467, 0.710752}, {-0.516944, -0.474122}, - {-0.178624, -0.241885}, {-1.103791, 0.206812}, {-0.750328, -0.465599}, - {-1.049783, -0.059999}, {-0.238415, -0.584913}, {0.841484, 0.498381}, - {0.772949, -0.257598}, {0.631129, -0.010723}, {0.638257, -0.000321}, - {0.484532, -1.725015}, {0.429875, 0.794608}, {0.098118, -0.679536}, - {0.252370, -1.123608}, {0.256356, 0.128045}, {-1.654829, -0.677293}, - {0.341717, 0.901616}, {-1.530022, -0.071391}, {1.584247, 0.385784}, - {-0.134925, -0.596211}, {-0.306823, -0.640632}, {0.680138, 1.001415}, - {0.855363, 0.466031}, {1.047399, -0.967652}, {0.874714, 0.771008}, - {0.023131, 0.930381}, {-1.094853, -0.870464}, {0.718843, -0.226276}, - {-0.135767, 0.433719}, {0.058625, -1.398816}, {-1.478618, -0.590113}, - {-1.706239, -0.238334}, {-0.278994, 1.505897}, {-0.649649, 0.049328}, - {0.357204, -0.249715}, {-0.178715, 0.811732}, {1.233743, 0.677688}, - {0.404137, 1.022936}, {0.656525, 0.330724}, {0.607732, -1.362354}, - {-0.127905, -0.419755}, {-0.152615, -0.700967}, {-0.352367, -0.973191}, - {-0.720073, -1.323530}, {-0.127801, -0.477660}, {-0.092400, 0.491723}, - {0.341948, -0.814883}, {-0.040942, -0.194408}, {-0.510947, 0.165069}, - {-0.386948, 0.041816}, {-0.391543, 0.095043}, {0.814066, -0.413210}, - {0.652218, -0.465334}, {-0.144483, 0.331067}, {0.230318, -0.335014}, - {-0.085459, -0.090830}, {-0.458532, 0.005534}, {0.602005, 0.549709}, - {-0.656597, -0.039494}, {-0.529460, -0.586545}, {0.459330, 0.016754}, - {-0.902031, -0.240948}, {-0.046894, 0.151840}, {0.377669, 1.389795}, - {0.397125, 0.524265}, {-0.388316, 0.810665}, {1.536130, -0.018437}, - {-0.324880, 0.392937}, {-0.402622, 1.137794}, {0.298408, -0.266189}, - {0.681114, -0.071383}, {-0.272913, -0.092683}, {1.575728, 0.022775}, - {0.194788, -0.335136}, {0.519039, 0.062735}, {-0.764728, 0.146452}, - {0.236471, -1.427158}, {0.995246, 0.767302}, {-0.349678, 0.736569}, - {0.118835, 0.421198}, {-1.078159, 0.402561}, {-0.764007, -0.533382}, - {-0.455951, 1.354001}, {0.541724, 0.107812}, {0.517193, 0.011113}, - {0.192692, 0.927513}, {-0.639680, -0.461272}, {-0.497412, 0.005693}, - {0.035037, 0.968771}, {0.427440, -0.147090}, {-1.412140, -0.121905}, - {0.344535, 0.038231}, {0.256825, 0.088627}, {-0.859248, -0.787997}, - {-0.127159, -1.105511}, {1.125815, -0.063713}, {-1.355366, -0.913897}, - {0.567869, 0.633445}, {0.784268, -0.756031}, {-0.417336, 0.300105}, - {-1.430904, 0.105505}, {-0.042593, -0.153161}, {0.213039, 0.587233}, - {0.028565, 0.513513}, {-0.041316, -1.552297}, {0.458964, 1.495922}, - {0.559308, -1.214681}, {1.049392, 0.519859}, {0.290751, 0.410285}, - {-0.235969, 0.075235}, {0.827775, 0.234283}, {-0.353105, 0.368130}, - {1.152140, 0.124431}, {-0.676463, -0.451120}, {0.431903, 0.156522}, - {-1.146142, 0.821383}, {-0.231929, 0.460321}, {0.331103, 0.291431}, - {-0.486103, -1.028895}, {0.247142, -0.577083}, {0.643317, 0.642730}, - {-0.038357, -0.731389}, {-0.529627, -0.518347}, {-0.458770, -0.602541}, - {0.717108, -1.502174}, {1.639891, -0.046797}, {0.367167, -0.575410}, - {0.200877, -0.125050}, {1.282175, -0.037682}, {-0.094635, -0.888363}, - {0.413420, 1.283817}, {0.132756, 0.300671}, {-0.367404, 1.005577}, - {0.511375, -0.097647}, {-0.375077, 0.423522}, {0.382736, 0.001469}, - {0.044349, -1.190297}, {-1.190740, 0.471491}, {0.835772, 0.424912}, - {1.030520, 0.464877}, {-0.529949, 0.824068}, {-0.099363, 0.508190}, - {-1.371466, 0.242051}, {0.916338, -1.128584}, {0.785841, -1.448629}, - {0.407546, 0.603846}, {0.575293, -0.166221}, {0.886545, 0.439648}, - {-0.226133, 0.961934}, {-0.165523, 0.076377}, {-0.678735, -0.898540}, - {-0.053888, 1.308609}, {0.584848, 0.060583}, {0.083871, -0.233156}, - {0.004868, 0.283304}, {0.552259, 0.868118}, {0.500338, -0.610468}, - {-0.043386, -0.346571}, {-0.498805, 0.288491}, {0.438704, -0.106490}, - {0.415201, -0.503631}, {0.032692, 0.644929}, {0.101192, 0.299544}, - {0.381060, -1.411974}, {-0.859828, -0.958490}, {-0.680687, 0.892740}, - {0.112933, 0.002252}, {-0.278048, -0.241376}, {-2.217421, -0.418946}, - {0.671425, 0.447137}, {1.852803, -0.254499}, {-0.777766, 0.350337}, - {0.058883, -0.792590}, {1.819335, 0.931958}, {-0.140655, 0.687205}, - {-0.454620, 0.532005}, {0.520396, -0.641183}, {-0.614732, -0.794939}, - {-0.555090, 0.194826}, {-0.867211, -0.430899}, {0.114316, 0.279198}, - {0.906085, 0.126300}, {-1.652861, -0.398311}, {0.720231, 0.310120}, - {0.616857, -0.224845}, {-0.355100, 0.825606}, {-0.443765, -0.588850}, - {0.548479, 0.069557}, {0.311662, 0.550548}, {1.211246, -0.191114}, - {-0.220659, 1.110956}, {-0.359286, -0.164330}, {0.789602, -0.070392}, - {0.566583, -0.827020}, {0.595349, -0.690691}, {0.189841, 0.431550}, - {-0.289571, -0.607088}, {0.621366, -0.321307}, {0.186891, -0.852539}, - {0.232188, -1.220607}, {-0.612862, 0.059821}, {-0.105208, 0.298759}, - {-0.329366, -1.318732}, {0.320709, 0.096560}, {0.140400, -1.134450}, - {-1.507197, -1.015648}, {0.397460, 0.411895}, {-0.815200, -0.096281}, - {0.168722, 0.671290}, {-0.859969, 0.821381}, {0.171885, -0.220966}, - {-0.093656, -1.361741}, {-0.527003, 0.899775}, {0.390672, -1.707368}, - {0.729568, -0.255314}, {0.688398, 0.539302}, {-0.397821, 0.236694}, - {-0.255357, 0.443405}, {1.355847, 0.620758}, {1.705390, 0.158142}, - {1.290421, -0.602823}, {-0.732108, -0.318124}, {0.541361, 0.046519}, - {-0.502741, -1.050050}, {0.252136, -0.639033}, {0.878938, 0.856368}, - {-0.690850, 1.354681}, {0.104990, 0.071316}, {0.447853, -0.020789}, - {-0.009859, -0.006837}, {-0.719030, 0.285837}, {-0.045532, 1.180974}, - {-0.413249, -0.120820}, {0.590697, 0.086396}, {-0.312210, 0.058620}, - {0.038969, -0.080060}, {0.668350, 0.562553}, {-0.339013, 0.060135}, - {-0.907438, -0.823162}, {-0.119806, -0.877603}, {-0.478883, -0.143292}, - {-0.320699, 0.212539}, {0.100108, 0.485710}, {-0.392466, -0.806866}, - {0.001016, 0.076458}, {-0.592774, 0.343524}, {1.462533, -0.066516}, - {-0.569967, 0.315363}, {-0.481084, 0.337295}, {-0.087391, 0.658159}, - {-0.302733, 0.653680}, {0.413127, 0.535186}, {-0.582368, 0.582489}, - {1.018942, 0.463516}, {-0.061175, -0.350878}, {-1.630071, -0.232123}, - {1.208054, 0.322525}, {0.230705, 0.582932}, {-0.217847, 0.575781}, - {0.893442, 0.630389}, {-0.174874, 0.390805}, {0.956859, 0.734961}, - {0.438679, 0.368285}, {1.409507, -0.272855}, {-0.021050, 0.944726}, - {-0.227605, -1.004858}, {0.346623, 0.582952}, {0.576312, 0.318435}, - {1.094793, -0.629266}, {-1.088802, 0.041459}, {-0.500393, 0.442719}, - {-0.271167, 0.374385}, {0.241921, 0.418248}, {-0.627281, -1.002708}, - {-1.147085, -0.423343}, {0.728013, -0.479764}, {0.055815, -0.515315}, - {0.496916, 0.348340}, {0.640592, -0.044396}, {-0.823480, -0.081510}, - {-0.658153, 0.363340}, {0.549048, 0.679255}, {0.379224, 0.498001}, - {0.531963, 0.993990}, {0.503592, 0.389701}, {-0.354800, 0.131830}, - {0.447769, -0.726391}, {-0.226749, 0.070274}, {1.525876, 0.048507}, - {0.423583, 0.515601}, {0.281501, 0.333000}, {-0.581471, -0.653560}, - {0.356261, 0.210534}, {-1.831239, -2.179264}, {-0.207313, 2.443682}, - {0.581231, 0.219500}, {0.244048, -0.433631}, {0.234179, -0.519635}, - {0.321517, -0.667325}, {0.331807, 0.023669}, {0.150836, 0.951006}, - {0.850205, -0.427679}, {-0.266342, 0.492303}, {0.421612, -0.671137}, - {0.097019, -0.343781}, {0.353095, 0.071768}, {0.399844, 1.140014}, - {-0.092161, 0.421038}, {0.951596, 0.997798}, {0.233831, -0.888818}, - {-0.914231, 0.468451}, {-0.320417, 0.768939}, {0.010017, -0.067670}, - {-0.641204, 0.499319}, {0.464514, -0.342039}, {0.806917, 0.412848}, - {-0.389667, -0.723328}, {1.504390, -0.862004}, {-0.077352, -0.895115}, - {-0.618964, 0.190222}, {0.301279, 0.239691}, {-1.242100, 0.120618}, - {0.930139, 0.521412}, {0.529753, -0.277023}, {-0.884634, -0.158847}, - {0.636505, -0.971609}, {-0.835765, 0.991747}, {0.277340, -0.861971}, - {1.021073, 1.142868}, {-0.705786, 0.603524}, {0.156000, -0.793177}, - {0.066289, -0.265637}, {-1.395549, -0.477809}, {-0.398661, 0.403177}, - {-0.459976, -0.843605}, {0.984018, -0.852629}, {0.218633, -0.126745}, - {-0.282519, 0.221063}, {-0.030076, 0.666546}, {-0.069338, 0.189674}, - {0.437178, 0.500713}, {0.391939, 0.145078}, {-1.572762, 0.700506}, - {-1.015432, 0.377474}, {-0.840338, 0.937558}, {0.342004, 0.167650}, - {-0.060252, 0.117581}, {0.472117, 0.635502}, {0.104385, -0.161998}, - {1.188391, -1.588144}, {-1.256569, -0.943382}, {-1.338045, -1.795011}, - {0.423467, -0.663819}, {0.202217, 0.684588}, {0.233240, 1.011311}, - {-0.758494, 0.433929}, {0.926118, -0.054441}, {0.564314, -0.974460}, - {0.726559, -1.559723}, {-0.541272, -0.563339}, {0.749341, -0.459923}, - {-0.592150, -0.292360}, {-1.425995, -1.199563}, {0.630984, 0.173879}, - {-0.496013, 0.849446}, {0.730005, -0.623744}, {0.339948, 0.700938}, - {0.318261, -1.431390}, {0.179177, -0.081351}, {0.422595, 0.110693}, - {0.525183, -0.014276}, {0.791773, -0.477120}, {0.337622, -0.907080}, - {-0.961643, 0.350677}, {-0.419235, 0.114661}, {-0.036426, -0.074521}, - {-0.851223, 0.150299}, {-1.402542, -0.652643}, {-0.444904, 0.206768}, - {0.649220, 0.699797}, {0.159030, 0.332804}, {0.252170, -0.574764}, - {0.214542, -0.070060}, {0.672585, -0.214337}, {0.317019, 0.014172}, - {-0.760543, 0.267257}, {1.642791, 0.243831}, {-1.046533, -0.098091}, - {-0.043117, 0.019885}, {0.017252, -1.446676}, {0.264861, 0.685846}, - {0.517324, 0.010126}, {0.343672, 0.470516}, {0.031183, 0.226200}, - {-0.069854, -0.562667}, {0.527272, 0.532637}, {-0.858228, 0.534935}, - {0.364460, 0.740142}, {-0.140402, -0.483472}, {0.017139, 0.061624}, - {-0.294724, 1.396053}, {-0.540405, -0.124744}, {-0.216948, -0.080703}, - {0.142776, -0.316044}, {-0.253452, -0.078581}, {-0.025665, 0.377449}, - {0.170569, 0.657816}, {0.558146, 0.230644}, {-0.811005, 0.844136}, - {1.274885, -0.602096}, {-0.256525, 0.339416}, {-0.445608, -0.526104}, - {-0.679020, -0.428087}, {-0.585500, 0.611806}, {0.321104, 1.015454}, - {0.088048, 0.254566}, {-0.194493, -0.085023}, {0.235160, 0.956288}, - {0.814722, 0.247546}, {-0.785712, 0.033330}, {1.303812, -0.323498}, - {0.900592, 0.189877}, {0.557885, -0.981445}, {0.472523, 0.784359}, - {0.761798, -0.989764}, {0.391552, 0.560236}, {0.697718, -0.307289}, - {-0.302544, 0.328754}, {-1.050820, -0.691314}, {-0.647732, -0.054507}, - {0.021808, 0.443342}, {-1.449923, -0.824803}, {0.190423, -0.098085}, - {0.631746, -0.468679}, {0.040293, -1.576056}, {-0.372698, 0.455461}, - {0.220583, 0.009939}, {-0.270850, -0.097216}, {-0.505603, 0.942481}, - {-0.821008, 0.456088}, {-0.903589, -0.879087}, {-1.037097, 0.467356}, - {-0.106833, 1.072424}, {0.863947, 0.585468}, {0.005151, 0.434652}, - {-0.400947, -1.251142}, {0.189981, 0.404356}, {-0.285439, 0.379628}, - {0.087294, -0.869496}, {-0.192137, 0.869642}, {-0.692827, -0.385168}, - {-0.562495, 0.217508}, {0.542657, -0.510556}, {0.464191, -0.475241}, - {-0.360873, 0.439250}, {0.855123, 0.200659}, {-0.610447, 0.408358}, - {0.908977, 1.265472}, {0.594758, -1.492478}, {0.029868, -0.283152}, - {-0.742647, -0.959861}, {-1.058543, -0.718420}, {0.030062, 0.074846}, - {0.484401, -1.125483}, {-0.284086, 0.159763}, {-1.080775, -0.140955}, - {-0.174126, -0.086363}, {0.739286, -0.217804}, {0.141377, -0.665255}, - {0.920503, -0.318352}, {0.312659, 0.743913}, {0.276399, 0.154918}, - {0.663342, -0.243720}, {0.208475, 1.070727}, {1.547443, -0.539637}, - {-0.480355, -0.378719}, {-0.286722, -0.944048}, {-0.939835, 0.257670}, - {-0.970612, -0.234679}, {-0.869842, 1.134333}, {0.129012, -1.323594}, - {-0.847059, 0.612807}, {0.143607, 0.167211}, {-0.644289, -0.020060}, - {0.597720, -0.525289}, {0.344575, 0.696561}, {0.032192, -0.316594}, - {-0.527359, 0.248141}, {0.057843, -1.004926}, {0.174263, -0.084976}, - {-0.103775, -0.357881}, {0.591409, 0.244348}, {-1.185070, -0.186006}, - {0.643666, 0.679958}, {-0.560183, -0.180895}, {-0.730927, 0.972640}, - {0.414448, -0.245573}, {-0.715735, -0.063948}, {0.602288, -0.368285}, - {-0.595310, -0.096140}, {0.154414, -0.239226}, {-0.643521, -1.322612}, - {-0.372893, 0.644678}, {-0.871536, -1.116017}, {-0.355362, -0.495611}, - {0.807998, -0.506884}, {-1.512365, 1.149375}, {-0.663902, -0.483402}, - {-0.027985, 0.740126}, {-0.627528, 0.621482}, {0.273277, 0.398212}, - {0.646616, 1.375140}, {-0.691492, 1.019221}, {0.666217, 0.443858}, - {0.695471, 0.183591}, {-0.505856, -0.531083}, {0.770952, 0.230695}, - {-0.598738, 0.451612}, {0.301636, -1.123508}, {0.345123, -0.300982}, - {-0.371200, 0.114885}, {0.040179, 0.024051}, {-0.193750, 0.538700}, - {-0.540208, 0.170493}, {-0.732932, -0.668738}, {-1.222816, 0.434783}, - {0.056403, 0.263628}, {0.248752, 1.012811}, {-0.511117, -0.049178}, - {-0.044573, -0.975817}, {0.398627, 0.462711}, {-0.260856, -0.068978}, - {-0.280710, -0.321223}, {-1.899199, -1.720357}, {-0.214145, 0.610662}, - {0.860637, -0.542982}, {1.479895, 0.512347}, {-0.634684, -0.205669}, - {-0.774042, 0.960716}, {0.254752, -0.070188}, {0.048949, 0.072511}, - {-0.076806, 0.217678}, {-0.398325, 0.011892}, {0.947991, 0.795319}, - {1.507949, -0.647927}, {-0.067973, 0.815859}, {0.021869, -1.330399}, - {0.260440, -0.736693}, {0.047665, 1.669888}, {0.051714, -0.750557}, - {0.461558, 0.446945}, {1.025170, 0.357000}, {0.045956, -0.325779}, - {-0.173120, 0.700485}, {0.536135, -0.477065}, {0.128767, -0.204009}, - {-0.760650, -1.142806}, {0.136669, -1.190282}, {0.497392, -1.408788}, - {-0.148019, 0.206583}, {-0.501879, -0.488139}, {0.009399, -0.681400}, - {0.701198, -0.538127}, {0.180453, 0.485088}, {-0.265001, 0.156447}, - {-0.640031, 0.482786}, {-0.518979, -0.541837}, {-0.032891, -0.430068}, - {-0.461893, -0.277698}, {0.262606, 0.260080}, {0.041808, -0.123995}, - {-0.440511, 0.223938}, {-0.106192, -1.594211}, {-0.418230, 0.723012}, - {0.073327, -0.112584}, {-0.418561, -0.692791}, {0.368207, 0.185128}, - {0.168326, 0.239815}, {0.114983, -0.779877}, {-0.513697, -0.218598}, - {-0.509730, -1.001503}, {-0.257517, 0.486916}, {-0.939828, 0.965026}, - {-1.454300, -0.203483}, {-0.492785, -0.713430}, {0.301437, -0.797414}, - {0.238702, -0.386490}, {-0.944933, 0.181264}, {0.443444, 1.104281}, - {0.703275, -1.091732}, {-0.739420, 0.369381}, {-0.541723, 0.306867}, - {-0.421282, -0.067401}, {-0.359663, -0.430076}, {-0.365976, -0.386311}, - {-1.235840, -0.744903}, {-0.582278, 0.165135}, {0.258208, 0.795858}, - {0.656751, -0.199973}, {-0.661437, -1.236283}, {-0.183853, 0.537246}, - {-0.698045, 0.604539}, {-0.705045, 0.847084}, {-1.459402, 0.628008}, - {0.692337, 1.236132}, {-0.260324, 0.599788}, {-0.010288, -0.048783}, - {0.066315, 0.077396}, {0.258401, -1.300776}, {-0.606507, 0.626366}, - {0.918692, 0.313908}, {0.301100, 0.600185}, {0.756285, -0.134042}, - {0.419008, 0.068592}, {0.678707, 0.297421}, {-0.762643, 0.544065}, - {0.811504, 0.550301}, {-0.128498, 0.753596}, {-0.506348, -0.102907}, - {-0.361289, -0.120066}, {0.772548, 0.007574}, {-0.403729, 0.699871}, - {0.438742, 2.197012}, {-1.157543, -0.354945}, {0.220848, 0.508695}, - {0.354803, -0.410951}, {1.084506, 0.972850}, {0.092344, 1.433922}, - {0.506397, 0.385787}, {1.217549, 0.293367}, {-0.334559, -0.101333}, - {-0.406466, -0.023401}, {0.356600, -1.141455}, {-0.011750, 0.287641}, - {-0.050458, 0.686041}, {-1.213470, 0.430009}, {0.551580, -0.801972}, - {0.065996, -0.224313}, {0.281099, -1.068458}, {-0.096408, 0.757440}, - {1.583368, 0.056612}, {0.087061, 0.328131}, {-0.394441, -1.372195}, - {0.512555, -0.342829}, {-0.073289, -0.416035}, {0.913218, -1.088553}, - {-0.698006, 0.235712}, {-0.230038, -0.514247}, {-0.040607, -0.916763}, - {0.632154, -0.540679}, {-0.887651, -1.009355}, {-0.632470, -1.022231}, - {0.190182, 1.032801}, {-0.027089, 0.692375}, {-0.675473, 0.192100}, - {-1.255069, 0.423638}, {-0.195848, 0.109171}, {0.292869, -1.505548}, - {0.515116, -0.182036}, {-0.690289, 0.288317}, {1.434559, -0.687078}, - {-0.461406, -1.224466}, {-0.374814, 0.354303}, {0.616066, 0.664220}, - {-0.312574, -0.753793}, {-0.010131, 0.316177}, {0.677541, -0.304399}, - {0.362407, -0.542312}, {0.421985, -0.426462}, {1.074806, 0.427175}, - {0.714370, -0.383605}, {0.981694, -0.101514}, {-0.580749, 0.366888}, - {0.150148, 1.272927}, {0.102605, 1.472671}, {0.133743, -0.162327}, - {0.098048, 0.154761}, {0.138915, 0.424027}, {-0.068587, -0.269135}, - {0.151768, -0.574258}, {0.705147, 0.504406}, {-0.199471, -0.747309}, - {0.660886, 1.191666}, {-0.434080, 0.337494}, {0.065750, -1.195325}, - {-0.022976, 0.447841}, {0.105985, 0.089817}, {-0.084156, -0.318798}, - {0.072991, -0.327037}, {-0.128438, 0.126156}, {-0.405562, -0.076535}, - {-0.426691, -0.173649}, {-1.860770, -0.948092}, {-0.127870, -0.262563}, - {-1.138050, -0.096580}, {0.370414, -1.870972}, {-0.169835, 0.059237}, - {0.107617, 0.823066}, {-1.055285, -0.282586}, {-1.207492, 0.630350}, - {0.199582, 0.096160}, {0.726497, 0.068093}, {-0.532842, -0.156855}, - {1.093617, 0.601716}, {-1.528594, -0.081629}, {-0.210981, -0.742901}, - {0.320628, -1.275187}, {-0.959229, -1.040017}, {-0.435513, -1.345417}, - {0.883669, 0.681837}, {-1.529650, -0.446392}, {-0.720045, 1.701187}, - {-1.098947, 0.930781}, {-0.652223, -0.676971}, {0.540277, 0.620405}, - {-0.084783, -0.516229}, {-0.645938, -0.752328}, {0.592236, -0.445923}, - {0.987580, -0.654351}, {0.631582, -0.687112}, {-0.747723, -0.216685}, - {-0.242519, 0.244150}, {-0.503676, -0.402645}, {-1.298327, 1.084137}, - {-0.362467, 0.491899}, {-0.033132, -0.268392}, {-0.126278, 0.423416}, - {-1.031263, -0.085027}, {0.243811, -0.366720}, {0.639498, 0.129467}, - {-0.335136, 1.108368}, {-0.512740, 1.873530}, {0.643081, 0.099739}, - {-0.255082, 0.612374}, {-0.175646, 0.130710}, {0.108781, 1.292291}, - {-0.614601, 0.259555}, {0.168058, 0.048234}, {-0.574672, 0.318310}, - {-0.216721, -0.336900}, {-0.005054, 0.439731}, {-0.850990, 0.370968}, - {-0.067698, 0.383192}, {0.383593, -0.525092}, {-0.061197, 0.459613}, - {1.361076, -0.818933}, {-0.505306, -0.543337}, {0.635340, -0.050133}, - {-1.114203, 0.161483}, {-0.176448, -0.346756}, {0.120352, 0.445743}, - {-0.245858, -0.834506}, {-0.920717, 0.600234}, {-0.297926, 0.695282}, - {1.293254, 0.324459}, {-0.963549, 0.214107}, {0.291750, 0.306301}, - {-0.020635, -0.108404}, {-0.625249, 0.393424}, {-0.678041, -0.306473}, - {1.267072, -0.004506}, {0.022893, 0.861164}, {-0.623908, 0.323349}, - {0.368754, 0.620841}, {-0.528447, -0.141905}, {0.088043, 1.543236}, - {-0.899354, -0.855242}, {-0.026557, -0.453395}, {0.027462, 1.047341}, - {0.769418, -1.229816}, {1.440973, -0.699249}, {0.073809, -0.849225}, - {0.260617, -0.050471}, {-0.343781, -0.188150}, {0.196896, 0.184787}, - {0.186939, -0.670752}, {0.922055, 1.559028}, {0.501239, -0.571159}, - {-0.501999, 0.117773}, {-0.919095, 0.778399}, {0.351764, -0.823198}, - {0.148608, 0.329635}, {1.115657, -0.601348}, {-0.356139, -0.377287}, - {0.082008, -0.934193}, {0.413781, -0.481072}, {0.159484, 0.219529}, - {0.769932, -0.473240}, {-0.127988, -0.380868}, {0.633024, -0.074308}, - {0.422594, -1.072281}, {-0.962782, 0.898361}, {0.606030, -0.243257}, - {0.060875, -0.778985}, {-0.615502, 0.659961}, {0.690715, -0.017834}, - {0.475395, -0.359472}, {-0.974448, -0.511066}, {0.692056, -0.796830}, - {0.464684, -0.250498}, {-0.473990, 0.157603}, {-0.221502, -0.380543}, - {0.776700, 0.874519}, {0.278098, -0.390918}, {-0.020204, 0.129496}, - {-0.492732, -1.203373}, {-0.192923, 0.392172}, {-0.456686, -1.096002}, - {0.225734, -0.338651}, {-0.423440, -0.151675}, {0.047326, 0.697747}, - {-1.402831, 0.389770}, {-0.481669, -0.607328}, {0.707638, -0.420784}, - {-0.585504, 0.372906}, {0.884026, 0.946783}, {-0.890221, -0.123712}, - {-0.946448, -1.331909}, {-0.161589, 0.672376}, {-0.428532, 0.326757}, - {-0.478465, -0.457691}, {-0.054022, 1.405670}, {-0.333135, 0.375169}, - {-0.372505, 0.854525}, {1.535750, 0.415969}, {0.295118, -0.716003}, - {-0.336206, -0.196896}, {0.743605, 0.229018}, {0.792000, -1.768616}, - {-1.354626, 0.963126}, {-1.405782, 0.680236}, {-0.237975, -0.000923}, - {-0.690345, -1.003080}, {-1.313895, -0.033107}, {-0.614969, 0.864382}, - {0.990158, 1.112463}, {-1.001071, -0.634240}, {0.594301, 0.062948}, - {-0.534023, 0.563650}, {0.605461, -0.096271}, {0.236832, -0.313801}, - {-0.493347, -0.201958}, {-0.520262, -0.387792}, {-0.912513, -1.199020}, - {-0.129950, -0.310796}, {-0.541204, -0.716691}, {-0.081170, 0.596112}, - {0.737798, 1.145168}, {-0.928121, -0.998200}, {0.669610, 1.145227}, - {0.832308, 0.318849}, {-0.039104, -0.614171}, {0.755613, -0.876583}, - {-1.016801, 0.001975}, {-0.050756, 0.076366}, {0.630505, -0.239083}, - {0.197191, -0.747906}, {-0.372266, -0.592826}, {-1.529025, 0.438443}, - {-0.412525, -0.849941}, {0.829853, 0.127465}, {0.283020, 0.119718}, - {1.891486, -0.325311}, {-0.585484, -0.410801}, {0.059833, -0.092511}, - {-0.831938, -0.638384}, {-0.235357, 0.183885}, {-0.347581, -1.189650}, - {0.014281, -0.758982}, {0.350777, -0.963252}, {-0.065657, -0.156335}, - {-0.165794, 0.022285}, {0.747007, -0.478210}, {0.567832, -0.106546}, - {0.396140, 0.016729}, {-0.272671, 0.066605}, {1.376385, 0.510745}, - {-0.060046, 0.644132}, {0.775174, -0.161923}, {0.685821, 0.001454}, - {-1.561711, 0.881058}, {1.787424, -0.058002}, {0.336836, -0.858057}, - {-0.331450, -0.740409}, {-2.109117, 0.353266}, {-0.216311, 0.071157}, - {0.114973, -0.504866}, {-0.622727, -0.587637}, {-1.153190, 0.816906}, - {-1.426416, 1.516651}, {-1.307579, 0.228991}, {-0.770577, -0.045774}, - {0.372744, 0.808508}, {0.120187, -0.103078}, {-0.195718, -0.374301}, - {1.075698, 1.295923}, {-0.361592, -0.873742}, {-0.418061, -1.279100}, - {0.784779, -1.675948}, {1.268633, -0.865789}, {-0.519273, 0.090093}, - {-0.262722, -0.402864}, {-0.951638, 0.084945}, {-0.355352, -0.351439}, - {0.285010, 0.056406}, {-0.950448, -0.397773}, {-0.464651, 0.160215}, - {1.109933, -0.480592}, {-1.419546, 1.158028}, {0.905718, 0.111670}, - {-0.237821, 0.135966}, {-1.259691, 0.323498}, {-0.470925, -0.541165}, - {0.102619, -0.372763}, {-0.712979, -0.457720}, {0.970056, 0.171370}, - {-1.135346, -0.461788}, {-0.633181, 1.008828}, {1.176038, -1.068340}, - {0.500422, -0.673381}, {0.894371, -0.164669}, {0.483704, 0.314087}, - {-1.188251, -0.842904}, {-0.157257, 0.172253}, {-0.898239, 0.677601}, - {-0.279064, -1.615232}, {-0.992485, 0.177739}, {-0.476199, -0.218263}, - {-0.132737, 1.169939}, {-1.302813, 0.651199}, {-0.310092, 0.900820}, - {0.049591, -0.876856}, {-0.107885, -0.364864}, {-0.126501, -0.848695}, - {1.113648, 0.511673}, {0.264047, 0.194513}, {-0.056919, 0.273691}, - {0.703939, -0.054764}, {-1.272536, -0.341796}, {-0.119178, -0.654156}, - {0.132597, -0.130565}, {0.899426, 0.459049}, {-0.391768, -1.166623}, - {-0.225483, -0.557438}, {-0.167593, 0.661089}, {-1.659540, -0.002336}, - {0.794658, 0.033512}, {-1.069324, 0.241018}, {-0.918777, 1.380683}, - {0.332766, 0.468339}, {1.686444, -0.943082}, {-0.547574, -0.948940}, - {0.030771, 0.036540}, {-0.833640, -1.376152}, {-1.243536, 0.371659}, - {-0.237937, -0.425704}, {0.259845, 1.519797}, {-0.911238, -0.668074}, - {-0.013456, 0.176795}, {-0.882968, -0.341753}, {0.854397, 0.383916}, - {0.235472, 0.285590}, {-0.359982, 0.097074}, {-0.131102, -1.300127}, - {0.266605, 0.174879}, {-0.294888, 0.138128}, {-0.108081, 0.172793}, - {-0.478603, -0.057927}, {-0.712859, 1.038960}, {0.209788, 0.449368}, - {0.387551, -0.640651}, {0.003760, -0.340271}, {-0.061907, 0.617510}, - {0.392158, -0.953156}, {0.726593, -0.189035}, {0.597882, -0.274553}, - {0.666026, 0.048594}, {0.284210, 0.946907}, {0.305420, 0.165142}, - {0.404228, 0.231668}, {-0.017939, -1.142982}, {1.139064, -0.458041}, - {-0.819369, 0.895217}, {-0.047318, 0.285829}, {-0.568780, -0.190502}, - {-0.606370, -0.099547}, {1.424332, 0.802029}, {-0.821119, 0.250209}, - {-1.376602, 1.326391}, {-1.098387, 1.606694}, {0.496951, -0.357961}, - {0.210738, 0.046687}, {0.369485, -0.157254}, {-0.544895, -0.402399}, - {-0.882763, -0.055791}, {-0.357232, 0.166177}, {-0.615774, -0.069649}, - {-0.767183, -0.112721}, {0.375762, -0.020422}, {-0.098314, 0.398756}, - {0.176510, 0.550347}, {1.200922, -0.003930}, {1.325052, -0.313705}, - {-0.150081, 1.250977}, {2.057610, 0.216751}, {-0.238246, 0.229506}, - {0.857400, -0.572607}, {-0.562334, 1.100413}, {0.384247, -1.554662}, - {0.067540, 0.515121}, {1.340051, -0.351801}, {-0.422137, -0.315044}, - {0.860255, -0.025928}, {-0.499608, -0.491812}, {-0.466429, -1.328300}, - {-0.323761, 0.241738}, {0.393656, -0.847954}, {0.459800, 1.193975}, - {0.310703, -0.636093}, {-0.445585, 0.424384}, {0.846073, 0.364936}, - {-0.259331, -0.399480}, {0.436216, -0.067255}, {-0.733748, -0.699265}, - {0.324053, 1.497643}, {0.615826, 0.748861}, {1.193295, -1.242813}, - {-0.466988, 0.156967}, {0.611477, 0.193048}, {-0.055928, -0.158672}, - {0.975226, -0.459924}, {-0.655781, -0.693858}, {1.324562, -0.668467}, - {0.864872, -2.109563}, {0.717141, -0.626098}, {-1.302740, 0.096267}, - {1.116621, -0.009268}, {0.100593, 1.267514}, {0.425933, -0.009823}, - {-0.173129, -0.174238}, {0.153032, 0.109386}, {-0.318603, 0.546064}, - {0.289912, 0.429496}, {0.155977, 0.603650}, {-0.776808, 0.920140}, - {-0.878454, -0.082128}, {0.608451, 1.174464}, {0.353067, -0.103951}, - {-0.452806, 0.168395}, {1.339559, 0.439086}, {-0.020182, -1.321645}, - {0.118079, -0.311166}, {-0.272936, 0.134373}, {0.373963, -1.299783}, - {0.054969, 0.261178}, {-0.239239, -0.615398}, {-1.001020, -1.146200}, - {0.449862, -1.228006}, {0.323008, 0.572236}, {-1.653429, 0.189960}, - {-1.049711, -0.245348}, {0.976135, 0.169753}, {0.706318, -0.614142}, - {1.130571, 1.122720}, {-0.180019, -0.492531}, {0.585209, -0.465400}, - {-0.786602, 0.685904}, {0.096573, 0.109326}, {-0.141775, -0.749653}, - {-0.059186, -0.316195}, {-1.462725, -1.202917}, {-1.236354, 0.418481}, - {0.151833, 0.157247}, {0.691259, 0.080574}, {0.483058, -1.638888}, - {0.128021, 1.112820}, {-0.191649, 1.303981}, {-0.086171, -1.095404}, - {-0.568276, 0.304373}, {2.181999, -0.551641}, {-1.035423, -0.289490}, - {0.155008, -0.150995}, {-1.103950, -1.857698}, {-0.668989, -0.467956}, - {-0.185524, 0.446566}, {-0.643301, -0.258359}, {0.087981, -0.547687}, - {-0.516929, 0.605263}, {0.342129, 0.093293}, {2.011109, 0.019105}, - {0.363808, 0.781133}, {-1.536479, 1.337943}, {0.435211, -0.631518}, - {-0.556866, -0.694405}, {1.114228, -0.174913}, {0.538381, -0.752450}, - {0.550732, -0.407947}, {0.022731, -0.085540}, {0.188773, 0.308336}, - {0.487134, -0.164736}, {0.186646, 1.139253}, {0.045252, -1.157604}, - {1.084051, -0.890305}, {0.619163, -0.150592}, {0.354104, 0.841673}, - {0.229173, -2.117542}, {-0.396302, -0.148405}, {-0.233108, 0.645852}, - {-0.409376, 0.680217}, {0.561133, -1.591081}, {0.132287, 1.114235}, - {-0.167495, -0.729692}, {-0.563572, -1.003719}, {-1.407809, 0.049666}, - {0.259140, -1.152104}, {0.876016, 0.966907}, {1.109627, 0.127202}, - {0.900875, 0.161930}, {-0.239223, -0.745766}, {-0.049711, -0.106964}, - {-1.172386, 1.606319}, {1.580091, -0.165441}, {-0.105897, 0.096532}, - {0.514744, -0.441290}, {-0.410128, 1.642280}, {1.025580, -0.241450}, - {0.570167, 0.040530}, {0.871560, -0.323875}, {-0.234388, -1.244179}, - {0.675376, 0.964659}, {0.374233, 0.149805}, {-0.789252, 1.310412}, - {-0.284409, 1.148222}, {-0.660847, 0.363166}, {0.782152, 0.454305}, - {0.172868, 0.088907}, {-0.278771, 0.023603}, {0.293272, 0.372982}, - {0.311987, 0.322549}, {0.606624, 0.527143}, {0.192137, 0.430538}, - {-0.324541, 0.343529}, {-0.158355, 0.734556}, {-0.137073, -0.403531}, - {-0.250048, 0.162757}, {0.447298, 0.471529}, {-0.874570, -0.929687}, - {0.556881, 0.694617}, {0.202336, 0.104962}, {-1.529270, 0.384855}, - {0.164846, -0.749040}, {-0.712317, -0.291645}, {-0.649720, -0.482616}, - {-0.157974, 0.405484}, {0.057860, 0.996968}, {0.618568, -0.192818}, - {-0.569099, 0.526239}, {0.535368, -2.569703}, {0.287562, -0.200457}, - {-0.774001, -0.447806}, {-0.677427, 0.757377}, {0.440255, 1.722018}, - {0.221734, 0.363236}, {-1.142799, 0.246628}, {-0.000987, 0.084137}, - {0.177699, -0.161609}, {0.219112, 0.145815}, {1.192557, -0.513284}, - {-1.063099, -0.407821}, {0.344825, 0.059121}, {0.324140, -1.340732}, - {-0.385376, 0.564923}, {1.112126, 0.068623}, {1.217525, -0.793810}, - {-0.173809, 0.211866}, {0.008904, 0.344939}, {-0.551659, -0.020264}, - {0.409603, 0.130882}, {-0.460838, 0.011734}, {0.767436, -0.389044}, - {-0.317004, 1.030325}, {0.765716, 1.202983}, {-0.899111, -0.543610}, - {-0.281986, -0.684544}, {-0.364272, 0.091067}, {-0.944820, 0.735864}, - {-0.473074, 0.236066}, {0.590428, -0.001307}, {0.902710, 0.060698}, - {-0.479309, 0.186699}, {-0.622708, 0.120223}, {-0.552450, -0.012236}, - {0.431918, 1.303160}, {0.050594, -0.525912}, {0.362519, 0.624894}, - {-0.941750, 0.479853}, {-0.146931, -0.166574}, {-0.222338, -0.578684}, - {0.516931, 0.696953}, {-0.950476, 0.567101}, {0.021004, 0.707791}, - {1.023076, 1.585372}, {-0.379172, -0.455007}, {0.999678, -1.125859}, - {1.112727, 1.119853}, {-1.229585, -0.372180}, {0.485929, 1.072664}, - {-0.533969, -0.058251}, {-0.780870, -0.083022}, {0.197475, -0.090851}, - {0.869964, -0.537793}, {0.041044, 0.400725}, {0.337632, 0.010040}, - {0.995867, -0.413684}, {-0.197465, -0.816039}, {0.113805, 1.162790}, - {-0.869838, 0.460479}, {-0.720627, 0.136898}, {-0.555949, 0.348150}, - {-1.010460, 0.876235}, {0.288385, 0.442596}, {0.628015, 0.092587}, - {1.017268, 1.102030}, {0.136902, 0.765530}, {-1.074543, -0.048865}, - {-1.177793, -0.693738}, {0.527523, 0.145117}, {-0.760523, 0.203876}, - {0.938313, 1.041252}, {0.539914, -0.157041}, {-0.572504, -0.177670}, - {-0.180789, -0.215865}, {0.138948, -0.228659}, {-0.294927, -0.979739}, - {-0.295661, -1.044591}, {0.151225, -1.389272}, {-0.756423, -0.423643}, - {-0.061934, -0.301791}, {-0.270853, -0.240812}, {-0.803715, 0.821259}, - {-0.697601, 0.617383}, {0.289209, -0.053389}, {-0.896823, 0.262431}, - {-0.295344, -0.261914}, {0.058281, 0.044589}, {-1.008325, 0.176720}, - {0.175546, -0.335204}, {0.631611, -0.600731}, {-0.433719, -1.128985}, - {-0.409720, -0.312795}, {0.323113, 0.261763}, {0.036730, 0.115460}, - {0.059806, 0.466118}, {-0.435466, 0.810298}, {1.362624, -0.053060}, - {0.017303, 0.016551}, {-0.831908, -0.085054}, {-0.047121, -1.210964}, - {-0.492066, 0.242858}, {0.390794, 0.069634}, {0.814141, -0.385739}, - {0.000600, 1.161953}, {-0.825328, -1.076807}, {-0.137587, -0.380351}, - {-1.033185, 0.376119}, {-0.942623, 0.986463}, {-0.615904, 0.634404}, - {0.405671, 0.449572}, {-0.610933, 0.735977}, {-0.318879, 0.163802}, - {-0.507174, -0.284257}, {0.727653, -0.764991}, {0.553744, 0.406244}, - {0.109977, -0.425145}, {0.007260, 0.694717}, {-0.589111, -0.324782}, - {1.296184, -0.280316}, {0.273412, -0.063905}, {0.628945, 0.335630}, - {-0.149412, -0.710817}, {1.448227, -0.686517}, {0.812279, 1.204193}, - {-0.323526, 0.612276}, {1.317114, -0.397886}, {-0.905302, -0.684715}, - {-0.018889, 0.460583}, {0.413307, 0.079909}, {0.196694, -0.264636}, - {0.237990, 0.380848}, {1.110570, 0.186631}, {1.100941, 0.944369}, - {-0.268469, -0.372955}, {0.654447, -1.005281}, {-0.867087, 0.494783}, - {-0.307357, 0.224308}, {1.126564, -0.447765}, {-1.441809, -0.432263}, - {0.829316, -0.254776}, {0.276601, 0.028482}, {0.321513, 0.477089}, - {-0.326903, -0.065775}, {0.181178, 0.425015}, {-0.021201, -0.632189}, - {0.196787, -0.270172}, {0.482211, 0.760539}, {-0.021529, 0.350678}, - {0.538731, 0.792097}, {-0.792762, -1.073304}, {0.269102, 0.466839}, - {-0.457873, -0.267988}, {-1.086786, -1.382579}, {-0.902461, -0.333688}, - {1.449862, 0.549708}, {1.103982, -0.815866}, {-0.331610, -0.126280}, - {-0.434605, -0.574026}, {-0.564428, 0.451053}, {1.065076, -0.142613}, - {-1.067355, -0.781069}, {0.415735, 0.395771}, {-0.257126, -0.498318}, - {0.229113, -0.904408}, {0.475347, 0.932772}, {-0.126197, -0.312728}, - {0.015972, 1.513573}, {0.072260, -0.478380}, {0.199441, -1.515994}, - {0.801702, -0.148107}, {0.732459, -0.716389}, {-1.055474, 0.377686}, - {0.882117, -0.319396}, {-0.389893, 0.614071}, {-0.426814, 0.453146}, - {-1.280709, 0.307466}, {0.465162, -0.568253}, {-0.105649, 0.264185}, - {0.207625, 0.360816}, {-1.212366, 0.121881}, {0.229992, -0.215450}, - {0.416004, -0.583465}, {0.716912, -0.118409}, {0.096084, -0.512867}, - {0.186247, 0.032560}, {0.028022, -0.556780}, {1.150752, -0.299593}, - {-1.619091, -0.453159}, {-0.212540, -1.038386}, {0.255212, -0.885610}, - {-0.279565, 0.220245}, {-0.933030, 1.702921}, {1.098960, -0.501176}, - {0.621376, -0.194441}, {-0.046707, -0.191768}, {0.820383, -1.152666}, - {-0.625110, 1.133264}, {0.136433, -0.774816}, {0.450809, -0.089682}, - {-2.456335, 0.966943}, {0.912559, -0.737705}, {-0.981240, -0.672716}, - {-0.364111, -0.695029}, {-0.339351, 1.566577}, {-1.639069, 1.051843}, - {0.305872, 0.958157}, {-0.506132, 0.126778}, {0.213442, 0.269895}, - {0.219518, 0.742494}, {0.850854, 0.816322}, {0.239080, 0.545993}, - {-0.092504, 0.731571}, {0.440567, -1.122125}, {0.610520, -0.413122}, - {-0.578101, -0.718322}, {-0.222974, 1.427200}, {0.545492, -0.056598}, - {0.627889, 1.317222}, {-0.048461, -0.116290}, {-0.394290, -0.229413}, - {-0.462502, -0.045762}, {-0.200809, 0.574322}, {0.339283, -0.584942}, - {-0.393629, 1.095376}, {-0.371673, -0.655765}, {-0.260952, -0.654112}, - {1.083400, 0.823028}, {-0.952867, -0.473551}, {-0.018485, 0.260282}, - {0.387338, 0.088609}, {-0.988637, -0.394637}, {-0.651919, -0.458630}, - {1.482098, 0.311456}, {0.617416, 0.339357}, {0.024986, -0.654472}, - {-0.633096, -1.253554}, {0.316704, -1.543150}, {-0.309558, -0.064486}, - {-0.027012, -1.213059}, {0.155906, -0.785986}, {-0.021507, -0.082515}, - {1.588522, -1.195031}, {-0.385961, -0.717514}, {0.813259, 0.823171}, - {1.542545, -0.583962}, {0.699293, 1.152578}, {-2.520775, -0.740568}, - {1.650931, 0.444675}, {-0.894331, -1.449709}, {-0.606002, -0.786614}, - {0.612772, 0.153705}, {-0.921274, 0.922913}, {0.440139, 0.658577}, - {-0.229417, 0.728289}, {1.547479, -2.279597}, {-0.319338, -0.157973}, - {-1.461973, 1.054925}, {-0.679512, -0.422229}, {-0.320076, -0.624900}, - {-0.272455, -0.652699}, {-0.050571, -0.713983}, {-0.389856, -0.423589}, - {-0.973979, 0.062857}, {1.550694, -0.360476}, {0.159432, -0.127434}, - {-0.372704, 0.494970}, {0.300625, -0.256622}, {-1.003412, 0.402113}, - {-0.075613, -1.686128}, {0.482382, -0.480330}, {0.093242, -0.754616}, - {0.281740, 0.184726}, {-1.393960, -0.547393}, {0.536805, -0.148686}, - {-0.465176, 0.255458}, {0.306821, 0.035537}, {0.559831, -0.109144}, - {-0.714140, 0.108895}, {0.217559, 0.447498}, {-0.314098, -0.724385}, - {-1.492888, -0.993242}, {-0.428441, -0.227405}, {0.188548, 0.658179}, - {0.768091, 1.556233}, {-1.545457, -1.086941}, {0.140440, 0.092669}, - {0.537909, -0.495652}, {0.332552, -0.612271}, {-0.511223, -0.340514}, - {0.079385, -0.114250}, {-1.463661, 0.057599}, {0.223999, 0.976185}, - {-0.543545, 0.027883}, {0.979747, 0.489620}, {-1.192039, -0.798037}, - {0.730126, -0.056639}, {-0.267151, 0.693524}, {0.558097, 0.153657}, - {-0.696618, -1.338386}, {-0.909832, -0.096288}, {0.882699, 0.742963}, - {-0.275874, -0.809979}, {-0.053137, -0.168546}, {-0.422878, -0.367399}, - {1.557298, 0.459112}, {0.246203, -1.167259}, {-0.504330, -0.532256}, - {0.987550, -0.885807}, {0.683296, -0.854008}, {-0.999180, 0.227098}, - {-0.668949, -0.025123}, {0.025665, -0.317833}, {1.113571, 0.491572}, - {-0.168884, 1.194192}, {0.093188, -1.044563}, {1.753660, -0.163939}, - {0.555963, -0.609948}, {0.794400, 0.059530}, {-0.335538, 1.145340}, - {-0.230857, -0.288830}, {-0.449282, 0.390382}, {0.306169, 0.184478}, - {-0.346556, -0.363817}, {-0.831726, 0.067839}, {1.276276, -0.466759}, - {0.244800, 0.473109}, {-0.215391, -0.292773}, {-0.273257, 0.201723}, - {0.842924, -0.698762}, {-0.729074, 0.256315}, {-1.456625, 0.252573}, - {0.559147, -0.282695}, {0.994685, 0.128463}, {0.300242, -0.524755}, - {0.229392, -0.252261}, {-0.262222, 1.375848}, {-0.629900, 0.580724}, - {-0.886522, 0.229244}, {0.175535, -0.159406}, {-0.005415, 0.158939}, - {0.950522, 0.379940}, {0.346992, 0.559263}, {-0.822353, 0.315018}, - {1.106625, -0.737253}, {-0.252764, -0.041978}, {-0.652043, 1.078668}, - {0.544128, -0.877090}, {-0.435260, -0.777845}, {-0.142025, 0.692931}, - {-0.031940, -0.162408}, {-0.737664, 0.759069}, {0.018416, -0.910539}, - {0.501767, 0.015715}, {-0.525217, -0.909641}, {0.502059, 1.002820}, - {0.550277, 0.890858}, {0.563253, -0.901443}, {-0.482929, -0.468226}, - {0.459780, -1.053824}, {0.679393, -0.444330}, {-1.560609, 0.500156}, - {0.326860, -0.233930}, {0.014115, 1.226398}, {-0.841667, 0.256632}, - {-0.986458, 0.214088}, {0.561778, -0.293625}, {-0.166624, -0.623391}, - {0.072308, -1.647830}, {0.261475, 0.207571}, {-0.439805, -0.515374}, - {-0.903760, 0.247456}, {-0.992315, -0.455678}, {-0.736917, -0.314349}, - {-0.760237, -0.334644}, {-0.808025, 0.764268}, {0.962557, -0.746572}, - {-0.497432, 0.389293}, {-0.627429, 0.078673}, {0.281879, -0.521353}, - {-0.041629, 0.996509}, {0.148478, -0.832781}, {0.241113, 0.180056}, - {0.427418, -1.070871}, {-0.528049, -0.483790}, {-0.523555, -0.270324}, - {-0.304426, -0.037406}, {-0.137959, 1.438044}, {0.928138, -0.431107}, - {0.158206, 0.475620}, {0.290347, -0.571426}, {0.518227, -0.212278}, - {1.434704, -0.008646}, {0.870633, 0.309615}, {-0.408402, -0.358914}, - {-0.932732, 1.867362}, {-1.106557, 0.682544}, {0.700628, 0.050873}, - {0.606759, 0.318505}, {1.100808, 0.865530}, {1.167061, 0.859812}, - {-0.457106, 0.360329}, {-0.412289, 0.264824}, {0.121729, 0.471512}, - {-1.263924, 0.036896}, {0.592224, -0.981550}, {-1.358297, -1.589214}, - {0.370305, 0.206402}, {-0.033672, -0.610428}, {0.084157, -1.167364}, - {-0.925039, 0.239143}, {0.529815, 1.166401}, {0.059166, 0.526304}, - {-1.093501, 1.010147}, {1.095547, -0.668412}, {-0.013464, -0.212740}, - {0.318854, 0.079713}, {-0.582878, 0.209336}, {0.654810, 0.042878}, - {1.084759, 0.085261}, {-0.816288, 0.517988}, {-0.922044, -0.145496}, - {-0.413527, -0.094974}, {0.921929, 0.223829}, {0.834340, -0.632027}, - {0.740097, 0.472727}, {0.109634, -0.761616}, {0.181177, 0.801596}, - {-0.139230, 0.351644}, {-0.919758, 1.187038}, {-0.538770, -0.565291}, - {1.101719, 0.094469}, {0.063713, 1.074669}, {0.544651, -0.008236}, - {-0.043402, -0.182157}, {-0.337167, -0.066716}, {-0.942704, -0.275433}, - {-1.247517, 0.659809}, {0.260576, -0.850054}, {0.328842, -0.795337}, - {-1.158718, 0.621543}, {0.696945, -1.559381}, {-0.387067, -0.638698}, - {-0.196632, 0.228895}, {0.300199, 0.872357}, {0.989715, 1.032305}, - {-0.595253, 0.281982}, {-0.591831, -0.041140}, {0.274069, -0.351900}, - {-0.204608, -0.274791}, {0.111010, 1.228848}, {-1.030237, -0.321911}, - {0.451188, -0.908440}, {-1.157873, -1.048536}, {-0.773016, -0.742834}, - {-0.068020, 0.052725}, {0.424745, -0.757197}, {-0.495433, -0.890633}, - {0.095193, -0.673641}, {-0.838353, 0.958686}, {-0.070324, 0.364606}, - {0.240110, -0.379039}, {0.814811, 0.773006}, {-0.123048, 0.360797}, - {-0.383944, -0.049565}, {-0.384357, 0.170201}, {0.027846, -0.520829}, - {0.509019, -0.721829}, {1.510086, -0.121824}, {0.461037, -0.152050}, - {-0.062760, 0.456919}, {0.903696, -0.632184}, {0.147880, -1.655441}, - {0.107131, 0.254212}, {-1.168225, 0.436568}, {1.645891, 0.720458}, - {0.637719, -0.054386}, {-0.674512, -0.595368}, {-1.647293, -0.454644}, - {-1.427878, -1.542565}, {-1.299486, -0.638739}, {-0.789832, 0.890510}, - {-0.971617, 0.239988}, {1.162886, 0.122570}, {0.296613, 0.157020}, - {-0.651558, -1.195472}, {-0.483987, -0.676177}, {-1.459346, 0.226026}, - {-1.565833, -0.705405}, {0.562608, -0.783332}, {-0.335643, 0.629401}, - {0.601555, -0.527161}, {0.172194, -0.279522}, {1.396232, 1.176078}, - {1.057625, -0.239732}, {0.925509, -0.621106}, {-0.112643, -0.176105}, - {-0.224907, -0.088044}, {-0.615717, 0.351970}, {-1.022447, -0.343888}, - {-0.611137, 0.278950}, {-0.611510, -0.059484}, {-0.585823, -0.678989}, - {-0.601954, -0.562345}, {-0.262591, 1.266941}, {-0.772093, 0.174441}, - {-0.587666, 0.893304}, {0.111368, 1.608418}, {0.714706, -0.534446}, - {-0.771247, 0.120513}, {0.318155, 0.438540}, {2.023913, 0.190916}, - {-0.212721, 0.773555}, {0.232401, 0.319443}, {-0.251844, -1.318009}, - {0.162669, 0.403618}, {0.827621, -0.529870}, {0.250448, -1.073482}, - {0.059679, -0.063302}, {-0.194909, 0.064858}, {0.480359, 0.527630}, - {0.037879, 0.460448}, {0.486415, -0.957618}, {0.451010, -0.068816}, - {0.968128, 0.192947}, {0.831207, -0.164804}, {0.144330, -1.177113}, - {-1.046468, -0.117025}, {1.453514, 0.529669}, {0.462780, 0.519148}, - {0.355027, 0.727646}, {0.355796, 0.311839}, {1.776668, 0.186074}, - {-1.419462, -0.435581}, {-0.360595, -0.117783}, {-0.309289, 0.349530}, - {-0.530039, -0.873192}, {-0.106943, 0.925020}, {1.306105, 0.027449}, - {0.580964, 0.705161}, {1.478512, -0.101863}, {-0.202531, 0.738568}, - {-0.493564, -0.930668}, {0.268006, 0.343200}, {0.459762, 1.566772}, - {-0.160910, 0.379268}, {0.629888, -0.503718}, {1.381070, -0.364317}, - {0.307948, -0.047268}, {0.796512, -0.935058}, {-0.700082, -0.972416}, - {-0.298262, -0.605478}, {-0.323136, 1.541209}, {-0.195020, 0.416722}, - {-0.086115, 0.749763}, {0.435675, -0.521759}, {-0.104943, -0.146577}, - {1.092303, 0.546935}, {0.274549, 0.086542}, {0.505962, 0.274669}, - {-0.720219, -0.028282}, {0.761485, 0.999235}, {0.953266, 0.149321}, - {0.633826, 0.108976}, {-0.930898, 0.531887}, {-0.401657, 1.460128}, - {-1.032822, 0.380031}, {0.199604, 0.147336}, {-0.633607, -0.055812}, - {-0.316084, -0.492567}, {-0.775544, -0.393868}, {-0.304902, 0.496941}, - {0.587243, 0.404586}, {0.535787, -0.290660}, {0.526786, -0.492909}, - {0.032885, -0.335402}, {0.254548, 0.025119}, {-0.007256, 0.956603}, - {-0.781701, 0.182978}, {-0.594395, -0.051752}, {1.137163, 0.417077}, - {-0.725425, 1.703746}, {0.203050, -0.823786}, {-0.093223, -0.599492}, - {-0.171074, 0.434182}, {0.446139, -1.024946}, {1.307526, -0.924091}, - {0.165343, -0.061759}, {0.847232, -0.364522}, {-1.687820, -0.966855}, - {0.367350, 1.007379}, {0.462134, -0.629192}, {1.480619, 0.308647}, - {-0.480776, -0.412441}, {-0.032728, 0.426328}, {-0.723946, 0.349359}, - {-0.695635, 0.225437}, {0.093643, 0.801008}, {-1.148551, -0.246205}, - {-0.049321, -0.459364}, {-0.241512, 1.553192}, {1.138608, 1.302721}, - {0.263139, -0.527765}, {0.172326, 0.638467}, {-0.425811, 0.438227}, - {-0.932956, 0.082939}, {-0.145653, -0.835906}, {0.099492, -1.396676}, - {-0.730089, -1.456065}, {0.328898, 0.922454}, {-0.479136, 0.168375}, - {-0.693307, -1.117508}, {0.434907, 0.255777}, {0.159500, -0.075837}, - {0.606847, -1.786357}, {0.114103, -0.890503}, {0.475339, -0.639335}, - {-0.501279, 0.909314}, {-0.461021, 0.340318}, {-2.371022, 0.240045}, - {-0.663024, -0.078565}, {0.408487, 0.747418}, {-0.039952, 0.544522}, - {-0.346095, -1.181014}, {1.313543, 1.313791}, {-0.286968, 0.049342}, - {-0.985057, 0.416389}, {0.567016, -0.890193}, {-0.029613, -1.097792}, - {-0.274942, 1.279869}, {0.840626, -0.071335}, {1.103612, -0.346434}, - {-0.971668, 0.314411}, {-0.401788, -0.159312}, {0.876157, -1.020020}, - {-0.187758, -0.633080}, {-0.737539, 0.950549}, {-0.537099, 1.220313}, - {-0.354796, 0.504951}, {0.516333, 0.303805}, {0.744535, -0.050407}, - {-0.305368, 0.196347}, {-0.539320, -0.584686}, {0.578355, 0.192718}, - {-1.251327, 0.031665}, {-0.988681, -1.128213}, {-1.076868, 1.127315}, - {-0.652836, -0.331953}, {-0.922967, 0.220209}, {0.721116, -0.345270}, - {0.102160, -0.184497}, {0.724131, -0.729485}, {0.311939, 1.406437}, - {-0.687354, -0.482095}, {-0.746110, 0.490688}, {-0.290505, -0.930634}, - {1.203664, 0.171541}, {0.798127, 0.241126}, {-0.347300, 0.167841}, - {-0.383096, 0.527781}, {0.231403, -0.662014}, {1.208195, -0.842100}, - {0.118811, 0.382395}, {-0.971162, -0.657731}, {-0.109055, -1.321417}, - {-0.166172, 1.000512}, {0.245685, 0.853006}, {1.179090, 0.148636}, - {-0.722005, 0.218807}, {-0.356529, 0.394081}, {0.283431, -1.474497}, - {-0.528565, -0.181279}, {-0.309054, -0.447532}, {-0.302059, -0.835447}, - {0.063289, 0.197125}, {0.873344, 0.283293}, {-0.827399, 0.327898}, - {-1.445307, 0.015543}, {1.134014, 0.449569}, {0.026380, -0.550346}, - {-0.107964, 0.656922}, {0.551898, -0.361890}, {1.354513, -1.238748}, - {0.259696, 1.783583}, {-0.954792, 0.686831}, {-0.745327, -0.404158}, - {0.454100, -0.837450}, {0.087043, -0.950885}, {0.505512, 0.460524}, - {0.404887, 0.789404}, {-0.037236, 0.441461}, {1.725802, 0.267412}, - {0.797967, 0.244751}, {-0.978130, 0.515460}, {0.542536, -0.075439}, - {0.712379, -0.497695}, {-0.212806, 0.608145}, {0.577898, -0.192766}, - {0.489932, 0.990213}, {0.119053, -0.729816}, {1.097182, -0.576013}, - {-1.201042, -0.794151}, {-0.120795, 0.066962}, {0.146414, 0.603197}, - {0.026528, -0.603082}, {-0.800504, 0.268076}, {-0.343166, -0.407044}, - {-0.102762, -0.303068}, {0.129492, 1.346782}, {-0.258398, 0.169313}, - {1.243914, -0.592895}, {1.095122, 0.260779}, {-0.600781, -0.189894}, - {0.240113, 0.082414}, {0.353061, 0.355369}, {0.420819, -0.911021}, - {0.696589, 0.394239}, {-0.682780, 0.358780}, {0.063955, -1.517855}, - {-0.322178, -0.074134}, {-0.974101, 1.406756}, {-0.526017, -0.353056}, - {-0.640417, 0.340377}, {-0.182126, -0.411452}, {-0.488776, -1.599695}, - {1.517429, 0.767395}, {0.603698, -0.721522}, {0.541078, -0.821337}, - {0.110168, 0.163595}, {0.212353, -0.539387}, {0.117418, -0.754495}, - {-0.155305, -0.255334}, {-0.119331, 0.141361}, {-1.467100, -0.792509}, - {0.202781, 0.268023}, {-0.814643, -0.407787}, {0.137034, -0.791640}, - {-0.789811, -0.493989}, {-0.336780, -0.653000}, {-0.759226, -0.386969}, - {0.455847, 0.617339}, {1.664504, -0.591428}, {-0.206955, 0.421407}, - {-0.567116, 0.215310}, {-0.634151, -0.216379}, {-0.474751, 0.577085}, - {0.580540, 0.007682}, {0.431102, -0.313646}, {0.037617, -0.541906}, - {0.586028, 0.437426}, {1.122127, 1.192700}, {0.679301, 0.617392}, - {-0.266514, 0.750701}, {1.021989, 0.573764}, {-0.471908, -1.137463}, - {-0.275688, -1.347824}, {-0.260820, 0.857808}, {-0.353317, -0.507878}, - {1.482158, -0.115137}, {0.989099, -1.264611}, {-0.181237, -0.731317}, - {-1.272231, 0.000604}, {-0.050286, -0.518716}, {0.906532, 0.073988}, - {-0.725282, -0.708613}, {1.130826, 0.492829}, {0.382025, 0.118885}, - {-0.289855, 0.327266}, {-0.356868, -0.127456}, {-0.497037, 0.347544}, - {0.916516, -0.011213}, {0.795788, 0.833036}, {-1.108708, 0.654990}, - {1.098447, -0.380100}, {-0.699273, 0.774193}, {0.342752, -0.535842}, - {0.047643, -0.227671}, {1.274331, 0.341689}, {0.895537, -0.407677}, - {-0.778889, -0.038155}, {0.698568, 0.098739}, {1.916364, -0.661903}, - {-0.845148, 0.287349}, {0.837011, -1.241308}, {0.022716, -0.396469}, - {-0.020420, -0.034983}, {-0.285681, -0.753360}, {-0.118651, -1.527316}, - {-0.176143, 0.446362}, {0.130017, -0.415744}, {0.318507, 0.552840}, - {-0.603890, 0.207048}, {-0.523459, 0.105243}, {-0.002344, -0.410590}, - {0.476249, -1.748434}, {0.110030, -0.295667}, {-0.776678, -0.699187}, - {-0.336088, 0.120044}, {-0.132220, 0.564894}, {-0.400230, -1.465552}, - {-0.899290, 0.326598}, {-1.442301, -0.087643}, {-0.008753, -0.630739}, - {0.390787, 0.192346}, {-0.340743, -0.440807}, {-1.539744, 1.205671}, - {0.627614, 0.398445}, {0.127486, 0.357655}, {0.135552, 0.764774}, - {0.518036, -0.218960}, {1.049276, -0.090579}, {-0.008401, 1.454761}, - {0.003514, 0.918229}, {0.302454, 0.976231}, {-0.961992, -0.017294}, - {0.076837, 0.668940}, {-0.348232, 0.509916}, {-1.436588, 0.235003}, - {-0.084113, -0.570737}, {0.635977, 0.515143}, {-0.580761, 0.004320}, - {-0.130124, 0.718512}, {-1.064332, 0.805427}, {1.314300, -0.425192}, - {-0.597376, 0.040773}, {-0.369787, 0.951658}, {1.179303, 0.302642}, - {0.309178, 0.951243}, {0.683143, -0.691633}, {0.595706, -0.308229}, - {1.452309, 0.693933}, {-0.597845, 0.801738}, {0.458518, -0.343717}, - {-0.149173, -0.241056}, {0.979689, 0.240095}, {-0.599037, 0.543307}, - {0.354471, -1.145843}, {-0.020165, -0.398078}, {-0.123823, 1.399765}, - {0.024307, 0.255874}, {0.390943, 0.200198}, {0.660994, -0.236146}, - {0.874927, 0.787643}, {0.171618, 0.136452}, {0.225134, 0.175814}, - {-1.009673, 0.213737}, {0.778509, -0.536733}, {0.659917, -1.701921}, - {-1.047737, -0.614887}, {-0.561108, 0.215661}, {-0.185832, -0.245792}, - {-0.486231, 0.531170}, {0.116419, -0.145595}, {0.019939, -0.695158}, - {0.144234, -0.507506}, {-0.396990, -0.833085}, {0.375825, -1.907635}, - {-0.080535, 0.196175}, {0.007163, 0.589929}, {-1.106312, -0.916138}, - {1.084560, -1.289281}, {0.700913, -0.454858}, {1.690164, -0.645198}, - {0.472295, 0.365814}, {-0.354035, -1.187006}, {-0.363422, -0.700427}, - {-0.409595, -0.297748}, {0.222860, -0.488023}, {1.154380, -0.023766}, - {-0.572994, 0.995388}, {-0.522744, 0.915831}, {-0.102298, 0.075968}, - {-1.113661, 0.277819}, {-0.541258, 0.942888}, {0.144149, -1.421493}, - {-0.813628, 0.518374}, {0.438114, -0.583365}, {-0.306953, -0.083300}, - {-0.965428, -0.187021}, {-1.651694, 0.301327}, {-0.358049, 0.160427}, - {0.494740, 0.212273}, {-0.475793, 0.129843}, {-0.513566, 0.206706}, - {-0.789498, -0.454014}, {-0.506331, -0.677233}, {-1.191360, -0.684613}, - {-0.473632, -0.505620}, {1.704961, -0.000282}, {-0.748426, 0.044751}, - {0.722466, -0.271562}, {-0.114380, -0.029615}, {0.881983, 0.732634}, - {-2.466091, 0.797042}, {0.107247, -1.069177}, {0.365094, -0.240360}, - {0.860761, -0.392398}, {0.419712, 1.024297}, {-0.733678, -0.114491}, - {-0.387299, -0.698591}, {-1.111876, -0.894044}, {-0.338478, 0.432863}, - {0.374858, 0.592964}, {0.132022, -0.172552}, {-0.566581, 0.486986}, - {-0.361814, -0.127256}, {-0.495429, -1.119817}, {-0.373163, 0.277704}, - {-0.451895, -0.150489}, {0.676212, 0.462474}, {0.731097, 0.067339}, - {-0.391580, -0.221534}, {0.702811, 0.805510}, {0.306927, -0.330470}, - {0.202033, -0.281253}, {0.670677, -1.640630}, {-0.171426, 0.129238}, - {0.855865, -0.001158}, {0.902835, -0.314898}, {0.258288, -0.817972}, - {-0.246663, -0.050172}, {-1.298989, 1.057827}, {-0.194878, -0.869015}, - {-0.989629, -0.909738}, {-0.566145, -0.028838}, {-0.537190, -0.250192}, - {1.007348, 0.083241}, {0.351506, -0.080267}, {0.167228, -0.274140}, - {0.523975, -0.383455}, {-0.693140, -0.400584}, {-1.377034, -0.099976}, - {0.687119, 0.508089}, {0.624748, -0.713680}, {0.524963, 0.852304}, - {-0.365119, 1.391765}, {-0.098955, -0.773518}, {0.099686, 0.092521}, - {-0.191519, 0.113134}, {-0.246630, -0.849187}, {0.372718, -0.028201}, - {0.209208, 0.168457}, {0.531034, 0.810682}, {-2.065181, -0.403745}, - {1.662412, -1.025271}, {0.116164, -1.358371}, {0.871266, 0.684274}, - {-0.601819, 0.436820}, {0.379071, -0.950469}, {-1.481672, 1.328396}, - {-0.215309, 0.881097}, {1.543692, -1.302871}, {0.566876, -0.346706}, - {-0.107790, 0.187282}, {-0.050962, 0.305967}, {2.234456, 0.245861}, - {0.922211, 0.315870}, {0.170718, 0.332505}, {-0.173235, 0.269735}, - {-0.034479, -0.147379}, {-0.910476, 0.549261}, {-1.482071, 0.073635}, - {-1.006192, -0.257727}, {1.380736, 0.159414}, {0.133536, -0.518567}, - {0.452510, -0.297029}, {0.506554, 0.634800}, {-0.223515, -0.113593}, - {1.640303, -0.303890}, {0.451081, -0.579022}, {-0.423077, -0.310128}, - {-0.515610, 0.197095}, {1.449878, -0.575191}, {0.595091, -0.861876}, - {0.467010, 0.214356}, {1.126815, -0.412791}, {-0.768978, 0.928791}, - {0.662096, 0.992854}, {-0.870112, 0.867863}, {-0.444760, 0.695527}, - {0.545433, 0.548246}, {0.900893, 1.440884}, {1.009321, -1.093170}, - {0.002783, -0.661035}, {0.446845, -0.962453}, {1.071007, 0.104193}, - {0.701488, 0.155886}, {-1.495756, -1.595266}, {0.037920, -0.027757}, - {-0.816584, 0.442122}, {1.024597, 0.061760}, {0.372463, 0.656436}, - {0.193900, -1.113707}, {0.702296, 0.063060}, {-0.387018, 0.640494}, - {0.472535, 0.526097}, {-0.113295, -0.461936}, {-0.549302, -0.072353}, - {0.113877, 1.728784}, {-0.503031, 0.465992}, {-1.800512, 0.344290}, - {-0.291058, 0.191364}, {-1.383239, -0.639046}, {0.301438, 0.939880}, - {-0.887944, 0.532416}, {-0.337686, -1.497391}, {-0.273128, 0.170892}, - {-0.187554, 1.292625}, {-0.335620, 0.813804}, {0.302649, 0.115870}, - {-0.125463, 0.244516}, {0.775593, 0.754042}, {0.726695, -0.656969}, - {0.888387, -1.134760}, {1.275522, -0.250979}, {-0.736736, -0.023197}, - {-0.722655, 0.071534}, {0.398133, -0.225856}, {-0.158094, -0.713822}, - {-0.187789, 1.530984}, {0.066136, -0.285781}, {0.337437, 0.069203}, - {-1.522060, 0.359290}, {-0.410925, 0.715260}, {-0.348957, 0.792795}, - {-0.822869, 0.817856}, {0.215875, -0.611351}, {-0.606455, 0.320282}, - {1.436453, -0.107341}, {-0.330349, -1.194834}, {0.572256, 1.303348}, - {1.090097, 1.118251}, {0.745744, -0.906311}, {-1.122036, -0.363927}, - {-0.352830, 0.069443}, {0.173709, 0.298217}, {1.233522, 0.305900}, - {0.226477, -0.043980}, {-0.722420, 0.493256}, {0.557195, 0.058823}, - {-1.094416, -0.312172}, {0.071648, 0.977559}, {-0.387061, 0.773792}, - {0.338082, -0.019251}, {0.163224, -0.330960}, {0.610427, 0.371691}, - {0.323763, -0.522994}, {-0.668372, -0.370236}, {1.242604, 0.090453}, - {-1.050305, -0.440150}, {0.388379, -0.214487}, {-0.479460, -0.280957}, - {-0.581688, 0.708546}, {-0.651918, -0.699252}, {-1.289294, 0.894307}, - {0.430920, 1.134885}, {-0.140695, 0.119391}, {-0.113397, 0.141629}, - {-0.224160, -0.849461}, {0.145152, 1.010905}, {0.114341, 0.319432}, - {-0.731503, 0.963791}, {-0.805791, -0.234161}, {-0.097786, -0.078454}, - {1.247790, 0.056807}, {-0.066401, -0.334968}, {0.675039, -0.744820}, - {-0.181113, -0.290322}, {0.651336, 0.530368}, {-1.249633, -0.321314}, - {-0.289785, 0.448466}, {0.666290, 1.196834}, {0.623286, -0.328105}, - {-0.469083, 0.311728}, {-0.641303, -0.664674}, {-0.033907, -0.670533}, - {0.177868, 1.697506}, {-0.216707, 0.202837}, {-0.186939, -0.529367}, - {0.022609, -0.126800}, {0.203477, -0.579855}, {-0.230490, 1.011908}, - {0.162921, 1.168193}, {0.885725, -0.666452}, {0.277346, 0.026881}, - {0.127636, -0.291993}, {0.343859, 0.254767}, {0.937021, -0.240389}, - {-0.450499, -0.519208}, {0.026306, 0.871227}, {-0.532201, 0.361956}, - {0.510303, -0.387441}, {-0.746218, 0.107938}, {-0.043113, 0.416857}, - {-0.765734, -0.057674}, {-0.976013, -0.471322}, {-0.608322, -0.386790}, - {-0.153345, -0.142873}, {0.282707, -0.174705}, {0.908893, -0.288510}, - {1.248578, -0.267686}, {-0.733607, -0.318778}, {0.711804, 0.106524}, - {0.730638, -0.818837}, {-0.143297, 0.775292}, {0.826449, -0.764265}, - {-1.053740, 0.429313}, {0.093451, -0.285474}, {0.092797, -1.313155}, - {-0.990341, -0.497315}, {0.566588, 0.912216}, {-0.641365, -1.513570}, - {-0.399701, 0.419908}, {0.550336, 0.454210}, {1.130919, -1.011306}, - {-0.648588, 0.724713}, {1.530720, -0.329322}, {0.240109, 0.297342}, - {-0.803036, -0.672687}, {0.558095, 0.210214}, {-0.415771, 0.335389}, - {-0.446871, -0.080301}, {0.439153, 0.420859}, {0.454300, -0.120721}, - {0.210916, -0.112178}, {-0.409692, -0.248721}, {-0.879181, -0.650745}, - {0.314275, 0.157443}, {-0.127992, 0.459773}, {0.189201, -0.437353}, - {-0.199317, 0.335634}, {0.926867, -1.219475}, {0.990475, 0.115756}, - {-0.596768, 0.519271}, {0.544668, 0.177830}, {0.025311, 0.718018}, - {0.865983, -0.396329}, {0.931238, 0.051218}, {-1.306796, 0.890281}, - {-0.038267, 0.417608}, {0.423411, 0.011136}, {-0.591386, -0.028572}, - {-0.659057, -0.868477}, {-0.454503, -0.183610}, {-1.296091, 0.623354}, - {-0.369003, -1.032546}, {0.687142, -0.539728}, {0.702910, 0.311785}, - {0.486632, -0.654871}, {-0.698156, 0.479333}, {-0.286491, 0.023513}, - {-0.061237, 0.264710}, {0.815363, -0.724906}, {0.080431, 0.452235}, - {0.209167, -0.366842}, {0.238600, -1.015582}, {0.236585, 1.119290}, - {0.115878, -0.511488}, {0.417193, -0.342133}, {-0.132619, -0.383681}, - {-0.309108, -0.467185}, {0.389856, -0.296845}, {0.862805, -0.845385}, - {0.163740, -1.328876}, {0.841628, -1.134586}, {-1.314638, 0.983453}, - {0.007594, -0.151851}, {0.491880, 0.589396}, {0.410562, -0.533815}, - {0.152744, -0.382076}, {-0.814165, -0.726665}, {-1.054786, 0.399620}, - {-0.604055, 0.219815}, {0.195637, -1.204522}, {-0.218163, 0.389220}, - {-1.060887, -0.365853}, {0.076152, 0.972619}, {0.106557, -0.550138}, - {0.350506, -0.580934}, {0.899491, -1.202793}, {0.006987, -0.237220}, - {-0.621779, 0.109460}, {0.758860, 0.378667}, {0.665073, 0.149904}, - {0.514973, -1.076146}, {-0.531363, -0.151537}, {-0.160327, -0.372274}, - {1.439986, -1.868230}, {0.189739, 0.119885}, {0.203151, 1.214735}, - {0.227369, -0.449251}, {-0.320953, 1.173650}, {0.362700, -0.413635}, - {0.104156, 0.742685}, {0.786895, 0.217765}, {0.461444, -0.383361}, - {-0.026425, 0.050263}, {-0.700833, -0.176479}, {0.516268, -0.266494}, - {0.542822, -0.196286}, {0.972150, 0.282374}, {0.373345, -1.661969}, - {0.848982, -0.275416}, {-0.147993, 0.557783}, {-1.235018, -0.425926}, - {-0.990208, -0.819959}, {-0.502916, 0.897826}, {-0.963431, 0.100756}, - {-0.539236, -0.495820}, {0.043163, -0.313743}, {0.268113, -0.401802}, - {0.094456, 0.929705}, {0.434827, 0.666465}, {-0.285961, 0.540364}, - {-0.067659, 0.148652}, {-0.343734, 1.625959}, {0.941489, -0.334072}, - {-0.339727, -0.526445}, {0.793149, 0.946932}, {-0.398235, 0.623877}, - {0.264790, -0.715621}, {-1.011724, 0.322794}, {1.384937, 0.455970}, - {1.454257, 0.048507}, {-0.306816, -1.428050}, {0.370468, 0.733515}, - {0.850482, 0.067026}, {-0.026520, 0.315161}, {0.553367, -1.038959}, - {-1.381139, 0.169341}, {-0.126396, 0.774954}, {0.579820, -0.324341}, - {0.690277, -0.552866}, {0.042603, 0.250999}, {0.234958, -0.328548}, - {-0.034987, -0.427424}, {0.017550, 1.027859}, {0.639405, 0.074327}, - {-1.079853, 0.773206}, {-0.255093, -0.538056}, {-0.516779, 0.552364}, - {0.588249, -0.122769}, {-0.180270, -0.526765}, {0.281459, -0.573820}, - {-0.597178, 0.884251}, {-1.459452, 0.521668}, {0.475132, 0.670896}, - {0.364260, -0.003726}, {0.162263, 1.430702}, {1.002323, 1.191997}, - {0.593734, 1.105144}, {0.455673, -1.069412}, {-0.566892, -0.153912}, - {-0.401493, 0.730293}, {-0.616850, -0.357030}, {0.131704, 0.877433}, - {0.448159, 0.531570}, {0.707994, 0.388152}, {-1.120399, -1.558184}, - {0.205040, 0.110543}, {0.667577, 0.900941}, {-1.023609, -0.438459}, - {0.592556, -0.786459}, {-0.218398, -0.203380}, {0.274252, 0.404389}, - {-0.458191, 1.011445}, {0.222179, 0.858687}, {0.029628, -0.040130}, - {-0.290997, -0.035703}, {0.309122, -1.492022}, {-1.010844, 0.589316}, - {-0.356162, 0.305040}, {0.261650, 0.718863}, {0.434287, 0.022466}, - {-0.076320, -0.343857}, {0.183141, 1.026684}, {0.784650, 0.184908}, - {0.701212, 0.267810}, {0.525909, 1.299042}, {-1.685660, 0.350329}, - {-0.593831, -0.228072}, {0.017935, 0.860203}, {0.840364, -1.130071}, - {1.015367, 1.442451}, {-0.901634, -0.746853}, {0.199565, -0.821338}, - {-0.313785, 0.748286}, {0.090435, 0.856189}, {-0.393746, 1.621984}, - {-0.703148, 0.813511}, {-1.461475, 0.879518}, {0.943104, -0.598617}, - {0.393415, -0.321067}, {0.352488, -0.808631}, {-0.262355, 0.074378}, - {0.444508, 0.028535}, {-1.235967, 0.087614}, {-0.366743, 0.274720}, - {-1.534213, 1.187011}, {-1.288413, 1.152383}, {-0.176366, 0.392408}, - {-0.479891, -1.289108}, {0.006065, -2.244152}, {-0.200774, 0.584892}, - {0.841201, 0.359442}, {0.042903, 0.605595}, {-0.050008, 0.526026}, - {0.545172, 0.114942}, {-0.741202, 0.452490}, {-0.662675, 0.502251}, - {-0.293925, 0.361124}, {-0.174266, 0.891888}, {0.214914, -0.044729}, - {1.076459, -0.324856}, {0.028362, -0.712596}, {0.119129, 0.420191}, - {0.290109, -1.690392}, {-0.534984, -0.709829}, {0.928031, 0.340022}, - {0.329803, -0.001821}, {-0.789933, -0.997637}, {0.525651, -0.947355}, - {0.800005, 0.294846}, {-0.940716, -0.342722}, {1.153485, -0.757920}, - {-0.372701, -0.015358}, {0.413703, 0.474207}, {0.554610, -0.587293}, - {0.609088, 0.282538}, {-0.389165, -0.999838}, {-0.501062, 0.425428}, - {0.506568, 0.864824}, {0.467536, 0.041527}, {0.413553, -0.972673}, - {-0.784710, -0.456333}, {-0.591675, -0.081141}, {-0.000096, -0.918489}, - {-0.741971, -0.673887}, {0.423698, 0.133942}, {-0.353825, -0.248892}, - {0.265903, 1.104794}, {1.155745, -0.487131}, {-1.230837, 1.182218}, - {-0.039358, -1.024105}, {-0.126243, -0.422831}, {0.083741, 1.333631}, - {-0.582043, -0.167835}, {-0.651064, -0.716060}, {-0.933496, 1.031392}, - {0.285776, 0.119386}, {1.790267, 1.839585}, {0.673148, -0.036901}, - {0.060941, 0.392402}, {0.439779, 0.335930}, {0.482075, -0.508116}, - {0.166439, -0.478669}, {1.468145, 0.050076}, {0.697232, 0.408675}, - {-0.276139, 0.399703}, {0.376897, -0.613126}, {0.465563, -1.169737}, - {-1.834874, 0.539662}, {-0.091337, 0.444562}, {-0.997118, 0.098997}, - {-0.233274, -0.598737}, {-0.989027, -1.117883}, {0.624755, 0.428710}, - {-0.375702, -1.212512}, {-1.056685, 0.388795}, {-0.909594, 0.317522}, - {-0.356905, -0.074151}, {0.524995, 0.703629}, {0.314174, -0.403816}, - {-0.491192, 1.182237}, {-0.926085, -1.084090}, {-0.017806, 0.842876}, - {0.440742, -0.130747}, {0.272952, 0.081986}, {0.441477, -0.697158}, - {0.259341, -2.099767}, {0.831863, -0.033636}, {-0.502615, -1.206727}, - {0.555998, 0.859499}, {-2.056364, 0.396201}, {0.341466, 0.784581}, - {0.343672, 1.187463}, {1.274795, -0.151500}, {-0.628121, 1.454649}, - {0.565032, -0.448605}, {-0.207750, -0.820005}, {1.175663, 0.211856}, - {-1.633000, 1.122887}, {-0.291601, 2.700069}, {-0.622804, 1.831482}, - {-0.301059, 0.509034}, {-0.427513, 0.001459}, {-0.341017, -0.116875}, - {0.022551, -0.314193}, {-0.918960, -0.674715}, {-0.129296, -0.117801}, - {0.786287, -1.378251}, {-0.451442, -1.084505}, {0.942049, -0.109402}, - {-0.219356, -0.655816}, {-0.878586, 0.229613}, {0.675175, -0.893381}, - {-0.932964, -1.161234}, {0.214065, -0.396179}, {-0.277875, 1.353829}, - {0.086688, -0.992670}, {0.266658, 1.190433}, {-0.665654, 0.447818}, - {-1.073475, -0.902468}, {0.561274, 1.066952}, {0.439581, 1.398037}, - {-0.038367, -0.253666}, {-0.180841, -0.607550}, {-0.663332, 0.315716}, - {-0.204138, -0.260854}, {1.300259, 0.483273}, {0.488196, -1.506948}, - {-1.576188, -0.122042}, {-0.161309, -0.070824}, {-0.163122, -0.342865}, - {-0.647706, 1.966371}, {-0.912235, -1.511959}, {0.246138, -0.881132}, - {-0.400870, -0.146707}, {1.873068, -0.401651}, {-0.246960, 1.020948}, - {-0.309774, -0.749670}, {-1.658745, 0.706234}, {0.137746, 0.464169}, - {-0.128249, 1.229660}, {0.485569, -0.862653}, {-0.314748, -0.798912}, - {0.596327, -2.260403}, {-0.739134, -0.774303}, {0.559885, 2.133758}, - {-0.378982, -0.458096}, {-0.645429, -0.411828}, {0.442957, 0.412317}, - {0.062638, -0.130068}, {0.913193, 0.872129}, {-0.000645, -0.659925}, - {-0.611296, 0.051654}, {0.463594, 0.106210}, {-0.172544, 0.250975}, - {-0.820128, 0.059186}, {1.244089, -0.241306}, {-0.606408, 0.162598}, - {-0.516257, -0.453431}, {0.379360, -0.010924}, {1.694404, -0.098512}, - {0.740398, -1.163674}, {-0.086404, 0.808617}, {-0.788179, 0.497859}, - {0.518954, 1.316377}, {-0.268101, -0.000552}, {-0.011397, 0.127380}, - {-0.776983, 1.310111}, {1.155819, -0.536423}, {0.325867, 0.129875}, - {-0.305559, 1.698206}, {1.469264, 1.171590}, {0.052020, 1.645200}, - {-0.475098, 0.752333}, {-0.478576, 1.051189}, {0.209720, -0.846175}, - {0.336027, 1.281707}, {-0.457927, 0.978607}, {0.434299, 0.603314}, - {0.819164, -0.707148}, {0.285992, 0.200020}, {0.903948, 0.841191}, - {-0.374723, 0.784422}, {0.270358, -0.432780}, {-1.131503, -0.204865}, - {0.998721, -0.562161}, {2.709929, 0.333403}, {0.277214, -0.599034}, - {-1.049311, 0.119009}, {-0.022257, -0.188019}, {1.186738, 0.666140}, - {0.855026, -0.173047}, {-0.518785, 0.244153}, {1.443967, 0.472201}, - {0.268845, 0.765957}, {-0.262575, -0.227543}, {-0.178477, -0.237919}, - {0.718803, -1.198294}, {0.296576, -0.928266}, {-0.265587, 0.333848}, - {0.004683, 0.050916}, {0.746835, -0.077362}, {-0.848756, 0.639052}, - {-0.435768, 0.677006}, {-0.761960, -0.673618}, {0.483697, -0.006953}, - {0.859446, 0.342013}, {0.652033, 1.150497}, {0.279404, 0.172724}, - {-1.654868, -0.062761}, {-0.628006, 1.229600}, {0.434866, 0.453249}, - {0.674872, -0.018098}, {-0.880481, 0.632858}, {0.357744, -1.100971}, - {0.576850, -0.473425}, {1.084853, -0.458153}, {-0.135107, -0.068785}, - {-0.519318, -1.097185}, {-0.391322, -0.857973}, {0.105697, 0.637781}, - {1.012647, 0.768231}, {0.032431, -0.712690}, {-0.204606, -0.459269}, - {0.385121, 0.683265}, {0.360634, -0.324071}, {0.146076, -0.206186}, - {-0.206886, -0.280858}, {0.331549, -0.657394}, {0.877392, 0.663666}, - {0.395278, 0.505377}, {0.756041, 0.859819}, {-0.571644, -0.580026}, - {0.612494, -0.767403}, {0.440062, -0.276920}, {0.205130, 0.951105}, - {-0.082089, 0.424510}, {-0.388500, -0.817454}, {-0.297097, -0.030734}, - {0.564334, 0.170313}, {-0.046735, -1.039128}, {0.236019, -0.606694}, - {0.580484, 0.228738}, {0.732596, 1.402753}, {0.684455, 0.312711}, - {-0.114287, 0.351727}, {0.132644, 0.482891}, {-0.052996, 0.413845}, - {-0.092510, 0.323390}, {-1.249163, 0.744762}, {-0.144000, -0.150784}, - {0.245751, -0.037541}, {-0.265020, 0.824606}, {0.166448, -0.503386}, - {0.221548, 1.011519}, {0.705554, 0.734803}, {-0.449412, 0.766934}, - {-0.041904, 0.103437}, {-0.589535, 0.745306}, {0.178707, 0.543289}, - {-0.049604, 0.417483}, {-1.320194, 0.671440}, {0.618327, 0.293337}, - {-0.035204, -0.955884}, {0.696789, 0.975314}, {0.335561, -0.397880}, - {-0.101238, -0.789334}, {-1.353433, 0.224343}, {-1.536268, 0.154368}, - {0.290941, 0.264984}, {0.054972, 0.497049}, {0.249733, 0.304852}, - {0.072880, 0.649790}, {-1.092497, -0.508302}, {-0.580980, -0.404179}, - {0.684158, 1.161387}, {1.027268, 0.419341}, {-0.575905, 0.422229}, - {-0.586725, 0.243471}, {1.044492, 0.197131}, {-0.818624, -0.339106}, - {1.028786, 0.649399}, {0.128927, 0.552989}, {-0.381191, -0.812393}, - {0.255808, -0.783620}, {-1.000067, -0.814667}, {0.937145, 0.594671}, - {-0.138406, 0.009326}, {0.646863, 0.329219}, {0.114717, 0.727041}, - {0.534733, -0.274257}, {-0.076583, 2.064369}, {-0.061055, 0.387069}, - {0.587603, -0.573761}, {-1.432342, 0.080705}, {0.517872, -0.933701}, - {0.257925, -1.369532}, {-0.882056, 0.033029}, {0.272729, -0.396548}, - {0.898916, 0.232792}, {-0.323588, 0.996638}, {1.414689, -0.936268}, - {-0.063766, 0.848570}, {-0.631058, -1.026964}, {0.144042, -0.577972}, - {0.620716, -0.672317}, {1.311640, 0.177935}, {0.355140, -0.394373}, - {-0.892820, 0.040002}, {0.669596, -1.423798}, {-0.728338, 0.281565}, - {-0.158685, -0.108162}, {0.294872, 0.143540}, {0.154297, 0.845158}, - {-0.614381, 0.567366}, {0.342103, 1.116219}, {0.264975, -1.064063}, - {-0.177622, -0.849517}, {-0.539107, 0.444928}, {0.552126, -0.015861}, - {-0.212621, 0.081190}, {-0.653462, -0.566566}, {0.092306, -0.221675}, - {1.100202, 0.129533}, {1.004146, 0.906987}, {-0.450678, -0.139092}, - {-0.041574, 0.880738}, {1.077768, 0.691243}, {0.683594, 1.009049}, - {-0.782169, 1.735141}, {0.450257, 0.439635}, {0.529029, 0.258264}, - {1.138549, 1.986809}, {-1.302507, 0.020303}, {-0.283556, 0.445303}, - {-0.718645, -0.162901}, {-0.043436, 0.596306}, {-0.253106, 1.007761}, - {0.511255, -0.417590}, {0.747033, 0.272022}, {-0.558437, -0.347778}, - {0.160240, -0.682185}, {-0.958911, -0.030034}, {-0.156077, 0.031554}, - {-1.151408, 0.317689}, {-0.063615, 0.309607}, {0.652097, -0.090736}, - {0.093596, 0.162455}, {-0.179022, 1.654394}, {-0.242415, -1.079423}, - {0.397297, -1.272118}, {-0.182965, 0.130558}, {-1.227359, 0.503225}, - {0.010313, 0.859745}, {-0.230950, -0.566212}, {-0.237624, 0.329725}, - {0.962370, -0.180738}, {-0.382887, -0.314282}, {-0.606405, 1.263377}, - {0.178244, -0.050770}, {1.157081, -0.144043}, {1.081460, -0.125683}, - {0.287172, 0.296327}, {-0.145758, 0.931086}, {-0.235046, 0.421208}, - {-0.476461, 0.823257}, {-0.425877, -0.436417}, {-0.164299, 0.097882}, - {0.438670, 0.627963}, {-0.690073, 0.733569}, {0.386280, -0.534213}, - {-1.074264, -0.832657}, {0.059724, 0.429346}, {0.241225, -1.310186}, - {-0.041200, -2.185164}, {0.104350, 0.419205}, {0.259056, -0.248550}, - {1.271667, 0.475120}, {-0.218242, 1.164193}, {0.346768, -0.150378}, - {-0.846548, 0.308488}, {-1.063304, -0.776317}, {1.166478, -0.454347}, - {0.033053, 0.179463}, {-0.332293, -0.312112}, {-0.403124, -0.863969}, - {-0.115242, 0.881201}, {-0.443942, -0.049482}, {0.576722, 0.121133}, - {1.115690, -0.395430}, {-0.967709, -0.283118}, {0.238138, 0.015244}, - {-0.346183, -0.321679}, {-0.184817, -0.803985}, {0.428226, -0.424139}, - {0.294728, 1.082187}, {0.146915, -0.379303}, {-0.524167, 0.099747}, - {0.586104, -0.292682}, {0.078394, 0.960573}, {1.670460, 0.570454}, - {0.535695, 0.279784}, {-0.059247, 1.179067}, {0.193284, 0.103453}, - {0.198475, 1.316057}, {-0.354204, -0.801039}, {-1.095112, -0.629114}, - {-0.739693, 0.109626}, {-0.669776, -1.101214}, {-1.119037, -0.827679}, - {-0.697044, 0.582501}, {0.670182, -0.339850}, {1.052632, -1.151181}, - {-0.013924, -0.148582}, {0.676350, -0.382496}, {-0.609900, 0.145339}, - {-0.467053, -1.060301}, {0.329805, 1.116336}, {-0.657195, -0.381897}, - {0.144469, 0.365412}, {-0.455678, 0.492839}, {0.164257, -0.588328}, - {-0.215978, -0.137108}, {0.885806, 0.550884}, {-0.512770, -0.358695}, - {-0.059087, 0.164926}, {-0.401278, -0.857801}, {0.648031, -0.168120}, - {-0.175814, -0.106801}, {1.103215, -0.147023}, {-0.173378, -1.161128}, - {0.048200, 0.186641}, {0.382578, 0.367532}, {0.470646, 0.681831}, - {-0.094808, 0.385076}, {-0.227419, -0.100211}, {0.752327, 1.031990}, - {0.325679, -0.929947}, {-1.252363, 0.747342}, {0.611128, 0.470173}, - {-0.717586, -0.267591}, {-1.351702, 0.677071}, {-0.216029, 0.531468}, - {0.115357, 0.016478}, {-1.068851, 1.084321}, {0.464010, 0.510275}, - {1.225770, -0.765537}, {0.508388, -0.879914}, {-0.865601, -0.344538}, - {0.685346, 0.515833}, {-0.637203, -0.617789}, {0.279486, -0.543520}, - {0.897987, -0.208160}, {-0.677693, -0.780875}, {-0.760403, 0.397810}, - {0.184177, 0.176928}, {-1.069590, -0.614911}, {-0.132476, 0.356640}, - {-0.036611, -1.348685}, {0.173300, 0.074283}, {0.665913, 0.252531}, - {0.876800, 0.368352}, {0.239620, 1.213974}, {0.392571, 0.197044}, - {1.445377, 1.168005}, {-0.351908, -1.245911}, {-0.200333, -0.246884}, - {1.165079, 0.269904}, {1.102148, 0.936739}, {0.415018, -0.692267}, - {0.695930, -0.610682}, {0.337706, -0.194200}, {-0.406360, -0.428313}, - {2.001919, 0.298601}, {0.040240, 0.021280}, {0.476985, -0.207150}, - {-0.955785, 2.342469}, {0.167188, 0.627934}, {0.278484, -0.586048}, - {-0.908941, 0.243936}, {-0.146000, -0.877617}, {0.192032, -0.244236}, - {0.975606, 0.244268}, {-0.170990, 0.257347}, {0.764497, -0.551919}, - {0.058791, 0.682466}, {0.065943, -0.984803}, {-0.912431, 0.368831}, - {0.855040, 0.067306}, {0.749915, -0.835586}, {0.838403, -1.238493}, - {-1.483938, -0.123001}, {-0.557550, -0.923933}, {-0.771014, 0.386390}, - {0.273899, -0.385988}, {0.750930, -0.659754}, {0.777048, 1.433688}, - {-0.209220, 0.937272}, {0.205420, -0.235356}, {0.414937, 0.418160}, - {0.718236, -0.451301}, {-0.186269, -1.322922}, {-1.920077, 0.476052}, - {-1.398596, 0.784435}, {-0.256580, 0.180031}, {-0.532659, 0.457304}, - {-0.384892, -0.039057}, {-0.055613, -0.548142}, {0.527916, 0.194822}, - {0.823368, -0.281136}, {0.619060, -1.874924}, {1.444115, 0.480538}, - {-0.819634, 0.380911}, {-0.423061, -0.352648}, {0.834671, 1.128296}, - {-0.327942, -0.116678}, {-0.313019, 0.264847}, {-0.887367, -0.196781}, - {0.102331, -0.425392}, {0.586136, -0.513125}, {-0.392544, 0.760032}, - {0.048821, -0.120578}, {-0.659257, 1.355152}, {0.071198, -0.123784}, - {-0.611575, -0.162787}, {0.600874, 0.427984}, {-0.438527, -0.718199}, - {1.021030, -0.206658}, {-0.040177, 0.469484}, {-0.097920, 0.431053}, - {-0.227448, 0.032859}, {0.438377, -0.490723}, {-0.127967, -0.318678}, - {0.530951, -0.205032}, {0.306926, -1.611728}, {-0.155619, 0.005610}, - {0.364185, 1.075986}, {-0.355830, 1.056994}, {-0.416081, 0.881061}, - {-0.168114, 0.891871}, {0.318273, 0.022034}, {0.045802, -0.498750}, - {0.874723, -0.261830}, {2.041322, 0.581367}, {-0.434688, -0.889884}, - {-0.625497, -1.424039}, {-0.916101, -0.012513}, {0.301928, -0.119459}, - {0.054875, 0.719308}, {0.113292, -0.985813}, {-0.256198, 1.240920}, - {0.110794, 0.058590}, {0.475235, 0.043136}, {0.265904, 0.466909}, - {0.569717, 1.513256}, {2.460579, 0.347629}, {-0.583997, -0.395316}, - {1.412936, -0.136881}, {0.257743, -0.020675}, {-0.773710, 0.598378}, - {-0.155740, 0.175291}, {0.708158, -0.303414}, {0.128797, -1.688465}, - {-0.944673, 0.178251}, {-0.419667, -0.800480}, {1.015229, 0.451624}, - {-0.563132, -0.098941}, {1.022619, 0.269203}, {0.544089, -0.558886}, - {0.285403, -0.945592}, {-0.249927, -0.639200}, {0.616154, 0.448953}, - {1.538937, 0.176176}, {-1.072722, -0.731432}, {2.202183, -1.085427}, - {-0.187007, 0.862339}, {-0.009781, -0.919787}, {0.882595, -0.224292}, - {0.328335, -1.466478}, {-0.425207, -0.406182}, {0.230537, 0.884368}, - {-0.295215, -0.639698}, {-1.490884, 0.427221}, {1.247354, 0.295467}, - {-0.810296, 0.889553}, {1.136726, 0.000428}, {-0.448626, -0.265578}, - {-0.375165, -0.970000}, {-0.029743, 1.329743}, {0.191118, -0.149061}, - {-1.198112, 0.166633}, {-1.072263, 0.604945}, {1.319951, 0.678233}, - {-0.286881, 1.447051}, {-0.000431, -0.790107}, {-0.927154, -0.720568}, - {1.244388, 0.126044}, {0.361372, -0.563810}, {1.786158, 0.068526}, - {0.652693, -0.233381}, {-0.956019, -0.446398}, {-1.257622, -0.253433}, - {0.262294, 0.421673}, {1.178025, 0.259483}, {-0.138056, 0.076554}, - {-0.338284, -0.760501}, {0.238752, -0.363470}, {-0.467720, -0.613917}, - {1.727196, -2.032936}, {0.453188, 1.148454}, {-0.860575, -0.211261}, - {-0.134673, -0.149191}, {0.089986, -0.837997}, {-0.421324, 0.572281}, - {-0.154263, 0.793297}, {-0.068541, -1.226925}, {-1.024731, 1.765286}, - {0.321293, -0.655162}, {-0.381602, 0.084867}, {-0.761043, 0.072325}, - {-0.153164, -0.580169}, {1.095428, -0.725517}, {-1.360859, -0.509727}, - {-0.015713, 1.146405}, {0.080499, 0.991718}, {-0.037406, 0.203660}, - {0.437657, 0.772791}, {-0.335827, -0.643198}, {-0.748036, 1.554296}, - {0.056139, 0.540525}, {0.855326, 1.251389}, {1.512833, 0.127560}, - {-0.335811, -0.685869}, {0.049175, -0.612331}, {0.744695, 0.303599}, - {0.086665, 0.554790}, {-1.437300, -0.698848}, {1.208241, 0.809530}, - {-0.368646, 0.188188}, {0.918053, 2.303752}, {0.542692, 0.198394}, - {0.895487, -1.142547}, {1.427584, -0.139881}, {0.366063, -0.559492}, - {0.615816, -0.518515}, {1.683531, 0.689662}, {-0.561367, 0.740093}, - {0.136173, 0.685102}, {0.676639, 0.746691}, {0.409337, -1.146213}, - {-0.636375, 0.027888}, {0.588745, 0.274056}, {-0.722872, 0.098504}, - {-0.671533, 0.012166}, {1.011527, 0.719796}, {0.081135, -0.237933}, - {-0.318500, 0.963256}, {-0.817222, 0.191993}, {-0.244338, 0.114244}, - {-0.596279, -0.365810}, {-0.075441, 1.479957}, {-0.791400, 0.528275}, - {0.028476, -0.288631}, {0.165929, -0.171160}, {0.275183, 0.915583}, - {0.295522, -0.680658}, {0.488326, 0.104785}, {-0.735568, -0.701452}, - {-0.082936, -1.234151}, {-0.944770, 0.415823}, {-0.723673, 0.661138}, - {0.020222, -0.209032}, {0.744207, 1.798693}, {-0.650645, 0.033519}, - {-1.346394, -1.296518}, {0.979960, -1.559900}, {0.346991, -0.097270}, - {0.844271, -0.832661}, {-0.627946, -0.340953}, {0.648317, -0.668772}, - {1.035056, 0.096494}, {-0.374343, 0.301709}, {-1.959191, 0.184104}, - {0.354760, 0.554715}, {0.461264, -0.291802}, {-1.445191, -0.676835}, - {-0.390066, 0.002849}, {-1.243483, -0.254016}, {0.756660, -0.152519}, - {0.449951, -0.361801}, {0.032053, 0.448066}, {0.301092, -0.018617}, - {0.919110, -1.106308}, {0.688230, -0.751883}, {1.443475, 0.290925}, - {-0.336814, -0.202997}, {0.194678, 0.132777}, {0.438428, -0.932498}, - {-0.005527, -1.612383}, {-0.065145, -0.331485}, {0.569241, 0.575176}, - {-0.973392, 0.141843}, {-2.301017, 0.881275}, {0.784561, 0.317932}, - {-0.077933, 0.914512}, {0.087316, -0.135682}, {0.092940, -1.181121}, - {-1.310608, 0.288132}, {-0.892082, -1.676985}, {0.916083, 0.042083}, - {-1.244578, 0.624427}, {-0.334890, 0.718718}, {-0.741767, -0.347100}, - {-0.416327, -0.223633}, {0.086690, 0.939596}, {0.888409, -0.085335}, - {0.625874, 1.037141}, {0.722036, -1.315310}, {-0.335910, -0.880128}, - {-0.565481, -0.047599}, {0.935371, -0.398854}, {-0.727068, 0.164967}, - {-0.431810, -0.025259}, {0.528973, 0.176538}, {-0.620117, -0.164306}, - {0.113693, -0.756706}, {-0.026549, -0.082517}, {0.366109, -0.935198}, - {0.574120, -0.696891}, {-0.329320, -1.004717}, {0.167355, -1.385869}, - {-1.184704, 0.231683}, {-1.687510, 0.741804}, {0.460393, 0.417694}, - {0.913381, -0.623551}, {-0.025182, 0.652840}, {0.149389, 1.580919}, - {0.046797, 0.067857}, {0.445068, -0.193108}, {-0.087060, 0.449112}, - {0.444716, 1.154858}, {-1.680048, -1.100377}, {0.060122, 1.288340}, - {1.811764, 0.294464}, {0.172455, 1.302739}, {-1.053456, -0.391417}, - {-0.932098, -1.179288}, {0.822615, 0.311778}, {-0.593686, -0.517305}, - {0.592373, -0.858691}, {-0.941357, 0.211116}, {-1.091715, -0.037219}, - {0.397495, 0.181766}, {-0.339179, -0.444183}, {0.202008, -0.835547}, - {0.707791, 0.284963}, {1.127548, 0.443368}, {0.320918, 0.693486}, - {-0.408938, -0.202700}, {-0.474738, -1.197323}, {0.196347, -0.186877}, - {0.133286, -0.981743}, {0.454869, -0.118595}, {-0.708891, 0.915489}, - {-0.124946, 0.257625}, {-0.013053, -1.262217}, {-0.816680, 0.357514}, - {-1.325378, -0.000513}, {-0.471835, -1.666112}, {0.006822, 0.861943}, - {-0.609116, 0.665514}, {-0.022823, -0.921185}, {0.334153, -0.307869}, - {-0.200664, 0.039748}, {-1.341585, -1.016766}, {-1.478115, -0.168005}, - {0.493183, -0.315358}, {0.320896, -0.265798}, {-0.410948, 0.749325}, - {0.493700, 0.609085}, {1.511312, -0.136707}, {-0.369151, -1.186832}, - {0.053669, -0.453470}, {-0.344181, 0.465001}, {-0.409580, 1.225758}, - {-0.040541, 0.314214}, {-0.563372, 0.154451}, {-0.296031, 0.128113}, - {-0.170489, -0.237342}, {0.484353, 0.541345}, {-0.281269, -1.163252}, - {-0.441618, -0.191346}, {-0.766963, -1.158696}, {0.683851, -0.047111}, - {0.085014, -1.047429}, {0.435402, -1.193670}, {0.723781, 0.086784}, - {0.117848, 0.731946}, {-1.001471, -0.568533}, {1.623786, -0.472448}, - {-0.405629, -0.440914}, {-0.867240, 0.860770}, {-1.370369, -0.367847}, - {-1.068700, 0.049127}, {-0.506801, 0.070046}, {-0.571468, -0.279030}, - {-0.936487, 0.177180}, {1.208152, 0.335738}, {0.547493, 0.278008}, - {-0.676350, 0.122804}, {0.881113, -0.622278}, {-0.997446, 0.228682}, - {0.374538, -1.112491}, {0.018405, 2.294138}, {0.190651, -0.275758}, - {-1.066702, 1.292937}, {0.453821, 1.500667}, {-0.003891, -0.058122}, - {0.483079, 1.838471}, {-0.535369, -0.173664}, {-1.069100, -0.694773}, - {-0.112032, -1.188326}, {0.855142, 0.212202}, {-1.308295, -0.165234}, - {-0.899488, -0.114441}, {-0.146224, 0.097630}, {-0.510277, 0.887175}, - {0.821703, 0.158980}, {0.853827, -0.985330}, {0.451970, 0.343768}, - {0.077419, -1.075895}, {-0.613300, 0.876653}, {-0.747934, 0.101782}, - {0.456308, -0.448831}, {0.704574, 0.516584}, {-0.123099, 0.328140}, - {0.934254, -0.065327}, {-0.598220, -0.151876}, {0.247193, -0.320853}, - {0.710846, 0.595196}, {1.133704, -0.279589}, {-0.213979, 0.300774}, - {-0.136586, -0.481220}, {-0.818138, 0.623683}, {0.492634, -0.509161}, - {0.233986, -0.216658}, {-1.803974, -0.101863}, {0.338246, -0.233200}, - {1.210916, -0.191023}, {-0.419416, 0.400604}, {0.174883, 0.361058}, - {0.041907, -0.084804}, {-0.565089, -0.646098}, {0.808848, -0.495713}, - {-0.880710, -0.067991}, {0.466173, -0.432444}, {0.326814, 0.655068}, - {1.323321, -1.755300}, {-0.246832, 0.422534}, {0.488638, 0.630369}, - {-0.672349, -0.571405}, {0.929277, 0.597525}, {0.295168, 1.180543}, - {-0.443439, -0.167602}, {0.850886, 0.731905}, {-0.130536, -1.019228}, - {0.667789, -0.245031}, {-0.048100, 0.713830}, {-0.693496, 1.039212}, - {-0.470569, -0.156852}, {1.071015, -0.851179}, {-0.141749, -0.228665}, - {0.133398, 0.157939}, {-0.920078, -0.522450}, {-1.336102, -2.023545}, - {0.189471, -0.546281}, {0.600537, -0.493998}, {0.253657, 0.643392}, - {-0.844469, 1.910885}, {0.805807, 0.277348}, {0.113829, -0.394163}, - {0.706544, 0.990309}, {0.166811, -1.066923}, {0.713167, 0.883103}, - {1.297380, -0.698009}, {0.182918, 0.196844}, {-0.582698, 0.320323}, - {1.179693, 1.053822}, {1.973986, 0.861945}, {0.831394, 0.372738}, - {0.036404, -1.044186}, {-0.322784, 0.736748}, {0.465765, 1.236812}, - {-0.094890, -0.910340}, {0.534838, 0.087896}, {-0.423018, 0.473497}, - {0.446821, -0.345740}, {1.370136, -0.313957}, {0.605235, -0.218558}, - {-0.312323, -0.331415}, {-0.957650, -0.174169}, {0.438262, 0.355984}, - {-0.630817, -0.585063}, {0.844182, 0.027599}, {0.255999, 0.290238}, - {0.195645, -0.309908}, {-0.361390, 0.759387}, {0.793257, -0.590533}, - {-0.272252, -0.825983}, {-0.524775, 1.002337}, {1.025595, 0.035075}, - {0.144336, 0.133347}, {-0.053176, -0.873734}, {-1.072797, -0.022777}, - {-0.201704, -0.812261}, {0.406989, 0.690699}, {0.167489, 0.337122}, - {0.954502, 0.132945}, {-0.234877, -1.122684}, {-0.713308, 0.242610}, - {0.993134, -0.224591}, {0.195455, 0.240318}, {0.176161, 0.919258}, - {-1.200962, 0.602950}, {0.146329, -0.178380}, {1.905485, 0.926800}, - {-1.213910, -0.046545}, {-0.712013, 0.163252}, {0.701015, 0.587351}, - {0.475746, -0.236882}, {0.681216, 1.077988}, {1.005624, 0.206876}, - {0.503490, 0.797294}, {-0.740207, -0.178577}, {0.049749, 0.215896}, - {0.121691, 0.231312}, {0.307603, 1.696005}, {0.149964, -0.357488}, - {-0.833350, 1.591904}, {-1.066643, -0.227741}, {-0.130385, 0.289346}, - {0.171775, 1.229285}, {0.499181, 0.204163}, {0.365325, 0.432717}, - {-1.116102, 1.193373}, {0.816269, 0.322493}, {0.044289, -0.038741}, - {-0.081816, -0.660226}, {0.209952, -0.440067}, {-0.585770, -1.303251}, - {-0.470685, 0.187163}, {-0.273317, -0.063477}, {1.701860, -0.310642}, - {0.235376, 0.741904}, {-1.391462, -0.818046}, {0.891559, 0.276066}, - {0.397528, -0.407250}, {-0.245719, 0.703900}, {0.408310, -1.425978}, - {0.984774, 0.218506}, {-0.226844, 0.404807}, {-0.478742, -0.640515}, - {0.194719, 1.070898}, {-0.421489, -1.495545}, {-0.285219, -0.021769}, - {0.805010, -0.178533}, {-1.462175, -0.074131}, {-0.012403, -0.230968}, - {1.614191, -0.155847}, {1.208571, -1.196227}, {-0.757660, 1.376246}, - {0.948323, -0.100899}, {-0.537264, 0.178661}, {-0.225242, -0.390378}, - {-2.111611, -0.388815}, {0.591711, 0.721370}, {-0.486270, -0.043296}, - {-0.354134, 0.102331}, {0.494296, 0.500110}, {0.977534, 0.912976}, - {0.083083, 0.580670}, {0.047811, -0.201119}, {-0.101871, 1.602735}, - {-0.299291, -0.338615}, {-0.517633, -0.181010}, {0.557599, -1.494308}, - {-1.180601, -0.754826}, {0.843726, 1.285523}, {0.248651, 1.227134}, - {0.385419, -1.487426}, {0.329802, 0.523718}, {0.832042, 2.344297}, - {-0.483497, -0.042848}, {-0.571850, 0.444970}, {0.578707, -0.332521}, - {-0.383466, 0.231784}, {0.026002, 1.355058}, {0.290971, -0.253279}, - {-0.280147, -0.381802}, {0.068319, -1.243266}, {1.056405, -0.214847}, - {-0.804678, 0.348259}, {-0.311298, -0.374442}, {-0.727188, 1.198522}, - {0.089518, 0.348222}, {0.016808, 0.138825}, {-0.165610, 0.734759}, - {-0.607876, 0.020547}, {-0.381076, 0.319154}, {0.771585, 2.282850}, - {-0.679082, -0.535810}, {0.922199, -0.104349}, {0.883859, 0.707429}, - {0.297841, -0.513259}, {-0.084643, 0.804522}, {0.051716, 0.095978}, - {-0.214681, -0.166287}, {0.681025, 0.064098}, {1.880843, 0.324433}, - {0.035759, 0.351759}, {-0.184237, 1.372837}, {0.089526, -0.380857}, - {1.314891, 0.090765}, {-0.166000, -0.408904}, {-0.487537, -0.303936}, - {1.403138, -0.027080}, {0.874409, -1.421801}, {-1.455847, -0.180022}, - {1.082291, 1.664879}, {0.071012, 0.797922}, {0.252097, -0.345585}, - {0.278979, 0.328135}, {0.096045, -0.823268}, {0.240866, 0.568270}, - {0.623840, 0.074629}, {1.197388, -0.864621}, {0.010140, 0.536038}, - {-0.936742, -0.311617}, {0.229416, 0.009804}, {-0.867776, 1.059319}, - {0.613966, 0.475140}, {-0.213434, 0.139105}, {0.725146, -0.742290}, - {0.106239, 0.386418}, {0.189119, -0.313432}, {-0.506237, -0.211804}, - {0.625359, 0.120521}, {0.723693, -0.672366}, {-0.960395, 0.399574}, - {0.120116, 0.211127}, {0.862921, -0.124087}, {1.083842, 1.379676}, - {-0.596075, -0.150507}, {1.813520, 0.153563}, {0.821543, 0.716422}, - {0.905501, 0.148319}, {-0.281616, 0.736664}, {0.523724, 0.771024}, - {0.736386, 0.335333}, {0.704974, -1.258289}, {0.230135, 0.149167}, - {-0.183667, 0.141978}, {0.343212, -0.472806}, {0.502101, -0.030266}, - {0.302980, -0.873466}, {-0.047585, 0.202728}, {-0.490690, -1.793145}, - {0.072517, 0.500160}, {0.574135, 0.273335}, {-0.679558, -0.481851}, - {-0.391140, 0.833001}, {0.007197, -0.476483}, {0.755864, 0.699900}, - {0.023659, 0.256314}, {-0.219938, -0.203388}, {-0.489864, 0.259189}, - {-1.006033, -0.103282}, {0.158715, -0.664053}, {-0.300183, -1.039796}, - {-1.321861, -0.637445}, {-0.720415, -0.327571}, {0.251887, -0.485211}, - {0.078411, -0.322993}, {0.056805, -0.293353}, {0.315853, -0.085568}, - {0.222705, 0.310332}, {-0.182731, -0.397738}, {-0.180319, 0.561981}, - {0.598215, -0.364178}, {-1.249949, -1.177746}, {-0.456053, -0.685671}, - {0.954583, 0.571800}, {1.014219, -1.278695}, {1.266613, 0.223437}, - {-0.283420, -0.474797}, {0.693306, -0.029207}, {0.273299, 0.133892}, - {0.532101, -0.320308}, {-0.594831, 0.406073}, {-0.005518, 0.766143}, - {0.147701, 0.838501}, {-0.745052, 0.749668}, {0.936722, 0.046095}, - {-0.921153, -0.296284}, {0.230717, 1.078411}, {-0.104489, 0.089344}, - {0.184105, 0.646882}, {0.829563, -0.030537}, {0.646903, -1.032258}, - {-0.266078, -0.192410}, {0.430983, -0.751174}, {-0.369734, 0.154678}, - {1.027273, -1.123325}, {-0.284810, -0.673581}, {-0.198272, 0.710599}, - {-0.664385, 0.828056}, {-1.078880, 0.714872}, {-0.474676, 0.242386}, - {0.680091, -0.410467}, {-0.127690, -0.562865}, {-0.234136, -1.291910}, - {-0.304469, -0.626725}, {0.530474, 0.566233}, {-0.109255, -0.557004}, - {0.087012, 0.988810}, {-0.750837, -1.577521}, {0.347408, -0.389814}, - {1.437412, 0.283755}, {-0.159056, 1.128835}, {0.004413, -0.144927}, - {0.088644, -0.027569}, {-0.079487, -0.229503}, {0.870379, -0.028245}, - {-0.138882, 1.645245}, {-0.177149, -0.495996}, {-0.040567, -0.960823}, - {0.701093, -0.753669}, {-0.268945, 0.477653}, {0.519034, -0.856936}, - {1.010434, 0.014817}, {0.314739, 0.141389}, {0.838768, 0.270923}, - {-0.922034, 0.148587}, {0.537647, 1.022497}, {-0.184456, 0.248540}, - {-0.702941, 0.129272}, {-1.199959, -0.484713}, {0.775146, 0.641877}, - {1.355787, -0.061010}, {-0.273411, -0.344273}, {-0.079652, -0.580078}, - {-0.294108, 0.383430}, {-0.663756, 0.764663}, {-0.029209, 0.187390}, - {0.458825, 0.020946}, {-0.759974, -0.072059}, {-0.762552, 2.339859}, - {-0.691081, 0.637021}, {0.066676, -0.267145}, {-0.000870, -0.130399}, - {-0.128295, -0.090600}, {0.434282, -1.040424}, {0.064080, 0.311479}, - {0.445593, -1.427874}, {0.309938, 0.341331}, {-0.668997, 0.293917}, - {1.532275, 0.452357}, {1.468994, 0.022104}, {-0.581643, 1.003752}, - {0.923086, 0.272041}, {0.469483, 0.205555}, {0.066270, 1.032433}, - {-0.223936, 0.193990}, {0.722656, 0.900099}, {-0.460502, 0.026773}, - {0.264304, 0.263321}, {0.011564, 0.998830}, {-0.852220, -0.735707}, - {-0.367962, 0.277292}, {0.912905, -0.022560}, {0.474794, -0.033505}, - {0.383646, 0.014366}, {-0.147667, -0.066343}, {0.496019, -0.698605}, - {0.466197, 0.778409}, {-0.005985, -0.917034}, {0.364603, -1.005913}, - {-1.127720, -0.496130}, {0.530754, -0.710343}, {0.817573, -0.478350}, - {1.542207, 1.147533}, {-1.015912, -0.392767}, {-0.528064, -1.332638}, - {-1.655403, 0.790160}, {-0.192199, 0.863973}, {-0.148335, 1.398748}, - {0.231018, -0.580136}, {-0.028057, 0.350163}, {-0.078239, -0.095824}, - {-0.368671, -0.118777}, {0.143814, 0.563598}, {-0.286646, -1.756129}, - {0.331342, 0.411717}, {0.402591, 0.419929}, {0.267689, 0.344904}, - {-0.737596, 0.808101}, {-1.479648, -0.212449}, {0.354386, 1.310559}, - {-0.676218, -1.049757}, {-0.115748, -1.162720}, {-0.325709, -1.636897}, - {0.093754, 0.067673}, {-0.266273, -1.083043}, {-0.366387, -0.814048}, - {-0.315910, 0.796504}, {1.358526, 0.414087}, {-0.674816, -0.587575}, - {-1.084357, -0.761996}, {1.170537, -1.118362}, {-0.888671, -0.372056}, - {0.206631, -0.197368}, {0.151309, -0.017645}, {-0.639638, -0.158684}, - {-0.818429, -0.799644}, {0.193617, 0.138892}, {-0.330140, 0.508120}, - {-1.023892, -0.005087}, {-0.492779, -0.242526}, {1.190477, 0.548598}, - {0.380355, -0.428248}, {-0.443627, 0.322194}, {0.643475, -0.610225}, - {1.639932, 0.217874}, {-0.075206, -0.891935}, {0.472977, 0.806206}, - {-0.049387, 0.521157}, {0.775513, 1.120129}, {-0.820993, -0.580519}, - {0.787248, 0.471905}, {1.982564, -0.239183}, {0.036994, -0.084856}, - {0.397587, -0.108305}, {0.717829, -0.658020}, {0.096854, -1.073618}, - {-0.247410, 0.105690}, {-0.636805, -0.001866}, {0.249262, 0.170546}, - {-1.384929, -0.181014}, {0.394318, -0.470332}, {0.312685, -0.971393}, - {0.126831, 1.201348}, {-0.741448, -0.364570}, {0.885990, -0.170062}, - {0.946030, 0.048529}, {-0.814388, 0.775904}, {0.365165, -0.393381}, - {-0.910022, -0.285627}, {-1.692124, -0.058729}, {-1.176468, 0.344140}, - {-0.680828, -0.802456}, {1.430130, -1.167865}, {-1.009736, -0.292885}, - {0.780604, 0.117665}, {-1.183708, -0.191115}, {-1.109502, -2.955782}, - {-0.679155, -0.425963}, {-0.478117, -0.857997}, {0.559869, 1.189793}, - {0.693475, 0.705402}, {-0.069617, -0.231592}, {-0.824859, -0.475262}, - {-0.613227, 0.171012}, {-0.972368, -0.750733}, {0.572478, -0.362034}, - {0.400015, 0.093211}, {-0.664619, -0.115371}, {1.629905, 1.260396}, - {-0.887239, -0.880451}, {-0.475993, 1.783962}, {-0.535449, 0.374335}, - {-0.268655, 0.381528}, {-0.048788, 0.080243}, {-0.263956, 0.156544}, - {-0.201047, -0.681716}, {0.007541, -0.270714}, {0.968368, -1.040116}, - {1.598093, -0.868513}, {0.608883, -0.925775}, {-0.292500, 0.359309}, - {0.781647, -1.854675}, {-0.048384, -0.358500}, {-0.045277, 0.182846}, - {0.702542, -0.682803}, {-1.310088, 0.288354}, {-1.111262, -0.253839}, - {-0.610601, 0.629673}, {-0.077137, -0.288207}, {-1.248534, -0.678787}, - {0.589672, -0.209868}, {0.328118, 0.280762}, {-0.130254, 0.359489}, - {-1.191280, -0.282377}, {-0.727137, 0.795181}, {-0.332298, 0.545214}, - {0.449265, 0.809670}, {-1.176652, 0.024432}, {-0.444225, 0.247852}, - {-0.493719, -0.443957}, {0.490093, -0.462030}, {0.894083, -0.428290}, - {-0.808464, 0.061714}, {-0.438031, -0.880389}, {-0.374120, -0.133532}, - {0.109504, 0.714367}, {1.199793, -0.870295}, {-0.016396, 1.234340}, - {0.176536, 0.170704}, {1.583727, -1.037287}, {-0.408359, 0.192187}, - {-0.716863, -0.030518}, {-0.087939, -0.157292}, {0.233970, -0.789071}, - {0.448874, -0.318136}, {-0.001706, 0.203524}, {-0.583113, 0.483299}, - {0.032509, -1.159109}, {0.243543, -1.545598}, {0.963137, -1.858378}, - {-0.433912, 0.106663}, {-0.584636, -0.554822}, {-0.169820, 0.694442}, - {-0.694692, -1.420531}, {0.124368, 0.308158}, {-0.371740, -1.256747}, - {-0.371259, -0.345713}, {-0.080108, -0.248600}, {-0.508996, -0.502867}, - {-0.259720, -1.107589}, {-0.479506, -0.625836}, {-0.966428, -1.108758}, - {0.199396, 0.684562}, {-0.139579, -0.532375}, {-0.671940, 1.263705}, - {0.583387, -0.545125}, {0.594017, 0.135560}, {0.295089, -0.517450}, - {0.227495, -0.116494}, {-0.278437, 0.070346}, {1.252146, 0.161429}, - {-0.719420, -0.400126}, {0.411649, 0.672294}, {-0.067492, -0.147642}, - {0.773465, 0.447213}, {-0.096564, 0.687259}, {0.223581, -0.672181}, - {-1.189369, -1.012300}, {0.378992, -1.602545}, {0.528201, -0.184505}, - {0.555361, -0.073704}, {0.641793, -0.149102}, {0.614789, 0.145011}, - {-0.014245, 0.835852}, {-0.433430, -0.150091}, {1.265735, -0.171617}, - {0.424119, 0.261458}, {0.543597, -0.019062}, {0.106955, -0.352852}, - {0.259824, -1.044464}, {-0.134395, 1.294968}, {0.614190, 0.103061}, - {-0.472730, 0.440592}, {0.026255, 1.541770}, {-0.680532, 0.748520}, - {-1.652447, -0.981050}, {1.530492, 0.410946}, {0.590749, -0.057968}, - {-0.204753, -0.053539}, {-0.146540, 0.407365}, {-0.589178, -0.794021}, - {1.057477, 0.390612}, {-0.318475, 0.110593}, {0.860875, -0.484007}, - {-0.853862, -0.303066}, {-0.640767, -0.247635}, {-0.661993, 0.487274}, - {-0.132963, -0.470698}, {0.276424, 0.103581}, {0.269608, -1.122638}, - {-1.094199, 0.419837}, {0.466955, -0.942801}, {1.061330, -0.773058}, - {0.504520, 0.613301}, {0.975902, 0.530381}, {-0.030956, 0.526710}, - {0.231220, -1.339298}, {-0.011487, 0.006031}, {-0.018207, -1.410146}, - {-0.042725, -1.430596}, {0.082844, 0.468408}, {-0.592661, 0.098480}, - {0.011226, 0.279928}, {0.032576, -1.292298}, {-1.290445, 0.847037}, - {0.901504, -0.435370}, {-0.728679, -1.694385}, {0.869029, 1.438773}, - {0.348432, 0.771641}, {0.433021, -0.359444}, {-0.716851, -1.686122}, - {0.654974, -0.546823}, {-0.288514, 0.307206}, {0.656826, 0.217168}, - {-0.688401, 0.403697}, {-0.151237, -0.641147}, {0.280761, -0.025080}, - {1.352524, 0.262260}, {-1.020794, 0.502821}, {-0.308908, -0.753609}, - {-1.227055, -0.566285}, {1.246124, -1.216215}, {-0.096449, -0.082642}, - {-0.582940, 0.409202}, {-0.297638, 0.527261}, {-0.473862, -0.847413}, - {0.493371, 0.316474}, {-0.505728, -0.462956}, {-0.595404, -0.478184}, - {0.282216, -0.370408}, {-0.648353, 2.154436}, {0.388833, -1.448003}, - {0.520432, 0.059147}, {-0.013529, 0.455994}, {0.939385, -0.134557}, - {0.620260, 0.444285}, {0.242877, -0.212567}, {0.864014, 1.110652}, - {-0.433176, 0.148295}, {-0.467423, 0.654889}, {0.385444, 0.838910}, - {-0.451962, -0.686281}, {-0.028356, 1.160879}, {-0.420737, 0.282096}, - {0.276441, 0.183335}, {0.644401, 0.809729}, {-0.038628, -0.032380}, - {-0.689183, 0.615413}, {0.685082, 0.193192}, {0.603120, -0.720557}, - {0.575454, -0.298269}, {-0.336636, 0.032836}, {1.167203, -0.640395}, - {-1.086856, -0.481934}, {1.008476, 1.002123}, {-0.884676, 0.816595}, - {1.107577, -0.884024}, {0.478516, -0.707394}, {0.258192, -0.748370}, - {-0.741356, 0.392670}, {0.705741, -0.514239}, {0.153360, 0.250206}, - {0.332233, 0.401451}, {-0.810436, 0.247146}, {0.382241, 0.492063}, - {-0.120140, -0.666149}, {0.219067, -0.351762}, {0.503475, 0.143766}, - {1.810909, -0.522492}, {0.914236, 1.024772}, {-0.001545, 0.951413}, - {-0.361359, -0.703397}, {-0.790543, -0.080398}, {-0.124326, 0.712994}, - {0.989520, 0.282750}, {-0.639085, -0.593687}, {0.532412, 0.985720}, - {-0.814493, -0.684384}, {-0.335779, -0.770313}, {-1.021545, 0.405681}, - {-0.711770, -1.295042}, {0.875563, -0.431312}, {-1.424888, 0.070227}, - {0.041671, 0.512540}, {0.560060, -1.156517}, {0.495886, 0.815220}, - {0.932619, 0.063747}, {0.015802, -0.313213}, {0.849039, 0.928043}, - {-1.711563, -0.070807}, {-0.666807, -0.065413}, {1.336124, 0.298359}, - {-1.465749, 1.267894}, {0.643581, 0.208283}, {-0.027162, 0.285537}, - {0.727538, 0.592374}, {-1.035589, 0.161733}, {-0.093690, -1.111324}, - {-0.118812, -0.492105}, {-0.310044, 0.136076}, {0.423281, 0.738354}, - {-0.332121, -1.129243}, {0.821705, -1.094517}, {0.034405, -0.125589}, - {-1.061441, -0.025527}, {0.262581, 0.337586}, {0.089369, -0.030417}, - {0.001538, -0.262250}, {-0.603561, 0.120004}, {-0.666026, -0.523188}, - {-0.604976, 0.661149}, {0.424495, 0.063530}, {-0.459048, 0.273275}, - {-0.759139, -1.058355}, {0.788408, -0.233671}, {0.420774, -0.023008}, - {-0.057270, -0.647363}, {0.332215, -0.161691}, {-0.241240, 0.285908}, - {-2.248124, -1.075027}, {1.897230, 1.332517}, {-1.000960, -0.341355}, - {-0.764357, 0.742789}, {-0.430048, 0.351628}, {-0.758480, -1.168399}, - {-0.435465, -1.025082}, {-0.031475, 1.442605}, {-0.098961, 0.902862}, - {-1.182562, 1.622450}, {-0.779323, 0.082419}, {0.456925, 0.197176}, - {-0.508334, -0.322065}, {0.508929, 1.414049}, {0.831596, -0.269084}, - {-0.557522, 0.829015}, {-0.307706, 1.811900}, {0.522715, 0.538211}, - {-0.007168, -0.369323}, {-0.617961, 0.598800}, {-0.978429, -1.276183}, - {-0.311683, -0.168769}, {0.813820, -0.732024}, {1.620090, 0.776415}, - {-0.244712, -0.030740}, {0.423419, 0.437735}, {-0.438972, 0.722604}, - {-0.882370, -0.599715}, {0.861613, 0.144139}, {0.794431, -0.119300}, - {0.174561, 0.355555}, {-0.691546, 0.900205}, {0.994296, 1.262278}, - {-0.693701, 0.809946}, {0.153439, 0.433443}, {-0.125105, -0.519678}, - {0.091914, 0.929540}, {0.307382, 1.281497}, {-0.219573, -0.230141}, - {0.323594, 0.781383}, {0.898631, 0.775206}, {0.511558, -0.475861}, - {0.097796, -0.356711}, {0.279638, 1.045159}, {1.270842, -0.511080}, - {-0.082679, 0.240138}, {0.568139, -0.004501}, {0.109403, -0.183895}, - {-0.739424, 1.048188}, {-0.054909, -0.730640}, {-0.107852, -0.216831}, - {0.685852, -0.120568}, {1.372181, 0.079369}, {-0.057168, -1.475400}, - {1.379104, -0.416757}, {0.674217, 0.132367}, {0.823818, 0.008095}, - {-0.227594, -1.181870}, {0.154429, -0.278722}, {-0.380589, 1.327236}, - {0.953822, -0.415279}, {0.523925, -0.065958}, {-0.336928, 0.243956}, - {0.552334, 0.546455}, {1.968980, -0.255377}, {0.071926, -0.528260}, - {-0.242553, 0.409914}, {0.794756, -0.821838}, {0.670664, -0.016080}, - {-0.195775, -0.420098}, {-0.437345, -0.444139}, {0.929108, 0.038056}, - {-0.034900, 0.359362}, {-0.646337, 0.250061}, {0.164494, -0.964178}, - {0.217552, -0.079574}, {0.616784, -0.219605}, {0.274625, 0.461819}, - {0.600045, 0.609724}, {-0.227316, 0.212501}, {-0.681566, -0.149931}, - {0.613788, 0.331795}, {-0.746826, -0.495927}, {-0.352302, -0.492596}, - {-0.234966, -0.714624}, {0.209031, 0.429705}, {0.909196, -0.574662}, - {-0.264863, 1.129618}, {-0.418314, 0.193085}, {0.140225, -0.055672}, - {-0.259935, 0.107007}, {0.577398, -0.501482}, {-0.700274, 0.431435}, - {-0.320978, -1.214359}, {0.040677, -0.504970}, {0.621603, 0.489428}, - {-0.775181, 0.755810}, {-0.449114, -0.259854}, {-0.964709, -0.189900}, - {0.571927, -0.612827}, {-0.510919, 0.532547}, {1.043521, 0.076593}, - {0.559284, 1.091596}, {0.385705, -0.620434}, {-0.281876, 1.139602}, - {0.696445, 0.461885}, {0.144423, -0.355093}, {-1.477952, 0.389119}, - {1.033198, -0.665606}, {0.301267, 0.413149}, {-0.437421, 1.527053}, - {-0.688981, 0.779191}, {-0.736537, -0.869510}, {0.633416, 0.485837}, - {-0.217942, -0.604167}, {0.052318, -0.432202}, {-0.404016, 0.007563}, - {0.371806, 0.924113}, {0.685100, 0.792052}, {0.338713, -1.831682}, - {0.116368, -0.901689}, {0.859729, -0.187662}, {0.532246, -0.609526}, - {-0.252737, 0.583202}, {0.802405, -0.891543}, {-0.657884, -1.409923}, - {-1.011401, -0.576367}, {-0.518947, 0.454590}, {-0.760309, 0.886904}, - {0.551054, 0.077816}, {-0.056155, -0.399365}, {-1.188687, -0.144384}, - {0.348530, -0.718497}, {0.040766, 0.421674}, {0.054193, -1.058049}, - {-0.703027, 0.823753}, {0.674644, 0.568892}, {0.653971, -0.029957}, - {-0.330844, 0.894927}, {-0.355906, 0.469251}, {-0.548867, 1.196719}, - {-0.316741, -0.112885}, {-0.050654, -1.074386}, {-0.458463, -0.052899}, - {-0.323981, -0.056114}, {-1.226962, -0.781318}, {-0.793700, 0.814978}, - {0.588809, 0.468163}, {0.297339, 0.292342}, {-1.189165, -0.848667}, - {-0.401703, -0.893584}, {0.275424, 0.119550}, {-0.152022, -0.594732}, - {-0.937268, 0.649621}, {0.139979, 0.423321}, {-0.267033, -0.061451}, - {0.460158, 0.411101}, {0.102352, 0.520000}, {-0.670053, 0.131062}, - {-0.547779, -1.300149}, {1.065430, -1.272432}, {0.850852, -1.537153}, - {-0.127321, -0.412569}, {0.497995, -0.760964}, {0.618018, -0.962779}, - {-0.367868, 0.358651}, {0.418133, -0.031711}, {0.827988, -0.299697}, - {0.418025, -0.080342}, {0.227770, -0.733112}, {-0.522901, 0.220810}, - {0.036422, -0.204918}, {1.192243, -0.320297}, {0.640624, -2.005424}, - {1.277127, 0.447780}, {-0.277087, 0.657680}, {-0.277141, 0.773988}, - {-1.130237, 0.935414}, {0.284414, 0.813877}, {-0.174957, 1.139543}, - {0.300714, -0.749478}, {1.404330, -1.232405}, {-0.313154, -0.213062}, - {0.652658, 0.241568}, {1.120691, 0.518463}, {0.224488, -0.153773}, - {0.375402, 0.482763}, {0.435975, 0.236790}, {1.127072, -0.422277}, - {0.580361, 1.063162}, {-0.955583, 0.064231}, {-1.802524, 0.616951}, - {0.463128, -0.562220}, {0.556800, 0.473310}, {0.658684, -0.639963}, - {-0.085954, -1.135439}, {-0.243128, -0.126796}, {-0.207362, -0.333691}, - {0.056183, -0.707808}, {0.902377, -0.681407}, {0.152853, 0.619626}, - {-0.603487, 0.293431}, {0.133038, -0.379933}, {0.264123, -0.101897}, - {0.861720, 1.091886}, {-0.479815, -0.165089}, {-0.508836, 0.900798}, - {-1.131878, 0.459296}, {0.037585, 1.004276}, {-0.480040, 0.214050}, - {0.156506, -0.222274}, {0.690720, 0.133503}, {0.429938, -0.394251}, - {-0.791723, -0.605653}, {-0.554200, -0.418231}, {-0.655144, -0.346624}, - {0.054409, 0.359821}, {-0.198795, -0.563282}, {0.006104, 0.725420}, - {-0.447277, 0.540059}, {-0.240985, 0.280044}, {0.637304, -0.116014}, - {1.381762, 0.955712}, {-0.148803, 0.395996}, {0.461393, 0.840140}, - {-0.627308, -0.418263}, {-2.171597, -0.599572}, {0.080969, 0.894764}, - {0.237331, -0.687851}, {0.226158, -0.331895}, {0.210506, -0.350461}, - {-0.043257, -0.021596}, {0.551392, 0.221253}, {0.410879, -0.257200}, - {0.735420, 0.692801}, {-0.812522, 0.436671}, {-1.425556, -0.022695}, - {1.337264, -0.118216}, {-0.196561, -1.121436}, {-1.635570, -0.545684}, - {-0.259296, 0.302864}, {0.233845, 0.231713}, {-1.369904, 0.069084}, - {0.310104, 0.568822}, {-0.074240, -0.389091}, {0.513558, 0.016256}, - {0.154059, -0.551779}, {0.139022, 0.002589}, {1.252789, -1.075694}, - {-0.357876, 0.779981}, {-0.057981, -0.578702}, {-0.348248, -0.564724}, - {-0.281181, 0.160394}, {0.755197, -1.493796}, {0.349744, -0.585402}, - {-0.097265, 0.568082}, {-1.207000, 0.702378}, {-1.086582, 0.502455}, - {-0.274557, -0.175564}, {-0.663327, -1.099270}, {0.025018, -0.858302}, - {0.251512, 0.181174}, {0.948731, 0.438021}, {0.278818, -0.736799}, - {0.384640, 0.133641}, {-0.269113, 0.522492}, {-0.192256, 0.710115}, - {0.052306, 0.974402}, {0.154651, -0.268357}, {-0.131640, 0.099690}, - {-1.309976, -0.291957}, {0.346624, 0.382487}, {0.516366, 0.707133}, - {0.697076, 1.540016}, {0.490790, -0.397012}, {1.123760, 0.916850}, - {0.515663, 0.434250}, {-1.638678, -0.176421}, {1.167902, -0.355185}, - {-0.264941, 1.971705}, {0.745419, -0.542922}, {-0.754792, -0.652504}, - {1.369699, -0.283123}, {-0.372842, -0.062135}, {-0.746602, -1.311843}, - {0.620061, -0.729972}, {-0.014445, -0.658271}, {0.344167, 0.003698}, - {-0.842281, 1.037953}, {-0.843122, -0.523207}, {-0.318300, -0.179022}, - {-0.323143, 0.019886}, {0.430288, 0.041221}, {0.360478, 0.640265}, - {0.483503, -0.160184}, {0.244137, 1.233902}, {-0.545883, 0.318665}, - {0.247693, -0.469566}, {-0.321296, 0.284737}, {1.147200, 0.641921}, - {1.216635, 0.890397}, {0.486701, 0.456830}, {0.550060, -0.222243}, - {-1.397045, 0.187919}, {0.912252, -0.441861}, {1.245188, -0.318386}, - {-1.140431, 0.133960}, {-0.223423, -0.543275}, {-0.259693, 0.710342}, - {0.100516, 0.525350}, {-0.101837, -0.378891}, {0.004744, -0.651883}, - {0.701837, 0.505055}, {1.259750, 0.414716}, {1.619510, -0.525369}, - {-0.927012, 0.502818}, {-0.687559, 0.774157}, {-1.015032, 0.154981}, - {0.783957, 0.857966}, {1.055951, 1.123508}, {0.124867, -1.198195}, - {-0.122501, -0.319462}, {0.522490, 1.035699}, {0.047462, -1.064514}, - {-0.069016, -0.011192}, {-0.061777, 0.932923}, {-0.496995, 0.483659}, - {0.960503, 0.102691}, {-0.858251, -0.587168}, {-0.679635, -1.149459}, - {0.778286, 0.086740}, {-0.797912, 0.786926}, {0.043148, -1.618909}, - {0.354889, 1.345281}, {1.176276, -0.529673}, {0.612892, 1.322230}, - {0.784053, -1.188249}, {-0.921667, 1.036610}, {-0.328724, -0.039212}, - {0.462540, 1.173392}, {-0.104801, -0.346268}, {-0.531985, 0.372684}, - {-0.788000, 0.243345}, {0.882742, -0.834651}, {0.691050, 0.394536}, - {-0.122631, 0.586303}, {-1.264893, -0.525182}, {0.461967, 0.151354}, - {0.776068, 0.123712}, {0.063297, 0.200959}, {0.136792, -0.138604}, - {-0.573293, 0.711280}, {0.738962, -1.300857}, {0.159731, -0.141142}, - {-0.359106, -0.029247}, {-1.076380, 0.376036}, {0.572506, -0.942929}, - {0.367264, 0.437083}, {-0.507908, -0.742628}, {-0.012061, 0.227037}, - {-0.747644, -0.353159}, {-0.998729, -0.220973}, {-0.587253, -0.390827}, - {-0.094152, 0.756393}, {0.448719, 0.149999}, {-0.218918, -0.048559}, - {-0.015560, -0.440495}, {1.434334, -1.392218}, {0.077947, -0.359505}, - {1.786997, -0.312543}, {0.255695, -0.381884}, {-0.301675, -0.104294}, - {0.700752, 0.109512}, {0.170083, 1.699975}, {-0.434933, 0.267685}, - {0.402053, -0.343667}, {0.698429, 0.834043}, {-0.331847, -0.731839}, - {-1.146666, -0.701629}, {-0.002935, 0.704111}, {0.205245, 0.690760}, - {-0.683238, 0.215240}, {-0.646288, 0.694404}, {0.325711, -0.046830}, - {0.592448, -0.308384}, {1.529366, -0.987481}, {-0.295320, -0.271241}, - {0.729563, -0.167488}, {0.642193, -0.120176}, {-1.548146, 0.885333}, - {0.351531, 0.897226}, {1.595430, 1.246450}, {-0.486378, -0.288596}, - {-0.302011, 0.618312}, {0.182741, 0.420557}, {1.113837, 0.316246}, - {0.527597, 0.254757}, {1.415948, -0.051085}, {0.520356, -0.721367}, - {-0.144424, 0.705921}, {-0.070251, -1.038962}, {-0.218357, 1.041630}, - {0.729530, -0.690915}, {0.128689, 0.314481}, {-0.117418, 0.402299}, - {0.241349, -0.167075}, {0.360539, 0.711009}, {-0.001491, 0.204478}, - {0.487177, -0.385142}, {0.480899, 0.083528}, {0.905059, -0.668149}, - {0.473028, 0.683468}, {0.048413, -0.513762}, {0.392684, -0.016979}, - {0.008658, -0.397690}, {0.312022, -0.290086}, {-0.224513, -0.203352}, - {-0.700904, 1.285464}, {-0.209541, 0.152510}, {-0.689456, 0.082655}, - {-0.090242, 0.461600}, {-0.012036, -0.301713}, {-0.301809, 1.238924}, - {-0.329893, -0.021590}, {0.223851, 0.421586}, {0.317937, 1.311734}, - {0.075659, -1.100616}, {0.582116, 0.136126}, {-0.364256, -0.625304}, - {0.014662, -0.234577}, {-1.092968, 0.618389}, {-0.238227, -0.574362}, - {-0.417061, -1.373738}, {-0.534463, 0.792450}, {-0.112449, -0.282805}, - {-0.579626, 0.953945}, {-0.737441, -1.782889}, {-0.761315, -0.665039}, - {-0.230262, 0.334866}, {-1.640518, 0.345659}, {-0.183278, 1.207714}, - {-0.155715, 0.262073}, {0.495034, 0.977896}, {0.267491, 0.395822}, - {0.020021, -0.525175}, {-0.409405, 0.155372}, {-0.637273, 0.397385}, - {0.569432, -0.826493}, {-0.300224, -0.571919}, {-0.419535, 0.627416}, - {-0.670691, 0.736638}, {0.148186, 0.842415}, {-1.898319, 0.635542}, - {-0.194627, -0.501422}, {0.649891, 0.952195}, {-0.213436, -0.681949}, - {-0.868013, -1.363636}, {0.613184, -1.017739}, {-0.840052, -1.564144}, - {0.723446, -0.354610}, {0.654592, -0.818130}, {-0.712827, -0.762259}, - {0.166346, 0.489915}, {-0.302822, -0.693097}, {1.358446, -1.355483}, - {-1.139428, 0.086305}, {-1.082740, 1.498861}, {-0.329648, 0.147864}, - {-0.174769, -0.118863}, {0.845277, -0.480739}, {-0.289794, -0.173351}, - {0.837552, -0.021153}, {-0.033429, 0.650532}, {-0.718426, -0.668466}, - {-0.238433, 0.483005}, {-0.720576, -0.226939}, {-0.565185, -0.899305}, - {-0.586429, -0.847011}, {0.948211, -1.151628}, {0.079392, -1.199359}, - {-0.196210, -0.018502}, {0.092218, -0.902690}, {0.545633, -0.702880}, - {0.953190, -0.244621}, {-0.122974, -0.872691}, {1.001723, 0.399548}, - {0.773129, 0.292586}, {0.369522, 1.099643}, {-0.128016, 0.145086}, - {0.432098, -0.694186}, {0.830267, -0.548718}, {0.960296, -0.000663}, - {0.811884, 0.184881}, {-1.071500, 0.409177}, {0.738243, 0.409131}, - {0.073622, 0.031693}, {-0.046745, 0.274024}, {-0.115489, -0.411869}, - {0.216582, -0.319286}, {0.753995, -0.498359}, {-0.216480, -1.134280}, - {-0.021988, -0.433786}, {-0.327947, 0.395941}, {0.075096, -0.558661}, - {-1.031386, -0.090874}, {0.661876, 0.234726}, {-0.032586, -0.957959}, - {0.675562, -0.062058}, {0.089478, 0.117239}, {0.758516, -1.036737}, - {0.363183, -0.269026}, {0.465104, 0.683736}, {0.515043, 0.202359}, - {1.572937, -1.193864}, {-0.456658, -0.051996}, {-0.262883, -0.004140}, - {1.536223, -0.941011}, {0.241501, -1.081946}, {0.376242, -0.059869}, - {1.661854, -0.122313}, {-0.171189, -0.902749}, {0.163209, 0.109854}, - {0.838006, -0.570945}, {-0.403151, 0.401615}, {-0.941536, 0.224667}, - {0.254770, 0.119757}, {0.010017, 0.650252}, {-0.849219, -0.093818}, - {0.438965, 0.528280}, {0.585909, 0.170241}, {-0.231668, -0.647083}, - {-0.812408, -0.241565}, {-0.270441, -0.747414}, {0.351427, -0.136789}, - {-0.454502, -1.594160}, {-0.128552, -0.381218}, {0.852571, 0.550196}, - {-0.082519, -0.975152}, {-0.118825, -0.587947}, {0.118019, 0.174990}, - {0.977679, 0.989980}, {-0.687867, 0.152383}, {1.597743, 0.880373}, - {-0.926928, -0.305081}, {-0.676320, 0.054946}, {-0.480725, -0.568788}, - {-0.366417, 1.067759}, {0.017773, 1.235424}, {1.404835, -1.087228}, - {-0.967946, 0.352186}, {-1.229937, -0.317813}, {-0.051257, -0.039613}, - {-0.580332, -1.096354}, {1.377717, 0.775992}, {-0.525138, -0.051334}, - {0.341863, 0.010390}, {-0.994051, 0.551957}, {0.554196, 0.888456}, - {-0.096138, -0.120533}, {0.772601, -0.270712}, {0.643594, -0.087350}, - {0.409067, -0.299266}, {-0.679971, -0.342567}, {0.589620, 0.703170}, - {0.636779, 1.389787}, {-0.824128, -0.335895}, {0.607159, 0.420643}, - {1.373971, -0.342893}, {-0.910657, 0.837440}, {1.034973, -0.352405}, - {1.085682, 1.920129}, {0.064748, 0.257708}, {0.862755, 0.755955}, - {-0.684932, 0.094005}, {0.112119, -1.441972}, {1.163420, -0.049867}, - {-0.635217, 0.609453}, {-0.238855, 0.480435}, {1.449328, -0.098448}, - {0.784127, -0.652244}, {0.769041, -0.937921}, {0.835573, 0.295585}, - {-0.062899, 1.494506}, {-0.062220, 0.228891}, {0.481334, -0.470990}, - {-0.505073, 0.374573}, {-0.099382, -0.967523}, {1.186319, -0.831618}, - {-0.399300, 0.931511}, {-1.524902, -0.985501}, {-0.615012, 0.547274}, - {0.268857, -0.076929}, {-0.897427, 1.088771}, {1.055351, 0.095282}, - {1.708821, -0.076167}, {-0.739946, -0.354375}, {0.373417, 0.855748}, - {0.131967, 0.285461}, {-0.364408, -1.708271}, {-1.014175, 0.495565}, - {0.505787, 1.003443}, {0.391683, -0.524584}, {0.752228, 0.882360}, - {-0.394883, 1.502965}, {-0.997717, -0.172972}, {-0.230813, 0.301756}, - {0.669804, -0.121530}, {-0.070862, -0.368520}, {1.320153, -0.521160}, - {-1.390873, 0.259563}, {1.146922, 0.597540}, {0.281829, -0.449891}, - {0.295038, 0.408987}, {-0.202209, -1.183362}, {-0.399018, -0.672154}, - {1.004778, -1.104954}, {0.143005, 0.049996}, {0.232512, 0.669719}, - {0.094630, -0.576997}, {0.667844, 0.367973}, {-0.537996, 0.626066}, - {1.033757, -0.285931}, {0.992368, -0.514368}, {-0.319021, 0.248041}, - {1.579195, -0.231515}, {-0.582862, 0.913516}, {-1.085018, 0.556959}, - {-0.024787, 0.559586}, {0.402267, 0.959849}, {-0.032095, -0.548640}, - {-1.150115, -0.539607}, {0.385566, -0.409285}, {-1.471116, 0.537079}, - {0.392795, -1.486643}, {0.328634, -0.040776}, {-0.084120, 0.830458}, - {-0.524122, 0.922066}, {-0.416595, -0.044276}, {0.100140, 0.462444}, - {-0.590881, 1.340948}, {-0.891718, 0.723849}, {0.337707, -0.670773}, - {0.721537, 0.536058}, {0.059957, 0.287448}, {0.400511, -0.763103}, - {-0.550953, -0.197097}, {0.591824, 0.441947}, {0.447746, -0.502807}, - {-0.167608, -0.888259}, {1.103233, -1.437809}, {0.199023, 0.063524}, - {0.202555, 0.322043}, {-0.976584, -0.396812}, {0.372419, -0.791595}, - {1.289941, 0.357281}, {-0.228916, -1.001487}, {1.049654, -0.610849}, - {-1.054080, -0.370253}, {0.859058, -0.644741}, {-0.377507, 0.207554}, - {-0.559546, 0.074691}, {-1.074664, 1.355183}, {0.305625, 0.198544}, - {-0.606985, 0.356763}, {0.242896, -0.375304}, {-0.749774, -0.181054}, - {-0.342246, -0.259054}, {1.589396, 1.010118}, {1.140405, -0.864599}, - {-1.096629, -0.377337}, {-0.496940, 0.605907}, {-0.664267, -0.651997}, - {0.951590, 0.175420}, {-1.117929, -0.261231}, {-0.534170, 0.241918}, - {-0.781527, 0.244559}, {-0.271591, 0.486803}, {-1.256120, 0.858586}, - {-0.421249, 0.405847}, {0.479353, -0.525636}, {0.209101, 0.142047}, - {-0.083113, 0.886645}, {-0.471083, -0.416663}, {0.011834, -0.389550}, - {0.669072, -1.245624}, {-0.598668, 0.117422}, {-0.173989, -0.056465}, - {-0.922954, 0.482571}, {0.522571, -0.365634}, {0.042361, 1.106480}, - {0.655395, -0.034779}, {0.631652, -0.294389}, {1.527036, -0.058525}, - {-0.249208, 0.459807}, {-0.887983, -0.627558}, {-0.289353, -1.411403}, - {0.054751, 2.470137}, {-0.248717, 1.053043}, {-0.735576, 0.010779}, - {-0.514003, -0.279226}, {0.305765, 1.274540}, {0.534981, 0.774853}, - {0.392611, -0.644576}, {-0.468937, 1.078119}, {-0.541705, 1.414380}, - {0.277103, 0.165488}, {-0.387851, -0.830792}, {-1.253914, 0.532510}, - {-0.221315, 1.797991}, {0.274370, 0.277949}, {-1.765567, 0.046853}, - {-0.327146, -0.297614}, {-0.984489, -0.168465}, {-0.660634, -0.450022}, - {0.198917, -0.218025}, {-0.677175, -0.172085}, {0.644052, 0.285876}, - {0.088023, 0.232635}, {-0.451399, -1.512956}, {-0.377844, -0.626486}, - {-0.362430, -0.127407}, {-0.840019, 0.380215}, {0.114939, 0.878416}, - {0.470442, -0.105566}, {-0.585039, 0.237390}, {-0.815600, -0.504437}, - {-0.161445, 0.036143}, {0.296359, 1.325861}, {-0.322171, -1.669738}, - {1.477603, 0.776825}, {0.381550, -0.635687}, {-0.694525, -0.559498}, - {-1.930663, -0.704911}, {-0.449682, -0.545347}, {0.026977, -0.127266}, - {0.233908, 0.544153}, {-0.863452, -0.074155}, {-0.649361, 2.113175}, - {-1.059833, 0.624585}, {0.846892, -1.573266}, {-0.217441, -0.559443}, - {-0.160678, 1.002391}, {0.804081, -0.338683}, {-1.541742, 0.230370}, - {-0.503421, -0.416987}, {1.028147, 0.529024}, {-0.596178, 0.738456}, - {-1.173493, 0.202724}, {-0.297988, -0.661943}, {0.302419, 0.866482}, - {-0.521944, -1.270284}, {-0.436218, -0.097784}, {-0.264531, -0.550600}, - {1.014478, -0.038692}, {-0.999085, 0.486181}, {1.440740, -0.371893}, - {-0.042694, 0.067326}, {0.093956, -0.957300}, {-0.375195, -0.970154}, - {-0.251632, -1.304492}, {-0.414494, 1.099568}, {0.017527, 0.168563}, - {-1.263777, 0.285450}, {0.068131, 0.327754}, {1.105079, 0.539763}, - {0.981225, -0.468582}, {0.551992, -0.036035}, {1.124159, -0.005432}, - {0.611806, -0.979175}, {0.483684, -0.518734}, {-0.366983, 0.455012}, - {-1.008954, 0.471497}, {-0.133646, -0.509659}, {-1.029489, 0.006309}, - {0.530972, -0.509375}, {1.140833, 0.249621}, {-0.211773, 0.138957}, - {-0.537149, 1.254415}, {-0.213279, 0.065513}, {-1.082796, 0.529235}, - {0.350453, 0.444304}, {0.031279, -0.234978}, {-0.543908, 0.234837}, - {0.487194, 1.375390}, {0.215563, -0.549211}, {0.072623, 0.165267}, - {0.801105, -0.987048}, {0.269412, 0.711896}, {0.027622, 0.562303}, - {-0.813866, -0.782547}, {-0.093912, 0.227673}, {-0.172055, 0.060514}, - {0.074656, -0.266314}, {1.217632, -0.605089}, {-0.535103, -0.616239}, - {0.151379, -0.076634}, {0.642760, -0.481053}, {0.035701, -0.056708}, - {0.980441, -1.299210}, {-0.856956, -1.002073}, {0.598486, 0.466839}, - {-0.386966, -1.046460}, {0.625117, -0.115207}, {-0.260750, -0.041046}, - {0.076652, -0.932881}, {0.265818, 0.764649}, {0.421985, -0.714312}, - {-0.601085, 0.964101}, {0.467187, -0.124653}, {-0.387454, 0.211856}, - {-0.157263, -0.585296}, {0.418027, -0.077462}, {1.583309, -0.609096}, - {0.884257, 0.515131}, {0.138889, -0.138020}, {-0.169847, 0.059272}, - {0.540075, 0.309144}, {0.557179, 1.418778}, {0.610912, 0.512799}, - {-0.873253, 0.692568}, {0.120274, -0.853970}, {-0.586573, -0.561751}, - {-0.672660, 0.694987}, {1.109601, 0.008173}, {1.003841, -0.652223}, - {0.874688, 0.367941}, {-0.330203, 0.745219}, {-0.753140, 0.915769}, - {-0.696116, 0.227309}, {0.346841, 0.100445}, {0.740158, -0.250985}, - {-0.397857, 0.594584}, {1.110536, 0.339610}, {0.345296, -0.347319}, - {-0.907915, -0.471159}, {-0.649958, 1.565001}, {0.775790, -0.287460}, - {1.032125, 0.130026}, {0.907496, 1.390180}, {0.298254, -1.588717}, - {-0.259348, 0.502732}, {0.220840, -0.783740}, {-0.138042, -0.590126}, - {0.426154, -0.091085}, {0.405208, 0.611676}, {-0.204049, -0.083068}, - {0.159682, 0.740970}, {0.942561, 0.693500}, {-0.610743, 0.303196}, - {0.172349, 1.598668}, {1.627400, -0.281164}, {0.551930, 0.098748}, - {-0.388243, 0.433245}, {-1.235033, 0.763915}, {-0.744667, -0.561124}, - {-0.592271, -0.641181}, {0.156840, 0.347964}, {-0.023119, 0.533539}, - {0.011757, 1.073952}, {-1.186307, 0.280738}, {0.756950, 1.492111}, - {-0.877649, 0.112185}, {-0.585789, -0.254425}, {0.038438, -0.550157}, - {0.314995, 0.322778}, {-0.134760, 0.871567}, {-1.044096, -0.636270}, - {0.590711, 0.558388}, {0.209019, 0.293453}, {-0.599300, 0.026492}, - {1.033710, -0.675529}, {-1.954583, 0.594947}, {-0.182764, 0.343157}, - {0.859978, 0.329311}, {0.646436, -0.806192}, {-0.046664, 0.909861}, - {1.093129, 0.536020}, {0.872300, 0.678087}, {-0.123750, 0.457168}, - {0.551871, -0.941036}, {0.794294, -0.407648}, {-1.538821, -0.171563}, - {-1.035249, 0.118770}, {-0.348383, -0.118152}, {-0.226615, -0.889496}, - {1.341554, 0.160355}, {-0.351517, -0.424568}, {-0.070817, 0.414649}, - {-0.442786, 0.423882}, {-0.388425, 1.093738}, {-0.582796, 0.676209}, - {0.752177, 0.821946}, {-1.006474, 0.412201}, {-0.416449, -0.072394}, - {-0.911661, 1.041543}, {0.003509, 0.102477}, {0.196127, 0.591685}, - {0.326262, -0.526969}, {-1.042304, 0.505778}, {-1.505353, -1.006878}, - {-0.951996, -1.085898}, {-0.317499, 0.045335}, {-0.099205, 0.858056}, - {0.764524, 1.480639}, {0.517856, 0.207770}, {-0.742181, 0.240161}, - {-0.555104, -0.871874}, {-0.699238, -0.986373}, {-0.763561, -1.000094}, - {0.670026, -0.733751}, {0.662880, -0.655407}, {0.119571, -1.657008}, - {-0.223206, -1.113342}, {0.487176, 0.474053}, {0.192200, 1.888510}, - {0.611398, -0.667669}, {-1.403757, 0.409866}, {0.024463, -0.041370}, - {-0.609262, 0.806420}, {-0.907307, 1.198974}, {0.162117, -1.544459}, - {-0.796786, 0.537950}, {-0.387992, -0.266020}, {-0.225214, -0.058790}, - {0.753621, 0.972150}, {-0.615864, 1.401833}, {-0.819524, -0.597168}, - {0.647379, -0.468126}, {-0.655050, -0.432251}, {-0.069667, -1.062873}, - {0.359295, 0.145826}, {0.647484, 0.920104}, {-0.101287, -0.687857}, - {0.695485, 0.112454}, {0.685476, -0.236214}, {0.374271, -0.144157}, - {-1.779720, -0.300198}, {0.145786, 0.213707}, {0.038580, -0.033343}, - {0.672791, 1.277813}, {0.479531, 1.053826}, {-0.907617, -0.059189}, - {-0.172751, 0.074425}, {-0.349068, 0.726073}, {0.008332, 0.348492}, - {0.319315, -0.391381}, {0.402430, 0.078896}, {-0.391121, 0.722606}, - {0.081394, 0.035975}, {0.604639, 0.636573}, {-0.598326, -0.581740}, - {-1.369758, 1.353076}, {-1.032156, -0.428532}, {-0.405163, 0.809273}, - {-0.638386, -0.671499}, {-1.571366, -0.098790}, {-0.047946, -0.327424}, - {-0.535140, 1.485649}, {0.572495, -0.533611}, {0.769134, -0.416792}, - {-0.122776, 0.855205}, {0.281802, -0.669203}, {0.694392, -0.350054}, - {-0.516665, 0.498350}, {-1.145787, 0.669606}, {-0.587504, -1.078295}, - {-0.906257, 1.099786}, {0.713687, -0.104260}, {0.500828, -1.120030}, - {0.201346, 0.446714}, {0.571867, 0.307374}, {-0.307728, 1.383134}, - {-0.066681, 0.450119}, {-0.848761, -1.038823}, {1.032712, 0.224183}, - {0.061333, -0.310979}, {0.468093, 0.223010}, {-0.199854, -0.913527}, - {-0.857930, 0.211259}, {-0.587648, -0.245449}, {0.353839, -0.297458}, - {0.888759, -0.874265}, {0.403853, -0.386048}, {0.278338, 0.103402}, - {-0.538262, -0.477405}, {-0.028885, 1.451692}, {0.309332, 0.336400}, - {-0.000990, 0.952112}, {0.551432, 0.708093}, {0.885608, 0.394472}, - {0.630507, 0.873531}, {2.009406, 0.830925}, {0.270462, 0.962180}, - {-0.188686, 0.224709}, {-0.176674, -0.183785}, {0.140600, 1.093924}, - {0.189660, -0.420077}, {-0.523965, -0.625934}, {-0.336031, 0.037125}, - {0.082479, -0.028029}, {-0.186355, -0.412999}, {0.082385, 1.314585}, - {-0.916720, 0.023372}, {0.361526, 0.970313}, {-1.036301, 0.902711}, - {0.753404, -1.144667}, {1.331139, 0.200917}, {0.079871, 0.568019}, - {0.105169, -0.612822}, {-1.203528, -0.279910}, {0.681629, -0.484965}, - {1.737185, -1.163903}, {-0.073538, -0.938369}, {0.199483, 0.191980}, - {-0.463281, 0.147863}, {0.502202, 1.383967}, {0.662814, -0.696233}, - {0.322913, -0.224863}, {-0.039758, -0.433784}, {-0.241469, 0.133004}, - {0.631311, -0.203045}, {-0.490926, 0.738562}, {-0.738987, -0.807033}, - {-0.559719, -1.710482}, {0.414458, -1.114866}, {0.217559, -1.101081}, - {2.001337, -0.837311}, {-0.309366, -1.325185}, {-0.421962, -0.105397}, - {-0.254192, 0.250041}, {0.149750, 1.424141}, {0.574641, -0.960555}, - {1.300898, 0.408217}, {1.120122, -0.397386}, {0.988203, -0.705869}, - {0.025219, -0.318984}, {-0.787385, 0.484271}, {0.244498, -1.167668}, - {-0.293105, 1.187101}, {-1.315942, -0.787983}, {0.014455, 0.371305}, - {0.454436, -0.013107}, {-0.983662, 0.592077}, {-0.500665, 0.485289}, - {-0.822873, -0.988985}, {-0.684186, 0.119209}, {-0.770508, 0.745145}, - {0.751135, 0.857208}, {0.580580, -0.403847}, {-0.261483, 0.001789}, - {-0.599543, 0.700149}, {-0.134033, 0.276866}, {1.292787, 0.681824}, - {0.571468, -0.079806}, {-0.420807, -0.237937}, {-1.393211, -1.148364}, - {-0.826257, -0.341136}, {-1.430113, -0.469738}, {0.254639, -0.935916}, - {0.477547, -0.063091}, {0.143719, -0.656087}, {-1.043832, -1.865735}, - {-0.223533, -0.255380}, {-0.347852, 1.319428}, {0.216353, 0.217898}, - {0.751324, -0.392111}, {0.126306, 0.463054}, {0.421776, 0.953244}, - {0.101965, 0.723898}, {0.711760, 0.644511}, {1.214540, -0.992251}, - {-0.900924, 0.851336}, {-0.768326, -0.273583}, {0.611353, -0.777963}, - {-0.644784, -0.597365}, {-0.866147, -0.077811}, {1.171992, -0.373912}, - {0.166663, 0.845840}, {-0.051581, -0.037914}, {-0.044931, 0.952456}, - {1.025787, 0.092280}, {0.682561, 1.339457}, {-0.392748, 0.417949}, - {0.032937, 0.238781}, {-0.620218, -0.190434}, {-0.281839, 0.385357}, - {-1.841805, 0.735532}, {0.803464, 0.390506}, {-0.520705, -1.106509}, - {-0.231873, -0.372118}, {1.238221, -0.126795}, {0.021599, 0.567909}, - {0.135681, 0.509549}, {-0.372477, 0.993091}, {-0.463447, 2.094221}, - {-1.084856, 0.187484}, {-0.146659, -0.233581}, {0.020933, -0.106898}, - {0.829958, 0.011197}, {-0.094014, -0.883021}, {0.547873, -0.450064}, - {0.202885, 1.034507}, {0.994910, 0.329836}, {1.331541, -0.281977}, - {0.228948, -2.008565}, {-0.478031, 0.427230}, {1.083612, -1.020268}, - {-0.249602, 1.393039}, {-0.012306, 0.044320}, {0.574595, -0.315582}, - {0.774972, -0.431653}, {0.270253, 1.094467}, {0.120273, -0.263953}, - {1.016864, 0.431796}, {-0.309168, -0.270309}, {-1.523819, 0.385376}, - {-0.763456, 0.512232}, {0.336560, 0.850508}, {0.042057, -0.438179}, - {0.847706, -0.456465}, {0.742120, 0.530981}, {-0.373430, -1.277644}, - {0.670180, -1.752892}, {-0.817789, 0.218930}, {0.452251, -0.077324}, - {-0.072623, -0.105395}, {-1.412266, -1.332875}, {0.357278, 0.516348}, - {-0.043991, -1.067616}, {1.180654, -0.141604}, {0.105626, -0.698556}, - {0.368029, 0.262566}, {-0.920419, 0.474313}, {-0.223634, 0.572453}, - {0.361011, 0.280134}, {0.558817, 0.182521}, {0.561101, 0.605270}, - {0.229716, -0.019313}, {-0.434761, -0.308359}, {-0.245133, 0.726120}, - {-0.390881, -1.251642}, {-0.250035, -1.268882}, {1.655818, -0.092527}, - {-0.910120, 0.060578}, {-0.188804, -0.314052}, {1.215279, -0.127738}, - {-0.878795, 0.285774}, {0.369799, -0.207177}, {0.389388, 0.134644}, - {0.047652, 0.563269}, {0.447321, -0.865163}, {-0.080775, -0.368620}, - {-1.003217, -0.560501}, {0.115756, 0.065585}, {0.736376, -0.286535}, - {-0.305092, 0.029092}, {0.016444, -0.133073}, {-0.385179, -0.465072}, - {-0.411212, -0.129245}, {-2.027827, 0.247035}, {-0.408223, -0.432254}, - {-0.623146, -0.096782}, {0.066094, 0.359122}, {-0.658791, 1.673232}, - {0.345053, 0.994307}, {0.475042, -0.520856}, {-0.629916, 0.001245}, - {0.231530, -0.112516}, {-0.310512, 0.763089}, {0.351545, -0.857181}, - {-1.282645, 0.358697}, {0.265706, -0.200202}, {-1.020432, -0.205901}, - {-0.450405, 0.863954}, {0.535266, -1.489977}, {0.116972, -0.830045}, - {-0.574343, 0.203469}, {-1.234327, 0.190012}, {-0.671839, 0.202848}, - {-0.511748, 0.717934}, {-0.667350, -0.498889}, {0.062991, -0.257410}, - {1.387187, 0.166053}, {0.038892, -0.294788}, {-0.197843, -1.474079}, - {0.842538, 0.954516}, {0.190780, -0.445425}, {0.986009, 0.305338}, - {-0.043897, -0.600633}, {1.275066, 0.500597}, {0.688402, 0.940529}, - {0.681829, 1.527615}, {1.058668, 0.147151}, {1.057440, 0.219391}, - {0.279102, 0.711516}, {-0.735985, -0.916082}, {-0.795380, 0.473156}, - {-0.188000, -0.126179}, {-0.130109, 1.022084}, {-0.255161, -0.611966}, - {-0.712545, 0.512778}, {-0.390866, -0.023470}, {0.585919, 0.072051}, - {0.265748, -0.113116}, {-0.954015, 0.396356}, {1.150886, 0.526901}, - {0.918889, -0.335352}, {0.908329, -0.918572}, {0.829812, 1.271961}, - {0.385431, 0.764974}, {0.842191, 0.817413}, {-0.211592, -0.300848}, - {0.085412, -0.503896}, {-0.295625, -1.210188}, {0.553279, -0.752066}, - {-0.336870, -0.023617}, {-0.117579, 0.194043}, {-0.439305, 0.074470}, - {-0.871696, 0.517667}, {1.132128, -0.352925}, {1.659963, 0.078571}, - {-0.718459, 1.770532}, {-0.815585, 0.052456}, {0.462433, -0.846664}, - {0.112519, -0.115914}, {0.351286, 0.311147}, {0.445398, 1.030217}, - {-1.336584, 0.196926}, {1.720238, -0.567869}, {-0.036464, 0.802003}, - {-0.783873, -0.818943}, {1.240642, 0.976164}, {0.760370, 0.622208}, - {0.716383, 0.043453}, {0.007335, 0.445271}, {-1.912350, 0.369577}, - {0.471466, -0.281855}, {-1.259278, 0.458071}, {-0.505514, 0.551813}, - {0.808326, 0.336688}, {0.134236, 0.795999}, {-1.110478, 0.657803}, - {0.788157, -1.379746}, {-0.602157, -0.601484}, {-0.601597, -0.629413}, - {-0.562336, -0.375857}, {-0.115154, -0.348384}, {-1.337893, -0.034902}, - {-0.421096, -0.451334}, {0.828483, 1.195515}, {-1.170578, -0.527504}, - {-0.310432, 0.760422}, {-1.197816, 0.709533}, {-0.127652, -0.091019}, - {0.069065, -0.305886}, {-0.078245, -0.633251}, {0.088257, 0.108119}, - {-0.449101, 0.132235}, {-0.124084, 1.428966}, {-0.281890, 0.234157}, - {-0.525617, 0.582656}, {-0.816034, 0.676694}, {0.126295, -0.336684}, - {0.148247, 0.687522}, {-0.650085, 0.552353}, {1.047440, -0.871696}, - {-0.652720, 0.124596}, {0.143902, -0.299925}, {-0.045092, -0.377154}, - {0.337776, -0.360983}, {-1.034746, -0.453121}, {0.446298, -0.614523}, - {-0.576398, -0.186150}, {-0.660111, 0.507337}, {-0.212991, -0.067267}, - {-0.472959, 0.233856}, {0.757097, 0.921087}, {-0.371281, -0.873578}, - {-0.462358, -0.546336}, {1.046260, 0.861505}, {0.188323, -0.927420}, - {-0.394811, -0.928531}, {-0.745356, 1.802213}, {-0.144337, 1.288925}, - {0.042964, 0.393180}, {-1.051774, -0.538140}, {-0.859913, -0.181454}, - {-0.768838, -0.081829}, {-0.410304, -0.505518}, {0.513469, -0.829740}, - {0.143379, -0.353562}, {0.259461, -0.349013}, {-0.693666, 0.506081}, - {-0.142532, -1.125624}, {0.027827, 0.093478}, {0.755859, -1.261207}, - {-0.805314, 0.460203}, {0.565516, 0.049003}, {-0.290886, -0.435227}, - {0.177884, 1.134761}, {-0.790097, -1.155042}, {0.609440, -0.427450}, - {-1.456648, 0.430752}, {0.731694, 0.148750}, {-1.096537, -0.659722}, - {-0.045365, -0.812621}, {-0.052870, -0.012892}, {-0.186133, -1.655777}, - {-1.233724, 0.005300}, {0.227544, -0.206169}, {0.444051, -1.393497}, - {0.145246, -0.470748}, {0.321554, -0.540005}, {0.574299, 0.947717}, - {-0.851562, 0.821642}, {-0.224767, 0.375636}, {-1.247393, -1.880826}, - {0.869151, 0.644628}, {1.350218, -0.621884}, {0.386796, -0.520246}, - {-0.978645, 0.272595}, {0.065436, -0.430137}, {-0.790944, 0.646567}, - {-0.368160, 0.501998}, {-0.401020, 0.148140}, {-0.046369, -0.202567}, - {0.058994, -0.870889}, {-0.652756, 1.932327}, {0.172676, -1.271166}, - {0.413797, 0.955612}, {0.814433, 0.006399}, {0.328790, 1.584645}, - {0.709699, 0.490172}, {-0.774854, -0.005901}, {0.730751, -2.130532}, - {0.585216, -0.058045}, {0.745170, -0.426331}, {-0.547863, 0.536897}, - {0.291419, 0.183834}, {0.370049, -0.225214}, {0.720345, 0.700864}, - {-0.658056, 0.512990}, {-0.197299, -0.572787}, {-0.980329, -0.373197}, - {-0.102615, -0.600997}, {0.551575, 0.035526}, {0.227213, -1.755647}, - {-0.720773, 1.473189}, {1.078551, 0.494038}, {-0.590708, -0.726487}, - {0.174511, 0.593049}, {-1.113569, -0.861532}, {-0.863915, -0.407862}, - {-1.489835, 0.680252}, {0.605744, -0.755458}, {0.019818, -1.444399}, - {1.537532, 0.420513}, {0.454858, 0.278244}, {-1.167997, 0.522964}, - {0.636516, 0.864054}, {0.904913, 0.954676}, {-0.172054, 1.515377}, - {-0.323955, -0.109815}, {-0.408556, -0.110050}, {-0.074129, 0.608238}, - {0.907023, 0.611414}, {0.527238, -0.111692}, {-1.210925, 1.026236}, - {0.414338, -1.508815}, {0.865041, 0.205104}, {-0.519846, 0.335515}, - {0.025669, 0.894116}, {-0.069780, 0.825868}, {-0.977589, 0.602818}, - {-1.474683, -1.465573}, {-0.906716, -1.172873}, {0.633533, -0.164525}, - {1.348636, -0.597077}, {-0.676391, -0.863396}, {0.836835, 0.681102}, - {0.597157, -0.230220}, {0.394546, 0.387985}, {-0.930641, 0.087960}, - {-0.591838, -0.300588}, {-0.886742, 0.109750}, {-1.099630, -1.113304}, - {-0.728393, -0.212042}, {0.763934, -0.639567}, {0.298122, -0.353191}, - {-0.190079, -0.338979}, {0.348171, 0.548532}, {-0.524688, -0.411727}, - {0.233072, -0.517023}, {0.062224, -0.491644}, {-1.043832, 0.098989}, - {-0.476795, -1.490535}, {0.329321, 0.234013}, {0.221229, 0.925059}, - {-0.390816, 0.510160}, {0.875961, 0.263989}, {0.269341, 0.588287}, - {-0.104352, 1.572109}, {-0.466807, -0.291013}, {0.052197, 0.507006}, - {-1.203065, 0.707042}, {-1.156324, 0.471411}, {0.754021, -0.321351}, - {-0.351852, 0.063256}, {1.050723, -0.239489}, {0.095218, -0.048337}, - {-1.306553, -0.315263}, {0.445850, -0.782225}, {2.486118, -0.184109}, - {-0.450901, 0.744972}, {0.815191, -0.335411}, {-0.842677, -0.284237}, - {0.315266, -0.974383}, {0.075656, -0.930034}, {-0.265583, 0.430262}, - {-0.066361, -0.215722}, {0.460555, -0.264005}, {0.338359, -1.339680}, - {-0.711655, 0.100374}, {-0.092740, 1.377253}, {-0.072264, -0.288660}, - {-0.052467, 0.772709}, {0.293775, 0.090349}, {0.824527, 1.267417}, - {-0.112363, 0.132903}, {-0.363463, 0.969263}, {-1.642345, 0.744705}, - {-0.477562, 1.379558}, {-0.589734, -0.589188}, {-0.466736, -0.970264}, - {0.010874, 0.547445}, {1.722207, 0.884766}, {0.098718, -0.666330}, - {-0.296542, -1.569936}, {1.125261, -0.712730}, {-0.975173, 0.932793}, - {0.634325, 1.085860}, {0.217421, 0.671107}, {0.305540, -1.001059}, - {0.798078, 0.480317}, {1.662060, -0.279516}, {0.613269, -0.820772}, - {-0.367006, 0.253467}, {-0.506871, 0.590810}, {2.014429, -0.631055}, - {-1.851417, -0.047491}, {0.237869, -0.702116}, {-0.850494, 0.647305}, - {0.129418, -0.098577}, {-0.842460, 0.401123}, {0.289509, -0.445374}, - {-0.192546, 0.423623}, {0.132945, -0.395475}, {1.171623, -0.137565}, - {-0.672710, 0.703577}, {0.289266, 0.112169}, {0.388150, -1.503414}, - {-0.632542, -1.193749}, {-0.836479, -1.570629}, {-0.117854, 0.799663}, - {-1.031422, 0.769983}, {1.141551, 1.223726}, {-0.136202, 0.032976}, - {0.539139, -0.362692}, {0.386391, -0.404400}, {-0.807908, 0.672289}, - {-0.273757, 0.409065}, {0.072317, 0.218765}, {0.315393, -0.161862}, - {0.109827, 0.280521}, {1.124393, -0.880358}, {1.062493, -0.861810}, - {-0.694576, 0.955105}, {-0.704939, 0.712260}, {0.620207, 0.404908}, - {-0.149497, 0.008919}, {0.213315, 0.753410}, {0.882143, 0.344575}, - {-0.580178, -0.062246}, {0.588335, 0.732016}, {-0.923274, 0.056641}, - {-0.172440, -0.095349}, {-1.135217, 0.278840}, {0.775523, -0.339523}, - {-0.314081, -0.344806}, {-0.764043, -0.198468}, {-0.089438, -0.785644}, - {-1.040912, 1.061657}, {0.895079, -0.034029}, {-0.526144, -1.937661}, - {-0.207926, -1.120596}, {-0.091010, -0.505344}, {0.284329, 0.647329}, - {1.276309, -0.095555}, {-1.225333, 0.215700}, {0.090999, 0.073973}, - {0.870768, -0.363724}, {0.248731, 0.020068}, {-0.548422, -0.119689}, - {0.920298, -0.082783}, {-0.467797, 1.355912}, {1.329022, -0.309356}, - {-1.728073, -0.120729}, {0.624453, 0.563478}, {-0.698755, 0.502237}, - {0.401369, -1.301986}, {-0.924123, -0.248924}, {0.419063, -0.429884}, - {-0.417802, 0.312480}, {0.303873, 0.281815}, {-0.216253, -0.382458}, - {0.871156, 0.437237}, {0.076165, -0.075358}, {0.978428, 0.177972}, - {-0.387862, -0.666285}, {-0.385355, -1.084756}, {-0.039386, 0.090518}, - {-0.110409, -0.131921}, {-0.266880, -0.746409}, {-0.628974, 0.648673}, - {-0.473564, -0.126878}, {0.061978, -0.647717}, {-0.282066, -0.853113}, - {-0.118735, 1.327370}, {1.149891, 1.209448}, {0.352147, -0.388989}, - {1.769291, -0.319750}, {0.764107, -0.667852}, {-0.587102, -0.210417}, - {1.015087, 0.052787}, {-0.035987, 1.195230}, {0.892858, 0.405185}, - {-0.756342, -0.517984}, {0.623213, -0.595297}, {0.604408, 1.193989}, - {0.953219, 0.110624}, {0.152238, 0.507352}, {-0.094461, -0.308558}, - {0.384838, -0.277351}, {0.025861, -0.759865}, {-0.657839, 0.460731}, - {-0.194513, 0.533848}, {1.023904, -0.500503}, {-0.359781, 0.642104}, - {-0.404128, -0.973247}, {0.908211, -0.748690}, {1.828527, 0.178212}, - {0.993783, 0.377209}, {0.497713, 0.653823}, {1.349187, -0.664650}, - {0.867764, -0.677804}, {0.784912, -0.648229}, {0.855189, 0.283978}, - {-0.177741, 0.486565}, {0.171991, -1.590330}, {-0.341884, -0.551188}, - {0.552575, -1.140915}, {0.234083, -0.731475}, {-0.841477, 0.261885}, - {-0.463546, 1.015421}, {-0.655670, -0.933363}, {0.091412, -0.144388}, - {0.777763, -1.143306}, {0.393413, 0.247097}, {-0.859657, 1.263778}, - {-0.091360, -0.695528}, {0.453558, 0.447697}, {-0.285448, -0.091432}, - {0.575826, 0.771546}, {-0.185321, -0.400092}, {-0.927254, -0.065710}, - {-0.404850, 0.199127}, {1.175847, -0.727493}, {-0.646317, -0.100079}, - {-0.146116, 0.997661}, {0.940721, 0.331262}, {-0.176631, -0.432014}, - {-0.158682, 0.007962}, {0.403128, 0.862988}, {-1.286299, -0.553118}, - {-0.625140, -0.416925}, {0.164739, 0.127397}, {-1.296657, 0.431593}, - {0.110012, 0.621031}, {0.131967, 0.747297}, {-0.417073, -0.528516}, - {-0.058879, 0.064701}, {0.878022, 0.417763}, {-0.593777, -0.749282}, - {-1.488954, -0.088751}, {0.327350, 0.729740}, {0.288635, 0.711133}, - {-0.516210, 0.772244}, {0.646623, -0.360133}, {0.517444, -1.050468}, - {0.275757, -0.042346}, {1.091949, -0.723761}, {-0.581401, 0.804300}, - {-0.281716, 0.298812}, {0.389729, -1.352334}, {0.968056, -0.125904}, - {1.044800, 0.400574}, {0.876008, 0.171549}, {-0.861513, -0.111525}, - {1.321833, 0.560932}, {-0.756588, 0.179387}, {-1.030283, -0.202424}, - {-1.125655, 0.034160}, {-1.018706, 0.236765}, {-1.619937, 1.162817}, - {0.587348, 0.547688}, {-1.197305, -0.512869}, {-0.043864, -1.074949}, - {-0.830876, 0.394422}, {0.164382, -0.058257}, {-1.269143, 0.168948}, - {0.160676, -0.664515}, {-0.505345, -1.100780}, {-0.245201, 0.068290}, - {-1.306518, -0.678766}, {-0.425379, 0.392774}, {-0.258367, 0.204147}, - {0.045519, -0.256474}, {-2.017382, 0.265548}, {-0.452550, 0.579091}, - {-0.340566, -0.079455}, {-0.463289, -0.473197}, {-0.304125, -1.146060}, - {-1.079937, 0.770227}, {0.697733, -1.635291}, {0.794379, -0.590399}, - {2.066159, 0.237608}, {0.203241, 0.228367}, {0.209470, -0.821393}, - {1.064899, -0.383132}, {0.799363, -0.151461}, {-0.607846, 0.619438}, - {-0.440935, -0.199774}, {1.095711, 0.112102}, {-0.687980, -0.399792}, - {-0.489549, 0.143813}, {0.567918, 0.022705}, {0.838391, -1.106572}, - {1.085598, 2.516036}, {-0.699425, -0.521144}, {-1.195329, -0.973063}, - {-0.455357, 0.190010}, {-0.365438, -0.562397}, {-0.303810, -1.368273}, - {0.466171, -0.926118}, {-0.428213, 0.660771}, {0.847118, 1.179101}, - {0.431831, 0.765670}, {0.216519, 0.066846}, {0.050229, -1.132895}, - {-0.591341, -0.135568}, {-1.016589, 0.499351}, {0.619695, 1.239771}, - {-0.860305, 0.327144}, {0.794001, -0.673587}, {-0.198357, 0.818361}, - {1.168914, -0.014642}, {0.448577, 1.053050}, {0.292636, -0.202807}, - {0.769249, 0.583713}, {0.416304, -0.914883}, {0.462558, -0.935260}, - {0.088227, -0.958327}, {0.594615, 1.182851}, {-0.204744, 0.504845}, - {-0.244805, -0.381424}, {-0.737471, -1.320935}, {-0.528289, -0.573258}, - {-0.105260, -0.673370}, {-0.635278, -0.500940}, {0.839401, -0.789100}, - {-0.900784, 0.142913}, {-0.611013, 1.205516}, {-0.341594, 0.707921}, - {-0.549906, -0.191784}, {-0.351525, 0.601229}, {0.696679, -0.084436}, - {0.249797, -0.466641}, {-0.112995, 0.982649}, {-0.103804, 0.028549}, - {1.300759, 0.562159}, {0.188050, 0.252173}, {0.106742, 0.672221}, - {1.403964, 0.196841}, {0.178249, 1.119562}, {0.478215, 0.501237}, - {-0.603436, -0.402843}, {0.938323, -0.147083}, {-1.344410, -0.465496}, - {-0.274058, 0.037370}, {0.302808, 0.701736}, {0.522547, -1.063970}, - {0.214000, -1.234162}, {0.115400, -0.182797}, {0.613710, -1.188964}, - {-0.059478, -0.884451}, {-0.020643, 0.621642}, {-0.485842, -0.203300}, - {-0.574101, 1.824857}, {-1.110800, 0.465908}, {-0.009223, -0.878354}, - {-0.970119, -0.234322}, {2.232488, -0.241458}, {-0.817618, -0.215082}, - {0.985711, -1.312330}, {-0.043408, 0.166327}, {0.685598, -1.189246}, - {-0.863629, 1.000956}, {0.363370, 0.558049}, {-0.275515, -1.251793}, - {-0.783958, -0.159861}, {-0.265416, 1.423040}, {-0.303787, 0.078342}, - {-0.942708, 0.058797}, {-0.126596, -0.043927}, {0.940185, -0.514732}, - {-1.717989, -0.302336}, {0.392299, -0.472739}, {-0.605450, -0.153565}, - {0.172246, 1.273566}, {0.973775, -0.571675}, {0.412459, 0.246981}, - {0.750398, 0.637567}, {-0.131172, -0.812034}, {-0.412718, -0.312419}, - {-1.084367, 0.469211}, {-0.750192, 0.239366}, {-0.807903, 0.025000}, - {0.169366, 1.110027}, {0.341377, -0.550559}, {1.503539, -0.645394}, - {-0.546320, -0.503335}, {0.349192, 0.240205}, {1.054660, -1.886768}, - {0.052298, 0.500975}, {-0.010100, -0.988941}, {0.166413, -0.383006}, - {0.843436, 0.918938}, {-0.595515, 0.371500}, {-0.309942, 1.492045}, - {0.605896, -0.550874}, {0.379367, -0.626731}, {-0.236509, 0.601141}, - {-0.378510, -0.419328}, {0.478068, 0.010601}, {-0.675805, -0.583364}, - {-0.210744, 0.418466}, {-0.189950, 0.501288}, {-0.463660, 0.303614}, - {-0.537675, -0.958237}, {-1.015898, -0.270030}, {0.198231, 0.122265}, - {1.116642, -0.840185}, {-1.101533, 1.812925}, {-0.561163, -0.261127}, - {1.012467, 0.890354}, {-0.529417, 0.082287}, {0.009180, 0.806196}, - {0.789673, 0.029863}, {1.003828, 0.373652}, {0.814418, 0.309315}, - {-0.606146, -0.168860}, {0.056299, 0.365320}, {0.093105, -0.068656}, - {0.755631, -0.057552}, {0.081025, -0.900634}, {-0.016102, 0.247733}, - {0.884746, 0.342390}, {-0.875936, 0.681588}, {0.098843, -0.487980}, - {-0.376775, -0.427447}, {0.381212, 0.542140}, {0.530379, -0.369676}, - {0.709660, 0.380700}, {-1.112918, 0.335488}, {-0.171830, 0.036069}, - {-1.019468, 0.441974}, {0.552776, 1.116890}, {-0.256032, 1.029227}, - {0.709352, 0.980046}, {-0.721419, -0.145083}, {-1.190310, -1.516095}, - {-1.099134, -0.241831}, {-1.177761, 0.420445}, {0.618117, 1.070602}, - {1.308669, -0.017416}, {-0.186330, -0.148709}, {-1.075173, 1.134706}, - {-0.474658, -0.073558}, {-0.417598, -0.815183}, {0.452627, -0.086364}, - {-0.099908, 0.206006}, {1.159685, -0.593182}, {-0.620191, 0.221127}, - {1.099579, 0.166276}, {-0.224604, -0.878283}, {0.361899, 0.449122}, - {0.782647, -1.303460}, {1.024841, 0.701208}, {-0.575269, 0.369847}, - {0.185542, 0.396025}, {-0.475507, 0.042582}, {-0.644299, 1.072212}, - {0.024074, 0.094974}, {1.065494, 1.061942}, {-0.103903, 0.047036}, - {-1.507948, 1.355023}, {0.488277, -0.387922}, {-0.670998, 0.516623}, - {1.043637, 1.027954}, {-0.814702, -0.705341}, {1.113500, -0.824085}, - {-0.446971, 0.387174}, {0.085304, 0.134263}, {-0.032566, 0.373506}, - {-0.715275, 0.920719}, {0.856968, -0.363303}, {-0.531281, -0.778124}, - {-0.273956, 0.840519}, {-1.738353, 0.489447}, {-0.868719, 0.482146}, - {-0.324818, 0.031145}, {0.538558, 0.494144}, {-0.353669, 0.337685}, - {0.231094, 0.720309}, {-0.836142, 0.106659}, {0.595464, 0.423801}, - {0.883973, -0.601154}, {0.723997, 0.934565}, {-0.355962, 0.152775}, - {-0.127005, 1.104947}, {0.969229, -0.149105}, {-1.201512, 0.674038}, - {0.146767, -0.498363}, {-0.035950, 0.557077}, {-0.459134, -0.914077}, - {0.763345, 0.524424}, {0.011704, -2.017428}, {-0.849172, 1.506112}, - {-0.250493, -1.045756}, {-0.121860, -0.690564}, {-0.155904, 0.608851}, - {-1.229102, -0.406017}, {1.226610, 1.085280}, {-0.805206, 0.629291}, - {-0.069214, 0.730650}, {1.064779, 0.264552}, {-0.006544, -0.494682}, - {0.457170, -0.951151}, {-0.410514, 0.789954}, {0.565477, -0.255665}, - {0.734690, -0.988831}, {-1.062641, 0.225151}, {-0.385230, 0.821491}, - {0.371702, -0.110034}, {-0.057454, 0.128720}, {-0.081977, 1.037915}, - {0.311523, 1.253425}, {-0.502448, 0.093294}, {0.615595, -2.344534}, - {0.653408, -1.185627}, {0.867888, -0.434547}, {-0.240755, 0.331160}, - {-1.197783, 0.687314}, {0.521806, 0.208657}, {-0.554643, 0.428899}, - {0.057554, -0.366342}, {-0.357134, 0.156007}, {0.334822, 0.737721}, - {1.436037, -0.287579}, {-0.612891, 0.136375}, {0.789853, -0.141415}, - {0.525511, 0.179881}, {0.123147, 0.811655}, {0.113730, 0.769911}, - {0.182976, -0.119810}, {0.628026, -0.801001}, {-0.469332, -0.992844}, - {0.420309, 0.553148}, {-1.170904, -0.099700}, {-0.146831, -0.313078}, - {0.388133, 0.790864}, {0.282657, 0.691093}, {1.559222, 0.832869}, - {0.381183, 0.380482}, {0.489654, -0.943613}, {0.054295, -0.253576}, - {0.455407, 0.344980}, {0.570221, -0.475851}, {-0.223240, 0.744998}, - {-0.530980, 0.687077}, {-0.449808, -0.821267}, {-0.330739, 0.448330}, - {0.804212, -0.577691}, {0.158454, 0.805972}, {-0.108758, -0.954099}, - {-0.439021, 0.197579}, {-0.539345, 0.439251}, {0.651230, 0.754042}, - {-0.355923, -1.137383}, {-0.177306, 0.749586}, {0.441287, -0.286658}, - {-0.902108, 0.227320}, {-1.284466, 1.638574}, {-0.036202, 0.181132}, - {-1.497482, 0.003437}, {-0.061348, -0.006829}, {-0.005529, -0.741155}, - {0.215731, 0.852106}, {1.581736, 0.051235}, {0.515924, 0.070864}, - {-0.482895, 1.204395}, {-0.025352, -0.128358}, {1.549274, -0.306254}, - {0.574087, 0.073902}, {-0.521191, 0.521923}, {-0.316768, -1.246159}, - {0.374086, -0.736770}, {0.657694, 0.176918}, {-0.873769, 0.767673}, - {1.284637, 0.593571}, {0.129845, -0.097307}, {-0.554935, 0.847270}, - {0.103939, 0.668202}, {0.803857, 1.265275}, {0.337945, -0.680761}, - {-0.332438, 0.818654}, {0.815651, -0.086611}, {0.898750, 0.267473}, - {0.332558, 0.854873}, {0.033251, -0.369557}, {-0.994826, 0.728912}, - {0.320312, 0.989656}, {-0.968790, -0.524464}, {0.050254, -1.200479}, - {1.284280, 0.052694}, {-0.551391, 1.260977}, {-0.243554, -0.369087}, - {0.248510, -1.259281}, {-0.100092, 0.030010}, {0.639801, -0.080694}, - {-0.453774, 0.601667}, {0.157292, 0.534592}, {0.350959, 0.051935}, - {-0.757799, -0.971434}, {0.493319, -0.446165}, {0.614688, -0.582649}, - {0.074603, -0.299675}, {0.882269, -0.187581}, {0.372823, 0.368325}, - {0.114711, -0.315413}, {-0.451795, 0.002528}, {0.124370, -2.011045}, - {0.144513, -0.674410}, {-0.887191, 0.318651}, {0.276441, -0.028075}, - {-0.656448, 0.802020}, {-0.278558, 0.378958}, {-1.030818, -0.732686}, - {0.993217, -0.426098}, {0.539963, -0.880491}, {0.259553, 0.120942}, - {0.980649, 0.629225}, {0.549393, -0.007366}, {1.775229, -0.150526}, - {-0.505972, 0.223503}, {-0.705733, -0.590672}, {0.617949, -0.169851}, - {-0.057909, 0.846471}, {0.008234, -0.314480}, {-0.096775, 1.283379}, - {-0.962696, -0.439218}, {-0.259974, 0.118526}, {0.250173, -0.150096}, - {0.910862, -0.680728}, {-0.415913, -0.191966}, {-0.396152, -0.497643}, - {-0.771449, -0.213775}, {-0.301254, -0.272266}, {0.926896, -0.570671}, - {-0.591745, 0.146475}, {1.086466, -0.131236}, {-0.844351, -1.562438}, - {-0.990476, 0.070498}, {-0.077338, -0.863886}, {0.136252, -0.505947}, - {-0.382066, -1.286926}, {0.669333, -0.074047}, {1.276768, -0.175578}, - {0.350866, 0.997669}, {0.615194, -1.606065}, {-1.052562, -0.334451}, - {0.299494, -1.071920}, {0.549473, 0.191316}, {-1.676270, -0.096974}, - {0.265582, 0.159041}, {0.244795, 1.792395}, {1.008245, -0.322289}, - {-0.702334, 0.432326}, {-1.037780, 0.165330}, {1.538379, 0.489235}, - {0.703589, -0.819391}, {-0.628913, -0.514712}, {0.569468, 0.511478}, - {-1.707972, 0.273521}, {0.317935, 0.288596}, {-0.284997, -2.009373}, - {-0.740532, 0.559777}, {0.537857, 0.332833}, {0.429478, -0.292228}, - {0.285689, 1.118983}, {-0.631836, -0.066223}, {0.592196, -1.045784}, - {0.226062, 0.549405}, {0.309204, 0.291148}, {0.328950, -0.651208}, - {-0.175570, 0.128113}, {-1.071762, -0.222013}, {-0.246732, 0.503570}, - {0.562434, -0.087614}, {-1.083738, 0.163863}, {0.138512, -0.058985}, - {-0.738895, 0.011677}, {1.499974, 0.103210}, {0.355002, -0.338290}, - {-0.256904, -0.343176}, {-0.015659, -0.417844}, {0.208660, 0.606469}, - {-0.734477, 0.817951}, {-0.867542, 0.663637}, {-1.304717, -0.388440}, - {0.704185, 0.760198}, {-1.316292, -0.295106}, {0.218730, 0.983686}, - {0.818713, -1.046025}, {-0.583046, 0.551182}, {1.265510, -1.016420}, - {-0.761852, 0.033767}, {-0.745320, -0.492837}, {0.934553, 0.066774}, - {-0.819204, 0.242431}, {0.611336, -0.031476}, {0.096080, -0.848272}, - {-0.106150, -0.492336}, {-0.383184, -0.269763}, {0.132107, 0.766301}, - {0.212758, -0.088413}, {-0.422718, 1.161167}, {0.736935, -0.974879}, - {-0.910351, 0.495623}, {0.997377, 0.717006}, {1.989167, -0.180638}, - {-0.518269, 1.156765}, {-1.168705, 0.352030}, {0.875218, -0.727473}, - {0.110928, 0.594784}, {-0.893894, 0.190021}, {-0.063990, -0.588675}, - {0.271381, -0.362008}, {-1.002002, 0.472853}, {-0.262505, -1.738222}, - {-0.726954, -0.594786}, {1.196291, 1.072635}, {-0.121522, -0.341266}, - {-0.041270, 0.655770}, {0.198658, 0.212242}, {0.259623, -0.910297}, - {-0.906628, -0.709528}, {0.763820, -0.135300}, {1.075767, 0.169487}, - {-0.535647, -0.428838}, {0.184472, 0.911065}, {-1.106756, 0.326421}, - {-0.568826, -0.976099}, {-1.131721, -0.119743}, {-1.014501, 0.157798}, - {-0.188462, -0.981151}, {0.998759, -0.198788}, {-0.831733, -0.686713}, - {0.940988, -0.639840}, {0.432728, -0.625815}, {-0.373126, -0.262423}, - {0.717374, 0.275913}, {0.267194, -0.410032}, {-0.244544, -0.599248}, - {-0.372515, -0.727035}, {1.133795, 0.095964}, {0.188813, 0.214390}, - {-0.491510, 0.110745}, {-0.112035, 1.669554}, {-0.692933, 0.354110}, - {-0.777650, -0.649853}, {0.206946, -0.549717}, {0.060381, -0.218033}, - {-0.923367, 1.095193}, {-0.086790, 0.112154}, {0.173823, -0.663045}, - {0.246195, 0.466305}, {0.046693, -0.524645}, {-1.283808, -0.478148}, - {0.964145, -0.018176}, {0.171523, -1.351762}, {-0.679412, -0.388570}, - {0.550322, -0.537612}, {0.731997, -1.087005}, {-0.454207, -0.599756}, - {-0.187639, 0.654378}, {-0.844323, -0.003906}, {-0.145352, -0.604780}, - {1.621990, -1.918143}, {-0.151221, 0.586071}, {-2.341130, -1.090539}, - {0.085287, 0.722866}, {-0.323067, 0.087640}, {1.363234, -0.722450}, - {-1.625929, -0.003371}, {-1.349280, 0.497928}, {-0.763448, 0.084800}, - {0.968353, 0.485273}, {-0.654131, 0.368048}, {0.906649, 0.966963}, - {0.502693, -0.801039}, {-0.106512, -0.017897}, {-0.357878, 0.507848}, - {0.596556, -0.386384}, {-1.350622, -0.075382}, {-1.132769, -0.094515}, - {0.784254, 1.026684}, {-1.195967, -0.498431}, {-1.486993, 1.041977}, - {-0.861464, 1.155882}, {0.454096, -0.743460}, {0.135509, 0.255852}, - {0.328982, 0.287838}, {-0.351451, -1.454514}, {-1.163104, 0.800600}, - {-0.159101, -0.818017}, {0.570768, -0.511169}, {0.261905, 0.321343}, - {-0.961814, -0.663710}, {1.707887, -0.051143}, {-1.670659, -0.504308}, - {0.921242, 0.016788}, {0.340322, -0.915290}, {0.166781, -0.511569}, - {-0.158216, -0.111283}, {-0.283839, -0.287862}, {0.628406, 0.668089}, - {-0.332001, -1.189296}, {0.017396, 0.278010}, {-0.009861, 0.703837}, - {0.292750, 0.126056}, {-1.187099, -1.326938}, {-0.183012, -0.223564}, - {-0.566881, 0.719534}, {-0.083212, -0.380213}, {0.070757, -0.303190}, - {-0.121132, 0.687038}, {0.322541, -0.477786}, {0.129674, -0.807120}, - {-0.418168, 0.229298}, {-0.546595, 0.883441}, {0.637606, 0.900993}, - {-0.022450, -0.668027}, {1.165285, -0.042859}, {0.394648, 1.776434}, - {-0.119592, -0.949967}, {-0.380534, -0.700304}, {-0.428653, 0.876593}, - {-0.010833, 0.445818}, {-2.068289, 0.926831}, {-0.056759, -1.011635}, - {0.951500, 0.730713}, {-0.735857, -0.974632}, {-0.441883, -0.113780}, - {0.403497, -0.698566}, {-0.583007, -0.225655}, {0.845352, 1.129219}, - {1.029108, 0.170238}, {0.677910, -0.154584}, {-0.866846, -0.610082}, - {0.620796, 0.585499}, {-0.175772, -0.410802}, {0.738516, 0.222083}, - {0.340440, -0.224279}, {0.514320, -0.118299}, {0.643830, 0.931380}, - {0.823034, 0.678161}, {-0.025896, -0.374766}, {-0.296529, 0.078295}, - {-0.197529, 1.188479}, {-0.561245, 1.938594}, {-0.891056, -0.514375}, - {-0.583395, 1.256778}, {0.358371, 0.149749}, {0.713595, 0.243942}, - {-0.424386, -0.267761}, {0.801126, -0.010966}, {-0.860760, 0.599409}, - {-0.132413, 0.845348}, {-0.366124, 1.094189}, {0.098452, 1.013495}, - {-0.594768, 1.698599}, {-0.214296, 0.107876}, {0.435504, -0.097577}, - {0.484505, 0.098009}, {0.395685, 1.294490}, {-0.288240, 0.457515}, - {0.454454, 0.065128}, {0.611166, 1.360646}, {0.479140, 1.245248}, - {1.573051, 0.996718}, {0.353760, -0.558113}, {-0.300835, -0.238335}, - {-1.239956, -0.500976}, {0.687230, -1.586164}, {0.984939, 0.909665}, - {0.095002, -0.407167}, {-0.722139, 0.986728}, {0.656063, 0.152251}, - {-1.206285, 0.300682}, {-0.445228, -1.320390}, {0.868370, 0.652878}, - {0.480469, -0.416396}, {0.844269, -0.152263}, {-0.854423, -2.170806}, - {0.451749, -0.005347}, {0.076050, -0.938747}, {0.414240, 0.282529}, - {-0.314277, 0.634230}, {-0.352751, 1.885884}, {-0.331918, 0.293480}, - {-0.611542, -0.591605}, {-0.032914, -0.878914}, {0.182686, 0.511677}, - {0.282213, -0.654782}, {0.180992, -0.735602}, {0.434231, -0.167422}, - {-0.416232, 0.478046}, {-0.150081, -0.445287}, {-0.321248, -0.468089}, - {0.620043, 0.101055}, {-0.728128, -0.213253}, {-1.353567, -0.307609}, - {0.725953, -0.761898}, {0.531030, -0.335851}, {-0.913209, -0.639658}, - {-0.309075, 0.414710}, {-0.120038, 1.012719}, {0.402300, -0.164851}, - {-0.404268, -0.373224}, {-0.619788, -0.509276}, {-1.967288, -0.882356}, - {0.774993, 0.863349}, {0.170683, -0.823057}, {-1.277681, -0.649139}, - {-0.150491, 0.048295}, {0.655999, -0.224661}, {-0.328017, 1.448516}, - {-0.168569, -0.611396}, {-1.867020, -0.315154}, {-0.172188, 0.758110}, - {-0.688985, 0.441307}, {-0.344957, 0.468144}, {0.467038, -1.260435}, - {-0.002124, 0.251853}, {0.532495, -0.325352}, {-0.436167, 0.212400}, - {-0.226487, 0.643460}, {1.280616, -1.277356}, {-0.015069, 1.146608}, - {0.145602, 0.831614}, {-1.259462, 0.772211}, {-0.348614, 0.234378}, - {0.236966, -0.423945}, {0.171916, 0.116998}, {-0.380486, -0.447256}, - {-0.069114, -0.908586}, {0.006162, 0.030039}, {-0.360495, 0.129786}, - {-0.449148, 0.342152}, {-0.637659, 0.279006}, {-0.475733, 0.146527}, - {0.774150, -0.450019}, {0.384453, 0.905140}, {0.539473, 0.294686}, - {0.963547, 0.772764}, {-0.577154, 0.243345}, {-0.990744, -0.184541}, - {0.361697, -0.706210}, {-1.300668, -1.074359}, {-0.350468, -0.053975}, - {-1.253670, 1.152225}, {0.645014, -1.229474}, {-0.947043, -0.775451}, - {0.731531, 0.761002}, {-0.704281, -0.492722}, {-2.122805, 1.221006}, - {-0.886448, 0.215374}, {-0.063047, 1.035249}, {-0.130030, -1.597369}, - {-1.588580, -0.164693}, {0.243675, 0.189793}, {1.045297, -1.178104}, - {0.389365, -0.556548}, {0.475483, -1.559555}, {-0.335436, 0.300775}, - {-0.972000, -0.175491}, {-0.133305, 1.090422}, {1.581001, 0.260800}, - {-0.075648, 1.263143}, {1.516818, -0.971175}, {0.169816, -0.200516}, - {-1.034590, 0.153998}, {-1.097372, 0.044848}, {-0.579664, -0.209895}, - {-0.053491, -0.037996}, {1.254129, -1.166188}, {-1.171324, -1.423655}, - {0.425314, -0.416050}, {-0.615369, 0.303270}, {-0.110978, -0.122135}, - {0.204478, 0.019416}, {-0.802350, 0.427858}, {-1.296030, -0.172149}, - {-0.506648, 0.402006}, {-0.190420, 0.046755}, {0.243431, 0.240358}, - {-0.507131, 0.100200}, {-0.454722, -0.946433}, {0.725846, 0.693385}, - {-0.194304, 1.034517}, {-0.639409, -1.491172}, {-0.370464, -1.316069}, - {0.026346, 1.232204}, {-0.045298, -1.867401}, {1.566024, -1.070478}, - {-0.525522, 0.424209}, {-0.390620, 0.469335}, {-0.748788, -0.640077}, - {-0.861505, 1.668542}, {0.942889, 1.164779}, {0.168485, -0.273375}, - {-1.415495, 1.078624}, {-0.973990, -0.245288}, {-0.406225, 0.204616}, - {-1.107687, 0.132306}, {-0.922430, 0.271948}, {-0.770345, 0.248383}, - {-0.262733, -0.459021}, {-1.543574, 0.237828}, {0.427934, 1.167747}, - {0.838651, -0.645278}, {0.003714, 0.143614}, {-0.365774, 0.832688}, - {0.120564, 0.594678}, {0.995994, -0.565695}, {-0.126425, 0.174578}, - {0.947284, -0.717938}, {1.291500, 0.893980}, {0.094097, 0.331983}, - {-1.520554, 1.050692}, {0.429938, 0.967334}, {1.062959, 1.335563}, - {-1.374009, 0.443307}, {-0.133662, 0.424658}, {-0.351652, 0.475247}, - {-0.774004, 1.216356}, {-0.929932, -1.357864}, {-1.093596, -0.304936}, - {0.421699, 1.120944}, {-0.347581, -1.700207}, {1.759930, 0.663514}, - {-0.091702, 0.155358}, {0.037256, 0.562375}, {-0.880499, 0.164302}, - {-0.851232, 0.905426}, {-0.576845, 0.536598}, {-0.671018, 0.273580}, - {0.527832, 0.179628}, {-0.088704, -0.382192}, {-0.475693, -0.489545}, - {0.813913, -0.007911}, {0.866953, 1.168459}, {0.342727, 0.090489}, - {-0.102248, 0.577989}, {0.548149, 0.018512}, {-0.439522, -0.100163}, - {-0.187621, -0.065630}, {-0.323931, -0.323939}, {-0.346097, -0.211944}, - {0.183836, 1.796108}, {-0.314326, 0.290377}, {0.221068, -0.314679}, - {-0.807497, 0.876966}, {1.656237, -1.284909}, {0.429140, 0.610550}, - {-0.692503, -1.275180}, {0.148498, -0.742160}, {0.471384, -0.117794}, - {-0.337555, 0.201199}, {0.276186, 0.288946}, {0.242827, -0.076791}, - {1.846708, -0.086855}, {-0.069953, 0.656462}, {0.115995, 0.180799}, - {-0.284735, 0.545367}, {0.633690, -0.122335}, {-0.909572, -1.230068}, - {0.080008, 0.996363}, {0.694586, -0.073983}, {-0.882830, -1.068673}, - {0.189491, 1.853682}, {-1.424492, 0.427126}, {0.689818, 1.018190}, - {0.475888, -0.235734}, {0.272150, 0.265798}, {0.032696, 0.054859}, - {-0.596591, -0.418400}, {-0.330926, 1.472477}, {0.830467, 0.554452}, - {0.141106, -0.441457}, {0.871720, 0.179847}, {0.295633, -0.724683}, - {-0.435067, 0.340489}, {0.350137, 1.011308}, {-0.193628, 0.339546}, - {0.698882, 0.568895}, {0.714853, -0.257131}, {-0.262342, -0.470386}, - {-0.636850, -0.532836}, {-0.147885, -0.767427}, {0.750463, -0.213164}, - {-0.548790, 0.050549}, {-1.033421, -0.901535}, {1.500041, -1.549836}, - {-0.432532, 0.497503}, {1.038156, 0.874007}, {0.463656, 0.085929}, - {-0.089563, -0.381914}, {-0.081148, 1.037969}, {0.548773, 0.429676}, - {-0.491311, -0.637343}, {-2.438709, -0.051842}, {1.225795, -0.902596}, - {-0.445842, 0.452895}, {0.109824, 0.055383}, {-0.232239, 0.462964}, - {0.237473, -0.816454}, {-0.073903, 0.108264}, {-0.412081, 0.634950}, - {0.526763, -0.598860}, {0.633333, 0.185228}, {-0.230045, -0.696161}, - {-1.147548, -0.875395}, {-0.126686, -0.787857}, {-0.478097, -0.754376}, - {-1.022308, -0.408585}, {-0.269342, -0.318111}, {-0.634583, 0.035421}, - {0.976029, 0.481457}, {0.490922, 1.815942}, {-0.325872, 0.000525}, - {-0.552517, 0.029422}, {-0.493102, -0.053374}, {-1.503537, -0.460894}, - {1.108601, -0.232398}, {-0.695587, -1.170494}, {-1.077017, -0.195150}, - {0.199615, 0.188295}, {0.984679, -0.566367}, {1.297710, -0.537764}, - {-0.743610, 1.332962}, {0.611631, -1.230295}, {0.535225, -0.203019}, - {-1.456897, 0.798777}, {-0.000363, -0.238487}, {0.922337, 0.150983}, - {0.215997, 0.386013}, {0.536468, 0.167675}, {0.223258, 0.110369}, - {0.661156, 0.422147}, {-0.247800, -0.854418}, {0.653356, 0.093449}, - {0.412471, 0.099614}, {0.008260, -0.284842}, {0.602377, 0.832860}, - {-0.140841, 0.066235}, {0.373272, -0.127086}, {0.881863, -0.583065}, - {-0.689000, 0.206484}, {1.005700, -0.372850}, {-0.405465, -0.531119}, - {-0.647395, -0.657215}, {0.062044, -1.065059}, {-0.727797, 0.903809}, - {-0.566777, -0.706294}, {-0.632129, 0.467014}, {0.899076, 0.126889}, - {0.385478, 1.186605}, {0.703954, -0.241354}, {0.283012, 0.853681}, - {-0.971216, -0.982086}, {0.102070, -0.510027}, {-0.474635, 0.615183}, - {-1.176123, 0.165700}, {0.656442, -0.454286}, {-0.470031, 0.269875}, - {-0.570072, 0.651427}, {0.160737, 0.443575}, {-0.102227, -1.423956}, - {0.063696, 0.787943}, {0.435511, -1.119014}, {-0.192739, -0.355147}, - {-0.353761, -0.790623}, {-1.113609, 0.176838}, {0.250330, -0.046952}, - {0.615718, 0.870463}, {0.400504, 0.431724}, {1.162029, -0.731667}, - {0.568344, -1.078877}, {0.085425, -0.443310}, {0.207902, 1.284480}, - {0.334856, 0.462654}, {-0.335173, 1.595103}, {-0.929111, -0.555447}, - {0.011277, 0.456913}, {-0.040002, 0.130483}, {0.973999, 0.191361}, - {-0.303043, 0.236946}, {0.643394, -0.426236}, {0.323195, -1.152534}, - {0.747335, -1.247994}, {0.294046, -0.113540}, {-0.253140, -0.990029}, - {1.250059, 0.248076}, {-0.521407, -0.594040}, {0.808065, 0.500768}, - {-0.017087, 1.026674}, {0.006366, -0.327461}, {-0.349676, -1.622236}, - {-0.438362, 0.532035}, {-0.660037, -0.474255}, {0.162498, 0.533545}, - {1.633542, -0.132034}, {-0.318215, 0.175327}, {1.192031, -0.516092}, - {0.778273, 2.231759}, {-0.011893, -0.581060}, {-1.029364, -0.695297}, - {-0.173287, 0.110115}, {0.635321, 0.005894}, {-0.363303, 0.267814}, - {0.757333, 0.531349}, {-0.454391, -0.388071}, {0.250888, -1.427019}, - {0.180933, -1.456074}, {0.679743, -0.683070}, {-0.313584, -0.254765}, - {-0.030301, 0.911933}, {0.128000, 0.628659}, {-0.443625, -0.158499}, - {1.973744, -0.920044}, {0.893488, -0.150660}, {0.931910, 0.910991}, - {0.042853, -0.026324}, {-0.313634, -0.520955}, {-0.671536, -0.215733}, - {0.556569, 0.028198}, {1.117075, 0.254181}, {-0.910888, 0.046416}, - {-0.442587, -0.710371}, {0.417335, 0.155742}, {-0.390962, 1.821362}, - {0.041557, 0.535249}, {0.118388, -1.118331}, {-1.008590, 0.173649}, - {0.933494, -0.410314}, {-1.828304, -0.246922}, {0.948599, 0.110863}, - {0.563454, -0.219323}, {0.190125, -1.330677}, {0.649893, 0.077576}, - {0.752153, 0.957161}, {0.145088, 0.727431}, {-0.266557, -0.271793}, - {-0.021569, 0.947269}, {-0.193472, 0.296913}, {0.872543, 0.792483}, - {0.567036, -1.219657}, {-0.243654, 0.348594}, {1.193936, 0.547621}, - {0.457518, 0.539115}, {0.476268, 0.389504}, {0.481768, -1.579726}, - {-0.125194, 0.075938}, {0.973247, -0.247002}, {-0.843604, 0.794316}, - {0.516310, 0.192748}, {-0.156413, -0.385387}, {0.670795, 0.673320}, - {0.715695, 0.154379}, {-1.280764, -0.035405}, {0.336530, 1.477179}, - {0.379120, 1.083063}, {-0.395949, -0.490567}, {-0.541033, 0.318875}, - {1.380447, 1.144061}, {-1.155728, -0.451759}, {-0.119609, 0.530847}, - {0.112070, -0.418582}, {-0.073277, -0.967746}, {-0.568655, 0.359419}, - {-0.644562, 1.301028}, {-0.972656, -0.051257}, {0.565598, 0.063147}, - {0.226373, -1.303766}, {-0.053945, 0.745209}, {-0.902083, -0.659843}, - {1.127191, 1.430759}, {-0.593266, -0.302685}, {-0.258176, 0.542044}, - {-0.416106, -0.838782}, {-0.513205, -0.035953}, {0.242585, -0.897682}, - {-0.942517, 1.556742}, {-0.845536, -0.691953}, {1.195428, -0.996093}, - {2.193852, -0.065919}, {0.924832, -0.176276}, {2.032670, 0.127016}, - {-0.102169, 0.484681}, {-0.035450, -1.188934}, {0.429058, 0.816624}, - {-0.470365, 0.209900}, {1.204684, 0.408525}, {-1.114052, 0.414965}, - {-0.544975, 1.493659}, {1.142379, 0.058358}, {-1.591466, 0.057853}, - {-0.396774, -0.466300}, {0.278815, 0.305556}, {0.398613, -0.065548}, - {0.671438, 0.213874}, {-1.240631, 0.575082}, {0.694327, -1.107893}, - {-0.789778, -0.245106}, {1.082148, 0.219531}, {0.152659, -0.295388}, - {1.491724, 1.028192}, {0.264360, -2.175691}, {0.311309, 0.322370}, - {-1.010542, -0.856291}, {1.053519, -0.514131}, {0.635882, 0.553160}, - {0.210920, -0.544505}, {-0.390892, 0.472470}, {-1.002592, 0.835210}, - {-0.380769, 1.290713}, {-1.474071, -0.592612}, {-1.467829, -0.275493}, - {-0.484917, -0.266843}, {1.358912, -0.290679}, {-0.760563, 0.421103}, - {0.606959, 0.863622}, {-0.587442, 0.924857}, {-0.967521, -0.513563}, - {-0.083623, 0.137413}, {-0.366754, 0.279873}, {-0.664209, -0.109312}, - {-0.807642, -1.778743}, {0.805218, 0.540964}, {0.176385, -0.486583}, - {0.173106, -0.536233}, {0.000016, 0.458630}, {-0.370551, -0.189795}, - {0.285176, 0.463441}, {0.240888, -0.349790}, {0.108800, -1.538375}, - {0.043605, -2.269263}, {-0.272421, -0.006057}, {0.246002, 0.570891}, - {0.096239, 1.069368}, {0.120818, -0.952900}, {-0.717973, 0.329944}, - {0.667827, 0.340873}, {1.111960, -0.209056}, {-0.189543, -0.273671}, - {0.227323, 1.114953}, {-0.126011, 0.855705}, {-0.076941, -0.519865}, - {0.663803, 0.416814}, {-1.438996, 0.380905}, {0.894368, -1.006748}, - {0.577437, -0.173548}, {1.291229, 1.496509}, {-0.272941, -0.641907}, - {-0.724711, 0.930725}, {0.076404, -0.563913}, {-1.000032, 0.407691}, - {-0.566778, 0.243748}, {0.053640, -1.146169}, {0.056950, -0.137659}, - {0.346461, 0.676644}, {1.134174, 0.689609}, {0.667048, 0.155867}, - {-0.320707, -0.534195}, {0.003425, 0.485725}, {-0.047785, -0.403591}, - {-0.508202, -0.573405}, {0.249207, 0.572682}, {-0.257244, 0.012521}, - {0.677142, -0.089546}, {0.020521, 1.116257}, {0.752646, 1.008726}, - {-0.505273, -0.214467}, {-0.574463, 0.394588}, {-0.062090, 0.170994}, - {-1.058119, 0.845956}, {0.671211, 0.127179}, {0.669598, 0.396192}, - {-1.024867, -0.406429}, {-0.919537, -1.145803}, {0.835666, -1.895036}, - {-1.151913, 0.473192}, {0.555942, 0.438244}, {-0.109398, -0.855773}, - {-0.287955, -0.851273}, {-0.240201, 0.972916}, {0.263522, 1.213921}, - {0.260295, 0.650558}, {0.211509, 0.528461}, {0.224630, 0.145409}, - {0.998198, -0.616575}, {-0.241487, -0.203747}, {0.176697, 0.282204}, - {-1.171878, -0.213805}, {-0.379528, 0.635300}, {-1.216967, 0.179625}, - {-0.880248, -0.542043}, {-0.062630, 1.538727}, {-0.418366, 0.221704}, - {-0.204577, -0.588521}, {0.468903, 0.240225}, {0.962490, 0.035097}, - {-1.212926, -0.343519}, {1.920868, 0.684370}, {1.041078, 0.532627}, - {0.283895, -0.418711}, {-1.397285, 0.823509}, {0.297481, -0.725686}, - {-0.495904, 0.086877}, {-0.863560, -0.351497}, {0.531538, 1.820775}, - {-1.045262, 0.780107}, {0.974250, -0.849368}, {0.380715, -1.227674}, - {0.781374, -0.931283}, {-0.112700, 0.323563}, {0.188277, 0.095565}, - {-0.780066, -0.535792}, {-0.559995, 0.628452}, {-0.217922, -0.893528}, - {0.759105, -0.418794}, {0.649615, 0.790668}, {0.067538, -0.565015}, - {-0.002673, 0.883082}, {0.194140, 0.176718}, {-0.940190, 1.442042}, - {0.619299, 0.056097}, {0.468398, 0.509592}, {-0.711271, 0.043840}, - {-0.998983, -0.728807}, {0.325337, 0.466913}, {0.077430, 0.279358}, - {-0.673751, 0.162800}, {-0.231974, 0.235378}, {0.910689, -0.797473}, - {-1.622605, -0.841817}, {0.432091, -1.018767}, {-0.539186, -0.324225}, - {-0.242040, 0.155646}, {1.252015, 0.593035}, {0.188151, -0.739432}, - {0.534619, 0.511769}, {0.345659, 0.476703}, {-0.474379, 0.580542}, - {-0.760683, -0.293209}, {-0.917086, 0.574522}, {-0.423170, -0.878440}, - {0.040276, 0.362034}, {0.008902, -0.223798}, {0.002946, -0.186733}, - {-0.727363, 0.046058}, {0.494353, -0.235286}, {0.720284, 0.433101}, - {1.295036, 0.230127}, {-0.419453, 0.141825}, {-0.485166, 0.030742}, - {-0.579491, -0.809389}, {0.297978, 1.166165}, {0.107656, 0.089250}, - {-0.419769, 0.749546}, {0.101102, 0.988807}, {-0.007293, -0.739409}, - {-0.673602, 0.874056}, {0.488981, -0.019753}, {-0.544172, 1.634457}, - {-1.110920, -0.678521}, {-1.387117, -0.567418}, {-1.186982, -0.625841}, - {-0.131011, -0.534074}, {0.455097, 0.393563}, {0.737161, -1.031238}, - {0.817935, -0.327775}, {-0.385625, -0.012476}, {-0.802613, 0.038609}, - {-0.194642, -0.009339}, {0.377562, -1.207033}, {-0.660416, -0.454296}, - {-0.706623, 0.381842}, {-0.116607, 0.548143}, {0.288850, -1.075507}, - {0.276881, 0.463193}, {0.829630, 0.529055}, {0.299449, -0.575188}, - {-0.231345, 0.351412}, {1.003362, -1.460585}, {0.451130, -1.124930}, - {0.322338, 0.099733}, {-0.254205, -0.042471}, {0.211873, -0.537793}, - {0.550656, -1.202402}, {0.302071, -0.529459}, {0.484872, -0.424805}, - {-0.676112, 1.242723}, {0.196295, 0.986675}, {-0.006182, 0.043626}, - {1.004458, -1.101313}, {-0.508022, -0.307337}, {-0.069604, -0.270549}, - {-0.936588, 0.401472}, {0.395051, -0.291762}, {0.249364, -0.460210}, - {0.470524, -1.377845}, {-0.031948, -0.316301}, {0.398084, 0.453870}, - {-0.084745, 0.044352}, {-0.653237, 0.563452}, {-0.052125, 0.128803}, - {-0.427875, 0.636993}, {1.058874, 0.376406}, {-0.282247, -1.483023}, - {-0.125176, -0.032568}, {1.794146, -1.232187}, {-0.187983, -0.345985}, - {0.123095, -0.261032}, {-0.415461, -1.090493}, {-0.500346, -0.804478}, - {-0.513241, 1.041086}, {-1.784888, 0.501072}, {-0.235262, -0.395913}, - {-0.874197, 0.136517}, {0.802032, 0.092163}, {0.172660, -1.036619}, - {-0.740904, 0.535180}, {0.617676, 0.005886}, {-0.693840, -0.522827}, - {-0.803188, -0.240073}, {-0.728556, -0.632434}, {-0.149941, 0.193266}, - {0.476898, -0.368260}, {-0.031225, -0.120384}, {-0.073972, 0.464808}, - {0.160690, 0.537959}, {-0.450836, 0.102038}, {-0.216212, 1.235659}, - {0.164200, 0.192175}, {-0.265676, 0.384622}, {0.213530, -0.157196}, - {-0.833550, -0.048440}, {0.003577, 0.903917}, {-0.060957, 0.001082}, - {-0.422697, -0.291104}, {-0.436963, 0.617239}, {-0.560838, -0.652536}, - {-0.389877, -1.335308}, {0.221871, -0.727966}, {0.366452, -0.156117}, - {0.048762, 0.817719}, {1.364032, -1.028170}, {-0.199738, -0.597666}, - {-0.048452, 0.186324}, {0.317672, 1.640253}, {1.030187, 1.004812}, - {0.186677, 0.155142}, {-0.128456, -0.513439}, {1.114846, -0.127393}, - {-0.365605, -0.311630}, {-0.081923, 0.648966}, {0.060946, 1.009555}, - {0.545678, 0.076880}, {-0.990208, -1.026702}, {-0.840658, 0.552260}, - {-1.316496, 0.415412}, {0.233111, -0.268865}, {-1.081822, 0.126111}, - {-0.893361, 0.121170}, {0.637557, -0.768942}, {-0.981313, -0.937625}, - {0.366842, -0.491230}, {-0.296605, -0.122075}, {-0.694637, -0.691831}, - {-0.346922, 1.010405}, {0.265549, -0.072721}, {0.553767, 0.365723}, - {-0.886712, 0.109635}, {-0.548347, -0.303784}, {-0.124639, 0.349517}, - {-0.989650, 0.330316}, {0.762642, 0.298664}, {-0.179434, 1.111018}, - {0.040421, 0.525211}, {-0.040726, -0.517622}, {-0.436258, -0.419372}, - {-0.614376, -1.002123}, {0.714119, -0.753994}, {-0.514783, -0.369145}, - {0.074207, -1.001150}, {0.344306, -0.309130}, {0.149015, 0.765323}, - {-0.296244, 0.136197}, {0.962661, 1.268011}, {0.023783, -1.186554}, - {0.123632, 0.492674}, {0.856406, 0.442632}, {0.232322, -0.486339}, - {0.191689, 0.265950}, {0.179934, -0.748107}, {-1.701289, -0.051015}, - {-0.259518, 1.342912}, {-1.092688, 0.126797}, {0.646145, 1.070342}, - {-0.102832, 0.212320}, {0.371741, 1.059808}, {0.329041, 0.597689}, - {1.172615, 0.542162}, {-0.190803, 0.345770}, {0.694535, -0.143332}, - {1.565777, -0.517105}, {-1.157503, -0.395621}, {0.977210, 0.015425}, - {-0.257104, 0.098762}, {-1.333003, 0.368782}, {0.061883, 0.379086}, - {0.445949, -0.575541}, {0.417953, 0.289093}, {0.289993, -0.020798}, - {-1.440368, 0.472769}, {1.148131, 1.054014}, {-0.556081, 0.000779}, - {0.327782, 0.192655}, {-0.039300, -0.677965}, {0.740380, -0.491050}, - {-0.072859, -1.870999}, {-0.464327, -0.233392}, {0.037757, -0.291647}, - {-0.124848, -0.199890}, {0.429504, 1.065232}, {-0.841457, 0.469673}, - {-0.636712, 0.263585}, {0.958690, -0.322036}, {-0.209246, 0.211522}, - {0.228839, -1.553564}, {0.544155, 0.188110}, {0.738006, 0.016440}, - {0.586748, 0.001516}, {0.360613, 0.505248}, {-0.257556, -0.316652}, - {-0.203123, 0.066133}, {0.707979, -0.756344}, {-0.583274, -0.479593}, - {-0.810371, -0.061860}, {0.273421, -0.865636}, {-0.823282, 0.610077}, - {0.094723, 0.544387}, {-0.008236, 0.290898}, {0.646489, 0.296314}, - {-0.205770, -0.509249}, {-0.052562, 0.594927}, {0.444777, 0.441814}, - {0.100155, -0.501991}, {-0.232563, -0.082230}, {-0.081497, -0.962312}, - {0.041276, 0.987394}, {1.069935, -1.329858}, {-0.076026, -0.887274}, - {0.086993, 0.014743}, {-0.179174, 0.280143}, {0.565349, -0.420367}, - {0.521928, -1.241770}, {0.916126, 1.435687}, {0.637655, -0.516147}, - {-1.043603, 0.819465}, {-0.883656, -0.205474}, {-0.644741, 0.180014}, - {0.622506, -0.334192}, {-0.241486, -0.600670}, {-1.499588, 0.650466}, - {-0.201187, -0.192333}, {0.480999, -0.530799}, {-1.738026, -0.145849}, - {0.998277, 0.673428}, {-0.144344, -0.233893}, {-0.059109, -0.308362}, - {0.269830, 1.562885}, {-0.013641, -0.506529}, {-0.278890, 0.111794}, - {0.066036, 0.843526}, {-0.042208, 1.107633}, {-0.014597, 0.485376}, - {0.183473, -1.283402}, {-0.039860, -0.602430}, {0.759903, 0.034461}, - {-0.520732, 0.826968}, {0.093097, 0.518453}, {-0.047591, 0.588031}, - {-0.808060, -0.728578}, {-1.845584, 0.914242}, {0.266263, 0.716752}, - {-1.253357, -1.118286}, {0.705217, 0.050021}, {0.743902, -0.448512}, - {0.216893, 0.073955}, {0.385487, 0.994616}, {0.178511, 0.204042}, - {-0.523429, -0.483543}, {0.274570, 0.042189}, {-0.187481, 0.727858}, - {-1.040426, -0.720766}, {-0.359936, 1.093006}, {-0.665247, -0.950281}, - {-1.001936, 0.289410}, {1.381124, 0.376211}, {0.995092, -0.174666}, - {1.360198, -2.217745}, {-0.554387, -1.676721}, {-0.233175, -0.582371}, - {-0.388060, -0.034116}, {1.342218, 0.537788}, {0.249304, 1.296082}, - {-1.475857, -1.157512}, {-0.197745, -0.568437}, {0.824403, 0.507678}, - {0.819198, -0.920770}, {0.385495, -0.200380}, {-0.503672, 0.548119}, - {-1.111840, -1.633640}, {-1.163537, -0.037715}, {0.292674, -0.654745}, - {-0.962338, -0.407980}, {-0.123743, 0.028162}, {-0.253323, 0.014822}, - {0.479730, -0.823812}, {-1.207221, 0.300687}, {0.996807, -1.482183}, - {-0.338063, 0.564877}, {0.920558, -0.084443}, {1.293720, 0.577197}, - {-0.967375, 0.013719}, {-0.481738, 0.429749}, {-0.943010, -0.544458}, - {0.060644, 0.029556}, {1.271225, 0.072382}, {1.345314, -0.606930}, - {-0.113264, 0.048617}, {-0.471231, 0.591903}, {0.450025, -0.255396}, - {1.082117, -0.457752}, {-0.437023, 0.619777}, {0.199128, 0.415873}, - {-0.738844, -1.578600}, {-0.460504, -0.497232}, {0.365693, 0.851386}, - {1.155773, 0.416016}, {1.362762, -0.089273}, {0.045085, -0.410653}, - {-0.352391, 1.194551}, {0.269619, -0.845695}, {-0.937635, -0.041440}, - {-0.291614, 0.210214}, {-0.590964, 0.334029}, {0.041430, -0.582846}, - {-0.049634, -0.333992}, {0.587620, 0.926445}, {0.019148, -0.708333}, - {-0.897879, 1.311240}, {-0.362442, 1.068789}, {0.417690, 0.948938}, - {1.014004, -0.315357}, {-0.426504, 0.852104}, {0.879939, 1.426273}, - {1.147532, -0.513129}, {-0.010543, -0.559115}, {-0.935264, -0.274738}, - {0.047804, -0.517361}, {-1.287619, -0.019239}, {-0.829546, -0.280842}, - {-0.731296, 0.823460}, {-0.891822, 0.427640}, {0.589846, 0.227553}, - {0.224689, 0.571736}, {-0.991209, -1.790480}, {-0.009287, 0.367028}, - {-0.551808, -1.155483}, {-0.158887, -0.504851}, {-1.006753, 1.691039}, - {0.139125, 1.656709}, {0.311493, -1.358651}, {-0.000659, -0.397979}, - {0.168687, -0.256026}, {-1.042776, 0.605335}, {-0.319026, 1.219072}, - {1.837911, 0.271572}, {0.239919, 0.877257}, {-0.037115, -0.596589}, - {-0.745878, 1.264467}, {0.010089, 0.390431}, {-0.581987, -0.175623}, - {-0.649250, 0.127701}, {-0.927358, -0.445949}, {0.969864, -0.227424}, - {0.341977, 0.252902}, {0.135549, -0.495303}, {-0.434902, -0.375805}, - {0.365613, 0.090189}, {-0.599520, -0.108817}, {-0.486901, 0.808199}, - {0.802453, 0.113674}, {-0.985303, 0.348679}, {0.272472, -0.315188}, - {0.653225, -0.102477}, {-1.075974, 0.333581}, {0.197104, -0.038665}, - {0.362767, 0.959841}, {-0.336212, -0.991636}, {0.341808, -0.200085}, - {0.350307, -1.046523}, {0.941919, -0.790265}, {-0.391904, -0.269616}, - {-0.583731, -0.576541}, {-0.767887, 0.168764}, {0.804567, -0.160216}, - {1.321056, 0.602316}, {-0.188219, -0.925499}, {-0.025028, -0.134455}, - {0.409337, 0.135734}, {0.934364, 0.899781}, {0.443336, -0.454010}, - {0.267522, 1.651923}, {-0.021616, -0.240785}, {-0.389671, 0.913717}, - {1.028459, -0.957200}, {0.917363, 0.369138}, {0.528539, 0.496175}, - {0.086018, 0.410356}, {-0.761042, 0.621316}, {0.674682, -0.212507}, - {-0.658861, -0.532391}, {0.285689, -0.034456}, {0.547369, 0.588551}, - {-0.665673, -0.523220}, {-0.044039, 0.016680}, {0.770642, 1.488234}, - {1.180668, -0.468981}, {-0.046869, -0.474722}, {-0.575480, 1.143743}, - {0.493793, -0.521459}, {-0.181592, 0.068195}, {-0.893649, -0.629530}, - {0.739301, -0.072214}, {0.372672, 0.080329}, {0.913631, -1.018692}, - {-0.517839, 0.093767}, {0.621679, 0.306497}, {0.074540, 0.055095}, - {0.723377, -0.915493}, {0.022777, -0.462031}, {0.093992, 0.364776}, - {-0.161938, -1.408632}, {-0.700315, -0.305135}, {0.067748, -0.187459}, - {0.483409, -0.713985}, {0.928152, -0.381167}, {-0.857084, 1.583029}, - {-1.318696, 0.516152}, {0.062040, 0.590523}, {0.832742, -0.065744}, - {0.190616, 0.184008}, {0.718808, 0.579103}, {0.091621, -0.167070}, - {-0.496135, 1.776628}, {-0.776281, -0.967919}, {-0.340838, -1.252051}, - {0.509865, 0.890890}, {0.011224, 1.492168}, {-0.370739, 0.707013}, - {-0.707116, 1.492027}, {-1.470031, -1.128868}, {-1.199963, 0.304341}, - {0.178199, -1.144514}, {0.827291, 0.129026}, {-1.809214, 0.424594}, - {-0.056250, -1.086321}, {-0.806620, 0.594545}, {0.614157, 0.789597}, - {-0.230539, -0.152551}, {0.305055, 0.383843}, {-0.572786, -0.383604}, - {0.699148, 0.289711}, {1.471148, 1.731421}, {0.221494, -0.119078}, - {0.134051, 0.860560}, {-0.199285, 1.539492}, {0.327753, -0.263169}, - {0.070554, -0.500086}, {0.607835, 1.349017}, {0.298997, 0.241897}, - {0.128546, 0.517720}, {-0.933511, -0.304699}, {-0.222248, -0.319890}, - {0.219134, 1.083726}, {0.732430, -0.081472}, {-0.274968, 0.590110}, - {-0.774399, 1.437671}, {1.398432, -0.474460}, {0.731892, 0.666366}, - {0.286832, -0.212891}, {0.820630, 1.301418}, {0.413562, 1.052060}, - {-0.226316, -0.541971}, {-1.042872, -0.345541}, {-0.858989, -1.096863}, - {1.880585, -0.233188}, {-0.807930, -1.151544}, {0.394861, -0.330062}, - {-0.085289, -1.629366}, {0.640853, -0.152655}, {0.183194, -0.254060}, - {-1.443384, 1.394728}, {-0.011702, 0.646342}, {0.736446, -1.332796}, - {0.621335, -0.574106}, {-0.338450, -1.567302}, {-0.332211, 0.110908}, - {-1.017165, -1.522539}, {-0.140315, 2.030807}, {0.044867, -1.101171}, - {0.189708, 0.085158}, {-1.830584, 0.387522}, {-1.017359, 0.484883}, - {0.275108, 0.181996}, {-0.327957, 1.214680}, {0.336969, -0.766226}, - {-0.562675, 0.180997}, {1.310744, 0.585186}, {0.080051, 2.094519}, - {0.211201, 0.942647}, {0.568763, -0.272394}, {0.152587, -0.595240}, - {1.275315, 0.622396}, {0.813283, -0.132745}, {0.407696, 1.569844}, - {0.039364, 0.287794}, {0.244642, -0.641218}, {0.886477, 1.006243}, - {0.948847, 0.187471}, {-0.626010, 0.160922}, {0.962612, 0.504401}, - {0.875536, -0.815369}, {0.175947, -1.244808}, {-0.070131, 0.461325}, - {0.202225, -1.039772}, {-0.325603, 0.232979}, {-0.747171, -1.024781}, - {-0.079451, 0.376832}, {0.336329, 1.142868}, {0.213160, 0.231289}, - {-0.691300, -0.017983}, {0.057278, -0.387798}, {0.073555, 1.006174}, - {0.490772, 0.337166}, {0.685390, -0.318414}, {0.637094, 0.808315}, - {0.523969, 2.121595}, {0.721264, -0.482325}, {-0.145401, -0.605792}, - {-0.233810, -0.053732}, {1.269554, 0.710916}, {1.057321, -1.046691}, - {0.464363, -0.270764}, {0.840490, 1.150537}, {-0.620898, -1.419891}, - {-0.857446, -0.039502}, {-0.770707, -1.876256}, {0.950801, 1.087080}, - {1.432451, -0.030974}, {0.490360, -0.567231}, {-0.268067, -1.435917}, - {-1.183652, 0.279454}, {0.884853, -0.220426}, {-0.528640, -0.111193}, - {-1.097008, 0.128877}, {-1.181036, -0.940732}, {0.775628, 0.000761}, - {1.472129, 0.938313}, {-0.651045, -0.150514}, {0.253945, 0.727849}, - {-0.625689, -0.863395}, {-0.857663, -0.204035}, {0.229410, 0.785159}, - {0.415385, -0.811285}, {0.135788, 0.541017}, {0.540449, 0.302355}, - {-0.375243, -0.075659}, {-0.126218, -1.254478}, {-0.842535, -0.102853}, - {-0.944249, 0.424586}, {1.011823, -0.620988}, {1.012036, 0.169655}, - {0.512690, 0.312651}, {-0.628804, 0.539718}, {0.567513, 0.109352}, - {0.934259, -0.533472}, {-0.633715, -1.496096}, {-0.416398, -0.918620}, - {0.421463, -1.209687}, {0.314672, -0.470088}, {-0.834237, -0.445546}, - {-0.485232, -0.247145}, {-0.136325, -0.141431}, {-0.006273, 1.250196}, - {0.266229, -0.648711}, {-0.945678, -0.027143}, {0.782856, -0.470187}, - {0.305630, 0.658933}, {-1.111016, 0.700723}, {-0.365320, 0.254061}, - {-0.175023, 0.308741}, {0.744562, 0.103704}, {0.557819, 0.264705}, - {-1.130397, -0.307616}, {0.190300, 0.843572}, {0.871835, -0.864320}, - {1.025579, 0.117274}, {-0.714639, -1.413594}, {-0.394212, 0.630346}, - {-0.402052, 0.309273}, {1.048158, 0.495032}, {-1.458614, 0.390078}, - {-1.348655, -0.157187}, {0.627460, 0.517239}, {0.616428, 0.013392}, - {0.066659, 0.172077}, {0.177589, 1.104288}, {-0.202342, 0.342469}, - {-0.896507, -0.597822}, {-2.067867, -1.208733}, {-0.022428, 0.203426}, - {0.303756, 0.349684}, {0.627717, 0.858736}, {-0.745760, -0.181848}, - {-0.496215, 1.429290}, {-0.011943, -1.057738}, {0.536641, 1.349276}, - {-0.528001, -0.098934}, {-1.063109, 0.581999}, {-1.256061, 0.808575}, - {-0.601466, 0.399072}, {0.563718, -0.264581}, {-0.237276, -0.677165}, - {-0.348054, 1.673165}, {0.064061, -0.618610}, {-0.161228, 0.795589}, - {-0.924021, -1.050412}, {0.197726, 0.353867}, {-0.151410, -1.246225}, - {-0.714340, 0.549384}, {1.556261, -1.468342}, {0.468479, -0.903354}, - {-0.483340, 1.187727}, {0.077127, -0.093447}, {0.064972, 0.945303}, - {-0.092409, 0.145919}, {1.315321, 0.437219}, {0.090724, 0.761955}, - {0.781174, 0.978083}, {-0.308962, -0.268376}, {0.696462, -0.805879}, - {0.966927, 1.486179}, {-1.249165, -1.299388}, {1.239842, 0.109267}, - {-0.340003, 0.701168}, {-1.633695, 0.438179}, {0.257196, 0.023754}, - {0.005382, -0.652799}, {0.698827, -1.245465}, {1.057062, -0.264028}, - {-0.335223, -0.503241}, {0.175219, -1.082885}, {-0.274187, -0.933890}, - {-0.240526, -2.221268}, {-0.007571, 0.808866}, {0.162060, 0.252737}, - {0.481541, 0.726904}, {-0.555236, 0.591634}, {-0.136039, -0.497365}, - {-0.914324, -0.971380}, {-0.330625, 0.159913}, {0.231296, -1.098666}, - {0.393929, -1.169035}, {-0.664998, 0.348284}, {0.579266, -0.439099}, - {0.782286, -0.483201}, {-0.036705, 0.243544}, {-0.470027, -0.758332}, - {-1.089025, 0.282651}, {-0.536396, -0.779503}, {0.584009, 0.036838}, - {0.777240, -0.758248}, {-0.410388, 0.482134}, {-0.240905, -0.322910}, - {1.052859, 0.448321}, {0.744819, 0.688556}, {-0.323975, -0.312544}, - {1.688688, 0.125085}, {0.767757, 0.027399}, {-0.165767, 0.087836}, - {-0.295850, -1.950460}, {0.035816, 0.245902}, {-0.180130, -1.262665}, - {0.117034, 0.019373}, {0.309583, -0.084634}, {0.160314, 0.617106}, - {-0.223874, -0.405101}, {0.391423, -0.984880}, {-0.583522, -0.208371}, - {0.314564, 1.000927}, {1.528070, -0.488905}, {0.682797, -0.214904}, - {-0.961746, 0.561929}, {-0.044529, -0.357871}, {-0.881485, -0.203306}, - {1.081847, -0.376245}, {0.828899, 1.159757}, {-0.396282, 0.868155}, - {0.013008, -0.796971}, {1.839981, 0.128022}, {0.861759, -0.389782}, - {0.939432, 0.185296}, {0.402922, -1.121553}, {-0.878636, -1.122818}, - {1.213472, 0.848105}, {0.264317, -0.326819}, {0.669519, -0.620270}, - {0.703125, -0.958242}, {-0.367984, -0.413227}, {-0.561993, 0.902582}, - {0.709199, 0.095548}, {-0.624048, -0.624104}, {0.367587, 0.743255}, - {0.349618, -0.082040}, {0.353670, -0.602772}, {-0.121469, 0.186655}, - {0.966288, -0.989082}, {0.615847, 1.087146}, {0.049469, -0.498055}, - {0.161550, 0.553359}, {-0.061135, -0.214648}, {0.046340, 1.148951}, - {-0.104857, 0.135405}, {0.575610, 1.613613}, {0.294077, 0.716711}, - {0.590764, -0.458646}, {0.533655, -0.474675}, {-0.200094, 0.220235}, - {0.538978, -0.112814}, {-0.596995, 0.556408}, {0.538951, -2.449696}, - {0.092171, -0.864222}, {1.336939, 0.991303}, {0.333067, 0.173662}, - {-0.153896, 0.523270}, {-0.582494, 0.868651}, {0.018634, 0.130106}, - {-0.392325, -0.082136}, {0.011480, 0.421792}, {-0.427424, -0.661210}, - {0.942397, 0.587290}, {-0.291423, 0.402361}, {-0.624678, 0.855158}, - {0.427905, -0.996070}, {-0.282753, -0.652971}, {-1.240070, 1.256909}, - {0.815396, -0.668763}, {0.069285, 0.238819}, {0.077701, 0.317614}, - {1.331490, 0.009543}, {1.194605, -0.196271}, {0.230566, 0.449264}, - {0.385677, 1.158774}, {-0.340860, -0.164507}, {-0.842850, -0.564676}, - {-1.758840, 0.064669}, {-0.772174, 0.091618}, {1.140984, -0.811770}, - {-0.283852, -0.741705}, {0.846224, 0.293317}, {-0.901372, 1.090597}, - {1.033877, -1.064114}, {-1.186147, 0.598334}, {-0.967792, 1.113083}, - {0.974157, 0.994512}, {0.313614, -0.240645}, {-0.063238, -0.036188}, - {-0.886378, -0.081582}, {0.155813, -1.314707}, {0.005821, 0.803969}, - {0.031398, 1.138370}, {0.020663, -1.412936}, {0.051696, 0.849846}, - {-0.754989, -0.899231}, {0.394988, 0.540404}, {-0.440672, -0.180217}, - {1.164193, -0.163753}, {0.201996, -0.935543}, {-0.757096, 0.768721}, - {-0.851269, 0.282609}, {-0.032236, -0.457477}, {0.242147, -0.379077}, - {-0.369603, -0.280814}, {0.521168, -0.299217}, {-0.383667, 0.998399}, - {-0.273344, -0.133382}, {-0.197726, 0.033374}, {0.399979, 0.840030}, - {-0.349378, -0.387395}, {1.124925, -0.570043}, {0.418603, 0.905447}, - {0.470094, -0.957354}, {0.799573, 0.109228}, {0.261391, -0.587899}, - {0.115105, 0.568951}, {-0.511340, 1.109997}, {0.183765, 1.450929}, - {0.528498, -0.666337}, {0.342372, -0.375714}, {-1.148716, 0.543099}, - {-0.747361, -0.454390}, {-0.510703, -0.904779}, {0.494719, 0.007910}, - {-0.178977, -0.714179}, {-0.178152, -0.715379}, {-0.282468, 0.236082}, - {-1.500059, -0.596371}, {0.070261, 0.659727}, {-0.930558, 0.499131}, - {0.889396, 0.872062}, {1.504564, -0.762497}, {-0.316940, -0.491494}, - {-0.366178, -0.120892}, {-1.136140, -0.665677}, {0.792450, 0.494536}, - {-0.058379, -0.131564}, {0.318553, -0.170468}, {-0.442968, -0.453066}, - {-0.086122, 0.487054}, {-0.002152, 0.609175}, {-0.198518, -0.485488}, - {0.401525, 1.306812}, {-0.871198, -0.567593}, {-1.415314, -0.301627}, - {1.094900, 0.063995}, {-0.495128, 0.213385}, {0.001405, -0.320934}, - {-0.324564, -0.183506}, {0.122253, -0.766486}, {0.984696, 0.267844}, - {0.390885, -0.724844}, {-0.295282, 0.211369}, {-0.452752, 0.149217}, - {-1.129899, 1.635510}, {0.401396, 0.319009}, {-0.558456, 0.761582}, - {0.516621, -0.299728}, {1.170774, 0.462117}, {0.617850, 0.230530}, - {-0.616788, -0.704169}, {0.921282, -0.768237}, {-0.341409, 0.311033}, - {1.237788, -0.817666}, {0.485433, -1.114476}, {-0.342288, -0.175267}, - {0.536632, 1.147849}, {0.173754, 0.023311}, {0.019679, -0.413100}, - {0.597239, -0.651007}, {0.649898, -0.023947}, {0.784239, 0.588037}, - {0.830428, -0.495560}, {-1.123475, 1.667920}, {-0.757155, 0.047444}, - {-1.536651, 0.080233}, {-0.600005, 0.260676}, {0.220305, -1.151817}, - {-0.957182, 0.202521}, {0.051226, -0.029891}, {0.929447, 0.384707}, - {-0.422607, -0.106100}, {0.353436, 0.656718}, {-1.698234, -0.708923}, - {0.303429, -0.258709}, {-0.088662, 0.015699}, {-0.107934, -0.261967}, - {0.273168, 1.400901}, {0.727049, -0.003312}, {0.353597, 0.715919}, - {-0.952026, -0.067464}, {-0.145977, -0.817247}, {0.424964, -0.919265}, - {0.216841, -0.912514}, {0.817183, -0.911165}, {-0.818262, -0.517903}, - {0.313475, -0.796077}, {-0.461417, 0.089258}, {0.281792, -0.291761}, - {0.256943, -0.778188}, {0.692420, -1.751276}, {-0.667443, -1.761493}, - {0.064327, 0.039954}, {0.393151, -0.403340}, {0.452610, -1.766216}, - {-1.336807, -0.219532}, {0.984460, -0.595093}, {-0.702228, 0.759469}, - {-0.464956, 0.036841}, {0.212799, 0.031216}, {-0.802860, -0.547493}, - {-0.158662, 0.903760}, {0.085684, -0.487384}, {0.396768, -0.742668}, - {0.947527, -0.110617}, {-0.879301, 0.044952}, {1.116675, -0.038127}, - {-0.722818, 1.392444}, {-0.373075, 0.108044}, {0.341487, 0.570356}, - {0.441689, -0.298432}, {-0.916256, 0.631859}, {-0.115507, 0.498266}, - {0.487754, 0.201490}, {1.238389, -0.100924}, {0.271103, 0.682797}, - {-0.148481, 0.589360}, {-1.194668, -0.756352}, {0.264142, 0.313523}, - {0.562690, -0.166170}, {-0.527054, 0.196752}, {-1.636821, -0.651796}, - {0.182204, 0.101729}, {-1.710289, -0.320628}, {0.053238, -0.006688}, - {0.879077, -0.416623}, {0.459898, -0.350816}, {-0.856786, 0.761817}, - {0.575136, 0.370224}, {-0.710682, -1.661932}, {0.336980, 0.262314}, - {-0.579270, 1.290335}, {1.163348, 0.112616}, {-0.596616, -0.104548}, - {-0.584829, 0.611158}, {-0.507069, 0.090728}, {-1.061880, 0.073344}, - {-0.141397, 0.660130}, {1.132322, 0.001417}, {-0.578203, 1.455008}, - {0.430346, -0.353417}, {0.774728, -0.360911}, {0.089974, 0.151366}, - {-0.258221, -0.281586}, {0.380590, -0.050307}, {0.805828, 1.610702}, - {-2.417115, -0.796571}, {0.513097, -0.330322}, {-0.384140, 0.768697}, - {-0.343898, 0.186101}, {-1.280400, -0.294454}, {0.497601, -1.076587}, - {0.969059, 0.648983}, {0.415521, -0.271362}, {-0.023547, -0.051680}, - {0.697681, 0.077273}, {1.467525, -0.087120}, {0.914526, 0.512467}, - {0.673227, -0.608451}, {0.868157, -0.438369}, {-0.641897, -0.582166}, - {-0.395403, -0.726859}, {0.708135, 0.058289}, {0.155302, -0.353393}, - {-0.604680, -0.269021}, {0.555662, -0.222243}, {-0.691591, -1.012201}, - {0.593126, -0.482201}, {0.938501, -0.141245}, {-0.285179, -0.282197}, - {-0.332866, -0.838107}, {-0.299353, 0.907257}, {-0.502252, 0.130212}, - {0.509899, 0.203982}, {0.432764, -1.036891}, {0.320100, 0.302258}, - {-0.715537, 0.630849}, {1.399467, 0.189787}, {0.257626, 0.021932}, - {-0.112331, 0.217707}, {-1.289427, 1.432804}, {-0.390872, -0.357403}, - {0.236182, 0.303781}, {0.802511, 0.330483}, {-1.028297, -0.403086}, - {-0.147910, -0.288479}, {0.978197, -0.775374}, {0.868229, 1.459663}, - {0.452224, 0.498722}, {0.746035, -0.670797}, {-0.360626, 0.630983}, - {-0.148420, -0.258364}, {-0.536846, 0.526774}, {-0.736656, 0.599485}, - {0.251565, 0.410096}, {-0.817544, 0.436993}, {-0.361899, -0.266149}, - {0.106065, 1.119062}, {-0.001893, -0.840154}, {-0.174058, 0.288847}, - {0.450589, -0.520516}, {0.330658, -0.272313}, {0.560301, 0.149574}, - {-0.927905, -0.026315}, {-0.130635, 0.149914}, {-0.167674, 0.479912}, - {0.163863, -0.914797}, {-0.236233, 0.492833}, {-0.439716, -0.273501}, - {1.097053, 0.570964}, {-1.090225, -0.751110}, {-0.622561, -1.038814}, - {0.309323, -1.010214}, {-0.204232, -0.589475}, {-0.039192, 0.034730}, - {-0.672256, 0.289962}, {1.195556, -0.759149}, {0.701010, -0.946209}, - {-0.211877, -0.021206}, {0.834771, 0.269014}, {0.310538, 0.897536}, - {-0.416299, -0.103346}, {0.263666, -0.033155}, {1.199319, 0.739114}, - {0.209693, -0.011071}, {1.463650, -1.052988}, {-0.101228, -0.167856}, - {1.234120, -0.942573}, {0.196785, 0.954050}, {0.829042, 0.153133}, - {0.357430, 0.139137}, {-1.233805, 0.986066}, {-0.587524, 0.933536}, - {1.124220, 0.284460}, {0.369787, -0.213798}, {-0.012298, 1.911852}, - {-1.586387, 0.267615}, {0.696006, -0.464801}, {-0.624327, 1.280676}, - {0.367066, 0.324597}, {0.000432, 0.067311}, {0.390603, 1.101625}, - {0.256944, -0.623323}, {0.543036, 0.814041}, {0.002517, -0.822681}, - {-1.222231, 0.151677}, {1.087153, -0.651828}, {-0.140421, -0.309047}, - {-1.276460, -0.479672}, {0.907053, 0.734263}, {-1.468305, 1.325843}, - {-0.742062, 1.724340}, {0.602905, 0.826894}, {-0.234395, 0.552366}, - {-0.319795, -0.300154}, {0.766130, 0.375387}, {-0.565094, -0.908181}, - {-0.002303, 0.803038}, {0.606245, -0.886099}, {-0.375411, -0.501269}, - {1.137430, 0.498844}, {1.400551, 1.243294}, {-0.572345, 0.330001}, - {-0.831085, 0.224646}, {-1.193440, 0.029548}, {-1.017357, 0.114069}, - {0.036078, 0.403207}, {1.394122, -0.032985}, {-0.220085, 0.427158}, - {-1.279987, -0.411288}, {0.377185, 0.243313}, {0.004243, -0.857524}, - {1.036016, -0.532137}, {0.245228, -1.150637}, {1.467709, -0.614337}, - {-0.512344, 0.162373}, {-1.104046, -0.167139}, {-0.224718, -0.143013}, - {-0.256979, 0.070597}, {0.089855, -0.271238}, {-0.734984, 0.724372}, - {-0.217210, 0.319333}, {0.718725, 0.347974}, {0.251565, 0.741094}, - {0.290149, 0.659867}, {0.408272, -0.032915}, {0.079918, 0.470449}, - {-1.011348, -0.572926}, {0.265858, -0.244285}, {0.498660, -1.173075}, - {-0.489052, 0.268982}, {0.803724, -0.240363}, {-0.448072, 0.003395}, - {0.190085, 0.738899}, {-1.320261, -0.384362}, {-0.851492, -0.388560}, - {0.421440, -0.177958}, {-0.701418, 0.243165}, {-0.274377, 0.336519}, - {-0.432270, 0.059413}, {0.723602, -1.369028}, {0.003061, 1.025321}, - {0.439715, 0.455140}, {0.247416, -0.318078}, {-0.295679, -0.309351}, - {-1.069923, 0.563669}, {0.778952, 0.003877}, {-0.650501, 0.383655}, - {0.290488, -0.280076}, {-0.318266, -0.503424}, {0.200569, -0.451626}, - {-0.058511, 1.000852}, {-0.501142, 1.127454}, {0.840729, 0.860918}, - {0.404423, 1.184485}, {0.080599, 0.337071}, {0.265972, -0.831970}, - {-0.792118, -0.632130}, {-1.312815, -0.150298}, {0.384463, 0.434096}, - {-0.473277, -0.646626}, {0.726083, 0.524943}, {0.232413, -1.349094}, - {-0.132578, -0.328246}, {0.192057, -0.949313}, {-0.294124, 1.799810}, - {-0.646249, -0.365151}, {-1.142885, -0.860267}, {0.952542, 0.463949}, - {-0.843407, 0.603740}, {0.245604, 0.005612}, {0.876790, -0.725446}, - {-1.264255, -0.509446}, {0.935016, -0.003417}, {0.253759, -0.252225}, - {-0.504993, 0.338401}, {1.002041, 0.260841}, {0.156989, -0.135302}, - {-1.024724, -0.400709}, {-0.112462, -1.205456}, {0.334260, 0.781035}, - {0.183794, 0.683842}, {-0.865777, 0.383277}, {-0.505670, 0.667817}, - {-0.088249, 0.840903}, {1.101360, 1.926043}, {-0.308625, -0.138154}, - {0.609676, -0.715983}, {-0.645769, -0.287890}, {0.369474, -0.729993}, - {0.186644, 0.541750}, {0.463282, 0.674407}, {0.216844, -0.852488}, - {0.856090, 0.940839}, {1.001064, 0.394220}, {-0.837133, -0.154497}, - {-0.390434, 0.439008}, {0.680226, -0.317541}, {0.098053, 0.117416}, - {0.071014, -0.649889}, {-0.262387, -0.155264}, {0.388413, 0.769428}, - {0.158413, 0.941346}, {0.671325, -0.266932}, {0.970945, -0.618071}, - {0.233638, 0.572923}, {0.060161, -0.256486}, {-0.637504, 0.063894}, - {0.934414, -0.427341}, {-0.467026, 0.652522}, {-0.863576, 0.149723}, - {-0.771443, -0.816274}, {0.511701, -0.479018}, {-0.257457, 0.087086}, - {0.290638, 0.016947}, {-0.386981, -0.727179}, {-1.098515, -0.274432}, - {-0.557208, 1.426296}, {-0.613355, 0.019539}, {-0.419196, -0.251018}, - {-0.832714, 0.502052}, {0.128755, 0.655366}, {0.256114, 0.273034}, - {-1.125167, -0.906505}, {0.388043, -0.540845}, {-0.937881, 2.105264}, - {-0.202089, 1.002912}, {0.723756, -0.449443}, {0.233778, 0.527703}, - {-0.057235, 1.884349}, {1.157345, -0.412072}, {-0.955458, -1.385361}, - {0.053114, 0.627971}, {0.827722, 0.375269}, {-0.181816, 0.772748}, - {-1.626276, 0.442130}, {-0.435385, -0.179652}, {1.089080, -0.426374}, - {1.017264, 0.699838}, {-1.020426, -0.298556}, {0.676783, 0.459662}, - {-0.739834, 0.763761}, {0.721741, -1.206326}, {-0.951135, -0.270497}, - {-0.457913, -1.038211}, {1.712993, -0.468750}, {-0.543171, 1.050327}, - {-0.541388, 0.741480}, {1.399220, -0.146602}, {-0.246873, 1.307922}, - {-0.314164, -0.681691}, {-0.361125, 0.096600}, {0.468431, -0.456516}, - {-1.208053, 0.471189}, {-0.369852, -0.310925}, {-0.655492, -0.981961}, - {1.982648, 0.257313}, {0.350295, -0.328245}, {-0.408155, 0.164967}, - {1.186227, 0.615053}, {1.538608, 0.853998}, {-1.014463, -0.266268}, - {-0.038058, 1.267679}, {1.226620, -0.039905}, {0.128462, -0.723152}, - {1.117944, -0.485275}, {0.110495, 0.512575}, {0.613947, -0.332562}, - {1.183653, -0.135030}, {-0.545671, -1.236704}, {-0.368847, 0.282388}, - {0.354177, -0.397370}, {-0.221450, 0.619409}, {-0.212607, -0.070614}, - {-0.746339, 0.421409}, {-0.796334, 0.416425}, {0.281155, -0.847141}, - {1.084794, -0.633466}, {-1.416468, -0.504705}, {-0.413320, -0.218964}, - {-0.006619, 1.498092}, {0.592891, 0.110515}, {0.202503, -0.802352}, - {-1.044280, -0.551926}, {-0.551728, 0.074422}, {-1.621229, -0.887687}, - {-0.034501, -0.177771}, {0.643751, -0.498982}, {0.537422, 0.214707}, - {0.859316, 0.230005}, {0.984145, 0.642774}, {-0.446523, -0.283910}, - {0.698656, -0.512658}, {-0.413664, 0.370197}, {0.012230, 0.057244}, - {-0.124965, 0.707693}, {-1.668994, 0.589325}, {0.431439, 0.916868}, - {0.357835, -0.007437}, {0.091721, -1.193125}, {1.085117, 0.362418}, - {-0.815710, -0.704111}, {0.368599, 0.417522}, {-0.153068, 0.701186}, - {0.633497, 1.153006}, {-0.640502, -0.448321}, {-0.288243, -1.008288}, - {-0.241203, 0.571272}, {-0.700623, 0.003668}, {0.762784, -0.271363}, - {-0.675450, -0.536786}, {-1.095720, 0.963368}, {-0.545080, -0.052652}, - {0.425995, 1.045991}, {0.747089, -0.106197}, {0.705921, 0.481355}, - {-0.231552, -0.495818}, {-0.035338, 0.271549}, {-1.434181, -0.462102}, - {-0.234651, -0.659026}, {0.293521, 0.578445}, {-0.159469, -0.371527}, - {0.947780, -0.184427}, {-0.575724, 1.293055}, {1.217078, 0.776812}, - {0.077462, 0.005225}, {0.031218, 0.312440}, {-0.254340, -1.261328}, - {-0.545078, 0.114315}, {0.214459, 0.265649}, {0.665158, -0.572889}, - {0.156845, -0.494711}, {-0.805048, -0.829465}, {-1.377436, -0.234879}, - {-0.680977, 1.091655}, {0.991115, -0.327044}, {-0.636966, -0.868296}, - {-0.468122, 0.139195}, {-0.023171, -0.344042}, {0.779795, 0.665803}, - {0.288043, -0.640526}, {-0.377837, -0.768582}, {1.312911, 0.154017}, - {0.594896, 0.205326}, {0.546600, -0.380945}, {-0.348857, -0.048100}, - {-0.719583, 0.758329}, {0.366828, 0.580990}, {0.370738, 0.785391}, - {-0.058071, -1.293254}, {-0.886575, 0.757403}, {0.424991, -0.722256}, - {0.284736, 0.076029}, {1.316231, -1.073572}, {-0.783294, 0.805530}, - {0.389834, -0.129104}, {1.095639, -0.075839}, {0.935852, -0.373630}, - {-0.885108, -0.020762}, {0.158064, 0.217629}, {-0.640319, -0.386929}, - {-0.909168, -0.373835}, {0.010911, -0.101003}, {-0.277750, -0.148550}, - {0.521820, 1.009048}, {-0.512451, -0.513281}, {-0.008047, 0.202402}, - {0.741191, -0.666179}, {0.763195, 0.771867}, {0.390221, 0.297205}, - {0.625399, 0.489404}, {1.023425, 0.108867}, {-0.703103, 0.629155}, - {-0.103211, -0.285761}, {-0.390588, 1.375767}, {0.454617, -0.110921}, - {0.317920, -0.896351}, {0.649451, -0.067138}, {-0.121899, -0.655986}, - {0.358821, -1.041252}, {-0.222857, -0.303574}, {-0.568716, -0.089093}, - {-0.192284, -0.838715}, {1.222415, -0.016245}, {0.526310, -0.627056}, - {-0.068488, -1.753668}, {-1.039387, -0.320863}, {0.020520, 0.318572}, - {0.496641, -0.577605}, {-0.968605, -0.480527}, {0.285637, 1.389404}, - {0.944869, 0.885298}, {0.638385, -0.710974}, {-0.279932, 0.152341}, - {-0.743228, -1.024093}, {-0.486215, -0.168400}, {-0.114585, 1.020039}, - {0.056702, -0.528896}, {-0.949243, -0.844536}, {1.129499, 0.153529}, - {-1.146171, -0.448270}, {-0.600020, -0.088151}, {1.026368, -0.907166}, - {1.049642, 1.198028}, {-0.732045, -0.405919}, {0.210230, -0.786201}, - {0.310585, 0.342437}, {0.067431, 0.566931}, {-0.587248, 0.255356}, - {-0.170138, 1.277977}, {-0.258523, -1.186042}, {-0.773006, -1.019886}, - {-0.448797, -0.188137}, {-0.091370, 0.772927}, {0.244919, -0.106617}, - {-0.774478, -0.520363}, {0.440259, 0.217792}, {0.363108, 0.753145}, - {-0.266081, 0.238928}, {-1.127392, 0.360823}, {-0.261177, 1.592192}, - {0.699450, 0.113524}, {-0.655141, 0.291248}, {-0.436259, -0.058521}, - {0.384314, 0.487647}, {0.039816, -1.110978}, {0.404230, 0.678814}, - {-0.949673, -0.269000}, {-0.248331, -1.005033}, {-0.540079, 0.606271}, - {0.444702, 0.146360}, {1.015384, -1.065484}, {-1.877784, -1.198948}, - {0.489736, 1.350612}, {-0.710135, -0.775063}, {0.593538, -0.900296}, - {-0.098286, -1.049735}, {-0.108973, 0.545483}, {0.062642, -0.684699}, - {0.098171, 0.140806}, {-0.959390, -0.170130}, {0.461162, 1.804670}, - {1.124557, 0.055315}, {0.189370, -1.658841}, {0.186242, -0.841503}, - {0.633026, -0.735853}, {0.857498, -0.201044}, {-0.218993, -0.016715}, - {-0.765959, 0.455723}, {0.217731, -0.073306}, {-0.436889, 0.159793}, - {-0.023781, -0.349387}, {-0.248361, 0.055098}, {-0.771684, 0.303200}, - {-0.211929, 1.024403}, {0.104045, -1.383657}, {-0.416710, 0.061459}, - {-0.436209, -0.471431}, {-1.510879, -0.277018}, {0.200120, 1.225231}, - {-0.328469, 0.600453}, {0.127003, -0.602157}, {0.987188, 0.212941}, - {0.670236, 0.123304}, {0.422322, 0.157453}, {0.152338, -0.945760}, - {-0.025870, -0.413677}, {-0.268227, -0.778529}, {0.480173, 0.907527}, - {-0.888884, -1.439385}, {-1.351376, -1.091003}, {0.222836, -0.086297}, - {0.573336, -1.360066}, {-0.806399, -0.498281}, {-0.595494, 0.831074}, - {0.908191, 0.307062}, {-0.459795, -0.710666}, {-0.094751, -0.206448}, - {-0.024242, -0.951987}, {-0.318051, 0.362327}, {-0.063917, -0.408062}, - {-0.003055, 1.006656}, {1.000114, -0.003844}, {0.433414, 0.153418}, - {-0.146174, -0.778023}, {-0.002596, -0.081254}, {-0.372852, -0.562314}, - {0.813749, -0.171006}, {0.516876, -0.334962}, {0.130150, -0.220825}, - {-0.399139, -0.678091}, {-0.184451, -0.949755}, {-0.188671, 0.303505}, - {0.037500, -0.099776}, {0.773437, 0.244504}, {0.445884, -0.043319}, - {0.316367, -0.273157}, {-0.746967, 0.698428}, {-0.191399, 0.086704}, - {1.316252, 1.332223}, {0.445639, 0.004308}, {-0.087606, 0.111263}, - {-0.891735, 0.020169}, {0.193313, -0.606729}, {0.731145, -0.605570}, - {-0.692633, 0.021142}, {-0.444493, 0.208281}, {-0.466215, -0.817877}, - {-0.624077, -0.305184}, {0.280254, 1.208432}, {0.014983, 0.902646}, - {0.006548, 0.008337}, {0.044097, 0.697776}, {-0.171889, -0.146767}, - {0.265368, 0.009346}, {1.059121, 0.446341}, {1.888582, -0.599794}, - {-0.562391, 0.519765}, {-1.251330, -0.838557}, {-2.137730, -0.631450}, - {0.182187, 0.499127}, {0.764443, 0.756613}, {0.631286, 0.584558}, - {1.111431, -0.772644}, {0.076405, 0.183672}, {-0.058883, -0.335039}, - {-0.703857, 0.073318}, {0.757167, 0.909054}, {-0.611251, -0.894211}, - {-0.330231, 0.304851}, {-0.364020, -0.938645}, {-0.104970, 0.914045}, - {0.093519, 1.357853}, {-0.770065, -0.085731}, {1.319136, 0.816044}, - {0.058947, -0.406575}, {-0.396587, -0.503710}, {0.220349, -0.336425}, - {-0.501066, 0.255245}, {1.323531, -1.916640}, {-0.596563, 0.742761}, - {0.713492, -0.603602}, {0.051641, -0.788488}, {-0.027644, -0.011744}, - {0.313449, 0.369693}, {-0.874394, -0.458299}, {0.156414, -0.301505}, - {-0.817243, -0.129309}, {0.387262, 1.050022}, {-0.730068, 0.280044}, - {0.562581, 0.907164}, {0.467513, 0.105385}, {0.244667, 0.168116}, - {0.639852, 0.033501}, {0.208643, 0.034229}, {0.947509, -1.095182}, - {0.730262, 1.390582}, {-0.409880, -1.003160}, {0.401874, 1.156874}, - {-0.714656, -1.740182}, {-0.430680, -0.361054}, {-0.188850, 0.396311}, - {0.796301, -0.592325}, {-1.140359, -0.833160}, {-0.015264, -0.656368}, - {1.098273, -0.926714}, {0.514728, -0.216690}, {0.098571, -0.636577}, - {-0.910064, 0.415927}, {-0.440682, 0.758024}, {0.127293, 0.104132}, - {-0.981800, -0.277406}, {0.899617, -0.979514}, {0.602636, 0.426296}, - {0.150065, 0.494543}, {0.232962, 0.763611}, {0.467684, 0.140699}, - {-1.574619, 0.669059}, {0.882179, -0.011036}, {0.097422, 0.257114}, - {-0.102244, -0.259914}, {0.490538, 0.105090}, {-0.996295, 0.948638}, - {0.083436, 0.900836}, {0.438195, 0.350201}, {-0.679329, -0.713746}, - {0.529187, 1.286256}, {-0.954747, -0.283946}, {-0.130941, -0.382040}, - {-0.158855, -1.450548}, {-0.250052, -0.982319}, {-0.268123, -0.627128}, - {0.444598, 1.229273}, {1.187865, 0.972354}, {1.162571, 0.615927}, - {-0.053069, -0.762640}, {0.568529, 0.950631}, {0.704832, -0.363101}, - {-0.821986, -0.831900}, {0.321775, -0.386797}, {0.318484, -0.462144}, - {-0.981095, -0.085616}, {-0.827586, -0.611532}, {-0.767987, 0.213131}, - {1.465830, 0.359996}, {0.063406, -0.101972}, {0.103066, -0.104108}, - {-0.332640, -0.565526}, {0.153801, 0.192602}, {-0.180607, -0.683069}, - {-1.020433, -0.029838}, {-1.056090, -0.281924}, {0.711217, 1.040632}, - {-0.779687, -0.286412}, {-1.227989, 0.344829}, {-0.325886, -0.117333}, - {0.010627, 0.905134}, {-0.179905, -0.040737}, {-0.034126, 0.635378}, - {-0.551102, -0.611186}, {1.349050, 0.713766}, {-1.950842, 0.993737}, - {-0.285493, 0.919628}, {-0.839695, -1.284912}, {0.867960, 0.118154}, - {-0.524136, -0.534178}, {-0.606047, -0.077576}, {0.997701, -0.360559}, - {-0.143819, -0.521362}, {0.277948, 0.011120}, {0.781126, -0.650844}, - {0.514107, -0.291052}, {-0.605037, 0.018662}, {0.595003, -0.358330}, - {-0.892601, -0.794597}, {-1.068990, -1.057503}, {-0.833229, 1.270529}, - {-0.334875, 0.977099}, {-0.663629, 0.338105}, {0.554117, -0.088210}, - {-0.667932, 1.031071}, {-0.082927, -0.130890}, {-0.543973, -0.272414}, - {1.397328, 0.081006}, {0.369186, 0.137642}, {-1.393635, 0.792070}, - {-0.582444, -0.031794}, {-0.053332, -0.043677}, {-0.372722, -0.230031}, - {1.135177, 0.092456}, {0.280377, -0.188462}, {-0.486260, -0.151009}, - {1.265662, 0.491554}, {-0.473461, 0.147609}, {-0.239905, -0.801906}, - {-0.220706, 0.501078}, {0.640279, -0.721218}, {-0.349523, -0.466126}, - {0.322248, 0.690068}, {0.360951, 0.602485}, {0.312384, -0.548838}, - {-1.562549, 0.675293}, {0.282446, 0.191236}, {-0.251916, 0.509349}, - {-1.270286, -1.114868}, {-0.429550, -0.631172}, {0.636991, 1.337931}, - {-0.239257, -0.528962}, {0.203516, 0.107619}, {-0.158954, 0.175905}, - {0.017560, -0.973022}, {1.063318, -0.351026}, {-0.500848, 0.195306}, - {-0.407674, -0.547799}, {0.311455, -0.233779}, {0.950908, 0.750602}, - {0.087365, -0.326519}, {-0.921551, -0.059790}, {-0.237386, 0.904391}, - {0.579191, -1.093121}, {1.114219, 0.472145}, {1.464486, -0.047726}, - {0.230240, -0.507439}, {0.214072, 0.384204}, {0.227012, 1.628634}, - {0.862830, -0.777709}, {0.499309, 0.503287}, {0.194024, -0.094408}, - {-0.333249, -1.050169}, {-0.510589, -1.637118}, {-0.885624, -0.982164}, - {1.742562, -1.274337}, {0.089119, -1.079374}, {-0.446537, -0.098650}, - {0.360210, -0.124113}, {-0.658511, 0.326397}, {-0.544164, 0.579137}, - {-0.251213, 0.155793}, {0.335646, 0.461865}, {0.443714, -0.380484}, - {-0.217890, 0.767709}, {-1.477727, -0.131848}, {-0.670288, -0.482916}, - {1.276010, -0.242181}, {-0.569009, -0.344377}, {0.258112, 0.099654}, - {-0.470833, -0.107608}, {0.077847, -1.011430}, {-0.095550, -1.610504}, - {-0.245212, -0.779197}, {0.507037, 0.270557}, {-0.210576, -0.406151}, - {0.334297, 0.471540}, {0.940615, -0.817298}, {0.807612, -0.335314}, - {-0.967504, 1.005527}, {-0.419911, -0.427284}, {1.058308, 0.377315}, - {-0.640751, -0.100329}, {-0.206736, -1.490178}, {-0.908508, 0.534514}, - {0.236230, -0.674558}, {0.040694, 0.194800}, {0.926613, -0.976837}, - {-0.400272, 0.398158}, {1.213940, -0.431001}, {-0.154429, -0.506394}, - {0.263405, -0.666924}, {-0.587860, -1.305488}, {-0.626593, 0.117810}, - {0.343828, 1.396967}, {0.083446, -0.263320}, {-0.486981, -0.263767}, - {-0.353650, 0.590502}, {0.546912, 0.129352}, {-0.148903, -0.442021}, - {0.148692, 0.307489}, {0.456169, 0.695536}, {-0.306257, 0.742800}, - {0.843344, -0.137786}, {-0.403558, -0.081928}, {0.004422, 0.767584}, - {0.602551, -0.925966}, {0.808077, 0.677800}, {-0.920983, 0.444859}, - {0.709114, -0.150759}, {0.774244, 0.583938}, {-0.007792, -0.664973}, - {0.811944, -0.309259}, {0.744698, -0.075886}, {-0.510442, -0.065905}, - {-0.015831, -0.190166}, {0.713298, -0.160445}, {-0.693444, 0.164467}, - {0.504515, 0.718341}, {-0.357876, 0.683165}, {-0.509067, 0.349283}, - {0.027786, 0.967045}, {0.001332, -0.162389}, {-0.917110, 0.767740}, - {0.095917, -0.158809}, {-0.542706, 0.715325}, {0.730792, 0.659037}, - {-0.010585, -0.228058}, {0.500959, -0.152128}, {0.079144, 0.005812}, - {-1.190054, -0.493119}, {0.184814, 1.759480}, {0.491137, -0.172917}, - {-1.489489, -0.538351}, {0.038032, 0.828474}, {-0.790134, 0.518021}, - {1.008854, 0.645478}, {0.307948, 0.009483}, {-0.329913, 0.936288}, - {0.018155, -0.235603}, {-0.321219, -1.203784}, {0.428175, -0.218314}, - {-0.362877, -0.370190}, {0.444549, -0.342885}, {-0.049808, 0.501963}, - {0.674179, -0.185107}, {0.599912, -1.732999}, {0.088862, 0.782982}, - {-0.107951, 0.180743}, {-0.122355, 1.267863}, {0.550598, -0.112575}, - {-0.000421, 0.525225}, {1.443725, 0.501908}, {-0.409289, 0.574812}, - {-0.039830, 0.421113}, {0.508459, -1.005977}, {-1.445393, -1.149261}, - {-0.631553, -0.319625}, {-0.909902, 0.054411}, {0.339123, 2.211716}, - {-1.144259, 0.907937}, {0.767662, 0.182702}, {-0.001103, -0.936672}, - {0.724690, -0.821044}, {-0.127908, 0.396448}, {-1.259213, -0.942427}, - {0.270614, 0.534192}, {0.302353, -0.606736}, {0.368202, 0.117501}, - {-0.621508, -0.599182}, {-0.389050, 0.382474}, {0.276748, -0.206800}, - {0.692974, -2.222835}, {0.281160, 0.177410}, {0.692791, 0.111511}, - {0.641347, 0.456632}, {-0.024490, 0.649549}, {-0.110421, -1.172916}, - {-1.093464, -0.732331}, {-0.355374, -0.282145}, {0.758283, -0.156623}, - {-1.392806, -0.020595}, {0.062043, -0.332704}, {0.072246, -0.407848}, - {0.764714, -0.922699}, {0.324736, 0.223764}, {0.322471, -0.791710}, - {-0.310998, 0.871270}, {0.409121, 0.452691}, {-0.507904, 0.540686}, - {0.247319, 0.370197}, {0.289584, 0.022769}, {0.918507, -0.797867}, - {-0.002342, -0.653221}, {0.665966, 0.086050}, {-0.105914, 0.520572}, - {0.661266, -0.788971}, {-0.016104, 1.032441}, {-1.079144, 0.763598}, - {0.286110, -0.408518}, {-0.702570, -0.278708}, {0.418026, -1.825956}, - {-0.699938, 0.339054}, {-0.549577, -0.472606}, {-0.958419, -0.399456}, - {0.931910, 0.405273}, {-0.061580, -0.001784}, {-0.235095, -0.195635}, - {0.396945, -0.793988}, {-0.120105, 0.741895}, {0.967101, -1.193312}, - {0.408000, 0.328582}, {0.121563, 0.074206}, {0.794018, 0.365534}, - {1.427377, -0.303106}, {-1.185743, -0.469011}, {-1.014410, -0.160477}, - {0.891003, -0.675965}, {-0.449822, 0.835702}, {0.168080, -0.372203}, - {0.231932, -0.813300}, {0.695524, 0.543724}, {-1.150522, -0.300759}, - {-1.130058, -0.194783}, {-0.158590, 0.163209}, {0.318411, -1.215333}, - {-0.130949, 1.027326}, {-0.022279, -0.079554}, {-0.819798, -1.296138}, - {0.045197, 0.904739}, {2.069130, -0.927992}, {-0.409507, 0.500071}, - {-0.320066, -1.146465}, {0.541117, 0.115373}, {-0.789460, -0.165824}, - {0.540866, -0.330202}, {-0.794487, -0.094771}, {-0.857677, 0.866646}, - {-1.027897, -0.906066}, {-0.990814, -0.484744}, {-1.118999, 1.518096}, - {0.368560, 0.062309}, {-0.472288, -0.358193}, {0.818078, 0.355593}, - {0.432227, 0.535003}, {0.881773, -0.248469}, {0.386008, -0.326813}, - {0.729605, -0.034809}, {-1.973023, -0.054177}, {-0.155383, 0.156626}, - {-0.654563, 0.363333}, {-0.629236, 0.253927}, {0.047558, -0.270537}, - {0.876852, 1.219813}, {0.676330, 0.747201}, {1.527175, -0.031846}, - {0.058820, 0.330611}, {-1.429720, -0.026237}, {0.145607, -0.314241}, - {-1.057689, -0.330500}, {0.140384, -0.134579}, {-0.954319, 0.012254}, - {0.454891, -1.125468}, {2.357209, -0.042871}, {-1.230701, 0.477340}, - {-0.320824, -0.139064}, {-0.761107, 0.100853}, {-0.288901, -0.086378}, - {-0.428826, 1.158555}, {0.547848, -1.217274}, {-0.445240, -0.070165}, - {-1.133672, 0.465347}, {0.623461, 0.635773}, {1.003495, -0.575461}, - {-0.028313, -1.236159}, {-0.362889, 0.221756}, {-0.439814, -0.193680}, - {0.519280, 1.102878}, {0.752761, 0.423081}, {0.166261, -0.338834}, - {-0.310806, -0.151127}, {-0.160761, 0.442555}, {0.654292, -0.498436}, - {0.080171, -0.983075}, {0.630524, 0.050145}, {-1.094236, 0.845830}, - {-0.395812, -1.350396}, {0.362922, -1.130889}, {0.657214, 0.160993}, - {-1.055868, 0.691473}, {-0.077860, -0.396539}, {0.272831, 0.186593}, - {-0.963077, 1.436838}, {-1.491045, 0.983782}, {-0.445406, -1.055664}, - {-0.560002, 0.315656}, {-1.094953, 0.428742}, {1.355583, -0.101228}, - {-0.610726, -0.903339}, {0.220781, 0.133283}, {-0.385599, -0.105530}, - {1.569466, 0.694499}, {-0.949049, 0.657375}, {0.293380, -0.197649}, - {-0.121347, -1.023660}, {0.142107, 1.869948}, {0.240700, 1.753354}, - {0.155119, -0.787710}, {0.072108, 0.802771}, {-0.518774, -0.835932}, - {0.686448, 0.413265}, {-0.075227, 0.357503}, {-0.367060, -0.293209}, - {1.198188, 0.228709}, {0.086829, 0.401398}, {0.402488, -0.001439}, - {1.875893, 1.073098}, {-0.997759, -1.144125}, {-0.046681, 0.959887}, - {-0.059867, 0.850184}, {-0.456443, -0.686195}, {-0.245116, -0.874781}, - {-0.652563, -1.042379}, {-0.538923, 0.202282}, {-0.076387, -0.432216}, - {0.434154, -0.289432}, {0.791833, 1.524970}, {-1.011962, 0.122749}, - {0.443728, 0.583743}, {-0.476166, -0.164564}, {0.865760, 1.395544}, - {0.458453, 0.486414}, {-1.083056, -0.554460}, {-0.320430, 1.151998}, - {-0.522975, 0.380352}, {-0.800879, -0.410712}, {-1.160173, -0.225969}, - {-0.727965, -0.082624}, {-0.078411, 0.553021}, {0.825728, -0.312162}, - {-1.384057, 0.781615}, {-0.368922, 0.233514}, {0.279253, -0.378687}, - {0.403824, 0.290804}, {-0.229572, -0.601070}, {-0.626745, -0.384230}, - {-1.287989, -0.222999}, {0.484008, -0.010462}, {0.301750, -0.985000}, - {-0.633804, 0.825349}, {0.394338, -0.576349}, {0.468509, 0.024264}, - {0.255173, -0.901778}, {0.346377, -0.280184}, {0.110180, 0.975376}, - {-0.753469, -0.647554}, {0.651564, -0.547723}, {-0.144017, 0.548258}, - {-0.046057, -0.679254}, {-0.688028, 0.887658}, {-0.445831, -0.479626}, - {-0.456182, 0.267624}, {-0.799260, 0.204550}, {0.563612, -0.771680}, - {0.352540, 0.832719}, {-0.186709, -0.571833}, {-0.293953, -0.033501}, - {-0.817521, 0.420114}, {-1.095604, -0.434751}, {1.279435, -0.039357}, - {-0.247834, 0.165422}, {0.921388, 0.559970}, {-0.060142, 0.715675}, - {0.740212, 1.014127}, {-0.452908, 0.311206}, {-0.067195, -0.201576}, - {-1.385389, -0.762611}, {-1.021316, -1.118405}, {1.760285, 0.265590}, - {-0.914306, 0.241406}, {-1.244930, -0.148217}, {-0.866724, 0.107860}, - {0.289939, -1.543434}, {0.245372, 0.941026}, {0.353275, -0.177928}, - {-0.031020, 1.110706}, {0.377406, -0.075570}, {-0.164487, 1.047496}, - {-0.499391, -0.473578}, {0.300038, -0.640920}, {-0.628968, 0.062134}, - {0.489684, -0.638970}, {-0.015019, 0.460942}, {-0.638345, -1.058916}, - {-0.916723, 0.886223}, {-0.333517, 0.053708}, {0.736499, -0.159192}, - {-0.594457, 0.367349}, {-1.222093, -0.085438}, {0.251137, -0.073996}, - {0.161582, 0.194835}, {-0.380923, 0.667572}, {-0.679757, -0.361005}, - {-0.028839, 0.205199}, {1.091436, -1.342332}, {-0.221619, -0.241515}, - {-1.053060, 0.026055}, {0.644250, -1.217245}, {-1.450051, 0.901819}, - {-0.920654, -0.715461}, {-0.130068, 1.003309}, {1.031255, 0.523672}, - {-0.136103, -1.381621}, {-0.011925, -0.254506}, {-0.960022, 1.478489}, - {0.103113, -1.121767}, {-0.272495, 0.511347}, {0.286424, 0.059268}, - {1.022935, 0.594292}, {0.591589, 0.954365}, {0.350593, -0.458349}, - {-0.050092, 0.359806}, {-1.176490, 0.825566}, {-0.680308, -1.571630}, - {0.664836, -1.675775}, {0.341383, -0.000495}, {-0.036233, 0.927286}, - {-1.339825, -0.242439}, {-0.295042, -1.175472}, {0.327445, -0.305612}, - {-1.334769, 0.363978}, {-0.428302, -1.062567}, {0.329631, 0.597784}, - {0.869728, -1.290804}, {0.836562, 0.583755}, {-0.647207, -0.128658}, - {-0.438580, -0.636896}, {-0.104333, 1.364442}, {0.134730, -0.418112}, - {-0.297180, -0.005213}, {-0.277926, -0.075135}, {-0.356162, -1.540321}, - {-0.315842, -0.300644}, {-1.054645, 0.153170}, {-0.247471, 0.149554}, - {1.167076, -0.050294}, {-1.150539, -0.133037}, {1.375072, -0.851715}, - {0.074937, -0.949878}, {-0.757522, -0.348698}, {-0.904564, 0.281156}, - {-0.601026, -0.749410}, {-0.559856, 0.573678}, {-1.146828, 0.569818}, - {0.867965, 0.745430}, {-1.303702, -0.904121}, {0.878923, -0.963699}, - {-0.201701, -0.181087}, {0.623439, -1.377927}, {-0.196558, -0.155427}, - {0.545429, 0.059872}, {-0.546805, -0.394397}, {-0.673582, 0.666513}, - {-0.904560, 0.345434}, {-0.404512, 0.602264}, {0.037119, 0.766632}, - {0.114462, 0.094188}, {0.152701, 0.227803}, {0.192302, 0.350055}, - {-0.806506, 0.365440}, {1.434434, 0.090690}, {-0.927956, 0.028970}, - {-0.935372, -0.873602}, {-0.008948, -0.719395}, {0.984091, -0.139250}, - {-0.659274, 0.742974}, {-0.389700, 0.424576}, {-0.417964, -0.791927}, - {-0.496517, -0.670771}, {-0.839619, -0.452674}, {0.353229, -0.699395}, - {0.160866, 0.370645}, {-1.017395, 1.246349}, {-0.215995, -0.034148}, - {-0.917350, 0.216393}, {0.676833, -1.047976}, {0.260097, 0.124759}, - {0.217774, -0.111813}, {0.676580, -0.052744}, {0.283784, 0.299891}, - {-0.063002, -0.428329}, {0.105711, -0.622631}, {-0.355259, -0.471869}, - {0.266862, 0.081740}, {-1.059721, 0.037092}, {-0.335785, -0.856030}, - {0.165769, 0.484277}, {-0.709411, -0.235252}, {0.027820, 0.592038}, - {0.069184, 0.501440}, {1.395272, 2.336471}, {0.930130, 0.779630}, - {0.985494, 0.017321}, {0.462865, -0.679985}, {-0.562682, -0.638530}, - {-0.220520, -1.015673}, {0.447075, 0.614206}, {-0.113999, 0.348454}, - {-0.330527, -1.009147}, {0.389321, -0.059019}, {0.160636, 1.179804}, - {0.951858, 0.075998}, {0.220489, 0.169580}, {1.011409, -1.264994}, - {0.431117, -0.022166}, {1.354951, 0.693625}, {0.365787, 0.922387}, - {-0.335963, 0.354223}, {-0.231851, 1.246409}, {0.039846, -0.434578}, - {-0.640260, -0.246655}, {1.010049, -0.948681}, {0.420819, 0.066446}, - {-0.792475, -0.850887}, {-0.136391, -0.217795}, {-0.306861, -1.044193}, - {0.599871, 0.242422}, {0.837296, -0.704235}, {-1.036397, 0.218225}, - {-0.362114, -0.270397}, {-0.815529, -0.643457}, {-0.346423, 0.137188}, - {-0.533657, 0.614111}, {0.894783, 0.792716}, {0.996665, 0.135734}, - {-1.810934, -0.175269}, {0.231803, 0.610888}, {-0.033074, -0.878133}, - {1.029652, -0.537181}, {0.969218, -0.136601}, {0.637612, 0.569671}, - {-0.856078, 0.008827}, {-0.884361, 0.905464}, {0.266886, 0.602131}, - {0.724282, 0.927329}, {0.656946, 1.176936}, {0.385285, 0.453920}, - {0.428491, 1.218457}, {-0.534283, -0.476385}, {1.265943, -0.071326}, - {1.205410, 0.119519}, {0.729693, 0.805513}, {0.792140, 0.259950}, - {0.032696, 0.915109}, {0.577120, -0.330747}, {0.393790, -0.488283}, - {-0.285168, -0.266736}, {-1.092401, 0.351137}, {-0.410238, -0.455906}, - {-0.112126, -1.848342}, {-0.694043, 0.586241}, {-0.282187, -0.084074}, - {0.208143, -0.690431}, {-0.294220, -0.077478}, {0.114810, -0.640660}, - {0.317942, 0.617271}, {-1.111586, 0.978228}, {0.522150, 1.274807}, - {-0.714204, 0.099528}, {-0.270756, -0.875450}, {0.562005, -0.039459}, - {0.705905, 0.860567}, {0.762285, 1.074943}, {-0.776165, -0.025768}, - {-0.459283, -0.636944}, {0.185427, -0.185363}, {0.204738, 0.186381}, - {0.973185, 0.077738}, {-0.292046, -0.508409}, {0.513353, -0.271946}, - {0.003043, 0.871596}, {0.688854, 0.660598}, {0.210751, 0.387266}, - {-0.279586, -1.103817}, {-0.688930, 0.757404}, {0.565899, -0.300622}, - {0.174615, 0.399735}, {0.138945, 0.695770}, {0.223658, 0.384469}, - {-1.073520, -0.360915}, {-0.489023, -0.405400}, {-0.605479, -1.167890}, - {-0.411600, 0.781236}, {-1.073459, 1.248510}, {0.810854, -0.254195}, - {1.234502, -0.806495}, {0.260701, 1.174122}, {-0.372537, 1.946493}, - {0.314475, 0.895673}, {-1.009274, 0.473788}, {-0.182152, -0.423023}, - {0.252709, 2.433176}, {0.355098, 0.295953}, {-0.547349, 0.145758}, - {-0.602792, 0.126766}, {-0.736203, -0.064009}, {0.927410, -0.913014}, - {0.685445, 0.595637}, {-1.650825, -0.447151}, {0.274037, 0.349263}, - {0.465722, 0.789074}, {-0.162240, -0.368575}, {-0.699205, -0.695247}, - {-1.299655, -0.834587}, {-0.112135, 0.439572}, {-0.554151, 0.008035}, - {0.843647, -0.401783}, {-0.043751, -0.334123}, {1.091176, 0.919460}, - {-0.122626, -0.120011}, {0.282004, 0.565924}, {1.054618, 0.582818}, - {-0.770044, 0.182383}, {-0.377127, -0.662357}, {0.699934, -0.416461}, - {0.725721, -2.274378}, {-0.285218, -0.376295}, {-0.046947, 0.662061}, - {-0.150529, -0.552474}, {0.366969, -0.279145}, {-0.522761, 0.138649}, - {0.359948, -1.543065}, {-1.101930, -0.354878}, {0.338112, -0.700804}, - {-0.408526, 0.129634}, {0.649985, -0.651205}, {0.418800, -0.999764}, - {0.357306, -1.544311}, {-0.381705, -0.067610}, {-0.161721, 0.259118}, - {-0.606741, 0.789184}, {0.281002, 0.526998}, {0.011339, -0.794455}, - {-1.830912, -0.398614}, {-0.550333, 0.484507}, {0.380872, 0.240877}, - {-0.333808, 0.561707}, {-0.306073, -0.400679}, {0.455130, 0.236129}, - {-1.028073, -0.645612}, {-0.594235, -0.259487}, {-0.990751, 0.305760}, - {0.006477, -1.019058}, {0.269924, -0.321009}, {-0.232176, -0.961120}, - {-0.595080, -0.028841}, {1.278412, 0.318883}, {0.447321, 1.388019}, - {0.532051, 0.673116}, {-1.563452, -0.046970}, {-0.449587, 0.019068}, - {0.606453, -0.602681}, {1.166692, -0.056815}, {-0.500489, 0.600240}, - {-0.500505, -0.287763}, {0.713353, -0.974392}, {0.627625, -0.903950}, - {0.360888, 0.126583}, {-0.455974, -0.380084}, {-0.104278, -0.465263}, - {0.651519, 0.420961}, {0.788706, 0.245607}, {0.070684, -0.600027}, - {0.647984, -0.619099}, {0.649698, -1.690212}, {0.318449, 0.028318}, - {-1.471110, 1.370645}, {1.207134, -0.322368}, {-0.685125, 0.769329}, - {1.287764, 0.797221}, {-0.996293, 1.087134}, {0.442161, -0.195315}, - {0.121135, 0.058126}, {1.045922, 0.679832}, {0.873562, 0.306245}, - {-0.946556, -1.014899}, {-1.098702, -0.429317}, {-0.259191, 0.604008}, - {-0.446836, -0.599038}, {0.079361, -0.237178}, {-0.530503, 0.677970}, - {-0.601736, 0.605187}, {-0.160833, 0.081568}, {-0.692943, -1.922262}, - {-1.351586, -0.764923}, {-0.910394, 1.516147}, {-0.447204, 0.696053}, - {-1.603351, 0.949397}, {0.853493, -0.313292}, {-0.782020, 0.417463}, - {-0.229522, 0.508701}, {0.760533, -0.023716}, {0.227146, 0.243735}, - {-0.842789, 0.148573}, {0.517921, -0.314691}, {0.692720, 0.314784}, - {0.280511, 0.102037}, {0.665274, -0.165350}, {0.082569, 0.733769}, - {0.296156, 1.171633}, {1.047696, 0.574972}, {1.019455, 0.327643}, - {0.590864, -0.069291}, {0.058153, -0.552653}, {0.532137, -0.655718}, - {0.030514, 0.631288}, {0.014617, 0.384621}, {1.061152, 0.155026}, - {-1.531251, 0.473269}, {0.989563, 0.018146}, {-0.456740, 0.513566}, - {0.652150, 0.217298}, {0.305406, -0.295892}, {-2.437038, -0.899029}, - {0.129350, 0.230154}, {-0.072882, -0.255708}, {1.735334, -0.122027}, - {0.357863, -0.822077}, {-0.260330, -1.094809}, {-0.618916, 0.441565}, - {-0.692015, 0.582413}, {-0.962700, -0.265797}, {-0.354149, 0.603085}, - {-0.086914, -0.518697}, {-0.573745, -0.565417}, {0.606341, 0.808186}, - {-0.799331, 0.580242}, {-0.096986, 0.161126}, {0.633315, 0.549819}, - {-0.144446, 0.177149}, {0.781768, 0.531140}, {0.338951, -0.899343}, - {0.498622, -0.161978}, {-1.030481, 0.406074}, {-0.853416, 0.247330}, - {-0.021314, 0.430044}, {-0.792349, -0.084728}, {0.661328, 1.015329}, - {-0.127205, 0.562281}, {0.597676, 0.621570}, {0.134817, 0.231554}, - {-0.159303, -0.083000}, {1.241670, -0.215870}, {0.511646, -0.487637}, - {0.396153, 0.003545}, {-0.879940, -0.429533}, {-0.720669, 0.339226}, - {-0.316744, 0.113981}, {-0.177206, 1.125024}, {-1.768052, -1.277820}, - {0.241700, -0.037855}, {-0.839180, 0.779339}, {-0.368304, -0.224287}, - {-0.788630, 0.576087}, {0.842764, -0.512279}, {-0.162576, 0.392872}, - {-0.704226, 0.243854}, {0.131859, -0.414154}, {-0.819482, -1.100527}, - {-0.470748, 0.467712}, {-0.316207, 0.030052}, {-0.235583, -0.156785}, - {-0.557592, -0.375994}, {-0.784024, 0.716792}, {-0.032535, 0.712314}, - {-0.122718, 0.060842}, {0.256587, -0.063350}, {1.593900, -0.262349}, - {-0.241222, 1.230849}, {0.595739, 0.423673}, {0.891444, 0.670761}, - {0.005808, 0.459865}, {0.340771, -0.696366}, {-0.238902, 0.415223}, - {-0.572688, -0.354505}, {-0.059561, 0.494342}, {0.693758, -0.277854}, - {-0.037608, -0.300489}, {0.644744, 1.106841}, {0.232660, 0.485564}, - {2.011315, 0.810211}, {1.047770, -0.099242}, {1.206122, 0.597776}, - {-1.206184, 0.417061}, {-0.522987, 0.244164}, {-0.036536, 0.528486}, - {-0.624421, -0.312582}, {0.898749, 0.177874}, {1.192713, -0.990058}, - {0.498853, -0.556840}, {0.589997, -1.001501}, {0.623528, -0.219887}, - {0.082308, 0.170954}, {-0.289952, 0.937628}, {-0.907912, -0.664638}, - {0.010034, -0.573764}, {0.911873, 0.898607}, {0.204328, 0.208605}, - {0.886008, 0.671941}, {-0.238965, -0.470697}, {-0.047580, -1.367534}, - {0.445139, 0.183575}, {-0.257686, 1.029901}, {0.650779, 0.298196}, - {-1.048885, 0.864492}, {0.018705, 1.086719}, {0.353729, -0.758869}, - {0.135370, -0.483281}, {-1.076019, 0.680627}, {1.100044, 0.598223}, - {-1.294965, 1.147402}, {-0.106790, 0.436389}, {-0.743914, 1.121257}, - {-0.871260, 1.178553}, {0.204845, -0.486308}, {0.361820, -0.974340}, - {-0.206131, 0.818694}, {0.788987, 0.506632}, {0.344848, -1.206124}, - {1.204349, -0.052713}, {0.485916, -0.425330}, {-0.356002, 1.018318}, - {-0.627702, 0.255646}, {-1.301431, 0.413334}, {0.247930, -0.302713}, - {-1.193767, 0.508636}, {0.802304, -0.014054}, {0.225364, 0.597259}, - {1.130788, 0.014869}, {-0.375125, -0.713056}, {-0.887297, -1.193802}, - {0.911819, 0.357139}, {0.102299, 1.114198}, {0.346137, 0.583719}, - {-0.295741, -0.163232}, {0.306565, 0.062372}, {-0.387799, 0.117200}, - {-0.078818, 0.039897}, {-0.951657, -0.147061}, {0.531560, -0.532658}, - {-0.922460, 0.370301}, {-0.800399, 0.384196}, {0.207158, 1.049643}, - {-0.855953, 0.709615}, {0.833019, 0.272167}, {0.272961, 0.796026}, - {0.862792, 0.320292}, {-2.027771, -0.518041}, {0.382846, -0.137945}, - {-0.116166, -0.315429}, {-0.168185, -0.144519}, {0.531779, 0.133622}, - {-0.516350, -0.152330}, {-0.127356, -1.375547}, {-0.105342, 0.100885}, - {0.525022, -0.939381}, {-0.066998, 0.440557}, {-0.397364, 0.443860}, - {0.503200, 0.746156}, {-0.431620, 0.075595}, {-0.841891, 0.743002}, - {1.371081, -0.365098}, {-0.010784, -0.465652}, {0.020112, -0.041097}, - {0.826739, 0.182882}, {-0.613873, 0.704830}, {-0.568370, 0.143343}, - {0.387460, -0.545298}, {0.021157, -0.747607}, {1.302628, 0.905500}, - {0.261942, -0.033071}, {0.376649, 0.470807}, {-0.612337, -0.531302}, - {0.841322, 0.076988}, {-0.153153, 0.320945}, {-0.874257, -0.702040}, - {0.165278, -1.657980}, {-0.147901, -1.012033}, {-1.277508, 0.406026}, - {0.962158, -0.812888}, {0.570132, -0.249752}, {0.178017, 0.240519}, - {0.221700, -1.244702}, {-1.203450, 0.112039}, {0.203837, -0.704907}, - {0.134167, -0.222161}, {-0.462939, -1.592425}, {-0.032346, 0.235999}, - {0.386704, -0.786325}, {-0.693315, 0.928200}, {-2.135864, 0.434740}, - {1.006662, 1.715587}, {-0.142810, -0.802204}, {0.458850, 0.565148}, - {-0.338997, 1.517529}, {-0.803918, 0.696678}, {-0.048029, 0.081896}, - {0.172872, -1.381249}, {-0.463157, 0.151494}, {0.014982, -0.330029}, - {0.131682, 0.900381}, {1.245995, -0.694195}, {0.723281, 0.823227}, - {-1.268782, 0.935669}, {-0.323588, 0.329887}, {-0.826465, 0.789808}, - {0.969452, 0.147947}, {-0.086800, -0.739140}, {0.330504, -0.580053}, - {0.613212, -0.291821}, {1.508769, 0.762460}, {0.427432, -0.078387}, - {0.241827, -0.720148}, {0.103200, 0.692154}, {0.237121, -0.186097}, - {0.383141, 0.836269}, {-1.686991, -0.116805}, {0.357785, 0.936704}, - {0.009202, -0.259852}, {-0.364276, 0.361380}, {-0.452860, 1.136152}, - {-0.503536, 0.666926}, {1.115614, 0.371158}, {-0.140742, 0.824371}, - {-0.082390, -0.656057}, {-1.230565, 0.359913}, {0.005553, -0.198844}, - {1.238036, -0.548324}, {-0.707677, -0.575827}, {0.561192, -0.372388}, - {0.495972, 1.965641}, {0.693577, -0.278012}, {-0.501385, 0.209282}, - {1.174469, -1.508376}, {0.645479, -1.112553}, {0.216551, 1.222801}, - {0.317056, -0.152965}, {0.192083, 0.034963}, {-0.110488, -0.462419}, - {-0.666300, -0.015961}, {-1.752495, 0.399985}, {-0.469240, 0.924181}, - {-0.274931, 0.641528}, {-0.312214, -0.016273}, {-0.517574, -0.530389}, - {0.833532, 0.046255}, {0.684154, -0.745428}, {-0.955607, 0.071248}, - {-0.251567, 0.985285}, {-0.121152, -0.148834}, {-0.009011, 0.787854}, - {-0.649552, 0.048180}, {-0.425329, 0.878791}, {0.393766, 0.793184}, - {0.526353, -1.044814}, {-0.425715, 0.097562}, {0.345638, -0.549481}, - {0.697957, -0.674357}, {0.905744, 0.301798}, {0.974970, 0.602490}, - {-0.901499, -0.882178}, {-0.019264, -0.630321}, {-0.421427, 0.049030}, - {-0.217801, -1.297212}, {0.182897, -0.126145}, {0.128832, -1.435972}, - {-0.107732, -0.836753}, {-0.777310, 0.461033}, {0.206962, -0.196436}, - {1.346730, -0.307975}, {0.401943, 0.332010}, {0.044175, 0.580896}, - {0.186951, 0.580326}, {0.198179, 0.439384}, {-0.265917, 0.422116}, - {0.364858, 1.826492}, {0.891892, -0.698183}, {1.583665, -1.221355}, - {-0.190341, 0.962946}, {-0.174967, -0.009207}, {0.729038, -0.307764}, - {0.043398, -1.428511}, {-0.680441, 0.960596}, {0.250274, 0.295808}, - {0.032164, -0.418385}, {-0.197256, -0.704446}, {-1.712183, -1.163529}, - {-0.268695, -0.200849}, {2.306987, 2.318621}, {0.060264, 0.224934}, - {0.578235, 0.321018}, {0.028329, -0.398577}, {-0.468995, 0.372626}, - {-0.486544, 1.004021}, {-1.324421, -0.240098}, {-0.516670, 0.486116}, - {1.493896, -0.392662}, {0.129571, -0.570646}, {0.163091, -0.300952}, - {-0.249986, 0.337349}, {-0.795421, -0.775087}, {-1.050828, -0.478171}, - {-0.687893, -1.095394}, {0.446193, -0.334549}, {0.207191, 1.248893}, - {1.304610, 0.004308}, {-0.531389, -0.521206}, {0.856143, -0.371803}, - {-0.436616, 1.111738}, {-1.420017, -0.184266}, {1.140460, -1.630379}, - {0.161864, 0.404858}, {-0.253171, -0.606452}, {-1.208974, 1.509948}, - {-0.954164, -1.303938}, {-0.048128, 0.715313}, {0.256096, -0.413618}, - {0.282291, 1.407356}, {0.056407, 0.582285}, {0.394826, 0.319440}, - {-0.481465, -1.111214}, {0.591739, 0.508274}, {0.032651, 0.767816}, - {-0.134227, 0.328188}, {0.092560, -0.469654}, {0.797004, -0.160862}, - {0.769209, 1.001893}, {0.898712, 0.476407}, {-0.606030, 0.660273}, - {0.035930, -0.406220}, {0.549958, 0.477784}, {0.930700, 0.739616}, - {-0.352887, 0.120378}, {1.456712, -0.987803}, {-2.326077, -0.576206}, - {0.005039, -0.663576}, {0.271949, 0.400765}, {1.016654, -0.532382}, - {0.578166, 0.345697}, {1.335427, -0.691842}, {0.346829, -1.486777}, - {-1.153416, -1.026001}, {0.223860, 0.210608}, {-0.190999, -0.519098}, - {-0.198968, 0.263295}, {0.651483, 0.398883}, {-0.549925, -0.275894}, - {-1.229674, -0.017529}, {-1.383489, 0.757820}, {-0.253172, 0.217579}, - {-0.816223, -0.232510}, {0.104862, 0.528907}, {0.079655, 0.495187}, - {-1.060489, 0.302825}, {-0.137642, 0.212762}, {0.674357, 0.008222}, - {-0.048395, 0.926425}, {0.412030, -0.840911}, {0.237129, 0.647045}, - {0.339638, -0.335510}, {0.284322, 1.034499}, {-1.397022, -0.292628}, - {-0.146085, 0.519480}, {-0.041487, -0.555443}, {0.577501, -0.304147}, - {0.311928, -0.446547}, {0.635509, -0.519239}, {-1.033277, -1.288549}, - {0.731980, 0.033399}, {-1.854763, -0.310873}, {-0.244777, 0.164482}, - {0.177305, -1.028995}, {-0.848186, -1.102416}, {0.208618, 0.238623}, - {0.141655, -0.253353}, {0.171815, 0.430131}, {-0.300252, 0.385949}, - {-0.002417, 0.000851}, {0.140724, 0.631155}, {-0.361690, -0.341663}, - {0.452532, 1.566797}, {-0.983234, -0.383707}, {-0.919083, -0.153251}, - {-0.570362, -0.004002}, {0.012526, 0.451240}, {1.078805, 0.115248}, - {-0.303834, -0.334887}, {0.111197, -0.445325}, {0.190372, 0.714853}, - {0.826630, -0.758796}, {-0.855694, -0.601218}, {-0.240251, 0.838381}, - {0.169116, 0.269469}, {-0.758837, -0.535851}, {0.833886, 0.712264}, - {-1.228975, -1.041728}, {-0.454220, 1.116119}, {1.266360, 0.991548}, - {0.399368, 0.572129}, {0.284363, 0.183403}, {0.852430, -0.069496}, - {-0.634331, 0.143028}, {0.704158, -0.787308}, {-0.348563, -0.322614}, - {-0.926186, 0.376325}, {0.743159, 0.167845}, {2.017916, 1.018183}, - {0.808439, -0.898639}, {-0.362709, -0.359190}, {-0.263045, -1.681332}, - {-0.155017, -0.596109}, {-0.058238, -0.339211}, {-1.052586, -0.827454}, - {0.083530, -0.579545}, {0.798530, 0.075240}, {-0.671206, -0.110130}, - {-0.032062, -0.960990}, {0.473355, 0.406486}, {0.724043, 0.644396}, - {-0.324565, 0.679171}, {-0.260678, 0.183511}, {-0.340520, -0.690654}, - {-0.490994, -1.070487}, {-0.102180, -0.653080}, {1.588020, 1.305983}, - {-0.284747, 0.210628}, {-0.084555, 0.093298}, {-0.200014, 0.790467}, - {-0.717793, 0.363149}, {0.131695, -0.446003}, {0.914407, 0.814170}, - {-0.202136, -0.003753}, {1.277709, 0.898150}, {0.656615, -0.393242}, - {-0.156783, 0.685943}, {-0.206718, 0.503998}, {0.201327, 0.404118}, - {0.042250, -0.107335}, {-0.870850, 0.210164}, {0.381354, 0.642557}, - {-0.595277, 0.854957}, {0.322635, 0.139045}, {1.736598, 0.188796}, - {0.862338, -0.908735}, {0.952138, -1.054378}, {0.771591, 0.755734}, - {0.080442, -0.425273}, {0.711784, 0.796568}, {0.221518, 0.711452}, - {-0.754410, 0.214646}, {0.297972, -0.998691}, {-0.023798, -0.667344}, - {-0.064961, -0.853014}, {0.082753, 0.438751}, {-0.829817, -0.535958}, - {0.179596, 0.170377}, {-0.232841, 0.874216}, {1.184970, 0.506020}, - {0.638693, -1.085547}, {0.618905, 0.086848}, {0.091035, -1.093523}, - {1.586531, -0.145763}, {0.781375, -0.734368}, {-0.439204, -0.368124}, - {0.884153, -0.881938}, {0.443501, 0.046392}, {-0.000463, -2.010197}, - {-1.341146, 0.413517}, {-0.115972, -0.617283}, {0.576521, -0.591029}, - {0.262853, 0.282668}, {0.454027, -0.299344}, {0.561599, -1.411193}, - {0.847940, -0.386760}, {0.162330, -1.607905}, {0.019188, 0.449590}, - {0.667390, 0.097850}, {1.070732, -0.511950}, {0.837035, 0.531196}, - {0.366102, -0.046720}, {-0.715692, 0.543561}, {-0.021125, -0.195383}, - {0.548797, -1.182353}, {1.307617, -0.209852}, {0.563610, 0.627996}, - {0.085233, 0.093108}, {-0.445645, 1.093604}, {-0.920394, 1.114292}, - {-0.394214, 0.442132}, {-0.175037, 0.756531}, {-1.486353, 0.249107}, - {0.036325, -1.007293}, {-0.348203, 0.752406}, {-0.502838, 0.733700}, - {-0.386542, -0.143784}, {-0.289604, 1.540041}, {-0.112224, 0.139364}, - {-0.060213, -0.734811}, {0.401407, 1.469775}, {0.455272, 0.162539}, - {-0.151403, 0.737257}, {0.767557, -0.397638}, {-0.392108, -0.373642}, - {0.602157, -0.607477}, {-0.745662, -0.034958}, {-1.102743, 0.087956}, - {-1.559189, 0.464934}, {-1.466796, 0.183389}, {-1.075429, -0.243765}, - {-0.902469, -0.918449}, {0.135849, 0.153793}, {-0.867781, -0.363082}, - {1.109122, 0.450055}, {-0.862578, 0.592056}, {-0.417136, 0.030326}, - {1.119029, 0.172928}, {-0.460388, 1.450624}, {-0.383553, -0.286544}, - {0.769042, 0.259261}, {-0.624490, 1.200131}, {-1.122671, -0.736922}, - {-1.806449, 0.235413}, {-0.034734, -1.440604}, {0.183904, -0.178401}, - {0.345460, -0.134209}, {-0.048553, -0.107624}, {-1.055511, -0.230159}, - {-0.770478, 1.603207}, {0.225398, 1.413173}, {-0.771651, -0.881477}, - {0.297900, -0.163596}, {-0.747235, 0.837724}, {1.266946, -0.261761}, - {0.714842, -0.900438}, {0.566732, -0.227364}, {-0.266881, -0.036107}, - {-0.791542, 0.149132}, {-1.792347, -0.319528}, {-0.653766, 0.011991}, - {1.200644, 0.555262}, {0.282989, -0.753802}, {0.528717, 0.482407}, - {-0.546723, -0.455929}, {0.266867, 0.694730}, {0.516831, 0.923688}, - {0.182959, -1.056826}, {-1.486910, -0.208888}, {1.201567, 0.192398}, - {-1.757454, -0.151676}, {1.324179, -0.469352}, {0.040209, 0.160468}, - {0.654096, -0.624048}, {0.357661, 0.980737}, {0.058591, -0.693167}, - {-0.122160, -1.377046}, {0.281492, 0.331693}, {-0.082028, 0.294920}, - {1.769671, 0.812195}, {0.098679, 0.119134}, {-1.443098, -1.187373}, - {-0.280626, -0.135435}, {0.589831, 0.260585}, {-0.540208, -0.744497}, - {0.140753, 0.497638}, {-1.508149, -0.600368}, {-0.545563, 1.017052}, - {0.626888, -0.915797}, {-0.053717, -0.598712}, {-0.550529, 0.572603}, - {0.159770, 1.587399}, {-1.196120, 0.802992}, {-0.515035, 0.547389}, - {-0.008116, 0.409647}, {-1.058518, 0.054808}, {-0.042508, -0.559489}, - {0.011590, 0.322688}, {1.052709, 0.384123}, {0.425621, -0.744465}, - {-1.279637, 1.410061}, {0.107505, -1.717265}, {-0.850488, -0.542529}, - {-0.969962, 0.197049}, {0.045225, -1.201257}, {-0.701234, 0.348909}, - {0.254005, -0.689191}, {0.696662, 0.251047}, {1.158640, -0.473769}, - {-0.674666, 0.000070}, {-1.079858, -0.744986}, {-0.956900, -0.604828}, - {0.336681, 0.096805}, {0.749376, 0.408288}, {-0.341699, -0.132789}, - {-0.566410, -0.063452}, {-0.307095, 0.690775}, {1.362382, -0.954373}, - {0.027733, 0.171340}, {-0.043149, -0.889067}, {-0.759746, -0.387685}, - {-0.014074, 0.110098}, {1.941074, 1.179552}, {-0.316348, 1.024601}, - {0.686783, -0.662860}, {-0.480265, -0.318199}, {-0.301052, 0.547353}, - {-0.658741, 0.133439}, {0.219759, 0.560583}, {-0.128545, -0.937591}, - {0.937029, 0.858481}, {0.636270, -0.195326}, {-0.333245, -0.881758}, - {0.799974, 0.622142}, {-0.008765, -0.681762}, {-0.344503, -0.152322}, - {-0.269002, -0.978158}, {-1.401038, 0.473890}, {-0.254753, -0.199118}, - {0.501615, -0.004429}, {0.223899, 0.481336}, {-0.846760, 0.430996}, - {-0.061397, -1.110077}, {-1.262684, -0.975124}, {-0.255968, 0.443139}, - {0.165242, 2.157322}, {0.171348, -0.113452}, {0.784235, 0.826362}, - {-0.930326, -0.142924}, {-1.016804, -1.041038}, {0.053696, 0.188937}, - {-1.831388, -0.308341}, {0.956302, -0.422604}, {-0.814804, -1.598612}, - {0.125995, -0.841216}, {1.222502, -0.172663}, {-0.066590, 0.294008}, - {1.467924, 0.078648}, {-0.594113, 0.074105}, {0.454844, 0.418237}, - {-0.355792, -1.712601}, {0.280973, 0.482542}, {-1.677893, -0.708101}, - {-0.143138, -0.222046}, {0.185764, -0.182096}, {-1.591763, 0.811301}, - {-0.872062, 0.528511}, {0.531152, 0.105743}, {-0.405518, -0.243221}, - {-0.285285, -0.724835}, {1.211926, -0.938313}, {-0.311116, 0.708844}, - {0.452738, 0.246767}, {-0.734349, -0.015975}, {0.504125, -0.297089}, - {-0.550223, -0.407948}, {1.386104, -1.647487}, {-0.532341, -0.778504}, - {-1.609207, -0.322142}, {0.151805, 0.083478}, {0.045700, 0.360312}, - {-0.209418, 0.028573}, {-0.028010, -0.531229}, {-0.297919, -0.606391}, - {-0.227399, -0.036008}, {-1.071328, 0.802874}, {1.611743, -0.469932}, - {-0.639568, 1.269852}, {1.007945, 0.734555}, {0.278845, 1.802139}, - {-0.074947, 1.028369}, {0.512044, -1.046021}, {0.400092, 0.083723}, - {-0.560397, -0.243498}, {0.036739, 0.207770}, {0.571326, 0.324339}, - {0.186415, -0.351682}, {-0.457269, 0.176103}, {0.021670, -0.065631}, - {0.511796, -0.018099}, {1.735932, -1.412607}, {-0.650731, -1.358326}, - {0.575977, 0.636595}, {0.654576, -0.152643}, {-0.490564, 0.772623}, - {-0.524959, -0.161241}, {-0.658197, -0.312236}, {0.163393, -0.340469}, - {0.656293, 0.638867}, {0.501754, -0.811553}, {0.440917, 0.449741}, - {1.556753, 0.811315}, {0.841730, -0.772732}, {0.660040, -0.888669}, - {-0.782535, -0.242943}, {1.033138, -1.092518}, {-0.069224, 0.487574}, - {0.387082, -0.053341}, {-0.254564, -0.830744}, {-0.007638, -0.247230}, - {-0.661025, 0.930161}, {0.606968, -0.680955}, {-0.137605, 0.289561}, - {0.863396, 0.128169}, {-0.349560, -0.836361}, {-1.438246, -1.537779}, - {-0.460247, -1.009597}, {0.728357, -0.362308}, {-0.050639, -0.243558}, - {-0.679497, 0.781298}, {0.658934, 0.412632}, {0.670115, 0.267368}, - {0.123810, -0.916516}, {0.868722, -1.620722}, {-0.145830, 0.480333}, - {-1.145276, -0.014976}, {-0.108175, -1.215163}, {-0.449991, -0.695477}, - {0.354733, 0.823464}, {-0.039724, -0.098980}, {0.013556, 0.499284}, - {-1.312451, -0.054851}, {-0.830864, 0.524224}, {0.486311, -0.717254}, - {0.643189, -0.177630}, {0.273871, 0.698640}, {0.853247, -0.305921}, - {-1.129702, 0.190997}, {0.373702, -1.523299}, {-0.301040, 0.189571}, - {-0.224603, 0.155915}, {0.831177, -0.779143}, {1.389989, -0.223985}, - {-0.321807, -0.258173}, {-0.366492, -0.422011}, {-0.384236, 0.224358}, - {-1.063747, -0.704562}, {-0.555400, 0.187686}, {0.271893, 0.617246}, - {-0.610279, -0.700190}, {-0.551170, 0.213321}, {1.648215, 0.778172}, - {-0.025453, -0.830363}, {-0.219132, -0.100106}, {-1.131840, 0.570620}, - {0.351216, 0.049910}, {-0.316256, -0.207403}, {-0.050467, 1.734194}, - {-0.654866, 0.299421}, {0.150861, -0.684421}, {-0.561852, 0.297147}, - {-0.126410, 0.789246}, {-0.127865, -0.749320}, {0.162245, 1.241481}, - {1.336352, -0.647051}, {-0.605969, 0.480636}, {-1.072146, 0.585871}, - {0.768267, 0.008915}, {-0.399790, 0.263734}, {-1.004410, 0.473403}, - {0.145836, 0.570952}, {0.647171, 0.532919}, {1.021832, -0.194468}, - {-0.166667, 0.643500}, {-0.062712, 0.359724}, {0.260920, 1.286259}, - {0.702274, -0.475356}, {-0.995690, -0.674690}, {1.214113, 0.161147}, - {-0.054271, -0.030268}, {0.135363, 0.245079}, {-0.193862, -0.856533}, - {-0.446497, 0.195088}, {0.909234, 0.465749}, {0.027739, -0.240682}, - {0.202885, -0.391204}, {-0.915654, -1.517288}, {0.032038, 0.801794}, - {-0.565640, -1.125811}, {-0.746958, 0.080219}, {1.012414, -0.176261}, - {0.925715, 0.171622}, {0.504816, 0.886424}, {-0.055414, -1.707216}, - {0.331249, 1.448197}, {0.325529, -0.748697}, {0.006156, -0.885744}, - {0.843520, -0.760984}, {1.008421, -0.221801}, {-0.978591, 1.867998}, - {0.351767, 1.119610}, {-0.152918, 1.039013}, {-0.595093, 0.442284}, - {0.844670, -0.308379}, {0.716920, -0.336382}, {0.461792, -0.273735}, - {0.097085, -0.336706}, {-0.119997, 0.705377}, {0.216905, -0.214695}, - {-0.163907, 0.691365}, {0.046850, -0.395489}, {-0.622611, -0.633670}, - {0.073035, -0.563313}, {-1.652085, -0.637483}, {0.004529, -0.510007}, - {-0.756162, -0.373366}, {0.224175, 0.104698}, {0.240622, 0.087521}, - {0.051187, 0.920317}, {1.667764, 0.411180}, {-0.117246, -0.234740}, - {-0.082710, -0.477874}, {0.040677, -0.399180}, {-0.950192, 0.484832}, - {0.746072, -0.140056}, {-1.349141, 0.607029}, {0.548435, -0.191376}, - {0.190776, -1.480638}, {0.719537, 1.345205}, {1.446202, -0.580025}, - {0.053474, 0.978262}, {0.786674, 0.753003}, {-0.996297, 0.640894}, - {1.383403, 0.136313}, {0.608127, 0.754792}, {-0.827608, -0.016325}, - {-0.924064, -0.682900}, {-1.054567, -0.001422}, {1.185203, 1.589105}, - {0.496944, 0.349206}, {-0.169828, -0.384878}, {-0.285749, 0.247343}, - {-0.719044, -1.465544}, {0.064705, -0.715851}, {-0.313329, 1.540674}, - {-0.565377, -0.220547}, {-0.959113, -0.696998}, {-0.265068, 0.828256}, - {-0.231885, -0.521362}, {0.084903, -0.990582}, {0.419140, -0.095240}, - {0.278788, -0.044144}, {0.586966, 0.431494}, {1.209696, 0.763105}, - {-1.666831, -0.629313}, {-0.497822, 0.832480}, {-0.142951, -0.554920}, - {-0.275496, -1.050326}, {-0.478618, -0.636370}, {0.782930, 0.504903}, - {-0.082104, -1.564349}, {-0.211217, 0.853166}, {1.084067, 0.782337}, - {-0.055275, 0.277204}, {0.880825, -0.475584}, {-0.949252, 0.084678}, - {-0.211708, 0.245726}, {1.704036, 0.424302}, {0.077734, -0.365634}, - {0.216536, 0.821771}, {0.375309, -0.657953}, {-0.659413, -0.187937}, - {-0.499583, -0.274513}, {1.229467, -0.033242}, {-0.267309, 0.993163}, - {0.865415, 0.210650}, {-0.823692, -0.069652}, {-0.540393, -0.407260}, - {-0.708647, -0.380446}, {-0.456284, -0.443381}, {-1.262311, -0.764377}, - {-0.321781, 0.630733}, {-0.588639, -0.187851}, {-0.568256, 0.499750}, - {0.373187, 0.006208}, {0.707336, 0.348158}, {1.672811, -0.006168}, - {-0.123496, 0.243460}, {-0.436994, 0.521309}, {0.221835, 0.213596}, - {-0.110805, 0.604376}, {-0.453414, -0.656775}, {-0.342502, -0.092188}, - {0.282574, 1.154633}, {-0.805164, 0.800347}, {0.792364, 0.263727}, - {-0.117166, -0.150103}, {-0.284043, 1.115365}, {0.454632, -1.305995}, - {-0.027046, -0.148701}, {0.158758, -1.399725}, {-0.035824, 1.192414}, - {-0.761856, 0.094855}, {-0.008090, 0.994581}, {-0.259027, -0.931982}, - {-0.978369, -0.050289}, {0.339204, -0.785655}, {-0.301449, 0.823972}, - {0.745963, 0.972562}, {1.820135, 0.926824}, {-0.182639, 0.155852}, - {-0.307134, 0.062589}, {-0.356943, 1.592747}, {-0.810041, -0.170031}, - {0.924231, -0.092920}, {-0.511708, -0.739995}, {0.217789, 0.214683}, - {0.727853, 0.509274}, {0.540418, 0.119559}, {1.247327, 0.541364}, - {0.750281, 0.697049}, {0.211089, 0.231808}, {0.542634, 0.268686}, - {0.250232, 0.727131}, {-1.260513, 0.624552}, {0.606138, -0.194470}, - {0.114722, 0.116973}, {-0.552551, -0.850632}, {-0.586970, -0.054372}, - {0.199770, -0.540281}, {-1.122043, -0.794103}, {1.090813, 0.071042}, - {-0.304107, 0.113772}, {0.555280, 0.023257}, {0.066496, -1.087529}, - {0.735559, 1.299498}, {-0.523713, -0.325003}, {0.558212, -1.053250}, - {-0.542305, -0.417328}, {0.228459, -0.174137}, {0.882993, 1.180572}, - {-0.210242, 0.141900}, {0.530180, -0.288710}, {-0.867478, -0.490810}, - {0.680940, 0.052579}, {-0.190379, -0.716328}, {2.098467, 0.446381}, - {-0.802407, 0.021896}, {-0.050531, 0.152073}, {-0.548937, -0.769984}, - {1.160574, 1.151177}, {-0.844446, -1.831308}, {0.469147, 0.201575}, - {0.915001, 0.416576}, {0.447789, -1.554800}, {0.498533, -0.152030}, - {0.333739, 0.365833}, {0.523884, 0.261510}, {0.102519, -2.132332}, - {1.322340, 0.237185}, {-0.666061, 0.182718}, {-0.547886, 0.110171}, - {-0.885832, -0.119981}, {-0.220295, 0.279038}, {0.672774, -0.493978}, - {0.201961, 0.278770}, {-0.698567, 1.015529}, {-0.547559, 0.238427}, - {-0.900760, -0.019301}, {0.850664, 0.808783}, {-0.435736, 0.345590}, - {-0.166500, 0.514461}, {-0.734562, -1.054797}, {-0.480065, 0.153198}, - {1.169755, 0.209574}, {1.069664, 0.606532}, {-0.708567, -0.040850}, - {0.652199, -0.079326}, {-0.719968, 0.322006}, {-0.514982, 0.234570}, - {-1.101919, -0.339730}, {0.150537, 0.654555}, {-0.736618, -0.262166}, - {-0.856246, -0.452481}, {1.287460, -0.187745}, {-0.217413, -0.915828}, - {0.609253, -0.743804}, {-1.171250, -0.922717}, {0.150368, 0.415436}, - {1.201096, -0.573735}, {-0.115596, 0.661219}, {1.042194, -0.088547}, - {0.005057, -0.396937}, {-1.158327, -0.358233}, {0.623459, -0.169205}, - {0.388201, 0.751152}, {0.895239, 0.665853}, {0.354939, 0.105708}, - {-0.587396, -1.923318}, {-0.061833, 0.531589}, {0.604179, -0.251531}, - {0.494426, 0.338236}, {-0.271009, -0.331057}, {-0.256580, 0.492214}, - {-0.088714, -0.383933}, {1.123027, 0.719944}, {0.375988, 0.313174}, - {0.236084, 0.230468}, {0.003886, -0.712924}, {0.104498, 1.606752}, - {-0.532576, 0.330591}, {-0.488381, -1.352006}, {0.161545, 1.723053}, - {-0.710498, -0.276665}, {-0.986647, 0.482909}, {1.434283, 0.726346}, - {0.068419, 1.131931}, {0.442032, -0.394590}, {-0.239756, 0.143242}, - {1.643873, -0.058546}, {-1.003878, -0.192841}, {0.122247, -0.079203}, - {-0.252594, -1.356311}, {-0.869489, -0.064070}, {-1.961857, -0.185462}, - {-1.899979, 0.496400}, {-0.109843, 0.709934}, {0.827485, -0.498313}, - {0.209843, 1.037273}, {-1.581375, -1.119497}, {0.290475, 1.032399}, - {0.668792, 0.476572}, {-0.433339, -0.944385}, {0.323084, 0.537194}, - {-0.221663, 0.003856}, {1.383254, -0.497884}, {-1.198460, -0.892147}, - {-0.750552, 0.230349}, {-0.637159, 0.240327}, {1.023382, 1.174099}, - {0.449877, 1.718353}, {0.110701, -1.119723}, {0.188672, -0.085627}, - {-0.767622, 0.429697}, {0.022888, -0.290090}, {0.029017, -0.575055}, - {0.569277, -0.179878}, {-1.100726, 0.865245}, {-0.544482, 0.275123}, - {-0.336701, -0.933121}, {0.051869, 0.544727}, {0.845421, -0.138977}, - {-0.855811, 0.654785}, {0.146789, -1.087976}, {-0.213152, 0.076521}, - {1.014701, 0.369228}, {0.303512, -0.346069}, {0.019167, 0.409554}, - {0.812617, -0.834358}, {1.338190, -0.103966}, {0.776275, 0.019837}, - {-0.804914, -0.226097}, {-1.210668, -1.599920}, {-0.354872, 1.508185}, - {-0.577729, -0.030264}, {1.140923, -0.684538}, {-1.087623, 0.646425}, - {-1.213811, 1.245787}, {-0.747429, 0.088243}, {-1.028906, 1.421081}, - {0.269063, 0.871054}, {-1.154534, 0.036896}, {0.616763, 0.386360}, - {-0.112931, -0.217046}, {0.465623, -0.396933}, {0.167084, -1.587480}, - {1.067098, 1.142031}, {-0.726521, 0.527343}, {0.521179, 0.754796}, - {1.965600, -0.951334}, {-0.493864, 0.148753}, {-0.789453, -0.495132}, - {1.154057, 0.025690}, {0.226936, 0.017755}, {-0.397219, 0.138528}, - {0.825606, -0.364112}, {-0.550409, 0.454887}, {0.168085, -0.192830}, - {1.037240, 0.172213}, {-0.623615, -1.192414}, {-1.394999, 0.433780}, - {-0.517121, 0.276487}, {-0.717265, -1.106185}, {1.173780, 0.500190}, - {1.189896, 0.347666}, {-0.367490, 0.332201}, {1.428207, 0.822697}, - {0.450744, 1.052459}, {-0.703437, 0.894070}, {0.915143, 0.151831}, - {-0.076742, 0.733596}, {0.524063, -0.923572}, {0.182666, -1.514815}, - {-0.096585, -0.475288}, {0.933516, 0.325996}, {0.262816, -1.152226}, - {-1.298289, 1.056797}, {0.290436, 0.293651}, {-0.796841, 0.007490}, - {-0.001210, -0.482373}, {-0.372255, -0.003545}, {-0.951811, 0.424592}, - {0.428500, -0.154131}, {-0.016110, 0.104156}, {0.714483, -0.096403}, - {-0.497021, 0.177252}, {0.119749, -1.519028}, {1.655545, -1.336578}, - {0.765918, -0.329551}, {1.142739, 1.110006}, {0.715838, 0.057273}, - {0.978170, 0.262785}, {0.989103, 0.268928}, {-0.844677, 0.128637}, - {-0.709728, -0.957801}, {1.655370, 0.576793}, {-0.701566, -0.455455}, - {1.472421, 0.138446}, {-0.068813, 0.104376}, {-0.307454, 0.024655}, - {-1.584193, 0.460054}, {-0.636200, 0.303211}, {-0.547006, -0.100346}, - {0.033197, -0.233433}, {0.036871, -1.428877}, {-1.282191, -0.020832}, - {-0.226060, 0.575992}, {0.539645, 0.580925}, {-0.515746, 0.640159}, - {0.122624, 0.379262}, {-0.298237, -0.430135}, {0.582305, 0.104006}, - {0.761337, 0.778517}, {-0.116138, -0.079724}, {0.056869, 0.497983}, - {0.534546, -0.781835}, {1.373099, 0.424074}, {-0.326885, -0.553422}, - {0.466659, 0.459637}, {0.057961, 0.638324}, {1.220616, 0.000019}, - {-0.396984, 1.437168}, {0.217722, 0.458254}, {0.517229, -0.226219}, - {0.266293, 0.723080}, {0.316267, -0.496743}, {0.395212, 0.100780}, - {0.208948, -0.868054}, {0.494479, 0.422566}, {0.090251, 0.077638}, - {-0.006175, -0.650019}, {-0.244839, -0.682264}, {-0.168110, 0.761099}, - {-0.705272, 0.959809}, {0.345444, -0.191354}, {-1.338302, -0.620916}, - {-0.913269, -0.357629}, {-0.326929, -0.599831}, {-0.886159, -0.329607}, - {-0.352269, -0.326190}, {0.517424, -0.679915}, {-0.256276, 0.568007}, - {-0.018477, 0.625619}, {-1.188829, -0.540793}, {-0.063814, 0.082350}, - {-0.574465, -0.281673}, {-1.431945, -0.967747}, {-1.319540, -0.350255}, - {0.385732, 0.441168}, {0.648657, -0.187545}, {-0.413140, -0.199861}, - {-0.860812, 0.630549}, {-0.526107, -0.254688}, {1.561758, -0.918379}, - {0.478789, -0.553762}, {0.577887, 0.031411}, {-0.123129, -1.310582}, - {0.467329, -0.373385}, {-0.158891, -0.519788}, {0.413279, -0.717616}, - {-0.090683, 0.008334}, {-0.201974, -0.766771}, {0.467733, -0.252969}, - {1.537250, -0.785099}, {1.055945, 1.034578}, {0.855592, -1.000192}, - {0.049488, 1.476671}, {0.485982, -1.096695}, {-0.417544, -0.230928}, - {0.650111, -0.343016}, {-0.697971, -0.973262}, {0.665104, 0.431052}, - {0.312919, 1.312641}, {0.441995, -0.145228}, {0.314576, 0.658067}, - {-0.499512, -0.180834}, {0.274381, -0.633668}, {-1.253873, 0.337280}, - {0.429498, -0.073320}, {-0.721886, -0.291230}, {2.130391, -0.609516}, - {0.264504, -0.772070}, {0.197991, 0.156987}, {0.012200, 0.176025}, - {0.511819, 0.264211}, {0.846034, -0.534889}, {-0.019510, 0.783356}, - {0.369750, -0.658338}, {0.067036, -0.850373}, {-0.187688, 0.650173}, - {-0.550258, 0.977643}, {0.310795, -0.493400}, {-1.002795, -0.323754}, - {-0.687753, 0.520814}, {-0.273234, -0.055023}, {1.420085, -0.258885}, - {-1.197577, 0.045913}, {0.069913, -0.134013}, {-0.662290, -0.003455}, - {-0.451015, -0.580987}, {1.162251, -0.128787}, {-0.397880, -0.417766}, - {0.970358, 0.047251}, {-0.999546, -0.615866}, {-0.667909, 0.655248}, - {0.171279, -1.041255}, {0.490597, -0.745594}, {-0.163106, -0.467833}, - {0.685498, -0.884569}, {0.021264, -0.159166}, {-0.284385, 0.390590}, - {-0.406411, 0.147308}, {-0.887529, -0.424785}, {0.800653, 0.320601}, - {-0.237328, 0.229176}, {-0.356110, -0.871456}, {-0.469616, -0.563785}, - {0.540253, 0.000454}, {0.766091, -0.692660}, {1.265823, -1.121352}, - {-0.519969, -0.763516}, {-0.908685, 1.223205}, {0.378901, -0.148434}, - {0.734892, -0.017845}, {0.630235, 0.605463}, {0.484549, 0.798393}, - {0.889189, -0.588511}, {-1.209300, -0.615938}, {0.745912, 0.216205}, - {-0.361015, 0.030537}, {-0.140569, 0.491194}, {0.206099, 0.823077}, - {1.382085, 0.511459}, {0.822290, 1.501179}, {0.580893, 0.246972}, - {-0.058519, -0.069856}, {-0.623353, -0.877999}, {0.911648, 0.144101}, - {0.264720, -1.072727}, {-0.788517, -0.665520}, {0.884159, -0.498943}, - {-0.328181, -1.628856}, {-0.854272, -0.298947}, {0.369952, -0.228915}, - {0.466766, -0.533842}, {-0.856672, 0.555703}, {-1.666030, 0.205364}, - {-1.163374, 0.020615}, {-0.460905, 0.147512}, {-1.150163, -0.171924}, - {-1.086664, 1.156968}, {0.221459, 0.371883}, {-0.140640, -0.413140}, - {0.015694, -0.876451}, {0.084676, -0.170816}, {1.728853, -0.133309}, - {0.505786, 0.017453}, {0.738540, -1.225824}, {-0.732059, 0.505571}, - {0.586809, 0.992493}, {-0.201427, 0.147962}, {-0.669290, 0.191411}, - {-0.670438, 0.813079}, {-0.396987, 0.005979}, {-0.248870, 0.602922}, - {0.019785, -1.162706}, {0.258091, -0.507443}, {-0.293495, -0.206140}, - {-1.416552, -0.047997}, {0.863624, -0.614726}, {0.618458, -0.667468}, - {-0.068763, -0.452185}, {0.518270, 0.013776}, {0.095323, 0.282178}, - {-0.501060, 1.250301}, {0.495096, -0.240239}, {0.841004, 0.186255}, - {0.979204, -0.843511}, {0.159362, -0.525116}, {-1.076816, -0.329245}, - {0.590261, 0.475905}, {-0.042284, 0.849452}, {-0.176301, 0.436022}, - {-0.007701, 1.259334}, {-1.508466, -0.903273}, {1.741680, 0.724148}, - {-0.829550, 0.878517}, {0.549818, 0.385023}, {-0.586413, 0.711769}, - {-0.731277, 0.072802}, {0.732751, -0.781661}, {1.453798, 0.653282}, - {-0.547525, 0.163118}, {1.321736, 0.284994}, {0.967075, 0.447090}, - {0.449005, -1.871133}, {0.049354, -0.499692}, {0.623433, 1.594496}, - {-0.006018, -0.366873}, {-0.476288, -0.645067}, {-0.185525, 1.921269}, - {0.691321, -1.097974}, {-1.417428, 0.364298}, {0.995453, 0.433032}, - {0.645331, -0.069612}, {0.587566, -0.248929}, {-0.015891, 0.435682}, - {0.300868, 0.560848}, {0.593525, 0.847680}, {-1.032251, 0.705217}, - {-1.236513, -0.605437}, {0.480328, 0.151749}, {-0.327914, -0.239973}, - {0.645026, 1.272340}, {1.041862, -0.097846}, {-0.444069, 0.694695}, - {0.748340, -0.242565}, {-0.392311, -0.564402}, {0.955277, -0.330417}, - {0.766884, -1.099700}, {0.270925, -0.271814}, {0.991722, -1.258038}, - {-1.300449, -0.021881}, {-0.648161, -0.316676}, {0.189458, 0.566763}, - {-1.087335, 0.525761}, {-0.096931, 0.439582}, {-0.004232, -0.614384}, - {-1.011860, 0.920394}, {-0.096274, -0.360917}, {0.126764, -0.317622}, - {1.075920, -2.092266}, {-0.745683, 0.670968}, {-0.427878, 0.479526}, - {1.421614, 1.297357}, {-0.182187, 0.907850}, {0.576038, -0.390017}, - {-0.774510, 0.092694}, {1.486913, 0.472625}, {-0.985614, -0.039686}, - {0.497321, 0.513824}, {-0.226054, -0.465794}, {0.263041, -0.071887}, - {0.284301, -0.781556}, {0.312159, -1.389565}, {-0.473675, 1.103600}, - {0.066062, -0.020374}, {0.153187, -0.821651}, {0.252598, -0.505776}, - {-0.588915, -0.507526}, {0.746750, 0.865902}, {-0.198729, 0.371388}, - {0.192385, -0.115625}, {-0.301964, 1.093953}, {-0.372911, 0.616029}, - {-0.146635, -0.921548}, {0.449273, -0.739387}, {0.901099, 0.774089}, - {0.266051, 0.377341}, {0.591555, 0.563182}, {0.636632, -0.227791}, - {1.160072, 0.570171}, {0.176682, 0.068412}, {-0.005833, 0.132717}, - {0.004802, -0.842799}, {1.604389, -0.379789}, {0.484633, -0.421334}, - {0.185324, 0.164699}, {0.040009, 0.495247}, {-0.126941, -0.436956}, - {1.077300, 1.615921}, {-0.092967, -0.177670}, {0.562370, -0.425568}, - {-0.812328, -0.831640}, {0.504950, -0.415654}, {0.634659, -1.051510}, - {-0.509551, -0.741446}, {0.461403, -0.823263}, {0.741515, -0.178576}, - {-1.803048, 0.240838}, {0.965793, 0.671290}, {0.485702, 0.199620}, - {-0.033739, 0.468502}, {0.995017, 0.457605}, {-0.891019, -1.422089}, - {0.213272, 1.349124}, {0.957810, -0.529870}, {1.144436, 0.631099}, - {-0.608364, -0.008161}, {-0.183913, -0.622132}, {0.259485, 1.794263}, - {-1.893936, 0.887524}, {0.869948, 0.279483}, {1.330244, -0.234150}, - {-0.698793, -1.869186}, {-0.023907, -0.584283}, {0.889881, -1.321943}, - {0.739625, -0.348848}, {-0.445268, 0.106291}, {0.826921, 0.698815}, - {-0.290005, 0.699820}, {-0.344072, -0.323324}, {-0.411819, -0.585410}, - {-0.018909, -0.290762}, {0.505112, -0.327444}, {-0.118789, -0.034296}, - {1.369287, 0.043394}, {-1.463384, -0.619034}, {-0.230005, 1.632769}, - {-0.715552, 1.059146}, {0.500928, -0.212733}, {0.920560, -0.635359}, - {-0.588473, 0.687934}, {-0.213108, -0.623500}, {-1.114112, 1.581999}, - {1.450259, -0.777587}, {-0.240633, 0.524103}, {-0.437009, -0.672738}, - {-0.672158, -0.442712}, {-1.001309, 0.772701}, {-0.448667, 0.061504}, - {0.258287, -0.116766}, {-1.022620, 0.057617}, {-0.132288, 1.008135}, - {1.073702, -1.840446}, {1.048816, -0.795525}, {0.549427, -0.386099}, - {0.536366, -1.205694}, {-0.187059, 1.950097}, {0.301988, -0.179036}, - {-0.553248, 1.508990}, {-1.704598, 0.083126}, {-0.872153, -0.082539}, - {-0.436999, 0.247757}, {-0.535663, 0.218898}, {1.740084, -1.134760}, - {1.769763, 0.915663}, {-0.562986, -0.099149}, {1.793889, -0.797788}, - {-0.178126, -0.267732}, {0.631260, -1.067603}, {0.824120, 0.547277}, - {0.414803, 0.795777}, {1.524148, -0.914855}, {0.122641, -0.801623}, - {0.240361, -0.440083}, {0.297449, 2.260062}, {-0.047492, -0.415373}, - {1.113301, -0.107794}, {-0.278272, -0.153044}, {-0.795337, 0.227249}, - {-0.362846, 0.602121}, {0.954406, 1.716838}, {-0.259979, -0.099052}, - {-0.032074, -0.033958}, {-1.944759, -1.116393}, {-0.489102, 0.214741}, - {-0.522574, 1.262638}, {0.863974, -0.082520}, {0.484891, 1.178134}, - {0.703921, 0.461285}, {-1.885850, -0.134840}, {0.185955, 0.977271}, - {0.324373, 0.280497}, {-0.540469, 0.740809}, {-0.490823, 0.276430}, - {1.048976, -0.306852}, {-0.872366, 0.408507}, {-0.522883, 0.166499}, - {0.244488, -0.257421}, {-1.040009, -0.423785}, {-0.755068, 0.536125}, - {-0.684830, 0.823324}, {0.564522, 0.356330}, {-0.595022, 0.388829}, - {-0.144106, 0.215685}, {0.035723, -0.053939}, {-0.353620, -1.153940}, - {1.247211, -0.730838}, {1.664593, 0.096993}, {0.991357, -0.265930}, - {-1.524475, 1.193607}, {0.404257, -1.329731}, {-0.893348, -0.573884}, - {-0.456101, 1.026453}, {0.114008, -0.620093}, {0.505622, 0.342661}, - {0.550962, 0.586929}, {0.809653, -0.405812}, {-0.028734, -0.834741}, - {-0.155816, -1.209146}, {1.153799, 1.158627}, {-0.190132, 0.358644}, - {-0.802479, -0.235259}, {0.090976, -0.943619}, {0.728902, -0.942158}, - {1.160826, -0.138895}, {0.377593, -0.778267}, {0.070475, 0.710161}, - {-0.141220, -1.059658}, {0.833144, 0.183631}, {-0.769879, 0.085471}, - {0.940921, 0.622870}, {0.717500, 0.267314}, {-0.671317, -0.402610}, - {-0.190394, 0.893239}, {0.197755, 0.923891}, {1.199303, -0.372345}, - {-0.196247, 0.422832}, {0.254665, -0.230619}, {1.194773, -0.045428}, - {-0.165593, -1.152962}, {0.457136, -0.280145}, {-0.302551, 0.117955}, - {1.065757, 0.136590}, {-0.403169, -1.378557}, {-0.555648, 0.009076}, - {-0.654869, -0.527972}, {0.007930, 0.308520}, {0.267582, -0.462596}, - {-1.321099, 1.596624}, {0.201720, 0.549905}, {0.573367, -0.507021}, - {0.816064, 0.368670}, {-0.014020, 0.027474}, {0.437790, 0.322314}, - {0.228108, -0.622273}, {-0.462938, -1.714444}, {0.645504, 0.655548}, - {-0.129067, -1.174696}, {-0.363463, 0.121620}, {0.064644, -0.373728}, - {0.829669, -0.093423}, {1.987522, 1.409714}, {0.402627, 0.461663}, - {-0.517408, 1.461400}, {-0.194346, 0.371817}, {-0.095302, 1.127603}, - {0.854504, 0.243799}, {-0.175436, 0.956797}, {0.765841, 0.740974}, - {-0.311100, 0.344987}, {0.505908, -1.150500}, {0.570032, -0.062613}, - {-0.145633, 0.780485}, {-0.162999, 0.361546}, {-0.290794, 1.229566}, - {0.262506, -0.308712}, {-0.060761, -1.319020}, {-0.374195, 0.429511}, - {-0.086799, 0.375579}, {-0.695934, 1.544833}, {-0.553200, 0.563327}, - {0.270544, 0.934228}, {0.336961, 0.195811}, {0.665743, 0.096687}, - {-0.076057, 1.056521}, {0.798484, -0.357557}, {0.241616, -1.011969}, - {-1.077322, -0.558872}, {0.442441, -0.655746}, {0.244793, -0.618180}, - {0.103232, 0.499368}, {-0.227070, 0.190847}, {0.550947, -0.745656}, - {-1.079964, 0.299129}, {0.779327, -1.277451}, {-1.628750, 0.145433}, - {0.240864, -1.102978}, {-1.270518, 0.131556}, {0.775651, -0.293631}, - {-0.240939, -1.275808}, {0.223459, 0.026144}, {-0.742946, 0.387688}, - {0.012050, -0.095382}, {-0.342335, -0.145945}, {-0.474094, -0.504738}, - {-0.202108, 0.823645}, {1.541322, -0.601652}, {0.433840, -0.201410}, - {0.098066, 0.014597}, {-0.773606, -0.954702}, {0.318751, -0.263447}, - {0.397180, -0.536216}, {-1.235381, 0.558129}, {0.769004, -0.940717}, - {-0.235040, -0.468838}, {-0.564520, -0.384393}, {-0.005423, 1.188288}, - {-0.985059, 0.199438}, {-0.189449, -0.528242}, {-0.388491, -1.042069}, - {0.430704, -0.535256}, {-0.591624, -0.007859}, {0.592677, -0.737538}, - {-0.381401, -0.351623}, {0.491357, -0.380019}, {-0.483469, 1.474160}, - {-0.125849, 0.369908}, {0.078613, -0.121651}, {-0.353110, -0.717969}, - {0.872719, -0.606648}, {-0.428882, 0.846706}, {0.175737, -0.707301}, - {0.420668, -0.670445}, {0.181614, -0.047297}, {0.921628, -0.508933}, - {0.592896, 0.669205}, {-0.330365, -0.380564}, {0.650241, 1.309658}, - {0.236892, -0.200631}, {-1.285455, -1.072231}, {0.258253, -0.458396}, - {0.580260, -0.058791}, {-0.198798, 0.297518}, {-0.081461, 1.105449}, - {-0.972283, 0.637500}, {-0.752549, -0.092627}, {-0.787857, -1.415530}, - {1.506419, 1.017351}, {0.585529, 0.375103}, {0.637950, -0.354231}, - {0.542343, -0.978832}, {-0.631439, 0.380096}, {0.387861, -0.406235}, - {-0.458367, 0.221299}, {0.982058, -1.106305}, {0.250386, -0.654296}, - {0.176148, -0.799581}, {-1.154337, 0.577434}, {0.743221, -0.164562}, - {0.147461, 0.563461}, {0.262860, -0.187851}, {0.080463, -1.267225}, - {-0.842093, 0.465417}, {-1.150684, 0.413909}, {-0.697233, -0.258542}, - {1.008287, 0.072083}, {-0.788413, -0.051451}, {-0.039100, 0.376908}, - {0.314799, -0.081361}, {-0.961472, -1.372276}, {0.190966, -0.194039}, - {-0.415721, 0.883995}, {-0.001280, -1.035261}, {-0.578034, 0.253532}, - {0.718858, 0.130658}, {0.169064, -0.650773}, {1.019305, 0.470424}, - {-0.779577, -1.527926}, {-1.397568, -0.116837}, {0.151050, -0.025676}, - {-0.946740, -0.996213}, {0.946883, 0.374918}, {0.120331, 0.668101}, - {-0.158538, -0.647519}, {1.011966, -0.291368}, {-0.414841, 0.899555}, - {-0.613882, -0.444467}, {0.133879, -1.173510}, {-0.713934, 0.659541}, - {0.632421, -0.324801}, {-0.929352, -0.825345}, {-0.939329, -0.154669}, - {0.135173, 0.015513}, {1.221067, 0.948110}, {-0.389186, -0.513496}, - {0.296118, 1.574228}, {-0.296515, -0.024812}, {1.003795, 0.323161}, - {-0.435951, 0.654561}, {-0.490652, -0.418108}, {0.752490, -0.105439}, - {-0.337112, 0.345660}, {-0.567309, 1.101450}, {0.959341, -1.200654}, - {0.928823, 0.018668}, {0.251045, -0.478851}, {0.947048, -1.373055}, - {0.155776, -1.054964}, {-0.380913, -0.118574}, {0.042293, -0.476657}, - {0.200067, -0.039548}, {-0.386089, -0.409839}, {0.799759, -0.629364}, - {1.030871, -0.758805}, {0.191216, -0.009835}, {1.064252, 0.456354}, - {-0.739292, 0.213518}, {-0.957471, 0.766434}, {1.289907, 1.080144}, - {0.839509, -0.415417}, {-0.126717, -0.220462}, {-0.493196, 0.136442}, - {-0.740415, -0.205084}, {-0.451410, -0.124071}, {0.590748, -1.389196}, - {1.048353, -0.143902}, {1.382293, 0.237621}, {-0.817723, -1.004158}, - {0.025907, -0.953813}, {-0.134011, 0.870525}, {-0.796710, 0.808375}, - {1.063805, -0.573200}, {0.608984, 0.022332}, {0.705208, 1.520836}, - {-0.449768, 0.364173}, {-0.121032, -0.081536}, {-0.222846, 1.764236}, - {-2.317731, -0.242630}, {0.003012, 2.291217}, {-0.731425, 0.097707}, - {0.267980, 0.021976}, {-0.052570, -0.060891}, {1.328129, 1.291555}, - {-0.535779, -0.699093}, {-0.321002, 0.511984}, {-0.118378, 0.976733}, - {-0.483034, -0.250304}, {-1.164027, 0.342938}, {0.152236, 0.157467}, - {-0.219252, 0.092701}, {0.666655, -0.396142}, {-0.662523, -0.345241}, - {0.362952, -0.167473}, {-0.619415, 0.020731}, {1.119113, 0.580225}, - {-1.234932, 0.059510}, {-0.979695, 0.650857}, {0.248844, 0.475403}, - {0.152068, 0.896504}, {-0.025802, -0.188693}, {-0.312432, 0.713030}, - {0.318940, 1.325683}, {-1.388616, -0.069398}, {0.563331, 0.129599}, - {0.556248, 0.372978}, {-0.387270, -0.410561}, {0.381157, 0.174884}, - {0.205704, 0.309849}, {0.546306, 1.544967}, {-1.502442, 0.568854}, - {-1.441137, -0.654132}, {0.236177, 0.806135}, {-0.458600, -0.272605}, - {1.645150, -0.472139}, {1.230134, -0.639721}, {0.194120, -0.166522}, - {0.117438, -0.763945}, {0.775048, -0.144419}, {0.582774, -0.338508}, - {-0.451656, -0.308490}, {-0.997512, 0.221620}, {0.518933, 0.834596}, - {0.072709, 0.691029}, {-0.072488, -0.926413}, {0.455952, 1.521838}, - {0.452472, -1.063857}, {0.509717, 0.548683}, {0.555750, -0.567077}, - {0.044489, 0.772517}, {-1.065137, 1.047399}, {-0.057517, 0.426841}, - {-0.048828, -0.066677}, {-0.090397, -1.373149}, {0.299498, -1.074127}, - {0.508632, 0.940645}, {-0.075787, -0.866339}, {1.162672, 0.315994}, - {-0.398345, -0.537812}, {-0.364908, -0.483622}, {0.461687, 0.527551}, - {-0.162621, 0.230750}, {1.072227, 1.602365}, {-0.866570, 1.022571}, - {1.183777, 0.054456}, {-0.901192, -0.614876}, {0.207856, -1.230461}, - {-0.218150, -0.421866}, {-0.416722, 0.161147}, {0.434887, 0.939654}, - {-0.141095, -0.011220}, {-1.002557, -0.906183}, {-0.336980, 0.143558}, - {1.524689, -0.734075}, {-1.673018, -0.011837}, {-0.399086, 0.379387}, - {0.022946, 0.360077}, {1.334352, -0.058248}, {0.582118, 0.104689}, - {-0.235530, -0.117603}, {-0.685178, 1.207036}, {-0.505037, 0.394430}, - {1.041913, -0.754037}, {0.157290, -0.635867}, {0.420463, 0.059918}, - {-0.672484, -0.106277}, {-0.342000, -0.887734}, {0.037279, -1.312576}, - {0.196471, -0.690414}, {0.628345, 0.600837}, {1.905626, 0.213228}, - {0.002845, 0.911432}, {-0.273556, -0.817731}, {-0.734045, -0.814594}, - {-0.278813, 1.362944}, {-0.490799, 0.681619}, {0.823281, 0.924446}, - {0.382131, 0.054887}, {0.207567, 0.197565}, {-0.198756, -2.356373}, - {-0.146667, 1.116811}, {-1.225286, 0.261605}, {-1.600163, -0.215777}, - {0.188098, 0.034549}, {0.059091, 0.203517}, {0.539660, -0.144263}, - {0.559525, -0.197091}, {-0.995693, 0.479884}, {-0.140240, 0.304529}, - {-0.933852, 1.657169}, {-0.378402, 0.686321}, {-0.133646, -0.711732}, - {0.356331, 0.032003}, {0.167839, -1.094820}, {0.495340, 0.695848}, - {-0.324402, 2.032407}, {0.345523, -0.708782}, {0.651872, 1.141485}, - {-0.804705, 0.431775}, {0.073119, -0.202232}, {-0.389707, -0.229234}, - {-0.264997, 1.293800}, {0.443424, 0.482117}, {0.331831, -1.277015}, - {-1.021430, -1.437496}, {0.034502, -1.757843}, {-0.222381, -0.925680}, - {0.029757, 0.759219}, {0.025235, 0.100197}, {0.204608, 0.007049}, - {0.108738, -0.526643}, {0.063573, -1.456564}, {-0.344489, 0.271249}, - {-0.605927, -1.137269}, {-0.505740, -0.805053}, {0.607392, 0.236317}, - {-0.004607, 0.308809}, {0.148965, 0.107110}, {-0.116365, -1.014452}, - {0.054350, -0.377083}, {1.753877, 0.889535}, {-1.155775, 0.390584}, - {-0.077606, 0.065922}, {0.550225, 0.202540}, {1.695931, -1.527247}, - {0.112023, 1.588761}, {-0.397930, -0.627045}, {-0.761887, 0.846351}, - {-0.202916, 0.218434}, {0.028378, 1.479997}, {-0.484383, -0.042392}, - {-0.104811, 0.833990}, {-0.860957, 0.498545}, {1.074833, -0.971359}, - {0.286261, -0.574891}, {0.415268, 0.659014}, {-0.123245, -0.459360}, - {0.596546, -0.406837}, {1.301351, -0.741688}, {0.925065, -0.414523}, - {0.443874, -0.870857}, {0.416989, -0.113289}, {0.117815, 0.264440}, - {-0.569040, -0.606823}, {-0.071240, 0.617613}, {1.082605, 0.798463}, - {-0.300080, 0.104141}, {-0.190657, -0.215200}, {-0.109927, -1.077320}, - {-0.865215, -0.747596}, {0.026072, 0.657730}, {-0.602460, -0.765455}, - {-0.120662, -0.176552}, {-0.020959, 0.700393}, {-0.532963, 1.578641}, - {0.660906, -0.761852}, {0.204630, 0.671138}, {1.378102, 1.047063}, - {0.561706, 0.261408}, {-0.260495, 0.707119}, {0.122258, -1.309491}, - {0.348012, -0.204710}, {0.590837, -0.752105}, {1.641608, -0.346800}, - {-0.873873, 0.418680}, {-0.277803, 0.003063}, {1.257064, 0.252787}, - {0.675850, 0.403955}, {-0.418536, 0.803833}, {-0.164660, 0.169753}, - {0.850197, 0.896004}, {0.819463, -0.702546}, {0.422036, 0.045786}, - {0.453763, -0.574596}, {-0.166787, -0.756407}, {0.523826, 0.600864}, - {-0.115417, 0.177982}, {-0.055416, 0.683982}, {-0.270215, 0.340186}, - {0.195431, 1.313902}, {-0.443910, -0.182965}, {-0.071393, -0.364572}, - {-0.707667, 0.098065}, {0.778016, -0.604885}, {-0.229268, -0.776824}, - {-0.512173, -1.134451}, {0.252034, 0.380931}, {-0.003544, 0.019841}, - {-0.058631, 0.109133}, {-0.128306, -0.186545}, {-0.293227, 1.213620}, - {-0.779521, 0.232263}, {0.060435, 0.186679}, {0.990281, -0.912743}, - {-1.301892, 0.111320}, {-0.034738, -0.546598}, {-0.566775, -0.661059}, - {-0.925700, -1.136595}, {0.568009, -0.694776}, {-0.857730, 1.198007}, - {-0.037984, -0.146860}, {-0.252787, -0.038902}, {-0.568219, -0.219940}, - {0.303626, 0.948180}, {-0.038566, -0.531735}, {-0.103828, -0.538015}, - {0.260650, -0.359314}, {-0.327697, 0.416712}, {-1.116063, 0.090095}, - {-1.293285, -0.837186}, {-0.482711, -0.182843}, {0.059427, 0.514144}, - {0.566554, -0.141405}, {-1.308599, 0.222065}, {0.119560, -0.441928}, - {-0.228916, -0.884073}, {0.381615, -0.358756}, {0.207154, 1.337287}, - {-0.260877, -0.510744}, {-0.240457, 0.257392}, {-0.147033, -0.616898}, - {0.252767, 0.555545}, {1.142911, 0.946975}, {-0.145901, -0.472828}, - {0.263985, 0.594191}, {0.275152, -0.360078}, {-0.378772, 0.233403}, - {0.060201, -1.295192}, {0.711630, -0.480067}, {-0.727486, -0.316626}, - {-1.024395, -0.820563}, {0.229158, 0.571038}, {-0.195501, 0.125831}, - {-0.134340, -0.536494}, {-0.265465, -1.168649}, {-1.253822, 0.766807}, - {-0.908661, 0.099254}, {-0.303613, -0.289008}, {-0.312701, -1.039648}, - {-0.560653, 0.439198}, {-0.592471, -0.580957}, {-1.482518, 0.450587}, - {1.765973, -0.280969}, {-2.102702, 0.355270}, {0.543240, 1.121485}, - {0.960646, 0.575538}, {-0.328846, -1.412944}, {-0.158343, 1.897285}, - {1.102149, -1.023840}, {0.757352, -0.148155}, {-0.543007, 0.817050}, - {0.860867, 0.780749}, {-0.209900, -0.052244}, {0.033218, 0.744034}, - {0.846613, 0.704981}, {1.311109, -1.502775}, {0.749682, -0.026687}, - {-0.670479, -0.906180}, {-0.449276, -0.235328}, {-1.029479, -0.800321}, - {-0.552364, 0.362018}, {0.571044, -0.294024}, {0.303263, -0.977773}, - {-1.872468, 0.396964}, {-0.955788, -0.245566}, {-0.953171, 0.032204}, - {-0.140014, 0.562421}, {-0.238861, -1.034260}, {0.016618, -0.778735}, - {0.641832, -1.328999}, {-0.555008, 0.001675}, {0.177758, 0.407400}, - {0.378772, -0.737130}, {-0.947272, 0.646346}, {0.530960, 0.259863}, - {-0.901216, -0.065121}, {-0.322799, -1.319203}, {1.054523, 0.101474}, - {1.428788, -0.349216}, {0.349194, 1.127674}, {-0.452166, -0.174773}, - {-1.118452, 0.641579}, {0.089249, -0.175187}, {0.266167, 0.234908}, - {0.087406, -0.807926}, {-1.697266, 0.627200}, {-1.079827, -0.422557}, - {-0.372603, 0.642134}, {0.131330, 0.888119}, {0.792349, 0.278774}, - {-0.246192, 0.080661}, {-0.353288, 0.005239}, {-0.134266, -0.384476}, - {-0.828652, 0.066405}, {-0.548264, -0.080022}, {-0.120933, -0.875978}, - {0.903563, -0.743197}, {-0.567596, -0.824528}, {-0.206943, -0.203413}, - {0.232509, 0.801755}, {0.398309, -1.779415}, {-0.186675, -0.863868}, - {1.305872, 0.428744}, {-1.716046, 0.133683}, {-0.450440, 0.029653}, - {-0.506766, 0.145657}, {-0.967946, -0.295591}, {0.257046, -0.199603}, - {0.490026, 0.741449}, {-0.482293, 0.888983}, {0.433545, 0.021292}, - {0.395731, -0.152964}, {-0.127526, 0.629495}, {0.948778, 0.420625}, - {0.080788, 0.918771}, {-0.601768, -0.511523}, {0.056685, -0.188264}, - {0.077067, -0.297327}, {0.362971, -0.552698}, {0.500014, -0.566048}, - {0.681482, 0.264552}, {-0.610054, -0.646848}, {0.265600, 0.541288}, - {0.026679, 0.942537}, {-1.762192, -0.407303}, {-0.902743, -0.036230}, - {0.474591, -0.525614}, {0.067020, -0.220233}, {-0.618935, 0.644017}, - {-0.247249, 0.460334}, {0.455640, -0.078102}, {0.204557, 0.186035}, - {-0.502683, -0.745109}, {0.603414, 2.160750}, {0.949033, -0.309626}, - {0.143544, -0.468590}, {-1.617425, -0.599765}, {-0.338967, 0.795837}, - {-0.575392, 0.117471}, {1.113309, 0.741864}, {0.491207, -1.773106}, - {-0.796479, -1.166586}, {1.776758, -0.487393}, {0.665706, -0.686534}, - {-0.733067, 0.665936}, {-1.191914, -0.753852}, {-0.861479, -0.028041}, - {0.528864, 0.362282}, {0.372907, -0.759873}, {-0.326107, -0.368006}, - {1.034767, -0.488401}, {-0.020672, 0.121155}, {-0.763290, -0.252682}, - {-0.581453, 0.977660}, {-0.422611, 0.734330}, {0.410968, -0.697525}, - {0.256227, 0.884536}, {-0.271733, 0.028247}, {-0.553155, 0.558822}, - {0.591687, 0.681808}, {-0.295964, -0.252254}, {-0.861694, 0.270864}, - {-0.212098, 0.137016}, {0.563568, 0.156760}, {-0.959209, -0.885105}, - {1.242799, -0.806484}, {-1.749964, 0.424195}, {-0.811421, 0.090595}, - {-1.270889, 0.077082}, {-0.507043, 0.606896}, {-0.573533, 0.304032}, - {-0.073649, 1.058108}, {0.042070, -0.145220}, {-0.668327, 1.142738}, - {0.669062, -0.322129}, {0.021137, -0.503492}, {-0.193499, 0.358862}, - {-0.508566, 0.260507}, {0.084811, -0.605995}, {1.557960, -1.120053}, - {1.643320, -0.421612}, {-0.480576, -0.823660}, {0.231449, 0.151004}, - {0.398016, 0.209073}, {0.045075, 0.672618}, {-0.008618, 0.247177}, - {-1.053566, 0.352608}, {0.116426, 1.141890}, {0.792719, -0.667965}, - {0.331232, 1.168582}, {-0.196787, 0.038326}, {-1.109405, 0.145585}, - {0.925101, -0.146615}, {0.420151, -0.522343}, {-0.006697, 0.762735}, - {-0.508807, -0.069119}, {0.925127, 0.708615}, {-0.110840, -0.048132}, - {-0.364342, 0.472781}, {-0.885346, 1.332877}, {-0.247386, 1.012912}, - {-1.386080, 0.289459}, {0.225626, -1.466751}, {-0.274328, -0.634428}, - {0.221469, 0.108111}, {-0.288359, 0.596638}, {0.406563, -1.159590}, - {-0.781803, 0.171775}, {-0.266993, 1.093298}, {0.188762, -0.887276}, - {-1.385732, 0.271974}, {-0.535123, -0.445177}, {-0.405735, 0.672560}, - {0.184163, 0.241237}, {0.218489, -0.629709}, {-0.080616, 0.521363}, - {-0.263647, -1.969656}, {-0.000105, -1.140732}, {0.345163, 0.238108}, - {-0.724603, -0.973090}, {0.166771, 2.574467}, {-0.442168, -0.073635}, - {0.087945, 0.845359}, {0.179795, -0.061662}, {-0.317741, -0.537081}, - {-0.444731, -0.240390}, {0.451603, -0.608631}, {0.311307, -1.277915}, - {-1.138521, 0.364751}, {0.634037, -0.538308}, {0.336605, -0.705948}, - {0.112277, 0.892130}, {-1.254259, 0.041164}, {-0.032781, 1.144167}, - {-0.022324, 0.649488}, {-0.344520, -1.047174}, {0.317010, -0.433506}, - {0.814095, -0.340343}, {0.022872, 0.077959}, {0.249692, 0.224696}, - {1.305443, 0.613798}, {-0.581707, 0.071940}, {-0.258272, -1.904325}, - {0.601451, -0.060804}, {-0.118601, 0.938334}, {0.303851, 0.393623}, - {0.736692, -0.211060}, {-0.272122, -0.490145}, {0.222637, -0.021387}, - {-0.311633, 0.735060}, {-0.199568, 0.759139}, {-1.013715, -0.780787}, - {-1.135842, -0.735749}, {0.387608, 0.235686}, {0.083913, -0.711059}, - {0.163113, -0.233968}, {0.180869, -1.193578}, {-0.541856, 0.511090}, - {0.718738, -0.971796}, {0.918659, -0.884243}, {0.235544, -1.235024}, - {0.685277, 0.219639}, {0.854647, -0.421738}, {-0.028494, -0.255750}, - {-0.526021, -0.508404}, {-0.492737, -0.753063}, {0.462732, -0.859153}, - {-0.133400, 0.676276}, {0.450487, 0.025040}, {-0.561239, 0.571686}, - {-0.642541, -0.609117}, {1.075468, -0.169765}, {0.574631, -0.097372}, - {0.338229, -0.024071}, {-0.525317, 0.025844}, {0.487080, 0.416213}, - {-1.007587, -0.270080}, {0.343576, -1.099756}, {-0.699170, 0.043134}, - {-1.044511, 0.757733}, {-0.575676, -0.749373}, {0.305846, -0.161683}, - {0.811672, 0.079546}, {-0.192293, 0.436743}, {-0.693445, -0.830657}, - {0.968077, 1.051416}, {-0.769386, -1.502744}, {-0.255967, -1.803842}, - {-0.470924, -0.998421}, {-0.824508, -1.845973}, {0.045837, -0.401762}, - {0.360613, 0.910411}, {-0.337096, -0.237348}, {-0.484460, 0.113391}, - {0.305826, -0.010794}, {0.147090, 0.500318}, {0.225740, -0.205529}, - {-1.264348, -0.329185}, {-1.194871, -0.957492}, {0.650858, -0.758139}, - {-1.280834, 0.080681}, {0.625022, -0.858635}, {1.711320, 0.093822}, - {-1.151505, 0.996810}, {1.790324, 0.687198}, {0.656644, 1.704101}, - {-0.376292, -0.352113}, {-0.126730, 0.661884}, {0.252564, -0.254102}, - {-0.661905, 1.131852}, {-0.368894, 0.146481}, {-0.798706, -1.083358}, - {-0.454165, 1.240990}, {-0.039095, -0.119828}, {0.632847, -0.423721}, - {-0.380750, -0.363220}, {-0.262391, -0.622616}, {-0.859738, 0.564480}, - {-0.750698, 0.139456}, {0.947125, 0.430152}, {0.677915, 0.729907}, - {-0.239181, 0.435498}, {0.466691, -0.384876}, {0.532654, -0.083163}, - {0.542034, 0.653067}, {0.208817, -0.330605}, {-0.130409, 0.034659}, - {-2.320815, -0.033099}, {0.871427, 0.273985}, {0.194936, 1.108967}, - {-0.285382, 0.345010}, {1.195251, 1.573778}, {0.713952, 1.087552}, - {-0.415100, 0.517458}, {1.196398, 0.021875}, {0.802508, 1.907587}, - {0.299614, -0.173952}, {-0.608050, -0.581877}, {0.977775, 0.565290}, - {-0.192386, 0.145355}, {-0.665472, 0.535100}, {-0.151025, 0.022383}, - {-0.250835, 0.788190}, {0.764801, 0.467007}, {0.298350, -1.467544}, - {-0.017556, -1.063610}, {1.562445, -0.529165}, {-0.520377, 0.378911}, - {0.058748, 1.831556}, {-1.071124, 0.601172}, {-0.878448, -0.254107}, - {-0.154485, -0.985552}, {-0.887400, 0.327273}, {-0.705357, -1.472086}, - {-0.740599, -0.067128}, {0.711410, -1.034293}, {-0.333938, 0.630428}, - {1.278035, 0.397289}, {0.210056, -0.257437}, {-0.585602, -0.005302}, - {0.203850, 0.195065}, {-1.060016, 0.172660}, {0.771525, -0.917467}, - {-0.723919, -0.412679}, {0.232786, -0.197431}, {1.194496, -0.581625}, - {1.340972, 0.360705}, {0.975104, 0.097678}, {1.133589, 0.133129}, - {-0.298991, 0.302132}, {-0.784508, -0.922366}, {0.322948, -0.119337}, - {0.110163, -0.145440}, {1.574654, 0.287009}, {-0.189796, -0.018106}, - {-0.174887, -0.498104}, {-0.080131, -0.165148}, {-0.657113, 0.318723}, - {-0.433595, 0.705876}, {0.857977, -0.158599}, {-0.482497, 0.036595}, - {-0.576244, -0.193566}, {0.296959, -0.488391}, {0.405842, -0.070404}, - {0.590507, 0.533184}, {0.587150, 1.314828}, {-0.211139, -1.292577}, - {-1.010083, -0.313106}, {-0.863307, 0.569579}, {0.997553, -0.971260}, - {0.472407, 1.098185}, {-1.119245, -1.232905}, {0.618522, 1.245082}, - {-0.262763, -0.278210}, {-0.105775, 0.170132}, {1.269669, -0.240590}, - {0.170976, 0.601526}, {0.188523, -0.015175}, {-1.326050, 1.007456}, - {-0.090769, 0.040268}, {0.418566, 0.135730}, {-0.182901, 0.036998}, - {-0.333515, 0.424837}, {0.428316, 0.383354}, {-0.794054, -0.779979}, - {0.263906, 0.439720}, {0.162836, 0.989119}, {-0.071999, 0.354381}, - {-0.291458, -0.020139}, {0.449140, 0.931136}, {-0.694063, -0.246796}, - {-0.862572, 0.091815}, {0.028864, -0.095157}, {0.724161, 0.223737}, - {0.047003, 1.150192}, {-1.174734, -0.534178}, {0.591572, -0.393347}, - {-0.219495, 0.747091}, {-0.136702, -0.163781}, {-1.060912, 0.069882}, - {0.029668, 0.042101}, {0.131750, 0.093846}, {0.871290, 1.182361}, - {1.253828, 0.378833}, {1.186058, -1.172422}, {-0.063604, 0.553535}, - {1.002073, -0.209174}, {0.444720, -0.729126}, {-0.206357, 0.032391}, - {-0.700775, -0.526320}, {-0.737105, 0.314376}, {0.592877, 0.135543}, - {-0.663426, 0.630024}, {1.260741, 0.446146}, {-0.705061, -1.146632}, - {0.428181, 0.432223}, {-0.213335, 0.151536}, {0.520582, 0.924886}, - {0.577738, -0.057536}, {-0.751351, 1.533813}, {-0.156074, 0.562951}, - {0.046758, -0.037720}, {-0.217340, 0.168171}, {0.241340, 0.494540}, - {0.506104, -0.317633}, {-0.655820, 0.567359}, {0.480759, -1.112311}, - {0.386474, -1.201118}, {-1.449230, -0.518502}, {-0.706211, 0.406803}, - {-1.560129, -0.422456}, {-0.077915, -0.197029}, {-1.004173, -0.827722}, - {0.500350, 1.832784}, {1.097967, -0.612166}, {-0.131651, 0.635959}, - {-0.049192, 0.986648}, {0.349039, 0.570957}, {-0.171897, -0.308825}, - {-1.215161, -0.958771}, {0.571949, 0.628435}, {0.729169, 0.139248}, - {0.709536, 0.696363}, {0.097966, 0.586873}, {0.397300, 0.024276}, - {0.236370, 0.090813}, {0.514880, 0.171434}, {0.793476, -0.258985}, - {-0.515502, -0.496673}, {0.473964, 0.129542}, {-0.354065, -0.227705}, - {0.656057, 0.340024}, {-0.176111, 0.646745}, {0.688527, 0.624363}, - {-0.533171, -0.007906}, {-1.490044, -0.019393}, {0.062044, 0.744611}, - {0.830698, -0.386727}, {-0.110515, 0.456228}, {1.417382, -0.674755}, - {0.459868, 0.925687}, {-0.836631, 0.488354}, {-0.019731, -0.693838}, - {1.289891, -0.627465}, {0.055161, -0.256309}, {0.468467, -0.780689}, - {0.717432, -0.802497}, {-0.085141, -0.309899}, {0.930132, 0.556225}, - {0.405997, -0.271818}, {-0.768176, -0.288646}, {0.100647, 0.538259}, - {0.907866, 0.140152}, {-0.368110, -0.402555}, {-0.228629, -0.940188}, - {-0.569401, 0.233255}, {-1.022570, 0.000617}, {-0.324842, 0.052006}, - {-0.269973, 0.777187}, {-0.035408, -0.139996}, {0.473745, 0.160440}, - {-1.354914, -0.289104}, {-0.475516, -0.054631}, {-0.041168, -0.128649}, - {0.427951, -0.409020}, {1.363959, -0.447370}, {-0.703075, 1.016340}, - {-0.075306, -0.369703}, {0.230086, -0.722273}, {1.792416, -0.645114}, - {-0.093824, -0.242755}, {-1.292877, -1.080529}, {1.196220, 0.155053}, - {0.173557, -0.177454}, {-0.634131, -0.976788}, {-0.379141, 0.884947}, - {-0.536256, 0.697163}, {0.552100, -0.096580}, {-0.696552, 0.923878}, - {0.118458, 0.110518}, {-0.582715, -0.173407}, {-0.956599, 1.799081}, - {-0.843667, -0.384598}, {0.764067, -0.865968}, {1.000620, -0.160073}, - {0.953401, 1.628974}, {-0.888514, -0.891334}, {-0.680686, 0.247835}, - {-0.754843, 0.258330}, {-0.675973, 0.394557}, {-0.190745, 0.303396}, - {-0.170964, 1.405210}, {0.926068, -0.197468}, {0.672418, 0.927374}, - {0.197025, -0.069306}, {0.354251, -0.267216}, {0.290035, -0.073490}, - {0.110947, 0.354887}, {0.443680, -0.098480}, {-0.294424, 0.866491}, - {-0.841475, -0.422685}, {0.266968, 0.062065}, {1.515674, -0.060925}, - {0.176005, 0.140636}, {0.404577, -0.509459}, {0.515552, 0.061269}, - {0.853981, -0.954393}, {1.019148, -1.441008}, {0.163838, 0.376008}, - {0.288430, 0.184545}, {0.067683, 1.030477}, {-0.499583, 0.343582}, - {0.009995, -0.042159}, {-0.621239, 1.076062}, {-0.939004, 0.349109}, - {0.798145, 0.400775}, {0.435127, 0.287123}, {0.202232, -0.459503}, - {-0.115217, -0.562763}, {0.415476, -0.178029}, {1.158389, 1.432155}, - {0.936251, -0.718354}, {0.848607, -0.413887}, {0.391567, -0.379341}, - {-0.299960, 0.021999}, {-0.500304, -0.145804}, {0.809236, 0.749736}, - {0.827454, 0.361110}, {0.433617, -1.060374}, {0.897989, 0.043762}, - {-1.028161, 0.704788}, {-0.194029, -0.081497}, {0.651930, -0.779738}, - {-0.210318, 0.138924}, {-0.224011, -0.719656}, {-0.690712, -0.403295}, - {-0.421069, 0.703604}, {-0.492768, -0.402452}, {-0.811297, 0.602505}, - {-1.785654, 0.521719}, {0.587757, -0.400209}, {0.043330, -0.684632}, - {0.384072, 1.455485}, {1.259714, 0.400161}, {0.761448, 0.079450}, - {-0.053741, -0.471277}, {0.412257, 0.180934}, {0.519025, -0.912317}, - {1.338382, -1.089903}, {-0.120862, 1.387350}, {0.046935, 1.216046}, - {0.078641, 0.418476}, {-0.826729, -0.603339}, {-1.169826, -0.905686}, - {-0.319044, -0.337864}, {-0.000338, -0.036139}, {-0.070890, 0.167189}, - {-0.364559, -0.483024}, {-0.845227, 0.663173}, {-0.358604, 0.991618}, - {-0.544255, 0.196842}, {1.734390, 0.066961}, {0.304854, -0.438655}, - {0.570055, 1.368692}, {0.680056, 0.502049}, {1.473820, -0.240434}, - {0.143943, 0.150471}, {-0.601375, 1.462794}, {-0.130329, 0.130809}, - {-0.816240, -0.613083}, {-0.363673, 0.906229}, {-0.137845, 0.310958}, - {0.028385, 0.813332}, {0.797503, -1.224658}, {0.193431, -0.529715}, - {-0.088177, -0.203006}, {-0.475714, -0.792887}, {0.226096, -0.128947}, - {0.184089, -0.068373}, {0.887181, 0.224031}, {-0.216778, 0.056027}, - {-1.168135, -0.932106}, {0.564475, -0.495475}, {-0.673622, 1.542024}, - {-0.610914, -0.581747}, {-0.089544, -0.439327}, {0.714516, -0.660308}, - {1.223961, -0.522664}, {0.661751, -0.105839}, {-0.630532, -0.064537}, - {-1.161529, 1.098738}, {-0.427223, -0.021232}, {-0.026751, 0.416435}, - {0.362154, -0.386305}, {0.208456, 0.633020}, {0.045405, 1.111140}, - {1.425449, -1.110883}, {0.707444, 0.651275}, {-0.500077, 0.697821}, - {0.203707, 0.456913}, {-0.853159, 1.120343}, {0.834138, -1.031290}, - {0.617247, -0.697880}, {-0.043978, -0.182348}, {0.543946, -0.336939}, - {-0.357450, -0.588382}, {0.063896, 0.467717}, {-1.005923, 0.946648}, - {0.848093, 0.260463}, {-0.603198, 0.472919}, {0.824311, 1.081034}, - {-1.794170, -0.412169}, {-1.188588, -0.303771}, {-0.599378, -0.512405}, - {-0.764410, 0.839242}, {-1.630732, -1.206763}, {0.475393, 1.662433}, - {0.287510, 0.340842}, {-0.361590, -0.457253}, {0.259458, 0.427517}, - {-0.962593, -0.157040}, {-1.043433, 0.709428}, {-0.124816, 0.350705}, - {-1.784117, -0.277703}, {-0.816757, 0.881473}, {1.130899, 0.072276}, - {0.508338, -0.545349}, {0.248984, -1.013667}, {0.303921, -0.296289}, - {0.907752, -0.325327}, {-0.706874, -0.148790}, {-1.511246, -1.230174}, - {-0.034105, 1.186995}, {0.791315, -0.061800}, {-0.115356, -0.013607}, - {0.614068, -0.643597}, {-1.434752, -0.837895}, {-0.262646, -0.486002}, - {0.425083, -1.154407}, {-0.888865, 0.643359}, {0.354696, -0.522025}, - {0.516178, -0.483834}, {-0.383349, -0.393546}, {0.627820, 1.304975}, - {-1.536539, 0.297887}, {0.522986, -0.438700}, {0.570505, 0.136875}, - {1.225639, 0.726921}, {0.046321, 0.004620}, {-0.978947, 0.165502}, - {0.673976, 0.355861}, {-0.565507, 0.154310}, {0.184185, 0.636983}, - {0.669884, 0.339459}, {-0.272178, 0.155650}, {0.946849, -0.018712}, - {1.554380, -0.573908}, {-1.650752, -0.797470}, {0.149065, -0.449614}, - {0.000874, 0.687892}, {-0.496167, -0.407806}, {-0.311445, -0.715590}, - {-0.129442, 0.092998}, {1.038462, 1.427624}, {0.969798, -0.841165}, - {-0.638606, 0.246169}, {-0.007508, -0.280498}, {0.113839, -0.195910}, - {1.042036, 0.726260}, {-0.200482, 0.235256}, {-0.406369, -0.249998}, - {0.286145, -1.006218}, {0.210969, 0.512718}, {-0.859586, -0.839554}, - {0.139226, 0.146909}, {0.695305, -0.442922}, {-0.681479, 0.678879}, - {0.573686, 0.732063}, {0.409687, -0.487551}, {-0.740833, 0.407906}, - {-0.627461, -0.094149}, {0.717096, -0.324215}, {-1.040547, 0.209955}, - {0.390960, 0.716126}, {0.087138, 0.229283}, {-0.453888, -0.488261}, - {-0.309646, -0.346751}, {-0.129650, 0.732543}, {-0.170771, 0.525447}, - {0.514311, 0.262524}, {0.791326, -1.098801}, {0.026081, -0.432545}, - {0.695147, 0.619485}, {-0.160913, -0.305334}, {-0.388194, 0.428275}, - {-0.857131, 0.383539}, {-0.127692, -0.568071}, {-0.153925, -1.205867}, - {-0.131234, -0.794515}, {0.509942, 0.661891}, {-0.411283, -0.325822}, - {-0.557037, 0.549357}, {0.276122, -0.018714}, {-0.459507, 0.586174}, - {0.946074, 0.411524}, {-0.517742, -0.440520}, {0.518675, -0.707372}, - {0.346846, -0.672055}, {0.552754, 1.465565}, {-0.084615, 0.414643}, - {0.452343, -0.941522}, {0.346356, 0.291833}, {-0.280410, 1.026607}, - {0.938494, -0.769506}, {-0.559070, -0.210613}, {-1.005965, 1.379425}, - {1.003043, -1.111699}, {-0.675980, -0.769700}, {0.000281, 1.375752}, - {0.304516, -1.251364}, {-0.821937, -0.484556}, {-0.859102, -1.335838}, - {0.058085, -0.346139}, {0.003970, -0.523620}, {-0.142542, 0.689615}, - {-0.916600, 0.902236}, {0.486899, 0.086527}, {-0.428760, 0.270439}, - {0.358628, -0.635933}, {-0.564581, -0.585300}, {0.873809, 0.369030}, - {-0.178501, 0.513622}, {1.498494, 0.604123}, {-0.119000, 0.391230}, - {-0.893021, -0.149327}, {-1.342297, -1.126706}, {0.373536, 0.861215}, - {0.256534, 1.148103}, {0.899039, -0.560694}, {0.054489, 0.862495}, - {-0.293322, -0.433164}, {-0.232534, -0.152667}, {0.571215, -0.491188}, - {0.200082, 1.008588}, {-0.535039, -0.070187}, {-0.374009, -0.006474}, - {0.968621, -1.673820}, {-0.250826, -0.592453}, {-0.768210, -1.143156}, - {0.506240, 0.456245}, {0.517084, -0.666774}, {0.212136, -0.465469}, - {1.318910, -0.330234}, {0.021991, 0.039870}, {-0.393252, 0.086292}, - {0.707893, -0.244737}, {0.499235, -0.784132}, {0.007350, -0.371172}, - {1.522063, 0.906834}, {-0.242588, -1.852291}, {0.221807, -0.033887}, - {0.323357, 0.072972}, {0.960496, 0.074214}, {0.760485, -0.415787}, - {1.011444, -1.408695}, {-0.765112, 0.167737}, {0.051886, 0.271979}, - {-0.082595, 0.361773}, {0.870305, 0.283143}, {0.225699, 0.608936}, - {-1.312811, -0.998105}, {-0.653488, 0.900398}, {-1.438955, 0.084821}, - {-0.412878, -0.723466}, {-0.272037, 0.361482}, {-0.694861, 0.082223}, - {0.850862, 1.180117}, {-0.283139, 0.336570}, {-0.271481, 0.069012}, - {-0.029517, -1.101000}, {0.634905, -0.821237}, {0.149412, -0.139163}, - {-0.484147, 0.270160}, {-0.761418, 0.079378}, {-0.072847, 0.937568}, - {-1.307853, -1.009845}, {0.297282, 0.648821}, {-0.091781, -1.985271}, - {-0.606219, 0.151353}, {-0.429607, -0.025052}, {-0.332890, 1.175599}, - {-1.118603, 0.141680}, {-0.097394, -0.858219}, {0.016748, 0.173787}, - {0.499711, 0.334283}, {0.294804, -0.100448}, {-0.226681, 1.320937}, - {0.445101, -0.020208}, {0.298761, 0.661325}, {0.366419, 0.625208}, - {-0.610404, -0.402482}, {-0.196988, -1.143042}, {-0.140385, -0.419017}, - {0.112807, 0.888080}, {0.266033, 0.057014}, {-0.728926, -0.934920}, - {-0.140320, -0.094250}, {1.177336, -0.396966}, {0.420952, 0.653529}, - {0.796815, 0.416470}, {0.811086, -0.565463}, {0.367195, 0.333449}, - {-0.400751, 1.975824}, {1.216133, -0.533538}, {-0.061920, -0.453391}, - {-0.711951, -0.449488}, {-0.102566, -0.455585}, {0.285088, -0.802786}, - {0.808552, -0.322926}, {-0.602289, 0.632072}, {-0.661576, -1.758596}, - {-0.146488, -0.548057}, {-0.206403, -0.017511}, {-0.450221, -1.498859}, - {0.932314, -1.134894}, {0.656476, 0.145769}, {0.235734, 0.094820}, - {-0.722074, 0.001788}, {-0.957129, 0.829923}, {-1.219129, -0.094515}, - {0.433577, 0.505638}, {0.667379, -0.080276}, {-0.481288, -0.154287}, - {0.832150, 0.696951}, {0.845959, 0.070575}, {0.511181, -0.543340}, - {1.404294, 0.382848}, {0.652795, -0.156181}, {-0.114089, -0.125219}, - {0.105672, -0.192649}, {1.581463, -0.060738}, {1.179013, 0.318857}, - {-0.514448, -0.186117}, {-0.004286, 0.388816}, {0.553462, 1.141917}, - {-0.108260, -0.709488}, {0.366715, 0.522898}, {1.011547, 0.255626}, - {0.510127, -0.556431}, {1.387465, -1.491813}, {-0.030602, 0.643039}, - {0.252861, 0.370345}, {0.158032, -0.485250}, {1.505481, -0.401738}, - {-0.425678, 1.475448}, {0.558642, 0.266556}, {-0.761068, -0.757845}, - {-0.236187, 0.096478}, {-0.299872, -1.335299}, {-1.133420, 0.013509}, - {0.020291, 0.311569}, {0.852593, -0.665722}, {-0.523899, 0.543296}, - {-0.258387, 0.397797}, {-1.620860, 0.323925}, {1.104585, -1.383714}, - {0.683798, 0.260786}, {-1.928301, -0.180178}, {-1.028854, 0.442835}, - {0.657349, -0.494352}, {-0.277212, 0.670959}, {-0.180849, 0.531330}, - {-1.227284, -0.792597}, {0.563598, -0.076574}, {-0.437456, 0.229217}, - {0.929340, 0.015725}, {0.074666, 0.424629}, {0.534245, -0.350823}, - {0.389638, -0.082153}, {0.500066, -0.103981}, {0.517706, 0.482821}, - {-0.748255, 1.069502}, {0.473974, -0.018833}, {0.395953, 0.000067}, - {0.154909, 0.296848}, {0.200809, 0.287738}, {-0.607075, -0.544885}, - {-0.267287, 0.616905}, {-0.323802, 1.280877}, {0.255228, 0.082953}, - {0.888876, -0.780725}, {-1.507838, -0.628624}, {0.117847, 0.741004}, - {0.951439, 2.158240}, {0.255605, -0.694650}, {0.403436, -0.019320}, - {0.028617, -1.122894}, {-0.559034, -0.279798}, {-0.151086, 1.482814}, - {0.401004, -1.215030}, {-0.010857, -0.722506}, {-0.779211, 0.186412}, - {0.839532, 0.388371}, {-0.519503, -0.769165}, {0.886356, -0.068777}, - {-0.666874, 0.232912}, {-0.769333, 0.407110}, {-0.156172, 0.626609}, - {-0.845403, 0.246838}, {-0.921500, -1.513649}, {-0.659432, -0.352143}, - {-0.456287, 0.822831}, {-0.264057, 0.594756}, {-0.381242, 0.749825}, - {0.584222, -0.010185}, {0.717621, 0.407810}, {0.126997, 0.610555}, - {0.121083, -0.601804}, {0.338280, -1.296916}, {-0.998988, 0.202698}, - {0.271413, 0.241189}, {-0.660860, -0.922695}, {0.217074, 0.091244}, - {-0.829182, -0.173802}, {-1.686936, 0.133783}, {0.085111, -1.036699}, - {-0.835207, -0.547288}, {-1.001460, 0.163306}, {-0.009840, -0.897352}, - {-0.221570, 0.248621}, {-0.104666, -0.544456}, {0.492826, 1.224533}, - {-0.303816, 0.203433}, {-0.035890, -0.396120}, {-0.911609, 0.154966}, - {-0.477369, -0.149520}, {0.829666, 0.383750}, {0.288714, -0.400195}, - {0.825822, 1.060236}, {-0.565369, 0.570078}, {0.725772, 0.524669}, - {-1.427359, 0.510741}, {0.185095, 0.075540}, {0.123475, -0.291902}, - {0.273887, -0.125613}, {-0.173428, 1.043319}, {0.321986, 0.197724}, - {-0.846527, -0.708152}, {0.008510, -0.342922}, {0.627415, -0.580544}, - {0.845050, 1.241589}, {0.585281, 0.461177}, {0.359324, -0.420843}, - {0.049152, 1.106094}, {0.581734, -0.166265}, {0.003368, 1.019929}, - {1.025792, -0.545836}, {-0.566680, 0.838736}, {0.217046, -0.554830}, - {0.746989, 0.330831}, {-0.477775, -1.838477}, {1.209384, 0.537204}, - {0.084745, -0.402040}, {0.453664, 0.663259}, {-0.949609, 0.481791}, - {-1.018870, 0.244091}, {-0.100135, -0.408291}, {0.145723, -0.390015}, - {0.591639, -0.187299}, {-0.072565, 0.022234}, {-0.090558, 0.900594}, - {-0.115991, -1.076001}, {-0.047715, 0.945083}, {-0.153139, 1.232195}, - {0.395757, -0.137489}, {0.500312, -0.165208}, {-0.446434, -1.255448}, - {0.744826, 0.719971}, {0.101905, 0.317928}, {-1.113815, 1.181345}, - {-0.826383, -0.342046}, {0.698280, -0.256223}, {-0.376007, 0.253217}, - {-0.351381, -0.465508}, {0.347951, 0.252016}, {1.060703, -0.456476}, - {-0.487386, 1.010946}, {0.082913, 1.363434}, {0.144076, 0.505970}, - {0.788440, 0.349740}, {0.359451, 0.412744}, {-0.133783, 0.371278}, - {0.132375, 0.736016}, {0.675589, -0.281074}, {1.388233, 0.041104}, - {-0.111974, -0.788585}, {-0.719106, 0.429423}, {0.285667, 0.906691}, - {-0.412522, -0.263860}, {-0.379611, -1.850579}, {-0.882381, 0.633164}, - {-0.350683, 0.326832}, {0.113319, 0.299109}, {0.030724, -0.533961}, - {-0.229546, 1.599082}, {0.791774, 0.219618}, {-0.083769, -0.825250}, - {-0.250508, 0.384164}, {1.622536, 0.627566}, {0.269926, 1.457477}, - {0.027500, 0.077387}, {-0.040952, -0.869704}, {0.249097, 0.799744}, - {-0.855749, -1.207818}, {0.031174, 0.232988}, {0.470634, -0.176486}, - {-1.322606, -0.574727}, {0.618473, -1.051757}, {0.044093, -1.194452}, - {-0.856825, -0.363124}, {-0.740040, 0.491909}, {1.049228, -0.383126}, - {0.269759, -0.756658}, {0.411827, -0.187708}, {-0.021801, -0.730890}, - {-0.338874, -0.436049}, {0.439729, -0.211741}, {-0.464913, 0.405662}, - {0.813909, 1.691059}, {-0.432949, -0.328759}, {0.016182, 0.617470}, - {-0.000084, -0.630506}, {1.013115, 0.113926}, {1.045430, -0.431612}, - {-0.149045, -0.540305}, {-0.168907, 1.023595}, {-0.681722, -0.870885}, - {0.148709, -0.519793}, {0.083637, -0.233137}, {-0.006738, -0.358652}, - {-1.132096, -0.196676}, {0.755618, -0.630740}, {1.172062, 0.331256}, - {-0.074557, -1.505289}, {1.261753, -0.254490}, {0.432557, -0.043824}, - {0.233409, -0.174214}, {0.046213, 0.259837}, {-0.956389, 0.034619}, - {0.336500, 0.085573}, {1.029807, -1.168944}, {0.148733, -0.666186}, - {0.504364, 0.591615}, {-0.244863, -0.431764}, {-1.287166, -0.010764}, - {0.206851, -1.199483}, {-1.130227, -0.926562}, {0.045319, -0.640907}, - {1.744857, 0.365060}, {-0.337659, 0.254251}, {-1.241628, 0.474563}, - {-0.098000, 0.043348}, {0.135789, 0.720002}, {0.079954, -0.567468}, - {0.209679, 0.580221}, {0.129076, -0.638995}, {-0.259201, 0.098160}, - {0.684000, 0.742712}, {-1.058322, 1.121174}, {-1.133869, -0.077823}, - {-0.786057, -0.192047}, {0.043596, -0.730099}, {-0.468971, -0.508530}, - {-0.166478, 0.964301}, {-0.421994, 0.534392}, {0.801013, 0.327796}, - {0.626465, -0.857809}, {-0.316640, 0.963254}, {-0.686444, -0.349580}, - {-0.411887, 0.006307}, {-0.044218, -0.684096}, {1.448337, -0.256645}, - {0.224336, -0.436483}, {0.025337, -0.347815}, {-0.407366, 0.419951}, - {-0.132820, 0.348857}, {0.371735, -0.864264}, {0.086483, -0.338426}, - {0.585107, 0.270821}, {0.326869, 0.548646}, {-0.326146, -0.463299}, - {1.143470, -0.087656}, {-0.098858, 1.246934}, {-0.036904, 0.191940}, - {0.287535, -0.291944}, {0.369159, 0.063018}, {-1.317075, -0.193187}, - {0.378189, 0.176271}, {0.856049, -0.716794}, {0.077633, 0.519224}, - {-0.699016, -0.029019}, {0.295033, 0.961106}, {0.197367, 0.762655}, - {0.114262, -0.106428}, {0.589365, -0.677044}, {-0.241511, 0.228210}, - {-0.430454, -0.895877}, {0.702252, 0.370365}, {1.742418, -0.318825}, - {0.735371, -0.917391}, {0.798335, -0.370615}, {-0.537492, 0.369018}, - {1.236422, 0.065891}, {-0.266399, -0.351783}, {0.423548, 0.165331}, - {0.077228, 0.536433}, {-0.174825, 0.148350}, {0.199017, -0.554067}, - {-0.965766, -0.545608}, {0.554513, 0.053499}, {0.037865, 0.091226}, - {0.586746, 0.403764}, {1.063461, -0.711465}, {0.627927, 0.180048}, - {1.849318, 0.366474}, {-0.787943, -0.066363}, {-0.225401, 0.838693}, - {0.780419, 1.099950}, {-0.583530, -0.334410}, {0.435296, -0.110910}, - {-0.395316, 0.522476}, {-0.296867, 1.030867}, {0.180194, 0.365723}, - {-0.565612, 0.105022}, {-0.071050, -0.637618}, {1.036443, 1.254893}, - {-0.357016, 0.150407}, {-0.105283, 0.193076}, {0.137034, 0.727374}, - {0.395267, -0.224436}, {-0.148716, 0.241524}, {-0.185222, 0.387931}, - {1.193605, -0.847551}, {0.250426, -0.707717}, {0.140128, -0.294992}, - {0.023456, 0.023879}, {0.557191, -1.088329}, {-0.705496, -0.351205}, - {0.706976, 1.287748}, {0.207298, -0.734820}, {0.124706, 0.189566}, - {0.797376, 1.215020}, {-0.329404, -0.576281}, {0.648951, 0.195529}, - {-0.597548, 0.519029}, {0.212921, 0.436097}, {-0.330959, 0.311842}, - {-2.163917, -0.881882}, {-1.070369, 0.664018}, {0.473269, -0.101973}, - {0.378465, -0.822488}, {1.361181, 0.418143}, {-1.012859, -0.712103}, - {0.870152, -1.346827}, {0.653007, -0.617410}, {0.497337, -0.775725}, - {-0.260237, 0.259267}, {-0.743430, -0.591395}, {-0.674841, -0.191339}, - {-0.584851, -0.214106}, {0.225244, 0.160024}, {1.161423, 0.256300}, - {-1.640086, -0.242275}, {-0.180871, -0.679693}, {-1.243241, -0.228350}, - {0.599251, 0.947940}, {1.146590, -0.156590}, {-0.647330, 0.051065}, - {1.949584, -0.583944}, {-0.242692, 1.238130}, {0.039443, 0.740763}, - {-1.458523, 0.089037}, {-0.153975, -0.381741}, {-0.317357, -0.610750}, - {0.237125, 1.346517}, {-0.201768, 0.320696}, {0.606654, 1.023548}, - {0.810015, 0.801355}, {-0.870015, 0.018496}, {0.005406, 0.866319}, - {-0.020676, -0.167982}, {-0.341657, 0.564725}, {-0.720214, -0.704252}, - {0.656031, -0.457047}, {0.070486, 0.044186}, {-0.170715, -0.739585}, - {0.184302, -1.788002}, {0.715592, -0.376628}, {-0.363081, -0.119088}, - {-0.100914, 0.119614}, {0.005834, -0.268860}, {-0.129771, 0.331506}, - {0.143287, -0.198036}, {-0.304611, 0.217426}, {-0.594381, -0.825000}, - {-0.365556, -0.258829}, {-0.214172, 1.162243}, {-1.194364, 0.810341}, - {-0.325733, -0.570507}, {-0.614001, -0.663556}, {0.118437, -0.291858}, - {0.502611, -0.601088}, {0.659081, -0.217369}, {-0.446278, -0.786148}, - {0.022241, 0.272441}, {0.590431, 0.909812}, {-0.505353, 0.055519}, - {-1.032100, -0.102485}, {0.514653, 0.094284}, {0.017452, -0.117900}, - {-0.434090, -0.360114}, {-0.795938, 0.951701}, {1.526127, -0.592844}, - {-0.389825, -0.453072}, {0.384166, -1.012017}, {1.182901, -0.350927}, - {-0.650756, -0.215167}, {-0.920064, 0.382095}, {0.325262, 0.053581}, - {-0.367365, -0.250609}, {-0.792805, -0.159176}, {0.364886, 1.149926}, - {-0.952999, -0.523706}, {-0.590878, -0.928414}, {1.302134, 0.020920}, - {0.271231, 1.409444}, {-0.421610, 0.925520}, {1.193167, 0.706521}, - {-0.333416, 0.336865}, {0.018979, 0.278195}, {0.454613, 0.518481}, - {-0.039562, -0.760878}, {0.452849, 0.034856}, {-0.363828, -0.532211}, - {-0.120648, 0.354305}, {0.124415, 0.897220}, {0.079466, -0.085179}, - {0.550458, 0.796151}, {0.118218, 0.662074}, {-0.355235, -0.199056}, - {0.436312, 0.191719}, {1.566220, -0.116118}, {-0.836157, -0.768313}, - {1.586808, 0.178922}, {-0.280443, -0.468900}, {-0.326042, 0.010218}, - {0.566632, 1.593287}, {1.012295, -1.739928}, {-0.076488, 0.044391}, - {0.483599, -0.125041}, {-1.492059, 0.640508}, {-0.678092, -0.179653}, - {-0.373386, -0.340247}, {-0.832028, 0.600061}, {-0.567324, -1.027965}, - {-0.083357, 0.199339}, {-0.734433, 0.929912}, {0.570454, 0.573202}, - {-0.365270, 0.716633}, {-0.417190, -0.754130}, {-0.854980, -0.194668}, - {-0.798654, -0.640999}, {-0.386871, 0.854369}, {-0.317394, -0.378946}, - {0.845760, -0.762026}, {-0.238503, 0.628650}, {-0.476581, -1.193935}, - {0.372842, 0.363358}, {1.929276, 0.425483}, {0.560945, -0.892123}, - {0.832559, 1.026749}, {0.332159, -0.899940}, {0.729769, -0.406694}, - {1.773252, -1.453081}, {0.014471, 0.518545}, {-0.032728, -0.153441}, - {-0.418525, -0.263385}, {1.483183, 1.053228}, {-1.108048, -0.126405}, - {-0.882071, 0.557002}, {-0.299469, 0.621888}, {-1.390889, 0.791123}, - {0.087246, -0.444939}, {-0.971593, 0.855966}, {0.288585, -1.387271}, - {-0.019311, 0.732536}, {0.575029, -0.900371}, {-0.849454, -0.021176}, - {0.102055, 0.741000}, {0.639938, 0.250506}, {0.031515, -1.559311}, - {0.184749, 0.007297}, {-0.615292, 0.150555}, {-1.045878, 0.504486}, - {0.648174, 0.248709}, {-1.923251, -0.525706}, {-0.139883, -0.496519}, - {-0.273595, 0.733709}, {-0.554049, -0.638829}, {-0.388154, -0.721417}, - {0.302342, -0.922345}, {0.301997, 0.247964}, {0.783229, -0.118560}, - {0.015568, -1.688273}, {-0.203951, -0.271846}, {-0.464304, -0.803130}, - {0.788053, 0.525790}, {-0.310437, 0.810294}, {0.734484, -0.122955}, - {0.078820, -0.755273}, {0.689406, 0.380790}, {-0.879125, -0.800241}, - {0.916797, -0.158671}, {-0.955580, 0.370290}, {1.053886, 0.183747}, - {-1.024297, 0.502801}, {0.821289, -0.323075}, {-0.197416, -0.199129}, - {0.128673, -0.204273}, {-0.047906, 0.532305}, {-0.332497, -0.459762}, - {-0.921215, 0.010891}, {-1.187693, 0.237371}, {-0.907113, -1.114225}, - {-0.391416, 0.334680}, {0.484839, -0.022006}, {0.279699, -0.155898}, - {0.232580, 0.635441}, {0.442647, -0.512038}, {0.457949, -0.744347}, - {-0.420994, -0.605339}, {0.607157, 1.329146}, {-0.274663, 0.330222}, - {-0.146928, 0.998094}, {0.634872, -0.085303}, {0.038862, 0.137135}, - {0.874375, 0.481656}, {-0.078049, 0.930253}, {0.211922, 0.365963}, - {-0.057426, -1.256802}, {-0.249915, 0.102113}, {0.074635, 0.926036}, - {-0.919523, 0.156604}, {0.321808, -0.463000}, {-0.336447, 0.591209}, - {0.069922, 0.186182}, {-0.098125, 0.286970}, {-0.945924, 0.199885}, - {1.251790, -0.588337}, {-0.103392, -0.063531}, {-1.495706, 0.300232}, - {0.161476, -0.532461}, {-0.229976, 0.007762}, {0.102294, 0.640865}, - {-0.046165, -0.345694}, {0.152871, -0.139371}, {-0.621642, 0.466272}, - {0.502189, -0.429932}, {0.381534, 0.850587}, {1.047882, 0.364581}, - {0.166650, -0.533360}, {-0.147243, 0.870267}, {0.264328, -0.088269}, - {0.241229, 0.219450}, {-0.674579, 0.991554}, {-0.952101, 0.726952}, - {0.000481, -0.050198}, {-0.237754, 0.641076}, {-0.058228, -0.524298}, - {1.097294, -0.979438}, {-1.219292, -0.095890}, {0.265504, -0.684968}, - {-0.779660, 0.555899}, {0.571050, -0.072841}, {0.669225, 1.701574}, - {-1.191487, 0.111178}, {0.909199, 0.891876}, {-0.395837, -0.258702}, - {0.093876, -0.469630}, {-0.423132, 0.835933}, {-0.273781, -0.809838}, - {0.379980, 0.848947}, {1.264064, -0.035597}, {-0.801897, 0.295423}, - {0.817880, -0.017036}, {-0.105681, 0.855247}, {0.486284, -0.619853}, - {-0.032531, 0.489774}, {0.211010, 0.529908}, {0.661884, 2.635604}, - {0.539633, 1.054015}, {-0.523203, 0.144841}, {0.642130, -0.062279}, - {0.773169, -0.295494}, {1.236025, 0.138371}, {-0.902266, -0.091117}, - {0.126149, 1.096640}, {-0.361577, 0.548790}, {0.082879, -0.449861}, - {-0.084813, 1.095634}, {1.546048, 1.536377}, {0.856924, 0.635732}, - {0.834506, 0.824424}, {-0.021495, -0.526435}, {-0.838356, 0.515902}, - {-0.473372, -0.161548}, {-0.778314, 1.424876}, {-0.230595, -0.748969}, - {-1.592887, -0.737746}, {-0.938554, -0.530306}, {-1.572545, -0.791394}, - {0.435546, -0.376083}, {0.525145, 0.213393}, {0.367887, -1.044275}, - {-0.719915, 0.061255}, {0.304958, -0.204748}, {1.210495, -0.112141}, - {-0.086723, 0.129535}, {-1.281467, 0.522155}, {-0.333647, -0.274983}, - {-0.554049, 0.413201}, {0.753145, 0.891878}, {0.274075, -0.707382}, - {-0.062669, 0.788726}, {0.466273, -0.501215}, {0.024895, 0.354051}, - {0.798756, 0.455852}, {-0.020206, -0.029112}, {0.339560, 1.851831}, - {0.152438, 0.738243}, {0.183936, -0.781268}, {-0.103182, 0.713654}, - {0.875376, -0.483562}, {0.015320, -0.460793}, {0.060661, -0.643523}, - {-2.264353, 0.105116}, {-0.789343, 0.615718}, {-0.243310, 0.060137}, - {1.699891, -0.863147}, {-0.512188, -0.107884}, {0.715462, -0.746962}, - {-0.168059, 0.396399}, {-1.855221, 0.474742}, {1.117193, -0.177673}, - {0.605124, 0.264148}, {-0.158801, -0.269563}, {-0.026259, 1.643594}, - {-0.612630, -0.403823}, {-2.104756, 1.120870}, {0.439319, -0.326207}, - {-0.729839, -0.030055}, {-0.197924, -0.161142}, {0.859821, 0.172257}, - {-0.082605, 1.518575}, {-1.076389, -1.744869}, {-0.219282, 1.053450}, - {-0.545467, 0.263106}, {0.717580, -0.589610}, {-0.704720, -0.962831}, - {0.404192, 0.274100}, {-0.559766, -0.674194}, {-0.846818, 1.766523}, - {0.413603, 0.183993}, {0.258588, 0.447021}, {0.711449, -0.254685}, - {-0.039759, 0.029436}, {-0.128433, -0.269298}, {-1.025894, 1.345869}, - {-0.912975, 0.052240}, {0.755264, -0.206240}, {0.044141, 0.949915}, - {-1.565117, -0.595266}, {0.200074, -1.417585}, {-0.158238, -0.081043}, - {-0.503170, -0.078182}, {0.362525, -0.194696}, {0.259960, -0.907605}, - {-0.105310, -1.933984}, {-0.899535, -0.440019}, {0.163533, 0.065331}, - {-0.571787, -1.130394}, {0.301250, -0.094735}, {0.104414, -1.423818}, - {-0.146865, -0.198913}, {-0.497490, 0.758248}, {0.466122, -0.416899}, - {-0.940500, 0.639487}, {-0.440392, 0.809788}, {-2.223726, 0.948796}, - {-0.313709, 1.585454}, {0.206535, -0.868710}, {0.910526, -1.174225}, - {-0.495236, 0.167135}, {-0.575404, 0.007086}, {-0.255414, 0.937178}, - {-0.296419, -0.082039}, {1.002712, 1.059056}, {-1.200725, 1.009362}, - {-1.031906, 1.427611}, {0.064588, -0.744817}, {1.290310, 0.659770}, - {0.251141, -0.190253}, {-0.586866, -0.099783}, {1.514305, 0.076462}, - {-0.292877, -0.034932}, {0.086519, -1.537324}, {0.558554, -1.027847}, - {0.016688, -0.294418}, {-0.464068, 0.572870}, {-1.031390, 0.702926}, - {-0.993327, 0.280797}, {0.407376, 1.270542}, {-0.291421, -0.688110}, - {0.842434, 1.685884}, {-0.464356, -1.287623}, {0.680357, -0.473646}, - {0.694717, 0.571415}, {0.391202, -0.560555}, {-0.169632, -0.035731}, - {-0.203948, 0.790613}, {-0.670035, -0.264796}, {-0.090461, 0.101945}, - {-0.311617, 0.481222}, {-0.344817, 0.135445}, {-1.162870, 0.142668}, - {-0.487890, -0.544005}, {0.732853, 0.690509}, {0.585005, -1.244755}, - {0.503757, -0.316446}, {0.869989, -0.370224}, {0.351113, -0.041060}, - {0.021720, -0.728370}, {-0.706755, -0.494790}, {-0.103364, -1.238782}, - {-0.355559, -0.533147}, {0.166720, -0.864956}, {0.334983, 0.100261}, - {-0.848547, 0.637065}, {-0.317559, 0.657728}, {0.409242, 0.262048}, - {0.596688, 0.826314}, {-0.458137, 0.110997}, {-0.682732, -0.219886}, - {-0.408569, 0.043952}, {-0.320255, -1.596813}, {0.387040, -0.699110}, - {0.198430, -0.538138}, {0.856802, -0.708255}, {0.756612, -0.653997}, - {-0.356619, -0.562844}, {0.271806, 1.194806}, {-0.175223, -1.368711}, - {-0.153117, -0.398840}, {0.706898, -0.328442}, {0.034251, -0.107789}, - {0.277096, 0.757656}, {-0.144774, 0.378035}, {-1.538711, 0.603603}, - {0.206118, 0.430155}, {0.622510, 0.173831}, {0.046042, 0.058330}, - {-0.577057, 0.162875}, {0.685647, -0.647830}, {-0.910460, 0.504792}, - {-0.200849, -0.954877}, {0.475974, -0.438454}, {0.340606, 0.030790}, - {-0.278135, 0.194854}, {0.707024, -0.623755}, {-0.091069, -2.189701}, - {-0.273684, -0.897539}, {0.050275, 0.334330}, {-1.301614, -0.241288}, - {0.376532, 1.392280}, {0.848500, 0.658936}, {-0.354567, -0.729838}, - {0.779270, -0.651632}, {-1.525730, 0.876681}, {0.587723, -1.383307}, - {-0.741497, 0.254969}, {0.873264, 0.197479}, {-0.480964, 1.299430}, - {-0.431708, 0.130537}, {0.323680, -0.448970}, {-0.803705, -0.383630}, - {0.259853, -0.171842}, {-0.074427, -1.423999}, {0.213413, -0.806918}, - {0.319758, -0.629784}, {0.197369, -0.175039}, {0.374164, -2.020326}, - {0.234205, 0.212423}, {0.442106, -0.486910}, {-0.970864, 0.312143}, - {0.994610, 0.634741}, {0.048931, 0.205781}, {0.369340, -0.247351}, - {-0.458195, 0.094655}, {-0.853393, 0.397950}, {-0.222113, -0.020140}, - {0.855104, 1.002182}, {-0.949021, 0.731330}, {-0.073219, 1.402526}, - {-0.151223, -0.492186}, {-1.375457, -0.136411}, {-0.466811, 0.022190}, - {1.087376, 0.106868}, {-0.744528, -0.413374}, {-0.342038, 0.049102}, - {-1.494273, -0.271438}, {-0.125528, 0.601419}, {-0.111221, -0.380202}, - {0.641612, 0.273790}, {-0.883504, 0.517323}, {-0.843544, 0.433726}, - {0.070544, 0.613134}, {-1.407600, -0.044330}, {-0.492451, 0.995879}, - {0.983269, 0.143963}, {0.221852, 0.495000}, {-0.791657, 0.614310}, - {0.703727, -0.571992}, {-0.071284, 0.875682}, {1.641568, -0.631850}, - {-0.083871, 0.250629}, {-0.229893, -1.203232}, {-0.382616, 1.669525}, - {0.486753, -1.096469}, {-0.599193, -0.121324}, {1.105338, 0.376484}, - {-0.433136, -0.568643}, {1.262118, 0.303337}, {-0.180750, -0.251747}, - {0.232196, 0.634354}, {0.526905, 0.692507}, {-0.416640, -0.134469}, - {-0.945404, 0.290901}, {1.452757, 0.222601}, {-0.057791, -0.455470}, - {-0.853629, -0.583719}, {-0.233342, 0.161093}, {-0.968813, 0.500752}, - {-0.861537, 0.075586}, {1.474493, -0.284338}, {-0.754792, 0.807480}, - {-0.643724, 1.545286}, {-0.922333, -0.131210}, {-1.068958, -0.426784}, - {-1.011546, 0.020778}, {0.787292, 0.193200}, {1.276891, 0.812940}, - {-0.001378, 1.525040}, {-0.482745, 0.059566}, {0.640762, -0.003003}, - {-0.842820, -0.681972}, {-1.136885, 1.104554}, {0.707249, 0.574867}, - {0.404579, 0.578500}, {0.772682, 0.950729}, {-0.758872, -0.442283}, - {-0.134508, 0.287088}, {-1.217763, -0.136208}, {0.067001, 0.006883}, - {-1.117236, -0.517592}, {1.074093, -1.371225}, {0.434892, -0.753326}, - {-1.657469, -0.184451}, {-0.563524, 0.887134}, {0.594674, -0.128692}, - {-0.861165, 0.393858}, {0.740365, -0.155010}, {-0.542431, -0.137020}, - {-0.160958, 0.367545}, {1.061826, -0.276971}, {-0.771112, 0.145356}, - {1.963119, 0.088410}, {0.024542, 0.144405}, {-1.161727, 0.028527}, - {-0.629890, -1.011632}, {-0.523735, 0.451983}, {0.226956, -0.663835}, - {-0.709942, 0.411619}, {-0.862071, -0.723057}, {-0.430194, 0.705340}, - {0.489380, -0.913195}, {-0.913531, -0.125404}, {0.580276, -0.084090}, - {-0.795566, 0.423792}, {0.195894, -0.952419}, {0.206701, 0.058895}, - {0.343643, 0.988757}, {0.111858, 1.155224}, {-0.402678, 0.396630}, - {-0.085481, 1.087237}, {-0.626447, 0.384020}, {-1.545255, 1.402500}, - {-0.382681, 1.101254}, {-0.570465, -0.881833}, {-0.067170, 0.447168}, - {-0.402078, -0.107883}, {-0.063022, 1.237664}, {0.357641, -0.210884}, - {0.173106, 1.169455}, {0.371232, -0.555801}, {0.426061, 1.683925}, - {-0.862561, 0.481593}, {-1.295345, 0.677131}, {0.882575, -0.080920}, - {1.076227, 0.081224}, {0.217811, 0.806447}, {0.642645, -0.244275}, - {-0.137093, -0.322132}, {0.246084, -0.089603}, {0.827582, -0.845716}, - {0.373640, -0.242160}, {-1.221390, 0.390996}, {-0.147700, 0.855458}, - {-0.301463, -0.077718}, {-0.477683, -1.468176}, {-0.708449, 0.284200}, - {0.341767, 1.177536}, {0.073596, -0.373099}, {-0.418003, 0.011618}, - {0.659790, 0.501637}, {0.517335, -0.383893}, {-0.504534, 0.584654}, - {-0.700111, -0.051171}, {0.235161, -1.457844}, {0.447664, -0.556099}, - {0.669581, 1.662563}, {0.635083, -0.024530}, {-0.426292, -0.598758}, - {0.380072, -1.112453}, {-0.081336, 0.145480}, {-0.907122, 0.871629}, - {0.131628, 1.573776}, {-0.384249, 0.507013}, {-0.799491, 0.657805}, - {-0.243014, 0.812674}, {-0.280861, -1.138266}, {0.252573, -0.763178}, - {-0.829438, 0.152104}, {0.238524, -0.277766}, {2.523618, -0.842357}, - {-0.699246, -0.801106}, {1.166441, 0.831885}, {0.413058, 0.094339}, - {-0.446019, 0.307323}, {-0.725646, -0.489846}, {-0.253605, -1.246224}, - {0.912358, -0.556724}, {1.278255, 0.012615}, {-0.078776, -1.194235}, - {-0.366774, -2.136559}, {0.776158, 0.034121}, {0.124952, 0.735158}, - {0.495498, -0.287894}, {0.645361, 0.435278}, {-0.027172, -0.196745}, - {-0.091825, 0.181205}, {-0.449690, 0.202206}, {0.615196, -0.763464}, - {0.006443, -0.808811}, {-0.778937, -0.464757}, {-0.661201, -0.076723}, - {0.142220, 0.639184}, {0.043606, 0.256401}, {1.185320, 0.179074}, - {0.964460, 1.638016}, {-0.439314, -1.027129}, {-0.974713, -0.701040}, - {0.626450, 1.670174}, {0.849683, 0.000633}, {-0.758821, 0.643905}, - {0.533524, -0.276729}, {-0.287200, 0.229033}, {0.976720, 0.691516}, - {0.413251, -0.414654}, {-0.105930, 0.582164}, {1.083972, 0.127931}, - {-0.008602, 0.396564}, {-1.014633, -0.766216}, {-0.567769, -0.603326}, - {-0.671345, -0.870915}, {-0.436383, 0.159432}, {0.789563, -1.405331}, - {-0.012052, 0.291490}, {-1.064900, 0.499255}, {1.857613, 0.173601}, - {-0.166943, -0.593651}, {0.813628, 0.624637}, {-0.792895, -0.334087}, - {-0.371264, -1.463375}, {0.232055, 1.514775}, {-0.480078, -0.932215}, - {0.493973, 0.190971}, {0.477380, 0.232577}, {0.240390, -0.359935}, - {0.082890, -0.564972}, {0.142401, 0.071885}, {0.415193, -0.076906}, - {1.294283, 0.031845}, {0.184350, 0.522837}, {-0.985097, 0.515890}, - {-0.321414, 0.266318}, {-0.040275, -1.090636}, {1.454251, -0.464461}, - {-1.341400, -0.556900}, {1.112672, -1.294695}, {0.684248, -0.569627}, - {0.110519, 1.620119}, {-0.074092, -1.501786}, {0.836840, 0.582174}, - {-0.312866, -0.163083}, {-0.348387, 0.846036}, {-0.401781, -0.683929}, - {-0.477886, 0.419644}, {0.380085, 1.371967}, {-0.151815, -1.437845}, - {0.362655, 1.699131}, {-0.285574, -0.328342}, {-0.373046, 0.552420}, - {0.524496, -0.274919}, {0.162426, -0.591347}, {0.247988, -1.248758}, - {0.179873, -0.495477}, {0.332481, 0.187029}, {-0.680053, -0.795562}, - {-0.297790, -1.228507}, {0.433604, 0.362610}, {-0.912981, -0.317793}, - {0.356607, -0.401878}, {-0.457215, 1.277897}, {0.423863, -0.907331}, - {1.369555, 0.294154}, {-0.558227, -0.787342}, {-0.700928, -0.002200}, - {0.475999, 0.053324}, {0.759515, -0.511097}, {-0.214352, -1.108068}, - {-0.823262, 0.181915}, {-1.481847, -0.145536}, {-0.838811, -0.827068}, - {-0.354237, -0.929419}, {-0.003615, 0.497626}, {1.165999, 0.676843}, - {0.626492, 0.510292}, {0.158529, 0.168647}, {1.189623, 0.008902}, - {0.281004, -1.174505}, {0.610236, -0.754183}, {-0.669239, 0.615970}, - {0.300373, -0.608739}, {1.205115, -0.072012}, {0.272992, -0.140035}, - {-0.478646, -0.534863}, {-1.353538, 0.265825}, {-0.199615, -1.529628}, - {-0.219052, 1.418831}, {-0.138797, 0.344504}, {0.170086, -0.026321}, - {-0.196733, 0.535114}, {-1.033414, -0.221792}, {0.028438, 0.044914}, - {-0.884678, 0.622154}, {0.822835, -2.043658}, {0.344915, -1.053158}, - {-0.644134, -0.574558}, {-1.332407, 0.519250}, {0.036381, 0.475286}, - {-0.303382, 0.982412}, {-0.353411, 0.250417}, {0.139548, -0.642938}, - {1.414632, -0.370112}, {0.532912, -0.264381}, {0.342811, 0.344477}, - {0.501145, -0.288626}, {0.311541, 0.560236}, {-0.413902, -0.733376}, - {0.591928, -0.533218}, {-0.311692, -0.614243}, {0.357470, -1.610867}, - {-0.400828, -0.474021}, {0.291392, 1.248851}, {0.016993, -0.633725}, - {-0.525249, 0.450546}, {0.801819, 1.070688}, {-1.296271, -0.616623}, - {-0.393605, -0.448016}, {-0.165781, 0.199731}, {-0.066457, 0.457058}, - {0.245912, 0.367495}, {-0.614678, 0.338112}, {0.424687, -0.042103}, - {-0.016281, 0.164701}, {-0.388587, -0.005404}, {-0.616791, 0.044666}, - {0.164994, -0.591148}, {1.130053, 0.244749}, {-0.764096, -0.677907}, - {0.001894, 0.070851}, {0.970162, -0.004036}, {0.294438, -0.848449}, - {-0.085147, -1.038641}, {0.146574, -1.020098}, {0.731212, 1.172352}, - {-0.966413, 0.010182}, {0.022011, 0.098571}, {-0.062500, 0.809517}, - {0.613554, 0.896113}, {-1.702897, -0.428981}, {-0.295817, -0.095047}, - {0.363999, 1.299666}, {-0.185637, 0.710197}, {0.667850, -0.579586}, - {-0.091486, -1.745092}, {0.278540, -0.322231}, {-1.393286, 0.017571}, - {-0.909896, -0.550217}, {-0.227978, -0.287231}, {-0.041531, -0.572542}, - {0.598923, -1.109982}, {0.528515, 0.294793}, {1.420346, -0.167967}, - {0.339044, -0.296742}, {-0.427926, -0.195084}, {2.320888, -0.602119}, - {0.316394, -0.195310}, {0.392226, -0.018758}, {-0.347128, -0.012198}, - {0.885682, 0.291685}, {0.694113, -0.213884}, {1.098109, 0.434729}, - {0.126689, 0.353735}, {-0.540018, -0.289525}, {-0.878448, 1.391600}, - {-0.019977, 0.206745}, {0.873189, -0.483586}, {0.121439, -0.209070}, - {0.648235, -0.185503}, {-0.009043, -0.764272}, {0.372579, 0.872373}, - {0.472101, -0.192603}, {-0.407035, -0.893065}, {-1.367142, -0.975043}, - {0.746200, -0.328607}, {0.388173, -1.625638}, {0.884013, -0.528696}, - {0.705324, 0.779519}, {0.408395, -0.377831}, {1.083901, 0.395567}, - {0.781733, -0.146787}, {-0.068884, -0.865584}, {0.156537, 0.742738}, - {0.113212, 0.987732}, {1.521997, 0.329659}, {-0.192594, -0.352522}, - {-0.976653, 0.187491}, {0.817131, 0.071363}, {0.699118, 0.409109}, - {-0.297057, -0.940273}, {-0.936432, -1.106289}, {0.626260, -0.241420}, - {-0.260488, 0.166791}, {0.701135, -1.061037}, {-0.554144, -1.046121}, - {0.513165, 0.663304}, {-0.011168, 0.147376}, {0.037910, 1.201414}, - {0.140816, 1.384849}, {-0.242984, -1.207828}, {-0.107482, 0.575915}, - {0.451083, 0.174602}, {0.269525, -0.536069}, {0.211411, -0.104573}, - {-0.204415, -0.512769}, {0.628925, -0.352539}, {1.033395, 0.036681}, - {-0.675614, -0.143876}, {-0.621722, -0.934906}, {0.211877, -0.248810}, - {-0.352170, 0.551980}, {-1.116948, 0.321283}, {-0.826697, 1.581404}, - {-0.195648, 0.310111}, {-0.938570, -0.616930}, {-0.451007, 0.525622}, - {-0.120274, 0.851907}, {0.045607, -0.373985}, {-0.214821, 0.266194}, - {0.171364, -0.008571}, {0.301965, -0.705054}, {-1.165181, -0.235733}, - {-0.650434, -0.274030}, {0.122090, 0.561616}, {0.435428, -0.782393}, - {-0.004740, -0.125884}, {-0.321219, -0.415579}, {-1.199688, 0.284728}, - {-0.533240, 0.015463}, {0.304348, -0.073971}, {-0.733804, -0.444715}, - {-0.725423, 0.204256}, {0.604231, -0.689961}, {-0.756920, -0.218757}, - {0.956018, 0.954204}, {0.169414, -0.152566}, {0.481613, -0.565409}, - {0.371303, 0.288803}, {-0.794294, -1.147211}, {-1.706341, 0.716376}, - {-0.627696, 0.291968}, {-0.121333, -1.001299}, {0.550558, -0.282856}, - {-0.349733, -0.561486}, {0.578835, 0.339123}, {0.420234, -0.741495}, - {0.144577, 0.277881}, {0.031130, -0.728796}, {-0.564058, 1.498556}, - {1.015670, 0.422366}, {-0.063266, 0.346276}, {0.551090, -1.963699}, - {0.934465, -0.385555}, {0.422983, 1.159449}, {0.101278, -1.667219}, - {-0.308766, 0.332842}, {0.150898, -0.097385}, {-0.862758, -1.060237}, - {-0.687885, -1.141096}, {-0.862829, -0.505841}, {0.558943, -0.778417}, - {0.549535, -0.363780}, {0.072778, 0.637066}, {0.286029, 0.322126}, - {0.330171, -0.854661}, {-1.348837, -0.420251}, {-0.198428, -0.371513}, - {-0.525214, 0.301414}, {-0.667387, 0.022208}, {-0.574674, 0.529466}, - {2.371918, -0.496606}, {0.257499, -0.783288}, {0.156324, 0.286932}, - {0.087484, 0.531503}, {0.093291, 0.317147}, {-0.427160, -2.024729}, - {-0.044421, 1.046526}, {0.978931, 0.464268}, {-1.373383, -0.073722}, - {-2.321501, -0.976402}, {0.683655, 0.655822}, {0.352602, -0.192715}, - {0.339613, 0.269168}, {-0.472547, -1.432907}, {-0.231035, 0.019309}, - {-0.094858, 1.060712}, {0.681354, -1.324615}, {0.864079, 0.416811}, - {-0.558628, 0.087251}, {-0.365315, 0.133957}, {0.107680, 2.348517}, - {0.198383, 1.253961}, {-1.268406, 0.952837}, {-0.992758, -0.560084}, - {0.672959, 0.572037}, {-0.449041, 1.977002}, {0.522614, 0.339234}, - {0.085229, -0.360501}, {0.640099, 0.726865}, {-0.091502, -0.015738}, - {-1.201696, 1.035130}, {-0.109550, -0.696829}, {1.168720, 1.005732}, - {-0.249323, 1.263522}, {0.724024, 0.109230}, {0.265328, 0.012693}, - {-0.842707, -1.113746}, {-1.256092, -0.822533}, {-0.075814, -0.052293}, - {-0.128797, -0.411582}, {-0.653104, -0.788771}, {0.939494, 0.157740}, - {1.072504, 0.885641}, {0.163190, 0.818505}, {0.706255, 0.687324}, - {0.384361, -0.313490}, {0.508228, -1.395336}, {0.359982, 0.352805}, - {-0.256236, 0.825832}, {0.029179, -0.324424}, {0.486841, 0.728258}, - {0.817556, 0.065814}, {1.494148, 0.828882}, {-0.050180, -0.893645}, - {-0.636544, -1.178485}, {-0.720967, 0.391549}, {-1.307682, 0.078339}, - {-0.605757, -0.944323}, {-0.731348, -0.094258}, {0.396463, 0.209925}, - {0.209509, -0.607296}, {0.119597, -0.249649}, {-0.200995, -0.099649}, - {-0.567400, -0.345251}, {-0.857138, 0.181769}, {-0.941646, -0.854838}, - {-1.128753, 0.837338}, {-0.657241, -0.759242}, {-0.188936, 0.670672}, - {-0.306598, -0.482202}, {0.912207, -0.517195}, {1.164901, -0.427966}, - {-0.009895, -1.020774}, {0.025765, 1.322707}, {0.150524, 1.732201}, - {-0.439267, -0.498603}, {-0.368177, 0.524348}, {-0.630978, -0.521041}, - {-0.231973, -0.184883}, {0.067075, 1.310441}, {-0.105442, 1.412885}, - {0.331006, -1.363233}, {0.791599, 0.084396}, {-0.890726, -1.246866}, - {-0.542651, -0.106851}, {0.107314, 0.092753}, {-0.732606, 0.153913}, - {-0.330158, 0.495539}, {0.489401, 1.064049}, {-0.417820, 1.261110}, - {-1.631694, -0.818434}, {-0.620724, -0.895058}, {0.426467, -1.064865}, - {0.467471, -0.278711}, {0.817514, -0.321221}, {0.096475, -0.494918}, - {0.152146, 0.351492}, {-0.498145, 1.133315}, {0.303055, -0.317239}, - {0.103959, 0.019469}, {0.092448, 0.918901}, {-0.993398, 0.147710}, - {-0.995629, 0.413023}, {1.220671, -1.202642}, {0.724379, 1.575400}, - {0.811431, 0.466068}, {0.499664, -0.880995}, {0.558109, 0.769554}, - {-0.702879, -1.050569}, {-0.353375, -0.936081}, {0.360053, -0.464839}, - {-0.779252, -0.780140}, {0.090785, -0.637723}, {-0.304972, 0.459278}, - {0.736270, -0.110646}, {-0.109772, 0.206927}, {-0.478619, -0.042280}, - {-0.876631, 0.510703}, {-0.906729, -0.217556}, {-1.537449, -0.267733}, - {-0.978123, -0.957757}, {-0.714696, 0.975507}, {0.812617, -0.332136}, - {-0.725724, -0.236311}, {-0.100842, 1.337503}, {0.080524, 1.176672}, - {0.771711, -0.341004}, {-0.423299, -0.455648}, {2.158161, -0.512129}, - {1.151039, -1.024555}, {0.642063, 0.018575}, {-1.054085, 0.401372}, - {-0.288785, 0.630494}, {0.347641, -0.610670}, {1.408482, 0.059692}, - {-0.379421, -0.208655}, {-0.483324, -0.878070}, {0.602104, -0.394601}, - {-0.004706, -0.642013}, {-0.358424, -0.253404}, {0.411569, -0.129959}, - {1.228551, 0.006102}, {0.531607, -0.018854}, {-1.380934, -0.627088}, - {0.547267, -0.039238}, {0.746745, 0.351671}, {0.303177, -0.387336}, - {-0.796387, -1.614076}, {0.464988, 0.970223}, {0.191287, 0.066696}, - {-0.220325, 0.790812}, {0.303741, 1.089789}, {0.448117, -0.011489}, - {0.419576, 0.169210}, {0.541446, -0.813073}, {-0.746604, -0.394798}, - {-0.535124, -0.399080}, {1.212820, 1.210170}, {-0.608420, 0.220226}, - {-1.418918, 1.368314}, {0.931166, 0.677711}, {0.682432, -0.895030}, - {-0.693349, 0.261801}, {0.258131, -2.168849}, {0.867516, 0.563051}, - {-0.096511, -0.462814}, {-0.689393, -0.230999}, {-0.369812, 0.249233}, - {0.046717, 0.954072}, {-0.032594, 0.551930}, {-0.766079, -0.071566}, - {0.793508, -0.748283}, {0.241679, 0.608403}, {0.498824, 0.196015}, - {0.386018, -0.774475}, {-0.291054, -0.131220}, {-0.436014, 0.049768}, - {-0.006478, 0.331976}, {-1.126995, 0.403371}, {0.674118, -1.006190}, - {0.727574, -0.631312}, {0.115880, 0.143336}, {-0.181566, 0.695052}, - {-0.233203, -0.086295}, {0.112809, -0.045588}, {0.543264, 0.808170}, - {-0.581874, -0.471845}, {0.340867, -0.485032}, {0.165312, 0.013926}, - {-0.162445, 0.725280}, {-0.499103, -1.248448}, {0.033577, 0.051456}, - {-1.045131, -0.235899}, {-1.110962, -0.102827}, {-0.274189, 1.259956}, - {-0.791826, 1.100141}, {0.324671, 0.829447}, {0.800825, -0.584404}, - {0.849667, -0.944107}, {0.288553, 0.174365}, {-0.215377, 1.086802}, - {0.392650, -0.010487}, {0.748435, -1.137606}, {0.034898, -0.302699}, - {0.636265, 0.119519}, {0.837150, -0.690876}, {-0.092518, 0.354308}, - {0.084607, -0.381048}, {0.970579, 0.659439}, {-0.564493, -0.616213}, - {-0.403944, -0.133496}, {1.350834, 0.527610}, {-0.742367, -0.805350}, - {0.624140, 0.366381}, {0.005646, -0.563460}, {0.268050, -1.292687}, - {0.547784, -0.463622}, {-0.659049, -0.130209}, {0.283018, 0.527990}, - {1.418480, 1.297302}, {0.488656, 0.974499}, {0.551555, -0.669995}, - {0.015860, -0.360077}, {0.438938, 1.527582}, {-0.729915, -1.304140}, - {0.025131, 0.002452}, {-1.484426, 0.708978}, {-0.804342, 0.051125}, - {0.990833, -0.309900}, {-0.023686, 0.762213}, {-0.617502, 0.277137}, - {-1.488232, 0.224413}, {-0.082550, 0.224711}, {0.610967, -0.436610}, - {-0.019999, 1.299875}, {-0.323230, 1.244962}, {-0.812947, 1.719798}, - {0.333300, -0.174474}, {0.115682, -1.155270}, {-0.695856, 0.388529}, - {-0.543434, -0.096509}, {-0.096049, 0.107245}, {-0.199971, 0.163067}, - {-0.067111, 0.395370}, {1.026571, -0.210498}, {-0.233456, 0.753581}, - {0.051242, -0.861376}, {0.567777, -0.613727}, {0.987200, -0.366176}, - {-0.409966, -0.600319}, {-0.021597, -0.362028}, {-0.285392, -1.023961}, - {0.324897, -0.397392}, {-0.592783, -1.366636}, {1.513069, 0.094527}, - {-0.044122, 0.361806}, {0.677076, -0.471443}, {-0.333290, 0.236344}, - {0.108895, -0.098454}, {0.103235, -0.195197}, {0.650796, -0.537053}, - {-0.131204, -0.326541}, {0.520322, 0.172370}, {0.210147, -0.555893}, - {-1.082301, -0.048132}, {-1.964090, -0.466588}, {0.328335, -0.553112}, - {0.708616, 0.426767}, {1.323439, -0.348617}, {0.360543, 0.545349}, - {-0.719946, -0.639191}, {0.592925, 0.790534}, {0.402184, -0.204855}, - {0.907703, -1.809146}, {-0.387200, 0.273777}, {-1.602303, 0.588109}, - {0.867147, 0.107290}, {0.824226, 0.764841}, {-0.538419, -0.797958}, - {0.814390, 0.065650}, {-1.453486, -0.528528}, {-0.672247, -0.514976}, - {-0.052375, 0.190079}, {-0.094941, 0.604553}, {0.088500, 0.393075}, - {0.195693, 0.876814}, {-0.184889, -1.487501}, {-0.270364, 0.104600}, - {0.102034, 0.660195}, {-0.091355, -0.465751}, {-0.135152, -0.520824}, - {-0.022116, -0.821371}, {0.570832, 0.492145}, {0.066106, 0.238053}, - {-0.184571, 0.890977}, {0.288094, -1.019289}, {-0.022496, -0.473805}, - {1.126320, 1.508352}, {-0.531990, 0.461793}, {-0.594808, 0.080021}, - {0.290982, -0.692523}, {-0.890167, 0.818541}, {-0.162518, 0.512516}, - {-0.062089, 0.662125}, {-0.469694, 0.836419}, {0.590828, -0.375129}, - {-1.549634, 1.352916}, {-0.257487, 0.526662}, {0.554513, -0.496139}, - {-0.489056, -1.265723}, {0.233948, -0.647727}, {0.333881, 0.673747}, - {0.721218, 0.641171}, {0.166479, 1.234207}, {0.251689, -0.854045}, - {0.503304, -0.772030}, {-0.397815, 1.070705}, {-0.454466, -0.093432}, - {0.509756, 0.581621}, {-0.636769, 0.173815}, {-0.434115, -0.379772}, - {0.360372, 0.416251}, {-0.816916, 0.336363}, {-0.481516, -0.148237}, - {-0.344201, 1.129372}, {-0.745381, -0.145303}, {-0.237741, -1.131222}, - {0.083772, -0.220665}, {0.519841, -0.090807}, {-0.074125, -0.928286}, - {-0.280099, -1.361722}, {-0.233499, -0.378497}, {0.373073, -1.241461}, - {-1.426124, 0.070811}, {-0.509544, 0.495983}, {0.099959, -0.668754}, - {0.270905, 1.556735}, {-0.390670, 0.537248}, {-0.058168, 0.187165}, - {-0.406095, -0.397041}, {0.121194, -0.343134}, {-0.451420, 0.715020}, - {-0.116938, -0.147192}, {-0.333465, 0.135991}, {-0.741996, -0.453454}, - {-0.481034, -0.484738}, {-0.782498, 0.231260}, {0.024518, 0.585927}, - {-0.450470, -0.353688}, {0.594174, -0.126300}, {-0.794772, 0.420486}, - {1.314513, -0.513466}, {-0.370453, 0.760489}, {0.150855, -0.339750}, - {-0.135993, -0.778609}, {-0.276600, -0.086547}, {0.113501, -0.451234}, - {0.807762, -0.310844}, {0.789981, 0.544938}, {-0.304444, 0.191596}, - {-1.155565, -0.682987}, {0.312056, 1.172277}, {0.148072, -0.646764}, - {-1.017788, 0.784066}, {0.908108, -2.113397}, {-0.647792, -0.940894}, - {-0.147613, 0.439221}, {-1.081613, 0.980868}, {0.632143, -0.374708}, - {-0.495802, -0.113519}, {-0.001556, 0.150950}, {-1.307628, -0.508955}, - {-0.300870, 0.315066}, {-1.083447, -0.140177}, {-0.100772, 0.376783}, - {-0.477322, 1.014067}, {-0.567785, -0.305888}, {-0.836664, 1.106455}, - {-0.015276, 0.006448}, {0.616278, 0.239966}, {0.030009, -1.107782}, - {-0.770995, -0.138155}, {-0.681094, -0.519193}, {-0.882058, -0.080711}, - {0.248760, -0.979030}, {0.000043, -0.366665}, {0.400810, -0.085567}, - {0.641021, -0.084098}, {0.533652, 0.288318}, {0.894862, -0.065116}, - {0.123370, 0.978511}, {-0.180674, 0.803822}, {0.728752, -0.234438}, - {-1.319526, 0.158393}, {-0.205442, -0.299613}, {-0.383721, -0.335137}, - {-1.028570, 0.223713}, {0.932332, -0.634004}, {0.157887, -0.980576}, - {0.889136, 0.047845}, {-0.087490, -1.077315}, {1.004223, -0.574276}, - {-0.563213, -0.079366}, {0.609176, 0.143015}, {1.007697, -0.230920}, - {-0.432129, -0.855668}, {-0.751450, -0.419138}, {-0.531787, 0.218861}, - {1.240797, 0.009179}, {0.098613, 1.024921}, {-0.418097, -0.610862}, - {0.638017, -0.556955}, {-0.882736, 0.678364}, {-0.101406, 0.188363}, - {0.575997, -0.320782}, {-0.184244, -0.946120}, {0.854262, 0.058870}, - {0.623265, 0.222449}, {0.026415, 0.979594}, {0.482302, 0.001502}, - {-0.278778, -0.147706}, {0.640003, 0.194414}, {0.438042, -0.226420}, - {0.136500, 0.092192}, {-0.202665, 0.686749}, {0.522478, 0.318777}, - {-0.913607, 0.461100}, {0.058242, -0.589196}, {-0.125264, 0.196658}, - {0.455045, 0.102476}, {-0.248191, -0.131455}, {-0.497535, 0.250805}, - {0.168700, 0.673232}, {0.711314, -0.106036}, {0.651818, -0.851557}, - {0.977553, -1.253093}, {0.286839, 1.317582}, {-0.371842, -1.093583}, - {-0.301749, 1.329315}, {-0.403959, -0.126875}, {-0.217582, 0.112597}, - {0.122512, -0.547045}, {0.538957, 1.455939}, {-0.051608, 0.121125}, - {-0.483043, 0.988090}, {0.497165, -0.191173}, {-0.703290, 0.550797}, - {0.658044, 0.757078}, {-0.412660, -0.052012}, {-0.252273, 0.092307}, - {-1.322972, 0.140665}, {-0.203724, 0.534689}, {0.116356, 0.483238}, - {0.554228, 1.157456}, {0.327654, 1.316895}, {0.250489, -1.294149}, - {0.982871, 0.689230}, {0.192154, -0.292214}, {-0.669868, -0.373672}, - {-1.188747, -0.038297}, {-1.090901, 0.731469}, {0.764236, -0.485868}, - {0.275150, 1.088652}, {0.976241, -0.963219}, {-0.581240, -1.282012}, - {0.320197, 0.407777}, {0.748587, 0.046703}, {0.467881, -0.329966}, - {-1.102496, 0.283212}, {1.062265, 1.008907}, {-0.606597, 0.619235}, - {-0.156865, -0.044052}, {-0.002704, -0.036497}, {0.706197, -0.423776}, - {-0.257156, 0.973133}, {0.487914, 1.074381}, {-0.885602, -1.777507}, - {-0.940260, 0.448708}, {0.932505, 0.236523}, {1.804253, 0.372704}, - {-1.578130, 0.083653}, {-0.626332, 1.026166}, {1.193807, -0.043563}, - {-0.505137, -1.317739}, {-0.508528, 0.107232}, {-0.487782, 0.645512}, - {-0.437935, -0.346208}, {0.632623, 1.393825}, {0.487853, 0.179346}, - {0.015868, 0.802943}, {-0.172107, -0.530354}, {-0.438663, 0.597939}, - {-0.523518, -0.769340}, {-0.309114, -0.877138}, {-0.805692, 0.319938}, - {0.980487, 0.415193}, {0.086533, -0.000662}, {0.083456, 0.469788}, - {2.350354, 0.199267}, {-1.117492, 1.031942}, {-1.874684, -1.438324}, - {-1.506923, -0.254100}, {-0.442244, -0.212173}, {0.622220, 0.078493}, - {0.442782, 0.738116}, {0.382808, 1.370781}, {-0.572913, -0.327280}, - {0.033002, -1.591756}, {-1.011466, -0.707980}, {-0.540779, -0.501728}, - {-0.430794, -0.139464}, {0.953393, -0.835771}, {-0.569549, -1.511300}, - {-1.023529, -1.226598}, {-0.030465, 0.795517}, {-0.123311, -0.051937}, - {-0.428708, -0.079562}, {-1.177091, 0.332774}, {-1.004645, -0.843150}, - {-0.038739, 1.507680}, {0.090651, 0.221051}, {0.109970, 0.073002}, - {1.310602, 0.693833}, {0.072228, 1.417407}, {-0.104879, 0.467846}, - {-1.441396, 0.816322}, {-0.151793, 0.678658}, {-0.096420, 0.855195}, - {0.430901, 1.154121}, {-0.250084, -0.013302}, {0.587835, 0.733677}, - {0.477520, -0.424982}, {-0.504096, -1.402798}, {-1.013512, 0.267668}, - {-0.363026, -0.005476}, {-0.718136, -0.118798}, {-0.446816, -0.602576}, - {-0.797358, -0.024473}, {0.633098, 0.624564}, {0.021270, 1.205089}, - {0.266963, 1.498017}, {-0.508527, 0.054780}, {-0.043710, 0.286613}, - {-0.142768, 0.551359}, {0.220664, -1.355083}, {0.521431, -0.476980}, - {0.141075, 0.083285}, {-0.059602, -0.756118}, {-0.451512, -0.258693}, - {-0.730176, 1.521289}, {-1.362482, 0.104512}, {0.270994, 0.327411}, - {-0.363492, -0.868879}, {0.672515, -0.270446}, {-1.342101, 0.237073}, - {0.508772, -0.377732}, {-0.713798, -0.466147}, {0.368961, 0.592551}, - {0.299261, 2.116040}, {-0.672263, -0.279814}, {-1.007523, 1.276007}, - {0.227684, -0.462034}, {0.387360, -0.328996}, {0.352344, 0.109850}, - {-0.554321, -0.079454}, {-1.105078, 0.393291}, {1.734659, 0.308959}, - {-0.308866, 0.349966}, {-0.493334, 1.891041}, {0.107295, -0.199193}, - {0.015633, 1.669639}, {-0.192819, 0.360563}, {1.300187, 0.043971}, - {-0.195297, -0.619241}, {-0.120101, -1.056832}, {-0.447948, -0.495157}, - {-0.326704, -0.483233}, {-1.035520, 1.157850}, {-0.498165, 1.806892}, - {-0.145448, 0.642467}, {-0.405584, 1.352826}, {-0.421562, 0.606142}, - {0.294387, 1.309778}, {-0.154054, 0.079388}, {0.536240, 0.173272}, - {-0.024006, 1.108828}, {0.874482, -1.013605}, {0.377186, -0.667107}, - {1.113183, 0.945097}, {-0.623475, -0.893737}, {-0.192779, -1.241070}, - {0.632202, 0.599329}, {-0.998820, -0.803084}, {1.383370, 0.376201}, - {-0.083581, 0.942494}, {-0.173566, -0.198364}, {0.074235, -0.314876}, - {-0.556586, 0.347212}, {0.490005, 0.416503}, {0.331992, -0.555958}, - {-0.691485, -0.331265}, {-0.796966, -0.358733}, {-0.252577, 0.543161}, - {-0.861375, 0.772953}, {0.133135, 1.007422}, {0.110358, -0.029927}, - {-1.330897, 0.730045}, {0.393907, 0.863772}, {-0.741439, 0.432644}, - {0.576414, -1.086511}, {-0.053779, 1.091841}, {0.727738, -0.274889}, - {-0.147372, 0.359935}, {-1.596102, 0.038969}, {0.002325, -0.748844}, - {1.142039, -0.398003}, {-0.334125, -0.639994}, {0.207807, 0.496680}, - {-0.364096, -0.594810}, {1.762264, 0.531826}, {-0.749354, 0.980400}, - {-1.280578, 1.031222}, {0.206510, 0.566433}, {-0.682051, -0.394535}, - {-0.551294, 1.174139}, {0.313715, -1.149243}, {0.656347, 0.386459}, - {0.735878, 0.178740}, {-0.293578, -0.287406}, {-0.179112, -0.387732}, - {0.213178, -0.962025}, {-0.344776, -0.181182}, {0.641578, -0.406269}, - {-1.401786, -0.171097}, {0.286238, -0.125231}, {0.252492, -0.547389}, - {0.120026, 0.720419}, {1.337138, 0.195949}, {-0.660370, 0.703330}, - {0.092159, -0.695855}, {-0.620594, 0.229351}, {1.055181, 0.111751}, - {1.006880, 0.293700}, {-0.093249, 0.555442}, {-0.399694, 0.811308}, - {-1.684486, -0.633970}, {0.080918, 0.511860}, {-0.439946, 0.019865}, - {-0.390984, -1.044203}, {-0.685936, -1.231559}, {-0.204744, -0.679722}, - {-0.859863, 0.460715}, {-0.246945, 0.401049}, {0.193542, 1.129638}, - {-0.255188, 0.214659}, {0.484590, -0.289803}, {0.830376, -1.338483}, - {-0.649905, -0.117391}, {-0.796076, -0.304220}, {0.353714, 0.110796}, - {1.064357, 0.203116}, {0.772181, 0.613989}, {-0.595196, 0.130421}, - {0.714852, -0.201961}, {-0.246157, 1.317799}, {-0.188331, 1.819959}, - {-0.255805, -0.742062}, {-0.138330, -0.228130}, {0.447635, 0.068326}, - {0.167371, 0.023899}, {0.541047, -0.398183}, {1.279247, -0.892511}, - {0.970960, -0.571617}, {0.064149, -0.440132}, {-0.091864, 0.479401}, - {-0.178907, -0.263349}, {-0.460228, 0.072292}, {-0.022178, 0.024037}, - {0.042415, 0.943316}, {-0.639441, 0.125048}, {0.773008, 1.096997}, - {0.127606, 0.363171}, {0.870742, -0.533857}, {-0.763648, 0.812840}, - {0.461366, 0.041432}, {-0.006986, -0.606103}, {0.535399, 0.207011}, - {-0.584722, -1.519249}, {0.121278, -0.207252}, {1.085226, -0.059229}, - {0.129751, 0.594549}, {-0.110785, 1.298075}, {-0.828154, 0.282231}, - {0.357325, 0.161702}, {-0.286592, 0.378964}, {0.132628, 0.276829}, - {-0.793980, 1.023088}, {-0.957162, 0.460617}, {-0.032594, -0.412238}, - {0.060784, 0.629413}, {1.100209, 0.447011}, {-0.198523, 0.062691}, - {-0.709541, 0.204258}, {0.020197, -1.320956}, {-0.215897, -1.623511}, - {0.748680, 0.160824}, {-0.504640, 0.232847}, {-0.269767, -0.738709}, - {0.392299, 0.153438}, {0.160576, -0.386143}, {0.357881, 0.613915}, - {-1.268598, -0.067517}, {-0.666996, 0.396000}, {-0.761129, -1.835104}, - {-0.128240, 0.064241}, {-0.200634, -0.545752}, {0.111993, 0.186523}, - {-0.162610, -0.333088}, {-0.548141, 0.520658}, {0.016143, -0.863869}, - {-0.569927, 1.339376}, {0.616225, -0.058848}, {-0.664092, -0.932852}, - {-0.309768, -0.158927}, {0.459254, 1.205541}, {-0.809099, -0.795062}, - {-0.182439, -0.025138}, {-0.916346, -0.341971}, {0.829546, -0.066365}, - {0.855095, -0.587404}, {-0.275741, 1.185855}, {-0.816888, 0.228774}, - {-1.253625, -0.671337}, {-0.336773, -0.885292}, {-1.419712, 0.386946}, - {0.256469, -0.112479}, {-0.195782, 0.897473}, {-0.448164, 0.230629}, - {-0.137292, -0.954298}, {0.044064, -1.420896}, {0.346739, -0.728567}, - {-0.486216, 0.932718}, {-0.234357, -0.424851}, {-0.893944, -1.580683}, - {0.224420, -0.109758}, {-0.525390, -0.659896}, {-0.082822, -1.111491}, - {-0.027127, 0.600399}, {0.417077, -0.941458}, {-0.672273, -0.776712}, - {-0.375658, -0.673124}, {-0.128259, 0.669274}, {0.274039, -0.162639}, - {0.531405, 0.328816}, {-0.173541, -0.344658}, {0.109632, -0.652172}, - {0.745372, -0.988494}, {0.323987, 0.395099}, {-0.220000, -0.137398}, - {0.004579, -0.872426}, {0.251476, -0.625225}, {1.333603, -0.551770}, - {0.081311, -0.544503}, {0.326594, -0.007595}, {-0.823281, 1.430717}, - {0.572531, 0.791617}, {0.063804, -0.438730}, {-0.804912, -0.338880}, - {0.533428, -0.017895}, {-2.355835, -0.084042}, {-0.020945, 0.576270}, - {-1.338558, 0.102208}, {-1.341976, 0.904601}, {0.494760, 0.485739}, - {-0.067460, 2.005861}, {-0.249791, 0.460139}, {0.735361, 0.697345}, - {-0.007071, -0.683978}, {0.116523, -0.146979}, {0.082917, -0.544381}, - {-0.183656, -0.015491}, {-0.125475, 0.097676}, {0.216174, 0.367420}, - {-0.825492, 0.033576}, {0.392395, 0.018111}, {-1.196534, -0.398387}, - {0.858381, -0.236375}, {0.427010, -0.140906}, {0.549912, 1.102720}, - {0.013097, -0.589424}, {-0.486318, -0.182311}, {0.597453, 0.811553}, - {-0.394496, 0.945556}, {0.194762, -0.392322}, {-0.245420, -1.255616}, - {0.591577, -0.107335}, {-0.065784, -1.591483}, {-0.463762, -0.160668}, - {-0.789821, -0.048679}, {-0.275537, 0.448439}, {1.110561, 1.009790}, - {0.527317, -1.005654}, {1.115740, -0.604145}, {-0.557221, 1.170167}, - {0.014607, -0.908701}, {0.869524, -0.104916}, {0.670785, -0.073642}, - {0.275557, -0.344125}, {-0.677464, 0.205771}, {1.468200, -2.040479}, - {-0.644867, -0.260612}, {-0.885294, -0.600743}, {-1.083463, 0.305217}, - {0.192783, 0.054288}, {-1.442832, -0.464161}, {-0.430593, 0.193934}, - {1.037362, -0.157372}, {0.396271, 0.148627}, {-0.590031, -0.536029}, - {-0.903929, -0.929530}, {0.502786, -0.088813}, {0.556812, 0.044700}, - {0.140136, -0.196190}, {0.247448, -0.454580}, {0.858752, 0.511401}, - {-0.226488, -0.387412}, {-0.588826, 0.225291}, {0.122682, -0.776759}, - {-0.494520, 0.407446}, {-0.991127, 0.502398}, {0.655983, -0.129177}, - {-1.425441, -0.191821}, {-1.341352, 0.064542}, {-1.072479, 1.113384}, - {0.041286, 2.051621}, {-0.242983, 0.516347}, {-0.237060, -1.113874}, - {-0.023272, 1.377334}, {-1.899043, 0.594030}, {0.467479, 1.264261}, - {0.663846, -0.112813}, {0.692125, -0.625121}, {-0.298478, -0.083012}, - {-0.964078, -0.081148}, {-0.470905, 0.411913}, {1.474979, -0.154895}, - {0.661302, -0.012302}, {-0.965442, 0.514810}, {0.318276, 0.457882}, - {-0.542257, -1.222535}, {0.062860, 0.023413}, {0.085049, 1.158655}, - {1.247453, -0.154635}, {0.178202, 0.204762}, {0.844883, 0.791503}, - {0.233726, -0.984440}, {0.164056, 0.642663}, {-0.322448, 0.327553}, - {-0.126490, 0.319918}, {-0.158159, -1.372744}, {1.298184, -0.764151}, - {0.018998, 0.522201}, {-0.962200, 0.169821}, {-0.176380, 1.186852}, - {-0.034894, 0.510674}, {0.098506, -0.900306}, {0.336179, -0.133751}, - {0.337938, 0.195812}, {0.012498, 0.889530}, {-0.625594, -0.298426}, - {0.694907, 0.251068}, {-0.113195, 0.672439}, {-0.753666, 0.051040}, - {0.141270, 0.049792}, {-0.067074, 0.245343}, {-1.587448, -1.120145}, - {0.136902, 0.397052}, {0.012719, 0.888125}, {-0.899053, -0.232361}, - {-0.572945, 0.118157}, {0.689248, -0.024022}, {-0.369033, 1.314103}, - {1.171046, -0.441653}, {0.148432, 0.000953}, {0.474619, 1.318479}, - {-0.789100, -0.189436}, {1.168206, -0.870973}, {-0.471363, 0.375174}, - {0.506161, -0.536559}, {1.423200, 0.042084}, {-0.929433, -1.633785}, - {-1.295439, 0.135491}, {-1.538034, -0.008372}, {-1.271645, -1.051796}, - {0.554905, -0.373024}, {-0.643509, -0.327706}, {-0.419714, 1.107479}, - {0.466287, -0.239969}, {-0.653212, 0.139871}, {-1.451830, -0.344354}, - {-0.907859, -0.216021}, {0.944616, 0.366605}, {0.059977, 0.109431}, - {1.031953, -1.164485}, {0.449597, -2.254492}, {-0.703591, -0.293462}, - {0.705176, 0.000026}, {0.129751, -0.129761}, {-0.500724, 0.070967}, - {0.708266, -0.279742}, {0.057621, -0.165775}, {-0.918908, 0.311085}, - {0.103258, 0.736145}, {0.327648, 0.004814}, {-0.462488, -1.311553}, - {-0.800705, -0.250875}, {0.725654, -0.503263}, {0.070847, 0.104229}, - {-0.617014, -0.723182}, {-1.389549, -0.393330}, {0.968007, -0.009708}, - {0.139527, 1.299372}, {0.248082, 0.601290}, {0.953040, -0.996260}, - {1.309783, -1.016336}, {-0.934166, 0.729653}, {-0.388471, 0.682112}, - {-0.240315, 0.888481}, {-1.098614, -0.034184}, {-0.421662, -0.755789}, - {0.307964, 0.867011}, {0.444477, 0.930219}, {1.603805, -0.402639}, - {-0.089754, 1.413485}, {0.230484, 0.488389}, {0.354216, 0.348765}, - {-0.322557, -0.563235}, {-0.185066, 0.795538}, {-0.550469, 0.168640}, - {-0.331680, -0.810292}, {-0.678005, -0.138885}, {0.888325, 0.259799}, - {-0.261157, 1.314246}, {-0.724085, 0.698159}, {-0.487339, 0.343089}, - {0.256545, 0.306148}, {1.087370, 1.360731}, {0.909221, 0.906951}, - {0.840193, 0.271044}, {-0.449186, -0.712406}, {-0.100897, -0.905420}, - {-1.281902, -0.335234}, {0.740303, 0.011500}, {0.899467, -0.124748}, - {0.536766, -0.366208}, {-0.643354, 0.691747}, {-0.261056, -0.256182}, - {0.272516, -0.258403}, {0.631447, -0.167719}, {-0.196437, -0.052842}, - {1.508024, -0.936465}, {-0.180365, -1.378710}, {-0.249668, 0.002152}, - {1.598053, 1.741993}, {-1.056432, 0.117693}, {0.515300, 1.069078}, - {-0.212007, -1.048830}, {0.335613, 0.489364}, {-0.796184, -1.069425}, - {0.083158, 0.697802}, {-1.235153, -0.772422}, {-0.357202, -0.012821}, - {-0.593893, -1.181373}, {0.050524, -0.401930}, {0.074720, 0.364095}, - {-0.079716, -1.693522}, {0.100870, -0.312204}, {0.947544, 0.242623}, - {-0.643159, -0.717020}, {0.224527, 0.733617}, {0.216476, 1.876947}, - {0.332304, -0.401619}, {1.189563, -1.382521}, {0.908890, -0.674780}, - {0.437119, -0.298161}, {-0.058059, -0.200793}, {0.362838, 0.619364}, - {0.117785, 0.015330}, {-1.151039, -0.121108}, {-0.542608, 0.263258}, - {-0.605341, 1.175677}, {-0.526847, 0.683678}, {-0.003684, -0.546691}, - {0.101077, -0.028945}, {-0.699619, 0.028653}, {-0.287565, 0.909150}, - {-0.003493, 0.475101}, {0.110908, -0.450847}, {0.822169, -0.268593}, - {-1.331173, 0.303365}, {0.354079, 1.195309}, {1.074010, -0.113039}, - {1.358327, 0.349989}, {0.328412, 0.126190}, {0.251235, 0.427830}, - {-0.681032, -0.654465}, {0.947471, -0.314890}, {-0.506438, 0.044035}, - {0.437633, -0.586149}, {0.108011, 0.609608}, {-0.313954, 0.566877}, - {-0.057536, -1.682225}, {0.588066, 0.182714}, {1.063758, -0.640294}, - {0.843978, -0.415465}, {1.201541, 1.527708}, {-0.299630, -0.584595}, - {0.591297, 0.504796}, {-0.056764, -0.947796}, {-0.517348, -0.289759}, - {-0.288464, 0.617447}, {0.348633, -1.043987}, {0.054553, -0.520532}, - {-0.090965, -0.147650}, {0.086384, -0.577068}, {-0.102547, -1.253433}, - {0.635189, 0.519118}, {-0.720591, -1.495902}, {0.080849, 0.205010}, - {0.751958, -0.190846}, {-0.538937, -0.320929}, {-0.612417, 0.554560}, - {-0.851261, 0.869392}, {1.198195, -0.529736}, {0.057548, -0.579206}, - {-1.025654, -0.151350}, {0.303841, -0.211254}, {0.446343, -1.552067}, - {0.315397, -0.808794}, {-0.063785, 0.774825}, {0.783816, -0.157279}, - {-0.693511, 0.332481}, {-0.234900, 0.528764}, {0.596556, 0.333542}, - {1.373749, -0.817280}, {-0.295436, -0.145692}, {0.006813, 0.157722}, - {0.516578, -0.790212}, {0.478924, -0.959898}, {0.370258, 0.489034}, - {0.713319, -0.586588}, {0.332856, 0.078227}, {-0.425185, -0.677807}, - {-0.149519, 0.199877}, {1.263811, -0.509766}, {0.233085, -0.479083}, - {0.856984, 0.232124}, {-0.398816, 0.118417}, {0.725782, 0.573860}, - {-0.423177, -0.195038}, {0.479589, -0.152071}, {-0.606474, 1.399722}, - {-2.041557, 0.729519}, {-0.617790, -0.668932}, {0.137657, -1.422402}, - {-0.786831, -0.619224}, {-0.149759, -0.165667}, {0.190154, 0.929670}, - {-0.287768, 1.169585}, {1.061637, 0.067450}, {-0.140288, -0.424489}, - {0.785589, -0.241400}, {-0.992917, 0.456275}, {0.543095, -0.526169}, - {0.262447, 0.354750}, {0.115837, -1.383394}, {-0.765803, -0.645191}, - {0.382408, -0.004403}, {0.124288, -0.280736}, {1.156532, 0.881587}, - {1.088618, 0.321389}, {-2.279889, -0.488846}, {-1.135730, 0.591114}, - {-1.093988, -0.708227}, {-0.153356, 0.947910}, {0.191071, -0.367728}, - {0.332287, 0.126137}, {-0.150579, -0.128056}, {-0.515071, 1.279206}, - {-0.471647, 0.450751}, {-0.177599, 0.084528}, {0.405248, -1.192993}, - {-1.199598, -1.871218}, {-1.009935, 0.125214}, {0.860742, -0.062698}, - {-0.657040, -1.041627}, {0.026116, -0.059837}, {-1.346135, 1.113968}, - {-0.624805, 0.301187}, {0.274945, 0.937253}, {0.478006, 0.733921}, - {-0.612665, -0.715399}, {-0.016013, 0.268927}, {0.319591, 0.208865}, - {1.344190, -0.216045}, {0.130151, 1.142744}, {0.172902, -0.626551}, - {-1.349281, -0.008253}, {0.621623, 0.463895}, {0.184316, 0.698054}, - {-0.585348, -1.744754}, {0.109077, 0.127077}, {0.216486, 0.290303}, - {0.785660, 0.927775}, {0.384514, -0.692532}, {0.727702, -0.034449}, - {-0.057908, 0.127263}, {0.271526, 0.524594}, {-0.858654, -0.086733}, - {0.464001, 0.064140}, {0.227926, 1.431933}, {0.138844, 0.005704}, - {0.141627, -0.127211}, {-1.003825, 0.034579}, {-0.388278, 0.179387}, - {0.158985, 0.905558}, {-1.242335, 0.519667}, {-0.047141, 0.947802}, - {0.336262, -1.612058}, {0.614542, -0.464413}, {0.982166, -1.628173}, - {-0.870128, -0.651271}, {0.486409, 0.436105}, {0.108930, 1.638884}, - {-0.021817, -0.425794}, {0.039699, -0.387185}, {-1.225415, -0.377385}, - {0.391090, -0.505627}, {0.651504, -0.883661}, {-0.276837, 0.691315}, - {0.383239, 0.054891}, {0.297223, -0.197196}, {1.388005, -0.270560}, - {-1.400360, 0.278525}, {-2.093290, 0.098416}, {0.610011, 1.401331}, - {-0.945061, -0.541204}, {0.412258, -1.330328}, {0.173694, -1.109422}, - {-0.159121, -1.744757}, {0.285345, 1.096001}, {0.128427, -0.244146}, - {0.067905, -0.156659}, {-1.018499, -0.578789}, {0.505971, 0.765807}, - {1.015914, 0.376986}, {0.790707, -1.646495}, {0.487164, -0.607104}, - {-0.697297, -0.367804}, {-0.565402, 0.674289}, {1.188518, 0.712744}, - {-0.592933, -0.373505}, {-0.203660, 1.226443}, {-0.098045, -0.097690}, - {0.433178, -1.020054}, {-0.430052, -0.776739}, {0.324026, -0.937248}, - {0.701878, -0.493328}, {0.230826, 0.826293}, {0.004731, 0.068967}, - {-0.498959, 0.400514}, {-0.513084, -1.025155}, {0.421206, -1.417798}, - {-0.981820, -0.435834}, {0.506125, 0.020348}, {-0.235266, -0.135010}, - {0.838326, -0.650392}, {-0.396983, -0.682428}, {0.182128, 0.408830}, - {0.727117, -0.622519}, {-0.068542, 0.310867}, {0.442916, 0.767343}, - {0.044007, -1.159112}, {0.493622, -0.162111}, {0.380900, -1.503298}, - {0.423037, 0.548507}, {-1.568571, 0.528272}, {0.547764, -0.029898}, - {-0.356876, 0.578955}, {0.515241, 0.565923}, {0.167784, 1.612647}, - {0.169705, 0.087695}, {1.177100, 0.004351}, {-0.689952, 0.053029}, - {0.154453, 1.419159}, {-0.546385, 1.058132}, {0.021626, -0.754253}, - {0.741607, -0.361204}, {-0.057849, 0.999592}, {-0.015000, 1.519017}, - {-0.384562, 0.938159}, {1.000041, 1.295279}, {-1.069485, -0.177887}, - {-0.656125, -0.402525}, {-0.338546, 0.308619}, {-0.201887, 0.631236}, - {-0.576348, -1.438422}, {0.094374, -0.332953}, {1.717504, 0.411315}, - {-0.139432, 0.242414}, {1.030451, -0.541582}, {-0.132491, 0.928665}, - {-0.929343, 0.330223}, {0.212063, -0.999967}, {-1.546734, 1.473279}, - {0.895231, -0.122118}, {-0.024873, 0.397475}, {-0.471758, 0.171216}, - {-0.384773, 0.411799}, {1.604132, 0.192566}, {-0.352284, -1.692873}, - {-0.127207, -0.166561}, {-0.087210, -0.289254}, {0.069733, 0.733600}, - {-0.481091, -0.748068}, {0.025913, -0.282440}, {0.385995, -0.269872}, - {0.807898, 0.547847}, {0.920522, -0.253019}, {0.590344, 0.287209}, - {-0.264166, -1.420356}, {0.741891, -0.453230}, {-0.005511, -0.334318}, - {0.584215, -0.105380}, {1.235921, 0.737084}, {0.073373, 0.196251}, - {0.050188, 0.318437}, {0.326590, 0.608379}, {-0.322564, 0.284616}, - {-0.646108, -0.359319}, {0.322070, 0.143369}, {-0.863728, -0.775195}, - {0.831176, 0.342701}, {0.032958, -0.098237}, {0.571168, -0.012336}, - {0.182689, 0.790901}, {-0.425154, -0.855671}, {-0.898454, 0.187687}, - {-0.526788, 0.506000}, {0.653615, 0.022943}, {-0.027712, 0.795147}, - {-0.439436, 0.442340}, {0.706258, -1.337857}, {0.478575, 0.834826}, - {-1.198496, -0.435258}, {-0.626551, -0.689605}, {0.463850, -1.046754}, - {0.616860, 0.015892}, {-0.036480, -0.180819}, {-0.850951, 0.360575}, - {-0.778725, 0.021580}, {-0.003573, 0.011854}, {0.901575, 1.139995}, - {-1.397778, -0.965160}, {0.828026, -0.382807}, {-0.014620, 0.930159}, - {-1.300195, -0.110779}, {0.749689, 0.981340}, {0.030482, 0.848674}, - {0.187375, -0.097744}, {0.209488, -0.196027}, {0.347616, -0.395632}, - {0.329045, 0.511381}, {1.124516, -0.961421}, {-0.221487, -0.120998}, - {-1.498910, 1.138313}, {-0.900081, 0.195057}, {0.353490, -0.370964}, - {0.461766, -0.958569}, {-0.156196, -1.009013}, {-0.303470, 0.211825}, - {0.970393, 0.376784}, {0.495209, 0.940894}, {-0.760660, -0.732722}, - {-0.277112, -0.555909}, {0.336774, -0.081721}, {-0.764784, 1.256559}, - {0.729786, 0.187455}, {-1.516521, -0.580250}, {-0.060807, 1.773198}, - {0.384536, -0.806667}, {-0.704657, -0.622280}, {-0.801176, 0.052175}, - {-0.590213, 1.990490}, {-0.177006, -0.136596}, {-0.043811, -1.299593}, - {-0.581471, 0.077527}, {0.234488, -0.891170}, {-0.346771, 1.199070}, - {0.082643, 1.293400}, {0.936822, 0.025082}, {-0.731120, -0.476702}, - {-0.934721, -0.022417}, {0.222389, 0.501521}, {-0.120435, 0.461318}, - {-0.065142, 0.306212}, {0.295570, -0.442311}, {0.993401, 0.404579}, - {-0.453363, 0.509552}, {0.282236, 0.306297}, {-0.536249, -0.901250}, - {-0.425114, 0.194843}, {-0.519253, 1.853919}, {-0.710138, 0.608713}, - {0.021883, -0.406892}, {-0.119297, 1.104563}, {-1.009286, 0.692377}, - {-1.312874, 0.446078}, {0.820048, 0.144155}, {0.594350, -0.518111}, - {0.445168, -0.296112}, {0.528797, 0.275437}, {-0.975129, 1.054113}, - {-0.141110, -0.278283}, {-1.108218, 0.758768}, {-0.720411, 0.105147}, - {0.012397, 0.377536}, {-0.600491, -0.143086}, {-0.953860, -0.409408}, - {0.207974, -0.533590}, {0.505393, -0.929868}, {0.693728, -0.168896}, - {1.295575, 0.330245}, {0.197670, -0.003298}, {-0.644899, -0.599500}, - {0.369732, -0.579213}, {-0.403831, -1.208236}, {0.102628, 0.417057}, - {0.225578, 1.013419}, {-0.251294, -0.004769}, {0.889491, 1.815880}, - {-1.038993, 0.521891}, {0.764166, -0.213457}, {-0.562020, -1.509213}, - {0.211293, -0.936981}, {-0.463538, 1.090030}, {-0.553620, -0.791400}, - {0.611880, -0.306484}, {0.044468, -0.166676}, {-0.023328, -1.778915}, - {-0.214294, -0.414020}, {-0.756939, -1.513298}, {0.250125, -0.882986}, - {1.120913, -0.169637}, {0.645831, -0.162204}, {1.177705, -0.888318}, - {0.363945, -0.029949}, {0.402238, -0.546777}, {-0.094455, -0.101378}, - {0.164174, 0.060548}, {-0.169991, -1.176339}, {-0.374419, -0.123020}, - {-0.914397, -0.405280}, {-0.853371, -0.380429}, {1.609595, 1.394657}, - {0.488861, 0.494798}, {0.158526, 0.345015}, {0.803121, 0.150331}, - {-0.081292, 0.181697}, {0.393064, -0.478711}, {0.279182, 0.092095}, - {0.430334, -0.073225}, {0.014806, 0.588098}, {0.913267, 0.970571}, - {0.646704, 0.609592}, {0.566444, 0.775254}, {-0.335177, 1.080688}, - {0.127562, 1.140199}, {0.165559, -0.264557}, {-1.069915, -0.891586}, - {0.507922, -0.743511}, {-0.734341, 1.039713}, {-0.738939, -0.058723}, - {0.759593, -1.014583}, {0.555667, -1.733928}, {-1.367914, -1.030299}, - {0.188542, -0.418601}, {0.793444, -0.741383}, {-0.040384, 0.198946}, - {1.361842, -0.048743}, {-0.225959, 0.500185}, {-0.613758, -0.930241}, - {-1.065079, -1.626019}, {-1.661331, 0.447628}, {-1.178209, -1.594785}, - {0.385772, 0.687990}, {0.320431, 0.326874}, {-0.209635, 0.241160}, - {-0.478316, -0.322029}, {-1.574782, 0.928755}, {-0.150281, 0.335387}, - {0.346979, 0.106675}, {-0.979085, -0.448834}, {-0.484871, -0.130679}, - {-0.882404, -0.284669}, {-0.135947, 1.428153}, {0.289974, 0.663804}, - {-0.832558, -0.786738}, {0.566306, 1.650858}, {-0.618622, -0.104784}, - {-0.597685, -0.212515}, {1.865293, 1.206891}, {0.617878, -0.378103}, - {-0.276038, 1.353459}, {0.879395, 0.084117}, {-0.648554, -0.500746}, - {0.603251, -0.759062}, {-1.056790, 0.769620}, {0.451470, -0.190342}, - {1.668428, -1.349133}, {-0.399983, -1.187873}, {-0.876715, 0.206248}, - {0.800569, -0.255028}, {0.108497, 1.535395}, {-0.321630, 0.307984}, - {-0.010085, -1.543582}, {0.733422, -0.807197}, {-0.527735, 0.361278}, - {0.546397, -0.913698}, {0.386942, -0.026931}, {-0.683948, 1.644054}, - {-0.713074, -0.760496}, {0.729880, 0.611484}, {-0.324111, -0.185442}, - {0.513507, 0.655970}, {0.973032, 0.708102}, {0.162839, -1.911128}, - {0.171333, 0.442628}, {0.793978, 0.363283}, {0.139764, -0.553196}, - {1.477350, 0.571024}, {0.046847, -0.083842}, {0.774276, 0.538647}, - {-1.232450, -0.279392}, {0.998783, 0.699271}, {-2.497752, 0.890340}, - {-0.686000, -0.489450}, {-0.622210, 0.728997}, {-0.896078, -0.269973}, - {0.254307, 0.947307}, {1.029120, 0.030115}, {-0.457637, 0.586413}, - {-0.570341, 0.796948}, {-0.326200, 0.703162}, {0.718013, -0.641897}, - {-0.347796, -0.117920}, {0.980266, -0.427121}, {0.715130, 0.436598}, - {-0.354809, -0.981161}, {0.609447, 0.117866}, {-1.117899, 1.185150}, - {-0.070233, 0.421426}, {0.362961, -0.220281}, {0.091918, -0.947668}, - {-0.918369, 0.893874}, {1.165251, 0.420864}, {1.432566, -0.178810}, - {-0.356868, -0.188257}, {-0.815491, -0.404427}, {-1.070312, -1.216305}, - {-0.318984, -0.583511}, {1.848678, 0.453940}, {-0.708129, 0.177312}, - {-0.893931, 1.710539}, {0.093921, 0.348349}, {1.105949, 0.999284}, - {0.967769, -0.721817}, {0.937282, 0.156570}, {1.436906, 1.511836}, - {0.508619, -0.010131}, {-0.069583, -0.309253}, {0.108287, 0.135978}, - {-0.739620, -0.139477}, {-0.651608, 1.778285}, {0.027295, -0.276027}, - {0.751467, 0.405693}, {-0.350001, 1.687277}, {0.358628, -0.135793}, - {1.669210, -0.094304}, {0.563354, 0.389800}, {-0.248111, -0.198466}, - {0.074279, -0.311566}, {0.205118, -0.722409}, {0.284728, 0.431713}, - {-0.299721, 0.775480}, {0.288778, 1.204617}, {-2.612038, 1.096907}, - {0.138972, 0.125366}, {0.298215, 0.304176}, {-0.193236, 1.529766}, - {0.485275, -0.982963}, {0.725341, -0.936405}, {-0.065237, 0.208370}, - {0.125534, -0.205573}, {-1.821296, 0.674082}, {-0.275038, 0.327760}, - {-0.727191, -1.227306}, {-0.865239, 0.939065}, {-0.803833, 1.620915}, - {-0.842433, -1.108209}, {-0.401148, -0.736410}, {-0.115040, -1.629236}, - {-2.049102, -0.888722}, {0.563586, -1.881832}, {0.500135, 0.870559}, - {-0.623029, -1.087557}, {0.560799, -0.777685}, {-0.023666, -0.920057}, - {0.514122, -0.387123}, {0.330311, -0.267867}, {0.141501, -0.770913}, - {0.895122, 1.295559}, {0.235886, -0.142025}, {-1.600266, 1.392146}, - {0.062394, -0.199017}, {0.105093, 0.847228}, {-0.004692, -0.611023}, - {-1.105202, -0.676440}, {-0.803199, 0.080607}, {1.068037, -1.432548}, - {-0.073955, 0.534296}, {-1.544967, -0.292418}, {-0.018596, 0.600587}, - {0.693918, 0.111383}, {0.875333, 0.538827}, {0.810163, 0.603066}, - {-0.991128, 0.633334}, {1.410649, -0.273373}, {-1.402586, 0.048299}, - {-0.476167, -0.040214}, {1.133741, 0.893093}, {-1.976746, 0.495152}, - {-0.762297, -0.434453}, {-0.407391, 0.458918}, {0.081289, -0.693117}, - {-0.901769, -0.566278}, {0.294244, 0.018293}, {-1.778410, 0.169995}, - {-0.065897, -0.565356}, {-0.067741, -0.386928}, {-0.042227, -0.470778}, - {-0.724262, -0.448146}, {0.799391, -0.353504}, {0.736085, -0.189575}, - {-0.170609, -0.001362}, {-0.876784, -0.416884}, {-1.194944, -1.159666}, - {0.378294, -0.050373}, {2.029991, 0.034750}, {0.488729, 0.272216}, - {0.100163, 0.084453}, {0.619746, 0.787200}, {1.516011, 0.190597}, - {0.242183, -0.282804}, {1.348479, 0.195434}, {1.574083, 0.044098}, - {-1.648078, 0.005385}, {-0.240798, 0.327597}, {-0.072394, -0.742375}, - {-0.357626, -0.537052}, {-1.019427, -1.502025}, {0.265137, 1.275985}, - {-1.408237, 0.487417}, {0.488564, 0.094077}, {0.538473, 0.089383}, - {0.822984, -0.041699}, {0.446649, 0.965423}, {0.425275, 0.258184}, - {0.293588, -0.009747}, {-1.901312, 0.094518}, {0.055270, 0.104028}, - {0.717610, -0.083141}, {-1.028907, 0.529666}, {0.276336, -1.707147}, - {0.518490, 0.271655}, {-0.157786, -0.735939}, {-0.642959, 0.105473}, - {-0.194654, 0.744489}, {1.057427, 0.578372}, {-0.078556, 0.535382}, - {0.275007, 0.425924}, {-1.493477, 0.323239}, {0.384662, -0.732389}, - {-0.458062, -0.246727}, {-0.009941, -0.256232}, {-0.431288, 0.694332}, - {1.237922, -0.196164}, {0.049717, -0.417202}, {-0.828197, 0.209999}, - {-1.328594, -0.698908}, {0.817510, 1.298454}, {0.021412, -0.376025}, - {0.656062, -0.479696}, {0.739794, -0.697219}, {0.359927, 0.330324}, - {0.490626, -1.394430}, {0.003006, -0.052538}, {0.188833, 0.728305}, - {-1.187172, 0.758908}, {-0.519732, -1.148840}, {-0.411235, -1.217214}, - {0.955021, -0.430176}, {-0.523480, -0.587903}, {-1.227340, 0.033012}, - {0.122805, -0.649916}, {0.990446, -0.160799}, {0.217109, 0.439570}, - {0.197974, -0.855599}, {-1.016884, -0.834066}, {-0.685161, 0.797699}, - {0.718871, 0.735908}, {-2.084638, -0.653982}, {0.229928, 0.252590}, - {0.876971, -1.135835}, {0.208727, -1.096199}, {0.189714, 0.324005}, - {0.559235, 0.891645}, {-0.337588, 1.226503}, {-0.633028, 1.304579}, - {0.352611, 0.118112}, {0.755508, -1.202909}, {-0.368064, 0.379022}, - {0.187482, 0.040502}, {-0.489215, -0.316624}, {-0.148897, 1.794500}, - {0.617933, 0.380534}, {0.724284, 0.929908}, {-0.101068, 0.829591}, - {0.239707, 0.830689}, {1.419880, -0.703233}, {0.428630, -0.738185}, - {0.188227, -0.067175}, {0.848946, -0.139604}, {1.358890, -0.759908}, - {-0.598246, -1.356423}, {0.708571, -0.747022}, {-1.307309, -1.158771}, - {1.114919, 0.003653}, {0.247448, 0.759891}, {0.629880, -0.013493}, - {0.581883, -0.841438}, {-0.348783, 0.559365}, {0.553004, 0.045767}, - {-0.689707, 0.334441}, {0.783204, 0.262356}, {1.422351, -0.205031}, - {2.033491, 0.619792}, {-0.663187, -0.541048}, {0.546304, 0.061896}, - {0.954720, 1.149216}, {-0.559310, 0.175198}, {1.274649, 1.348253}, - {-0.247850, -0.207347}, {1.742038, 1.103291}, {0.043844, -0.424239}, - {0.614981, -0.080676}, {-0.517806, 1.025811}, {0.801125, -0.606164}, - {0.473503, 0.520220}, {-0.308974, 0.331494}, {-1.295514, -0.646832}, - {-0.472990, -0.230161}, {0.174489, -0.366097}, {-0.118363, -0.163279}, - {-0.200880, -0.899742}, {0.998390, -0.199202}, {-0.622541, -0.695766}, - {0.669754, -0.206478}, {0.106122, 0.549600}, {0.591344, 0.214104}, - {0.488377, 0.644834}, {1.136572, 1.169122}, {0.323891, 0.444824}, - {-0.562209, -0.060314}, {0.213956, -1.280496}, {-0.321971, -1.103028}, - {0.672409, -0.083641}, {0.495207, 0.706465}, {-0.494982, 1.309929}, - {0.994709, -0.975631}, {0.059966, -0.007228}, {1.295286, 0.210362}, - {-1.155912, 0.093655}, {-0.270843, 0.470326}, {0.756844, 0.345241}, - {0.514597, 0.140073}, {-0.621769, 0.148131}, {0.357821, -0.203675}, - {-0.273598, -0.884954}, {-0.849266, -0.397208}, {-0.405585, -1.645132}, - {-0.010028, -0.355219}, {-0.143243, 0.535060}, {-0.489155, 0.541734}, - {-1.917934, 0.442072}, {1.120600, 0.609251}, {-0.806215, -0.431671}, - {1.317120, -1.219868}, {0.067240, 1.040216}, {-0.567193, -1.387665}, - {0.795042, 0.402961}, {-1.025794, -0.277941}, {0.649983, 1.281336}, - {-0.256848, 0.005927}, {0.607023, 0.715590}, {0.540951, -0.424004}, - {-0.353391, 1.289066}, {1.755964, -0.674437}, {-0.664991, -0.691634}, - {-0.096792, 0.422837}, {-1.167967, 0.555492}, {0.152719, -0.072909}, - {0.116643, 0.226822}, {-0.630662, -0.558520}, {0.414169, -0.530572}, - {0.717343, -0.343964}, {0.485011, -0.965124}, {0.132872, -1.176696}, - {-0.542650, -0.059320}, {-0.771646, -0.399126}, {-0.848580, 0.963529}, - {0.186147, 0.262803}, {0.352650, 0.664986}, {0.993840, 0.913475}, - {-0.484132, -0.800343}, {0.680518, 0.491133}, {-0.187661, 0.025441}, - {-0.647229, 0.234518}, {1.007825, -0.196186}, {0.956857, -1.015468}, - {-0.722691, -1.369092}, {0.254518, 0.088674}, {0.029979, -0.009861}, - {0.301615, 0.155056}, {0.039314, 0.343316}, {0.145456, 1.183385}, - {0.775872, 0.441937}, {-0.305562, -1.261231}, {-0.509677, -1.261546}, - {-0.452788, -0.152168}, {-0.024417, 0.566667}, {0.156338, 0.402470}, - {0.451700, -0.516105}, {0.517440, 0.675626}, {0.108431, 0.416795}, - {-0.764284, -0.532834}, {1.206985, 0.069426}, {-0.932342, 1.046480}, - {-0.777393, 0.052027}, {-1.092549, 0.033582}, {0.197445, -0.491148}, - {-0.411677, -0.336139}, {-0.037210, -0.926280}, {-0.708483, 0.693739}, - {0.664921, -1.385649}, {-1.353380, 1.021171}, {-0.241049, -0.683939}, - {-0.029907, 0.167199}, {-1.608903, -0.559216}, {-0.181052, 0.821785}, - {1.590072, -1.518116}, {1.057565, -0.689682}, {-1.281043, -0.980591}, - {0.304693, -1.080609}, {-0.240484, 0.707799}, {-0.768310, -0.067520}, - {0.843861, -0.009503}, {0.807601, -0.431015}, {-0.512754, -0.550360}, - {1.284096, -1.260585}, {-0.922574, 0.298207}, {-0.393917, -0.519193}, - {0.127912, -0.984685}, {-0.144986, 0.035279}, {0.188536, 0.393360}, - {0.259745, -0.309148}, {-0.677779, -0.595934}, {-0.037591, -0.101627}, - {-0.309109, 0.365495}, {-0.102452, 1.566645}, {1.387901, -0.195166}, - {-0.446879, -0.526524}, {0.997398, -0.882687}, {0.031554, 0.124163}, - {-0.931075, 0.093264}, {0.482681, 1.855809}, {-0.010467, 0.925571}, - {0.169549, 0.122786}, {-0.090570, -0.028792}, {0.849088, -1.107529}, - {0.050598, 0.536702}, {-0.571372, 0.390521}, {0.337937, 0.089426}, - {-0.070935, -0.296006}, {-0.543102, -0.683296}, {-0.082528, 1.188412}, - {-0.075670, 0.684850}, {0.217929, 0.127319}, {0.244448, 0.690258}, - {-0.526178, 0.479326}, {-0.126780, 1.089720}, {0.456035, -0.008824}, - {-0.236651, 0.009875}, {-0.671016, -0.961407}, {0.700866, 0.834313}, - {-0.049151, 0.411310}, {0.069039, 0.176343}, {1.372698, 0.367522}, - {-0.107484, 0.090397}, {-1.242871, 0.580082}, {0.352131, 0.516255}, - {-0.409130, -0.283403}, {0.399885, -0.173183}, {-0.911535, -1.057501}, - {-0.134356, -0.571363}, {-0.200745, -0.714382}, {0.247331, -1.213185}, - {-0.183543, 0.319417}, {-0.359287, -0.789582}, {-0.258945, -0.568476}, - {0.371024, -0.265164}, {-0.075029, -1.608623}, {0.082652, 2.076230}, - {-1.223628, -1.586630}, {0.405567, 0.823574}, {0.054968, 0.521170}, - {-1.478086, 0.062628}, {0.111418, -0.029518}, {-1.266318, 0.854860}, - {0.944464, -0.835138}, {0.460958, 0.185149}, {-0.058453, 0.047748}, - {0.078237, -0.159788}, {0.734696, 0.268869}, {0.027735, -1.024541}, - {0.228605, -1.028311}, {-0.264515, 0.187069}, {0.016598, 0.390539}, - {0.080454, 0.084167}, {-0.373853, -0.258455}, {0.496835, -0.132385}, - {-1.257065, 0.046987}, {0.335159, 0.020590}, {0.466133, 0.439269}, - {0.014981, 1.110095}, {0.785194, 0.155149}, {-0.920996, -0.294657}, - {-0.108107, 0.667374}, {-0.074103, 0.487597}, {0.309323, 0.450575}, - {1.192132, 0.937428}, {-0.334944, -0.222933}, {0.412831, -1.114841}, - {0.239488, -0.354992}, {0.444740, -0.426829}, {-0.133782, 0.466919}, - {-0.488809, 0.609075}, {0.312304, -0.261759}, {-0.790404, -0.962166}, - {-0.274962, -0.943480}, {-0.063458, 0.313199}, {0.754376, -0.624958}, - {0.894785, 0.254635}, {-0.454480, -0.679299}, {-0.017854, -0.594485}, - {-0.423178, -0.160964}, {-0.458684, -0.155883}, {-0.663973, 0.506733}, - {0.541449, -0.654020}, {0.172654, 0.253066}, {1.021464, -0.901336}, - {0.111092, -0.491099}, {0.252050, -0.769468}, {-0.617856, 0.312547}, - {-0.409293, -1.120223}, {0.039604, -0.485376}, {-1.493487, 0.335907}, - {0.274749, 0.723980}, {-0.203481, -0.723032}, {-0.495656, -0.759281}, - {1.456744, -1.628369}, {-0.975111, 0.016837}, {-0.622091, 1.044867}, - {-0.434081, -0.462833}, {-0.315109, -0.189411}, {0.081910, -0.831801}, - {-0.414067, 0.096517}, {0.024855, -0.006315}, {-0.505820, 0.029401}, - {0.677997, -0.561131}, {1.161094, -0.385332}, {0.171413, -1.071286}, - {0.796474, 0.125143}, {0.737257, 0.495755}, {-0.760664, 0.609637}, - {0.050209, 0.872019}, {-0.779293, -0.049293}, {-0.084521, -0.987525}, - {0.836932, 0.679155}, {0.295252, -0.767659}, {-0.018792, 0.419797}, - {-1.163658, 0.443970}, {-0.266127, -0.327858}, {0.087685, -1.161947}, - {-0.369729, 0.762725}, {0.172665, -0.329469}, {0.330880, 0.749120}, - {-0.816435, -0.491657}, {0.111348, -1.505915}, {0.209077, 0.184622}, - {-2.342060, -0.110587}, {0.307412, 0.700396}, {0.113512, -0.465633}, - {-0.646155, 0.716656}, {-0.638825, -1.478782}, {0.450901, -0.035870}, - {0.035266, 1.827315}, {0.737470, -0.119507}, {-0.228202, 0.108246}, - {0.825314, 0.200114}, {0.487949, 0.471538}, {-0.357296, 0.391417}, - {0.180314, 0.346172}, {0.559934, 0.139351}, {-1.305116, 0.414318}, - {0.716210, 0.212909}, {-0.013896, 1.197851}, {-1.824869, -0.867501}, - {-0.515474, 0.050329}, {-0.414146, -0.076725}, {0.708817, -1.133978}, - {-0.639175, 0.428318}, {1.050038, 0.727185}, {-0.702393, 0.513455}, - {0.276582, 0.809652}, {0.077934, 0.198272}, {2.196177, 0.991960}, - {-0.440575, -1.385910}, {0.706450, -0.276282}, {-0.391529, 0.375718}, - {0.486569, -0.694199}, {-0.074971, -1.160590}, {0.662076, 0.018694}, - {0.336811, -0.550141}, {-0.387020, -0.397890}, {-0.096345, 0.269838}, - {-0.026117, -0.057475}, {0.158403, -0.187549}, {0.420344, -0.129844}, - {0.190663, -0.087482}, {-0.366855, 0.893119}, {-0.249219, 0.316325}, - {-0.117221, -0.587177}, {-1.294407, 1.470405}, {0.418475, -0.548199}, - {1.001920, -0.042350}, {-0.292716, -0.515533}, {-1.153163, 0.988116}, - {-0.289238, -0.720697}, {-0.106232, -1.124727}, {-0.965999, 0.865133}, - {-0.401036, 0.078021}, {-1.109930, -0.864017}, {0.297575, 0.865459}, - {0.995143, 0.682193}, {-0.599609, -1.702099}, {0.883933, -0.307388}, - {0.802376, -0.004978}, {-0.401257, 0.112706}, {0.384942, -1.000741}, - {-0.989461, 0.937746}, {0.964376, -0.361083}, {1.014743, -0.689544}, - {-1.640868, 0.131432}, {0.631133, -0.101351}, {0.185813, 0.273002}, - {-1.225259, -0.530792}, {1.054923, 0.095617}, {-0.207572, 0.807720}, - {0.950261, -0.272710}, {-0.842451, 1.027046}, {-0.948909, 0.464619}, - {-0.652197, -0.593345}, {0.386114, 0.647057}, {-0.348600, -0.148170}, - {0.035874, -0.075556}, {-0.566582, 0.252229}, {-1.150907, 0.142389}, - {-0.373560, 0.708924}, {0.179962, 0.177331}, {0.017741, 1.577087}, - {-0.489230, -0.574279}, {-0.239784, 0.779613}, {-0.897308, -0.203218}, - {0.925241, 0.527958}, {1.036630, 0.416062}, {0.888976, 0.209959}, - {0.455977, 0.361892}, {0.395073, 0.243300}, {0.499225, 0.860184}, - {1.188627, 0.506501}, {-0.358162, -0.525381}, {1.769127, -0.519498}, - {-0.973750, 0.263258}, {0.081556, -0.101205}, {1.293777, 0.240134}, - {0.128978, -1.442584}, {0.092528, -0.197125}, {-0.117172, -0.490877}, - {-0.946199, -0.606982}, {0.652803, -0.511129}, {0.043937, -0.032281}, - {0.284060, 0.005765}, {-0.734968, -1.145450}, {-0.025606, -0.626951}, - {-0.375895, 0.717175}, {0.438582, 0.918001}, {0.038609, -1.114450}, - {1.118108, 0.106149}, {1.272686, 0.846763}, {0.633646, -0.105666}, - {-0.205043, 0.210912}, {-0.334164, -0.085337}, {-0.206717, 0.894467}, - {-0.085313, 1.097756}, {-0.399149, -0.100234}, {-0.149590, 0.007444}, - {0.494023, -1.223272}, {-1.126557, -0.292829}, {1.506312, -0.733856}, - {0.129777, -0.464705}, {-0.430088, 0.615048}, {1.070713, 1.226466}, - {-0.500223, -0.890256}, {0.241018, -0.691634}, {-0.425803, -1.598684}, - {-0.349414, 0.668187}, {-0.759980, -1.039801}, {0.099818, 0.588593}, - {0.661566, -0.452644}, {-0.276551, -0.245314}, {0.062076, 0.738192}, - {-0.436350, -1.545334}, {-0.338107, 0.327650}, {-0.671510, -0.169933}, - {-0.250838, -0.394788}, {-0.716007, 0.057696}, {0.716020, 0.323465}, - {0.287767, -0.496472}, {-1.361017, -1.022037}, {-0.389014, -0.327876}, - {0.005581, 0.230345}, {1.057323, 0.344696}, {0.404404, 0.524537}, - {0.213022, 1.094306}, {-0.594658, -0.593064}, {-0.748241, 0.800080}, - {-0.115638, -0.166546}, {-0.107154, -0.697047}, {-0.458238, -0.452683}, - {-0.336989, -0.047009}, {-1.289175, 1.647780}, {0.150375, -0.407781}, - {0.597241, -0.547383}, {0.443295, 0.936489}, {0.590847, -0.187656}, - {-1.212900, 0.882074}, {0.484389, -0.686777}, {1.149782, -0.194390}, - {-1.172668, 0.032417}, {0.260298, -1.012974}, {-0.294107, -1.012750}, - {0.801182, 0.633359}, {0.239464, 0.241602}, {-0.881659, -1.163284}, - {0.489810, -0.463799}, {0.565567, 0.113305}, {-0.556349, -1.347072}, - {-1.062547, -0.931198}, {-0.738569, -0.353611}, {1.317955, -1.099776}, - {0.148693, -0.201014}, {0.133189, 0.681195}, {-0.120725, 0.135954}, - {0.109002, -0.457197}, {-0.694733, 0.709827}, {0.529587, 0.628810}, - {-1.078803, 0.606417}, {-0.135627, 1.108991}, {0.037637, -1.260746}, - {-1.080624, 1.191058}, {0.359973, 0.135705}, {0.232936, 0.269440}, - {0.002593, -0.783674}, {-0.069699, 1.212021}, {-0.664211, -0.740183}, - {0.165729, 0.041761}, {-0.317411, 0.070021}, {-0.172353, -0.428702}, - {0.332293, -0.774738}, {-0.917322, -0.820716}, {-0.058246, -0.746256}, - {0.477261, -0.232573}, {-0.644001, 0.166028}, {-0.429890, 0.847238}, - {-0.056154, -1.187696}, {-0.879377, -0.311314}, {-0.187718, -0.505879}, - {0.145068, 0.268477}, {0.344934, -0.459281}, {-0.892009, -0.676237}, - {-0.648511, -0.152063}, {0.285463, 0.019339}, {-0.020319, -0.901552}, - {-0.937522, 0.163649}, {-0.431348, -0.446665}, {-0.614010, -0.352647}, - {0.890186, -0.313942}, {0.187972, 0.408152}, {-0.040763, -0.587026}, - {-1.192632, -0.395902}, {-0.089341, 0.188121}, {-1.109439, 0.101585}, - {-1.721289, -1.011886}, {-0.451708, 0.401072}, {-0.878256, -0.235344}, - {0.572753, -0.329785}, {-1.136417, 1.039607}, {-0.433782, -0.120676}, - {0.567816, 0.084631}, {0.546969, -0.179829}, {0.225644, -0.412318}, - {0.171741, 0.816235}, {-1.141608, -0.629613}, {-0.537893, -0.566981}, - {0.734572, 1.390754}, {0.099797, -0.210714}, {-0.603835, -0.911116}, - {-0.919496, 0.154357}, {-0.200722, -0.585775}, {0.721968, 0.331313}, - {0.561601, 0.473508}, {0.550664, -0.258516}, {-0.237893, 0.651197}, - {-0.756266, 0.166779}, {-0.705900, 0.481691}, {-0.006736, 0.003238}, - {0.955769, 0.739538}, {-1.102150, -2.203276}, {-0.152229, -0.119703}, - {-0.498020, 0.338978}, {1.435975, 0.240195}, {0.009239, 2.011670}, - {0.176554, 0.774631}, {-0.793129, 0.211589}, {-0.072293, 0.240170}, - {0.881402, 0.528900}, {0.458104, 0.297768}, {1.425877, -0.725340}, - {-1.097623, -0.304087}, {-0.127377, -0.767495}, {-0.019548, 0.382421}, - {0.498701, 1.214140}, {0.443213, -0.118249}, {-0.071224, -0.014039}, - {0.630956, -1.420196}, {1.092859, -0.858199}, {0.601709, -0.454233}, - {0.061239, -0.833424}, {-0.018905, 0.604909}, {0.465324, -1.778430}, - {-0.755851, 0.803587}, {1.085178, -0.492003}, {0.820772, -0.064660}, - {0.125793, -1.132899}, {0.315742, -0.133927}, {0.890772, 0.347966}, - {0.509473, -0.904259}, {0.313390, -1.242697}, {-0.183140, -0.195672}, - {-0.664699, -0.149961}, {1.498274, -0.991017}, {-1.516974, -0.399403}, - {-0.916197, 0.142253}, {0.040795, -0.428170}, {-0.845305, 0.260543}, - {1.148172, 1.459513}, {-0.079861, 0.168896}, {0.687934, 0.865708}, - {-0.536824, 0.124210}, {-0.692623, -1.014247}, {-1.316924, -0.789046}, - {0.636503, -0.209795}, {0.552650, 0.090913}, {-0.033354, 0.150511}, - {1.249451, -0.206799}, {0.901957, -0.045704}, {-0.268462, 0.797655}, - {-0.295622, -0.834320}, {-0.623560, 0.392378}, {0.753139, -0.171098}, - {-0.315586, -0.093971}, {-0.171782, 0.310994}, {-0.584684, -1.313163}, - {0.305928, 1.064417}, {0.262624, -0.763970}, {-0.460683, -1.066815}, - {0.775057, 0.025142}, {-0.476420, 0.420022}, {-0.123804, -0.614338}, - {0.107369, -0.775216}, {1.000481, -0.185825}, {0.204721, 0.528385}, - {0.234913, 0.036659}, {-0.580442, 0.580949}, {1.199714, -0.639281}, - {-0.175095, -1.293234}, {0.211567, -1.011604}, {0.534241, 0.104124}, - {0.475270, 0.112080}, {-0.296861, 0.570522}, {-0.006516, -0.807378}, - {1.324154, 0.366234}, {0.385646, 0.663829}, {0.952289, -0.020348}, - {-0.107272, -0.904948}, {-0.430374, -0.791322}, {0.023816, 0.049091}, - {-0.739512, -0.394887}, {0.267303, 0.220767}, {0.585441, -0.615484}, - {-0.174586, -0.975560}, {-0.857831, 0.240895}, {-0.578808, 0.608267}, - {-0.618652, -0.737440}, {-1.703410, 1.076574}, {0.239973, -0.524723}, - {-0.877083, 0.885381}, {0.364504, -1.546471}, {0.843914, 1.160001}, - {1.150505, 1.071204}, {-0.370583, -0.153527}, {-0.146237, -1.166747}, - {1.580330, 0.835601}, {1.183807, -0.290036}, {0.408171, 0.697836}, - {-1.363711, 1.276123}, {0.003091, -0.751142}, {0.892821, 1.683361}, - {-0.181868, 0.148855}, {0.247007, -0.270453}, {-0.864199, -0.144221}, - {0.131680, -1.468996}, {1.015785, 0.628468}, {0.080450, -0.687172}, - {-0.209898, 0.096785}, {0.759138, -0.425614}, {-0.758907, -0.363425}, - {0.295546, -0.675126}, {0.137910, 0.585381}, {-0.615761, -0.004313}, - {0.900616, 0.336981}, {1.909880, -0.158311}, {-0.634418, -0.790108}, - {-0.475383, 0.335938}, {-0.438158, 1.008165}, {-0.066609, -0.342591}, - {1.040649, 0.129256}, {-0.317508, 0.138331}, {-0.934472, 0.287414}, - {-0.822846, -0.707184}, {0.013228, 0.200951}, {-0.192966, 0.231664}, - {0.702280, -0.035047}, {1.601308, -0.110163}, {0.968228, 0.484041}, - {0.267920, 1.208324}, {0.387431, 0.257585}, {0.137627, -0.038053}, - {-0.533791, -0.592955}, {-0.208416, -0.090015}, {1.242265, -0.575457}, - {-0.093360, 0.612640}, {0.474705, 1.164073}, {-0.223268, -0.303550}, - {0.725415, 0.987524}, {-0.792211, 0.833725}, {-0.127078, 0.253060}, - {1.032843, -0.053796}, {-0.611660, 0.688883}, {0.020020, -0.682951}, - {-0.061453, 1.055994}, {0.159875, 0.842203}, {1.073916, 0.515861}, - {-1.002761, 0.703949}, {-0.433069, -0.241907}, {-0.485950, 0.355489}, - {0.046573, 0.251588}, {0.594776, 1.519930}, {-0.353550, -0.125344}, - {0.019352, -0.371083}, {0.567640, -0.653759}, {-0.250529, 0.176770}, - {-0.406982, 0.103083}, {0.373635, 0.728257}, {1.588916, -0.649808}, - {-0.478022, -0.050687}, {0.377243, 0.193279}, {-0.036592, -0.246075}, - {1.520919, 1.009384}, {0.159340, 0.341124}, {-0.463280, 0.378020}, - {-0.035160, 0.543988}, {0.118358, 0.710502}, {-0.619443, 0.780539}, - {0.191851, 0.377155}, {-0.776310, -0.116329}, {-0.276307, -0.043138}, - {-1.211908, 0.346911}, {0.079369, -0.858422}, {0.016724, 0.926178}, - {1.256652, -0.481102}, {-0.806248, 0.229023}, {0.044788, 0.119707}, - {-0.262081, 0.272806}, {0.932057, -0.006805}, {0.544372, -0.095148}, - {-1.383816, -1.364462}, {-0.358308, 1.050147}, {0.273473, -0.855889}, - {-0.003535, 0.064740}, {-0.833668, -1.139499}, {-0.191707, 0.659760}, - {-0.462448, 0.173778}, {-0.025911, 0.309467}, {-0.460535, 0.971118}, - {1.307444, 1.320250}, {1.627809, 0.805101}, {0.508275, -0.630378}, - {-0.234563, 1.086843}, {-0.122915, 0.361400}, {-0.915180, 0.611521}, - {-0.286575, -0.818160}, {0.182178, 0.788028}, {0.604783, -0.208278}, - {0.359150, 1.039738}, {-0.992256, 0.972576}, {0.106132, -1.299370}, - {-0.162884, 1.643172}, {-0.338271, 0.643220}, {-0.862948, -0.463959}, - {0.326343, 0.010285}, {-0.098661, -0.720012}, {0.058748, 0.476613}, - {-0.313979, 0.106628}, {0.342506, -1.683328}, {-0.675662, 0.430103}, - {-0.378889, -0.229145}, {1.071848, 0.353785}, {-0.028918, -0.457589}, - {0.480169, 1.182056}, {-0.186146, 0.337164}, {0.032820, -0.383106}, - {-0.716018, 0.172634}, {-0.408182, -0.131892}, {0.656507, -1.192520}, - {-0.081387, -1.758375}, {0.157451, 0.629884}, {-0.501019, 0.814047}, - {-0.998292, -0.030481}, {-0.562935, 0.654219}, {0.092469, -0.943344}, - {0.875478, 0.782977}, {0.136500, 0.716997}, {-0.130205, 0.061150}, - {0.772493, -0.787669}, {-0.069071, -1.069128}, {0.020852, 0.155118}, - {-0.691191, -0.378006}, {0.037354, -0.996423}, {1.281753, -0.929153}, - {-0.426147, -0.438014}, {0.112682, 1.190760}, {-0.025867, -0.051631}, - {0.855843, 0.245861}, {-1.283729, 0.078821}, {0.082616, 0.423985}, - {0.650177, 0.257912}, {-0.288642, -0.113135}, {-0.309283, 0.956368}, - {0.275866, 0.777270}, {1.063946, -0.850517}, {-0.114175, -0.925831}, - {-0.197025, 0.160165}, {0.188163, 0.770923}, {0.725416, -0.238262}, - {0.532756, 0.332611}, {0.110235, 0.733467}, {0.568374, -0.980107}, - {0.264085, -0.102002}, {0.128516, 0.242100}, {-0.326246, 0.476676}, - {0.177628, 1.005675}, {0.183542, -0.730819}, {0.560809, 0.026720}, - {-0.555138, -0.837223}, {-1.111326, -0.738718}, {-0.573157, 1.307743}, - {0.039276, -0.375639}, {-0.610247, 0.441594}, {0.288641, -0.912492}, - {1.190911, 0.545295}, {0.782747, 0.523818}, {-0.489349, -0.232879}, - {-0.020657, -0.703896}, {0.073902, 0.609629}, {0.772461, -0.210514}, - {-0.035950, 0.573090}, {0.973263, 0.098002}, {0.573650, -0.286151}, - {-0.420773, 0.322248}, {0.828456, -0.527977}, {1.858361, 0.248676}, - {-0.216404, 0.356862}, {-0.646708, -0.483857}, {-0.093864, -0.293461}, - {0.583492, -0.646171}, {-1.115405, -0.181960}, {1.366417, -1.845473}, - {-0.794050, 0.390124}, {0.467227, 0.144103}, {0.059131, 1.012538}, - {0.365336, 0.237803}, {-0.484233, -0.485568}, {-1.005855, -0.440960}, - {0.502362, -0.343204}, {-0.153506, -0.221922}, {1.040348, 0.847320}, - {0.875955, 0.856994}, {0.134586, -0.579993}, {0.979287, -0.133640}, - {0.552321, 0.102281}, {0.541191, -1.039863}, {-1.155057, -0.141459}, - {-0.136017, 0.538894}, {-0.816461, 0.275250}, {-0.724677, 0.192772}, - {0.326787, -0.010919}, {0.117003, 1.159378}, {0.504487, -0.285180}, - {-0.855043, 0.300502}, {0.497492, 1.177945}, {-1.019849, -0.391640}, - {0.294492, -0.148558}, {-1.105971, -1.574034}, {-0.549529, 0.276093}, - {1.612157, 0.358384}, {-0.490901, -0.027039}, {0.169836, 1.390746}, - {-0.194342, -0.284269}, {-0.171289, 0.586009}, {0.440634, -0.241719}, - {-0.866231, 0.075171}, {0.604738, 0.501042}, {-1.268727, 0.181187}, - {0.970697, 0.307040}, {1.049433, 0.365987}, {-0.498752, 0.386423}, - {-0.025266, -0.505426}, {-0.073175, 0.049414}, {-0.182412, 1.089200}, - {-0.323381, -0.689772}, {0.110545, -1.103422}, {-0.264985, 1.043266}, - {-0.572449, 1.384650}, {0.364356, 0.676386}, {0.022608, 0.196732}, - {1.158744, 2.048316}, {0.765193, -0.520691}, {0.612272, 0.175707}, - {0.822290, -0.539943}, {-0.029847, 0.542674}, {-0.046485, -0.527074}, - {-0.247289, -0.309464}, {-0.123121, 0.695817}, {-0.585551, 1.109341}, - {1.091744, -0.323955}, {-0.258755, 0.608515}, {-0.359400, -0.617556}, - {0.213343, 0.803480}, {0.723600, -0.553256}, {-0.919498, 1.614200}, - {0.151235, -0.057427}, {0.507107, 0.231984}, {-0.423361, -0.409427}, - {0.846366, 1.210201}, {-0.481114, -0.023277}, {-0.021299, 0.801072}, - {0.087164, 0.162119}, {0.648244, -0.593489}, {-1.033972, -0.776052}, - {-0.910048, 0.009627}, {1.145802, -0.064943}, {-0.863007, 0.893723}, - {-0.063187, 0.408214}, {0.097570, 0.371056}, {0.055008, 0.378266}, - {0.760486, -0.116970}, {0.175700, -0.711182}, {-1.061988, -1.515268}, - {-0.366716, 1.634002}, {-1.127267, 0.259187}, {-0.105613, -1.658119}, - {-0.956148, 0.078537}, {-0.789998, -0.046661}, {-0.555772, 0.241221}, - {-0.361317, 0.374073}, {0.542807, -0.644804}, {-0.067211, -0.306273}, - {-0.313289, -0.762354}, {0.944145, 0.011802}, {0.344604, 0.581157}, - {-0.238694, -1.260077}, {-0.499531, -0.040909}, {1.081440, -0.013408}, - {-1.020259, -0.402582}, {0.168469, -0.449379}, {-0.322218, -0.352819}, - {0.417512, 0.125277}, {-0.179187, 0.773391}, {0.934511, 0.154665}, - {0.668175, 1.139319}, {-1.109726, -0.697647}, {-0.058986, -0.618589}, - {1.224662, -0.691357}, {-0.344564, 1.430847}, {-0.198289, 0.080758}, - {0.248374, -0.855443}, {0.510391, 0.972455}, {-0.236303, -0.325335}, - {0.461915, -0.112654}, {-1.113610, -1.548437}, {-1.242013, -0.824333}, - {-0.071317, 0.322042}, {-0.489653, -0.266651}, {0.049223, -0.240123}, - {-0.017929, 0.190162}, {-0.643566, -0.146084}, {0.581599, 0.459194}, - {-0.885802, -0.729123}, {0.659102, 1.113099}, {0.604221, 0.372455}, - {0.150965, -0.404922}, {0.024189, -0.589169}, {0.181120, -2.232684}, - {-0.109871, -0.604952}, {-0.441800, -1.783353}, {1.351005, 0.201968}, - {0.226026, 0.178360}, {0.052492, 0.086991}, {1.777618, 1.068832}, - {-0.332651, 0.317066}, {0.541455, -0.685652}, {0.392310, 1.079179}, - {-0.427805, -0.269735}, {0.498657, -0.582363}, {0.940945, 0.355367}, - {0.265536, -1.458500}, {0.449227, 0.874282}, {0.227071, -0.627270}, - {-0.093351, -0.097808}, {-1.145261, -0.218075}, {0.484358, 1.069822}, - {0.996167, 0.219158}, {0.164768, 0.888018}, {-0.524378, -0.335536}, - {0.408570, 0.683742}, {0.520097, -0.352789}, {0.528279, 0.701878}, - {0.254929, 0.657117}, {-0.913148, -0.518469}, {-0.444215, -0.199164}, - {0.123173, 0.541502}, {0.623248, 0.013648}, {0.876430, 0.188051}, - {-0.745054, -0.440719}, {1.370839, -0.341183}, {-0.557997, 0.053702}, - {0.504211, -0.772695}, {1.925599, -0.732382}, {1.134615, 0.354443}, - {-0.823694, 0.010852}, {-0.010443, -0.137324}, {0.583601, -0.844533}, - {0.664869, 1.118130}, {-0.000382, 0.444552}, {-0.646392, 1.280645}, - {1.497105, 0.917277}, {-0.230933, -0.814139}, {-0.618821, -0.230543}, - {0.004494, -0.586885}, {0.188155, 0.759926}, {0.400992, -0.852580}, - {0.916116, 0.173815}, {0.164091, -0.226974}, {0.428332, -1.030586}, - {-1.450546, -0.165323}, {-0.743664, -0.984256}, {1.239929, 0.021010}, - {0.169317, 0.059045}, {1.351634, 0.648103}, {-0.725472, 0.514575}, - {0.682044, 0.646209}, {-0.254000, -0.088715}, {0.820242, 0.000807}, - {-0.199804, -1.335055}, {0.568600, -0.573050}, {-0.372125, 1.120332}, - {-0.080109, -0.217794}, {-0.077319, 0.183705}, {0.610015, -0.768326}, - {0.531406, -0.197264}, {0.374272, 0.746575}, {0.811771, -0.070560}, - {0.456952, 0.828381}, {-1.114625, -0.778551}, {-0.677564, -1.195200}, - {-0.032155, -0.146667}, {0.160033, -1.240192}, {0.784846, -0.048669}, - {0.226182, -0.040282}, {-1.385046, -0.704092}, {0.539381, -1.102437}, - {0.385233, 0.702485}, {0.229480, 0.119168}, {-1.160470, 0.285107}, - {-0.541554, 0.585548}, {-0.348345, 0.770643}, {-0.277295, 0.505369}, - {0.072372, 0.074768}, {-1.171783, -0.243523}, {0.704349, 0.708709}, - {0.059024, 0.631281}, {0.065354, 1.504243}, {-0.835199, 0.568548}, - {-0.460690, 1.264099}, {-1.828812, -1.061787}, {0.003831, 0.815100}, - {-1.209037, 0.131804}, {0.842161, -0.991327}, {0.138250, -0.926978}, - {-0.127969, 0.712464}, {-0.350826, 1.252760}, {0.556596, 0.709099}, - {-0.880338, -0.882393}, {0.633947, 0.831589}, {1.535985, 0.012752}, - {-0.110222, -1.560059}, {-0.473637, -0.328046}, {-0.183194, 0.641908}, - {-1.074374, 0.106450}, {0.837744, -1.048600}, {0.080980, -1.310010}, - {0.538448, -1.136176}, {-0.596666, -0.628378}, {-0.594768, 0.340720}, - {0.251058, -0.190293}, {-0.061235, 0.142368}, {0.563618, -0.663220}, - {-0.994710, 0.799951}, {-0.013219, -0.077868}, {-0.260975, 0.436012}, - {0.701558, -1.555042}, {0.218937, -0.839333}, {0.189052, -0.893478}, - {-0.825828, -0.108326}, {0.179960, -0.454794}, {-0.189811, -0.729981}, - {0.258641, 0.734701}, {1.033546, -0.851021}, {-0.481548, 1.060999}, - {0.550961, -0.495215}, {-0.720159, 0.605927}, {-0.918472, -1.437412}, - {0.238061, 0.359825}, {-0.669119, -0.477539}, {-0.393230, 1.100341}, - {-0.294604, 0.625805}, {1.183505, 0.325424}, {0.656797, 0.302560}, - {-0.264583, 1.659226}, {0.944444, 0.759065}, {0.363301, -0.931562}, - {0.321250, 0.144317}, {0.056304, 0.033562}, {0.396821, -0.081704}, - {-0.146098, -0.157071}, {-0.567406, 0.542368}, {0.087811, -1.191284}, - {0.645851, -1.129586}, {-0.480500, 0.559676}, {-0.512098, -0.692533}, - {-0.576949, -0.178230}, {-0.312055, -1.312385}, {-0.661092, -0.003298}, - {1.385371, 0.073527}, {0.749575, 0.121531}, {0.451503, -0.172923}, - {-1.720465, 0.533779}, {-0.558727, -0.163352}, {1.161200, 1.410997}, - {0.343344, -0.099791}, {-0.065168, -2.180713}, {0.350066, 0.806381}, - {-0.286234, -0.192670}, {0.073187, 0.263513}, {-0.757331, -0.586757}, - {0.984908, 0.277915}, {1.028605, 0.961379}, {0.644807, 0.258389}, - {0.606982, 0.266423}, {-0.090490, 0.787222}, {0.184171, 0.023188}, - {0.350628, 0.158079}, {0.778608, 0.188059}, {-0.930078, 1.186364}, - {-0.671489, -0.012170}, {-0.081454, 0.351651}, {1.178337, 0.477150}, - {-0.455728, -0.782186}, {0.891922, 0.565029}, {1.160296, -0.280368}, - {0.653268, 0.357551}, {1.540297, 1.202347}, {0.245353, 0.959049}, - {0.243214, -0.407234}, {-0.450652, 1.435352}, {-0.707209, 1.169824}, - {-0.087597, 0.734600}, {0.280094, -0.507072}, {-0.362702, 0.385568}, - {-0.298647, -0.445275}, {1.484539, -0.134123}, {-0.714418, -0.484541}, - {0.183658, -0.100520}, {-1.304078, -0.615248}, {-0.145906, -0.378490}, - {-1.139469, 0.513238}, {-1.002350, -0.857683}, {-0.662826, 1.027047}, - {0.866330, -0.714924}, {0.134961, -0.170331}, {-1.346329, -0.335113}, - {-1.486651, 0.211276}, {-0.033975, 0.498228}, {0.808639, 0.410672}, - {-0.183830, 0.673398}, {0.283445, 0.591164}, {-0.775002, -0.358194}, - {-0.559984, 0.245061}, {0.448254, -0.351589}, {-0.307253, 0.317585}, - {0.110474, -0.551974}, {1.435987, -0.093767}, {-0.899370, -0.601259}, - {0.050750, -0.801049}, {-0.248103, -0.266506}, {-0.722677, 0.408100}, - {0.439215, 0.082929}, {0.326781, 0.560803}, {-0.435041, 0.157077}, - {0.616733, -0.929936}, {-1.000230, 0.585819}, {0.197016, -0.325485}, - {-0.661867, -0.863923}, {-0.149218, -0.118129}, {-0.048844, -0.426240}, - {-0.048809, -1.036530}, {1.234970, -1.198487}, {-0.564061, 0.812790}, - {0.518469, -0.899248}, {-1.011805, -0.436426}, {-0.731235, 0.119354}, - {-0.748153, -0.686550}, {-0.765046, -0.353657}, {-0.836584, 0.509778}, - {0.848860, -0.573605}, {0.275349, -0.980142}, {-0.086480, 0.350212}, - {0.561023, 0.614301}, {0.295835, -0.062431}, {-0.169997, 1.796229}, - {1.411584, -0.157918}, {-0.820578, -0.083208}, {0.363949, -1.059952}, - {-1.105712, -0.108223}, {0.022597, -1.059282}, {-0.599310, -1.113121}, - {1.271478, 0.088851}, {-0.351697, 1.037394}, {0.708869, 1.367619}, - {1.616188, 0.268445}, {-0.055062, 0.051147}, {0.089420, 0.984126}, - {1.037123, 0.467659}, {0.285018, 1.056293}, {0.076872, 0.167609}, - {0.466394, 0.073944}, {-1.120238, -0.403795}, {-0.605089, 0.022859}, - {0.279943, 1.026083}, {0.103397, 0.277845}, {-0.243145, 0.104500}, - {0.333394, -0.637974}, {-0.115601, 1.088147}, {-0.792947, 0.234692}, - {-0.789909, -0.934349}, {-0.734755, 0.478295}, {1.709832, -0.280996}, - {0.744538, -0.906727}, {0.250604, 0.999609}, {-0.503783, 0.558645}, - {0.495996, 0.365936}, {0.142156, -0.574836}, {0.512751, 0.192158}, - {1.235956, 0.332711}, {0.023924, -0.429072}, {1.193035, -0.496755}, - {0.507106, 0.569391}, {-0.957161, -1.168585}, {-0.107514, 0.423613}, - {-0.739674, -0.701516}, {0.904520, -0.072935}, {-0.102696, -0.928840}, - {-0.431224, 0.774089}, {0.546826, 0.645864}, {-1.462693, -0.997040}, - {0.045656, 0.881963}, {1.235724, 0.605226}, {0.485086, -0.077597}, - {-0.269521, -0.825996}, {-1.322636, 0.198827}, {-0.755254, 0.130400}, - {0.905988, -0.026561}, {0.398511, -0.221909}, {0.101731, -0.824604}, - {-0.772005, -0.034138}, {0.255018, 0.583319}, {-0.099606, -0.618148}, - {-1.244045, 0.403242}, {0.290003, 0.145494}, {0.525354, 0.224848}, - {0.953469, 0.330420}, {-0.529456, 0.842453}, {-0.558430, -0.068691}, - {0.816181, -1.027805}, {0.473286, 0.705963}, {-0.374642, -0.541333}, - {0.450463, -0.658926}, {-0.817825, -0.087311}, {-0.506713, 0.154635}, - {-0.234898, 0.576703}, {-0.308701, -0.353461}, {-1.064488, -0.829382}, - {-0.948916, 1.358909}, {0.873385, 0.041247}, {-0.975031, 0.341437}, - {0.465089, -0.305899}, {-1.322672, -0.257483}, {-1.628600, 0.631921}, - {1.432280, -0.394926}, {-0.278556, 0.212714}, {-0.350961, -1.579332}, - {-0.404100, 0.750536}, {0.368782, 0.707155}, {0.075936, -1.267203}, - {-0.831914, -0.096899}, {-0.333046, -1.207398}, {0.347681, 1.157404}, - {-0.578348, -0.070195}, {-0.129107, 1.292968}, {0.170815, 0.528093}, - {0.446822, -0.070859}, {0.606865, -1.535666}, {0.948290, -0.884917}, - {-0.045336, -0.805774}, {0.469737, -0.474745}, {-0.491228, 1.119829}, - {-0.441045, 0.412691}, {-0.263473, 0.314737}, {-0.249778, -0.497140}, - {1.067664, 0.185250}, {0.464393, 0.962226}, {1.268074, -0.124376}, - {-0.050562, 0.440929}, {1.169404, 0.656123}, {-0.881702, 0.319503}, - {-1.052664, 1.076097}, {-0.492302, 0.583617}, {0.558011, -0.848022}, - {-0.723854, 0.330486}, {-0.451609, 0.208036}, {0.033972, 0.322249}, - {0.081812, 0.909632}, {0.438240, -0.140270}, {-1.769997, 0.783168}, - {0.841427, 0.381585}, {-0.535555, 1.054986}, {0.480827, -0.859746}, - {-0.590138, -1.197696}, {1.838550, -0.341772}, {0.314785, 0.598647}, - {0.966481, 0.829249}, {-0.603204, 1.197482}, {0.287894, -0.764641}, - {0.245047, 0.646047}, {0.703114, 0.023655}, {-0.751477, -0.640445}, - {0.128946, 0.238554}, {-0.248008, -0.661997}, {-1.358426, 0.542743}, - {-0.077018, 0.562820}, {-0.992383, -0.265463}, {0.815603, -0.609510}, - {0.402195, 0.111800}, {0.098221, 0.243275}, {0.465141, -0.894786}, - {-0.195025, 0.818069}, {0.163013, 0.020456}, {0.019287, 0.280488}, - {-1.292419, -0.472930}, {-1.176423, -0.206148}, {-0.517755, -0.206153}, - {-0.221025, -0.087351}, {0.613520, 0.874127}, {0.125680, -0.160756}, - {0.959133, -0.888381}, {-0.119945, 0.682721}, {0.994469, 1.538646}, - {0.666825, 0.194733}, {-0.037507, -0.858152}, {1.210323, -0.049750}, - {-1.064716, -0.617205}, {0.945401, -2.387452}, {0.158818, 0.160687}, - {-0.482974, 0.394775}, {-0.858639, 0.219751}, {0.294519, 0.146071}, - {1.044995, -0.604510}, {0.823595, 0.998153}, {0.038470, 1.230760}, - {1.575698, -0.815523}, {0.148811, 0.410763}, {-0.389223, 0.867009}, - {-0.126203, 0.541746}, {1.678347, 0.380927}, {0.429547, -1.024259}, - {-0.266202, 0.332225}, {-1.617040, -1.222720}, {-0.563409, -0.661385}, - {-0.219464, -0.002245}, {0.314463, 0.656447}, {-0.300489, 0.532422}, - {-1.675190, 0.759753}, {0.428757, 0.171765}, {-0.011795, -0.359087}, - {-0.887617, 0.835305}, {-0.810371, 1.602856}, {0.409307, -0.461949}, - {0.199920, -0.987035}, {0.123417, 0.693076}, {-0.100030, -1.106335}, - {1.582451, -1.165881}, {-0.704681, -0.668353}, {0.760863, 1.026244}, - {-0.191075, 0.266052}, {-0.668103, 0.170235}, {-0.012904, -0.286498}, - {-0.501481, 0.788971}, {0.668517, 0.968752}, {-1.047200, -0.400916}, - {-0.533675, 0.024010}, {-0.986899, -0.229436}, {0.627433, 1.110767}, - {-0.365978, 0.023073}, {0.663772, -0.100048}, {1.049500, 0.285839}, - {-0.643717, -0.106911}, {0.591250, -0.125807}, {-0.639040, -0.106044}, - {0.037507, -0.832752}, {0.328107, -0.285961}, {-0.627469, -0.265954}, - {-0.052279, 0.075179}, {-0.231068, 0.046103}, {1.172718, 0.580020}, - {-0.255252, 0.819326}, {-0.169260, -0.100791}, {-0.756299, 0.608835}, - {-0.181330, -0.094706}, {0.479515, -0.363664}, {1.236969, 0.858327}, - {-0.975062, 0.641956}, {1.244166, 0.412330}, {-0.243528, -0.367673}, - {-0.352109, -0.345661}, {-0.198278, 0.348731}, {-0.264499, 0.354155}, - {1.043070, -1.080189}, {-0.158193, 0.645892}, {-0.341817, -0.186282}, - {-0.152951, -0.679947}, {-0.281572, 0.534695}, {-0.012417, 0.328755}, - {-0.265771, -0.525037}, {-0.161336, 1.444940}, {0.995682, 0.203988}, - {-0.537981, 0.988658}, {-0.529871, 1.194728}, {0.831686, 0.030963}, - {0.356165, -0.026852}, {-0.577640, -0.518094}, {-1.028778, -0.136226}, - {1.046369, -0.334105}, {-0.005565, -1.329268}, {-0.821778, -0.563742}, - {1.142928, 0.091294}, {0.682693, -1.263949}, {0.380228, -0.658545}, - {0.843082, 0.932597}, {-0.345522, 0.249836}, {0.446026, -1.368423}, - {-0.918192, 1.002040}, {-0.661288, -0.984786}, {-0.590316, -0.129025}, - {0.777157, 0.056676}, {-0.264574, -0.214260}, {-0.816790, 0.067197}, - {-0.585520, -0.519243}, {-1.193762, -0.976993}, {0.583269, 0.827641}, - {0.394747, -0.120571}, {-0.049132, -0.030678}, {-0.484051, 0.178199}, - {-0.283985, -0.097271}, {0.105214, -0.205086}, {0.341469, 1.602652}, - {0.269129, 0.846228}, {-0.386895, -0.161324}, {0.950400, 0.840099}, - {-0.753280, 0.687107}, {0.466935, -0.616318}, {-0.287216, -0.420626}, - {-1.046482, -0.085754}, {0.284436, -0.869538}, {0.897849, 0.423417}, - {0.921429, -0.765774}, {0.763842, -0.209293}, {0.617392, 0.912271}, - {-0.177456, -0.132474}, {0.806300, 0.356169}, {0.336841, -0.384476}, - {0.283514, -1.204551}, {-1.051563, 0.410899}, {-0.962639, 0.824742}, - {-0.270251, -0.887304}, {0.165904, -0.610252}, {-0.333379, 0.607510}, - {0.600463, 0.941986}, {0.997552, 0.235415}, {-1.187420, -0.233916}, - {0.897561, -0.197762}, {0.319458, -0.794006}, {1.832876, -1.005851}, - {0.117741, 0.084043}, {-0.277336, -0.585939}, {-0.220366, 0.332784}, - {-0.955706, -0.663342}, {-0.874698, -0.661934}, {-0.977466, 0.530857}, - {-0.670765, 0.717771}, {1.169043, 0.801325}, {-0.313282, 0.543873}, - {1.361090, -0.016967}, {-0.045271, 0.468467}, {-0.872414, 0.191454}, - {-0.622985, 1.003125}, {-1.506511, -0.683927}, {-0.860689, -0.551287}, - {-0.871940, -0.866821}, {0.624825, 0.683967}, {1.592190, 0.116308}, - {0.126634, 0.042754}, {0.051162, 1.220215}, {0.758876, 0.604646}, - {0.941573, 0.080765}, {-0.195989, 0.676589}, {-0.499377, 0.152671}, - {0.658630, 0.605302}, {-0.358647, 1.735287}, {1.364593, 0.503183}, - {0.210822, -0.166494}, {-0.861761, 0.367387}, {-0.458178, 0.060156}, - {0.427491, 0.042062}, {0.086057, -0.088052}, {0.162160, -0.189039}, - {-0.734105, 1.173913}, {1.009910, -0.268308}, {0.511028, 0.449041}, - {-0.638741, 1.917117}, {-0.396037, -0.155032}, {-0.997269, -0.575873}, - {0.535088, 0.441734}, {-0.543414, -0.751851}, {-1.416398, -0.066365}, - {-0.053821, 1.180805}, {0.282290, 0.897749}, {0.759861, -0.479464}, - {0.990860, -0.835886}, {0.536881, -0.128652}, {-0.235283, 1.638562}, - {-0.048821, -1.424798}, {-1.013434, -0.285478}, {0.380225, 0.037058}, - {0.083666, 0.162508}, {-0.638680, -0.529640}, {0.063698, 0.202676}, - {0.126295, -0.106833}, {-0.705436, 0.875691}, {1.560148, -0.744106}, - {0.506902, 0.182486}, {-0.216431, 0.488020}, {0.088319, 0.537304}, - {0.744745, 0.260296}, {-0.266826, 0.163056}, {-0.680731, 1.666494}, - {0.716172, -0.824289}, {0.576971, 1.097574}, {-0.306776, 0.425233}, - {0.559360, 0.770270}, {0.306141, -0.569606}, {0.641368, 0.473688}, - {-0.534869, 0.305556}, {0.479480, -1.319807}, {-0.369422, 0.008258}, - {-1.015711, 0.415351}, {0.334729, -0.161003}, {0.111812, -0.232136}, - {1.115033, 0.418084}, {0.372638, 0.159681}, {0.228723, 0.086318}, - {0.183488, 0.840287}, {-0.032699, -0.968931}, {0.497496, 0.382361}, - {-0.737920, 0.301958}, {-0.390336, -0.313842}, {-1.358576, -0.824571}, - {-0.296870, -0.221777}, {-1.204408, -0.178874}, {0.430879, 0.540454}, - {-0.129484, -0.943346}, {0.111495, -0.347794}, {0.241006, 0.882070}, - {0.259517, -0.153651}, {0.359138, 0.493153}, {-0.117222, -0.896891}, - {0.130265, -0.611169}, {-0.564621, -0.942626}, {0.109644, 0.919373}, - {-0.765497, -0.454155}, {1.351302, -0.499722}, {-0.388550, 0.828392}, - {1.338169, 1.025334}, {-0.017090, -0.296752}, {-0.180796, 0.374854}, - {0.418456, 0.346593}, {-0.739752, 0.202709}, {-0.167847, -0.921766}, - {0.747846, -0.289610}, {0.366519, -1.205982}, {0.238487, -0.366714}, - {-0.757299, 0.554594}, {-0.815610, -0.092068}, {0.238967, 0.595734}, - {-0.637637, -0.039172}, {-0.511671, -0.025446}, {1.327343, -0.892339}, - {0.787727, 0.725476}, {0.193989, -0.948691}, {-0.435612, 0.747976}, - {0.973745, 0.043831}, {-0.081442, -1.261099}, {0.972757, 0.437030}, - {-0.906525, 0.511164}, {0.286286, -0.007231}, {-0.724918, 0.317117}, - {-0.010738, -1.408628}, {-0.892791, -0.413062}, {-1.145404, -1.000462}, - {-0.054472, -0.656673}, {-0.397352, -1.006708}, {1.272339, 0.348268}, - {-0.072337, 0.462120}, {0.263024, 0.820054}, {-1.350094, -1.060760}, - {0.318931, 1.224979}, {-0.743524, 0.081760}, {0.782937, 0.494788}, - {-0.380764, 0.038653}, {0.366967, -1.110074}, {-0.539220, -0.289508}, - {-0.750016, -0.379700}, {-1.056018, 0.760600}, {-0.014371, 0.051682}, - {0.646769, -1.206138}, {-0.192194, -0.268590}, {0.211900, -0.061502}, - {0.667021, 0.717522}, {-0.988574, 0.469784}, {0.909208, -0.187655}, - {-0.264537, 0.459019}, {0.283053, -0.771236}, {0.977605, 0.326370}, - {0.188691, -0.116146}, {-0.841161, -1.507667}, {-0.622058, 0.275580}, - {0.827556, 0.636424}, {0.829953, -0.934848}, {-0.974846, -0.484086}, - {1.038897, 0.572127}, {-1.470389, 0.655402}, {-0.031678, -0.280099}, - {0.345680, 1.131225}, {1.521886, 0.475562}, {-0.095613, 0.225868}, - {0.587360, 0.098605}, {-0.910606, -0.220681}, {0.695483, 0.270633}, - {1.392499, -0.534474}, {-0.380665, -0.132181}, {0.739761, -0.804516}, - {0.247837, 0.364872}, {-0.504840, 0.279031}, {0.577741, -0.499917}, - {-0.877160, -0.500081}, {0.470665, 0.626683}, {-0.845048, -0.661755}, - {0.573259, 0.452514}, {1.463281, 0.460497}, {-0.140814, -1.014287}, - {0.792857, 0.139124}, {0.095435, -1.194781}, {-0.168013, -0.617225}, - {-0.669563, -0.438816}, {0.970599, 1.334226}, {-0.389379, -0.250410}, - {0.337426, 1.425473}, {0.040593, 0.759876}, {-0.692656, -0.593318}, - {0.644505, -0.808285}, {0.343813, 0.483264}, {0.262818, -0.442864}, - {0.401180, -0.354012}, {0.042798, 0.576953}, {1.057127, -0.234653}, - {-0.543273, 0.116899}, {-0.261085, 0.760538}, {0.917617, 0.504692}, - {-0.505622, -0.461514}, {-0.397714, 0.102581}, {0.841617, 0.258265}, - {-1.224217, 1.200595}, {0.549822, -0.854504}, {-0.331807, 0.249164}, - {-0.969781, 1.050829}, {-1.102970, -0.743287}, {0.391551, -1.364767}, - {-0.291293, 0.652954}, {-1.597162, -0.453738}, {-0.347804, -0.281488}, - {-0.384993, -0.354367}, {-0.893094, -0.032469}, {-1.033837, 0.258447}, - {-0.059178, -0.196922}, {-0.727165, 1.094397}, {-0.050880, -0.416205}, - {-1.801534, 0.759659}, {-0.013259, -0.907752}, {-0.663571, -0.737940}, - {0.248589, -0.087161}, {1.713345, 1.020552}, {0.274155, -0.077844}, - {0.684280, 0.290232}, {0.467950, -1.380906}, {-0.134793, 0.354306}, - {0.641834, -0.147045}, {1.549775, 1.034824}, {1.011992, 0.136162}, - {1.032606, -0.470594}, {0.002512, -0.501699}, {0.263132, -0.873676}, - {0.596802, 0.698595}, {0.644208, -1.026820}, {-0.241748, -0.120648}, - {0.400545, 0.692764}, {0.723725, -1.171937}, {-0.065336, 0.082173}, - {0.087121, 0.777870}, {0.137719, 0.862409}, {0.600762, -0.256252}, - {-0.496334, 1.522049}, {1.415523, -0.361800}, {0.195888, 0.140839}, - {-0.201059, -0.957306}, {0.833613, -0.884474}, {-1.923963, -0.511931}, - {-0.401694, -0.750599}, {-0.057871, -1.554591}, {0.136921, -0.610025}, - {-0.692221, 0.232519}, {-0.963772, -0.406412}, {-1.011556, 0.388904}, - {0.196652, 0.402592}, {-0.236942, 0.249439}, {0.197316, 0.749347}, - {0.260643, 1.518230}, {-0.261184, -0.019793}, {0.953847, 0.003123}, - {-0.488447, -0.693489}, {0.100561, -0.839624}, {-0.387958, 0.029235}, - {-0.056287, 0.849571}, {0.146328, -0.596042}, {-0.442422, -0.081224}, - {1.467301, 1.058274}, {-0.842963, -0.823609}, {0.361145, 0.235648}, - {2.244235, -0.417005}, {0.557178, 0.494236}, {-0.286937, 0.446261}, - {-0.797514, 0.125949}, {-0.396846, -0.492949}, {0.791338, 0.112081}, - {0.731112, 0.815339}, {0.124238, 1.042459}, {0.178620, -0.243480}, - {-0.297767, -0.499014}, {0.089431, -1.045263}, {0.876765, 1.478866}, - {-0.433655, -0.416072}, {0.076538, 0.452756}, {0.276575, -0.657696}, - {0.710620, 0.425570}, {-0.348002, -1.521084}, {0.463074, -0.794634}, - {1.420303, 0.458714}, {-0.799261, 0.730155}, {-0.282421, -0.450125}, - {-1.215153, 0.133084}, {0.429525, 0.137792}, {-0.046368, -0.348350}, - {1.182696, -0.476907}, {-0.354102, -0.016664}, {0.228567, -0.048909}, - {0.317271, -0.110712}, {0.000535, 0.097966}, {0.358389, -0.986634}, - {0.233837, -0.517393}, {-0.702710, -1.470436}, {0.301747, -0.361704}, - {-0.116303, 0.152185}, {0.321548, 0.456944}, {0.426785, 0.809817}, - {0.862019, -0.752446}, {0.503493, -0.196673}, {-0.188695, 1.043960}, - {-0.634846, 0.615436}, {-0.773059, -0.768587}, {0.735760, -0.078372}, - {0.076222, -0.103925}, {-0.837846, -1.879631}, {0.311214, 0.005395}, - {-0.256265, 0.525394}, {-0.759509, 0.445865}, {-0.425542, 0.964997}, - {0.621631, 0.218384}, {0.749916, 0.486092}, {0.735936, -0.741326}, - {-0.550580, 0.175995}, {0.441750, 0.922190}, {-0.284205, 0.780467}, - {0.111299, -0.940763}, {-0.488491, 0.739998}, {-0.538022, 0.602799}, - {-0.458050, -0.227355}, {1.218009, 1.485198}, {0.293776, 0.548771}, - {0.621581, 0.201245}, {0.029869, -0.484299}, {0.297470, -0.678649}, - {-0.652890, -0.572565}, {0.708517, 0.135724}, {-0.759185, 1.020900}, - {0.089393, 1.254895}, {-0.163606, -0.225901}, {1.028091, -0.979818}, - {-0.463887, -0.461716}, {-0.472972, 1.295955}, {-1.499760, -0.100153}, - {-0.316495, 0.182810}, {-0.029037, 1.390832}, {-1.052626, 0.016877}, - {0.140853, -1.064090}, {0.077518, 0.160558}, {-0.789567, 0.126484}, - {0.237999, 0.933535}, {-0.625411, -0.154393}, {-0.651849, 0.477355}, - {0.313835, -0.871245}, {0.063692, 0.733038}, {-0.125890, -1.321408}, - {0.782127, 0.731970}, {0.067632, 1.028553}, {0.390798, -0.202231}, - {0.859910, -0.547214}, {0.303427, 0.117133}, {-1.221034, 0.106196}, - {-0.556539, -0.005747}, {-0.581574, -0.064757}, {-0.093350, -1.416022}, - {-0.371514, 0.863009}, {-0.228865, -0.911086}, {0.226620, 0.868273}, - {-0.022400, 0.968063}, {-0.282417, -1.206830}, {0.517815, -0.318365}, - {0.433595, -1.277757}, {0.650281, 0.282816}, {0.696810, -0.618460}, - {-0.018515, -1.174056}, {0.528708, -0.383014}, {0.465366, -0.166643}, - {-1.111839, -0.208049}, {1.260600, -0.904770}, {0.114190, 0.595080}, - {-0.772035, 1.160945}, {-0.072465, -0.121030}, {0.740277, 0.073001}, - {-0.031995, -1.003071}, {0.309444, -0.284262}, {0.256298, 0.217717}, - {-0.714797, 0.139100}, {1.365575, -0.321842}, {0.609559, 1.219424}, - {-0.656153, 0.923034}, {0.306127, 0.569498}, {-0.185454, -0.769265}, - {0.640850, -0.158718}, {-1.334112, -0.208599}, {-0.368937, -0.719614}, - {0.154071, 0.481000}, {0.369258, -1.256445}, {-1.053810, 1.454169}, - {-0.166292, -0.690521}, {0.434216, -0.485381}, {0.446152, 0.316255}, - {0.598136, -0.692985}, {0.194634, 0.723444}, {0.033284, -0.674910}, - {-0.677093, -0.480733}, {0.483942, 0.055658}, {-0.380847, 1.698802}, - {-0.739697, -0.967901}, {0.181901, -0.283096}, {-0.385252, -0.218986}, - {0.571349, 1.211891}, {0.208035, -0.801372}, {-0.001354, 0.011905}, - {0.481477, -0.622890}, {1.126983, 0.720045}, {0.366125, 0.725890}, - {0.172974, 0.276534}, {-0.297515, -0.000297}, {0.716860, -0.694652}, - {0.896244, -0.218171}, {0.166865, -0.781466}, {-0.782709, -0.862993}, - {-0.004288, 1.019110}, {-0.509804, 0.230849}, {-0.987740, 0.724671}, - {-0.816786, -1.334751}, {-0.406238, -0.684850}, {0.680826, 0.080398}, - {-0.045664, 0.409165}, {1.857790, -0.268328}, {0.265866, 1.576185}, - {-0.633796, -0.378996}, {0.441580, 0.420835}, {0.594992, -0.103592}, - {-0.350224, 1.054242}, {-0.454100, 0.966540}, {-0.553087, 0.060871}, - {-0.473446, -0.638460}, {0.348962, -0.726140}, {0.403723, -0.092776}, - {0.168148, -0.187260}, {-0.047057, -0.712472}, {0.546338, 0.364816}, - {0.918003, -0.461675}, {-0.907751, -1.659162}, {0.690737, 0.688165}, - {1.115170, -0.620245}, {-0.424054, -0.378832}, {-0.295589, 0.438479}, - {-1.181545, -0.526172}, {-0.191356, 0.363078}, {1.256819, 0.772957}, - {0.660880, -0.127556}, {-0.770033, 1.086703}, {-0.221948, -0.024302}, - {0.376195, 0.665919}, {0.855315, 1.296681}, {0.064168, -1.090223}, - {1.198266, -0.123963}, {0.222219, 0.832714}, {0.265471, 0.660817}, - {0.926886, 0.106470}, {-0.116532, -0.351282}, {0.282755, 1.394651}, - {1.976995, 0.625415}, {0.086001, 0.874691}, {-1.158765, -0.296382}, - {0.821879, 0.330819}, {1.473645, 0.454222}, {0.373012, 0.334324}, - {0.784090, -1.194075}, {-0.049292, -0.080586}, {-0.326299, -1.150056}, - {-0.376097, -0.297711}, {0.400420, 0.699295}, {-0.401832, 0.718915}, - {0.513962, 1.314126}, {-1.223199, 0.822673}, {-0.198511, 0.577317}, - {-0.931176, -0.141243}, {-0.328271, -0.297043}, {0.058682, 0.063005}, - {-1.537647, -1.357544}, {0.991342, -0.020237}, {0.389384, -0.358624}, - {-0.286835, 0.522531}, {-0.921756, -1.109047}, {-0.005216, 0.585698}, - {0.073284, -0.240263}, {-0.608758, 1.045577}, {-0.127535, 1.243989}, - {1.069722, -0.381090}, {0.658169, -0.466652}, {0.110592, -0.898093}, - {-0.344192, 0.315264}, {-1.253943, 0.576829}, {-0.988689, 0.289650}, - {0.323581, 0.406835}, {0.753623, -1.395921}, {-0.526975, 0.375853}, - {-0.228419, 0.642204}, {-0.911534, -0.802450}, {-0.714417, -0.277566}, - {-0.248413, -0.669371}, {0.558370, -0.525797}, {-0.676306, -0.233652}, - {0.187377, -0.245513}, {-0.115084, -0.722299}, {-0.778514, -0.521242}, - {1.510762, 0.186472}, {-0.112162, 0.741817}, {0.168038, 0.036480}, - {0.473081, -0.613676}, {0.017735, -1.619743}, {0.125184, -0.943553}, - {0.545184, -0.381330}, {0.093888, 0.932584}, {0.298593, -1.014602}, - {1.317871, -0.453601}, {0.446039, 0.296345}, {-0.003700, -0.215325}, - {0.357740, -1.726941}, {0.056925, -0.146512}, {0.242151, -0.224778}, - {0.333254, 1.380770}, {1.576821, -0.423607}, {0.293532, 0.300461}, - {-0.192775, -0.819195}, {-0.724187, 0.864495}, {-0.256047, 0.693948}, - {0.227372, 0.048857}, {0.384743, -0.022614}, {0.334230, 0.059078}, - {-0.084885, 0.245805}, {-0.956303, -1.202349}, {-0.673081, -0.715653}, - {-1.070653, -0.327304}, {-0.147279, 0.735590}, {-1.051301, 2.081734}, - {0.743641, 0.675310}, {0.497307, -0.052339}, {-1.137150, -0.681605}, - {0.958912, -0.359105}, {-0.011346, -1.133356}, {-0.675276, 0.676611}, - {-0.088049, -0.368402}, {1.029195, 0.986048}, {0.769677, 0.565289}, - {-0.142346, 1.404113}, {-1.105935, 0.105231}, {0.137296, -0.042361}, - {0.064376, 1.281022}, {0.891722, -0.662071}, {-0.274474, 1.361238}, - {0.501089, 0.037064}, {-1.079683, 0.260584}, {-0.657026, -0.608459}, - {-1.321491, 0.137369}, {-0.147387, 1.485629}, {0.701370, -0.338272}, - {-0.937117, -1.890266}, {-0.002981, -0.309410}, {-0.450557, 0.756156}, - {-0.207628, 0.767636}, {-0.017018, -1.057447}, {-0.516946, 0.622016}, - {-0.439782, -0.660634}, {0.465733, 0.369621}, {-1.107081, 0.963995}, - {-1.304264, -0.056408}, {0.326753, 0.871892}, {0.607911, -0.097462}, - {0.368739, -0.185021}, {1.177421, 0.378663}, {-0.059318, -0.122919}, - {0.024356, -0.157050}, {-0.952570, -0.640217}, {-0.285763, 0.974177}, - {-0.222286, -0.638367}, {1.350695, 0.832729}, {0.426047, 0.068965}, - {-1.235143, -0.255727}, {0.097972, -1.280044}, {0.613868, 0.569266}, - {0.792483, -0.388408}, {-0.611795, -0.757664}, {0.066523, -1.342460}, - {1.152646, 0.059112}, {-0.407404, -0.164086}, {0.998551, -0.553072}, - {-0.230242, -0.414397}, {1.100387, -0.474447}, {-0.136452, -0.266361}, - {-0.783866, -0.608098}, {-0.626331, 0.731900}, {0.453871, 0.483000}, - {0.118882, -0.076636}, {-0.010890, 1.832384}, {-0.275781, 0.534932}, - {-0.758412, 0.302367}, {0.774181, -0.666316}, {-1.239903, -0.018154}, - {-0.826897, -0.159508}, {0.294782, 0.329762}, {-0.310305, 0.173462}, - {-0.484331, 0.577130}, {0.528037, -0.079597}, {-1.165040, 0.643362}, - {0.218828, -1.879045}, {0.340559, 0.534394}, {1.027003, -0.862991}, - {0.265023, 0.582110}, {0.533497, 0.424652}, {-0.143533, -0.668350}, - {-0.043478, 1.242700}, {0.140689, -0.328515}, {0.594427, 0.952587}, - {0.328719, 0.131913}, {1.647645, 0.451601}, {0.807728, 0.547755}, - {-0.398431, 1.090855}, {0.071550, 0.529582}, {0.696988, 0.096969}, - {-0.315803, 0.602702}, {-0.053510, 0.368662}, {-0.783694, -0.369834}, - {-0.513209, -0.183077}, {-0.389552, -0.423163}, {0.250511, -0.197899}, - {1.072604, 1.141232}, {-0.256157, 0.324126}, {-0.845304, 1.344024}, - {1.607235, -0.083729}, {0.216531, -0.229193}, {-1.849789, 0.283520}, - {-0.273563, -0.437125}, {0.439165, 0.820069}, {-0.071710, 0.044047}, - {-0.036628, 0.811854}, {0.949810, 0.092324}, {0.223015, -0.302363}, - {-1.151938, 0.219130}, {-0.602013, -0.159929}, {-0.479745, -0.467518}, - {-0.596418, 1.115315}, {1.155356, 0.976269}, {-0.339066, 0.667014}, - {-0.537118, -0.328546}, {0.231632, -0.251679}, {-0.564684, -0.151955}, - {0.404261, 0.591546}, {0.156538, -0.119747}, {-0.265291, 0.441799}, - {-0.710732, 0.990762}, {-0.037181, -0.893433}, {-0.608993, 0.072250}, - {-0.431612, -0.294577}, {-0.449292, -0.627379}, {1.118185, -0.219789}, - {-1.095315, -0.141630}, {-0.906823, 1.379934}, {-0.355207, 0.170146}, - {0.012266, -0.140593}, {0.582558, 0.200710}, {-0.264941, 0.654223}, - {0.490653, 0.262090}, {-0.806158, 0.423760}, {-0.916022, -0.095727}, - {-1.435559, -0.430004}, {-1.383499, 0.819679}, {-0.476148, -0.799760}, - {-0.086440, -0.288405}, {0.468541, -0.026429}, {-0.513250, -0.142815}, - {-0.903017, 0.571624}, {-0.097263, 0.834344}, {-1.345370, -0.677137}, - {1.710559, -0.271618}, {-0.490398, -0.719281}, {-0.660807, 0.868829}, - {-0.612810, -0.703682}, {0.992913, 0.444834}, {0.083612, 0.800845}, - {-0.140036, -0.531708}, {-1.676151, 0.726057}, {1.115666, 0.611399}, - {-0.454838, 0.031736}, {0.338107, 0.033385}, {-1.179649, 0.975904}, - {-0.362644, -0.703524}, {0.265567, -0.598433}, {0.612009, -0.911296}, - {0.669627, 0.732675}, {0.299979, -1.083474}, {-0.001796, 0.450980}, - {-0.312085, -0.240890}, {-0.157834, -0.452017}, {-1.005825, -1.124619}, - {1.514761, -0.139328}, {0.205847, -0.624360}, {-0.788916, -0.431594}, - {0.185577, 0.530159}, {-0.998640, -0.120038}, {-0.701757, -0.385069}, - {0.127492, 0.278129}, {0.644093, -0.318252}, {1.349703, 0.815553}, - {1.178677, 0.257816}, {0.290177, 1.567018}, {0.815353, 0.069366}, - {0.428406, 0.751920}, {-0.358682, -0.000313}, {0.898652, -0.035994}, - {0.007882, -0.203406}, {1.143951, 0.676206}, {-1.579231, -0.510529}, - {-0.029383, 0.067530}, {-0.207513, -0.651686}, {-0.171590, 0.197287}, - {1.106950, 0.639104}, {-1.153861, 0.109446}, {0.128439, 1.245168}, - {-1.709516, 0.155977}, {0.698242, 0.511780}, {0.188021, 0.140058}, - {0.214542, -0.603858}, {-0.585161, -0.999378}, {-0.125116, -0.107497}, - {1.169544, -0.068827}, {-0.641184, -0.795741}, {0.299439, -0.994491}, - {-1.270881, 0.080905}, {0.638892, 0.320804}, {-0.045967, 0.343003}, - {0.572705, -0.597459}, {-1.076651, 0.926168}, {1.591514, -0.239336}, - {-0.151223, 0.296796}, {-0.547906, -0.598357}, {0.194930, -1.469040}, - {-1.066167, -0.488868}, {0.375923, -0.458435}, {0.118752, -0.176519}, - {-1.119040, -0.877881}, {0.317179, 1.106286}, {-0.524586, 0.380106}, - {0.449438, -0.812248}, {0.218978, -0.240793}, {0.920874, 1.099158}, - {0.337065, -1.042434}, {0.165176, -0.575666}, {0.124061, 0.064366}, - {-0.972349, -0.449360}, {0.438009, -0.607478}, {1.340508, 0.164007}, - {-0.611231, -0.045868}, {-1.894545, 0.313067}, {0.026078, -0.046337}, - {-0.993251, 0.529082}, {0.338591, -0.050854}, {0.276524, -1.876008}, - {0.553549, -0.641581}, {-1.274207, 1.314869}, {0.082555, 0.483468}, - {0.480747, 0.004671}, {0.129514, 0.227370}, {0.488707, -0.498655}, - {-0.672859, 0.446981}, {-0.389134, 0.220936}, {0.678780, 0.388861}, - {0.004714, 0.113091}, {0.098152, 0.402314}, {-0.584163, 0.655414}, - {1.069824, 0.053944}, {1.426146, -0.171673}, {-0.492434, 0.430442}, - {0.387326, -0.723692}, {0.923225, 0.315823}, {-0.436266, -0.179644}, - {0.679013, 0.839753}, {0.121002, 0.328185}, {0.686624, 0.263510}, - {-1.014880, 0.226535}, {0.496357, 0.676631}, {-0.685878, 0.475997}, - {-0.816184, -0.690225}, {0.624418, -0.640938}, {0.981859, -0.263799}, - {1.266654, -0.559957}, {-0.447318, -1.692190}, {-1.632760, -0.647412}, - {1.237379, 1.188506}, {0.224983, -0.193860}, {0.265301, 0.088248}, - {1.487341, -0.210028}, {0.975147, -1.738118}, {-0.315739, -1.563346}, - {0.759571, -0.834275}, {0.248891, -0.487193}, {0.593097, 0.883254}, - {-0.295665, -0.091338}, {0.242557, -0.870492}, {0.076878, -0.401879}, - {-1.275364, -0.748062}, {-1.030366, -0.635397}, {-0.059741, 0.281073}, - {0.647269, 0.569318}, {0.091019, -0.383699}, {1.550738, -0.017491}, - {0.558012, -0.883251}, {1.344487, 0.781872}, {0.425354, -0.544888}, - {0.443166, -0.622855}, {0.402391, -0.428524}, {0.322402, 0.140907}, - {0.665183, 0.150628}, {0.264571, 0.063423}, {-0.180192, 1.228519}, - {0.176187, 0.609708}, {-0.686995, -0.858999}, {0.403250, 1.127242}, - {-0.460433, 0.622449}, {0.957213, 0.125857}, {-0.214465, -0.254392}, - {0.953570, -0.146560}, {0.351196, -0.097209}, {0.363350, 0.991605}, - {-0.842097, 0.750050}, {0.173444, 0.393799}, {0.644241, 0.891357}, - {0.518479, 0.829535}, {-0.793455, -0.868437}, {-0.451662, 0.080692}, - {1.713382, 0.806600}, {-0.986818, 0.371536}, {-0.732506, -0.086137}, - {-0.287972, 1.333554}, {-0.505251, -0.388335}, {0.182226, -0.170677}, - {0.656847, -0.151742}, {0.240621, -0.408503}, {-1.207747, 0.579227}, - {-0.480071, -1.477118}, {0.397312, 1.160838}, {-0.478893, 0.085660}, - {-1.201398, -0.484779}, {-0.875166, 1.306590}, {-0.048226, 0.168645}, - {0.575978, 0.334768}, {0.268464, -0.584981}, {0.172204, 0.362164}, - {-0.573584, 0.837555}, {0.097430, 0.693442}, {0.710075, 0.430611}, - {0.279881, 0.500559}, {-0.495316, -0.284207}, {-0.024375, -0.582689}, - {0.503912, 0.590465}, {0.543956, -0.751481}, {-0.113901, 0.583382}, - {-0.424219, 0.552384}, {-0.209784, 0.254702}, {2.524661, -1.007793}, - {0.453447, -0.787107}, {0.129431, 0.856054}, {-0.725614, -0.060954}, - {-0.076847, -0.411651}, {-0.585319, -0.607995}, {0.354620, -0.943508}, - {0.004873, 0.874609}, {0.584256, 0.295973}, {-0.751269, -0.621494}, - {1.252094, 0.523044}, {0.412384, -0.071193}, {1.460668, -0.424840}, - {-1.668383, -0.125918}, {-0.140575, -0.793958}, {-0.602913, -1.530258}, - {-0.485749, 0.647443}, {0.327012, 0.012391}, {-0.065556, -1.534338}, - {0.040087, 0.692505}, {0.331535, 0.606771}, {-1.081422, 0.655871}, - {0.112370, 0.095884}, {0.544109, -0.418467}, {0.883949, 0.869171}, - {-0.053113, 1.005180}, {0.084581, 0.070706}, {1.176918, 0.868754}, - {0.340621, -0.290651}, {1.069518, -0.145240}, {-0.305978, -0.255205}, - {0.264782, 0.828990}, {0.076048, 0.311651}, {1.020387, -0.341573}, - {1.171179, 0.317841}, {0.039440, -0.343955}, {-0.196474, -1.120097}, - {0.173672, -0.637267}, {0.869413, 0.499800}, {0.402750, -0.274691}, - {-0.195399, -0.716727}, {-0.697868, -0.592886}, {1.005820, -0.833437}, - {1.667014, -0.928567}, {0.112603, 0.637979}, {-0.378046, -0.094991}, - {-0.264513, 0.562337}, {-0.281534, -0.171989}, {0.184469, 0.954685}, - {-0.184794, -0.419611}, {0.042573, -0.035524}, {0.526333, 0.216558}, - {0.221470, -0.570724}, {0.952384, 0.824810}, {0.377462, -0.439426}, - {0.552507, 0.406306}, {0.356019, -0.448320}, {-1.181908, 0.315880}, - {1.237299, -1.380363}, {-0.266766, 1.166820}, {-0.543319, -0.487425}, - {0.853891, 1.002771}, {0.094524, -1.085172}, {-0.122670, -0.819704}, - {0.507893, 1.214830}, {0.066840, 0.391217}, {-0.627340, -1.028818}, - {0.048450, 0.066480}, {1.252207, -1.088292}, {1.914396, -0.390461}, - {0.783587, -0.456659}, {-1.087500, -0.414070}, {-0.017378, -0.330487}, - {0.822467, 0.523086}, {0.544551, -0.396871}, {0.505004, -0.302542}, - {0.655396, 0.309852}, {0.744048, -0.677621}, {0.632487, 0.637052}, - {0.382478, -0.487032}, {-0.253994, 1.037147}, {1.056620, 0.110571}, - {-1.000220, 0.890575}, {0.227128, -0.051171}, {0.249166, -0.869667}, - {0.362158, 0.942859}, {0.170629, 0.370184}, {-0.428655, -0.104012}, - {0.827800, -0.147575}, {0.050820, -0.016864}, {1.169503, 0.264916}, - {1.055638, -1.029984}, {-0.213356, -0.446858}, {0.883660, -0.272743}, - {-0.179240, 1.234001}, {-1.124872, -1.414740}, {0.620017, 0.524664}, - {0.429714, -1.144124}, {0.071774, 0.024483}, {0.236817, 0.493902}, - {-0.345272, 0.403117}, {-0.245305, 0.443081}, {0.456796, 0.439895}, - {0.127632, -1.065099}, {1.004045, 0.187642}, {0.910957, 0.711730}, - {0.270826, 0.181679}, {0.554230, -0.318570}, {0.415953, 0.287152}, - {0.249620, -1.683391}, {-0.183154, -0.452854}, {0.914111, -0.432673}, - {-1.329404, -0.200816}, {0.408647, 0.357466}, {0.342816, 0.128307}, - {-0.372446, -0.517950}, {-0.268470, -0.945823}, {0.058636, 0.446404}, - {0.077650, -0.641117}, {0.500659, 0.569755}, {-1.264154, -0.108240}, - {-0.323458, 1.076444}, {0.286058, -0.812280}, {1.130102, -0.533853}, - {0.820155, 0.813720}, {-0.369292, 0.599253}, {-0.401040, -1.122319}, - {0.015961, 0.999207}, {0.113009, 0.151940}, {-0.326797, -1.045239}, - {-0.631927, -0.213249}, {-0.232764, -0.353310}, {-0.277962, 0.172006}, - {-1.384869, 0.322627}, {0.657043, 0.378613}, {1.632659, -0.311238}, - {-0.128560, 0.380120}, {-0.021658, 0.595562}, {0.055891, 0.020949}, - {0.360843, -1.355132}, {-0.441202, 0.653312}, {-0.903583, -0.602887}, - {0.589411, -0.501421}, {0.009663, 0.497738}, {0.955606, 0.137016}, - {-0.829489, 0.248268}, {-0.623087, 0.554453}, {-0.983462, -0.470261}, - {-0.093188, -0.254457}, {0.281605, -0.015601}, {1.143487, -0.512110}, - {-0.259302, 0.254954}, {-1.333991, 0.113816}, {1.056834, 0.224210}, - {0.478784, -1.143913}, {1.172144, 0.054436}, {0.126576, -0.617074}, - {0.129731, 0.567838}, {0.992712, 0.311224}, {-0.080398, 0.093624}, - {-0.333385, 0.321406}, {-0.857085, 0.136303}, {-0.193071, 0.112527}, - {0.174651, -0.824896}, {-0.044413, -0.225567}, {0.889937, 0.174611}, - {0.221331, -0.846178}, {-0.911343, -0.217177}, {-0.598798, 1.486589}, - {0.678465, -0.562484}, {1.906944, 0.211159}, {-0.148741, 0.420947}, - {0.875071, 0.723028}, {0.500603, 0.175314}, {-0.669264, 0.505343}, - {-0.162355, 0.492007}, {0.405254, 0.188295}, {0.730781, -0.170657}, - {0.219461, -0.487510}, {-0.607648, -0.266311}, {1.031809, -1.878717}, - {0.262365, 0.080670}, {0.704439, -0.342870}, {0.526865, 0.107263}, - {0.449751, -0.350958}, {-0.250292, -0.244899}, {0.322347, -0.066403}, - {0.250252, 0.152062}, {-0.123904, 0.252763}, {0.097518, 0.668475}, - {-0.756972, 0.544061}, {-0.482034, -1.042969}, {0.216007, -0.057989}, - {-0.076012, -0.157728}, {-0.193643, 0.281670}, {-0.047023, -1.385414}, - {0.425208, 0.198825}, {-1.128706, 1.130083}, {0.749280, 0.273274}, - {-0.885277, -0.437183}, {-0.045310, 0.493993}, {0.689210, 0.481689}, - {-0.836367, -0.212518}, {0.933511, -0.551367}, {0.323157, 0.145200}, - {-0.381780, 0.425335}, {-0.043935, 0.669080}, {0.950537, -0.788988}, - {0.888065, 0.870818}, {0.198948, 1.131985}, {0.333668, 1.531210}, - {0.329099, 1.260233}, {0.619784, -0.971239}, {-0.362197, 0.842451}, - {-0.107082, 0.572070}, {-1.273638, -0.219990}, {-0.220258, 0.341964}, - {-0.110476, -0.229104}, {1.871605, 1.085818}, {-0.667567, -0.510587}, - {-0.081589, -0.002145}, {-0.485358, -0.264608}, {-0.021298, -1.378931}, - {1.061728, -0.050554}, {0.063661, -0.078720}, {0.540324, -0.679083}, - {0.040479, -1.175746}, {-1.651713, 0.175791}, {-1.061321, -0.905733}, - {-0.144548, -0.403863}, {-0.212951, -0.162069}, {-0.202079, 0.210548}, - {-0.481286, -0.089389}, {0.534427, 0.293422}, {-0.077023, -0.592110}, - {0.748204, -0.933897}, {0.789813, 0.023419}, {0.364097, -0.688288}, - {-0.817344, -0.232389}, {-1.106773, -0.011376}, {-1.149018, 0.589183}, - {-0.237988, 0.461070}, {0.144291, -0.866590}, {-0.319867, -0.741546}, - {0.467556, -0.563525}, {0.787965, -0.067020}, {-0.377218, 0.346134}, - {-0.439111, -0.729340}, {0.111481, -0.725684}, {-0.345130, 0.303179}, - {0.221511, -0.444748}, {-0.139828, 1.064259}, {-0.102410, 1.595486}, - {-0.033213, -1.118558}, {0.003251, 0.259777}, {-0.418818, 0.218547}, - {0.196030, -0.238166}, {0.317481, 0.810128}, {0.685667, -1.193565}, - {-0.230818, 1.499649}, {0.527567, 1.628496}, {0.418979, -0.163575}, - {0.943900, 0.909605}, {-1.191709, -0.027791}, {0.834602, 1.596546}, - {0.285289, 0.562981}, {-0.270156, -0.195083}, {-0.731085, -0.510584}, - {0.054180, 0.401694}, {0.222936, -0.465566}, {0.708946, 0.905168}, - {0.274867, -0.023564}, {0.255887, -1.523657}, {-0.438371, -0.835342}, - {-0.388636, 0.420745}, {0.575120, 0.350653}, {0.165252, -1.180423}, - {-0.106785, -0.106601}, {-0.163290, 0.059107}, {-0.048709, -0.263100}, - {0.309147, -0.042611}, {-0.927395, 0.617546}, {0.809214, 1.027300}, - {-0.146042, 0.142650}, {-0.784247, -1.284659}, {-0.278628, -0.344565}, - {0.036556, 0.842948}, {0.912256, 0.120918}, {-1.159161, -0.897982}, - {1.183806, 0.116039}, {0.080759, -0.670877}, {1.106555, 0.968417}, - {-0.748972, -0.332161}, {0.015659, -0.238382}, {0.072921, 0.945789}, - {0.720423, -0.655437}, {-1.184291, -1.204869}, {0.005271, -0.500795}, - {-0.947286, 0.565118}, {0.402954, -0.272249}, {-0.051205, -1.269563}, - {-0.244921, -0.403400}, {0.688696, -0.966522}, {-1.332749, 1.102022}, - {0.248091, -0.614807}, {0.542833, 0.089974}, {0.092234, -1.064895}, - {-0.142784, -0.393747}, {-1.915675, 0.230426}, {0.189830, 0.787094}, - {-0.630199, 0.176279}, {-1.014131, 1.143947}, {-0.520987, -0.274620}, - {0.207558, -0.600789}, {0.091016, -0.244461}, {-0.130663, 0.121426}, - {0.004404, 0.214764}, {1.305978, 0.539062}, {1.085432, 0.406738}, - {-1.147405, 0.986932}, {-0.527963, 0.040514}, {1.048821, 0.402675}, - {0.871429, 1.049595}, {1.770856, -0.090866}, {-0.518070, 0.716500}, - {0.487361, 0.022371}, {-0.686924, -0.549181}, {0.340429, 0.907657}, - {-0.394719, 1.043237}, {0.202132, -0.329431}, {-0.569046, 0.377140}, - {-0.446943, 0.699826}, {-1.179740, -0.505842}, {0.356706, 0.439865}, - {-0.598450, 0.446083}, {-1.374043, 0.679741}, {-0.021589, -1.611401}, - {0.410296, 0.014703}, {1.604389, 0.059808}, {-1.673347, -0.607599}, - {-0.050574, 0.534932}, {1.712505, 1.284287}, {-0.342150, -0.043176}, - {0.055806, 0.223800}, {0.355618, -0.311415}, {-0.271235, 0.683074}, - {-0.775743, 1.125752}, {-0.378310, -1.640378}, {-1.038677, 0.190076}, - {1.174409, -0.118801}, {0.331030, -0.048922}, {0.728780, -0.295898}, - {0.693699, -0.972498}, {0.174966, -1.152868}, {-0.876610, -0.017480}, - {-0.062463, 0.606038}, {0.974421, 1.248637}, {1.417309, -0.262139}, - {0.011829, 1.068245}, {-0.812946, 2.785479}, {0.861911, 0.248256}, - {-0.567134, 0.287479}, {-1.000297, 0.453402}, {-0.007071, 0.201681}, - {-0.152146, 1.342125}, {0.671739, 0.150808}, {1.116866, 0.838904}, - {0.759212, -1.364876}, {-1.013891, 1.460428}, {-0.226149, -1.126365}, - {-0.451954, -0.444787}, {-0.021515, 1.034266}, {-0.571367, -0.692007}, - {-0.349616, 0.140445}, {0.168654, 0.087815}, {-0.129953, 0.445421}, - {0.410578, 0.912573}, {-0.217475, -0.669581}, {-0.222785, 1.245619}, - {1.558435, 0.605819}, {-0.488581, -0.336896}, {-0.247095, 0.691559}, - {-0.272835, -0.264770}, {0.675699, 0.032700}, {-0.600614, 0.262450}, - {0.180303, -0.367078}, {0.919067, 1.375550}, {0.152099, -0.550776}, - {-0.201242, 0.036053}, {0.764895, -1.477231}, {0.396961, 0.220377}, - {-0.306654, 0.876105}, {-0.991493, 0.187414}, {-0.307614, 0.684635}, - {-0.773884, 0.106210}, {-1.566911, 0.170510}, {0.361833, -0.141857}, - {-0.600408, -0.446279}, {1.421652, 0.535651}, {0.798181, 1.741752}, - {0.828463, -1.351656}, {1.064522, 0.356219}, {-0.261882, -0.068944}, - {-0.274206, -0.863308}, {-0.472305, -0.610240}, {1.169302, 0.073319}, - {0.212464, -0.516636}, {0.072813, 0.172732}, {-0.402815, -0.754899}, - {0.240675, 0.006754}, {-0.413280, 0.162876}, {-0.878790, -0.579111}, - {-0.490272, -1.206031}, {-0.500456, -0.219817}, {0.069254, -1.439473}, - {0.914958, 0.485123}, {0.759158, -0.336522}, {0.798766, -0.831419}, - {0.572361, -0.465976}, {-0.130641, -0.259763}, {-0.529278, 0.642024}, - {0.169663, 1.957850}, {0.290362, 1.466387}, {0.486745, -0.303996}, - {-0.739829, 0.729494}, {-1.119647, -0.438709}, {1.199651, 0.132905}, - {-0.028488, 0.166904}, {0.294118, 1.343646}, {-1.078798, -0.045417}, - {-0.144834, 0.724221}, {-0.286147, 0.584877}, {-1.025536, 1.281690}, - {1.349738, 0.051777}, {-0.163706, 0.861461}, {1.304346, -1.415064}, - {-0.220065, 0.578733}, {-0.073421, -0.292662}, {-0.407989, 1.100458}, - {0.306779, -0.903447}, {-0.053132, -0.864616}, {-0.613827, 0.320417}, - {-0.157362, -0.152289}, {-0.363881, -0.696127}, {-0.644928, -0.357587}, - {0.523401, -0.545460}, {-0.284975, 0.437116}, {-0.332811, 0.194424}, - {0.886436, -0.283097}, {-0.353503, 1.253798}, {0.777206, 1.140778}, - {-0.176515, 1.349269}, {0.200192, 0.474405}, {-0.090735, 0.782045}, - {0.108052, -0.393573}, {-0.097758, 0.133294}, {-0.521819, -0.069948}, - {0.495179, 0.903907}, {-1.635143, 0.044403}, {-1.044754, 0.995099}, - {-0.029236, 0.231209}, {-0.763150, -0.740411}, {0.666666, 0.948566}, - {-0.996496, 0.103076}, {0.066595, 0.386752}, {1.079913, -0.587405}, - {-0.126881, 0.324364}, {0.242668, 0.274037}, {-0.167854, -0.463373}, - {1.254502, -1.338299}, {-0.814549, -0.540325}, {0.604115, 0.960306}, - {-0.762464, 0.255581}, {-0.145291, -0.151457}, {0.539461, 0.564589}, - {0.452901, -0.644154}, {-0.121667, 0.123363}, {0.172408, 0.943437}, - {0.349217, -0.431470}, {0.193653, -0.286326}, {0.373892, -0.225571}, - {-0.469563, -0.051636}, {0.703894, 0.076285}, {-0.342531, -0.919488}, - {-0.093593, 0.467140}, {-0.370503, -0.159512}, {-0.427136, 0.822814}, - {0.484980, 0.660569}, {0.380112, 1.642120}, {0.741086, -1.181946}, - {-0.861984, -0.551848}, {-0.326551, 0.051893}, {-0.673266, 0.128672}, - {0.477538, -0.448337}, {0.424523, -0.099635}, {-0.200313, 0.300309}, - {-0.319153, -1.021980}, {-0.640520, -0.659841}, {-0.189198, 0.771204}, - {0.163659, -0.315306}, {0.756345, 0.736886}, {-0.321533, 0.169677}, - {-1.755957, 0.206259}, {-2.116119, 1.256344}, {-0.750604, 0.344105}, - {0.267358, -0.320943}, {1.438068, -0.187643}, {-0.629031, -0.059064}, - {0.769031, 0.174502}, {0.611810, 0.637876}, {0.509224, 1.423682}, - {0.029716, -0.226301}, {-0.529129, -0.458146}, {0.588062, 0.568816}, - {-0.261343, 0.028227}, {0.000322, -0.506508}, {-0.454871, -0.212809}, - {-1.170607, 0.073436}, {1.134318, 0.212980}, {-1.039946, 1.151672}, - {0.904145, -0.236109}, {0.572173, -0.222902}, {0.354798, -0.056846}, - {0.617914, -0.121507}, {-0.485005, -0.789432}, {0.555901, 1.045454}, - {-0.342510, 0.662108}, {0.477863, 0.919492}, {-0.886891, -0.151806}, - {0.073477, 0.660208}, {-0.836821, -0.492241}, {0.868206, 0.057640}, - {-0.278170, -0.344302}, {1.740416, 0.163213}, {0.710730, 0.125488}, - {0.283223, 0.313698}, {0.549759, -0.103777}, {0.979863, 0.559804}, - {-0.290891, -0.894974}, {0.187074, -1.035208}, {0.722918, -1.398915}, - {-0.581228, 0.581626}, {0.289505, -0.332083}, {0.489170, -0.566258}, - {-0.889190, -0.521928}, {-0.262424, 0.143982}, {-1.279355, -0.724648}, - {0.257297, 0.851178}, {-0.306166, -0.469346}, {0.045235, -0.453040}, - {0.285296, 0.528722}, {-0.568471, -0.086437}, {-0.449844, 0.791630}, - {0.440313, 0.203210}, {-0.715834, 0.084234}, {-0.535316, -0.471520}, - {0.545214, 0.542797}, {0.858170, -0.392007}, {0.459011, 0.277321}, - {0.630900, 0.621847}, {-0.661226, -1.433006}, {0.657691, -0.355625}, - {-0.083747, 0.737402}, {-0.427198, -0.957863}, {-0.194041, 1.158089}, - {-0.546119, -0.629835}, {1.668000, 1.040309}, {-0.407113, -1.748223}, - {0.586268, 0.131234}, {0.824612, 0.043758}, {0.077720, 0.434675}, - {-0.878529, 0.066930}, {-0.910217, -0.770628}, {-0.399495, 0.223856}, - {-0.776131, 0.072596}, {0.968979, -0.378461}, {-0.788724, -0.419890}, - {-0.717876, -0.129177}, {0.649467, -0.543748}, {-0.083694, -0.154461}, - {0.433057, 0.341816}, {-0.109326, 0.473616}, {-0.306007, 0.525211}, - {1.334709, 0.792284}, {0.450165, 0.092275}, {1.269496, -0.283253}, - {-0.987681, 0.679147}, {0.700508, -0.765557}, {0.020683, 0.657076}, - {0.556750, 0.196350}, {-1.036465, 0.515704}, {0.529448, 0.036856}, - {-1.108420, -0.332631}, {-0.792801, -0.226293}, {-0.806708, -0.100053}, - {-0.810484, -0.306346}, {-0.181914, -0.053941}, {-0.967090, 0.696498}, - {1.192545, -0.294435}, {-0.566689, -1.356403}, {-0.828942, -0.407377}, - {-0.621438, 1.217900}, {-1.028343, 0.521929}, {1.025599, -0.656932}, - {0.138542, 0.489792}, {-0.202065, 1.257500}, {0.043756, -0.176369}, - {0.685895, -0.249690}, {0.549922, 0.885082}, {-0.189354, -1.551150}, - {-1.118100, 0.020367}, {0.474848, 1.184561}, {-0.050645, 1.195300}, - {0.867725, -0.380298}, {1.033550, 0.154888}, {-0.477175, -0.457725}, - {1.148061, 0.585421}, {0.380830, -0.754913}, {-0.106258, 0.080392}, - {-0.092959, -0.386023}, {-0.358937, -0.724895}, {-1.374994, 1.067211}, - {0.460321, 0.527363}, {-1.238789, -0.089993}, {1.464682, 0.876127}, - {-1.234731, 1.128579}, {0.724792, -0.450972}, {-1.521916, 0.809717}, - {-0.388497, -0.174976}, {0.086236, 0.748876}, {1.100546, -0.528230}, - {0.226367, 0.697463}, {0.744283, 1.254010}, {-0.249234, -0.694237}, - {0.167903, 0.298213}, {-0.228874, -0.560931}, {0.394532, 0.449698}, - {-0.344909, -0.227098}, {-0.415043, -1.065131}, {0.126645, 1.162114}, - {1.370732, -0.619147}, {0.823699, -0.552124}, {0.345714, -0.232139}, - {0.894510, -0.203477}, {0.475686, -1.010735}, {0.661874, 0.478840}, - {-0.521820, -0.526937}, {1.314386, 0.651335}, {-0.319251, -0.196685}, - {-0.505632, 0.967049}, {0.590235, 0.712258}, {1.380347, 1.137978}, - {0.152855, -0.242439}, {0.291709, -0.255131}, {1.260959, -0.491270}, - {-1.089113, -0.159145}, {0.435095, -0.676862}, {-0.340494, 0.469703}, - {1.302442, -0.532868}, {-0.378602, -0.400420}, {0.925227, -0.607976}, - {0.251869, 0.591035}, {-0.646873, -0.636483}, {-0.328268, -0.897893}, - {1.089412, -0.159031}, {0.814358, 2.220698}, {0.772924, -0.691036}, - {-0.784735, 1.137714}, {-0.042070, -0.600536}, {0.592465, -0.209877}, - {0.769297, 1.296465}, {0.448652, -0.198575}, {0.025998, 0.141744}, - {0.485850, -1.270583}, {-0.846149, -0.038597}, {-0.277242, -0.731952}, - {0.198053, -1.496392}, {-0.073055, 0.046129}, {0.574797, -1.238401}, - {0.133512, 0.156586}, {0.105417, 1.088396}, {0.143785, 0.480135}, - {0.306526, -0.884781}, {0.722423, -0.916666}, {-0.657561, 0.272999}, - {-0.557441, 1.138685}, {-0.782249, -1.293763}, {0.453444, 0.532557}, - {1.013185, -0.405740}, {-0.094466, 0.752667}, {1.286455, -0.593367}, - {-0.298950, 0.306095}, {1.181346, 0.559262}, {0.461658, -0.639042}, - {-1.291839, -0.121779}, {-0.326193, 0.113747}, {-1.154270, -0.089857}, - {-0.351472, -1.491822}, {0.720080, -0.419379}, {-0.672820, 0.094205}, - {0.812964, -0.064953}, {-1.294077, 1.076364}, {-0.133796, -0.745281}, - {-0.393393, 0.385628}, {-0.602521, -0.377900}, {0.528132, -0.164217}, - {0.505215, -0.104243}, {0.765574, 0.926339}, {2.024634, -0.477364}, - {0.017166, 0.179716}, {0.399008, -1.200177}, {-1.090208, 0.311701}, - {-0.158439, -0.916668}, {1.058774, 0.191072}, {-0.464662, -0.983746}, - {0.540500, -0.331676}, {0.139759, -0.346498}, {-0.331954, 0.206804}, - {-0.956494, 0.357149}, {-0.944290, -0.414694}, {1.172465, -0.536726}, - {-0.541046, 0.365657}, {0.276923, 1.402963}, {-0.242318, 0.269377}, - {0.965338, -0.785207}, {-0.718256, -0.028312}, {0.231175, 0.665614}, - {-0.947264, -0.913082}, {-0.501002, 1.094529}, {0.352224, -0.272040}, - {0.397494, 0.185641}, {-0.151725, 0.717844}, {0.839893, 0.459279}, - {0.801901, -0.313492}, {-0.684958, 0.226865}, {-0.212219, -0.213841}, - {0.892238, -0.435760}, {1.314788, -0.271844}, {0.836362, 0.043882}, - {-0.957485, -0.948085}, {1.079672, 0.119647}, {-0.513333, 0.529166}, - {0.438430, -0.923301}, {0.175442, -0.539418}, {-0.003292, -0.268481}, - {-0.438336, 0.598716}, {0.174795, 0.663858}, {0.409033, 1.094613}, - {0.766143, 0.882464}, {0.116399, 0.720590}, {-0.563363, 0.971493}, - {-1.542577, 0.365604}, {0.514771, -0.458050}, {-0.346020, 0.184177}, - {-1.029390, 0.631160}, {0.916323, 0.569872}, {0.330674, -0.403426}, - {-0.815112, 0.338683}, {-0.233795, -0.536290}, {-0.156529, -1.368641}, - {-0.263744, 0.144793}, {0.546089, 0.239988}, {-0.176949, -0.463405}, - {-0.369226, -1.044596}, {-0.505317, -0.388794}, {-0.451340, 0.812733}, - {0.325007, 0.206856}, {-0.810237, -1.085805}, {0.165055, 0.996302}, - {-0.931375, 0.613591}, {-0.126483, -0.744854}, {0.397855, 0.364294}, - {0.287751, -0.500914}, {-0.053719, 0.982818}, {-0.553468, 0.292330}, - {0.179430, -0.597617}, {-1.198685, -0.800000}, {1.186764, -0.992792}, - {0.724964, 0.103448}, {0.963127, 0.232599}, {0.092029, 0.364811}, - {0.023554, 0.358368}, {-0.156919, -0.181441}, {0.186716, 0.206933}, - {0.533803, -0.467186}, {-0.459122, 0.140642}, {0.994366, -0.893881}, - {0.452242, 0.282844}, {-1.757045, -0.228025}, {0.966083, -0.036048}, - {-0.134917, -0.207168}, {0.124213, -0.129237}, {-0.080806, -0.024992}, - {-0.799884, -0.669277}, {-0.620681, -0.397588}, {-0.352503, -0.044189}, - {0.092370, 0.364939}, {0.449970, 1.026360}, {0.529612, 0.063033}, - {-1.083693, -0.194379}, {0.369823, -0.277191}, {-0.177423, -0.619947}, - {0.562466, 1.467675}, {-0.573227, 0.920231}, {0.552988, -0.530708}, - {0.844829, -1.136412}, {0.558908, 0.169169}, {0.626978, -0.115006}, - {0.351068, -0.464366}, {-0.762156, -0.066833}, {-0.117971, 0.052717}, - {-0.570717, 0.761831}, {-0.514255, 0.164156}, {0.013305, -0.055138}, - {-0.245547, 0.642430}, {0.216396, 0.005143}, {-0.507045, -0.685026}, - {1.118325, 0.364330}, {-0.590687, -0.140389}, {0.013596, 0.844098}, - {-0.399225, 0.716323}, {-0.417137, -0.565919}, {0.092852, 0.416915}, - {-0.943451, -0.152195}, {-1.020240, 0.801126}, {-0.611728, 0.436773}, - {-0.019905, -1.332957}, {-0.690646, -0.464269}, {0.907830, -0.494683}, - {-0.281882, -0.749796}, {-1.546127, -1.007659}, {0.830144, -0.015166}, - {-0.390510, -1.043779}, {0.117684, -0.482510}, {0.924184, 1.260658}, - {-1.061867, 1.221469}, {-0.815122, -0.023800}, {-0.103022, 0.298058}, - {-0.252904, 0.230901}, {0.021567, -0.875517}, {0.248461, 0.093681}, - {0.264196, 0.004397}, {-0.311626, -0.620671}, {0.280419, 0.771652}, - {-0.018466, 0.219481}, {1.700853, -0.112003}, {-0.882344, 0.018746}, - {-0.006374, 0.087725}, {-0.100868, 0.209463}, {0.512129, 0.523700}, - {-0.317199, 0.307879}, {0.294301, -0.330502}, {0.601020, -0.125700}, - {-0.739890, -0.023356}, {-1.444838, 0.568493}, {-0.134116, -0.671218}, - {1.005881, 0.367029}, {-0.738930, 0.646782}, {-0.342683, -0.504731}, - {0.716899, -0.539596}, {0.738524, 0.070291}, {0.386202, 0.440067}, - {1.345032, 0.180183}, {-0.018880, -0.031769}, {-0.378806, -0.171766}, - {-0.286278, -0.617444}, {-0.080975, -0.526326}, {0.700062, -0.604598}, - {-0.885363, 0.470310}, {-1.156147, -0.054617}, {0.133744, -0.226376}, - {-0.240292, -1.157249}, {0.063137, -0.793579}, {0.030749, -0.302199}, - {0.090525, 0.483558}, {0.073085, -0.481644}, {-0.223842, -2.140667}, - {0.031752, 0.005003}, {1.231275, -0.530212}, {1.038917, -0.422673}, - {0.394114, 0.524978}, {-1.097829, 0.484170}, {0.431677, 0.251181}, - {1.225130, -0.837454}, {-0.186695, 1.110229}, {0.338671, 0.141820}, - {-0.023210, 1.021750}, {0.990528, -1.624820}, {0.011025, -0.247794}, - {-0.339063, 0.407060}, {0.384226, 0.510580}, {-0.757315, -0.246458}, - {-1.582920, 0.107500}, {-1.012034, 0.035645}, {1.968999, 0.055935}, - {-1.424400, -1.006629}, {-0.381551, -0.428135}, {0.437026, 0.843355}, - {0.179125, 0.109344}, {-0.449217, 1.913849}, {0.427694, -0.425086}, - {-0.211741, -0.700567}, {-0.188227, -0.847564}, {-0.594710, 1.483595}, - {-0.072411, 0.766453}, {1.150670, 0.617209}, {-0.386818, -0.026636}, - {-0.385528, -1.273407}, {-0.361319, 0.734053}, {0.098469, -0.126693}, - {-1.389158, 1.163252}, {-0.460623, 0.471711}, {0.338909, -0.460817}, - {0.130190, 0.607843}, {0.207546, 0.467445}, {-0.587233, -0.598555}, - {0.608060, 0.186716}, {1.153664, 0.245205}, {0.328400, 0.759055}, - {-0.694971, 0.220107}, {-0.338761, -1.561954}, {-0.594066, -0.121286}, - {-0.422942, -0.435408}, {-0.514954, -0.135974}, {-0.685185, 0.540584}, - {-0.824955, 1.303292}, {0.226211, -0.342887}, {-0.598595, -1.523227}, - {0.678569, 0.475931}, {0.630242, 0.483559}, {-0.620338, 0.518139}, - {0.919177, -0.181962}, {0.507928, -0.566914}, {-0.488096, 0.812728}, - {-0.364813, 0.705453}, {-1.369744, 0.240855}, {0.714938, -0.709527}, - {0.582868, 0.091790}, {-0.180208, 0.726072}, {0.452558, 0.415231}, - {0.495553, -1.877462}, {0.582132, -0.333465}, {0.833380, -0.489799}, - {0.267983, 0.623820}, {-1.556596, 0.244596}, {0.566314, 0.288588}, - {-0.067564, 1.023165}, {0.505347, 0.922345}, {-0.470138, -0.951912}, - {0.660978, 0.761539}, {0.621641, 0.135908}, {1.400944, 0.226884}, - {0.652989, -0.565545}, {0.237052, -0.192473}, {0.953481, -0.437290}, - {-0.532917, 0.753979}, {-0.401020, 0.182003}, {-0.774883, 0.538031}, - {-0.320697, -0.549711}, {1.663374, 0.724379}, {0.588294, 1.303208}, - {1.044164, -0.361746}, {-0.145359, -1.690668}, {-0.825189, 1.215719}, - {-1.088180, -0.300943}, {-0.430774, 0.622501}, {0.316668, 0.544425}, - {0.504829, -0.457687}, {-0.834387, -0.240484}, {-0.306896, 0.687505}, - {0.268810, 1.644408}, {-0.780049, 1.087894}, {-1.538673, -0.201769}, - {0.535403, 0.605154}, {0.019388, -0.435640}, {-0.440314, -0.055865}, - {1.298971, 1.128651}, {0.177042, 1.260625}, {-0.854552, 0.621748}, - {-0.677730, 0.607538}, {0.203182, 0.219196}, {1.347539, 0.528045}, - {-1.261542, 0.367327}, {-0.137496, 0.330269}, {0.960711, 1.133014}, - {0.687000, 0.111912}, {-0.181358, 1.091956}, {0.223343, -0.483492}, - {-0.273860, 0.362866}, {-0.011742, -0.136568}, {0.275521, -1.429957}, - {-0.273297, -0.074082}, {0.290409, -0.066311}, {-0.228273, -0.362296}, - {-1.378862, -0.444713}, {0.241775, 0.546076}, {0.039962, -0.186289}, - {-0.036983, -0.286490}, {0.091318, -1.140707}, {0.511967, -0.298166}, - {-0.103362, 0.567148}, {-1.507135, -0.446682}, {-0.002256, -0.382378}, - {0.793055, 0.713325}, {0.519248, -0.273429}, {0.373212, 1.206027}, - {-0.186569, 0.345384}, {-1.037811, 0.160379}, {0.100911, 0.728662}, - {0.348187, 1.397238}, {1.053003, 0.787660}, {0.851118, -0.072377}, - {0.885419, -2.014642}, {0.224168, -0.873868}, {0.866546, -1.231568}, - {-0.196727, 0.530071}, {-0.510674, -0.434893}, {0.256375, -0.296321}, - {1.333570, 1.516369}, {0.216969, 1.545445}, {0.164709, 0.254986}, - {0.100115, -0.605479}, {0.086380, 0.234960}, {0.907601, -0.649032}, - {-1.199984, 0.075438}, {1.186217, -0.332770}, {-0.270511, -1.202410}, - {0.826974, 0.035252}, {0.331603, -0.037377}, {0.476641, 0.109902}, - {-0.174187, -0.546405}, {0.159829, -0.563128}, {-0.251076, -0.337193}, - {0.587231, 0.086443}, {-0.004139, -0.062337}, {0.847037, -1.213560}, - {0.720797, -0.302577}, {-0.313615, 1.223469}, {-0.385838, 0.548932}, - {-0.681006, 0.375296}, {-0.002250, -0.626297}, {0.044566, -0.714328}, - {-0.785516, 0.625881}, {1.008274, -0.326630}, {-0.475841, 0.809907}, - {-0.189279, -0.144121}, {-0.147481, -0.167430}, {0.297717, -0.662249}, - {0.903221, -0.828173}, {-0.076715, -0.103500}, {-0.220609, 0.037787}, - {0.500891, 0.420473}, {0.273765, -1.134860}, {0.469416, -0.299483}, - {0.490976, 0.584688}, {0.840863, 0.462752}, {-0.374205, -0.498565}, - {0.970595, 1.606044}, {0.351297, 0.387913}, {-1.301970, 1.173260}, - {0.132588, 1.491314}, {-1.181621, -0.261585}, {-1.361050, 0.972321}, - {-0.153063, -1.707550}, {0.758497, 0.123412}, {0.238820, 0.155025}, - {-0.254726, 0.301346}, {-1.010450, 1.160231}, {-1.240972, 0.287896}, - {0.784458, -0.105589}, {-0.536336, -0.405889}, {-0.146211, 0.253732}, - {-0.878979, 0.549278}, {0.065870, -0.198147}, {-0.954775, 1.043484}, - {0.557617, 1.047797}, {0.493106, -0.919198}, {-0.170124, 0.314583}, - {0.688442, 0.122648}, {-1.023681, -0.111431}, {0.801745, -1.821817}, - {-0.723679, 0.440206}, {-0.453669, -0.190110}, {-0.581141, 0.078254}, - {-0.941791, -0.060551}, {0.890659, 0.122601}, {0.963847, 0.066347}, - {0.759853, -0.199802}, {-0.106224, 0.458618}, {1.065279, 0.399051}, - {-0.321525, 0.808861}, {-1.208707, 0.585097}, {0.866323, -0.559539}, - {0.474646, 0.039294}, {1.902251, 0.915424}, {-0.455613, -0.414985}, - {-0.246282, -0.640345}, {-0.333131, 0.196717}, {-0.493399, -0.772411}, - {0.204786, -0.870497}, {0.309500, -0.533279}, {0.910107, 0.510703}, - {-0.056168, -0.123584}, {-0.491468, -0.572133}, {0.375774, 1.162053}, - {0.063430, 1.272410}, {-1.406177, -0.010975}, {-0.087637, -0.226010}, - {-0.563296, 0.452261}, {-0.449694, -0.554259}, {0.707040, 0.188047}, - {1.601323, -0.206911}, {-0.923501, 0.574700}, {-0.966020, 0.679890}, - {0.268570, 0.368709}, {0.212696, -0.904453}, {0.194974, 0.488184}, - {0.470565, 0.918929}, {-0.684581, -0.142648}, {-0.844954, -0.189146}, - {-0.542152, -0.747252}, {0.495473, 0.403557}, {-0.688008, -0.913830}, - {-0.059830, 0.517971}, {-2.171862, 1.024477}, {-1.249624, -0.015772}, - {0.015926, 0.734811}, {0.457707, -0.081584}, {-0.009916, -0.098752}, - {0.810571, -0.772556}, {1.274648, 0.151342}, {1.083434, -0.643550}, - {1.044509, 0.338194}, {-0.378948, 0.039118}, {-0.075820, -1.730294}, - {0.774083, 0.620047}, {-0.066915, -1.689347}, {0.731451, -0.094387}, - {0.259309, -0.417934}, {-0.498563, 0.708930}, {0.774393, 1.168883}, - {-0.172278, -0.053409}, {-0.293542, -0.414288}, {1.373904, 0.468393}, - {-0.086211, 0.448331}, {0.141485, -0.030337}, {-0.107671, 0.406149}, - {0.098529, 0.748433}, {-0.267386, -0.031872}, {-0.748722, -0.653857}, - {0.004819, 0.286587}, {0.320934, 0.502389}, {0.434680, 0.257350}, - {0.042256, -0.018636}, {-0.305369, 0.076753}, {-0.205572, -0.818070}, - {0.936762, 0.858510}, {-0.423207, 0.799304}, {0.072296, 0.374763}, - {-0.156480, -0.604657}, {-0.968287, 0.266390}, {1.115752, -0.133177}, - {0.666615, -0.815890}, {0.472277, 0.132071}, {-0.193603, 0.875236}, - {0.318294, -0.031684}, {1.004666, -0.833170}, {0.262337, -0.253264}, - {0.691983, 2.042454}, {0.209886, -0.290278}, {0.278291, 1.124044}, - {-0.207172, 1.567355}, {0.238977, -0.323462}, {-0.223252, -0.119456}, - {0.303814, 1.004795}, {1.200940, 0.213197}, {-0.687440, -1.084798}, - {-0.198295, 0.195513}, {0.046763, 0.521581}, {-0.510831, -0.423679}, - {0.244499, -0.628926}, {0.698044, -0.623503}, {0.416896, -0.041211}, - {-0.350345, -0.226075}, {0.695417, 0.604628}, {-0.383804, 0.383435}, - {0.086188, -0.192144}, {0.781463, -1.146905}, {0.098847, -0.660911}, - {-0.335006, 0.419788}, {1.122026, -0.064158}, {0.384520, -0.618539}, - {0.479143, -1.027819}, {1.107169, -0.524087}, {0.383901, -0.402677}, - {0.194053, 0.255903}, {0.477393, 0.074827}, {-0.410776, -0.444651}, - {-1.991022, -0.394045}, {0.216143, -0.334173}, {-0.563452, 0.819894}, - {-0.311190, 0.640443}, {-0.243058, 0.560057}, {-0.546188, -0.070783}, - {-0.615962, 0.363862}, {0.240774, 0.912485}, {0.219238, -0.849157}, - {-0.885919, -1.007370}, {0.190039, 0.543608}, {1.070954, 0.179088}, - {0.554915, -0.018668}, {1.371742, -0.335006}, {-0.645975, 0.229713}, - {-0.736469, 0.669922}, {0.001929, -0.033222}, {0.701460, -0.205447}, - {0.486977, 0.824796}, {1.258540, -0.391141}, {-0.036946, 0.293066}, - {0.670274, -0.247172}, {-1.768643, 0.859413}, {0.290706, -0.231858}, - {-0.102970, -0.041794}, {-0.418989, -0.849960}, {0.098567, 0.921322}, - {-0.459667, -0.893404}, {-0.804486, 1.022065}, {-0.978005, -1.097316}, - {0.774600, -0.328074}, {-0.242046, 0.003126}, {-0.056869, -0.164227}, - {-0.521315, 0.145929}, {0.311763, -0.783776}, {0.116789, 0.376795}, - {0.518519, -0.236313}, {0.134501, -1.013336}, {-1.199793, -0.823016}, - {0.122597, 0.539057}, {0.664613, 0.256397}, {-0.316770, 0.490154}, - {-1.263702, -0.252355}, {0.550430, 0.282031}, {1.070783, -0.094371}, - {0.587430, -0.613368}, {0.684523, 0.740690}, {-1.023715, 0.345296}, - {0.107663, 0.265091}, {0.215299, -0.153788}, {-0.342020, -1.389234}, - {1.512062, 0.110530}, {-0.255843, -0.304788}, {0.344653, 0.472651}, - {1.604399, 0.282072}, {-0.123394, -1.073324}, {0.823059, 0.235494}, - {1.005127, -0.422945}, {1.087857, 0.942103}, {0.388606, 0.630055}, - {-0.489398, 0.271613}, {0.662806, -0.072930}, {-0.505174, -0.083009}, - {-1.099044, -0.087619}, {1.682942, 0.105597}, {-0.963602, -1.159610}, - {1.770411, -0.665544}, {0.274943, -0.029549}, {-0.368023, 0.498046}, - {0.382125, 0.110398}, {0.143411, -0.471052}, {-0.962301, -0.125190}, - {-0.382881, -0.300460}, {-0.702084, -1.028932}, {0.609839, -0.269770}, - {-0.322227, -0.046758}, {0.196679, -0.841992}, {0.389128, 0.554504}, - {-0.138058, -0.153224}, {0.225274, 0.357098}, {-0.326247, -0.149102}, - {0.189830, 2.038718}, {0.622165, -0.578665}, {-0.555788, -1.517656}, - {0.223546, -0.956908}, {0.036102, -0.216316}, {-0.527827, -0.790654}, - {-0.703457, 1.216742}, {1.896473, 0.420610}, {-0.919048, -1.717801}, - {-0.564716, -0.463391}, {0.072924, 0.515583}, {1.213858, 1.273362}, - {-0.585628, -1.777402}, {0.315143, 0.314280}, {1.599076, 0.263103}, - {0.551870, -0.508782}, {0.198278, -0.171192}, {0.370793, 0.390001}, - {0.186273, -0.685544}, {-1.334139, -0.047514}, {0.859364, 1.107470}, - {1.108595, -0.249803}, {-0.767836, 0.024632}, {-0.755180, 0.202525}, - {0.558701, -0.646325}, {-0.864527, -0.056300}, {-0.568031, 0.020910}, - {-0.192644, -0.239731}, {0.335820, 0.941753}, {-0.905318, 0.078626}, - {1.348554, -0.274217}, {0.718711, 0.937416}, {0.701784, 1.186619}, - {0.783715, 0.942788}, {0.511822, -0.269353}, {0.262749, 0.224861}, - {-0.369690, 0.087992}, {0.119908, 0.245625}, {-0.755046, -0.352329}, - {1.050758, -1.220104}, {1.112945, -0.869696}, {0.154116, -0.398725}, - {-0.682546, -0.178220}, {0.000616, -1.176764}, {0.582237, -0.360093}, - {-0.048804, -0.182963}, {0.343632, -1.302243}, {-0.059123, 1.169904}, - {-0.849233, 0.417740}, {0.802972, 0.824939}, {-0.259347, 1.401916}, - {0.262680, 1.027712}, {0.119396, 0.842189}, {0.789537, 0.288341}, - {0.873023, -0.678867}, {-0.282999, -0.803959}, {0.032434, -0.332495}, - {0.362466, -0.869451}, {1.303907, -0.351392}, {-0.261026, -0.184508}, - {0.069724, 0.222538}, {-1.692123, -0.176506}, {0.182023, -0.297168}, - {1.166731, 0.974402}, {0.182690, 0.901593}, {-2.707181, 0.294289}, - {-0.422655, 0.616411}, {0.818191, -0.536655}, {0.200265, -0.152867}, - {-0.571663, -0.576991}, {-1.149922, 0.237294}, {0.683474, 0.514764}, - {-0.327411, -0.298380}, {0.543399, 1.134105}, {0.221413, -0.885642}, - {1.120697, -0.024074}, {-0.727365, 0.561341}, {-0.060173, -0.140444}, - {0.010505, -0.532622}, {0.085622, 0.854726}, {0.776915, 0.627544}, - {-0.480372, 1.612013}, {0.035874, 0.948871}, {-0.202889, 0.071192}, - {1.071655, 0.563884}, {-0.856493, 0.157759}, {1.465912, 0.740984}, - {-0.975957, 0.149083}, {0.017006, 0.661242}, {0.677641, 0.736448}, - {-0.055937, 1.619199}, {0.017620, 0.501037}, {-0.329608, -0.642669}, - {0.460941, -0.086157}, {-0.677150, -0.999700}, {1.085090, 0.487071}, - {0.766686, 0.736476}, {0.245465, -0.602065}, {0.259054, -0.926270}, - {0.241794, 0.493962}, {0.213145, -0.717582}, {-0.164479, 1.252053}, - {1.520899, 0.765972}, {-0.262001, -0.514990}, {0.394009, 0.530819}, - {-0.398782, 0.610431}, {0.061806, -0.058270}, {0.630771, 1.025669}, - {-0.235617, 0.164118}, {-0.497122, 0.651216}, {0.906863, 0.812694}, - {0.942602, 0.037286}, {0.353956, -0.268639}, {0.721879, -1.407883}, - {0.336154, -1.490511}, {0.463325, -0.409685}, {-0.654404, 0.164448}, - {1.353668, -1.381831}, {0.902985, 1.291975}, {-0.673638, 1.082945}, - {0.096381, 0.069481}, {0.268580, -0.006480}, {0.351301, 0.210100}, - {-0.111290, 0.763114}, {0.482922, 0.206619}, {0.265563, 0.454462}, - {-1.242255, -1.027363}, {-1.082879, 0.470826}, {0.192528, -1.507715}, - {-1.393900, 0.462004}, {-0.328719, 0.813496}, {0.736296, 0.834899}, - {0.401170, -0.096215}, {0.570525, -0.070442}, {-0.633878, -0.590925}, - {0.147991, 0.069756}, {0.368475, 0.553471}, {-0.936644, -0.634945}, - {-0.209835, 0.061014}, {0.376984, 0.415601}, {-0.053992, 0.927934}, - {-0.664815, -0.230709}, {-0.368558, -0.869841}, {0.869019, 0.207397}, - {-0.077032, 0.015291}, {-1.041657, -1.084937}, {-0.040849, -1.191117}, - {-0.040502, -0.637029}, {-0.113547, -0.036059}, {-0.376653, 0.011245}, - {-0.611166, -0.722246}, {-0.252785, 0.199909}, {-0.554396, -0.777145}, - {1.508706, 1.960357}, {0.802878, -1.058245}, {-0.668372, -0.380450}, - {0.934698, 0.328675}, {-0.484190, -0.777490}, {-1.096700, -0.599480}, - {0.133311, -0.708274}, {-0.037022, -0.697705}, {-0.094335, -0.104415}, - {0.578229, -0.473142}, {0.521239, 0.402009}, {-0.601727, -0.589783}, - {1.068671, -0.802095}, {-0.179212, 0.761986}, {-0.098283, -0.660154}, - {-1.325546, 0.733457}, {1.204701, 0.635880}, {0.071453, 0.547081}, - {0.116252, 0.809687}, {-0.289209, -0.786678}, {0.060218, -0.093927}, - {1.040621, 0.201639}, {0.663944, -1.404113}, {0.323341, 0.022382}, - {-1.173198, 1.186145}, {0.631958, 0.811309}, {0.140914, -0.812980}, - {0.918574, -0.388552}, {0.137629, 0.245151}, {0.286895, -1.006635}, - {-0.883709, 0.464159}, {1.149660, 0.500635}, {0.869576, -0.471720}, - {0.820353, 0.381747}, {-0.764649, -0.632796}, {-1.436934, -0.113737}, - {-2.086755, 0.084057}, {1.010455, -0.246709}, {-0.149211, -1.532015}, - {0.496285, 0.442942}, {0.101726, -0.696911}, {0.536346, -0.055237}, - {-1.001254, -0.165978}, {0.527046, 1.269435}, {0.251018, -0.408625}, - {-0.398318, 1.683260}, {-0.838820, -0.091386}, {1.301904, 1.505187}, - {0.156433, -0.483412}, {-0.888996, -0.920372}, {1.318649, 0.539760}, - {0.608943, 1.036337}, {-0.290264, -1.659074}, {-0.100778, 0.034840}, - {-0.597380, -0.927067}, {2.662626, -0.397478}, {1.115005, -0.106991}, - {0.838668, -0.032934}, {-0.046413, 0.184593}, {0.262956, -0.070027}, - {0.126185, 1.919012}, {-0.267772, -0.664473}, {0.614649, 0.179683}, - {-0.527418, 0.106321}, {-0.240424, 1.418708}, {-0.112591, -0.348458}, - {1.337480, -0.026564}, {-0.112471, 0.124444}, {-0.491147, 0.252096}, - {-0.291925, -0.069114}, {0.572380, 0.425877}, {0.216700, 0.480072}, - {0.002923, -0.590032}, {-0.221473, 0.797032}, {-0.450239, -0.109167}, - {-0.138495, 0.363282}, {0.536702, 0.942890}, {-0.385188, -0.255577}, - {-0.195874, -0.396227}, {-0.149959, -0.045442}, {0.175505, 0.639732}, - {-0.871016, 0.558898}, {-0.166986, 0.487026}, {0.015097, 0.188443}, - {1.593731, -0.064295}, {-1.302004, 1.334270}, {0.647612, 0.649894}, - {-0.466297, -1.438770}, {-0.082164, -0.271981}, {-0.369005, 0.109265}, - {0.012960, 1.067369}, {0.008171, -0.522336}, {1.072758, 0.533772}, - {0.010905, -0.615835}, {-0.267041, 0.338341}, {-0.163231, -0.172623}, - {-0.298143, -0.844671}, {-0.996324, 0.395993}, {0.351228, 0.210237}, - {-0.408737, 1.852449}, {1.371179, -0.270106}, {0.698624, -0.186227}, - {0.764440, -1.018351}, {-0.417185, -0.489324}, {-0.254638, -0.780647}, - {-0.589837, -1.171805}, {1.132576, -0.812185}, {0.071797, 0.075910}, - {-0.142160, -0.205967}, {-0.131813, -1.570445}, {-0.646197, -0.501273}, - {-0.343572, -0.550584}, {-0.384814, 0.182407}, {1.396442, -0.058372}, - {1.089823, 0.806014}, {0.613392, 0.111495}, {-0.619374, -0.997811}, - {0.937457, 0.236635}, {-1.783063, -0.017353}, {0.639293, 1.721414}, - {-0.973684, -0.595704}, {0.588127, 2.077128}, {-0.508637, 0.421534}, - {-0.204767, -0.116534}, {-0.925742, -0.808087}, {-0.247853, 0.383247}, - {0.122339, -0.377588}, {-0.245016, 1.239323}, {-1.251013, 1.414176}, - {-0.595604, 0.183438}, {0.165761, 0.973419}, {-0.360977, 0.533837}, - {-0.156010, 1.266329}, {-0.361477, -0.706989}, {-1.278243, -0.570395}, - {0.188787, -0.241089}, {0.695269, -0.016308}, {0.336792, 1.128790}, - {-0.195083, -0.486791}, {0.435703, -1.218875}, {-0.892865, 0.992856}, - {-0.503019, -0.799460}, {0.305161, -0.872681}, {0.824504, 0.670722}, - {-0.057163, -0.737607}, {-0.459377, -0.426213}, {0.661363, -0.123470}, - {0.291500, -0.574575}, {0.736858, -0.048679}, {-1.798391, -0.674830}, - {-1.124265, -0.210419}, {0.305464, 0.240427}, {0.660762, 0.390722}, - {-2.191616, -0.299109}, {0.764942, -0.333123}, {-0.766828, -0.575533}, - {0.609647, -0.179405}, {0.010595, -0.673221}, {0.496617, 0.041268}, - {0.961196, -0.055449}, {-0.225309, 0.834606}, {1.114384, -0.055796}, - {-0.222813, -0.099848}, {-0.120519, 0.033593}, {1.015066, -0.116109}, - {-0.906373, 0.667821}, {-1.147539, -1.158675}, {-0.339648, -0.873359}, - {-0.489429, -0.652974}, {-0.607693, 0.915098}, {-0.739589, -0.880921}, - {-0.519588, 0.827766}, {0.166684, -0.028429}, {-0.621222, -0.143460}, - {0.186200, -0.213188}, {-0.815053, -0.375461}, {0.459186, 0.134372}, - {0.218895, 0.177810}, {0.028394, -0.083888}, {-0.673259, -0.245137}, - {1.213576, -0.494994}, {-0.504661, 1.291076}, {0.485929, 0.212768}, - {-0.050601, 1.330620}, {-0.127089, 1.121260}, {-0.062864, 1.184358}, - {0.388036, 0.065984}, {0.639649, 0.940623}, {0.345500, -0.926372}, - {0.294821, 0.080969}, {-0.675096, 0.401880}, {-0.457889, -1.034898}, - {0.546379, -0.123306}, {1.925229, 0.617684}, {0.036275, 0.153092}, - {0.438382, -0.367055}, {-1.510804, -0.350652}, {0.511549, 0.357008}, - {0.058650, -0.056035}, {0.426843, 0.291233}, {0.647381, 1.340631}, - {-0.459728, 0.946206}, {-0.626630, 0.024277}, {-0.023095, -0.808970}, - {0.409768, -1.094577}, {-0.364498, 0.100205}, {0.584196, -0.029047}, - {-1.299973, -1.205881}, {-1.467178, 1.165527}, {0.651701, -0.056131}, - {0.591321, 0.585146}, {1.050908, -0.864838}, {-1.010467, 0.869663}, - {0.286195, 0.382027}, {-0.407370, 0.606735}, {0.731817, -0.248191}, - {0.594029, 0.949877}, {1.107643, 0.816630}, {0.112756, -0.800629}, - {-0.936598, -0.635692}, {0.320902, -1.154471}, {0.362662, 0.687527}, - {-0.772593, -0.345974}, {-0.301668, -0.298240}, {-0.317592, 1.336231}, - {-0.396778, -0.334856}, {-0.506675, -0.312185}, {-1.281432, 0.149600}, - {0.401639, -0.418585}, {0.782846, 0.722927}, {0.344150, 0.854286}, - {-0.014517, 0.567740}, {0.108356, 0.024531}, {0.902085, -0.055156}, - {0.826237, -0.713395}, {0.244866, 0.044681}, {-0.176188, 0.891915}, - {-0.420097, -0.253119}, {0.417268, 0.290663}, {0.163310, -0.245311}, - {-0.182683, -0.297175}, {0.631826, -0.030011}, {-0.109512, -0.088560}, - {1.429108, 0.225297}, {0.155576, 0.083817}, {1.613520, 0.239461}, - {0.127288, -0.420358}, {0.477950, 0.504352}, {1.328754, -0.163013}, - {-0.568880, -0.751232}, {-0.482506, -1.538834}, {-0.059557, 0.412963}, - {0.350223, -0.360451}, {0.833328, 1.009992}, {-0.066145, -0.506290}, - {-1.529181, 0.414709}, {1.240990, 0.206763}, {-1.129462, 0.769895}, - {-0.481806, 0.484887}, {0.595993, 0.725062}, {-0.285575, 1.347548}, - {2.330541, -0.013789}, {-1.797866, 0.257308}, {0.905498, 0.146234}, - {-0.319323, -1.413330}, {-0.175398, -1.142782}, {-0.862556, 0.482210}, - {0.223448, 0.729414}, {0.578396, -0.016839}, {-0.318659, -0.617867}, - {0.157744, 0.530414}, {0.123166, -0.362401}, {1.806366, 0.187194}, - {0.141849, 0.128567}, {0.233317, 0.139137}, {-0.195036, -0.613837}, - {1.714962, 1.593262}, {-0.732866, -0.038927}, {0.307565, -0.920340}, - {0.373395, -0.516143}, {0.826920, -0.612844}, {-0.388779, -0.390229}, - {-0.862877, 0.788258}, {0.495550, 0.670739}, {-0.545650, 0.635220}, - {-0.230298, 0.414062}, {-0.719266, -0.811359}, {-0.999942, 1.684412}, - {0.527479, 0.543823}, {-0.743616, 0.101886}, {-0.199070, 0.115074}, - {-0.870949, 0.256787}, {0.142208, 0.122864}, {1.178514, -0.092691}, - {0.516611, 0.664212}, {-0.414682, 1.125980}, {0.378510, -0.100979}, - {0.283304, -0.277420}, {-0.208157, -0.202171}, {-0.440988, -0.820237}, - {1.298009, -0.850293}, {0.779159, -0.461672}, {0.149934, 1.508017}, - {0.095404, -0.092000}, {-0.337095, -0.317412}, {-0.629736, -0.111690}, - {-0.399381, 0.078341}, {-0.479442, -0.187099}, {-0.760090, 0.125670}, - {-0.610029, -0.278563}, {0.649156, 0.494456}, {-0.672965, 0.631743}, - {-0.016562, 0.306273}, {-0.609100, 0.137436}, {0.652638, 1.047158}, - {0.026014, -0.348532}, {0.423324, -0.479491}, {-0.383879, 0.485369}, - {-0.598911, -0.835369}, {0.115294, -0.571799}, {-0.125615, 0.202125}, - {-0.909276, -0.587717}, {-0.727220, 0.093925}, {-0.134042, -0.601821}, - {-0.187468, -0.669988}, {0.370470, 0.393121}, {-0.691281, 0.520446}, - {-0.548105, -0.687475}, {1.223865, 0.276014}, {-0.770862, -0.529642}, - {-0.147001, -0.466523}, {-0.573650, 0.453058}, {-0.592723, 0.439779}, - {-0.455307, -0.206169}, {1.320446, 0.684046}, {-0.935463, -0.447754}, - {0.703593, -1.016309}, {-0.891936, -0.175935}, {0.328758, -0.396236}, - {0.094338, 0.221705}, {-1.404257, -0.190658}, {-0.100089, 1.039360}, - {-0.966548, 0.827384}, {-1.253737, -1.014768}, {-0.346418, -1.267854}, - {-0.158700, 1.164901}, {-0.034736, 0.009220}, {0.545952, -0.246464}, - {0.717271, -0.093260}, {0.676085, -0.863656}, {0.493132, -0.105922}, - {-0.533072, 0.636553}, {-0.216843, 0.884234}, {0.111424, 0.082110}, - {1.028141, 0.146957}, {-0.446215, 0.136231}, {0.730978, -0.275731}, - {0.042365, 0.048442}, {-0.370711, -0.543378}, {0.106057, 1.265886}, - {0.379243, -0.330497}, {1.108852, -0.723866}, {-0.110398, 0.511860}, - {-0.106902, 0.174878}, {1.148426, -0.603670}, {-0.128195, 0.280598}, - {0.764800, -0.358176}, {-0.266245, 0.816531}, {0.114914, -0.539096}, - {0.114034, -0.367231}, {2.141155, -1.484656}, {-0.724135, -0.856970}, - {0.266306, -0.874060}, {0.846456, 0.435570}, {0.066472, 0.252900}, - {-1.088643, -1.133248}, {-0.566947, 0.767431}, {0.619468, -0.550164}, - {0.029218, 1.459059}, {1.301080, 0.095710}, {1.753613, -0.553147}, - {1.516418, -0.318869}, {0.861448, -0.472804}, {-1.047020, -0.037668}, - {-0.123383, 0.272455}, {-0.124143, 1.500702}, {0.378722, 0.458093}, - {-1.369372, -0.010599}, {-1.027065, 0.948843}, {0.152530, -0.545888}, - {-0.239192, 0.716174}, {0.874709, -1.022073}, {-0.259942, -0.432089}, - {0.315777, -0.677813}, {-0.187516, 0.604001}, {-0.350366, -0.868253}, - {0.358178, 0.239084}, {-0.355413, 0.043801}, {-0.114867, 0.567550}, - {0.031781, 0.301042}, {-0.447827, -0.086481}, {0.347362, -0.347636}, - {1.466736, -1.298975}, {1.198740, -0.131404}, {1.300932, 0.897703}, - {0.490673, -0.229079}, {-0.330844, -0.232505}, {0.025943, 0.810266}, - {-0.261850, -0.280763}, {-0.607853, 1.415846}, {0.498158, -1.107135}, - {0.674920, -1.200670}, {-0.527907, 0.318037}, {-0.097676, 0.532536}, - {-0.475594, 0.848160}, {1.642276, -0.891873}, {-0.019197, -0.109536}, - {0.784795, 0.260554}, {-0.431823, -0.907632}, {-0.763132, -0.342258}, - {0.570806, -0.517628}, {-0.522336, 0.403684}, {0.307563, -1.143478}, - {0.825753, 0.031997}, {0.368023, -0.139664}, {2.021968, -0.943570}, - {0.245160, -0.269865}, {1.303964, 0.871270}, {-0.453218, 0.819811}, - {0.594784, 0.655540}, {-0.891577, -0.373922}, {0.538908, -0.710190}, - {0.930254, 0.481708}, {0.307017, -0.652410}, {-0.201791, -0.804746}, - {-0.740248, -0.045989}, {0.865316, 0.507359}, {0.112008, 0.675150}, - {0.390570, -0.737997}, {0.588187, -0.739911}, {-0.557253, 0.208247}, - {-1.425644, -0.743117}, {0.400609, -1.036328}, {0.703460, 0.720835}, - {-1.235671, 0.360834}, {0.977538, 0.800469}, {-0.215826, -0.917093}, - {0.464002, -0.108658}, {-0.170525, 1.430161}, {0.249880, 0.881905}, - {0.039538, 0.515360}, {0.589463, 1.687736}, {-0.918504, 0.398258}, - {0.885603, -0.419459}, {-0.103454, 0.517781}, {-1.403384, 0.991157}, - {-1.129402, -0.084304}, {0.631421, -0.053522}, {1.013885, -0.201949}, - {0.677556, 0.891074}, {0.761542, -0.055830}, {1.043183, 0.841930}, - {0.116780, 0.047638}, {-0.379538, 0.850317}, {0.899566, -1.508949}, - {-0.360145, -0.726620}, {-0.394237, 0.504382}, {1.299661, -0.904075}, - {0.037135, -1.543567}, {0.025721, -1.294574}, {-0.201345, -0.573420}, - {-0.805476, 1.100473}, {-0.222557, 0.815637}, {0.745171, -0.443108}, - {-0.051322, 0.385340}, {0.415288, 0.967950}, {0.567228, 0.929748}, - {-0.981482, 0.368396}, {-0.322623, 0.925524}, {0.036004, -1.359715}, - {-1.239654, 0.547052}, {0.569381, 0.209552}, {0.999405, 0.435894}, - {0.209398, -0.035708}, {-0.616545, -1.367319}, {-0.032505, 0.893263}, - {-0.753972, -0.284855}, {-1.122253, 0.694921}, {0.062416, 0.560687}, - {-0.867416, 0.682553}, {-0.093222, 0.154366}, {-0.881648, 0.429238}, - {-0.190308, -2.089628}, {0.066021, 0.756615}, {0.514725, -0.798372}, - {0.053171, -1.408616}, {0.209844, 0.661365}, {-0.353419, 0.830578}, - {0.283011, -0.510899}, {1.844187, 0.067852}, {0.452893, 0.042450}, - {1.522679, 0.732928}, {0.455406, -0.622942}, {0.434744, -0.877805}, - {0.156233, 0.549888}, {-0.488361, 0.683512}, {-0.709181, -0.074767}, - {1.094457, -1.430172}, {-1.090533, -1.200256}, {0.467875, -1.396375}, - {-0.216862, 0.998395}, {0.845417, 0.461581}, {-0.243621, -1.037224}, - {1.009367, -0.804843}, {-0.733158, -0.634989}, {-0.317695, 0.187141}, - {1.042970, -0.479150}, {0.574917, -0.396721}, {-0.753535, 0.501924}, - {0.176516, 0.011773}, {-0.252053, -0.567245}, {0.523082, 0.913279}, - {-1.555099, 0.401929}, {-0.437464, 0.181542}, {-0.873226, 0.044419}, - {0.219685, 1.157821}, {-0.254417, -1.517094}, {0.091563, -0.354438}, - {-0.528333, -0.170731}, {0.995211, 0.678314}, {-0.898812, -0.064997}, - {-0.013840, 0.293050}, {-0.839259, -0.587023}, {-0.945978, -0.617619}, - {-0.895625, 0.302625}, {1.051869, 0.573372}, {-0.825980, -0.122912}, - {0.163980, 1.256745}, {0.706734, 0.124522}, {-0.361175, 0.101887}, - {1.057818, -0.426948}, {-0.675053, 1.031729}, {0.206726, 0.279056}, - {0.389211, -0.301896}, {1.063765, 0.619761}, {0.352544, 0.613860}, - {0.128183, -0.129278}, {-0.839177, 0.102129}, {-1.009067, 0.298734}, - {0.002993, -0.360330}, {1.224970, -0.160513}, {1.106708, -0.229533}, - {-1.032136, -0.377685}, {-0.236230, 0.001354}, {0.410400, 0.222334}, - {0.392320, 1.483927}, {0.665122, 0.691449}, {-0.455393, -0.602445}, - {-1.351692, 0.738197}, {-0.766579, 0.268302}, {1.589365, 0.864385}, - {0.070446, 0.850433}, {-0.308235, -0.135000}, {-0.292362, -1.347597}, - {1.555687, -0.715862}, {-0.014022, -0.045398}, {-0.446291, 1.226295}, - {-1.032951, -0.093507}, {-0.899258, 1.039720}, {-1.078121, -0.867005}, - {0.520897, 0.494706}, {-0.211998, -0.448273}, {0.580937, -0.430233}, - {0.179600, 0.873513}, {0.808713, -1.022514}, {0.555485, 0.127189}, - {0.880953, -0.143050}, {1.149157, 0.917433}, {-0.893810, 0.428443}, - {-1.266854, -0.409126}, {-0.626689, 0.378355}, {-0.164413, -0.184089}, - {-0.898300, 0.593376}, {-0.547055, 0.834128}, {-1.142588, -0.422562}, - {-0.284378, -0.254682}, {0.791523, -0.756468}, {0.485108, -0.001937}, - {-1.059758, -0.298921}, {0.575755, 0.321922}, {0.126469, 0.056855}, - {0.481604, -0.118000}, {-0.161121, -0.348846}, {-0.018420, 0.600699}, - {1.149129, -0.048108}, {-0.542935, -1.132408}, {0.615102, 0.119735}, - {-0.401196, -0.056096}, {0.240128, -0.191069}, {-0.230665, 0.650328}, - {-1.043812, 0.267771}, {-0.337422, -1.346232}, {-1.272762, 0.339037}, - {-0.577232, 0.042670}, {-0.024654, 1.721493}, {-0.290755, -0.294420}, - {0.050099, -0.241641}, {0.523826, -0.443739}, {1.259578, 0.041380}, - {1.203733, -0.585998}, {0.759313, -0.279728}, {-0.270898, 0.554221}, - {0.319001, 0.630204}, {-1.012906, -1.065616}, {-0.064960, -0.895967}, - {-0.439101, -0.524601}, {0.648934, -0.701096}, {0.990764, -1.487838}, - {0.266843, 0.072485}, {-1.337164, -0.177902}, {0.882257, -0.971672}, - {0.443937, 1.419520}, {0.489435, 0.600496}, {-1.048080, 0.668837}, - {0.080006, -0.024016}, {0.393861, -0.144830}, {0.029134, -0.594013}, - {0.020636, 0.866641}, {-0.695757, -0.655914}, {-0.145142, -0.618203}, - {-0.302988, -0.495213}, {-0.462676, 1.085804}, {0.153729, -0.610300}, - {-0.098602, 1.025134}, {-0.571255, -1.464634}, {-0.761817, 0.959088}, - {-0.975994, -0.370398}, {-0.313675, 0.590253}, {0.297074, 0.390224}, - {-0.582347, -0.270186}, {-0.652665, -1.353611}, {-0.019627, 0.000436}, - {0.117063, 0.851400}, {-0.123453, -0.339978}, {-0.071860, -0.712601}, - {-0.150279, 0.705257}, {0.346280, -0.008366}, {-0.959111, 0.297700}, - {0.620350, -0.430125}, {-0.047112, 0.050720}, {1.805691, -0.047197}, - {1.715418, -0.183448}, {-1.158967, 2.090597}, {0.743999, -1.778906}, - {0.025331, -0.388354}, {0.518336, -0.327919}, {1.166154, -0.289812}, - {0.029288, 1.018113}, {0.007631, -0.292880}, {-1.468947, 0.677554}, - {0.948800, -0.363516}, {0.363116, -1.186390}, {0.033570, -0.368930}, - {-1.920066, -0.183494}, {1.245028, 1.360201}, {0.157701, 0.511411}, - {-0.725534, 0.913929}, {-0.642394, 0.108628}, {1.433083, 0.355667}, - {-0.351948, 0.578183}, {0.229656, -1.065693}, {-0.231833, 0.177390}, - {1.099345, -0.553877}, {-1.922732, 0.038200}, {-0.200014, 1.349928}, - {0.725471, -1.057210}, {0.242414, 0.445252}, {-0.886991, -0.408397}, - {0.510536, 0.822131}, {-0.260030, 0.343419}, {-0.214564, -1.138471}, - {-0.008637, -0.579129}, {-0.761397, -0.872982}, {0.350951, 0.624380}, - {0.900611, 0.816234}, {-0.522778, 0.207549}, {-0.760791, 0.034648}, - {0.375186, 0.362076}, {0.112175, 0.831388}, {-1.242682, -0.022903}, - {0.331423, 0.701496}, {0.253687, -0.488079}, {-0.873518, 0.279186}, - {0.231592, -0.385780}, {-0.701089, -0.501785}, {-0.241921, -1.391418}, - {0.019241, 0.106733}, {0.591344, -1.051357}, {0.745421, -0.610140}, - {-0.606596, 0.169312}, {-0.372797, -0.501536}, {-0.768757, 0.841569}, - {-0.348190, 0.051062}, {0.063387, 0.584047}, {0.329073, -0.791211}, - {0.514938, 0.740972}, {0.273985, -0.582246}, {-0.967329, 0.578559}, - {0.415417, 0.124701}, {-0.098539, 0.385786}, {-0.004510, -0.248503}, - {0.555897, 0.242153}, {1.579329, 0.015322}, {0.230998, 1.990804}, - {0.363098, 0.553719}, {1.562863, 0.478130}, {0.026208, 0.305355}, - {1.116516, 0.360515}, {-0.982566, -0.465728}, {-0.508676, -0.878270}, - {-0.144291, 0.415225}, {-1.350074, -0.098142}, {1.616341, -1.518052}, - {0.104774, 0.015461}, {0.374867, -1.531420}, {-0.416475, -0.114543}, - {-0.739622, -1.138037}, {-0.923005, 1.062459}, {-0.664320, -0.280073}, - {-1.156293, -0.337499}, {-0.689945, 0.344369}, {1.058939, 0.443670}, - {-1.285207, 0.147568}, {0.475596, 0.835141}, {-0.239945, 1.476067}, - {0.025039, 0.541449}, {-0.101321, -0.682732}, {-0.546186, -0.130474}, - {-0.433541, 0.503623}, {0.464975, 1.359146}, {-0.567927, 0.964406}, - {-1.219789, -1.539823}, {-0.016740, 0.669833}, {0.182447, -0.271553}, - {-1.320623, 1.306323}, {-0.000075, -0.219999}, {-1.536075, 0.914474}, - {-1.404556, -1.020084}, {-0.150083, 0.236011}, {0.516978, 0.585327}, - {0.241503, 0.030283}, {-0.329743, 0.849644}, {-0.537257, 1.132562}, - {0.817902, -0.281236}, {1.432319, 0.095690}, {0.632687, -0.576622}, - {-0.734149, 0.271036}, {0.459345, -0.277828}, {0.305288, -0.697961}, - {-1.187887, 0.415304}, {0.796687, -0.667703}, {0.059859, 0.503282}, - {-0.674526, 0.557001}, {0.761860, -0.342605}, {-0.553691, -0.066432}, - {0.158447, 0.486740}, {0.871085, -0.243732}, {-0.618374, 0.322577}, - {0.211178, -0.228494}, {0.256709, -0.631463}, {0.136058, -0.407427}, - {0.386538, -0.076609}, {0.363731, 0.067482}, {-0.693882, 0.964447}, - {1.052294, -0.778507}, {-0.404876, -1.906265}, {0.357725, -0.223712}, - {-0.899349, -0.135851}, {0.297922, -0.353175}, {0.378138, 0.542955}, - {0.948882, -0.008489}, {-1.168557, -0.095203}, {0.196487, 1.331091}, - {-1.592780, -0.195128}, {0.496292, 0.257436}, {0.094574, 0.257786}, - {0.179735, 0.175672}, {-0.773849, -0.867187}, {-0.218875, -0.151987}, - {-1.457404, 0.561553}, {-0.766543, -1.240765}, {-0.311424, -0.241690}, - {1.593359, -0.990696}, {-1.347961, -0.110373}, {0.087199, -0.249410}, - {-0.381577, 0.193060}, {1.290974, 0.330803}, {-0.264855, -0.062533}, - {1.932407, -0.669281}, {1.404137, -0.854353}, {0.032966, -0.375454}, - {-0.665186, -0.403770}, {-0.669869, 0.889790}, {0.897455, -0.188428}, - {0.730249, 1.021129}, {-0.843537, -0.297006}, {0.429220, -0.539707}, - {0.449427, -0.771936}, {-0.429601, 0.576114}, {0.055077, -0.604795}, - {-0.278586, 0.300688}, {0.067531, -1.925382}, {-0.924128, -0.958812}, - {-0.337994, -0.727637}, {-0.457529, 1.034296}, {0.370646, -0.836115}, - {-0.467752, 0.409464}, {-0.334921, -0.540654}, {0.832486, 0.959241}, - {0.746558, 0.657005}, {-0.318685, -1.230673}, {-0.169521, 0.642337}, - {0.789263, 0.831460}, {0.223756, 0.414123}, {-0.325954, -0.321332}, - {0.075028, 0.967698}, {0.216434, -0.716844}, {-0.776716, 0.826807}, - {-0.074531, 0.812789}, {-0.537597, 1.026980}, {0.152495, 0.982402}, - {0.413097, -0.552747}, {0.611235, -0.071720}, {-0.491325, -0.356869}, - {-0.486791, -0.626587}, {0.204293, -0.436972}, {-0.211208, -0.432147}, - {-0.561132, 1.073539}, {-0.070137, -0.184257}, {-1.115610, -0.477053}, - {1.018256, 0.435396}, {0.301658, -0.197887}, {-0.147236, 1.059088}, - {-0.888603, 0.328241}, {-1.070295, -0.599636}, {0.316661, 0.365444}, - {-0.212919, -0.409418}, {-0.753071, 0.087512}, {0.404576, 0.038580}, - {-1.504748, -0.267729}, {-0.313997, -0.930065}, {-0.236354, -1.238931}, - {-0.376294, 0.405383}, {1.291459, -0.346108}, {-0.297634, 0.589772}, - {0.110657, -0.512851}, {-1.955329, -0.456873}, {-1.247619, 0.482959}, - {0.083895, -0.640105}, {-0.396012, 1.108095}, {0.909912, -0.470332}, - {-0.049822, -0.096660}, {0.363109, 0.186229}, {-0.314218, -0.256700}, - {-0.295377, -0.825150}, {-0.122935, 0.847107}, {0.254378, 0.637229}, - {0.103655, 1.262402}, {0.673758, -0.803048}, {0.318196, -0.206245}, - {0.385547, 0.450488}, {-1.392342, 0.052822}, {-0.665772, 0.103675}, - {0.426712, -1.222266}, {-0.075608, -0.769710}, {-0.548068, -0.642260}, - {0.647223, 0.860224}, {0.483236, 0.514534}, {0.398769, 0.050907}, - {1.229950, 0.745029}, {0.911489, 1.188746}, {-0.099161, -0.697764}, - {0.247348, -0.284992}, {-0.248089, -0.862396}, {0.846203, -1.166603}, - {0.906759, 0.708414}, {-1.122335, -0.402972}, {-0.118882, -0.437190}, - {-0.430711, 0.992516}, {-0.985280, -0.933490}, {0.753059, -1.029240}, - {0.074035, 1.011795}, {-0.554878, -0.736494}, {0.137578, -0.170962}, - {0.010941, 0.160870}, {-0.287390, -0.081999}, {-0.915608, -0.288509}, - {1.009344, 0.455340}, {-1.170750, 0.374210}, {-0.509900, 0.696984}, - {-0.073667, 0.542572}, {0.508428, -0.509940}, {0.162651, -0.619031}, - {-0.894067, -0.370045}, {-1.100994, 0.144700}, {-0.361678, 0.973850}, - {-0.592640, 0.709252}, {0.482369, 0.464118}, {0.646740, 0.794370}, - {-1.518095, -0.047480}, {-2.480153, 0.558073}, {0.171995, -0.118977}, - {-0.307031, -0.408313}, {0.667857, 0.886201}, {1.215072, -1.815363}, - {0.636451, -0.999552}, {1.038871, 0.746703}, {0.799771, -0.633650}, - {-0.478658, 0.963576}, {0.660793, -0.396006}, {-0.366382, -0.010134}, - {-0.126455, 0.550368}, {-0.295040, -0.019897}, {-0.189119, 0.144486}, - {-0.409427, -0.246134}, {-0.749594, 1.158845}, {-0.619952, -0.568661}, - {0.418661, -0.682120}, {0.022881, -0.611217}, {0.745549, -0.999202}, - {0.223803, -1.326778}, {-0.512690, -0.409827}, {0.730464, 0.154411}, - {0.304366, 0.129614}, {1.037600, -0.642403}, {-1.589766, 0.575436}, - {1.303312, 1.195870}, {-0.048468, -0.161105}, {-0.583344, 0.721412}, - {-0.598792, -1.629398}, {-1.184964, 0.686923}, {-0.206515, 0.128982}, - {-1.354328, 0.347421}, {-0.305114, -0.063748}, {-0.148754, 1.025688}, - {1.386647, -0.299267}, {0.623479, 0.660380}, {0.111936, -0.215479}, - {0.164504, -0.448971}, {-1.298132, -0.229643}, {-0.544931, 0.273312}, - {0.708111, 1.131149}, {-1.025639, 0.983595}, {-0.874828, 0.448445}, - {0.083092, 0.131569}, {-0.199073, 0.111786}, {0.471144, -0.582538}, - {-0.002063, -1.209889}, {0.036177, -0.191428}, {0.048523, -0.482262}, - {-0.591823, 0.022019}, {-0.957858, 0.379499}, {-0.388964, -0.030605}, - {-1.067693, -0.564523}, {0.683215, 0.452901}, {-0.417523, -0.888896}, - {0.116388, -0.001175}, {-0.530451, -0.402808}, {-0.501828, -0.447776}, - {-0.312741, -0.320066}, {0.239558, 0.274188}, {0.413057, -0.479391}, - {0.804059, 0.228824}, {0.251042, -0.392509}, {-0.977828, -0.114416}, - {0.706358, 0.019025}, {-0.604572, -0.619421}, {-0.965764, 0.532922}, - {-0.557196, -0.448498}, {0.117221, -2.151584}, {0.339451, 0.235127}, - {1.163795, 0.355797}, {-0.724402, 0.409418}, {0.255004, 0.576204}, - {-0.258374, 0.349667}, {1.028698, -0.794530}, {0.527963, 1.589823}, - {0.719742, -0.748712}, {0.368928, -0.686335}, {0.065692, 0.585041}, - {-0.125019, -0.273104}, {-0.241274, -0.481545}, {0.254201, 0.650913}, - {-0.612250, 0.134043}, {-0.040628, 1.546205}, {-0.153613, -0.158336}, - {0.573747, -0.368891}, {0.247576, -0.546121}, {-0.327529, -0.227120}, - {0.909237, 0.293783}, {-0.641484, 1.032472}, {0.945376, -0.976555}, - {-0.097696, -1.005641}, {0.280105, 0.778472}, {0.129635, -0.266768}, - {0.163724, -0.064104}, {0.234504, -0.013251}, {-0.745244, 2.072479}, - {-1.437508, 0.815776}, {-0.742229, -0.540598}, {0.532092, -0.390349}, - {0.231447, -0.072878}, {0.459868, -0.668039}, {-1.085061, 0.706084}, - {0.666810, -0.686744}, {0.881553, 0.001870}, {0.028822, -1.283565}, - {-0.420608, 0.313733}, {-0.114939, -0.901210}, {-0.382738, 0.663378}, - {-0.159187, 0.391378}, {0.413518, 0.011760}, {-1.145054, -0.174115}, - {0.657089, -0.093871}, {0.439769, -0.078178}, {-0.876726, -1.290887}, - {-0.194151, -0.120212}, {-0.573588, -0.601036}, {0.480740, -0.445964}, - {0.246870, 0.914457}, {1.507856, -0.333776}, {1.176638, 0.254658}, - {0.571415, 0.268885}, {-0.635128, 0.650310}, {0.383027, -0.382331}, - {0.464641, -0.511072}, {0.874510, -0.963842}, {-0.540770, -0.325872}, - {0.253789, -0.123098}, {-0.270305, 0.172002}, {-1.031316, 0.278028}, - {-0.332885, -0.499473}, {0.120825, -0.860634}, {-0.643136, -0.068827}, - {-0.040357, 0.200742}, {-0.933480, 0.185052}, {0.771612, -0.286406}, - {0.939360, -0.140307}, {0.028340, 0.302658}, {-1.188171, -0.068560}, - {-0.180113, 0.072284}, {-0.550815, -0.947792}, {-0.643721, -0.045899}, - {0.092203, -0.288068}, {0.439139, 0.467489}, {0.682732, -0.634377}, - {-0.736317, -0.107723}, {-0.237552, -1.170557}, {-1.265348, -0.851037}, - {-0.117957, -0.085973}, {1.102227, -0.027409}, {0.201656, 0.258550}, - {-0.341302, 0.345698}, {-0.226687, 0.021001}, {0.300950, 0.747520}, - {-0.548719, -0.764005}, {0.342371, 0.650129}, {-0.197264, -0.406966}, - {0.253969, 0.590828}, {-0.654232, -0.911205}, {-0.069347, -0.649115}, - {-0.302273, -0.962710}, {-0.858735, -0.734358}, {0.824973, 0.347623}, - {0.561939, -0.332102}, {-0.149910, -0.141332}, {-0.329960, -0.276681}, - {-0.477825, 0.796294}, {-0.929950, -1.013256}, {0.660669, -1.277091}, - {0.992162, 0.447772}, {-0.304259, 1.500934}, {-0.057727, 0.903363}, - {0.674917, 0.876704}, {-0.634144, -0.191583}, {0.845197, -1.233301}, - {-1.661000, 0.075804}, {-0.514972, 0.235703}, {0.140527, 0.185480}, - {-0.234079, -1.451824}, {-0.405753, 0.462321}, {1.170499, 0.117621}, - {0.131879, 0.114231}, {0.965116, -0.378527}, {0.206708, -0.220844}, - {-0.187811, 0.488983}, {-0.661154, -0.013639}, {-1.372899, -0.391042}, - {-0.208436, 0.141927}, {-0.900758, 0.338770}, {-1.061068, -0.473609}, - {-0.442850, -0.150059}, {-0.656915, -0.213440}, {-0.519110, 0.388374}, - {0.552973, 0.412297}, {0.246784, 0.360372}, {0.037668, -0.058916}, - {-1.348537, -0.018245}, {-0.618509, 0.055222}, {0.618511, -0.123750}, - {-0.034437, -0.099757}, {0.323428, -0.652759}, {0.154987, 0.899311}, - {1.781830, -0.153147}, {0.035979, 1.188616}, {0.488400, 0.697546}, - {-0.446666, 0.281943}, {-0.453892, 0.528215}, {-0.688147, -1.008588}, - {-0.390631, 0.389458}, {-1.194630, -0.928712}, {0.678735, -0.466324}, - {0.976499, -0.038259}, {1.396877, -0.138085}, {-1.430019, 0.335065}, - {-0.055289, -0.927780}, {0.485662, 0.485284}, {0.201981, 0.537132}, - {0.363088, 1.731858}, {-0.668758, 0.465720}, {0.077665, 0.666078}, - {-1.566421, 0.040135}, {-0.355676, -1.374433}, {-1.271148, 0.473298}, - {-0.709383, -1.088175}, {0.072900, -0.383878}, {-0.221073, 0.694508}, - {0.979392, 0.358300}, {-0.468658, -1.257957}, {-0.986421, -0.688206}, - {0.774736, 0.025302}, {-0.350405, -1.379404}, {0.265043, -0.179214}, - {0.632730, 0.655965}, {-0.580958, 0.073589}, {-0.674751, -0.329321}, - {-0.157258, 0.366028}, {-0.167454, 0.458918}, {0.360995, -0.045800}, - {0.541670, 0.414036}, {-0.953282, 0.396081}, {-0.640341, -0.815884}, - {0.099247, 0.488115}, {1.028320, -1.065518}, {-0.608843, -0.394921}, - {-0.660332, 0.127980}, {1.215143, -0.784662}, {-0.597942, 0.410855}, - {-0.460977, -1.731878}, {-1.125346, -0.522925}, {0.160018, -0.890953}, - {0.354174, 0.463096}, {0.432617, 0.091890}, {-0.537692, 0.916233}, - {-0.231298, -1.123082}, {0.448289, 0.048934}, {0.141959, 0.248023}, - {-0.239098, 1.258853}, {0.659532, 0.029834}, {1.296697, -0.068587}, - {-0.566528, 0.709376}, {-0.408385, -0.069338}, {-0.390137, 0.783384}, - {-1.620428, -0.505653}, {0.410443, -0.303323}, {-0.550195, -0.764973}, - {-0.576556, 0.263301}, {-0.600212, 0.262565}, {-0.122290, -0.126754}, - {0.331186, -1.519006}, {-0.345319, -0.461422}, {-0.572596, 0.480422}, - {1.103205, 0.915259}, {0.118307, 1.801626}, {-0.764045, 0.235550}, - {-0.022141, 1.201361}, {0.028013, 0.044403}, {0.488177, 0.026615}, - {-0.623776, -0.232662}, {-0.961218, 0.888319}, {0.486462, -0.519644}, - {0.199430, -0.047332}, {0.947899, 1.148955}, {0.169357, -1.336189}, - {-0.930552, -0.016437}, {-0.518731, 0.323647}, {1.068277, -0.408039}, - {0.873528, -0.510827}, {-0.062329, -0.013528}, {0.016866, 0.267559}, - {1.056129, -1.027253}, {-0.539801, 0.935748}, {0.096848, -0.037621}, - {-0.095070, -0.255447}, {-0.848099, 0.443100}, {0.639670, -0.048560}, - {0.923418, -0.283416}, {1.456548, -1.294075}, {-1.764045, -0.439263}, - {0.461557, 0.172525}, {-0.436138, 0.071867}, {-0.673432, 0.538713}, - {0.312169, 0.260254}, {0.103237, -0.512787}, {-1.493843, 0.399438}, - {0.819913, 1.366162}, {-0.016400, 1.497652}, {0.215513, -0.225488}, - {-0.017414, -0.407048}, {-0.020617, 0.629335}, {0.224152, 0.982394}, - {-0.511165, -0.579162}, {0.007663, 0.124781}, {0.108301, 0.792560}, - {0.158005, 0.407386}, {-0.182543, -0.165334}, {1.159181, -0.510782}, - {0.280196, -1.062985}, {0.236496, -0.145702}, {-0.422758, 1.424397}, - {-0.331449, -0.193450}, {0.192874, -0.427651}, {0.112059, 0.188264}, - {-0.272202, 0.107938}, {-0.760328, -0.363161}, {-0.726426, 1.597634}, - {-0.071579, 0.949224}, {0.308458, 0.255762}, {1.021180, -0.266580}, - {0.143714, 0.679690}, {0.402213, -0.431472}, {0.325377, -0.219868}, - {1.102590, 0.967718}, {0.358516, -0.734835}, {0.014624, 0.178090}, - {0.448299, -0.407042}, {-0.611858, -0.011623}, {1.077674, -0.250480}, - {-0.299770, 0.274045}, {-0.091250, 0.162794}, {0.263684, 0.580732}, - {-0.524096, 0.453355}, {1.220175, -0.439485}, {0.505437, 0.769273}, - {-0.448804, -0.993002}, {-0.443388, -0.483274}, {-0.523477, -0.401425}, - {-0.313273, -0.056149}, {0.050769, 0.557578}, {-0.702026, -0.345979}, - {-0.323416, 0.362591}, {0.804164, 0.415913}, {0.366415, 0.231610}, - {-0.674289, 2.719386}, {-0.390476, -0.001017}, {0.634584, 0.043129}, - {-0.165932, -0.088890}, {-0.084003, 0.164003}, {0.326900, -0.176912}, - {0.846530, -0.575045}, {0.379000, -0.560151}, {-0.045598, -1.256528}, - {0.004132, -0.330289}, {0.801731, 0.102068}, {0.310208, -0.016975}, - {0.804024, -0.848600}, {0.530551, 0.564239}, {-0.217442, -0.406346}, - {0.482194, -0.354971}, {1.013284, 0.341576}, {-0.189813, -0.158867}, - {0.057823, 0.314484}, {-0.385227, 0.961346}, {-0.252099, 0.877088}, - {-0.150246, 0.399242}, {0.227240, -0.011056}, {-0.906256, 0.232546}, - {0.447790, 0.615224}, {0.710736, 0.413033}, {0.332351, 0.394525}, - {-1.111575, -0.892920}, {0.671354, 0.236546}, {-0.530462, 0.833944}, - {-0.487734, -0.933744}, {-0.279573, 0.015821}, {0.150636, 0.941044}, - {-0.490255, -1.718709}, {-0.562611, -0.050636}, {0.161397, -0.336955}, - {-0.581458, 0.013550}, {1.301819, -0.243034}, {0.328760, -0.383835}, - {-0.558614, 0.312557}, {-0.994847, -0.123656}, {-0.946885, -0.460904}, - {-0.150270, 0.629816}, {0.059610, -0.005996}, {-0.577683, -0.466143}, - {-0.471025, -0.278965}, {-0.148945, -0.324783}, {1.276411, 0.305076}, - {0.980279, -0.070273}, {1.162642, 0.100148}, {1.843762, 0.357636}, - {-1.342349, -0.353233}, {-0.436687, -0.095269}, {-0.805848, 0.606225}, - {0.871641, -1.329340}, {0.184974, 1.265810}, {-0.244617, -0.882645}, - {-0.907868, -0.039793}, {1.031712, 0.603956}, {-0.320916, 0.296021}, - {0.769198, 0.408169}, {0.273306, -1.560085}, {-0.845221, -0.120352}, - {-0.292803, -0.487164}, {-1.188451, 1.021220}, {0.712612, -0.904145}, - {1.536593, 0.458014}, {0.948114, -0.292910}, {0.183039, -0.763955}, - {2.157607, -0.224608}, {-0.273569, -0.394222}, {-0.431183, 0.416926}, - {0.132424, -0.348722}, {0.753581, 1.216860}, {-0.337171, -0.893545}, - {-1.120653, -0.243974}, {1.019687, 0.181340}, {1.477047, -0.821085}, - {0.046624, -0.107856}, {0.433614, -0.195993}, {-0.405870, -1.017501}, - {-0.050243, 0.119354}, {-0.671673, 0.243350}, {-0.315893, 1.721316}, - {-0.083615, 0.238805}, {-1.037536, 0.577163}, {-0.913802, -0.523424}, - {1.219618, -0.315761}, {1.146100, 0.517259}, {-0.895445, -1.015857}, - {0.514174, 0.575290}, {-0.123435, 0.745106}, {0.702053, 0.848669}, - {-0.342611, -0.957096}, {-0.289839, -0.316382}, {-0.397795, 0.021996}, - {-0.677843, 0.971322}, {0.361514, -0.183216}, {0.080051, -0.295673}, - {1.160202, -0.910675}, {-0.150463, 0.736822}, {-0.709405, -0.203295}, - {-0.350063, 0.552303}, {-0.721111, 0.319029}, {-0.253701, -0.103668}, - {-0.750172, -0.320345}, {-1.206247, -0.063426}, {-1.373506, 0.124767}, - {0.508866, 0.460720}, {-1.336954, 0.210008}, {-0.631641, -0.072041}, - {0.928787, -1.037158}, {0.032754, 1.022849}, {0.666725, -0.698994}, - {-0.426685, 0.073876}, {0.641602, 0.815373}, {0.375179, -0.463772}, - {-0.233340, 1.332766}, {-0.588562, 0.673215}, {-1.583380, 0.174935}, - {0.183747, -0.026180}, {-0.037925, -0.435531}, {0.421545, -1.077913}, - {0.739201, 0.256848}, {0.278009, -0.012421}, {1.071530, -1.464473}, - {0.879311, 0.140050}, {0.690285, -0.379450}, {-0.359215, 0.696639}, - {0.445641, 1.003849}, {-0.471426, 0.216653}, {0.747519, -0.191435}, - {0.609888, 1.087821}, {-0.114237, 0.707995}, {0.310145, -0.068274}, - {0.238114, 0.520310}, {0.188092, -0.863861}, {-0.272074, 0.545071}, - {-0.584299, 0.335263}, {0.568218, 0.803199}, {-0.430740, 0.419229}, - {-0.900838, 0.175793}, {0.241127, 0.980598}, {0.229357, -0.402579}, - {-0.005071, 0.451806}, {-0.169403, 0.001801}, {0.498114, 0.632898}, - {0.880223, -0.529746}, {-0.868428, 0.322017}, {-0.934466, 0.316410}, - {-0.153631, -0.037373}, {-0.402630, -0.960009}, {0.069345, 1.147181}, - {0.538025, 0.497931}, {-0.752724, 0.353508}, {1.119766, 0.340039}, - {2.267532, -0.419679}, {0.867285, -0.861810}, {-0.219850, 0.147761}, - {-1.333873, 0.140060}, {0.349306, -0.296989}, {1.246670, -0.360293}, - {0.448126, 1.393103}, {0.458653, -0.009429}, {0.897902, 0.163413}, - {-0.423687, 0.569503}, {0.533119, -0.220683}, {-0.561732, -0.975309}, - {0.881865, 0.101322}, {-0.304062, 0.840913}, {0.773744, -0.251265}, - {0.767785, -0.089005}, {0.093558, 0.166969}, {-0.144223, 0.543223}, - {0.599210, -0.139195}, {-0.757562, 0.974285}, {1.287608, -1.166102}, - {0.851889, 0.840470}, {-0.060754, 1.083686}, {0.613368, 0.304015}, - {-0.379987, -0.439814}, {-0.329733, -0.112941}, {-0.424859, -0.739637}, - {-1.793210, -1.188762}, {-0.635379, -0.904453}, {0.257752, -1.166231}, - {0.795667, -1.099593}, {0.943045, -0.741673}, {0.132503, -0.740775}, - {-0.441437, -0.158045}, {0.625827, -0.791281}, {0.206786, 0.183906}, - {0.838373, -0.394791}, {0.800490, 0.460415}, {0.158553, 0.035947}, - {0.941686, 1.030037}, {-0.449424, 0.181222}, {-0.064192, 0.321760}, - {-0.818197, -0.517869}, {-1.001442, -0.964262}, {-0.341690, 0.209038}, - {0.769880, -0.509106}, {-1.800834, -0.977495}, {0.934141, -0.956871}, - {-0.544929, -0.234843}, {0.052514, -0.188411}, {0.020671, 0.409432}, - {-0.446867, 0.177584}, {-0.018809, 0.439592}, {-1.004284, -1.141000}, - {0.165529, -0.054725}, {0.209767, 0.617396}, {-0.141390, -0.133027}, - {-0.035609, 0.141281}, {-0.178184, 1.191617}, {0.543428, 0.601854}, - {-0.095008, -0.455613}, {-0.059113, 0.233037}, {0.233059, -0.139516}, - {0.272380, -1.266193}, {0.618656, 0.116292}, {-0.009285, 0.623049}, - {0.096660, 0.123946}, {-1.580974, 0.525244}, {0.206597, 1.002594}, - {0.089974, -0.500957}, {1.895818, 0.543035}, {-0.305681, 0.122755}, - {0.221252, 0.227730}, {-0.820677, -0.365112}, {0.947046, 0.458062}, - {0.542810, -0.838007}, {-0.052196, -0.075847}, {0.814450, -0.744863}, - {-0.567190, 0.264126}, {0.237717, 0.018269}, {-0.703420, 0.405742}, - {0.614185, 0.753346}, {-1.418353, 0.214996}, {-0.860688, 0.915467}, - {-0.360367, -0.260405}, {1.472941, 0.435927}, {0.446222, 0.730291}, - {-0.144925, -0.561438}, {-1.750887, -0.525869}, {0.340149, -0.191235}, - {0.377149, 0.915875}, {0.114776, 0.838241}, {1.129547, -0.141350}, - {0.184851, -0.695700}, {-0.534036, -0.634324}, {-0.340427, 0.321547}, - {-0.404642, -0.697021}, {-0.253808, -0.192746}, {-0.596530, -0.932647}, - {-0.838994, -0.405391}, {-0.755491, -0.342310}, {-0.057286, -0.358306}, - {-1.447241, 1.301361}, {-1.313619, -1.013152}, {-0.571824, 0.109239}, - {-0.260698, 0.606990}, {0.070246, 0.534229}, {0.597517, -0.037879}, - {-1.094173, -0.410137}, {-0.254631, -0.246340}, {0.431483, -0.376672}, - {0.519113, 0.214955}, {-0.076563, 0.738583}, {0.205809, -1.447609}, - {-0.810528, -0.234393}, {0.229555, 0.246711}, {0.927126, 0.590173}, - {-0.466521, -1.469152}, {0.695727, 1.527739}, {-1.704484, -0.591690}, - {0.307858, 0.231491}, {-0.995968, 0.318885}, {0.661263, -0.555950}, - {-0.712018, 0.863494}, {0.187289, -0.103648}, {0.148728, 0.440236}, - {-0.416693, 0.421814}, {-0.285165, -1.497392}, {-1.351142, -0.185347}, - {0.484214, -0.136529}, {0.573682, -1.192687}, {0.410345, -0.315465}, - {0.848424, 0.671905}, {-1.103233, 0.644873}, {1.299410, 0.565215}, - {-0.461676, 0.064235}, {-1.379040, -0.432968}, {-1.015434, -1.145416}, - {0.129534, 0.363062}, {0.104220, 0.288515}, {1.543944, -1.307105}, - {0.221840, 0.109014}, {-0.184143, 0.370434}, {0.058980, 0.873678}, - {0.551447, -0.039445}, {-0.270308, 0.105572}, {0.469465, -0.104565}, - {0.015573, 0.788276}, {0.749307, 1.602021}, {-0.203181, -0.465786}, - {0.133115, -1.936805}, {-0.429016, -0.726444}, {-0.149023, -0.362963}, - {0.397963, -0.235261}, {1.558527, 0.044457}, {-0.972298, 0.805232}, - {-0.807760, -0.399592}, {0.280215, 0.243919}, {0.137227, -1.792080}, - {-0.651625, 0.507164}, {0.275789, -0.969788}, {-0.254710, -0.494221}, - {-0.568344, -0.391331}, {-0.403117, -0.847222}, {0.850632, 0.551661}, - {0.375400, 0.202567}, {0.407655, 0.339162}, {-0.077186, -0.944989}, - {0.853879, 0.321790}, {-0.878723, 1.078369}, {0.402514, 0.134404}, - {-0.636014, 0.028282}, {-0.306382, -0.725383}, {0.596217, 0.775472}, - {0.743227, 0.136710}, {0.318624, 0.141530}, {-2.436086, 1.380653}, - {-1.525091, -0.330171}, {0.786829, -0.068407}, {-0.268204, 0.051274}, - {0.026261, -0.264944}, {0.284678, 0.800642}, {1.139380, -0.635677}, - {0.531484, 1.095444}, {0.061698, -1.585712}, {-0.200152, -0.292121}, - {0.511662, 1.497851}, {-1.734319, 0.421699}, {0.730265, -0.139450}, - {-0.853009, -0.131672}, {0.279669, 0.232947}, {-0.265099, -0.688263}, - {-0.929645, -0.286772}, {-0.125102, -1.125642}, {1.064545, 0.166148}, - {0.733526, -0.916868}, {-0.934886, 0.513751}, {1.207510, 1.425677}, - {-0.027745, 0.571540}, {-1.475919, -1.304595}, {0.891606, -0.522466}, - {-1.132359, -0.916251}, {0.769611, 1.058327}, {-0.787181, -0.146081}, - {-0.219027, 0.104576}, {-0.095533, 0.083469}, {-0.115227, 0.014563}, - {-1.070410, 0.746173}, {1.109839, -1.229791}, {-0.326565, 0.830876}, - {0.286977, 0.532019}, {-0.769394, 0.226197}, {0.754521, 0.827572}, - {-0.361735, -0.367817}, {-0.546435, -0.902863}, {0.746461, -0.939287}, - {-0.625963, 1.456091}, {-0.244332, 0.173159}, {0.735755, 0.338783}, - {1.161011, -0.592912}, {0.316221, -0.277843}, {-0.515322, -0.171536}, - {-0.073174, 0.804972}, {1.050407, -1.065537}, {0.484378, 0.954140}, - {0.939704, -0.717131}, {-0.746289, 0.125873}, {0.306167, 0.822975}, - {-0.688430, -0.009492}, {0.473809, -0.195759}, {-0.291123, -0.887642}, - {-1.113639, -0.205191}, {0.507462, -1.139016}, {-1.047570, 1.061075}, - {0.076114, 0.502083}, {-0.009567, 0.771579}, {0.277710, -1.082459}, - {-0.030487, -0.792313}, {-0.005490, -0.038347}, {-0.070947, -0.641452}, - {0.064114, -1.279288}, {-0.735976, -0.177716}, {-1.173461, -0.963224}, - {0.642447, -1.215458}, {-0.542537, -0.779186}, {0.208617, 0.707524}, - {-0.815926, 0.734432}, {-1.362503, 0.826668}, {0.171331, -0.098047}, - {0.299502, -0.977795}, {-1.423973, 0.972393}, {1.079616, -1.087319}, - {-0.301928, 0.824269}, {1.239375, 0.407183}, {0.060999, -0.016179}, - {0.804982, -0.385257}, {-0.012938, 0.677340}, {-0.121473, 1.046107}, - {-0.173294, -0.590221}, {0.680903, 0.172555}, {0.901474, -0.638362}, - {-0.754168, 0.954427}, {-1.017190, 0.458050}, {-0.893258, -0.651492}, - {-1.223616, 0.734166}, {-0.551561, 0.465105}, {-0.472743, -1.538767}, - {-0.643332, 0.237332}, {-1.403355, -0.712716}, {-0.696300, 0.281854}, - {0.063601, 0.242936}, {0.140091, -0.361881}, {-0.466220, 0.056740}, - {0.400082, 0.655608}, {-0.218787, 0.165453}, {0.162508, 0.460463}, - {0.196531, 0.805585}, {0.867586, -0.796481}, {-0.103192, -0.372709}, - {1.480107, -0.244144}, {-0.377288, -0.616448}, {0.827771, 0.615012}, - {0.241670, -0.067976}, {0.159564, -0.039752}, {0.202995, -0.531926}, - {-0.635295, -0.300095}, {-0.112240, -0.452463}, {-0.005874, -1.283824}, - {-0.902111, -0.502776}, {0.246129, 0.198008}, {0.478389, 0.145563}, - {0.441332, 0.687473}, {-0.247149, 0.184176}, {-0.789643, -0.991969}, - {-1.231853, -0.521080}, {0.419307, -1.074857}, {0.844709, 0.320482}, - {1.197865, 0.314086}, {-0.515979, 0.581945}, {-0.331012, -0.496182}, - {-0.030485, 0.691218}, {-0.148168, 0.839336}, {-0.386217, -0.545061}, - {0.377549, -2.132758}, {-0.636174, -0.065140}, {-0.578408, 0.476528}, - {-0.770655, 0.716478}, {-0.315434, 0.652659}, {-0.095634, 0.084278}, - {-0.454542, 0.493002}, {-0.466113, -0.638183}, {-0.452908, 0.032110}, - {0.612871, -0.006891}, {-0.519763, -0.980015}, {0.216004, 1.044187}, - {-0.522556, -1.037992}, {0.191915, -0.608267}, {1.409379, -0.193706}, - {-0.007437, -0.406039}, {-0.109688, -0.212492}, {0.014242, -0.315274}, - {-1.498715, -0.045784}, {0.823582, -0.518037}, {0.453221, -0.453072}, - {0.308668, 0.963767}, {-0.639039, -0.106259}, {-0.295817, -1.112948}, - {0.149772, 1.651655}, {-0.190802, 0.742309}, {-0.697535, 0.406187}, - {0.803067, -0.505165}, {-0.543679, -0.703909}, {-0.455789, 0.354645}, - {-0.801542, -0.036586}, {0.803856, -0.099847}, {-1.193883, -0.353241}, - {1.075654, 0.052465}, {-0.258694, -0.040366}, {-0.699399, -0.209583}, - {-0.215574, -0.004929}, {0.632563, 0.109047}, {-0.472713, 1.246852}, - {0.558519, 0.764899}, {-1.312153, -0.650642}, {0.319234, 0.096798}, - {-0.116014, 1.918017}, {0.348943, -0.098542}, {-0.517133, -0.367209}, - {-0.032548, -1.034303}, {0.328535, -0.909280}, {0.458397, 1.012904}, - {0.159957, 0.751975}, {0.448532, 1.165521}, {-0.289242, -1.073650}, - {0.221077, 0.996689}, {0.271276, 0.400481}, {-0.293484, 0.257531}, - {0.380645, -0.869409}, {1.060007, -1.185366}, {-0.683863, -0.654862}, - {0.335272, 0.036245}, {-0.230655, 0.834185}, {-0.012915, -0.531325}, - {0.024833, -1.050938}, {-0.708008, 0.918939}, {-0.825306, -0.060127}, - {0.253139, 0.491280}, {0.680471, 0.175579}, {-0.198326, -0.665312}, - {-0.922970, -0.808154}, {0.156470, -0.797370}, {-0.783536, -0.469965}, - {0.341051, 0.873579}, {-2.007647, 0.681225}, {0.364041, -0.508894}, - {-0.015955, 0.350543}, {-0.291678, -0.998941}, {0.239003, -0.487403}, - {-0.327758, -0.508257}, {-0.539391, -0.798760}, {-0.540462, -0.564731}, - {-0.620798, 0.707924}, {0.256000, 0.452068}, {0.385059, 1.172229}, - {0.360328, -0.171884}, {-0.572500, 0.532958}, {0.648164, 0.071339}, - {-1.027705, -1.054336}, {0.522261, -0.590621}, {-0.019556, 0.572396}, - {0.607990, 0.481700}, {-1.322499, 0.788470}, {-0.684229, -0.473861}, - {-1.265839, 1.105980}, {-0.581971, -0.124401}, {0.444034, 0.102150}, - {0.794992, 0.031055}, {0.603776, 0.000266}, {0.877366, 0.024301}, - {0.277579, 0.682971}, {-0.109226, 0.230966}, {-0.935434, 0.116535}, - {-0.083082, 0.334694}, {0.362059, -0.024471}, {0.753738, 0.122144}, - {0.304294, 1.505981}, {0.271106, -0.317919}, {-0.465618, -0.059502}, - {-0.373175, -0.755986}, {0.387614, -0.416476}, {-0.748802, -0.395856}, - {-0.013579, -1.476338}, {-0.366869, 0.317716}, {-0.979219, -0.200391}, - {-0.153407, -0.447562}, {-0.255245, 0.351090}, {0.998840, -0.545270}, - {0.186904, -0.240711}, {0.153329, -0.943938}, {0.247078, 0.571677}, - {0.192360, 1.104895}, {-0.551067, 0.802267}, {-0.124506, 0.860949}, - {-0.139002, -0.104195}, {-0.642611, -0.508259}, {0.157868, 0.859140}, - {0.019725, 0.207020}, {-0.653316, 1.187525}, {1.329306, -0.509686}, - {0.694674, 0.256705}, {0.202853, 0.851294}, {-0.441419, 1.428209}, - {0.156150, -0.080560}, {0.715021, -0.899171}, {-0.239049, -0.631319}, - {0.195295, 0.575186}, {-1.311572, -0.865187}, {0.570106, 0.651064}, - {0.208959, -1.023329}, {0.906490, -0.109625}, {-0.781286, -0.253333}, - {0.231546, 0.707965}, {-1.265833, 1.067884}, {0.815263, 1.165205}, - {1.466715, 0.385384}, {0.535490, 0.581761}, {-0.472358, -0.470277}, - {0.983264, 0.384383}, {0.727058, 0.443847}, {-0.416272, -0.472738}, - {0.376082, -0.134460}, {-0.503839, -0.901079}, {0.682625, 1.008080}, - {-1.386979, -1.091660}, {0.213387, 0.535684}, {-0.957192, -0.557212}, - {-0.067069, -1.051855}, {-0.101157, -0.178941}, {-1.306964, -0.631127}, - {0.926961, -0.083734}, {-0.264348, -0.487315}, {0.627269, -0.923797}, - {1.086963, 0.082439}, {-0.149566, -1.399193}, {0.389143, -0.198131}, - {-0.031070, 0.505173}, {1.081145, -0.421980}, {-0.365429, -0.412667}, - {-0.376916, 0.370359}, {0.531009, 1.324279}, {0.522575, -0.338998}, - {0.502957, -0.482424}, {-0.562535, -0.545277}, {-0.397874, -0.045620}, - {-0.210300, -0.937677}, {0.678832, -1.456153}, {-0.290273, 0.095165}, - {0.631624, 0.517150}, {-0.411457, 0.459952}, {1.217812, -0.542939}, - {0.073630, -0.234428}, {0.054958, -0.570539}, {-1.128586, 0.230127}, - {0.720559, 0.058370}, {-1.035968, 0.077082}, {-0.608327, -0.358758}, - {0.269851, 0.489804}, {-0.406969, -0.549994}, {0.527270, -0.654157}, - {1.027706, -0.593285}, {-0.471971, -0.594411}, {0.040449, -0.467310}, - {-0.290221, 0.851614}, {-0.226635, -0.794078}, {0.447274, 0.236763}, - {-0.785187, -0.067945}, {0.712972, 0.436643}, {-0.088441, 1.299909}, - {0.475924, 0.408473}, {0.209117, 0.539048}, {0.714783, -0.513016}, - {0.106957, 0.344444}, {-0.517943, 0.098828}, {1.248470, 0.110160}, - {-0.164676, 0.715642}, {0.116579, 0.701060}, {-0.338202, 1.285789}, - {0.252122, 0.401489}, {0.208841, 0.077311}, {0.254678, 0.806815}, - {0.234503, -0.687878}, {-0.017710, 1.099931}, {1.248068, -1.577695}, - {-2.177322, 0.634684}, {0.383749, -0.488257}, {0.626473, 0.894318}, - {0.950392, -1.224503}, {-1.592308, 0.183474}, {-0.883620, 0.459040}, - {0.335251, -0.492958}, {-1.452049, 0.645747}, {0.654540, -0.613036}, - {-0.786306, 0.621635}, {-0.835920, 1.214810}, {-0.402804, -0.379300}, - {-0.167140, -1.088577}, {2.017823, -0.733220}, {1.277852, 0.045432}, - {-0.655324, -0.273020}, {-0.502679, -1.294652}, {0.139179, 0.305881}, - {0.476464, 0.374818}, {-1.204706, 0.929919}, {-0.703096, 0.426476}, - {-0.170932, -0.224981}, {-0.351279, -0.400379}, {0.267640, 0.852748}, - {0.272721, -0.274755}, {0.394744, 0.261766}, {-0.427077, -1.197927}, - {0.469152, -0.246978}, {-0.068939, -0.212535}, {0.567020, 0.581239}, - {1.773606, -1.261858}, {0.258176, -1.131465}, {-1.103839, -0.289925}, - {1.177229, -0.690317}, {0.137438, -0.884592}, {0.116897, -0.623741}, - {1.231751, -1.044646}, {0.653054, -0.008248}, {-1.025754, 0.353121}, - {0.152087, -0.684942}, {0.970565, 0.373987}, {-0.392564, -0.069188}, - {-0.268254, 0.066466}, {1.288850, -0.546856}, {-0.879522, 1.075044}, - {0.398109, 0.957102}, {0.937518, -0.970381}, {1.315683, 0.004675}, - {0.656915, 0.923958}, {0.964084, 0.332777}, {-0.544967, -0.260763}, - {0.161974, -0.230332}, {0.086070, 1.573961}, {-0.383494, 0.130120}, - {1.082890, 0.057498}, {-1.410456, -0.461719}, {0.540485, 0.691271}, - {-0.278103, 0.291339}, {0.180835, 0.081187}, {0.648822, -0.143641}, - {-1.616721, 0.284309}, {0.850766, -0.295949}, {-0.452081, -0.318424}, - {-0.672436, 0.363193}, {0.330021, -0.103062}, {-1.201214, 0.695691}, - {-0.176974, -0.049101}, {0.034254, -0.001430}, {-0.581966, -1.404542}, - {1.233772, 0.845893}, {0.770042, -0.222329}, {-0.134528, 1.408050}, - {0.981347, 0.143636}, {0.145948, 1.099040}, {0.710827, 0.052673}, - {0.557771, -0.481154}, {-0.146756, -1.008837}, {-0.689552, -0.880902}, - {0.001022, 0.756353}, {0.222483, 0.013501}, {0.905978, 0.432735}, - {-0.497583, -0.437051}, {0.010372, -0.231759}, {-0.834391, 0.245930}, - {0.869406, -1.488002}, {-1.420173, 0.137089}, {0.055164, 0.678866}, - {0.811665, 1.025276}, {0.375303, 0.608999}, {-0.615345, -0.077846}, - {-0.186463, 0.319902}, {0.005719, 0.915684}, {0.318663, -0.507730}, - {-0.803895, 0.451266}, {0.160835, 0.158185}, {1.633081, 0.429963}, - {-0.791587, 0.563798}, {-0.778932, -0.083845}, {-0.746995, 0.259063}, - {-0.374430, 0.379522}, {-0.025126, -0.204688}, {-0.991074, 0.045919}, - {-0.136845, -0.414905}, {0.899845, 1.310109}, {-0.868625, -0.129578}, - {1.148100, 0.070605}, {-0.810213, -0.433737}, {1.207818, -0.151042}, - {-0.515970, -0.141577}, {-0.161548, 0.388756}, {-0.679441, -0.108745}, - {-0.858860, 0.144068}, {-0.111455, -0.935162}, {-0.512453, 0.281827}, - {0.802022, -0.977459}, {-0.488174, 0.273547}, {-0.555684, 0.973625}, - {-1.467122, 1.287905}, {0.769233, -0.351832}, {0.214904, 0.347022}, - {0.942995, 0.470266}, {-1.265858, -1.103599}, {0.786352, -0.915630}, - {0.377453, 0.259392}, {0.364408, -0.253769}, {-0.939662, 0.510476}, - {-0.611435, 0.630746}, {0.496403, 0.350935}, {0.780776, -0.376306}, - {0.329368, -0.560035}, {-0.104896, -0.414545}, {0.459736, -0.818950}, - {0.101952, 0.759826}, {0.234506, 0.195742}, {1.165165, 1.081672}, - {-0.741395, -0.556266}, {0.136652, -0.063647}, {-0.380017, 0.025288}, - {-1.149874, 1.004539}, {0.233882, 0.583344}, {1.407491, -0.873973}, - {0.124950, 0.137739}, {0.077742, 0.655085}, {0.756326, 0.693924}, - {-0.978230, -0.590244}, {-0.318209, -0.151183}, {1.590341, 0.137861}, - {-0.091311, -0.581231}, {0.362381, -0.416706}, {0.646778, -0.246347}, - {0.432081, -0.436533}, {0.467351, 0.177888}, {-0.192966, 1.332833}, - {-0.364669, 0.036797}, {-0.426350, 0.041546}, {-0.468050, 0.813732}, - {-1.082121, -0.356209}, {0.795313, 0.513634}, {0.286996, 0.171098}, - {0.534304, -0.756041}, {-0.676098, 0.413430}, {-0.707209, 0.964446}, - {-0.144614, -0.627121}, {1.280522, -1.317728}, {-0.159645, -0.237936}, - {-0.582439, -0.659814}, {-0.070758, -1.089956}, {-0.148674, -1.374329}, - {-0.179882, 0.506686}, {0.086493, -0.791614}, {0.489759, -0.403031}, - {-0.314327, -0.111422}, {-0.412931, 0.493597}, {0.253975, 0.712494}, - {0.449653, 0.383925}, {-0.170046, -0.209558}, {0.146663, 0.741047}, - {-0.391870, -0.091945}, {-0.442016, 0.119528}, {-0.802004, -1.400078}, - {-0.352020, -0.673484}, {1.178405, 0.222166}, {0.401656, -0.176436}, - {-0.270939, -0.198899}, {-0.695723, -0.566735}, {0.834854, -1.471402}, - {-0.289106, 0.437823}, {0.251627, 0.054241}, {0.029125, -0.307041}, - {-1.487735, 1.231129}, {0.333572, -0.223186}, {0.038154, 1.081929}, - {-0.087970, -1.036150}, {0.592180, 0.133148}, {0.093161, -0.294506}, - {-0.296535, 0.495623}, {-0.522146, 1.313928}, {-0.714640, -0.532988}, - {0.398263, 0.293071}, {-0.596224, 1.223075}, {0.479882, -1.180554}, - {-0.065416, -0.710133}, {-0.889315, -0.315524}, {0.962241, -0.055537}, - {-0.221264, 0.112333}, {0.322420, -0.571722}, {1.192841, 0.558100}, - {0.521199, 0.138154}, {0.716695, 0.106324}, {0.711628, -0.260564}, - {0.189505, -0.382577}, {-0.438235, -0.546217}, {0.077497, -0.092175}, - {-0.202673, -0.048951}, {1.487370, -0.747006}, {-1.031527, -0.820128}, - {-1.649929, -0.105742}, {-0.347869, -0.458435}, {-0.029234, -1.320993}, - {1.253876, 0.585886}, {0.436760, 2.430056}, {0.545664, 0.470634}, - {0.901732, -0.856095}, {0.662886, 0.977089}, {1.075384, -0.075824}, - {0.209674, 0.063782}, {-0.126499, 0.482599}, {-0.507162, 0.208925}, - {0.247866, -0.354774}, {0.054885, -1.024517}, {0.204562, 0.827382}, - {-0.883562, -0.740692}, {0.849976, -0.019489}, {0.263688, 0.251006}, - {-0.330082, -0.061291}, {-0.083851, 1.370921}, {0.295784, 0.875275}, - {-0.425539, -0.283223}, {-0.640975, 0.136141}, {-0.173006, 0.465478}, - {-0.895481, 0.477515}, {0.229261, 1.220279}, {-0.407060, 1.466588}, - {1.295396, 0.176855}, {-0.632605, 0.786648}, {-1.121659, 0.268616}, - {-0.847703, -0.305246}, {1.663789, 1.656323}, {-0.523322, -0.547465}, - {-0.792665, 0.115445}, {-0.824945, 0.042476}, {0.901073, 0.249932}, - {1.130116, -1.907218}, {-0.859768, -1.577612}, {-0.191384, 0.566792}, - {0.676686, -0.623231}, {-0.793064, -0.852185}, {0.027490, -0.460866}, - {0.540012, -1.738204}, {-0.751769, -1.401695}, {-0.652675, -2.187214}, - {0.546582, 0.366436}, {0.191392, -0.194236}, {0.143155, 0.472797}, - {-0.850023, -0.135606}, {-0.377306, 0.072815}, {1.283611, 0.519238}, - {0.216310, 0.401307}, {0.612385, 0.376774}, {0.509529, -1.018581}, - {0.718140, -0.664603}, {-0.092749, -0.580942}, {0.408930, -0.062835}, - {-0.082806, -1.497458}, {-0.474417, -0.431005}, {-0.261473, 0.207407}, - {-0.241734, 0.107672}, {-1.042802, -0.161642}, {0.155338, 0.029191}, - {0.742596, 0.009836}, {1.004603, -0.548445}, {-0.772076, 0.004202}, - {0.684254, -1.908420}, {-0.643584, -0.503343}, {-0.602398, 0.352084}, - {0.637940, 0.050408}, {-0.282541, -0.673629}, {-0.218095, -0.677067}, - {0.028687, -0.173118}, {0.599385, 0.120223}, {-0.635225, 1.055321}, - {-0.321093, -1.072140}, {0.301278, -0.518003}, {-0.301802, 0.560499}, - {0.404168, -0.160419}, {0.439423, -0.123051}, {-0.001024, -0.084182}, - {-0.222399, 0.398534}, {-0.032543, 0.290847}, {-0.686894, 0.642376}, - {-0.376391, -0.292043}, {1.291833, -0.282113}, {-0.432943, 0.047899}, - {-0.268253, -1.565101}, {-0.079616, -0.299536}, {0.117126, -0.616435}, - {0.920777, -1.547713}, {0.672508, -0.938412}, {-0.127227, 0.039824}, - {0.497527, 0.137301}, {-1.150554, -0.242356}, {0.526140, 0.662427}, - {0.332716, 0.387359}, {0.193252, -0.748491}, {0.879236, 1.244841}, - {-0.320852, 0.438523}, {0.655207, 0.250311}, {0.798317, -0.037761}, - {1.759320, 0.543552}, {0.796490, 0.394488}, {-0.426451, 0.104660}, - {-0.596812, 0.295484}, {-0.586590, -0.761865}, {-1.204936, 1.145020}, - {-0.858949, 0.734240}, {0.417170, -1.861530}, {-1.380253, 0.411880}, - {0.940440, -1.547216}, {0.392789, 0.067926}, {0.752023, -0.870322}, - {0.120743, -0.084171}, {0.226500, -0.038959}, {-0.199741, 0.982130}, - {-1.435202, 1.924533}, {-0.681303, -0.685655}, {-0.017819, 0.316710}, - {-0.419371, 0.291876}, {-0.419993, -0.704322}, {-0.167402, -0.653200}, - {0.689883, 1.667397}, {0.656809, -0.191279}, {1.349286, 0.707932}, - {-0.417382, -0.503832}, {-0.314839, 0.076203}, {0.018604, 0.103821}, - {-0.670877, 0.305072}, {0.238125, -0.177294}, {-0.711169, 0.115679}, - {0.098621, -0.114667}, {-0.836724, 0.797509}, {-1.266489, 0.300376}, - {-1.574358, -0.601570}, {0.109701, -0.625894}, {0.799278, -2.008089}, - {0.734900, 1.439041}, {-0.172757, 0.297516}, {0.123756, 0.251462}, - {-0.605374, 0.019162}, {-0.277414, 0.527217}, {1.598600, -0.465976}, - {0.478046, -0.621558}, {-0.032111, 0.513916}, {-0.406663, 0.473997}, - {0.377026, -1.022417}, {0.261630, -0.600598}, {0.192450, -0.761462}, - {-0.945120, 1.662247}, {1.445931, -0.381166}, {0.796386, -0.527247}, - {0.570342, -0.165144}, {-0.260445, 0.197738}, {-0.396075, 0.035099}, - {0.438589, 0.193911}, {0.279975, 0.803087}, {-0.718632, -0.043015}, - {-0.073136, -0.144147}, {0.091844, -1.245899}, {1.133630, 1.064059}, - {0.333917, -1.059628}, {-0.475974, 0.272878}, {1.618769, 0.338515}, - {-0.026654, 0.173819}, {-0.832746, -1.291872}, {1.459739, -1.787186}, - {0.152053, 0.719499}, {-0.845311, 0.148728}, {0.096770, 0.236791}, - {0.788550, 0.590381}, {0.589643, 0.130083}, {0.556591, 1.302659}, - {-0.149560, 0.050103}, {0.917707, -0.486145}, {-0.059802, 1.519826}, - {-1.072536, 0.667091}, {-0.111194, 1.228050}, {-0.229775, 0.154698}, - {-0.371433, 0.541268}, {0.403110, 0.104249}, {-0.766373, -1.209893}, - {-0.133097, 0.781221}, {0.018198, -0.190757}, {0.547760, -0.448064}, - {-0.733735, 0.187525}, {0.308738, 0.575826}, {0.120420, -0.748615}, - {-0.162974, -1.656815}, {0.495299, 1.294132}, {0.284833, 0.326106}, - {0.304357, -0.029696}, {-0.114308, -0.998843}, {1.147646, 0.007336}, - {0.889660, 0.377428}, {1.101746, -0.075572}, {-0.630002, 0.224827}, - {-0.447421, -0.680766}, {-0.398164, -0.758312}, {1.162091, 0.872670}, - {-0.153320, 0.100257}, {-1.053855, -0.142606}, {-0.151297, -1.709248}, - {-0.088670, -0.030046}, {-0.039511, -0.751111}, {-0.268719, 0.233002}, - {0.107060, 0.944089}, {-0.528369, 0.218636}, {0.379463, -1.271446}, - {0.845463, -0.200500}, {0.449410, -0.308035}, {-1.125393, -1.368811}, - {-0.707799, 0.752393}, {0.224584, 0.957984}, {-0.076844, -0.185815}, - {-0.276454, -0.875122}, {-0.308372, -0.078258}, {0.710906, -0.432983}, - {0.086967, -0.475256}, {-0.484939, -0.239784}, {0.527071, 1.381910}, - {1.207738, 0.764537}, {-1.166732, 0.156223}, {-0.928368, -0.713470}, - {0.232623, 0.248816}, {0.234335, -0.713494}, {0.506899, -0.538864}, - {0.923647, 0.164175}, {0.589798, 0.487695}, {-0.068928, -0.289141}, - {0.770468, 0.393273}, {-0.850038, 1.509075}, {-0.050092, -1.065967}, - {0.044840, -0.642072}, {1.538218, -0.718189}, {-0.483958, 0.310072}, - {0.883513, 0.423129}, {0.577394, -0.913756}, {0.369553, -0.000248}, - {1.306622, -0.676905}, {-0.161439, -0.092252}, {0.124913, 0.545292}, - {-0.055785, -0.270095}, {-0.654485, 1.619946}, {0.010064, -0.415884}, - {0.561868, -0.574773}, {0.417682, 0.121106}, {0.447357, -1.403651}, - {0.036032, 0.849953}, {-0.310738, -0.139296}, {-0.340548, 1.709065}, - {0.324753, -0.829858}, {-0.482715, 1.278533}, {0.027337, 0.634282}, - {0.543259, -1.129644}, {-0.176542, 0.641092}, {0.513499, 0.270266}, - {0.592728, 1.200615}, {-0.168299, 0.071350}, {-0.028778, -1.609077}, - {0.100068, -0.177816}, {0.179793, 0.405800}, {-0.550998, -0.189012}, - {-0.374629, -0.335207}, {0.489373, -0.863435}, {-0.909667, -0.243295}, - {-1.905582, 0.828148}, {-0.322044, 0.578390}, {0.172952, 0.392945}, - {-1.349845, -0.593467}, {0.385443, -0.834331}, {-0.520047, -0.256327}, - {-0.168864, -0.011272}, {0.705916, 0.337266}, {-0.613837, 0.309663}, - {0.732870, 0.082069}, {-0.446717, 0.037997}, {0.503221, -0.919048}, - {-1.227801, -0.644395}, {-0.110226, 0.472814}, {-0.153520, -1.426752}, - {-0.372143, -0.995245}, {0.041903, 1.617146}, {-1.716966, -0.094746}, - {0.110050, 0.506537}, {0.441591, 0.285438}, {-0.422717, 0.030475}, - {-0.546275, 1.427064}, {0.597491, -0.001582}, {-0.227799, 0.278393}, - {-0.711928, -0.389254}, {-0.316276, -0.045449}, {-0.246906, 0.142129}, - {-0.017644, 0.530840}, {-0.846558, 0.285732}, {0.024601, 1.550225}, - {0.135991, -0.281795}, {1.076094, -0.393152}, {0.469595, 0.373539}, - {0.700686, -0.192217}, {-1.044613, -0.031666}, {-0.172857, 0.037056}, - {0.216986, -0.221328}, {1.202936, 0.262729}, {0.736136, 0.660856}, - {0.310616, -0.895782}, {0.756943, -0.860938}, {0.491193, 0.919560}, - {-0.391990, -1.038218}, {0.630603, 0.076034}, {-1.672313, 0.931548}, - {0.031370, -0.235708}, {-0.059540, -0.730453}, {1.751460, -0.083331}, - {-0.312742, 1.042875}, {-1.327894, -0.601739}, {1.130657, -0.489036}, - {-0.578349, -0.452027}, {0.442817, -0.010612}, {0.568033, 0.646896}, - {-0.209657, 0.511084}, {0.185712, -0.492029}, {1.604476, -0.325909}, - {-0.804376, -0.713345}, {-1.315856, 0.385873}, {-0.221093, 1.328622}, - {-0.759605, 0.387801}, {0.152179, -0.162878}, {-0.218474, -0.005204}, - {0.375890, -0.799244}, {0.637063, -1.137409}, {0.594361, 0.315677}, - {0.645739, 0.636245}, {0.658041, -0.321056}, {0.070071, 1.391222}, - {0.721141, -0.400061}, {-0.352948, 0.195410}, {-1.271695, 0.849227}, - {-0.501393, -0.054339}, {0.423696, 1.085774}, {-1.135309, 0.703848}, - {-0.274176, 0.653380}, {-0.316789, -0.988309}, {0.711998, 1.178853}, - {0.467890, 0.383039}, {-0.361315, 0.586150}, {-1.992977, 0.823878}, - {0.390939, 0.167472}, {0.110536, 0.002095}, {-1.247517, -0.665658}, - {0.121696, 0.179633}, {-1.365006, 0.556461}, {0.408822, -0.155980}, - {-0.730116, 0.123973}, {0.684268, -1.776762}, {-0.649453, -0.171713}, - {-0.372612, -0.050829}, {0.376350, 0.556347}, {-0.100789, -0.048297}, - {0.535745, -0.486194}, {-0.461672, -0.184145}, {0.397655, -0.685573}, - {-0.322562, -0.405548}, {-0.139347, 0.980121}, {0.383183, -0.416704}, - {0.405772, 0.305710}, {1.287783, 1.488584}, {0.032704, 0.960170}, - {-0.996629, -0.613880}, {0.344951, 0.741074}, {0.012855, 0.279797}, - {0.059268, 0.437106}, {1.099804, -0.690001}, {2.066302, -1.011066}, - {-1.138329, 0.358600}, {0.915106, 0.661313}, {-0.890883, -0.368142}, - {-1.368238, 0.378705}, {-0.336150, 0.507975}, {-0.706113, 0.234963}, - {-0.606888, -0.970039}, {-0.527169, 0.523949}, {0.018031, -0.474310}, - {0.741809, -0.091430}, {-0.009929, 0.576888}, {0.874371, 0.333460}, - {-0.254588, 0.654464}, {0.261702, 1.313061}, {-1.277335, 1.378973}, - {-0.138901, -0.173082}, {0.924853, 0.129874}, {-0.387252, 0.001449}, - {0.101334, -0.534299}, {1.166440, -0.414895}, {1.069226, 0.257124}, - {0.900367, -0.135723}, {1.218319, -0.472790}, {0.508176, -0.583053}, - {0.556299, 0.001431}, {0.941767, 0.240470}, {1.019062, -1.238945}, - {-1.044413, 0.547817}, {0.739657, 0.372119}, {-1.127057, -0.032632}, - {1.021823, -2.155687}, {0.154893, -0.768565}, {0.222839, -0.891271}, - {-0.021271, -0.349137}, {-0.498438, -0.404658}, {0.713753, -1.281305}, - {0.516202, -0.400977}, {0.375070, -0.381473}, {0.611029, -0.695506}, - {0.329870, 0.978420}, {-0.440990, -0.627980}, {1.106160, -0.673187}, - {0.330761, 0.960060}, {0.002016, -0.375526}, {-0.418742, -0.230493}, - {0.889310, 0.259182}, {-0.743094, 0.859461}, {-0.639141, 0.046149}, - {-0.825368, 1.113567}, {-0.183710, -1.099516}, {-0.688241, 0.048768}, - {-0.567826, 0.016499}, {-0.252604, -0.505972}, {0.125737, -0.032586}, - {-0.289104, 0.481842}, {0.197078, -0.361814}, {1.702697, -0.135121}, - {-0.313162, -0.195712}, {0.373467, -0.638017}, {0.265985, 0.688793}, - {-0.930620, -0.543390}, {0.266031, 0.127381}, {-1.131799, -0.707161}, - {0.294857, -1.044248}, {0.844394, -1.509590}, {-0.012985, 0.455971}, - {0.934720, 0.325752}, {0.477097, -0.617656}, {-0.186792, 0.919832}, - {0.661168, -1.463831}, {-0.052266, -0.007023}, {-0.417000, -0.630278}, - {-0.201517, 0.049327}, {0.324582, 0.488122}, {-1.135622, 1.088472}, - {-0.839457, 0.576660}, {0.776228, -0.246711}, {-0.060646, 0.204187}, - {-1.666099, -0.412724}, {-0.302620, 0.413709}, {0.134609, -0.417098}, - {0.667218, -0.505744}, {0.310204, -0.163001}, {2.227881, 0.439271}, - {-0.402395, -0.165319}, {-0.381247, 0.233719}, {-0.070232, -0.083912}, - {0.705271, 0.505574}, {-0.574528, -0.237527}, {-0.097888, 0.687548}, - {-0.287092, -0.392327}, {0.771057, -2.105183}, {-0.424797, -0.712019}, - {-1.141051, -0.262563}, {1.245465, -0.173175}, {-0.809671, 0.478984}, - {0.420857, -1.118626}, {-0.774501, 0.206551}, {-0.371353, -0.523965}, - {-0.475349, 0.782751}, {0.354270, 0.297627}, {0.429063, -0.301249}, - {-0.253951, -0.024314}, {0.542049, 0.210328}, {-1.288145, 0.902746}, - {-0.610673, -0.457713}, {0.560486, -0.045507}, {1.012326, 0.160808}, - {0.739327, 0.227113}, {0.440689, -0.364347}, {0.043907, -0.902520}, - {0.107084, -0.850966}, {-0.864312, -0.936915}, {-0.983595, 1.279503}, - {-0.826804, -0.510867}, {0.410159, -0.166249}, {0.234942, 0.048679}, - {-0.440864, -1.871740}, {-0.277232, 0.058905}, {0.865167, -1.085117}, - {0.323421, 0.865950}, {0.078567, 0.487181}, {-0.106628, 0.112398}, - {-0.701141, -0.631292}, {-0.241547, -0.907031}, {-1.058655, 1.194515}, - {-0.245933, -0.291151}, {0.090384, -0.078327}, {-1.804471, 0.305652}, - {-0.710208, -0.044177}, {-1.637185, 0.634789}, {0.322701, 0.202198}, - {0.592642, 0.027099}, {0.106661, 0.220082}, {0.374884, 0.031143}, - {0.466431, 0.144924}, {-0.435113, -0.045018}, {-0.812143, 0.850339}, - {-0.723946, 0.392704}, {-2.151521, -0.712553}, {0.450893, -0.280685}, - {0.819631, 0.669219}, {0.173790, -0.823862}, {1.252888, -0.450119}, - {-0.760925, 0.126633}, {0.100797, 0.669706}, {0.636397, 0.644360}, - {0.314358, 0.426072}, {0.399418, -0.772800}, {-0.648593, -0.341262}, - {-0.247134, 0.264055}, {1.077773, 0.975354}, {0.523563, -0.791219}, - {-0.796902, -0.163962}, {-0.615911, 0.149349}, {0.954916, -1.262222}, - {0.678034, 1.207517}, {-0.372992, -0.431473}, {-1.124813, -1.597092}, - {-0.447033, -0.087720}, {-0.720631, 0.709710}, {0.384703, 0.910101}, - {-0.247341, -1.476532}, {-1.241862, 1.322373}, {-0.310325, 0.816418}, - {-0.050700, -0.416219}, {0.309471, -0.192610}, {0.371081, 0.778064}, - {-0.510419, -1.055190}, {0.127094, 0.388637}, {-0.255658, -0.020784}, - {-0.239095, -0.235771}, {0.860355, 0.144748}, {0.175697, 0.666209}, - {0.161710, -1.018808}, {0.208616, -0.113253}, {0.322261, -0.153970}, - {0.115609, 0.527421}, {-1.142425, -0.174532}, {-0.867659, -0.160025}, - {0.702013, -0.499588}, {-0.305717, -0.468403}, {1.015578, -0.486232}, - {0.012654, 0.647932}, {0.650411, 0.663774}, {0.064881, 0.712345}, - {-0.408083, -0.026499}, {0.129269, 0.557035}, {-1.311066, 0.784364}, - {-0.811294, -0.539442}, {-0.783403, -0.385913}, {0.661821, 0.125770}, - {-0.659564, 0.069575}, {0.995148, 0.349592}, {0.148861, -0.577855}, - {1.019181, -0.324607}, {0.569564, -0.397281}, {0.908002, 0.954231}, - {1.214742, -0.616921}, {-0.173224, 0.454581}, {-2.116294, -0.837803}, - {-0.363546, 0.105419}, {0.440872, 0.067274}, {-0.101457, 0.086710}, - {0.335032, 1.011214}, {-0.212784, 1.709394}, {-0.609104, 0.294062}, - {0.257849, -0.420324}, {-1.753260, -0.996065}, {0.233278, 0.392532}, - {0.347599, 0.585661}, {0.445643, -0.462247}, {1.049963, 0.117133}, - {0.839655, -0.356217}, {0.703241, 0.033581}, {0.271280, -0.196860}, - {0.065959, -0.921553}, {0.405906, -0.688962}, {0.098046, 0.333902}, - {-0.014572, 0.211136}, {-0.737884, 0.177744}, {-0.649906, -1.604793}, - {0.293595, 0.706452}, {-0.066643, 1.517094}, {0.441195, -0.173964}, - {1.195227, 0.123771}, {-1.135443, -1.413717}, {0.006356, -1.017804}, - {0.722946, 0.103556}, {-0.003354, 0.488708}, {0.474062, 0.159755}, - {0.324770, 0.895972}, {-0.553939, 0.154297}, {-0.103416, 0.898922}, - {-1.072220, -0.410260}, {-0.053047, -0.030047}, {0.070087, -0.725415}, - {0.165223, -0.558910}, {0.782904, -0.136372}, {-0.041688, -0.135373}, - {0.334520, -0.033481}, {0.801873, -0.133751}, {0.209301, 0.597294}, - {0.618379, 1.223616}, {0.888198, -0.672384}, {-1.214205, 0.041896}, - {-0.207532, -0.540674}, {0.992363, -1.169905}, {0.940801, -0.242385}, - {-0.708174, 0.635987}, {-0.369966, 0.143612}, {1.281108, 0.086508}, - {0.250887, -0.332167}, {-0.515793, -0.631672}, {1.136276, 0.346349}, - {-0.464252, 1.668219}, {0.525805, -0.141030}, {0.999260, 1.590780}, - {0.605581, -0.060022}, {1.056390, -0.048178}, {-0.968752, 0.185265}, - {-1.340377, -0.330139}, {-1.046545, 0.051473}, {-0.450882, 0.258781}, - {0.243010, 0.998613}, {0.421506, -0.706489}, {0.656187, -0.851819}, - {-1.749329, -0.182724}, {0.266263, 0.302166}, {0.344290, -0.491448}, - {0.946706, 1.671205}, {1.056879, -0.219540}, {0.627745, -0.729454}, - {0.433355, -0.250281}, {-0.200019, -1.300245}, {1.255424, -1.022037}, - {-0.061801, -0.646340}, {-0.232252, 0.533970}, {-0.395477, 0.369443}, - {-0.623953, -0.526531}, {-0.820382, 1.716970}, {0.140594, 0.061758}, - {-1.036810, 0.403211}, {-0.469993, -0.107368}, {1.205792, 0.275994}, - {0.959943, 0.019721}, {0.573598, 0.123293}, {-1.420059, -1.132904}, - {0.290727, 0.167288}, {0.365799, 0.542990}, {0.516968, -0.612634}, - {0.160027, -0.390477}, {-0.347292, 0.029547}, {-0.004609, 1.121404}, - {-0.335175, -0.015666}, {0.908113, 0.229171}, {0.545009, 1.480549}, - {-1.220973, 1.093788}, {0.479628, -1.425169}, {-0.513786, 1.062727}, - {0.357421, -0.804394}, {-1.061941, 0.223873}, {-0.385252, 0.110396}, - {-1.640287, -0.021951}, {0.623028, -0.060477}, {-0.550756, 0.678768}, - {0.135673, 0.837449}, {0.751838, -0.180054}, {0.954815, -0.866757}, - {0.604536, 1.476877}, {-0.286459, 0.372774}, {0.376627, -0.910916}, - {1.217027, 0.101736}, {0.011181, -0.874826}, {-0.722030, 0.489939}, - {0.311409, -0.260903}, {0.226439, -0.416559}, {-0.217666, 0.618687}, - {-0.882251, -0.420330}, {0.562126, -0.226552}, {-0.133127, -0.134644}, - {0.969153, -0.508304}, {0.405205, -0.871967}, {-1.017625, 0.079112}, - {-0.736203, -0.949411}, {0.250579, 0.868592}, {0.584736, 0.487773}, - {-0.200735, 0.406254}, {-0.169967, -0.174164}, {-0.926833, -0.008126}, - {-1.276335, -0.436210}, {-1.055847, -0.464811}, {1.382819, -0.892263}, - {0.549810, -0.254992}, {-1.222183, -0.947043}, {0.548589, -0.517754}, - {0.330987, 1.018993}, {0.025173, 0.069526}, {0.574042, -1.129914}, - {1.165371, -0.221953}, {-0.047741, -0.296772}, {0.651998, 0.263669}, - {-0.694023, 0.443470}, {-0.956615, -0.672689}, {0.016381, -0.458048}, - {0.982982, -0.048522}, {0.181067, -0.514465}, {-0.391139, -0.223578}, - {0.161096, -0.653129}, {-0.351802, -0.290479}, {-0.314563, 0.489580}, - {-0.146600, 0.217679}, {-0.626463, -1.314274}, {-0.425276, 0.036105}, - {0.653590, -0.842355}, {0.326039, -0.509672}, {-0.469673, 0.286035}, - {-0.123351, 0.467094}, {0.413046, 1.210950}, {-1.022797, -0.785435}, - {0.675002, 0.772235}, {-0.862771, -0.220066}, {-0.231169, -0.567071}, - {-0.022879, -1.662436}, {0.191818, -0.220743}, {-0.011754, -1.811256}, - {0.535316, -0.223392}, {0.073030, 1.008182}, {0.433603, 1.040546}, - {0.057488, -0.260627}, {-0.750304, -0.190874}, {-1.484162, -0.249188}, - {0.555514, -0.171803}, {0.541373, 0.623842}, {-0.324439, -0.112460}, - {0.079769, -0.353481}, {0.330382, 1.054412}, {-0.106034, 0.995793}, - {-0.382467, 0.382232}, {-0.036929, -0.393942}, {0.511558, -1.203157}, - {-0.669114, -0.507821}, {-0.717810, -0.040914}, {-1.754621, 0.344004}, - {-0.597845, -1.199356}, {1.760979, 0.700903}, {0.625006, -0.444735}, - {-0.348717, -0.247748}, {0.174249, 0.142504}, {0.819233, 0.294173}, - {-0.031325, -0.221121}, {0.591852, 0.560305}, {-0.018918, -0.672425}, - {0.779234, -0.181712}, {-1.059580, 0.442549}, {-0.326264, 1.377449}, - {-0.788614, -1.350767}, {0.216709, 0.414704}, {0.220819, 0.108199}, - {-0.359007, 0.600802}, {-0.309663, 0.778317}, {0.757247, 0.732882}, - {-0.492180, 0.313444}, {-0.869761, -1.301811}, {-0.125626, -0.676394}, - {0.295449, -0.241053}, {1.054322, 0.797473}, {-0.287078, -0.504316}, - {-0.537100, -0.231610}, {0.613905, -0.234007}, {0.741154, 0.141237}, - {0.626367, -0.853201}, {0.755579, -0.402972}, {0.791054, 0.600208}, - {-0.063499, -0.518131}, {-0.489265, -0.036842}, {-0.949063, 0.023314}, - {-0.515292, -0.340645}, {1.479585, 0.191550}, {-0.606714, -0.320708}, - {0.466669, 0.522580}, {-0.863079, 1.451320}, {0.528683, 0.847398}, - {0.542235, -0.755739}, {0.118265, 0.135243}, {-0.740312, -0.861944}, - {-0.435756, 0.830366}, {-0.109372, -0.213866}, {-0.553930, -0.845500}, - {-1.099287, -0.297620}, {0.106898, -0.424559}, {-0.378716, 0.193142}, - {0.213494, 1.033237}, {-0.853118, -0.760434}, {-0.206960, 0.322096}, - {0.515476, -0.382595}, {-0.452647, 0.010086}, {-0.802250, -0.678852}, - {0.294123, 0.686175}, {0.858965, 0.189241}, {0.605752, -1.104271}, - {1.481873, 0.508996}, {-1.116676, 0.289812}, {-0.707222, -0.382630}, - {-0.079025, 1.156617}, {0.639524, -0.001944}, {-0.088679, -1.253192}, - {-0.321477, 0.741010}, {0.995588, -0.064482}, {-0.881360, 1.360842}, - {-0.297000, -0.072434}, {0.060998, 0.138554}, {0.421436, -0.022213}, - {0.600608, -0.843743}, {-0.093266, -0.799977}, {-0.270330, -0.551698}, - {-0.586570, 0.075585}, {0.535896, -0.937339}, {-0.196885, -1.152215}, - {-0.824956, -0.668942}, {-0.259150, 0.564970}, {1.163106, -0.343775}, - {-0.211627, 0.887391}, {-1.519484, -0.692918}, {0.630723, -0.711066}, - {-0.804122, -0.662480}, {0.839553, 1.605451}, {-0.326213, 0.368434}, - {0.059140, -1.102124}, {0.237029, 0.146990}, {-0.696770, -0.008057}, - {-1.171176, 0.075899}, {-0.147349, 0.040450}, {0.129807, -1.078745}, - {-1.346480, -0.102841}, {1.923088, -0.340920}, {0.604509, -0.631306}, - {0.830188, 0.900687}, {-0.244172, -0.131295}, {-1.297096, 0.273955}, - {-0.851825, 1.248525}, {-0.198894, -0.720303}, {0.603852, 0.405432}, - {0.164840, 0.543281}, {1.671773, 0.067980}, {0.038583, 0.297031}, - {0.507509, -0.744625}, {0.359393, 0.748717}, {-0.212608, -0.358101}, - {0.126437, 1.165712}, {-0.248434, -0.585575}, {-0.263564, 1.882286}, - {0.197666, -0.007268}, {1.382641, -2.141275}, {0.372177, -1.454355}, - {-1.179644, 0.104261}, {1.106674, -0.282933}, {-0.265928, -0.626704}, - {-0.561107, 0.452555}, {-1.300538, 0.287714}, {-1.015374, 0.573758}, - {-0.607617, -0.309770}, {-0.023152, -0.760109}, {-0.194123, 0.599047}, - {0.647420, -0.037263}, {0.106358, 0.238426}, {-0.392097, 0.094144}, - {0.661177, 0.412145}, {-1.399599, 1.957816}, {0.148234, 0.471031}, - {0.286092, 0.528837}, {-0.391787, 0.921074}, {0.195292, 0.118754}, - {-0.136761, 0.298155}, {-0.378985, -0.604095}, {1.371422, -0.622111}, - {0.857070, 0.509011}, {0.066269, -0.029824}, {-1.377703, 0.529433}, - {-0.694186, -0.441324}, {-0.257793, 1.275458}, {-0.672277, -0.654115}, - {-0.809306, 0.145106}, {0.670659, -0.012692}, {0.157773, 0.013152}, - {-0.462958, -0.012297}, {0.827130, 1.661564}, {0.397882, 0.120724}, - {1.117614, 1.225687}, {0.476878, 0.490050}, {0.724769, 1.113002}, - {0.586609, -0.560797}, {-1.361147, 0.474845}, {-0.007226, 0.580620}, - {-0.701521, 0.864232}, {0.994535, 0.306268}, {0.370349, 1.237807}, - {-0.242788, -1.443067}, {0.473815, -0.479609}, {-0.389546, 0.026009}, - {-0.338480, 0.878802}, {0.435504, -0.420076}, {0.889075, 0.161873}, - {0.138696, -0.566162}, {0.217055, 0.953271}, {0.839538, 0.048184}, - {-0.059206, -1.142293}, {0.665060, -0.676547}, {0.221557, 0.086282}, - {-1.173015, 0.335912}, {0.457360, -0.040303}, {0.575889, -1.213594}, - {0.658439, -0.011276}, {-1.457696, -0.189237}, {-0.800412, 0.566585}, - {-0.102734, -0.661830}, {-0.348242, 0.424874}, {0.353335, 1.852790}, - {1.435363, 0.984674}, {0.405182, -0.313471}, {-0.641495, 1.885674}, - {1.945466, 1.286943}, {-1.031042, -0.000691}, {-0.513774, -1.070626}, - {1.364844, -0.285854}, {-0.121790, -1.095977}, {-1.249687, 0.021067}, - {-0.075555, 0.781338}, {0.954208, -0.915902}, {-1.027627, -0.406509}, - {-1.513386, 0.885096}, {-0.487952, -0.456337}, {-1.052057, 0.867359}, - {-0.145713, 0.278056}, {-0.756226, -0.964303}, {-0.446097, -0.089467}, - {0.169928, -0.361224}, {0.397326, -0.307696}, {-0.034144, -0.246857}, - {-0.696100, -0.538312}, {-0.534972, 0.210185}, {0.816251, -0.647654}, - {-0.705987, -0.908852}, {-0.615467, -1.097666}, {-0.159338, -0.149510}, - {-0.937470, 0.880936}, {-0.320957, -0.048574}, {-0.372401, -0.285898}, - {-0.358402, -0.568311}, {0.708385, -1.254534}, {0.829644, 0.011912}, - {0.285381, -1.031588}, {0.017740, -0.349993}, {-0.022239, -0.439243}, - {-1.430300, -0.497895}, {0.170766, -0.701765}, {0.175088, 0.629816}, - {-0.098450, 0.984733}, {-0.506275, 0.273047}, {0.386685, 0.226191}, - {-0.849597, 0.026814}, {0.331172, -0.400903}, {-0.166717, 0.322664}, - {0.840811, 0.163583}, {-1.492836, 0.838920}, {-1.518271, 0.133282}, - {0.411785, 0.665886}, {-1.288775, 0.573578}, {-0.679826, 0.216065}, - {1.072059, 0.678109}, {0.327039, 0.057915}, {0.748172, -1.016021}, - {0.766777, 0.338616}, {-0.154979, 1.088221}, {-0.233660, -0.592573}, - {0.733229, -0.356964}, {-0.716623, 0.333791}, {0.201190, -0.773714}, - {0.312616, -0.148537}, {0.290474, -0.743141}, {-0.227709, -0.668733}, - {-1.515149, 1.270848}, {0.226198, -0.729829}, {-0.181346, -1.271070}, - {-1.045326, -0.092295}, {1.642772, -1.645010}, {1.017090, -1.591010}, - {0.095373, -1.289559}, {1.964387, 0.348377}, {-0.950861, 0.367564}, - {0.556953, 0.768761}, {-0.203486, 0.439205}, {0.491570, 0.168439}, - {-0.687148, -0.295486}, {-0.740794, -0.566119}, {-0.024076, 0.456466}, - {0.109395, -0.274543}, {-0.793800, -1.014024}, {0.292454, 0.541633}, - {-0.595307, 0.963837}, {-0.657843, -0.867296}, {0.204862, -0.344086}, - {-0.578269, -0.345403}, {-0.780437, -0.385625}, {-0.273820, 0.505994}, - {1.004484, -0.156356}, {-0.868964, 0.266448}, {0.143031, -0.803470}, - {0.101618, -0.081850}, {0.193181, -0.062062}, {-0.861275, 0.852923}, - {0.288135, -0.426406}, {-0.928134, 0.099686}, {-0.181721, 1.615686}, - {-0.136660, 0.020212}, {0.072772, 0.114802}, {0.202198, -0.238392}, - {-0.251007, 0.316880}, {0.349716, -0.792136}, {-1.213064, -0.842004}, - {0.862678, -0.028549}, {-0.973473, 0.006869}, {0.233388, -0.345947}, - {1.041065, 0.708671}, {0.324049, -1.771873}, {-0.185275, 0.653364}, - {0.628341, 0.054329}, {-0.164341, 0.487005}, {0.393343, -0.037375}, - {-0.532730, 1.366482}, {0.106510, 0.798337}, {-0.801100, -0.368808}, - {0.492501, -0.594827}, {-0.157276, -0.210969}, {1.430722, -0.123353}, - {0.869858, -0.330376}, {-0.870905, -0.576319}, {0.488152, -0.077766}, - {-1.352852, -0.983699}, {-0.071516, 0.008669}, {0.038294, -0.659775}, - {-0.638838, -1.453811}, {0.365078, 0.936548}, {-0.176761, 0.029567}, - {-0.637139, 0.811721}, {0.199638, -0.298378}, {-0.555570, 0.019142}, - {-0.091645, 0.610158}, {0.877453, 0.174360}, {-0.568953, 0.103565}, - {-0.832229, 0.324979}, {0.712774, 0.870009}, {-0.278872, -0.588582}, - {0.435542, 0.494374}, {-0.065868, 0.021952}, {1.423758, -0.393834}, - {-0.477059, 0.827165}, {0.627414, -0.276227}, {1.000520, 0.682515}, - {0.607696, 0.206943}, {-0.154464, 0.495945}, {-0.124329, -0.829138}, - {-0.087112, -0.220509}, {-0.465875, -0.382839}, {-1.017272, 0.487396}, - {-0.547511, 0.237748}, {-0.038977, 0.393638}, {1.026923, -0.597241}, - {-0.621617, -0.717375}, {0.667387, 0.914740}, {-0.608364, -0.851361}, - {0.615870, 0.510211}, {0.292743, 0.514543}, {0.347583, 1.275365}, - {0.200986, -0.420921}, {1.374615, -0.215986}, {-0.414803, 0.434964}, - {-1.476929, -1.362368}, {0.636865, 0.488148}, {1.114926, 0.262444}, - {0.082692, -0.670997}, {1.966723, 1.124746}, {-0.046586, -1.173584}, - {-0.363377, -0.208166}, {0.501587, 0.594431}, {-0.168038, 0.767871}, - {0.323440, 0.680381}, {1.067349, 0.560431}, {-0.772885, -1.138626}, - {0.518494, 0.322721}, {0.685843, -0.056191}, {0.787104, -0.784384}, - {0.609174, -0.220906}, {-0.006505, 0.671218}, {0.460238, -0.684338}, - {0.438095, 1.508562}, {0.009417, 0.237749}, {0.393314, 1.196541}, - {-0.583606, 1.070722}, {-0.169269, -0.926174}, {-0.066992, -0.301332}, - {0.497741, -1.198867}, {-1.090838, 0.548678}, {-0.004155, -0.024343}, - {-0.612437, -0.656401}, {-0.663257, -0.093885}, {-0.174069, 0.911494}, - {0.367565, 0.610990}, {-0.144097, -0.435430}, {1.104616, -1.845717}, - {-0.972594, 0.334831}, {-0.794574, -0.392847}, {0.311997, 0.561151}, - {0.586292, -0.042105}, {-1.605228, -0.279692}, {-0.382017, 2.388282}, - {1.055212, 0.335750}, {0.209281, 0.138650}, {-0.385178, -0.272430}, - {0.548245, -0.025245}, {-0.638262, -0.021417}, {-1.294383, -0.197757}, - {0.423815, 0.591952}, {-0.071987, -0.562847}, {-0.126977, 1.038596}, - {0.496448, 0.840634}, {-1.185477, 0.042048}, {-0.823043, -0.368610}, - {1.008274, -0.231597}, {-0.660260, 0.296490}, {-0.743515, 0.208480}, - {0.379941, -1.003447}, {0.968945, 0.294877}, {-0.698481, -1.144907}, - {-1.162786, 0.387927}, {-0.293235, 0.428785}, {0.718636, -0.315848}, - {0.107103, -0.828505}, {0.356476, -0.645877}, {0.505071, -0.331163}, - {-0.649298, -0.398312}, {-0.090610, -0.074341}, {0.200451, -0.421806}, - {0.908067, -0.168388}, {-0.846288, 0.033026}, {-0.189659, -0.925072}, - {-0.023812, 0.459475}, {1.602866, 0.714233}, {-0.575714, -0.238446}, - {0.846762, -0.832419}, {0.120918, 0.182480}, {-0.570597, -0.373300}, - {0.419728, 0.612563}, {-0.320002, -0.948555}, {0.318035, -0.186493}, - {-0.127286, 0.112951}, {-0.141023, 0.135715}, {1.060583, 0.677137}, - {0.101330, 0.199317}, {0.803035, -0.452390}, {-0.340576, 0.650283}, - {0.902556, -0.144691}, {-0.893404, 0.858889}, {-0.007600, -0.345112}, - {0.111926, -0.168442}, {1.039893, -0.469075}, {0.240538, -0.826278}, - {0.826768, 0.578478}, {1.046184, 0.665426}, {0.038550, 0.215966}, - {-0.635648, 0.508181}, {-0.146230, 0.638788}, {-0.362399, -0.629495}, - {0.542586, 0.843847}, {0.167182, -0.792296}, {-0.855717, 0.083743}, - {-1.036334, -0.085065}, {-0.324723, -0.030988}, {-1.833660, -0.410648}, - {-0.001357, -0.829866}, {-0.104752, -0.284616}, {-0.816835, -1.210435}, - {-0.052255, -0.543345}, {-0.367505, 0.092323}, {-0.736559, -0.520296}, - {0.201749, 0.054396}, {-0.199049, 0.602651}, {0.404682, -0.309862}, - {-0.317471, 1.036744}, {-0.098938, -0.818030}, {-0.814101, -1.260633}, - {0.763575, 0.457821}, {0.358938, -0.131199}, {-0.301845, 0.650210}, - {-0.029168, -0.595484}, {-0.369691, 0.223720}, {0.194581, 0.025750}, - {-0.460265, 0.156045}, {0.305830, 0.208558}, {0.223866, 0.641668}, - {0.026609, 0.558788}, {0.356247, 0.373533}, {0.237883, -1.069953}, - {0.147891, -0.805516}, {0.188977, -0.068435}, {0.292733, -0.380567}, - {0.221952, 1.563443}, {0.345474, -0.145997}, {0.562837, 0.992170}, - {0.931969, 1.306009}, {1.241908, 0.118149}, {0.565906, -0.246496}, - {-0.585196, 0.203570}, {0.711276, -0.200387}, {-0.376149, 0.513875}, - {1.192035, -0.156803}, {-0.862564, 0.588024}, {0.388852, -1.356642}, - {0.725190, 0.687537}, {0.257052, 0.151601}, {0.411402, 0.594166}, - {-0.047136, -1.330878}, {1.164207, -0.046186}, {-0.200303, 0.780709}, - {-1.433552, 0.524817}, {0.560902, 0.219424}, {1.472746, 0.370998}, - {0.004523, 0.852842}, {-0.707314, -0.502471}, {-0.705225, -0.568235}, - {-1.031248, 0.407625}, {1.060594, 0.382613}, {1.464419, -0.586019}, - {-0.605902, -0.458757}, {0.929307, 0.153506}, {-0.016372, 0.282450}, - {-1.208132, -0.830801}, {-0.126240, -0.367972}, {-0.499330, 0.674812}, - {1.438503, 0.217270}, {0.740691, 0.305890}, {-0.108512, 0.515161}, - {-0.078081, -0.658439}, {0.032558, -0.295751}, {-0.340864, -0.476425}, - {-0.013541, 1.071300}, {-0.316971, 0.276887}, {-0.154365, -0.266247}, - {0.612401, 0.295050}, {0.668963, -0.540567}, {0.158289, 0.472776}, - {-0.166571, 1.587298}, {-0.159732, 0.238475}, {0.347017, 0.964527}, - {0.004723, 1.073330}, {0.829038, -0.522273}, {-0.541649, 0.245743}, - {-0.766282, -1.376811}, {1.171373, -0.879527}, {0.569829, 0.378677}, - {0.416307, 0.145570}, {-0.123077, -0.283547}, {-0.896898, 0.201798}, - {-0.435349, -0.464885}, {1.650033, 0.637224}, {0.965961, 0.150970}, - {1.166701, 0.751840}, {-0.127525, 0.401022}, {0.092153, 0.492356}, - {-0.022106, 0.491025}, {0.385129, 1.227755}, {-0.436923, 0.728795}, - {-0.022073, -0.802340}, {1.216361, -1.280683}, {-0.519844, -0.069400}, - {0.409208, -0.807452}, {-0.368572, 0.226689}, {0.076268, 0.839854}, - {0.287471, -0.764709}, {1.363614, 0.454507}, {-1.102576, 0.253968}, - {-0.046986, -0.270808}, {-0.736602, 0.092040}, {1.165091, -0.216918}, - {0.127164, 0.453077}, {-0.886593, 0.861856}, {0.158112, -0.594493}, - {-0.030994, 0.470361}, {-0.261688, 0.126497}, {0.600867, 0.028243}, - {-0.982395, 0.004090}, {-0.507128, -0.005293}, {-0.731200, -1.445173}, - {-1.293737, -0.514366}, {0.105943, -0.405240}, {0.207327, -0.755563}, - {-0.023598, 0.754680}, {1.402186, -0.206298}, {-0.127333, 0.036313}, - {1.399904, -0.297810}, {-0.974748, 0.286854}, {1.124209, 1.335946}, - {-0.128752, 0.673476}, {0.713310, 0.757828}, {-0.843100, -0.537106}, - {-0.715673, 0.477791}, {-0.382188, -0.826056}, {0.390282, -0.250610}, - {0.514525, 1.058072}, {-0.896554, 1.141563}, {0.829613, 0.348516}, - {0.238624, 0.417594}, {-0.105300, -1.182838}, {1.532616, -0.028817}, - {-0.894122, -0.090487}, {-0.389445, 0.360247}, {1.821895, 0.589262}, - {-1.125450, 0.413939}, {0.161053, 1.207355}, {-0.222854, 0.366948}, - {0.533803, 0.516122}, {-0.531179, -0.721872}, {-0.763610, 0.387296}, - {-1.006094, -0.714480}, {-0.053524, 2.039535}, {0.715739, -0.315490}, - {0.112799, -0.374255}, {0.012495, -0.075747}, {0.777265, -1.168285}, - {-0.030666, -0.933422}, {-0.621612, 0.877107}, {1.613176, -0.222628}, - {0.762815, 0.849391}, {-0.616282, 0.927940}, {-0.508595, -0.736129}, - {-0.282486, 0.049873}, {0.685474, -0.516179}, {-0.167842, -1.278946}, - {-0.341434, 0.561593}, {-0.450187, 0.553444}, {-0.284804, 0.812548}, - {0.660818, 0.289406}, {-0.851014, -1.087384}, {-0.046101, 1.015682}, - {-0.127992, -0.773456}, {0.306108, -0.585527}, {0.058395, 1.365709}, - {-1.008366, -0.490221}, {0.982199, 0.335153}, {-0.577732, 0.243236}, - {0.835171, 1.062171}, {0.861717, -0.878783}, {0.076238, 0.653993}, - {0.882457, -1.182033}, {0.395471, 0.707660}, {0.175015, 0.113237}, - {-0.326660, -0.420746}, {-0.270266, -0.064866}, {1.219132, 0.257211}, - {0.532239, -1.366118}, {-0.063139, 0.364975}, {-0.538459, -0.301802}, - {-0.066699, 1.443469}, {1.349248, -0.063832}, {0.640151, -0.177954}, - {-0.281434, -0.418631}, {0.205809, 0.035216}, {-0.593818, -0.007308}, - {0.083672, -0.018417}, {0.229748, -1.197985}, {0.617426, -0.238514}, - {0.627780, 1.027152}, {-0.525954, 0.502738}, {-0.494039, 0.268553}, - {-0.565555, 1.133933}, {0.692407, -0.156891}, {-1.132269, -1.404156}, - {0.952331, 0.232551}, {0.542762, 0.026346}, {-0.223407, -0.463245}, - {-0.889800, -1.076883}, {1.183630, 0.315594}, {-0.424457, -2.145227}, - {2.273507, 0.093040}, {1.217376, -0.209756}, {-0.118041, 0.061581}, - {-0.281683, -0.337646}, {0.681924, -0.618740}, {0.366107, 0.349009}, - {0.162105, -0.360180}, {0.626527, -0.551253}, {-0.406674, 1.130650}, - {-0.210328, -0.182414}, {0.362503, -0.512021}, {-0.628315, -0.024001}, - {0.504299, 0.803734}, {1.120537, 0.920166}, {0.908672, -0.033387}, - {-0.253838, 1.298045}, {0.481005, 0.131980}, {-0.135943, 0.437193}, - {0.267186, 0.026759}, {0.542714, -0.264004}, {-1.206726, -0.419685}, - {-0.699274, 0.238968}, {0.463989, -0.510916}, {0.043349, -0.214415}, - {0.160823, 0.541792}, {-0.242431, -0.210894}, {0.511331, -0.176104}, - {1.048913, 0.488046}, {0.365260, -0.066836}, {-1.066309, -0.093985}, - {0.542119, 0.501833}, {-1.244972, -0.372142}, {-0.753972, -0.096356}, - {-0.291842, 0.016194}, {-0.477053, -0.804632}, {-0.078449, -0.379581}, - {0.753739, -0.537456}, {0.100513, -0.310604}, {1.368776, 0.717445}, - {0.764968, -0.075108}, {0.053403, 0.448399}, {0.582609, -0.788861}, - {0.049464, -0.413320}, {-1.015383, -0.153174}, {-1.441094, 1.226203}, - {-0.935850, 0.636812}, {0.714004, -0.531381}, {-0.467397, 0.354665}, - {-0.132670, 0.678550}, {0.491754, -0.263982}, {0.137027, -0.063034}, - {-0.320801, 0.061453}, {-0.682060, 0.697585}, {0.772583, -0.400500}, - {-0.702765, 0.154811}, {0.248536, -0.291513}, {1.213524, -1.416038}, - {-0.169976, -0.794819}, {0.012138, 0.740188}, {0.700987, -0.962213}, - {0.654398, 1.372495}, {0.267751, 0.491715}, {0.380491, -0.409166}, - {0.697133, -0.296663}, {-0.210519, 0.303294}, {-0.557089, 0.942688}, - {0.250830, 0.597076}, {0.836891, 0.383697}, {-0.781979, -1.371013}, - {-0.312390, -0.764450}, {-0.475572, 0.060645}, {0.756715, -0.479073}, - {-0.018402, 0.967757}, {-1.118602, 0.402060}, {-0.050789, 0.033776}, - {-0.378991, -0.301264}, {0.550866, -0.472333}, {0.695695, -0.564736}, - {-1.022700, 0.001319}, {-0.995349, -0.179992}, {-0.160696, -0.561579}, - {-1.238996, 1.005039}, {0.164585, 0.869884}, {-0.474996, 0.425370}, - {-0.437417, 1.116224}, {-0.429658, 0.009218}, {-0.525544, -0.272148}, - {0.695156, -0.102539}, {-0.850466, -0.358257}, {0.079718, -1.212420}, - {0.484277, 0.505628}, {0.433427, 0.521144}, {1.357588, -0.280115}, - {-1.050502, 0.461743}, {0.092603, 0.569536}, {0.031757, 0.460663}, - {-0.412955, 0.613726}, {-0.236422, -0.089493}, {0.459335, 0.304540}, - {-0.753505, -0.235785}, {0.355571, -0.811544}, {0.221435, -0.954573}, - {-2.346443, 1.114150}, {-0.490478, 0.349986}, {-0.652118, 0.839932}, - {0.946405, -0.288780}, {0.892454, 0.348067}, {0.154899, 0.070845}, - {-0.145795, 0.359580}, {1.398316, -0.468739}, {1.048537, 0.085309}, - {-0.840074, -0.159959}, {-0.514107, 0.060504}, {-1.325402, -0.340374}, - {0.838967, 0.991954}, {-1.218276, -1.408265}, {0.335541, -0.565783}, - {-0.954269, 0.937467}, {-0.559335, -0.134362}, {1.943719, -1.403866}, - {-0.460487, -0.682805}, {0.681467, -0.850286}, {-0.644147, 0.907500}, - {-0.369335, 0.124141}, {-0.290076, -0.249195}, {-1.372572, 0.399371}, - {-0.216078, 0.112425}, {0.202706, -0.571132}, {0.007932, 0.238452}, - {0.622883, -0.361681}, {-1.659769, -0.052142}, {0.913395, -0.548796}, - {-1.546375, -0.177939}, {0.033195, 0.124151}, {-1.002228, 0.568683}, - {-0.552731, -0.057954}, {-1.386417, -0.250903}, {-0.685426, 0.169422}, - {-0.419053, -0.687470}, {0.203790, 1.177844}, {0.101606, 0.434861}, - {1.212102, -1.394154}, {-0.376188, 0.550320}, {0.845756, 0.440839}, - {0.313480, -0.822269}, {-0.806734, -0.209968}, {0.235863, -0.633919}, - {-0.345711, -1.139946}, {0.420142, 0.087180}, {0.522750, 0.494215}, - {-0.415381, -0.544665}, {-0.805989, -0.717142}, {0.591845, -0.006759}, - {-1.082991, -0.056471}, {-1.529968, 1.037963}, {-0.255855, -1.785748}, - {-0.454847, -0.034732}, {-0.272457, 0.141042}, {-0.539356, 0.233351}, - {-1.123501, 0.381575}, {-1.362791, -0.485143}, {0.867246, -0.554638}, - {-0.592859, -0.071347}, {0.029115, 0.338592}, {0.892906, -0.530447}, - {-0.942275, -0.950575}, {0.681004, -0.812727}, {-0.682861, -0.748591}, - {0.852113, 0.476257}, {0.789010, -0.330489}, {0.615453, 0.653533}, - {1.319493, -1.499355}, {0.423842, -0.348825}, {0.157478, -0.767351}, - {1.477448, 1.666978}, {0.067225, -0.415903}, {0.744507, -0.884219}, - {0.040268, 0.058540}, {-1.735353, 0.366785}, {0.153680, 0.237515}, - {0.667468, 0.542703}, {0.436021, 0.493232}, {0.563348, -1.182141}, - {-0.003835, -0.322843}, {-0.656232, -0.176493}, {-0.873231, 0.360992}, - {0.136123, 1.085468}, {-0.510539, 0.320659}, {-0.312098, 0.046118}, - {-0.421199, -1.437631}, {-0.215423, 0.161690}, {1.307419, -0.284457}, - {-0.563560, -0.119780}, {-1.600169, 0.228748}, {-1.421886, 0.023649}, - {-0.189495, 0.797349}, {-0.165802, 0.372003}, {-0.221700, -0.219905}, - {0.534275, -0.120511}, {-0.248351, -0.805280}, {0.034413, 0.744190}, - {-0.642193, -0.452466}, {-0.599072, -0.680422}, {-1.724224, 0.426709}, - {-0.790234, -0.730923}, {0.088659, -1.035535}, {-0.275351, -0.733153}, - {-1.102652, -0.046605}, {-0.757406, 0.374197}, {1.053567, -1.538006}, - {0.088439, -0.294301}, {0.516494, 0.576207}, {0.909468, -0.056118}, - {0.067821, -0.686035}, {-1.044428, 0.968891}, {0.557625, -0.843896}, - {-0.446400, 0.872971}, {0.354836, 1.692407}, {-1.197610, -0.164863}, - {1.193169, -0.074590}, {0.564380, -0.167004}, {1.458768, 0.101084}, - {-1.659323, -0.179509}, {-0.637948, -1.333850}, {0.521633, -0.111609}, - {0.159952, 0.245567}, {0.557457, 0.552443}, {-0.541189, -0.269047}, - {0.178323, 0.718181}, {-0.148046, 1.282756}, {0.396217, -0.918592}, - {-1.196000, -1.302291}, {-1.147016, 1.087835}, {-0.697901, 0.120563}, - {-0.416445, -0.085792}, {-0.575136, 1.047383}, {-0.108410, 0.806852}, - {0.103438, 0.190436}, {-0.514501, 0.205539}, {-1.158432, 0.436651}, - {1.837359, 0.282446}, {2.898165, 0.605520}, {-0.638636, -1.383828}, - {-0.422205, -1.159697}, {0.439481, 1.089898}, {-0.440211, 0.267563}, - {0.055757, -0.465994}, {0.203813, -1.372535}, {-0.369227, -0.991863}, - {0.502829, 0.205971}, {-0.168711, 0.991037}, {-0.441042, -0.002326}, - {0.323292, -0.197988}, {0.245345, 0.967783}, {-1.106120, -0.247019}, - {-0.701892, -0.940481}, {0.089337, 0.099586}, {-0.484300, 0.499526}, - {1.270932, 0.213534}, {0.769257, 0.759910}, {-0.001945, 0.582357}, - {-1.013147, 0.480989}, {0.541451, 0.216142}, {0.984260, -0.129450}, - {0.593683, -0.154239}, {-1.381179, 1.039958}, {0.586204, -0.209757}, - {0.373642, 0.368349}, {0.322644, 0.122887}, {-0.760574, 0.101006}, - {-0.369533, 0.356949}, {0.793169, 0.343188}, {-0.088122, -0.026515}, - {-0.134987, -0.622070}, {-0.209032, 0.730416}, {-0.633736, -0.964829}, - {0.004523, 0.680249}, {-0.251489, -0.161656}, {-1.236883, 0.834379}, - {0.158569, -0.243367}, {-0.728852, 0.382640}, {0.132910, -0.265206}, - {0.491294, 1.636521}, {-1.199529, -0.648592}, {0.655339, -0.600365}, - {-0.088940, 0.359795}, {-0.344506, 1.674392}, {-0.074931, -0.684859}, - {-0.600775, 0.495819}, {0.546661, -0.283537}, {0.816700, 1.018373}, - {1.345432, 0.093005}, {-0.429347, -1.242027}, {-0.195153, 0.520674}, - {0.051187, -0.285221}, {-0.157695, 0.732045}, {0.525571, 0.750470}, - {-1.647741, 0.695828}, {0.729457, -1.305992}, {-0.156214, 0.275815}, - {-0.271609, -1.109912}, {-0.884156, 1.468249}, {0.772042, -0.843589}, - {1.124620, 0.188741}, {-0.613738, -1.412528}, {1.392810, 0.203713}, - {0.414216, -0.811126}, {0.049929, -0.015404}, {-1.845246, 0.585689}, - {0.311221, -0.174248}, {0.322036, 0.428788}, {0.323903, -1.877702}, - {0.723333, -0.843178}, {-1.316829, -0.626211}, {-0.457250, -0.296858}, - {0.460788, -0.256206}, {1.858779, 0.618149}, {1.520473, 0.618939}, - {0.182818, -0.609792}, {0.093293, -0.511200}, {-0.796530, 0.280311}, - {0.314653, 0.441506}, {0.145929, -0.171299}, {0.989340, -0.023398}, - {0.382977, 0.962526}, {-0.234472, 0.204414}, {-0.168631, 0.970621}, - {-0.359397, -0.238005}, {-1.160084, -0.108981}, {1.026957, 0.611603}, - {0.594561, 0.074036}, {-0.703831, -0.612982}, {-0.920383, 0.335892}, - {0.779956, -0.290330}, {0.160028, -0.530884}, {-0.462821, -0.124964}, - {-0.021306, -0.500310}, {-0.640899, -0.880880}, {-0.168131, 0.249834}, - {-0.181111, 0.256184}, {0.201675, -1.172094}, {-1.107592, -0.654002}, - {0.618958, -1.100837}, {-0.613276, -0.606221}, {0.589475, 0.793413}, - {-0.799120, -1.033400}, {0.461943, 0.180295}, {-0.992388, 0.078304}, - {0.249753, -0.552251}, {1.140054, 0.813340}, {-0.380441, -0.427859}, - {0.140464, -0.478517}, {-0.693361, 1.211238}, {0.156036, -0.216601}, - {0.403554, -1.008049}, {-0.867654, 1.706051}, {-0.451461, 0.206311}, - {-1.312167, -0.321273}, {0.304323, 1.501758}, {-1.237910, 0.416220}, - {-0.246990, -0.517017}, {0.921878, 1.665267}, {0.680523, 0.333206}, - {-0.250695, -0.780680}, {0.017056, -1.185064}, {0.833909, -0.065707}, - {-1.048432, -0.304359}, {-0.079640, 0.971286}, {0.860137, 1.148088}, - {-0.222327, 0.443586}, {0.569845, 0.484530}, {0.709289, 0.527264}, - {-0.437060, 1.058135}, {0.441519, 0.926605}, {0.563086, -0.036039}, - {0.731869, 1.018196}, {0.715868, -0.555336}, {0.083263, -0.392260}, - {-0.432371, 0.271707}, {-0.323319, 0.838910}, {-0.250503, -0.369677}, - {-0.341576, -0.046356}, {1.703584, 0.832092}, {0.305570, 0.700940}, - {0.313809, 0.320696}, {-0.232152, -0.195104}, {-0.160822, 0.383805}, - {-0.782644, 0.821497}, {0.317483, 0.561839}, {0.292112, -0.787810}, - {0.682217, -0.036886}, {-0.234958, -0.342815}, {1.489802, 0.394218}, - {-0.780212, 0.082822}, {0.012921, 1.219529}, {-0.309442, 1.310485}, - {0.805021, 0.916130}, {-0.164403, -0.490808}, {-2.442305, 0.477766}, - {0.306204, 0.782185}, {-0.642253, 0.034201}, {-0.734342, 0.374860}, - {-0.534225, -0.141448}, {-1.039800, 0.243934}, {-0.758901, 0.139142}, - {0.772172, -0.221432}, {-0.227259, -0.494436}, {-0.797240, 0.203608}, - {-0.526939, -1.003768}, {0.604457, -0.836335}, {-1.042733, -1.031733}, - {0.351133, -1.552611}, {0.193510, -0.593573}, {-0.158616, -0.000909}, - {0.477336, 0.765709}, {0.294301, -0.549073}, {2.252452, 0.421725}, - {-0.648990, -0.424124}, {-0.564920, -0.189999}, {-0.270131, 0.078961}, - {0.772736, 0.336949}, {0.313340, -0.927747}, {-0.573263, 0.583021}, - {0.470820, -1.055331}, {0.581432, 0.212701}, {-0.711626, 0.384798}, - {0.162031, -0.175657}, {0.742236, -0.643734}, {0.803206, -0.132745}, - {0.613025, -0.690771}, {0.291435, 1.290752}, {0.501168, 0.658611}, - {-1.443138, -0.434044}, {0.661785, 0.822570}, {-1.374180, 0.778183}, - {0.382538, -0.753720}, {-0.517099, 0.294458}, {0.849115, 0.536175}, - {1.511322, -0.255960}, {-0.446477, -0.510725}, {0.351935, -0.058662}, - {-0.309950, -0.683659}, {-0.315003, 0.260157}, {0.056499, -0.463872}, - {-0.865618, -0.396466}, {-1.294184, 0.061282}, {1.011925, 0.144531}, - {0.932576, -0.379779}, {1.018562, 0.158520}, {-0.048017, 0.052001}, - {-0.917482, -1.278635}, {-0.098721, -0.152092}, {1.017871, 0.028110}, - {-0.268018, -0.393909}, {0.293293, 0.208300}, {-0.580657, -0.411407}, - {1.031302, 0.428409}, {1.910617, -0.467351}, {-0.831919, 1.592028}, - {0.663417, -0.384198}, {1.046530, -0.066088}, {0.351843, 0.024416}, - {0.571277, -0.833007}, {-0.079296, -0.149397}, {0.413530, -0.701706}, - {0.210312, -0.385820}, {-0.140847, -0.268188}, {0.139115, 1.298546}, - {-1.143262, -0.441174}, {-0.027645, 0.535143}, {-0.405058, -0.616212}, - {0.316847, -0.050931}, {0.349966, -0.763656}, {-0.103767, 0.410991}, - {-1.917632, -0.571364}, {-0.242820, -1.010565}, {-0.127771, -0.753536}, - {0.604908, -0.475209}, {0.013372, 0.837038}, {0.608820, 0.079690}, - {-0.142643, -0.181203}, {-0.281800, -0.574404}, {1.254414, 0.387417}, - {0.880432, -0.334068}, {-0.222264, -1.359749}, {-0.157873, 0.904339}, - {-0.249764, -0.463576}, {0.667664, 0.499756}, {-0.267900, 0.673011}, - {0.640840, 1.260412}, {0.484117, -0.429452}, {0.592152, -0.003510}, - {0.506192, -0.201848}, {1.247699, 0.171432}, {0.353386, 0.996887}, - {0.078137, -0.308590}, {-0.018745, -1.037419}, {1.093397, 0.245313}, - {0.750051, 1.199990}, {-0.094081, -0.586781}, {0.051596, -0.731723}, - {0.455013, 1.276353}, {-0.195394, -0.845165}, {-0.520628, 0.355488}, - {-0.688832, -0.070661}, {0.375953, 0.177470}, {1.142021, 0.354608}, - {-0.475901, 0.038190}, {0.364796, 0.118211}, {-0.675976, -0.263314}, - {-0.552894, 0.232846}, {-0.464710, -0.158232}, {-0.258691, -0.053579}, - {0.279914, -0.374251}, {-0.442636, -0.032047}, {-0.444012, -0.548113}, - {-0.360146, 0.089110}, {0.490385, 0.171563}, {1.123041, -0.550139}, - {0.543533, 0.079109}, {-0.637200, -1.014626}, {0.046707, -0.245370}, - {-0.257292, 1.703984}, {-0.071662, -0.589401}, {0.108536, 0.405153}, - {-0.344097, 0.282119}, {-0.245578, 0.106487}, {-0.401110, -1.258960}, - {0.107488, 0.353920}, {0.608643, -0.021585}, {0.440527, -1.022432}, - {0.213325, 0.187777}, {-0.052628, -0.281017}, {0.235210, 0.007120}, - {-1.235719, 0.155901}, {-0.268724, 1.113432}, {-0.121335, 0.019839}, - {0.189913, 1.015487}, {0.865889, 0.697982}, {0.197149, 0.792114}, - {-0.117071, 0.639035}, {-1.306955, 0.275980}, {0.252452, 0.322515}, - {-0.529397, -0.478036}, {0.936446, -1.395706}, {0.400833, 0.024500}, - {-0.502883, -0.102895}, {0.273595, 0.753245}, {-0.343074, 0.091902}, - {0.304226, -0.867240}, {-0.180509, -1.078705}, {-0.205455, 0.858649}, - {0.774539, 0.517635}, {-0.823959, 0.593452}, {0.732369, 0.153099}, - {0.672588, -0.633125}, {0.002290, -0.941901}, {0.176569, -0.579932}, - {0.171845, -0.870413}, {-0.293425, 0.175049}, {-0.137718, 0.217686}, - {1.044936, 0.061606}, {-0.758815, 0.807341}, {-0.336751, -0.164385}, - {1.008626, 0.256348}, {-0.723706, 0.047971}, {-0.050905, -0.353985}, - {0.390970, -0.158517}, {0.119335, 0.109838}, {-0.041174, -0.673703}, - {-0.556070, -0.401985}, {-0.509192, 0.543375}, {0.625149, -0.084801}, - {-0.744969, 0.178757}, {-0.163163, 0.168014}, {-0.749477, 0.577796}, - {-0.154530, 0.089817}, {0.437073, -0.946214}, {-0.116608, -1.099246}, - {0.666880, 0.264435}, {0.474793, -0.843138}, {0.617247, 0.069116}, - {0.294487, 0.030065}, {-0.337986, 0.559117}, {-0.227776, 0.882621}, - {1.101572, -1.080786}, {0.070565, -0.664384}, {-0.451764, -0.457432}, - {-0.576313, -0.841245}, {0.068010, 0.274456}, {-0.710972, 1.045372}, - {-0.080175, -0.636644}, {-1.167785, -0.908857}, {-0.040623, 0.027782}, - {2.470891, -0.352323}, {0.225188, -0.216579}, {-0.911285, -0.883839}, - {1.575339, 0.857027}, {-0.480260, 0.028266}, {-1.400611, -0.208040}, - {-0.607262, 0.315214}, {-1.413554, -0.086775}, {-0.078748, 0.091694}, - {-0.823326, -0.045219}, {0.179688, 0.157220}, {0.503945, -0.069413}, - {0.384609, 1.810637}, {-0.036682, 0.018567}, {-0.630811, -0.597114}, - {-0.672791, -0.931285}, {1.222804, 1.107029}, {-0.313392, 0.591602}, - {1.095544, 1.771690}, {-0.798560, 1.745435}, {1.543951, 0.832816}, - {0.126556, 1.114287}, {0.213435, 1.321216}, {-0.224136, -1.359183}, - {1.477972, -0.350192}, {-0.077844, -0.795493}, {-0.231997, -0.564458}, - {0.801618, -0.460815}, {-1.183569, 1.681266}, {0.800365, -1.537642}, - {-0.329589, -0.279386}, {0.146069, -0.294189}, {0.197825, 0.827717}, - {-0.649584, 1.974452}, {-1.281819, 1.044606}, {0.908785, -0.571095}, - {1.096563, -0.008991}, {1.743241, 0.314216}, {0.653207, 0.687347}, - {-0.304444, -0.200533}, {0.317770, 0.204985}, {1.680031, -1.270921}, - {0.013470, 0.101117}, {0.035178, 0.125471}, {-0.496304, -1.027426}, - {-0.803857, -0.277048}, {0.785028, -0.689768}, {0.339297, 0.190250}, - {0.464936, -0.560609}, {-0.775980, -0.128567}, {-0.724656, 0.021571}, - {0.116261, -1.049885}, {-0.856403, 0.530206}, {0.067380, -0.690871}, - {-0.101626, 0.190740}, {-0.230450, 0.733674}, {1.510300, -0.232611}, - {-0.558900, 0.743672}, {0.328636, -0.130287}, {0.037062, 0.836783}, - {0.228297, -1.114284}, {0.591880, -0.742029}, {1.016332, 0.389831}, - {0.501144, 0.220041}, {-0.682226, 0.173825}, {0.194447, -0.220124}, - {-0.201636, 0.483213}, {-0.346227, 0.693268}, {0.089963, 0.776428}, - {0.784136, -0.216991}, {1.351173, 0.460213}, {0.948340, 0.389235}, - {0.856649, -0.280823}, {-0.281458, -0.467549}, {0.712758, -0.473551}, - {-0.113624, -0.180662}, {0.827903, -0.935301}, {0.384431, 0.183861}, - {-0.116835, 0.143097}, {0.437151, 0.673442}, {-0.259116, 1.211244}, - {-0.832708, 0.005765}, {0.579745, -0.839210}, {-0.272578, 0.846526}, - {0.006319, -0.191822}, {-0.543038, -2.053956}, {0.577765, -0.226179}, - {-0.864414, 0.264531}, {-0.081640, -0.316889}, {-0.733387, -0.029103}, - {-0.856447, 0.102918}, {1.118355, -0.516612}, {-0.953002, 0.614206}, - {0.317643, 0.733096}, {-0.268814, 0.548796}, {1.819432, -1.055275}, - {-0.311760, 0.400650}, {0.198343, -1.247555}, {-0.027410, 0.778872}, - {-0.508919, 0.444286}, {-1.171694, 0.019824}, {1.248879, 0.012588}, - {-0.703571, -1.267101}, {-0.351630, 0.717535}, {0.712341, 0.238149}, - {-0.921778, 0.823704}, {0.183744, -0.465176}, {0.967624, 0.110433}, - {0.638384, -0.733964}, {0.023469, -0.341078}, {0.457953, 0.148002}, - {-0.387642, 0.886603}, {-0.069635, -0.580919}, {-0.059943, -1.223428}, - {0.912288, 0.393697}, {0.642983, 0.930647}, {0.910222, 0.601928}, - {-0.445410, -0.667141}, {-1.572064, 0.279244}, {1.978238, 0.802084}, - {-0.397479, -0.061574}, {0.410751, 0.408608}, {-0.708602, -0.186290}, - {-0.230716, 0.939863}, {0.243815, 0.220266}, {0.510986, 0.986593}, - {-0.697529, 0.649296}, {-0.586676, -0.694978}, {1.365805, 0.060623}, - {0.669724, 0.191354}, {1.712433, 0.794664}, {1.420112, 0.316341}, - {0.241010, 0.642880}, {-0.543402, -0.040763}, {0.566228, -0.271359}, - {-0.161257, 0.334876}, {0.599455, 1.548617}, {-0.164632, -0.789523}, - {-0.166458, -1.089323}, {-0.603273, -0.989075}, {0.528595, 0.451579}, - {-0.312701, 0.087580}, {0.052067, -0.329935}, {-0.422394, -0.867374}, - {0.543689, 0.209453}, {-0.559684, -1.177563}, {0.467575, -0.097401}, - {0.369629, -0.501474}, {0.404819, 0.203655}, {1.147670, 0.855509}, - {-0.639961, 0.122152}, {0.634182, -0.589714}, {-1.383792, 0.081240}, - {-0.762136, -0.308434}, {0.795235, -0.419563}, {-0.464381, 1.585393}, - {1.078462, 0.518624}, {0.096101, -0.470606}, {-1.483047, -0.692461}, - {-0.298531, 0.776764}, {0.119121, -0.885261}, {0.117578, 0.531321}, - {-0.917483, 1.214456}, {0.103637, -0.543026}, {-0.029330, -0.442023}, - {0.667382, -0.559059}, {0.454800, 1.315120}, {-0.121242, 1.135188}, - {-0.488542, 0.095236}, {1.029647, 0.289141}, {-0.103825, -0.536353}, - {0.328875, 0.038776}, {0.506639, -0.670018}, {0.579004, 0.162704}, - {0.390291, 0.091227}, {-1.290292, -0.652858}, {-0.408826, 0.011857}, - {0.767200, 0.888858}, {1.439873, 0.872966}, {1.146577, 0.749942}, - {0.081693, -0.305140}, {-0.129388, 1.025387}, {-0.634484, -0.843138}, - {0.172444, 0.005313}, {-0.657469, -0.089850}, {-0.760529, -0.081906}, - {-0.426315, -1.084558}, {-0.979330, -0.160143}, {-0.044730, 0.574946}, - {-1.527934, 0.139190}, {-0.115705, -0.468978}, {0.394550, -0.231006}, - {0.586208, -0.529691}, {0.437290, -1.153886}, {0.808557, 1.623821}, - {-1.472277, 0.306073}, {0.113523, -0.990164}, {-0.436942, -0.152251}, - {0.906011, -0.455300}, {-0.137609, -0.290251}, {0.467302, -0.253409}, - {-0.677977, -0.643365}, {-0.258209, 0.117683}, {0.237770, 0.579862}, - {0.361357, 0.184037}, {-0.768527, -0.431966}, {-0.374232, 0.070814}, - {-0.271652, 0.701989}, {-1.650963, 1.243199}, {0.817481, -0.130520}, - {0.093297, 1.182986}, {-0.740615, 0.357099}, {0.190737, 1.086730}, - {-0.326431, -0.458982}, {0.123048, 1.118810}, {-0.006755, 0.087656}, - {0.321461, 0.525849}, {-0.567447, -0.412553}, {-0.516657, -1.118277}, - {-0.343009, -0.119105}, {0.491223, 1.372952}, {0.179821, 0.053473}, - {-0.238648, 0.029409}, {0.222945, 0.156960}, {0.310281, 0.281777}, - {-0.992198, -0.975749}, {-0.432296, -0.289497}, {-1.121582, -0.621216}, - {-0.079473, -0.549632}, {0.673944, 0.250442}, {-1.170647, 0.816044}, - {0.009351, -0.038545}, {0.202295, 0.376773}, {0.207996, -0.767330}, - {-0.683128, 0.462706}, {0.363351, 0.668791}, {-0.236248, 0.234738}, - {0.236777, 0.097248}, {-0.079751, -0.322131}, {0.422070, 0.380715}, - {0.465275, -0.117293}, {0.914394, 0.070100}, {-0.328927, -1.087863}, - {0.009725, -0.714301}, {0.694105, -0.275872}, {0.038939, -1.079395}, - {0.761932, 1.210910}, {0.753418, 0.067086}, {-0.215663, -0.159486}, - {-0.187086, 0.872605}, {-0.142958, 0.220448}, {0.273894, -0.555399}, - {-0.650689, -0.402346}, {0.897581, 0.328779}, {-0.338363, 1.002994}, - {-0.328070, 0.563372}, {-0.550288, 0.856980}, {-0.977701, -1.482775}, - {2.446075, -0.651519}, {0.653114, 0.245545}, {0.481750, 1.570437}, - {-0.925317, 0.286313}, {0.723354, 0.222318}, {0.684692, -1.247687}, - {-0.189216, -0.475236}, {-0.640211, 0.212953}, {-0.053677, 0.669794}, - {-0.330972, -0.472563}, {0.194653, -1.044945}, {-0.541368, -0.021547}, - {0.683410, -0.394597}, {0.106472, -0.419672}, {0.760465, 0.199993}, - {-1.179110, 0.112292}, {0.055066, 0.377698}, {0.909270, -1.560735}, - {0.401362, 1.350247}, {0.187297, -0.004588}, {-0.039523, 1.088870}, - {-0.268140, 0.216489}, {0.164274, 1.288643}, {-1.308630, 0.008255}, - {-0.828187, 0.539431}, {0.171691, 1.194553}, {0.299761, -0.052910}, - {1.722756, -0.697963}, {-0.251873, -0.722015}, {0.079270, -0.072157}, - {-0.932151, -0.304344}, {0.207095, 0.052868}, {1.088320, -1.003559}, - {0.850424, -0.709885}, {0.649069, -1.639259}, {0.383301, -0.409913}, - {0.170324, -0.407571}, {0.752730, 0.520546}, {0.243588, 0.101737}, - {-0.487145, 0.946709}, {-0.484323, -0.380167}, {0.224305, -0.272019}, - {0.059913, -0.726160}, {-0.285819, -0.028296}, {-1.484445, -0.022900}, - {0.166353, 0.255178}, {-1.161566, 0.903064}, {0.494498, 0.797073}, - {-0.297146, -0.147285}, {-0.236315, 0.665692}, {-0.085679, 0.279219}, - {-0.870393, 0.141386}, {-0.014293, -0.542938}, {-0.365326, 0.980887}, - {0.203701, -0.711214}, {-0.407262, 0.445812}, {1.421543, -0.606156}, - {1.347169, 0.048977}, {-1.433734, 0.817061}, {1.146370, -0.793382}, - {0.319925, -0.854738}, {0.438860, 2.145962}, {1.166341, -0.365637}, - {0.683141, 0.055309}, {-1.130258, 0.470611}, {-0.142316, 0.723606}, - {-1.167357, 0.251633}, {-0.061046, -0.144651}, {-0.028701, -0.462089}, - {-0.018132, 0.169646}, {-0.671335, 0.900461}, {0.116801, -0.593090}, - {0.085282, -0.067586}, {-0.411836, 0.548411}, {0.260672, -1.297764}, - {-0.232586, -0.692774}, {-0.797251, 0.519497}, {0.493274, 0.128724}, - {-0.452326, -0.942666}, {-1.259305, 0.165846}, {-0.397245, -0.650621}, - {-0.827247, -0.027941}, {0.400771, 0.899915}, {-1.510673, -0.552102}, - {-0.016118, -1.664885}, {0.468835, -0.256144}, {-0.095802, -0.449476}, - {-0.334430, -1.538678}, {0.005072, 0.053176}, {0.276647, -0.648527}, - {0.087667, 0.067103}, {0.853516, 0.367063}, {0.694817, -0.772811}, - {0.402106, -0.764670}, {0.563088, 0.747578}, {-0.268367, 1.277181}, - {-0.749042, -0.032805}, {1.254513, 0.221049}, {-0.610276, 0.267629}, - {-0.316447, 1.420839}, {-1.922798, -0.390022}, {0.556385, 0.484709}, - {0.027270, 0.139172}, {-0.726247, -0.156295}, {-0.120574, 1.445949}, - {0.876597, 0.011245}, {-0.056240, -0.228567}, {-0.008902, -0.187852}, - {0.322713, -0.491207}, {-0.362863, 0.473453}, {-0.712861, -0.365141}, - {-0.742098, -0.136880}, {0.111748, 1.005100}, {-0.464041, -0.288319}, - {-0.591913, 0.416452}, {0.517190, 0.391430}, {1.195625, 0.788324}, - {0.410152, 0.138649}, {-1.371791, 1.228180}, {-0.101232, 0.141153}, - {-0.710496, -0.154048}, {-0.808498, -0.383805}, {-0.018569, -0.202316}, - {1.184777, -1.079341}, {-1.306705, 0.345682}, {-0.154691, 0.011843}, - {0.661710, 0.500578}, {-0.343929, 0.779614}, {0.543034, 1.214597}, - {-1.348330, 0.139834}, {0.117324, 0.850516}, {-0.108573, -0.567512}, - {-0.543670, -0.506252}, {0.763259, -0.023357}, {-0.124683, -0.687557}, - {-0.298014, 0.912602}, {0.205308, 0.618330}, {1.529908, -0.085205}, - {0.956008, -0.652740}, {-0.068925, -1.092457}, {-0.637354, -0.419358}, - {1.268680, -0.243073}, {-0.136088, -0.425454}, {-1.136538, 1.501422}, - {-0.865629, 0.163418}, {1.489446, -0.425663}, {-0.176186, -0.697113}, - {0.053611, -0.207498}, {0.453244, 0.901965}, {0.045845, 1.465057}, - {0.863726, -0.540462}, {-0.043928, 0.683414}, {0.115106, -1.021701}, - {0.247975, 0.286382}, {0.801124, 0.684719}, {-0.492425, -0.671975}, - {-0.738085, -0.372832}, {0.246402, 0.622964}, {1.316755, 0.124231}, - {0.061890, 0.559458}, {-0.016314, 0.518483}, {0.065088, -0.564502}, - {-1.075867, -0.098767}, {0.178467, 0.098481}, {-0.008945, -0.802168}, - {-0.811757, 0.814761}, {1.059392, -0.846953}, {-0.343747, 0.373055}, - {0.758821, -1.176281}, {-0.647837, -0.951149}, {-0.817682, 0.112162}, - {1.173084, -0.558803}, {-0.604647, 0.144875}, {-0.132176, 0.361366}, - {-0.668269, 0.061026}, {0.246659, 0.201436}, {1.226810, -0.619724}, - {-0.468072, -0.019591}, {0.966661, 0.482886}, {0.583820, 0.926226}, - {0.852546, 0.572840}, {-0.649207, -0.545958}, {0.255183, -0.155787}, - {-0.025898, 0.078114}, {-0.201309, -0.225492}, {0.525905, 0.410706}, - {0.177865, 1.477507}, {2.457610, -1.850447}, {0.151478, 1.000617}, - {1.360119, -0.754828}, {0.157215, -0.492841}, {-0.566692, 1.324305}, - {0.620154, 0.754623}, {0.074979, -0.860552}, {-0.222454, 0.021736}, - {-1.408236, -1.307141}, {-0.544968, 0.463417}, {-0.595774, -0.743040}, - {0.559990, 0.480234}, {-1.168589, -0.203965}, {0.281098, -0.105368}, - {0.641682, -0.360390}, {0.836257, -0.373430}, {-0.805041, 0.752649}, - {0.441466, -0.719064}, {-1.832253, 1.143759}, {-0.247786, -0.438656}, - {-0.870375, 0.850503}, {-0.375699, 0.159219}, {-1.124725, 0.793712}, - {-0.723709, 0.342564}, {-0.633437, -0.558060}, {-0.135905, -0.355088}, - {-2.183977, -0.007379}, {1.116177, 0.159945}, {1.490166, 0.480268}, - {0.164575, -0.726484}, {-0.520145, 0.297363}, {-0.641292, -0.643205}, - {-0.067693, -0.128819}, {0.413410, 0.031469}, {-0.760742, 1.425786}, - {0.085627, -0.041021}, {0.114922, 0.384508}, {-0.225939, -0.065478}, - {0.023267, 1.057989}, {1.470100, -0.598823}, {0.723707, -1.348607}, - {0.035084, -1.125010}, {-0.454672, 0.069253}, {0.809724, -0.071756}, - {0.083234, 0.221237}, {-0.377449, 1.091443}, {0.402802, 0.357787}, - {-0.684853, -0.705112}, {-0.625051, -0.136144}, {1.018437, -0.307444}, - {-0.339611, 0.577613}, {-0.559291, -0.331159}, {-0.661887, 0.404697}, - {-0.412244, -0.877878}, {-0.591570, -0.072583}, {-0.437359, 0.868594}, - {0.926766, -0.479234}, {-0.939874, 0.960508}, {-0.216226, -2.190387}, - {0.373954, -0.239234}, {0.735172, -0.368192}, {0.925092, 0.361395}, - {0.238858, -1.067577}, {0.211254, 0.055615}, {0.067811, -0.232802}, - {-0.256948, -1.231779}, {-0.231535, -1.085856}, {1.027191, 0.635764}, - {-1.039482, -0.284762}, {0.802325, 0.903988}, {-0.407235, -0.165035}, - {-0.645411, 0.570917}, {-0.631895, -0.866667}, {-0.413516, -0.479763}, - {-0.327054, 0.889851}, {-0.660647, 1.168247}, {-0.054201, -0.157478}, - {0.021347, 1.157376}, {-0.281979, 0.310791}, {1.078613, -0.998599}, - {0.978329, -0.316584}, {0.227859, -0.057813}, {0.879319, 1.029731}, - {0.007877, -0.338237}, {-0.023282, 0.856635}, {0.802926, 0.658965}, - {-0.654637, -0.321326}, {-0.486953, -0.278102}, {0.399871, -0.703921}, - {0.137966, -0.143648}, {-1.382161, -0.633032}, {0.994994, 0.454662}, - {-0.563795, -0.296766}, {0.395332, -0.055457}, {0.879708, -0.963628}, - {-0.321128, -0.149853}, {-0.072034, -0.491397}, {0.094058, -0.301073}, - {0.846232, 0.232090}, {0.286858, -0.066615}, {-0.642041, 0.413146}, - {0.464097, 0.354731}, {0.102751, 1.804440}, {0.377422, 0.609243}, - {0.654797, -0.435679}, {0.472210, -0.209745}, {-0.641060, -0.154395}, - {-1.512229, 0.312514}, {-0.668791, -1.337721}, {-0.568657, -0.277971}, - {0.842358, 1.337541}, {-0.633354, 0.123400}, {-0.236926, 1.438454}, - {-0.524131, 0.461021}, {-0.027427, 0.041582}, {-0.630328, -0.951639}, - {0.467582, -0.775196}, {-0.645079, -0.410044}, {1.050603, 1.068060}, - {-0.144830, 0.117018}, {-0.428974, -0.059010}, {0.343620, -1.481687}, - {-0.117022, 0.802153}, {0.371381, 0.568841}, {-0.713658, -0.166011}, - {-0.262867, -0.772913}, {1.097425, 0.118692}, {-0.682499, 0.040285}, - {-0.088318, -0.101135}, {0.596149, 0.381073}, {-1.594536, 0.711970}, - {-0.520008, 0.491471}, {0.042324, 0.355744}, {-0.736938, -0.529835}, - {-0.648401, 0.855958}, {-0.338084, -0.351747}, {0.672677, 0.892670}, - {0.361092, -0.678357}, {2.079292, 0.329758}, {0.234354, 0.449063}, - {0.246854, -0.747312}, {-0.254858, -0.378022}, {0.391048, 0.078144}, - {-1.322392, 1.109864}, {-0.392252, 1.133680}, {0.317787, -1.119124}, - {-1.125500, 0.590658}, {0.651714, -0.019948}, {-0.188271, -0.587491}, - {0.512942, 0.238828}, {-0.089800, 0.880141}, {-0.020669, -0.745277}, - {-0.393933, 0.425016}, {-0.706385, -0.337056}, {-0.072274, -0.466942}, - {1.361972, 1.600456}, {-0.536411, 0.143837}, {-1.315825, -0.345262}, - {0.586610, -0.105453}, {0.361835, -0.310457}, {0.162424, -0.455937}, - {-0.266229, 0.468748}, {0.608348, 0.237188}, {-0.338820, 0.469070}, - {0.825241, -0.122825}, {-1.296042, -1.106153}, {0.782186, 1.012854}, - {0.546063, 0.108291}, {-0.675564, -0.118591}, {0.959435, -0.617240}, - {0.253049, 0.642651}, {-0.717033, 0.421230}, {0.065648, -0.236145}, - {0.787941, -0.725300}, {-0.214982, -0.330445}, {-0.005308, 0.843855}, - {0.569761, -1.404632}, {-0.847684, 0.288276}, {-1.351673, 0.398555}, - {-0.653094, 0.359977}, {-0.451479, -0.175236}, {0.250162, 1.082506}, - {1.720280, -0.173550}, {0.043283, 0.495568}, {-0.467075, -0.286571}, - {-0.516911, 0.372184}, {-0.644850, 0.027566}, {0.412044, -0.228306}, - {0.441079, -0.818598}, {0.597972, 0.496661}, {-0.751802, 0.592583}, - {-0.172332, -0.063214}, {-0.486652, 0.453796}, {-0.789048, 0.001233}, - {-0.037757, -0.424086}, {0.610775, 0.085934}, {1.357820, 0.385392}, - {0.772897, 0.561994}, {-0.547971, 0.343509}, {-0.305912, -0.659965}, - {-0.150391, 0.051106}, {-0.659545, 0.811236}, {1.156720, -1.403491}, - {0.250035, 0.752173}, {-1.033130, 1.467901}, {-0.081366, 0.567584}, - {-0.189016, 0.757573}, {-0.062907, 0.109766}, {0.519387, -0.073148}, - {0.852716, 1.480028}, {-0.332826, -0.335259}, {0.699783, 1.177709}, - {-1.501976, -0.869618}, {0.011903, 0.566373}, {0.240645, 0.815848}, - {0.022006, 0.778674}, {-0.311565, -0.232334}, {0.412026, 0.252313}, - {-0.541887, 0.196055}, {1.576042, 1.850318}, {0.801784, 0.173800}, - {-0.910855, -0.685674}, {2.049228, -0.222369}, {-0.354029, 1.030187}, - {0.323162, -0.505727}, {-0.125605, -0.829970}, {0.512979, 0.187703}, - {-1.013040, -1.303101}, {0.013997, 0.121938}, {0.058118, 0.257561}, - {-0.258403, 0.395440}, {-0.670940, 1.122375}, {-1.432201, -0.379968}, - {-0.814277, -0.812373}, {-0.559929, 0.609962}, {0.363925, 0.849823}, - {0.621028, -0.837635}, {-0.240268, -0.472030}, {0.072362, 1.038756}, - {0.227193, -0.732684}, {-0.658857, 0.208278}, {-1.534011, 0.239111}, - {-0.154706, -0.173726}, {-1.368605, -1.607920}, {0.111885, 0.436946}, - {-0.125141, 1.156338}, {-0.468032, -1.283854}, {-0.095271, -1.024174}, - {-0.298550, 0.045489}, {0.683411, 0.029385}, {0.549679, -0.031146}, - {0.498454, -0.530899}, {-0.477430, 0.323974}, {0.791994, 0.089182}, - {0.361261, 0.618991}, {0.562423, 0.394355}, {0.244952, 0.570213}, - {0.006620, 2.036926}, {-1.886519, -0.587302}, {0.648386, 0.606893}, - {-1.081200, 1.050888}, {0.376747, -0.048129}, {-0.587935, 0.543545}, - {1.449966, -0.385258}, {0.268650, 1.464783}, {-0.781591, -0.348916}, - {0.585803, -0.636496}, {0.978237, 1.172719}, {0.668928, -0.068851}, - {-1.466985, 0.045779}, {-1.179510, 1.101713}, {0.904752, 0.497169}, - {0.097355, -0.293205}, {-0.172173, -0.181016}, {-0.501643, -0.080642}, - {0.581053, -0.218558}, {-0.895757, 0.375873}, {-0.483364, 0.120657}, - {-0.423777, 0.643739}, {0.124416, -1.106641}, {-1.457878, -0.321679}, - {0.659524, -0.761259}, {0.364923, -0.166847}, {-1.388401, -0.199159}, - {1.588209, -0.604498}, {1.309079, -0.352915}, {-0.347980, 0.189430}, - {0.911844, -1.078087}, {0.278893, -0.835737}, {-0.982551, -0.254161}, - {-0.431526, 0.412463}, {-0.477069, 0.486325}, {0.573694, 0.715416}, - {1.143420, 2.072284}, {-0.857854, -0.906373}, {-0.297631, 0.413436}, - {-0.467294, -0.331288}, {0.982162, -0.975864}, {0.285199, 0.043006}, - {-0.812961, 0.340233}, {1.431540, 1.133126}, {0.102308, 0.190565}, - {1.476116, 0.637898}, {0.434583, 0.580426}, {0.046831, -0.794218}, - {-0.341083, 0.192367}, {-0.279135, -0.299876}, {0.296558, 0.569512}, - {0.147472, 0.329278}, {-1.388735, 1.020627}, {0.602259, 0.386248}, - {-0.528118, 1.134901}, {-0.181877, -0.564929}, {-0.553234, 0.469098}, - {-1.455098, -0.185264}, {0.800772, 0.396759}, {-1.234805, 0.736313}, - {0.761554, -0.175533}, {-0.650272, -1.001478}, {0.515606, -0.160728}, - {1.523529, 0.422419}, {0.327472, 0.391494}, {0.747341, 0.126178}, - {0.796575, 0.604781}, {-0.579325, 0.723723}, {0.188695, -0.270173}, - {0.608637, -0.176246}, {0.357106, -0.187142}, {-0.476938, 0.579994}, - {-0.159003, -0.546717}, {0.805633, 0.436189}, {-0.000267, -0.078362}, - {0.388497, 0.613782}, {-0.616919, 0.325909}, {-0.139824, 0.506477}, - {-0.357327, -0.352587}, {0.465315, 0.517060}, {-0.402298, 0.401676}, - {-1.052840, 1.068351}, {0.089254, -0.088566}, {1.553712, -0.490081}, - {0.796169, 0.313496}, {0.221044, 0.079029}, {0.735658, 0.515442}, - {0.088796, -0.414440}, {0.177135, 0.018821}, {-0.136482, 0.116556}, - {0.998341, 1.750061}, {1.539176, -0.444703}, {-0.005825, -1.174685}, - {-0.546142, -1.060067}, {-0.238276, -0.411240}, {1.270839, 1.815292}, - {0.238926, -0.014318}, {-0.433391, 1.175325}, {0.365434, 0.514461}, - {0.549538, -0.875982}, {-0.052031, 0.088336}, {0.056105, 0.755373}, - {-0.739169, 1.345512}, {0.022259, 0.310272}, {-0.143530, 0.226380}, - {0.377260, -2.217078}, {1.266910, 0.770192}, {-1.430207, -0.389470}, - {0.373033, 0.954533}, {-0.032998, 0.458503}, {0.033109, 0.876798}, - {1.254053, -0.868324}, {-0.750205, -1.243251}, {0.178780, -0.059218}, - {-0.138437, -1.864862}, {-0.057342, 0.724688}, {0.255896, 1.443441}, - {0.554522, -0.149032}, {0.535395, 0.518631}, {0.178084, -1.333335}, - {-1.146268, -0.525930}, {-0.444915, -0.179534}, {-1.827258, 0.610506}, - {-0.970571, 0.433014}, {-0.851848, -1.408017}, {-0.010547, 0.425406}, - {-0.438689, -0.641632}, {0.982537, 0.523425}, {0.194053, 0.040519}, - {-2.164144, -0.712796}, {-0.286878, -1.289071}, {-1.189324, 0.191043}, - {-0.178947, 0.227410}, {0.543007, -0.209633}, {-0.504561, 0.558697}, - {-0.476418, -0.360136}, {-0.066349, 0.311321}, {0.205228, 0.537992}, - {-0.431381, 0.691561}, {0.373215, -0.698683}, {-0.021947, -0.774605}, - {0.587365, -1.799103}, {0.808319, -0.623221}, {1.089104, 0.969406}, - {-0.309144, 0.148429}, {-0.370805, 0.696824}, {0.232746, 0.498690}, - {0.207694, 0.370303}, {-0.921240, -1.399620}, {-0.553996, 0.380382}, - {-0.578575, 0.448331}, {0.429058, -0.213727}, {-0.710646, -0.159683}, - {1.620601, 0.839856}, {-0.118776, 0.365243}, {1.473897, 0.572852}, - {0.186774, 0.121951}, {0.610082, -0.416502}, {-0.680911, 0.926587}, - {-0.677998, 0.322929}, {0.386026, 0.195354}, {0.127726, 0.580091}, - {0.103026, -0.655300}, {-0.285589, 0.668215}, {-0.304495, 0.862677}, - {0.676639, -0.908045}, {-0.101844, -1.374433}, {0.111932, -0.315504}, - {-0.786232, 0.096354}, {0.412804, 1.171453}, {0.242855, 0.419671}, - {-1.122453, 0.072119}, {-0.954008, -1.360665}, {0.490884, -0.394485}, - {1.407058, -0.197984}, {0.516526, -0.041076}, {-0.356944, 0.119194}, - {0.114765, -0.432646}, {-0.616070, -0.812770}, {-1.283144, 0.352879}, - {-0.675260, 0.248547}, {0.037469, 0.111532}, {1.808690, 0.215876}, - {-0.262605, 0.390434}, {-0.528473, -0.590598}, {0.067823, 1.025179}, - {-0.134779, 0.388853}, {-0.856184, -0.137929}, {-1.322880, -0.587829}, - {0.255339, 0.957455}, {0.691181, 0.120283}, {-0.138113, -0.681550}, - {-0.839258, -0.647184}, {0.717937, -0.342172}, {-0.002496, 0.085833}, - {0.066570, 0.376295}, {-1.184694, -0.306608}, {-0.765986, -0.240214}, - {-1.484250, -0.148429}, {-0.381439, 1.124766}, {-0.350007, 0.336370}, - {0.235697, -1.183933}, {1.443619, 0.581121}, {0.491068, -0.099921}, - {0.093451, 0.902716}, {0.505893, 1.686718}, {-0.385501, -1.017724}, - {-0.541630, 0.466243}, {0.186522, -0.926013}, {-0.447201, -0.317000}, - {-0.142966, -1.103298}, {0.144505, -0.006342}, {1.660683, -0.528652}, - {-0.863812, -0.656971}, {0.373327, -0.447680}, {0.064399, -0.006573}, - {0.273959, -0.067186}, {0.158321, -0.040345}, {-0.809976, 1.524938}, - {0.265150, 0.968352}, {-0.561451, 0.122076}, {-0.238906, 0.602495}, - {-0.682023, -1.518610}, {0.226352, 0.239321}, {0.249679, -0.450287}, - {1.424126, -0.421314}, {0.347601, -1.256083}, {-0.161817, -0.558341}, - {-0.698010, 1.392321}, {0.854525, -0.180275}, {-0.607136, -0.163008}, - {-0.201352, -0.463324}, {0.177265, 0.445976}, {-1.139061, -0.711736}, - {0.071346, 0.954147}, {-0.007381, -0.234975}, {0.122223, 0.301816}, - {0.744879, -0.147205}, {0.885961, 0.569310}, {-0.584466, 0.194479}, - {-0.356190, -0.486432}, {-0.604637, 0.312954}, {-0.571192, 0.009307}, - {-1.645607, -1.013357}, {0.767907, 0.911892}, {-0.292811, -0.436490}, - {0.754294, -0.258061}, {-0.020915, -0.553060}, {0.513940, 0.367752}, - {-0.039909, -0.308901}, {-0.426255, -0.427997}, {0.031096, -0.350317}, - {0.183359, 0.337084}, {-1.442484, 0.931023}, {0.285229, 0.747264}, - {1.284922, -0.542352}, {-0.580213, -0.744180}, {-1.258930, 1.722668}, - {-0.259699, -0.002504}, {0.488400, 0.053418}, {0.626716, -0.067078}, - {-0.262059, -0.661936}, {-0.826681, 1.076488}, {-0.313348, 0.452737}, - {0.751086, -0.240226}, {-0.201071, -0.293798}, {0.498236, 0.533344}, - {0.445915, -0.498216}, {-0.476964, -0.992134}, {0.124767, 0.528058}, - {-0.175549, 0.108257}, {-0.983469, 1.220194}, {-1.365000, 0.620389}, - {0.126352, 1.586583}, {0.698377, -0.366504}, {-0.972605, -0.070712}, - {-0.173680, 0.387337}, {-1.296066, -0.326749}, {0.074632, 1.409292}, - {0.273771, 0.567147}, {1.247218, 0.334758}, {0.109021, 0.319268}, - {0.782710, 0.115378}, {0.481173, -0.827708}, {-0.539717, -0.877906}, - {0.746934, 1.005647}, {-0.621987, 0.129283}, {0.413268, 0.131652}, - {-1.265124, 0.249034}, {-0.352113, 0.553744}, {0.639651, -0.490536}, - {-0.207383, -0.516105}, {0.300740, 0.271305}, {-0.778036, -0.864931}, - {0.237860, -0.011126}, {0.147210, 0.427180}, {-0.038382, 1.535662}, - {-1.191819, 0.386445}, {0.553605, 0.469841}, {0.060159, 0.320722}, - {0.628356, 0.798504}, {0.141494, 0.747546}, {0.356586, -0.813978}, - {-0.526579, 0.129332}, {-0.142047, -0.183652}, {0.142306, -1.230296}, - {0.163303, 0.973984}, {0.741797, -0.963034}, {-0.953978, 1.630063}, - {0.782292, 0.927006}, {0.269555, -0.483264}, {-0.225813, -0.846876}, - {-0.147398, 0.037824}, {-1.151203, 0.182452}, {-0.051871, 1.116905}, - {0.618385, 0.772501}, {-0.806309, -0.676225}, {0.314484, 0.962604}, - {-0.877810, 0.165547}, {-0.278775, 0.828332}, {-0.193032, 0.607956}, - {0.481850, 0.406728}, {0.189260, 0.564026}, {0.101573, -0.153646}, - {0.141078, 0.577827}, {0.442071, -0.654711}, {-0.497890, -0.069597}, - {-0.896127, 0.092677}, {1.379386, -1.739856}, {0.049072, 0.076701}, - {-0.000871, -0.137247}, {-1.069033, 1.216272}, {1.305900, -1.105981}, - {-0.038746, 0.948692}, {0.097514, -0.182169}, {0.504969, 0.301159}, - {-0.070645, -0.338149}, {-0.648749, 1.116034}, {0.019086, 0.366446}, - {0.061191, -0.513735}, {-0.412078, 0.343295}, {-1.006799, -0.785297}, - {0.728767, -0.194047}, {-0.294156, 0.632371}, {-0.674312, -1.092083}, - {-0.662882, -0.689872}, {-1.090220, -0.610777}, {0.103421, 0.205088}, - {0.654995, -0.196212}, {0.811050, -1.173118}, {0.047948, 0.235323}, - {0.657132, 0.634237}, {0.807551, 0.684801}, {0.066354, -0.968132}, - {-0.109448, -0.718459}, {-1.570057, 0.383556}, {1.177749, -0.333918}, - {-0.076754, -0.018363}, {1.147423, 0.535147}, {-1.099482, -1.047722}, - {0.202256, 0.611263}, {0.355965, 0.186135}, {0.638869, 0.248176}, - {0.423701, 0.167180}, {0.140065, -1.046322}, {-0.128061, 0.389472}, - {-0.073327, -0.620858}, {0.551739, -0.001060}, {-0.010351, -0.343739}, - {0.273292, 0.077655}, {0.018582, -0.649334}, {0.858083, -0.239483}, - {0.434152, -0.516887}, {-1.191059, 0.970440}, {-1.078976, -1.186674}, - {1.220491, 0.830858}, {0.392834, -0.620787}, {0.570976, 1.188011}, - {0.659424, -0.514683}, {0.396493, 0.413003}, {1.064244, -1.299914}, - {-0.395576, -0.151052}, {-1.016292, -0.124868}, {0.339642, 0.187616}, - {-0.732745, 0.330348}, {0.064742, 0.443943}, {0.986493, -0.439466}, - {0.469584, -0.447904}, {0.721960, 0.754263}, {0.157520, -0.324514}, - {-0.114010, -0.285823}, {-0.771222, -0.402135}, {0.327920, 0.786586}, - {-0.761432, -0.278662}, {0.019400, -0.367941}, {1.070777, 0.601845}, - {0.456113, -0.819699}, {0.879266, -1.927595}, {0.205047, -0.103213}, - {0.499241, 0.410470}, {0.833646, -1.356775}, {0.148523, 0.231443}, - {0.561257, -0.947881}, {0.003637, -0.389497}, {0.433277, 0.984572}, - {-0.048365, -0.418898}, {-0.136111, -1.207308}, {1.922850, 1.447618}, - {0.384710, 0.640459}, {0.139125, 0.130501}, {0.571578, -0.186558}, - {0.682121, 0.751595}, {0.321521, -1.559149}, {-0.371364, -0.545437}, - {0.621527, 0.318470}, {-0.035350, 0.128997}, {0.478967, 0.282489}, - {-1.726296, 0.075075}, {-0.410562, -0.229728}, {0.248913, 0.103229}, - {-1.158596, 0.232259}, {0.162925, 0.185782}, {0.954972, -0.172445}, - {-1.023235, -0.827372}, {0.386385, 0.418922}, {-1.535752, -0.171385}, - {-0.052104, 0.779521}, {0.578034, -0.561471}, {0.132959, 0.311450}, - {-0.343702, -0.401046}, {0.245350, 0.969726}, {0.396674, 0.108288}, - {-1.432259, 0.419970}, {0.341158, 0.317464}, {-0.330617, -0.606965}, - {-0.152268, -0.472867}, {-0.060637, 0.458003}, {-0.571015, -0.285286}, - {-0.689380, -0.890630}, {1.280908, 0.748947}, {-0.541963, 0.307449}, - {1.509660, 0.796404}, {1.759599, -0.190714}, {0.431596, -0.064444}, - {0.781975, -0.726109}, {-0.225672, -0.453357}, {-1.213446, 0.029801}, - {-0.502440, 0.933800}, {0.526578, 0.291420}, {0.147412, 0.134833}, - {0.512102, 0.625511}, {1.456875, 1.380586}, {-0.290328, -1.063807}, - {0.101380, -0.817843}, {0.113163, 0.126724}, {1.215953, 0.725106}, - {0.201676, 0.845303}, {0.239325, -0.398681}, {0.164998, -0.338345}, - {-0.108562, -0.506582}, {-0.489327, 0.543874}, {0.661906, -0.354970}, - {-0.265596, 0.563607}, {-0.884218, 0.854292}, {1.321217, -1.368510}, - {0.081827, -1.410110}, {-0.219351, 0.885236}, {-0.982823, 0.858992}, - {-1.274274, -1.011328}, {-1.067975, 0.067140}, {0.436583, -0.052909}, - {-0.404171, -0.153187}, {-0.582062, 0.600456}, {0.023155, 0.627493}, - {-0.685279, -0.017384}, {0.548277, -0.244152}, {-0.115240, 0.053806}, - {0.060231, 0.740503}, {-0.145329, 0.863530}, {-1.448378, 0.298489}, - {0.240402, -0.369060}, {1.430967, 1.095404}, {0.331176, 0.532789}, - {0.065128, 0.165151}, {-0.301511, -0.764322}, {1.104458, 0.230971}, - {-0.659759, -0.691340}, {-0.814781, -0.814180}, {0.417795, 1.175324}, - {0.289451, 0.400148}, {-0.418076, 0.131680}, {-1.362387, 0.205250}, - {-0.014391, 0.377274}, {-1.409865, -1.379234}, {0.541087, 1.912687}, - {-0.029290, -0.841498}, {0.466166, 0.092614}, {0.184014, -0.060701}, - {0.809956, 1.648975}, {-0.773957, 0.556490}, {-0.526512, -0.408391}, - {0.241741, 0.658692}, {-0.542720, 1.687133}, {-0.516997, -0.467089}, - {0.739354, 0.421007}, {-0.042296, -0.146626}, {-0.269594, -0.550475}, - {-1.523314, -1.306939}, {0.250566, 0.617745}, {0.504463, -0.722584}, - {-0.179117, -0.083309}, {1.874666, 0.664473}, {0.786372, -0.183692}, - {-0.791371, -0.105155}, {0.546627, -0.378284}, {-0.682557, 0.353458}, - {-1.551750, -1.178922}, {0.004591, -0.364755}, {0.595242, -0.129436}, - {-0.525592, -0.317380}, {-0.090858, -0.976245}, {-0.485468, 0.291478}, - {0.149195, 0.432197}, {-0.614205, -0.776327}, {-0.282117, 0.839998}, - {-0.805384, -0.020502}, {0.822789, -1.368598}, {-0.626826, 0.998920}, - {0.496481, -0.497299}, {1.668775, 0.382570}, {0.548438, -1.033250}, - {1.007271, 0.933075}, {0.183149, -0.380990}, {1.293787, -0.119620}, - {0.774773, 0.143392}, {-0.274284, -0.302211}, {0.451132, -0.154428}, - {-0.025212, 0.110100}, {-1.359157, 0.348165}, {0.013577, 0.207362}, - {1.101108, 1.741819}, {-1.147832, -0.970628}, {-0.792563, -0.451914}, - {-0.065555, 0.248664}, {-1.252769, 0.225012}, {0.954973, -1.085338}, - {0.121842, -0.845815}, {-1.622493, 0.134620}, {-0.785575, -1.165826}, - {-0.155585, -0.299899}, {0.204921, 1.247232}, {0.190846, 0.982351}, - {-0.086519, 0.188154}, {0.911527, -0.410064}, {-0.589303, 0.001458}, - {-0.461175, -0.753628}, {-0.703909, -0.266743}, {-0.552377, -0.836142}, - {-0.316481, -0.804232}, {-1.208979, -0.807974}, {-0.405595, -0.324402}, - {0.556275, 0.511671}, {0.755633, -0.192398}, {0.361233, -0.288166}, - {-0.271475, -0.290048}, {0.036496, 1.048269}, {-0.230503, 0.604447}, - {1.000254, -0.234682}, {0.120851, -0.393787}, {-1.135812, -0.005555}, - {0.117785, 0.102412}, {0.269803, 0.306705}, {-1.000569, -0.211454}, - {-0.921295, -0.318864}, {0.015830, -0.276718}, {0.855560, 0.052771}, - {-0.331353, 0.532554}, {-0.998449, -0.148572}, {1.087764, 1.700836}, - {-0.433519, 1.028843}, {0.238422, -0.076953}, {-0.789252, -0.068322}, - {0.231041, 0.257196}, {-0.119942, 0.994053}, {-1.624463, 0.592305}, - {0.489505, 0.330256}, {-0.791727, -0.240149}, {0.023486, 0.405492}, - {-0.712725, 1.139520}, {-0.397841, 0.392477}, {-0.172113, -0.103673}, - {-0.916898, -0.115494}, {-0.740514, -0.159728}, {0.030016, 0.438515}, - {-0.189621, 0.505697}, {-0.312361, -0.485750}, {0.395219, -0.191466}, - {-0.681995, 0.910094}, {-0.886425, 0.038644}, {-0.363377, 0.254644}, - {1.213012, 0.273619}, {0.387538, -0.267483}, {0.184534, -0.031493}, - {-0.082584, 0.185597}, {-0.168003, -1.103117}, {-0.130390, 0.133329}, - {-0.641604, -1.152805}, {0.930567, 0.868625}, {-0.667303, 0.040410}, - {0.885582, -0.805815}, {1.203275, 0.842920}, {-1.398472, -0.587075}, - {-1.319309, -0.535182}, {0.187520, 0.267047}, {1.366326, 0.361960}, - {0.099778, -0.157978}, {-0.133780, -0.185177}, {0.536479, -0.703430}, - {-1.744925, 0.483704}, {-0.188968, -0.117653}, {0.100862, -0.201597}, - {1.112205, 0.886361}, {1.065932, 0.187435}, {-0.515742, -1.160125}, - {-0.302570, 0.686457}, {0.650096, -0.027069}, {-0.038160, 1.315195}, - {0.325478, -0.873972}, {-1.071418, 0.172045}, {0.086233, -0.410727}, - {0.062731, 0.419938}, {-0.067950, 0.160374}, {-0.871875, -0.789548}, - {-0.533510, 0.417835}, {0.549437, -0.061798}, {0.230347, 0.244062}, - {-0.664741, -0.647699}, {0.866195, -0.509121}, {-0.455236, -1.065637}, - {-0.098402, -0.964385}, {0.972477, 0.831164}, {1.126182, 1.212522}, - {-1.214912, -0.489044}, {-0.145521, -0.082823}, {0.172649, 0.507886}, - {0.816966, 0.723179}, {0.286767, 0.813230}, {-0.292067, 0.442358}, - {-0.242028, 0.403211}, {0.810219, -0.296835}, {-0.965484, 0.781090}, - {0.030609, 1.430429}, {-0.113167, -0.735173}, {0.679344, 0.038494}, - {-0.296711, 1.173452}, {0.205363, 0.307279}, {0.236531, -0.902335}, - {1.474420, 1.009479}, {-0.794636, -1.088974}, {-0.600780, -0.630495}, - {-0.120746, 0.153255}, {-0.074198, -1.159780}, {0.479216, -0.756744}, - {-0.061359, -0.464196}, {0.266948, 0.499785}, {0.466252, -0.801677}, - {-0.739398, -1.104281}, {-0.209888, 0.342897}, {0.317751, 0.652312}, - {-0.108828, -0.502183}, {0.311654, -0.272723}, {-1.213448, 0.887512}, - {-0.156897, 0.247416}, {0.684845, 0.663784}, {-0.834150, -1.557275}, - {-0.111679, -0.539638}, {-0.629201, -0.244997}, {0.345529, -0.729459}, - {-0.573635, 0.569731}, {0.202781, 1.168916}, {0.299240, 0.698863}, - {-0.303744, 0.092127}, {-0.770121, -0.010426}, {0.785242, -0.473798}, - {-0.258107, -1.614886}, {-0.364306, 0.445393}, {-0.030830, -0.396489}, - {-0.861569, -0.618809}, {-0.467142, -0.065045}, {1.496496, 0.390095}, - {-0.664346, -0.666512}, {-1.078531, -0.683208}, {-1.035570, 0.332805}, - {0.334032, 0.923234}, {-0.352618, 1.163516}, {0.487088, 0.813483}, - {-0.108438, 0.111755}, {-0.242763, -0.716151}, {0.048218, -0.411570}, - {-0.682291, -0.100047}, {-0.347302, -0.541596}, {-0.055860, 0.329776}, - {-0.486827, 0.763519}, {0.936834, 0.378179}, {0.560789, -0.581682}, - {0.062925, -1.147451}, {0.370209, 0.604113}, {0.303006, 0.781933}, - {-0.771395, 1.640898}, {0.367795, -0.936096}, {-0.948469, -0.645591}, - {-1.338969, 0.458720}, {-0.119671, 0.943494}, {-0.504578, 1.348833}, - {0.087662, 0.180008}, {-0.400353, -0.940478}, {-1.020622, 0.010305}, - {-0.572008, 0.916672}, {0.777239, -0.920403}, {-0.246385, -1.900782}, - {0.368677, -0.397907}, {-0.213803, 1.423726}, {-0.529380, 0.287280}, - {0.674833, 0.865517}, {0.214032, 0.083444}, {-1.354788, 0.121986}, - {-0.147398, -0.259880}, {-0.236661, 0.083370}, {1.070576, -0.674437}, - {-1.696654, -0.863431}, {-0.288571, -0.088433}, {-1.178608, 0.352638}, - {-0.686168, -0.664879}, {-0.727181, 0.139968}, {0.704379, 0.011108}, - {-0.097122, -0.414411}, {0.833092, -0.416375}, {1.679856, -0.186026}, - {-0.188038, -0.789648}, {0.788024, 1.319672}, {-0.111910, -0.429271}, - {0.026979, -0.973063}, {-0.822299, -0.468297}, {-0.020743, -0.075185}, - {-0.196015, -0.653514}, {-0.531606, 0.126889}, {0.683125, 0.196602}, - {-0.642640, -1.115938}, {0.216297, 0.501497}, {-0.798830, -0.596719}, - {0.118774, -0.356140}, {-1.144614, -0.125928}, {0.782631, 0.924172}, - {-1.170188, -0.199186}, {-1.219077, 1.060124}, {-0.426246, 0.782024}, - {0.022011, 1.753737}, {-1.176024, 1.096339}, {0.892655, 0.511964}, - {0.162166, 0.613459}, {0.089108, 0.600362}, {0.727923, 0.549506}, - {0.043496, -0.772287}, {0.545886, -1.494124}, {-0.208190, -0.121938}, - {0.457878, -0.436767}, {0.202868, 1.137949}, {0.442543, -0.970062}, - {-0.938356, 0.524556}, {-0.206104, -0.650013}, {-0.241362, -0.130104}, - {0.825974, 0.375147}, {-1.030467, 0.349799}, {0.165765, 0.053764}, - {0.539089, 0.219063}, {-0.920803, -0.360764}, {-1.501808, 0.467059}, - {0.010156, -0.026508}, {0.296985, 1.309064}, {0.255845, 0.369301}, - {0.282236, 0.181767}, {-0.599911, 0.417191}, {-0.124009, -0.052300}, - {1.762523, -0.638097}, {1.559969, -0.392161}, {0.788940, -1.012021}, - {-0.889773, 0.829916}, {-0.758505, 0.629368}, {0.149425, 0.205740}, - {-1.489133, 0.519999}, {0.274081, -0.473210}, {-0.400278, -0.605729}, - {-0.034848, -0.711428}, {0.797203, 0.653726}, {0.684081, 0.306657}, - {-0.898558, 0.487512}, {0.531034, -0.804407}, {-0.189209, 0.079728}, - {-0.236203, 0.887653}, {-1.055849, -0.030049}, {0.157577, 0.262297}, - {0.816064, 0.614824}, {-0.517684, -0.651690}, {0.817597, 0.142859}, - {0.632049, 0.746048}, {-0.004080, -0.044616}, {-0.443800, -0.623657}, - {-1.950154, 0.292959}, {0.849712, 0.756986}, {-0.331359, 0.267557}, - {0.110510, 0.822703}, {1.123170, -0.844141}, {-0.779840, 0.699576}, - {0.039398, 0.256364}, {0.701604, -1.071505}, {0.068249, -0.334658}, - {-0.092711, -0.747982}, {0.279999, 0.476331}, {-0.250376, -0.152404}, - {-0.633183, -0.303464}, {-0.871779, -0.289203}, {0.520590, 0.441538}, - {0.411185, 0.050415}, {0.299688, 0.061898}, {0.006655, 0.250882}, - {0.663987, -0.250278}, {-0.435304, 0.428809}, {-0.954020, 0.275075}, - {-0.534693, -0.019677}, {-0.454147, -0.287202}, {-0.410159, 0.876545}, - {0.167473, 0.702159}, {-0.798929, -0.035521}, {0.321676, 0.347692}, - {0.817898, 0.460273}, {-0.129380, 0.029044}, {0.252003, -0.312483}, - {-0.794911, 2.260189}, {1.196671, -0.508444}, {0.658018, 0.454661}, - {-0.110961, 1.988064}, {1.027958, -0.139970}, {0.371965, 0.512944}, - {-0.889717, -0.561569}, {-0.385539, 1.492987}, {0.182554, -0.293347}, - {-0.678913, -0.180265}, {-0.619095, 0.804020}, {-0.246786, 0.065080}, - {0.732415, 0.287005}, {-0.433814, 0.359104}, {-1.062615, 0.398734}, - {-0.068996, -0.161415}, {0.177600, -0.169124}, {-1.098818, 0.257113}, - {-0.199506, -0.234330}, {-0.457931, -0.929827}, {1.267319, -0.665283}, - {0.569162, 0.128109}, {-0.894920, -0.343725}, {-1.047250, 0.194854}, - {0.145325, 1.000184}, {-0.485785, 0.176002}, {0.416958, 0.181212}, - {-0.538063, 1.408044}, {0.396945, 0.376793}, {-0.650388, 0.600960}, - {-0.336692, 0.041523}, {0.762633, 0.056195}, {-0.101801, 1.060078}, - {0.008753, 0.341367}, {1.213057, 0.650804}, {-0.242555, 0.605359}, - {-0.096545, 0.505888}, {-0.218160, 0.065450}, {-0.392291, -0.153585}, - {-0.382276, -0.435595}, {-0.566462, 0.503745}, {0.742303, 0.092767}, - {-0.706119, -0.446348}, {0.846034, -0.169926}, {-0.800204, 0.067673}, - {0.393443, -0.252153}, {-1.189230, -0.417032}, {-0.258718, -0.577801}, - {0.148415, -0.218861}, {-0.242399, -0.722251}, {-0.554846, 0.266552}, - {-0.154566, 0.345374}, {-0.178620, -0.620674}, {-1.452684, 0.547125}, - {0.742394, -0.579851}, {-0.535252, 0.818573}, {-0.373753, -0.844847}, - {-0.307951, -0.485154}, {-1.055151, -0.234469}, {-0.617500, 0.155782}, - {-0.632949, -0.514511}, {0.321217, -0.177787}, {0.810575, 0.867079}, - {-0.739780, 0.080659}, {-0.702951, -0.542686}, {-0.849406, -0.434737}, - {-0.107667, 1.546333}, {-0.481642, 0.249243}, {-0.434692, 0.925578}, - {-0.649042, 0.190168}, {0.543056, 0.387398}, {0.229006, 1.749723}, - {-0.659196, 1.496811}, {-1.112472, -1.378348}, {-0.347713, 0.655806}, - {-0.333020, -0.442177}, {-0.010896, 0.243385}, {0.396435, -0.937387}, - {-1.542977, -0.081353}, {-0.988957, -1.301314}, {-0.671717, 0.385106}, - {-0.475757, -0.051430}, {-0.152665, -0.430897}, {0.226653, -1.286005}, - {-0.121291, -0.593614}, {-0.416353, 0.289417}, {0.641212, -0.014396}, - {0.625740, 0.289628}, {0.109355, -0.864110}, {-1.304982, 0.864331}, - {0.540706, -0.034820}, {1.160577, 0.426277}, {0.897177, 0.120431}, - {0.166315, 0.025191}, {-1.194892, -0.817293}, {-0.018821, -0.365376}, - {0.419874, -0.904719}, {-0.376988, 1.270798}, {0.591134, -0.413071}, - {0.765301, 0.183033}, {0.425363, -2.200343}, {0.282538, -0.115302}, - {0.471367, -0.189218}, {0.072332, -1.738241}, {0.705167, 1.306461}, - {0.517418, -0.123308}, {0.665696, 0.768678}, {0.799159, 0.744041}, - {0.388496, 0.054943}, {-0.509369, -0.466480}, {-0.932773, -0.129384}, - {-1.766512, 0.342952}, {-0.411573, -0.953764}, {-0.376695, -0.388200}, - {0.253429, 0.762383}, {-0.238802, -0.837494}, {-0.568870, 0.170795}, - {0.970388, 1.303336}, {-0.483732, -0.759695}, {-0.067874, -0.877486}, - {0.361803, -0.828496}, {0.148481, -0.631609}, {0.188760, 0.682836}, - {0.233787, 1.072984}, {0.607324, 0.052559}, {-0.462668, -0.875849}, - {0.513511, -0.625931}, {0.029210, -0.447513}, {0.480831, 0.480287}, - {-0.664907, -0.973077}, {0.188319, -1.203828}, {0.022725, -0.215416}, - {-0.426508, 0.568704}, {0.696166, -0.153401}, {-0.888605, 0.283359}, - {-1.887684, -0.631214}, {-0.027258, -0.755818}, {0.463172, 0.099262}, - {0.176597, 0.408871}, {0.139626, 0.475139}, {-0.512137, -0.095797}, - {0.142498, 0.791082}, {1.714745, 0.050486}, {-0.151700, 1.001408}, - {-0.187926, -1.189337}, {-1.047952, 0.351206}, {-0.605363, 0.923878}, - {-0.880344, -0.236752}, {0.158545, 0.536012}, {-0.702132, -0.383830}, - {-0.232765, -0.434727}, {-0.332018, 0.111265}, {-0.115645, 1.224794}, - {1.130556, 1.039947}, {-0.684674, 0.389432}, {-0.495957, -0.819223}, - {-0.287520, 0.044088}, {-0.120997, -0.373808}, {0.344498, -0.861474}, - {-0.287849, -0.627099}, {-1.624836, 1.107974}, {-0.161896, 0.734496}, - {0.922077, 0.415761}, {-0.092261, -0.792858}, {0.740678, 0.637053}, - {0.009040, -1.221702}, {-0.151925, -1.520832}, {-0.926963, 1.228550}, - {1.592761, -0.740545}, {0.975686, -0.204006}, {-0.510445, -0.013318}, - {-0.116722, -1.460534}, {0.050564, -0.696307}, {0.238704, -0.306242}, - {-0.056267, -0.039088}, {0.367015, 0.155718}, {0.828479, 0.364074}, - {-0.066791, -0.263206}, {-0.206769, -0.176020}, {0.607347, -0.204373}, - {-0.328140, 0.234530}, {-0.149728, 0.964312}, {-0.673761, -0.476774}, - {-0.531880, 1.004618}, {-0.115795, -0.702836}, {0.150798, -1.577178}, - {-0.261606, -0.115086}, {-0.466822, -0.540959}, {0.188110, -0.368671}, - {1.054299, 0.152076}, {0.955712, -0.861367}, {-0.203463, 1.366727}, - {0.633374, 0.651992}, {-1.391364, 0.818343}, {0.956846, 1.464320}, - {-0.393481, 0.977886}, {0.069476, 1.092029}, {-0.819219, 0.095735}, - {-0.358142, -0.433980}, {0.880563, 0.408356}, {-0.110838, 0.733042}, - {0.767039, 0.273039}, {0.484175, 1.024151}, {0.506067, -0.462739}, - {0.138992, 0.524270}, {0.438017, -0.334267}, {-0.480006, -1.227354}, - {-0.549142, 0.321805}, {0.558154, 0.085036}, {-1.561828, 1.403826}, - {0.792447, -1.514236}, {0.340796, 0.383640}, {-1.368843, -0.478391}, - {0.058797, 0.152301}, {-1.186850, 0.309630}, {0.008511, 0.569976}, - {0.499503, 0.907362}, {-0.582328, -1.193703}, {0.457649, 0.390902}, - {0.080038, 0.404945}, {0.509056, -1.101939}, {-0.172094, 0.524935}, - {-0.856769, -1.342524}, {0.600361, 0.564700}, {0.669194, -0.792939}, - {1.645031, -1.295386}, {-0.563368, -1.044735}, {1.573442, 0.369752}, - {-0.476873, 1.693162}, {0.009118, -0.394260}, {-1.892748, 0.376392}, - {0.527800, 0.693088}, {0.174069, 1.074548}, {0.421630, -0.272748}, - {-0.328084, 0.643263}, {-1.074268, -0.336496}, {1.380511, -0.549909}, - {0.446078, -0.836703}, {0.094413, 0.555130}, {2.359104, 0.198856}, - {-0.171100, 1.095922}, {0.554416, -0.723893}, {-1.692759, -0.111848}, - {-0.968574, -0.811231}, {-1.243309, -0.641704}, {0.374876, -0.441376}, - {-0.298878, 0.934476}, {0.959066, 0.185512}, {-0.372387, 0.626353}, - {-0.200447, 0.974171}, {-0.656902, -0.411072}, {0.606477, 0.609449}, - {0.596347, -0.335998}, {-0.680908, -0.373738}, {-0.714886, -0.319760}, - {-1.232879, -0.543364}, {0.597159, 0.750747}, {-0.092650, 0.649143}, - {1.312315, 0.577498}, {0.949531, 0.577766}, {-0.536287, -0.256933}, - {0.026927, 0.209819}, {-0.506280, 0.975751}, {-0.100592, -0.496428}, - {0.703664, 0.977937}, {0.439077, 0.642939}, {-1.186330, -0.562701}, - {0.834602, -0.346392}, {-1.140063, 1.278697}, {-0.176394, -0.177266}, - {-1.911734, -0.158996}, {-0.938247, -1.139427}, {0.430852, -0.519788}, - {0.552453, 0.347402}, {0.397558, -0.621711}, {0.395750, -0.030026}, - {-0.318682, 0.526152}, {-0.086843, 0.198691}, {-0.463806, 1.322882}, - {0.021087, 0.405731}, {-0.997044, -0.774766}, {-0.693620, 0.425756}, - {-0.093692, 0.639838}, {0.605591, 0.305130}, {-1.280314, 0.984296}, - {-0.058598, -1.163590}, {0.649775, -0.003839}, {-0.268283, 0.754608}, - {-1.297487, 0.615832}, {0.619815, -0.088227}, {-0.447024, 0.734463}, - {0.342713, 0.254090}, {-0.076577, 1.067338}, {-0.580665, -0.362452}, - {0.233286, -0.620338}, {-0.934433, 0.379823}, {0.933342, 0.231465}, - {-0.859952, 0.114437}, {-0.856929, 0.585641}, {-0.943033, -0.113384}, - {1.038475, 0.201911}, {-0.469030, -0.388884}, {-0.118337, -0.297191}, - {-0.702286, -0.240531}, {-0.513404, -0.591197}, {0.324736, 0.499129}, - {0.131897, -0.425180}, {-0.464172, 1.168790}, {-0.606129, 0.482431}, - {-0.947150, -0.266069}, {0.443681, -1.910554}, {-0.022401, -0.327754}, - {0.551598, 0.923532}, {0.223361, -0.385604}, {0.185751, 0.593156}, - {-0.184030, 0.754766}, {1.395817, 0.028574}, {0.475188, 0.054661}, - {-0.277480, 0.125616}, {-0.496862, -1.147994}, {-0.004339, -1.205962}, - {-0.143203, -0.265497}, {0.125309, -0.043515}, {0.366992, 0.512033}, - {0.824571, 0.106918}, {-1.068985, 0.132551}, {1.832261, 0.084296}, - {0.263801, -1.200894}, {-1.508048, 0.915831}, {0.482696, -0.426293}, - {0.033090, -1.904729}, {-2.108846, -0.435991}, {-0.176570, 0.183011}, - {-0.552305, 0.353128}, {-0.238016, 0.185723}, {-1.105006, -0.940637}, - {-0.819965, -0.929777}, {0.157431, 0.682561}, {-0.217550, 0.640647}, - {0.203090, -0.654541}, {-0.077923, 1.061114}, {0.255508, -1.220831}, - {-0.166887, -0.641701}, {-0.366592, 0.125942}, {-1.173483, 0.813176}, - {0.808734, -0.982589}, {-0.278042, 1.861455}, {-0.065514, 0.269957}, - {0.906470, 0.226526}, {-0.120529, -0.080793}, {0.417512, 0.156899}, - {-0.907569, -0.097119}, {0.263494, -0.109026}, {0.189893, -0.050584}, - {-0.790905, 0.939795}, {-0.170601, -0.628612}, {0.350909, -0.626418}, - {-0.386598, -0.927327}, {-0.453768, 0.023829}, {0.914262, 0.275209}, - {-0.562420, -0.398459}, {-0.630268, 1.978496}, {0.221322, 1.406665}, - {0.469280, 0.011328}, {1.173789, 0.177916}, {-0.299844, 0.272473}, - {0.251780, -0.111125}, {-0.773700, 1.126264}, {-0.141209, 0.420552}, - {0.799946, -0.075850}, {-1.245327, 0.658100}, {0.291694, 0.510028}, - {-0.794185, -0.184348}, {0.558676, -0.725595}, {0.104020, 0.146003}, - {0.687901, 0.258342}, {0.447092, 1.306396}, {0.252250, -0.596987}, - {-0.576601, 0.104527}, {-0.528980, 0.897886}, {0.319621, 0.007942}, - {-0.271045, -1.032491}, {0.106805, -1.171924}, {-0.117934, -0.002040}, - {0.937400, 0.094878}, {0.767345, 0.456467}, {-0.248117, 1.399906}, - {-0.019431, 0.029962}, {-0.553835, -0.199065}, {0.973482, -0.555913}, - {-1.158272, 0.011195}, {0.289042, -0.022439}, {-0.242274, 0.051491}, - {-0.784552, 0.046357}, {0.089161, -0.070526}, {-0.347404, -0.479778}, - {-0.387975, -0.227373}, {0.209500, -1.064529}, {1.636459, -0.994817}, - {0.962069, -0.828699}, {0.599537, 0.180033}, {0.403511, -1.375267}, - {-0.030051, 0.364420}, {0.255406, -0.152639}, {-0.842737, -0.083531}, - {0.265162, -0.110579}, {0.023556, -1.674108}, {0.998462, -0.391540}, - {-0.236300, -0.679450}, {-0.135786, 0.684768}, {-0.166010, 0.165157}, - {0.727715, -0.372501}, {-0.189725, 0.488845}, {-0.295131, -0.024017}, - {0.260305, -0.897897}, {0.282883, -0.374545}, {-0.131905, 0.759994}, - {0.642608, -0.501903}, {0.235753, -0.019992}, {0.234917, -0.917430}, - {-0.187950, -0.955321}, {-1.679033, -0.077540}, {0.057969, -0.182145}, - {0.806970, 0.187450}, {-1.255149, -1.161657}, {0.071722, -1.622885}, - {0.743520, -0.598178}, {-0.541128, 0.760663}, {-0.690128, -0.163725}, - {-0.713829, 1.032708}, {-0.184282, 0.073560}, {-1.631399, -1.104151}, - {-0.287196, -1.050644}, {-0.861881, 0.837003}, {0.658268, -0.445585}, - {-0.492519, -0.822022}, {-0.042083, 0.453774}, {-1.060994, 0.621202}, - {0.552598, -0.448519}, {0.547632, -0.643752}, {-0.180073, -0.870508}, - {-0.301082, 0.100829}, {-0.185883, 0.378342}, {-1.021355, -0.041632}, - {0.835251, 0.146685}, {0.367444, 1.012175}, {-0.336391, 0.016233}, - {-1.065102, 0.040814}, {-0.949472, 0.846319}, {1.291102, 0.795366}, - {-0.487972, 1.266731}, {0.385963, -1.232202}, {-0.274804, -0.575065}, - {0.142511, 0.996808}, {-1.127767, 0.320745}, {-1.464213, -0.001272}, - {-1.263870, -0.925822}, {0.440001, 1.508906}, {-1.938712, -1.470684}, - {-0.186008, 0.087603}, {0.166957, -0.114873}, {-0.546288, 0.060052}, - {-0.451944, -0.677336}, {0.110307, -0.073643}, {-2.575184, -0.348193}, - {0.686896, -0.114358}, {0.104536, -0.295687}, {1.742926, 0.023467}, - {-0.764176, 0.383341}, {0.143325, 0.194010}, {0.520979, 0.503754}, - {1.008110, -0.184279}, {0.707282, 0.233438}, {-1.342322, -0.476836}, - {-0.162102, -0.516986}, {-1.555440, 0.272954}, {1.012432, -0.043494}, - {-0.081673, 1.117860}, {0.403470, 0.057254}, {-0.517038, -0.110340}, - {0.475128, 0.752501}, {-0.489141, -0.553330}, {-0.636345, -0.926923}, - {0.379515, 0.423726}, {0.263556, -0.838201}, {1.364556, -0.420440}, - {-0.269874, 0.091490}, {-1.434258, 0.014961}, {-0.590992, 0.091827}, - {-0.308413, 0.016741}, {0.349648, -1.591085}, {-0.118712, 1.184347}, - {0.187251, 1.433784}, {0.562964, 1.318689}, {-0.861674, -0.392680}, - {0.002905, 0.622487}, {-0.151723, -1.179258}, {-0.070747, 0.053384}, - {0.525404, -0.554260}, {-0.343545, -0.118922}, {-0.507229, -0.864504}, - {0.500450, -0.403323}, {0.377233, 0.949879}, {-0.833561, -0.056483}, - {-0.725906, -0.705636}, {0.922402, -0.108117}, {0.242458, -0.509338}, - {1.107595, 0.489720}, {-1.198374, -0.015819}, {-0.413664, -0.441380}, - {0.218345, -1.315292}, {0.497907, -0.042786}, {1.204892, -0.699516}, - {-0.555751, 0.313409}, {0.379257, -0.609355}, {0.950328, -0.278547}, - {-0.755355, 0.813622}, {0.513696, -0.533451}, {-0.495311, 0.409720}, - {0.112153, -1.160556}, {0.353378, 0.752034}, {0.459675, -0.527592}, - {0.546631, 0.123779}, {0.828528, 0.384762}, {-0.369489, 0.154474}, - {-0.505704, 0.615962}, {-0.473887, 0.076201}, {0.008357, -0.357277}, - {0.129246, -0.337053}, {-0.257137, -0.189718}, {-1.475479, 0.652016}, - {0.204440, -0.454342}, {1.032094, -0.103206}, {-1.053839, 0.656926}, - {0.190919, -0.204573}, {-0.069636, -0.090363}, {-1.022143, 0.421546}, - {0.117690, -0.596925}, {0.668920, -0.202848}, {0.414527, 0.111164}, - {0.569160, -0.332882}, {-0.740114, -0.838751}, {-0.811449, 0.332958}, - {0.165041, -0.548386}, {0.586089, 1.162788}, {-0.441744, 0.705830}, - {0.345507, 0.417786}, {-0.150969, -0.217414}, {0.980970, -0.395728}, - {0.202029, 0.053837}, {-0.567949, -0.756414}, {0.838055, -0.962655}, - {0.185033, -0.842624}, {0.505452, -0.230980}, {0.500792, -1.312236}, - {0.098343, 0.520689}, {-0.927027, -0.045385}, {0.569641, 0.548063}, - {-0.798887, 1.354409}, {-1.055338, 0.516666}, {-1.035704, 0.360430}, - {-0.184264, 0.067661}, {0.570477, 0.590137}, {0.551827, 0.899930}, - {0.533855, 1.304288}, {0.350958, -0.358284}, {-1.384382, -0.753483}, - {0.601123, -2.156966}, {-0.554389, 0.059956}, {-0.871086, -0.106200}, - {0.558179, 0.180493}, {0.531430, -0.025180}, {-0.795320, 0.260424}, - {0.692222, -0.238340}, {0.169459, 0.823660}, {0.299030, 0.761034}, - {-0.698652, -0.351722}, {0.368231, 0.434130}, {0.185790, -1.403230}, - {-0.799883, -0.119406}, {0.736042, 0.392089}, {-0.666826, -0.832812}, - {-0.513339, 0.050691}, {-0.587525, 0.355240}, {-0.517997, 0.850523}, - {-0.899883, 0.695032}, {-0.206738, 0.938988}, {-0.699376, -0.248451}, - {0.788660, -0.329191}, {-0.803143, 0.755641}, {-0.347574, -0.096980}, - {0.655063, -0.198669}, {0.324775, -0.654269}, {0.921286, -0.437049}, - {0.744575, -0.148011}, {-1.499490, 0.208673}, {1.813010, 1.936063}, - {-0.330382, 0.942141}, {-0.175160, 0.095578}, {-0.688972, 0.621992}, - {-0.710787, 0.337475}, {0.082558, -0.051458}, {0.108929, -1.049616}, - {0.411274, 0.385344}, {0.016239, -0.562674}, {0.921934, 0.406952}, - {0.524669, -0.237757}, {-0.660776, -0.152646}, {-0.149333, 0.000891}, - {-0.254695, -0.615310}, {-0.756202, 0.840237}, {-0.309718, -0.633714}, - {-0.218646, -1.024427}, {-0.085284, 0.238786}, {-0.127700, -0.176234}, - {0.641768, -0.561286}, {-1.032711, -0.515069}, {1.363094, -0.095828}, - {1.534582, 0.380000}, {0.805601, 0.320919}, {0.701193, -0.161937}, - {0.262605, -0.457002}, {0.345692, -0.485455}, {0.973676, 1.050191}, - {0.563517, -0.896698}, {-1.052935, -0.655316}, {-0.231460, -0.146481}, - {-0.979474, 0.060279}, {-1.088586, -0.421800}, {0.161069, 1.003289}, - {0.090253, -0.088947}, {-0.547361, -1.206487}, {0.246441, 1.106913}, - {-0.706636, -0.015038}, {0.132891, 1.002612}, {-0.295681, 0.231105}, - {-1.153732, -0.996986}, {-0.501629, -0.644197}, {0.295345, -0.691762}, - {-1.440078, -0.607401}, {0.101169, 0.934845}, {0.071043, -0.644190}, - {0.614922, -0.503042}, {1.037925, -0.411965}, {-0.852186, 0.229310}, - {0.299200, -0.324206}, {-0.088801, -0.474293}, {-2.187987, -0.562442}, - {0.874113, -0.747951}, {0.575873, -0.728991}, {-0.846189, 0.157840}, - {-1.429388, 0.899668}, {0.146948, -0.004011}, {1.408618, -0.212564}, - {-0.215899, -0.253146}, {1.498321, -0.772136}, {-0.877108, -0.120817}, - {1.817143, 0.201466}, {-0.209176, 0.538539}, {1.517331, -0.539165}, - {-0.251656, 0.628209}, {-0.629867, 1.537735}, {0.022098, 1.206070}, - {-0.360631, -0.347506}, {0.752599, 0.256274}, {0.417381, -0.329550}, - {-1.519437, -1.728036}, {-0.414089, -0.630542}, {-0.364826, 0.403330}, - {0.581478, 0.594084}, {0.663563, 0.961159}, {0.825272, 1.573900}, - {-0.367023, -0.988905}, {-0.073497, 0.708838}, {1.148249, -0.415716}, - {-0.101004, 0.106337}, {-0.928442, -1.408122}, {0.469680, -0.047484}, - {-0.960126, -0.904661}, {-1.132264, -0.188708}, {-0.016658, -0.199830}, - {-1.075654, -0.338366}, {0.061431, 1.126846}, {-1.081800, -0.415970}, - {1.123256, -0.127503}, {-1.145737, -0.191834}, {-0.793043, -0.118410}, - {-1.196367, 1.014650}, {1.527032, -1.381034}, {0.647338, -0.080257}, - {-0.804731, 0.453449}, {-0.516077, 0.480638}, {0.530282, -0.739929}, - {0.269033, -1.963435}, {1.477697, 0.784988}, {0.311743, 0.788590}, - {-0.325671, 0.653941}, {-0.233521, -0.206602}, {-0.278201, 0.128288}, - {1.135366, -1.284597}, {-0.763170, -0.012900}, {0.438701, 0.811553}, - {-0.249020, -0.316173}, {0.561871, -0.138876}, {0.726334, 1.041021}, - {0.098118, -0.710592}, {-0.572228, 0.067081}, {0.734250, 0.106212}, - {-0.105387, 0.013023}, {-0.089425, 0.237119}, {-0.955892, 0.328177}, - {-0.219179, 0.170715}, {0.931844, -0.349402}, {-0.006197, -1.310244}, - {1.151184, 0.469394}, {1.308615, 1.117283}, {-0.431605, 0.200205}, - {0.191977, -0.367832}, {0.236475, 0.821365}, {-0.941490, 0.282290}, - {-0.006772, 0.760460}, {0.184771, -0.364421}, {-0.329091, -1.396452}, - {-0.459936, 0.172703}, {-0.153217, 1.302087}, {0.098202, -0.527384}, - {-1.355245, 0.009842}, {-0.924139, 0.157557}, {-0.100397, -0.408893}, - {0.217141, -0.593144}, {-0.156430, 1.211818}, {0.011004, -0.314417}, - {0.131301, -0.060106}, {0.399402, -0.219055}, {0.392387, -0.631019}, - {-0.341266, 0.461355}, {0.426031, -0.852869}, {-0.101110, 0.790776}, - {-0.436091, 1.765631}, {0.568398, 0.767510}, {-0.271711, -0.480995}, - {-0.249560, -0.882825}, {-0.381369, 1.034425}, {-0.503866, 0.598387}, - {0.876082, -1.385329}, {0.063173, 0.213468}, {0.543796, -0.225159}, - {-0.032141, 0.017681}, {0.493171, 0.162913}, {0.686035, 0.268915}, - {0.175293, 1.136665}, {0.157721, 0.697172}, {-1.127321, 0.592262}, - {0.166970, -0.343138}, {0.194866, 0.189738}, {-0.288449, 1.476208}, - {-0.421817, 1.014786}, {0.126023, -0.775427}, {0.394521, -0.989582}, - {-1.089528, -0.055308}, {0.200147, 0.011439}, {1.903990, 0.358153}, - {0.664392, -0.905588}, {0.539781, 0.841634}, {0.582682, 0.671146}, - {-0.024278, -0.572103}, {0.185635, -0.697631}, {0.106066, 0.699490}, - {0.246818, 0.300906}, {1.189828, -0.227730}, {-0.013825, -0.769516}, - {-0.684393, 0.018085}, {1.218080, -1.701471}, {0.424389, -0.592234}, - {1.403248, -0.017446}, {0.013415, -0.977801}, {0.369274, 0.430111}, - {0.381919, 1.117175}, {0.816133, -0.715540}, {0.035215, -0.105043}, - {0.556964, -0.135119}, {-0.673203, 1.053060}, {-0.516621, 0.494257}, - {0.450111, -0.035975}, {-0.421140, 1.411773}, {-0.535489, 0.037563}, - {-0.574600, -1.377926}, {0.032767, -0.640636}, {-0.459555, -0.203066}, - {-0.434567, 0.545250}, {0.650357, 0.652128}, {-0.892425, 1.283559}, - {0.692184, 0.557113}, {0.751736, -0.211262}, {0.313737, -0.163152}, - {-0.247115, -0.034955}, {0.491416, -1.537278}, {0.930530, -1.108210}, - {-0.556112, -1.391934}, {-0.961302, 0.326983}, {1.662905, -0.278552}, - {-0.313318, -1.433712}, {-1.000577, 0.559144}, {0.216728, 0.878720}, - {0.487019, -0.649528}, {-0.623891, -0.371940}, {-0.040803, 0.208126}, - {0.315032, 0.149693}, {-0.198370, -1.011750}, {-0.824018, 1.104106}, - {-0.353701, 0.822379}, {-0.123394, -1.055204}, {-0.737870, -0.757284}, - {-0.634799, -0.464904}, {-1.763571, -0.369890}, {0.047103, 0.948021}, - {0.847644, 0.119019}, {0.504559, -0.136831}, {0.049168, 0.250676}, - {-0.407130, 0.581465}, {-0.424114, -0.237635}, {-0.576690, -0.447438}, - {-0.534590, -0.285313}, {-0.525026, 0.509418}, {0.991170, 0.776430}, - {0.082037, -0.154868}, {-0.738468, 1.113500}, {-1.376870, -0.237227}, - {0.182010, 0.599488}, {-0.012601, 0.360641}, {-0.874033, 0.846574}, - {-0.453102, 0.527465}, {-0.140117, 0.979272}, {0.469908, -0.563083}, - {0.494906, 0.205413}, {-0.152124, 1.445632}, {-1.070697, -0.417032}, - {0.620584, 1.098607}, {0.647829, -0.212808}, {0.329902, 0.206018}, - {0.769611, 0.068876}, {0.595618, -1.179969}, {0.134816, 1.155849}, - {0.132816, -0.826840}, {-0.204456, -0.005218}, {0.565919, -0.406434}, - {1.076761, 0.279015}, {-0.824357, -0.318681}, {0.536584, 1.190336}, - {-0.837780, -0.783722}, {-0.365623, -0.592565}, {0.140732, -0.354577}, - {-0.318893, 0.197879}, {-0.650844, 0.142190}, {0.611141, -0.819490}, - {0.824394, -1.997252}, {1.188414, -0.772520}, {0.495803, 0.456638}, - {-0.793332, 1.358671}, {-1.208357, 0.747812}, {0.639802, -0.096943}, - {0.128095, -0.588363}, {0.114812, 0.593784}, {-0.189818, -0.088502}, - {-0.281234, 0.074641}, {-0.318011, 0.468384}, {-0.032031, 0.092814}, - {0.280203, 0.824080}, {0.375190, 0.631836}, {0.434939, -0.102007}, - {-0.537006, -1.514559}, {0.203213, -0.319343}, {-0.141183, -1.038148}, - {-0.218501, -0.477195}, {-0.338538, -0.751898}, {-0.686068, 0.283823}, - {0.062352, 1.559887}, {-0.241352, -1.511161}, {0.720157, -0.832961}, - {0.558763, -0.548703}, {0.263548, 0.902844}, {0.842079, -0.167704}, - {-0.542509, 0.454977}, {0.903157, 0.620579}, {0.964410, 0.047286}, - {-0.955672, 0.944376}, {0.860074, 1.300853}, {0.512725, 0.794600}, - {-0.450602, 0.516415}, {-0.447504, 0.181518}, {-0.437303, 0.401800}, - {-0.578495, -0.043247}, {0.617911, -0.345819}, {-0.552715, -1.044463}, - {-0.867800, -0.875333}, {0.481378, -0.046626}, {0.191387, -0.016629}, - {-0.518826, -0.671362}, {-0.076694, 0.392508}, {0.019799, -0.500523}, - {1.539289, 0.191522}, {0.268896, 0.472991}, {-0.122127, -0.508825}, - {0.314364, -0.019904}, {-0.144547, 0.440958}, {0.265538, 0.198174}, - {0.863341, -0.176679}, {0.122943, -0.154642}, {0.043506, 0.107960}, - {0.099631, -0.078301}, {-0.560396, 0.316725}, {1.286545, 0.635450}, - {-0.358192, -0.438848}, {1.039133, -0.132411}, {1.186643, 0.405783}, - {-1.001651, -0.156892}, {-1.179719, -0.490621}, {-0.721972, 0.717535}, - {-1.029560, -0.455562}, {-0.077975, 0.563804}, {-0.813295, 0.621995}, - {0.618189, 0.598485}, {-1.199978, -0.777894}, {-0.290504, 0.990481}, - {-0.031754, 0.345115}, {-0.368322, 1.005785}, {0.599679, -0.895852}, - {-0.590234, -0.096684}, {-0.496663, -0.691375}, {0.088853, 0.700215}, - {-0.183732, 0.242244}, {-0.643606, -0.335184}, {0.121277, -0.906499}, - {0.241237, 1.352691}, {-0.254636, -0.459023}, {-0.621434, -0.262442}, - {-1.261593, 0.823850}, {0.524973, 0.145684}, {0.664583, -0.298579}, - {0.609610, -0.078780}, {0.203934, -0.123287}, {-0.774268, -0.471319}, - {-0.207046, 1.271445}, {-0.236533, -0.485094}, {-0.597981, 1.115511}, - {-0.406298, 0.760957}, {0.694472, -0.379866}, {-0.372914, 0.292032}, - {0.784017, 0.922657}, {0.297901, 0.163029}, {-0.904827, -0.819312}, - {0.561786, 0.562537}, {-0.239547, 0.126229}, {-1.407316, -0.320167}, - {-0.134303, -1.366530}, {-0.531725, -0.336818}, {0.623285, 0.322439}, - {-0.335097, 0.897800}, {0.695935, -0.312405}, {0.095367, 0.409572}, - {-0.765337, -0.211423}, {-1.131867, -0.623383}, {-0.267968, -0.286704}, - {-0.404970, -0.309191}, {1.379609, 0.251604}, {0.331291, 0.143124}, - {-0.913650, 0.804486}, {-1.218644, 0.871913}, {0.039236, 0.744136}, - {1.449769, 0.975760}, {-0.210467, 0.262295}, {0.405987, 0.424655}, - {0.999384, 0.627690}, {1.164600, 0.133861}, {-0.175488, 1.427081}, - {-1.744108, 0.555451}, {0.302610, -0.688230}, {-0.529522, -1.322584}, - {-0.223304, -0.289473}, {0.668378, 0.179522}, {0.084177, 0.492469}, - {0.266502, -0.068043}, {0.764533, -0.106614}, {-0.317832, 0.270595}, - {-0.444143, -0.228776}, {0.108340, -0.373711}, {-0.027397, -0.010145}, - {-0.613227, 0.902768}, {-0.557055, 0.429239}, {0.373258, -0.228158}, - {-0.631503, -0.356203}, {0.643938, -0.284783}, {-0.784050, -0.572626}, - {-0.207974, -0.145033}, {0.006310, 0.173822}, {-0.106005, 0.111244}, - {2.363675, -0.471391}, {0.972607, 0.013920}, {1.130367, -0.608325}, - {-0.479318, -0.017402}, {-0.647306, 0.746952}, {1.365227, 0.174166}, - {0.586382, -0.751731}, {-0.467157, 1.701264}, {-0.531539, 0.869207}, - {-0.610338, 0.132307}, {0.356638, 0.108132}, {-0.568649, -0.676443}, - {0.089214, -0.008608}, {-0.984149, 0.709467}, {0.597348, 0.413095}, - {0.139796, 1.022797}, {-1.032483, -0.315232}, {0.021779, -1.284263}, - {0.891663, -0.443996}, {-0.684480, -0.817773}, {0.401035, 0.351907}, - {0.217196, -0.252169}, {-1.349881, -0.517501}, {0.816430, -0.091990}, - {-0.502108, -0.698291}, {-0.086025, 0.915485}, {-0.682122, -0.322046}, - {0.706000, 0.763462}, {0.796854, 0.455243}, {1.366467, 1.196075}, - {0.417067, -0.256263}, {0.015371, 0.451181}, {-0.400583, 0.178607}, - {0.179912, -0.117066}, {0.597156, -0.688654}, {-0.661676, -0.820197}, - {0.085683, -0.217177}, {-0.706450, -1.381830}, {0.028548, 1.200703}, - {-0.920667, 0.289784}, {0.160350, -0.351146}, {-0.804724, -0.618602}, - {0.024888, 0.647150}, {-0.098113, 0.173361}, {0.697754, 0.291105}, - {-1.408036, 1.022388}, {0.469920, 0.445517}, {0.384059, 0.532228}, - {-0.151818, 0.944132}, {-0.090433, 0.327546}, {-0.879679, -1.070965}, - {-0.495967, 0.063480}, {-0.358409, -0.789978}, {-0.699352, -0.883109}, - {-1.947079, 0.913473}, {-0.641222, -0.030654}, {-1.419634, -0.263358}, - {-0.287427, 1.075618}, {1.041925, 0.333373}, {1.035917, -0.384391}, - {-0.742460, 0.756039}, {0.484778, 0.439710}, {-0.454690, -0.553386}, - {-0.860744, -0.035129}, {-0.063566, 0.489990}, {0.107992, 0.565035}, - {-0.016311, 0.236242}, {0.309996, 0.522161}, {0.839932, 1.127528}, - {0.213453, -1.064570}, {-0.716013, 0.561550}, {-0.277888, -0.545995}, - {-0.080229, -0.275056}, {-1.231363, -0.438038}, {-0.221378, 1.152323}, - {0.465562, -0.015422}, {-0.636983, -1.776097}, {0.994972, 1.153935}, - {-0.840363, -1.044283}, {-0.147775, -0.659287}, {-1.008426, 1.195206}, - {0.221680, 0.312210}, {0.391826, 0.267132}, {-0.300629, 0.352818}, - {1.088779, 0.848130}, {-0.087740, -1.562253}, {-0.636828, 0.356063}, - {0.255724, -0.928242}, {0.197228, -1.313775}, {-0.363243, -0.477933}, - {0.342319, 1.332603}, {-0.687342, -0.697300}, {0.588366, -0.220649}, - {0.718963, 1.534212}, {0.378261, -0.815048}, {0.008267, -0.048339}, - {-0.337132, -0.394747}, {-0.429718, -1.955695}, {0.422312, 0.648188}, - {-0.225384, -1.038982}, {-0.074649, -0.432788}, {1.197830, 0.224400}, - {0.179256, 0.174055}, {0.324657, -0.153234}, {-0.008755, -0.720614}, - {1.171336, 1.386902}, {-0.502534, 0.544987}, {-0.874559, -0.045977}, - {0.641911, 0.309244}, {-0.852252, -0.189481}, {0.905778, -0.240689}, - {0.805296, 0.190095}, {0.583950, 0.500505}, {0.927808, -0.289025}, - {-0.161069, -1.142641}, {-0.829648, -1.067679}, {0.160495, -0.177610}, - {-0.669901, 0.538416}, {-0.417880, -0.610111}, {-0.641121, 0.118270}, - {-0.307481, 0.182497}, {-0.098936, -0.300794}, {0.079945, -1.126696}, - {0.767377, -0.205567}, {-0.229164, -0.681283}, {-0.938784, 0.869544}, - {0.729480, -0.893640}, {0.318684, 0.291873}, {-0.063858, -1.269459}, - {-0.394907, 0.032640}, {0.041145, -0.695384}, {0.903121, -0.762764}, - {-0.236944, -1.403906}, {0.010014, -0.107070}, {-0.144645, 0.624289}, - {0.889531, -0.018986}, {0.956051, 1.297021}, {-0.096103, -0.738099}, - {-0.795984, -1.097452}, {-0.394740, 0.151985}, {0.109809, -0.515633}, - {1.331729, -1.680084}, {1.546974, 0.279037}, {-1.785160, -0.221012}, - {0.122575, -0.919889}, {-0.788030, 1.561325}, {-0.205935, 0.088416}, - {-0.265662, 0.431570}, {0.115537, 0.899615}, {0.471598, 0.669058}, - {-0.214156, 0.254611}, {0.970194, 1.044374}, {-0.486194, 0.026669}, - {0.232387, 0.010928}, {0.162715, 0.243238}, {-0.554603, 0.305242}, - {0.050873, 0.089235}, {0.866591, 0.431844}, {-0.137254, 0.419949}, - {-0.444023, -0.814751}, {0.405856, 0.278733}, {-0.006847, -0.084791}, - {0.661887, 0.366497}, {0.036938, -1.474893}, {0.074623, 0.527883}, - {-0.932561, -1.217377}, {-0.579955, -0.770222}, {0.496777, -0.398753}, - {0.415390, 0.029064}, {-0.368869, 0.318877}, {-0.083926, 0.115238}, - {-0.165148, 0.315531}, {-0.201764, -1.548454}, {-0.837318, -1.399309}, - {0.078016, -0.732903}, {-0.094333, -0.160290}, {0.732228, -1.029345}, - {0.690766, 0.425063}, {-0.896572, -0.514863}, {0.781318, -0.797095}, - {-0.121511, 0.255802}, {1.919578, -0.769384}, {-0.060926, 0.430455}, - {-0.409906, -0.249459}, {-0.460218, -0.783980}, {-0.191177, 0.609070}, - {1.020451, -0.427484}, {0.388170, -0.559406}, {0.583320, 0.030542}, - {-1.179019, 0.739794}, {1.513305, 0.344903}, {-1.082705, -0.638275}, - {-0.426897, 0.254435}, {-0.481466, 0.047423}, {0.330028, -0.364721}, - {0.571710, 0.131679}, {0.796521, -1.303731}, {-0.192941, -0.043661}, - {-0.182032, 1.445423}, {-0.370906, 0.132620}, {1.865372, -0.256694}, - {0.122110, -0.042592}, {-0.484049, 0.625328}, {0.498676, -0.447230}, - {-0.698297, -0.450146}, {0.197802, 0.388351}, {-0.270285, 0.053455}, - {0.113784, -0.200340}, {0.144229, 0.267333}, {0.085266, 1.105437}, - {-0.021050, 1.100430}, {1.668020, -1.591069}, {1.074784, -0.878131}, - {-0.687458, -1.410101}, {0.945055, 0.057837}, {-0.968993, -0.249526}, - {-0.095768, -0.004312}, {0.539684, -0.120041}, {-0.690336, -0.784441}, - {-0.070364, 0.818636}, {0.306879, -0.280708}, {-0.072888, 0.404632}, - {-1.158507, 1.076282}, {-1.311557, 0.016792}, {-1.276006, 0.450810}, - {0.052812, -0.238705}, {1.449476, -0.258773}, {-0.935995, -0.005463}, - {-0.355631, 0.492401}, {-0.612492, 0.524131}, {0.838550, 0.621703}, - {0.198766, -1.213802}, {0.114797, -0.883231}, {0.323205, -0.912574}, - {-0.492987, 0.031387}, {0.613420, -1.264507}, {-0.452913, -0.543444}, - {0.252574, 0.848988}, {0.177081, 1.145831}, {-0.172781, -0.088674}, - {-0.380519, -0.210205}, {-0.333186, -1.162848}, {0.424112, -0.009379}, - {-0.876016, 0.594356}, {0.191680, -0.347826}, {-0.001609, -0.647491}, - {-0.410415, -0.735499}, {-0.001733, -0.310524}, {-0.323841, 0.482596}, - {-0.242955, 0.027559}, {0.502454, 0.491188}, {0.014760, 0.136650}, - {0.969240, -0.064603}, {-0.230129, -0.410373}, {0.068982, 0.158729}, - {-0.264938, 1.121409}, {-0.330733, -1.289736}, {-0.310857, -0.416680}, - {-0.995101, 0.426949}, {0.044670, -0.644963}, {-0.370186, -0.419359}, - {-0.198722, 0.626537}, {0.250446, -0.321014}, {-0.199294, 0.428196}, - {0.287559, 0.661812}, {-0.819334, -0.182923}, {0.627230, 0.073635}, - {-0.254799, 0.086437}, {0.629778, -0.238849}, {-0.214531, -0.833867}, - {-0.370971, -1.340886}, {-0.838782, 0.085272}, {0.699287, 0.326143}, - {0.969557, 0.265905}, {0.224255, 1.026885}, {-0.705422, 0.039940}, - {2.677294, 0.824637}, {-0.872479, 0.726054}, {-0.356049, -0.644072}, - {1.247068, -0.283382}, {-0.052734, 0.460700}, {-0.219080, -0.773459}, - {-0.404964, 1.015079}, {-0.613011, -0.740705}, {-0.224677, 0.053237}, - {0.894221, 0.740370}, {1.156185, -0.712990}, {0.292658, -0.216708}, - {-0.066752, 1.055119}, {1.357077, 0.220257}, {0.460298, 0.433686}, - {-1.604282, 0.281681}, {0.013828, -0.330717}, {0.170076, -0.933305}, - {1.041761, -0.252779}, {-0.246114, -0.576060}, {1.480525, 0.007697}, - {0.441859, 0.826016}, {0.295619, -1.276915}, {0.915688, 0.319889}, - {0.022048, 0.222383}, {1.378602, -1.120309}, {-0.027128, 0.227251}, - {-0.029159, 0.234012}, {-1.232345, -1.709367}, {0.443828, 0.107305}, - {-0.853740, -1.028442}, {0.423166, -0.208449}, {0.437276, 0.123764}, - {-0.405086, -0.566809}, {-0.459850, -0.615080}, {0.015966, -0.560154}, - {-0.524545, 0.824488}, {0.590298, 1.680262}, {-0.074765, 1.037196}, - {1.410833, -0.872378}, {0.595534, -0.084257}, {0.283239, -0.652858}, - {-0.046879, -0.046124}, {-0.369435, 0.393944}, {1.852725, 0.076027}, - {-1.092554, -0.019375}, {-1.380574, -1.233999}, {0.377688, 0.527289}, - {-0.179858, 0.250972}, {0.411598, 0.469015}, {0.284770, -0.983034}, - {0.950896, -0.086210}, {0.315096, 0.753994}, {-0.153846, -0.582036}, - {-0.642368, -0.187750}, {0.048072, 0.639136}, {-0.556765, -1.105212}, - {0.180486, -0.178092}, {0.924552, -0.298329}, {-0.232289, -1.459794}, - {-0.210924, -0.352326}, {-0.743565, 0.331766}, {0.804067, -0.756999}, - {-1.120228, 1.402332}, {-0.563865, -0.766699}, {-1.241026, -0.016935}, - {-1.083249, 0.663982}, {-0.696610, 0.197940}, {0.240815, -1.001368}, - {0.338313, -1.016316}, {-0.333358, -0.619444}, {0.114418, -0.274406}, - {-0.048887, 0.026654}, {0.319559, -0.940490}, {-0.772192, -0.627506}, - {0.732077, 0.628962}, {-0.517531, -0.461387}, {0.366764, -0.719179}, - {0.537746, 0.869680}, {0.349716, -0.212016}, {-1.339703, 0.494797}, - {-0.261270, 0.480154}, {-1.071839, -2.066688}, {-0.370999, -0.038925}, - {-0.747227, 0.085586}, {-0.942602, -0.057338}, {-0.072358, 1.097723}, - {-0.205848, -1.136328}, {0.597227, 0.197329}, {0.676518, 0.381645}, - {-0.874854, -0.479414}, {-1.999738, -0.565455}, {-0.664048, -0.574682}, - {0.186569, 0.411274}, {-0.110267, -0.357864}, {0.302705, -1.743357}, - {-0.319344, -0.476152}, {-0.640334, -0.720226}, {-0.910033, -0.422789}, - {-0.208408, 0.548207}, {-0.964300, 0.002179}, {0.824444, 0.424217}, - {-1.032269, -0.762202}, {0.105175, 0.447058}, {-0.012006, 0.049305}, - {-0.937920, 0.289750}, {-1.253273, 0.757789}, {-0.762061, 0.328438}, - {-0.241415, 1.027135}, {0.243270, 0.013979}, {-1.109143, -0.208914}, - {0.090512, -0.386316}, {1.503883, 0.622403}, {0.175205, 1.011719}, - {0.386237, -0.727356}, {1.030490, -0.207293}, {-0.934681, -0.637268}, - {0.390874, 0.381332}, {0.183902, 1.098244}, {-0.785477, 1.103963}, - {0.665390, 0.256809}, {0.263688, -0.503673}, {-0.166081, -0.926605}, - {-0.557337, 0.532023}, {-0.195427, 1.271505}, {-0.474249, 0.447195}, - {0.443875, 1.233854}, {-0.269777, -0.979940}, {-0.022060, 0.544843}, - {0.313713, -0.853284}, {-0.096390, 2.008847}, {0.439922, -0.335096}, - {0.896690, -0.588963}, {-0.844743, 0.183750}, {0.781349, -0.755606}, - {-0.765362, 0.170504}, {-1.628206, -0.216829}, {0.500102, -0.059625}, - {-0.304791, 0.107158}, {0.557697, -0.477804}, {0.583642, 0.627863}, - {-0.121640, -0.409209}, {-1.120829, -1.076884}, {-0.536931, 0.178972}, - {-0.417448, -0.458302}, {0.718477, -1.059868}, {0.610038, -0.423881}, - {0.999029, -0.368049}, {-0.197010, 0.618818}, {-0.092802, 0.280660}, - {-0.884475, 0.746423}, {-0.218251, 0.164965}, {-0.421409, 0.312894}, - {-0.658414, 0.399046}, {0.745212, -0.200538}, {0.941667, -0.785267}, - {0.521849, 0.859422}, {-0.473471, 0.762251}, {0.397426, -0.176657}, - {-0.323150, 0.760653}, {-0.998414, 1.716395}, {0.740360, -0.938944}, - {0.023348, 1.116443}, {1.069598, -0.382364}, {-1.043662, 0.236812}, - {-0.382172, -0.980040}, {-0.349019, 0.364638}, {-0.298100, -1.107602}, - {0.456000, 0.116486}, {0.877536, 0.868085}, {0.048209, -1.069550}, - {0.661781, -1.278720}, {0.359336, 0.813250}, {-0.123966, -0.468063}, - {0.430191, 0.023114}, {-0.135566, -0.319366}, {0.968871, -0.115512}, - {-0.394328, -0.170491}, {-0.009694, -1.061476}, {0.046248, -0.139918}, - {0.368727, 0.177700}, {0.414373, -0.767674}, {0.759806, 0.895111}, - {-1.039452, -0.596694}, {0.098206, 0.950569}, {-1.174535, -0.768597}, - {0.623601, -0.766489}, {1.209239, -0.052878}, {-0.452015, -0.009341}, - {0.690382, 0.542857}, {-0.108723, 0.123140}, {-0.529691, 0.324165}, - {1.478203, -0.911289}, {1.068649, -0.374113}, {0.299869, 0.396780}, - {0.430316, 0.155351}, {0.013919, -0.121839}, {0.039700, 0.017585}, - {-0.571082, -0.704321}, {-0.736133, 1.469112}, {0.703268, -0.091642}, - {0.386893, 0.603817}, {0.172514, -0.849675}, {0.607745, 0.054904}, - {0.271231, -0.590061}, {0.913552, -0.116009}, {-1.138750, 0.486391}, - {-0.076353, -0.638643}, {-0.498974, 0.588957}, {-0.246757, -1.191164}, - {-0.997522, 0.317823}, {-0.041872, 0.542933}, {1.096147, 0.311412}, - {-0.397941, -0.073418}, {-0.674415, -0.476303}, {0.129485, -0.144863}, - {-0.320564, -0.468116}, {-0.409642, -0.561575}, {0.221420, -0.215094}, - {-0.958367, 0.609774}, {-0.465613, 0.040251}, {0.382094, -1.384503}, - {0.918899, 0.048990}, {-0.078886, 0.735926}, {-0.090336, -0.471819}, - {-0.263712, -0.599983}, {0.620502, -0.130819}, {-0.335282, 0.318506}, - {0.052591, 0.963759}, {-0.671888, 0.668188}, {-0.372171, -0.042465}, - {0.471828, -0.469881}, {-0.393130, -1.355191}, {0.245535, -0.797273}, - {-0.293227, -0.997773}, {-0.191794, -0.927120}, {0.484915, -1.363790}, - {0.318464, 0.435871}, {-0.854547, -0.351262}, {-0.218097, -0.360717}, - {0.263629, -0.076017}, {-0.414797, 0.096633}, {0.897394, -0.109831}, - {0.962227, -0.804732}, {0.151329, 1.627499}, {0.990435, 0.235665}, - {0.290903, 0.311037}, {0.160010, -0.053403}, {-0.069998, 0.302710}, - {0.084036, 0.853274}, {0.560929, -0.560850}, {-0.106112, 0.314448}, - {-0.421578, -0.268470}, {-0.785387, -0.750187}, {-1.189174, -0.084856}, - {0.466530, 0.976102}, {0.880929, -0.457008}, {-0.729195, -0.675082}, - {0.104374, -0.633442}, {0.757444, -0.949991}, {0.008917, 0.692426}, - {-0.338838, 0.532756}, {0.794670, 0.717730}, {-0.709404, 1.043684}, - {0.579162, 0.487640}, {-0.404886, 0.060629}, {1.349450, -0.355399}, - {0.770612, -1.464736}, {0.347219, 0.274775}, {0.354646, -0.020434}, - {0.465359, -0.985538}, {0.385781, 1.068191}, {-0.106262, 1.103081}, - {-0.599815, -0.997276}, {-0.492767, -0.081408}, {-0.245567, 0.057807}, - {0.120883, 0.308476}, {-1.143013, -0.054048}, {0.398061, 0.717026}, - {-0.600222, 0.456605}, {-0.984594, -0.328664}, {0.330060, 0.028399}, - {0.273902, -1.559059}, {0.491818, 0.871726}, {-0.827789, -0.540048}, - {0.065844, 0.068222}, {-0.808401, 1.160869}, {-1.274150, -0.355051}, - {0.561683, 0.271525}, {-0.413291, -0.224445}, {-0.344482, -0.270754}, - {-0.669051, 0.246237}, {-0.049024, -0.250489}, {0.977734, -0.366526}, - {-0.742840, 0.329251}, {-0.793661, -0.540377}, {-0.164454, -0.041182}, - {0.796305, -0.095571}, {-0.168732, 0.018351}, {-0.010513, 1.211849}, - {-0.994831, -0.709750}, {-1.282949, 0.285938}, {0.864976, 0.026893}, - {-0.160674, -0.991054}, {0.235256, 0.436919}, {1.212801, -0.909780}, - {0.529844, 0.976362}, {0.946160, -0.680521}, {0.094877, 0.672648}, - {-0.675454, -0.322118}, {0.305372, -0.550007}, {0.912401, 1.035879}, - {1.131467, -0.138706}, {-0.253731, -0.964860}, {0.051329, -1.529624}, - {-0.113924, 0.173806}, {0.884102, 0.159153}, {-0.227632, 0.877234}, - {1.010051, -1.543880}, {0.809937, -0.173659}, {0.332144, -0.243052}, - {-0.906095, 0.676593}, {0.073033, -1.548259}, {0.458666, 0.050823}, - {-0.289121, 1.068049}, {-0.383643, 0.011142}, {0.134420, 0.076707}, - {0.466514, -0.043312}, {0.438283, -1.522376}, {0.163508, -0.193750}, - {0.487026, 0.542501}, {-0.200524, 0.459230}, {0.262819, 1.505884}, - {0.653087, -0.201042}, {0.233565, -0.547870}, {-1.017089, 0.878535}, - {0.228269, -0.679254}, {1.248531, -0.791408}, {0.439579, 1.697946}, - {0.592039, -0.339903}, {-0.109908, 0.453321}, {-1.115247, 0.010700}, - {-0.164818, 1.131623}, {2.025510, -0.505251}, {-0.309346, -1.373256}, - {0.537120, -0.360283}, {-0.104894, 0.296882}, {0.024801, 0.978248}, - {-0.937777, -1.070944}, {-0.198826, -0.783295}, {-1.127480, -0.610347}, - {0.298001, 0.024948}, {0.145368, 0.794536}, {0.612907, -0.059654}, - {0.782929, -0.048403}, {-0.435378, -1.436197}, {0.169811, 0.516786}, - {-0.116510, 0.319035}, {0.538300, 0.841565}, {-0.155311, 0.492565}, - {0.620200, 0.730660}, {-0.015916, 0.419497}, {0.164181, -1.630272}, - {0.824648, 0.320043}, {-1.560239, 0.572704}, {-0.252823, 0.296962}, - {-0.746081, 0.958339}, {0.082239, -1.217646}, {-0.567736, 0.000241}, - {0.427482, 0.476159}, {-0.459043, 1.161889}, {0.254120, -0.488463}, - {-0.023313, -0.723543}, {-0.293002, -0.169112}, {0.089490, -0.261529}, - {0.247961, 0.791363}, {-1.110516, -0.166830}, {0.983670, -1.198302}, - {0.519375, -0.785171}, {-0.619925, 0.150262}, {0.569926, 0.149914}, - {0.719057, -0.514677}, {0.458531, -0.475477}, {0.571393, 1.036797}, - {-0.827266, -1.069063}, {-0.208821, 0.601468}, {0.601543, -0.246378}, - {-0.545977, -0.481944}, {-0.142618, -0.493885}, {0.104624, -0.885512}, - {-0.806208, -1.172703}, {-0.327891, -0.764616}, {-0.111412, 0.778570}, - {-0.025417, -0.823612}, {-0.064253, 0.146300}, {0.897841, 0.233453}, - {0.170462, -0.208221}, {0.469815, 0.534622}, {0.464492, 0.082733}, - {0.852167, -0.277563}, {0.042076, -0.252323}, {-0.639666, -0.218750}, - {0.344882, -0.710013}, {-0.897684, 0.020080}, {0.969355, -0.131562}, - {-1.412936, 0.152039}, {0.762647, -1.063394}, {-0.706248, -0.458628}, - {-0.193334, 0.251486}, {-0.278574, -0.609158}, {-0.000444, 0.167283}, - {-0.191255, -0.598270}, {0.113407, 0.082497}, {1.361065, 0.155568}, - {-0.171486, 0.161889}, {1.639261, -0.316890}, {-0.129987, -0.110577}, - {-0.802764, 1.330457}, {-0.147106, 0.095728}, {0.820872, 1.110744}, - {-0.391447, 0.136340}, {0.927357, 0.908692}, {1.225880, -0.741652}, - {0.166896, -2.018048}, {-0.072197, -0.734190}, {-0.188537, 0.562295}, - {-0.419001, 0.597966}, {1.012061, -0.032231}, {-1.265661, -0.098692}, - {-0.363672, 0.493087}, {-1.277901, 0.568014}, {0.094125, 0.641038}, - {0.366210, -0.871913}, {-0.406243, 1.248265}, {-0.265139, 0.291993}, - {-0.711300, -0.517739}, {0.551969, 0.211300}, {0.863097, 0.620748}, - {-0.791252, 0.292823}, {-0.859584, -0.514999}, {-0.222594, 0.242104}, - {-0.529240, 1.091900}, {0.056589, -0.206772}, {-0.206678, 0.117667}, - {-0.372107, 0.346623}, {0.197375, 0.175770}, {0.109383, -0.285298}, - {-0.128606, -0.575351}, {-1.350885, -0.629351}, {-0.549311, -0.890107}, - {-0.052058, -0.399744}, {0.117226, -0.822548}, {-0.522921, -0.747784}, - {0.696853, 0.225147}, {1.404505, 0.031853}, {-0.199716, 0.923465}, - {-0.366027, -0.965298}, {0.254400, 0.565191}, {0.720813, -0.011776}, - {0.048742, 0.485636}, {0.463885, -0.445094}, {-0.354658, -0.258331}, - {-0.512308, 0.875492}, {0.109512, -0.704183}, {-0.359123, -0.222049}, - {2.094077, -0.596104}, {0.099119, 0.151596}, {1.272189, -0.870022}, - {-1.203661, 0.080126}, {-0.402370, -0.038618}, {-1.465566, 0.187786}, - {-0.188615, -0.551253}, {-0.144342, -0.651031}, {0.466536, -0.902577}, - {0.442013, -0.756855}, {0.651331, 0.059349}, {-0.580323, -0.556246}, - {1.443369, 0.532876}, {-0.410520, 0.142482}, {-0.638481, -1.620247}, - {1.107948, 0.449859}, {-0.053538, 0.595051}, {-0.660756, 0.271631}, - {-0.110972, 0.102598}, {-0.853215, 0.693121}, {-0.815886, 0.697183}, - {0.444707, 0.103685}, {-0.147454, 1.248558}, {-0.304216, 0.147728}, - {-0.380406, 0.389584}, {0.869539, -0.442373}, {0.367415, 0.370479}, - {-0.860426, 0.294945}, {-0.310280, -0.101136}, {-0.724660, -0.542268}, - {0.084686, -0.384017}, {0.620385, -0.343553}, {0.193432, -0.835223}, - {0.342748, 0.073244}, {-0.208107, 0.866350}, {-0.433622, -0.098584}, - {-1.050180, 0.800354}, {1.140817, -0.095778}, {0.074059, 0.720540}, - {0.324579, -0.250899}, {0.908664, -0.424491}, {-0.349658, 0.492219}, - {-0.416368, -0.443491}, {-0.093378, 0.249512}, {-1.388730, 0.610637}, - {0.516564, -1.098854}, {-0.860684, 0.484278}, {-0.183881, -0.463325}, - {-0.461003, -0.667445}, {0.768848, 0.198854}, {0.229416, -1.256209}, - {0.480655, -0.403404}, {0.479239, -0.007571}, {-1.318306, 0.738942}, - {1.469443, -0.959983}, {0.253482, 0.333056}, {0.017190, 1.742204}, - {-0.519932, 0.898752}, {-0.452267, -0.316200}, {0.022717, 1.692417}, - {0.796237, -0.765617}, {-0.812041, -0.198540}, {0.884469, -0.078862}, - {0.030191, -0.787176}, {1.126078, -0.516637}, {-1.102333, 0.446474}, - {0.446080, -0.315343}, {-0.062631, -0.265291}, {-0.853606, -0.044797}, - {1.077386, -0.224226}, {-0.147136, -0.399345}, {0.166629, -0.401479}, - {0.257271, 0.174285}, {-0.244527, -0.825127}, {-0.798872, 0.420259}, - {0.491059, 0.151109}, {-1.041543, -1.289491}, {-0.331789, -1.527598}, - {-0.083175, 0.394579}, {-0.323992, 0.766890}, {0.902158, 0.010174}, - {1.662799, -0.272640}, {-0.497409, -0.677542}, {-0.849235, 0.346076}, - {0.747101, 0.412698}, {1.611062, 0.866991}, {0.163223, -0.262013}, - {0.741905, 0.535948}, {-0.239992, 0.315095}, {1.073907, 0.578535}, - {-0.344179, 0.817836}, {-0.620181, -0.707425}, {0.834661, 0.312322}, - {-1.019361, -0.609310}, {1.785614, -0.162301}, {0.529534, 0.672965}, - {0.486672, 0.153629}, {-0.288024, -0.719498}, {0.413983, 0.270909}, - {1.374466, 0.087559}, {0.163283, 0.494934}, {-0.234819, 0.954579}, - {0.012206, -0.678054}, {1.572847, -1.076632}, {-0.599282, -0.633372}, - {1.095665, -0.655620}, {-0.684687, -0.201969}, {-0.549440, 0.045874}, - {0.322676, 0.581203}, {0.148109, 0.304196}, {-0.253076, 0.734066}, - {-0.251967, 0.042417}, {0.045715, -0.031266}, {1.116937, 1.123835}, - {0.483493, 0.290907}, {0.068072, 0.333893}, {-0.429817, -0.931647}, - {-0.480528, -0.164660}, {-0.775073, 0.535179}, {-0.275572, -0.740592}, - {0.448695, -0.532992}, {0.393924, -0.730806}, {-0.932048, -1.011165}, - {-0.001888, 0.395913}, {-0.030311, 0.267041}, {0.251709, -0.163471}, - {0.758127, 1.170676}, {-0.971904, 0.719459}, {-0.677315, 1.283372}, - {0.015133, 0.474236}, {0.250784, 0.239230}, {-0.284132, 0.714203}, - {0.344950, 0.419915}, {1.583594, -0.064074}, {0.576677, 0.349100}, - {0.125629, 0.022908}, {0.377394, -0.234506}, {-0.563284, -0.715614}, - {0.101048, -0.920563}, {0.608430, 0.161613}, {-0.928742, -0.992338}, - {-0.294843, -0.399957}, {-0.365761, 0.504701}, {0.306154, 0.060709}, - {0.715237, 0.113832}, {-0.231447, -0.747493}, {-0.137875, 0.022192}, - {0.270512, -0.373718}, {-0.284239, -0.283799}, {0.279434, 0.240517}, - {0.968853, -1.661595}, {0.795511, 0.040827}, {0.756925, -0.008006}, - {0.410158, 0.188364}, {0.212647, 0.160361}, {-0.274239, 0.135422}, - {-0.748007, 0.121514}, {1.889864, -0.426021}, {-1.118363, 0.603299}, - {-1.079087, 0.214901}, {0.881102, 0.533797}, {0.977096, 0.271883}, - {-0.593182, -0.608447}, {-0.831317, -0.259562}, {-1.046078, -0.378692}, - {-0.521179, 1.064548}, {0.310178, -0.242294}, {-0.276422, -0.319965}, - {-0.581592, -1.175487}, {0.078785, 0.414402}, {0.384824, -0.029560}, - {0.350595, -0.015079}, {-0.505694, 0.346891}, {-0.244162, -0.431912}, - {0.179140, 0.408671}, {-1.683719, -0.175195}, {-0.439600, -0.848327}, - {0.214818, -0.535441}, {0.799181, 1.313585}, {-0.476475, 1.275140}, - {-0.281987, -0.003127}, {-0.659120, 0.672635}, {-0.061892, -0.705050}, - {-1.224782, 0.446358}, {0.016139, 0.676888}, {0.102488, 0.468285}, - {0.270256, 1.292447}, {-0.872090, 0.046884}, {0.843556, -0.407998}, - {1.131680, -0.756558}, {0.414796, -1.380356}, {-0.696230, -1.001295}, - {-0.356978, 0.947810}, {0.203772, -1.057518}, {-0.328018, 0.786771}, - {0.943286, 1.338451}, {-1.157899, -0.594093}, {0.126929, 1.437347}, - {1.125664, -0.410598}, {1.476748, -0.336433}, {0.391183, 0.754958}, - {-0.538390, 1.039711}, {0.539183, 0.253245}, {-0.738926, -1.328143}, - {0.843172, -0.517204}, {-1.094296, 0.432451}, {-0.207836, 0.579061}, - {-0.780287, -0.213072}, {0.251006, -0.069137}, {0.847453, 0.521498}, - {-0.110487, -0.550587}, {1.366744, 0.051771}, {0.111898, -0.116679}, - {0.457595, 0.211260}, {-0.224542, -0.247515}, {-0.075318, -0.913189}, - {0.413131, 0.636904}, {0.442816, -0.725927}, {-0.269415, -1.101203}, - {1.238631, -0.048564}, {-0.867622, -0.029135}, {-1.272665, -0.426738}, - {-0.358993, 1.214374}, {0.223994, 0.430413}, {-0.069366, -0.065533}, - {-1.151986, -0.046081}, {-0.034817, -0.587513}, {0.820362, -0.805810}, - {-0.002677, -0.479108}, {-0.501825, -0.402321}, {0.479133, 0.520280}, - {-0.023935, 0.157521}, {-0.805270, -0.213889}, {-0.652714, -1.133157}, - {0.141114, 0.750052}, {-0.870557, 0.131878}, {-0.537313, 0.243984}, - {0.270492, 1.388730}, {0.351691, -1.026747}, {0.265859, -0.073035}, - {0.876907, 0.008793}, {-0.015669, 0.222651}, {-0.458046, -0.172892}, - {0.480864, -0.236468}, {-0.304051, 0.883748}, {1.386217, 0.196728}, - {-0.448091, 0.725679}, {0.279281, 1.432388}, {-1.090792, -0.202419}, - {0.531809, -0.405696}, {-0.038049, 0.323853}, {-0.027231, -0.016436}, - {-0.716140, -0.504110}, {0.323352, -0.270107}, {-0.253368, -1.019154}, - {-0.779463, -0.217103}, {-0.579380, -0.994819}, {1.349996, 0.012975}, - {0.343522, -0.422818}, {0.277107, -1.468269}, {1.635924, -0.133051}, - {-0.184484, 0.613490}, {0.452174, 1.169168}, {-0.116411, 0.804015}, - {-0.040472, 0.200894}, {-0.451595, 0.380316}, {-0.018660, -0.980569}, - {1.037949, 1.233064}, {1.095728, 0.983920}, {0.472751, -0.243982}, - {0.234380, 0.303549}, {-0.706062, 1.365919}, {-1.056416, -0.147830}, - {0.003918, 0.621718}, {-0.866214, -0.038261}, {0.019575, -0.379413}, - {0.205000, 0.142153}, {-0.272811, 0.136060}, {-1.150797, -1.754010}, - {0.777102, 0.334033}, {0.144743, 0.082452}, {0.409845, 1.246999}, - {-0.848828, -0.844270}, {0.336356, 1.069431}, {-0.261880, 0.472035}, - {-0.274440, -0.250428}, {0.096055, 1.333042}, {-1.150019, -0.005824}, - {-0.345565, 1.491009}, {0.434845, 0.644814}, {-0.995453, 0.103214}, - {-0.248426, -0.545754}, {0.087275, 1.536388}, {-1.950359, 0.672084}, - {0.687779, 0.938171}, {0.592318, -0.358229}, {0.719642, -0.071983}, - {-0.080845, 0.708763}, {0.136255, -1.235083}, {-0.251003, -0.912274}, - {-0.884002, -0.310324}, {0.031525, 0.320763}, {0.556086, -0.250977}, - {0.090584, 0.172983}, {-0.360676, 0.948733}, {-0.090851, 0.465571}, - {-0.059321, 0.271202}, {0.377821, 0.928997}, {-2.122083, -0.662680}, - {0.606876, -0.740523}, {0.304647, -1.075289}, {0.104366, 0.294334}, - {-0.618571, -1.125453}, {0.347400, -0.197963}, {0.740467, -0.980580}, - {0.567211, 0.587097}, {-0.009102, 0.368841}, {0.365819, 1.246754}, - {0.408926, -0.573655}, {0.629943, 0.031990}, {-0.888191, -1.455036}, - {-0.192010, -1.721713}, {-0.525795, -0.883365}, {-0.688342, -0.233976}, - {-1.231810, 0.919714}, {-0.171857, 0.047815}, {0.829192, 0.498064}, - {-0.164813, 0.833731}, {-0.835674, 1.420757}, {0.117641, 0.408307}, - {0.061907, -0.340905}, {0.328647, 0.483077}, {-0.334550, -0.634442}, - {-1.143177, 0.176319}, {0.945986, -0.429932}, {0.962872, -0.156957}, - {0.316408, -0.309555}, {-0.071834, 0.467993}, {0.374919, 0.531204}, - {-0.061652, -0.441122}, {0.296652, -0.735807}, {0.635521, 0.547129}, - {-0.820187, -0.119987}, {-0.256993, -0.874678}, {-1.176903, 0.375631}, - {-0.389114, 1.458620}, {-1.499695, 1.086553}, {0.662846, -0.346478}, - {1.134804, 0.260529}, {-0.353432, 0.041867}, {0.599759, -0.706760}, - {0.233411, -0.191501}, {0.069271, -0.371072}, {-0.299719, -0.158599}, - {0.156862, 0.287897}, {0.044521, -1.565973}, {0.647652, -0.050318}, - {-0.625813, 0.313538}, {-0.305193, 0.707469}, {-0.889292, -0.615903}, - {0.108968, 0.323345}, {0.891658, 0.530089}, {-0.619121, 0.542110}, - {-0.173821, -0.076271}, {-0.066656, -0.380613}, {1.201157, -0.868830}, - {-0.269634, -0.547771}, {-0.166608, 0.337899}, {-0.580004, 0.028538}, - {-0.178471, 0.256375}, {0.479790, -0.353481}, {-0.141978, -0.140536}, - {0.573456, -1.096426}, {-1.407537, 0.376742}, {-0.000291, -0.159343}, - {0.566129, 1.021878}, {0.592375, 0.213044}, {-1.093385, -0.195052}, - {-1.227213, -0.283957}, {-1.107600, -0.512341}, {0.405843, -0.034674}, - {-0.628223, -1.573836}, {-0.424388, -1.127573}, {1.352502, 0.703620}, - {0.260965, 0.940215}, {0.564688, -0.617820}, {0.627958, -1.090734}, - {-0.519309, -0.170822}, {-0.018574, 0.160240}, {0.581393, 0.735974}, - {-1.723723, -0.001348}, {0.426947, 0.152603}, {1.732577, -0.140408}, - {0.733090, -1.014674}, {0.548625, -0.606929}, {-0.104524, -0.976971}, - {0.002059, 0.365576}, {-0.437915, -0.973652}, {0.409557, -0.489978}, - {-0.000720, 0.508669}, {0.256095, -1.595859}, {0.287175, 0.564402}, - {0.876617, -1.300599}, {-0.980624, 0.538104}, {-0.197058, -0.835753}, - {0.293510, 1.023684}, {-1.124246, -0.346680}, {1.728107, 0.223808}, - {0.608823, 0.314713}, {-0.678436, -0.934938}, {0.467041, -0.286489}, - {0.304061, 0.659360}, {0.433362, -0.114714}, {0.470833, 0.482791}, - {0.136415, 0.001946}, {-0.192213, 1.062735}, {1.160425, 1.197857}, - {0.570082, -0.708591}, {-0.674925, -0.979498}, {0.258815, -0.140179}, - {0.765330, 0.060888}, {-1.138194, -0.547729}, {-0.342221, -0.331377}, - {0.487680, -0.431774}, {0.195766, -0.563726}, {-0.515654, -2.231175}, - {-0.514830, 1.422505}, {-0.818513, 0.454493}, {0.380391, 0.182849}, - {-0.069606, 1.071475}, {-1.175893, 0.278782}, {-1.024879, -0.018088}, - {0.047685, -0.767415}, {-0.451445, 0.575550}, {0.806845, -0.635450}, - {0.137154, 0.051450}, {0.484762, 0.473028}, {1.476065, -0.375153}, - {0.038745, 0.227390}, {1.613348, -0.285214}, {0.027663, -0.441607}, - {0.327132, 0.393034}, {0.097041, 1.118078}, {-1.373910, -0.535039}, - {-0.830631, 0.886098}, {0.712699, 0.117282}, {-0.435669, 0.900266}, - {-0.230984, 0.260017}, {-1.134322, 0.277879}, {1.217344, 0.070220}, - {-0.322548, 0.229832}, {-0.912984, 1.081382}, {0.945157, -0.653585}, - {0.109940, -0.208093}, {-0.750971, -0.827736}, {0.077654, -0.623765}, - {1.218827, -0.344685}, {-0.313002, 0.296601}, {0.400554, 0.568839}, - {0.304519, -0.601576}, {0.373664, 1.261417}, {0.019345, 0.795808}, - {-0.078023, -0.626856}, {0.116647, 0.074558}, {0.563238, -0.563330}, - {-2.463399, 0.442332}, {-0.109267, 0.048086}, {0.519121, 0.180174}, - {0.193848, -0.161425}, {-0.042920, 0.296486}, {0.073707, -1.348922}, - {0.617742, -0.148470}, {0.261979, -0.030175}, {1.197662, -1.031986}, - {-0.180963, 0.326171}, {-0.182722, 0.138127}, {0.333006, -0.298385}, - {0.118052, 0.145749}, {-0.378857, -0.353684}, {-0.874132, -0.138412}, - {1.049590, -0.258466}, {-0.227425, 0.931924}, {0.060564, 0.378351}, - {0.371015, -0.349550}, {-0.143444, -0.217476}, {-0.247485, -0.046193}, - {-0.765423, 0.386454}, {0.075810, 0.747783}, {-0.562521, -0.075906}, - {0.409856, -0.469514}, {-0.135998, -0.492786}, {0.986502, -0.462649}, - {-0.068894, 0.801619}, {-0.162736, 0.525729}, {-0.453916, 0.283674}, - {-0.123426, -1.358265}, {1.200608, -0.396901}, {0.577734, -0.019945}, - {-0.436619, 0.346352}, {0.830315, 0.899719}, {-0.064963, 1.026769}, - {-0.019483, -1.140266}, {-0.248584, 0.297740}, {-0.203858, 0.942282}, - {-0.081061, -0.362369}, {0.963064, 0.245140}, {-0.061346, 0.970336}, - {-1.223766, -1.442024}, {-0.659296, -0.305137}, {-0.168098, 0.526909}, - {0.244864, 0.201375}, {-1.037356, -0.409374}, {-0.342768, 0.074298}, - {-0.126356, 0.583275}, {0.700812, 0.148717}, {1.123453, -0.594402}, - {-0.880209, -0.000771}, {0.508231, 0.583812}, {0.461500, -1.305179}, - {-0.352762, -0.342643}, {0.026590, 1.641167}, {0.172356, -0.551779}, - {0.624259, 1.319173}, {-0.343181, 0.521502}, {-0.377493, 0.564330}, - {0.463338, 0.107471}, {-1.020304, 0.501309}, {1.214700, -0.385908}, - {0.246930, 0.896288}, {-1.150099, 0.525414}, {0.598091, -0.621490}, - {-0.551424, 0.044236}, {0.503002, 0.175473}, {-0.326038, 0.203589}, - {0.000174, -0.755465}, {-0.076286, 0.193240}, {0.751071, -0.851721}, - {-1.638472, -0.078066}, {0.277348, 0.196780}, {0.017669, -0.946993}, - {-0.808836, 0.460763}, {0.389572, -0.585954}, {-0.536593, -0.448112}, - {0.668181, -0.374583}, {-0.103420, -0.222061}, {0.033553, 0.915602}, - {-0.727955, -0.942821}, {0.227992, -0.544748}, {0.215369, 0.016803}, - {-0.331175, -0.358666}, {-0.369147, -1.683768}, {0.287561, 1.754403}, - {0.730502, 1.075420}, {0.098139, 0.193287}, {-0.220536, -0.547638}, - {-0.708086, 0.229183}, {-0.066645, 0.221207}, {-0.544498, 0.224689}, - {0.909845, 0.066686}, {-0.417147, -1.561040}, {-0.588530, -0.271389}, - {0.765381, 0.630382}, {-1.536043, 0.954170}, {-0.007504, -0.251426}, - {0.320371, -0.415162}, {-1.079865, -0.015651}, {1.246319, -0.288800}, - {1.664357, 0.873397}, {1.274888, -0.286462}, {0.089238, 0.521546}, - {-0.850328, -0.204610}, {-1.344064, -0.175840}, {1.059629, 0.597417}, - {1.396640, -0.558153}, {-1.299523, -0.700533}, {-0.303029, -0.016323}, - {-0.571055, -0.101430}, {0.240632, -0.156008}, {-0.210472, -0.676508}, - {-0.377210, -0.257232}, {-0.458563, 0.394798}, {-1.298114, 0.535994}, - {0.348716, 1.486169}, {-0.551518, 0.095552}, {-0.454461, 0.613793}, - {0.589896, 0.608956}, {0.024315, -0.615423}, {0.108640, 0.657051}, - {0.277486, 0.095590}, {0.112263, 0.590235}, {-1.676875, 0.295265}, - {-0.641851, 0.429911}, {0.112035, -0.999186}, {0.407359, 1.310697}, - {0.123607, -0.285048}, {-0.584768, 0.856268}, {0.365845, -1.606895}, - {0.118025, 0.980790}, {0.976487, -0.548793}, {-0.608533, 0.177190}, - {-0.254552, 0.490015}, {-0.764686, -0.476040}, {0.339780, 0.307140}, - {1.071418, -0.394981}, {0.343840, -0.138409}, {0.050959, 0.206412}, - {-0.132190, 1.024308}, {-0.531174, -0.997495}, {0.107836, 0.197144}, - {0.006508, 0.051268}, {-1.180682, -0.078210}, {-0.301054, 0.221919}, - {-0.198790, -2.154487}, {1.281974, -0.406055}, {0.248667, 0.220739}, - {-0.151733, 0.572224}, {-0.887702, -0.282886}, {-0.035221, 0.961347}, - {-1.071469, 0.514402}, {-1.341250, 0.603023}, {-0.080709, 0.493279}, - {0.437681, -0.565973}, {0.221259, 1.582183}, {-0.409386, 0.729511}, - {0.982076, -0.071098}, {-1.001791, -0.519130}, {-0.121082, -0.007075}, - {-0.339436, 1.234458}, {1.513595, 0.969100}, {-0.583819, 0.253911}, - {0.177078, -0.732721}, {1.010067, 0.995855}, {-1.355505, 0.888006}, - {-0.332757, 0.204762}, {0.021403, 1.025592}, {-1.217885, 0.139156}, - {0.889080, 0.092179}, {-1.102149, 0.293526}, {0.435463, -0.449178}, - {0.080275, 0.169176}, {-0.709930, -1.149043}, {0.196490, -0.626610}, - {0.000069, -0.943691}, {0.223655, 0.039723}, {-0.560770, -0.882470}, - {-0.807256, 0.094114}, {-0.058225, -0.349692}, {-0.500905, -1.096078}, - {-0.962775, 0.327158}, {0.282785, -0.401214}, {0.361234, -0.934402}, - {0.576734, -0.359076}, {-1.413799, 0.265539}, {-1.117609, -0.837082}, - {0.180753, -0.472530}, {-0.120835, -0.959192}, {-0.157811, 0.176422}, - {-0.850684, 0.325782}, {0.828223, 0.792925}, {0.054204, 0.579626}, - {-1.121286, -0.414842}, {-0.113676, 0.001080}, {0.642904, 0.453393}, - {-1.026285, 0.939691}, {0.521202, 0.352828}, {0.456312, -0.206836}, - {0.058434, -0.053600}, {0.115901, 0.497408}, {1.204157, -0.447713}, - {0.345992, -0.395337}, {0.164925, 1.328079}, {0.069910, 0.657455}, - {0.884794, 0.478670}, {0.805589, 0.626931}, {-0.169274, -0.328030}, - {-0.535077, 0.102330}, {-0.946526, 0.154656}, {0.358642, -1.362812}, - {-0.676983, -0.652080}, {0.992864, -0.004017}, {-0.410549, 0.342659}, - {-1.235267, 0.713491}, {-0.398621, 0.103696}, {-0.820035, 0.801927}, - {1.200059, 0.099361}, {0.165502, 0.725726}, {-0.591579, 0.903920}, - {-0.843723, 0.547834}, {0.773809, 0.403580}, {-0.110340, -0.128695}, - {-0.642852, 0.256573}, {0.020826, -0.020841}, {-2.163248, 0.136883}, - {-0.964862, 0.387295}, {0.687709, 0.453517}, {-0.112839, -0.567023}, - {-0.409633, 0.580404}, {-0.395668, 1.251119}, {0.347308, -0.652184}, - {1.734678, -0.822788}, {0.601811, -0.259379}, {0.378296, -0.866471}, - {0.498403, -0.656762}, {0.504824, 0.489810}, {0.639843, 0.108016}, - {-0.224104, 0.234376}, {0.009714, -1.168003}, {0.019711, 0.237093}, - {0.442850, 0.092101}, {0.202559, 0.660920}, {-0.738652, -1.371965}, - {-1.297719, 0.932182}, {0.739608, 1.592722}, {0.287503, -0.045919}, - {1.222096, -0.184544}, {-0.022342, -1.348633}, {-0.384473, 0.250028}, - {0.001750, -0.224717}, {-0.339904, -0.227850}, {-0.775438, -1.310795}, - {0.571535, 0.293371}, {-0.324597, 0.227490}, {0.169930, 1.145261}, - {-1.551123, -0.199599}, {0.903788, -0.358227}, {-0.622574, -0.635810}, - {-0.045168, 1.216837}, {0.093370, 2.013175}, {-0.171013, -0.524670}, - {0.035948, 0.841222}, {-0.592962, 0.383082}, {0.304794, -0.702133}, - {0.779021, 0.240417}, {1.021212, 0.841250}, {-0.373074, -0.296006}, - {-0.522088, 1.139662}, {-0.268210, -0.251780}, {-0.668865, -0.925004}, - {-0.197566, 0.255127}, {1.441911, 1.117605}, {0.359801, 0.069378}, - {0.485969, -1.028166}, {0.009410, 1.004055}, {-0.386974, -1.624570}, - {0.923300, 0.143629}, {0.181342, 0.541303}, {0.292919, 0.079149}, - {0.324985, -0.714574}, {1.032349, -0.142324}, {-0.163295, 0.054984}, - {-1.028432, -0.229401}, {0.459060, -0.443054}, {-0.236741, -0.785944}, - {-0.703899, -1.736899}, {-0.586833, -0.513491}, {-1.517056, -0.084420}, - {0.292003, -0.016637}, {0.700051, -0.583601}, {0.526109, 0.250151}, - {-0.227784, -0.209721}, {1.818833, -0.253432}, {-0.360458, -0.668042}, - {0.666832, -0.166561}, {-0.358616, -0.418329}, {-0.412887, 0.836863}, - {0.467107, 0.455230}, {0.592494, 1.202728}, {-0.049518, -0.533706}, - {-1.002130, 0.544990}, {-0.257809, -0.145484}, {-0.507467, -0.453834}, - {0.291788, 0.724311}, {-0.135188, 0.157332}, {0.631982, 0.964860}, - {-1.346895, 0.067204}, {-0.288235, 0.488706}, {-2.477087, 1.241502}, - {-0.518612, -0.435361}, {0.955342, 0.489972}, {1.169275, 0.407173}, - {0.213697, 0.494150}, {1.485172, 0.045033}, {0.153003, 0.092241}, - {-0.308640, -0.601813}, {-0.228943, 0.489280}, {-1.169407, -1.772660}, - {0.178640, 0.792597}, {-0.165417, 0.292843}, {1.369952, -1.611009}, - {0.852707, -0.827966}, {0.821978, -0.004446}, {0.649031, -0.812858}, - {0.973973, -0.310191}, {-0.044568, -1.440362}, {0.765165, -0.538318}, - {0.073737, 0.997220}, {1.234533, 0.305244}, {0.063294, 0.158006}, - {0.169849, 0.859146}, {-0.719410, -1.068298}, {0.116258, -0.709057}, - {-0.930144, -0.632747}, {-0.181414, -0.975216}, {0.795997, 0.192359}, - {0.066111, -1.055039}, {-0.298799, -0.559138}, {-0.603013, -0.082259}, - {0.209757, 1.372754}, {0.347500, 0.495824}, {0.676474, -0.072774}, - {0.550261, -1.227179}, {-0.263165, 0.041038}, {-0.546702, -0.491019}, - {0.738601, -0.021821}, {-0.575464, -0.045919}, {0.123871, -0.075287}, - {-1.083198, -1.254586}, {-0.183814, -1.052704}, {-0.881953, 0.291254}, - {0.295336, -0.371557}, {0.023762, -0.165479}, {0.922082, 0.683317}, - {0.324383, -0.491146}, {1.171481, -0.557506}, {0.470032, 0.663233}, - {-0.433687, 0.881275}, {0.569872, 1.163325}, {-1.147629, 1.276498}, - {-1.667829, 0.173502}, {1.509836, -0.393443}, {0.061339, -0.994588}, - {1.297176, -0.289000}, {-0.222211, 1.274974}, {0.171856, -0.708127}, - {-0.762371, 0.928647}, {0.489001, -0.717858}, {0.273726, -0.144006}, - {0.089858, 0.479527}, {-0.415939, -0.754283}, {-0.820428, -1.308644}, - {0.246597, 0.476980}, {-0.061898, -0.518679}, {-0.002501, -0.563025}, - {0.160470, -0.497633}, {0.654653, -0.058246}, {-0.346737, 0.304705}, - {-0.730579, -0.133753}, {0.332384, 0.151924}, {-0.769060, 0.340191}, - {-0.946356, 0.802338}, {-0.185563, -0.701926}, {-0.018478, 0.385360}, - {-0.763889, -0.171119}, {0.136434, -1.151131}, {0.944360, 0.351269}, - {0.234035, 0.460682}, {-0.126511, -0.343346}, {-0.129577, 0.714668}, - {0.831803, 1.425489}, {-0.311698, 0.471973}, {0.374336, -0.532622}, - {-1.287929, 0.086859}, {-0.960906, -0.551099}, {-1.322977, 0.426687}, - {0.566247, -1.476259}, {-0.042332, -0.595204}, {-0.217199, 0.570666}, - {-0.336883, 0.586814}, {0.991186, 1.090638}, {-0.112997, 0.343201}, - {0.936285, 0.699872}, {1.134616, 0.605336}, {-0.332672, 0.412190}, - {-0.131705, -0.706994}, {0.966135, 0.922373}, {1.133423, -0.652360}, - {-1.177552, -0.186519}, {0.708659, -0.078514}, {-0.951753, -0.658081}, - {0.498906, 0.236519}, {0.282086, -1.164112}, {0.256290, -0.187041}, - {0.292859, -0.420021}, {0.670422, -0.359978}, {-0.031479, -0.211732}, - {-0.243913, -0.094388}, {-0.214352, 0.162763}, {-0.671425, 1.172721}, - {-0.345164, -0.766127}, {-0.628780, -0.950380}, {-0.275698, 0.202610}, - {-0.358559, 0.974356}, {0.409593, 0.965904}, {-0.287768, -0.284934}, - {-0.817917, 0.034221}, {0.282824, -0.083509}, {0.266940, 0.414989}, - {-0.839039, 0.602647}, {-0.030358, -0.143335}, {-0.461787, -1.323753}, - {-0.947434, 0.034506}, {0.206777, 0.393953}, {0.110051, 0.039027}, - {-0.255445, -0.418588}, {-0.824977, -0.529115}, {-0.847940, 0.003400}, - {-0.227448, -0.605217}, {-0.658428, -0.129496}, {-0.070069, -0.874316}, - {-0.452178, -0.509891}, {0.006794, 0.737596}, {-0.173131, -0.491329}, - {-0.018882, 0.037139}, {1.012352, -1.428883}, {0.341480, -0.177353}, - {0.088907, 1.263644}, {-0.007106, -0.035769}, {0.494848, -0.291677}, - {1.029770, 1.640336}, {-0.019924, -0.576639}, {1.078143, 0.161988}, - {-1.158261, -0.009208}, {-0.920354, 0.385655}, {-0.103172, -0.424669}, - {-0.128917, 0.361840}, {0.451312, -0.151329}, {0.486818, -0.792695}, - {0.173666, -0.625128}, {-1.227586, 0.233996}, {-0.567889, 0.022017}, - {-0.012878, 0.076646}, {-0.423646, 0.335511}, {-0.989293, 1.156415}, - {-0.977194, 0.382489}, {-1.465169, 0.221222}, {-0.821043, -0.880370}, - {0.953556, 0.320459}, {-0.493348, 1.015682}, {-0.041491, -1.401656}, - {0.110917, -1.090802}, {-0.787109, 0.792470}, {-1.183552, -0.605356}, - {-0.466455, 0.123053}, {1.377708, 0.488188}, {1.036160, -0.429887}, - {-0.195443, 0.367498}, {-0.649320, -0.214917}, {0.818471, -0.314367}, - {-1.095956, -1.066370}, {1.010551, 1.357206}, {-0.522272, -1.266004}, - {0.742807, -0.658170}, {0.137677, -0.996820}, {-0.269035, -0.313754}, - {0.231487, 1.580343}, {0.050224, -0.237917}, {0.022147, 0.008968}, - {-0.118094, -0.562883}, {0.746369, -0.220601}, {0.103125, -1.486236}, - {-0.018752, 0.345496}, {-0.026367, 0.124820}, {-0.095584, 0.426964}, - {0.299398, -0.036745}, {0.876858, 0.071707}, {0.080784, 0.101691}, - {-0.365802, -0.832668}, {-0.066045, -0.042815}, {-1.336839, -0.309595}, - {-1.855670, 0.090094}, {0.142864, 0.213680}, {0.170087, -0.748118}, - {0.757840, -0.487161}, {-0.008566, 0.015099}, {-0.574190, 0.366625}, - {0.850847, -0.670065}, {-0.088781, -0.552472}, {0.065881, -0.562275}, - {2.174229, -0.693270}, {0.545383, 0.173825}, {0.179404, -1.118853}, - {-0.706263, 0.644413}, {-0.201256, 0.026020}, {0.371367, 0.027994}, - {0.695924, -0.856474}, {-0.068587, -0.377147}, {-1.335474, -0.381794}, - {-0.705342, -0.264330}, {1.211854, 0.734180}, {0.689579, -0.829674}, - {0.236230, -0.519350}, {-0.373274, -0.203030}, {0.522275, 0.190464}, - {-0.984102, 0.184132}, {0.608537, 0.528305}, {0.645580, -0.632723}, - {0.106191, -1.924526}, {-0.860820, 0.172286}, {-0.017002, -0.413171}, - {-0.870914, -0.915141}, {-0.032162, -0.022238}, {1.063524, 0.208230}, - {0.208620, 0.392565}, {1.534353, 0.353688}, {0.503624, 0.611747}, - {1.441714, 0.373080}, {-1.685419, 0.553616}, {-1.251072, 1.088477}, - {0.030551, 0.653043}, {0.348223, -0.875562}, {-0.158646, -1.827145}, - {-0.599854, -1.150166}, {-0.622279, 1.015380}, {-0.045192, 0.068378}, - {0.289380, 0.241892}, {0.780663, -0.317637}, {-0.624796, -0.111034}, - {0.156313, 0.625074}, {-0.887464, 0.338653}, {0.276127, -1.089799}, - {0.393729, -0.259418}, {0.290756, 0.344205}, {-1.690691, 0.271341}, - {1.070050, -0.375246}, {-0.518340, -0.146201}, {-0.136899, -0.031255}, - {-0.732118, 0.763056}, {0.595604, -0.170473}, {0.313932, 0.752164}, - {1.258402, -0.021841}, {-1.271193, 0.594328}, {1.074153, 0.128659}, - {0.478066, -0.276071}, {-0.358573, 0.984028}, {0.423156, 0.233965}, - {-0.177399, 0.151124}, {0.079737, 0.146108}, {-0.800067, -0.511673}, - {0.506933, -0.549296}, {0.699370, -0.759465}, {0.195093, 1.236176}, - {0.557245, 1.418542}, {0.287210, 1.479131}, {0.668788, -0.448889}, - {-0.463056, 0.926393}, {1.124722, -0.224757}, {1.118837, -0.244739}, - {-0.214775, 0.121754}, {-0.086324, -0.784099}, {1.274702, 0.512876}, - {1.060185, 1.325123}, {0.193620, 0.390433}, {-0.286823, 0.231843}, - {-0.351578, 0.727546}, {-1.647569, 0.062221}, {0.356859, -0.256082}, - {0.266346, 0.400761}, {-0.225153, -0.791734}, {0.522282, 0.074414}, - {-0.375861, -0.448761}, {-0.533274, 0.056055}, {-0.400783, -0.040651}, - {0.436361, 0.406416}, {0.165936, 0.403954}, {0.851735, 1.253902}, - {-0.996147, 0.302040}, {0.979640, 0.288274}, {-0.020106, -0.155534}, - {-0.392568, -0.327217}, {-0.200327, 0.496539}, {-0.233763, -0.423968}, - {-0.976208, -0.408918}, {-0.571268, -0.378235}, {0.224025, -0.154206}, - {-0.176338, 0.225973}, {0.355614, -0.189466}, {-0.450087, 0.567394}, - {-0.659818, 1.574000}, {-0.724889, 0.197115}, {-1.355431, -0.664189}, - {-0.203199, 0.667343}, {-0.361135, 0.152712}, {-0.007547, -0.222527}, - {-0.546892, -0.387338}, {1.044558, -0.663379}, {0.326269, -0.004359}, - {-0.012900, 0.714057}, {-0.032278, -0.204936}, {-0.152106, 0.539984}, - {-0.484380, -0.174141}, {-0.480804, -0.521659}, {0.019051, -0.512885}, - {-0.371011, -0.457457}, {0.637777, -0.575044}, {1.426366, 0.512612}, - {0.266994, 0.797655}, {-0.824664, -0.336600}, {-0.422137, -0.905715}, - {0.656471, 0.209458}, {-0.864761, -0.058947}, {1.312581, 0.409720}, - {0.093477, 1.303098}, {-0.495575, 0.491653}, {0.616295, 0.289625}, - {0.019085, 0.370022}, {-1.785266, 0.062761}, {-0.110044, -0.749797}, - {1.685633, 0.914155}, {0.759099, 0.624272}, {-0.950030, 1.223722}, - {0.414424, -0.410528}, {0.183760, -0.081691}, {-0.402176, -0.026614}, - {-0.349344, -0.746451}, {-0.669819, 0.784265}, {0.124418, 0.632759}, - {0.541258, -1.198492}, {-0.866841, 0.005112}, {-0.420861, 0.310081}, - {-0.492845, 2.040430}, {0.289183, -0.025633}, {0.333462, -0.545470}, - {0.620450, -0.664730}, {-0.966239, 0.477068}, {-0.280518, 0.588544}, - {0.855581, 0.526154}, {0.176645, -0.532816}, {0.243194, -0.347975}, - {0.121295, 1.046375}, {0.468586, -0.344088}, {-0.350739, -0.403584}, - {-0.631745, -0.782817}, {-0.949273, -1.150875}, {0.922169, -1.684543}, - {-0.345543, -0.015945}, {0.837118, 0.348048}, {-0.849669, 0.097854}, - {-0.950003, -0.284938}, {-0.827245, 1.274905}, {0.582750, 0.674266}, - {0.863202, -0.250190}, {0.661880, 0.368907}, {0.037276, -0.913114}, - {0.165824, 1.259230}, {0.058122, 0.701148}, {-0.309547, -0.432040}, - {-0.596559, -0.618049}, {0.889281, 0.852314}, {0.257575, -0.140190}, - {0.466566, -1.164941}, {-0.846649, -0.024130}, {-0.006130, -0.345342}, - {0.554810, -0.369790}, {0.132936, -1.245072}, {-0.708319, -0.243577}, - {-0.938221, 0.593895}, {-0.035179, 0.513441}, {-0.049975, 1.127913}, - {-0.672031, 0.159578}, {-0.023330, 1.155255}, {0.143090, 1.023505}, - {0.115199, 0.309062}, {-1.199697, 0.879078}, {0.519932, 0.063135}, - {0.186381, 0.036151}, {-0.474750, 1.313004}, {-1.041353, 0.036701}, - {-0.089927, -0.772333}, {0.090568, -0.837483}, {-0.048569, -0.259303}, - {1.571934, -0.955589}, {-0.022494, -0.250567}, {-0.308409, 0.008499}, - {-0.198203, -0.449276}, {-0.294832, -0.776042}, {0.258584, -0.160882}, - {0.168586, -0.668421}, {-0.607039, -0.175648}, {-1.595333, 0.275002}, - {0.354293, -1.433081}, {-1.076825, 0.444679}, {0.112063, 0.403675}, - {-0.019937, -0.526304}, {0.878192, 1.126714}, {-0.555291, -0.177409}, - {0.618919, -1.270440}, {-0.718783, -0.636622}, {1.023238, -0.542857}, - {0.482907, 0.146108}, {1.333821, 1.330160}, {1.132981, -0.772368}, - {-0.543637, -0.834221}, {0.775740, 0.171336}, {0.801106, -0.771147}, - {-0.561803, 0.079096}, {0.652019, -0.040842}, {-0.654772, -0.774603}, - {0.405766, -0.335507}, {-0.131693, -0.202866}, {-1.261224, 0.358867}, - {0.573502, 0.072986}, {-0.658929, -0.659778}, {-0.667468, -0.367979}, - {1.363660, 0.358243}, {0.355715, 0.497317}, {0.186055, -0.513256}, - {-0.427157, -0.478966}, {1.490717, -0.058493}, {-0.952606, -0.205605}, - {1.437961, 0.595822}, {1.113979, 0.821148}, {-1.993044, 0.178065}, - {0.062770, -1.172124}, {-0.601798, -0.508838}, {0.404892, 0.157432}, - {0.446296, -0.198539}, {-2.000248, -0.062555}, {0.418983, -0.605122}, - {1.044428, 1.430575}, {-0.225956, 0.016324}, {0.516675, 0.456090}, - {-0.117366, -0.642548}, {0.821745, 0.347570}, {0.439764, 0.695177}, - {-0.216506, -0.082014}, {1.389264, -0.080676}, {-0.185223, -0.603367}, - {-0.860185, -0.740634}, {-0.146111, -0.173600}, {-0.208919, 0.975808}, - {-0.323668, -0.191408}, {0.325369, 0.387206}, {-1.016963, 0.031901}, - {-0.607601, -1.373026}, {-0.029588, 1.154785}, {-0.134545, -0.252350}, - {0.776553, -0.133224}, {0.543461, 0.280061}, {-0.890756, -0.743419}, - {-1.170665, 1.021231}, {0.518692, -0.016268}, {0.959604, 0.190010}, - {-0.985259, -0.574513}, {0.772275, -0.572044}, {-0.989352, -0.007084}, - {-0.843395, -0.709321}, {-0.701267, 0.196028}, {-0.479826, 0.888804}, - {1.012193, 1.019070}, {0.706742, 0.197803}, {-0.979845, -0.049822}, - {-0.200635, -0.291375}, {0.049786, -0.795526}, {1.237530, 0.009952}, - {-1.067907, 0.940046}, {-0.112405, -0.397752}, {-0.046100, -0.102711}, - {0.453746, 0.537092}, {-0.187188, -0.759559}, {0.717383, -0.561168}, - {-0.164953, -0.323824}, {-0.166557, 0.021823}, {-0.783368, -0.429656}, - {0.794975, -0.230617}, {-0.527327, -0.780894}, {-0.872325, 0.014350}, - {0.054789, 0.241499}, {0.738298, -0.228210}, {0.060773, 0.996415}, - {0.241621, -1.596309}, {0.445850, 0.578241}, {0.315976, 1.201028}, - {-1.511131, -0.670994}, {-0.110134, 0.130493}, {-0.265378, 0.556605}, - {-0.552998, 0.389953}, {0.085908, 0.759607}, {-1.029355, 0.404668}, - {0.516605, -0.500285}, {-0.014747, 0.186171}, {-0.662889, 0.914909}, - {1.133404, 0.043481}, {0.942736, -1.022847}, {-1.367925, 0.662538}, - {0.202927, -0.261840}, {-0.080038, 0.255562}, {0.334206, 0.344507}, - {0.909260, 0.161783}, {0.279950, -0.442240}, {-0.132812, 1.284395}, - {0.561415, -0.874174}, {-0.040063, 0.004187}, {0.139506, 0.273340}, - {0.678991, -0.833389}, {-1.242484, -0.045382}, {0.256214, -0.213426}, - {-0.587563, -0.587595}, {0.078473, 0.384032}, {-0.277039, 1.136410}, - {-0.092972, -1.062368}, {-0.023888, -0.080233}, {-0.452956, -0.444322}, - {1.328310, -0.992490}, {-0.474930, 0.347850}, {0.523240, -0.003848}, - {-0.051859, 0.435035}, {0.353494, -0.243220}, {-1.096435, 1.075703}, - {-0.289883, 0.126013}, {1.309579, 0.419419}, {-0.249474, -1.277937}, - {0.370228, -0.619822}, {-0.162931, -0.986185}, {0.529442, 0.663374}, - {0.206235, -0.141314}, {0.327230, 0.297918}, {0.258588, -0.423171}, - {-0.397341, 0.502437}, {0.021206, 0.592566}, {-0.289367, 0.413864}, - {0.910642, 0.392091}, {-1.057228, -0.461395}, {1.001500, 0.315649}, - {-0.090014, -0.918110}, {0.318253, 0.558070}, {0.211192, -0.014893}, - {0.522386, -0.366099}, {0.090398, -0.703867}, {1.622834, 0.018082}, - {-0.071737, -1.007484}, {-0.664638, -0.104874}, {-0.189868, -0.515833}, - {0.358739, 0.281609}, {-0.622523, 0.089106}, {0.361331, 0.095296}, - {1.085784, 0.080787}, {0.478981, -0.441729}, {1.068931, 0.439744}, - {-0.628892, 0.424033}, {-0.196324, 0.379911}, {-0.789710, -0.283177}, - {-0.806679, -1.377374}, {1.599832, 1.186046}, {0.412645, 0.144409}, - {0.327430, 1.119619}, {1.057958, 1.303142}, {0.432599, 0.474891}, - {0.284130, -0.147951}, {0.137384, -0.946542}, {-1.047473, 0.054293}, - {-0.143269, -0.396173}, {0.134200, -1.117673}, {0.904095, -0.967660}, - {0.784155, -0.589834}, {-0.329207, -1.584818}, {1.336969, -0.965850}, - {0.562061, 0.584660}, {-0.860259, -0.550482}, {0.553302, 0.170503}, - {0.384839, 0.442235}, {-0.123665, 0.795758}, {-2.267570, 1.579904}, - {-0.985957, 0.263810}, {-0.114123, -0.105293}, {-0.073897, -0.131005}, - {0.394013, 0.420781}, {1.294967, -0.725636}, {0.392888, -0.237295}, - {0.708169, -0.947210}, {0.598124, -0.131921}, {0.392268, 1.238404}, - {0.565937, -1.492817}, {-0.620915, 0.218253}, {-0.187653, -0.500112}, - {-0.225466, -0.457223}, {0.298875, 0.099610}, {0.214690, -0.399322}, - {-0.679138, -0.038895}, {0.118053, 0.472370}, {-0.488826, -0.872846}, - {-1.119422, -0.036171}, {-0.075847, -0.265969}, {-1.290590, -1.483111}, - {0.903551, 1.081328}, {-0.903254, -0.425745}, {-1.654210, -0.592746}, - {-0.834468, 0.360416}, {-0.517414, -0.268347}, {0.219221, -0.942583}, - {-0.159846, 0.647089}, {0.022067, -0.112729}, {1.161820, -1.200230}, - {-1.140920, -0.081036}, {-1.039243, -0.377205}, {0.314333, 0.565306}, - {-1.575490, 0.432187}, {0.468719, 0.702260}, {-0.496647, -0.982869}, - {0.807580, 0.126209}, {-1.232223, -0.694859}, {0.344013, 0.146694}, - {0.352479, -0.248874}, {0.500112, 0.240281}, {0.150882, 0.007734}, - {1.025832, 0.271827}, {0.087793, -0.911808}, {0.239715, -0.182878}, - {-0.488536, -1.404765}, {0.245387, -0.004696}, {-0.830521, 0.880491}, - {0.083542, 0.285857}, {0.921577, -0.685627}, {0.695468, -0.133940}, - {0.939971, 1.828094}, {0.789922, 0.759310}, {0.403211, 0.030107}, - {0.016796, 0.689851}, {1.084819, -0.186630}, {-0.903993, -0.024230}, - {0.712283, -1.107485}, {-0.931592, 0.898492}, {-0.696849, 1.388040}, - {0.542043, -1.230688}, {-0.217901, 1.160492}, {-0.093252, -0.025223}, - {-0.766154, 0.653670}, {-0.042860, 0.814345}, {-0.196778, -0.716831}, - {0.540037, 0.172703}, {-0.361556, -0.529404}, {-0.422260, -0.060487}, - {0.516217, -0.838463}, {0.084237, 0.024053}, {-0.942743, -0.718373}, - {-0.665473, -0.812679}, {-0.055540, 0.324464}, {-1.050179, 0.765823}, - {0.374960, 0.619826}, {0.099384, 0.440820}, {-1.375869, 0.145126}, - {-1.168991, -0.089796}, {-0.464068, 0.467425}, {0.141780, 1.426938}, - {0.483327, 1.031467}, {-0.966008, -0.779106}, {-0.735806, 0.516178}, - {-0.139286, 0.109933}, {1.469544, 0.847398}, {0.027674, -0.409753}, - {-0.025074, -1.939206}, {-0.240214, -0.034248}, {0.650895, -0.982693}, - {0.425554, -0.059190}, {-0.496271, 0.495123}, {-1.237870, 1.392917}, - {0.256191, -0.155617}, {0.586083, -0.158262}, {-0.078923, -0.643073}, - {-0.331194, -1.453308}, {-0.144171, -0.906848}, {0.966641, -0.220992}, - {-0.423391, 0.041833}, {-0.824277, 0.698242}, {-0.861274, 0.529953}, - {0.179762, -1.130919}, {-0.996767, -0.193545}, {0.453175, 1.234067}, - {1.485681, 0.094392}, {1.051655, 0.052776}, {-0.134871, 0.796853}, - {0.864630, -0.781504}, {0.780484, -0.400513}, {0.331109, 0.578865}, - {0.776426, -1.263769}, {0.572772, -0.326729}, {0.372413, 0.005622}, - {0.941942, -1.305397}, {0.303917, -1.556093}, {0.189437, 1.234819}, - {0.508129, 0.382806}, {-1.116871, -0.360450}, {0.422168, -0.982315}, - {0.594919, 0.466410}, {1.035624, 0.463855}, {-0.783077, -0.390978}, - {1.236459, 1.182626}, {-0.387814, -0.332232}, {0.086563, 1.162983}, - {-0.346845, -0.245300}, {0.221111, -0.315026}, {-0.125533, -0.386266}, - {1.007383, -1.514431}, {0.408173, -0.652894}, {-0.444993, 0.620328}, - {-0.081295, 0.024145}, {-1.171356, 0.146286}, {-0.654750, -0.194256}, - {1.094476, 0.948711}, {-0.885556, -0.313736}, {-0.013248, 0.284773}, - {-0.687804, -0.472138}, {-0.155912, -1.113625}, {-0.819529, 0.183507}, - {1.128618, 1.019696}, {-0.355820, -0.271205}, {-1.577226, 0.085216}, - {0.538217, -0.298420}, {0.076116, -0.620804}, {0.154589, -1.126306}, - {0.598211, 0.261215}, {-1.007944, 1.678870}, {0.224117, -0.226210}, - {-1.489159, 0.965365}, {-0.297128, -0.374228}, {0.750106, 0.539997}, - {0.386862, 0.676595}, {0.966769, -0.407596}, {0.384334, -1.359028}, - {-0.664215, -0.143987}, {0.039815, -0.249599}, {-1.121556, 0.013060}, - {0.991496, 1.175812}, {-0.353957, -0.926145}, {0.416137, 0.633272}, - {-0.347908, -0.060762}, {-1.001857, -1.669313}, {0.715754, -0.308980}, - {0.493890, 0.621634}, {0.080629, -0.165597}, {0.066092, -0.718772}, - {-0.340841, 0.667852}, {0.031320, -1.351725}, {0.793912, 0.365991}, - {0.094964, 0.747321}, {-1.342909, 0.528676}, {-0.173577, -0.344160}, - {-0.196297, -0.688651}, {0.159112, 0.542697}, {0.329935, 0.154517}, - {1.185337, 0.700728}, {-0.704310, -0.402117}, {-0.316785, -0.310172}, - {-1.232388, -1.015449}, {-0.043209, 0.901854}, {-0.340189, -2.254502}, - {-0.603832, 0.362719}, {0.962932, -0.001934}, {1.768897, 0.121106}, - {0.679471, 0.866237}, {-0.737197, -1.149965}, {1.225298, -0.618371}, - {-0.296798, -1.468710}, {-1.678878, 0.063437}, {0.479002, 0.192428}, - {0.346018, -1.538752}, {-1.206099, -0.295383}, {1.053135, 0.455640}, - {-0.560954, 0.547959}, {0.643517, -0.909463}, {-0.098024, -0.246867}, - {0.931635, -0.252753}, {0.148997, -0.323576}, {0.050144, -0.171018}, - {-0.267956, 0.294251}, {0.333497, 0.911259}, {-0.365215, 0.268823}, - {0.144195, -0.701040}, {-1.526851, -0.129927}, {1.142833, 0.635755}, - {-0.586324, 0.067496}, {1.134076, -0.946287}, {-0.493528, -0.592981}, - {-0.425575, 0.286177}, {0.092149, 0.506148}, {-0.271803, -1.297036}, - {0.026268, 0.441668}, {1.237103, 0.694613}, {0.582480, -0.500776}, - {-0.919241, 0.616013}, {0.539933, -0.765108}, {-0.238804, -0.015991}, - {0.251532, 1.010740}, {0.018575, 1.538529}, {1.164247, 0.775468}, - {-0.724490, 0.704236}, {0.572185, -0.261278}, {-0.165192, -0.473733}, - {-0.275442, -0.214077}, {0.529682, 0.079349}, {-1.043063, 0.590297}, - {-0.312898, 0.982987}, {-0.347152, -0.300360}, {0.198617, -1.545474}, - {-0.137123, 0.206520}, {1.406277, 0.504897}, {-0.230632, -0.020974}, - {1.165849, 1.286086}, {0.567973, 0.251033}, {0.730319, -0.018651}, - {-1.173668, 0.011321}, {-0.036457, -0.751900}, {-0.615665, 0.447886}, - {-0.452895, -0.069779}, {0.673152, -0.178631}, {-0.327908, -0.701133}, - {0.721903, -0.259445}, {0.096390, -0.755208}, {0.558453, -0.050797}, - {0.264645, 0.199839}, {-0.894315, 0.312986}, {-0.216785, -0.394039}, - {-1.143224, 0.400516}, {-1.356620, 0.072608}, {1.362480, -0.018613}, - {1.142226, -0.983870}, {0.627630, 0.620440}, {0.660075, -0.739872}, - {0.579792, -1.280997}, {0.651826, 0.602429}, {1.895455, -0.274354}, - {-0.906672, -0.429069}, {-0.803452, 0.029061}, {0.481015, 1.138218}, - {1.032808, -0.296512}, {-0.832241, 0.455665}, {0.539383, 1.075476}, - {-0.438440, 0.887938}, {0.424835, -0.368019}, {-0.135554, 0.584722}, - {0.599934, 1.286793}, {-1.006594, 0.727090}, {0.911023, 0.076265}, - {0.337550, 1.120384}, {-0.895655, 0.047860}, {0.266564, -0.467233}, - {-0.048357, 0.118508}, {-0.702445, -0.560325}, {0.480256, -1.121399}, - {0.654894, 0.949342}, {-0.417652, -0.110876}, {0.709040, -0.321438}, - {-0.238239, -0.984386}, {-0.301674, -0.706961}, {0.472112, 1.348416}, - {-0.288396, -0.181889}, {-0.450683, -0.267402}, {-0.308414, -1.071811}, - {-0.417105, 0.973953}, {-1.553241, -0.142268}, {0.128366, 0.111307}, - {-0.927474, -0.051060}, {1.101826, -0.477989}, {-0.242754, 0.084899}, - {-0.746846, 1.115605}, {-1.127438, -0.172875}, {-0.155172, -0.399688}, - {-1.837735, 0.530750}, {-1.374064, 0.363114}, {-0.097395, 0.053473}, - {0.609195, -0.274619}, {1.734941, 0.890505}, {0.779686, -0.972688}, - {0.585193, -1.045163}, {0.248025, -0.300921}, {-0.152088, 0.863592}, - {0.576776, -0.435392}, {-0.660678, -1.619638}, {-0.049095, 0.111165}, - {-0.054992, 0.933530}, {0.502694, 0.260923}, {-0.330115, -0.374907}, - {0.738413, 0.897929}, {-0.134611, -0.079508}, {-0.501918, 0.744600}, - {1.092964, 0.366548}, {-0.569112, -0.575195}, {-0.361389, -0.543941}, - {-0.246589, 1.583851}, {0.115483, 0.436651}, {0.709692, -0.027134}, - {-0.201305, -0.325035}, {-0.081069, -0.613508}, {-0.204912, 0.899014}, - {-0.052638, -0.313595}, {-0.055242, -0.450843}, {-1.021730, -0.600249}, - {0.649428, 0.166285}, {-0.566037, -0.062804}, {0.020980, 0.775753}, - {-0.665180, 0.091810}, {0.475532, 0.480182}, {-0.392908, 0.497955}, - {-0.911233, -1.270771}, {0.008075, -0.360294}, {0.692020, -0.075024}, - {-0.731113, -0.013576}, {0.768481, 0.871268}, {-0.414806, -0.177137}, - {-0.085437, -0.311006}, {0.611962, 0.398797}, {-1.456806, 0.915209}, - {0.234176, -0.108086}, {0.392467, -0.300692}, {-1.290682, -0.075481}, - {0.661390, 0.746033}, {-0.613522, -0.349294}, {-0.658477, 1.050708}, - {-0.966256, -0.650581}, {-0.356483, -0.515624}, {0.776759, 1.027077}, - {-1.230686, -1.756435}, {1.443473, 0.351437}, {-1.627666, 0.332377}, - {-0.893450, 0.724938}, {-1.214274, 0.674931}, {0.575030, -1.220913}, - {0.436178, -0.146204}, {0.255927, -0.642819}, {0.837765, 0.357972}, - {0.413942, 0.336704}, {-0.491814, 0.029299}, {0.577770, -0.709864}, - {0.618412, -0.094846}, {1.113511, 0.720462}, {-1.276252, -1.169819}, - {-0.221518, 0.034718}, {1.175932, 0.480262}, {-1.089821, -0.091391}, - {-0.050210, 0.483209}, {0.570865, -0.312307}, {0.218860, -0.555332}, - {0.085193, 0.903061}, {-0.177520, -0.161550}, {-0.920380, -0.285077}, - {1.144318, -0.822307}, {-0.443889, -0.246271}, {1.751176, 0.442665}, - {-0.171192, 0.036515}, {1.478796, 0.623020}, {0.988539, -0.047767}, - {-0.656993, 1.766078}, {0.175814, -0.815643}, {0.621924, 0.409207}, - {-0.576310, 0.039971}, {-1.353919, -0.486915}, {-0.387561, -1.061818}, - {-0.119924, 1.290992}, {-0.230595, -0.112278}, {-0.740619, -0.035881}, - {0.143479, -1.215912}, {0.210367, 1.334086}, {-0.308564, -0.243013}, - {-0.152059, -0.489945}, {-0.321632, 0.092499}, {1.924499, -0.416900}, - {-0.096596, -0.427458}, {0.269636, 0.757454}, {-0.150174, -0.186291}, - {0.865667, -0.424643}, {0.370408, 0.371389}, {-0.766370, -0.272893}, - {-0.222344, 0.995829}, {-0.468779, 1.033146}, {-0.149001, 0.896831}, - {-0.755959, -1.024279}, {1.217738, -0.762323}, {0.534823, 0.219960}, - {-0.070087, -0.996893}, {0.319844, -0.482557}, {0.360326, -1.036808}, - {0.175977, 0.088674}, {-1.461705, 0.208011}, {0.077773, -0.162524}, - {0.054694, -0.539832}, {-0.096807, 0.513069}, {-0.100006, 0.909039}, - {1.406467, -0.680385}, {-0.474095, 0.657180}, {-0.266534, -0.258199}, - {-0.155174, 0.776743}, {-0.786856, -1.189942}, {-0.191945, -0.142069}, - {1.405201, 0.141338}, {0.792400, 0.879229}, {0.517136, -0.068225}, - {-0.073672, 0.710877}, {-0.308993, -0.293807}, {-0.242238, 0.739423}, - {0.319612, 1.603955}, {0.275246, -1.560017}, {0.990727, 0.848362}, - {0.559344, -0.346077}, {-1.078959, -0.356477}, {-0.070324, 0.894042}, - {-0.528587, 0.035779}, {-1.258713, 0.379885}, {-0.290864, 0.053989}, - {-0.225357, -0.508803}, {-0.752478, -0.581330}, {0.126417, -0.906446}, - {-0.993092, 0.097985}, {0.016474, 1.418872}, {-0.886978, 1.124599}, - {-0.864118, 0.032904}, {0.105550, 0.529514}, {-0.447701, -0.032437}, - {-0.815386, 0.312394}, {1.531759, 0.864403}, {0.463851, -0.299624}, - {1.193057, -0.699033}, {-0.904051, 1.118158}, {-0.019004, -0.938424}, - {0.479988, -0.435766}, {0.614927, 0.556017}, {-0.620773, 0.176160}, - {-0.040731, -0.961046}, {1.396722, 0.475938}, {-0.651834, -0.578144}, - {-1.231469, 0.391926}, {0.074102, 0.218066}, {-0.780426, 0.939099}, - {0.266873, 0.597431}, {0.035461, -0.147601}, {-0.041518, -1.551616}, - {-0.652796, 0.186071}, {-0.515741, 0.854016}, {0.260025, -0.565384}, - {-0.507427, -1.442764}, {1.156603, -0.625163}, {-0.277430, -0.146397}, - {0.786110, -0.385100}, {0.187860, 0.259149}, {-0.708870, 0.857568}, - {0.258114, -0.517658}, {-1.593806, 1.354268}, {0.769054, 1.115951}, - {-0.320025, 0.831390}, {0.362127, -0.478752}, {0.463627, -0.562727}, - {0.105345, -0.459347}, {-1.973697, -0.097140}, {-0.329367, 0.850698}, - {-0.703448, -0.335789}, {0.450011, 1.121062}, {0.654028, -0.721941}, - {0.397198, 0.029445}, {0.299006, 0.140008}, {-1.278916, -0.883708}, - {-0.442195, 0.297563}, {0.159308, -0.023143}, {0.282331, -0.269534}, - {1.455855, 0.834365}, {0.520331, -0.449560}, {-0.163163, 0.285191}, - {-0.485547, -0.381264}, {0.182946, -0.895494}, {-1.239939, 0.220402}, - {-0.161033, -0.885029}, {-1.573787, -0.436694}, {0.431696, -0.262095}, - {-0.044572, -0.808512}, {-1.515339, -0.713970}, {-0.072136, -0.707279}, - {0.083839, 0.736988}, {0.609676, -0.073344}, {-0.218284, 0.410031}, - {-0.145884, -0.759804}, {1.449489, 0.119417}, {-0.924116, -0.784971}, - {0.396728, -0.420324}, {0.442812, 0.065814}, {0.300979, 0.512297}, - {0.720141, 0.898594}, {-0.335842, -0.181875}, {-0.558501, -0.374812}, - {-0.124859, 0.840644}, {-0.457252, -0.211346}, {-0.502385, -0.919004}, - {-0.681491, 0.752273}, {-0.596193, -1.541557}, {0.244109, -0.338625}, - {0.598338, -0.141999}, {-0.132257, 0.405104}, {-0.402130, 0.664641}, - {-0.985068, 0.337142}, {0.289973, 0.153776}, {-0.086672, 0.267755}, - {-1.157864, 1.082877}, {0.138765, 1.203857}, {0.157440, -0.081841}, - {0.183486, 1.244150}, {-1.021782, -0.631884}, {-0.147782, -0.684714}, - {0.196621, 0.546394}, {-0.631778, -0.068033}, {-0.138504, -0.409385}, - {-0.600232, 0.098769}, {-0.817953, 0.213884}, {0.961003, 0.245662}, - {0.790531, 0.562720}, {-0.703499, 1.039309}, {0.479667, -1.119048}, - {-0.013366, 0.839971}, {-0.034365, 0.640450}, {-1.399523, 0.355804}, - {0.260801, 0.147967}, {0.065808, 0.546078}, {-0.347448, 0.098553}, - {0.821639, 0.246355}, {-1.628820, -0.597563}, {-0.248049, 0.428404}, - {-0.053644, 1.339589}, {-0.477780, -0.236885}, {0.582341, -0.895865}, - {0.551673, -0.940215}, {0.810823, 0.355256}, {-0.718213, -0.553310}, - {0.761180, -1.567887}, {-1.354477, 0.587993}, {-0.280057, 0.265041}, - {-0.485069, -0.830335}, {-0.898486, -0.123829}, {-0.065445, -0.810844}, - {-0.075952, 0.012324}, {0.489889, -0.201254}, {0.502262, -0.204768}, - {0.228861, 0.614161}, {0.686882, 0.221387}, {-0.191478, -0.314977}, - {-0.163156, 0.201862}, {0.981396, -0.176446}, {0.031663, 0.040162}, - {0.765293, 0.204843}, {-1.423840, 0.580181}, {0.661978, -0.453962}, - {-0.198973, -0.676154}, {0.975239, 0.071402}, {0.514612, 1.173023}, - {0.395354, -0.237298}, {0.218742, -0.040218}, {1.092119, 0.149444}, - {-0.066491, 1.171302}, {0.600378, -0.193844}, {-0.522677, -0.422476}, - {-0.450177, -0.922771}, {0.814332, 0.819734}, {0.611399, 0.414148}, - {-0.102235, 1.090889}, {0.172764, 0.367310}, {-0.386690, 0.711734}, - {-0.308570, 0.399715}, {-0.067773, 0.037268}, {0.897905, -0.893449}, - {0.499070, -0.204820}, {1.054001, 0.253654}, {-1.022458, -0.025210}, - {0.791977, -0.988702}, {0.083416, -0.657610}, {-0.203881, -0.187619}, - {1.728950, 0.829113}, {-0.980056, 0.458782}, {-0.475889, -0.471833}, - {-0.597087, -0.425042}, {1.065324, 0.775118}, {0.503802, -0.715574}, - {0.017682, -0.631690}, {-0.846011, -0.086879}, {-1.073453, -0.572789}, - {0.668645, 0.492660}, {0.202993, 0.029645}, {-0.464086, 0.246619}, - {-0.899470, -0.353428}, {0.399672, -0.546029}, {-0.121598, 1.584198}, - {0.616540, 0.126347}, {1.654014, -0.991907}, {0.329572, -0.377064}, - {-0.771268, 0.203136}, {0.866739, -0.212090}, {-0.105599, 0.598985}, - {0.124672, 0.816280}, {0.148568, -0.916659}, {0.156576, -0.534549}, - {0.963588, 1.376216}, {0.514055, -0.130478}, {-0.228784, 0.663864}, - {0.478723, -0.412546}, {-0.851050, -1.062536}, {0.424482, 0.064766}, - {-0.229494, 0.000992}, {1.328704, -0.161219}, {-0.001671, 1.095202}, - {0.127424, 0.140526}, {0.072691, 0.881068}, {-0.449420, -1.174092}, - {-0.002478, 0.730130}, {-0.264893, 1.106372}, {-0.113501, 0.098044}, - {0.445563, -1.652426}, {-0.648095, -0.615132}, {-0.791597, 0.312268}, - {-0.592599, 0.128912}, {0.193724, -0.027621}, {-0.246776, 1.475506}, - {0.154953, 0.056356}, {-0.256764, -0.209585}, {1.243059, 0.094700}, - {-1.263590, 1.488868}, {-0.715768, 1.026954}, {-0.069072, -0.394451}, - {-0.054306, 0.165971}, {-0.905233, 0.403129}, {-0.220554, -0.122628}, - {0.364791, 0.286679}, {0.785926, -0.769723}, {-0.735274, 2.193241}, - {1.277747, 0.699746}, {0.279424, 0.904941}, {-0.202973, 0.086592}, - {-0.778679, -0.431290}, {0.160730, -0.785100}, {-0.503414, -0.322093}, - {0.592752, -0.398302}, {-0.224174, 0.376569}, {-0.504882, 0.240802}, - {0.639766, 0.479862}, {-0.548174, 0.076778}, {0.839506, -1.051851}, - {-0.614694, 0.201207}, {0.946087, 0.430684}, {-0.128392, 0.666809}, - {0.392418, 0.875509}, {-0.468207, -0.038870}, {-0.222987, -1.094249}, - {-0.745045, -0.662640}, {-0.282590, -0.848140}, {0.273818, -0.451490}, - {-0.107371, 0.883462}, {1.090884, -0.618116}, {0.320881, -0.288501}, - {-0.802570, -0.344983}, {0.293442, 0.998732}, {-0.027360, 0.016971}, - {-0.520384, 1.021780}, {-1.029293, 0.643514}, {0.544240, -0.294024}, - {0.814885, 0.293088}, {-0.217184, -1.607462}, {1.042856, -0.193162}, - {-0.482617, 0.001200}, {1.290766, 0.396281}, {0.541096, 0.190732}, - {-0.185152, 0.422218}, {-0.395013, -0.856063}, {0.129098, -0.208842}, - {-1.216610, 0.501032}, {-0.578368, -0.077011}, {-0.142931, -0.107519}, - {-0.049935, -1.347985}, {-0.169092, -0.532516}, {0.473700, -0.739075}, - {-0.372626, -0.612488}, {0.695860, 0.589931}, {0.090898, 0.189706}, - {1.451253, 0.155602}, {0.630673, 1.074650}, {0.523568, 1.240808}, - {-0.333037, -1.525041}, {0.828902, 0.384816}, {0.705692, -0.123515}, - {-0.161236, -1.091553}, {-0.905419, 1.093307}, {-0.353888, -0.534408}, - {0.604700, -1.082505}, {0.014201, -0.516866}, {-2.169492, 1.453974}, - {1.951017, 0.818724}, {0.494091, -0.791937}, {0.118409, -0.206657}, - {1.085713, 0.213897}, {0.301931, -0.566131}, {-0.259674, 0.527941}, - {0.980986, 0.596725}, {-0.596668, -1.134933}, {0.625839, 0.458710}, - {-0.334225, -0.120566}, {1.771062, -1.026789}, {0.151459, -1.012159}, - {-0.330544, 0.845122}, {-1.728633, -1.435125}, {0.140577, -0.610380}, - {0.822159, 0.635061}, {-0.201738, 0.393073}, {0.440206, -0.257053}, - {0.260232, -0.046157}, {-0.020715, 0.469076}, {-0.449526, -0.525654}, - {1.069078, 1.418019}, {-0.433268, -0.165652}, {-0.085426, -0.660526}, - {-0.843452, -1.075621}, {0.160153, -0.609560}, {0.532025, -0.402982}, - {1.053319, -0.606113}, {-0.912064, 0.532538}, {0.288336, -0.224900}, - {1.049554, -0.798748}, {0.062931, 0.248464}, {1.171278, -0.296591}, - {-0.258426, -0.410351}, {0.945094, 0.478489}, {-1.461804, 1.046522}, - {-0.633659, 0.358206}, {0.250690, 1.106278}, {0.430452, -0.309765}, - {-0.308992, 0.553894}, {0.779977, 0.398830}, {-0.294969, 0.376904}, - {0.220612, 0.065218}, {-0.920859, -0.345626}, {0.187574, 0.099608}, - {-1.349871, -0.183671}, {0.130552, 0.361476}, {-0.141677, 0.506033}, - {0.618300, 1.618166}, {0.475492, 0.079416}, {0.714330, -0.370986}, - {-0.573479, 0.180490}, {-0.137712, -0.060913}, {0.515423, -0.368048}, - {0.244133, 1.174597}, {-0.525398, 0.663225}, {0.578443, -0.543669}, - {1.201958, 0.923160}, {-0.111823, -0.487590}, {-0.073718, 0.190523}, - {0.649657, -0.659715}, {-0.409310, 0.134954}, {-1.326234, -1.272925}, - {1.305404, 0.226864}, {-0.392474, -0.933792}, {-0.007464, -1.287274}, - {-0.446668, -0.005931}, {0.098037, -1.037468}, {1.342139, 0.517189}, - {0.428876, 0.529115}, {0.527585, -0.589122}, {0.132382, 0.288948}, - {-0.088091, -0.529385}, {-0.211020, 0.106296}, {-0.618083, -0.302373}, - {1.818536, 0.685940}, {-0.922613, -0.342791}, {-1.840156, 0.792622}, - {-0.553622, -0.586101}, {0.623642, -1.195093}, {-1.132636, 0.579581}, - {0.093510, -0.770117}, {-0.885828, -1.187070}, {-0.293717, -0.805523}, - {0.400295, -0.348303}, {0.607811, -0.144559}, {-0.692936, -0.145218}, - {0.725639, -0.758167}, {-0.143427, -1.162858}, {0.782318, -0.861163}, - {-0.606077, -0.183103}, {0.022532, -0.331872}, {-0.240756, -1.411801}, - {0.278457, 0.187169}, {0.424589, 0.760281}, {0.483186, -0.084917}, - {-1.213938, -0.432077}, {-0.429109, 0.225001}, {0.175712, 0.073672}, - {1.027955, 0.430115}, {-0.106412, -1.172744}, {-0.400012, 0.691001}, - {0.488778, 0.654797}, {0.674586, 0.222262}, {-0.040199, 0.757857}, - {0.335755, -0.779464}, {-0.011836, 0.511340}, {-0.287985, 0.242453}, - {-0.323989, -0.022321}, {-1.788818, -0.594621}, {-0.126588, -0.670139}, - {-0.582553, -0.282272}, {-0.172383, -1.483735}, {0.097068, 0.374952}, - {1.145251, -0.041021}, {-0.661188, -0.015538}, {0.478935, -0.798933}, - {0.483136, -0.932957}, {-0.692102, 0.831164}, {0.387143, -0.210910}, - {-0.369834, -0.499064}, {-0.552389, 0.968678}, {0.706835, 0.672863}, - {0.884666, -1.374115}, {-0.892116, -0.645080}, {0.212438, -0.363604}, - {0.120562, 0.094899}, {-0.607090, 0.509514}, {0.391938, -0.197226}, - {1.477689, -0.894952}, {0.067956, 0.305202}, {-0.377072, -1.118688}, - {0.238509, -0.640692}, {0.985068, -1.082955}, {1.406457, 0.016522}, - {-0.195835, 0.951245}, {-0.668623, 0.196354}, {0.629538, -0.359206}, - {-2.110332, -0.600784}, {0.218971, -0.422251}, {0.327340, -0.702791}, - {-0.506006, -0.186140}, {0.342203, 0.477097}, {-0.211730, -0.864108}, - {-0.065807, 0.211029}, {-0.227760, 0.316405}, {0.086344, 0.613594}, - {0.237860, 1.320884}, {0.473216, -0.549211}, {0.498238, -0.583895}, - {0.286832, 0.326195}, {-0.476474, 0.218899}, {-0.563894, 0.557927}, - {0.272322, 0.469703}, {-0.749019, -0.736560}, {0.161585, 0.085403}, - {0.056852, 0.115904}, {-0.388830, -0.672548}, {0.884869, -0.590201}, - {0.566593, 0.608661}, {-0.516091, -0.918691}, {1.642885, 1.310890}, - {0.696677, 0.124297}, {0.445759, 2.250527}, {0.322959, 0.688997}, - {0.016110, -0.780982}, {1.171736, 0.361072}, {1.343905, 1.272841}, - {0.592350, 0.019416}, {0.152619, -0.147421}, {-0.704640, 0.341073}, - {1.099323, -0.430740}, {-0.840177, -0.697932}, {-1.442964, 0.718412}, - {0.164263, 0.523929}, {-0.111350, -0.289444}, {1.050958, 0.639940}, - {-0.763601, -0.206712}, {-0.631193, -0.041356}, {0.663994, 0.322670}, - {-0.258825, 1.093934}, {0.337754, -0.472584}, {-0.618973, 0.215902}, - {0.770590, -1.183008}, {1.114851, -0.199457}, {1.027480, 1.933290}, - {-0.609203, 1.103349}, {-0.541345, 0.547887}, {0.276828, -0.095631}, - {1.215758, -0.061026}, {-0.865888, -0.313945}, {0.134350, -0.986536}, - {0.333627, 0.278205}, {0.229353, -0.313560}, {0.822267, -0.147288}, - {1.790442, -0.772786}, {0.614975, -0.867141}, {0.824009, -0.340756}, - {0.242416, 0.525339}, {-0.913436, 1.352899}, {0.085737, 0.921626}, - {0.600046, 0.518829}, {0.840608, -0.399042}, {0.744769, 0.036632}, - {-0.040337, 0.836790}, {0.069399, 0.963537}, {0.190218, -1.028734}, - {0.357859, -0.557734}, {-0.160823, -0.761802}, {0.679527, 0.810942}, - {-0.334324, 0.388009}, {0.635341, -0.443085}, {1.119667, 1.031693}, - {0.702179, -0.010668}, {0.687804, 0.335793}, {-1.218997, 0.360120}, - {-0.015499, 0.167078}, {0.772188, -0.754889}, {1.119482, 0.633941}, - {0.789910, -0.165533}, {-0.352196, -0.008508}, {0.863554, 0.258157}, - {0.200500, 0.053978}, {-0.201635, 0.202142}, {-0.195493, 0.605893}, - {-0.351966, -0.907111}, {-0.185199, -1.375999}, {-0.288755, 0.112778}, - {-0.601478, 0.546465}, {-0.254146, 0.433599}, {1.287544, 0.188691}, - {0.748493, 0.772074}, {-0.185359, -0.704725}, {0.297589, -0.523805}, - {-1.228142, 0.231061}, {-0.238207, -1.513225}, {-1.093305, -0.811754}, - {-1.360744, -0.232347}, {0.770614, 2.942337}, {-1.054750, -0.772966}, - {0.639057, -0.927998}, {-0.300836, -0.163147}, {-0.393160, -0.264180}, - {-0.502845, 1.088386}, {-0.790613, 0.905711}, {-0.312306, -0.234891}, - {0.024799, 0.486804}, {-0.059798, 1.341482}, {-0.463482, 0.141503}, - {-0.142495, 0.482216}, {-0.584915, 0.774424}, {0.727377, 0.857342}, - {-0.250533, -0.538912}, {-0.708249, -0.711566}, {-1.633626, -0.948018}, - {-0.654737, 0.568716}, {-0.452462, 0.609938}, {0.103789, 0.356140}, - {-0.028716, 0.443183}, {1.028940, 0.846843}, {-1.932886, -0.497384}, - {-0.029238, -0.196571}, {0.059763, -0.375114}, {-0.336361, -0.329419}, - {0.088773, -0.164776}, {0.765711, 0.371364}, {0.204439, 0.390603}, - {-0.110530, 1.504023}, {-0.431800, 0.089282}, {-0.819449, -0.350066}, - {-0.974220, 0.564947}, {0.125759, 0.339755}, {0.317493, -0.006911}, - {-1.013535, -0.202630}, {0.112258, 0.117162}, {-0.531978, 0.042502}, - {-0.940156, 0.121649}, {-0.725521, 0.466195}, {-0.416124, 0.485405}, - {0.336967, 0.057276}, {-0.421566, -0.168387}, {-0.015320, 0.831380}, - {-1.056343, -0.068795}, {0.549310, -1.282829}, {-0.194868, 0.315490}, - {0.003948, -0.561034}, {0.479671, -0.065741}, {-0.425547, 0.760606}, - {0.488399, -0.579394}, {-0.424074, -0.366667}, {0.044047, 1.152952}, - {-0.830197, -0.460495}, {-0.814327, 0.057209}, {1.553867, -0.219049}, - {0.774422, 0.590411}, {0.363240, -0.485420}, {0.185316, 0.168755}, - {-0.564670, -0.244371}, {0.792661, -0.638865}, {-0.024050, -0.436980}, - {1.350849, -0.888220}, {-0.143934, 0.300172}, {0.586975, 0.568336}, - {-0.081438, -0.547728}, {0.492427, 0.008414}, {0.215698, -0.171356}, - {0.462206, 0.692607}, {-0.431732, -0.509402}, {-1.299840, -1.348103}, - {-0.738818, -0.011450}, {-0.193146, -1.086403}, {0.998385, -0.142121}, - {-0.217947, -0.430734}, {-0.035329, -1.851256}, {-0.353180, 0.927875}, - {0.107119, 0.623563}, {0.012206, -0.271749}, {-0.307655, 0.692549}, - {-0.622138, -0.761409}, {0.442970, -0.480029}, {0.796093, 0.551437}, - {0.009668, -0.449114}, {-0.116923, -0.003272}, {0.747452, 0.198782}, - {1.585947, -0.584168}, {0.062659, -2.154515}, {-1.470887, -0.702686}, - {-0.377002, -0.215950}, {-1.380013, 0.062652}, {0.664140, 0.181371}, - {1.034914, 1.310640}, {0.810257, -0.623334}, {0.768412, -0.116447}, - {-0.043917, 1.459535}, {-0.441852, -0.598940}, {0.028953, -0.184729}, - {-0.076069, 0.867122}, {-0.752365, -0.121888}, {0.348209, -0.710583}, - {1.006050, -0.709281}, {0.321016, 0.506845}, {-1.004044, 0.592095}, - {1.476868, 1.249852}, {0.404023, -0.215948}, {-0.786363, 0.092388}, - {0.312994, -1.676486}, {0.877315, 0.390367}, {0.304297, 1.872417}, - {0.488998, -0.499786}, {0.018221, -0.372451}, {-1.630813, 0.961882}, - {-0.677563, 0.211437}, {-0.795802, 0.135461}, {0.520392, 0.265735}, - {0.785026, 0.446039}, {-0.362354, -0.016902}, {-0.318927, -0.455923}, - {-0.333291, 0.675215}, {-1.334583, 0.593424}, {1.430517, -0.375052}, - {-0.502683, -0.736192}, {-0.710810, -0.141498}, {-0.252294, 0.092360}, - {0.626259, -0.169977}, {-0.267358, -0.042655}, {0.193435, 0.364396}, - {0.847771, -0.951427}, {-0.521408, 0.066863}, {1.582067, -0.274576}, - {-0.618104, 0.064801}, {0.613930, -0.093315}, {0.117743, 0.435939}, - {1.262775, 0.798231}, {-0.609864, 0.402638}, {-0.433813, -0.204178}, - {0.343590, -0.619007}, {-0.178302, 0.528886}, {0.558275, -0.569073}, - {-0.158423, -0.646560}, {0.527513, 0.661901}, {-0.991489, 0.090190}, - {-0.352216, -0.296703}, {-0.809827, -0.667036}, {-0.509143, 0.613069}, - {-0.175233, 0.802702}, {-0.393206, -0.142194}, {0.443495, -0.739842}, - {-0.493505, -0.346109}, {0.291099, 0.973915}, {-0.121100, -0.623550}, - {0.464915, -0.564442}, {-0.544471, 0.680835}, {-0.476296, 0.594486}, - {-0.646494, -0.116102}, {-0.912840, 0.857731}, {0.608502, 0.100114}, - {0.831568, -1.091763}, {0.233161, 0.780343}, {-0.197179, 0.037707}, - {-0.367386, -0.575712}, {-0.755259, 0.477536}, {0.467144, -0.619239}, - {-0.321884, 0.010948}, {0.452682, 0.145276}, {-0.220426, -0.550002}, - {-0.256978, 0.137362}, {0.680658, -0.565345}, {-1.750026, -0.017867}, - {-0.323665, -0.262173}, {-0.097985, 0.422237}, {-1.404647, -0.993924}, - {-0.588194, 0.571803}, {-1.200961, 0.921556}, {0.193916, 2.152188}, - {1.013266, -0.106129}, {0.235823, 2.080106}, {-0.108434, -0.729457}, - {-0.408723, -0.348886}, {-0.302859, 1.484877}, {-0.312681, -0.505828}, - {0.018735, -0.122920}, {0.355886, -0.484280}, {-0.135969, 0.761103}, - {0.390779, 1.771250}, {-0.145102, -1.388635}, {-0.416709, -0.621879}, - {0.126479, -0.899692}, {-1.448828, 0.318005}, {0.672198, 0.308803}, - {-1.764904, 0.014698}, {0.467586, 0.731148}, {-0.866142, -0.129121}, - {1.095405, 1.415374}, {-0.288686, 1.532333}, {-0.694974, -0.572545}, - {-0.296954, -0.918548}, {0.185017, -0.335333}, {0.106725, -0.810778}, - {-0.266406, -0.574720}, {1.024931, 0.523381}, {0.111210, 1.033764}, - {1.104428, 0.317206}, {0.138012, -0.485474}, {-0.075850, -0.936313}, - {-0.691784, 0.547524}, {-0.960452, -0.600781}, {-0.806045, -0.461982}, - {1.408073, -0.255135}, {0.150425, -0.658298}, {0.240710, -0.413124}, - {0.206125, 1.431848}, {-0.706788, -0.747984}, {0.209810, 0.344959}, - {0.940145, 1.819041}, {-0.423045, 1.613672}, {0.691372, 0.408910}, - {0.291379, 1.694717}, {-0.022473, -0.483715}, {1.506409, -0.487754}, - {-0.950211, 0.174272}, {0.437884, 0.334518}, {-0.059121, -0.187999}, - {-0.706148, 0.532011}, {1.247993, -0.173918}, {0.403025, -0.456743}, - {0.101642, -0.201338}, {0.220295, 0.098694}, {-0.544353, -1.008343}, - {0.706586, -0.476523}, {0.291079, -0.150127}, {-0.041337, -0.659792}, - {-0.493954, -0.757686}, {-0.198818, -0.425300}, {0.765368, -0.713655}, - {0.129659, -0.656772}, {0.752741, 0.605671}, {0.059329, 1.098435}, - {-0.095906, -1.236300}, {-0.192572, -0.654089}, {0.060002, -0.407818}, - {1.023894, -0.192512}, {-0.012820, -0.526931}, {-0.853581, -0.349135}, - {0.422981, -0.199832}, {-0.884115, -1.022837}, {0.051870, 2.156258}, - {0.511633, 0.370017}, {1.100921, 0.287222}, {-1.091726, -0.326993}, - {1.065161, -0.088250}, {1.295012, 0.347661}, {-0.186661, 0.274683}, - {0.453460, 0.453078}, {-0.019832, -1.655232}, {0.033441, -0.077400}, - {0.083820, -0.808385}, {0.161770, 1.034907}, {-0.408970, 0.435216}, - {0.710238, 0.172596}, {0.070505, 0.071455}, {-0.157619, 1.133331}, - {0.934837, 0.290817}, {-0.142153, -1.033463}, {-0.805522, -0.609104}, - {-0.713519, 0.333743}, {0.766007, 0.180658}, {-0.210227, -0.404890}, - {-1.432711, 0.510194}, {-1.527153, -0.138670}, {-1.413773, -1.392381}, - {1.162048, -1.121023}, {0.375536, 0.334633}, {0.277678, 0.377802}, - {0.353273, -0.438537}, {-0.000468, 0.519358}, {-1.862624, -0.213202}, - {0.231657, -0.206180}, {0.579498, 1.438150}, {-0.818714, 0.244540}, - {-0.414526, -0.963580}, {1.434481, -0.200950}, {-0.706870, -0.490200}, - {-0.445819, 0.232220}, {0.014789, 0.903088}, {0.823644, 0.019996}, - {-0.257175, 1.092355}, {0.233427, 1.236390}, {-1.569737, 0.596411}, - {0.289963, -0.304775}, {-0.652898, -0.307950}, {0.677093, 0.468114}, - {0.199346, -0.368715}, {-0.122099, -0.856128}, {0.527088, -0.699184}, - {0.098459, -0.383729}, {0.127642, 0.100256}, {-0.743423, -0.133080}, - {-1.904618, -0.208222}, {-0.311420, 0.441420}, {0.314336, -0.480474}, - {-0.822712, -0.862232}, {-0.009480, 1.146566}, {-0.001370, -0.736855}, - {-0.643167, -0.430793}, {-1.377535, 0.367134}, {0.117747, -0.018534}, - {0.118661, -0.605605}, {-0.428251, 0.078424}, {-0.755322, 0.026743}, - {0.108427, -0.429369}, {-0.546590, -0.242576}, {-1.123375, 0.034104}, - {-0.178010, 0.215736}, {0.555579, -0.157472}, {0.008256, -1.040877}, - {0.300994, 0.502246}, {-0.596434, -0.574450}, {0.650520, -0.251038}, - {-1.202669, 0.119406}, {1.207843, -0.367324}, {-0.839307, -0.511398}, - {-1.142954, 0.350094}, {1.745947, -0.663306}, {-0.197524, -0.058007}, - {0.604840, 0.358341}, {-0.629763, -1.061339}, {0.714119, -0.671946}, - {-0.957979, 0.108516}, {-0.204673, -0.841928}, {-0.224796, 1.403409}, - {0.057728, -0.276108}, {0.022420, 0.907590}, {-0.442873, -0.197745}, - {0.070502, 0.367408}, {1.111314, -0.115300}, {-1.214722, 0.435263}, - {-0.623381, -0.183199}, {0.842462, 0.271952}, {0.223962, -0.253993}, - {0.784241, -0.623105}, {-0.460386, 0.244667}, {0.057513, -0.844943}, - {0.252052, 1.072527}, {0.045339, 0.090347}, {-1.550655, -0.849565}, - {0.698342, 1.719761}, {0.625755, -0.059108}, {0.461099, 0.873655}, - {-0.178899, -0.905113}, {0.378758, 0.050943}, {-0.024118, 0.005723}, - {0.139377, -1.441619}, {0.746170, -0.864942}, {2.244304, 0.225823}, - {0.941294, 0.456267}, {0.681838, 0.479907}, {0.555077, 0.448809}, - {0.113034, 0.326665}, {0.290276, -0.323618}, {-0.310803, -0.740078}, - {0.288215, 0.147328}, {0.122018, -0.901168}, {1.102202, -1.702754}, - {-0.681899, 1.076125}, {-0.823461, -0.531651}, {0.608237, -0.372707}, - {-0.681661, -0.191809}, {0.079867, -1.266244}, {-0.317741, -0.703671}, - {0.034086, 0.942178}, {0.168887, 0.177944}, {-0.613740, 0.025035}, - {1.089925, 0.392534}, {0.075943, 0.040485}, {0.566377, -0.156880}, - {0.660386, 0.045064}, {-0.906557, 0.350211}, {-0.616084, 0.671656}, - {-0.353653, -0.928423}, {1.334011, -0.377983}, {0.733590, 0.190001}, - {-0.583415, -0.285064}, {1.339272, 0.266120}, {-0.537001, -0.258520}, - {-0.448141, -0.050157}, {0.740691, 0.648732}, {1.056314, -0.629005}, - {-1.160330, 0.410656}, {0.633715, -0.113482}, {0.220648, -0.289338}, - {-1.356221, -1.047442}, {-0.799830, -0.402114}, {-0.855423, -0.218579}, - {0.533292, -0.955058}, {-0.590952, -0.359871}, {-1.003588, -0.950145}, - {0.031010, -0.073887}, {-0.970717, 0.112552}, {0.905541, 0.082191}, - {1.109198, 0.621634}, {0.061115, -0.182655}, {0.519211, 0.584771}, - {0.453454, 1.105118}, {0.307900, -0.290329}, {-1.310764, -1.192390}, - {-0.990446, -0.449249}, {-0.636245, -1.136897}, {0.194571, -0.105070}, - {0.972256, 0.693447}, {-0.291198, 1.374025}, {0.144387, 1.382765}, - {-0.101333, -0.022509}, {-0.474852, 0.062917}, {-0.543704, -0.461692}, - {0.714138, -0.106485}, {0.040096, 0.285104}, {0.590028, 1.369938}, - {0.501543, -0.043429}, {2.614600, 1.102147}, {0.255439, -1.183224}, - {-1.069301, 0.552063}, {0.505847, 0.666774}, {0.018523, 2.289326}, - {-0.261409, -0.381025}, {-0.633168, -0.802063}, {-0.221651, -0.314856}, - {0.314198, 1.603044}, {1.173064, 1.017943}, {-0.665682, -0.159433}, - {-1.758748, -0.064417}, {1.147580, 0.950364}, {0.550126, -0.366558}, - {0.065759, 0.113614}, {0.956481, 1.179104}, {0.433038, -0.684553}, - {-0.367835, -0.136092}, {-1.108652, -0.501821}, {0.014093, -0.724897}, - {0.474274, 0.071691}, {-0.878852, -0.454418}, {-0.111987, 0.397469}, - {0.980863, 0.508451}, {0.567833, -0.325126}, {0.117299, -0.350239}, - {0.496458, -0.149528}, {-0.712447, 0.404552}, {0.050514, -0.370253}, - {0.209666, -0.591714}, {-0.392540, -1.209119}, {-0.075244, 0.496292}, - {-0.294131, -1.102998}, {-0.209255, 0.078796}, {0.109577, -0.306647}, - {-0.214269, 0.731213}, {1.862247, 0.688064}, {-0.992337, 0.128817}, - {0.056261, 2.006550}, {-0.259084, 0.729512}, {0.491870, -0.795017}, - {0.176987, 0.094347}, {-0.319391, 0.300136}, {-0.069294, -0.021210}, - {1.038121, -1.099239}, {1.734655, -0.131408}, {0.361025, 1.818288}, - {-0.758635, -0.906905}, {1.433721, -0.082347}, {-0.327756, -1.150218}, - {0.449566, 0.413723}, {0.983053, -0.867287}, {-0.937329, -0.376043}, - {-0.126866, -0.124008}, {-0.438458, -0.453466}, {-0.101627, 0.012617}, - {0.582181, -0.133631}, {0.121428, -0.222195}, {-0.608804, 0.004610}, - {-0.280329, -0.071507}, {0.776663, -0.049369}, {0.603737, -0.528278}, - {-1.155587, 0.324328}, {-1.123362, -0.454602}, {0.767449, -0.921822}, - {-0.352388, -0.357436}, {0.309848, 0.070129}, {-0.656513, -0.652553}, - {-0.381851, 0.355358}, {0.495213, 0.523033}, {1.153773, 1.092873}, - {0.668633, -0.859082}, {-0.746353, -0.312026}, {1.048775, 0.535930}, - {0.279033, -0.054578}, {-0.111243, -0.422662}, {-0.136422, 0.053799}, - {-0.056102, 0.342915}, {-1.088014, -0.730922}, {0.878624, -0.890989}, - {-0.729911, -0.058834}, {-1.333908, -1.160115}, {-0.684287, -0.253154}, - {-1.079448, -0.270283}, {0.151333, -1.649204}, {0.253875, 0.108594}, - {0.235712, 0.387503}, {-0.899825, 0.496213}, {-0.610484, -0.533034}, - {0.496822, -0.243569}, {-0.524167, 0.235972}, {-1.610220, -0.155522}, - {-0.796686, 1.243795}, {-0.581308, -0.236754}, {-0.209195, -0.037144}, - {0.184881, -0.083576}, {0.396540, -0.490520}, {0.508980, 1.096300}, - {-0.094454, 0.369221}, {0.680896, 1.252947}, {-0.440938, -0.853486}, - {-0.157199, -1.304081}, {-1.447599, 0.971928}, {0.626587, 0.396517}, - {0.836229, 0.966611}, {1.381874, -0.246085}, {-0.414028, -0.280956}, - {0.980019, -0.334138}, {-1.644429, -0.389069}, {0.225519, 0.368235}, - {1.116159, -0.726131}, {-0.733320, 0.355245}, {0.988265, -1.747007}, - {0.840822, 0.138793}, {-0.117871, 0.688465}, {0.657025, 0.157528}, - {-0.117520, 0.629271}, {-0.645882, -0.938485}, {0.980639, 0.197481}, - {0.320092, -0.621575}, {1.315216, 0.186380}, {-1.150480, -1.020916}, - {1.148288, -0.445450}, {-0.049133, 0.097262}, {0.210559, -0.338083}, - {-0.164647, 1.698560}, {-0.134143, -0.581370}, {-0.100706, 0.043457}, - {-0.251067, -0.907292}, {0.551859, -0.013725}, {0.299242, -0.340345}, - {-0.247395, 1.075102}, {-0.032695, -1.479628}, {0.250204, 0.334675}, - {0.859668, -0.605057}, {0.362075, 0.166596}, {0.432570, -0.747261}, - {0.674745, -0.020640}, {0.361038, 0.375811}, {0.009795, 0.744204}, - {-0.437627, -0.150132}, {-1.149837, 0.074239}, {-0.717292, -1.450907}, - {1.485412, 0.238923}, {-0.577879, -0.010250}, {0.641200, -0.964459}, - {-0.088981, 0.206840}, {0.593610, -0.502221}, {-1.008813, 0.283182}, - {-0.009605, -0.090918}, {-1.338922, 0.333185}, {-1.074846, -1.517178}, - {0.539697, -0.906593}, {0.275416, -0.647435}, {1.139667, 1.074978}, - {0.070698, -0.375933}, {0.008435, 1.196329}, {-0.222550, 0.250323}, - {0.275090, -0.128200}, {0.279230, 0.576149}, {-0.362237, 0.693913}, - {-0.614259, 0.504714}, {0.812049, -1.100580}, {-0.370461, 0.966923}, - {1.198670, -0.644836}, {-0.031461, 0.128519}, {-0.122097, 0.053159}, - {1.315332, -1.008152}, {-0.754167, -0.305309}, {-0.485979, 0.476556}, - {0.823664, 1.071616}, {-0.183654, -0.551620}, {0.748615, 0.994233}, - {-0.119972, 0.065139}, {-0.849627, -1.159702}, {-0.444765, 0.256956}, - {0.209474, -0.472828}, {-0.525549, -1.027303}, {1.757616, 0.445698}, - {0.160525, 0.088103}, {0.435382, 0.227305}, {0.218477, 0.170341}, - {-0.580507, -0.450303}, {0.398378, 0.017052}, {-0.031351, -0.247548}, - {-2.316506, -1.483557}, {-0.443973, -0.691774}, {-0.510807, 0.699816}, - {-1.037649, 0.345879}, {-1.257505, 0.629094}, {-0.000852, -0.321557}, - {-0.373482, -0.402662}, {-0.022826, -1.218651}, {0.025138, 0.767667}, - {0.356935, -1.465306}, {-0.020640, -0.323252}, {0.602591, -0.289913}, - {0.046297, 0.283469}, {-0.283535, -0.047672}, {-0.166785, -0.277583}, - {-2.385793, 1.082178}, {-0.050855, 0.483435}, {-0.239055, -0.165545}, - {0.505107, 0.359352}, {-0.855951, -1.185629}, {-0.394709, 0.226833}, - {1.257326, -0.916278}, {-0.745575, -0.046165}, {-2.243851, -0.696840}, - {0.551393, 0.147983}, {0.291053, -0.204270}, {0.161488, -0.475875}, - {-0.528262, 0.575247}, {-0.986426, 0.773656}, {-0.744878, -0.909927}, - {0.320911, 0.629702}, {-0.323660, -0.506678}, {0.028159, -0.259382}, - {0.460460, -0.163144}, {-0.813206, -0.350558}, {1.044790, 0.293066}, - {-0.132596, 1.665505}, {0.395208, -1.153663}, {0.924725, -0.269132}, - {-0.982288, -0.672640}, {0.021874, 0.182806}, {0.249894, 0.425458}, - {-0.636470, -0.070118}, {0.024546, -0.394318}, {-0.114422, -0.016105}, - {0.604817, 0.799636}, {0.172222, 0.798172}, {-0.091129, 0.328291}, - {0.590852, 1.199025}, {-1.487713, 0.087366}, {-1.108675, -0.555536}, - {-0.692600, 0.090637}, {0.911874, 0.392273}, {0.402013, 0.091871}, - {-2.169173, 0.338864}, {0.067482, -1.073878}, {-0.036547, 1.460194}, - {0.266305, 0.645196}, {0.003120, 0.423355}, {-0.238731, 0.052394}, - {-1.065448, -0.598678}, {0.055241, 0.168619}, {0.562618, 1.551298}, - {-0.301688, -0.337400}, {0.547448, 0.323789}, {0.788771, 0.516224}, - {0.132486, 0.681322}, {-0.323760, -0.904475}, {-0.871126, -0.916061}, - {-1.544630, 0.204207}, {-0.082182, 0.441189}, {-0.325721, 0.084840}, - {-0.000671, -0.910962}, {-1.548705, -0.305130}, {1.464460, 1.600289}, - {-1.349656, 0.526047}, {-1.552741, 0.906982}, {-0.519449, -0.233318}, - {0.355732, 0.331088}, {-0.489145, 0.230703}, {-0.970139, 0.363476}, - {-1.624033, -0.509895}, {0.174146, 0.821782}, {0.724604, -1.376511}, - {1.393602, -0.607327}, {-0.510112, 1.657338}, {0.015431, -0.001536}, - {-0.130508, -1.555322}, {0.000549, -0.198261}, {0.311467, 1.081502}, - {0.243611, -1.360408}, {-0.894903, -0.713205}, {0.388720, -0.109925}, - {0.521072, 0.398730}, {0.574843, 0.157766}, {-0.617189, -0.437769}, - {-0.211497, 0.748437}, {0.702855, 0.433536}, {0.432827, -0.382179}, - {0.447150, 1.156332}, {-0.241624, 0.581731}, {1.292169, 0.119941}, - {0.294642, -0.871407}, {0.078200, -0.381604}, {1.032330, 0.908219}, - {0.814741, -0.010627}, {-0.355983, -0.219502}, {-0.243898, -0.682654}, - {0.635359, -1.737373}, {-0.107756, -0.345466}, {-1.263305, -0.370563}, - {0.175980, 0.376202}, {1.108166, -0.738982}, {-0.840360, -0.285063}, - {-0.324492, -0.354966}, {0.478240, 0.505811}, {0.319641, 0.856630}, - {-0.332756, 0.510426}, {2.005001, 0.405899}, {0.155406, -1.227927}, - {0.289207, 0.937761}, {0.051751, -0.221727}, {0.149748, 0.268723}, - {-1.025125, 0.344019}, {0.582839, -0.321769}, {-0.775607, 1.441111}, - {0.027304, -0.584074}, {0.863740, 0.627974}, {-1.060986, 0.321724}, - {-0.281804, -0.212668}, {-0.329657, 0.371799}, {0.531848, -0.158105}, - {0.026672, -0.486360}, {-0.218047, 0.635491}, {0.666709, 0.993036}, - {0.459120, 0.452677}, {0.248002, 0.115551}, {0.206833, -1.105758}, - {-1.569637, -0.151421}, {0.180787, 0.166870}, {1.226875, 1.017497}, - {-1.217281, -0.448781}, {-1.565721, 0.396797}, {-0.217848, -0.273230}, - {-0.526096, 0.662491}, {-1.229207, 0.003437}, {0.383000, -0.372112}, - {1.650689, 0.790800}, {0.536051, 1.136376}, {-0.392390, -0.182759}, - {-0.163732, -1.005985}, {-1.140970, 0.475364}, {0.184716, -1.063705}, - {0.945672, -0.647324}, {0.317886, -0.600098}, {-0.396886, 0.775971}, - {0.101952, -0.090515}, {0.276508, 1.253623}, {-0.416748, 0.718122}, - {-0.099947, -0.530635}, {-1.499713, 0.042544}, {0.397603, -0.268105}, - {0.204542, -1.122999}, {-0.983787, -0.646320}, {0.250761, -0.124317}, - {0.473183, 0.341900}, {-0.705158, 0.158472}, {0.371776, 0.467056}, - {0.257410, -1.623932}, {0.092234, -1.078695}, {-0.295587, 0.833320}, - {-0.531598, -0.934193}, {0.124603, -0.162051}, {-0.040780, -0.840548}, - {0.785678, 0.974760}, {-0.282413, 0.507355}, {0.057080, -0.754205}, - {-0.817044, 0.275642}, {0.449437, 0.089153}, {-0.482425, 0.004603}, - {1.564964, -1.225545}, {-0.296003, 1.012181}, {0.691527, 0.516007}, - {0.861031, -0.816600}, {0.276897, -0.215415}, {-0.478248, 1.152079}, - {-0.243767, 0.552381}, {-0.615166, 0.120121}, {-0.258476, -0.311377}, - {-0.105806, -1.233470}, {0.933500, 0.163247}, {0.430437, 1.092868}, - {-1.072369, -0.214236}, {-0.893004, 0.971634}, {-0.207458, -0.661337}, - {0.591135, 0.252093}, {-0.044583, 0.323754}, {0.455226, 0.549888}, - {1.492632, 0.101093}, {-0.299396, -0.684097}, {0.378218, -0.334619}, - {0.232610, -0.041219}, {0.051506, 0.557403}, {1.217142, -1.249841}, - {0.292157, 1.470057}, {0.044903, 0.071167}, {-0.290396, 0.496778}, - {-0.181920, 0.671063}, {-0.579713, -1.039686}, {-1.356184, 0.198084}, - {0.175306, 1.691410}, {1.030813, -0.581909}, {-0.959255, -0.444030}, - {-0.357172, -0.625541}, {0.681264, 0.143548}, {-0.065022, -1.255416}, - {-0.025972, 0.751640}, {0.195418, 0.198967}, {-0.581082, 1.283469}, - {0.990660, 0.778059}, {-0.282029, 1.107940}, {-0.273763, 0.542701}, - {0.995269, 0.786820}, {-0.232447, 0.365286}, {0.704749, 1.074984}, - {0.644010, 0.101394}, {0.378756, -0.170049}, {0.796258, 0.096740}, - {0.728484, 0.048925}, {-0.029005, 1.135049}, {-1.414461, 0.100530}, - {0.195218, 1.644827}, {-1.140545, 0.941779}, {-0.380364, -0.295396}, - {-0.489642, 0.720380}, {0.491530, 1.084624}, {0.771087, 0.723882}, - {-0.079504, -0.260956}, {0.512847, 0.722547}, {0.807801, -0.638746}, - {-0.235408, -2.425129}, {-0.331496, -0.883682}, {-0.331335, 0.149970}, - {0.777123, 0.876489}, {1.812793, -0.280792}, {-0.603163, 0.962356}, - {-0.433949, 0.895134}, {0.611068, -0.002651}, {-0.050707, -0.939219}, - {0.333190, -0.695877}, {1.033787, -0.977412}, {1.029110, 0.572951}, - {-0.703830, 0.009984}, {-0.605666, 0.240015}, {-0.892166, -0.256507}, - {0.310084, -0.876146}, {1.405525, 0.188992}, {-0.818726, 0.673212}, - {0.010904, -1.077932}, {-1.260912, 0.553293}, {-0.193185, 0.554862}, - {-0.169833, -0.541666}, {0.022431, -0.220661}, {-0.072948, 0.560653}, - {-0.643691, -0.722108}, {-0.414350, -0.104367}, {0.708357, 0.463080}, - {0.714304, -0.151360}, {-0.658587, -0.887861}, {0.149199, 0.432913}, - {-0.530458, 0.445705}, {1.826116, 1.011888}, {0.656833, 0.119869}, - {-0.563687, 0.624626}, {-0.525881, 0.838023}, {0.361541, 0.559821}, - {-1.743937, 0.165666}, {-1.349337, 1.152104}, {-0.049679, 0.493514}, - {1.987946, -0.325951}, {0.055513, 0.426012}, {-1.269326, 0.122713}, - {-0.773301, -0.328201}, {0.863300, 0.397242}, {1.404658, 0.490418}, - {0.697909, -1.272366}, {0.346984, 0.771560}, {-0.275198, 1.462558}, - {0.614286, -0.583483}, {0.491689, -0.121321}, {0.868958, -0.218826}, - {0.802647, 0.609581}, {-0.178894, -0.484794}, {1.554270, -0.459034}, - {-0.578008, -0.604401}, {0.141200, -0.810175}, {0.444930, 1.801883}, - {-0.510472, 0.370071}, {0.280709, -1.144972}, {0.020627, -1.159767}, - {-0.815817, -0.708195}, {1.525475, -1.186390}, {0.277199, 0.101433}, - {-0.263937, -0.366057}, {-0.084328, -0.735973}, {-1.014961, -0.808112}, - {-0.463739, 0.359998}, {-0.195469, -0.339523}, {-0.016981, 0.736436}, - {-0.265756, 0.651378}, {1.181170, 0.229175}, {0.508341, -0.387702}, - {0.232816, 0.750349}, {0.118147, 0.881985}, {0.775509, -1.072872}, - {0.126875, -0.169368}, {0.733796, -1.038803}, {-0.002779, 1.199573}, - {-0.771687, -0.819622}, {-0.160414, 1.766988}, {-0.554493, -0.822178}, - {-0.966927, -0.264584}, {-1.666005, 0.562460}, {-1.142024, -0.696414}, - {0.406841, 0.433538}, {-0.370948, -1.115653}, {0.136048, 0.160321}, - {0.288581, 1.454045}, {0.877842, -0.195856}, {-0.788680, -1.099470}, - {-0.132225, 1.177897}, {0.090549, 0.626800}, {-0.773979, -0.074852}, - {0.684609, 0.690323}, {0.177050, -1.167072}, {-0.324256, -0.482870}, - {-0.176754, -0.424217}, {-1.014998, -0.298680}, {-0.474555, -0.796117}, - {0.283239, 0.175760}, {0.614617, 0.095776}, {-0.294539, -0.581832}, - {-0.411225, -0.981276}, {0.042082, 0.873893}, {-0.603924, 0.401098}, - {-0.783720, -0.094055}, {-0.750818, 1.155413}, {-0.229883, -0.177973}, - {-0.439507, 0.600696}, {1.064919, 0.193246}, {-0.304774, 0.765127}, - {-0.423589, 1.423282}, {0.226341, 0.048299}, {-0.491662, 0.021729}, - {-1.190822, -0.192527}, {0.236763, -1.021980}, {0.347245, 0.305465}, - {0.437791, -0.174323}, {0.293884, -1.183318}, {0.090410, -0.351897}, - {0.127531, 0.572262}, {-1.046283, -0.452403}, {0.940061, -0.475348}, - {-0.986271, 0.443950}, {0.220640, 1.032270}, {0.286851, -0.234600}, - {0.875448, -0.665507}, {0.054512, 0.468117}, {-0.130507, 1.089372}, - {-0.035702, 0.486985}, {0.069264, -0.306520}, {-0.066945, -0.482707}, - {0.452421, 0.252962}, {0.597328, -0.457166}, {-0.475184, -0.265545}, - {0.663543, -0.025896}, {0.284485, 0.141732}, {0.041567, -0.957668}, - {0.290973, -0.844633}, {-0.681949, -1.232429}, {0.017290, 0.318637}, - {-0.575524, -0.211416}, {0.508609, 0.616042}, {0.019156, 1.014363}, - {-0.230623, -0.152963}, {0.390757, 0.179639}, {-0.076114, 0.571760}, - {-0.385456, 0.807338}, {1.161341, -1.117539}, {0.108692, -0.217050}, - {0.124773, -0.057939}, {0.460042, -0.075353}, {0.381092, -0.249534}, - {0.421018, 0.484359}, {0.008405, -0.001483}, {-1.033700, 0.064492}, - {0.168744, -0.730623}, {-0.456130, -0.563921}, {-0.042797, -0.009800}, - {0.296420, 0.994668}, {-0.431712, -0.260015}, {-0.851644, 0.160001}, - {0.315681, -0.696367}, {2.018690, 1.186418}, {-0.250355, -0.220666}, - {0.748427, -0.192764}, {-0.047138, -0.852542}, {0.211458, 1.086426}, - {0.871051, -0.574737}, {-0.562745, 0.929652}, {0.283267, -0.955651}, - {-1.076759, -0.129783}, {0.675245, 0.669145}, {-0.702168, -0.896492}, - {-0.291861, 0.305292}, {-0.395244, 0.389980}, {1.207996, 0.801305}, - {0.975263, -0.313611}, {-1.106120, 0.102991}, {0.171218, 0.482130}, - {0.049836, 0.344150}, {-0.574798, 0.577927}, {0.172133, 0.333449}, - {-1.172473, 0.893130}, {1.350215, -0.102154}, {0.456540, 0.882785}, - {0.794284, -1.919899}, {0.870210, 0.114615}, {0.286346, 0.295210}, - {0.213541, 1.053429}, {0.087514, -0.244276}, {-0.872078, 0.726523}, - {0.614549, 0.116808}, {-0.631306, -1.519765}, {-0.542784, 1.390314}, - {0.087673, 0.809103}, {-1.379197, -0.585950}, {0.481568, 0.087880}, - {-0.119636, -0.372124}, {0.016361, -0.024546}, {0.371448, -0.472289}, - {-0.572025, 0.092977}, {0.848296, 0.441249}, {-0.453304, 0.205288}, - {-0.271298, 0.488850}, {-0.281843, -0.272080}, {-0.630517, -0.095495}, - {-0.762736, -0.986147}, {0.057032, 0.993819}, {-0.237911, -1.264914}, - {0.382413, -0.189031}, {1.303322, -0.407785}, {0.538644, 0.342608}, - {0.330098, -0.259188}, {-1.271100, -0.197699}, {1.826721, 0.415414}, - {0.508481, -0.379909}, {-0.724041, -0.599641}, {-1.260518, -1.057946}, - {-0.374209, -0.096198}, {0.392033, 1.122224}, {-0.810644, 0.587815}, - {0.365400, 1.456110}, {0.729153, 0.098419}, {-0.225790, -0.539353}, - {-0.858060, 0.189621}, {0.376242, -0.480459}, {0.232259, -0.269844}, - {0.129211, 1.283390}, {-0.948935, 0.157627}, {0.613247, 0.455174}, - {-0.868574, 0.557501}, {0.133104, 1.933073}, {0.493281, -0.734954}, - {-0.317203, 0.085507}, {-0.072179, -0.635623}, {-0.985795, 1.545802}, - {0.274456, -0.767398}, {0.728872, 0.296392}, {0.593057, 0.123323}, - {-0.183197, 1.056002}, {-0.032735, -0.029408}, {0.677645, 0.164514}, - {0.091211, -0.485727}, {-2.498205, 0.808644}, {0.996395, 0.003573}, - {0.266711, -0.454450}, {-0.263794, -0.040333}, {0.354992, -0.771940}, - {1.172659, -0.469942}, {-0.367261, -0.704077}, {-0.143653, 0.755396}, - {1.250809, -0.502261}, {1.019959, -0.368994}, {1.590169, -0.138417}, - {0.177393, 0.277887}, {-0.611047, 0.094640}, {-0.549878, -0.036917}, - {0.807628, 0.821926}, {-0.010075, 0.421684}, {-1.108953, -0.164506}, - {-1.299036, -0.726626}, {0.671054, -0.292631}, {0.742427, -0.086543}, - {-1.439898, -0.338884}, {-0.130204, 0.124819}, {0.283823, 0.657034}, - {-0.109731, -1.711867}, {-0.245196, 0.209915}, {0.134997, -0.672792}, - {0.052287, -0.037615}, {0.660337, -0.488347}, {-0.874463, -0.641201}, - {-0.570408, 0.594626}, {0.681125, 1.678168}, {0.795936, -1.473398}, - {0.778924, -0.690375}, {0.431527, -0.973408}, {-0.440928, -0.786162}, - {0.032495, -0.001239}, {0.384671, 0.422006}, {-0.232534, 0.009146}, - {-0.797171, 0.074804}, {0.273856, -1.269545}, {-0.171058, -0.791818}, - {1.061619, -0.008526}, {1.034158, -0.217879}, {-1.073993, 0.364692}, - {0.025259, 0.399442}, {-0.054965, 0.068811}, {-0.267747, -0.643064}, - {1.461066, -0.012076}, {-0.836750, 1.168916}, {0.751557, 0.373319}, - {0.284049, -0.561823}, {0.913427, 0.006951}, {0.604871, 0.613051}, - {0.938690, 0.069825}, {0.501171, -0.252792}, {0.173783, 0.437109}, - {-0.295979, -0.584728}, {0.268176, -0.073450}, {-0.039777, 0.110535}, - {0.448278, -0.594228}, {-0.298566, -0.370610}, {0.359251, 1.950238}, - {0.585298, -0.306953}, {0.002142, -0.517386}, {0.039309, 0.239663}, - {-0.535150, 0.901889}, {0.909644, -0.597911}, {1.686969, -0.229593}, - {-0.675714, -0.593584}, {-0.388048, -1.333594}, {0.141555, -0.868886}, - {0.566275, 0.216197}, {0.132033, 0.260242}, {0.623869, 0.696830}, - {0.374297, -0.755016}, {-0.375173, -0.919679}, {0.062230, 0.203455}, - {-1.171487, 1.698409}, {-0.657380, -0.503744}, {0.414301, 0.170470}, - {-0.611193, -0.370376}, {0.470375, -0.330994}, {-0.990314, 0.032083}, - {-1.312575, -0.450515}, {0.164736, -0.128481}, {-0.912458, -1.485285}, - {-0.073236, -0.747723}, {0.278586, -0.044914}, {-0.449681, -1.314391}, - {0.509207, 1.963487}, {0.443624, -1.487975}, {0.605531, 0.966878}, - {0.884828, 1.743505}, {-0.335874, -0.307016}, {-0.615678, 0.670790}, - {0.953036, 0.532101}, {0.825614, 0.299899}, {0.399454, -0.946779}, - {-0.563757, -0.802924}, {-0.023567, 0.554864}, {0.046483, -0.362895}, - {-0.330303, 0.001323}, {0.433488, 0.570663}, {-0.127014, 1.545073}, - {0.235044, -0.692703}, {0.339960, -0.764085}, {0.765956, -0.657851}, - {1.077800, -0.036173}, {0.431734, -0.931291}, {0.205175, 1.147130}, - {-0.058883, -0.741478}, {0.538996, 0.374879}, {-0.435105, 0.405032}, - {0.930107, 0.775706}, {0.158508, -0.559880}, {-0.043020, -0.139690}, - {0.218128, -0.940794}, {0.107406, -0.191890}, {-0.040673, -0.450419}, - {0.710685, -0.272868}, {0.214608, -0.733148}, {-0.440708, -0.166709}, - {0.216889, -1.104968}, {0.114942, 0.352891}, {0.515426, 0.834965}, - {-0.186585, -0.424557}, {1.257561, -0.686647}, {-0.278166, -1.068819}, - {0.045243, -0.149820}, {-0.806871, 0.387979}, {0.040414, -0.705648}, - {-0.016666, 1.472054}, {-0.427683, 0.185384}, {0.017081, 0.122558}, - {-1.422488, 0.695789}, {0.084603, 1.586049}, {-0.226098, -0.072565}, - {-0.689706, 0.246104}, {0.644654, 0.604549}, {-0.260322, 1.463776}, - {-0.430197, 0.702709}, {-0.736554, 1.401740}, {0.204332, -0.375610}, - {-0.939807, 1.309502}, {-0.037928, 0.882787}, {-0.338569, 0.066617}, - {0.075071, 0.541251}, {0.172982, 1.021832}, {0.431851, -0.387000}, - {0.307106, -0.919275}, {0.988648, -0.253024}, {-0.673928, 0.782128}, - {-0.688000, -0.918977}, {-0.027596, 0.365924}, {-0.017926, 1.175705}, - {0.199711, -0.926633}, {0.739217, -0.155412}, {-0.592162, 0.021539}, - {0.080983, -0.276297}, {0.537674, -0.246176}, {0.015238, 0.398952}, - {-0.027734, -0.249279}, {-1.378429, 0.127339}, {-0.809060, 1.028061}, - {0.218043, -0.052562}, {0.856957, 1.006954}, {-1.011526, 0.164596}, - {0.476552, 0.826400}, {0.022545, 0.496168}, {-0.593984, 0.825097}, - {-0.170301, -0.015034}, {0.206013, 0.981045}, {0.558955, -2.047671}, - {-0.285619, -0.535242}, {0.338595, -0.054516}, {-0.320398, 0.326921}, - {-1.165209, -0.830182}, {-0.247664, -0.461885}, {0.566396, -0.099876}, - {-0.062142, 0.605779}, {0.862879, 0.021585}, {-0.964586, -0.456012}, - {0.383126, -0.226075}, {1.125091, 0.452775}, {0.287649, 1.076596}, - {0.090020, 0.540193}, {-0.329572, 1.895356}, {0.883979, -0.133990}, - {0.777596, 0.934683}, {0.305673, -0.097759}, {0.445752, 0.546775}, - {0.438676, -0.401466}, {0.515517, 0.663239}, {-0.861769, -0.334754}, - {-1.155387, 1.376435}, {0.693576, 0.380899}, {-0.233764, -1.427252}, - {-0.512225, 0.275704}, {-1.300603, -0.025943}, {-0.886231, 0.393107}, - {0.203813, -1.151956}, {1.065475, 0.274747}, {1.298933, -0.171110}, - {-0.034164, -0.546428}, {1.344656, 0.280082}, {0.303208, -0.150756}, - {-0.278895, 0.217139}, {0.774302, 0.280649}, {-0.397168, -0.748535}, - {-0.154686, -0.416415}, {0.108531, -0.707248}, {1.044479, 0.517916}, - {-1.079087, -0.181141}, {-0.618875, -0.601089}, {-0.903401, 1.369553}, - {-0.434703, 1.004383}, {0.084219, -0.594635}, {0.760134, 0.396506}, - {-0.868353, 0.425362}, {0.190516, -0.470775}, {0.130523, -0.050180}, - {1.613252, -0.894441}, {-1.230645, 0.027123}, {-0.207136, 1.406158}, - {0.097428, 0.373589}, {1.101023, 0.803449}, {1.891159, -1.054308}, - {-0.158666, -0.325728}, {0.218607, -0.427098}, {0.581789, -0.007118}, - {0.407515, 0.254448}, {0.153202, -1.566655}, {1.270156, 0.791481}, - {-0.807984, -1.293868}, {-0.631812, 0.190605}, {1.684536, 0.502642}, - {-0.623167, -0.326260}, {0.460536, 1.490078}, {-0.633215, -0.730038}, - {0.455857, -0.569264}, {1.113987, 0.512264}, {-0.303183, -0.813196}, - {1.242308, 0.346664}, {0.235454, 0.588078}, {0.884906, -0.682330}, - {-0.870385, 0.197874}, {-0.392108, 1.132213}, {0.139987, 0.749446}, - {0.057771, -0.617700}, {-0.090352, 0.118191}, {0.007506, 0.480385}, - {-0.183661, -0.349638}, {-0.201963, 1.476555}, {-0.705242, -0.479413}, - {0.975864, 0.280884}, {0.972210, 0.753330}, {0.338783, -0.040685}, - {-0.054492, 0.060498}, {-0.159293, 0.819645}, {-1.053555, 0.401428}, - {0.115345, -0.107756}, {-0.194026, 0.187454}, {0.439241, -0.428716}, - {-0.065278, -1.075082}, {-0.272430, 0.840665}, {-0.259244, 0.669703}, - {0.033760, -1.203906}, {0.088858, -0.092993}, {-0.855095, -0.299047}, - {-0.255525, 0.089061}, {-0.202798, 0.134231}, {0.574524, 0.323405}, - {-0.355686, -0.509011}, {-0.238557, 0.035684}, {-0.381287, -0.557626}, - {0.657797, 0.952902}, {-0.077875, 0.403221}, {-0.237508, 1.411722}, - {0.652551, -0.088574}, {-0.013073, 0.581057}, {0.570232, -0.572671}, - {1.442937, -1.109803}, {0.997920, -0.010095}, {-0.152155, 0.277499}, - {-0.584876, -0.218181}, {0.717679, -0.143585}, {-0.075248, -0.695632}, - {-1.576641, -0.266963}, {-0.228247, -1.087442}, {-0.672358, -0.340599}, - {-0.682509, -0.975534}, {0.412126, 0.155315}, {0.540229, -0.913902}, - {-0.949688, -0.498559}, {0.038080, -0.334697}, {-0.844788, 0.671919}, - {-0.340829, -1.268134}, {0.033822, 1.867938}, {-0.995863, -0.338217}, - {0.179299, -0.122295}, {-0.037869, -0.933049}, {-0.750164, -0.719282}, - {-0.833977, 1.003917}, {0.932833, 0.760645}, {0.867564, 0.655081}, - {-0.504874, -0.636730}, {0.714318, -1.290905}, {-0.672831, 0.341525}, - {0.278639, 0.168889}, {-1.057328, -0.938548}, {-0.028958, 0.765673}, - {0.659485, -0.427439}, {-0.688018, 0.905752}, {0.593115, -1.081085}, - {1.020607, -1.035200}, {-0.288406, 0.254196}, {0.681091, -0.195788}, - {-0.405965, 0.877370}, {0.247328, -1.348181}, {0.193907, -0.618541}, - {0.104252, -0.480525}, {-1.219477, -0.511557}, {-0.355216, 0.903456}, - {-1.510029, -0.513418}, {-0.622239, 1.647319}, {1.211936, -0.279494}, - {-0.944064, 0.760953}, {0.165329, 0.746784}, {1.123063, 0.150372}, - {0.591389, 0.426566}, {-0.763105, 0.099885}, {-0.233567, -0.051927}, - {0.451271, 0.672933}, {-0.319276, -0.725166}, {0.090943, 0.256992}, - {-0.740401, 0.083129}, {-0.493689, 0.594996}, {-1.160349, 0.225323}, - {-0.120932, -0.308355}, {-0.242434, 0.784263}, {-0.564637, -0.499833}, - {-0.094070, -0.250553}, {-0.953770, -0.371332}, {1.661581, 0.171338}, - {0.341775, 0.270245}, {0.118130, 0.083808}, {-0.079126, -0.216981}, - {0.338884, 0.258435}, {0.264433, -0.841639}, {0.232893, -1.129943}, - {1.240106, -0.052206}, {0.209045, 0.058734}, {0.520361, 0.888685}, - {-0.349822, -0.636562}, {0.594371, 1.144844}, {0.075638, 0.714484}, - {-0.784900, -0.809998}, {0.662100, -0.092575}, {0.056696, 0.432525}, - {-1.239459, 0.384416}, {-0.006458, 0.746883}, {-0.290814, -0.506631}, - {0.561491, -0.077239}, {-1.024084, 0.663394}, {-0.157999, -0.050504}, - {1.085344, -0.554264}, {-0.708002, 0.222259}, {-0.593735, -0.009698}, - {0.223185, 0.251755}, {-1.023014, 0.387383}, {0.397333, 0.864350}, - {1.103984, 0.475520}, {0.352685, -0.245976}, {0.549224, 0.087034}, - {-0.472024, 0.633377}, {-0.620719, -0.384944}, {-0.442898, -0.177685}, - {-1.124416, 1.350868}, {0.618839, 0.158407}, {0.718180, 0.334085}, - {-0.107034, -1.414157}, {0.390844, -0.348879}, {0.416452, -0.381163}, - {0.016589, 0.693169}, {0.210261, 1.649291}, {0.151838, 0.205813}, - {-0.595573, -0.768804}, {-0.160431, -0.717857}, {-0.510800, -0.293505}, - {-0.818709, 0.437824}, {0.545773, 0.032159}, {0.676537, -0.059850}, - {-0.311443, -1.175198}, {0.157728, -1.121027}, {0.012740, 0.536150}, - {-0.639492, 0.488597}, {-0.070496, -0.204313}, {0.234541, 0.328949}, - {0.236419, -0.139396}, {-0.288891, 0.889796}, {0.148007, 1.176270}, - {0.546853, 0.583059}, {-0.361551, 1.330611}, {1.183964, 1.397033}, - {-0.993293, 0.519104}, {-0.712212, -0.401528}, {0.445422, -1.006540}, - {0.778229, -0.924857}, {0.140488, -0.120001}, {-0.930823, 0.679986}, - {0.269149, -1.501842}, {0.630853, -0.526320}, {0.957876, -0.802863}, - {0.190233, -1.009434}, {-0.185559, 0.932629}, {0.050613, -0.086777}, - {0.020035, -0.059037}, {-0.511718, -0.355513}, {-0.795821, 0.050420}, - {-0.656840, 1.891314}, {-0.055379, 0.405881}, {0.539094, 0.845218}, - {-1.014806, 0.375225}, {-0.503707, 1.354756}, {0.124660, -1.563966}, - {-0.465392, -0.054315}, {-0.437257, 0.566359}, {-0.082575, -0.150215}, - {-0.133522, 0.536886}, {0.594595, 1.933791}, {0.914843, -0.872862}, - {-0.247467, -0.433828}, {-0.064788, 0.077212}, {0.778095, -0.045493}, - {0.366523, 1.293263}, {0.094333, 0.230801}, {-0.614536, 0.463331}, - {0.430178, 1.113947}, {-0.150038, 0.174521}, {0.438024, 0.254990}, - {0.480884, -1.856722}, {-0.666409, -0.255484}, {-0.457158, -0.599194}, - {-0.450171, 0.118477}, {0.497637, -0.101183}, {-1.705586, 0.405099}, - {0.259566, 0.922599}, {0.672946, -0.407264}, {0.324409, 0.900242}, - {-0.243075, -0.163768}, {0.051280, 0.490307}, {0.571128, 0.105678}, - {0.345743, -1.177099}, {-0.869364, -0.068202}, {-0.334410, 0.647972}, - {0.476318, -0.010292}, {-0.404522, 0.623306}, {-1.162121, -1.071830}, - {-0.627528, -0.384318}, {-0.337665, -1.341870}, {0.041529, 0.841819}, - {-0.201762, -0.736758}, {0.184452, -0.757867}, {-0.709406, -0.513657}, - {-0.135826, -1.416885}, {-0.764527, -0.630076}, {-0.759073, 1.284986}, - {-0.016376, -1.529208}, {1.348773, -0.176343}, {-0.604174, 0.991312}, - {-0.281693, -1.131040}, {0.070203, 0.284520}, {-1.229019, -0.521961}, - {-0.321063, -0.524171}, {-0.284333, -0.886437}, {0.325590, -0.528520}, - {0.254426, -0.232536}, {0.263271, -0.448853}, {-0.872268, 0.657765}, - {-0.819516, -0.328243}, {-0.259070, 0.625280}, {-0.590739, -0.670188}, - {0.493374, 0.019055}, {1.344704, -0.174393}, {-1.182374, -1.425261}, - {-0.666870, 0.434800}, {-0.225687, 0.069924}, {0.375164, 1.016698}, - {0.327044, -0.675835}, {0.497187, 0.790896}, {-0.054661, -0.971456}, - {0.260230, 0.159026}, {-1.246029, -0.535410}, {-0.124982, 0.871965}, - {1.010443, 1.001963}, {0.452742, -0.029144}, {0.117958, -0.136449}, - {0.148605, -0.229105}, {0.251393, 0.825563}, {0.730487, 0.258166}, - {-0.610108, 0.505836}, {0.797900, 0.109366}, {-0.107968, 0.039054}, - {0.252653, -0.138314}, {0.035959, 0.047755}, {-1.412453, -0.353756}, - {-0.174516, -1.100457}, {-0.405645, 0.021713}, {-1.214659, -0.958074}, - {-0.598051, -0.067393}, {0.459193, -0.091313}, {-0.584458, -0.757231}, - {-0.806303, -0.669604}, {0.808333, 0.602605}, {-0.258282, -0.747621}, - {0.089092, -0.642856}, {-0.730287, 0.033052}, {0.087943, -0.788594}, - {0.341008, -0.211460}, {0.000571, 0.004990}, {0.670368, -0.386947}, - {0.557711, -0.002995}, {-0.293485, -0.872980}, {-0.783528, 0.580868}, - {-1.146005, 1.580005}, {-0.361812, 1.094479}, {0.124733, 0.413218}, - {-0.158285, -0.637446}, {0.364533, 0.669450}, {-0.382480, 0.147327}, - {-1.131368, -0.908078}, {-0.134073, 0.755815}, {0.085353, 0.234990}, - {0.038784, -0.362630}, {-1.186840, -0.015796}, {0.464353, 0.494665}, - {-0.835406, 0.374020}, {-0.321494, 0.250667}, {0.327866, 0.142119}, - {0.104908, 0.694259}, {0.081477, -0.930475}, {-1.022207, 0.157953}, - {1.114196, -0.318852}, {-0.153446, -0.083414}, {-0.004149, -1.802615}, - {0.061545, -0.040178}, {-0.799257, -0.743362}, {-0.208531, -0.357144}, - {-0.319060, 1.569294}, {0.077045, -0.067189}, {-0.161677, 0.635664}, - {-1.405501, -0.763577}, {-0.397846, 0.381495}, {-0.609449, 0.151477}, - {0.790843, 0.583281}, {-0.125419, -0.673059}, {0.048552, -0.170964}, - {0.251041, 1.361702}, {0.146372, -0.095489}, {0.636802, 0.172758}, - {0.019193, 0.213042}, {-1.039100, -1.241302}, {-0.564480, -0.945689}, - {0.486241, -0.284521}, {0.331050, -1.330519}, {-0.267252, -0.434646}, - {0.766397, -0.345934}, {-0.200744, 0.569833}, {-0.041749, 1.160658}, - {-0.166904, 0.567353}, {-0.647654, -0.482519}, {1.259189, 0.238637}, - {-0.061864, -1.133994}, {0.709167, 0.066215}, {0.421481, 0.512487}, - {0.539837, 0.885868}, {-0.840289, -1.137802}, {1.081907, -0.754870}, - {0.139268, -0.120622}, {1.964821, 1.068368}, {0.623684, 0.427752}, - {-0.307559, -0.061760}, {-0.075474, -0.859298}, {0.856064, -0.238438}, - {0.100253, 0.302974}, {-0.637176, -0.566873}, {-0.008290, 0.282227}, - {1.214723, 0.715509}, {-0.162779, -1.789175}, {-0.134063, 0.710633}, - {-0.519932, 0.522329}, {0.204941, 0.159361}, {-0.482306, -0.376938}, - {-0.188561, 0.397104}, {0.440798, 0.479065}, {0.765870, 0.912747}, - {-0.419145, -1.087277}, {0.200862, 0.291699}, {1.606653, 0.419064}, - {-0.231721, -0.095246}, {-0.709828, -0.172976}, {0.156692, -0.203509}, - {-1.074669, 0.010797}, {0.247751, -0.531622}, {0.596496, -0.743859}, - {-0.167848, 0.769772}, {-0.600885, -0.306912}, {-1.540693, 0.221595}, - {0.449488, -0.651038}, {-0.250910, -0.287887}, {-0.367598, 0.361719}, - {0.494129, 0.106607}, {-0.074593, -1.892982}, {0.883074, 0.395411}, - {-1.092268, 0.178541}, {-0.087335, -0.713201}, {-0.276838, -0.297331}, - {0.652034, -0.294585}, {0.545522, -0.253011}, {0.923416, 0.397211}, - {-1.625554, -0.069215}, {0.004244, -0.025244}, {0.961205, 1.110819}, - {-0.183857, -0.022013}, {0.193756, 0.316726}, {-2.046393, -0.164273}, - {-0.368365, -0.635641}, {-0.977759, 0.639374}, {-0.511194, 0.291523}, - {-0.240401, 0.676329}, {0.444406, 0.962063}, {-0.276425, 1.306324}, - {-0.632475, -0.521505}, {-2.202754, -0.707231}, {0.036750, -1.180940}, - {1.569251, -0.049689}, {0.398289, 0.888255}, {0.348308, -1.632712}, - {-0.564295, -0.266565}, {0.269295, -0.357566}, {0.717308, -0.386385}, - {0.055096, 1.001055}, {-0.316491, 0.558610}, {-0.104349, -0.364259}, - {-0.628408, 0.275177}, {-0.793190, -0.708380}, {0.273673, -0.761222}, - {-0.324338, 0.469933}, {-0.879443, 1.299100}, {-1.259126, 0.852917}, - {-0.076886, -0.512190}, {0.102022, -0.181585}, {0.519581, 0.053206}, - {0.001434, -0.202726}, {-1.015981, 0.459688}, {1.125770, 0.940926}, - {0.312231, 0.424855}, {-0.499418, -0.502875}, {0.517807, 0.069577}, - {-0.973119, 0.268788}, {0.374483, -0.502729}, {0.003039, -0.024829}, - {-0.040855, 1.072277}, {-0.951793, -0.475118}, {-0.710944, -0.003773}, - {-0.114791, 1.219599}, {-0.245796, 0.792555}, {-0.003881, 0.164329}, - {0.352843, 0.700678}, {1.098609, -0.455416}, {0.890404, -0.589496}, - {0.004892, -0.535082}, {1.442431, -0.702892}, {-0.366707, -1.095639}, - {1.025595, 0.172890}, {0.938371, 0.195878}, {0.126380, 0.673834}, - {-0.578430, 0.938407}, {-0.502260, 0.910490}, {0.254066, 0.433385}, - {-0.220341, 1.040807}, {1.453578, 0.343099}, {-0.608675, -0.498692}, - {0.073501, 0.011211}, {-0.829259, 0.377760}, {-0.079486, -1.685480}, - {1.145159, -0.985214}, {0.098902, -0.864296}, {0.393820, 1.649395}, - {-0.734563, 0.744368}, {-0.147095, -1.257531}, {-1.627407, -1.136028}, - {0.467873, 1.041606}, {0.757500, -0.414132}, {0.831162, -1.034454}, - {0.816375, 0.500999}, {0.702928, 1.649657}, {0.080263, -0.721470}, - {-1.187533, -0.047103}, {-0.150313, 1.708622}, {0.493906, -0.679800}, - {0.594035, -0.186757}, {-0.240079, 1.222442}, {-0.360900, 0.050265}, - {0.144905, 0.624081}, {1.181170, 0.285112}, {0.290493, 0.604750}, - {1.092495, 0.412827}, {0.562585, 0.524007}, {0.341804, 0.235361}, - {-1.162588, -0.993807}, {0.413398, 0.629788}, {-0.085675, 0.234139}, - {0.096242, -0.149101}, {-0.237502, -0.226784}, {1.018918, 0.053213}, - {-0.242669, -0.787538}, {0.756043, -0.235274}, {0.919413, 0.564605}, - {1.108872, 0.879978}, {-0.581288, 0.281426}, {-0.326461, 1.233718}, - {-0.079129, -1.162175}, {0.349478, -0.844907}, {0.027088, -0.819916}, - {0.170056, 0.187616}, {0.502767, -0.666850}, {0.961324, -0.584669}, - {0.710063, 0.119446}, {0.239278, 0.976768}, {-0.014996, 0.524941}, - {0.008554, 0.179727}, {-0.393247, -0.037826}, {0.718612, -0.978392}, - {-0.225419, -0.038771}, {-0.227036, -0.165385}, {0.121599, -0.197455}, - {1.134869, 0.485862}, {-0.947191, -0.134063}, {-0.654587, 1.189330}, - {0.443246, -0.706134}, {-0.830123, -0.240530}, {-0.113430, 1.241655}, - {-0.108660, -1.135730}, {0.036003, -0.841002}, {-0.157794, 0.185786}, - {-0.483079, 0.099628}, {0.280081, 0.479144}, {1.939184, -0.257319}, - {-0.687604, 0.274654}, {0.281510, 0.228436}, {-0.028762, -0.144790}, - {-0.171744, 0.621507}, {-0.370458, -0.435995}, {-0.369755, 0.546579}, - {1.695030, 0.039443}, {1.240829, -0.834031}, {0.295979, -0.031126}, - {-0.422307, -0.218957}, {0.139370, 0.067480}, {0.184715, -0.646348}, - {-0.818519, 0.518805}, {-0.103088, 0.886249}, {-0.138199, -0.692871}, - {-0.039802, 0.305166}, {0.227665, 0.707830}, {0.407761, -0.090334}, - {-0.148850, 1.035646}, {0.706539, 0.838360}, {-1.216193, 0.118999}, - {-1.145744, -0.154962}, {-1.072350, 0.028873}, {0.816804, -0.037296}, - {-0.223583, 0.078154}, {0.551985, -0.137222}, {-0.434480, -0.170241}, - {-0.717792, 0.161839}, {0.404747, -0.083635}, {0.457787, 0.137080}, - {-0.205589, 0.734910}, {-0.788705, 1.504406}, {0.647835, -0.940490}, - {1.096260, -0.020625}, {-0.515190, 0.721472}, {0.151921, 0.029406}, - {-1.071512, -0.382693}, {-0.666773, 0.643925}, {0.473907, 0.434675}, - {0.281689, 0.152364}, {1.231462, 0.143107}, {0.422616, 0.642618}, - {-0.860802, 1.066102}, {0.180806, -0.160456}, {-0.171602, 1.259847}, - {-1.080608, -1.537974}, {0.247965, -0.391762}, {-0.597206, -0.026325}, - {0.806679, 0.506041}, {-0.448461, -0.551637}, {0.609211, 1.564775}, - {-0.584254, -0.421677}, {-0.115819, 0.092741}, {0.630211, -0.423075}, - {0.219037, 0.467483}, {0.330857, 0.747908}, {-0.653036, 0.009290}, - {-0.785070, -0.874116}, {1.707815, 0.381228}, {0.023747, -1.518223}, - {-0.937137, -0.965197}, {0.640566, 0.933056}, {-0.594679, -0.574540}, - {0.296794, -0.291891}, {-0.714825, 0.378028}, {0.757843, 0.220650}, - {1.019762, 2.070884}, {1.052090, -0.108974}, {0.617214, -1.030121}, - {0.234111, 1.070887}, {0.325029, 1.415523}, {-1.411232, -0.591198}, - {0.955943, 0.862474}, {-1.524439, 0.478968}, {0.161252, -0.000874}, - {-1.682225, -0.113368}, {-0.714802, 0.379857}, {0.815552, -0.386556}, - {0.565304, 0.508925}, {0.033944, -0.055679}, {-0.160544, -0.364665}, - {1.167740, -0.747209}, {-0.114289, -0.426222}, {0.998961, -0.781649}, - {0.480485, -0.325437}, {0.818972, 1.053668}, {-0.759151, 0.662107}, - {-0.533949, 1.213625}, {-0.348061, -0.399280}, {-0.612857, 0.282472}, - {-0.155041, 0.177124}, {1.564518, 0.497387}, {-0.259280, 0.598564}, - {-0.330630, -0.194511}, {-0.927641, 0.683062}, {-0.492680, 0.187990}, - {-0.486909, 0.556354}, {-1.016376, 0.123981}, {0.605410, 0.661383}, - {-1.259776, -0.139097}, {0.687748, -0.124519}, {1.076749, 1.172916}, - {0.826104, 0.453227}, {0.916044, 0.484496}, {-0.220030, 0.081309}, - {-0.762988, -0.501734}, {0.156663, -0.397336}, {-0.645976, -0.464085}, - {0.013181, -0.690831}, {1.418278, -0.223876}, {0.138929, 0.135069}, - {0.576396, -0.082604}, {0.341489, 0.166084}, {0.239311, 0.512591}, - {-0.705057, 0.281017}, {-0.216695, 0.700219}, {-0.052454, -1.245938}, - {-0.553732, -1.127581}, {-0.875834, 0.839077}, {0.590675, -0.603937}, - {1.115400, 0.110295}, {-0.433421, 0.192051}, {0.724311, -0.663050}, - {-0.511338, -0.678864}, {0.319840, -0.020854}, {-1.173155, 0.013443}, - {0.379830, 0.418095}, {-1.047586, 0.754616}, {-0.458533, -0.744747}, - {0.039738, 0.740735}, {-0.448691, -1.323799}, {-0.614500, 0.274110}, - {-0.954928, 1.710574}, {-1.115993, 0.162485}, {1.193523, -0.172836}, - {-0.813587, -0.815742}, {0.432139, -0.761635}, {0.539046, -0.256594}, - {0.293082, 0.217539}, {0.390536, -0.019131}, {-0.520508, -0.341834}, - {-0.124911, -0.157248}, {-0.637428, -0.090345}, {-1.047505, 0.197182}, - {1.028592, 0.057271}, {0.228695, -0.421307}, {0.160562, 0.065647}, - {-0.125276, 0.570122}, {0.771720, -0.929429}, {-0.885627, -0.643624}, - {0.674625, 0.505683}, {-0.361914, -0.577650}, {0.053097, -0.825371}, - {1.336278, -0.384586}, {0.004049, 0.906965}, {-1.072504, 0.415022}, - {0.802524, -0.826920}, {-0.955720, 0.142124}, {-0.125373, 1.113202}, - {0.334120, 0.836902}, {0.835931, -0.122422}, {1.106213, -0.047726}, - {2.296859, 0.078391}, {0.366122, -0.430429}, {0.701139, -0.605645}, - {-0.146080, -1.767753}, {0.016836, 1.135654}, {-0.176842, -0.909804}, - {0.161320, 0.030687}, {0.095294, -0.085024}, {-0.777534, -0.732828}, - {-0.415510, 0.843213}, {-0.064383, 1.441395}, {-0.077757, -0.848909}, - {0.344072, -0.405862}, {-0.685213, -0.152876}, {2.219878, -0.147536}, - {-0.259629, -0.346784}, {-0.154063, -0.256064}, {-0.347575, -0.135536}, - {-0.507167, -0.471854}, {1.053886, 1.000078}, {0.899577, 0.115105}, - {-0.044331, -0.789282}, {-0.151879, -1.288516}, {0.121111, -1.153694}, - {1.329053, 0.966325}, {-0.678745, 0.814417}, {-0.257457, -0.282341}, - {-0.962823, -0.351230}, {0.873445, 0.133721}, {0.627689, -0.454924}, - {-0.255754, -0.414715}, {0.018030, 1.186715}, {-0.957481, 0.875629}, - {-0.117672, -0.173647}, {0.174636, -0.871127}, {-0.384196, 0.778462}, - {0.082789, 0.383797}, {-0.701027, -1.355462}, {0.668719, 0.695236}, - {-0.042132, 2.102093}, {1.413857, -0.300645}, {-0.112820, -0.849034}, - {-0.612251, 0.816555}, {0.608860, 0.226898}, {-0.179368, -0.087384}, - {0.040499, 0.002180}, {-0.737672, 0.256065}, {-0.161481, 0.832177}, - {1.099151, 0.426534}, {-0.235701, -0.127462}, {-0.152026, -0.390955}, - {-0.543015, -0.478542}, {-1.160759, 0.623038}, {-0.202691, 0.593749}, - {1.786126, -0.318883}, {1.316698, 0.020550}, {0.169104, -0.060324}, - {1.045560, -0.056788}, {1.020056, -0.597922}, {-1.645949, 0.293017}, - {0.923375, -0.090014}, {-0.844203, -0.218401}, {-0.239957, 0.368485}, - {-0.309986, 0.239761}, {-1.016587, -0.062435}, {-0.767244, 0.118052}, - {0.277478, 0.074426}, {0.683305, -1.041466}, {-0.808274, -1.614546}, - {0.394355, 0.811173}, {0.796282, -1.296704}, {-0.714204, 0.137774}, - {0.196927, 0.370427}, {-0.376269, -0.542680}, {0.791492, -0.123199}, - {0.321249, 0.521318}, {1.046344, 0.661679}, {-0.141206, -0.238853}, - {-0.383405, 0.290032}, {0.376350, 0.432868}, {-0.049260, -0.368856}, - {0.408613, -0.014061}, {-0.326055, 0.816902}, {-0.026001, -0.589331}, - {-0.072918, 0.200475}, {0.331867, -1.316811}, {0.435541, -0.935694}, - {0.510818, 1.141595}, {-0.190277, -1.450792}, {0.173657, -0.279898}, - {0.438387, -0.236168}, {-0.079822, -1.188886}, {0.332160, -0.026150}, - {-0.156566, -0.711998}, {1.519541, 0.155118}, {-0.252771, 0.027134}, - {-0.051493, 0.730522}, {1.034388, -0.494617}, {0.585226, -0.142609}, - {-0.056058, 0.636934}, {0.427097, -0.139863}, {0.142636, -0.376670}, - {0.261685, -0.129577}, {0.622429, -0.458139}, {0.558685, -1.457037}, - {-0.302307, -0.237556}, {0.667578, -0.893159}, {0.394038, -0.616568}, - {-1.053062, -0.607413}, {-0.102774, 0.550373}, {-0.151209, -0.605143}, - {0.982131, -0.044701}, {0.872422, 0.300385}, {-1.738852, -0.042787}, - {-0.927014, 0.312879}, {1.133143, 0.059571}, {-1.447607, -0.203064}, - {0.844638, -0.610940}, {-0.131441, -0.383945}, {0.185690, 0.504708}, - {0.873802, -0.522457}, {-0.241741, -0.833009}, {-0.527447, -0.384432}, - {-0.313053, 0.007224}, {-0.144519, -1.752126}, {-0.350914, 0.331914}, - {0.019446, 0.830710}, {-0.361050, 0.087871}, {0.136350, -0.729097}, - {-0.727329, -1.483267}, {0.506054, -0.485436}, {0.062342, 0.447545}, - {0.577105, 0.248545}, {-0.160478, 0.636342}, {0.874559, 0.051499}, - {0.105072, -0.821176}, {-0.398886, 0.154675}, {-0.622607, 0.598468}, - {-0.199183, -0.205099}, {-0.450282, -0.153537}, {0.663143, -0.304326}, - {-0.184256, -1.048931}, {-0.162581, 0.645661}, {-1.044422, -0.455806}, - {-1.229037, -0.793770}, {-2.194331, -0.034931}, {0.302824, 0.337893}, - {-0.190657, 0.691359}, {0.829411, 0.226586}, {-0.425507, -0.020147}, - {-0.664468, 0.683717}, {-0.671081, -0.230903}, {-0.907480, -1.183741}, - {0.554297, -0.117632}, {0.096878, 0.871193}, {-1.083314, 0.379586}, - {-0.234206, -0.116224}, {1.369810, 0.686732}, {-0.721421, -1.029317}, - {-0.368926, 0.569493}, {1.046382, 0.740596}, {0.360666, 0.448457}, - {0.480405, 0.359113}, {-0.086104, -0.363264}, {0.238387, 0.695863}, - {-0.736684, 1.072959}, {0.386997, -0.744110}, {-0.437168, -0.232638}, - {-1.153335, -0.780908}, {-0.684055, 0.692340}, {0.289389, 0.249867}, - {-1.698004, 0.639394}, {0.394495, 0.268874}, {-0.603894, 0.330558}, - {1.253198, 0.211305}, {-0.322306, 0.240516}, {0.102897, 0.083584}, - {0.309184, -1.627874}, {-0.390228, 0.139204}, {-0.089614, 0.647020}, - {-0.121180, -1.208862}, {0.826558, -0.115660}, {0.495726, -0.898881}, - {-0.312265, 0.328451}, {-0.575407, -0.648683}, {-0.432874, -0.055634}, - {0.299794, -0.672465}, {0.755398, -1.216531}, {-0.785094, 0.381940}, - {1.177524, -0.442002}, {-0.690561, -0.399181}, {0.280850, 1.343907}, - {-0.409116, 0.423859}, {1.752878, 0.134327}, {0.051034, -0.396984}, - {0.519335, 0.260097}, {0.669303, -0.512912}, {-0.121664, -0.181888}, - {1.193699, -0.767988}, {1.019133, -0.321132}, {0.967335, -0.098405}, - {1.413661, -0.166381}, {-0.125145, 0.663141}, {0.401551, -0.358640}, - {-0.253575, 0.814815}, {-0.102327, -0.276315}, {-0.122363, -0.012399}, - {0.113221, 0.159392}, {0.425525, -2.019792}, {-2.296354, 0.492443}, - {-0.954148, -0.237086}, {0.238738, -0.639157}, {-1.761694, -0.164252}, - {0.737287, 0.200460}, {-0.162938, -0.768438}, {-0.782868, -0.626567}, - {-2.246589, -0.509916}, {-0.310067, -0.836668}, {-1.464033, -0.333291}, - {1.315826, -0.280998}, {0.002046, 1.347203}, {1.070363, 0.251329}, - {0.246476, 0.663615}, {-0.845820, -0.236884}, {0.093058, 0.749687}, - {-1.111095, 1.211477}, {0.009610, 0.450174}, {0.915608, 0.234386}, - {0.143672, 0.205552}, {1.527516, 0.145242}, {0.460513, 1.555029}, - {-0.555127, -0.285376}, {0.145695, 0.896220}, {1.217480, -0.305496}, - {0.414556, -0.502992}, {0.603741, -0.844504}, {0.129219, 0.575608}, - {-0.283013, 1.040908}, {-1.255234, -0.534709}, {1.088903, 0.197861}, - {-0.058756, 0.425937}, {0.123779, -1.040665}, {0.637367, -0.271180}, - {-0.103176, -1.697012}, {-0.158588, 0.656751}, {-0.967854, -0.951648}, - {0.086897, -0.516020}, {-0.373714, -0.748635}, {0.596132, -0.522697}, - {-0.983889, -0.989551}, {-0.467885, -0.141256}, {0.830302, 0.458530}, - {-0.760114, 0.632394}, {-0.274484, 1.063399}, {0.388037, 0.224930}, - {1.249109, -0.166835}, {-0.449788, -0.325036}, {0.042710, -0.844489}, - {0.146003, 1.006131}, {-0.220865, -0.302253}, {1.058335, 1.753412}, - {0.002717, -0.206278}, {-0.435205, 0.096155}, {0.045458, 0.308059}, - {0.985575, -0.174125}, {0.888946, 0.271600}, {-0.928001, 0.303726}, - {0.508220, 0.392928}, {1.126653, 0.623124}, {-0.026042, -0.803140}, - {-0.924908, 1.178639}, {0.420452, 1.218289}, {0.232925, -0.244339}, - {-0.786826, 0.421704}, {-1.480250, -0.437413}, {-0.876270, -1.154740}, - {-1.039014, 0.278444}, {0.540032, -0.043074}, {-0.333186, 0.620742}, - {0.264837, 0.039240}, {-0.323505, 0.012675}, {-0.409204, -0.767399}, - {0.025022, 0.921557}, {0.331678, 0.765442}, {0.655658, 0.673464}, - {0.122603, 1.712084}, {0.671768, 1.118615}, {-0.304646, -0.327486}, - {0.200620, 0.635266}, {1.151679, -0.567691}, {0.063835, -0.149801}, - {1.857157, 0.061181}, {-0.314228, -0.969461}, {1.172970, 0.214697}, - {-0.123463, 0.139130}, {-1.037067, 0.729725}, {0.375812, -0.068514}, - {0.007778, 0.344010}, {-0.498291, 0.686760}, {-0.021774, 0.153344}, - {-0.106309, 0.126358}, {-1.635683, -0.251761}, {0.280908, 0.489367}, - {-0.706807, 0.816537}, {-0.831300, -0.192401}, {0.178349, -0.073416}, - {0.680202, -0.971835}, {-1.256339, -0.648133}, {0.699942, 0.382164}, - {-0.150262, -0.545250}, {-0.612851, -1.036643}, {0.778548, 0.694659}, - {0.419950, -0.302441}, {0.364074, 1.256622}, {-0.157228, -0.261850}, - {-0.107384, -0.158219}, {0.493916, -0.735154}, {-0.157863, 0.679501}, - {-0.238097, 0.159096}, {-0.151747, -0.515968}, {-0.196244, 0.393762}, - {0.981312, -0.958934}, {-0.172524, 0.221805}, {-1.038868, -0.156395}, - {-0.540427, -0.434566}, {0.143654, -0.576748}, {1.394838, 0.011972}, - {-0.567336, 1.449890}, {0.016188, -0.586559}, {0.018122, 0.164911}, - {0.282832, -0.041033}, {0.516311, -0.903365}, {-0.074153, 0.774443}, - {0.525149, -0.511892}, {-0.064105, 0.462937}, {-0.550807, -0.740917}, - {-0.159709, 0.095051}, {0.856954, 0.712022}, {0.184713, -0.093683}, - {0.562640, -0.866336}, {1.091445, 0.202260}, {0.504672, -0.248524}, - {0.172117, 0.391537}, {-0.067218, -0.440004}, {0.287740, 1.212661}, - {-0.562285, -0.146228}, {0.218122, 0.047461}, {0.593255, -0.355369}, - {-0.533896, -0.299014}, {-0.568450, -0.278213}, {0.203598, 0.537438}, - {-0.938066, 0.704581}, {-0.917601, 0.791035}, {-0.839964, -0.649079}, - {1.307890, 0.264572}, {-0.599850, -0.634273}, {0.460067, -0.969037}, - {-0.646018, 0.708979}, {-0.452636, 0.224816}, {0.494858, 0.238132}, - {-0.011522, -1.346647}, {0.000576, -0.737202}, {0.100013, -0.266210}, - {1.318841, 0.403066}, {-0.639935, -0.303449}, {0.675628, -0.063920}, - {-0.097399, 0.502298}, {1.924211, -0.661343}, {-0.193195, -0.836120}, - {-0.879425, -1.065778}, {-0.777720, 0.991738}, {0.449743, -0.615344}, - {-0.163401, -0.484593}, {-0.295979, 0.797219}, {-0.293076, 0.655861}, - {-0.012079, -1.170280}, {0.217685, -0.808306}, {0.521063, 0.052078}, - {-0.051550, -0.734594}, {-0.035872, -1.275539}, {-0.111903, 0.457933}, - {1.585142, -1.073931}, {-0.630589, -0.097644}, {0.196150, -0.329361}, - {0.786858, -0.651981}, {0.353044, -0.508077}, {0.633349, 0.050938}, - {0.292792, -1.147545}, {-1.636248, 0.076500}, {0.121149, 0.667182}, - {-0.485428, 0.822637}, {0.042791, 0.346486}, {-0.406830, 0.061469}, - {0.260006, 0.078180}, {0.480654, -0.228662}, {0.069106, 0.904044}, - {0.689995, -0.355703}, {1.356396, 0.165978}, {-1.216395, -0.167056}, - {0.806751, -0.082865}, {1.379444, 0.548229}, {0.082448, -0.566330}, - {-0.153881, -0.613327}, {-0.400828, -1.175044}, {0.007904, 0.187198}, - {0.017020, 0.469228}, {-0.635306, 0.814212}, {-0.686244, -1.695371}, - {0.635513, -0.061291}, {-0.425817, 0.149979}, {0.251848, -0.710921}, - {-0.046316, 0.161009}, {0.286905, -0.673584}, {-0.816487, -0.090565}, - {-0.587562, 1.125426}, {-0.388150, -0.088164}, {-0.855313, -1.030685}, - {0.137949, 0.442570}, {-0.500305, 0.481672}, {-0.569691, -0.277656}, - {1.232236, 2.015065}, {-0.544907, -1.314194}, {-1.063375, -0.275894}, - {-0.061552, -0.173145}, {0.552244, 0.176811}, {-0.276732, -0.699921}, - {-1.723753, -0.289518}, {-1.246463, 1.183601}, {-0.500170, 0.373240}, - {0.651110, 0.202271}, {-1.201287, -0.164245}, {-0.252490, 0.060805}, - {0.267841, 0.166147}, {0.217199, 0.233845}, {0.487467, 1.765281}, - {-1.323439, 1.017541}, {-1.689664, 0.253096}, {0.024758, 0.480120}, - {0.663608, 0.503539}, {0.951764, -0.395559}, {0.811294, 0.409032}, - {-0.687545, 0.241462}, {-0.320659, 0.006277}, {-0.239229, 1.109935}, - {1.192667, 0.419789}, {0.461142, 0.131372}, {0.087449, 0.030492}, - {1.724236, -1.133479}, {-0.233717, 0.474440}, {-0.107867, -0.340221}, - {-0.260094, -0.871921}, {1.512797, -0.186811}, {-1.150296, 0.161701}, - {1.270353, -1.064373}, {-0.208916, -0.609819}, {0.266445, -0.850148}, - {-0.191666, -1.143687}, {0.624237, 0.402745}, {-0.146100, -0.313531}, - {-0.394306, -0.512183}, {0.748664, 1.567171}, {1.172201, -0.075086}, - {-0.203625, -0.403359}, {0.801120, 0.219087}, {0.483011, -0.186969}, - {-0.822249, 0.790955}, {-0.826600, 0.057749}, {-0.340349, -1.708476}, - {-0.612349, 0.017105}, {-0.405678, 0.770708}, {-0.882441, -0.884726}, - {-0.760047, 0.956302}, {-0.134529, -0.806649}, {-0.616061, -0.717116}, - {-0.786351, 0.960517}, {0.995470, 0.823887}, {0.803940, -0.068840}, - {-0.780356, 0.796537}, {0.754690, 0.462261}, {0.558489, -1.826939}, - {0.565941, -0.533679}, {-0.349220, -0.565535}, {-0.117447, -0.033437}, - {0.306679, 0.561986}, {-0.452673, 0.002558}, {0.656129, -0.312644}, - {-0.137241, 0.808405}, {0.023718, -0.818979}, {0.316627, 0.723533}, - {0.245948, -0.220425}, {0.018669, -0.033499}, {-0.384480, -0.064193}, - {1.059643, 1.011290}, {0.255465, 0.122262}, {0.892933, 0.377851}, - {-1.057426, -1.072620}, {0.376262, 0.020682}, {-0.318577, -1.103330}, - {0.820800, 0.258835}, {0.084963, -0.566530}, {-0.270657, 0.173413}, - {-0.630122, 0.411348}, {-0.140339, 0.070918}, {-0.580496, 1.695575}, - {0.184591, -0.255626}, {-1.595309, 0.220755}, {-1.086653, -0.518954}, - {-0.092904, -1.828520}, {-1.560213, -0.345541}, {-0.107258, 0.421123}, - {1.333753, 0.427132}, {0.651096, -0.307819}, {1.547703, 0.021547}, - {-0.938925, 0.799421}, {0.161495, 1.637137}, {-0.566160, 0.009561}, - {0.765734, 1.847262}, {-0.099619, 1.217570}, {-1.646296, 1.143879}, - {-0.341561, 0.208659}, {-0.829797, -0.078640}, {0.230420, 0.260061}, - {-1.115321, -0.415304}, {-0.759305, 1.137078}, {0.119318, 0.326539}, - {0.634494, -0.172025}, {0.951927, 1.084809}, {-0.481045, -0.125166}, - {-0.147533, -1.237017}, {-0.194932, 0.304319}, {-0.055354, -0.773023}, - {-0.610176, 0.526057}, {-1.442512, 0.301773}, {0.806472, 0.525891}, - {0.442248, 0.868214}, {-0.735627, -0.085293}, {-0.527279, -0.419674}, - {-0.485876, -0.318730}, {0.619257, -0.096117}, {0.256008, -0.511587}, - {0.402021, 0.667654}, {1.085013, 0.181906}, {-1.075699, -0.590304}, - {0.149918, 0.698889}, {1.232178, -0.974211}, {0.299137, -0.807070}, - {-0.363717, 1.920628}, {0.520819, -1.006913}, {0.237037, -0.181282}, - {-0.473254, 0.538424}, {-0.693209, 0.205641}, {0.196816, -1.365328}, - {1.294426, -0.457957}, {-1.201707, 0.159986}, {-0.434547, 1.602358}, - {0.640590, -1.134317}, {0.145536, -0.201253}, {-0.295678, -0.144970}, - {0.474340, 0.506270}, {0.626337, 0.119856}, {-0.389066, -1.331761}, - {1.112996, -0.698493}, {0.218681, 0.173533}, {1.403960, -0.330757}, - {0.473726, 0.286873}, {-0.065860, -0.094907}, {0.245194, -0.785259}, - {-0.737379, 0.731098}, {0.888062, 0.554072}, {1.481762, -0.047101}, - {0.422688, 0.158868}, {0.569769, -0.263568}, {-1.225339, -0.094437}, - {-1.449739, 0.636898}, {-0.257917, -0.053649}, {0.155706, -0.122416}, - {0.953568, 0.325125}, {-0.798452, 1.472069}, {0.052703, -0.295397}, - {0.456338, -0.736016}, {0.529491, -0.568515}, {-0.233975, 1.120665}, - {-0.680203, -1.295243}, {-0.466273, -0.062131}, {-0.131288, 1.168066}, - {-0.385004, -1.409355}, {-0.314060, -0.015362}, {-0.874063, -0.686612}, - {-0.445655, -1.003053}, {0.928618, 0.248422}, {0.478245, -0.872451}, - {-0.240218, 0.229832}, {-0.207487, 1.315485}, {0.708097, -0.459610}, - {0.324259, -1.091280}, {-1.452807, 0.091208}, {1.395570, -1.863330}, - {0.999160, -1.241401}, {0.280141, -0.706033}, {-0.925961, 0.469675}, - {-0.688460, -0.963031}, {0.119873, 0.226830}, {-0.106209, -0.158092}, - {0.677296, -0.307387}, {0.390625, 0.002007}, {-1.651675, 0.216743}, - {0.079875, 0.792000}, {0.235602, 0.452420}, {0.777284, -0.266590}, - {-0.895642, -0.021410}, {0.254087, 0.034999}, {-0.270512, -0.127041}, - {-0.256159, -0.869917}, {0.373497, 1.048321}, {-0.762650, -0.290650}, - {-0.578370, -0.111365}, {-1.982232, -0.062361}, {0.578377, -0.656604}, - {-0.468886, 0.154771}, {0.844443, 1.791920}, {0.097667, -1.339984}, - {0.210075, 1.094129}, {-0.206117, 0.067388}, {0.421055, 0.203273}, - {0.584588, 0.986430}, {0.133407, -0.641132}, {-1.170174, -0.263451}, - {-0.157218, -0.021621}, {1.475833, -0.127775}, {0.078896, 0.799595}, - {-1.587069, -0.475999}, {0.695471, 0.483917}, {0.025792, -0.441905}, - {1.007477, 0.041037}, {-0.181478, -0.017029}, {0.036815, -0.111715}, - {-0.465989, 0.179141}, {0.794247, 0.927431}, {0.285622, -0.418923}, - {-0.068971, -0.305474}, {-0.463998, -0.444865}, {0.699853, -1.012322}, - {0.151237, 1.087834}, {-0.146684, 0.233955}, {0.567227, -0.089576}, - {-0.224722, 0.477183}, {1.199889, 1.553201}, {0.760053, 0.017195}, - {0.261229, 0.445578}, {-0.705770, -1.755211}, {0.290944, 0.079387}, - {0.133894, -0.691097}, {-0.059663, 2.211638}, {0.370996, -0.939649}, - {0.112302, 1.366692}, {0.188262, -0.356295}, {-0.612580, 0.733432}, - {0.619933, 0.144186}, {0.278577, 0.110054}, {0.225926, 0.612772}, - {-0.729589, 0.857299}, {1.264619, 0.408863}, {-0.628055, -1.407078}, - {-0.514858, -0.744270}, {0.619405, 1.047669}, {-0.199934, 0.731997}, - {0.418989, -0.042346}, {0.785841, -0.113664}, {-0.932752, -0.678127}, - {-0.806044, 0.573963}, {0.587483, 0.194597}, {-0.103663, 0.283307}, - {-0.433701, 1.184546}, {0.790999, 0.223614}, {1.419865, 1.046606}, - {-0.830056, 0.788822}, {-0.242103, -0.605081}, {-1.753848, -0.814530}, - {0.527669, 0.991027}, {-0.240201, -0.427279}, {0.856250, 0.646151}, - {1.153696, 0.714506}, {0.866539, 0.692044}, {0.203711, 0.315015}, - {-0.285981, -0.182996}, {0.789261, -0.986318}, {-0.144656, 0.102805}, - {-0.151745, -0.054796}, {-0.093111, 0.849218}, {0.517938, 0.271205}, - {0.552012, -0.102406}, {1.085765, 0.387176}, {0.084600, 1.884932}, - {-0.054731, -0.030402}, {1.382310, -0.885943}, {0.098738, 0.889079}, - {1.144495, -0.059725}, {-0.899532, 0.664015}, {-0.181939, 0.217922}, - {0.321437, 0.396019}, {0.285473, -1.089756}, {0.586511, 0.295108}, - {-0.372205, 0.500376}, {-0.078211, 0.182058}, {0.011147, -0.495137}, - {0.896627, -0.426638}, {-0.092586, -0.308805}, {0.601102, 1.063945}, - {0.749759, -1.427166}, {1.055874, 0.699219}, {-0.903965, -0.438794}, - {-0.707729, 0.384313}, {-0.101038, 0.921657}, {-0.485551, 0.820867}, - {0.236179, -0.929859}, {1.125738, -0.530163}, {0.077800, -1.861208}, - {-0.730572, 0.920142}, {-0.898268, 0.339665}, {-0.317154, 0.181412}, - {-0.160429, -1.323295}, {-0.400514, -0.563102}, {-0.014542, 0.576620}, - {-0.381432, -0.415218}, {-0.377208, 0.718852}, {-0.705579, 1.318340}, - {1.530143, -0.271100}, {-0.221327, -0.588484}, {-0.022733, -0.642035}, - {0.030789, -0.791981}, {-0.766666, -0.492790}, {-0.749544, -0.073490}, - {0.447054, -0.800807}, {1.070489, 0.825108}, {-0.727046, 0.726992}, - {-0.060446, -1.037320}, {-0.328770, 0.190905}, {-0.128967, -0.434271}, - {-0.186546, 0.312983}, {0.935917, -0.100236}, {-0.047536, -0.213380}, - {0.082069, -0.603080}, {-0.913393, -0.849605}, {-0.457231, -0.796030}, - {0.682990, 0.778589}, {0.209229, -0.807062}, {0.272420, 1.125802}, - {0.036284, 1.629727}, {0.104411, -0.167382}, {-0.626081, -0.031098}, - {-0.351775, -1.618939}, {0.413605, 0.257989}, {-0.370629, 0.161392}, - {-0.330446, 0.806375}, {0.390219, -0.746819}, {-0.509487, -0.047151}, - {-0.273129, -0.108304}, {-0.319689, -0.338005}, {0.842067, 0.281057}, - {0.055884, 0.234417}, {-0.365933, 0.614457}, {-0.454615, 1.448888}, - {-0.699608, -1.033875}, {-0.372957, 0.671612}, {-0.133444, -0.030193}, - {-0.924223, 0.603383}, {-0.516276, 0.204182}, {-0.382316, -0.235633}, - {-0.187827, -1.054536}, {-0.442085, 0.354249}, {0.622665, 0.610810}, - {0.265960, -0.284553}, {0.040194, -0.911782}, {-0.509020, 0.860569}, - {0.600634, -1.182167}, {0.151219, 0.454662}, {-0.418144, 0.065874}, - {-1.569977, 1.023171}, {0.266306, 0.219226}, {0.791286, 0.244977}, - {-0.241393, 0.875145}, {-0.318656, -1.030454}, {-0.022462, 0.214741}, - {-0.619332, 0.153986}, {-1.020611, -1.628587}, {0.479077, 0.439942}, - {1.740772, 1.610355}, {0.003287, 0.194352}, {0.566085, 0.121822}, - {-1.147140, 0.412844}, {1.376034, 0.118976}, {0.420202, -1.038233}, - {0.373144, 0.162301}, {0.794360, 0.106407}, {-0.962990, -0.802783}, - {0.056256, 0.007095}, {-0.708347, -0.662442}, {-0.959655, 1.323960}, - {-0.529900, 0.259971}, {1.193998, 0.563030}, {0.939263, 1.103177}, - {-0.385987, 0.149407}, {-0.476455, -1.133539}, {0.308749, 0.266472}, - {-0.497402, 0.161375}, {-0.740784, 0.032059}, {-0.760730, -0.593766}, - {-0.063348, -0.060021}, {0.633546, -1.329736}, {0.834383, 0.497996}, - {-0.600352, 0.731318}, {-0.447242, 0.431888}, {-1.343652, -0.365840}, - {0.777551, -0.685316}, {-0.680872, -0.406050}, {-0.586652, -0.305786}, - {-0.554828, 0.022048}, {-0.699549, -0.247367}, {1.389279, -0.742174}, - {-0.065282, -1.308684}, {-0.261274, -0.493450}, {-0.733425, 0.887315}, - {-0.025220, -0.501261}, {0.241883, -0.683133}, {-0.140739, 0.262319}, - {-2.045143, -1.409459}, {1.343072, 0.855186}, {-0.035921, -0.283506}, - {0.106737, 0.720865}, {0.406583, 0.040440}, {0.214985, 1.947726}, - {0.438985, -0.798479}, {-0.217059, 0.167267}, {1.243574, 0.015551}, - {-0.125817, -0.046205}, {-1.183831, -1.384855}, {-0.322551, 0.251363}, - {-0.722839, 0.595898}, {0.551627, -0.760119}, {1.054220, 0.065259}, - {0.591739, -0.191866}, {0.296816, -0.332836}, {1.165112, -0.248075}, - {0.248393, -0.545047}, {1.311024, -0.407092}, {0.591438, -1.621612}, - {-0.052964, -0.001681}, {-0.298430, -0.248136}, {0.275239, -0.088719}, - {-0.147969, -0.645551}, {-0.505692, 0.261343}, {0.309140, 0.959088}, - {0.921434, 0.629677}, {0.748760, 1.088213}, {-0.680151, -0.335191}, - {-0.613400, 0.493749}, {0.727131, -0.030512}, {-0.379323, -1.035416}, - {-0.211766, -0.796419}, {-0.454060, 0.049283}, {-0.049881, 0.070106}, - {-0.279312, 0.046965}, {-0.397766, 0.760498}, {0.520312, -0.439711}, - {0.331968, -1.409079}, {0.427486, 0.218783}, {1.003588, -0.080820}, - {1.556979, -0.423669}, {0.619977, 0.469522}, {-0.045054, -0.809393}, - {-0.528064, -0.036637}, {-0.482697, 0.131513}, {-0.460037, 0.505505}, - {-0.324516, -0.389828}, {0.460368, -0.314426}, {-0.560330, -0.324922}, - {-0.376507, -0.059857}, {-0.851451, -0.423302}, {0.336302, -0.960355}, - {1.612286, -1.262715}, {0.637618, -0.176273}, {0.382746, 0.450728}, - {0.643770, 0.137805}, {-0.321537, 1.065434}, {-0.913438, -1.344611}, - {0.123579, -0.525252}, {-0.684321, -0.050399}, {0.092025, -0.049197}, - {0.230247, -0.846072}, {-0.567252, 1.537805}, {-0.113614, -0.004427}, - {0.694251, -0.089008}, {-0.303172, -0.350574}, {0.609402, -0.434146}, - {0.107243, -0.651101}, {1.272207, -0.348857}, {-0.502908, 0.151282}, - {-0.145185, -1.741187}, {0.660613, -0.230215}, {0.178185, -0.686348}, - {1.272619, -0.158281}, {-0.280741, 0.764747}, {0.044990, -0.769996}, - {0.417010, 0.096608}, {0.062595, 1.686842}, {2.151472, 0.043530}, - {0.715346, 1.734442}, {0.098966, -0.998731}, {0.599808, 0.342824}, - {-0.343734, 0.708030}, {-0.128109, -0.806256}, {0.761198, 0.210038}, - {-0.138642, 0.040832}, {-0.062262, 0.648355}, {1.277507, 0.552877}, - {-0.927193, -0.325931}, {-0.249534, -0.771760}, {0.521253, -0.650575}, - {0.616145, 1.180146}, {-0.318551, -0.126697}, {-0.526436, -0.915103}, - {1.171009, 1.586755}, {-1.579776, -0.032072}, {0.379730, -0.424383}, - {0.219217, -0.851723}, {0.557224, 0.464978}, {-0.216519, 0.253208}, - {0.972628, 0.385579}, {0.412359, 0.086125}, {0.876441, -0.274872}, - {-0.407527, -0.657947}, {0.541719, 0.812008}, {0.772499, 0.092084}, - {0.502839, 0.363918}, {0.146701, 0.081139}, {-0.007951, -0.624450}, - {-0.605555, -1.647412}, {-0.169302, -0.077049}, {-0.244837, -0.620332}, - {0.764241, -0.522473}, {-1.133782, 0.258060}, {0.948375, 0.016726}, - {1.587208, -0.235768}, {0.424286, 0.560435}, {0.366718, -0.229027}, - {0.114061, -0.120273}, {-0.032553, -0.706649}, {-1.656256, 0.469776}, - {-0.800075, 0.163134}, {0.184989, -0.490187}, {-0.066939, 0.069671}, - {-0.124030, -0.278587}, {0.098588, -0.516323}, {0.641825, 0.433273}, - {0.039826, -1.896522}, {0.544579, 0.174252}, {-1.136703, 0.508232}, - {0.473606, -0.928168}, {-0.262024, 0.277016}, {-0.525881, -0.940302}, - {0.774239, 0.928604}, {0.475874, -0.471899}, {-0.803854, 0.030975}, - {-0.993059, -1.988145}, {0.006261, -0.462312}, {0.304373, -0.219476}, - {-0.064896, 0.411816}, {-0.565623, 0.410175}, {0.451946, 0.896558}, - {0.579193, -0.666237}, {1.111956, -0.324559}, {0.958126, 0.875141}, - {-2.376995, 0.139360}, {-0.174255, -0.647183}, {0.014742, 0.174545}, - {-0.527097, -1.346987}, {1.514308, 1.010371}, {0.148586, 0.574571}, - {-0.282640, 0.894507}, {-0.099804, 0.189072}, {-0.371499, -0.000976}, - {0.094502, 1.606489}, {-0.417943, 0.639646}, {0.660216, -0.605938}, - {-0.545899, -0.550059}, {1.076567, -0.745220}, {0.405227, 0.711701}, - {-0.366586, 0.196052}, {0.860394, 0.269181}, {-1.127270, 0.202607}, - {0.136211, 0.475897}, {0.459787, 0.495293}, {0.544301, -0.482145}, - {0.365063, 0.234250}, {-0.593792, -0.434170}, {-0.426111, -1.761006}, - {0.869614, -0.020494}, {-0.467603, 0.072709}, {-0.324193, -0.665541}, - {0.777996, -0.277466}, {-0.283302, 0.615438}, {-1.708614, 0.792042}, - {0.621137, -0.463159}, {0.521234, 0.742400}, {-0.133299, -0.939262}, - {-0.160119, -0.770287}, {-0.512796, 0.969515}, {0.315453, -1.192219}, - {1.288366, 0.188477}, {0.555009, 0.515260}, {0.190975, -0.611313}, - {0.181731, 0.979969}, {1.256390, -0.748626}, {-0.335278, -0.480621}, - {-0.671001, 0.965038}, {-0.104705, 0.209754}, {-0.085875, -1.716713}, - {-1.640847, -0.669974}, {0.447848, -0.348934}, {0.265837, 1.298157}, - {0.752559, 1.353997}, {-1.107378, 1.884381}, {-0.974856, 0.729668}, - {-0.408192, 0.715443}, {0.256093, -1.141904}, {-1.426772, 0.454018}, - {-0.379814, -0.020252}, {0.808918, -0.270355}, {0.032856, -0.539366}, - {-1.792033, -0.556382}, {-0.749878, 0.045814}, {-1.284019, 0.264061}, - {-0.644668, 0.334991}, {0.167439, 0.463690}, {0.781219, 0.368265}, - {-0.260223, -0.044352}, {-0.071616, -0.070425}, {-1.084332, 0.404648}, - {-1.607982, -0.417932}, {0.755238, -0.174306}, {0.185585, 1.881097}, - {-0.015098, 0.559027}, {-0.177597, -0.752248}, {-0.550116, -1.060073}, - {-0.358345, -0.425293}, {0.348800, -0.817303}, {-0.881309, -0.246413}, - {0.925273, -0.021585}, {-0.725402, 0.242012}, {0.185628, 0.275909}, - {-0.422986, 1.393526}, {0.628901, -0.118229}, {0.317355, -0.260886}, - {0.700872, -0.179362}, {-0.261562, -0.299310}, {0.255547, 0.459484}, - {0.874547, -0.523117}, {1.173201, 1.024590}, {-0.996085, -0.014251}, - {-0.936499, -0.186035}, {-0.124365, -0.515926}, {-1.063564, -0.984708}, - {0.564578, -1.758164}, {-0.798557, -0.294069}, {-0.100377, 0.060186}, - {-0.199967, -0.488498}, {0.888361, -0.509741}, {0.983519, 1.571630}, - {0.112599, 1.056708}, {0.873252, 0.482406}, {0.452934, -0.285808}, - {-0.043803, -0.750535}, {0.403150, 0.892230}, {-0.396320, -0.357763}, - {-0.332699, -0.116355}, {0.593079, 0.468945}, {0.284203, 0.714000}, - {0.215099, -0.285505}, {-1.147423, 0.160707}, {-0.762612, 1.411527}, - {0.472681, 0.269305}, {0.255840, -0.160359}, {-0.055088, 1.194371}, - {-0.698704, -0.799073}, {-1.285369, 0.675681}, {1.004399, -0.126013}, - {-0.548650, 0.989301}, {-0.348031, 0.143843}, {0.019998, -0.340962}, - {1.023248, 0.761331}, {-0.902970, -1.223627}, {-0.279665, 0.623119}, - {-0.366014, 0.496679}, {-0.813344, -0.457467}, {-0.372345, 0.539890}, - {-0.485404, -0.267196}, {0.536624, 0.644437}, {1.607247, 0.297879}, - {0.220415, 0.883121}, {-0.610471, -0.507677}, {0.457363, 0.253781}, - {-0.258994, 0.833024}, {-0.261108, -1.096423}, {-0.890548, -0.267881}, - {-0.514366, -0.459512}, {0.812269, -0.123179}, {-0.034540, 0.119925}, - {-0.180841, 0.846220}, {-0.752312, -0.637519}, {1.026199, 1.242000}, - {0.197854, -1.717988}, {0.475428, 0.194479}, {0.292648, -0.864272}, - {0.947169, -0.161454}, {-0.464096, -0.510604}, {1.153502, 0.164372}, - {0.487626, -1.698067}, {-0.435832, -0.248461}, {0.986247, 0.332766}, - {0.573550, 0.450706}, {0.217594, -0.594628}, {0.411145, 0.714235}, - {-0.635136, 1.259112}, {0.505637, 0.257079}, {1.088652, 0.088325}, - {-0.412997, 1.426823}, {0.773139, 0.811379}, {1.222511, -1.367456}, - {0.062337, 0.036862}, {-0.941056, -0.307414}, {-0.219902, 0.345179}, - {-0.822663, -0.150728}, {-0.830573, 0.243392}, {0.184643, -1.254941}, - {0.044543, 2.065648}, {-0.303212, 0.177042}, {-1.024625, -0.575737}, - {-1.766237, -0.128839}, {1.166984, -1.325277}, {0.296716, -0.350582}, - {0.108368, -0.173239}, {0.820007, -0.685029}, {-1.179457, -1.230915}, - {0.373694, -0.295121}, {0.792136, 0.427746}, {0.908489, 0.134038}, - {0.112420, 0.145958}, {-0.528428, -0.719873}, {-1.018138, -0.106810}, - {0.487126, 0.785684}, {-0.459239, 1.922989}, {0.315122, -0.019843}, - {0.271436, 1.009157}, {-0.561563, -0.748185}, {-0.823416, -0.551511}, - {-0.966122, -1.600366}, {0.213364, -0.578518}, {0.495633, -0.444785}, - {-0.527658, 1.519762}, {-0.069264, 0.878791}, {-0.269854, 0.404970}, - {-0.610037, -0.956304}, {0.484475, 0.633773}, {-0.168591, -0.969952}, - {0.484383, 1.817719}, {0.141585, 0.111118}, {-1.199097, -0.051283}, - {-0.528354, 0.347269}, {0.475852, 0.415654}, {0.228798, 0.835716}, - {-0.253920, 0.038539}, {1.462540, -0.489890}, {-0.104670, -0.701368}, - {-0.022712, -0.856311}, {-1.130025, 0.873925}, {-0.019534, -0.883438}, - {-0.193835, 0.406293}, {-0.387684, 0.052551}, {1.298327, -0.709101}, - {-0.310405, 0.001679}, {-0.481614, -0.685795}, {-1.062058, -0.520206}, - {-1.344745, -0.153656}, {-0.831422, 0.037292}, {0.400435, 1.234084}, - {0.727975, 0.204297}, {0.824147, -0.809614}, {0.702855, -0.127743}, - {-1.649216, 1.142318}, {0.341254, 0.448017}, {-0.898656, -0.789927}, - {1.058227, -0.602215}, {-1.095050, -0.894509}, {-0.599427, -0.153097}, - {-0.102633, 0.228645}, {0.508210, 0.665789}, {-0.535104, 0.147440}, - {-1.277860, -1.283381}, {-0.023286, 0.344266}, {-0.632160, 0.903716}, - {0.360618, -0.187216}, {-0.390545, 0.532805}, {-0.595274, 1.078196}, - {0.211172, -0.862871}, {0.328564, -0.792903}, {0.829098, 0.198476}, - {-0.566607, 1.373401}, {-0.019308, 0.285081}, {-0.888302, 0.700636}, - {0.148316, 0.138057}, {1.181460, 0.019935}, {0.392411, 0.162331}, - {-0.247861, 0.263792}, {0.505014, -0.182329}, {0.628016, 1.287511}, - {0.212292, 1.024624}, {0.687431, 1.089767}, {0.564834, -0.028119}, - {0.371715, -1.099486}, {0.357609, 0.070059}, {2.215728, 0.181810}, - {0.836665, -0.244650}, {-0.220496, 0.330559}, {0.676588, 0.472829}, - {-0.829341, -0.226416}, {0.744014, -0.881448}, {-0.729316, -0.218085}, - {-0.984519, -0.858390}, {-0.487788, 0.244053}, {-0.671190, -0.312322}, - {0.049124, 0.288241}, {-1.004947, 0.620259}, {-0.321884, -0.417017}, - {-0.493885, 0.523531}, {-0.059619, -0.791344}, {-0.457605, 0.691495}, - {0.170169, -0.246006}, {1.075328, -0.540974}, {-0.079762, 0.947477}, - {-0.010670, -0.267796}, {0.943646, 0.021645}, {-0.285628, -0.533131}, - {-0.326849, 0.040866}, {-1.421573, -0.739533}, {1.107711, -0.003967}, - {1.000615, -0.065396}, {0.312538, -0.117636}, {-0.125344, -0.171464}, - {-1.212099, -0.453897}, {0.288620, -0.519846}, {-0.248802, -1.402444}, - {-0.310674, 0.442311}, {0.098956, 0.041407}, {-0.145050, 1.286205}, - {-0.429898, 0.190147}, {-1.606072, 0.685533}, {0.367341, 0.528374}, - {-0.074278, -0.544411}, {0.109107, 0.601468}, {-0.454410, 0.957520}, - {0.453384, 0.097285}, {-1.143893, 0.610775}, {1.249307, -0.776195}, - {0.494955, 1.337840}, {0.242363, 0.197588}, {-0.114836, -0.076961}, - {-0.517306, 0.086171}, {0.536084, 0.234221}, {-0.269984, -0.404274}, - {0.607933, -0.179944}, {1.480986, 0.514357}, {-1.274472, -0.307237}, - {0.687074, 1.058117}, {-0.400117, 0.313936}, {-0.791993, -0.417857}, - {-0.561613, -0.645294}, {0.656279, -0.373169}, {0.740039, -0.034331}, - {-0.240484, -0.434931}, {-0.485973, 0.426967}, {0.234931, 1.122127}, - {0.391140, -0.409224}, {0.549154, 0.884721}, {-0.915296, -0.762616}, - {0.305934, -0.771631}, {-0.760185, 0.255838}, {0.140172, 0.086197}, - {-0.136659, -1.801038}, {-0.285519, -1.066988}, {-0.359939, 1.554395}, - {0.289408, 0.825934}, {0.461379, -0.152002}, {-0.806281, 0.378343}, - {-1.253917, -1.287774}, {-0.911462, -0.640941}, {0.986825, 0.222918}, - {0.108762, 0.707578}, {0.028426, 1.052636}, {0.337372, 0.262425}, - {-0.074310, -0.230538}, {-0.746241, -0.364158}, {0.184766, 0.326757}, - {0.299052, 0.408284}, {0.454029, 0.336521}, {-0.418725, -0.640634}, - {-0.358958, 0.325470}, {-0.113820, 1.106193}, {0.097508, -0.640975}, - {0.004309, 0.013634}, {-0.103721, -0.180842}, {0.500274, 0.105109}, - {1.541197, 0.972081}, {0.441451, -0.455017}, {0.040723, -0.995386}, - {0.963317, -0.421559}, {1.402597, 0.107761}, {1.587690, 0.790156}, - {-0.360062, 0.069757}, {0.272024, -0.645917}, {0.182518, -0.169444}, - {-0.720138, 0.570094}, {-0.219343, -0.714791}, {0.364707, 0.085334}, - {1.238324, -0.048266}, {-0.069206, 0.421442}, {-0.369665, 0.405097}, - {-0.125755, 1.815291}, {1.339344, -0.722225}, {0.212585, 0.318092}, - {0.198631, -0.060546}, {0.526265, 0.353971}, {-0.432338, 0.914161}, - {-0.259149, -0.485961}, {0.186000, -1.204080}, {0.143559, 0.179813}, - {0.174681, -0.217002}, {-0.535888, 0.862929}, {0.138733, 0.315051}, - {-0.281155, -0.621632}, {0.825205, 1.046364}, {-1.448150, 0.028607}, - {1.043647, -0.708319}, {0.579024, -0.187058}, {0.462025, -0.051373}, - {0.080543, -0.987185}, {-0.422065, 1.038899}, {1.245455, 0.673572}, - {0.120575, -0.872393}, {-0.935692, -0.049482}, {0.833592, 0.112002}, - {-0.280053, -0.923684}, {-0.352881, -0.159811}, {0.006592, 0.880995}, - {-0.334637, 0.319727}, {1.600511, 0.559890}, {-0.063299, 0.518006}, - {0.767673, -0.342292}, {0.894664, -1.056244}, {0.218239, -1.485107}, - {1.313901, -0.284383}, {0.416552, 0.516669}, {-0.945374, -0.353124}, - {-1.444466, -0.478877}, {0.595701, -0.530269}, {0.321203, -0.859422}, - {-0.202144, 0.563280}, {-0.921581, -0.435354}, {-0.709879, -0.080659}, - {0.850755, 0.425879}, {0.371517, -0.722259}, {-0.655815, -0.005035}, - {0.270087, 0.539163}, {-0.233616, 0.091892}, {0.062617, -0.648446}, - {0.581563, -0.013480}, {-0.959711, 2.092442}, {-1.236567, -0.286320}, - {0.048573, -0.041422}, {-0.491037, -1.454069}, {1.001908, 0.754578}, - {-0.301879, 0.407477}, {0.642198, 0.246582}, {0.224810, 0.092193}, - {-0.272613, 0.953599}, {-0.427767, 1.107148}, {-0.212575, -0.673377}, - {0.074416, -0.040497}, {0.889662, 0.397214}, {-0.188469, 0.498567}, - {0.687591, 1.144973}, {1.150738, -0.377170}, {-0.700195, 0.414603}, - {-1.226960, -0.280948}, {0.047836, -1.929469}, {-0.082189, -0.056623}, - {-0.601386, -0.154564}, {-0.462696, 0.956185}, {0.425110, 0.342661}, - {-0.840692, 0.701600}, {-0.504892, 0.547409}, {0.111847, 0.714410}, - {0.239928, -0.645067}, {-0.108924, -0.190042}, {-0.383790, 0.092672}, - {-1.208346, 0.551190}, {0.603143, 0.029640}, {-1.009036, -0.200890}, - {-0.446945, -1.003718}, {0.765485, -1.039887}, {-0.480552, -0.196850}, - {-0.203509, -0.820593}, {0.688553, 0.072149}, {0.703177, -0.301738}, - {0.086873, 0.336471}, {-0.087231, -0.206545}, {0.269569, -0.857498}, - {0.233124, 0.128947}, {-0.484636, 0.170069}, {-0.537166, 0.776772}, - {0.175699, -0.230826}, {0.085410, -0.018865}, {0.034945, -0.185273}, - {0.569387, 0.834000}, {0.947868, -0.930988}, {-0.100640, 0.458731}, - {1.002459, 0.121581}, {1.059436, -0.068274}, {-0.421766, -0.185124}, - {0.812700, -0.879198}, {1.381454, -0.394813}, {0.765729, -0.434247}, - {-0.715909, -0.355391}, {0.073886, 1.283928}, {0.489919, -0.471248}, - {0.194977, 1.066605}, {-0.578221, -0.425253}, {-0.406449, 1.355422}, - {-0.264036, -1.141037}, {-0.684424, 0.475471}, {-0.556184, 1.217787}, - {-0.098804, 0.291072}, {-2.004840, -0.218550}, {0.675484, 0.712235}, - {-0.467058, 0.550342}, {-0.743855, 2.418363}, {-0.778534, 0.962859}, - {-0.835465, -0.887622}, {0.044832, 1.405487}, {0.309662, -1.836249}, - {0.206982, -0.439087}, {0.960534, -2.043925}, {-0.543298, 1.356592}, - {0.928993, -0.616757}, {0.549173, 0.603967}, {-0.430636, -0.012406}, - {0.260641, 0.304006}, {0.440114, -0.450592}, {0.231095, 0.277928}, - {0.209124, -0.466697}, {-0.960677, -1.002757}, {1.075456, -0.462500}, - {-0.606526, 0.152494}, {-0.182662, -0.659743}, {1.384662, -0.357479}, - {-1.330588, -1.047178}, {0.502764, 0.377201}, {-0.247289, 0.855959}, - {-0.012699, -0.113936}, {0.364142, 0.075726}, {-0.269392, 1.005615}, - {1.370532, 0.307236}, {1.142868, 0.386704}, {0.440215, -0.324471}, - {-0.033589, -0.638411}, {-0.327272, 1.068003}, {-0.543571, -0.273416}, - {-0.365062, -0.542959}, {1.250943, 0.688743}, {0.472615, -0.098602}, - {1.445136, 0.536558}, {0.784735, -0.170791}, {0.064371, -0.779831}, - {0.308675, -0.603152}, {1.586819, 0.666450}, {0.639744, -1.202155}, - {-0.627964, 1.088006}, {-0.476573, 0.282566}, {0.027772, 0.994415}, - {0.334959, 1.192618}, {0.504855, 0.281254}, {0.413815, 0.195150}, - {-0.592291, 1.052660}, {0.079286, -1.324581}, {0.235540, -0.732265}, - {-0.005819, -0.171668}, {0.067451, -0.441117}, {0.607046, -0.160835}, - {-0.162694, 0.829134}, {0.421080, 0.189770}, {-0.116096, -0.441471}, - {-1.205497, -0.460146}, {0.111566, 0.707898}, {-0.674216, 0.010199}, - {-0.516917, -0.340492}, {-0.253736, -0.133809}, {0.293164, -0.493820}, - {0.094884, 1.329867}, {0.888509, 0.028852}, {0.507446, 0.428109}, - {0.777171, -1.230643}, {0.888975, -0.258522}, {0.494596, 0.073523}, - {-0.528695, -0.616262}, {-0.133796, 1.596729}, {0.042732, 0.994114}, - {0.187107, -0.683293}, {1.709562, -0.422073}, {-0.501284, -0.984705}, - {0.979104, 0.114013}, {0.619612, 0.148485}, {0.265311, 0.436067}, - {-1.104922, 0.399318}, {-0.844686, 0.364787}, {0.045931, -1.764657}, - {0.234470, 0.330008}, {-0.745766, 0.634961}, {1.040822, -1.192880}, - {-0.924936, -0.069478}, {-0.559008, 1.068087}, {-0.001940, -1.409943}, - {-0.963420, -0.425440}, {-0.355644, -0.262865}, {-0.325353, 0.688031}, - {-0.505974, 0.930113}, {-0.513432, 0.014631}, {-0.641167, -0.464992}, - {0.989676, 0.899411}, {0.475176, 1.152172}, {-0.649576, -0.471232}, - {-0.544376, 0.273234}, {-1.936626, 0.360009}, {-0.788292, -0.146180}, - {0.029239, 0.663837}, {0.089389, -0.405482}, {-1.006432, 0.041522}, - {0.065737, 0.170432}, {-0.536108, 0.463754}, {0.249146, -0.505395}, - {0.371547, -0.812264}, {-0.037906, -1.072131}, {0.484523, -1.128252}, - {-0.715915, -0.328589}, {-0.274512, 0.228612}, {-0.058716, 0.021879}, - {0.702693, -0.158524}, {-0.151997, 0.473194}, {-0.852896, -0.326452}, - {-0.100443, 0.365915}, {-0.955887, 0.394822}, {-0.208727, -0.344079}, - {-0.131318, 0.157507}, {0.210001, 0.434525}, {-1.062122, -0.117708}, - {-0.346687, -0.182016}, {0.654369, -0.500059}, {-0.307734, -0.826574}, - {0.155367, 1.735056}, {1.858707, -0.541347}, {-0.268982, 0.440984}, - {0.216965, -1.158686}, {-0.431159, -1.260753}, {-1.785308, -0.584553}, - {0.261771, 0.584204}, {1.451317, -0.742810}, {-0.004668, -0.752829}, - {-0.024921, 1.245290}, {0.595504, 0.565095}, {0.960266, -0.329771}, - {0.326327, 0.550239}, {-0.863137, 0.203973}, {-0.380078, -0.435468}, - {1.090459, -0.823282}, {-0.356638, 0.283852}, {0.682541, 0.012101}, - {-0.308431, 0.770005}, {1.199072, 0.069286}, {-1.046700, 1.675759}, - {-0.077715, 0.534336}, {-0.222926, 0.910906}, {0.261806, 0.566523}, - {0.420022, -0.553801}, {-1.412877, 0.700632}, {0.797401, 0.323269}, - {-0.694224, 0.960901}, {0.533299, 0.850659}, {-0.991622, 1.002736}, - {-0.028049, 0.666471}, {0.715754, -0.271882}, {0.578916, 0.553135}, - {0.231987, 0.123384}, {-0.109185, -1.359211}, {-0.398565, 0.173967}, - {-0.043014, -0.665217}, {-1.225856, 0.628940}, {-0.929289, -1.132390}, - {1.603272, 0.818561}, {-0.103226, -0.692397}, {0.141116, 1.383120}, - {-0.400579, 0.668820}, {0.143826, -0.222660}, {0.333041, -0.807693}, - {-0.320005, 0.808184}, {0.629822, -0.286580}, {-0.772778, 1.724556}, - {1.386505, 0.462035}, {-0.229246, -1.474260}, {-0.503459, 1.044767}, - {-0.250001, 0.561403}, {0.012072, -0.058950}, {0.756583, 0.503015}, - {-0.335019, -0.761904}, {-0.682864, 0.003814}, {0.068344, 0.231416}, - {0.256777, -0.369994}, {-0.282520, -0.095213}, {-0.187083, -0.559020}, - {-0.026183, -0.522028}, {-0.650853, -0.769108}, {0.035804, -0.431890}, - {0.030008, -0.399347}, {-0.287980, -0.145851}, {-0.677012, -0.560565}, - {-1.049641, -0.861592}, {0.312580, 0.091289}, {-0.963485, 0.211167}, - {0.287165, -0.371532}, {0.555650, -0.838435}, {0.395525, -0.449511}, - {0.252774, -0.490994}, {-0.688084, -0.314271}, {-0.402613, 0.309283}, - {0.511800, -0.453051}, {1.035475, -0.441895}, {-0.655559, 0.204947}, - {-0.683300, -0.428916}, {0.387642, 0.043918}, {-0.179349, -0.651814}, - {-0.493107, 1.155292}, {-0.030356, 0.289986}, {0.652280, 1.046866}, - {0.057809, 1.266974}, {0.215742, 1.064339}, {0.447729, -0.632852}, - {0.279966, -0.339154}, {-0.166371, -1.026682}, {0.421910, 0.351254}, - {-0.254637, -0.154264}, {-1.334090, -0.110719}, {-0.566168, -1.155950}, - {-0.558998, 0.207397}, {-0.055417, 0.648158}, {-0.241039, -0.287178}, - {-0.582347, -1.040992}, {-0.289176, 0.447352}, {0.564223, -0.500253}, - {0.200212, 0.121773}, {0.752287, 0.131198}, {-0.586207, -0.250267}, - {0.752385, -1.118821}, {-0.454050, 0.686154}, {0.421964, -0.071049}, - {0.385670, 0.105139}, {-0.883155, 0.420629}, {0.582838, 0.829220}, - {1.599990, 0.302506}, {-0.711621, -0.048242}, {-0.769061, -0.939823}, - {-0.570805, 1.221850}, {0.746084, 0.370521}, {-1.095763, 0.542099}, - {0.507870, -0.028658}, {-0.006494, -0.140681}, {1.123004, 0.639325}, - {0.023228, -0.243014}, {2.006419, -0.925360}, {0.244315, 0.241295}, - {0.714233, 0.041423}, {0.930361, 1.159843}, {-0.439284, -1.104778}, - {-2.044038, 1.046255}, {-0.247643, -0.295368}, {-0.496474, -0.188701}, - {0.427399, -0.103610}, {-0.048929, -0.755309}, {-0.378127, -0.657410}, - {0.647217, 0.149609}, {0.628906, -1.593151}, {-0.581867, -0.372896}, - {-0.483963, -0.772021}, {-1.279053, -0.372171}, {-0.505264, -0.021054}, - {-1.130825, 0.247607}, {0.329896, 1.593840}, {-0.312292, -0.619026}, - {-0.024599, 0.020700}, {-0.647591, -0.690874}, {1.248162, 1.039611}, - {-0.252032, 0.173910}, {0.311838, -0.632350}, {-1.024234, 0.131065}, - {0.035961, -1.216873}, {0.477173, 0.507557}, {-1.295462, -0.451069}, - {-0.377181, 1.110673}, {0.706351, -0.382557}, {-0.134564, -0.499312}, - {0.566652, -0.673370}, {-0.967847, -0.852623}, {-0.139758, -2.138448}, - {-0.176702, 0.054714}, {0.043205, 0.100348}, {-1.012144, -0.515393}, - {0.620692, -0.001168}, {-0.231469, 0.384359}, {0.167537, 0.294412}, - {-0.061414, -0.366999}, {0.731633, 0.876544}, {1.154343, 0.803758}, - {0.412281, 0.559052}, {-0.371725, -1.273328}, {0.957476, -1.378973}, - {0.289512, -0.991069}, {-0.578394, -1.421610}, {0.015914, 0.322132}, - {0.106358, -1.449675}, {-0.069120, 0.739722}, {0.531874, -0.371638}, - {0.657279, 0.323686}, {0.037083, -0.796566}, {1.061708, -0.965017}, - {0.413730, 0.054267}, {0.521430, 1.075811}, {0.856354, -0.905745}, - {0.373586, -0.270185}, {0.791206, -0.986693}, {0.729893, 0.860268}, - {0.043905, -0.429560}, {-0.656692, -1.039828}, {0.555913, 1.767401}, - {0.303388, -0.323869}, {-0.125446, -0.255745}, {1.117126, 0.195974}, - {-0.992980, 0.304440}, {-0.382740, 0.426044}, {-0.223638, -0.152487}, - {1.023637, -0.350714}, {0.245655, -0.157361}, {-0.111659, -0.614165}, - {0.354600, 0.026794}, {-0.027813, 0.532690}, {0.245690, 0.739772}, - {-0.504872, -0.794998}, {-0.809269, -1.094385}, {-1.001891, -0.480770}, - {-0.465059, 0.023020}, {0.229876, -0.151501}, {-1.141435, -0.029146}, - {-0.937562, -0.801157}, {-0.195200, -2.144830}, {0.101337, 0.587135}, - {0.153064, -0.325187}, {-0.583504, -1.060043}, {-0.098906, -0.330180}, - {-0.216563, -0.818141}, {-0.211935, -0.707920}, {0.636668, 0.028993}, - {-0.758271, -0.108885}, {-0.706584, 0.097759}, {1.376119, 0.384825}, - {0.420516, 1.213370}, {1.030631, -0.077473}, {-1.252726, 1.002692}, - {0.487495, 0.456548}, {0.682253, 0.398622}, {0.147446, -0.079877}, - {0.722369, -0.614144}, {0.378631, -0.601790}, {0.075497, 0.837757}, - {0.199081, 0.445597}, {0.535089, 0.570803}, {-0.122319, 0.373349}, - {-0.321298, 0.741177}, {0.903177, -0.013977}, {-0.583050, -0.924612}, - {0.066698, 1.396794}, {0.408667, 0.958962}, {-0.738580, -1.497866}, - {0.600777, -0.398895}, {0.254742, 0.347824}, {-0.265817, 0.876722}, - {0.907423, 0.129822}, {-0.114962, -0.826617}, {-0.240360, -0.143947}, - {0.148077, -0.071668}, {-0.212910, 1.016550}, {-0.013388, -1.067770}, - {0.046668, -0.442470}, {0.256538, -0.318212}, {-0.250360, 1.417343}, - {-0.775082, 1.038648}, {1.220756, -0.342349}, {-0.032158, -0.172829}, - {0.922113, 0.382379}, {1.047628, 0.944538}, {0.885199, -0.041166}, - {-1.458274, 0.373000}, {0.855979, 0.373876}, {0.431145, 0.483826}, - {-0.019854, -1.320043}, {0.213858, -0.134150}, {-1.273584, -0.203977}, - {-0.916604, 0.918129}, {-0.768406, -1.109353}, {-0.278667, -0.372253}, - {0.878634, 0.434317}, {-1.182409, 0.691791}, {-0.166143, 0.370502}, - {-0.371636, -0.617445}, {0.836100, -1.092805}, {0.179593, 2.209969}, - {-0.760372, -0.186876}, {0.580655, 0.070447}, {0.637695, -1.328039}, - {-0.210008, 0.169876}, {0.107828, -1.200689}, {0.689020, 0.461975}, - {0.799638, -0.225619}, {0.549319, 0.257945}, {-0.169926, -0.062423}, - {-1.000681, -1.230883}, {-0.280677, -0.889594}, {-0.365240, 0.176973}, - {-0.496268, -1.327882}, {-0.051553, 1.031328}, {-1.118158, 1.437687}, - {0.069181, -0.263582}, {0.034310, 0.657226}, {-0.665250, -0.249209}, - {-0.265277, -0.231715}, {0.768583, -0.439151}, {-0.516311, 1.258394}, - {-1.062635, -0.480988}, {0.768868, 1.387988}, {-0.133561, -0.253474}, - {0.174635, -0.763359}, {0.207988, 0.224757}, {0.171049, 1.245499}, - {-0.923550, 1.085739}, {0.631564, -1.467559}, {-0.160409, 0.068830}, - {-0.008023, -1.455924}, {0.180831, -0.762764}, {0.303099, 2.221159}, - {0.032024, 0.734284}, {0.086762, -0.565552}, {-0.273328, 1.536368}, - {-0.101105, -0.703900}, {0.023821, -0.404259}, {0.138986, -0.943679}, - {-0.511459, 0.739696}, {-1.031153, 0.329790}, {-0.038206, -0.799769}, - {0.440881, -0.555912}, {0.023990, -0.531059}, {0.659228, -0.843024}, - {-0.826474, -0.770692}, {0.946334, -1.545003}, {0.261025, -0.113739}, - {0.048911, -1.179110}, {0.060770, -0.859467}, {-0.785178, -0.587693}, - {-0.381189, 0.094381}, {0.630990, -0.822901}, {0.013473, -0.408986}, - {-1.789311, 0.714900}, {1.519795, -0.195693}, {-0.701243, 0.864168}, - {-0.915110, 0.072452}, {-1.261997, 1.360065}, {-0.163284, 0.527620}, - {0.649672, -0.335824}, {0.610109, 0.962789}, {1.048801, -0.879891}, - {-1.064425, -1.265436}, {0.105428, -0.129546}, {1.539402, -0.029218}, - {-0.431054, -0.384473}, {0.440965, -1.503971}, {-0.553600, 0.461140}, - {0.432415, -0.588674}, {0.466966, 0.767686}, {-1.282511, -0.822551}, - {-0.405750, -0.169677}, {-0.529296, -0.256420}, {0.333425, -0.212289}, - {0.351865, -1.052035}, {-0.372759, -0.324327}, {0.496838, 0.426941}, - {0.521469, 0.729775}, {-0.360286, 0.330552}, {-0.939280, -0.731402}, - {-0.589460, 0.375702}, {0.473278, 0.562849}, {0.907852, 0.477585}, - {-1.161415, 0.674441}, {-0.978026, 0.108291}, {-0.646718, 0.244958}, - {-0.037385, -0.220525}, {-0.453012, 0.255493}, {0.903459, -0.255742}, - {-0.099331, 0.318876}, {0.002754, -0.225539}, {0.134105, -0.165745}, - {1.240310, -0.105975}, {0.009197, 0.949681}, {-0.673977, 0.458706}, - {0.679855, -0.534481}, {-0.073767, 0.277108}, {0.277924, -0.047804}, - {0.415045, -0.608651}, {0.122556, 0.982192}, {-0.446661, -0.313225}, - {1.173726, 1.220580}, {-1.593188, 0.789350}, {-1.834105, -1.079304}, - {0.107095, -0.091381}, {1.110756, 0.061581}, {-0.917192, 0.734789}, - {0.348696, -1.323831}, {0.010933, 1.090009}, {-0.106413, -0.322089}, - {-0.860837, -0.506303}, {0.627199, 0.541836}, {-0.139889, -0.512866}, - {0.637993, 0.510208}, {-1.167249, -0.146076}, {-0.862119, 0.394909}, - {-1.240754, 0.494548}, {-0.376744, 0.672959}, {-0.999381, 0.637653}, - {-1.391600, 0.390940}, {0.955660, -0.769621}, {0.310879, -0.798671}, - {0.408795, -0.452281}, {-0.974719, -0.029192}, {0.311104, 0.273352}, - {0.026062, -0.858645}, {0.556329, 0.206713}, {0.094267, -1.481594}, - {-0.356078, 0.544259}, {-0.033796, -0.245353}, {0.203784, 0.331156}, - {0.096733, 2.575388}, {-0.381793, 0.290671}, {-0.116102, -0.156839}, - {0.161793, 0.594064}, {-0.321204, -1.339815}, {-1.090421, -0.762797}, - {0.787900, 0.459478}, {0.243785, 0.940882}, {-0.153906, 0.841058}, - {-0.936971, 1.541452}, {-0.439278, -0.322908}, {-1.066801, -0.222840}, - {0.629434, -0.352457}, {-0.202999, 0.278222}, {-0.505916, 0.969990}, - {0.396149, -0.315510}, {-0.829205, -0.140890}, {-0.660853, -0.447071}, - {-0.699586, 0.850048}, {-0.706088, 0.377818}, {-0.876828, 0.869990}, - {0.937227, -0.354026}, {-1.149567, -0.878271}, {-0.807950, -0.806797}, - {-0.733349, -1.050036}, {0.134549, -1.452923}, {0.623023, 0.412688}, - {0.119168, -1.377420}, {0.682589, 0.820573}, {0.800743, -0.117315}, - {-0.930976, -0.305719}, {0.007050, 0.193402}, {1.580681, 0.605792}, - {0.281324, 0.201371}, {0.005740, 1.007009}, {0.993450, -0.268242}, - {0.289972, -0.080020}, {0.206252, 0.023882}, {-0.015665, -2.024198}, - {0.371283, -1.340106}, {-0.213033, -0.457500}, {0.263077, -0.366399}, - {0.710898, -1.090262}, {0.677746, -1.151681}, {1.238201, -0.610042}, - {0.325461, -1.103737}, {-0.980765, -0.488024}, {-0.077484, 0.774584}, - {0.496364, 0.004649}, {0.643821, 1.447878}, {-0.743024, -1.112741}, - {-0.195607, 0.639318}, {-0.080202, 0.412438}, {0.916875, 0.189103}, - {-0.106268, 0.390295}, {0.715604, -0.486286}, {0.115849, 1.370489}, - {-0.576103, 1.129486}, {0.935521, -0.616187}, {-0.914664, 0.196014}, - {0.360647, 0.177486}, {0.442306, -0.048782}, {-1.345507, 0.159373}, - {-1.024007, -1.295577}, {0.303087, -0.450638}, {0.225152, -0.356881}, - {-0.503513, -0.770894}, {-0.333461, -1.843134}, {-0.432863, -0.889999}, - {-0.784493, -0.566774}, {0.410618, 0.701420}, {0.136290, -1.037936}, - {0.145021, 0.974063}, {0.529589, 0.128197}, {-0.676674, -0.971814}, - {-0.270406, 1.019808}, {0.096367, -0.838265}, {0.318717, -0.762441}, - {0.397090, 0.756928}, {0.648969, 0.667148}, {-0.913693, -0.162627}, - {0.119623, 0.022965}, {0.555892, 0.378100}, {0.900717, 0.703179}, - {-0.046262, -0.721821}, {-1.181653, 0.505205}, {0.465203, -0.477470}, - {0.046090, -0.627510}, {-0.363122, -0.091161}, {0.953653, 1.039114}, - {-0.789380, -0.928026}, {0.162396, 0.803479}, {-0.835156, -0.260672}, - {0.250119, -0.467056}, {0.218336, 0.454615}, {0.209926, 1.190928}, - {-1.178592, -0.891917}, {0.550639, -0.793167}, {-1.985065, -1.044282}, - {-0.196421, -0.054591}, {0.084188, -0.363259}, {-0.505210, -0.803844}, - {1.240644, -0.301110}, {0.512258, -0.469191}, {-1.549377, 0.756018}, - {-0.614481, -0.080973}, {-0.744195, -0.048617}, {0.879512, -0.837412}, - {-1.089793, 1.223308}, {1.011531, 0.192099}, {0.335207, -0.361593}, - {0.976295, -0.603421}, {-0.220526, -0.371096}, {-1.002946, 0.716884}, - {-0.444541, -0.037052}, {-0.477626, 0.295812}, {-1.046918, -2.279811}, - {0.133746, -0.120300}, {0.279460, 0.397052}, {-0.663998, 0.035170}, - {1.121487, 0.680845}, {1.108689, 1.142655}, {0.380884, 1.253683}, - {0.106635, -0.096270}, {0.651713, -1.297000}, {0.481130, -0.876693}, - {-2.086800, 0.062748}, {0.502741, 0.743331}, {-0.634120, 0.417364}, - {0.332408, -1.807629}, {0.288393, -0.248269}, {-0.589845, 0.528027}, - {-0.953016, 0.010891}, {1.215645, -1.463684}, {0.179478, -0.118753}, - {0.304072, 0.579308}, {-0.786558, -1.384700}, {1.545828, 0.671325}, - {-1.103380, 0.496542}, {0.566262, 0.207667}, {0.168035, -0.084493}, - {-0.745029, 0.787807}, {-0.008405, 0.486130}, {-1.256400, -0.811337}, - {-0.421056, -0.997844}, {-0.129980, -0.010057}, {0.683615, 0.299871}, - {0.171174, -0.371855}, {0.239929, -0.288358}, {0.736989, 0.844517}, - {0.502939, -0.293006}, {-0.078536, -0.030891}, {0.889214, 0.617627}, - {0.107697, -0.504655}, {-0.322943, -0.180390}, {-0.659880, -0.211751}, - {-0.425630, 1.220749}, {1.564708, 1.804423}, {-0.562868, 0.198486}, - {-0.064851, -0.014952}, {-0.685409, 0.304867}, {1.341588, 0.203554}, - {0.391212, -0.841740}, {0.700891, 0.658326}, {-0.301305, 0.902339}, - {-0.046588, 0.019530}, {0.415121, -0.949705}, {-0.410635, -0.231837}, - {0.615095, 1.334066}, {-0.067261, 0.324586}, {0.167043, -1.136141}, - {0.422422, 0.696197}, {0.584087, 0.667480}, {-0.551074, 0.249301}, - {0.421860, -0.454014}, {-0.585820, -0.664637}, {-0.071516, 0.815123}, - {-0.541864, 0.195446}, {0.866604, -1.519052}, {-1.811300, 0.473683}, - {-0.412564, 0.863621}, {-0.125827, -0.223240}, {0.963505, 0.064195}, - {0.096324, -0.017230}, {-0.559212, 0.385040}, {-0.071234, 0.362721}, - {-0.783611, -1.711285}, {-0.466996, -0.665663}, {-0.422348, 0.153831}, - {0.031726, 0.347303}, {0.126585, 0.194805}, {1.089699, -0.115948}, - {0.261952, 1.193404}, {-0.062577, 0.658827}, {1.046650, 1.250723}, - {0.343986, -0.385875}, {0.398418, -1.112678}, {0.397788, 0.432553}, - {-0.081351, -0.869887}, {0.115778, -1.810748}, {1.089135, 0.283668}, - {0.348676, -0.215081}, {0.990831, 0.340013}, {-0.429526, 0.150394}, - {-0.209451, -0.426354}, {1.251426, 0.387939}, {-0.941099, -0.048392}, - {0.553432, 0.490465}, {0.820341, -0.892655}, {-0.469979, 0.215954}, - {-0.111752, -0.518634}, {-0.322742, 0.282748}, {-0.131831, -0.096259}, - {0.928465, 0.491990}, {-0.131168, 0.713177}, {1.182858, -0.137778}, - {0.498624, 0.596945}, {-0.340255, 1.333451}, {-0.263143, -0.178530}, - {-0.853000, -0.367513}, {0.645533, 0.217256}, {-0.222484, -0.050816}, - {-0.889767, 0.961630}, {-0.559303, -0.335849}, {0.755808, 1.224325}, - {-0.295347, -0.382986}, {0.154238, 0.489334}, {0.806167, 0.600666}, - {-1.440967, 0.906005}, {0.400307, -1.289369}, {-1.322768, 0.271201}, - {0.721328, -0.415260}, {0.328246, 0.162043}, {1.063849, -0.169918}, - {0.661691, 0.188712}, {-0.393050, -0.106635}, {-0.924026, -0.264599}, - {-0.379871, -0.638547}, {1.648221, 0.026247}, {1.111263, 0.149709}, - {0.176878, -1.278937}, {0.734091, 0.194270}, {0.643210, -0.024985}, - {-0.703541, -0.377990}, {0.786560, 0.295150}, {1.646656, -0.147934}, - {-0.361062, 0.674906}, {-0.317120, 0.143807}, {-1.310888, -0.164024}, - {0.035068, 0.189815}, {-0.787682, 0.694272}, {-0.057575, -0.198782}, - {0.037946, -1.261234}, {0.789551, 0.167209}, {0.163492, 1.280868}, - {1.486117, 0.344385}, {-0.259139, -0.046155}, {-0.720616, -0.687107}, - {0.332266, 0.269337}, {0.677660, -0.080123}, {0.221776, 0.671525}, - {-1.286564, -1.026638}, {-0.137566, -0.439496}, {1.253971, -1.647977}, - {-1.082200, -0.445719}, {-0.166409, -0.650523}, {-0.453263, 0.213402}, - {-0.017712, -0.128208}, {-0.032769, -0.405644}, {-0.219371, -0.017666}, - {-0.799480, -1.769117}, {-0.532850, 0.965634}, {-0.686125, -1.467377}, - {-0.633034, -0.389067}, {-0.150331, 0.782007}, {-0.691980, 0.730198}, - {-0.597063, -0.279026}, {0.834946, 0.396175}, {-0.078053, -0.123351}, - {-0.571384, -0.618287}, {0.325004, 0.114546}, {0.411609, 1.274331}, - {0.206788, -0.139653}, {-1.090128, 0.800625}, {-0.412709, 0.694443}, - {-0.162932, 1.311011}, {0.397417, -0.737950}, {-0.100183, 0.447697}, - {1.213408, -1.126972}, {0.034492, 0.978029}, {-0.872335, -0.584584}, - {0.568310, 0.904579}, {-0.453700, 0.703082}, {-1.230769, 0.813793}, - {-0.851555, 0.357280}, {0.604006, 0.281641}, {0.411237, 0.367925}, - {-0.750405, -1.252638}, {0.260416, 0.091677}, {0.333514, -1.104021}, - {0.782219, 0.587118}, {-0.200975, -0.528729}, {-0.332689, -1.636132}, - {-0.415304, -0.010511}, {-0.121022, 0.354709}, {0.994143, 0.280846}, - {0.138590, -0.213242}, {-0.193256, -0.095752}, {-0.441602, 0.259315}, - {0.948753, 0.001788}, {0.898141, -0.750677}, {1.346054, 0.626588}, - {0.381400, -0.493532}, {-1.338972, 0.327082}, {0.220140, -0.344755}, - {0.656912, -0.469924}, {1.263170, 0.096743}, {0.070575, -0.775336}, - {0.716447, 1.747781}, {0.298510, 0.135103}, {0.022491, 0.885968}, - {0.142852, 0.482053}, {-0.434061, -0.439810}, {0.694127, 0.094622}, - {0.448201, -0.299757}, {0.087507, 0.008116}, {0.250792, 0.103017}, - {-0.059841, -0.687843}, {-0.071647, 0.860597}, {0.728315, 0.820186}, - {-0.640044, 0.101480}, {0.211384, 0.028702}, {-0.457781, 0.490619}, - {-0.178352, -0.304710}, {-0.563754, -0.733470}, {-0.770274, 0.082873}, - {-0.762355, 1.140889}, {0.797291, 0.304485}, {-0.057014, -0.903306}, - {-0.158813, 0.075113}, {-0.874554, 0.299985}, {-1.282132, -0.277777}, - {0.150378, -1.322159}, {0.433856, -0.000391}, {0.119086, -0.850105}, - {0.204912, 0.316619}, {-0.757190, -0.377894}, {-0.896753, 1.076560}, - {1.182092, -0.196822}, {0.699797, 0.526050}, {0.405838, -0.496715}, - {-0.834600, -0.037964}, {0.545939, 0.047411}, {-0.771625, 0.127979}, - {0.625542, 0.978054}, {0.578050, 1.339611}, {-0.854615, -0.162544}, - {0.803070, -1.575209}, {-0.722438, 0.809655}, {0.812986, -0.021617}, - {0.617012, 0.621875}, {-0.694562, -0.359274}, {0.819084, 0.571131}, - {0.605917, -0.877233}, {-0.166467, -0.432090}, {-0.763237, 0.021539}, - {-1.007144, 0.682364}, {-0.012074, -1.138787}, {-0.793479, 0.734741}, - {0.950373, -0.774179}, {0.714255, -0.444826}, {-1.824486, -1.178179}, - {0.286283, -1.022538}, {0.371641, 0.412646}, {1.221297, -0.075273}, - {0.513217, 0.452413}, {0.015385, -0.341663}, {-0.926360, 0.470885}, - {-0.515633, 0.282595}, {-0.876782, 0.148065}, {-0.204097, -0.416771}, - {0.581214, 0.730282}, {0.150986, -0.721883}, {-0.919574, -0.518872}, - {-1.025393, 1.032902}, {-0.571691, -0.523905}, {0.336729, 0.277443}, - {0.077651, 0.017905}, {-0.049717, 0.473017}, {-0.410902, -0.770257}, - {-0.847206, 0.198044}, {0.356753, 0.100081}, {0.580691, 0.400755}, - {0.718459, 0.870265}, {0.779366, 0.466430}, {-1.046243, -1.317550}, - {-0.248241, -0.184969}, {0.626921, 0.660065}, {0.772665, -1.467408}, - {0.189100, 0.479679}, {-1.027175, 1.032229}, {-0.110106, -0.214123}, - {-0.434741, 0.523121}, {-0.947316, 0.197282}, {0.241363, 0.711876}, - {-0.790393, -0.270092}, {-0.264741, 0.345775}, {0.814247, -0.835493}, - {0.947799, 0.460240}, {0.505144, 0.380228}, {-0.473087, -0.638790}, - {0.543595, -0.001347}, {-0.682112, 0.627895}, {-0.405487, 0.778655}, - {0.090159, -1.164412}, {-1.021743, -1.421425}, {-0.149220, -0.891920}, - {0.763872, -0.387818}, {0.447078, 0.686021}, {0.054443, 0.941294}, - {0.946171, -0.217788}, {-0.490974, 1.129098}, {0.729449, 0.252452}, - {0.815682, -0.189074}, {0.788805, -1.240450}, {0.942122, -1.379303}, - {-0.702094, 0.893805}, {-1.031257, 0.993462}, {-0.515607, -1.598744}, - {-1.242896, 0.696992}, {0.462112, -1.234721}, {-1.005724, 0.703223}, - {0.475509, 1.468536}, {0.087152, 0.401476}, {-1.961801, 0.527485}, - {-0.277783, 0.792785}, {0.499758, -0.094692}, {0.592984, -0.740657}, - {-0.369076, -0.004060}, {0.610104, -0.671913}, {-0.127590, 0.291879}, - {-0.769939, -0.549296}, {-0.110371, -0.651391}, {-0.324962, -0.638560}, - {-0.366826, 1.409327}, {0.365052, -0.587005}, {-0.316704, -0.411182}, - {-0.769326, -0.018427}, {0.918326, -0.205236}, {1.455609, 1.087051}, - {0.844860, -0.653147}, {1.020463, 0.280075}, {0.559389, -0.768862}, - {-1.792332, -0.215746}, {0.196068, -0.074482}, {-0.613620, -0.906514}, - {-0.602302, 1.210484}, {1.537292, 0.306783}, {-0.008903, -0.974294}, - {-0.532771, -0.265199}, {-0.018499, -0.535834}, {-0.014195, 0.748767}, - {0.353076, -0.075319}, {0.434187, 0.928206}, {-0.355526, 0.282319}, - {0.211333, 0.311046}, {-0.589182, -0.031620}, {1.002223, 0.023921}, - {-0.601628, -0.329293}, {0.424415, 0.068179}, {-1.155585, 0.516343}, - {0.515025, 0.512588}, {-0.779358, 0.737289}, {-0.532136, -0.528990}, - {0.246092, 0.038006}, {-1.225133, 0.620487}, {-0.200500, -0.297832}, - {-0.419124, -0.629269}, {0.857102, -0.394516}, {-0.627349, 0.023525}, - {-0.480722, 0.194265}, {-0.967646, -0.289770}, {-0.811645, 0.778058}, - {-0.330038, 0.486357}, {-0.188439, 0.216193}, {0.089880, -0.920053}, - {0.123710, -0.395635}, {0.590314, 0.051432}, {-0.400984, 0.472685}, - {-0.482473, -0.081664}, {1.021624, 1.195570}, {-0.641330, -0.310074}, - {-0.191657, -0.668057}, {0.057035, 0.868019}, {0.161342, 0.290908}, - {-0.914313, 1.611466}, {0.752373, 1.180590}, {-0.023547, 1.358874}, - {-0.891893, 0.622478}, {-0.627566, -0.215932}, {0.569484, -0.032047}, - {0.151811, 0.537318}, {0.643493, -0.211765}, {-0.277706, 0.641965}, - {-0.055308, 0.040286}, {0.133963, -0.238700}, {-0.927043, 0.438230}, - {0.737539, -1.090991}, {-0.258609, 0.790912}, {-0.248323, -0.881598}, - {0.220905, 1.051752}, {0.439683, -0.240808}, {-0.081260, -0.429267}, - {-0.893930, -0.301145}, {0.216628, 0.563682}, {0.495748, -0.625961}, - {-0.484015, -1.195660}, {-0.717614, -0.328233}, {-0.601530, -0.572201}, - {-0.055818, 0.060060}, {0.301962, 0.128367}, {-0.314449, -0.022201}, - {-1.088724, 0.633684}, {-0.576006, 0.352197}, {-0.476385, -0.096264}, - {-1.326078, -0.103745}, {-0.458658, -0.228827}, {0.123811, 0.703156}, - {-1.208584, 0.467840}, {0.733960, 0.272324}, {-0.531940, 0.601927}, - {-0.203491, 0.765397}, {0.282851, 0.489174}, {-1.410437, 0.224490}, - {-0.438276, -0.013360}, {-0.061401, -0.259781}, {-0.014421, -0.307778}, - {-0.475161, 1.111264}, {0.769111, 0.441227}, {0.172795, -0.268608}, - {0.979869, 0.135185}, {-0.528977, -0.205653}, {-0.045259, 0.027604}, - {0.722821, 0.789841}, {-0.039846, -0.938385}, {0.589344, 0.223276}, - {-1.022671, -0.084817}, {0.041763, -1.074842}, {-0.588962, 0.459411}, - {0.305630, -0.951329}, {-0.688286, -0.717012}, {-0.239280, -0.054100}, - {0.466996, -0.578716}, {0.515927, -0.146469}, {0.728230, 1.345576}, - {0.418004, 1.320527}, {-0.518194, 0.757005}, {0.012964, -1.615714}, - {-0.952324, -0.315730}, {-0.857139, 0.027421}, {0.114293, 0.309591}, - {-0.844651, -0.223144}, {-0.928183, 1.192097}, {-1.023982, -0.343621}, - {-1.048939, -0.345626}, {0.164567, 0.377517}, {0.836105, -0.111800}, - {0.071700, 0.607273}, {0.144912, 0.349067}, {0.722128, -0.075779}, - {-0.279779, -0.260383}, {-0.049156, 1.120738}, {-0.640154, -0.228391}, - {-0.039753, 0.150724}, {-0.415397, -0.463677}, {-0.723847, -0.209406}, - {-0.524332, -1.037805}, {0.171327, -1.435469}, {-0.089687, -0.415936}, - {-1.225215, 0.133157}, {-0.018497, -0.644647}, {0.396236, -0.355851}, - {0.225700, 0.899203}, {0.287114, -0.691831}, {0.674085, -0.073870}, - {2.000654, -0.623437}, {-0.252822, -0.415741}, {0.052088, 0.016210}, - {-0.332988, -0.849652}, {0.026695, -0.376094}, {0.742096, 0.969579}, - {-1.635731, 0.339533}, {-0.208349, 0.686132}, {0.828001, -0.603493}, - {-0.078836, -0.444070}, {1.364974, 0.631664}, {-0.160620, 0.335231}, - {-1.378768, -0.907673}, {-0.293646, 0.072013}, {1.524592, -1.461770}, - {0.083610, -1.746190}, {0.102486, 0.149103}, {0.691698, 0.227990}, - {0.028614, -0.864596}, {-0.152066, 0.125449}, {-1.205134, 1.186200}, - {0.848843, -0.061847}, {1.081665, 0.049303}, {-0.108837, -0.099148}, - {0.262042, -0.490003}, {-0.254991, 0.361463}, {-0.477565, 0.096211}, - {-0.137706, -1.119345}, {0.538644, 0.486454}, {0.035114, 0.001732}, - {-0.695087, 0.063591}, {-1.648017, 0.977367}, {-0.224997, 0.395787}, - {-0.727539, -0.234162}, {0.078225, -0.026224}, {0.772412, -0.439717}, - {-0.403974, 0.204029}, {-1.104881, -0.012786}, {-0.672931, -0.415948}, - {-0.863229, -2.233172}, {1.063307, -0.258525}, {-0.529432, -0.708843}, - {-0.176069, -1.026002}, {-0.384993, -0.904576}, {0.042330, -1.765663}, - {0.851313, 1.091533}, {0.180840, 0.453570}, {0.337128, 0.182821}, - {1.363286, -1.181451}, {1.137031, -0.433505}, {-1.325181, -0.200399}, - {0.394546, 0.006217}, {0.723817, -0.068463}, {1.050909, 0.065058}, - {0.084242, -0.420440}, {-0.238302, 0.258881}, {0.174215, -0.677729}, - {-0.711756, 0.276335}, {-0.129577, -0.515158}, {0.866331, 0.116316}, - {1.575856, 0.566488}, {0.235497, -0.285233}, {-0.831974, -0.236821}, - {-0.817600, 1.539514}, {-0.485036, 0.295694}, {-1.575127, 0.044856}, - {0.181119, 0.710358}, {-0.056993, -0.238132}, {0.091941, 0.490274}, - {0.339556, 1.201109}, {-1.241956, 1.033717}, {-0.653462, -1.105622}, - {-0.351127, 0.017888}, {-0.240821, -0.475748}, {-0.456277, 0.573568}, - {-0.419904, -1.058360}, {0.052939, -0.291801}, {-0.975645, 0.317124}, - {-0.277843, 1.312881}, {-0.980414, -0.689515}, {-0.328660, 0.125761}, - {0.002261, 0.540834}, {0.289127, -0.906076}, {-0.583909, 0.091516}, - {-0.105622, 0.534255}, {0.498881, -1.752227}, {-0.372611, -0.300411}, - {0.805897, 1.430785}, {1.128088, -0.203904}, {-0.080504, -0.025175}, - {0.109551, 0.071366}, {-1.018953, 0.755951}, {0.666092, 0.991101}, - {0.947680, -0.016049}, {2.030778, -1.308712}, {-0.536376, -0.093177}, - {-0.979295, -0.287391}, {-0.720582, -0.666863}, {-1.329793, -0.141597}, - {1.120330, 0.296339}, {-0.683593, -1.193189}, {-0.890008, -0.339326}, - {0.108370, 0.364104}, {0.761248, 0.181091}, {0.852765, 1.409425}, - {-0.232370, 1.404779}, {-0.951683, -0.337612}, {-2.093378, -0.985796}, - {-0.708897, 0.096981}, {-0.369032, -0.081507}, {0.668578, 0.410819}, - {-1.449941, 1.474340}, {-0.077746, -0.719201}, {-0.522293, -0.151163}, - {-0.458998, -0.377810}, {-0.371088, -0.656185}, {-0.692675, 0.536793}, - {-0.856001, 0.770941}, {0.787694, -0.616170}, {0.666946, -1.360541}, - {0.649554, -0.692776}, {-1.149561, -0.060654}, {-1.017696, -1.553694}, - {0.594676, -0.308209}, {-0.414485, 0.300271}, {0.914811, -1.373936}, - {0.593489, -0.368620}, {-0.414122, 0.825231}, {-0.946035, -0.712426}, - {-0.027283, -0.856090}, {0.824075, -0.537887}, {-0.670569, -1.076879}, - {1.250980, -0.782317}, {0.225270, -0.377829}, {0.977247, 1.198198}, - {-0.255252, 0.458703}, {0.859036, 2.174261}, {-0.392631, 0.739821}, - {-0.219855, 0.169863}, {0.412017, 0.686208}, {0.191456, 0.548503}, - {0.762538, -0.306864}, {-0.618637, -0.991173}, {-0.286232, -1.189813}, - {0.409556, 0.705714}, {0.604650, -0.285883}, {-0.037553, -0.284563}, - {-1.752832, 0.885716}, {0.662262, 0.178240}, {-0.668130, -0.398971}, - {2.333495, -0.030369}, {0.431917, -0.014914}, {-0.339628, -0.075137}, - {0.979382, 0.620025}, {0.024547, -0.548793}, {-1.198934, 0.571377}, - {0.089618, 0.417351}, {-0.696845, 0.721676}, {0.227661, -0.375026}, - {-0.168858, -0.092691}, {0.407953, -0.657836}, {0.508885, -0.088453}, - {0.062845, -0.270386}, {-0.087209, -0.221708}, {-1.042531, 0.650343}, - {-0.637231, 0.804756}, {-0.316632, 0.521297}, {-0.284839, 0.380972}, - {0.756041, 0.089078}, {0.367135, -0.050171}, {0.673788, -0.328597}, - {-0.475960, 1.277835}, {0.050328, -0.406764}, {-1.253687, 0.528663}, - {1.121088, -0.753455}, {0.576634, 0.414912}, {1.154879, -0.107302}, - {0.079544, 0.382389}, {0.259826, -0.087435}, {1.064498, 0.528704}, - {-0.698877, -1.021912}, {1.273747, 0.566923}, {-0.151776, 1.226809}, - {-0.116914, 0.456137}, {-0.758612, 0.838042}, {0.174788, 0.207897}, - {-1.054368, -0.062673}, {0.303920, 0.414262}, {0.444540, -1.599911}, - {-0.263430, 0.748950}, {0.673118, 0.295838}, {0.558813, -1.015097}, - {-0.182189, 0.099479}, {-0.290746, -0.204886}, {-0.429349, -0.670610}, - {-1.054783, -0.017990}, {0.438704, 1.112183}, {1.172061, 0.466392}, - {0.572237, 0.341187}, {0.617213, -0.632464}, {0.122765, 0.496952}, - {-0.366828, 0.476781}, {0.023184, 0.226708}, {-0.410027, -1.070367}, - {-1.411039, 0.798430}, {0.635652, -1.202681}, {1.131089, -0.782675}, - {0.310544, 0.006326}, {0.525788, -1.242739}, {0.347988, 0.586708}, - {-1.343655, 1.265193}, {0.573006, 0.820707}, {-0.145902, -0.883328}, - {0.129940, 0.855404}, {0.877836, -0.239222}, {-0.451520, -0.558787}, - {0.326841, -1.498916}, {-0.472055, -0.088465}, {0.420626, 0.747670}, - {0.365096, -0.779117}, {0.779887, -1.025049}, {0.268789, 0.955912}, - {0.427846, 0.416261}, {0.351268, 1.579771}, {0.085293, -1.166684}, - {0.108972, -1.064624}, {-0.566448, -0.214947}, {-0.132223, -0.361406}, - {-0.136036, 0.118975}, {0.427266, 0.217945}, {0.189904, -0.598306}, - {0.020599, 0.225899}, {-1.566003, 0.465088}, {-0.151238, -0.690998}, - {0.644967, -1.305515}, {-1.005521, 0.212625}, {-0.201626, 0.124733}, - {0.712140, 0.508869}, {0.934268, 0.418607}, {1.930008, -0.584650}, - {-0.667467, 1.471271}, {0.925854, 0.010608}, {-0.540775, -0.332686}, - {-1.356718, 0.347897}, {1.008829, 0.621137}, {1.266918, -0.344629}, - {-1.128488, -0.418674}, {0.157524, 0.139078}, {-0.080731, -1.515912}, - {0.138870, 1.536295}, {0.096079, -0.738967}, {0.055822, 0.790336}, - {0.775557, -0.154829}, {-0.762535, -0.407425}, {-1.166020, 0.176498}, - {-0.001453, 0.874596}, {0.086572, 0.749436}, {-0.497314, 1.108861}, - {1.253067, 0.882093}, {0.043620, 0.847310}, {1.124285, 0.394422}, - {-0.028010, -0.424847}, {0.502442, -0.944102}, {-0.624064, -0.633988}, - {-1.314388, -0.197072}, {-0.878207, 1.312132}, {0.164886, -0.109184}, - {-1.477262, -0.055125}, {-0.030013, -0.699816}, {-1.298661, 1.409137}}; \ No newline at end of file diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/octave.c b/vendor/codec2_flutter_ios_only/src/codec2/src/octave.c deleted file mode 100644 index c57bae1..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/octave.c +++ /dev/null @@ -1,141 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: octave.c - AUTHOR......: David Rowe - DATE CREATED: April 28 2012 - - Functions to save C arrays in GNU Octave matrix format. The output text - file can be directly read into Octave using "load filename". - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2012 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . - */ - -#include "octave.h" - -#include -#include - -#ifdef ARM_MATH_CM4 -#include "Trace.h" -#endif - -#define OCTAVE_BUFSIZE 2048 - -void flush_buffer(FILE* f, char* buffer, size_t* buf_idx_ptr) { -#ifdef ARM_MATH_CM4 - trace_write(buffer, *buf_idx_ptr); -#else - fwrite(buffer, *buf_idx_ptr, 1, f); -#endif - *buf_idx_ptr = 0; -} - -void handle_buffer(FILE* f, char* buffer, const size_t max_buf, - size_t* buf_idx_ptr, size_t l) { - *buf_idx_ptr += l; - if (*buf_idx_ptr > max_buf - 64) { - flush_buffer(f, buffer, buf_idx_ptr); - } -} - -signed int printf_buffer(FILE* f, char* buffer, const size_t max_buf, - size_t* buf_idx_ptr, const char* pFormat, ...) { - va_list ap; - signed int rc; - - va_start(ap, pFormat); - rc = vsnprintf(&buffer[*buf_idx_ptr], max_buf - *buf_idx_ptr, pFormat, ap); - va_end(ap); - if (rc > 0) { - handle_buffer(f, buffer, max_buf, buf_idx_ptr, rc); - } - return rc; -} - -void printf_header(FILE* f, char* buffer, const size_t max_buf, - size_t* buf_idx_ptr, const char* name, const char* dtype, - int rows, int cols, int isFloat) { -#ifdef ARM_MATH_CM4 - printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# hex: %s\n", - isFloat ? "true" : "false"); -#endif - printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# name: %s\n", name); - printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# type: %s\n", dtype); - printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# rows: %d\n", rows); - printf_buffer(f, buffer, OCTAVE_BUFSIZE, buf_idx_ptr, "# columns: %d\n", - cols); -} -void octave_save_int(FILE* f, char name[], int data[], int rows, int cols) { - int r, c; - char buffer[OCTAVE_BUFSIZE]; - size_t buf_idx = 0; - - printf_header(f, buffer, OCTAVE_BUFSIZE, &buf_idx, name, "matrix", rows, cols, - 0); - - for (r = 0; r < rows; r++) { - for (c = 0; c < cols; c++) - printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, " %d", - data[r * cols + c]); - printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n"); - } - - printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n\n"); - flush_buffer(f, buffer, &buf_idx); -} - -void octave_save_float(FILE* f, char name[], float data[], int rows, int cols, - int col_len) { - int r, c; - char buffer[OCTAVE_BUFSIZE]; - size_t buf_idx = 0; - - printf_header(f, buffer, OCTAVE_BUFSIZE, &buf_idx, name, "matrix", rows, cols, - 1); - - for (r = 0; r < rows; r++) { - for (c = 0; c < cols; c++) - printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, " %f", - data[r * col_len + c]); - printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n"); - } - - printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n\n"); - flush_buffer(f, buffer, &buf_idx); -} - -void octave_save_complex(FILE* f, char name[], COMP data[], int rows, int cols, - int col_len) { - int r, c; - char buffer[OCTAVE_BUFSIZE]; - size_t buf_idx = 0; - - printf_header(f, buffer, OCTAVE_BUFSIZE, &buf_idx, name, "complex matrix", - rows, cols, 1); - - for (r = 0; r < rows; r++) { - for (c = 0; c < cols; c++) { - printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, " (%f,%f)", - data[r * col_len + c].real, data[r * col_len + c].imag); - } - printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n"); - } - printf_buffer(f, buffer, OCTAVE_BUFSIZE, &buf_idx, "\n\n"); - flush_buffer(f, buffer, &buf_idx); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/octave.h b/vendor/codec2_flutter_ios_only/src/codec2/src/octave.h deleted file mode 100644 index 8ecac9c..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/octave.h +++ /dev/null @@ -1,42 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: octave.h - AUTHOR......: David Rowe - DATE CREATED: April 28 2012 - - Functions to save C arrays in Octave matrix format. the output text - file can be directly read into octave using "load filename". - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2012 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __OCTAVE__ -#define __OCTAVE__ - -#include - -#include "comp.h" - -void octave_save_int(FILE *f, char name[], int data[], int rows, int cols); -void octave_save_float(FILE *f, char name[], float data[], int rows, int cols, - int col_len); -void octave_save_complex(FILE *f, char name[], COMP data[], int rows, int cols, - int col_len); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm.c b/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm.c deleted file mode 100644 index 953179f..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm.c +++ /dev/null @@ -1,2696 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: ofdm.c - AUTHORS.....: David Rowe & Steve Sampson - DATE CREATED: June 2017 - - A Library of functions that implement a PSK OFDM modem, C port of - the Octave functions in ofdm_lib.m - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2017-2020 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . - */ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "codec2_ofdm.h" -#include "comp.h" -#include "debug_alloc.h" -#include "filter.h" -#include "machdep.h" -#include "ofdm_internal.h" -#include "wval.h" - -#ifdef __EMBEDDED__ -#include "codec2_math.h" -#endif /* __EMBEDDED__ */ - -/* Static Prototypes */ - -static float cnormf(complex float); -static void allocate_tx_bpf(struct OFDM *); -static void deallocate_tx_bpf(struct OFDM *); -static float find_carrier_centre(struct OFDM *ofdm); -static void allocate_rx_bpf(struct OFDM *); -static void deallocate_rx_bpf(struct OFDM *); -static void dft(struct OFDM *, complex float *, complex float *); -static void idft(struct OFDM *, complex float *, complex float *); -static complex float vector_sum(complex float *, int); -static int est_timing(struct OFDM *, complex float *, int, int, float *, int *, - int); -static float est_freq_offset_pilot_corr(struct OFDM *, complex float *, int, - int); -static int ofdm_sync_search_core(struct OFDM *); -static void ofdm_demod_core(struct OFDM *, int *); - -/* Defines */ - -#define max(a, b) (((a) > (b)) ? (a) : (b)) -#define min(a, b) (((a) < (b)) ? (a) : (b)) - -/* - * QPSK Quadrant bit-pair values - Gray Coded - */ -static const complex float qpsk[] = {1.0f + 0.0f * I, 0.0f + 1.0f * I, - 0.0f - 1.0f * I, -1.0f + 0.0f * I}; - -static const complex float qam16[] = { - 1.0f + 1.0f * I, 1.0f + 3.0f * I, 3.0f + 1.0f * I, 3.0f + 3.0f * I, - 1.0f - 1.0f * I, 1.0f - 3.0f * I, 3.0f - 1.0f * I, 3.0f - 3.0f * I, - -1.0f + 1.0f * I, -1.0f + 3.0f * I, -3.0f + 1.0f * I, -3.0f + 3.0f * I, - -1.0f - 1.0f * I, -1.0f - 3.0f * I, -3.0f - 1.0f * I, -3.0f - 3.0f * I}; - -/* - * These pilots are compatible with Octave version - */ -static const int8_t pilotvalues[] = { - -1, -1, 1, 1, -1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, - 1, 1, 1, -1, -1, 1, -1, 1, -1, 1, 1, 1, 1, 1, 1, 1, - 1, 1, 1, -1, 1, 1, 1, 1, 1, -1, -1, -1, -1, -1, -1, 1, - -1, 1, -1, 1, -1, -1, 1, -1, 1, 1, 1, 1, -1, 1, -1, 1}; - -/* Local Functions ----------------------------------------------------------*/ - -static float cnormf(complex float val) { - float realf = crealf(val); - float imagf = cimagf(val); - - return realf * realf + imagf * imagf; -} - -/* - * Gray coded QPSK modulation function - */ -complex float qpsk_mod(int *bits) { return qpsk[(bits[1] << 1) | bits[0]]; } - -/* - * Gray coded QPSK demodulation function - * - * 01 | 00 - * ---+--- - * 11 | 10 - */ -void qpsk_demod(complex float symbol, int *bits) { - complex float rotate = symbol * cmplx(ROT45); - - bits[0] = crealf(rotate) <= 0.0f; - bits[1] = cimagf(rotate) <= 0.0f; -} - -complex float qam16_mod(int *bits) { - return qam16[(bits[3] << 3) | (bits[2] << 2) | (bits[1] << 1) | bits[0]]; -} - -void qam16_demod(complex float symbol, int *bits) { - float dist[16]; - int i; - - for (i = 0; i < 16; i++) { - dist[i] = cnormf(symbol - qam16[i]); - } - - int row = 0; - float mdist = 10000.0f; - - for (i = 0; i < 16; i++) { - if (dist[i] < mdist) { - mdist = dist[i]; - row = i; - } - } - - bits[0] = row & 1; - bits[1] = (row >> 1) & 1; - bits[2] = (row >> 2) & 1; - bits[3] = (row >> 3) & 1; -} - -/* - * ------------ - * ofdm_create - * ------------ - * - * Returns OFDM data structure on success - * Return NULL on fail - * - * If you want the defaults, call this with config structure - * and the NC setting to 0. This will fill the structure with - * default values of the original OFDM modem. - */ -struct OFDM *ofdm_create(const struct OFDM_CONFIG *config) { - struct OFDM *ofdm; - float tval; - int i, j; - - ofdm = (struct OFDM *)CALLOC(1, sizeof(struct OFDM)); - assert(ofdm != NULL); - - if (config == NULL) { - /* Fill in default values */ - - strcpy(ofdm->mode, "700D"); - ofdm->nc = 17; /* Number of carriers */ - ofdm->np = 1; - ofdm->ns = 8; /* Number of Symbols per modem frame */ - ofdm->ts = 0.018f; - ofdm->rs = (1.0f / ofdm->ts); /* Modulation Symbol Rate */ - ofdm->tcp = .002f; /* Cyclic Prefix duration */ - ofdm->tx_centre = 1500.0f; /* TX Carrier Frequency */ - ofdm->rx_centre = 1500.0f; /* RX Carrier Frequency */ - ofdm->fs = 8000.0f; /* Sample rate */ - ofdm->ntxtbits = 4; - ofdm->bps = 2; /* Bits per Symbol */ - ofdm->nuwbits = - 5 * ofdm->bps; /* default is 5 symbols of Unique Word bits */ - ofdm->bad_uw_errors = 3; - ofdm->ftwindowwidth = 32; - ofdm->timing_mx_thresh = 0.30f; - ofdm->state_machine = "voice1"; - ofdm->edge_pilots = 1; - ofdm->codename = "HRA_112_112"; - ofdm->amp_est_mode = 0; - ofdm->tx_bpf_en = true; - ofdm->tx_bpf_proto = filtP650S900; - ofdm->tx_bpf_proto_n = sizeof(filtP650S900) / sizeof(float); - ofdm->rx_bpf_en = false; - ofdm->amp_scale = 245E3; - ofdm->clip_gain1 = 2.0; - ofdm->clip_gain2 = 0.9; - ofdm->clip_en = false; - ofdm->foff_limiter = false; - ofdm->data_mode = ""; - ofdm->fmin = -50.0; /* frequency minimum for ofdm acquisition range */ - ofdm->fmax = 50.0; /* frequency maximum for ofdm acquisition range */ - memset(ofdm->tx_uw, 0, ofdm->nuwbits); - } else { - /* Use the users values */ - - strcpy(ofdm->mode, config->mode); - ofdm->nc = config->nc; /* Number of carriers */ - ofdm->np = config->np; /* Number of modem Frames per Packet */ - ofdm->ns = config->ns; /* Number of Symbol frames */ - ofdm->bps = config->bps; /* Bits per Symbol */ - ofdm->ts = config->ts; - ofdm->tcp = config->tcp; /* Cyclic Prefix duration */ - ofdm->tx_centre = config->tx_centre; /* TX Centre Audio Frequency */ - ofdm->rx_centre = config->rx_centre; /* RX Centre Audio Frequency */ - ofdm->fs = config->fs; /* Sample Frequency */ - ofdm->rs = config->rs; /* Symbol Rate */ - ofdm->ntxtbits = config->txtbits; - ofdm->nuwbits = config->nuwbits; - ofdm->bad_uw_errors = config->bad_uw_errors; - ofdm->ftwindowwidth = config->ftwindowwidth; - ofdm->timing_mx_thresh = config->timing_mx_thresh; - ofdm->state_machine = config->state_machine; - ofdm->edge_pilots = config->edge_pilots; - ofdm->codename = config->codename; - ofdm->amp_est_mode = config->amp_est_mode; - ofdm->tx_bpf_en = config->tx_bpf_en; - ofdm->tx_bpf_proto = config->tx_bpf_proto; - ofdm->tx_bpf_proto_n = config->tx_bpf_proto_n; - ofdm->rx_bpf_en = config->rx_bpf_en; - ofdm->foff_limiter = config->foff_limiter; - ofdm->amp_scale = config->amp_scale; - ofdm->clip_gain1 = config->clip_gain1; - ofdm->clip_gain2 = config->clip_gain2; - ofdm->clip_en = config->clip_en; - memcpy(ofdm->tx_uw, config->tx_uw, ofdm->nuwbits); - ofdm->data_mode = config->data_mode; - ofdm->fmin = - config->fmin; /* frequency minimum for ofdm acquisition range */ - ofdm->fmax = - config->fmax; /* frequency maximum for ofdm acquisition range */ - } - - ofdm->rs = (1.0f / ofdm->ts); /* Modulation Symbol Rate */ - ofdm->m = (int)(ofdm->fs / ofdm->rs); /* 700D: 144 */ - ofdm->ncp = (int)(ofdm->tcp * ofdm->fs); /* 700D: 16 */ - ofdm->inv_m = (1.0f / (float)ofdm->m); - - /* basic sanity checks */ - assert((int)floorf(ofdm->fs / ofdm->rs) == ofdm->m); - assert(!strcmp(ofdm->state_machine, "voice1") || - !strcmp(ofdm->state_machine, "data") || - !strcmp(ofdm->state_machine, "voice2")); - assert(ofdm->nuwbits <= MAX_UW_BITS); - - /* Copy constants into states */ - - strcpy(ofdm->config.mode, ofdm->mode); - ofdm->config.tx_centre = ofdm->tx_centre; - ofdm->config.rx_centre = ofdm->rx_centre; - ofdm->config.fs = ofdm->fs; - ofdm->config.rs = ofdm->rs; - ofdm->config.ts = ofdm->ts; - ofdm->config.tcp = ofdm->tcp; - ofdm->config.timing_mx_thresh = ofdm->timing_mx_thresh; - ofdm->config.nc = ofdm->nc; - ofdm->config.ns = ofdm->ns; - ofdm->config.np = ofdm->np; - ofdm->config.bps = ofdm->bps; - ofdm->config.nuwbits = ofdm->nuwbits; - ofdm->config.txtbits = ofdm->ntxtbits; - ofdm->config.bad_uw_errors = ofdm->bad_uw_errors; - ofdm->config.ftwindowwidth = ofdm->ftwindowwidth; - ofdm->config.state_machine = ofdm->state_machine; - ofdm->config.edge_pilots = ofdm->edge_pilots; - ofdm->config.codename = ofdm->codename; - ofdm->config.amp_est_mode = ofdm->amp_est_mode; - ofdm->config.tx_bpf_en = ofdm->tx_bpf_en; - ofdm->config.tx_bpf_proto = ofdm->tx_bpf_proto; - ofdm->config.tx_bpf_proto_n = ofdm->tx_bpf_proto_n; - ofdm->config.rx_bpf_en = ofdm->rx_bpf_en; - ofdm->config.foff_limiter = ofdm->foff_limiter; - ofdm->config.amp_scale = ofdm->amp_scale; - ofdm->config.clip_gain1 = ofdm->clip_gain1; - ofdm->config.clip_gain2 = ofdm->clip_gain2; - ofdm->config.clip_en = ofdm->clip_en; - memcpy(ofdm->config.tx_uw, ofdm->tx_uw, ofdm->nuwbits); - ofdm->config.data_mode = ofdm->data_mode; - ofdm->config.fmin = ofdm->fmin; - ofdm->config.fmax = ofdm->fmax; - - /* Calculate sizes from config param */ - - ofdm->bitsperframe = - (ofdm->ns - 1) * (ofdm->nc * ofdm->bps); // 238 for nc = 17 - ofdm->bitsperpacket = ofdm->np * ofdm->bitsperframe; - ofdm->tpacket = (float)(ofdm->np * ofdm->ns) * - (ofdm->tcp + ofdm->ts); /* time for one packet */ - ofdm->rowsperframe = ofdm->bitsperframe / (ofdm->nc * ofdm->bps); - ofdm->samplespersymbol = (ofdm->m + ofdm->ncp); - ofdm->samplesperframe = ofdm->ns * ofdm->samplespersymbol; - if (*ofdm->data_mode != 0) - // in burst data modes we skip ahead one frame to jump over preamble - ofdm->max_samplesperframe = 2 * ofdm->samplesperframe; - else - ofdm->max_samplesperframe = - ofdm->samplesperframe + (ofdm->samplespersymbol / 4); - /* extra storage at start of rxbuf to allow us to step back in time */ - if (strlen(ofdm->data_mode)) - ofdm->nrxbufhistory = (ofdm->np + 2) * ofdm->samplesperframe; - else - ofdm->nrxbufhistory = 0; - ofdm->rxbufst = ofdm->nrxbufhistory; - ofdm->nrxbufmin = 3 * ofdm->samplesperframe + 3 * ofdm->samplespersymbol; - ofdm->nrxbuf = ofdm->nrxbufhistory + ofdm->nrxbufmin; - - ofdm->pilot_samples = - (complex float *)MALLOC(sizeof(complex float) * ofdm->samplespersymbol); - assert(ofdm->pilot_samples != NULL); - - ofdm->rxbuf = (complex float *)MALLOC(sizeof(complex float) * ofdm->nrxbuf); - assert(ofdm->rxbuf != NULL); - for (int i = 0; i < ofdm->nrxbuf; i++) ofdm->rxbuf[i] = 0; - - ofdm->pilots = - (complex float *)MALLOC(sizeof(complex float) * (ofdm->nc + 2)); - assert(ofdm->pilots != NULL); - - /* - * rx_sym is a 2D array of variable size - * - * allocate rx_sym row storage. It is a pointer to a pointer - */ - ofdm->rx_sym = MALLOC(sizeof(complex float) * (ofdm->ns + 3)); - assert(ofdm->rx_sym != NULL); - - /* allocate rx_sym column storage */ - - for (i = 0; i < (ofdm->ns + 3); i++) { - ofdm->rx_sym[i] = - (complex float *)MALLOC(sizeof(complex float) * (ofdm->nc + 2)); - assert(ofdm->rx_sym[i] != NULL); - } - - /* The rest of these are 1D arrays of variable size */ - - ofdm->rx_np = MALLOC(sizeof(complex float) * (ofdm->rowsperframe * ofdm->nc)); - assert(ofdm->rx_np != NULL); - - ofdm->rx_amp = MALLOC(sizeof(float) * (ofdm->rowsperframe * ofdm->nc)); - assert(ofdm->rx_amp != NULL); - - ofdm->aphase_est_pilot_log = - MALLOC(sizeof(float) * (ofdm->rowsperframe * ofdm->nc)); - assert(ofdm->aphase_est_pilot_log != NULL); - - /* store complex BPSK pilot symbols */ - - assert(sizeof(pilotvalues) >= (ofdm->nc + 2) * sizeof(int8_t)); - - /* There are only 64 pilot values available */ - - for (i = 0; i < (ofdm->nc + 2); i++) { - ofdm->pilots[i] = ((float)pilotvalues[i]) + 0.0f * I; - } - if (ofdm->edge_pilots == 0) { - ofdm->pilots[0] = ofdm->pilots[ofdm->nc + 1] = 0.0f; - } - /* carrier tables for up and down conversion */ - - ofdm->doc = (TAU / (ofdm->fs / ofdm->rs)); - tval = ((float)ofdm->nc / 2.0f); - ofdm->tx_nlower = roundf((ofdm->tx_centre / ofdm->rs) - tval) - 1.0f; - ofdm->rx_nlower = roundf((ofdm->rx_centre / ofdm->rs) - tval) - 1.0f; - - /* Tx and Rx band pass filters */ - ofdm->tx_bpf = NULL; - if (ofdm->tx_bpf_en) allocate_tx_bpf(ofdm); - ofdm->rx_bpf = NULL; - if (ofdm->rx_bpf_en) allocate_rx_bpf(ofdm); - - for (i = 0; i < ofdm->nrxbuf; i++) { - ofdm->rxbuf[i] = 0.0f; - } - - for (i = 0; i < (ofdm->ns + 3); i++) { - for (j = 0; j < (ofdm->nc + 2); j++) { - ofdm->rx_sym[i][j] = 0.0f; - } - } - - for (i = 0; i < ofdm->rowsperframe * ofdm->nc; i++) { - ofdm->rx_np[i] = 0.0f; - } - - for (i = 0; i < ofdm->rowsperframe; i++) { - for (j = 0; j < ofdm->nc; j++) { - ofdm->aphase_est_pilot_log[ofdm->nc * i + j] = 0.0f; - ofdm->rx_amp[ofdm->nc * i + j] = 0.0f; - } - } - - /* default settings of options and states */ - - ofdm->verbose = 0; - ofdm->timing_en = true; - ofdm->foff_est_en = true; - ofdm->phase_est_en = true; - ofdm->phase_est_bandwidth = high_bw; - ofdm->phase_est_bandwidth_mode = AUTO_PHASE_EST; - ofdm->packetsperburst = 0; // default: never lose syn in raw data mode - - ofdm->coarse_foff_est_hz = 0.0f; - ofdm->foff_est_gain = 0.1f; - ofdm->foff_est_hz = 0.0f; - ofdm->sample_point = 0; - ofdm->timing_est = 0; - ofdm->timing_valid = 0; - ofdm->timing_mx = 0.0f; - ofdm->nin = ofdm->samplesperframe; - ofdm->mean_amp = 0.0f; - ofdm->foff_metric = 0.0f; - - ofdm->fmin = -50.0f; - ofdm->fmax = 50.0f; - - /* - * Unique Word symbol placement. Note we need to group the UW - * bits so they fit into symbols. The LDPC decoder works on - * symbols so we can't break up any symbols into UW/payload bits. - */ - ofdm->uw_ind = MALLOC(sizeof(int) * ofdm->nuwbits); - assert(ofdm->uw_ind != NULL); - - ofdm->uw_ind_sym = MALLOC(sizeof(int) * (ofdm->nuwbits / ofdm->bps)); - assert(ofdm->uw_ind_sym != NULL); - - /* - * The Unique Word is placed in different indexes based on - * the number of carriers requested. - */ - int nuwsyms = ofdm->nuwbits / ofdm->bps; - int Ndatasymsperframe = (ofdm->ns - 1) * ofdm->nc; - int uw_step = ofdm->nc + 1; // default step size - int last_sym = floorf(nuwsyms * uw_step / ofdm->bps); - if (last_sym >= ofdm->np * Ndatasymsperframe) - uw_step = ofdm->nc - 1; // try a different step - last_sym = floorf(nuwsyms * uw_step / ofdm->bps); - assert(last_sym < - ofdm->np * Ndatasymsperframe); // bail if we still can't fit them all - - for (i = 0, j = 0; i < nuwsyms; i++, j += ofdm->bps) { - int val = floorf((i + 1) * uw_step / ofdm->bps); - - ofdm->uw_ind_sym[i] = val; // symbol index - - for (int b = 0; b < ofdm->bps; b++) { - ofdm->uw_ind[j + b] = (val * ofdm->bps) + b; - } - } - - // work out how many frames UW is spread over - int symsperframe = ofdm->bitsperframe / ofdm->bps; - ofdm->nuwframes = - (int)ceilf((float)(ofdm->uw_ind_sym[nuwsyms - 1] + 1) / symsperframe); - - ofdm->tx_uw_syms = - MALLOC(sizeof(complex float) * (ofdm->nuwbits / ofdm->bps)); - assert(ofdm->tx_uw_syms != NULL); - - assert(ofdm->bps == 2); // TODO generalise - for (int s = 0; s < (ofdm->nuwbits / ofdm->bps); s++) { - int dibit[2]; - dibit[1] = ofdm->tx_uw[2 * s]; - dibit[0] = ofdm->tx_uw[2 * s + 1]; - ofdm->tx_uw_syms[s] = qpsk_mod(dibit); - } - - /* sync state machine */ - - ofdm->sync_state = search; - ofdm->last_sync_state = search; - - ofdm->uw_errors = 0; - ofdm->sync_counter = 0; - ofdm->frame_count = 0; - ofdm->sync_start = false; - ofdm->sync_end = false; - ofdm->sync_mode = autosync; - ofdm->modem_frame = 0; - - /* create the OFDM pilot time-domain waveform */ - - complex float *temp = MALLOC(sizeof(complex float) * ofdm->m); - assert(temp != NULL); - - idft(ofdm, temp, ofdm->pilots); - - /* - * pilot_samples is 160 samples, but timing and freq offset est - * were found by experiment to work better without a cyclic - * prefix, so we uses zeroes instead. - */ - - /* zero out Cyclic Prefix (CP) time-domain values */ - - for (i = 0; i < ofdm->ncp; i++) { - ofdm->pilot_samples[i] = 0.0f; - } - - /* Now copy the whole thing after the above */ - - for (i = ofdm->ncp, j = 0; j < ofdm->m; i++, j++) { - ofdm->pilot_samples[i] = temp[j]; - } - - FREE(temp); - - /* calculate constant used to normalise timing correlation maximum */ - float acc = 0.0f; - for (i = 0; i < ofdm->samplespersymbol; i++) { - acc += cnormf(ofdm->pilot_samples[i]); - } - - ofdm->timing_norm = ofdm->samplespersymbol * acc; - ofdm->clock_offset_counter = 0; - ofdm->dpsk_en = false; - - if (strlen(ofdm->data_mode)) { - ofdm->tx_preamble = (COMP *)malloc(sizeof(COMP) * ofdm->samplesperframe); - assert(ofdm->tx_preamble != NULL); - ofdm_generate_preamble(ofdm, ofdm->tx_preamble, 2); - ofdm->tx_postamble = (COMP *)malloc(sizeof(COMP) * ofdm->samplesperframe); - assert(ofdm->tx_postamble != NULL); - ofdm_generate_preamble(ofdm, ofdm->tx_postamble, 3); - } - ofdm->postambledetectoren = !strcmp(ofdm->data_mode, "burst"); - - return ofdm; /* Success */ -} - -static void allocate_tx_bpf(struct OFDM *ofdm) { - ofdm->tx_bpf = MALLOC(sizeof(struct quisk_cfFilter)); - assert(ofdm->tx_bpf != NULL); - assert(ofdm->tx_bpf_proto != NULL); - assert(ofdm->tx_bpf_proto_n != 0); - - quisk_filt_cfInit(ofdm->tx_bpf, ofdm->tx_bpf_proto, ofdm->tx_bpf_proto_n); - float tx_centre = ofdm->tx_centre; - if (!strcmp(ofdm->mode, "datac4") || !strcmp(ofdm->mode, "datac13") || - !strcmp(ofdm->mode, "datac14")) { - // Centre the filter on the mean carrier freq, allows a narrower - // filter to be used. Only really useful for very narrow, Nc odd - // waveforms. TODO: make this feature config controlled - tx_centre = find_carrier_centre(ofdm); - } - quisk_cfTune(ofdm->tx_bpf, tx_centre / ofdm->fs); -} - -static void deallocate_tx_bpf(struct OFDM *ofdm) { - assert(ofdm->tx_bpf != NULL); - quisk_filt_destroy(ofdm->tx_bpf); - FREE(ofdm->tx_bpf); - ofdm->tx_bpf = NULL; -} - -static float find_carrier_centre(struct OFDM *ofdm) { - float rx_centre = 0.0; - for (int c = 0; c < ofdm->nc + 2; c++) - rx_centre += (ofdm->rx_nlower + c) * ofdm->doc; - return (ofdm->fs / TAU) * rx_centre / (ofdm->nc + 2); -} - -static void allocate_rx_bpf(struct OFDM *ofdm) { - ofdm->rx_bpf = MALLOC(sizeof(struct quisk_cfFilter)); - assert(ofdm->rx_bpf != NULL); - - /* Receive bandpass filter; complex coefficients, center frequency, only - really needed for very low SNR waveforms. TODO: make this config - controlled. */ - - if (!strcmp(ofdm->mode, "datac4") || !strcmp(ofdm->mode, "datac13") || - !strcmp(ofdm->mode, "datac14")) { - quisk_filt_cfInit(ofdm->rx_bpf, filtP200S400, - sizeof(filtP200S400) / sizeof(float)); - // centre the filter on the mean carrier freq, allows a narrower filter to - // be used - float rx_centre = find_carrier_centre(ofdm); - // fprintf(stderr, " rx_centre: %f\n", rx_centre); - quisk_cfTune(ofdm->rx_bpf, rx_centre / ofdm->fs); - } else - assert(0); -} - -static void deallocate_rx_bpf(struct OFDM *ofdm) { - assert(ofdm->rx_bpf != NULL); - quisk_filt_destroy(ofdm->rx_bpf); - FREE(ofdm->rx_bpf); - ofdm->rx_bpf = NULL; -} - -void ofdm_destroy(struct OFDM *ofdm) { - int i; - - if (strlen(ofdm->data_mode)) { - free(ofdm->tx_preamble); - free(ofdm->tx_postamble); - } - if (ofdm->tx_bpf) { - deallocate_tx_bpf(ofdm); - } - if (ofdm->rx_bpf) { - deallocate_rx_bpf(ofdm); - } - - FREE(ofdm->pilot_samples); - FREE(ofdm->rxbuf); - FREE(ofdm->pilots); - - for (i = 0; i < (ofdm->ns + 3); i++) { /* 2D array */ - FREE(ofdm->rx_sym[i]); - } - - FREE(ofdm->rx_sym); - FREE(ofdm->rx_np); - FREE(ofdm->rx_amp); - FREE(ofdm->aphase_est_pilot_log); - FREE(ofdm->tx_uw_syms); - FREE(ofdm->uw_ind); - FREE(ofdm->uw_ind_sym); - FREE(ofdm); -} - -/* - * Convert frequency domain into time domain - * - * This algorithm was optimized for speed - */ -static void idft(struct OFDM *ofdm, complex float *result, - complex float *vector) { - int row, col; - - result[0] = 0.0f; - - for (col = 0; col < (ofdm->nc + 2); col++) { - result[0] += vector[col]; // cexp(j0) == 1 - } - - result[0] *= ofdm->inv_m; - - for (row = 1; row < ofdm->m; row++) { - complex float c = cmplx(ofdm->tx_nlower * ofdm->doc * row); - complex float delta = cmplx(ofdm->doc * row); - - result[row] = 0.0f; - - for (col = 0; col < (ofdm->nc + 2); col++) { - result[row] += (vector[col] * c); - c *= delta; - } - - result[row] *= ofdm->inv_m; - } -} - -/* - * Convert time domain into frequency domain - * - * This algorithm was optimized for speed - */ -static void dft(struct OFDM *ofdm, complex float *result, - complex float *vector) { - int row, col; - - for (col = 0; col < (ofdm->nc + 2); col++) { - result[col] = vector[0]; // conj(cexp(j0)) == 1 - } - - for (col = 0; col < (ofdm->nc + 2); col++) { - float tval = (ofdm->rx_nlower + col) * ofdm->doc; - complex float c = cmplxconj(tval); - complex float delta = c; - - for (row = 1; row < ofdm->m; row++) { - result[col] += (vector[row] * c); - c *= delta; - } - } -} - -static complex float vector_sum(complex float *a, int num_elements) { - complex float sum = 0.0f; - int i; - - for (i = 0; i < num_elements; i++) { - sum += a[i]; - } - - return sum; -} - -/* Determine if we can use vector ops below. Only for non-embedded platforms - as double can be significantly slower on those. */ -#ifndef __EMBEDDED__ -#if __GNUC__ > 4 || \ - (__GNUC__ == 4 && \ - (__GNUC_MINOR__ > 6 || (__GNUC_MINOR__ == 6 && __GNUC_PATCHLEVEL__ > 0))) -#define USE_VECTOR_OPS 1 -#elif __clang_major__ > 3 || \ - (__clang_minor__ == 3 && \ - (__clang_minor__ > 7 || \ - (__clang_minor__ == 7 && __clang_patchlevel__ > 0))) -#define USE_VECTOR_OPS 1 -#endif -#else -#include "codec2_math.h" -#endif /* __EMBEDDED__ */ - -#if USE_VECTOR_OPS -typedef float float4 __attribute__((vector_size(16))); -#endif /* USE_VECTOR_OPS */ - -static complex float ofdm_complex_dot_product(complex float *left, - complex float *right, - int numSamples) { - complex float result = 0; - -#if USE_VECTOR_OPS - float *leftPtr = (float *)left; - float *rightPtr = (float *)right; - float4 accumPos = {0, 0, 0, 0}; - float4 accumNeg = {0, 0, 0, 0}; - float4 accumImag = {0, 0, 0, 0}; - float resultReal = 0; - float resultImag = 0; - int numBlocks = numSamples >> 1; - for (int i = 0; i < numBlocks; i++) { - /* Lay out vectors as follows: - vec1 = rx[0].a, rx[0].b, rx[1].a, rx[1].b, ... - vec2 = mvec[0].c, mvec[0].d, mvec[1].c, mvec1[1].d, ... */ - float4 vec1 = {leftPtr[0], leftPtr[1], leftPtr[2], leftPtr[3]}; - float4 vec2 = {rightPtr[0], rightPtr[1], rightPtr[2], rightPtr[3]}; - - accumPos += vec1 * vec2; - accumNeg -= vec1 * vec2; - - /* Lay out vec3 as { rx[0].b, rx[0].a, rx[1].b, rx[0].b, ... }. - Multiply vec3 by vec2 to get us bc, ad, bc, ad - and add to second accumulator. */ - float4 vec3 = {leftPtr[1], leftPtr[0], leftPtr[3], leftPtr[2]}; - accumImag += vec3 * vec2; - - /* Shift pointers forward by 4 (2 complex floats). */ - leftPtr += 4; - rightPtr += 4; - } - - /* dot product: (a + bi)(c + di) = (ac - bd) + i(bc + ad) */ - resultReal = accumPos[0] + accumNeg[1] + accumPos[2] + accumNeg[3]; - resultImag = accumImag[0] + accumImag[1] + accumImag[2] + accumImag[3]; - result = resultReal + I * resultImag; - - /* Add remaining values to corr that couldn't be vectorized above. */ - for (int i = numBlocks << 1; i < numSamples; i++) { - result += left[i] * right[i]; - } -#elif __EMBEDDED__ - float resultReal = 0, resultImag = 0; - codec2_complex_dot_product_f32((COMP *)left, (COMP *)right, numSamples, - &resultReal, &resultImag); - result = resultReal + I * resultImag; -#else - for (int i = 0; i < numSamples; i++) { - result += left[i] * right[i]; - } -#endif /* USE_VECTOR_OPS */ - - return result; -} - -/* - * Correlates the OFDM pilot symbol samples with a window of received - * samples to determine the most likely timing offset. Combines two - * frames pilots so we need at least Nsamperframe+M+Ncp samples in rx. - * - * Can be used for acquisition (coarse timing), and fine timing. - * - * Breaks when freq offset approaches +/- symbol rate (e.g - * +/- 25 Hz for 700D). - */ -static int est_timing(struct OFDM *ofdm, complex float *rx, int length, - int fcoarse, float *timing_mx, int *timing_valid, - int step) { - complex float corr_st, corr_en; - int Ncorr = length - (ofdm->samplesperframe + ofdm->samplespersymbol); - float corr[Ncorr]; - int i, j; - float acc = 0.0f; - - for (i = 0; i < length; i++) { - acc += cnormf(rx[i]); - } - - float av_level = - 1.0f / (2.0f * sqrtf(ofdm->timing_norm * acc / length) + 1E-12f); - - /* precompute the freq shift multiplied by pilot samples outside of main loop - */ - - PROFILE_VAR(wvecpilot); - PROFILE_SAMPLE(wvecpilot); - - complex float wvec_pilot[ofdm->samplespersymbol]; - - switch (fcoarse) { - case -40: - for (j = 0; j < ofdm->samplespersymbol; j++) - wvec_pilot[j] = conjf(ofdm_wval[j] * ofdm->pilot_samples[j]); - break; - case 0: - for (j = 0; j < ofdm->samplespersymbol; j++) - wvec_pilot[j] = conjf(ofdm->pilot_samples[j]); - break; - case 40: - for (j = 0; j < ofdm->samplespersymbol; j++) - wvec_pilot[j] = ofdm_wval[j] * conjf(ofdm->pilot_samples[j]); - break; - default: - assert(0); - } - - /* use of __REAL__ provides a speed in increase of 10ms/frame during - acquisition, however complex is fast enough for real time operation */ - -#if defined(__EMBEDDED__) && defined(__REAL__) - float rx_real[length]; - float wvec_pilot_real[ofdm->samplespersymbol]; - float wvec_pilot_imag[ofdm->samplespersymbol]; - - for (i = 0; i < length; i++) { - rx_real[i] = crealf(rx[i]); - } - - for (i = 0; i < ofdm->samplespersymbol; i++) { - wvec_pilot_real[i] = crealf(wvec_pilot[i]); - wvec_pilot_imag[i] = cimagf(wvec_pilot[i]); - } - -#endif - PROFILE_SAMPLE_AND_LOG2(wvecpilot, " wvecpilot"); - PROFILE_VAR(corr_start); - PROFILE_SAMPLE(corr_start); - - for (i = 0; i < Ncorr; i += step) { - corr_st = 0.0f; - corr_en = 0.0f; - -#ifdef __EMBEDDED__ -#ifdef __REAL__ - float re, im; - - codec2_dot_product_f32(&rx_real[i], wvec_pilot_real, ofdm->samplespersymbol, - &re); - codec2_dot_product_f32(&rx_real[i], wvec_pilot_imag, ofdm->samplespersymbol, - &im); - corr_st = re + im * I; - - codec2_dot_product_f32(&rx_real[i + ofdm->samplesperframe], wvec_pilot_real, - ofdm->samplespersymbol, &re); - codec2_dot_product_f32(&rx_real[i + ofdm->samplesperframe], wvec_pilot_imag, - ofdm->samplespersymbol, &im); - corr_en = re + im * I; - -#else - float re, im; - - codec2_complex_dot_product_f32((COMP *)&rx[i], (COMP *)wvec_pilot, - ofdm->samplespersymbol, &re, &im); - corr_st = re + im * I; - - codec2_complex_dot_product_f32((COMP *)&rx[i + ofdm->samplesperframe], - (COMP *)wvec_pilot, ofdm->samplespersymbol, - &re, &im); - corr_en = re + im * I; -#endif -#else - corr_st = - ofdm_complex_dot_product(&rx[i], wvec_pilot, ofdm->samplespersymbol); - corr_en = ofdm_complex_dot_product(&rx[i + ofdm->samplesperframe], - wvec_pilot, ofdm->samplespersymbol); -#endif // __EMBEDDED__ - corr[i] = (cabsf(corr_st) + cabsf(corr_en)) * av_level; - } - - PROFILE_SAMPLE_AND_LOG2(corr_start, " corr"); - - /* find the max magnitude and its index */ - - int timing_est = 0; - *timing_mx = 0.0f; - - for (i = 0; i < Ncorr; i += step) { - if (corr[i] > *timing_mx) { - *timing_mx = corr[i]; - timing_est = i; - } - } - - // only declare timing valid if there are enough samples in rxbuf to - // demodulate a frame - *timing_valid = - (cabsf(rx[timing_est]) > 0.0) && (*timing_mx > ofdm->timing_mx_thresh); - - if (ofdm->verbose > 2) { - fprintf(stderr, " av_level: %f max: %f timing_est: %d timing_valid: %d\n", - (double)av_level, (double)*timing_mx, timing_est, *timing_valid); - } - - return timing_est; -} - -/* - * Determines frequency offset at current timing estimate, used for - * coarse freq offset estimation during acquisition. Works up to +/- - * the symbol rate, e.g. +/- 25Hz for the FreeDV 700D configuration. - */ -static float est_freq_offset_pilot_corr(struct OFDM *ofdm, complex float *rx, - int timing_est, int fcoarse) { - int st = -20; - int en = 20; - float foff_est = 0.0f; - float Cabs_max = 0.0f; - - /* precompute the freq shift multiplied by pilot samples outside of main loop - */ - - complex float wvec_pilot[ofdm->samplespersymbol]; - int j; - - switch (fcoarse) { - case -40: - for (j = 0; j < ofdm->samplespersymbol; j++) - wvec_pilot[j] = conjf(ofdm_wval[j] * ofdm->pilot_samples[j]); - break; - case 0: - for (j = 0; j < ofdm->samplespersymbol; j++) - wvec_pilot[j] = conjf(ofdm->pilot_samples[j]); - break; - case 40: - for (j = 0; j < ofdm->samplespersymbol; j++) - wvec_pilot[j] = ofdm_wval[j] * conjf(ofdm->pilot_samples[j]); - break; - default: - assert(0); - } - - // sample sum of DFT magnitude of correlated signals at each freq offset and - // look for peak - for (int f = st; f < en; f++) { - complex float corr_st = 0.0f; - complex float corr_en = 0.0f; - float tmp = TAU * f / ofdm->fs; - complex float delta = cmplxconj(tmp); - complex float w = cmplxconj(0.0f); - int i; - - for (i = 0; i < ofdm->samplespersymbol; i++) { - // "mix" down (correlate) the pilot sequences from frame with 0 Hz offset - // pilot samples - complex float csam = wvec_pilot[i] * w; - int est = timing_est + i; - - corr_st += rx[est] * csam; - corr_en += rx[est + ofdm->samplesperframe] * csam; - w = w * delta; - } - - float Cabs = cabsf(corr_st) + cabsf(corr_en); - - if (Cabs > Cabs_max) { - Cabs_max = Cabs; - foff_est = f; - } - } - - ofdm->foff_metric = 0.0f; // not used in this version of freq est algorithm - - if (ofdm->verbose > 2) { - fprintf(stderr, "cabs_max: %f foff_est: %f\n", (double)Cabs_max, - (double)foff_est); - } - - return foff_est; -} - -/* - * ---------------------------------------------- - * ofdm_txframe - modulates one frame of symbols - * ---------------------------------------------- - */ -void ofdm_txframe(struct OFDM *ofdm, complex float *tx, - complex float *tx_sym_lin) { - complex float aframe[ofdm->np * ofdm->ns][ofdm->nc + 2]; - complex float asymbol[ofdm->m]; - complex float asymbol_cp[ofdm->samplespersymbol]; - int i, j, k, m; - - /* initialize aframe to complex zero */ - - for (i = 0; i < (ofdm->np * ofdm->ns); i++) { - for (j = 0; j < (ofdm->nc + 2); j++) { - aframe[i][j] = 0.0f; - } - } - - /* - * Place symbols in multi-carrier frame with pilots - * This will place boundary values of complex zero around data - */ - int s = 0; - for (int r = 0; r < ofdm->np * ofdm->ns; r++) { - if ((r % ofdm->ns) == 0) { - /* copy in a row of complex pilots to first row of each frame */ - for (i = 0; i < (ofdm->nc + 2); i++) { - aframe[r][i] = ofdm->pilots[i]; - } - } else { - /* copy in the Nc complex data symbols with [0 Nc 0] or (Nc + 2) total */ - for (j = 1; j < (ofdm->nc + 1); j++) { - aframe[r][j] = tx_sym_lin[s++]; - if (ofdm->dpsk_en == true) { - aframe[r][j] *= aframe[r - 1][j]; - } - } - } - } - - /* OFDM up-convert symbol by symbol so we can add CP */ - - for (i = 0, m = 0; i < (ofdm->np * ofdm->ns); - i++, m += ofdm->samplespersymbol) { - idft(ofdm, asymbol, aframe[i]); - - /* Copy the last Ncp samples to the front */ - - for (j = (ofdm->m - ofdm->ncp), k = 0; j < ofdm->m; j++, k++) { - asymbol_cp[k] = asymbol[j]; - } - - /* Now copy the all samples for this row after it */ - - for (j = ofdm->ncp, k = 0; k < ofdm->m; j++, k++) { - asymbol_cp[j] = asymbol[k]; - } - - /* Now move row to the tx output */ - - for (j = 0; j < ofdm->samplespersymbol; j++) { - tx[m + j] = asymbol_cp[j]; - } - } - - size_t samplesperpacket = ofdm->np * ofdm->samplesperframe; - ofdm_hilbert_clipper(ofdm, tx, samplesperpacket); -} - -/* Scale Tx signal and optionally apply two stage Hilbert clipper to improve - * PAPR */ -void ofdm_hilbert_clipper(struct OFDM *ofdm, complex float *tx, size_t n) { - /* vanilla Tx output waveform should be about OFDM_PEAK */ - for (int i = 0; i < n; i++) tx[i] *= ofdm->amp_scale; - - if (ofdm->clip_en) { - // this gain sets the drive into the Hilbert Clipper and sets PAPR - for (int i = 0; i < n; i++) tx[i] *= ofdm->clip_gain1; - ofdm_clip(tx, OFDM_PEAK, n); - } - - /* BPF to remove out of band energy clipper introduces */ - if (ofdm->tx_bpf_en) { - assert(ofdm->tx_bpf != NULL); - complex float tx_filt[n]; - - quisk_ccfFilter(tx, tx_filt, n, ofdm->tx_bpf); - memmove(tx, tx_filt, n * sizeof(complex float)); - } - - /* BPF messes up peak levels, this gain gets back to approx OFDM_PEAK */ - if (ofdm->tx_bpf_en && ofdm->clip_en) - for (int i = 0; i < n; i++) tx[i] *= ofdm->clip_gain2; - - /* a very small percentage of samples may still exceed OFDM_PEAK, in - clipped or unclipped mode. Lets remove them so we present consistent - levels to the transmitter */ - - ofdm_clip(tx, OFDM_PEAK, n); -} - -struct OFDM_CONFIG *ofdm_get_config_param(struct OFDM *ofdm) { - return &ofdm->config; -} -int ofdm_get_nin(struct OFDM *ofdm) { return ofdm->nin; } -int ofdm_get_samples_per_frame(struct OFDM *ofdm) { - return ofdm->samplesperframe; -} -int ofdm_get_samples_per_packet(struct OFDM *ofdm) { - return ofdm->samplesperframe * ofdm->np; -} -int ofdm_get_max_samples_per_frame(struct OFDM *ofdm) { - return ofdm->max_samplesperframe; -} -int ofdm_get_bits_per_frame(struct OFDM *ofdm) { return ofdm->bitsperframe; } -int ofdm_get_bits_per_packet(struct OFDM *ofdm) { return ofdm->bitsperpacket; } -void ofdm_set_verbose(struct OFDM *ofdm, int level) { ofdm->verbose = level; } - -void ofdm_set_timing_enable(struct OFDM *ofdm, bool val) { - ofdm->timing_en = val; - - if (ofdm->timing_en == false) { - /* manually set ideal timing instant */ - - ofdm->sample_point = (ofdm->ncp - 1); - } -} - -int ofdm_get_phase_est_bandwidth_mode(struct OFDM *ofdm) { - return ofdm->phase_est_bandwidth_mode; /* int version of enum */ -} - -void ofdm_set_phase_est_bandwidth_mode(struct OFDM *ofdm, int val) { - assert((val == AUTO_PHASE_EST) || (val == LOCKED_PHASE_EST)); - ofdm->phase_est_bandwidth_mode = val; -} - -void ofdm_set_foff_est_enable(struct OFDM *ofdm, bool val) { - ofdm->foff_est_en = val; -} - -void ofdm_set_phase_est_enable(struct OFDM *ofdm, bool val) { - ofdm->phase_est_en = val; -} - -void ofdm_set_off_est_hz(struct OFDM *ofdm, float val) { - ofdm->foff_est_hz = val; -} - -void ofdm_set_tx_bpf(struct OFDM *ofdm, bool val) { - if (val == true) { - if (ofdm->tx_bpf == NULL) allocate_tx_bpf(ofdm); - - ofdm->tx_bpf_en = true; - } else { - if (ofdm->tx_bpf != NULL) deallocate_tx_bpf(ofdm); - - ofdm->tx_bpf_en = false; - } -} - -void ofdm_set_dpsk(struct OFDM *ofdm, bool val) { ofdm->dpsk_en = val; } - -// select burst mode, and set packets per burst -void ofdm_set_packets_per_burst(struct OFDM *ofdm, int packetsperburst) { - ofdm->data_mode = "burst"; - ofdm->packetsperburst = packetsperburst; - ofdm->postambledetectoren = true; -} - -/* - * -------------------------------------- - * ofdm_mod - modulates one frame of bits - * -------------------------------------- - */ -void ofdm_mod(struct OFDM *ofdm, COMP *result, const int *tx_bits) { - int length = ofdm->bitsperpacket / ofdm->bps; - complex float *tx = - (complex float *)result; // complex has same memory layout - complex float tx_sym_lin[length]; - int dibit[2]; - int s, i; - - if (ofdm->bps == 1) { - /* Here we will have Nbitsperpacket / 1 */ - - for (s = 0; s < length; s++) { - tx_sym_lin[s] = (float)(2 * tx_bits[s] - 1); - } - } else if (ofdm->bps == 2) { - /* Here we will have Nbitsperpacket / 2 */ - - for (s = 0, i = 0; i < length; s += 2, i++) { - dibit[0] = tx_bits[s + 1] & 0x1; - dibit[1] = tx_bits[s] & 0x1; - - tx_sym_lin[i] = qpsk_mod(dibit); - } - } /* else if (ofdm->bps == 3) { } TODO */ - - ofdm_txframe(ofdm, tx, tx_sym_lin); -} - -/* - * ---------------------------------------------------------------------------------- - * ofdm_sync_search - attempts to find coarse sync parameters for modem initial - * sync - * ---------------------------------------------------------------------------------- - */ - -/* - * This is a wrapper to maintain the older functionality - * with an array of COMPs as input - */ -int ofdm_sync_search(struct OFDM *ofdm, COMP *rxbuf_in) { - /* - * insert latest input samples into rxbuf - * so it is primed for when we have to call ofdm_demod() - */ - - /* note can't use memcpy when src and dest overlap */ - memmove(&ofdm->rxbuf[0], &ofdm->rxbuf[ofdm->nin], - (ofdm->nrxbuf - ofdm->nin) * sizeof(complex float)); - memmove(&ofdm->rxbuf[(ofdm->nrxbuf - ofdm->nin)], rxbuf_in, - ofdm->nin * sizeof(complex float)); - - return (ofdm_sync_search_core(ofdm)); -} - -/* - * This is a wrapper to reduce memory allocated. - * This works with ofdm_demod and freedv_api. Gain is not used here. - */ -int ofdm_sync_search_shorts(struct OFDM *ofdm, short *rxbuf_in, float gain) { - int i, j; - - /* shift the buffer left based on nin */ - - memmove(&ofdm->rxbuf[0], &ofdm->rxbuf[ofdm->nin], - (ofdm->nrxbuf - ofdm->nin) * sizeof(complex float)); - - /* insert latest input samples onto tail of rxbuf */ - - for (j = 0, i = (ofdm->nrxbuf - ofdm->nin); i < ofdm->nrxbuf; j++, i++) { - ofdm->rxbuf[i] = ((float)rxbuf_in[j] / 32767.0f); - } - - return ofdm_sync_search_core(ofdm); -} - -/* Joint estimation of timing and freq used for burst data acquisition */ - -static float est_timing_and_freq(struct OFDM *ofdm, int *t_est, float *foff_est, - complex float *rx, int Nrx, - complex float *known_samples, int Npsam, - int tstep, float fmin, float fmax, - float fstep) { - int Ncorr = Nrx - Npsam + 1; - float max_corr = 0; - *t_est = 0; - *foff_est = 0.0; - for (float afcoarse = fmin; afcoarse <= fmax; afcoarse += fstep) { - float w = TAU * afcoarse / ofdm->fs; - complex float mvec[Npsam]; - for (int i = 0; i < Npsam; i++) { - complex float ph = cmplx(w * i); - mvec[i] = conjf(known_samples[i] * ph); - } - for (int t = 0; t < Ncorr; t += tstep) { - complex float corr = ofdm_complex_dot_product(&rx[t], mvec, Npsam); - - if (cabsf(corr) > max_corr) { - max_corr = cabsf(corr); - *t_est = t; - *foff_est = afcoarse; - } - } - } - - /* obtain normalised real number for timing_mx */ - float mag1 = 0, mag2 = 0; - for (int i = 0; i < Npsam; i++) { - mag1 += cabsf(known_samples[i] * conjf(known_samples[i])); - mag2 += cabsf(rx[i + *t_est] * conjf(rx[i + *t_est])); - } - float timing_mx = max_corr * max_corr / (mag1 * mag2 + 1E-12); - if (ofdm->verbose > 2) { - fprintf(stderr, " t_est: %4d timing:mx: %f foff_est: %f\n", *t_est, - (double)timing_mx, (double)*foff_est); - } - - return timing_mx; -} - -/* Two stage burst mode acquisition */ - -static void burst_acquisition_detector(struct OFDM *ofdm, complex float *rx, - int n, complex float *known_sequence, - int *ct_est, float *foff_est, - float *timing_mx) { - float fmin, fmax, fstep; - int tstep; - - // initial search over coarse grid - tstep = 4; - fstep = 5; - fmin = ofdm->fmin; - fmax = ofdm->fmax; - *timing_mx = est_timing_and_freq( - ofdm, ct_est, foff_est, &rx[n], 2 * ofdm->samplesperframe, known_sequence, - ofdm->samplesperframe, tstep, fmin, fmax, fstep); - - // refine estimate over finer grid - fmin = *foff_est - ceilf(fstep / 2.0); - fmax = *foff_est + ceilf(fstep / 2.0); - int fine_st = n + *ct_est - tstep / 2.0; - *timing_mx = est_timing_and_freq( - ofdm, ct_est, foff_est, &rx[fine_st], ofdm->samplesperframe + tstep, - known_sequence, ofdm->samplesperframe, 1, fmin, fmax, 1.0); - - // refer ct_est to nominal start of frame rx[n] - *ct_est += fine_st - n; -} - -static int ofdm_sync_search_burst(struct OFDM *ofdm) { - int st = ofdm->rxbufst + ofdm->m + ofdm->ncp + ofdm->samplesperframe; - char *pre_post = ""; - - int pre_ct_est; - float pre_foff_est, pre_timing_mx; - burst_acquisition_detector(ofdm, ofdm->rxbuf, st, - (complex float *)ofdm->tx_preamble, &pre_ct_est, - &pre_foff_est, &pre_timing_mx); - - int post_ct_est; - float post_foff_est, post_timing_mx; - if (ofdm->postambledetectoren) - burst_acquisition_detector(ofdm, ofdm->rxbuf, st, - (complex float *)ofdm->tx_postamble, - &post_ct_est, &post_foff_est, &post_timing_mx); - - int ct_est; - float foff_est, timing_mx; - if (!ofdm->postambledetectoren || (pre_timing_mx > post_timing_mx)) { - timing_mx = pre_timing_mx; - ct_est = pre_ct_est; - foff_est = pre_foff_est; - pre_post = "pre"; - } else { - timing_mx = post_timing_mx; - ct_est = post_ct_est; - foff_est = post_foff_est; - pre_post = "post"; - } - - int timing_valid = timing_mx > ofdm->timing_mx_thresh; - if (timing_valid) { - if (!strcmp(pre_post, "post")) { - ofdm->post++; - // we won't be need any new samples for a while .... - ofdm->nin = 0; - // backup to first modem frame in packet - ofdm->rxbufst -= ofdm->np * ofdm->samplesperframe; - ofdm->rxbufst += ct_est; - } else { - ofdm->pre++; - // ct_est is start of preamble, so advance past that to start of first - // modem frame - ofdm->nin = ofdm->samplesperframe + ct_est - 1; - } - } else - ofdm->nin = ofdm->samplesperframe; - - ofdm->ct_est = ct_est; - ofdm->foff_est_hz = foff_est; - ofdm->timing_mx = timing_mx; - ofdm->timing_valid = timing_valid; - - if (ofdm->verbose > 1) { - fprintf(stderr, - " ct_est: %4d nin: %4d mx: %3.2f foff_est: % 5.1f timing_valid: " - "%d %4s\n", - ct_est, ofdm->nin, (double)timing_mx, (double)foff_est, - timing_valid, pre_post); - } - - return ofdm->timing_valid; -} - -/* - * Attempts to find coarse sync parameters for modem initial sync (streaming - * mode) - */ -static int ofdm_sync_search_stream(struct OFDM *ofdm) { - int act_est, afcoarse; - - /* Attempt coarse timing estimate (i.e. detect start of frame) at a range of - * frequency offsets */ - - int st = ofdm->rxbufst + ofdm->samplesperframe + ofdm->samplespersymbol; - int en = st + 2 * ofdm->samplesperframe + ofdm->samplespersymbol; - - int fcoarse = 0; - float atiming_mx, timing_mx = 0.0f; - int ct_est = 0; - int atiming_valid, timing_valid = 0; - - PROFILE_VAR(timing_start); - PROFILE_SAMPLE(timing_start); - - for (afcoarse = -40; afcoarse <= 40; afcoarse += 40) { - act_est = est_timing(ofdm, &ofdm->rxbuf[st], (en - st), afcoarse, - &atiming_mx, &atiming_valid, 2); - - if (atiming_mx > timing_mx) { - ct_est = act_est; - timing_mx = atiming_mx; - fcoarse = afcoarse; - timing_valid = atiming_valid; - } - } - - PROFILE_SAMPLE_AND_LOG2(timing_start, " timing"); - - /* refine freq est within -/+ 20 Hz window */ - - PROFILE_VAR(freq_start); - PROFILE_SAMPLE(freq_start); - - ofdm->coarse_foff_est_hz = - est_freq_offset_pilot_corr(ofdm, &ofdm->rxbuf[st], ct_est, fcoarse); - ofdm->coarse_foff_est_hz += fcoarse; - - PROFILE_SAMPLE_AND_LOG2(freq_start, " freq"); - - if (ofdm->verbose > 1) { - fprintf( - stderr, - " ct_est: %4d foff_est: %4.1f timing_valid: %d timing_mx: %5.4f\n", - ct_est, (double)ofdm->coarse_foff_est_hz, timing_valid, - (double)timing_mx); - } - - ofdm->timing_valid = timing_valid; - if (ofdm->timing_valid != 0) { - /* potential candidate found .... */ - - /* calculate number of samples we need on next buffer to get into sync */ - - ofdm->nin = ct_est; - - /* reset modem states */ - - ofdm->sample_point = ofdm->timing_est = 0; - ofdm->foff_est_hz = ofdm->coarse_foff_est_hz; - ofdm->timing_mx = timing_mx; - } else { - ofdm->nin = ofdm->samplesperframe; - } - - ofdm->timing_mx = timing_mx; - - return ofdm->timing_valid; -} - -static int ofdm_sync_search_core(struct OFDM *ofdm) { - if (ofdm->rx_bpf_en) { - assert(ofdm->rx_bpf != NULL); - complex float *rxbuf_in = &ofdm->rxbuf[(ofdm->nrxbuf - ofdm->nin)]; - quisk_ccfFilter(rxbuf_in, rxbuf_in, ofdm->nin, ofdm->rx_bpf); - } - if (!strcmp(ofdm->data_mode, "burst")) - return ofdm_sync_search_burst(ofdm); - else - return ofdm_sync_search_stream(ofdm); -} - -/* - * ------------------------------------------ - * ofdm_demod - Demodulates one frame of bits - * ------------------------------------------ - */ - -/* - * This wrapper accepts an array of COMPs as input - */ -void ofdm_demod(struct OFDM *ofdm, int *rx_bits, COMP *rxbuf_in) { - complex float *rx = - (complex float *)&rxbuf_in[0]; // complex has same memory layout - int i, j; - - /* shift the buffer left based on nin */ - for (i = 0, j = ofdm->nin; i < (ofdm->nrxbuf - ofdm->nin); i++, j++) { - ofdm->rxbuf[i] = ofdm->rxbuf[j]; - } - - /* insert latest input samples onto tail of rxbuf */ - for (j = 0, i = (ofdm->nrxbuf - ofdm->nin); i < ofdm->nrxbuf; j++, i++) { - ofdm->rxbuf[i] = rx[j]; - } - - ofdm_demod_core(ofdm, rx_bits); -} - -/* - * This is a wrapper with a real short interface to minimise allocated memory. - * This works with ofdm_demod and freedv_api. Gain is not used here. - */ -void ofdm_demod_shorts(struct OFDM *ofdm, int *rx_bits, short *rxbuf_in, - float gain) { - int i, j; - - /* shift the buffer left based on nin */ - - for (i = 0, j = ofdm->nin; i < (ofdm->nrxbuf - ofdm->nin); i++, j++) { - ofdm->rxbuf[i] = ofdm->rxbuf[j]; - } - - /* insert latest input samples onto tail of rxbuf */ - for (j = 0, i = (ofdm->nrxbuf - ofdm->nin); i < ofdm->nrxbuf; j++, i++) { - ofdm->rxbuf[i] = ((float)rxbuf_in[j] / 32767.0f); - } - - ofdm_demod_core(ofdm, rx_bits); -} - -/* - * This is the rest of the function which expects that the data is - * already in ofdm->rxbuf - */ -static void ofdm_demod_core(struct OFDM *ofdm, int *rx_bits) { - int prev_timing_est = ofdm->timing_est; - int i, j, k, rr, st, en; - - if (ofdm->rx_bpf_en) { - assert(ofdm->rx_bpf != NULL); - complex float *rxbuf_in = &ofdm->rxbuf[(ofdm->nrxbuf - ofdm->nin)]; - quisk_ccfFilter(rxbuf_in, rxbuf_in, ofdm->nin, ofdm->rx_bpf); - } - - /* - * get user and calculated freq offset - */ - float woff_est = TAU * ofdm->foff_est_hz / ofdm->fs; - - /* update timing estimate ---------------------------------------------- */ - - if (ofdm->timing_en == true) { - /* update timing at start of every frame */ - - st = ofdm->rxbufst + ofdm->samplespersymbol + ofdm->samplesperframe - - (int)floorf((float)ofdm->ftwindowwidth / 2) + ofdm->timing_est; - en = st + ofdm->samplesperframe - 1 + ofdm->samplespersymbol + - ofdm->ftwindowwidth; - - complex float work[(en - st)]; - - /* - * Adjust for the frequency error by shifting the phase - * using a conjugate multiply - */ - for (j = 0, i = st; i < en; j++, i++) { - work[j] = ofdm->rxbuf[i] * cmplxconj(woff_est * i); - } - - int ft_est = est_timing(ofdm, work, (en - st), 0.0f, &ofdm->timing_mx, - &ofdm->timing_valid, 1); - - ofdm->timing_est += ft_est - (int)ceilf((float)ofdm->ftwindowwidth / 2) + 1; - - if (ofdm->verbose > 2) { - fprintf(stderr, " ft_est: %2d timing_est: %2d sample_point: %2d\n", - ft_est, ofdm->timing_est, ofdm->sample_point); - } - - /* Black magic to keep sample_point inside cyclic prefix. Or something like - * that. */ - - ofdm->sample_point = max(ofdm->timing_est + 4, ofdm->sample_point); - ofdm->sample_point = - min(ofdm->timing_est + ofdm->ncp - 4, ofdm->sample_point); - } - - /* - * Convert the time-domain samples to the frequency-domain using the rx_sym - * data matrix. This will be Nc+2 carriers of 11 symbols. - * - * You will notice there are Nc+2 BPSK symbols for each pilot symbol, and - * that there are Nc QPSK symbols for each data symbol. - * - * XXXXXXXXXXXXXXXXX <-- Timing Slip - * PPPPPPPPPPPPPPPPPPP <-- Previous Frames Pilot - * DDDDDDDDDDDDDDDDD - * DDDDDDDDDDDDDDDDD - * DDDDDDDDDDDDDDDDD - * DDDDDDDDDDDDDDDDD Ignore these past data symbols - * DDDDDDDDDDDDDDDDD - * DDDDDDDDDDDDDDDDD - * DDDDDDDDDDDDDDDDD - * PPPPPPPPPPPPPPPPPPP <-- This Frames Pilot - * DDDDDDDDDDDDDDDDD - * DDDDDDDDDDDDDDDDD - * DDDDDDDDDDDDDDDDD - * DDDDDDDDDDDDDDDDD These are the current data symbols to be decoded - * DDDDDDDDDDDDDDDDD - * DDDDDDDDDDDDDDDDD - * DDDDDDDDDDDDDDDDD - * PPPPPPPPPPPPPPPPPPP <-- Next Frames Pilot - * DDDDDDDDDDDDDDDDD - * DDDDDDDDDDDDDDDDD - * DDDDDDDDDDDDDDDDD - * DDDDDDDDDDDDDDDDD Ignore these next data symbols - * DDDDDDDDDDDDDDDDD - * DDDDDDDDDDDDDDDDD - * DDDDDDDDDDDDDDDDD - * PPPPPPPPPPPPPPPPPPP <-- Future Frames Pilot - * XXXXXXXXXXXXXXXXX <-- Timing Slip - * - * So this algorithm will have seven data symbols and four pilot symbols to - * process. The average of the four pilot symbols is our phase estimation. - */ - for (i = 0; i < (ofdm->ns + 3); i++) { - for (j = 0; j < (ofdm->nc + 2); j++) { - ofdm->rx_sym[i][j] = 0.0f; - } - } - - /* - * "Previous" pilot symbol is one modem frame above. - */ - st = ofdm->rxbufst + ofdm->samplespersymbol + 1 + ofdm->sample_point; - en = st + ofdm->m; - - complex float work[ofdm->m]; - - /* down-convert at current timing instant------------------------------- */ - - for (k = 0, j = st; j < en; k++, j++) { - work[k] = ofdm->rxbuf[j] * cmplxconj(woff_est * j); - } - - /* - * Each symbol is of course ofdm->samplespersymbol samples long and - * becomes Nc+2 carriers after DFT. - * - * We put this carrier pilot symbol at the top of our matrix: - * - * 1 .................. Nc+2 - * - * +----------------------+ - * | Previous Pilot | rx_sym[0] - * +----------------------+ - * | | - * - */ - dft(ofdm, ofdm->rx_sym[0], work); - - /* - * "This" pilot comes after the extra symbol allotted at the top, and after - * the "previous" pilot and previous data symbols (let's call it, the previous - * modem frame). - * - * So we will now be starting at "this" pilot symbol, and continuing to the - * "next" pilot symbol. - * - * In this routine we also process the current data symbols. - */ - for (rr = 0; rr < (ofdm->ns + 1); rr++) { - st = ofdm->rxbufst + ofdm->samplespersymbol + ofdm->samplesperframe + - (rr * ofdm->samplespersymbol) + 1 + ofdm->sample_point; - en = st + ofdm->m; - - /* down-convert at current timing instant---------------------------------- - */ - - for (k = 0, j = st; j < en; k++, j++) { - work[k] = ofdm->rxbuf[j] * cmplxconj(woff_est * j); - } - - /* - * We put these Nc+2 carrier symbols into our matrix after the previous - * pilot: - * - * 1 .................. Nc+2 - * | Previous Pilot | rx_sym[0] - * +----------------------+ - * | This Pilot | rx_sym[1] - * +----------------------+ - * | Data | rx_sym[2] - * +----------------------+ - * | Data | rx_sym[3] - * +----------------------+ - * | Data | rx_sym[4] - * +----------------------+ - * | Data | rx_sym[5] - * +----------------------+ - * | Data | rx_sym[6] - * +----------------------+ - * | Data | rx_sym[7] - * +----------------------+ - * | Data | rx_sym[8] - * +----------------------+ - * | Next Pilot | rx_sym[9] - * +----------------------+ - * | | rx_sym[10] - */ - dft(ofdm, ofdm->rx_sym[rr + 1], work); - } - - /* - * OK, now we want to process to the "future" pilot symbol. This is after - * the "next" modem frame. - * - * We are ignoring the data symbols between the "next" pilot and "future" - * pilot. We only want the "future" pilot symbol, to perform the averaging of - * all pilots. - */ - st = ofdm->rxbufst + ofdm->samplespersymbol + (3 * ofdm->samplesperframe) + - 1 + ofdm->sample_point; - en = st + ofdm->m; - - /* down-convert at current timing instant------------------------------- */ - - for (k = 0, j = st; j < en; k++, j++) { - work[k] = ofdm->rxbuf[j] * cmplxconj(woff_est * j); - } - - /* - * We put the future pilot after all the previous symbols in the matrix: - * - * 1 .................. Nc+2 - * - * | | rx_sym[9] - * +----------------------+ - * | Future Pilot | rx_sym[10] - * +----------------------+ - */ - dft(ofdm, ofdm->rx_sym[ofdm->ns + 2], work); - - /* - * We are finished now with the DFT and down conversion - * From here on down we are in the frequency domain - */ - - /* est freq err based on all carriers ---------------------------------- */ - - if (ofdm->foff_est_en == true) { - /* - * sym[1] is 'this' pilot symbol, sym[9] is 'next' pilot symbol. - * - * By subtracting the two averages of these pilots, we find the frequency - * by the change in phase over time. - */ - complex float freq_err_rect = - conjf(vector_sum(ofdm->rx_sym[1], ofdm->nc + 2)) * - vector_sum(ofdm->rx_sym[ofdm->ns + 1], ofdm->nc + 2); - - /* prevent instability in atan(im/re) when real part near 0 */ - - freq_err_rect += 1E-6f; - - float freq_err_hz = cargf(freq_err_rect) * ofdm->rs / (TAU * ofdm->ns); - if (ofdm->foff_limiter) { - /* optionally tame updates in low SNR channels */ - if (freq_err_hz > 1.0) freq_err_hz = 1.0; - if (freq_err_hz < -1.0) freq_err_hz = -1.0; - } - ofdm->foff_est_hz += (ofdm->foff_est_gain * freq_err_hz); - } - - /* OK - now estimate and correct pilot phase -------------------------- */ - - complex float aphase_est_pilot_rect; - float aphase_est_pilot[ofdm->nc + 2]; - float aamp_est_pilot[ofdm->nc + 2]; - - for (i = 0; i < (ofdm->nc + 2); i++) { - aphase_est_pilot[i] = 10.0f; - aamp_est_pilot[i] = 0.0f; - } - - for (i = 1; i < (ofdm->nc + 1); - i++) { /* ignore first and last carrier for count */ - if (ofdm->phase_est_bandwidth == low_bw) { - complex float symbol[3]; - - /* - * Use all pilots normally, results in low SNR performance, - * but will fall over in high Doppler propagation - * - * Basically we divide the Nc+2 pilots into groups of 3 - * Then average the phase surrounding each of the data symbols. - */ - for (k = 0, j = (i - 1); k < 3; k++, j++) { - symbol[k] = ofdm->rx_sym[1][j] * - conjf(ofdm->pilots[j]); /* this pilot conjugate */ - } - - aphase_est_pilot_rect = vector_sum(symbol, 3); - - for (k = 0, j = (i - 1); k < 3; k++, j++) { - symbol[k] = ofdm->rx_sym[ofdm->ns + 1][j] * - conjf(ofdm->pilots[j]); /* next pilot conjugate */ - } - - aphase_est_pilot_rect += vector_sum(symbol, 3); - - /* use pilots in past and future */ - - for (k = 0, j = (i - 1); k < 3; k++, j++) { - symbol[k] = - ofdm->rx_sym[0][j] * conjf(ofdm->pilots[j]); /* previous pilot */ - } - - aphase_est_pilot_rect += vector_sum(symbol, 3); - - for (k = 0, j = (i - 1); k < 3; k++, j++) { - symbol[k] = ofdm->rx_sym[ofdm->ns + 2][j] * - conjf(ofdm->pilots[j]); /* future pilot */ - } - - aphase_est_pilot_rect += vector_sum(symbol, 3); - - /* amplitude is estimated over 12 pilots */ - aphase_est_pilot_rect /= 12.0f; - - aphase_est_pilot[i] = cargf(aphase_est_pilot_rect); - aamp_est_pilot[i] = cabsf(aphase_est_pilot_rect); - } else { - assert(ofdm->phase_est_bandwidth == high_bw); - - /* - * Use only symbols at 'this' and 'next' to quickly track changes - * in phase due to high Doppler spread in propagation (no neighbor - * averaging). - * - * As less pilots are averaged, low SNR performance will be poorer - */ - aphase_est_pilot_rect = - ofdm->rx_sym[1][i] * - conjf(ofdm->pilots[i]); /* "this" pilot conjugate */ - aphase_est_pilot_rect += - ofdm->rx_sym[ofdm->ns + 1][i] * - conjf(ofdm->pilots[i]); /* "next" pilot conjugate */ - - /* we estimate over 2 pilots */ - aphase_est_pilot_rect /= 2.0f; - aphase_est_pilot[i] = cargf(aphase_est_pilot_rect); - - if (ofdm->amp_est_mode == 0) { - // legacy 700D ampl est method - aamp_est_pilot[i] = cabsf(aphase_est_pilot_rect); - } else { - aamp_est_pilot[i] = cabsf(ofdm->rx_sym[1][i]) + - cabsf(ofdm->rx_sym[ofdm->ns + 1][i]) / 2.0; - } - } - - aphase_est_pilot[i] = cargf(aphase_est_pilot_rect); - aamp_est_pilot[i] = cabsf(aphase_est_pilot_rect); - } - - /* - * correct the phase offset using phase estimate, and demodulate - * bits, separate loop as it runs across cols (carriers) to get - * frame bit ordering correct - */ - complex float rx_corr; - int abit[2]; - int bit_index = 0; - float sum_amp = 0.0f; - - for (rr = 0; rr < ofdm->rowsperframe; rr++) { - /* - * Note the i starts with the second carrier, ends with Nc+1. - * so we ignore the first and last carriers. - * - * Also note we are using sym[2..8] or the seven data symbols. - */ - for (i = 1; i < (ofdm->nc + 1); i++) { - if (ofdm->phase_est_en == true) { - if (ofdm->dpsk_en == true) { - /* differential detection, using pilot as reference at start of frame - */ - rx_corr = ofdm->rx_sym[rr + 2][i] * - cmplxconj(cargf(ofdm->rx_sym[rr + 1][i])); - } else { - /* regular coherent detection */ - rx_corr = ofdm->rx_sym[rr + 2][i] * cmplxconj(aphase_est_pilot[i]); - } - } else { - rx_corr = ofdm->rx_sym[rr + 2][i]; - } - - /* - * Output complex data symbols after phase correction; - * (_np = no pilots) the pilot symbols have been removed - */ - ofdm->rx_np[(rr * ofdm->nc) + (i - 1)] = rx_corr; - - /* - * Note even though amp ests are the same for each col, - * the FEC decoder likes to have one amplitude per symbol - * so convenient to log them all - */ - ofdm->rx_amp[(rr * ofdm->nc) + (i - 1)] = aamp_est_pilot[i]; - sum_amp += aamp_est_pilot[i]; - - /* - * Note like amps in this implementation phase ests are the - * same for each col, but we log them for each symbol anyway - */ - ofdm->aphase_est_pilot_log[(rr * ofdm->nc) + (i - 1)] = - aphase_est_pilot[i]; - - if (ofdm->bps == 1) { - rx_bits[bit_index++] = crealf(rx_corr) > 0.0f; - } else if (ofdm->bps == 2) { - /* - * Only one final task, decode what quadrant the phase - * is in, and return the dibits - */ - qpsk_demod(rx_corr, abit); - rx_bits[bit_index++] = abit[1]; - rx_bits[bit_index++] = abit[0]; - } - } - } - - /* update mean amplitude estimate for LDPC decoder scaling */ - - ofdm->mean_amp = - 0.9f * ofdm->mean_amp + 0.1f * sum_amp / (ofdm->rowsperframe * ofdm->nc); - - /* Adjust nin to take care of sample clock offset */ - - ofdm->nin = ofdm->samplesperframe; - - if (ofdm->timing_en == true) { - ofdm->clock_offset_counter += (prev_timing_est - ofdm->timing_est); - - int thresh = ofdm->samplespersymbol / 8; - int tshift = ofdm->samplespersymbol / 4; - - if (ofdm->timing_est > thresh) { - ofdm->nin = ofdm->samplesperframe + tshift; - ofdm->timing_est -= tshift; - ofdm->sample_point -= tshift; - } else if (ofdm->timing_est < -thresh) { - ofdm->nin = ofdm->samplesperframe - tshift; - ofdm->timing_est += tshift; - ofdm->sample_point += tshift; - } - } - - // use internal rxbuf samples if they are available - int rxbufst_next = ofdm->rxbufst + ofdm->nin; - if (rxbufst_next + ofdm->nrxbufmin <= ofdm->nrxbuf) { - ofdm->rxbufst = rxbufst_next; - ofdm->nin = 0; - } -} - -/* - * Returns an estimate of Es/No in dB - see esno_est.m for more info - */ -float ofdm_esno_est_calc(complex float *rx_sym, int nsym) { - float sig_var = 0; - float step = 1.0f / nsym; - for (int i = 0; i < nsym; i++) sig_var += (cnormf(rx_sym[i]) * step); - float sig_rms = sqrtf(sig_var); - - float sum_x = 0.0f; - float sum_xx = 0.0f; - int n = 0; - for (int i = 0; i < nsym; i++) { - complex float s = rx_sym[i]; - - if (cabsf(s) > sig_rms) { - if (fabs(crealf(s)) > fabs(cimagf(s))) { - sum_x += cimagf(s); - sum_xx += cimagf(s) * cimagf(s); - } else { - sum_x += crealf(s); - sum_xx += crealf(s) * crealf(s); - } - n++; - } - } - - float noise_var; - if (n > 1) - noise_var = (n * sum_xx - sum_x * sum_x) / (n * (n - 1)); - else - noise_var = sig_var; - noise_var *= 2.0f; - - float EsNodB = 10.0f * log10f((1E-12f + sig_var) / (1E-12f + noise_var)); - assert(isnan(EsNodB) == 0); - return EsNodB; -} - -float ofdm_snr_from_esno(struct OFDM *ofdm, float EsNodB) { - float cyclic_power = 10.0f * log10f((float)(ofdm->ncp + ofdm->m) / ofdm->m); - return EsNodB + 10.0f * log10f((float)(ofdm->nc * ofdm->rs) / 3000.0f) + - cyclic_power; -} - -/* - * state machine for 700D/2020 - */ -void ofdm_sync_state_machine_voice1(struct OFDM *ofdm, uint8_t *rx_uw) { - int i; - - State next_state = ofdm->sync_state; - - ofdm->sync_start = false; - ofdm->sync_end = false; - - if (ofdm->sync_state == search) { - if (ofdm->timing_valid) { - ofdm->frame_count = 0; - ofdm->sync_counter = 0; - ofdm->sync_start = true; - ofdm->clock_offset_counter = 0; - next_state = trial; - } - } - - if ((ofdm->sync_state == synced) || (ofdm->sync_state == trial)) { - ofdm->frame_count++; - - /* - * freq offset est may be too far out, and has aliases every 1/Ts, so - * we use a Unique Word to get a really solid indication of sync. - */ - ofdm->uw_errors = 0; - - for (i = 0; i < ofdm->nuwbits; i++) { - ofdm->uw_errors += ofdm->tx_uw[i] ^ rx_uw[i]; - } - - /* - * during trial sync we don't tolerate errors so much, we look - * for 3 consecutive frames with low error rate to confirm sync - */ - if (ofdm->sync_state == trial) { - if (ofdm->uw_errors > 2) { - /* if we exceed thresh stay in trial sync */ - - ofdm->sync_counter++; - ofdm->frame_count = 0; - } - - if (ofdm->sync_counter == 2) { - /* if we get two bad frames drop sync and start again */ - - next_state = search; - ofdm->phase_est_bandwidth = high_bw; - } - - if (ofdm->frame_count == 4) { - /* three good frames, sync is OK! */ - - next_state = synced; - /* change to low bandwidth, but more accurate phase estimation */ - /* but only if not locked to high */ - - if (ofdm->phase_est_bandwidth_mode != LOCKED_PHASE_EST) { - ofdm->phase_est_bandwidth = low_bw; - } - } - } - - /* once we have synced up we tolerate a higher error rate to wait out fades - */ - - if (ofdm->sync_state == synced) { - if (ofdm->uw_errors > 2) { - ofdm->sync_counter++; - } else { - ofdm->sync_counter = 0; - } - - if ((ofdm->sync_mode == autosync) && (ofdm->sync_counter > 6)) { - /* run of consecutive bad frames ... drop sync */ - - next_state = search; - ofdm->phase_est_bandwidth = high_bw; - } - } - } - - ofdm->last_sync_state = ofdm->sync_state; - ofdm->sync_state = next_state; -} - -/* - * data (streaming mode) state machine - */ -void ofdm_sync_state_machine_data_streaming(struct OFDM *ofdm, uint8_t *rx_uw) { - State next_state = ofdm->sync_state; - int i; - - ofdm->sync_start = ofdm->sync_end = 0; - - if (ofdm->sync_state == search) { - if (ofdm->timing_valid != 0) { - ofdm->sync_start = true; - ofdm->sync_counter = 0; - next_state = trial; - } - } - - ofdm->uw_errors = 0; - for (i = 0; i < ofdm->nuwbits; i++) { - ofdm->uw_errors += ofdm->tx_uw[i] ^ rx_uw[i]; - } - - if (ofdm->sync_state == trial) { - if (ofdm->uw_errors < ofdm->bad_uw_errors) { - next_state = synced; - ofdm->packet_count = 0; - ofdm->modem_frame = ofdm->nuwframes; - } else { - ofdm->sync_counter++; - - if (ofdm->sync_counter > ofdm->np) { - next_state = search; - } - } - } - - // Note if frameperburst==0 we don't ever lose sync, which is useful for - // stream based testing or external control of state machine - - if (ofdm->sync_state == synced) { - ofdm->modem_frame++; - - if (ofdm->modem_frame >= ofdm->np) { - ofdm->modem_frame = 0; - ofdm->packet_count++; - if (ofdm->packetsperburst) { - if (ofdm->packet_count >= ofdm->packetsperburst) next_state = search; - } - } - } - - ofdm->last_sync_state = ofdm->sync_state; - ofdm->sync_state = next_state; -} - -/* - * data (burst mode) state machine - */ -void ofdm_sync_state_machine_data_burst(struct OFDM *ofdm, uint8_t *rx_uw) { - State next_state = ofdm->sync_state; - int i; - - ofdm->sync_start = ofdm->sync_end = 0; - - if (ofdm->sync_state == search) { - if (ofdm->timing_valid != 0) { - ofdm->sync_start = true; - ofdm->sync_counter = 0; - next_state = trial; - } - } - - ofdm->uw_errors = 0; - for (i = 0; i < ofdm->nuwbits; i++) { - ofdm->uw_errors += ofdm->tx_uw[i] ^ rx_uw[i]; - } - - /* pre or post-amble has told us this is the start of the packet. Confirm we - have a valid frame by checking the UW after the modem frames containing - the UW have been received */ - if (ofdm->sync_state == trial) { - ofdm->sync_counter++; - if (ofdm->sync_counter == ofdm->nuwframes) { - if (ofdm->uw_errors < ofdm->bad_uw_errors) { - next_state = synced; - ofdm->packet_count = 0; - ofdm->modem_frame = ofdm->nuwframes; - } else { - next_state = search; - // reset rxbuf to make sure we only ever do a postamble loop once - // through same samples - ofdm->rxbufst = ofdm->nrxbufhistory; - for (int i = 0; i < ofdm->nrxbuf; i++) ofdm->rxbuf[i] = 0; - ofdm->uw_fails++; - } - } - } - - if (ofdm->sync_state == synced) { - ofdm->modem_frame++; - if (ofdm->modem_frame >= ofdm->np) { - ofdm->modem_frame = 0; - ofdm->packet_count++; - if (ofdm->packetsperburst) { - if (ofdm->packet_count >= ofdm->packetsperburst) { - next_state = search; - // reset rxbuf to make sure we only ever do a postamble loop once - // through same samples - ofdm->rxbufst = ofdm->nrxbufhistory; - for (int i = 0; i < ofdm->nrxbuf; i++) ofdm->rxbuf[i] = 0; - } - } - } - } - - ofdm->last_sync_state = ofdm->sync_state; - ofdm->sync_state = next_state; -} - -void ofdm_sync_state_machine_voice2(struct OFDM *ofdm, uint8_t *rx_uw) { - int i; - - State next_state = ofdm->sync_state; - - ofdm->sync_start = false; - ofdm->sync_end = false; - - if (ofdm->sync_state == search) { - if (ofdm->timing_valid) { - ofdm->frame_count = 0; - ofdm->sync_counter = 0; - ofdm->sync_start = true; - ofdm->clock_offset_counter = 0; - next_state = trial; - } - } - - if ((ofdm->sync_state == synced) || (ofdm->sync_state == trial)) { - ofdm->frame_count++; - - ofdm->uw_errors = 0; - for (i = 0; i < ofdm->nuwbits; i++) { - ofdm->uw_errors += ofdm->tx_uw[i] ^ rx_uw[i]; - } - - if (ofdm->sync_state == trial) { - if (ofdm->uw_errors <= ofdm->bad_uw_errors) - next_state = synced; - else - next_state = search; - } - - if (ofdm->sync_state == synced) { - if (ofdm->uw_errors > ofdm->bad_uw_errors) { - ofdm->sync_counter++; - } else { - ofdm->sync_counter = 0; - } - - if (ofdm->sync_counter == 6) { - /* run of consecutive bad frames ... drop sync */ - next_state = search; - } - } - } - - ofdm->last_sync_state = ofdm->sync_state; - ofdm->sync_state = next_state; -} - -/* mode based dispatcher for sync state machines */ -void ofdm_sync_state_machine(struct OFDM *ofdm, uint8_t *rx_uw) { - if (!strcmp(ofdm->state_machine, "voice1")) - ofdm_sync_state_machine_voice1(ofdm, rx_uw); - if (!strcmp(ofdm->state_machine, "data")) { - if (strcmp(ofdm->data_mode, "streaming") == 0) - ofdm_sync_state_machine_data_streaming(ofdm, rx_uw); - else - ofdm_sync_state_machine_data_burst(ofdm, rx_uw); - } - if (!strcmp(ofdm->state_machine, "voice2")) - ofdm_sync_state_machine_voice2(ofdm, rx_uw); -} - -/*---------------------------------------------------------------------------* \ - - FUNCTIONS...: ofdm_set_sync - AUTHOR......: David Rowe - DATE CREATED: May 2018 - - External control of sync state machine. - Ensure this is called in the same thread as ofdm_sync_state_machine(). - -\*---------------------------------------------------------------------------*/ - -void ofdm_set_sync(struct OFDM *ofdm, int sync_cmd) { - assert(ofdm != NULL); - - switch (sync_cmd) { - case UN_SYNC: - /* force manual unsync, which will cause sync state machine to - have re-attempt sync */ - ofdm->sync_state = search; - /* clear rxbuf so we don't try to sync on any existing OFDM signals - in buffer */ - for (int i = 0; i < ofdm->nrxbuf; i++) ofdm->rxbuf[i] = 0.0f; - break; - case AUTO_SYNC: - /* normal operating mode - sync state machine decides when to unsync */ - ofdm->sync_mode = autosync; - break; - case MANUAL_SYNC: - /* - * allow sync state machine to sync, but not to unsync, the - * operator will decide that manually - */ - ofdm->sync_mode = manualsync; - break; - default: - assert(0); - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: ofdm_get_demod_stats() - AUTHOR......: David Rowe - DATE CREATED: May 2018 - - Fills stats structure with a bunch of demod information. Call once per - packet. - -\*---------------------------------------------------------------------------*/ - -void ofdm_get_demod_stats(struct OFDM *ofdm, struct MODEM_STATS *stats, - complex float *rx_syms, int Nsymsperpacket) { - stats->Nc = ofdm->nc; - assert(stats->Nc <= MODEM_STATS_NC_MAX); - - float EsNodB = ofdm_esno_est_calc(rx_syms, Nsymsperpacket); - float SNR3kdB = ofdm_snr_from_esno(ofdm, EsNodB); - - if (strlen(ofdm->data_mode)) - /* no smoothing as we have a large number of symbols per packet */ - stats->snr_est = SNR3kdB; - else { - /* in voice modes we further smooth SNR est, fast attack, slow decay */ - if (SNR3kdB > stats->snr_est) - stats->snr_est = SNR3kdB; - else - stats->snr_est = 0.9f * stats->snr_est + 0.1f * SNR3kdB; - } - stats->sync = ((ofdm->sync_state == synced) || (ofdm->sync_state == trial)); - stats->foff = ofdm->foff_est_hz; - stats->rx_timing = ofdm->timing_est; - - float total = ofdm->frame_count * ofdm->samplesperframe; - stats->clock_offset = 0; - if (total != 0.0f) { - stats->clock_offset = ofdm->clock_offset_counter / total; - } - - stats->sync_metric = ofdm->timing_mx; - stats->pre = ofdm->pre; - stats->post = ofdm->post; - stats->uw_fails = ofdm->uw_fails; - -#ifndef __EMBEDDED__ - assert(Nsymsperpacket % ofdm->nc == 0); - int Nrowsperpacket = Nsymsperpacket / ofdm->nc; - assert(Nrowsperpacket <= MODEM_STATS_NR_MAX); - stats->nr = Nrowsperpacket; - for (int c = 0; c < ofdm->nc; c++) { - for (int r = 0; r < Nrowsperpacket; r++) { - complex float rot = rx_syms[r * ofdm->nc + c] * cmplx(ROT45); - stats->rx_symbols[r][c].real = crealf(rot); - stats->rx_symbols[r][c].imag = cimagf(rot); - } - } -#endif -} - -/* - * Assemble packet of bits from UW, payload bits, and txt bits - */ -void ofdm_assemble_qpsk_modem_packet(struct OFDM *ofdm, uint8_t modem_frame[], - uint8_t payload_bits[], - uint8_t txt_bits[]) { - int s, t; - - int p = 0; - int u = 0; - - for (s = 0; s < (ofdm->bitsperpacket - ofdm->ntxtbits); s++) { - if ((u < ofdm->nuwbits) && (s == ofdm->uw_ind[u])) { - modem_frame[s] = ofdm->tx_uw[u++]; - } else { - modem_frame[s] = payload_bits[p++]; - } - } - - assert(u == ofdm->nuwbits); - assert(p == (ofdm->bitsperpacket - ofdm->nuwbits - ofdm->ntxtbits)); - - for (t = 0; s < ofdm->bitsperframe; s++, t++) { - modem_frame[s] = txt_bits[t]; - } - - assert(t == ofdm->ntxtbits); -} - -/* - * Assemble packet of symbols from UW, payload symbols, and txt bits - */ -void ofdm_assemble_qpsk_modem_packet_symbols(struct OFDM *ofdm, - complex float modem_packet[], - COMP payload_syms[], - uint8_t txt_bits[]) { - complex float *payload = - (complex float *)&payload_syms[0]; // complex has same memory layout - int Nsymsperpacket = ofdm->bitsperpacket / ofdm->bps; - int Nuwsyms = ofdm->nuwbits / ofdm->bps; - int Ntxtsyms = ofdm->ntxtbits / ofdm->bps; - int dibit[2]; - int s, t; - - int p = 0; - int u = 0; - - assert( - ofdm->bps == - 2); /* this only works for QPSK at this stage (e.g. modem packet mod) */ - - for (s = 0; s < (Nsymsperpacket - Ntxtsyms); s++) { - if ((u < Nuwsyms) && (s == ofdm->uw_ind_sym[u])) { - modem_packet[s] = ofdm->tx_uw_syms[u++]; - } else { - modem_packet[s] = payload[p++]; - } - } - - assert(u == Nuwsyms); - assert(p == (Nsymsperpacket - Nuwsyms - Ntxtsyms)); - - for (t = 0; s < Nsymsperpacket; s++, t += 2) { - dibit[1] = txt_bits[t] & 0x1; - dibit[0] = txt_bits[t + 1] & 0x1; - modem_packet[s] = qpsk_mod(dibit); - } - - assert(t == ofdm->ntxtbits); -} - -/* - * Disassemble a received packet of symbols into UW bits and payload data - * symbols - */ -void ofdm_disassemble_qpsk_modem_packet(struct OFDM *ofdm, - complex float rx_syms[], - float rx_amps[], COMP codeword_syms[], - float codeword_amps[], - short txt_bits[]) { - complex float *codeword = - (complex float *)&codeword_syms[0]; // complex has same memory layout - int Nsymsperpacket = ofdm->bitsperpacket / ofdm->bps; - int Nuwsyms = ofdm->nuwbits / ofdm->bps; - int Ntxtsyms = ofdm->ntxtbits / ofdm->bps; - int dibit[2]; - int s, t; - - int p = 0; - int u = 0; - - assert(ofdm->bps == 2); /* this only works for QPSK at this stage */ - - for (s = 0; s < (Nsymsperpacket - Ntxtsyms); s++) { - if ((u < Nuwsyms) && (s == ofdm->uw_ind_sym[u])) { - u++; - } else { - codeword[p] = rx_syms[s]; - codeword_amps[p] = rx_amps[s]; - p++; - } - } - - assert(u == Nuwsyms); - assert(p == (Nsymsperpacket - Nuwsyms - Ntxtsyms)); - - for (t = 0; s < Nsymsperpacket; s++, t += 2) { - qpsk_demod(rx_syms[s], dibit); - - txt_bits[t] = dibit[1]; - txt_bits[t + 1] = dibit[0]; - } - - assert(t == ofdm->ntxtbits); -} - -/* - * Disassemble a received packet of symbols into UW bits and payload data - * symbols - */ -void ofdm_disassemble_qpsk_modem_packet_with_text_amps( - struct OFDM *ofdm, complex float rx_syms[], float rx_amps[], - COMP codeword_syms[], float codeword_amps[], short txt_bits[], - int *textIndex) { - complex float *codeword = - (complex float *)&codeword_syms[0]; // complex has same memory layout - int Nsymsperpacket = ofdm->bitsperpacket / ofdm->bps; - int Nuwsyms = ofdm->nuwbits / ofdm->bps; - int Ntxtsyms = ofdm->ntxtbits / ofdm->bps; - int dibit[2]; - int s, t; - - int p = 0; - int u = 0; - - assert(ofdm->bps == 2); /* this only works for QPSK at this stage */ - assert(textIndex != NULL); - - for (s = 0; s < (Nsymsperpacket - Ntxtsyms); s++) { - if ((u < Nuwsyms) && (s == ofdm->uw_ind_sym[u])) { - u++; - } else { - codeword[p] = rx_syms[s]; - codeword_amps[p] = rx_amps[s]; - p++; - } - } - - assert(u == Nuwsyms); - assert(p == (Nsymsperpacket - Nuwsyms - Ntxtsyms)); - - *textIndex = s; - for (t = 0; s < Nsymsperpacket; s++, t += 2) { - qpsk_demod(rx_syms[s], dibit); - - txt_bits[t] = dibit[1]; - txt_bits[t + 1] = dibit[0]; - } - - assert(t == ofdm->ntxtbits); -} - -/* - * Extract just the UW from the packet - */ -void ofdm_extract_uw(struct OFDM *ofdm, complex float rx_syms[], - float rx_amps[], uint8_t rx_uw[]) { - int Nsymsperframe = ofdm->bitsperframe / ofdm->bps; - int Nuwsyms = ofdm->nuwbits / ofdm->bps; - int dibit[2]; - int s, u; - - assert(ofdm->bps == - 2); /* this only works for QPSK at this stage (e.g. UW demod) */ - - for (s = 0, u = 0; s < Nsymsperframe * ofdm->nuwframes; s++) { - if ((u < Nuwsyms) && (s == ofdm->uw_ind_sym[u])) { - qpsk_demod(rx_syms[s], dibit); - rx_uw[2 * u] = dibit[1]; - rx_uw[2 * u + 1] = dibit[0]; - u++; - } - } - - assert(u == Nuwsyms); -} - -/* - * Pseudo-random number generator that we can implement in C with - * identical results to Octave. Returns an unsigned int between 0 - * and 32767. Used for generating test frames of various lengths. - */ -void ofdm_rand(uint16_t r[], int n) { ofdm_rand_seed(r, n, 1); } - -void ofdm_rand_seed(uint16_t r[], int n, uint64_t seed) { - for (int i = 0; i < n; i++) { - seed = (1103515245l * seed + 12345) % 32768; - r[i] = seed; - } -} - -void ofdm_generate_payload_data_bits(uint8_t payload_data_bits[], int n) { - uint16_t r[n]; - int i; - - ofdm_rand(r, n); - - for (i = 0; i < n; i++) { - payload_data_bits[i] = r[i] > 16384; - } -} - -void ofdm_generate_preamble(struct OFDM *ofdm, COMP *tx_preamble, int seed) { - // need to modify bits per packet to set up pre-amble of a few modem frames in - // length - struct OFDM ofdm_preamble; - memcpy(&ofdm_preamble, ofdm, sizeof(struct OFDM)); - ofdm_preamble.np = 1; - ofdm_preamble.bitsperpacket = ofdm_preamble.bitsperframe; - uint16_t r[ofdm_preamble.bitsperpacket]; - ofdm_rand_seed(r, ofdm_preamble.bitsperpacket, seed); - int preamble_bits[ofdm_preamble.bitsperpacket]; - for (int i = 0; i < ofdm_preamble.bitsperpacket; i++) - preamble_bits[i] = r[i] > 16384; - // ensures the signal passes through hilbert clipper unchanged - ofdm_preamble.amp_scale = 1.0; - ofdm_preamble.tx_bpf_en = false; - ofdm_preamble.clip_en = false; - ofdm_mod(&ofdm_preamble, tx_preamble, preamble_bits); -} - -void ofdm_print_info(struct OFDM *ofdm) { - char *syncmode[] = {"unsync", "autosync", "manualsync"}; - char *phase_est_bandwidth_mode[] = {"auto", "locked_high"}; - - fprintf(stderr, "ofdm->tx_centre = %g\n", (double)ofdm->tx_centre); - fprintf(stderr, "ofdm->rx_centre = %g\n", (double)ofdm->rx_centre); - fprintf(stderr, "ofdm->fs = %g\n", (double)ofdm->fs); - fprintf(stderr, "ofdm->ts = %g\n", (double)ofdm->ts); - fprintf(stderr, "ofdm->rs = %g\n", (double)ofdm->rs); - fprintf(stderr, "ofdm->tcp = %g\n", (double)ofdm->tcp); - fprintf(stderr, "ofdm->inv_m = %g\n", (double)ofdm->inv_m); - fprintf(stderr, "ofdm->tx_nlower = %g\n", (double)ofdm->tx_nlower); - fprintf(stderr, "ofdm->rx_nlower = %g\n", (double)ofdm->rx_nlower); - fprintf(stderr, "ofdm->doc = %g\n", (double)ofdm->doc); - fprintf(stderr, "ofdm->timing_mx_thresh = %g\n", - (double)ofdm->timing_mx_thresh); - fprintf(stderr, "ofdm->nc = %d\n", ofdm->nc); - fprintf(stderr, "ofdm->np = %d\n", ofdm->np); - fprintf(stderr, "ofdm->ns = %d\n", ofdm->ns); - fprintf(stderr, "ofdm->bps = %d\n", ofdm->bps); - fprintf(stderr, "ofdm->m = %d\n", ofdm->m); - fprintf(stderr, "ofdm->ncp = %d\n", ofdm->ncp); - fprintf(stderr, "ofdm->ftwindowwidth = %d\n", ofdm->ftwindowwidth); - fprintf(stderr, "ofdm->bitsperframe = %d\n", ofdm->bitsperframe); - fprintf(stderr, "ofdm->bitsperpacket = %d\n", ofdm->bitsperpacket); - fprintf(stderr, "ofdm->rowsperframe = %d\n", ofdm->rowsperframe); - fprintf(stderr, "ofdm->samplespersymbol = %d\n", ofdm->samplespersymbol); - fprintf(stderr, "ofdm->samplesperframe = %d\n", ofdm->samplesperframe); - fprintf(stderr, "ofdm->max_samplesperframe = %d\n", - ofdm->max_samplesperframe); - fprintf(stderr, "ofdm->nrxbuf = %d\n", ofdm->nrxbuf); - fprintf(stderr, "ofdm->ntxtbits = %d\n", ofdm->ntxtbits); - fprintf(stderr, "ofdm->nuwbits = %d\n", ofdm->nuwbits); - fprintf(stderr, "ofdm->foff_est_gain = %g\n", (double)ofdm->foff_est_gain); - fprintf(stderr, "ofdm->foff_est_hz = %g\n", (double)ofdm->foff_est_hz); - fprintf(stderr, "ofdm->timing_mx = %g\n", (double)ofdm->timing_mx); - fprintf(stderr, "ofdm->coarse_foff_est_hz = %g\n", - (double)ofdm->coarse_foff_est_hz); - fprintf(stderr, "ofdm->timing_norm = %g\n", (double)ofdm->timing_norm); - fprintf(stderr, "ofdm->mean_amp = %g\n", (double)ofdm->mean_amp); - fprintf(stderr, "ofdm->clock_offset_counter = %d\n", - ofdm->clock_offset_counter); - fprintf(stderr, "ofdm->verbose = %d\n", ofdm->verbose); - fprintf(stderr, "ofdm->sample_point = %d\n", ofdm->sample_point); - fprintf(stderr, "ofdm->timing_est = %d\n", ofdm->timing_est); - fprintf(stderr, "ofdm->timing_valid = %d\n", ofdm->timing_valid); - fprintf(stderr, "ofdm->nin = %d\n", ofdm->nin); - fprintf(stderr, "ofdm->uw_errors = %d\n", ofdm->uw_errors); - fprintf(stderr, "ofdm->sync_counter = %d\n", ofdm->sync_counter); - fprintf(stderr, "ofdm->frame_count = %d\n", ofdm->frame_count); - fprintf(stderr, "ofdm->sync_start = %s\n", - ofdm->sync_start ? "true" : "false"); - fprintf(stderr, "ofdm->sync_end = %s\n", ofdm->sync_end ? "true" : "false"); - fprintf(stderr, "ofdm->sync_mode = %s\n", syncmode[ofdm->sync_mode]); - fprintf(stderr, "ofdm->timing_en = %s\n", ofdm->timing_en ? "true" : "false"); - fprintf(stderr, "ofdm->foff_est_en = %s\n", - ofdm->foff_est_en ? "true" : "false"); - fprintf(stderr, "ofdm->phase_est_en = %s\n", - ofdm->phase_est_en ? "true" : "false"); - fprintf(stderr, "ofdm->tx_bpf_en = %s\n", ofdm->tx_bpf_en ? "true" : "false"); - fprintf(stderr, "ofdm->rx_bpf_en = %s\n", ofdm->rx_bpf_en ? "true" : "false"); - fprintf(stderr, "ofdm->tx_bpf_proto_n = %d\n", ofdm->tx_bpf_proto_n); - fprintf(stderr, "ofdm->tx_bpf_proto:\n"); - for (int i = 0; i < ofdm->tx_bpf_proto_n; i++) - fprintf(stderr, "%f\t", ofdm->tx_bpf_proto[i]); - fprintf(stderr, "\n"); - fprintf(stderr, "ofdm->dpsk_en = %s\n", ofdm->dpsk_en ? "true" : "false"); - fprintf(stderr, "ofdm->phase_est_bandwidth_mode = %s\n", - phase_est_bandwidth_mode[ofdm->phase_est_bandwidth_mode]); -} - -// hilbert clipper -void ofdm_clip(complex float tx[], float clip_thresh, int n) { - complex float sam; - float mag; - int i; - - for (i = 0; i < n; i++) { - sam = tx[i]; - mag = cabsf(sam); - if (mag > clip_thresh) { - sam *= clip_thresh / mag; - } - tx[i] = sam; - } -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_demod.c b/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_demod.c deleted file mode 100644 index 80f01bd..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_demod.c +++ /dev/null @@ -1,751 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: ofdm_demod.c - AUTHOR......: David Rowe - DATE CREATED: Mar 2018 - - Demodulates an input file of raw file (8kHz, 16 bit shorts) OFDM modem - samples. Runs in uncoded or LDPC coded modes. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2018 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . - */ - -#define OPTPARSE_IMPLEMENTATION -#define OPTPARSE_API static -#include -#include -#include -#include -#include -#include -#include -#include - -#include "codec2_ofdm.h" -#include "gp_interleaver.h" -#include "interldpc.h" -#include "ldpc_codes.h" -#include "mpdecode_core.h" -#include "octave.h" -#include "ofdm_internal.h" -#include "optparse.h" - -#define IS_DIR_SEPARATOR(c) ((c) == '/') - -#define NFRAMES 100 /* just log the first 100 frames */ -#define NDISCARD 20 /* BER2 measure discards first 20 frames */ -#define FS 8000.0f - -static const char *progname; - -static const char *statemode[] = {"search", "trial", "synced"}; - -void opt_help() { - fprintf(stderr, "\nusage: %s [options]\n\n", progname); - fprintf(stderr, - " Default output file format is one byte per bit hard decision\n\n"); - fprintf(stderr, " --in filename Name of InputModemRawFile\n"); - fprintf(stderr, - " --out filename Name of OutputOneCharPerBitFile\n"); - fprintf(stderr, " --log filename Octave log file for testing\n"); - fprintf( - stderr, - " --mode modeName Predefined mode e.g. 700D|2020|datac1 etc\n"); - fprintf( - stderr, - " --nc [17..62] Number of Carriers (17 default, 62 max)\n"); - fprintf(stderr, " --np Number of packets\n"); - fprintf( - stderr, - " --ns Nframes One pilot every ns symbols (8 default)\n"); - fprintf(stderr, - " --tcp Nsecs Cyclic Prefix Duration (.002 default)\n"); - fprintf(stderr, - " --ts Nsecs Symbol Duration (.018 default)\n"); - fprintf(stderr, - " --bandwidth [0|1] Select phase est bw mode AUTO low or " - "high (0) or LOCKED high (1) (default 0)\n"); - fprintf(stderr, - " Must also specify --ldpc option\n"); - fprintf(stderr, - " --tx_freq freq Set modulation TX centre Frequency " - "(1500.0 default)\n"); - fprintf(stderr, - " --rx_freq freq Set modulation RX centre Frequency " - "(1500.0 default)\n"); - fprintf(stderr, - " --verbose [1|2|3] Verbose output level to stderr (default " - "off)\n"); - fprintf(stderr, - " --testframes Receive test frames and count errors\n"); - fprintf(stderr, " --ldpc Run LDPC decoder\n"); - fprintf(stderr, "\n"); - fprintf(stderr, - " --start_secs secs Number of seconds delay before we start " - "to demod\n"); - fprintf(stderr, - " --len_secs secs Number of seconds to run demod\n"); - fprintf(stderr, - " --skip_secs timeSecs At timeSecs introduce a large timing " - "error by skipping half a frame of samples\n"); - fprintf(stderr, - " --packetsperburst p use burst mode; number of packets we " - "expect per burst\n"); - fprintf(stderr, "\n"); - - exit(-1); -} - -int main(int argc, char *argv[]) { - int i, j, opt, val; - - char *pn = argv[0] + strlen(argv[0]); - - while (pn != argv[0] && !IS_DIR_SEPARATOR(pn[-1])) --pn; - - progname = pn; - - /* Turn off stream buffering */ - - setvbuf(stdin, NULL, _IONBF, BUFSIZ); - setvbuf(stdout, NULL, _IONBF, BUFSIZ); - - FILE *fin = stdin; - FILE *fout = stdout; - FILE *foct = NULL; - - char *fin_name = NULL; - char *fout_name = NULL; - char *log_name = NULL; - - int logframes = NFRAMES; - int verbose = 0; - int phase_est_bandwidth_mode = AUTO_PHASE_EST; - int ldpc_en = 0; - int Ndatabitsperpacket = 0; - int packetsperburst = 0; - - bool testframes = false; - bool input_specified = false; - bool output_specified = false; - bool log_specified = false; - bool log_active = false; - - float time_to_sync = -1; - float start_secs = 0.0; - float len_secs = 0.0; - float skip_secs = 0.0; - - /* set up the default modem config */ - struct OFDM_CONFIG *ofdm_config = - (struct OFDM_CONFIG *)calloc(1, sizeof(struct OFDM_CONFIG)); - assert(ofdm_config != NULL); - char mode[32] = "700D"; - ofdm_init_mode(mode, ofdm_config); - - struct optparse options; - struct optparse_long longopts[] = { - {"in", 'a', OPTPARSE_REQUIRED}, - {"out", 'b', OPTPARSE_REQUIRED}, - {"log", 'c', OPTPARSE_REQUIRED}, - {"testframes", 'd', OPTPARSE_NONE}, - {"bandwidth", 'o', OPTPARSE_REQUIRED}, - {"tx_freq", 'f', OPTPARSE_REQUIRED}, - {"rx_freq", 'g', OPTPARSE_REQUIRED}, - {"verbose", 'v', OPTPARSE_REQUIRED}, - {"ldpc", 'i', OPTPARSE_NONE}, - {"nc", 'j', OPTPARSE_REQUIRED}, - {"tcp", 'k', OPTPARSE_REQUIRED}, - {"ts", 'l', OPTPARSE_REQUIRED}, - {"ns", 'm', OPTPARSE_REQUIRED}, - {"np", 'n', OPTPARSE_REQUIRED}, - {"start_secs", 'x', OPTPARSE_REQUIRED}, - {"len_secs", 'y', OPTPARSE_REQUIRED}, - {"skip_secs", 'z', OPTPARSE_REQUIRED}, - {"mode", 'r', OPTPARSE_REQUIRED}, - {"packetsperburst", 'e', OPTPARSE_REQUIRED}, - {0, 0, 0}}; - - optparse_init(&options, argv); - - while ((opt = optparse_long(&options, longopts, NULL)) != -1) { - switch (opt) { - case '?': - opt_help(); - case 'a': - fin_name = options.optarg; - input_specified = true; - break; - case 'b': - fout_name = options.optarg; - output_specified = true; - break; - case 'c': - log_name = options.optarg; - log_specified = true; - log_active = true; - break; - case 'd': - testframes = true; - break; - case 'e': - packetsperburst = atoi(options.optarg); - fprintf(stderr, "burst data mode!\n"); - break; - case 'i': - ldpc_en = 1; - break; - case 'f': - ofdm_config->tx_centre = atof(options.optarg); - break; - case 'g': - ofdm_config->rx_centre = atof(options.optarg); - break; - case 'j': - val = atoi(options.optarg); - - if (val > 62 || val < 17) { - opt_help(); - } else { - ofdm_config->nc = val; - } - break; - case 'k': - ofdm_config->tcp = atof(options.optarg); - break; - case 'l': - ofdm_config->ts = atof(options.optarg); - ofdm_config->rs = 1.0f / ofdm_config->ts; - break; - case 'm': - ofdm_config->ns = atoi(options.optarg); - break; - case 'n': - ofdm_config->np = atoi(options.optarg); - break; - case 'o': - phase_est_bandwidth_mode = atoi(options.optarg); - break; - case 'r': - strcpy(mode, options.optarg); - ofdm_init_mode(mode, ofdm_config); - break; - case 'v': - verbose = atoi(options.optarg); - if (verbose < 0 || verbose > 3) verbose = 0; - break; - case 'x': - start_secs = atoi(options.optarg); - break; - case 'y': - len_secs = atoi(options.optarg); - break; - case 'z': - skip_secs = atoi(options.optarg); - break; - } - } - - /* Print remaining arguments to give user a hint */ - char *arg; - - while ((arg = optparse_arg(&options))) fprintf(stderr, "%s\n", arg); - - if (input_specified == true) { - if ((fin = fopen(fin_name, "rb")) == NULL) { - fprintf(stderr, "Error opening input modem sample file: %s\n", fin_name); - exit(-1); - } - } - - if (output_specified == true) { - if ((fout = fopen(fout_name, "wb")) == NULL) { - fprintf(stderr, "Error opening output file: %s\n", fout_name); - exit(-1); - } - } - - if (log_specified == true) { - if ((foct = fopen(log_name, "wt")) == NULL) { - fprintf(stderr, "Error opening Octave output file: %s\n", log_name); - exit(-1); - } - } - - /* Create OFDM modem ----------------------------------------------------*/ - - struct OFDM *ofdm = ofdm_create(ofdm_config); - assert(ofdm != NULL); - free(ofdm_config); - - ofdm_set_phase_est_bandwidth_mode(ofdm, phase_est_bandwidth_mode); - // default to one packet per burst for burst mode - if (packetsperburst) { - ofdm_set_packets_per_burst(ofdm, packetsperburst); - } - - /* Get a copy of the actual modem config (ofdm_create() fills in more - * parameters) */ - ofdm_config = ofdm_get_config_param(ofdm); - - int ofdm_bitsperframe = ofdm_get_bits_per_frame(ofdm); - int ofdm_rowsperframe = - ofdm_bitsperframe / (ofdm_config->nc * ofdm_config->bps); - int ofdm_nuwbits = ofdm_config->nuwbits; - int ofdm_ntxtbits = ofdm_config->txtbits; - - float phase_est_pilot_log[ofdm_rowsperframe * NFRAMES][ofdm_config->nc]; - COMP rx_np_log[ofdm_rowsperframe * ofdm_config->nc * NFRAMES]; - float rx_amp_log[ofdm_rowsperframe * ofdm_config->nc * NFRAMES]; - float foff_hz_log[NFRAMES]; - int timing_est_log[NFRAMES]; - - /* zero out the log arrays in case we don't run for NFRAMES and fill them with - * data */ - - for (i = 0; i < (ofdm_rowsperframe * NFRAMES); i++) { - for (j = 0; j < ofdm_config->nc; j++) { - phase_est_pilot_log[i][j] = 0.0f; - } - } - - for (i = 0; i < (ofdm_rowsperframe * ofdm_config->nc * NFRAMES); i++) { - rx_np_log[i].real = 0.0f; - rx_np_log[i].imag = 0.0f; - rx_amp_log[i] = 0.0f; - } - - for (i = 0; i < NFRAMES; i++) { - foff_hz_log[i] = 0.0f; - timing_est_log[i] = 0.0f; - } - - /* some useful constants */ - - int Nbitsperframe = ofdm_bitsperframe; - int Nbitsperpacket = ofdm_get_bits_per_packet(ofdm); - int Nsymsperframe = Nbitsperframe / ofdm_config->bps; - int Nsymsperpacket = Nbitsperpacket / ofdm_config->bps; - int Nmaxsamperframe = ofdm_get_max_samples_per_frame(ofdm); - int Npayloadbitsperframe = ofdm_bitsperframe; - int Npayloadbitsperpacket = Nbitsperpacket - ofdm_nuwbits - ofdm_ntxtbits; - int Npayloadsymsperframe = Npayloadbitsperframe / ofdm_config->bps; - int Npayloadsymsperpacket = Npayloadbitsperpacket / ofdm_config->bps; - - /* Set up LPDC codes */ - - struct LDPC ldpc; - COMP payload_syms[Npayloadsymsperpacket]; - float payload_amps[Npayloadsymsperpacket]; - - if (ldpc_en) { - ldpc_codes_setup(&ldpc, ofdm->codename); - ldpc_mode_specific_setup(ofdm, &ldpc); - Ndatabitsperpacket = ldpc.data_bits_per_frame; - - if (verbose > 1) { - fprintf(stderr, "using: %s\n", ofdm->codename); - fprintf(stderr, "LDPC codeword data bits = %d\n", - ldpc.ldpc_data_bits_per_frame); - fprintf(stderr, "LDPC codeword total bits = %d\n", - ldpc.ldpc_coded_bits_per_frame); - fprintf(stderr, "LDPC codeword data bits used = %d\n", - Ndatabitsperpacket); - fprintf(stderr, "LDPC codeword total length in modem packet = %d\n", - Npayloadbitsperpacket); - } - } - - if (verbose != 0) { - ofdm_set_verbose(ofdm, verbose); - } - - complex float rx_syms[Nsymsperpacket]; - float rx_amps[Nsymsperpacket]; - for (int i = 0; i < Nsymsperpacket; i++) { - rx_syms[i] = 0.0; - rx_amps[i] = 0.0; - } - - short rx_scaled[Nmaxsamperframe]; - int rx_bits[Nbitsperframe]; - uint8_t rx_bits_char[Nbitsperframe]; - uint8_t rx_uw[ofdm_nuwbits]; - short txt_bits[ofdm_ntxtbits]; - - /* error counting */ - int Terrs, Tbits, Terrs2, Tbits2, Terrs_coded, Tbits_coded, frame_count, - packet_count, Ndiscard; - Terrs = Tbits = Terrs2 = Tbits2 = Terrs_coded = Tbits_coded = frame_count = - packet_count = 0; - int Nerrs_raw = 0; - int Nerrs_coded = 0; - int Ncoded; - int Tper = 0; - int iter = 0; - int parityCheckCount = 0; - float SNR3kdB = 0.0; - float sum_SNR3kdB = 0.0; - - if (strlen(ofdm->data_mode) == 0) - Ndiscard = NDISCARD; /* backwards compatibility with 700D/2020 */ - else - Ndiscard = 1; /* much longer packets, so discard thresh smaller */ - - float EsNo = 3.0f; - - if (verbose == 2) fprintf(stderr, "Warning EsNo: %f hard coded\n", EsNo); - - /* More logging */ - COMP payload_syms_log[NFRAMES][Npayloadsymsperpacket]; - float payload_amps_log[NFRAMES][Npayloadsymsperpacket]; - - for (i = 0; i < NFRAMES; i++) { - for (j = 0; j < Npayloadsymsperframe; j++) { - payload_syms_log[i][j].real = 0.0f; - payload_syms_log[i][j].imag = 0.0f; - payload_amps_log[i][j] = 0.0f; - } - } - - int nin_frame = ofdm_get_nin(ofdm); - - int f = 0; - int finish = 0; - - if (start_secs != 0.0) { - int offset = start_secs * FS * sizeof(short); - fseek(fin, offset, SEEK_SET); - } - - while ((fread(rx_scaled, sizeof(short), nin_frame, fin) == nin_frame) && - !finish) { - if (verbose >= 2) - fprintf(stderr, "%3d nin: %4d st: %-6s ", f, nin_frame, - statemode[ofdm->sync_state]); - bool log_payload_syms = false; - Nerrs_raw = Nerrs_coded = 0; - - /* demod */ - - if (ofdm->sync_state == search) { - ofdm_sync_search_shorts(ofdm, rx_scaled, (ofdm->amp_scale / 2.0f)); - } - - if ((ofdm->sync_state == synced) || (ofdm->sync_state == trial)) { - log_payload_syms = true; - - /* demod the latest modem frame */ - ofdm_demod_shorts(ofdm, rx_bits, rx_scaled, (ofdm->amp_scale / 2.0f)); - - /* accumulate a buffer of data symbols for this packet */ - for (i = 0; i < Nsymsperpacket - Nsymsperframe; i++) { - rx_syms[i] = rx_syms[i + Nsymsperframe]; - rx_amps[i] = rx_amps[i + Nsymsperframe]; - } - memcpy(&rx_syms[Nsymsperpacket - Nsymsperframe], ofdm->rx_np, - sizeof(complex float) * Nsymsperframe); - memcpy(&rx_amps[Nsymsperpacket - Nsymsperframe], ofdm->rx_amp, - sizeof(float) * Nsymsperframe); - - /* look for UW as frames enter packet buffer, note UW may span several - * modem frames */ - int st_uw = Nsymsperpacket - ofdm->nuwframes * Nsymsperframe; - ofdm_extract_uw(ofdm, &rx_syms[st_uw], &rx_amps[st_uw], rx_uw); - - if (ofdm->modem_frame == (ofdm->np - 1)) { - /* we have received enough frames to make a complete packet .... */ - - /* extract payload symbols from packet */ - ofdm_disassemble_qpsk_modem_packet(ofdm, rx_syms, rx_amps, payload_syms, - payload_amps, txt_bits); - - if (ldpc_en) { - assert((ofdm_nuwbits + ofdm_ntxtbits + Npayloadbitsperpacket) <= - Nbitsperpacket); - - /* run de-interleaver */ - COMP payload_syms_de[Npayloadsymsperpacket]; - float payload_amps_de[Npayloadsymsperpacket]; - gp_deinterleave_comp(payload_syms_de, payload_syms, - Npayloadsymsperpacket); - gp_deinterleave_float(payload_amps_de, payload_amps, - Npayloadsymsperpacket); - - float llr[Npayloadbitsperpacket]; - uint8_t out_char[Npayloadbitsperpacket]; - - if (testframes == true) { - Nerrs_raw = - count_uncoded_errors(&ldpc, ofdm_config, payload_syms_de, 0); - Terrs += Nerrs_raw; - Tbits += - Npayloadbitsperpacket; /* not counting errors in txt bits */ - } - - symbols_to_llrs(llr, payload_syms_de, payload_amps_de, EsNo, - ofdm->mean_amp, Npayloadsymsperpacket); - - assert(Ndatabitsperpacket == ldpc.data_bits_per_frame); - ldpc_decode_frame(&ldpc, &parityCheckCount, &iter, out_char, llr); - - if (testframes == true) { - /* construct payload data bits */ - uint8_t payload_data_bits[Ndatabitsperpacket]; - ofdm_generate_payload_data_bits(payload_data_bits, - Ndatabitsperpacket); - count_errors_protection_mode(ldpc.protection_mode, &Nerrs_coded, - &Ncoded, payload_data_bits, out_char, - Ndatabitsperpacket); - Terrs_coded += Nerrs_coded; - Tbits_coded += Ncoded; - if (Nerrs_coded) Tper++; - } - - fwrite(out_char, sizeof(char), Ndatabitsperpacket, fout); - } else { - /* simple hard decision output of payload data bits */ - assert(Npayloadsymsperpacket * ofdm_config->bps == - Npayloadbitsperpacket); - for (i = 0; i < Npayloadsymsperpacket; i++) { - int bits[2]; - complex float s = payload_syms[i].real + I * payload_syms[i].imag; - qpsk_demod(s, bits); - rx_bits_char[ofdm_config->bps * i] = bits[1]; - rx_bits_char[ofdm_config->bps * i + 1] = bits[0]; - } - - fwrite(rx_bits_char, sizeof(uint8_t), Npayloadbitsperpacket, fout); - } - - /* optional error counting on uncoded data in non-LDPC testframe mode */ - - if ((testframes == true) && (ldpc_en == 0)) { - /* build up a test frame consisting of unique word, txt bits, and - psuedo-random uncoded payload bits. The psuedo-random generator is - the same as Octave so it can interoperate with ofdm_tx.m/ofdm_rx.m - */ - - uint8_t payload_bits[Npayloadbitsperpacket]; - uint8_t txt_bits[ofdm_ntxtbits]; - memset(txt_bits, 0, ofdm_ntxtbits); - uint8_t tx_bits[Nbitsperpacket]; - ofdm_generate_payload_data_bits(payload_bits, Npayloadbitsperpacket); - ofdm_assemble_qpsk_modem_packet(ofdm, tx_bits, payload_bits, - txt_bits); - - /* count errors across UW, payload, txt bits */ - int rx_bits[Nbitsperpacket]; - int dibit[2]; - assert(ofdm->bps == 2); /* this only works for QPSK at this stage */ - for (int s = 0; s < Nsymsperpacket; s++) { - qpsk_demod(rx_syms[s], dibit); - rx_bits[2 * s] = dibit[1]; - rx_bits[2 * s + 1] = dibit[0]; - } - for (Nerrs_raw = 0, i = 0; i < Nbitsperpacket; i++) - if (tx_bits[i] != rx_bits[i]) Nerrs_raw++; - Terrs += Nerrs_raw; - Tbits += Nbitsperpacket; - - if (packet_count >= Ndiscard) { - Terrs2 += Nerrs_raw; - Tbits2 += Nbitsperpacket; - } - } - packet_count++; - - float EsNodB = ofdm_esno_est_calc(rx_syms, Npayloadsymsperpacket); - SNR3kdB = ofdm_snr_from_esno(ofdm, EsNodB); - sum_SNR3kdB += SNR3kdB; - } /* complete packet */ - - frame_count++; - } - - /* per-frame modem processing */ - - nin_frame = ofdm_get_nin(ofdm); - ofdm_sync_state_machine(ofdm, rx_uw); - - /* act on any events returned by state machine */ - - if (!strcmp(ofdm->data_mode, "streaming") && ofdm->sync_start) { - Terrs = Tbits = Terrs2 = Tbits2 = Terrs_coded = Tbits_coded = - frame_count = packet_count = 0; - Nerrs_raw = 0; - Nerrs_coded = 0; - } - - if (verbose >= 2) { - if (ofdm->last_sync_state != search) { - if ((ofdm->modem_frame == 0) && (ofdm->last_sync_state != trial)) { - /* weve just received a complete packet, so print all stats */ - fprintf(stderr, - "euw: %2d %1d mf: %2d f: %5.1f pbw: %d eraw: %3d ecdd: %3d " - "iter: %3d pcc: %3d snr: %5.2f\n", - ofdm->uw_errors, ofdm->sync_counter, ofdm->modem_frame, - ofdm->foff_est_hz, ofdm->phase_est_bandwidth, Nerrs_raw, - Nerrs_coded, iter, parityCheckCount, SNR3kdB); - } else { - /* weve just received a modem frame, abbreviated stats */ - fprintf(stderr, "euw: %2d %1d mf: %2d f: %5.1f pbw: %d\n", - ofdm->uw_errors, ofdm->sync_counter, ofdm->modem_frame, - ofdm->foff_est_hz, ofdm->phase_est_bandwidth); - } - } - - /* detect a successful sync for time to sync tests */ - if ((time_to_sync < 0) && - ((ofdm->sync_state == synced) || (ofdm->sync_state == trial))) - if ((parityCheckCount > 80) && (iter != 100)) - time_to_sync = (float)(f + 1) * ofdm_get_samples_per_frame(ofdm) / FS; - } - - /* optional logging of states */ - - if (log_active == true) { - /* note corrected phase (rx no phase) is one big linear array for frame */ - - for (i = 0; i < ofdm_rowsperframe * ofdm_config->nc; i++) { - rx_np_log[ofdm_rowsperframe * ofdm_config->nc * f + i].real = - crealf(ofdm->rx_np[i]); - rx_np_log[ofdm_rowsperframe * ofdm_config->nc * f + i].imag = - cimagf(ofdm->rx_np[i]); - } - - /* note phase/amp ests the same for each col, but check them all anyway */ - - for (i = 0; i < ofdm_rowsperframe; i++) { - for (j = 0; j < ofdm_config->nc; j++) { - phase_est_pilot_log[ofdm_rowsperframe * f + i][j] = - ofdm->aphase_est_pilot_log[ofdm_config->nc * i + j]; - rx_amp_log[ofdm_rowsperframe * ofdm_config->nc * f + - ofdm_config->nc * i + j] = - ofdm->rx_amp[ofdm_config->nc * i + j]; - } - } - - foff_hz_log[f] = ofdm->foff_est_hz; - timing_est_log[f] = - ofdm->timing_est + 1; /* offset by 1 to match Octave */ - if (log_payload_syms == true) { - for (i = 0; i < Npayloadsymsperpacket; i++) { - payload_syms_log[f][i].real = payload_syms[i].real; - payload_syms_log[f][i].imag = payload_syms[i].imag; - payload_amps_log[f][i] = payload_amps[i]; - } - } - - if (f == (logframes - 1)) log_active = false; - } - - if (len_secs != 0.0) { - float secs = (float)f * ofdm_get_samples_per_frame(ofdm) / FS; - if (secs >= len_secs) finish = 1; - } - - if (skip_secs != 0.0) { - /* big nasty timing error */ - float secs = (float)f * ofdm_get_samples_per_frame(ofdm) / FS; - if (secs >= skip_secs) { - assert(fread(rx_scaled, sizeof(short), nin_frame / 2, fin) == - nin_frame / 2); - fprintf(stderr, " Skip! Just introduced a nasty big timing slip\n"); - skip_secs = 0.0; /* make sure we just introduce one error */ - } - } - - f++; - } - - if (input_specified == true) fclose(fin); - - if (output_specified == true) fclose(fout); - - /* optionally dump Octave files */ - - if (log_specified == true) { - octave_save_float(foct, "phase_est_pilot_log_c", - (float *)phase_est_pilot_log, ofdm_rowsperframe * NFRAMES, - ofdm_config->nc, ofdm_config->nc); - octave_save_complex(foct, "rx_np_log_c", (COMP *)rx_np_log, 1, - ofdm_rowsperframe * ofdm_config->nc * NFRAMES, - ofdm_rowsperframe * ofdm_config->nc * NFRAMES); - octave_save_float(foct, "rx_amp_log_c", (float *)rx_amp_log, 1, - ofdm_rowsperframe * ofdm_config->nc * NFRAMES, - ofdm_rowsperframe * ofdm_config->nc * NFRAMES); - octave_save_float(foct, "foff_hz_log_c", foff_hz_log, NFRAMES, 1, 1); - octave_save_int(foct, "timing_est_log_c", timing_est_log, NFRAMES, 1); - octave_save_complex(foct, "payload_syms_log_c", (COMP *)payload_syms_log, - NFRAMES, Npayloadsymsperpacket, Npayloadsymsperpacket); - octave_save_float(foct, "payload_amps_log_c", (float *)payload_amps_log, - NFRAMES, Npayloadsymsperpacket, Npayloadsymsperpacket); - - fclose(foct); - } - - if ((strlen(ofdm->data_mode) == 0) && (verbose == 2)) - fprintf(stderr, "time_to_sync: %f\n", time_to_sync); - - int ret = 0; - if (testframes == true) { - float uncoded_ber = (float)Terrs / Tbits; - float coded_ber = 0.0; - - if (verbose != 0) { - fprintf(stderr, - "BER......: %5.4f Tbits: %5d Terrs: %5d Tpackets: %5d SNR3kdB: " - "%5.2f\n", - uncoded_ber, Tbits, Terrs, packet_count, - sum_SNR3kdB / packet_count); - - if ((ldpc_en == 0) && (packet_count > Ndiscard)) { - fprintf(stderr, "BER2.....: %5.4f Tbits: %5d Terrs: %5d\n", - (float)Terrs2 / Tbits2, Tbits2, Terrs2); - } - } - - /* set return code for Ctest, 1 for fail */ - - if (ldpc_en) { - coded_ber = (float)Terrs_coded / Tbits_coded; - - if (verbose != 0) { - fprintf(stderr, "Coded BER: %5.4f Tbits: %5d Terrs: %5d\n", coded_ber, - Tbits_coded, Terrs_coded); - fprintf(stderr, "Coded PER: %5.4f Tpkts: %5d Tpers: %5d Thruput: %5d\n", - (float)Tper / packet_count, packet_count, Tper, - packet_count - Tper); - } - if ((Tbits_coded == 0) || (coded_ber >= 0.01f)) ret = 1; - } - - if ((Tbits == 0) || (uncoded_ber >= 0.1f)) ret = 1; - } - - if (strlen(ofdm->data_mode)) { - fprintf(stderr, "Npre.....: %6d Npost: %5d uw_fails: %2d\n", ofdm->pre, - ofdm->post, ofdm->uw_fails); - } - - ofdm_destroy(ofdm); - - return ret; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_get_test_bits.c b/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_get_test_bits.c deleted file mode 100644 index d5a7210..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_get_test_bits.c +++ /dev/null @@ -1,157 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: ofdm_get_test_bits.c - AUTHOR......: David Rowe - DATE CREATED: Mar 2018 - - Generate input for the OFDM modem in either coded or uncoded mode. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2018 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#define OPTPARSE_IMPLEMENTATION -#define OPTPARSE_API static -#include -#include -#include -#include -#include -#include - -#include "codec2_ofdm.h" -#include "interldpc.h" -#include "ldpc_codes.h" -#include "ofdm_internal.h" -#include "optparse.h" -#include "varicode.h" - -#define IS_DIR_SEPARATOR(c) ((c) == '/') - -static const char *progname; - -void opt_help() { - fprintf(stderr, "\nUsage: %s [options]\n\n", progname); - fprintf(stderr, " --out filename Name of OutputOneCharPerBitFile\n"); - fprintf(stderr, - " --frames n Number of frames to output (default 10)\n"); - fprintf(stderr, " --length n Frame length in bits (default 238)\n"); - fprintf(stderr, - " --bcb Insert burst control byte at the start of " - "each frame (FSK_LDPC testing)\n"); - fprintf( - stderr, - " --verbose Output variable assigned values to stderr\n\n"); - - exit(-1); -} - -int main(int argc, char *argv[]) { - FILE *fout; - char *fout_name = NULL; - int opt, verbose, n; - int Nframes, output_specified, bcb_en; - int Ndatabitsperpacket; - uint8_t burst_control; - - char *pn = argv[0] + strlen(argv[0]); - - while (pn != argv[0] && !IS_DIR_SEPARATOR(pn[-1])) --pn; - - progname = pn; - - /* Turn off stream buffering */ - - setvbuf(stdout, NULL, _IONBF, BUFSIZ); - - fout = stdout; - output_specified = 0; - Nframes = 10; - Ndatabitsperpacket = 224; - verbose = 0; - bcb_en = 0; - - struct optparse options; - - struct optparse_long longopts[] = { - {"bcb", 'b', OPTPARSE_NONE}, {"out", 'o', OPTPARSE_REQUIRED}, - {"frames", 'n', OPTPARSE_REQUIRED}, {"length", 'l', OPTPARSE_REQUIRED}, - {"verbose", 'v', OPTPARSE_NONE}, {0, 0, 0}}; - - optparse_init(&options, argv); - - while ((opt = optparse_long(&options, longopts, NULL)) != -1) { - switch (opt) { - case '?': - opt_help(); - case 'b': - bcb_en = 1; - break; - case 'o': - fout_name = options.optarg; - output_specified = 1; - break; - case 'n': - Nframes = atoi(options.optarg); - break; - case 'l': - Ndatabitsperpacket = atoi(options.optarg); - break; - case 'v': - verbose = 1; - } - } - - /* Print remaining arguments to give user a hint */ - - char *arg; - - while ((arg = optparse_arg(&options))) fprintf(stderr, "%s\n", arg); - - if (output_specified) { - if ((fout = fopen(fout_name, "wb")) == NULL) { - fprintf(stderr, "Error opening output bit file: %s\n", fout_name); - exit(-1); - } - } - - if (verbose) - fprintf(stderr, "Nframes: %d Ndatabitsperframe: %d bcb: %d\n", Nframes, - Ndatabitsperpacket, bcb_en); - - uint8_t data_bits[Ndatabitsperpacket]; - ofdm_generate_payload_data_bits(data_bits, Ndatabitsperpacket); - - burst_control = 1; - for (n = 0; n < Nframes; n++) { - if (bcb_en) fwrite(&burst_control, 1, 1, fout); - fwrite(data_bits, sizeof(char), Ndatabitsperpacket, fout); - burst_control = 0; - } - if (bcb_en) { - // dummy end frame just to signal end of burst - burst_control = 2; - fwrite(&burst_control, 1, 1, fout); - memset(data_bits, 0, Ndatabitsperpacket); - fwrite(data_bits, sizeof(char), Ndatabitsperpacket, fout); - } - - if (output_specified) fclose(fout); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_internal.h b/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_internal.h deleted file mode 100644 index 3cb9130..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_internal.h +++ /dev/null @@ -1,295 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: ofdm_internal.h - AUTHORS.....: David Rowe & Steve Sampson - DATE CREATED: June 2017 - - OFDM Internal definitions. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2017 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . - */ - -#ifndef OFDM_INTERNAL_H -#define OFDM_INTERNAL_H - -#include -#include -#include -#include - -#include "codec2_ofdm.h" -#include "filter.h" - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef M_PI -#define M_PI 3.14159265358979323846f -#endif - -#define TAU (2.0f * M_PI) -#define ROT45 (M_PI / 4.0f) -#define MAX_UW_BITS 64 - -#define cmplx(value) (cosf(value) + sinf(value) * I) -#define cmplxconj(value) (cosf(value) + sinf(value) * -I) - -/* modem state machine states */ -typedef enum { search, trial, synced } State; - -typedef enum { - unsync, /* force sync state machine to lose sync, and search for new sync */ - autosync, /* falls out of sync automatically */ - manualsync /* fall out of sync only under operator control */ -} Sync; - -/* phase estimator bandwidth options */ - -typedef enum { - low_bw, /* can only track a narrow freq offset, but accurate */ - high_bw /* can track wider freq offset, but less accurate at low SNR */ -} PhaseEstBandwidth; - -/* - * User-defined configuration for OFDM modem. Used to set up - * constants at init time, e.g. for different bit rate modems. - */ - -struct OFDM_CONFIG { - float tx_centre; /* TX Centre Audio Frequency */ - float rx_centre; /* RX Centre Audio Frequency */ - float fs; /* Sample Frequency */ - float rs; /* Symbol Rate */ - float ts; /* symbol duration */ - float tcp; /* Cyclic Prefix duration */ - float timing_mx_thresh; - - int nc; /* Number of carriers */ - int ns; /* Number of Symbol frames */ - int np; /* number of modem frames per packet */ - int bps; /* Bits per Symbol */ - int txtbits; /* number of auxiliary data bits */ - int nuwbits; /* number of unique word bits */ - int bad_uw_errors; - int ftwindowwidth; - int edge_pilots; - char *state_machine; /* name of sync state machine used for this mode */ - char *codename; /* name of LDPC code used with this mode */ - uint8_t tx_uw[MAX_UW_BITS]; /* user defined unique word */ - int amp_est_mode; - bool tx_bpf_en; /* default tx (mod) hilbert clipper BPF enable */ - bool rx_bpf_en; /* default rx (demod) input BPF enable */ - float *tx_bpf_proto; /* low pass prototype for complex BPF */ - int tx_bpf_proto_n; /* number of taps in low pass prototype */ - bool foff_limiter; /* tames freq offset updates in low SNR */ - float amp_scale; /* used to scale Tx waveform to approx FREEDV_PEAK with - clipper off */ - float clip_gain1; /* gain we apply to Tx signal before clipping to control - PAPR*/ - float clip_gain2; /* gain we apply to Tx signal after clipping and BBF to - control peak level */ - bool clip_en; - char mode[16]; /* OFDM mode in string form */ - char *data_mode; - float fmin; - float fmax; -}; - -struct OFDM { - struct OFDM_CONFIG config; - - char mode[16]; /* mode in string form */ - /* - * See 700D Part 4 Acquisition blog post and ofdm_dev.m routines - * for how this was set - */ - float timing_mx_thresh; - - int nc; - int ns; /* NS-1 = data symbols between pilots */ - int bps; /* Bits per symbol */ - int m; /* duration of each symbol in samples */ - int ncp; /* duration of CP in samples */ - int np; /* number of modem frames per packet. In some modes we want */ - /* the total packet of data to span multiple modem frames, e.g. HF data */ - /* and/or when the FEC codeword is larger than the one */ - /* modem frame. In other modes (e.g. 700D/2020) Np=1, ie the modem frame */ - /* is the same length as the packet/FEC frame. */ - int ftwindowwidth; - int bitsperframe; /* total bits in all data symbols in modem frame */ - int bitsperpacket; /* total bits in all data symbols in a packet */ - int rowsperframe; - int samplespersymbol; - int samplesperframe; - int nrxbufhistory; /* extra storage at start of rxbuf to allow us to step back - in time */ - int nrxbufmin; /* min number of samples we need in rxbuf to process a modem - frame */ - int rxbufst; /* start of rxbuf window used for demod of current rx frame */ - int pre, post; /* pre-amble and post-amble detections */ - int max_samplesperframe; - int nuwframes; - int nrxbuf; - int ntxtbits; /* reserve bits/frame for aux text information */ - int nuwbits; /* number of unique word bits used to achieve packet frame sync - */ - int bad_uw_errors; /* threshold for UW detection check */ - int uw_fails; /* number of times we exceeded bad_uw_errors and dropped sync */ - int edge_pilots; /* insert pilots at 1 and Nc+2, to support low bandwidth - phase est */ - char *data_mode; /* "", "streaming", "burst" */ - int packetsperburst; /* for OFDM data modes, how many packets before we reset - state machine */ - int amp_est_mode; /* amplitude estimtor algorithm */ - int tx_bpf_proto_n; /* number of taps in low pass prototype */ - float amp_scale; - float clip_gain1; - float clip_gain2; - bool clip_en; - - float tx_centre; /* TX Center frequency */ - float rx_centre; /* RX Center frequency */ - float fs; /* Sample rate */ - float ts; /* Symbol cycle time */ - float rs; /* Symbol rate */ - float tcp; /* Cyclic prefix duration */ - float tpacket; /* time for one packet in ms */ - float inv_m; /* 1/m */ - float tx_nlower; /* TX lowest carrier freq */ - float rx_nlower; /* RX lowest carrier freq */ - float doc; /* division of radian circle */ - - float fmin; - float fmax; - - // Pointers - - struct quisk_cfFilter *tx_bpf; - struct quisk_cfFilter *rx_bpf; - - complex float *pilot_samples; - complex float *rxbuf; - complex float *pilots; - complex float **rx_sym; - complex float *rx_np; - complex float *tx_uw_syms; - COMP *tx_preamble; - COMP *tx_postamble; - - float *rx_amp; - float *aphase_est_pilot_log; - - uint8_t tx_uw[MAX_UW_BITS]; - int *uw_ind; - int *uw_ind_sym; - - // State enums - State sync_state; - State last_sync_state; - - // Sync enums - Sync sync_mode; - - // Phase enums - PhaseEstBandwidth phase_est_bandwidth; - - int phase_est_bandwidth_mode; - - // Complex - complex float foff_metric; - - // Float - float foff_est_gain; - bool foff_limiter; - float foff_est_hz; - float timing_mx; - float coarse_foff_est_hz; - float timing_norm; - float mean_amp; - float *tx_bpf_proto; - - // Integer - int clock_offset_counter; - int verbose; - int sample_point; - int timing_est; - int timing_valid; - int ct_est; - int nin; - int uw_errors; - int sync_counter; - int frame_count; /* general purpose counter of modem frames */ - int packet_count; /* data mode: number of packets received so far */ - int modem_frame; /* increments for every modem frame in packet */ - - // Boolean - bool sync_start; - bool sync_end; - bool timing_en; - bool foff_est_en; - bool phase_est_en; - bool tx_bpf_en; - bool rx_bpf_en; - bool dpsk_en; - bool postambledetectoren; /* allows us to optionally disable the postamble - detector */ - - char *codename; - char *state_machine; -}; - -/* Prototypes */ - -complex float qpsk_mod(int *); -complex float qam16_mod(int *); -void qpsk_demod(complex float, int *); -void qam16_demod(complex float, int *); -void ofdm_txframe(struct OFDM *, complex float *, complex float[]); -void ofdm_assemble_qpsk_modem_packet(struct OFDM *, uint8_t[], uint8_t[], - uint8_t[]); -void ofdm_assemble_qpsk_modem_packet_symbols(struct OFDM *, complex float[], - COMP[], uint8_t[]); -void ofdm_disassemble_qpsk_modem_packet(struct OFDM *, complex float rx_syms[], - float rx_amps[], COMP[], float[], - short[]); -void ofdm_disassemble_qpsk_modem_packet_with_text_amps(struct OFDM *, - complex float rx_syms[], - float rx_amps[], COMP[], - float[], short[], int *); -void ofdm_extract_uw(struct OFDM *ofdm, complex float rx_syms[], - float rx_amps[], uint8_t rx_uw[]); -void ofdm_rand(uint16_t[], int); -void ofdm_rand_seed(uint16_t r[], int n, uint64_t seed); -void ofdm_generate_payload_data_bits(uint8_t data_bits[], int n); -void ofdm_generate_preamble(struct OFDM *ofdm, COMP *tx_preamble, int seed); -int ofdm_get_phase_est_bandwidth_mode(struct OFDM *); -void ofdm_set_phase_est_bandwidth_mode(struct OFDM *, int); -void ofdm_clip(complex float tx[], float clip_thresh, int n); -void ofdm_hilbert_clipper(struct OFDM *ofdm, complex float *tx, size_t n); -float ofdm_esno_est_calc(complex float *rx_sym, int nsym); -float ofdm_snr_from_esno(struct OFDM *ofdm, float EsNodB); -void ofdm_get_demod_stats(struct OFDM *ofdm, struct MODEM_STATS *stats, - complex float *rx_syms, int Nsymsperpacket); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_mod.c b/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_mod.c deleted file mode 100644 index d4c495e..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_mod.c +++ /dev/null @@ -1,441 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: ofdm_mod.c - AUTHOR......: David Rowe - DATE CREATED: March 2018 - - Given an input file of bits (note one bit per char format), outputs - a raw file (8kHz, 16 bit shorts) of OFDM modem samples ready to send - over a HF radio channel. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2018 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . - */ - -#define OPTPARSE_IMPLEMENTATION -#define OPTPARSE_API static -#include -#include -#include -#include -#include - -#include "codec2_ofdm.h" -#include "gp_interleaver.h" -#include "interldpc.h" -#include "ldpc_codes.h" -#include "ofdm_internal.h" -#include "optparse.h" -#include "varicode.h" - -#define IS_DIR_SEPARATOR(c) ((c) == '/') - -static const char *progname; - -void opt_help() { - fprintf(stderr, "\nusage: %s [options]\n\n", progname); - fprintf(stderr, " --in filename Name of InputOneCharPerBitFile\n"); - fprintf(stderr, " --out filename Name of OutputModemRawFile\n"); - fprintf(stderr, - " --mode modeName Predefined mode 700D|700E|2020|2020B|datac0 " - "... etc\n"); - fprintf(stderr, - " --nc [17..62] Number of Carriers (17 default, 62 max)\n"); - fprintf(stderr, - " --ns symbols One pilot every ns symbols (8 default)\n"); - fprintf(stderr, - " --tcp Nsecs Cyclic Prefix Duration (.002 default)\n"); - fprintf(stderr, " --ts Nsecs Symbol Duration (.018 default)\n"); - fprintf(stderr, - " --testframes Nsecs Transmit test frames for Nsec (--testframes " - "NpacketsPerBurst in burst mode)\n"); - fprintf(stderr, - " --tx_freq freq Set an optional modulation TX centre " - "frequency (1500.0 default)\n"); - fprintf(stderr, - " --rx_freq freq Set an optional modulation RX centre " - "frequency (1500.0 default)\n\n"); - fprintf( - stderr, - " --verbose [1|2|3] Verbose output level to stderr (default off)\n"); - fprintf( - stderr, - " --txbpf Transmit band pass filter on (default off)\n"); - fprintf(stderr, " --clip Transmit clipper (default off)\n"); - fprintf(stderr, - " --text Include a standard text message boolean " - "(default off)\n"); - fprintf(stderr, - " -i --ldpc [1|2] Run LDPC decoder (1 -> (224,112) 700D code, " - "2 -> (504,396) 2020 code).\n" - " In testframe mode raw and coded errors will " - "be counted.\n"); - fprintf( - stderr, - " --bursts nBursts Burst mode: Send nBursts of testframes each\n"); - fprintf(stderr, "\n"); - exit(-1); -} - -int main(int argc, char *argv[]) { - char *fin_name, *fout_name; - int i, opt, val; - - char *pn = argv[0] + strlen(argv[0]); - - while (pn != argv[0] && !IS_DIR_SEPARATOR(pn[-1])) --pn; - - progname = pn; - - /* Turn off stream buffering */ - - setvbuf(stdin, NULL, _IONBF, BUFSIZ); - setvbuf(stdout, NULL, _IONBF, BUFSIZ); - - FILE *fin = stdin; - FILE *fout = stdout; - - /* set for LDPC coded or uncoded frames */ - - int ldpc_en = 0; - - int input_specified = 0; - int output_specified = 0; - int verbose = 0; - bool clip_en = false; - int txbpf_en = 0; - int testframes = 0; - int use_text = 0; - - int Npackets = 0; - int Nsec = 0; - int burst_mode = 0; - int Nbursts = 1; - - /* set up the default modem config */ - struct OFDM_CONFIG *ofdm_config = - (struct OFDM_CONFIG *)calloc(1, sizeof(struct OFDM_CONFIG)); - assert(ofdm_config != NULL); - char mode[32] = "700D"; - ofdm_init_mode(mode, ofdm_config); - - int Ndatabitsperpacket = 0; - struct optparse options; - - struct optparse_long longopts[] = {{"in", 'a', OPTPARSE_REQUIRED}, - {"out", 'b', OPTPARSE_REQUIRED}, - {"nc", 'c', OPTPARSE_REQUIRED}, - {"ns", 'm', OPTPARSE_REQUIRED}, - {"tcp", 'd', OPTPARSE_REQUIRED}, - {"ts", 'e', OPTPARSE_REQUIRED}, - {"testframes", 'f', OPTPARSE_REQUIRED}, - {"tx_freq", 'n', OPTPARSE_REQUIRED}, - {"rx_freq", 'i', OPTPARSE_REQUIRED}, - {"ldpc", 'j', OPTPARSE_NONE}, - {"txbpf", 'k', OPTPARSE_NONE}, - {"clip", 'r', OPTPARSE_NONE}, - {"text", 'l', OPTPARSE_NONE}, - {"verbose", 'v', OPTPARSE_REQUIRED}, - {"mode", 'g', OPTPARSE_REQUIRED}, - {"help", 'h', OPTPARSE_NONE}, - {"bursts", 'o', OPTPARSE_REQUIRED}, - {0, 0, 0}}; - - optparse_init(&options, argv); - - while ((opt = optparse_long(&options, longopts, NULL)) != -1) { - switch (opt) { - case '?': - case 'h': - opt_help(); - case 'a': - fin_name = options.optarg; - input_specified = 1; - break; - case 'b': - fout_name = options.optarg; - output_specified = 1; - break; - case 'c': - val = atoi(options.optarg); - - if (val > 62 || val < 17) { - opt_help(); - } else { - ofdm_config->nc = val; - } - break; - case 'd': - ofdm_config->tcp = atof(options.optarg); - break; - case 'e': - ofdm_config->ts = atof(options.optarg); - ofdm_config->rs = 1.0f / ofdm_config->ts; - break; - case 'm': - ofdm_config->ns = atoi(options.optarg); - break; - case 'f': - testframes = 1; - Nsec = atoi(options.optarg); - break; - case 'g': - strcpy(mode, options.optarg); - ofdm_init_mode(mode, ofdm_config); - break; - case 'n': - ofdm_config->tx_centre = atof(options.optarg); - break; - case 'o': - burst_mode = 1; - Nbursts = atoi(options.optarg); - fprintf(stderr, "bursts: %d\n", Nbursts); - break; - case 'i': - ofdm_config->rx_centre = atof(options.optarg); - break; - case 'j': - ldpc_en = 1; - break; - case 'k': - txbpf_en = 1; - break; - case 'l': - use_text = 1; - break; - case 'r': - clip_en = true; - break; - case 'v': - verbose = atoi(options.optarg); - if (verbose < 0 || verbose > 3) verbose = 0; - } - } - - /* Print remaining arguments to give user a hint */ - - char *arg; - - while ((arg = optparse_arg(&options))) fprintf(stderr, "%s\n", arg); - - if (input_specified) { - if ((fin = fopen(fin_name, "rb")) == NULL) { - fprintf(stderr, "Error opening input bits file: %s\n", fin_name); - exit(-1); - } - } - - if (output_specified) { - if ((fout = fopen(fout_name, "wb")) == NULL) { - fprintf(stderr, "Error opening output modem sample file: %s\n", - fout_name); - exit(-1); - } - } - - /* init the modem with our (optionally) custom config */ - struct OFDM *ofdm = ofdm_create(ofdm_config); - assert(ofdm != NULL); - - free(ofdm_config); - - /* Get a copy of the completed modem config (ofdm_create() fills in more - * parameters) */ - ofdm_config = ofdm_get_config_param(ofdm); - - /* set up some useful constants */ - - int Nbitsperpacket = ofdm_get_bits_per_packet(ofdm); - int Npayloadbitsperpacket = Nbitsperpacket - ofdm->nuwbits - ofdm->ntxtbits; - int Nsamperpacket = ofdm_get_samples_per_packet(ofdm); - - /* Set up LPDC code */ - - struct LDPC ldpc; - if (ldpc_en) { - ldpc_codes_setup(&ldpc, ofdm->codename); - ldpc_mode_specific_setup(ofdm, &ldpc); - Ndatabitsperpacket = ldpc.data_bits_per_frame; - - if (verbose > 1) { - fprintf(stderr, "using: %s\n", ofdm->codename); - fprintf(stderr, "LDPC codeword data bits = %d\n", - ldpc.ldpc_data_bits_per_frame); - fprintf(stderr, "LDPC codeword total bits = %d\n", - ldpc.ldpc_coded_bits_per_frame); - fprintf(stderr, "LDPC codeword data bits used = %d\n", - Ndatabitsperpacket); - fprintf(stderr, "LDPC codeword total length in modem packet = %d\n", - Npayloadbitsperpacket); - } - } else { - Ndatabitsperpacket = Npayloadbitsperpacket; - } - - if (verbose) { - ofdm_set_verbose(ofdm, verbose); - fprintf( - stderr, - "Ndatabitsperpacket: %d Npayloadbitsperpacket: %d Nsamperpacket: %d\n", - Ndatabitsperpacket, Npayloadbitsperpacket, Nsamperpacket); - } - - if (testframes) { - if (burst_mode) - Npackets = Nsec; // burst mode: treat Nsecs as Npackets/burst - else - Npackets = round(Nsec / ofdm->tpacket); // streaming mode - if (verbose) fprintf(stderr, "Npackets: %d\n", Npackets); - } - - if (clip_en) { - ofdm->clip_en = true; - } - if (txbpf_en) { - ofdm_set_tx_bpf(ofdm, 1); - } - - uint8_t txt_bits[ofdm->ntxtbits]; - memset(txt_bits, 0, ofdm->ntxtbits); - char text_str[] = - "cq cq cq hello world\r"; // Add text bits to match other tests - char *ptr_text = text_str; - - short tx_varicode_bits[VARICODE_MAX_BITS]; - int nvaricode_bits = 0; - int varicode_bit_index = 0; - - complex float tx_sams[Nsamperpacket]; - short tx_real[Nsamperpacket]; - - if (verbose > 1) ofdm_print_info(ofdm); - - for (int b = 0; b < Nbursts; b++) { - if (burst_mode) { - fprintf(stderr, "Tx preamble\n"); - complex float tx_preamble[ofdm->samplesperframe]; - memcpy(tx_preamble, ofdm->tx_preamble, - sizeof(COMP) * ofdm->samplesperframe); - ofdm_hilbert_clipper(ofdm, tx_preamble, ofdm->samplesperframe); - for (i = 0; i < ofdm->samplesperframe; i++) - tx_real[i] = crealf(tx_preamble[i]); - fwrite(tx_real, sizeof(short), ofdm->samplesperframe, fout); - } - - /* main loop - * ----------------------------------------------------------------*/ - - int packet = 0; - uint8_t data_bits[Ndatabitsperpacket]; - while (fread(data_bits, sizeof(uint8_t), Ndatabitsperpacket, fin) == - Ndatabitsperpacket) { - if (ldpc_en) { - /* fancy LDPC encoded frames ----------------------------*/ - - /* optionally overwrite input data with test frame of - payload data bits known to demodulator */ - - if (testframes) { - if (use_text) { - // Get text bits - int nspare = ofdm->ntxtbits; - int k; - - for (k = 0; k < nspare; k++) { - if (nvaricode_bits) { - txt_bits[k] = tx_varicode_bits[varicode_bit_index++]; - nvaricode_bits--; - } - - if (nvaricode_bits == 0) { - /* get new char and encode */ - char s[2]; - s[0] = *ptr_text++; - - if (*ptr_text == 0) ptr_text = &text_str[0]; - - nvaricode_bits = varicode_encode(tx_varicode_bits, s, - VARICODE_MAX_BITS, 1, 1); - varicode_bit_index = 0; - } - } - } - - ofdm_generate_payload_data_bits(data_bits, Ndatabitsperpacket); - } - - ofdm_ldpc_interleave_tx(ofdm, &ldpc, tx_sams, data_bits, txt_bits); - for (i = 0; i < Nsamperpacket; i++) tx_real[i] = crealf(tx_sams[i]); - } else { - /* just modulate uncoded raw bits ------------------------------------*/ - - /* in uncoded mode entire payload is input data bits */ - assert(Ndatabitsperpacket == Npayloadbitsperpacket); - - if (testframes) { - /* build up a test frame consisting of unique word, txt bits, and - psuedo-random uncoded payload bits. The psuedo-random generator is - the same as Octave so it can interoperate with ofdm_tx.m/ofdm_rx.m - */ - - ofdm_generate_payload_data_bits(data_bits, Npayloadbitsperpacket); - } - - /* assemble packet of bits then modulate */ - uint8_t tx_bits_char[Nbitsperpacket]; - ofdm_assemble_qpsk_modem_packet(ofdm, tx_bits_char, data_bits, - txt_bits); - int tx_bits[Nbitsperpacket]; - for (i = 0; i < Nbitsperpacket; i++) tx_bits[i] = tx_bits_char[i]; - COMP tx_sams[Nsamperpacket]; - ofdm_mod(ofdm, tx_sams, tx_bits); - for (i = 0; i < Nsamperpacket; i++) tx_real[i] = tx_sams[i].real; - } - - fwrite(tx_real, sizeof(short), Nsamperpacket, fout); - packet++; - - if (testframes && (packet >= Npackets)) break; - } - - if (burst_mode) { - // Post-amble - fprintf(stderr, "Tx postamble\n"); - complex float tx_postamble[ofdm->samplesperframe]; - memcpy(tx_postamble, ofdm->tx_postamble, - sizeof(COMP) * ofdm->samplesperframe); - ofdm_hilbert_clipper(ofdm, tx_postamble, ofdm->samplesperframe); - for (i = 0; i < ofdm->samplesperframe; i++) - tx_real[i] = crealf(tx_postamble[i]); - fwrite(tx_real, sizeof(short), ofdm->samplesperframe, fout); - // Interburst silence - int samples_delay = ofdm->fs; - short sil_short[samples_delay]; - for (int i = 0; i < samples_delay; i++) sil_short[i] = 0; - fwrite(sil_short, sizeof(short), samples_delay, fout); - } - } - - if (input_specified) fclose(fin); - - if (output_specified) fclose(fout); - - ofdm_destroy(ofdm); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_mode.c b/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_mode.c deleted file mode 100644 index b6c8c36..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_mode.c +++ /dev/null @@ -1,280 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: ofdm_mode.c - AUTHORS.....: David Rowe & Steve Sampson - DATE CREATED: July 2020 - - Mode specific configuration for OFDM modem. - -\*---------------------------------------------------------------------------*/ - -#include -#include - -#include "codec2_ofdm.h" -#include "ofdm_internal.h" - -void ofdm_init_mode(char mode[], struct OFDM_CONFIG *config) { - assert(mode != NULL); - assert(config != NULL); - - assert(strlen(mode) < 16); - strcpy(config->mode, mode); - - /* Fill in default values - 700D */ - - config->nc = 17; /* Number of carriers */ - config->np = 1; - config->ns = 8; /* Number of Symbols per modem frame */ - config->ts = 0.018f; - config->tcp = .002f; /* Cyclic Prefix duration */ - config->tx_centre = 1500.0f; /* TX Carrier Frequency */ - config->rx_centre = 1500.0f; /* RX Carrier Frequency */ - config->fs = 8000.0f; /* Sample rate */ - config->txtbits = 4; - config->bps = 2; /* Bits per Symbol */ - config->nuwbits = - 5 * config->bps; /* default is 5 symbols of Unique Word bits */ - config->bad_uw_errors = 3; - config->ftwindowwidth = 32; - config->timing_mx_thresh = 0.30f; - config->edge_pilots = 1; - config->state_machine = "voice1"; - config->data_mode = ""; - config->codename = "HRA_112_112"; - config->clip_gain1 = 2.5; - config->clip_gain2 = 0.8; - config->clip_en = true; - config->tx_bpf_en = true; - config->tx_bpf_proto = filtP650S900; - config->tx_bpf_proto_n = sizeof(filtP650S900) / sizeof(float); - config->rx_bpf_en = false; - config->amp_scale = 245E3; - config->foff_limiter = false; - memset(config->tx_uw, 0, MAX_UW_BITS); - - if (strcmp(mode, "700D") == 0) { - } else if (strcmp(mode, "700E") == 0) { - config->ts = 0.014; - config->tcp = 0.006; - config->nc = 21; - config->ns = 4; - config->edge_pilots = 0; - config->nuwbits = 12; - config->bad_uw_errors = 3; - config->txtbits = 2; - config->state_machine = "voice2"; - config->amp_est_mode = 1; - config->ftwindowwidth = 80; - config->codename = "HRA_56_56"; - config->foff_limiter = true; - config->amp_scale = 155E3; - config->clip_gain1 = 3; - config->clip_gain2 = 0.8; - config->tx_bpf_proto = filtP900S1100; - config->tx_bpf_proto_n = sizeof(filtP900S1100) / sizeof(float); - } else if ((strcmp(mode, "2020") == 0)) { - config->ts = 0.0205; - config->nc = 31; - config->codename = "HRAb_396_504"; - config->amp_scale = 167E3; - config->clip_gain1 = 2.5; - config->clip_gain2 = 0.8; - config->tx_bpf_proto = filtP900S1100; - config->tx_bpf_proto_n = sizeof(filtP900S1100) / sizeof(float); - } else if (strcmp(mode, "2020B") == 0) { - config->ts = 0.014; - config->tcp = 0.004; - config->nc = 29; - config->ns = 5; - config->codename = "HRA_56_56"; - config->txtbits = 4; - config->nuwbits = 8 * 2; - config->bad_uw_errors = 5; - config->amp_scale = 130E3; - config->clip_gain1 = 2.5; - config->clip_gain2 = 0.8; - config->edge_pilots = 0; - config->state_machine = "voice2"; - config->ftwindowwidth = 64; - config->foff_limiter = true; - config->tx_bpf_proto = filtP1100S1300; - config->tx_bpf_proto_n = sizeof(filtP1100S1300) / sizeof(float); - } else if (strcmp(mode, "qam16") == 0) { - /* not in use yet */ - config->ns = 5; - config->np = 5; - config->tcp = 0.004; - config->ts = 0.016; - config->nc = 33; - config->bps = 4; - config->txtbits = 0; - config->nuwbits = 15 * 4; - config->bad_uw_errors = 5; - config->ftwindowwidth = 32; - config->state_machine = "data"; - config->amp_est_mode = 1; - config->tx_bpf_en = false; - config->clip_en = false; - config->data_mode = "streaming"; - config->tx_bpf_proto = NULL; - config->tx_bpf_proto_n = 0; - } else if (strcmp(mode, "datac0") == 0) { - config->ns = 5; - config->np = 4; - config->tcp = 0.006; - config->ts = 0.016; - config->nc = 9; - config->edge_pilots = 0; - config->txtbits = 0; - config->nuwbits = 32; - config->bad_uw_errors = 9; - config->state_machine = "data"; - config->amp_est_mode = 1; - config->ftwindowwidth = 80; - config->codename = "H_128_256_5"; - uint8_t uw[] = {1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0}; - memcpy(config->tx_uw, uw, sizeof(uw)); - config->timing_mx_thresh = 0.08f; - config->data_mode = "streaming"; - config->amp_scale = 300E3; - config->clip_gain1 = 2.2; - config->clip_gain2 = 0.85; - config->tx_bpf_proto = filtP400S600; - config->tx_bpf_proto_n = sizeof(filtP400S600) / sizeof(float); - } else if (strcmp(mode, "datac1") == 0) { - config->ns = 5; - config->np = 38; - config->tcp = 0.006; - config->ts = 0.016; - config->nc = 27; - config->edge_pilots = 0; - config->txtbits = 0; - config->nuwbits = 16; - config->bad_uw_errors = 6; - config->state_machine = "data"; - config->amp_est_mode = 1; - config->ftwindowwidth = 80; - config->codename = "H_4096_8192_3d"; - uint8_t uw[] = {1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0}; - assert(sizeof(uw) == config->nuwbits); - memcpy(config->tx_uw, uw, config->nuwbits); - config->timing_mx_thresh = 0.10f; - config->data_mode = "streaming"; - config->amp_scale = 145E3; - config->clip_gain1 = 2.7; - config->clip_gain2 = 0.8; - config->tx_bpf_proto = filtP900S1100; - config->tx_bpf_proto_n = sizeof(filtP900S1100) / sizeof(float); - } else if (strcmp(mode, "datac3") == 0) { - config->ns = 5; - config->np = 29; - config->tcp = 0.006; - config->ts = 0.016; - config->nc = 9; - config->edge_pilots = 0; - config->txtbits = 0; - config->state_machine = "data"; - config->ftwindowwidth = 80; - config->timing_mx_thresh = 0.10; - config->codename = "H_1024_2048_4f"; - config->amp_est_mode = 1; - config->nuwbits = 40; - config->bad_uw_errors = 10; - uint8_t uw[] = {1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, - 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0}; - assert(sizeof(uw) <= MAX_UW_BITS); - memcpy(config->tx_uw, uw, sizeof(uw)); - memcpy(&config->tx_uw[config->nuwbits - sizeof(uw)], uw, sizeof(uw)); - config->data_mode = "streaming"; - config->amp_scale = 300E3; - config->clip_gain1 = 2.2; - config->clip_gain2 = 0.8; - config->tx_bpf_proto = filtP400S600; - config->tx_bpf_proto_n = sizeof(filtP400S600) / sizeof(float); - } else if (strcmp(mode, "datac4") == 0) { - config->ns = 5; - config->np = 47; - config->tcp = 0.006; - config->ts = 0.016; - config->nc = 4; - config->edge_pilots = 0; - config->txtbits = 0; - config->state_machine = "data"; - config->ftwindowwidth = 80; - config->timing_mx_thresh = 0.5; - config->codename = "H_1024_2048_4f"; - config->amp_est_mode = 1; - config->nuwbits = 32; - config->bad_uw_errors = 12; - uint8_t uw[] = {1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, - 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0}; - assert(sizeof(uw) <= MAX_UW_BITS); - memcpy(config->tx_uw, uw, sizeof(uw)); - memcpy(&config->tx_uw[config->nuwbits - sizeof(uw)], uw, sizeof(uw)); - config->data_mode = "streaming"; - config->amp_scale = 2 * 300E3; - config->clip_gain1 = 1.2; - config->clip_gain2 = 1.0; - config->rx_bpf_en = true; - config->tx_bpf_proto = filtP200S400; - config->tx_bpf_proto_n = sizeof(filtP200S400) / sizeof(float); - } else if (strcmp(mode, "datac13") == 0) { - config->ns = 5; - config->np = 18; - config->tcp = 0.006; - config->ts = 0.016; - config->nc = 3; - config->edge_pilots = 0; - config->txtbits = 0; - config->state_machine = "data"; - config->ftwindowwidth = 80; - config->timing_mx_thresh = 0.45; - config->codename = "H_256_512_4"; - config->amp_est_mode = 1; - config->nuwbits = 48; - config->bad_uw_errors = 18; - uint8_t uw[] = {1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, - 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0}; - assert(sizeof(uw) <= MAX_UW_BITS); - memcpy(config->tx_uw, uw, sizeof(uw)); - memcpy(&config->tx_uw[config->nuwbits - sizeof(uw)], uw, sizeof(uw)); - config->data_mode = "streaming"; - config->amp_scale = 2.5 * 300E3; - config->clip_gain1 = 1.2; - config->clip_gain2 = 1.0; - config->rx_bpf_en = true; - config->tx_bpf_proto = filtP200S400; - config->tx_bpf_proto_n = sizeof(filtP200S400) / sizeof(float); - } else if (strcmp(mode, "datac14") == 0) { - config->ns = 5; - config->np = 4; - config->tcp = 0.005; - config->ts = 0.018; - config->nc = 4; - config->edge_pilots = 0; - config->txtbits = 0; - config->state_machine = "data"; - config->ftwindowwidth = 80; - config->timing_mx_thresh = 0.45; - config->codename = "HRA_56_56"; - config->amp_est_mode = 1; - config->nuwbits = 32; - config->bad_uw_errors = 12; - uint8_t uw[] = {1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1, 1, - 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0}; - assert(sizeof(uw) <= MAX_UW_BITS); - memcpy(config->tx_uw, uw, sizeof(uw)); - memcpy(&config->tx_uw[config->nuwbits - sizeof(uw)], uw, sizeof(uw)); - config->data_mode = "streaming"; - config->amp_scale = 2.0 * 300E3; - config->clip_gain1 = 2.0; - config->clip_gain2 = 1.0; - config->rx_bpf_en = true; - config->tx_bpf_proto = filtP200S400; - config->tx_bpf_proto_n = sizeof(filtP200S400) / sizeof(float); - } else { - assert(0); - } - config->rs = 1.0f / config->ts; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_put_test_bits.c b/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_put_test_bits.c deleted file mode 100644 index 4d82e4f..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ofdm_put_test_bits.c +++ /dev/null @@ -1,124 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: ofdm_put_test_bits.c - AUTHOR......: David Rowe - DATE CREATED: Mar 2018 - - Slurps up a stream of test bits generated by ofdm_get_test_bits, useful for - testing ofdm_mod and ofdm_demod. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2018 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include -#include -#include - -#include "codec2_ofdm.h" -#include "ofdm_internal.h" -#include "test_bits_ofdm.h" - -#define LOG_FRAMES 100 -#define NDISCARD 20 - -static struct OFDM *ofdm; - -int opt_exists(char *argv[], int argc, char opt[]) { - int i; - for (i = 0; i < argc; i++) { - if (strcmp(argv[i], opt) == 0) { - return i; - } - } - return 0; -} - -int main(int argc, char *argv[]) { - FILE *fin; - int i, f, Nerrs, Terrs, Tbits, Terrs2, Tbits2, verbose; - float aber; - - if (argc < 2) { - fprintf(stderr, "\n"); - fprintf(stderr, "usage: %s InputOneCharPerBitFile [-v]\n", argv[0]); - fprintf(stderr, "\n"); - exit(1); - } - - if (strcmp(argv[1], "-") == 0) - fin = stdin; - else if ((fin = fopen(argv[1], "rb")) == NULL) { - fprintf(stderr, "Error opening input file: %s: %s.\n", argv[1], - strerror(errno)); - exit(1); - } - - verbose = 0; - if (opt_exists(argv, argc, "-v")) { - verbose = 1; - } - - ofdm = ofdm_create(NULL); - assert(ofdm != NULL); - - int Nbitsperframe = ofdm_get_bits_per_frame(ofdm); - char rx_bits[Nbitsperframe]; - - f = Terrs = Tbits = Terrs2 = Tbits2 = 0; - while (fread(rx_bits, sizeof(char), Nbitsperframe, fin) == Nbitsperframe) { - f++; - - Nerrs = 0; - for (i = 0; i < Nbitsperframe; i++) { - if (test_bits_ofdm[i] != rx_bits[i]) { - Nerrs++; - } - } - aber = (float)Nerrs / Nbitsperframe; - - Terrs += Nerrs; - Tbits += Nbitsperframe; - - if (f >= NDISCARD) { - Terrs2 += Nerrs; - Tbits2 += Nbitsperframe; - } - - if (verbose) { - printf("f: %d Nerrs: %d aber: %3.2f\n", f, Nerrs, aber); - } - } - - fclose(fin); - - fprintf(stderr, "BER..: %5.4f Tbits: %5d Terrs: %5d\n", (float)Terrs / Tbits, - Tbits, Terrs); - - if (Tbits2 != 0) { - fprintf(stderr, "BER2.: %5.4f Tbits: %5d Terrs: %5d\n", - (float)Terrs2 / Tbits2, Tbits2, Terrs2); - } - - ofdm_destroy(ofdm); - - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/optparse.h b/vendor/codec2_flutter_ios_only/src/codec2/src/optparse.h deleted file mode 100644 index 6f7ced0..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/optparse.h +++ /dev/null @@ -1,361 +0,0 @@ -/* Optparse --- portable, reentrant, embeddable, getopt-like option parser - * - * This is free and unencumbered software released into the public domain. - * - * To get the implementation, define OPTPARSE_IMPLEMENTATION. - * Optionally define OPTPARSE_API to control the API's visibility - * and/or linkage (static, __attribute__, __declspec). - * - * The POSIX getopt() option parser has three fatal flaws. These flaws - * are solved by Optparse. - * - * 1) Parser state is stored entirely in global variables, some of - * which are static and inaccessible. This means only one thread can - * use getopt(). It also means it's not possible to recursively parse - * nested sub-arguments while in the middle of argument parsing. - * Optparse fixes this by storing all state on a local struct. - * - * 2) The POSIX standard provides no way to properly reset the parser. - * This means for portable code that getopt() is only good for one - * run, over one argv with one option string. It also means subcommand - * options cannot be processed with getopt(). Most implementations - * provide a method to reset the parser, but it's not portable. - * Optparse provides an optparse_arg() function for stepping over - * subcommands and continuing parsing of options with another option - * string. The Optparse struct itself can be passed around to - * subcommand handlers for additional subcommand option parsing. A - * full reset can be achieved by with an additional optparse_init(). - * - * 3) Error messages are printed to stderr. This can be disabled with - * opterr, but the messages themselves are still inaccessible. - * Optparse solves this by writing an error message in its errmsg - * field. The downside to Optparse is that this error message will - * always be in English rather than the current locale. - * - * Optparse should be familiar with anyone accustomed to getopt(), and - * it could be a nearly drop-in replacement. The option string is the - * same and the fields have the same names as the getopt() global - * variables (optarg, optind, optopt). - * - * Optparse also supports GNU-style long options with optparse_long(). - * The interface is slightly different and simpler than getopt_long(). - * - * By default, argv is permuted as it is parsed, moving non-option - * arguments to the end. This can be disabled by setting the `permute` - * field to 0 after initialization. - */ -#ifndef OPTPARSE_H -#define OPTPARSE_H - -#ifndef OPTPARSE_API -#define OPTPARSE_API -#endif - -struct optparse { - char **argv; - int permute; - int optind; - int optopt; - char *optarg; - char errmsg[64]; - int subopt; -}; - -enum optparse_argtype { OPTPARSE_NONE, OPTPARSE_REQUIRED, OPTPARSE_OPTIONAL }; - -struct optparse_long { - const char *longname; - int shortname; - enum optparse_argtype argtype; -}; - -/** - * Initializes the parser state. - */ -OPTPARSE_API -void optparse_init(struct optparse *options, char **argv); - -/** - * Read the next option in the argv array. - * @param optstring a getopt()-formatted option string. - * @return the next option character, -1 for done, or '?' for error - * - * Just like getopt(), a character followed by no colons means no - * argument. One colon means the option has a required argument. Two - * colons means the option takes an optional argument. - */ -OPTPARSE_API -int optparse(struct optparse *options, const char *optstring); - -/** - * Handles GNU-style long options in addition to getopt() options. - * This works a lot like GNU's getopt_long(). The last option in - * longopts must be all zeros, marking the end of the array. The - * longindex argument may be NULL. - */ -OPTPARSE_API -int optparse_long(struct optparse *options, - const struct optparse_long *longopts, int *longindex); - -/** - * Used for stepping over non-option arguments. - * @return the next non-option argument, or NULL for no more arguments - * - * Argument parsing can continue with optparse() after using this - * function. That would be used to parse the options for the - * subcommand returned by optparse_arg(). This function allows you to - * ignore the value of optind. - */ -OPTPARSE_API -char *optparse_arg(struct optparse *options); - -/* Implementation */ -#ifdef OPTPARSE_IMPLEMENTATION - -#define OPTPARSE_MSG_INVALID "invalid option" -#define OPTPARSE_MSG_MISSING "option requires an argument" -#define OPTPARSE_MSG_TOOMANY "option takes no arguments" - -static int optparse_error(struct optparse *options, const char *msg, - const char *data) { - unsigned p = 0; - const char *sep = " -- '"; - while (*msg) options->errmsg[p++] = *msg++; - while (*sep) options->errmsg[p++] = *sep++; - while (p < sizeof(options->errmsg) - 2 && *data) - options->errmsg[p++] = *data++; - options->errmsg[p++] = '\''; - options->errmsg[p++] = '\0'; - return '?'; -} - -OPTPARSE_API -void optparse_init(struct optparse *options, char **argv) { - options->argv = argv; - options->permute = 1; - options->optind = 1; - options->subopt = 0; - options->optarg = 0; - options->errmsg[0] = '\0'; -} - -static int optparse_is_dashdash(const char *arg) { - return arg != 0 && arg[0] == '-' && arg[1] == '-' && arg[2] == '\0'; -} - -static int optparse_is_shortopt(const char *arg) { - return arg != 0 && arg[0] == '-' && arg[1] != '-' && arg[1] != '\0'; -} - -static int optparse_is_longopt(const char *arg) { - return arg != 0 && arg[0] == '-' && arg[1] == '-' && arg[2] != '\0'; -} - -static void optparse_permute(struct optparse *options, int index) { - char *nonoption = options->argv[index]; - int i; - for (i = index; i < options->optind - 1; i++) - options->argv[i] = options->argv[i + 1]; - options->argv[options->optind - 1] = nonoption; -} - -static int optparse_argtype(const char *optstring, char c) { - int count = OPTPARSE_NONE; - if (c == ':') return -1; - for (; *optstring && c != *optstring; optstring++) - ; - if (!*optstring) return -1; - if (optstring[1] == ':') count += optstring[2] == ':' ? 2 : 1; - return count; -} - -OPTPARSE_API -int optparse(struct optparse *options, const char *optstring) { - int type; - char *next; - char *option = options->argv[options->optind]; - options->errmsg[0] = '\0'; - options->optopt = 0; - options->optarg = 0; - if (option == 0) { - return -1; - } else if (optparse_is_dashdash(option)) { - options->optind++; /* consume "--" */ - return -1; - } else if (!optparse_is_shortopt(option)) { - if (options->permute) { - int index = options->optind++; - int r = optparse(options, optstring); - optparse_permute(options, index); - options->optind--; - return r; - } else { - return -1; - } - } - option += options->subopt + 1; - options->optopt = option[0]; - type = optparse_argtype(optstring, option[0]); - next = options->argv[options->optind + 1]; - switch (type) { - case -1: { - char str[2] = {0, 0}; - str[0] = option[0]; - options->optind++; - return optparse_error(options, OPTPARSE_MSG_INVALID, str); - } - case OPTPARSE_NONE: - if (option[1]) { - options->subopt++; - } else { - options->subopt = 0; - options->optind++; - } - return option[0]; - case OPTPARSE_REQUIRED: - options->subopt = 0; - options->optind++; - if (option[1]) { - options->optarg = option + 1; - } else if (next != 0) { - options->optarg = next; - options->optind++; - } else { - char str[2] = {0, 0}; - str[0] = option[0]; - options->optarg = 0; - return optparse_error(options, OPTPARSE_MSG_MISSING, str); - } - return option[0]; - case OPTPARSE_OPTIONAL: - options->subopt = 0; - options->optind++; - if (option[1]) - options->optarg = option + 1; - else - options->optarg = 0; - return option[0]; - } - return 0; -} - -OPTPARSE_API -char *optparse_arg(struct optparse *options) { - char *option = options->argv[options->optind]; - options->subopt = 0; - if (option != 0) options->optind++; - return option; -} - -static int optparse_longopts_end(const struct optparse_long *longopts, int i) { - return !longopts[i].longname && !longopts[i].shortname; -} - -static void optparse_from_long(const struct optparse_long *longopts, - char *optstring) { - char *p = optstring; - int i; - for (i = 0; !optparse_longopts_end(longopts, i); i++) { - if (longopts[i].shortname) { - int a; - *p++ = longopts[i].shortname; - for (a = 0; a < (int)longopts[i].argtype; a++) *p++ = ':'; - } - } - *p = '\0'; -} - -/* Unlike strcmp(), handles options containing "=". */ -static int optparse_longopts_match(const char *longname, const char *option) { - const char *a = option, *n = longname; - if (longname == 0) return 0; - for (; *a && *n && *a != '='; a++, n++) - if (*a != *n) return 0; - return *n == '\0' && (*a == '\0' || *a == '='); -} - -/* Return the part after "=", or NULL. */ -static char *optparse_longopts_arg(char *option) { - for (; *option && *option != '='; option++) - ; - if (*option == '=') - return option + 1; - else - return 0; -} - -static int optparse_long_fallback(struct optparse *options, - const struct optparse_long *longopts, - int *longindex) { - int result; - char optstring[96 * 3 + 1]; /* 96 ASCII printable characters */ - optparse_from_long(longopts, optstring); - result = optparse(options, optstring); - if (longindex != 0) { - *longindex = -1; - if (result != -1) { - int i; - for (i = 0; !optparse_longopts_end(longopts, i); i++) - if (longopts[i].shortname == options->optopt) *longindex = i; - } - } - return result; -} - -OPTPARSE_API -int optparse_long(struct optparse *options, - const struct optparse_long *longopts, int *longindex) { - int i; - char *option = options->argv[options->optind]; - if (option == 0) { - return -1; - } else if (optparse_is_dashdash(option)) { - options->optind++; /* consume "--" */ - return -1; - } else if (optparse_is_shortopt(option)) { - return optparse_long_fallback(options, longopts, longindex); - } else if (!optparse_is_longopt(option)) { - if (options->permute) { - int index = options->optind++; - int r = optparse_long(options, longopts, longindex); - optparse_permute(options, index); - options->optind--; - return r; - } else { - return -1; - } - } - - /* Parse as long option. */ - options->errmsg[0] = '\0'; - options->optopt = 0; - options->optarg = 0; - option += 2; /* skip "--" */ - options->optind++; - for (i = 0; !optparse_longopts_end(longopts, i); i++) { - const char *name = longopts[i].longname; - if (optparse_longopts_match(name, option)) { - char *arg; - if (longindex) *longindex = i; - options->optopt = longopts[i].shortname; - arg = optparse_longopts_arg(option); - if (longopts[i].argtype == OPTPARSE_NONE && arg != 0) { - return optparse_error(options, OPTPARSE_MSG_TOOMANY, name); - } - if (arg != 0) { - options->optarg = arg; - } else if (longopts[i].argtype == OPTPARSE_REQUIRED) { - options->optarg = options->argv[options->optind]; - if (options->optarg == 0) - return optparse_error(options, OPTPARSE_MSG_MISSING, name); - else - options->optind++; - } - return options->optopt; - } - } - return optparse_error(options, OPTPARSE_MSG_INVALID, option); -} - -#endif /* OPTPARSE_IMPLEMENTATION */ -#endif /* OPTPARSE_H */ diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/os.h b/vendor/codec2_flutter_ios_only/src/codec2/src/os.h deleted file mode 100644 index 261f664..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/os.h +++ /dev/null @@ -1,35 +0,0 @@ -/* Generate using fir1(47,1/2) in Octave */ - -static const float fdmdv_os_filter[] = { - -0.0008215855034550382, -0.0007833023901802921, 0.001075563790768233, - 0.001199092367787555, -0.001765309502928316, -0.002055372115328064, - 0.002986877604154257, 0.003462567920638414, -0.004856570111126334, - -0.005563143845031497, 0.007533613299748122, 0.008563932468880897, - -0.01126857129039911, -0.01280782411693687, 0.01651443896361847, - 0.01894875110322284, -0.02421604439474981, -0.02845107338464062, - 0.03672973563400258, 0.04542046150312214, -0.06189165826716491, - -0.08721876380763803, 0.1496157094199961, 0.4497962274137046, - 0.4497962274137046, 0.1496157094199961, -0.08721876380763803, - -0.0618916582671649, 0.04542046150312216, 0.03672973563400257, - -0.02845107338464062, -0.02421604439474984, 0.01894875110322284, - 0.01651443896361848, -0.01280782411693687, -0.0112685712903991, - 0.008563932468880899, 0.007533613299748123, -0.005563143845031501, - -0.004856570111126346, 0.003462567920638419, 0.002986877604154259, - -0.002055372115328063, -0.001765309502928318, 0.001199092367787557, - 0.001075563790768233, -0.0007833023901802925, -0.0008215855034550383}; - -/* Generate using fir1(47,1/6) in Octave */ - -static const float fdmdv_os_filter48[] = { - -3.55606818e-04, -8.98615286e-04, -1.40119781e-03, -1.71713852e-03, - -1.56471179e-03, -6.28128960e-04, 1.24522223e-03, 3.83138676e-03, - 6.41309478e-03, 7.85893186e-03, 6.93514929e-03, 2.79361991e-03, - -4.51051400e-03, -1.36671853e-02, -2.21034939e-02, -2.64084653e-02, - -2.31425052e-02, -9.84218694e-03, 1.40648474e-02, 4.67316298e-02, - 8.39615986e-02, 1.19925275e-01, 1.48381174e-01, 1.64097819e-01, - 1.64097819e-01, 1.48381174e-01, 1.19925275e-01, 8.39615986e-02, - 4.67316298e-02, 1.40648474e-02, -9.84218694e-03, -2.31425052e-02, - -2.64084653e-02, -2.21034939e-02, -1.36671853e-02, -4.51051400e-03, - 2.79361991e-03, 6.93514929e-03, 7.85893186e-03, 6.41309478e-03, - 3.83138676e-03, 1.24522223e-03, -6.28128960e-04, -1.56471179e-03, - -1.71713852e-03, -1.40119781e-03, -8.98615286e-04, -3.55606818e-04}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/pack.c b/vendor/codec2_flutter_ios_only/src/codec2/src/pack.c deleted file mode 100644 index 3181223..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/pack.c +++ /dev/null @@ -1,130 +0,0 @@ -/* - Copyright (C) 2010 Perens LLC - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include - -#include "defines.h" -#include "quantise.h" - -/* Compile-time constants */ -/* Size of unsigned char in bits. Assumes 8 bits-per-char. */ -static const unsigned int WordSize = 8; - -/* Mask to pick the bit component out of bitIndex. */ -static const unsigned int IndexMask = 0x7; - -/* Used to pick the word component out of bitIndex. */ -static const unsigned int ShiftRight = 3; - -/** Pack a bit field into a bit string, encoding the field in Gray code. - * - * The output is an array of unsigned char data. The fields are efficiently - * packed into the bit string. The Gray coding is a naive attempt to reduce - * the effect of single-bit errors, we expect to do a better job as the - * codec develops. - * - * This code would be simpler if it just set one bit at a time in the string, - * but would hit the same cache line more often. I'm not sure the complexity - * gains us anything here. - * - * Although field is currently of int type rather than unsigned for - * compatibility with the rest of the code, indices are always expected to - * be >= 0. - */ -void pack(unsigned char* bitArray, /* The output bit string. */ - unsigned int* bitIndex, /* Index into the string in BITS, not bytes.*/ - int field, /* The bit field to be packed. */ - unsigned int fieldWidth /* Width of the field in BITS, not bytes. */ -) { - pack_natural_or_gray(bitArray, bitIndex, field, fieldWidth, 1); -} - -void pack_natural_or_gray( - unsigned char* bitArray, /* The output bit string. */ - unsigned int* bitIndex, /* Index into the string in BITS, not bytes.*/ - int field, /* The bit field to be packed. */ - unsigned int fieldWidth, /* Width of the field in BITS, not bytes. */ - unsigned int gray /* non-zero for gray coding */ -) { - if (gray) { - /* Convert the field to Gray code */ - field = (field >> 1) ^ field; - } - - do { - unsigned int bI = *bitIndex; - unsigned int bitsLeft = WordSize - (bI & IndexMask); - unsigned int sliceWidth = bitsLeft < fieldWidth ? bitsLeft : fieldWidth; - unsigned int wordIndex = bI >> ShiftRight; - - bitArray[wordIndex] |= ((unsigned char)((field >> (fieldWidth - sliceWidth)) - << (bitsLeft - sliceWidth))); - - *bitIndex = bI + sliceWidth; - fieldWidth -= sliceWidth; - } while (fieldWidth != 0); -} - -/** Unpack a field from a bit string, converting from Gray code to binary. - * - */ -int unpack( - const unsigned char* bitArray, /* The input bit string. */ - unsigned int* bitIndex, /* Index into the string in BITS, not bytes.*/ - unsigned int fieldWidth /* Width of the field in BITS, not bytes. */ -) { - return unpack_natural_or_gray(bitArray, bitIndex, fieldWidth, 1); -} - -/** Unpack a field from a bit string, to binary, optionally using - * natural or Gray code. - * - */ -int unpack_natural_or_gray( - const unsigned char* bitArray, /* The input bit string. */ - unsigned int* bitIndex, /* Index into the string in BITS, not bytes.*/ - unsigned int fieldWidth, /* Width of the field in BITS, not bytes. */ - unsigned int gray /* non-zero for Gray coding */ -) { - unsigned int field = 0; - unsigned int t; - - do { - unsigned int bI = *bitIndex; - unsigned int bitsLeft = WordSize - (bI & IndexMask); - unsigned int sliceWidth = bitsLeft < fieldWidth ? bitsLeft : fieldWidth; - - field |= (((bitArray[bI >> ShiftRight] >> (bitsLeft - sliceWidth)) & - ((1 << sliceWidth) - 1)) - << (fieldWidth - sliceWidth)); - - *bitIndex = bI + sliceWidth; - fieldWidth -= sliceWidth; - } while (fieldWidth != 0); - - if (gray) { - /* Convert from Gray code to binary. Works for maximum 8-bit fields. */ - t = field ^ (field >> 8); - t ^= (t >> 4); - t ^= (t >> 2); - t ^= (t >> 1); - } else { - t = field; - } - - return t; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/phase.c b/vendor/codec2_flutter_ios_only/src/codec2/src/phase.c deleted file mode 100644 index dec8793..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/phase.c +++ /dev/null @@ -1,275 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: phase.c - AUTHOR......: David Rowe - DATE CREATED: 1/2/09 - - Functions for modelling and synthesising phase. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not,see . -*/ - -#include "phase.h" - -#include -#include -#include -#include -#include - -#include "comp.h" -#include "comp_prim.h" -#include "defines.h" -#include "kiss_fft.h" -#include "sine.h" - -/*---------------------------------------------------------------------------*\ - - sample_phase() - - Samples phase at centre of each harmonic from and array of FFT_ENC - DFT samples. - -\*---------------------------------------------------------------------------*/ - -void sample_phase(MODEL *model, COMP H[], - COMP A[] /* LPC analysis filter in freq domain */ -) { - int m, b; - float r; - - r = TWO_PI / (FFT_ENC); - - /* Sample phase at harmonics */ - - for (m = 1; m <= model->L; m++) { - b = (int)(m * model->Wo / r + 0.5); - H[m] = - cconj(A[b]); /* synth filter 1/A is opposite phase to analysis filter */ - } -} - -/*---------------------------------------------------------------------------*\ - - phase_synth_zero_order() - - Synthesises phases based on SNR and a rule based approach. No phase - parameters are required apart from the SNR (which can be reduced to a - 1 bit V/UV decision per frame). - - The phase of each harmonic is modelled as the phase of a synthesis - filter excited by an impulse. In many Codec 2 modes the synthesis - filter is a LPC filter. Unlike the first order model the position - of the impulse is not transmitted, so we create an excitation pulse - train using a rule based approach. - - Consider a pulse train with a pulse starting time n=0, with pulses - repeated at a rate of Wo, the fundamental frequency. A pulse train - in the time domain is equivalent to harmonics in the frequency - domain. We can make an excitation pulse train using a sum of - sinsusoids: - - for(m=1; m<=L; m++) - ex[n] = cos(m*Wo*n) - - Note: the Octave script ../octave/phase.m is an example of this if - you would like to try making a pulse train. - - The phase of each excitation harmonic is: - - arg(E[m]) = mWo - - where E[m] are the complex excitation (freq domain) samples, - arg(x), just returns the phase of a complex sample x. - - As we don't transmit the pulse position for this model, we need to - synthesise it. Now the excitation pulses occur at a rate of Wo. - This means the phase of the first harmonic advances by N_SAMP samples - over a synthesis frame of N_SAMP samples. For example if Wo is pi/20 - (200 Hz), then over a 10ms frame (N_SAMP=80 samples), the phase of the - first harmonic would advance (pi/20)*80 = 4*pi or two complete - cycles. - - We generate the excitation phase of the fundamental (first - harmonic): - - arg[E[1]] = Wo*N_SAMP; - - We then relate the phase of the m-th excitation harmonic to the - phase of the fundamental as: - - arg(E[m]) = m*arg(E[1]) - - This E[m] then gets passed through the LPC synthesis filter to - determine the final harmonic phase. - - Comparing to speech synthesised using original phases: - - - Through headphones speech synthesised with this model is not as - good. Through a loudspeaker it is very close to original phases. - - - If there are voicing errors, the speech can sound clicky or - staticy. If V speech is mistakenly declared UV, this model tends to - synthesise impulses or clicks, as there is usually very little shift or - dispersion through the LPC synthesis filter. - - - When combined with LPC amplitude modelling there is an additional - drop in quality. I am not sure why, theory is interformant energy - is raised making any phase errors more obvious. - - NOTES: - - 1/ This synthesis model is effectively the same as a simple LPC-10 - vocoders, and yet sounds much better. Why? Conventional wisdom - (AMBE, MELP) says mixed voicing is required for high quality - speech. - - 2/ I am pretty sure the Lincoln Lab sinusoidal coding guys (like xMBE - also from MIT) first described this zero phase model, I need to look - up the paper. - - 3/ Note that this approach could cause some discontinuities in - the phase at the edge of synthesis frames, as no attempt is made - to make sure that the phase tracks are continuous (the excitation - phases are continuous, but not the final phases after filtering - by the LPC spectra). Technically this is a bad thing. However - this may actually be a good thing, disturbing the phase tracks a - bit. More research needed, e.g. test a synthesis model that adds - a small delta-W to make phase tracks line up for voiced - harmonics. - -\*---------------------------------------------------------------------------*/ - -void phase_synth_zero_order( - int n_samp, MODEL *model, - float *ex_phase, /* excitation phase of fundamental */ - COMP H[] /* L synthesis filter freq domain samples */ - -) { - int m; - float new_phi; - COMP Ex[MAX_AMP + 1]; /* excitation samples */ - COMP A_[MAX_AMP + 1]; /* synthesised harmonic samples */ - - /* - Update excitation fundamental phase track, this sets the position - of each pitch pulse during voiced speech. After much experiment - I found that using just this frame's Wo improved quality for UV - sounds compared to interpolating two frames Wo like this: - - ex_phase[0] += (*prev_Wo+model->Wo)*N_SAMP/2; - */ - - ex_phase[0] += (model->Wo) * n_samp; - ex_phase[0] -= TWO_PI * floorf(ex_phase[0] / TWO_PI + 0.5); - - for (m = 1; m <= model->L; m++) { - /* generate excitation */ - - if (model->voiced) { - Ex[m].real = cosf(ex_phase[0] * m); - Ex[m].imag = sinf(ex_phase[0] * m); - } else { - /* When a few samples were tested I found that LPC filter - phase is not needed in the unvoiced case, but no harm in - keeping it. - */ - float phi = TWO_PI * (float)codec2_rand() / CODEC2_RAND_MAX; - Ex[m].real = cosf(phi); - Ex[m].imag = sinf(phi); - } - - /* filter using LPC filter */ - - A_[m].real = H[m].real * Ex[m].real - H[m].imag * Ex[m].imag; - A_[m].imag = H[m].imag * Ex[m].real + H[m].real * Ex[m].imag; - - /* modify sinusoidal phase */ - - new_phi = atan2f(A_[m].imag, A_[m].real + 1E-12); - model->phi[m] = new_phi; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: mag_to_phase - AUTHOR......: David Rowe - DATE CREATED: Jan 2017 - - Algorithm for http://www.dsprelated.com/showcode/20.php ported to C. See - also Octave function mag_to_phase.m - - Given a magnitude spectrum in dB, returns a minimum-phase phase - spectra. - -\*---------------------------------------------------------------------------*/ - -void mag_to_phase( - float phase[], /* Nfft/2+1 output phase samples in radians */ - float Gdbfk[], /* Nfft/2+1 positive freq amplitudes samples in dB */ - int Nfft, codec2_fft_cfg fft_fwd_cfg, codec2_fft_cfg fft_inv_cfg) { - COMP Sdb[Nfft], c[Nfft], cf[Nfft], Cf[Nfft]; - int Ns = Nfft / 2 + 1; - int i; - - /* install negative frequency components, 1/Nfft takes into - account kiss fft lack of scaling on ifft */ - - Sdb[0].real = Gdbfk[0]; - Sdb[0].imag = 0.0; - for (i = 1; i < Ns; i++) { - Sdb[i].real = Sdb[Nfft - i].real = Gdbfk[i]; - Sdb[i].imag = Sdb[Nfft - i].imag = 0.0; - } - - /* compute real cepstrum from log magnitude spectrum */ - - codec2_fft(fft_inv_cfg, Sdb, c); - for (i = 0; i < Nfft; i++) { - c[i].real /= (float)Nfft; - c[i].imag /= (float)Nfft; - } - - /* Fold cepstrum to reflect non-min-phase zeros inside unit circle */ - - cf[0] = c[0]; - for (i = 1; i < Ns - 1; i++) { - cf[i] = cadd(c[i], c[Nfft - i]); - } - cf[Ns - 1] = c[Ns - 1]; - for (i = Ns; i < Nfft; i++) { - cf[i].real = 0.0; - cf[i].imag = 0.0; - } - - /* Cf = dB_magnitude + j * minimum_phase */ - - codec2_fft(fft_fwd_cfg, cf, Cf); - - /* The maths says we are meant to be using log(x), not 20*log10(x), - so we need to scale the phase to account for this: - log(x) = 20*log10(x)/scale */ - - float scale = (20.0 / logf(10.0)); - - for (i = 0; i < Ns; i++) { - phase[i] = Cf[i].imag / scale; - } -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/phase.h b/vendor/codec2_flutter_ios_only/src/codec2/src/phase.h deleted file mode 100644 index b7f0413..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/phase.h +++ /dev/null @@ -1,41 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: phase.h - AUTHOR......: David Rowe - DATE CREATED: 1/2/09 - - Functions for modelling phase. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __PHASE__ -#define __PHASE__ - -#include "codec2_fft.h" -#include "comp.h" - -void sample_phase(MODEL *model, COMP filter_phase[], COMP A[]); -void phase_synth_zero_order(int n_samp, MODEL *model, float *ex_phase, - COMP filter_phase[]); - -void mag_to_phase(float phase[], float Gdbfk[], int Nfft, - codec2_fft_cfg fwd_cfg, codec2_fft_cfg inv_cfg); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/phi0.c b/vendor/codec2_flutter_ios_only/src/codec2/src/phi0.c deleted file mode 100644 index 51582a0..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/phi0.c +++ /dev/null @@ -1,290 +0,0 @@ - -// phi0.c -// -// An approximation of the function -// -// This file is generated by the gen_phi0 scripts -// Any changes should be made to that file, not this one - -#include - -#define SI16(f) ((int32_t)(f * (1 << 16))) - -float phi0(float xf) { - int32_t x = SI16(xf); - - if (x >= SI16(10.0f)) - return (0.0f); - else { - if (x >= SI16(5.0f)) { - int i = 19 - (x >> 15); - switch (i) { - case 0: - return (0.000116589f); // (9.5) - case 1: - return (0.000192223f); // (9.0) - case 2: - return (0.000316923f); // (8.5) - case 3: - return (0.000522517f); // (8.0) - case 4: - return (0.000861485f); // (7.5) - case 5: - return (0.001420349f); // (7.0) - case 6: - return (0.002341760f); // (6.5) - case 7: - return (0.003860913f); // (6.0) - case 8: - return (0.006365583f); // (5.5) - case 9: - return (0.010495133f); // (5.0) - } - } else { - if (x >= SI16(1.0f)) { - int i = 79 - (x >> 12); - switch (i) { - case 0: - return (0.013903889f); // (4.9375) - case 1: - return (0.014800644f); // (4.8750) - case 2: - return (0.015755242f); // (4.8125) - case 3: - return (0.016771414f); // (4.7500) - case 4: - return (0.017853133f); // (4.6875) - case 5: - return (0.019004629f); // (4.6250) - case 6: - return (0.020230403f); // (4.5625) - case 7: - return (0.021535250f); // (4.5000) - case 8: - return (0.022924272f); // (4.4375) - case 9: - return (0.024402903f); // (4.3750) - case 10: - return (0.025976926f); // (4.3125) - case 11: - return (0.027652501f); // (4.2500) - case 12: - return (0.029436184f); // (4.1875) - case 13: - return (0.031334956f); // (4.1250) - case 14: - return (0.033356250f); // (4.0625) - case 15: - return (0.035507982f); // (4.0000) - case 16: - return (0.037798579f); // (3.9375) - case 17: - return (0.040237016f); // (3.8750) - case 18: - return (0.042832850f); // (3.8125) - case 19: - return (0.045596260f); // (3.7500) - case 20: - return (0.048538086f); // (3.6875) - case 21: - return (0.051669874f); // (3.6250) - case 22: - return (0.055003924f); // (3.5625) - case 23: - return (0.058553339f); // (3.5000) - case 24: - return (0.062332076f); // (3.4375) - case 25: - return (0.066355011f); // (3.3750) - case 26: - return (0.070637993f); // (3.3125) - case 27: - return (0.075197917f); // (3.2500) - case 28: - return (0.080052790f); // (3.1875) - case 29: - return (0.085221814f); // (3.1250) - case 30: - return (0.090725463f); // (3.0625) - case 31: - return (0.096585578f); // (3.0000) - case 32: - return (0.102825462f); // (2.9375) - case 33: - return (0.109469985f); // (2.8750) - case 34: - return (0.116545700f); // (2.8125) - case 35: - return (0.124080967f); // (2.7500) - case 36: - return (0.132106091f); // (2.6875) - case 37: - return (0.140653466f); // (2.6250) - case 38: - return (0.149757747f); // (2.5625) - case 39: - return (0.159456024f); // (2.5000) - case 40: - return (0.169788027f); // (2.4375) - case 41: - return (0.180796343f); // (2.3750) - case 42: - return (0.192526667f); // (2.3125) - case 43: - return (0.205028078f); // (2.2500) - case 44: - return (0.218353351f); // (2.1875) - case 45: - return (0.232559308f); // (2.1250) - case 46: - return (0.247707218f); // (2.0625) - case 47: - return (0.263863255f); // (2.0000) - case 48: - return (0.281099022f); // (1.9375) - case 49: - return (0.299492155f); // (1.8750) - case 50: - return (0.319127030f); // (1.8125) - case 51: - return (0.340095582f); // (1.7500) - case 52: - return (0.362498271f); // (1.6875) - case 53: - return (0.386445235f); // (1.6250) - case 54: - return (0.412057648f); // (1.5625) - case 55: - return (0.439469363f); // (1.5000) - case 56: - return (0.468828902f); // (1.4375) - case 57: - return (0.500301872f); // (1.3750) - case 58: - return (0.534073947f); // (1.3125) - case 59: - return (0.570354566f); // (1.2500) - case 60: - return (0.609381573f); // (1.1875) - case 61: - return (0.651427083f); // (1.1250) - case 62: - return (0.696805010f); // (1.0625) - case 63: - return (0.745880827f); // (1.0000) - } - } else { - if (x > SI16(0.007812f)) { - if (x > SI16(0.088388f)) { - if (x > SI16(0.250000f)) { - if (x > SI16(0.500000f)) { - if (x > SI16(0.707107f)) { - return (0.922449644f); - } else { - return (1.241248638f); - } - } else { - if (x > SI16(0.353553f)) { - return (1.573515241f); - } else { - return (1.912825912f); - } - } - } else { - if (x > SI16(0.125000f)) { - if (x > SI16(0.176777f)) { - return (2.255740095f); - } else { - return (2.600476919f); - } - } else { - return (2.946130351f); - } - } - } else { - if (x > SI16(0.022097f)) { - if (x > SI16(0.044194f)) { - if (x > SI16(0.062500f)) { - return (3.292243417f); - } else { - return (3.638586634f); - } - } else { - if (x > SI16(0.031250f)) { - return (3.985045009f); - } else { - return (4.331560985f); - } - } - } else { - if (x > SI16(0.011049f)) { - if (x > SI16(0.015625f)) { - return (4.678105767f); - } else { - return (5.024664952f); - } - } else { - return (5.371231340f); - } - } - } - } else { - if (x > SI16(0.000691f)) { - if (x > SI16(0.001953f)) { - if (x > SI16(0.003906f)) { - if (x > SI16(0.005524f)) { - return (5.717801329f); - } else { - return (6.064373119f); - } - } else { - if (x > SI16(0.002762f)) { - return (6.410945809f); - } else { - return (6.757518949f); - } - } - } else { - if (x > SI16(0.000977f)) { - if (x > SI16(0.001381f)) { - return (7.104092314f); - } else { - return (7.450665792f); - } - } else { - return (7.797239326f); - } - } - } else { - if (x > SI16(0.000173f)) { - if (x > SI16(0.000345f)) { - if (x > SI16(0.000488f)) { - return (8.143812888f); - } else { - return (8.490386464f); - } - } else { - if (x > SI16(0.000244f)) { - return (8.836960047f); - } else { - return (9.183533634f); - } - } - } else { - if (x > SI16(0.000086f)) { - if (x > SI16(0.000122f)) { - return (9.530107222f); - } else { - return (9.876680812f); - } - } else { - return (10.000000000f); - } - } - } - } - } - } - } - return (10.0f); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/phi0.h b/vendor/codec2_flutter_ios_only/src/codec2/src/phi0.h deleted file mode 100644 index 79e942d..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/phi0.h +++ /dev/null @@ -1,7 +0,0 @@ -// phi0.h -#ifndef PHI0_H -#define PHI0_H - -extern float phi0(float xf); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/pilot_coeff.h b/vendor/codec2_flutter_ios_only/src/codec2/src/pilot_coeff.h deleted file mode 100644 index 6d83f78..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/pilot_coeff.h +++ /dev/null @@ -1,15 +0,0 @@ -/* Generated by pilot_coeff_file() Octave function */ - -// const removed since this provides gain -// on the STM32F4 platform - -#ifdef CORTEX_M4 -/* const */ float pilot_coeff[] = { -#else -const float pilot_coeff[] = { -#endif - 0.00223001, 0.00301037, 0.00471258, 0.0075934, 0.0118145, 0.0174153, - 0.0242969, 0.0322204, 0.0408199, 0.0496286, 0.0581172, 0.0657392, - 0.0719806, 0.0764066, 0.0787022, 0.0787022, 0.0764066, 0.0719806, - 0.0657392, 0.0581172, 0.0496286, 0.0408199, 0.0322204, 0.0242969, - 0.0174153, 0.0118145, 0.0075934, 0.00471258, 0.00301037, 0.00223001}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/pilots_coh.h b/vendor/codec2_flutter_ios_only/src/codec2/src/pilots_coh.h deleted file mode 100644 index b905879..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/pilots_coh.h +++ /dev/null @@ -1,5 +0,0 @@ -/* Generated by write_pilot_file() Octave function */ - -float pilots_coh[][PILOTS_NC] = { - {1.000000, -1.000000, 1.000000, -1.000000, 1.000000, -1.000000, -1.000000}, - {-1.000000, 1.000000, 1.000000, -1.000000, 1.000000, 1.000000, 1.000000}}; \ No newline at end of file diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/postfilter.c b/vendor/codec2_flutter_ios_only/src/codec2/src/postfilter.c deleted file mode 100644 index e46d488..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/postfilter.c +++ /dev/null @@ -1,138 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: postfilter.c - AUTHOR......: David Rowe - DATE CREATED: 13/09/09 - - Postfilter to improve sound quality for speech with high levels of - background noise. Unlike mixed-excitation models requires no bits - to be transmitted to handle background noise. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "postfilter.h" - -#include -#include -#include -#include - -#include "comp.h" -#include "defines.h" -#include "dump.h" -#include "sine.h" - -/*---------------------------------------------------------------------------*\ - - DEFINES - -\*---------------------------------------------------------------------------*/ - -#define BG_THRESH 40.0 /* only consider low levels signals for bg_est */ -#define BG_BETA 0.1 /* averaging filter constant */ -#define BG_MARGIN \ - 6.0 /* harmonics this far above BG noise are \ - randomised. Helped make bg noise less \ - spikey (impulsive) for mmt1, but speech was \ - perhaps a little rougher. \ - */ - -/*---------------------------------------------------------------------------*\ - - postfilter() - - The post filter is designed to help with speech corrupted by - background noise. The zero phase model tends to make speech with - background noise sound "clicky". With high levels of background - noise the low level inter-formant parts of the spectrum will contain - noise rather than speech harmonics, so modelling them as voiced - (i.e. a continuous, non-random phase track) is inaccurate. - - Some codecs (like MBE) have a mixed voicing model that breaks the - spectrum into voiced and unvoiced regions. Several bits/frame - (5-12) are required to transmit the frequency selective voicing - information. Mixed excitation also requires accurate voicing - estimation (parameter estimators always break occasionally under - exceptional conditions). - - In our case we use a post filter approach which requires no - additional bits to be transmitted. The decoder measures the average - level of the background noise during unvoiced frames. If a harmonic - is less than this level it is made unvoiced by randomising it's - phases. - - This idea is rather experimental. Some potential problems that may - happen: - - 1/ If someone says "aaaaaaaahhhhhhhhh" will background estimator track - up to speech level? This would be a bad thing. - - 2/ If background noise suddenly disappears from the source speech does - estimate drop quickly? What is noise suddenly re-appears? - - 3/ Background noise with a non-flat sepctrum. Current algorithm just - comsiders scpetrum as a whole, but this could be broken up into - bands, each with their own estimator. - - 4/ Males and females with the same level of background noise. Check - performance the same. Changing Wo affects width of each band, may - affect bg energy estimates. - - 5/ Not sure what happens during long periods of voiced speech - e.g. "sshhhhhhh" - -\*---------------------------------------------------------------------------*/ - -void postfilter(MODEL *model, float *bg_est) { - int m, uv; - float e, thresh; - - /* determine average energy across spectrum */ - - e = 1E-12; - for (m = 1; m <= model->L; m++) e += model->A[m] * model->A[m]; - - assert(e > 0.0); - e = 10.0 * log10f(e / model->L); - - /* If beneath threshold, update bg estimate. The idea - of the threshold is to prevent updating during high level - speech. */ - - if ((e < BG_THRESH) && !model->voiced) - *bg_est = *bg_est * (1.0 - BG_BETA) + e * BG_BETA; - - /* now mess with phases during voiced frames to make any harmonics - less then our background estimate unvoiced. - */ - - uv = 0; - thresh = POW10F((*bg_est + BG_MARGIN) / 20.0); - if (model->voiced) - for (m = 1; m <= model->L; m++) - if (model->A[m] < thresh) { - model->phi[m] = (TWO_PI / CODEC2_RAND_MAX) * (float)codec2_rand(); - uv++; - } - -#ifdef DUMP - dump_bg(e, *bg_est, 100.0 * uv / model->L); -#endif -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/postfilter.h b/vendor/codec2_flutter_ios_only/src/codec2/src/postfilter.h deleted file mode 100644 index ecf7f39..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/postfilter.h +++ /dev/null @@ -1,35 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: postfilter.h - AUTHOR......: David Rowe - DATE CREATED: 13/09/09 - - Postfilter header file. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __POSTFILTER__ -#define __POSTFILTER__ - -#include "defines.h" - -void postfilter(MODEL *model, float *bg_est); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/quantise.c b/vendor/codec2_flutter_ios_only/src/codec2/src/quantise.c deleted file mode 100644 index da1d821..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/quantise.c +++ /dev/null @@ -1,1131 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: quantise.c - AUTHOR......: David Rowe - DATE CREATED: 31/5/92 - - Quantisation functions for the sinusoidal coder. - -\*---------------------------------------------------------------------------*/ - -/* - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . - -*/ - -#include "quantise.h" - -#include -#include -#include -#include -#include -#include - -#include "codec2_fft.h" -#include "defines.h" -#include "dump.h" -#include "lpc.h" -#include "lsp.h" -#include "mbest.h" -#include "phase.h" - -#undef PROFILE -#include "machdep.h" - -#define LSP_DELTA1 0.01 /* grid spacing for LSP root searches */ - -/*---------------------------------------------------------------------------*\ - - FUNCTION HEADERS - -\*---------------------------------------------------------------------------*/ - -float speech_to_uq_lsps(float lsp[], float ak[], float Sn[], float w[], - int m_pitch, int order); - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS - -\*---------------------------------------------------------------------------*/ - -int lsp_bits(int i) { return lsp_cb[i].log2m; } - -int lspd_bits(int i) { return lsp_cbd[i].log2m; } - -int lsp_pred_vq_bits(int i) { return lsp_cbjmv[i].log2m; } - -/*---------------------------------------------------------------------------*\ - - quantise - - Quantises vec by choosing the nearest vector in codebook cb, and - returns the vector index. The squared error of the quantised vector - is added to se. - -\*---------------------------------------------------------------------------*/ - -long quantise(const float *cb, float vec[], float w[], int k, int m, float *se) -/* float cb[][K]; current VQ codebook */ -/* float vec[]; vector to quantise */ -/* float w[]; weighting vector */ -/* int k; dimension of vectors */ -/* int m; size of codebook */ -/* float *se; accumulated squared error */ -{ - float e; /* current error */ - long besti; /* best index so far */ - float beste; /* best error so far */ - long j; - int i; - float diff; - - besti = 0; - beste = 1E32; - for (j = 0; j < m; j++) { - e = 0.0; - for (i = 0; i < k; i++) { - diff = cb[j * k + i] - vec[i]; - e += (diff * w[i] * diff * w[i]); - } - if (e < beste) { - beste = e; - besti = j; - } - } - - *se += beste; - - return (besti); -} - -/*---------------------------------------------------------------------------*\ - - encode_lspds_scalar() - - Scalar/VQ LSP difference-in-frequency quantiser. - -\*---------------------------------------------------------------------------*/ - -void encode_lspds_scalar(int indexes[], float lsp[], int order) { - int i, k, m; - float lsp_hz[order]; - float lsp__hz[order]; - float dlsp[order]; - float dlsp_[order]; - float wt[order]; - const float *cb; - float se; - - for (i = 0; i < order; i++) { - wt[i] = 1.0; - } - - /* convert from radians to Hz so we can use human readable - frequencies */ - - for (i = 0; i < order; i++) lsp_hz[i] = (4000.0 / PI) * lsp[i]; - - wt[0] = 1.0; - for (i = 0; i < order; i++) { - /* find difference from previous quantised lsp */ - - if (i) - dlsp[i] = lsp_hz[i] - lsp__hz[i - 1]; - else - dlsp[0] = lsp_hz[0]; - - k = lsp_cbd[i].k; - m = lsp_cbd[i].m; - cb = lsp_cbd[i].cb; - indexes[i] = quantise(cb, &dlsp[i], wt, k, m, &se); - dlsp_[i] = cb[indexes[i] * k]; - - if (i) - lsp__hz[i] = lsp__hz[i - 1] + dlsp_[i]; - else - lsp__hz[0] = dlsp_[0]; - } -} - -void decode_lspds_scalar(float lsp_[], int indexes[], int order) { - int i, k; - float lsp__hz[order]; - float dlsp_[order]; - const float *cb; - - for (i = 0; i < order; i++) { - k = lsp_cbd[i].k; - cb = lsp_cbd[i].cb; - dlsp_[i] = cb[indexes[i] * k]; - - if (i) - lsp__hz[i] = lsp__hz[i - 1] + dlsp_[i]; - else - lsp__hz[0] = dlsp_[0]; - - lsp_[i] = (PI / 4000.0) * lsp__hz[i]; - } -} - -#define MIN(a, b) ((a) < (b) ? (a) : (b)) -#define MAX_ENTRIES 16384 - -void compute_weights(const float *x, float *w, int ndim) { - int i; - w[0] = MIN(x[0], x[1] - x[0]); - for (i = 1; i < ndim - 1; i++) w[i] = MIN(x[i] - x[i - 1], x[i + 1] - x[i]); - w[ndim - 1] = MIN(x[ndim - 1] - x[ndim - 2], PI - x[ndim - 1]); - - for (i = 0; i < ndim; i++) w[i] = 1. / (.01 + w[i]); -} - -int find_nearest(const float *codebook, int nb_entries, float *x, int ndim) { - int i, j; - float min_dist = 1e15; - int nearest = 0; - - for (i = 0; i < nb_entries; i++) { - float dist = 0; - for (j = 0; j < ndim; j++) - dist += (x[j] - codebook[i * ndim + j]) * (x[j] - codebook[i * ndim + j]); - if (dist < min_dist) { - min_dist = dist; - nearest = i; - } - } - return nearest; -} - -int find_nearest_weighted(const float *codebook, int nb_entries, float *x, - const float *w, int ndim) { - int i, j; - float min_dist = 1e15; - int nearest = 0; - - for (i = 0; i < nb_entries; i++) { - float dist = 0; - for (j = 0; j < ndim; j++) - dist += w[j] * (x[j] - codebook[i * ndim + j]) * - (x[j] - codebook[i * ndim + j]); - if (dist < min_dist) { - min_dist = dist; - nearest = i; - } - } - return nearest; -} - -void lspjmv_quantise(float *x, float *xq, int order) { - int i, n1, n2, n3; - float err[order], err2[order], err3[order]; - float w[order], w2[order], w3[order]; - const float *codebook1 = lsp_cbjmv[0].cb; - const float *codebook2 = lsp_cbjmv[1].cb; - const float *codebook3 = lsp_cbjmv[2].cb; - - w[0] = MIN(x[0], x[1] - x[0]); - for (i = 1; i < order - 1; i++) w[i] = MIN(x[i] - x[i - 1], x[i + 1] - x[i]); - w[order - 1] = MIN(x[order - 1] - x[order - 2], PI - x[order - 1]); - - compute_weights(x, w, order); - - n1 = find_nearest(codebook1, lsp_cbjmv[0].m, x, order); - - for (i = 0; i < order; i++) { - xq[i] = codebook1[order * n1 + i]; - err[i] = x[i] - xq[i]; - } - for (i = 0; i < order / 2; i++) { - err2[i] = err[2 * i]; - err3[i] = err[2 * i + 1]; - w2[i] = w[2 * i]; - w3[i] = w[2 * i + 1]; - } - n2 = find_nearest_weighted(codebook2, lsp_cbjmv[1].m, err2, w2, order / 2); - n3 = find_nearest_weighted(codebook3, lsp_cbjmv[2].m, err3, w3, order / 2); - - for (i = 0; i < order / 2; i++) { - xq[2 * i] += codebook2[order * n2 / 2 + i]; - xq[2 * i + 1] += codebook3[order * n3 / 2 + i]; - } -} - -int check_lsp_order(float lsp[], int order) { - int i; - float tmp; - int swaps = 0; - - for (i = 1; i < order; i++) - if (lsp[i] < lsp[i - 1]) { - // fprintf(stderr, "swap %d\n",i); - swaps++; - tmp = lsp[i - 1]; - lsp[i - 1] = lsp[i] - 0.1; - lsp[i] = tmp + 0.1; - i = 1; /* start check again, as swap may have caused out of order */ - } - - return swaps; -} - -void force_min_lsp_dist(float lsp[], int order) { - int i; - - for (i = 1; i < order; i++) - if ((lsp[i] - lsp[i - 1]) < 0.01) { - lsp[i] += 0.01; - } -} - -/*---------------------------------------------------------------------------*\ - - lpc_post_filter() - - Applies a post filter to the LPC synthesis filter power spectrum - Pw, which suppresses the inter-formant energy. - - The algorithm is from p267 (Section 8.6) of "Digital Speech", - edited by A.M. Kondoz, 1994 published by Wiley and Sons. Chapter 8 - of this text is on the MBE vocoder, and this is a freq domain - adaptation of post filtering commonly used in CELP. - - I used the Octave simulation lpcpf.m to get an understanding of the - algorithm. - - Requires two more FFTs which is significantly more MIPs. However - it should be possible to implement this more efficiently in the - time domain. Just not sure how to handle relative time delays - between the synthesis stage and updating these coeffs. A smaller - FFT size might also be acceptable to save CPU. - - TODO: - [ ] sync var names between Octave and C version - [ ] doc gain normalisation - [ ] I think the first FFT is not rqd as we do the same - thing in aks_to_M2(). - -\*---------------------------------------------------------------------------*/ - -void lpc_post_filter(codec2_fftr_cfg fftr_fwd_cfg, float Pw[], float ak[], - int order, int dump, float beta, float gamma, - int bass_boost, float E) { - int i; - float x[FFT_ENC]; /* input to FFTs */ - COMP Ww[FFT_ENC / 2 + 1]; /* weighting spectrum */ - float Rw[FFT_ENC / 2 + 1]; /* R = WA */ - float e_before, e_after, gain; - float Pfw; - float max_Rw, min_Rw; - float coeff; - PROFILE_VAR(tstart, tfft1, taw, tfft2, tww, tr); - - PROFILE_SAMPLE(tstart); - - /* Determine weighting filter spectrum W(exp(jw)) ---------------*/ - - for (i = 0; i < FFT_ENC; i++) { - x[i] = 0.0; - } - - x[0] = ak[0]; - coeff = gamma; - for (i = 1; i <= order; i++) { - x[i] = ak[i] * coeff; - coeff *= gamma; - } - codec2_fftr(fftr_fwd_cfg, x, Ww); - - PROFILE_SAMPLE_AND_LOG(tfft2, taw, " fft2"); - - for (i = 0; i < FFT_ENC / 2; i++) { - Ww[i].real = Ww[i].real * Ww[i].real + Ww[i].imag * Ww[i].imag; - } - - PROFILE_SAMPLE_AND_LOG(tww, tfft2, " Ww"); - - /* Determined combined filter R = WA ---------------------------*/ - - max_Rw = 0.0; - min_Rw = 1E32; - for (i = 0; i < FFT_ENC / 2; i++) { - Rw[i] = sqrtf(Ww[i].real * Pw[i]); - if (Rw[i] > max_Rw) max_Rw = Rw[i]; - if (Rw[i] < min_Rw) min_Rw = Rw[i]; - } - - PROFILE_SAMPLE_AND_LOG(tr, tww, " R"); - -#ifdef DUMP - if (dump) dump_Rw(Rw); -#endif - - /* create post filter mag spectrum and apply ------------------*/ - - /* measure energy before post filtering */ - - e_before = 1E-4; - for (i = 0; i < FFT_ENC / 2; i++) e_before += Pw[i]; - - /* apply post filter and measure energy */ - -#ifdef DUMP - if (dump) dump_Pwb(Pw); -#endif - - e_after = 1E-4; - for (i = 0; i < FFT_ENC / 2; i++) { - Pfw = powf(Rw[i], beta); - Pw[i] *= Pfw * Pfw; - e_after += Pw[i]; - } - gain = e_before / e_after; - - /* apply gain factor to normalise energy, and LPC Energy */ - - gain *= E; - for (i = 0; i < FFT_ENC / 2; i++) { - Pw[i] *= gain; - } - - if (bass_boost) { - /* add 3dB to first 1 kHz to account for LP effect of PF */ - - for (i = 0; i < FFT_ENC / 8; i++) { - Pw[i] *= 1.4 * 1.4; - } - } - - PROFILE_SAMPLE_AND_LOG2(tr, " filt"); -} - -/*---------------------------------------------------------------------------*\ - - aks_to_M2() - - Transforms the linear prediction coefficients to spectral amplitude - samples. This function determines A(m) from the average energy per - band using an FFT. - -\*---------------------------------------------------------------------------*/ - -void aks_to_M2(codec2_fftr_cfg fftr_fwd_cfg, float ak[], /* LPC's */ - int order, - MODEL *model, /* sinusoidal model parameters for this frame */ - float E, /* energy term */ - float *snr, /* signal to noise ratio for this frame in dB */ - int dump, /* true to dump sample to dump file */ - int sim_pf, /* true to simulate a post filter */ - int pf, /* true to enable actual LPC post filter */ - int bass_boost, /* enable LPC filter 0-1kHz 3dB boost */ - float beta, float gamma, /* LPC post filter parameters */ - COMP Aw[] /* output power spectrum */ -) { - int i, m; /* loop variables */ - int am, bm; /* limits of current band */ - float r; /* no. rads/bin */ - float Em; /* energy in band */ - float Am; /* spectral amplitude sample */ - float signal, noise; - PROFILE_VAR(tstart, tfft, tpw, tpf); - - PROFILE_SAMPLE(tstart); - - r = TWO_PI / (FFT_ENC); - - /* Determine DFT of A(exp(jw)) --------------------------------------------*/ - { - float a[FFT_ENC]; /* input to FFT for power spectrum */ - - for (i = 0; i < FFT_ENC; i++) { - a[i] = 0.0; - } - - for (i = 0; i <= order; i++) a[i] = ak[i]; - codec2_fftr(fftr_fwd_cfg, a, Aw); - } - PROFILE_SAMPLE_AND_LOG(tfft, tstart, " fft"); - - /* Determine power spectrum P(w) = E/(A(exp(jw))^2 ------------------------*/ - - float Pw[FFT_ENC / 2]; - -#ifndef FDV_ARM_MATH - for (i = 0; i < FFT_ENC / 2; i++) { - Pw[i] = 1.0 / (Aw[i].real * Aw[i].real + Aw[i].imag * Aw[i].imag + 1E-6); - } -#else - // this difference may seem strange, but the gcc for STM32F4 generates almost - // 5 times faster code with the two loops: 1120 ms -> 242 ms so please leave - // it as is or improve further since this code is called 4 times it results in - // almost 4ms gain (21ms -> 17ms per audio frame decode @ 1300 ) - - for (i = 0; i < FFT_ENC / 2; i++) { - Pw[i] = Aw[i].real * Aw[i].real + Aw[i].imag * Aw[i].imag + 1E-6; - } - for (i = 0; i < FFT_ENC / 2; i++) { - Pw[i] = 1.0 / (Pw[i]); - } -#endif - - PROFILE_SAMPLE_AND_LOG(tpw, tfft, " Pw"); - - if (pf) - lpc_post_filter(fftr_fwd_cfg, Pw, ak, order, dump, beta, gamma, bass_boost, - E); - else { - for (i = 0; i < FFT_ENC / 2; i++) { - Pw[i] *= E; - } - } - - PROFILE_SAMPLE_AND_LOG(tpf, tpw, " LPC post filter"); - -#ifdef DUMP - if (dump) dump_Pw(Pw); -#endif - - /* Determine magnitudes from P(w) ----------------------------------------*/ - - /* when used just by decoder {A} might be all zeroes so init signal - and noise to prevent log(0) errors */ - - signal = 1E-30; - noise = 1E-32; - - for (m = 1; m <= model->L; m++) { - am = (int)((m - 0.5) * model->Wo / r + 0.5); - bm = (int)((m + 0.5) * model->Wo / r + 0.5); - - // FIXME: With arm_rfft_fast_f32 we have to use this - // otherwise sometimes a to high bm is calculated - // which causes trouble later in the calculation - // chain - // it seems for some reason model->Wo is calculated somewhat too high - if (bm > FFT_ENC / 2) { - bm = FFT_ENC / 2; - } - Em = 0.0; - - for (i = am; i < bm; i++) Em += Pw[i]; - Am = sqrtf(Em); - - signal += model->A[m] * model->A[m]; - noise += (model->A[m] - Am) * (model->A[m] - Am); - - /* This code significantly improves perf of LPC model, in - particular when combined with phase0. The LPC spectrum tends - to track just under the peaks of the spectral envelope, and - just above nulls. This algorithm does the reverse to - compensate - raising the amplitudes of spectral peaks, while - attenuating the null. This enhances the formants, and - suppresses the energy between formants. */ - - if (sim_pf) { - if (Am > model->A[m]) Am *= 0.7; - if (Am < model->A[m]) Am *= 1.4; - } - model->A[m] = Am; - } - *snr = 10.0 * log10f(signal / noise); - - PROFILE_SAMPLE_AND_LOG2(tpf, " rec"); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: encode_Wo() - AUTHOR......: David Rowe - DATE CREATED: 22/8/2010 - - Encodes Wo using a WO_LEVELS quantiser. - -\*---------------------------------------------------------------------------*/ - -int encode_Wo(C2CONST *c2const, float Wo, int bits) { - int index, Wo_levels = 1 << bits; - float Wo_min = c2const->Wo_min; - float Wo_max = c2const->Wo_max; - float norm; - - norm = (Wo - Wo_min) / (Wo_max - Wo_min); - index = floorf(Wo_levels * norm + 0.5); - if (index < 0) index = 0; - if (index > (Wo_levels - 1)) index = Wo_levels - 1; - - return index; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: decode_Wo() - AUTHOR......: David Rowe - DATE CREATED: 22/8/2010 - - Decodes Wo using a WO_LEVELS quantiser. - -\*---------------------------------------------------------------------------*/ - -float decode_Wo(C2CONST *c2const, int index, int bits) { - float Wo_min = c2const->Wo_min; - float Wo_max = c2const->Wo_max; - float step; - float Wo; - int Wo_levels = 1 << bits; - - step = (Wo_max - Wo_min) / Wo_levels; - Wo = Wo_min + step * (index); - - return Wo; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: encode_log_Wo() - AUTHOR......: David Rowe - DATE CREATED: 22/8/2010 - - Encodes Wo in the log domain using a WO_LEVELS quantiser. - -\*---------------------------------------------------------------------------*/ - -int encode_log_Wo(C2CONST *c2const, float Wo, int bits) { - int index, Wo_levels = 1 << bits; - float Wo_min = c2const->Wo_min; - float Wo_max = c2const->Wo_max; - float norm; - - norm = (log10f(Wo) - log10f(Wo_min)) / (log10f(Wo_max) - log10f(Wo_min)); - index = floorf(Wo_levels * norm + 0.5); - if (index < 0) index = 0; - if (index > (Wo_levels - 1)) index = Wo_levels - 1; - - return index; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: decode_log_Wo() - AUTHOR......: David Rowe - DATE CREATED: 22/8/2010 - - Decodes Wo using a WO_LEVELS quantiser in the log domain. - -\*---------------------------------------------------------------------------*/ - -float decode_log_Wo(C2CONST *c2const, int index, int bits) { - float Wo_min = c2const->Wo_min; - float Wo_max = c2const->Wo_max; - float step; - float Wo; - int Wo_levels = 1 << bits; - - step = (log10f(Wo_max) - log10f(Wo_min)) / Wo_levels; - Wo = log10f(Wo_min) + step * (index); - - return POW10F(Wo); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: speech_to_uq_lsps() - AUTHOR......: David Rowe - DATE CREATED: 22/8/2010 - - Analyse a windowed frame of time domain speech to determine LPCs - which are the converted to LSPs for quantisation and transmission - over the channel. - -\*---------------------------------------------------------------------------*/ - -float speech_to_uq_lsps(float lsp[], float ak[], float Sn[], float w[], - int m_pitch, int order) { - int i, roots; - float Wn[m_pitch]; - float R[order + 1]; - float e, E; - - e = 0.0; - for (i = 0; i < m_pitch; i++) { - Wn[i] = Sn[i] * w[i]; - e += Wn[i] * Wn[i]; - } - - /* trap 0 energy case as LPC analysis will fail */ - - if (e == 0.0) { - for (i = 0; i < order; i++) lsp[i] = (PI / order) * (float)i; - return 0.0; - } - - autocorrelate(Wn, R, m_pitch, order); - levinson_durbin(R, ak, order); - - E = 0.0; - for (i = 0; i <= order; i++) E += ak[i] * R[i]; - - /* 15 Hz BW expansion as I can't hear the difference and it may help - help occasional fails in the LSP root finding. Important to do this - after energy calculation to avoid -ve energy values. - */ - - for (i = 0; i <= order; i++) ak[i] *= powf(0.994, (float)i); - - roots = lpc_to_lsp(ak, order, lsp, 5, LSP_DELTA1); - if (roots != order) { - /* if root finding fails use some benign LSP values instead */ - for (i = 0; i < order; i++) lsp[i] = (PI / order) * (float)i; - } - - return E; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: encode_lsps_scalar() - AUTHOR......: David Rowe - DATE CREATED: 22/8/2010 - - Scalar LSP quantiser. From a vector of unquantised (floating point) - LSPs finds the quantised LSP indexes. - -\*---------------------------------------------------------------------------*/ - -void encode_lsps_scalar(int indexes[], float lsp[], int order) { - int i, k, m; - float wt[1]; - float lsp_hz[order]; - const float *cb; - float se; - - /* convert from radians to Hz so we can use human readable - frequencies */ - - for (i = 0; i < order; i++) lsp_hz[i] = (4000.0 / PI) * lsp[i]; - - /* scalar quantisers */ - - wt[0] = 1.0; - for (i = 0; i < order; i++) { - k = lsp_cb[i].k; - m = lsp_cb[i].m; - cb = lsp_cb[i].cb; - indexes[i] = quantise(cb, &lsp_hz[i], wt, k, m, &se); - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: decode_lsps_scalar() - AUTHOR......: David Rowe - DATE CREATED: 22/8/2010 - - From a vector of quantised LSP indexes, returns the quantised - (floating point) LSPs. - -\*---------------------------------------------------------------------------*/ - -void decode_lsps_scalar(float lsp[], int indexes[], int order) { - int i, k; - float lsp_hz[order]; - const float *cb; - - for (i = 0; i < order; i++) { - k = lsp_cb[i].k; - cb = lsp_cb[i].cb; - lsp_hz[i] = cb[indexes[i] * k]; - } - - /* convert back to radians */ - - for (i = 0; i < order; i++) lsp[i] = (PI / 4000.0) * lsp_hz[i]; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: encode_lsps_vq() - AUTHOR......: David Rowe - DATE CREATED: 15 Feb 2012 - - Multi-stage VQ LSP quantiser developed by Jean-Marc Valin. - -\*---------------------------------------------------------------------------*/ - -void encode_lsps_vq(int *indexes, float *x, float *xq, int order) { - int i, n1, n2, n3; - float err[order], err2[order], err3[order]; - float w[order], w2[order], w3[order]; - const float *codebook1 = lsp_cbjmv[0].cb; - const float *codebook2 = lsp_cbjmv[1].cb; - const float *codebook3 = lsp_cbjmv[2].cb; - - w[0] = MIN(x[0], x[1] - x[0]); - for (i = 1; i < order - 1; i++) w[i] = MIN(x[i] - x[i - 1], x[i + 1] - x[i]); - w[order - 1] = MIN(x[order - 1] - x[order - 2], PI - x[order - 1]); - - compute_weights(x, w, order); - - n1 = find_nearest(codebook1, lsp_cbjmv[0].m, x, order); - - for (i = 0; i < order; i++) { - xq[i] = codebook1[order * n1 + i]; - err[i] = x[i] - xq[i]; - } - for (i = 0; i < order / 2; i++) { - err2[i] = err[2 * i]; - err3[i] = err[2 * i + 1]; - w2[i] = w[2 * i]; - w3[i] = w[2 * i + 1]; - } - n2 = find_nearest_weighted(codebook2, lsp_cbjmv[1].m, err2, w2, order / 2); - n3 = find_nearest_weighted(codebook3, lsp_cbjmv[2].m, err3, w3, order / 2); - - indexes[0] = n1; - indexes[1] = n2; - indexes[2] = n3; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: decode_lsps_vq() - AUTHOR......: David Rowe - DATE CREATED: 15 Feb 2012 - -\*---------------------------------------------------------------------------*/ - -void decode_lsps_vq(int *indexes, float *xq, int order, int stages) { - int i, n1, n2, n3; - const float *codebook1 = lsp_cbjmv[0].cb; - const float *codebook2 = lsp_cbjmv[1].cb; - const float *codebook3 = lsp_cbjmv[2].cb; - - n1 = indexes[0]; - n2 = indexes[1]; - n3 = indexes[2]; - - for (i = 0; i < order; i++) { - xq[i] = codebook1[order * n1 + i]; - } - - if (stages != 1) { - for (i = 0; i < order / 2; i++) { - xq[2 * i] += codebook2[order * n2 / 2 + i]; - xq[2 * i + 1] += codebook3[order * n3 / 2 + i]; - } - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: bw_expand_lsps() - AUTHOR......: David Rowe - DATE CREATED: 22/8/2010 - - Applies Bandwidth Expansion (BW) to a vector of LSPs. Prevents any - two LSPs getting too close together after quantisation. We know - from experiment that LSP quantisation errors < 12.5Hz (25Hz step - size) are inaudible so we use that as the minimum LSP separation. - -\*---------------------------------------------------------------------------*/ - -void bw_expand_lsps(float lsp[], int order, float min_sep_low, - float min_sep_high) { - int i; - - for (i = 1; i < 4; i++) { - if ((lsp[i] - lsp[i - 1]) < min_sep_low * (PI / 4000.0)) - lsp[i] = lsp[i - 1] + min_sep_low * (PI / 4000.0); - } - - /* As quantiser gaps increased, larger BW expansion was required - to prevent twinkly noises. This may need more experiment for - different quanstisers. - */ - - for (i = 4; i < order; i++) { - if (lsp[i] - lsp[i - 1] < min_sep_high * (PI / 4000.0)) - lsp[i] = lsp[i - 1] + min_sep_high * (PI / 4000.0); - } -} - -void bw_expand_lsps2(float lsp[], int order) { - int i; - - for (i = 1; i < 4; i++) { - if ((lsp[i] - lsp[i - 1]) < 100.0 * (PI / 4000.0)) - lsp[i] = lsp[i - 1] + 100.0 * (PI / 4000.0); - } - - /* As quantiser gaps increased, larger BW expansion was required - to prevent twinkly noises. This may need more experiment for - different quanstisers. - */ - - for (i = 4; i < order; i++) { - if (lsp[i] - lsp[i - 1] < 200.0 * (PI / 4000.0)) - lsp[i] = lsp[i - 1] + 200.0 * (PI / 4000.0); - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: apply_lpc_correction() - AUTHOR......: David Rowe - DATE CREATED: 22/8/2010 - - Apply first harmonic LPC correction at decoder. This helps improve - low pitch males after LPC modelling, like hts1a and morig. - -\*---------------------------------------------------------------------------*/ - -void apply_lpc_correction(MODEL *model) { - if (model->Wo < (PI * 150.0 / 4000)) { - model->A[1] *= 0.032; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: encode_energy() - AUTHOR......: David Rowe - DATE CREATED: 22/8/2010 - - Encodes LPC energy using an E_LEVELS quantiser. - -\*---------------------------------------------------------------------------*/ - -int encode_energy(float e, int bits) { - int index, e_levels = 1 << bits; - float e_min = E_MIN_DB; - float e_max = E_MAX_DB; - float norm; - - e = 10.0 * log10f(e); - norm = (e - e_min) / (e_max - e_min); - index = floorf(e_levels * norm + 0.5); - if (index < 0) index = 0; - if (index > (e_levels - 1)) index = e_levels - 1; - - return index; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: decode_energy() - AUTHOR......: David Rowe - DATE CREATED: 22/8/2010 - - Decodes energy using a E_LEVELS quantiser. - -\*---------------------------------------------------------------------------*/ - -float decode_energy(int index, int bits) { - float e_min = E_MIN_DB; - float e_max = E_MAX_DB; - float step; - float e; - int e_levels = 1 << bits; - - step = (e_max - e_min) / e_levels; - e = e_min + step * (index); - e = POW10F(e / 10.0); - - return e; -} - -static float ge_coeff[2] = {0.8, 0.9}; - -void compute_weights2(const float *x, const float *xp, float *w) { - w[0] = 30; - w[1] = 1; - if (x[1] < 0) { - w[0] *= .6; - w[1] *= .3; - } - if (x[1] < -10) { - w[0] *= .3; - w[1] *= .3; - } - /* Higher weight if pitch is stable */ - if (fabsf(x[0] - xp[0]) < .2) { - w[0] *= 2; - w[1] *= 1.5; - } else if (fabsf(x[0] - xp[0]) > .5) /* Lower if not stable */ - { - w[0] *= .5; - } - - /* Lower weight for low energy */ - if (x[1] < xp[1] - 10) { - w[1] *= .5; - } - if (x[1] < xp[1] - 20) { - w[1] *= .5; - } - - // w[0] = 30; - // w[1] = 1; - - /* Square the weights because it's applied on the squared error */ - w[0] *= w[0]; - w[1] *= w[1]; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: quantise_WoE() - AUTHOR......: Jean-Marc Valin & David Rowe - DATE CREATED: 29 Feb 2012 - - Experimental joint Wo and LPC energy vector quantiser developed by - Jean-Marc Valin. Exploits correlations between the difference in - the log pitch and log energy from frame to frame. For example - both the pitch and energy tend to only change by small amounts - during voiced speech, however it is important that these changes be - coded carefully. During unvoiced speech they both change a lot but - the ear is less sensitive to errors so coarser quantisation is OK. - - The ear is sensitive to log energy and loq pitch so we quantise in - these domains. That way the error measure used to quantise the - values is close to way the ear senses errors. - - See http://jmspeex.livejournal.com/10446.html - -\*---------------------------------------------------------------------------*/ - -void quantise_WoE(C2CONST *c2const, MODEL *model, float *e, float xq[]) { - int i, n1; - float x[2]; - float err[2]; - float w[2]; - const float *codebook1 = ge_cb[0].cb; - int nb_entries = ge_cb[0].m; - int ndim = ge_cb[0].k; - float Wo_min = c2const->Wo_min; - float Wo_max = c2const->Wo_max; - float Fs = c2const->Fs; - - /* VQ is only trained for Fs = 8000 Hz */ - - assert(Fs == 8000); - - x[0] = log10f((model->Wo / PI) * 4000.0 / 50.0) / log10f(2); - x[1] = 10.0 * log10f(1e-4 + *e); - - compute_weights2(x, xq, w); - for (i = 0; i < ndim; i++) err[i] = x[i] - ge_coeff[i] * xq[i]; - n1 = find_nearest_weighted(codebook1, nb_entries, err, w, ndim); - - for (i = 0; i < ndim; i++) { - xq[i] = ge_coeff[i] * xq[i] + codebook1[ndim * n1 + i]; - err[i] -= codebook1[ndim * n1 + i]; - } - - /* - x = log2(4000*Wo/(PI*50)); - 2^x = 4000*Wo/(PI*50) - Wo = (2^x)*(PI*50)/4000; - */ - - model->Wo = powf(2.0, xq[0]) * (PI * 50.0) / 4000.0; - - /* bit errors can make us go out of range leading to all sorts of - probs like seg faults */ - - if (model->Wo > Wo_max) model->Wo = Wo_max; - if (model->Wo < Wo_min) model->Wo = Wo_min; - - model->L = PI / model->Wo; /* if we quantise Wo re-compute L */ - - *e = POW10F(xq[1] / 10.0); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: encode_WoE() - AUTHOR......: Jean-Marc Valin & David Rowe - DATE CREATED: 11 May 2012 - - Joint Wo and LPC energy vector quantiser developed my Jean-Marc - Valin. Returns index, and updated states xq[]. - -\*---------------------------------------------------------------------------*/ - -int encode_WoE(MODEL *model, float e, float xq[]) { - int i, n1; - float x[2]; - float err[2]; - float w[2]; - const float *codebook1 = ge_cb[0].cb; - int nb_entries = ge_cb[0].m; - int ndim = ge_cb[0].k; - - assert((1 << WO_E_BITS) == nb_entries); - - if (e < 0.0) - e = 0; /* occasional small negative energies due LPC round off I guess */ - - x[0] = log10f((model->Wo / PI) * 4000.0 / 50.0) / log10f(2); - x[1] = 10.0 * log10f(1e-4 + e); - - compute_weights2(x, xq, w); - for (i = 0; i < ndim; i++) err[i] = x[i] - ge_coeff[i] * xq[i]; - n1 = find_nearest_weighted(codebook1, nb_entries, err, w, ndim); - - for (i = 0; i < ndim; i++) { - xq[i] = ge_coeff[i] * xq[i] + codebook1[ndim * n1 + i]; - err[i] -= codebook1[ndim * n1 + i]; - } - - // printf("enc: %f %f (%f)(%f) \n", xq[0], xq[1], e, 10.0*log10(1e-4 + e)); - return n1; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: decode_WoE() - AUTHOR......: Jean-Marc Valin & David Rowe - DATE CREATED: 11 May 2012 - - Joint Wo and LPC energy vector quantiser developed my Jean-Marc - Valin. Given index and states xq[], returns Wo & E, and updates - states xq[]. - -\*---------------------------------------------------------------------------*/ - -void decode_WoE(C2CONST *c2const, MODEL *model, float *e, float xq[], int n1) { - int i; - const float *codebook1 = ge_cb[0].cb; - int ndim = ge_cb[0].k; - float Wo_min = c2const->Wo_min; - float Wo_max = c2const->Wo_max; - - for (i = 0; i < ndim; i++) { - xq[i] = ge_coeff[i] * xq[i] + codebook1[ndim * n1 + i]; - } - - // printf("dec: %f %f\n", xq[0], xq[1]); - model->Wo = powf(2.0, xq[0]) * (PI * 50.0) / 4000.0; - - /* bit errors can make us go out of range leading to all sorts of - probs like seg faults */ - - if (model->Wo > Wo_max) model->Wo = Wo_max; - if (model->Wo < Wo_min) model->Wo = Wo_min; - - model->L = PI / model->Wo; /* if we quantise Wo re-compute L */ - - *e = POW10F(xq[1] / 10.0); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/quantise.h b/vendor/codec2_flutter_ios_only/src/codec2/src/quantise.h deleted file mode 100644 index 08d5532..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/quantise.h +++ /dev/null @@ -1,103 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: quantise.h - AUTHOR......: David Rowe - DATE CREATED: 31/5/92 - - Quantisation functions for the sinusoidal coder. - -\*---------------------------------------------------------------------------*/ - -/* - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __QUANTISE__ -#define __QUANTISE__ - -#include "codec2_fft.h" -#include "comp.h" - -#define WO_BITS 7 -#define WO_LEVELS (1 << WO_BITS) -#define WO_DT_BITS 3 - -#define E_BITS 5 -#define E_LEVELS (1 << E_BITS) -#define E_MIN_DB -10.0 -#define E_MAX_DB 40.0 - -#define LSP_SCALAR_INDEXES 10 -#define LSPD_SCALAR_INDEXES 10 -#define LSP_PRED_VQ_INDEXES 3 - -#define WO_E_BITS 8 - -#define LPCPF_GAMMA 0.5 -#define LPCPF_BETA 0.2 - -float lpc_model_amplitudes(float Sn[], float w[], MODEL *model, int order, - int lsp, float ak[]); -void aks_to_M2(codec2_fftr_cfg fftr_fwd_cfg, float ak[], int order, - MODEL *model, float E, float *snr, int dump, int sim_pf, int pf, - int bass_boost, float beta, float gamma, COMP Aw[]); - -int encode_Wo(C2CONST *c2const, float Wo, int bits); -float decode_Wo(C2CONST *c2const, int index, int bits); -int encode_log_Wo(C2CONST *c2const, float Wo, int bits); -float decode_log_Wo(C2CONST *c2const, int index, int bits); -void encode_lsps_scalar(int indexes[], float lsp[], int order); -void decode_lsps_scalar(float lsp[], int indexes[], int order); -void encode_lspds_scalar(int indexes[], float lsp[], int order); -void decode_lspds_scalar(float lsp[], int indexes[], int order); - -void encode_lsps_vq(int *indexes, float *x, float *xq, int order); -void decode_lsps_vq(int *indexes, float *xq, int order, int stages); - -long quantise(const float *cb, float vec[], float w[], int k, int m, float *se); -void lspvq_quantise(float lsp[], float lsp_[], int order); -void lspjmv_quantise(float lsps[], float lsps_[], int order); - -void quantise_WoE(C2CONST *c2const, MODEL *model, float *e, float xq[]); -int encode_WoE(MODEL *model, float e, float xq[]); -void decode_WoE(C2CONST *c2const, MODEL *model, float *e, float xq[], int n1); - -int encode_energy(float e, int bits); -float decode_energy(int index, int bits); - -void pack(unsigned char *bits, unsigned int *nbit, int index, - unsigned int index_bits); -void pack_natural_or_gray(unsigned char *bits, unsigned int *nbit, int index, - unsigned int index_bits, unsigned int gray); -int unpack(const unsigned char *bits, unsigned int *nbit, - unsigned int index_bits); -int unpack_natural_or_gray(const unsigned char *bits, unsigned int *nbit, - unsigned int index_bits, unsigned int gray); - -int lsp_bits(int i); -int lspd_bits(int i); -int lsp_pred_vq_bits(int i); - -void apply_lpc_correction(MODEL *model); -float speech_to_uq_lsps(float lsp[], float ak[], float Sn[], float w[], - int m_pitch, int order); -int check_lsp_order(float lsp[], int lpc_order); -void bw_expand_lsps(float lsp[], int order, float min_sep_low, - float min_sep_high); -void bw_expand_lsps2(float lsp[], int order); -void locate_lsps_jnd_steps(float lsp[], int order); -float decode_amplitudes(MODEL *model, float ak[], int lsp_indexes[], - int energy_index, float lsps[], float *e); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/reliable_text.c b/vendor/codec2_flutter_ios_only/src/codec2/src/reliable_text.c deleted file mode 100644 index 8a5ba21..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/reliable_text.c +++ /dev/null @@ -1,480 +0,0 @@ -//========================================================================== -// Name: reliable_text.c -// -// Purpose: Handles reliable text (e.g. text with FEC). -// Created: August 15, 2021 -// Authors: Mooneer Salem -// -// License: -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU Lesser General Public License version 2.1, -// as published by the Free Software Foundation. This program is -// distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this program; if not, see . -// -//========================================================================== - -#include "reliable_text.h" - -#include -#include -#include -#include -#include - -#include "freedv_api.h" -#include "freedv_api_internal.h" -#include "gp_interleaver.h" -#include "ldpc_codes.h" -#include "ofdm_internal.h" - -#define LDPC_TOTAL_SIZE_BITS (112) - -#define RELIABLE_TEXT_UW_LENGTH_BITS (16) -#define RELIABLE_TEXT_MAX_ZEROES_IN_UW (4) - -#define RELIABLE_TEXT_MAX_LENGTH (8) -#define RELIABLE_TEXT_CRC_LENGTH (1) -#define RELIABLE_TEXT_MAX_RAW_LENGTH \ - (RELIABLE_TEXT_MAX_LENGTH + RELIABLE_TEXT_CRC_LENGTH) - -/* Two bytes of text/CRC equal four bytes of LDPC(112,56). */ -#define RELIABLE_TEXT_BYTES_PER_ENCODED_SEGMENT (8) - -/* Internal definition of reliable_text_t. */ -typedef struct { - on_text_rx_t text_rx_callback; - void* callback_state; - - char tx_text[LDPC_TOTAL_SIZE_BITS + RELIABLE_TEXT_UW_LENGTH_BITS]; - int tx_text_index; - int tx_text_length; - - char - inbound_pending_bits[RELIABLE_TEXT_UW_LENGTH_BITS + LDPC_TOTAL_SIZE_BITS]; - _Complex float inbound_pending_syms[(RELIABLE_TEXT_UW_LENGTH_BITS + - LDPC_TOTAL_SIZE_BITS) / - 2]; - float inbound_pending_amps[(RELIABLE_TEXT_UW_LENGTH_BITS + - LDPC_TOTAL_SIZE_BITS) / - 2]; - int bit_index; - int sym_index; - - int has_successfully_decoded; - - struct LDPC ldpc; - struct freedv* fdv; -} reliable_text_impl_t; - -// 6 bit character set for text field use: -// 0: ASCII null -// 1-9: ASCII 38-47 -// 10-19: ASCII '0'-'9' -// 20-46: ASCII 'A'-'Z' -// 47: ASCII ' ' -static void convert_callsign_to_ota_string_(const char* input, char* output, - int maxLength) { - assert(input != NULL); - assert(output != NULL); - assert(maxLength >= 0); - - int outidx = 0; - for (size_t index = 0; index < maxLength; index++) { - if (input[index] == 0) break; - - if (input[index] >= 38 && input[index] <= 47) { - output[outidx++] = input[index] - 37; - } else if (input[index] >= '0' && input[index] <= '9') { - output[outidx++] = input[index] - '0' + 10; - } else if (input[index] >= 'A' && input[index] <= 'Z') { - output[outidx++] = input[index] - 'A' + 20; - } else if (input[index] >= 'a' && input[index] <= 'z') { - output[outidx++] = toupper(input[index]) - 'A' + 20; - } - } - output[outidx] = 0; -} - -static void convert_ota_string_to_callsign_(const char* input, char* output, - int maxLength) { - assert(input != NULL); - assert(output != NULL); - assert(maxLength >= 0); - - int outidx = 0; - for (size_t index = 0; index < maxLength; index++) { - if (input[index] == 0) break; - - if (input[index] >= 1 && input[index] <= 9) { - output[outidx++] = input[index] + 37; - } else if (input[index] >= 10 && input[index] <= 19) { - output[outidx++] = input[index] - 10 + '0'; - } else if (input[index] >= 20 && input[index] <= 46) { - output[outidx++] = input[index] - 20 + 'A'; - } - } - output[outidx] = 0; -} - -static char calculateCRC8_(char* input, int length) { - assert(input != NULL); - assert(length >= 0); - - unsigned char generator = 0x1D; - unsigned char crc = 0x00; /* start with 0 so first byte can be 'xored' in */ - - while (length > 0) { - unsigned char ch = *input++; - length--; - - // Break out if we see a null. - if (ch == 0) break; - - crc ^= ch; /* XOR-in the next input byte */ - - for (int i = 0; i < 8; i++) { - if ((crc & 0x80) != 0) { - crc = (unsigned char)((crc << 1) ^ generator); - } else { - crc <<= 1; - } - } - } - - return crc; -} - -static int reliable_text_ldpc_decode(reliable_text_impl_t* obj, char* dest) { - assert(obj != NULL); - assert(dest != NULL); - - char* src = &obj->inbound_pending_bits[RELIABLE_TEXT_UW_LENGTH_BITS]; - char deinterleavedBits[LDPC_TOTAL_SIZE_BITS]; - _Complex float deinterleavedSyms[LDPC_TOTAL_SIZE_BITS / 2]; - float deinterleavedAmps[LDPC_TOTAL_SIZE_BITS / 2]; - float incomingData[LDPC_TOTAL_SIZE_BITS]; - float llr[LDPC_TOTAL_SIZE_BITS]; - unsigned char output[LDPC_TOTAL_SIZE_BITS]; - int parityCheckCount = 0; - - if (obj->bit_index == obj->sym_index * 2) { - // Use soft decision for the LDPC decoder. - - int Npayloadsymsperpacket = LDPC_TOTAL_SIZE_BITS / 2; - - // Deinterleave symbols - gp_deinterleave_comp( - (COMP*)deinterleavedSyms, - (COMP*)&obj->inbound_pending_syms[RELIABLE_TEXT_UW_LENGTH_BITS / 2], - Npayloadsymsperpacket); - gp_deinterleave_float( - deinterleavedAmps, - &obj->inbound_pending_amps[RELIABLE_TEXT_UW_LENGTH_BITS / 2], - Npayloadsymsperpacket); - - float EsNo = 3.0; // note: constant from freedv_700.c - - symbols_to_llrs(llr, (COMP*)deinterleavedSyms, deinterleavedAmps, EsNo, - obj->fdv->ofdm->mean_amp, Npayloadsymsperpacket); - } else { - // Deinterlace the received bits. - gp_deinterleave_bits(deinterleavedBits, src, LDPC_TOTAL_SIZE_BITS / 2); - - // We don't have symbol data (likely due to incorrect mode), so we fall back - // to hard decision. - for (int bitIndex = 0; bitIndex < LDPC_TOTAL_SIZE_BITS; bitIndex++) { - // fprintf(stderr, "rx bit %d: %d\n", bitIndex, - // deinterleavedBits[bitIndex]); - - // Map to value expected by sd_to_llr() - incomingData[bitIndex] = 1.0 - 2.0 * deinterleavedBits[bitIndex]; - } - - sd_to_llr(llr, incomingData, LDPC_TOTAL_SIZE_BITS); - } - run_ldpc_decoder(&obj->ldpc, output, llr, &parityCheckCount); - - // Data is valid if BER < 0.2 - float ber_est = (float)(obj->ldpc.NumberParityBits - parityCheckCount) / - obj->ldpc.NumberParityBits; - int result = (ber_est < 0.2); - - // fprintf(stderr, "BER est: %f\n", ber_est); - if (result) { - memset(dest, 0, RELIABLE_TEXT_BYTES_PER_ENCODED_SEGMENT); - - for (int bitIndex = 0; bitIndex < 8; bitIndex++) { - if (output[bitIndex]) dest[0] |= 1 << bitIndex; - } - for (int bitIndex = 8; bitIndex < (LDPC_TOTAL_SIZE_BITS / 2); bitIndex++) { - int bitsSinceCrc = bitIndex - 8; - if (output[bitIndex]) - dest[1 + (bitsSinceCrc / 6)] |= (1 << (bitsSinceCrc % 6)); - } - } - - return result; -} - -static void reliable_text_freedv_callback_rx_sym(void* state, - _Complex float sym, - float amp) { - reliable_text_impl_t* obj = (reliable_text_impl_t*)state; - assert(obj != NULL); - - // Save the symbol. We'll use it during the bit handling below. - obj->inbound_pending_syms[obj->sym_index] = (complex float)sym; - obj->inbound_pending_amps[obj->sym_index++] = amp; - - // fprintf(stderr, "Got sym: %f, amp: %f\n", sym, amp); -} - -static int check_uw(reliable_text_impl_t* obj) { - assert(obj != NULL); - - // Count number of errors in UW. - int num_zeroes = 0; - for (int bit = 0; bit < RELIABLE_TEXT_UW_LENGTH_BITS; bit++) { - if (obj->inbound_pending_bits[bit] ^ 1) { - num_zeroes++; - } - } - return num_zeroes <= RELIABLE_TEXT_MAX_ZEROES_IN_UW; -} - -static void reliable_text_freedv_callback_rx(void* state, char chr) { - // fprintf(stderr, "char: %d\n", (chr & 0x3F)); - - reliable_text_impl_t* obj = (reliable_text_impl_t*)state; - assert(obj != NULL); - - // No need to further process if we got a valid string already. - if (obj->has_successfully_decoded) { - return; - } - - // Append character to the end of the symbol list. - obj->inbound_pending_bits[obj->bit_index++] = chr; - - // Verify UW and data. - if (obj->bit_index >= RELIABLE_TEXT_UW_LENGTH_BITS + LDPC_TOTAL_SIZE_BITS) { - int uw_bits_valid = check_uw(obj); - - // Only verify data if UW is valid. - int resync = !uw_bits_valid; - if (uw_bits_valid) { - // We have all the bits we need, so we're ready to decode. - char decodedStr[RELIABLE_TEXT_MAX_RAW_LENGTH + 1]; - char rawStr[RELIABLE_TEXT_MAX_RAW_LENGTH + 1]; - memset(rawStr, 0, RELIABLE_TEXT_MAX_RAW_LENGTH + 1); - memset(decodedStr, 0, RELIABLE_TEXT_MAX_RAW_LENGTH + 1); - - if (reliable_text_ldpc_decode(obj, rawStr) != 0) { - // BER is under limits. - convert_ota_string_to_callsign_(&rawStr[RELIABLE_TEXT_CRC_LENGTH], - &decodedStr[RELIABLE_TEXT_CRC_LENGTH], - RELIABLE_TEXT_MAX_LENGTH); - decodedStr[0] = rawStr[0]; // CRC - - // Get expected and actual CRC. - unsigned char receivedCRC = decodedStr[0]; - unsigned char calcCRC = calculateCRC8_( - &rawStr[RELIABLE_TEXT_CRC_LENGTH], RELIABLE_TEXT_MAX_LENGTH); - - // fprintf(stderr, "rxCRC: %d, calcCRC: %d, decodedStr: %s\n", - // receivedCRC, calcCRC, &decodedStr[RELIABLE_TEXT_CRC_LENGTH]); - if (receivedCRC == calcCRC) { - // We got a valid string. Call assigned callback. - obj->has_successfully_decoded = 1; - obj->text_rx_callback(obj, &decodedStr[RELIABLE_TEXT_CRC_LENGTH], - strlen(&decodedStr[RELIABLE_TEXT_CRC_LENGTH]), - obj->callback_state); - } - - // Reset UW decoding for next callsign. - obj->bit_index = 0; - obj->sym_index = 0; - memset(&obj->inbound_pending_syms, 0, - sizeof(complex float) * LDPC_TOTAL_SIZE_BITS / 2); - memset(&obj->inbound_pending_amps, 0, - sizeof(float) * LDPC_TOTAL_SIZE_BITS / 2); - memset(&obj->inbound_pending_bits, 0, - LDPC_TOTAL_SIZE_BITS + RELIABLE_TEXT_UW_LENGTH_BITS); - } else { - // It's possible that we didn't actually sync on UW after all. - // Shift existing UW back 1 bit (or 2 if OFDM), add the bit(s) - // from the data portion to UW, and try again next bit(s) we receive. - resync = 1; - } - } - - if (resync) { - obj->bit_index--; - memmove(&obj->inbound_pending_bits[0], &obj->inbound_pending_bits[1], - RELIABLE_TEXT_UW_LENGTH_BITS + LDPC_TOTAL_SIZE_BITS - 1); - if (obj->sym_index > 0) { - memmove(&obj->inbound_pending_bits[0], &obj->inbound_pending_bits[1], - RELIABLE_TEXT_UW_LENGTH_BITS + LDPC_TOTAL_SIZE_BITS - 1); - memmove(&obj->inbound_pending_syms[0], &obj->inbound_pending_syms[1], - sizeof(_Complex float) * - ((RELIABLE_TEXT_UW_LENGTH_BITS + LDPC_TOTAL_SIZE_BITS) / 2 - - 1)); - memmove(&obj->inbound_pending_amps[0], &obj->inbound_pending_amps[1], - sizeof(float) * - ((RELIABLE_TEXT_UW_LENGTH_BITS + LDPC_TOTAL_SIZE_BITS) / 2 - - 1)); - obj->bit_index--; - obj->sym_index--; - } - } - } -} - -static char reliable_text_freedv_callback_tx(void* state) { - reliable_text_impl_t* obj = (reliable_text_impl_t*)state; - assert(obj != NULL); - - char ret = obj->tx_text[obj->tx_text_index]; - obj->tx_text_index = (obj->tx_text_index + 1) % (obj->tx_text_length); - - // fprintf(stderr, "char: %d\n", ret); - return ret; -} - -reliable_text_t reliable_text_create() { - reliable_text_impl_t* ret = calloc(1, sizeof(reliable_text_impl_t)); - assert(ret != NULL); - - // Load LDPC code into memory. - int code_index = ldpc_codes_find("HRA_56_56"); - memcpy(&ret->ldpc, &ldpc_codes[code_index], sizeof(struct LDPC)); - - return (reliable_text_t)ret; -} - -void reliable_text_destroy(reliable_text_t ptr) { - assert(ptr != NULL); - - reliable_text_unlink_from_freedv(ptr); - free(ptr); -} - -void reliable_text_reset(reliable_text_t ptr) { - reliable_text_impl_t* impl = (reliable_text_impl_t*)ptr; - assert(impl != NULL); - - impl->bit_index = 0; - impl->sym_index = 0; - impl->has_successfully_decoded = 0; - memset(&impl->inbound_pending_syms, 0, - sizeof(complex float) * LDPC_TOTAL_SIZE_BITS / 2); - memset(&impl->inbound_pending_amps, 0, - sizeof(float) * LDPC_TOTAL_SIZE_BITS / 2); - memset(&impl->inbound_pending_bits, 0, - LDPC_TOTAL_SIZE_BITS + RELIABLE_TEXT_UW_LENGTH_BITS); -} - -void reliable_text_set_string(reliable_text_t ptr, const char* str, - int strlength) { - reliable_text_impl_t* impl = (reliable_text_impl_t*)ptr; - assert(impl != NULL); - - char tmp[RELIABLE_TEXT_MAX_RAW_LENGTH + 1]; - memset(tmp, 0, RELIABLE_TEXT_MAX_RAW_LENGTH + 1); - - convert_callsign_to_ota_string_(str, &tmp[RELIABLE_TEXT_CRC_LENGTH], - strlength < RELIABLE_TEXT_MAX_LENGTH - ? strlength - : RELIABLE_TEXT_MAX_LENGTH); - - int txt_length = strlen(&tmp[RELIABLE_TEXT_CRC_LENGTH]); - if (txt_length >= RELIABLE_TEXT_MAX_LENGTH) { - txt_length = RELIABLE_TEXT_MAX_LENGTH; - } - impl->tx_text_length = RELIABLE_TEXT_UW_LENGTH_BITS + LDPC_TOTAL_SIZE_BITS; - impl->tx_text_index = 0; - unsigned char crc = - calculateCRC8_(&tmp[RELIABLE_TEXT_CRC_LENGTH], txt_length); - tmp[0] = crc; - - // Encode block of text using LDPC(112,56). - unsigned char ibits[LDPC_TOTAL_SIZE_BITS / 2]; - unsigned char pbits[LDPC_TOTAL_SIZE_BITS / 2]; - memset(ibits, 0, LDPC_TOTAL_SIZE_BITS / 2); - memset(pbits, 0, LDPC_TOTAL_SIZE_BITS / 2); - for (int index = 0; index < 8; index++) { - if (tmp[0] & (1 << index)) ibits[index] = 1; - } - - // Pack 6 bit characters into single LDPC block. - for (int ibitsBitIndex = 8; ibitsBitIndex < (LDPC_TOTAL_SIZE_BITS / 2); - ibitsBitIndex++) { - int bitsFromCrc = ibitsBitIndex - 8; - unsigned int byte = tmp[RELIABLE_TEXT_CRC_LENGTH + bitsFromCrc / 6]; - unsigned int bitToCheck = bitsFromCrc % 6; - // fprintf(stderr, "bit index: %d, byte: %x, bit to check: %d, result: - // %d\n", ibitsBitIndex, byte, bitToCheck, (byte & (1 << bitToCheck)) != 0); - - if (byte & (1 << bitToCheck)) { - ibits[ibitsBitIndex] = 1; - } - } - - encode(&impl->ldpc, ibits, pbits); - - // Split LDPC encoded bits into individual bits, with the first - // RELIABLE_TEXT_UW_LENGTH_BITS being UW. - char tmpbits[LDPC_TOTAL_SIZE_BITS]; - - memset(impl->tx_text, 1, RELIABLE_TEXT_UW_LENGTH_BITS); - memset(impl->tx_text + RELIABLE_TEXT_UW_LENGTH_BITS, 0, LDPC_TOTAL_SIZE_BITS); - memcpy(&tmpbits[0], &ibits[0], LDPC_TOTAL_SIZE_BITS / 2); - memcpy(&tmpbits[LDPC_TOTAL_SIZE_BITS / 2], &pbits[0], - LDPC_TOTAL_SIZE_BITS / 2); - - // Interleave the bits together to enhance fading performance. - gp_interleave_bits(&impl->tx_text[RELIABLE_TEXT_UW_LENGTH_BITS], tmpbits, - LDPC_TOTAL_SIZE_BITS / 2); -} - -void reliable_text_use_with_freedv(reliable_text_t ptr, struct freedv* fdv, - on_text_rx_t text_rx_fn, void* state) { - reliable_text_impl_t* impl = (reliable_text_impl_t*)ptr; - assert(impl != NULL); - - impl->callback_state = state; - impl->text_rx_callback = text_rx_fn; - impl->fdv = fdv; - freedv_set_callback_txt(fdv, reliable_text_freedv_callback_rx, - reliable_text_freedv_callback_tx, impl); - freedv_set_callback_txt_sym(fdv, reliable_text_freedv_callback_rx_sym, impl); - - // Use code 3 for varicode en/decode and handle all framing at this level. - varicode_set_code_num(&fdv->varicode_dec_states, 3); -} - -struct freedv* reliable_text_get_freedv_obj(reliable_text_t ptr) { - reliable_text_impl_t* impl = (reliable_text_impl_t*)ptr; - assert(impl != NULL); - - return impl->fdv; -} - -void reliable_text_unlink_from_freedv(reliable_text_t ptr) { - reliable_text_impl_t* impl = (reliable_text_impl_t*)ptr; - assert(impl != NULL); - - if (impl->fdv) { - freedv_set_callback_txt(impl->fdv, NULL, NULL, NULL); - freedv_set_callback_txt_sym(impl->fdv, NULL, NULL); - varicode_set_code_num(&impl->fdv->varicode_dec_states, 1); - impl->fdv = NULL; - } -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/reliable_text.h b/vendor/codec2_flutter_ios_only/src/codec2/src/reliable_text.h deleted file mode 100644 index 205a93f..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/reliable_text.h +++ /dev/null @@ -1,67 +0,0 @@ -//========================================================================== -// Name: reliable_text.h -// -// Purpose: Handles reliable text (e.g. text with FEC). -// Created: August 15, 2021 -// Authors: Mooneer Salem -// -// License: -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU Lesser General Public License version 2.1, -// as published by the Free Software Foundation. This program is -// distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public -// License for more details. -// -// You should have received a copy of the GNU Lesser General Public License -// along with this program; if not, see . -// -//========================================================================== - -#ifndef RELIABLE_TEXT_H -#define RELIABLE_TEXT_H - -#ifdef __cplusplus -extern "C" { -#endif // __cplusplus - -/* Forward define struct freedv for use by the function prototypes below. */ -struct freedv; - -/* Hide internals of reliable_text_t. */ -typedef void* reliable_text_t; - -/* Function type for callback (when full reliable text has been received). */ -typedef void (*on_text_rx_t)(reliable_text_t rt, const char* txt_ptr, - int length, void* state); - -/* Allocate reliable_text object. */ -reliable_text_t reliable_text_create(); - -/* Destroy reliable_text object. */ -void reliable_text_destroy(reliable_text_t ptr); - -/* Reset reliable_text object for next sync. */ -void reliable_text_reset(reliable_text_t ptr); - -/* Sets string that is sent on TX. */ -void reliable_text_set_string(reliable_text_t ptr, const char* str, - int strlength); - -/* Link FreeDV object to reliable_text object. */ -void reliable_text_use_with_freedv(reliable_text_t ptr, struct freedv* fdv, - on_text_rx_t text_rx_fn, void* state); - -/* Returns associated struct freedv object. */ -struct freedv* reliable_text_get_freedv_obj(reliable_text_t ptr); - -/* Unlink FreeDV object from reliable_text object. */ -void reliable_text_unlink_from_freedv(reliable_text_t ptr); - -#ifdef __cplusplus -} -#endif // __cplusplus - -#endif // RELIABLE_TEXT_H diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/rn.h b/vendor/codec2_flutter_ios_only/src/codec2/src/rn.h deleted file mode 100644 index d617165..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/rn.h +++ /dev/null @@ -1,195 +0,0 @@ -/* Generated by rn_file() Octave function */ - -const float gt_alpha5_root[] = { - 2.86997e-05, 2.2286e-05, 1.82863e-05, 1.42303e-05, 1.04905e-05, - 6.70859e-06, 3.05918e-06, -6.22187e-07, -4.22748e-06, -7.85603e-06, - -1.14317e-05, -1.50227e-05, -1.85712e-05, -2.21275e-05, -2.56455e-05, - -2.91642e-05, -3.26453e-05, -3.61199e-05, -3.95556e-05, -4.29778e-05, - -4.63581e-05, -4.97179e-05, -5.3032e-05, -5.63184e-05, -5.95548e-05, - -6.27565e-05, -6.59032e-05, -6.90085e-05, -7.20538e-05, -7.50509e-05, - -7.7983e-05, -8.08605e-05, -8.36678e-05, -8.64141e-05, -8.9085e-05, - -9.16888e-05, -9.42119e-05, -9.66619e-05, -9.9026e-05, -0.000101311, - -0.000103505, -0.000105614, -0.000107627, -0.00010955, -0.000111372, - -0.000113099, -0.00011472, -0.000116241, -0.000117652, -0.000118959, - -0.000120152, -0.000121235, -0.000122201, -0.000123053, -0.000123784, - -0.000124397, -0.000124884, -0.00012525, -0.000125487, -0.000125598, - -0.000125578, -0.000125428, -0.000125145, -0.000124729, -0.000124185, - -0.000123518, -0.000122709, -0.000121766, -0.000120685, -0.000119471, - -0.000118119, -0.000116633, -0.000115009, -0.000113251, -0.000111356, - -0.000109326, -0.00010716, -0.00010486, -0.000102424, -9.98553e-05, - -9.71528e-05, -9.43199e-05, -9.13551e-05, -8.82623e-05, -8.50404e-05, - -8.16936e-05, -7.82211e-05, -7.46271e-05, -7.09109e-05, -6.70773e-05, - -6.31256e-05, -5.90607e-05, -5.48823e-05, -5.05954e-05, -4.62001e-05, - -4.17016e-05, -3.71002e-05, -3.24015e-05, -2.7606e-05, -2.27195e-05, - -1.77428e-05, -1.2682e-05, -7.53795e-06, -2.31702e-06, 2.97965e-06, - 8.34567e-06, 1.37796e-05, 1.9275e-05, 2.483e-05, 3.04382e-05, - 3.60975e-05, 4.18011e-05, 4.75467e-05, 5.33273e-05, 5.91403e-05, - 6.49787e-05, 7.08393e-05, 7.67152e-05, 8.26029e-05, 8.84957e-05, - 9.43895e-05, 0.000100278, 0.000106157, 0.00011202, 0.000117864, - 0.000123681, 0.000129468, 0.000135218, 0.000140929, 0.000146583, - 0.000152183, 0.000157725, 0.000163202, 0.000168608, 0.000173938, - 0.000179183, 0.00018434, 0.0001894, 0.00019436, 0.000199211, - 0.000203949, 0.000208568, 0.000213063, 0.000217426, 0.000221654, - 0.00022574, 0.000229678, 0.000233463, 0.000237089, 0.000240551, - 0.000243843, 0.000246959, 0.000249895, 0.000252644, 0.000255202, - 0.000257562, 0.000259721, 0.000261672, 0.000263411, 0.000264933, - 0.000266234, 0.000267308, 0.000268152, 0.00026876, 0.000269128, - 0.000269253, 0.000269129, 0.000268754, 0.000268123, 0.000267232, - 0.000266079, 0.000264658, 0.000262968, 0.000261006, 0.000258767, - 0.000256251, 0.000253453, 0.000250373, 0.000247007, 0.000243354, - 0.000239412, 0.00023518, 0.000230655, 0.000225837, 0.000220723, - 0.000215314, 0.000209608, 0.000203605, 0.000197304, 0.000190706, - 0.000183812, 0.000176621, 0.000169145, 0.000161363, 0.000153275, - 0.000144895, 0.000136224, 0.000127266, 0.00011802, 0.000108491, - 9.8679e-05, 8.85877e-05, 7.82196e-05, 6.7577e-05, 5.66636e-05, - 4.54822e-05, 3.40369e-05, 2.23311e-05, 1.03695e-05, -1.844e-06, - -1.43041e-05, -2.70061e-05, -3.99444e-05, -5.31139e-05, -6.65082e-05, - -8.01218e-05, -9.39481e-05, -0.000107981, -0.000122213, -0.000136638, - -0.000151248, -0.000166036, -0.000180995, -0.000196115, -0.00021139, - -0.000226811, -0.000242369, -0.000258056, -0.000273861, -0.000289776, - -0.000305792, -0.000321898, -0.000338084, -0.000354342, -0.00037066, - -0.000387027, -0.000403434, -0.00041987, -0.000436324, -0.000452784, - -0.00046924, -0.00048568, -0.000502091, -0.000518464, -0.000534785, - -0.000551043, -0.000567225, -0.000583319, -0.000599314, -0.000615196, - -0.000630955, -0.000646575, -0.000662049, -0.000677361, -0.000692506, - -0.000707464, -0.00072229, -0.000736922, -0.000751266, -0.000765372, - -0.000779217, -0.000792798, -0.000806094, -0.000819098, -0.000831793, - -0.000844168, -0.000856207, -0.000867898, -0.000879227, -0.00089018, - -0.000900744, -0.000910906, -0.000920652, -0.00092997, -0.000938844, - -0.000947263, -0.000955214, -0.000962682, -0.000969654, -0.000976119, - -0.000982062, -0.00098747, -0.000992332, -0.000996634, -0.00100036, - -0.00100351, -0.00100606, -0.001008, -0.00100932, -0.00101, - -0.00101005, -0.00100943, -0.00100816, -0.0010062, -0.00100356, - -0.00100021, -0.000996162, -0.000991392, -0.000985892, -0.000979654, - -0.000972668, -0.000964925, -0.000956415, -0.000947131, -0.000937065, - -0.000926208, -0.000914552, -0.00090209, -0.000888816, -0.000874721, - -0.0008598, -0.000844046, -0.000827453, -0.000810015, -0.000791726, - -0.000772581, -0.000752576, -0.000731704, -0.000709965, -0.00068735, - -0.000663865, -0.000639509, -0.000614269, -0.000588146, -0.000561139, - -0.000533246, -0.000504468, -0.000474802, -0.000444251, -0.000412813, - -0.00038049, -0.000347281, -0.000313189, -0.000278215, -0.000242361, - -0.000205629, -0.000168024, -0.000129546, -9.02024e-05, -4.99954e-05, - -8.93026e-06, 3.2988e-05, 7.57537e-05, 0.000119361, 0.000163804, - 0.000209075, 0.000255167, 0.000302074, 0.000349786, 0.000398297, - 0.000447596, 0.000497676, 0.000548526, 0.000600136, 0.000652497, - 0.000705598, 0.000759427, 0.000813972, 0.000869223, 0.000925166, - 0.000981789, 0.00103908, 0.00109702, 0.00115561, 0.00121482, - 0.00127464, 0.00133505, 0.00139605, 0.00145762, 0.00151973, - 0.00158238, 0.00164555, 0.00170922, 0.00177337, 0.00183799, - 0.00190305, 0.00196854, 0.00203445, 0.00210075, 0.00216742, - 0.00223445, 0.00230181, 0.00236949, 0.00243747, 0.00250572, - 0.00257423, 0.00264296, 0.00271192, 0.00278107, 0.00285039, - 0.00291986, 0.00298947, 0.00305918, 0.00312898, 0.00319884, - 0.00326874, 0.00333866, 0.00340857, 0.00347846, 0.00354831, - 0.00361808, 0.00368775, 0.00375731, 0.00382673, 0.00389599, - 0.00396506, 0.00403393, 0.00410256, 0.00417094, 0.00423904, - 0.00430684, 0.00437431, 0.00444144, 0.0045082, 0.00457457, - 0.00464052, 0.00470603, 0.00477108, 0.00483565, 0.00489972, - 0.00496325, 0.00502623, 0.00508865, 0.00515046, 0.00521166, - 0.00527223, 0.00533213, 0.00539135, 0.00544987, 0.00550766, - 0.00556472, 0.005621, 0.00567651, 0.00573121, 0.00578508, - 0.00583811, 0.00589028, 0.00594157, 0.00599196, 0.00604143, - 0.00608996, 0.00613754, 0.00618415, 0.00622977, 0.00627439, - 0.00631798, 0.00636054, 0.00640204, 0.0064425, 0.00648186, - 0.00652009, 0.00655722, 0.00659322, 0.00662808, 0.00666179, - 0.00669433, 0.00672571, 0.00675589, 0.00678488, 0.00681266, - 0.00683921, 0.00686454, 0.00688863, 0.00691147, 0.00693305, - 0.00695336, 0.0069724, 0.00699016, 0.00700663, 0.00702181, - 0.00703569, 0.00704826, 0.00705952, 0.00706947, 0.00707809, - 0.0070854, 0.00709138, 0.00709604, 0.00709937, 0.00710136, - 0.00710203, 0.00710136, 0.00709937, 0.00709604, 0.00709138, - 0.0070854, 0.00707809, 0.00706947, 0.00705952, 0.00704826, - 0.00703569, 0.00702181, 0.00700663, 0.00699016, 0.0069724, - 0.00695336, 0.00693305, 0.00691147, 0.00688863, 0.00686454, - 0.00683921, 0.00681266, 0.00678488, 0.00675589, 0.00672571, - 0.00669433, 0.00666179, 0.00662808, 0.00659322, 0.00655722, - 0.00652009, 0.00648186, 0.0064425, 0.00640204, 0.00636054, - 0.00631798, 0.00627439, 0.00622977, 0.00618415, 0.00613754, - 0.00608996, 0.00604143, 0.00599196, 0.00594157, 0.00589028, - 0.00583811, 0.00578508, 0.00573121, 0.00567651, 0.005621, - 0.00556472, 0.00550766, 0.00544987, 0.00539135, 0.00533213, - 0.00527223, 0.00521166, 0.00515046, 0.00508865, 0.00502623, - 0.00496325, 0.00489972, 0.00483565, 0.00477108, 0.00470603, - 0.00464052, 0.00457457, 0.0045082, 0.00444144, 0.00437431, - 0.00430684, 0.00423904, 0.00417094, 0.00410256, 0.00403393, - 0.00396506, 0.00389599, 0.00382673, 0.00375731, 0.00368775, - 0.00361808, 0.00354831, 0.00347846, 0.00340857, 0.00333866, - 0.00326874, 0.00319884, 0.00312898, 0.00305918, 0.00298947, - 0.00291986, 0.00285039, 0.00278107, 0.00271192, 0.00264296, - 0.00257423, 0.00250572, 0.00243747, 0.00236949, 0.00230181, - 0.00223445, 0.00216742, 0.00210075, 0.00203445, 0.00196854, - 0.00190305, 0.00183799, 0.00177337, 0.00170922, 0.00164555, - 0.00158238, 0.00151973, 0.00145762, 0.00139605, 0.00133505, - 0.00127464, 0.00121482, 0.00115561, 0.00109702, 0.00103908, - 0.000981789, 0.000925166, 0.000869223, 0.000813972, 0.000759427, - 0.000705598, 0.000652497, 0.000600136, 0.000548526, 0.000497676, - 0.000447596, 0.000398297, 0.000349786, 0.000302074, 0.000255167, - 0.000209075, 0.000163804, 0.000119361, 7.57537e-05, 3.2988e-05, - -8.93026e-06, -4.99954e-05, -9.02024e-05, -0.000129546, -0.000168024, - -0.000205629, -0.000242361, -0.000278215, -0.000313189, -0.000347281, - -0.00038049, -0.000412813, -0.000444251, -0.000474802, -0.000504468, - -0.000533246, -0.000561139, -0.000588146, -0.000614269, -0.000639509, - -0.000663865, -0.00068735, -0.000709965, -0.000731704, -0.000752576, - -0.000772581, -0.000791726, -0.000810015, -0.000827453, -0.000844046, - -0.0008598, -0.000874721, -0.000888816, -0.00090209, -0.000914552, - -0.000926208, -0.000937065, -0.000947131, -0.000956415, -0.000964925, - -0.000972668, -0.000979654, -0.000985892, -0.000991392, -0.000996162, - -0.00100021, -0.00100356, -0.0010062, -0.00100816, -0.00100943, - -0.00101005, -0.00101, -0.00100932, -0.001008, -0.00100606, - -0.00100351, -0.00100036, -0.000996634, -0.000992332, -0.00098747, - -0.000982062, -0.000976119, -0.000969654, -0.000962682, -0.000955214, - -0.000947263, -0.000938844, -0.00092997, -0.000920652, -0.000910906, - -0.000900744, -0.00089018, -0.000879227, -0.000867898, -0.000856207, - -0.000844168, -0.000831793, -0.000819098, -0.000806094, -0.000792798, - -0.000779217, -0.000765372, -0.000751266, -0.000736922, -0.00072229, - -0.000707464, -0.000692506, -0.000677361, -0.000662049, -0.000646575, - -0.000630955, -0.000615196, -0.000599314, -0.000583319, -0.000567225, - -0.000551043, -0.000534785, -0.000518464, -0.000502091, -0.00048568, - -0.00046924, -0.000452784, -0.000436324, -0.00041987, -0.000403434, - -0.000387027, -0.00037066, -0.000354342, -0.000338084, -0.000321898, - -0.000305792, -0.000289776, -0.000273861, -0.000258056, -0.000242369, - -0.000226811, -0.00021139, -0.000196115, -0.000180995, -0.000166036, - -0.000151248, -0.000136638, -0.000122213, -0.000107981, -9.39481e-05, - -8.01218e-05, -6.65082e-05, -5.31139e-05, -3.99444e-05, -2.70061e-05, - -1.43041e-05, -1.844e-06, 1.03695e-05, 2.23311e-05, 3.40369e-05, - 4.54822e-05, 5.66636e-05, 6.7577e-05, 7.82196e-05, 8.85877e-05, - 9.8679e-05, 0.000108491, 0.00011802, 0.000127266, 0.000136224, - 0.000144895, 0.000153275, 0.000161363, 0.000169145, 0.000176621, - 0.000183812, 0.000190706, 0.000197304, 0.000203605, 0.000209608, - 0.000215314, 0.000220723, 0.000225837, 0.000230655, 0.00023518, - 0.000239412, 0.000243354, 0.000247007, 0.000250373, 0.000253453, - 0.000256251, 0.000258767, 0.000261006, 0.000262968, 0.000264658, - 0.000266079, 0.000267232, 0.000268123, 0.000268754, 0.000269129, - 0.000269253, 0.000269128, 0.00026876, 0.000268152, 0.000267308, - 0.000266234, 0.000264933, 0.000263411, 0.000261672, 0.000259721, - 0.000257562, 0.000255202, 0.000252644, 0.000249895, 0.000246959, - 0.000243843, 0.000240551, 0.000237089, 0.000233463, 0.000229678, - 0.00022574, 0.000221654, 0.000217426, 0.000213063, 0.000208568, - 0.000203949, 0.000199211, 0.00019436, 0.0001894, 0.00018434, - 0.000179183, 0.000173938, 0.000168608, 0.000163202, 0.000157725, - 0.000152183, 0.000146583, 0.000140929, 0.000135218, 0.000129468, - 0.000123681, 0.000117864, 0.00011202, 0.000106157, 0.000100278, - 9.43895e-05, 8.84957e-05, 8.26029e-05, 7.67152e-05, 7.08393e-05, - 6.49787e-05, 5.91403e-05, 5.33273e-05, 4.75467e-05, 4.18011e-05, - 3.60975e-05, 3.04382e-05, 2.483e-05, 1.9275e-05, 1.37796e-05, - 8.34567e-06, 2.97965e-06, -2.31702e-06, -7.53795e-06, -1.2682e-05, - -1.77428e-05, -2.27195e-05, -2.7606e-05, -3.24015e-05, -3.71002e-05, - -4.17016e-05, -4.62001e-05, -5.05954e-05, -5.48823e-05, -5.90607e-05, - -6.31256e-05, -6.70773e-05, -7.09109e-05, -7.46271e-05, -7.82211e-05, - -8.16936e-05, -8.50404e-05, -8.82623e-05, -9.13551e-05, -9.43199e-05, - -9.71528e-05, -9.98553e-05, -0.000102424, -0.00010486, -0.00010716, - -0.000109326, -0.000111356, -0.000113251, -0.000115009, -0.000116633, - -0.000118119, -0.000119471, -0.000120685, -0.000121766, -0.000122709, - -0.000123518, -0.000124185, -0.000124729, -0.000125145, -0.000125428, - -0.000125578, -0.000125598, -0.000125487, -0.00012525, -0.000124884, - -0.000124397, -0.000123784, -0.000123053, -0.000122201, -0.000121235, - -0.000120152, -0.000118959, -0.000117652, -0.000116241, -0.00011472, - -0.000113099, -0.000111372, -0.00010955, -0.000107627, -0.000105614, - -0.000103505, -0.000101311, -9.9026e-05, -9.66619e-05, -9.42119e-05, - -9.16888e-05, -8.9085e-05, -8.64141e-05, -8.36678e-05, -8.08605e-05, - -7.7983e-05, -7.50509e-05, -7.20538e-05, -6.90085e-05, -6.59032e-05, - -6.27565e-05, -5.95548e-05, -5.63184e-05, -5.3032e-05, -4.97179e-05, - -4.63581e-05, -4.29778e-05, -3.95556e-05, -3.61199e-05, -3.26453e-05, - -2.91642e-05, -2.56455e-05, -2.21275e-05, -1.85712e-05, -1.50227e-05, - -1.14317e-05, -7.85603e-06, -4.22748e-06, -6.22187e-07, 3.05918e-06, - 6.70859e-06, 1.04905e-05, 1.42303e-05, 1.82863e-05, 2.2286e-05}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/rn_coh.h b/vendor/codec2_flutter_ios_only/src/codec2/src/rn_coh.h deleted file mode 100644 index 0bcbd3e..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/rn_coh.h +++ /dev/null @@ -1,366 +0,0 @@ -/* Generated by rn_file() Octave function */ - -const float gt_alpha5_root_coh[] = { - 4.05576e-05, 2.58255e-05, 1.58964e-05, 5.78773e-06, -3.71244e-06, - -1.33229e-05, -2.2664e-05, -3.20611e-05, -4.12734e-05, -5.04935e-05, - -5.9545e-05, -6.85565e-05, -7.73902e-05, -8.6137e-05, -9.46835e-05, - -0.000103097, -0.000111281, -0.000119289, -0.000127034, -0.000134559, - -0.000141789, -0.000148756, -0.000155393, -0.000161723, -0.000167689, - -0.000173315, -0.00017854, -0.000183382, -0.000187794, -0.000191793, - -0.000195333, -0.000198429, -0.000201038, -0.000203173, -0.000204797, - -0.000205922, -0.000206515, -0.00020659, -0.000206117, -0.000205109, - -0.000203541, -0.000201427, -0.000198743, -0.000195505, -0.000191693, - -0.000187324, -0.000182382, -0.000176885, -0.000170822, -0.00016421, - -0.000157041, -0.000149335, -0.000141089, -0.000132323, -0.000123038, - -0.000113258, -0.000102985, -9.22439e-05, -8.10442e-05, -6.94109e-05, - -5.73536e-05, -4.49012e-05, -3.20661e-05, -1.88794e-05, -5.35615e-06, - 8.47105e-06, 2.25833e-05, 3.69472e-05, 5.15418e-05, 6.63317e-05, - 8.12934e-05, 9.63895e-05, 0.000111594, 0.000126869, 0.000142183, - 0.000157497, 0.000172781, 0.000187996, 0.000203111, 0.000218088, - 0.000232892, 0.000247474, 0.000261806, 0.000275847, 0.000289559, - 0.000302903, 0.000315839, 0.00032833, 0.000340339, 0.000351824, - 0.000362751, 0.00037308, 0.000382774, 0.000391795, 0.000400108, - 0.000407675, 0.000414464, 0.000420437, 0.000425565, 0.000429812, - 0.000433151, 0.000435544, 0.000436975, 0.000437401, 0.000436865, - 0.000435237, 0.00043246, 0.000428592, 0.000423608, 0.000417497, - 0.00041024, 0.000401823, 0.000392231, 0.000381449, 0.000369471, - 0.000356284, 0.000341885, 0.000326267, 0.00030943, 0.000291373, - 0.000272099, 0.000251612, 0.000229921, 0.000207034, 0.000182964, - 0.000157726, 0.000131338, 0.000103821, 7.51956e-05, 4.54842e-05, - 1.4721e-05, -1.7067e-05, -4.98479e-05, -8.35883e-05, -0.000118248, - -0.00015379, -0.000190167, -0.000227336, -0.000265248, -0.000303856, - -0.000343104, -0.000382942, -0.00042331, -0.000464152, -0.000505403, - -0.000547003, -0.000588883, -0.000630979, -0.000673218, -0.000715533, - -0.000757849, -0.000800092, -0.000842187, -0.000884054, -0.000925613, - -0.000966788, -0.00100749, -0.00104765, -0.00108717, -0.00112597, - -0.00116397, -0.00120108, -0.0012372, -0.00127227, -0.00130617, - -0.00133884, -0.00137017, -0.00140008, -0.00142848, -0.00145528, - -0.0014804, -0.00150374, -0.00152522, -0.00154475, -0.00156225, - -0.00157763, -0.00159081, -0.00160171, -0.00161024, -0.00161633, - -0.0016199, -0.00162088, -0.00161917, -0.00161472, -0.00160744, - -0.00159729, -0.00158419, -0.00156807, -0.00154888, -0.00152655, - -0.00150103, -0.00147227, -0.00144021, -0.00140482, -0.00136604, - -0.00132384, -0.00127818, -0.00122903, -0.00117635, -0.00112013, - -0.00106033, -0.000996946, -0.000929956, -0.000859348, -0.000785117, - -0.000707261, -0.000625779, -0.00054068, -0.000451952, -0.000359651, - -0.000263788, -0.00016436, -6.13947e-05, 4.5076e-05, 0.000155016, - 0.000268384, 0.000385134, 0.000505217, 0.000628582, 0.000755171, - 0.000884923, 0.00101777, 0.00115366, 0.00129249, 0.00143421, - 0.00157873, 0.00172596, 0.00187583, 0.00202822, 0.00218306, - 0.00234023, 0.00249965, 0.00266119, 0.00282475, 0.00299023, - 0.00315749, 0.00332643, 0.00349691, 0.00366882, 0.00384202, - 0.00401639, 0.0041918, 0.0043681, 0.00454516, 0.00472285, - 0.00490101, 0.00507951, 0.00525821, 0.00543695, 0.0056156, - 0.005794, 0.00597201, 0.00614947, 0.00632623, 0.00650216, - 0.00667708, 0.00685086, 0.00702335, 0.00719439, 0.00736383, - 0.00753153, 0.00769734, 0.00786111, 0.00802269, 0.00818194, - 0.00833872, 0.00849289, 0.0086443, 0.00879283, 0.00893832, - 0.00908066, 0.00921971, 0.00935534, 0.00948743, 0.00961585, - 0.00974049, 0.00986123, 0.00997795, 0.0100905, 0.0101989, - 0.0103029, 0.0104025, 0.0104976, 0.0105881, 0.0106738, - 0.0107548, 0.010831, 0.0109022, 0.0109684, 0.0110295, - 0.0110855, 0.0111364, 0.011182, 0.0112224, 0.0112575, - 0.0112872, 0.0113115, 0.0113305, 0.0113441, 0.0113522, - 0.0113549, 0.0113522, 0.0113441, 0.0113305, 0.0113115, - 0.0112872, 0.0112575, 0.0112224, 0.011182, 0.0111364, - 0.0110855, 0.0110295, 0.0109684, 0.0109022, 0.010831, - 0.0107548, 0.0106738, 0.0105881, 0.0104976, 0.0104025, - 0.0103029, 0.0101989, 0.0100905, 0.00997795, 0.00986123, - 0.00974049, 0.00961585, 0.00948743, 0.00935534, 0.00921971, - 0.00908066, 0.00893832, 0.00879283, 0.0086443, 0.00849289, - 0.00833872, 0.00818194, 0.00802269, 0.00786111, 0.00769734, - 0.00753153, 0.00736383, 0.00719439, 0.00702335, 0.00685086, - 0.00667708, 0.00650216, 0.00632623, 0.00614947, 0.00597201, - 0.005794, 0.0056156, 0.00543695, 0.00525821, 0.00507951, - 0.00490101, 0.00472285, 0.00454516, 0.0043681, 0.0041918, - 0.00401639, 0.00384202, 0.00366882, 0.00349691, 0.00332643, - 0.00315749, 0.00299023, 0.00282475, 0.00266119, 0.00249965, - 0.00234023, 0.00218306, 0.00202822, 0.00187583, 0.00172596, - 0.00157873, 0.00143421, 0.00129249, 0.00115366, 0.00101777, - 0.000884923, 0.000755171, 0.000628582, 0.000505217, 0.000385134, - 0.000268384, 0.000155016, 4.5076e-05, -6.13947e-05, -0.00016436, - -0.000263788, -0.000359651, -0.000451952, -0.00054068, -0.000625779, - -0.000707261, -0.000785117, -0.000859348, -0.000929956, -0.000996946, - -0.00106033, -0.00112013, -0.00117635, -0.00122903, -0.00127818, - -0.00132384, -0.00136604, -0.00140482, -0.00144021, -0.00147227, - -0.00150103, -0.00152655, -0.00154888, -0.00156807, -0.00158419, - -0.00159729, -0.00160744, -0.00161472, -0.00161917, -0.00162088, - -0.0016199, -0.00161633, -0.00161024, -0.00160171, -0.00159081, - -0.00157763, -0.00156225, -0.00154475, -0.00152522, -0.00150374, - -0.0014804, -0.00145528, -0.00142848, -0.00140008, -0.00137017, - -0.00133884, -0.00130617, -0.00127227, -0.0012372, -0.00120108, - -0.00116397, -0.00112597, -0.00108717, -0.00104765, -0.00100749, - -0.000966788, -0.000925613, -0.000884054, -0.000842187, -0.000800092, - -0.000757849, -0.000715533, -0.000673218, -0.000630979, -0.000588883, - -0.000547003, -0.000505403, -0.000464152, -0.00042331, -0.000382942, - -0.000343104, -0.000303856, -0.000265248, -0.000227336, -0.000190167, - -0.00015379, -0.000118248, -8.35883e-05, -4.98479e-05, -1.7067e-05, - 1.4721e-05, 4.54842e-05, 7.51956e-05, 0.000103821, 0.000131338, - 0.000157726, 0.000182964, 0.000207034, 0.000229921, 0.000251612, - 0.000272099, 0.000291373, 0.00030943, 0.000326267, 0.000341885, - 0.000356284, 0.000369471, 0.000381449, 0.000392231, 0.000401823, - 0.00041024, 0.000417497, 0.000423608, 0.000428592, 0.00043246, - 0.000435237, 0.000436865, 0.000437401, 0.000436975, 0.000435544, - 0.000433151, 0.000429812, 0.000425565, 0.000420437, 0.000414464, - 0.000407675, 0.000400108, 0.000391795, 0.000382774, 0.00037308, - 0.000362751, 0.000351824, 0.000340339, 0.00032833, 0.000315839, - 0.000302903, 0.000289559, 0.000275847, 0.000261806, 0.000247474, - 0.000232892, 0.000218088, 0.000203111, 0.000187996, 0.000172781, - 0.000157497, 0.000142183, 0.000126869, 0.000111594, 9.63895e-05, - 8.12934e-05, 6.63317e-05, 5.15418e-05, 3.69472e-05, 2.25833e-05, - 8.47105e-06, -5.35615e-06, -1.88794e-05, -3.20661e-05, -4.49012e-05, - -5.73536e-05, -6.94109e-05, -8.10442e-05, -9.22439e-05, -0.000102985, - -0.000113258, -0.000123038, -0.000132323, -0.000141089, -0.000149335, - -0.000157041, -0.00016421, -0.000170822, -0.000176885, -0.000182382, - -0.000187324, -0.000191693, -0.000195505, -0.000198743, -0.000201427, - -0.000203541, -0.000205109, -0.000206117, -0.00020659, -0.000206515, - -0.000205922, -0.000204797, -0.000203173, -0.000201038, -0.000198429, - -0.000195333, -0.000191793, -0.000187794, -0.000183382, -0.00017854, - -0.000173315, -0.000167689, -0.000161723, -0.000155393, -0.000148756, - -0.000141789, -0.000134559, -0.000127034, -0.000119289, -0.000111281, - -0.000103097, -9.46835e-05, -8.6137e-05, -7.73902e-05, -6.85565e-05, - -5.9545e-05, -5.04935e-05, -4.12734e-05, -3.20611e-05, -2.2664e-05, - -1.33229e-05, -3.71244e-06, 5.78773e-06, 1.58964e-05, 2.58255e-05}; - -const float gt_alpha5_root_coh_neon[] = { - 4.05576e-05, 4.05576e-05, 2.58255e-05, 2.58255e-05, 1.58964e-05, - 1.58964e-05, 5.78773e-06, 5.78773e-06, -3.71244e-06, -3.71244e-06, - -1.33229e-05, -1.33229e-05, -2.2664e-05, -2.2664e-05, -3.20611e-05, - -3.20611e-05, -4.12734e-05, -4.12734e-05, -5.04935e-05, -5.04935e-05, - -5.9545e-05, -5.9545e-05, -6.85565e-05, -6.85565e-05, -7.73902e-05, - -7.73902e-05, -8.6137e-05, -8.6137e-05, -9.46835e-05, -9.46835e-05, - -0.000103097, -0.000103097, -0.000111281, -0.000111281, -0.000119289, - -0.000119289, -0.000127034, -0.000127034, -0.000134559, -0.000134559, - -0.000141789, -0.000141789, -0.000148756, -0.000148756, -0.000155393, - -0.000155393, -0.000161723, -0.000161723, -0.000167689, -0.000167689, - -0.000173315, -0.000173315, -0.00017854, -0.00017854, -0.000183382, - -0.000183382, -0.000187794, -0.000187794, -0.000191793, -0.000191793, - -0.000195333, -0.000195333, -0.000198429, -0.000198429, -0.000201038, - -0.000201038, -0.000203173, -0.000203173, -0.000204797, -0.000204797, - -0.000205922, -0.000205922, -0.000206515, -0.000206515, -0.00020659, - -0.00020659, -0.000206117, -0.000206117, -0.000205109, -0.000205109, - -0.000203541, -0.000203541, -0.000201427, -0.000201427, -0.000198743, - -0.000198743, -0.000195505, -0.000195505, -0.000191693, -0.000191693, - -0.000187324, -0.000187324, -0.000182382, -0.000182382, -0.000176885, - -0.000176885, -0.000170822, -0.000170822, -0.00016421, -0.00016421, - -0.000157041, -0.000157041, -0.000149335, -0.000149335, -0.000141089, - -0.000141089, -0.000132323, -0.000132323, -0.000123038, -0.000123038, - -0.000113258, -0.000113258, -0.000102985, -0.000102985, -9.22439e-05, - -9.22439e-05, -8.10442e-05, -8.10442e-05, -6.94109e-05, -6.94109e-05, - -5.73536e-05, -5.73536e-05, -4.49012e-05, -4.49012e-05, -3.20661e-05, - -3.20661e-05, -1.88794e-05, -1.88794e-05, -5.35615e-06, -5.35615e-06, - 8.47105e-06, 8.47105e-06, 2.25833e-05, 2.25833e-05, 3.69472e-05, - 3.69472e-05, 5.15418e-05, 5.15418e-05, 6.63317e-05, 6.63317e-05, - 8.12934e-05, 8.12934e-05, 9.63895e-05, 9.63895e-05, 0.000111594, - 0.000111594, 0.000126869, 0.000126869, 0.000142183, 0.000142183, - 0.000157497, 0.000157497, 0.000172781, 0.000172781, 0.000187996, - 0.000187996, 0.000203111, 0.000203111, 0.000218088, 0.000218088, - 0.000232892, 0.000232892, 0.000247474, 0.000247474, 0.000261806, - 0.000261806, 0.000275847, 0.000275847, 0.000289559, 0.000289559, - 0.000302903, 0.000302903, 0.000315839, 0.000315839, 0.00032833, - 0.00032833, 0.000340339, 0.000340339, 0.000351824, 0.000351824, - 0.000362751, 0.000362751, 0.00037308, 0.00037308, 0.000382774, - 0.000382774, 0.000391795, 0.000391795, 0.000400108, 0.000400108, - 0.000407675, 0.000407675, 0.000414464, 0.000414464, 0.000420437, - 0.000420437, 0.000425565, 0.000425565, 0.000429812, 0.000429812, - 0.000433151, 0.000433151, 0.000435544, 0.000435544, 0.000436975, - 0.000436975, 0.000437401, 0.000437401, 0.000436865, 0.000436865, - 0.000435237, 0.000435237, 0.00043246, 0.00043246, 0.000428592, - 0.000428592, 0.000423608, 0.000423608, 0.000417497, 0.000417497, - 0.00041024, 0.00041024, 0.000401823, 0.000401823, 0.000392231, - 0.000392231, 0.000381449, 0.000381449, 0.000369471, 0.000369471, - 0.000356284, 0.000356284, 0.000341885, 0.000341885, 0.000326267, - 0.000326267, 0.00030943, 0.00030943, 0.000291373, 0.000291373, - 0.000272099, 0.000272099, 0.000251612, 0.000251612, 0.000229921, - 0.000229921, 0.000207034, 0.000207034, 0.000182964, 0.000182964, - 0.000157726, 0.000157726, 0.000131338, 0.000131338, 0.000103821, - 0.000103821, 7.51956e-05, 7.51956e-05, 4.54842e-05, 4.54842e-05, - 1.4721e-05, 1.4721e-05, -1.7067e-05, -1.7067e-05, -4.98479e-05, - -4.98479e-05, -8.35883e-05, -8.35883e-05, -0.000118248, -0.000118248, - -0.00015379, -0.00015379, -0.000190167, -0.000190167, -0.000227336, - -0.000227336, -0.000265248, -0.000265248, -0.000303856, -0.000303856, - -0.000343104, -0.000343104, -0.000382942, -0.000382942, -0.00042331, - -0.00042331, -0.000464152, -0.000464152, -0.000505403, -0.000505403, - -0.000547003, -0.000547003, -0.000588883, -0.000588883, -0.000630979, - -0.000630979, -0.000673218, -0.000673218, -0.000715533, -0.000715533, - -0.000757849, -0.000757849, -0.000800092, -0.000800092, -0.000842187, - -0.000842187, -0.000884054, -0.000884054, -0.000925613, -0.000925613, - -0.000966788, -0.000966788, -0.00100749, -0.00100749, -0.00104765, - -0.00104765, -0.00108717, -0.00108717, -0.00112597, -0.00112597, - -0.00116397, -0.00116397, -0.00120108, -0.00120108, -0.0012372, - -0.0012372, -0.00127227, -0.00127227, -0.00130617, -0.00130617, - -0.00133884, -0.00133884, -0.00137017, -0.00137017, -0.00140008, - -0.00140008, -0.00142848, -0.00142848, -0.00145528, -0.00145528, - -0.0014804, -0.0014804, -0.00150374, -0.00150374, -0.00152522, - -0.00152522, -0.00154475, -0.00154475, -0.00156225, -0.00156225, - -0.00157763, -0.00157763, -0.00159081, -0.00159081, -0.00160171, - -0.00160171, -0.00161024, -0.00161024, -0.00161633, -0.00161633, - -0.0016199, -0.0016199, -0.00162088, -0.00162088, -0.00161917, - -0.00161917, -0.00161472, -0.00161472, -0.00160744, -0.00160744, - -0.00159729, -0.00159729, -0.00158419, -0.00158419, -0.00156807, - -0.00156807, -0.00154888, -0.00154888, -0.00152655, -0.00152655, - -0.00150103, -0.00150103, -0.00147227, -0.00147227, -0.00144021, - -0.00144021, -0.00140482, -0.00140482, -0.00136604, -0.00136604, - -0.00132384, -0.00132384, -0.00127818, -0.00127818, -0.00122903, - -0.00122903, -0.00117635, -0.00117635, -0.00112013, -0.00112013, - -0.00106033, -0.00106033, -0.000996946, -0.000996946, -0.000929956, - -0.000929956, -0.000859348, -0.000859348, -0.000785117, -0.000785117, - -0.000707261, -0.000707261, -0.000625779, -0.000625779, -0.00054068, - -0.00054068, -0.000451952, -0.000451952, -0.000359651, -0.000359651, - -0.000263788, -0.000263788, -0.00016436, -0.00016436, -6.13947e-05, - -6.13947e-05, 4.5076e-05, 4.5076e-05, 0.000155016, 0.000155016, - 0.000268384, 0.000268384, 0.000385134, 0.000385134, 0.000505217, - 0.000505217, 0.000628582, 0.000628582, 0.000755171, 0.000755171, - 0.000884923, 0.000884923, 0.00101777, 0.00101777, 0.00115366, - 0.00115366, 0.00129249, 0.00129249, 0.00143421, 0.00143421, - 0.00157873, 0.00157873, 0.00172596, 0.00172596, 0.00187583, - 0.00187583, 0.00202822, 0.00202822, 0.00218306, 0.00218306, - 0.00234023, 0.00234023, 0.00249965, 0.00249965, 0.00266119, - 0.00266119, 0.00282475, 0.00282475, 0.00299023, 0.00299023, - 0.00315749, 0.00315749, 0.00332643, 0.00332643, 0.00349691, - 0.00349691, 0.00366882, 0.00366882, 0.00384202, 0.00384202, - 0.00401639, 0.00401639, 0.0041918, 0.0041918, 0.0043681, - 0.0043681, 0.00454516, 0.00454516, 0.00472285, 0.00472285, - 0.00490101, 0.00490101, 0.00507951, 0.00507951, 0.00525821, - 0.00525821, 0.00543695, 0.00543695, 0.0056156, 0.0056156, - 0.005794, 0.005794, 0.00597201, 0.00597201, 0.00614947, - 0.00614947, 0.00632623, 0.00632623, 0.00650216, 0.00650216, - 0.00667708, 0.00667708, 0.00685086, 0.00685086, 0.00702335, - 0.00702335, 0.00719439, 0.00719439, 0.00736383, 0.00736383, - 0.00753153, 0.00753153, 0.00769734, 0.00769734, 0.00786111, - 0.00786111, 0.00802269, 0.00802269, 0.00818194, 0.00818194, - 0.00833872, 0.00833872, 0.00849289, 0.00849289, 0.0086443, - 0.0086443, 0.00879283, 0.00879283, 0.00893832, 0.00893832, - 0.00908066, 0.00908066, 0.00921971, 0.00921971, 0.00935534, - 0.00935534, 0.00948743, 0.00948743, 0.00961585, 0.00961585, - 0.00974049, 0.00974049, 0.00986123, 0.00986123, 0.00997795, - 0.00997795, 0.0100905, 0.0100905, 0.0101989, 0.0101989, - 0.0103029, 0.0103029, 0.0104025, 0.0104025, 0.0104976, - 0.0104976, 0.0105881, 0.0105881, 0.0106738, 0.0106738, - 0.0107548, 0.0107548, 0.010831, 0.010831, 0.0109022, - 0.0109022, 0.0109684, 0.0109684, 0.0110295, 0.0110295, - 0.0110855, 0.0110855, 0.0111364, 0.0111364, 0.011182, - 0.011182, 0.0112224, 0.0112224, 0.0112575, 0.0112575, - 0.0112872, 0.0112872, 0.0113115, 0.0113115, 0.0113305, - 0.0113305, 0.0113441, 0.0113441, 0.0113522, 0.0113522, - 0.0113549, 0.0113549, 0.0113522, 0.0113522, 0.0113441, - 0.0113441, 0.0113305, 0.0113305, 0.0113115, 0.0113115, - 0.0112872, 0.0112872, 0.0112575, 0.0112575, 0.0112224, - 0.0112224, 0.011182, 0.011182, 0.0111364, 0.0111364, - 0.0110855, 0.0110855, 0.0110295, 0.0110295, 0.0109684, - 0.0109684, 0.0109022, 0.0109022, 0.010831, 0.010831, - 0.0107548, 0.0107548, 0.0106738, 0.0106738, 0.0105881, - 0.0105881, 0.0104976, 0.0104976, 0.0104025, 0.0104025, - 0.0103029, 0.0103029, 0.0101989, 0.0101989, 0.0100905, - 0.0100905, 0.00997795, 0.00997795, 0.00986123, 0.00986123, - 0.00974049, 0.00974049, 0.00961585, 0.00961585, 0.00948743, - 0.00948743, 0.00935534, 0.00935534, 0.00921971, 0.00921971, - 0.00908066, 0.00908066, 0.00893832, 0.00893832, 0.00879283, - 0.00879283, 0.0086443, 0.0086443, 0.00849289, 0.00849289, - 0.00833872, 0.00833872, 0.00818194, 0.00818194, 0.00802269, - 0.00802269, 0.00786111, 0.00786111, 0.00769734, 0.00769734, - 0.00753153, 0.00753153, 0.00736383, 0.00736383, 0.00719439, - 0.00719439, 0.00702335, 0.00702335, 0.00685086, 0.00685086, - 0.00667708, 0.00667708, 0.00650216, 0.00650216, 0.00632623, - 0.00632623, 0.00614947, 0.00614947, 0.00597201, 0.00597201, - 0.005794, 0.005794, 0.0056156, 0.0056156, 0.00543695, - 0.00543695, 0.00525821, 0.00525821, 0.00507951, 0.00507951, - 0.00490101, 0.00490101, 0.00472285, 0.00472285, 0.00454516, - 0.00454516, 0.0043681, 0.0043681, 0.0041918, 0.0041918, - 0.00401639, 0.00401639, 0.00384202, 0.00384202, 0.00366882, - 0.00366882, 0.00349691, 0.00349691, 0.00332643, 0.00332643, - 0.00315749, 0.00315749, 0.00299023, 0.00299023, 0.00282475, - 0.00282475, 0.00266119, 0.00266119, 0.00249965, 0.00249965, - 0.00234023, 0.00234023, 0.00218306, 0.00218306, 0.00202822, - 0.00202822, 0.00187583, 0.00187583, 0.00172596, 0.00172596, - 0.00157873, 0.00157873, 0.00143421, 0.00143421, 0.00129249, - 0.00129249, 0.00115366, 0.00115366, 0.00101777, 0.00101777, - 0.000884923, 0.000884923, 0.000755171, 0.000755171, 0.000628582, - 0.000628582, 0.000505217, 0.000505217, 0.000385134, 0.000385134, - 0.000268384, 0.000268384, 0.000155016, 0.000155016, 4.5076e-05, - 4.5076e-05, -6.13947e-05, -6.13947e-05, -0.00016436, -0.00016436, - -0.000263788, -0.000263788, -0.000359651, -0.000359651, -0.000451952, - -0.000451952, -0.00054068, -0.00054068, -0.000625779, -0.000625779, - -0.000707261, -0.000707261, -0.000785117, -0.000785117, -0.000859348, - -0.000859348, -0.000929956, -0.000929956, -0.000996946, -0.000996946, - -0.00106033, -0.00106033, -0.00112013, -0.00112013, -0.00117635, - -0.00117635, -0.00122903, -0.00122903, -0.00127818, -0.00127818, - -0.00132384, -0.00132384, -0.00136604, -0.00136604, -0.00140482, - -0.00140482, -0.00144021, -0.00144021, -0.00147227, -0.00147227, - -0.00150103, -0.00150103, -0.00152655, -0.00152655, -0.00154888, - -0.00154888, -0.00156807, -0.00156807, -0.00158419, -0.00158419, - -0.00159729, -0.00159729, -0.00160744, -0.00160744, -0.00161472, - -0.00161472, -0.00161917, -0.00161917, -0.00162088, -0.00162088, - -0.0016199, -0.0016199, -0.00161633, -0.00161633, -0.00161024, - -0.00161024, -0.00160171, -0.00160171, -0.00159081, -0.00159081, - -0.00157763, -0.00157763, -0.00156225, -0.00156225, -0.00154475, - -0.00154475, -0.00152522, -0.00152522, -0.00150374, -0.00150374, - -0.0014804, -0.0014804, -0.00145528, -0.00145528, -0.00142848, - -0.00142848, -0.00140008, -0.00140008, -0.00137017, -0.00137017, - -0.00133884, -0.00133884, -0.00130617, -0.00130617, -0.00127227, - -0.00127227, -0.0012372, -0.0012372, -0.00120108, -0.00120108, - -0.00116397, -0.00116397, -0.00112597, -0.00112597, -0.00108717, - -0.00108717, -0.00104765, -0.00104765, -0.00100749, -0.00100749, - -0.000966788, -0.000966788, -0.000925613, -0.000925613, -0.000884054, - -0.000884054, -0.000842187, -0.000842187, -0.000800092, -0.000800092, - -0.000757849, -0.000757849, -0.000715533, -0.000715533, -0.000673218, - -0.000673218, -0.000630979, -0.000630979, -0.000588883, -0.000588883, - -0.000547003, -0.000547003, -0.000505403, -0.000505403, -0.000464152, - -0.000464152, -0.00042331, -0.00042331, -0.000382942, -0.000382942, - -0.000343104, -0.000343104, -0.000303856, -0.000303856, -0.000265248, - -0.000265248, -0.000227336, -0.000227336, -0.000190167, -0.000190167, - -0.00015379, -0.00015379, -0.000118248, -0.000118248, -8.35883e-05, - -8.35883e-05, -4.98479e-05, -4.98479e-05, -1.7067e-05, -1.7067e-05, - 1.4721e-05, 1.4721e-05, 4.54842e-05, 4.54842e-05, 7.51956e-05, - 7.51956e-05, 0.000103821, 0.000103821, 0.000131338, 0.000131338, - 0.000157726, 0.000157726, 0.000182964, 0.000182964, 0.000207034, - 0.000207034, 0.000229921, 0.000229921, 0.000251612, 0.000251612, - 0.000272099, 0.000272099, 0.000291373, 0.000291373, 0.00030943, - 0.00030943, 0.000326267, 0.000326267, 0.000341885, 0.000341885, - 0.000356284, 0.000356284, 0.000369471, 0.000369471, 0.000381449, - 0.000381449, 0.000392231, 0.000392231, 0.000401823, 0.000401823, - 0.00041024, 0.00041024, 0.000417497, 0.000417497, 0.000423608, - 0.000423608, 0.000428592, 0.000428592, 0.00043246, 0.00043246, - 0.000435237, 0.000435237, 0.000436865, 0.000436865, 0.000437401, - 0.000437401, 0.000436975, 0.000436975, 0.000435544, 0.000435544, - 0.000433151, 0.000433151, 0.000429812, 0.000429812, 0.000425565, - 0.000425565, 0.000420437, 0.000420437, 0.000414464, 0.000414464, - 0.000407675, 0.000407675, 0.000400108, 0.000400108, 0.000391795, - 0.000391795, 0.000382774, 0.000382774, 0.00037308, 0.00037308, - 0.000362751, 0.000362751, 0.000351824, 0.000351824, 0.000340339, - 0.000340339, 0.00032833, 0.00032833, 0.000315839, 0.000315839, - 0.000302903, 0.000302903, 0.000289559, 0.000289559, 0.000275847, - 0.000275847, 0.000261806, 0.000261806, 0.000247474, 0.000247474, - 0.000232892, 0.000232892, 0.000218088, 0.000218088, 0.000203111, - 0.000203111, 0.000187996, 0.000187996, 0.000172781, 0.000172781, - 0.000157497, 0.000157497, 0.000142183, 0.000142183, 0.000126869, - 0.000126869, 0.000111594, 0.000111594, 9.63895e-05, 9.63895e-05, - 8.12934e-05, 8.12934e-05, 6.63317e-05, 6.63317e-05, 5.15418e-05, - 5.15418e-05, 3.69472e-05, 3.69472e-05, 2.25833e-05, 2.25833e-05, - 8.47105e-06, 8.47105e-06, -5.35615e-06, -5.35615e-06, -1.88794e-05, - -1.88794e-05, -3.20661e-05, -3.20661e-05, -4.49012e-05, -4.49012e-05, - -5.73536e-05, -5.73536e-05, -6.94109e-05, -6.94109e-05, -8.10442e-05, - -8.10442e-05, -9.22439e-05, -9.22439e-05, -0.000102985, -0.000102985, - -0.000113258, -0.000113258, -0.000123038, -0.000123038, -0.000132323, - -0.000132323, -0.000141089, -0.000141089, -0.000149335, -0.000149335, - -0.000157041, -0.000157041, -0.00016421, -0.00016421, -0.000170822, - -0.000170822, -0.000176885, -0.000176885, -0.000182382, -0.000182382, - -0.000187324, -0.000187324, -0.000191693, -0.000191693, -0.000195505, - -0.000195505, -0.000198743, -0.000198743, -0.000201427, -0.000201427, - -0.000203541, -0.000203541, -0.000205109, -0.000205109, -0.000206117, - -0.000206117, -0.00020659, -0.00020659, -0.000206515, -0.000206515, - -0.000205922, -0.000205922, -0.000204797, -0.000204797, -0.000203173, - -0.000203173, -0.000201038, -0.000201038, -0.000198429, -0.000198429, - -0.000195333, -0.000195333, -0.000191793, -0.000191793, -0.000187794, - -0.000187794, -0.000183382, -0.000183382, -0.00017854, -0.00017854, - -0.000173315, -0.000173315, -0.000167689, -0.000167689, -0.000161723, - -0.000161723, -0.000155393, -0.000155393, -0.000148756, -0.000148756, - -0.000141789, -0.000141789, -0.000134559, -0.000134559, -0.000127034, - -0.000127034, -0.000119289, -0.000119289, -0.000111281, -0.000111281, - -0.000103097, -0.000103097, -9.46835e-05, -9.46835e-05, -8.6137e-05, - -8.6137e-05, -7.73902e-05, -7.73902e-05, -6.85565e-05, -6.85565e-05, - -5.9545e-05, -5.9545e-05, -5.04935e-05, -5.04935e-05, -4.12734e-05, - -4.12734e-05, -3.20611e-05, -3.20611e-05, -2.2664e-05, -2.2664e-05, - -1.33229e-05, -1.33229e-05, -3.71244e-06, -3.71244e-06, 5.78773e-06, - 5.78773e-06, 1.58964e-05, 1.58964e-05, 2.58255e-05, 2.58255e-05, -}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/rxdec_coeff.h b/vendor/codec2_flutter_ios_only/src/codec2/src/rxdec_coeff.h deleted file mode 100644 index cc54673..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/rxdec_coeff.h +++ /dev/null @@ -1,10 +0,0 @@ -/* Generated by rxdec_file() Octave function */ - -const float rxdec_coeff[] = {-0.00125472, -0.00204605, -0.0019897, 0.000163906, - 0.00490937, 0.00986375, 0.0096718, -0.000480351, - -0.019311, -0.0361822, -0.0341251, 0.000827866, - 0.0690577, 0.152812, 0.222115, 0.249004, - 0.222115, 0.152812, 0.0690577, 0.000827866, - -0.0341251, -0.0361822, -0.019311, -0.000480351, - 0.0096718, 0.00986375, 0.00490937, 0.000163906, - -0.0019897, -0.00204605, -0.00125472}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/sd.c b/vendor/codec2_flutter_ios_only/src/codec2/src/sd.c deleted file mode 100644 index bc70f09..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/sd.c +++ /dev/null @@ -1,83 +0,0 @@ -/*--------------------------------------------------------------------------*\ - - FILE........: sd.c - AUTHOR......: David Rowe - DATE CREATED: 20/7/93 - - Function to determine spectral distortion between two sets of LPCs. - -\*--------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include "sd.h" - -#include - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: spectral_dist() - - AUTHOR......: David Rowe - DATE CREATED: 20/7/93 - - This function returns the spectral distoertion between two - sets of LPCs. - -\*---------------------------------------------------------------------------*/ - -float spectral_dist(float ak1[], float ak2[], int p, codec2_fft_cfg fft_fwd_cfg, - int n) -/* float ak1[]; unquantised set of p+1 LPCs */ -/* float ak2[]; quantised set of p+1 LPCs */ -/* int p; LP order */ -/* fft_fwd_cfg FFT constants */ -/* int n; DFT size to use for SD calculations (power of 2) */ -{ - COMP A1[n]; /* DFT of ak1[] */ - COMP A2[n]; /* DFT of ak2[] */ - float P1, P2; /* power of current bin */ - float sd; - int i; - - for (i = 0; i < n; i++) { - A1[i].real = 0.0; - A1[i].imag = 0.0; - A2[i].real = 0.0; - A2[i].imag = 0.0; - } - - for (i = 0; i < p + 1; i++) { - A1[i].real = ak1[i]; - A2[i].real = ak2[i]; - } - - codec2_fft_inplace(fft_fwd_cfg, A1); - codec2_fft_inplace(fft_fwd_cfg, A2); - - sd = 0.0; - for (i = 0; i < n; i++) { - P1 = A1[i].real * A1[i].real + A1[i].imag * A1[i].imag; - P2 = A2[i].real * A2[i].real + A2[i].imag * A2[i].imag; - sd += pow(10.0 * log10(P2 / P1), 2.0); - } - sd = sd / n; /* mean sd for this frame in dB*dB, which can be further averaged - across frames */ - - return (sd); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/sd.h b/vendor/codec2_flutter_ios_only/src/codec2/src/sd.h deleted file mode 100644 index 9edd0ba..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/sd.h +++ /dev/null @@ -1,36 +0,0 @@ -/*--------------------------------------------------------------------------*\ - - FILE........: sd.h - AUTHOR......: David Rowe - DATE CREATED: 22/7/93 - - Function to determine spectral distortion between two sets of LPCs. - -\*--------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __SD__ -#define __SD__ - -#include "codec2_fft.h" - -float spectral_dist(float ak1[], float ak2[], int p, codec2_fft_cfg fft_fwd_cfg, - int n); - -#endif /* __SD__ */ diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/sine.c b/vendor/codec2_flutter_ios_only/src/codec2/src/sine.c deleted file mode 100644 index 814c269..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/sine.c +++ /dev/null @@ -1,657 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: sine.c - AUTHOR......: David Rowe - DATE CREATED: 19/8/2010 - - Sinusoidal analysis and synthesis functions. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 1990-2010 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -/*---------------------------------------------------------------------------*\ - - INCLUDES - -\*---------------------------------------------------------------------------*/ - -#include "sine.h" - -#include -#include -#include - -#include "defines.h" -#include "kiss_fft.h" - -#define HPF_BETA 0.125 - -/*---------------------------------------------------------------------------*\ - - HEADERS - -\*---------------------------------------------------------------------------*/ - -void hs_pitch_refinement(MODEL *model, COMP Sw[], float pmin, float pmax, - float pstep); - -/*---------------------------------------------------------------------------*\ - - FUNCTIONS - -\*---------------------------------------------------------------------------*/ - -C2CONST c2const_create(int Fs, float framelength_s) { - C2CONST c2const; - - assert((Fs == 8000) || (Fs == 16000)); - c2const.Fs = Fs; - c2const.n_samp = round(Fs * framelength_s); - c2const.max_amp = floor(Fs * P_MAX_S / 2); - c2const.p_min = floor(Fs * P_MIN_S); - c2const.p_max = floor(Fs * P_MAX_S); - c2const.m_pitch = floor(Fs * M_PITCH_S); - c2const.Wo_min = TWO_PI / c2const.p_max; - c2const.Wo_max = TWO_PI / c2const.p_min; - - if (Fs == 8000) { - c2const.nw = 279; - } else { - c2const.nw = 511; /* actually a bit shorter in time but lets us maintain - constant FFT size */ - } - - c2const.tw = Fs * TW_S; - - /* - fprintf(stderr, "max_amp: %d m_pitch: %d\n", c2const.n_samp, c2const.m_pitch); - fprintf(stderr, "p_min: %d p_max: %d\n", c2const.p_min, c2const.p_max); - fprintf(stderr, "Wo_min: %f Wo_max: %f\n", c2const.Wo_min, c2const.Wo_max); - fprintf(stderr, "nw: %d tw: %d\n", c2const.nw, c2const.tw); - */ - - return c2const; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: make_analysis_window - AUTHOR......: David Rowe - DATE CREATED: 11/5/94 - - Init function that generates the time domain analysis window and it's DFT. - -\*---------------------------------------------------------------------------*/ - -void make_analysis_window(C2CONST *c2const, codec2_fft_cfg fft_fwd_cfg, - float w[], float W[]) { - float m; - COMP wshift[FFT_ENC]; - int i, j; - int m_pitch = c2const->m_pitch; - int nw = c2const->nw; - - /* - Generate Hamming window centered on M-sample pitch analysis window - - 0 M/2 M-1 - |-------------|-------------| - |-------|-------| - nw samples - - All our analysis/synthsis is centred on the M/2 sample. - */ - - m = 0.0; - for (i = 0; i < m_pitch / 2 - nw / 2; i++) w[i] = 0.0; - for (i = m_pitch / 2 - nw / 2, j = 0; i < m_pitch / 2 + nw / 2; i++, j++) { - w[i] = 0.5 - 0.5 * cosf(TWO_PI * j / (nw - 1)); - m += w[i] * w[i]; - } - for (i = m_pitch / 2 + nw / 2; i < m_pitch; i++) w[i] = 0.0; - - /* Normalise - makes freq domain amplitude estimation straight - forward */ - - m = 1.0 / sqrtf(m * FFT_ENC); - for (i = 0; i < m_pitch; i++) { - w[i] *= m; - } - - /* - Generate DFT of analysis window, used for later processing. Note - we modulo FFT_ENC shift the time domain window w[], this makes the - imaginary part of the DFT W[] equal to zero as the shifted w[] is - even about the n=0 time axis if nw is odd. Having the imag part - of the DFT W[] makes computation easier. - - 0 FFT_ENC-1 - |-------------------------| - - ----\ /---- - \ / - \ / <- shifted version of window w[n] - \ / - \ / - ------- - - |---------| |---------| - nw/2 nw/2 - */ - - COMP temp[FFT_ENC]; - - for (i = 0; i < FFT_ENC; i++) { - wshift[i].real = 0.0; - wshift[i].imag = 0.0; - } - for (i = 0; i < nw / 2; i++) wshift[i].real = w[i + m_pitch / 2]; - for (i = FFT_ENC - nw / 2, j = m_pitch / 2 - nw / 2; i < FFT_ENC; i++, j++) - wshift[i].real = w[j]; - - codec2_fft(fft_fwd_cfg, wshift, temp); - - /* - Re-arrange W[] to be symmetrical about FFT_ENC/2. Makes later - analysis convenient. - - Before: - - - 0 FFT_ENC-1 - |----------|---------| - __ _ - \ / - \_______________/ - - After: - - 0 FFT_ENC-1 - |----------|---------| - ___ - / \ - ________/ \_______ - - */ - - for (i = 0; i < FFT_ENC / 2; i++) { - W[i] = temp[i + FFT_ENC / 2].real; - W[i + FFT_ENC / 2] = temp[i].real; - } -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: hpf - AUTHOR......: David Rowe - DATE CREATED: 16 Nov 2010 - - High pass filter with a -3dB point of about 160Hz. - - y(n) = -HPF_BETA*y(n-1) + x(n) - x(n-1) - -\*---------------------------------------------------------------------------*/ - -float hpf(float x, float states[]) { - states[0] = -HPF_BETA * states[0] + x - states[1]; - states[1] = x; - - return states[0]; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: dft_speech - AUTHOR......: David Rowe - DATE CREATED: 27/5/94 - - Finds the DFT of the current speech input speech frame. - -\*---------------------------------------------------------------------------*/ - -// TODO: we can either go for a faster FFT using fftr and some stack usage -// or we can reduce stack usage to almost zero on STM32 by switching to -// fft_inplace -#if 1 -void dft_speech(C2CONST *c2const, codec2_fft_cfg fft_fwd_cfg, COMP Sw[], - float Sn[], float w[]) { - int i; - int m_pitch = c2const->m_pitch; - int nw = c2const->nw; - - for (i = 0; i < FFT_ENC; i++) { - Sw[i].real = 0.0; - Sw[i].imag = 0.0; - } - - /* Centre analysis window on time axis, we need to arrange input - to FFT this way to make FFT phases correct */ - - /* move 2nd half to start of FFT input vector */ - - for (i = 0; i < nw / 2; i++) - Sw[i].real = Sn[i + m_pitch / 2] * w[i + m_pitch / 2]; - - /* move 1st half to end of FFT input vector */ - - for (i = 0; i < nw / 2; i++) - Sw[FFT_ENC - nw / 2 + i].real = - Sn[i + m_pitch / 2 - nw / 2] * w[i + m_pitch / 2 - nw / 2]; - - codec2_fft_inplace(fft_fwd_cfg, Sw); -} -#else -void dft_speech(codec2_fftr_cfg fftr_fwd_cfg, COMP Sw[], float Sn[], - float w[]) { - int i; - float sw[FFT_ENC]; - - for (i = 0; i < FFT_ENC; i++) { - sw[i] = 0.0; - } - - /* Centre analysis window on time axis, we need to arrange input - to FFT this way to make FFT phases correct */ - - /* move 2nd half to start of FFT input vector */ - - for (i = 0; i < nw / 2; i++) sw[i] = Sn[i + m_pitch / 2] * w[i + m_pitch / 2]; - - /* move 1st half to end of FFT input vector */ - - for (i = 0; i < nw / 2; i++) - sw[FFT_ENC - nw / 2 + i] = - Sn[i + m_pitch / 2 - nw / 2] * w[i + m_pitch / 2 - nw / 2]; - - codec2_fftr(fftr_fwd_cfg, sw, Sw); -} -#endif - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: two_stage_pitch_refinement - AUTHOR......: David Rowe - DATE CREATED: 27/5/94 - - Refines the current pitch estimate using the harmonic sum pitch - estimation technique. - -\*---------------------------------------------------------------------------*/ - -void two_stage_pitch_refinement(C2CONST *c2const, MODEL *model, COMP Sw[]) { - float pmin, pmax, pstep; /* pitch refinement minimum, maximum and step */ - - /* Coarse refinement */ - - pmax = TWO_PI / model->Wo + 5; - pmin = TWO_PI / model->Wo - 5; - pstep = 1.0; - hs_pitch_refinement(model, Sw, pmin, pmax, pstep); - - /* Fine refinement */ - - pmax = TWO_PI / model->Wo + 1; - pmin = TWO_PI / model->Wo - 1; - pstep = 0.25; - hs_pitch_refinement(model, Sw, pmin, pmax, pstep); - - /* Limit range */ - - if (model->Wo < TWO_PI / c2const->p_max) model->Wo = TWO_PI / c2const->p_max; - if (model->Wo > TWO_PI / c2const->p_min) model->Wo = TWO_PI / c2const->p_min; - - model->L = floorf(PI / model->Wo); - - /* trap occasional round off issues with floorf() */ - if (model->Wo * model->L >= 0.95 * PI) { - model->L--; - } - assert(model->Wo * model->L < PI); -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: hs_pitch_refinement - AUTHOR......: David Rowe - DATE CREATED: 27/5/94 - - Harmonic sum pitch refinement function. - - pmin pitch search range minimum - pmax pitch search range maximum - step pitch search step size - model current pitch estimate in model.Wo - - model refined pitch estimate in model.Wo - -\*---------------------------------------------------------------------------*/ - -void hs_pitch_refinement(MODEL *model, COMP Sw[], float pmin, float pmax, - float pstep) { - int m; /* loop variable */ - int b; /* bin for current harmonic centre */ - float E; /* energy for current pitch*/ - float Wo; /* current "test" fundamental freq. */ - float Wom; /* Wo that maximises E */ - float Em; /* mamimum energy */ - float r, one_on_r; /* number of rads/bin */ - float p; /* current pitch */ - - /* Initialisation */ - - model->L = PI / model->Wo; /* use initial pitch est. for L */ - Wom = model->Wo; - Em = 0.0; - r = TWO_PI / FFT_ENC; - one_on_r = 1.0 / r; - - /* Determine harmonic sum for a range of Wo values */ - - for (p = pmin; p <= pmax; p += pstep) { - E = 0.0; - Wo = TWO_PI / p; - - float bFloat = Wo * one_on_r; - float currentBFloat = bFloat; - - /* Sum harmonic magnitudes */ - for (m = 1; m <= model->L; m++) { - b = (int)(currentBFloat + 0.5); - E += Sw[b].real * Sw[b].real + Sw[b].imag * Sw[b].imag; - currentBFloat += bFloat; - } - /* Compare to see if this is a maximum */ - - if (E > Em) { - Em = E; - Wom = Wo; - } - } - - model->Wo = Wom; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: estimate_amplitudes - AUTHOR......: David Rowe - DATE CREATED: 27/5/94 - - Estimates the complex amplitudes of the harmonics. - -\*---------------------------------------------------------------------------*/ - -void estimate_amplitudes(MODEL *model, COMP Sw[], float W[], int est_phase) { - int i, m; /* loop variables */ - int am, bm; /* bounds of current harmonic */ - float den; /* denominator of amplitude expression */ - - float r = TWO_PI / FFT_ENC; - float one_on_r = 1.0 / r; - - for (m = 1; m <= model->L; m++) { - /* Estimate ampltude of harmonic */ - - den = 0.0; - am = (int)((m - 0.5) * model->Wo * one_on_r + 0.5); - bm = (int)((m + 0.5) * model->Wo * one_on_r + 0.5); - - for (i = am; i < bm; i++) { - den += Sw[i].real * Sw[i].real + Sw[i].imag * Sw[i].imag; - } - - model->A[m] = sqrtf(den); - - if (est_phase) { - int b = (int)(m * model->Wo / r + - 0.5); /* DFT bin of centre of current harmonic */ - - /* Estimate phase of harmonic, this is expensive in CPU for - embedded devicesso we make it an option */ - - model->phi[m] = atan2f(Sw[b].imag, Sw[b].real); - } - } -} - -/*---------------------------------------------------------------------------*\ - - est_voicing_mbe() - - Returns the error of the MBE cost function for a fiven F0. - - Note: I think a lot of the operations below can be simplified as - W[].imag = 0 and has been normalised such that den always equals 1. - -\*---------------------------------------------------------------------------*/ - -float est_voicing_mbe(C2CONST *c2const, MODEL *model, COMP Sw[], float W[]) { - int l, al, bl, m; /* loop variables */ - COMP Am; /* amplitude sample for this band */ - int offset; /* centers Hw[] about current harmonic */ - float den; /* denominator of Am expression */ - float error; /* accumulated error between original and synthesised */ - float Wo; - float sig, snr; - float elow, ehigh, eratio; - float sixty; - COMP Ew; - Ew.real = 0; - Ew.imag = 0; - - int l_1000hz = model->L * 1000.0 / (c2const->Fs / 2); - sig = 1E-4; - for (l = 1; l <= l_1000hz; l++) { - sig += model->A[l] * model->A[l]; - } - - Wo = model->Wo; - error = 1E-4; - - /* Just test across the harmonics in the first 1000 Hz */ - - for (l = 1; l <= l_1000hz; l++) { - Am.real = 0.0; - Am.imag = 0.0; - den = 0.0; - al = ceilf((l - 0.5) * Wo * FFT_ENC / TWO_PI); - bl = ceilf((l + 0.5) * Wo * FFT_ENC / TWO_PI); - - /* Estimate amplitude of harmonic assuming harmonic is totally voiced */ - - offset = FFT_ENC / 2 - l * Wo * FFT_ENC / TWO_PI + 0.5; - for (m = al; m < bl; m++) { - Am.real += Sw[m].real * W[offset + m]; - Am.imag += Sw[m].imag * W[offset + m]; - den += W[offset + m] * W[offset + m]; - } - - Am.real = Am.real / den; - Am.imag = Am.imag / den; - - /* Determine error between estimated harmonic and original */ - - for (m = al; m < bl; m++) { - Ew.real = Sw[m].real - Am.real * W[offset + m]; - Ew.imag = Sw[m].imag - Am.imag * W[offset + m]; - error += Ew.real * Ew.real; - error += Ew.imag * Ew.imag; - } - } - - snr = 10.0 * log10f(sig / error); - if (snr > V_THRESH) - model->voiced = 1; - else - model->voiced = 0; - - /* post processing, helps clean up some voicing errors ------------------*/ - - /* - Determine the ratio of low frequency to high frequency energy, - voiced speech tends to be dominated by low frequency energy, - unvoiced by high frequency. This measure can be used to - determine if we have made any gross errors. - */ - - int l_2000hz = model->L * 2000.0 / (c2const->Fs / 2); - int l_4000hz = model->L * 4000.0 / (c2const->Fs / 2); - elow = ehigh = 1E-4; - for (l = 1; l <= l_2000hz; l++) { - elow += model->A[l] * model->A[l]; - } - for (l = l_2000hz; l <= l_4000hz; l++) { - ehigh += model->A[l] * model->A[l]; - } - eratio = 10.0 * log10f(elow / ehigh); - - /* Look for Type 1 errors, strongly V speech that has been - accidentally declared UV */ - - if (model->voiced == 0) - if (eratio > 10.0) model->voiced = 1; - - /* Look for Type 2 errors, strongly UV speech that has been - accidentally declared V */ - - if (model->voiced == 1) { - if (eratio < -10.0) model->voiced = 0; - - /* A common source of Type 2 errors is the pitch estimator - gives a low (50Hz) estimate for UV speech, which gives a - good match with noise due to the close harmoonic spacing. - These errors are much more common than people with 50Hz3 - pitch, so we have just a small eratio threshold. */ - - sixty = 60.0 * TWO_PI / c2const->Fs; - if ((eratio < -4.0) && (model->Wo <= sixty)) model->voiced = 0; - } - // printf(" v: %d snr: %f eratio: %3.2f %f\n",model->voiced,snr,eratio,dF0); - - return snr; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: make_synthesis_window - AUTHOR......: David Rowe - DATE CREATED: 11/5/94 - - Init function that generates the trapezoidal (Parzen) synthesis window. - -\*---------------------------------------------------------------------------*/ - -void make_synthesis_window(C2CONST *c2const, float Pn[]) { - int i; - float win; - int n_samp = c2const->n_samp; - int tw = c2const->tw; - - /* Generate Parzen window in time domain */ - - win = 0.0; - for (i = 0; i < n_samp / 2 - tw; i++) Pn[i] = 0.0; - win = 0.0; - for (i = n_samp / 2 - tw; i < n_samp / 2 + tw; win += 1.0 / (2 * tw), i++) - Pn[i] = win; - for (i = n_samp / 2 + tw; i < 3 * n_samp / 2 - tw; i++) Pn[i] = 1.0; - win = 1.0; - for (i = 3 * n_samp / 2 - tw; i < 3 * n_samp / 2 + tw; - win -= 1.0 / (2 * tw), i++) - Pn[i] = win; - for (i = 3 * n_samp / 2 + tw; i < 2 * n_samp; i++) Pn[i] = 0.0; -} - -/*---------------------------------------------------------------------------*\ - - FUNCTION....: synthesise - AUTHOR......: David Rowe - DATE CREATED: 20/2/95 - - Synthesise a speech signal in the frequency domain from the - sinusodal model parameters. Uses overlap-add with a trapezoidal - window to smoothly interpolate between frames. - -\*---------------------------------------------------------------------------*/ - -void synthesise(int n_samp, codec2_fftr_cfg fftr_inv_cfg, - float Sn_[], /* time domain synthesised signal */ - MODEL *model, /* ptr to model parameters for this frame */ - float Pn[], /* time domain Parzen window */ - int shift /* flag used to handle transition frames */ -) { - int i, l, j, b; /* loop variables */ - COMP Sw_[FFT_DEC / 2 + 1]; /* DFT of synthesised signal */ - float sw_[FFT_DEC]; /* synthesised signal */ - - if (shift) { - /* Update memories */ - for (i = 0; i < n_samp - 1; i++) { - Sn_[i] = Sn_[i + n_samp]; - } - Sn_[n_samp - 1] = 0.0; - } - - for (i = 0; i < FFT_DEC / 2 + 1; i++) { - Sw_[i].real = 0.0; - Sw_[i].imag = 0.0; - } - - /* Now set up frequency domain synthesised speech */ - - for (l = 1; l <= model->L; l++) { - b = (int)(l * model->Wo * FFT_DEC / TWO_PI + 0.5); - if (b > ((FFT_DEC / 2) - 1)) { - b = (FFT_DEC / 2) - 1; - } - Sw_[b].real = model->A[l] * cosf(model->phi[l]); - Sw_[b].imag = model->A[l] * sinf(model->phi[l]); - } - - /* Perform inverse DFT */ - - codec2_fftri(fftr_inv_cfg, Sw_, sw_); - - /* Overlap add to previous samples */ - -#ifdef USE_KISS_FFT -#define FFTI_FACTOR ((float)1.0) -#else -#define FFTI_FACTOR ((float32_t)FFT_DEC) -#endif - - for (i = 0; i < n_samp - 1; i++) { - Sn_[i] += sw_[FFT_DEC - n_samp + 1 + i] * Pn[i] * FFTI_FACTOR; - } - - if (shift) - for (i = n_samp - 1, j = 0; i < 2 * n_samp; i++, j++) - Sn_[i] = sw_[j] * Pn[i] * FFTI_FACTOR; - else - for (i = n_samp - 1, j = 0; i < 2 * n_samp; i++, j++) - Sn_[i] += sw_[j] * Pn[i] * FFTI_FACTOR; -} - -/* todo: this should probably be in some states rather than a static */ -static unsigned long next = 1; - -int codec2_rand(void) { - next = next * 1103515245 + 12345; - return ((unsigned)(next / 65536) % 32768); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/sine.h b/vendor/codec2_flutter_ios_only/src/codec2/src/sine.h deleted file mode 100644 index 3f709b2..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/sine.h +++ /dev/null @@ -1,52 +0,0 @@ -/*---------------------------------------------------------------------------*\ - - FILE........: sine.h - AUTHOR......: David Rowe - DATE CREATED: 1/11/94 - - Header file for sinusoidal analysis and synthesis functions. - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2009 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#ifndef __SINE__ -#define __SINE__ - -#include "codec2_fft.h" -#include "comp.h" -#include "defines.h" - -C2CONST c2const_create(int Fs, float framelength_ms); - -void make_analysis_window(C2CONST *c2const, codec2_fft_cfg fft_fwd_cfg, - float w[], float W[]); -float hpf(float x, float states[]); -void dft_speech(C2CONST *c2const, codec2_fft_cfg fft_fwd_cfg, COMP Sw[], - float Sn[], float w[]); -void two_stage_pitch_refinement(C2CONST *c2const, MODEL *model, COMP Sw[]); -void estimate_amplitudes(MODEL *model, COMP Sw[], float W[], int est_phase); -float est_voicing_mbe(C2CONST *c2const, MODEL *model, COMP Sw[], float W[]); -void make_synthesis_window(C2CONST *c2const, float Pn[]); -void synthesise(int n_samp, codec2_fftr_cfg fftr_inv_cfg, float Sn_[], - MODEL *model, float Pn[], int shift); - -#define CODEC2_RAND_MAX 32767 -int codec2_rand(void); - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/ssbfilt_coeff.h b/vendor/codec2_flutter_ios_only/src/codec2/src/ssbfilt_coeff.h deleted file mode 100644 index cc0e5e2..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/ssbfilt_coeff.h +++ /dev/null @@ -1,23 +0,0 @@ -/* 2400 Hz LPF FIR filter coeffs */ -/* Generated by make_ssbfilt Octave script */ - -#define SSBFILT_N 100 - -#define SSBFILT_CENTRE 1500 - -float ssbfilt_coeff[] = { - 0.000077, 0.000463, 0.000493, 0.000100, -0.000451, -0.000713, -0.000382, - 0.000393, 0.001013, 0.000853, -0.000162, -0.001315, -0.001550, -0.000384, - 0.001462, 0.002427, 0.001369, -0.001234, -0.003330, -0.002842, 0.000386, - 0.003994, 0.004736, 0.001300, -0.004057, -0.006836, -0.003963, 0.003096, - 0.008764, 0.007615, -0.000664, -0.009984, -0.012111, -0.003687, 0.009789, - 0.017150, 0.010450, -0.007246, -0.022299, -0.020386, 0.000889, 0.027053, - 0.035350, 0.012531, -0.030900, -0.062153, -0.045268, 0.033405, 0.150957, - 0.256445, 0.298716, 0.256445, 0.150957, 0.033405, -0.045268, -0.062153, - -0.030900, 0.012531, 0.035350, 0.027053, 0.000889, -0.020386, -0.022299, - -0.007246, 0.010450, 0.017150, 0.009789, -0.003687, -0.012111, -0.009984, - -0.000664, 0.007615, 0.008764, 0.003096, -0.003963, -0.006836, -0.004057, - 0.001300, 0.004736, 0.003994, 0.000386, -0.002842, -0.003330, -0.001234, - 0.001369, 0.002427, 0.001462, -0.000384, -0.001550, -0.001315, -0.000162, - 0.000853, 0.001013, 0.000393, -0.000382, -0.000713, -0.000451, 0.000100, - 0.000493, 0.000463}; \ No newline at end of file diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/test_bits.h b/vendor/codec2_flutter_ios_only/src/codec2/src/test_bits.h deleted file mode 100644 index c1c1509..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/test_bits.h +++ /dev/null @@ -1,10 +0,0 @@ -/* Generated by test_bits_file() Octave function */ - -const int test_bits[] = { - 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, - 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, - 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, - 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, - 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, - 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/test_bits_coh.h b/vendor/codec2_flutter_ios_only/src/codec2/src/test_bits_coh.h deleted file mode 100644 index 4d5eca4..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/test_bits_coh.h +++ /dev/null @@ -1,26 +0,0 @@ -/* Generated by test_bits_coh_file() Octave function */ - -const int test_bits_coh[] = { - 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 0, 1, 1, 0, 0, 1, 1, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, - 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, - 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, - 0, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, 0, - 0, 1, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, - 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 1, 1, 0, 1, 0, - 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, - 0, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 1, 0, 1, - 1, 1, 0, 0, 0, 1, 1, 1, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 1, 1, 0, 1, 0, 0, 0, - 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, - 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 1, - 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, - 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 1, 1, 0, 0, 1, 1, 0, 1, 0, 1, 0, - 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 1, - 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 1, 1, 0, 0, 0, 0, 0, 1, - 1, 1, 0, 1, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, - 1, 1, 0, 1, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 0, - 1, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 0, - 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 0, - 1, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, - 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1, 1, 1, - 1, 1, 1, 1, 0, 0, 1, 1, 1, 0}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/test_bits_ofdm.h b/vendor/codec2_flutter_ios_only/src/codec2/src/test_bits_ofdm.h deleted file mode 100644 index 3352091..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/test_bits_ofdm.h +++ /dev/null @@ -1,31 +0,0 @@ -/* Generated by test_bits_ofdm_file() Octave function */ - -const int test_bits_ofdm[] = { - 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, - 1, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0, - 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0, - 0, 0, 0, 1, 0, 0, 1, 1, 0, 1, 0, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 1, - 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, - 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, - 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 1, 1, 1, 1, 0, - 0, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, - 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, - 1, 1, 1, 0, 1, 0, 1, 1, 1, 0, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0}; - -const uint8_t payload_data_bits[] = { - 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, - 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, - 1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, - 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0}; - -const int test_codeword[] = { - 1, 1, 0, 0, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 1, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 1, 0, - 1, 0, 1, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, - 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, - 1, 0, 0, 1, 1, 1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, - 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, - 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0, - 0, 0, 0, 1, 1, 0, 0, 1, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, - 1, 1, 1, 0, 0, 1, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/tollr.c b/vendor/codec2_flutter_ios_only/src/codec2/src/tollr.c deleted file mode 100644 index 11d5bd6..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/tollr.c +++ /dev/null @@ -1,19 +0,0 @@ -/* - FILE...: tollr.c - AUTHOR.: David Rowe - CREATED: July 2020 - - Converts oneBitPerByte hard decisions to LLRs for LDPC testing. -*/ - -#include -#include - -int main(void) { - uint8_t bit; - while (fread(&bit, sizeof(uint8_t), 1, stdin)) { - float llr = 10.0 * (1 - 2 * bit); - fwrite(&llr, sizeof(float), 1, stdout); - } - return 0; -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/varicode.c b/vendor/codec2_flutter_ios_only/src/codec2/src/varicode.c deleted file mode 100644 index 1025e47..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/varicode.c +++ /dev/null @@ -1,520 +0,0 @@ -//========================================================================== -// Name: varicode.h -// Purpose: Varicode encoded and decode functions -// Created: Nov 24, 2012 -// Authors: David Rowe -// -// To test: -// $ gcc varicode.c -o varicode -DVARICODE_UNITTEST -Wall -// $ ./varicode -// -// License: -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License version 2.1, -// as published by the Free Software Foundation. This program is -// distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public -// License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, see . -// -//========================================================================== - -#include "varicode.h" - -#include -#include -#include -#include -#include - -#include "debug_alloc.h" -#include "varicode_table.h" - -/* - output is an unpacked array of bits of maximum size max_out. Note - unpacked arrays are a more suitable form for modulator input. - - Code 1 covers the entire ASCII char set. -*/ - -int varicode_encode1(short varicode_out[], char ascii_in[], int max_out, - int n_in) { - int n_out, index, n_zeros, v_len; - unsigned short byte1, byte2, packed; - char c; - - n_out = 0; - - while (n_in && (n_out < max_out)) { - c = *ascii_in; - if ((unsigned int)c >= 128) { - c = ' '; - } - - index = 2 * (unsigned int)(c); - assert(index <= 254); - byte1 = varicode_table1[index]; - byte2 = varicode_table1[index + 1]; - packed = (byte1 << 8) + byte2; - - // printf("n_in: %d ascii_in: %c index: %d packed 0x%x\n", n_in, *ascii_in, - // index, packed); - ascii_in++; - - n_zeros = 0; - v_len = 0; - while ((n_zeros < 2) && (n_out < max_out) && (v_len <= VARICODE_MAX_BITS)) { - if (packed & 0x8000) { - *varicode_out = 1; - n_zeros = 0; - } else { - *varicode_out = 0; - n_zeros++; - } - // printf("packed: 0x%x *varicode_out: %d n_zeros: %d v_len: %d\n", - // packed, *varicode_out, n_zeros,v_len ); - packed <<= 1; - varicode_out++; - n_out++; - v_len++; - } - assert(v_len <= VARICODE_MAX_BITS); - - n_in--; - } - - return n_out; -} - -/* - Code 2 covers a subset, but is more efficient that Code 1 (282 - compared to 1315 bits on unittest) Unsupported characters are - replaced by spaces. We encode/decode two bits at a time. -*/ - -int varicode_encode2(short varicode_out[], char ascii_in[], int max_out, - int n_in) { - int n_out, n_zeros, v_len, i; - unsigned short packed; - - n_out = 0; - - while (n_in && (n_out < max_out)) { - packed = varicode_table2[0]; // default to space if char not found - - // see if our character exists - for (i = 0; i < sizeof(varicode_table2); i += 2) { - if (varicode_table2[i] == *ascii_in) - packed = (unsigned short)varicode_table2[i + 1] << 8; - } - - // printf("n_in: %d ascii_in: %c index: %d packed 0x%x\n", n_in, *ascii_in, - // index, packed); - ascii_in++; - - n_zeros = 0; - v_len = 0; - while ((n_zeros < 2) && (n_out < max_out) && (v_len <= VARICODE_MAX_BITS)) { - if (packed & 0x8000) - varicode_out[0] = 1; - else - varicode_out[0] = 0; - - if (packed & 0x4000) - varicode_out[1] = 1; - else - varicode_out[1] = 0; - - if (packed & 0xc000) - n_zeros = 0; - else - n_zeros += 2; - - // printf("packed: 0x%x *varicode_out: %d n_zeros: %d v_len: %d\n", - // packed, *varicode_out, n_zeros,v_len ); - packed <<= 2; - varicode_out += 2; - n_out += 2; - v_len += 2; - } - assert(v_len <= VARICODE_MAX_BITS); - - n_in--; - } - - assert((n_out % 2) == 0); /* outputs two bits at a time */ - - return n_out; -} - -/* Code 3 simply allows the modem to pass incoming/outgoing bits to/from higher - levels in the code. */ -int varicode_encode3(short varicode_out[], char ascii_in[], int max_out, - int n_in) { - // We only support one bit at a time. - assert(max_out >= 1 && n_in == 1); - - varicode_out[0] = ascii_in[0] != 0; - return 1; -} - -int varicode_encode(short varicode_out[], char ascii_in[], int max_out, - int n_in, int code_num) { - assert((code_num == 1) || (code_num == 2) || (code_num == 3)); - - if (code_num == 1) - return varicode_encode1(varicode_out, ascii_in, max_out, n_in); - else if (code_num == 2) - return varicode_encode2(varicode_out, ascii_in, max_out, n_in); - else - return varicode_encode3(varicode_out, ascii_in, max_out, n_in); -} - -void varicode_decode_init(struct VARICODE_DEC *dec_states, int code_num) { - assert((code_num == 1) || (code_num == 2) || (code_num == 3)); - - dec_states->state = 0; - dec_states->n_zeros = 0; - dec_states->v_len = 0; - dec_states->packed = 0; - dec_states->code_num = code_num; - dec_states->n_in = 0; - dec_states->in[0] = dec_states->in[1] = 0; -} - -void varicode_set_code_num(struct VARICODE_DEC *dec_states, int code_num) { - assert((code_num == 1) || (code_num == 2) || (code_num == 3)); - dec_states->code_num = code_num; -} - -/* Code 1 decode function, accepts one bit at a time */ - -static int decode_one_bit(struct VARICODE_DEC *s, char *single_ascii, - short varicode_in, int long_code) { - int found = 0, i; - unsigned short byte1, byte2; - - // printf("decode_one_bit : state: %d varicode_in: %d packed: 0x%x n_zeros: - // %d\n", - // s->state, varicode_in, s->packed, s->n_zeros); - - if (s->state == 0) { - if (!varicode_in) - return 0; - else - s->state = 1; - } - - if (s->state == 1) { - if (varicode_in) { - s->packed |= (0x8000 >> s->v_len); - s->n_zeros = 0; - } else { - s->n_zeros++; - } - s->v_len++; - found = 0; - - /* end of character code */ - - if (s->n_zeros == 2) { - if (s->v_len) { - /* run thru table but note with bit errors we might not actually find a - * match */ - - byte1 = s->packed >> 8; - // printf("looking for byte1 : 0x%x ... ", byte1); - byte2 = s->packed & 0xff; - - for (i = 0; i < 128; i++) { - if ((byte1 == varicode_table1[2 * i]) && - (byte2 == varicode_table1[2 * i + 1])) { - found = 1; - *single_ascii = i; - } - } - } - varicode_decode_init(s, s->code_num); - } - - /* code can run too long if we have a bit error */ - - if (s->v_len > VARICODE_MAX_BITS) varicode_decode_init(s, s->code_num); - } - - return found; -} - -/* Code 2 decode function, accepts two bits at a time */ - -static int decode_two_bits(struct VARICODE_DEC *s, char *single_ascii, - short varicode_in1, short varicode_in2) { - int found = 0, i; - unsigned short byte1; - - if (s->state == 0) { - if (!(varicode_in1 || varicode_in2)) - return 0; - else - s->state = 1; - } - - if (s->state == 1) { - if (varicode_in1) s->packed |= (0x8000 >> s->v_len); - if (varicode_in2) s->packed |= (0x4000 >> s->v_len); - if (varicode_in1 || varicode_in2) - s->n_zeros = 0; - else - s->n_zeros += 2; - - s->v_len += 2; - - found = 0; - - /* end of character code */ - - if (s->n_zeros == 2) { - if (s->v_len) { - /* run thru table but note with bit errors we might not actually find a - * match */ - - byte1 = s->packed >> 8; - // printf("looking for byte1 : 0x%x ... ", byte1); - for (i = 0; i < sizeof(varicode_table2); i += 2) { - // printf("byte1: 0x%x 0x%x\n", byte1, (unsigned - // char)varicode_table2[i+1]); - if (byte1 == (unsigned char)varicode_table2[i + 1]) { - found = 1; - *single_ascii = varicode_table2[i]; - // printf("found: %d i=%d char=%c ", found, i, *single_ascii); - } - } - } - varicode_decode_init(s, s->code_num); - } - - /* code can run too long if we have a bit error */ - - if (s->v_len > VARICODE_MAX_BITS) varicode_decode_init(s, s->code_num); - } - - return found; -} - -int varicode_decode1(struct VARICODE_DEC *dec_states, char ascii_out[], - short varicode_in[], int max_out, int n_in) { - int output, n_out; - char single_ascii = 0; - - n_out = 0; - - // printf("varicode_decode: n_in: %d\n", n_in); - - while (n_in && (n_out < max_out)) { - output = decode_one_bit(dec_states, &single_ascii, varicode_in[0], 0); - varicode_in++; - n_in--; - - if (output) { - *ascii_out++ = single_ascii; - n_out++; - } - } - - return n_out; -} - -int varicode_decode2(struct VARICODE_DEC *dec_states, char ascii_out[], - short varicode_in[], int max_out, int n_in) { - int output, n_out; - char single_ascii = 0; - - n_out = 0; - - // printf("varicode_decode2: n_in: %d varicode_in[0] %d dec_states->n_in: - // %d\n", n_in, varicode_in[0], dec_states->n_in); printf("%d ", - // varicode_in[0]); - while (n_in && (n_out < max_out)) { - // keep two bit buffer so we can process two at a time - - dec_states->in[0] = dec_states->in[1]; - dec_states->in[1] = varicode_in[0]; - dec_states->n_in++; - varicode_in++; - n_in--; - - if (dec_states->n_in == 2) { - output = decode_two_bits(dec_states, &single_ascii, dec_states->in[0], - dec_states->in[1]); - - dec_states->n_in = 0; - - if (output) { - // printf(" output: %d single_ascii: 0x%x %c\n", output, - // (int)single_ascii, single_ascii); - *ascii_out++ = single_ascii; - n_out++; - } - } - } - - return n_out; -} - -int varicode_decode3(struct VARICODE_DEC *dec_states, char ascii_out[], - short varicode_in[], int max_out, int n_in) { - // We only handle one bit at a time. - assert(max_out == 1 && n_in == 1); - - ascii_out[0] = varicode_in[0] != 0; - return 1; -} - -int varicode_decode(struct VARICODE_DEC *dec_states, char ascii_out[], - short varicode_in[], int max_out, int n_in) { - if (dec_states->code_num == 1) - return varicode_decode1(dec_states, ascii_out, varicode_in, max_out, n_in); - else if (dec_states->code_num == 2) - return varicode_decode2(dec_states, ascii_out, varicode_in, max_out, n_in); - else - return varicode_decode3(dec_states, ascii_out, varicode_in, max_out, n_in); -} - -#ifdef VARICODE_UNITTEST -void test_varicode(int code_num) { - char *ascii_in; - short *varicode; - int i, n_varicode_bits_out, n_ascii_chars_out, length, half, n_out, j, len; - char *ascii_out; - struct VARICODE_DEC dec_states; - - if (code_num == 1) { - printf("long code:\n"); - length = sizeof(varicode_table1) / 2; - } else { - printf("short code:\n"); - length = sizeof(varicode_table2) / 2; - } - // length = 10; - ascii_in = (char *)MALLOC(length); - varicode = (short *)MALLOC(VARICODE_MAX_BITS * sizeof(short) * length); - ascii_out = (char *)MALLOC(length); - - // 1. test all Varicode codes - // ------------------------------------------------------------- - - if (code_num == 1) { - for (i = 0; i < length; i++) ascii_in[i] = (char)i; - } else { - for (i = 0; i < length; i++) ascii_in[i] = varicode_table2[2 * i]; - } - // printf(" ascii_in: %s\n", ascii_in); - n_varicode_bits_out = varicode_encode( - varicode, ascii_in, VARICODE_MAX_BITS * length, length, code_num); - - printf(" n_varicode_bits_out: %d\n", n_varicode_bits_out); - // for(i=0; i. -// -//========================================================================== - -#ifndef __VARICODE__ -#define __VARICODE__ - -#ifdef __cplusplus -extern "C" { - -#endif - -#define VARICODE_MAX_BITS \ - (10 + 2) /* max varicode bits for each ascii character */ - /* 10 bits for code plus 2 0 bits for inter-character space */ - -struct VARICODE_DEC { - int state; - int n_zeros; - int v_len; - unsigned short packed; - int code_num; - int n_in; - int in[2]; -}; - -int varicode_encode(short varicode_out[], char ascii_in[], int max_out, - int n_in, int code_num); -void varicode_decode_init(struct VARICODE_DEC *dec_states, int code_num); -int varicode_decode(struct VARICODE_DEC *dec_states, char ascii_out[], - short varicode_in[], int max_out, int n_in); -void varicode_set_code_num(struct VARICODE_DEC *dec_states, int code_num); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/varicode_table.h b/vendor/codec2_flutter_ios_only/src/codec2/src/varicode_table.h deleted file mode 100644 index ea119ce..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/varicode_table.h +++ /dev/null @@ -1,308 +0,0 @@ -//========================================================================== -// Name: varicode_table.h -// Purpose: Varicode look up table -// Created: Nov 24, 2012 -// Authors: Clint Turner, KA7OEI, Peter Martinez, G3PLX -// -// License: -// -// This program is free software; you can redistribute it and/or modify -// it under the terms of the GNU General Public License version 2.1, -// as published by the Free Software Foundation. This program is -// distributed in the hope that it will be useful, but WITHOUT ANY -// WARRANTY; without even the implied warranty of MERCHANTABILITY or -// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public -// License for more details. -// -// You should have received a copy of the GNU General Public License -// along with this program; if not, see . -// -//========================================================================== - -/* The following table defines the PKS31 varicode. There are 128 entries, -corresponding to ASCII characters 0-127 with two bytes for each entry. The bits -for the varicode are to be shifted out MSB-first for both bytes, with the first -byte in the table being the first one to be sent. - -More than one zero in sequence signifies the end of the character (i.e. -two zeroes are the intercharacter sequence, so at least two zeroes should always -be sent before the next character is sent. - -This file is constructed with information from the article "PSK31 Fundamentals" -by Peter Martinez, G3PLX by Clint Turner, KA7OEI -*/ -unsigned char const varicode_table1[256] = { - 0b10101010, - 0b11000000, // 0 NUL - 0b10110110, - 0b11000000, // 1 SOH - 0b10111011, - 0b01000000, // 2 STX - 0b11011101, - 0b11000000, // 3 ETX - 0b10111010, - 0b11000000, // 4 EOT - 0b11010111, - 0b11000000, // 5 ENQ - 0b10111011, - 0b11000000, // 6 ACK - 0b10111111, - 0b01000000, // 7 BEL - 0b10111111, - 0b11000000, // 8 BS - 0b11101111, - 0b00000000, // 9 HT - 0b11101000, - 0b00000000, // 10 LF - 0b11011011, - 0b11000000, // 11 VT - 0b10110111, - 0b01000000, // 12 FF - 0b11111000, - 0b00000000, // 13 CR - 0b11011101, - 0b01000000, // 14 SO - 0b11101010, - 0b11000000, // 15 SI - 0b10111101, - 0b11000000, // 16 DLE - 0b10111101, - 0b01000000, // 17 DC1 - 0b11101011, - 0b01000000, // 18 DC2 - 0b11101011, - 0b11000000, // 19 DC3 - 0b11010110, - 0b11000000, // 20 DC4 - 0b11011010, - 0b11000000, // 21 NAK - 0b11011011, - 0b01000000, // 22 SYN - 0b11010101, - 0b11000000, // 23 ETB - 0b11011110, - 0b11000000, // 24 CAN - 0b11011111, - 0b01000000, // 25 EM - 0b11101101, - 0b11000000, // 26 SUB - 0b11010101, - 0b01000000, // 27 ESC - 0b11010111, - 0b01000000, // 28 FS - 0b11101110, - 0b11000000, // 29 GS - 0b10111110, - 0b11000000, // 30 RS - 0b11011111, - 0b11000000, // 31 US - 0b10000000, - 0b00000000, // 32 SP - 0b11111111, - 0b10000000, // 33 ! - 0b10101111, - 0b10000000, // 34 " - 0b11111010, - 0b10000000, // 35 # - 0b11101101, - 0b10000000, // 36 $ - 0b10110101, - 0b01000000, // 37 % - 0b10101110, - 0b11000000, // 38 & - 0b10111111, - 0b10000000, // 39 ' - 0b11111011, - 0b00000000, // 40 ( - 0b11110111, - 0b00000000, // 41 ) - 0b10110111, - 0b10000000, // 42 * - 0b11101111, - 0b10000000, // 43 + - 0b11101010, - 0b00000000, // 44 , - 0b11010100, - 0b00000000, // 45 - - 0b10101110, - 0b00000000, // 46 . - 0b11010111, - 0b10000000, // 47 / - 0b10110111, - 0b00000000, // 48 0 - 0b10111101, - 0b00000000, // 49 1 - 0b11101101, - 0b00000000, // 50 2 - 0b11111111, - 0b00000000, // 51 3 - 0b10111011, - 0b10000000, // 52 4 - 0b10101101, - 0b10000000, // 53 5 - 0b10110101, - 0b10000000, // 54 6 - 0b11010110, - 0b10000000, // 55 7 - 0b11010101, - 0b10000000, // 56 8 - 0b11011011, - 0b10000000, // 57 9 - 0b11110101, - 0b00000000, // 58 : - 0b11011110, - 0b10000000, // 59 ; - 0b11110110, - 0b10000000, // 60 < - 0b10101010, - 0b00000000, // 61 = - 0b11101011, - 0b10000000, // 62 > - 0b10101011, - 0b11000000, // 63 ? - 0b10101111, - 0b01000000, // 64 @ - 0b11111010, - 0b00000000, // 65 A - 0b11101011, - 0b00000000, // 66 B - 0b10101101, - 0b00000000, // 67 C - 0b10110101, - 0b00000000, // 68 D - 0b11101110, - 0b00000000, // 69 E - 0b11011011, - 0b00000000, // 70 F - 0b11111101, - 0b00000000, // 71 G - 0b10101010, - 0b10000000, // 72 H - 0b11111110, - 0b00000000, // 73 I - 0b11111110, - 0b10000000, // 74 J - 0b10111110, - 0b10000000, // 75 K - 0b11010111, - 0b00000000, // 76 L - 0b10111011, - 0b00000000, // 77 M - 0b11011101, - 0b00000000, // 78 N - 0b10101011, - 0b00000000, // 79 O - 0b11010101, - 0b00000000, // 80 P - 0b11101110, - 0b10000000, // 81 Q - 0b10101111, - 0b00000000, // 82 R - 0b11011110, - 0b00000000, // 83 S - 0b11011010, - 0b00000000, // 84 T - 0b10101011, - 0b10000000, // 85 U - 0b11011010, - 0b10000000, // 86 V - 0b10101110, - 0b10000000, // 87 W - 0b10111010, - 0b10000000, // 88 X - 0b10111101, - 0b10000000, // 89 Y - 0b10101011, - 0b01000000, // 90 Z - 0b11111011, - 0b10000000, // 91 [ - 0b11110111, - 0b10000000, // 92 "\" - 0b11111101, - 0b10000000, // 93 ] - 0b10101111, - 0b11000000, // 94 ^ - 0b10110110, - 0b10000000, // 95 _ (underline) - 0b10110111, - 0b11000000, // 96 ` - 0b10110000, - 0b00000000, // 97 a - 0b10111110, - 0b00000000, // 98 b - 0b10111100, - 0b00000000, // 99 c - 0b10110100, - 0b00000000, // 100 d - 0b11000000, - 0b00000000, // 101 e - 0b11110100, - 0b00000000, // 102 f - 0b10110110, - 0b00000000, // 103 g - 0b10101100, - 0b00000000, // 104 h - 0b11010000, - 0b00000000, // 105 i - 0b11110101, - 0b10000000, // 106 j - 0b10111111, - 0b00000000, // 107 k - 0b11011000, - 0b00000000, // 108 l - 0b11101100, - 0b00000000, // 109 m - 0b11110000, - 0b00000000, // 110 n - 0b11100000, - 0b00000000, // 111 o - 0b11111100, - 0b00000000, // 112 p - 0b11011111, - 0b10000000, // 113 q - 0b10101000, - 0b00000000, // 114 r - 0b10111000, - 0b00000000, // 115 s - 0b10100000, - 0b00000000, // 116 t - 0b11011100, - 0b00000000, // 117 u - 0b11110110, - 0b00000000, // 118 v - 0b11010110, - 0b00000000, // 119 w - 0b11011111, - 0b00000000, // 120 x - 0b10111010, - 0b00000000, // 121 y - 0b11101010, - 0b10000000, // 122 z - 0b10101101, - 0b11000000, // 123 { - 0b11011101, - 0b10000000, // 124 | - 0b10101101, - 0b01000000, // 125 } - 0b10110101, - 0b11000000, // 126 ~ - 0b11101101, - 0b01000000, // 127 (del) -}; - -// This code was used on FDMDV version 1, and is more compact that Code 1, but -// only covers a subset of the ASCII character set - -char const varicode_table2[] = { - - ' ', 0b11000000, 13, 0b01000000, // CR, end of message - '=', 0b10000000, '1', 0b11110000, '2', 0b01110000, '3', 0b10110000, - '4', 0b11010000, '5', 0b01010000, '6', 0b10010000, '7', 0b11100000, - '8', 0b01100000, '9', 0b10100000, 'a', 0b11111100, 'b', 0b01111100, - 'c', 0b10111100, 'd', 0b11011100, 'e', 0b01011100, 'f', 0b10011100, - 'g', 0b11101100, 'h', 0b01101100, 'i', 0b10101100, 'j', 0b11110100, - 'k', 0b01110100, 'l', 0b10110100, 'm', 0b11010100, 'n', 0b01010100, - 'o', 0b10010100, 'p', 0b11100100, 'q', 0b01100100, 'r', 0b10100100, - 's', 0b11111000, 't', 0b01111000, 'u', 0b10111000, 'v', 0b11011000, - 'w', 0b01011000, 'x', 0b10011000, 'y', 0b11101000, 'z', 0b01101000, - '0', 0b10101000}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/vhf_deframe_c2.c b/vendor/codec2_flutter_ios_only/src/codec2/src/vhf_deframe_c2.c deleted file mode 100644 index 7543098..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/vhf_deframe_c2.c +++ /dev/null @@ -1,113 +0,0 @@ - -/*---------------------------------------------------------------------------*\ - - FILE........: vhf_deframe_c2.c - AUTHOR......: Brady O'Brien - DATE CREATED: 8 March 2016 - - C tool to extract codec2 data from freedv VHF 2400A/B/whatever frames - - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include - -#include "freedv_vhf_framing.h" - -int main(int argc, char *argv[]) { - struct freedv_vhf_deframer *deframer; - FILE *fin, *fout; - uint8_t *bitbuf; - uint8_t *c2buf; - uint8_t zbuf[] = {0, 0, 0, 0, 0, 0, 0, 0}; - int frame_fmt = 0; - int fsize, c2size; - - if (argc < 3) { - fprintf(stderr, "usage: %s (A|B) InputOneBitPerCharFile OutputC2File\n", - argv[0]); - exit(1); - } - - if (strcmp(argv[1], "A") == 0) { - frame_fmt = FREEDV_VHF_FRAME_A; - } else if (strcmp(argv[1], "B") == 0) { - frame_fmt = FREEDV_HF_FRAME_B; - } else { - fprintf(stderr, "usage: %s (A|B) InputOneBitPerCharFile OutputC2File\n", - argv[0]); - exit(1); - } - - /* Open files */ - if (strcmp(argv[2], "-") == 0) { - fin = stdin; - } else { - fin = fopen(argv[2], "r"); - } - - if (strcmp(argv[3], "-") == 0) { - fout = stdout; - } else { - fout = fopen(argv[3], "w"); - } - - /* Set up deframer */ - deframer = fvhff_create_deframer(frame_fmt, 0); - - if (fin == NULL || fout == NULL || deframer == NULL) { - fprintf(stderr, "Couldn't open test vector files\n"); - goto cleanup; - } - - c2size = fvhff_get_codec2_size(deframer); - fsize = fvhff_get_frame_size(deframer); - - /* allocate buffers for processing */ - bitbuf = (uint8_t *)malloc(sizeof(uint8_t) * fsize); - c2buf = (uint8_t *)malloc(sizeof(uint8_t) * c2size); - - /* Deframe! */ - while (fread(bitbuf, sizeof(uint8_t), fsize, fin) == fsize) { - if (fvhff_deframe_bits(deframer, c2buf, NULL, NULL, bitbuf)) - fwrite(c2buf, sizeof(uint8_t), c2size, fout); - else - fwrite(zbuf, sizeof(uint8_t), c2size, fout); - - if (fout == stdin) { - fflush(fout); - } - } - fprintf(stderr, "BER Estimate: %f total_uw_err: %d \n", - ((float)deframer->total_uw_err) / ((float)deframer->total_uw_bits), - deframer->total_uw_err); - - free(bitbuf); - free(c2buf); - -cleanup: - fclose(fin); - fclose(fout); - fvhff_destroy_deframer(deframer); - exit(0); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/vhf_frame_c2.c b/vendor/codec2_flutter_ios_only/src/codec2/src/vhf_frame_c2.c deleted file mode 100644 index b9e312a..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/vhf_frame_c2.c +++ /dev/null @@ -1,107 +0,0 @@ - -/*---------------------------------------------------------------------------*\ - - FILE........: vhf_deframe_c2.c - AUTHOR......: Brady O'Brien - DATE CREATED: 8 March 2016 - - C tool to extract codec2 data from freedv VHF 2400A/B/whatever frames - - -\*---------------------------------------------------------------------------*/ - -/* - Copyright (C) 2016 David Rowe - - All rights reserved. - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU Lesser General Public License version 2.1, as - published by the Free Software Foundation. This program is - distributed in the hope that it will be useful, but WITHOUT ANY - WARRANTY; without even the implied warranty of MERCHANTABILITY or - FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public - License for more details. - - You should have received a copy of the GNU Lesser General Public License - along with this program; if not, see . -*/ - -#include -#include -#include -#include - -#include "freedv_vhf_framing.h" - -int main(int argc, char *argv[]) { - struct freedv_vhf_deframer *deframer; - FILE *fin, *fout; - uint8_t *bitbuf; - uint8_t *c2buf; - int frame_fmt = 0; - int fsize, c2size; - - if (argc < 3) { - fprintf(stderr, "usage: %s (A|B) InpuC2File OutputOneBitPerCharFile\n", - argv[0]); - exit(1); - } - - if (strcmp(argv[1], "A") == 0) { - frame_fmt = FREEDV_VHF_FRAME_A; - } else if (strcmp(argv[1], "B") == 0) { - frame_fmt = FREEDV_HF_FRAME_B; - } else { - fprintf(stderr, "usage: %s (A|B) InpuC2File OutputOneBitPerCharFile\n", - argv[0]); - exit(1); - } - - /* Open files */ - if (strcmp(argv[2], "-") == 0) { - fin = stdin; - } else { - fin = fopen(argv[2], "r"); - } - - if (strcmp(argv[3], "-") == 0) { - fout = stdout; - } else { - fout = fopen(argv[3], "w"); - } - - /* Set up deframer */ - deframer = fvhff_create_deframer(frame_fmt, 0); - - if (fin == NULL || fout == NULL || deframer == NULL) { - fprintf(stderr, "Couldn't open test vector files\n"); - goto cleanup; - } - - c2size = fvhff_get_codec2_size(deframer); - fsize = fvhff_get_frame_size(deframer); - - /* allocate buffers for processing */ - bitbuf = (uint8_t *)malloc(sizeof(uint8_t) * fsize); - c2buf = (uint8_t *)malloc(sizeof(uint8_t) * c2size); - - /* Deframe! */ - while (fread(c2buf, sizeof(uint8_t), c2size, fin) == c2size) { - fvhff_frame_bits(frame_fmt, bitbuf, c2buf, NULL, NULL); - fwrite(bitbuf, sizeof(uint8_t), fsize, fout); - - if (fout == stdin) { - fflush(fout); - } - } - - free(bitbuf); - free(c2buf); - -cleanup: - fclose(fin); - fclose(fout); - fvhff_destroy_deframer(deframer); - exit(0); -} diff --git a/vendor/codec2_flutter_ios_only/src/codec2/src/wval.h b/vendor/codec2_flutter_ios_only/src/codec2/src/wval.h deleted file mode 100644 index f97d7d7..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2/src/wval.h +++ /dev/null @@ -1,117 +0,0 @@ -/* - * Generated file: - * - * ofdm_wfreq = 40.0; - * ofdm_nval = (int)(ofdm_fs / ofdm_wfreq); - * ofdm_w = TAU * ofdm_wfreq / ofdm_fs; - * - * ofdm_wval = MALLOC(sizeof (complex float) * ofdm_nval); - * - * for (i = 0; i < ofdm_nval; i++) { - * ofdm_wval[i] = cmplxconj(ofdm_w * i); - * } - * - */ -#include - -static const complex float ofdm_wval[] = { - 1.000000 - 0.000000 * I, 0.999507 - 0.031411 * I, - 0.998027 - 0.062791 * I, 0.995562 - 0.094108 * I, - 0.992115 - 0.125333 * I, 0.987688 - 0.156434 * I, - 0.982287 - 0.187381 * I, 0.975917 - 0.218143 * I, - 0.968583 - 0.248690 * I, 0.960294 - 0.278991 * I, - 0.951057 - 0.309017 * I, 0.940881 - 0.338738 * I, - 0.929776 - 0.368125 * I, 0.917755 - 0.397148 * I, - 0.904827 - 0.425779 * I, 0.891007 - 0.453991 * I, - 0.876307 - 0.481754 * I, 0.860742 - 0.509041 * I, - 0.844328 - 0.535827 * I, 0.827081 - 0.562083 * I, - 0.809017 - 0.587785 * I, 0.790155 - 0.612907 * I, - 0.770513 - 0.637424 * I, 0.750111 - 0.661312 * I, - 0.728969 - 0.684547 * I, 0.707107 - 0.707107 * I, - 0.684547 - 0.728969 * I, 0.661312 - 0.750111 * I, - 0.637424 - 0.770513 * I, 0.612907 - 0.790155 * I, - 0.587785 - 0.809017 * I, 0.562083 - 0.827081 * I, - 0.535827 - 0.844328 * I, 0.509041 - 0.860742 * I, - 0.481754 - 0.876307 * I, 0.453990 - 0.891007 * I, - 0.425779 - 0.904827 * I, 0.397148 - 0.917755 * I, - 0.368125 - 0.929776 * I, 0.338738 - 0.940881 * I, - 0.309017 - 0.951057 * I, 0.278991 - 0.960294 * I, - 0.248690 - 0.968583 * I, 0.218143 - 0.975917 * I, - 0.187381 - 0.982287 * I, 0.156434 - 0.987688 * I, - 0.125333 - 0.992115 * I, 0.094108 - 0.995562 * I, - 0.062790 - 0.998027 * I, 0.031411 - 0.999507 * I, - -0.000000 - 1.000000 * I, -0.031411 - 0.999507 * I, - -0.062791 - 0.998027 * I, -0.094108 - 0.995562 * I, - -0.125333 - 0.992115 * I, -0.156435 - 0.987688 * I, - -0.187381 - 0.982287 * I, -0.218143 - 0.975917 * I, - -0.248690 - 0.968583 * I, -0.278991 - 0.960294 * I, - -0.309017 - 0.951056 * I, -0.338738 - 0.940881 * I, - -0.368125 - 0.929776 * I, -0.397148 - 0.917755 * I, - -0.425779 - 0.904827 * I, -0.453991 - 0.891006 * I, - -0.481754 - 0.876307 * I, -0.509042 - 0.860742 * I, - -0.535827 - 0.844328 * I, -0.562084 - 0.827080 * I, - -0.587785 - 0.809017 * I, -0.612907 - 0.790155 * I, - -0.637424 - 0.770513 * I, -0.661312 - 0.750111 * I, - -0.684547 - 0.728968 * I, -0.707107 - 0.707107 * I, - -0.728969 - 0.684547 * I, -0.750111 - 0.661312 * I, - -0.770513 - 0.637424 * I, -0.790155 - 0.612907 * I, - -0.809017 - 0.587785 * I, -0.827081 - 0.562083 * I, - -0.844328 - 0.535827 * I, -0.860742 - 0.509041 * I, - -0.876307 - 0.481754 * I, -0.891007 - 0.453990 * I, - -0.904827 - 0.425779 * I, -0.917755 - 0.397148 * I, - -0.929777 - 0.368124 * I, -0.940881 - 0.338738 * I, - -0.951057 - 0.309017 * I, -0.960294 - 0.278991 * I, - -0.968583 - 0.248690 * I, -0.975917 - 0.218143 * I, - -0.982287 - 0.187381 * I, -0.987688 - 0.156434 * I, - -0.992115 - 0.125333 * I, -0.995562 - 0.094108 * I, - -0.998027 - 0.062790 * I, -0.999507 - 0.031411 * I, - -1.000000 + 0.000000 * I, -0.999507 + 0.031411 * I, - -0.998027 + 0.062791 * I, -0.995562 + 0.094108 * I, - -0.992115 + 0.125333 * I, -0.987688 + 0.156435 * I, - -0.982287 + 0.187381 * I, -0.975917 + 0.218143 * I, - -0.968583 + 0.248690 * I, -0.960294 + 0.278991 * I, - -0.951056 + 0.309017 * I, -0.940881 + 0.338738 * I, - -0.929776 + 0.368125 * I, -0.917755 + 0.397148 * I, - -0.904827 + 0.425780 * I, -0.891006 + 0.453991 * I, - -0.876307 + 0.481754 * I, -0.860742 + 0.509042 * I, - -0.844328 + 0.535827 * I, -0.827081 + 0.562083 * I, - -0.809017 + 0.587785 * I, -0.790155 + 0.612907 * I, - -0.770513 + 0.637424 * I, -0.750111 + 0.661312 * I, - -0.728969 + 0.684547 * I, -0.707107 + 0.707107 * I, - -0.684547 + 0.728969 * I, -0.661312 + 0.750111 * I, - -0.637424 + 0.770513 * I, -0.612907 + 0.790155 * I, - -0.587785 + 0.809017 * I, -0.562083 + 0.827081 * I, - -0.535827 + 0.844328 * I, -0.509041 + 0.860742 * I, - -0.481753 + 0.876307 * I, -0.453990 + 0.891007 * I, - -0.425779 + 0.904827 * I, -0.397148 + 0.917755 * I, - -0.368124 + 0.929777 * I, -0.338738 + 0.940881 * I, - -0.309017 + 0.951057 * I, -0.278991 + 0.960294 * I, - -0.248690 + 0.968583 * I, -0.218143 + 0.975917 * I, - -0.187381 + 0.982287 * I, -0.156434 + 0.987688 * I, - -0.125333 + 0.992115 * I, -0.094108 + 0.995562 * I, - -0.062790 + 0.998027 * I, -0.031410 + 0.999507 * I, - 0.000000 + 1.000000 * I, 0.031411 + 0.999507 * I, - 0.062791 + 0.998027 * I, 0.094108 + 0.995562 * I, - 0.125333 + 0.992115 * I, 0.156435 + 0.987688 * I, - 0.187381 + 0.982287 * I, 0.218143 + 0.975917 * I, - 0.248690 + 0.968583 * I, 0.278991 + 0.960294 * I, - 0.309017 + 0.951056 * I, 0.338738 + 0.940881 * I, - 0.368125 + 0.929776 * I, 0.397148 + 0.917755 * I, - 0.425779 + 0.904827 * I, 0.453991 + 0.891006 * I, - 0.481754 + 0.876307 * I, 0.509042 + 0.860742 * I, - 0.535827 + 0.844328 * I, 0.562084 + 0.827080 * I, - 0.587785 + 0.809017 * I, 0.612907 + 0.790155 * I, - 0.637424 + 0.770513 * I, 0.661312 + 0.750111 * I, - 0.684547 + 0.728968 * I, 0.707107 + 0.707107 * I, - 0.728969 + 0.684547 * I, 0.750111 + 0.661312 * I, - 0.770513 + 0.637424 * I, 0.790155 + 0.612907 * I, - 0.809017 + 0.587785 * I, 0.827081 + 0.562083 * I, - 0.844328 + 0.535826 * I, 0.860742 + 0.509041 * I, - 0.876307 + 0.481753 * I, 0.891007 + 0.453990 * I, - 0.904827 + 0.425779 * I, 0.917755 + 0.397147 * I, - 0.929777 + 0.368124 * I, 0.940881 + 0.338737 * I, - 0.951057 + 0.309016 * I, 0.960294 + 0.278991 * I, - 0.968583 + 0.248689 * I, 0.975917 + 0.218143 * I, - 0.982287 + 0.187381 * I, 0.987688 + 0.156434 * I, - 0.992115 + 0.125333 * I, 0.995562 + 0.094108 * I, - 0.998027 + 0.062790 * I, 0.999507 + 0.031411 * I}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebook.c b/vendor/codec2_flutter_ios_only/src/codec2_generated/codebook.c deleted file mode 100644 index 097209d..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebook.c +++ /dev/null @@ -1,285 +0,0 @@ -/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ - -/* - * This intermediary file and the files that used to create it are under - * The LGPL. See the file COPYING. - */ - -#include "defines.h" - - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp1.txt */ -#ifdef __EMBEDDED__ -static const float codes0[] = { -#else -static float codes0[] = { -#endif - 225, - 250, - 275, - 300, - 325, - 350, - 375, - 400, - 425, - 450, - 475, - 500, - 525, - 550, - 575, - 600 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp2.txt */ -#ifdef __EMBEDDED__ -static const float codes1[] = { -#else -static float codes1[] = { -#endif - 325, - 350, - 375, - 400, - 425, - 450, - 475, - 500, - 525, - 550, - 575, - 600, - 625, - 650, - 675, - 700 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp3.txt */ -#ifdef __EMBEDDED__ -static const float codes2[] = { -#else -static float codes2[] = { -#endif - 500, - 550, - 600, - 650, - 700, - 750, - 800, - 850, - 900, - 950, - 1000, - 1050, - 1100, - 1150, - 1200, - 1250 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp4.txt */ -#ifdef __EMBEDDED__ -static const float codes3[] = { -#else -static float codes3[] = { -#endif - 700, - 800, - 900, - 1000, - 1100, - 1200, - 1300, - 1400, - 1500, - 1600, - 1700, - 1800, - 1900, - 2000, - 2100, - 2200 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp5.txt */ -#ifdef __EMBEDDED__ -static const float codes4[] = { -#else -static float codes4[] = { -#endif - 950, - 1050, - 1150, - 1250, - 1350, - 1450, - 1550, - 1650, - 1750, - 1850, - 1950, - 2050, - 2150, - 2250, - 2350, - 2450 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp6.txt */ -#ifdef __EMBEDDED__ -static const float codes5[] = { -#else -static float codes5[] = { -#endif - 1100, - 1200, - 1300, - 1400, - 1500, - 1600, - 1700, - 1800, - 1900, - 2000, - 2100, - 2200, - 2300, - 2400, - 2500, - 2600 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp7.txt */ -#ifdef __EMBEDDED__ -static const float codes6[] = { -#else -static float codes6[] = { -#endif - 1500, - 1600, - 1700, - 1800, - 1900, - 2000, - 2100, - 2200, - 2300, - 2400, - 2500, - 2600, - 2700, - 2800, - 2900, - 3000 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp8.txt */ -#ifdef __EMBEDDED__ -static const float codes7[] = { -#else -static float codes7[] = { -#endif - 2300, - 2400, - 2500, - 2600, - 2700, - 2800, - 2900, - 3000 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp9.txt */ -#ifdef __EMBEDDED__ -static const float codes8[] = { -#else -static float codes8[] = { -#endif - 2500, - 2600, - 2700, - 2800, - 2900, - 3000, - 3100, - 3200 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp10.txt */ -#ifdef __EMBEDDED__ -static const float codes9[] = { -#else -static float codes9[] = { -#endif - 2900, - 3100, - 3300, - 3500 -}; - -const struct lsp_codebook lsp_cb[] = { - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp1.txt */ - { - 1, - 4, - 16, - codes0 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp2.txt */ - { - 1, - 4, - 16, - codes1 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp3.txt */ - { - 1, - 4, - 16, - codes2 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp4.txt */ - { - 1, - 4, - 16, - codes3 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp5.txt */ - { - 1, - 4, - 16, - codes4 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp6.txt */ - { - 1, - 4, - 16, - codes5 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp7.txt */ - { - 1, - 4, - 16, - codes6 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp8.txt */ - { - 1, - 3, - 8, - codes7 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp9.txt */ - { - 1, - 3, - 8, - codes8 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lsp10.txt */ - { - 1, - 2, - 4, - codes9 - }, - { 0, 0, 0, 0 } -}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebookd.c b/vendor/codec2_flutter_ios_only/src/codec2_generated/codebookd.c deleted file mode 100644 index e1be994..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebookd.c +++ /dev/null @@ -1,473 +0,0 @@ -/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ - -/* - * This intermediary file and the files that used to create it are under - * The LGPL. See the file COPYING. - */ - -#include "defines.h" - - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp1.txt */ -#ifdef __EMBEDDED__ -static const float codes0[] = { -#else -static float codes0[] = { -#endif - 25, - 50, - 75, - 100, - 125, - 150, - 175, - 200, - 225, - 250, - 275, - 300, - 325, - 350, - 375, - 400, - 425, - 450, - 475, - 500, - 525, - 550, - 575, - 600, - 625, - 650, - 675, - 700, - 725, - 750, - 775, - 800 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp2.txt */ -#ifdef __EMBEDDED__ -static const float codes1[] = { -#else -static float codes1[] = { -#endif - 25, - 50, - 75, - 100, - 125, - 150, - 175, - 200, - 225, - 250, - 275, - 300, - 325, - 350, - 375, - 400, - 425, - 450, - 475, - 500, - 525, - 550, - 575, - 600, - 625, - 650, - 675, - 700, - 725, - 750, - 775, - 800 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp3.txt */ -#ifdef __EMBEDDED__ -static const float codes2[] = { -#else -static float codes2[] = { -#endif - 25, - 50, - 75, - 100, - 125, - 150, - 175, - 200, - 225, - 250, - 275, - 300, - 325, - 350, - 375, - 400, - 425, - 450, - 475, - 500, - 525, - 550, - 575, - 600, - 625, - 650, - 675, - 700, - 725, - 750, - 775, - 800 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp4.txt */ -#ifdef __EMBEDDED__ -static const float codes3[] = { -#else -static float codes3[] = { -#endif - 25, - 50, - 75, - 100, - 125, - 150, - 175, - 200, - 250, - 300, - 350, - 400, - 450, - 500, - 550, - 600, - 650, - 700, - 750, - 800, - 850, - 900, - 950, - 1000, - 1050, - 1100, - 1150, - 1200, - 1250, - 1300, - 1350, - 1400 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp5.txt */ -#ifdef __EMBEDDED__ -static const float codes4[] = { -#else -static float codes4[] = { -#endif - 25, - 50, - 75, - 100, - 125, - 150, - 175, - 200, - 250, - 300, - 350, - 400, - 450, - 500, - 550, - 600, - 650, - 700, - 750, - 800, - 850, - 900, - 950, - 1000, - 1050, - 1100, - 1150, - 1200, - 1250, - 1300, - 1350, - 1400 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp6.txt */ -#ifdef __EMBEDDED__ -static const float codes5[] = { -#else -static float codes5[] = { -#endif - 25, - 50, - 75, - 100, - 125, - 150, - 175, - 200, - 250, - 300, - 350, - 400, - 450, - 500, - 550, - 600, - 650, - 700, - 750, - 800, - 850, - 900, - 950, - 1000, - 1050, - 1100, - 1150, - 1200, - 1250, - 1300, - 1350, - 1400 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp7.txt */ -#ifdef __EMBEDDED__ -static const float codes6[] = { -#else -static float codes6[] = { -#endif - 25, - 50, - 75, - 100, - 125, - 150, - 175, - 200, - 225, - 250, - 275, - 300, - 325, - 350, - 375, - 400, - 425, - 450, - 475, - 500, - 525, - 550, - 575, - 600, - 625, - 650, - 675, - 700, - 725, - 750, - 775, - 800 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp8.txt */ -#ifdef __EMBEDDED__ -static const float codes7[] = { -#else -static float codes7[] = { -#endif - 25, - 50, - 75, - 100, - 125, - 150, - 175, - 200, - 225, - 250, - 275, - 300, - 325, - 350, - 375, - 400, - 425, - 450, - 475, - 500, - 525, - 550, - 575, - 600, - 625, - 650, - 675, - 700, - 725, - 750, - 775, - 800 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp9.txt */ -#ifdef __EMBEDDED__ -static const float codes8[] = { -#else -static float codes8[] = { -#endif - 25, - 50, - 75, - 100, - 125, - 150, - 175, - 200, - 225, - 250, - 275, - 300, - 325, - 350, - 375, - 400, - 425, - 450, - 475, - 500, - 525, - 550, - 575, - 600, - 625, - 650, - 675, - 700, - 725, - 750, - 775, - 800 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp10.txt */ -#ifdef __EMBEDDED__ -static const float codes9[] = { -#else -static float codes9[] = { -#endif - 25, - 50, - 75, - 100, - 125, - 150, - 175, - 200, - 225, - 250, - 275, - 300, - 325, - 350, - 375, - 400, - 425, - 450, - 475, - 500, - 525, - 550, - 575, - 600, - 625, - 650, - 675, - 700, - 725, - 750, - 775, - 800 -}; - -const struct lsp_codebook lsp_cbd[] = { - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp1.txt */ - { - 1, - 5, - 32, - codes0 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp2.txt */ - { - 1, - 5, - 32, - codes1 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp3.txt */ - { - 1, - 5, - 32, - codes2 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp4.txt */ - { - 1, - 5, - 32, - codes3 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp5.txt */ - { - 1, - 5, - 32, - codes4 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp6.txt */ - { - 1, - 5, - 32, - codes5 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp7.txt */ - { - 1, - 5, - 32, - codes6 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp8.txt */ - { - 1, - 5, - 32, - codes7 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp9.txt */ - { - 1, - 5, - 32, - codes8 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/dlsp10.txt */ - { - 1, - 5, - 32, - codes9 - }, - { 0, 0, 0, 0 } -}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebookge.c b/vendor/codec2_flutter_ios_only/src/codec2_generated/codebookge.c deleted file mode 100644 index e3cc45c..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebookge.c +++ /dev/null @@ -1,283 +0,0 @@ -/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ - -/* - * This intermediary file and the files that used to create it are under - * The LGPL. See the file COPYING. - */ - -#include "defines.h" - - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/gecb.txt */ -#ifdef __EMBEDDED__ -static const float codes0[] = { -#else -static float codes0[] = { -#endif - 2.71, 12.0184, - 0.04675, -2.73881, - 0.120993, 8.38895, - -1.58028, -0.892307, - 1.19307, -1.91561, - 0.187101, -3.27679, - 0.332251, -7.66455, - -1.47944, 31.2461, - 1.52761, 27.7095, - -0.524379, 5.25012, - 0.55333, 7.4388, - -0.843451, -1.95299, - 2.26389, 8.61029, - 0.143143, 2.36549, - 0.616506, 1.28427, - -1.71133, 22.0967, - 1.00813, 17.3965, - -0.106718, 1.41891, - -0.136246, 14.2736, - -1.70909, -20.5319, - 1.65787, -3.39107, - 0.138049, -4.95785, - 0.536729, -1.94375, - 0.196307, 36.8519, - 1.27248, 22.5565, - -0.670219, -1.90604, - 0.382092, 6.40113, - -0.756911, -4.90102, - 1.82931, 4.6138, - 0.318794, 0.73683, - 0.612815, -2.07505, - -0.410151, 24.7871, - 1.77602, 13.1909, - 0.106457, -0.104492, - 0.192206, 10.1838, - -1.82442, -7.71565, - 0.931346, 4.34835, - 0.308813, -4.086, - 0.397143, -11.8089, - -0.048715, 41.2273, - 0.877342, 35.8503, - -0.759794, 0.476634, - 0.978593, 7.67467, - -1.19506, 3.03883, - 2.63989, -3.41106, - 0.191127, 3.60351, - 0.402932, 1.0843, - -2.15202, 18.1076, - 1.5468, 8.32271, - -0.143089, -4.07592, - -0.150142, 5.86674, - -1.40844, -3.2507, - 1.56615, -10.4132, - 0.178171, -10.2267, - 0.362164, -0.028556, - -0.070125, 24.3907, - 0.594752, 17.4828, - -0.28698, -6.90407, - 0.464818, 10.2055, - -1.00684, -14.3572, - 2.32957, -3.69161, - 0.335745, 2.40714, - 1.01966, -3.15565, - -1.25945, 7.9919, - 2.38369, 19.6806, - -0.094947, -2.41374, - 0.20933, 6.66477, - -2.22103, 1.37986, - 1.29239, 2.04633, - 0.243626, -0.890741, - 0.428773, -7.19366, - -1.11374, 41.3414, - 2.6098, 31.1405, - -0.446468, 2.53419, - 0.490104, 4.62757, - -1.11723, -3.24174, - 1.79156, 8.41493, - 0.156012, 0.183336, - 0.532447, 3.15455, - -0.764484, 18.514, - 0.952395, 11.7713, - -0.332567, 0.346987, - 0.202165, 14.7168, - -2.12924, -15.559, - 1.35358, -1.92679, - -0.010963, -16.3364, - 0.399053, -2.79057, - 0.750657, 31.1483, - 0.655743, 24.4819, - -0.45321, -0.735879, - 0.2869, 6.5467, - -0.715673, -12.3578, - 1.54849, 3.87217, - 0.271874, 0.802339, - 0.502073, -4.85485, - -0.497037, 17.7619, - 1.19116, 13.9544, - 0.01563, 1.33157, - 0.341867, 8.93537, - -2.31601, -5.39506, - 0.75861, 1.9645, - 0.24132, -3.23769, - 0.267151, -11.2344, - -0.273126, 32.6248, - 1.75352, 40.432, - -0.784011, 3.04576, - 0.705987, 5.66118, - -1.3864, 1.35356, - 2.37646, 1.67485, - 0.242973, 4.73218, - 0.491227, 0.354061, - -1.60676, 8.65895, - 1.16711, 5.9871, - -0.137601, -12.0417, - -0.251375, 10.3972, - -1.43151, -8.90411, - 0.98828, -13.209, - 0.261484, -6.35497, - 0.395932, -0.702529, - 0.283704, 26.8996, - 0.420959, 15.4418, - -0.355804, -13.7278, - 0.527372, 12.3985, - -1.16956, -15.9985, - 1.90669, -5.81605, - 0.354492, 3.85157, - 0.82576, -4.16264, - -0.49019, 13.0572, - 2.25577, 13.5264, - -0.004956, -3.23713, - 0.026709, 7.86645, - -1.81037, -0.451183, - 1.08383, -0.18362, - 0.135836, -2.26658, - 0.375812, -5.51225, - -1.96644, 38.6829, - 1.97799, 24.5655, - -0.704656, 6.35881, - 0.480786, 7.05175, - -0.976417, -2.42273, - 2.50215, 6.75935, - 0.083588, 3.2588, - 0.543629, 0.910013, - -1.23196, 23.0915, - 0.785492, 14.807, - -0.213554, 1.688, - 0.004748, 18.1718, - -1.54719, -16.1168, - 1.50104, -3.28114, - 0.080133, -4.63472, - 0.476592, -2.18093, - 0.44247, 40.304, - 1.07277, 27.592, - -0.594738, -4.16681, - 0.42248, 7.61609, - -0.927521, -7.27441, - 1.99162, 1.29636, - 0.291307, 2.39878, - 0.721081, -1.95062, - -0.804256, 24.9295, - 1.64839, 19.1197, - 0.060852, -0.590639, - 0.266085, 9.10325, - -1.9574, -2.88461, - 1.11693, 2.6724, - 0.35458, -2.74854, - 0.330733, -14.1561, - -0.527851, 39.5756, - 0.991152, 43.195, - -0.589619, 1.26919, - 0.787401, 8.73071, - -1.0138, 1.02507, - 2.8254, 1.89538, - 0.24089, 2.74557, - 0.427195, 2.54446, - -1.95311, 12.244, - 1.44862, 12.0607, - -0.210492, -3.37906, - -0.056713, 10.204, - -1.65237, -5.10274, - 1.29475, -12.2708, - 0.111608, -8.67592, - 0.326634, -1.16763, - 0.021781, 31.1258, - 0.455335, 21.4684, - -0.37544, -3.37121, - 0.39362, 11.302, - -0.851456, -19.4149, - 2.10703, -2.22886, - 0.373233, 1.92406, - 0.884438, -1.72058, - -0.975127, 9.84013, - 2.0033, 17.3954, - -0.036915, -1.11137, - 0.148456, 5.39997, - -1.91441, 4.77382, - 1.44791, 0.537122, - 0.194979, -1.03818, - 0.495771, -9.95502, - -1.05899, 32.9471, - 2.01122, 32.4544, - -0.30965, 4.71911, - 0.436082, 4.63552, - -1.23711, -1.25428, - 2.02274, 9.42834, - 0.190342, 1.46077, - 0.479017, 2.48479, - -1.07848, 16.2217, - 1.20764, 9.65421, - -0.258087, -1.67236, - 0.071852, 13.416, - -1.87723, -16.072, - 1.28957, -4.87118, - 0.067713, -13.4427, - 0.435551, -4.1655, - 0.46614, 30.5895, - 0.904895, 21.598, - -0.518369, -2.53205, - 0.337363, 5.63726, - -0.554975, -17.4005, - 1.69188, 1.14574, - 0.227934, 0.889297, - 0.587303, -5.72973, - -0.262133, 18.6666, - 1.39505, 17.0029, - -0.01909, 4.30838, - 0.304235, 12.6699, - -2.07406, -6.46084, - 0.920546, 1.21296, - 0.284927, -1.78547, - 0.209724, -16.024, - -0.636067, 31.5768, - 1.34989, 34.6775, - -0.971625, 5.30086, - 0.590249, 4.44971, - -1.56787, 3.60239, - 2.1455, 4.51666, - 0.296022, 4.12017, - 0.445299, 0.868772, - -1.44193, 14.1284, - 1.35575, 6.0074, - -0.012814, -7.49657, - -0.43, 8.50012, - -1.20469, -7.11326, - 1.10102, -6.83682, - 0.196463, -6.234, - 0.436747, -1.12979, - 0.141052, 22.8549, - 0.290821, 18.8114, - -0.529536, -7.73251, - 0.63428, 10.7898, - -1.33472, -20.3258, - 1.81564, -1.90332, - 0.394778, 3.79758, - 0.732682, -8.18382, - -0.741244, 11.7683 -}; - -const struct lsp_codebook ge_cb[] = { - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/gecb.txt */ - { - 2, - 8, - 256, - codes0 - }, - { 0, 0, 0, 0 } -}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebookjmv.c b/vendor/codec2_flutter_ios_only/src/codec2_generated/codebookjmv.c deleted file mode 100644 index 783bfbf..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebookjmv.c +++ /dev/null @@ -1,1591 +0,0 @@ -/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ - -/* - * This intermediary file and the files that used to create it are under - * The LGPL. See the file COPYING. - */ - -#include "defines.h" - - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lspjmv1.txt */ -#ifdef __EMBEDDED__ -static const float codes0[] = { -#else -static float codes0[] = { -#endif - 0.435217, 0.668864, 1.0103, 1.22042, 1.50398, 1.78468, 2.13546, 2.35747, 2.61891, 2.73804, - 0.179285, 0.33316, 0.500638, 0.79695, 1.03999, 1.23497, 1.6523, 1.84823, 2.62556, 2.80497, - 0.268785, 0.356576, 0.595753, 1.04434, 1.24938, 1.42868, 1.68699, 1.86469, 2.33991, 2.5138, - 0.12007, 0.165585, 0.484694, 0.95916, 1.23753, 1.52915, 1.83751, 2.10773, 2.48749, 2.76685, - 0.150214, 0.229487, 0.62824, 0.961255, 1.33706, 1.59831, 1.91974, 2.21786, 2.53732, 2.75956, - 0.268624, 0.34598, 0.569637, 0.754737, 0.916538, 1.50854, 1.78635, 1.95442, 2.36953, 2.50182, - 0.246064, 0.468874, 0.662711, 0.890015, 1.14715, 1.51043, 1.78106, 2.09594, 2.65539, 2.80037, - 0.191631, 0.280628, 0.393229, 0.611761, 1.42017, 1.70774, 1.87303, 2.10155, 2.28035, 2.49949, - 0.361668, 0.507047, 0.789974, 1.04599, 1.50238, 1.67703, 1.90534, 2.16255, 2.43226, 2.59087, - 0.20816, 0.294285, 0.448634, 0.694229, 0.872517, 1.07032, 1.70335, 2.16874, 2.42619, 2.60366, - 0.316939, 0.513618, 0.705487, 0.917036, 1.17599, 1.31114, 1.6186, 2.03784, 2.45052, 2.5794, - 0.241068, 0.377728, 0.521595, 0.717203, 1.31041, 1.53999, 1.73643, 2.09893, 2.29792, 2.58735, - 0.234937, 0.281875, 0.780422, 1.44073, 1.60943, 1.75643, 1.97721, 2.14861, 2.60203, 2.7225, - 0.178679, 0.242672, 0.416988, 0.708348, 0.95562, 1.17667, 1.7818, 2.05449, 2.28159, 2.44811, - 0.345036, 0.42108, 0.740887, 1.16544, 1.32494, 1.4888, 1.76346, 1.90617, 2.39505, 2.64916, - 0.249586, 0.357494, 0.520747, 0.847195, 1.42841, 1.59778, 1.77819, 2.1785, 2.41344, 2.56466, - 0.295235, 0.574231, 1.2491, 1.4641, 1.72756, 1.92679, 2.09536, 2.28483, 2.56707, 2.72248, - 0.34193, 0.427307, 0.634001, 0.804212, 0.905629, 1.33337, 1.79033, 1.89276, 2.44582, 2.60283, - 0.363948, 0.508985, 0.667357, 0.946354, 1.43756, 1.62654, 1.81114, 2.03909, 2.29188, 2.43549, - 0.163514, 0.277407, 0.409207, 0.902065, 1.18907, 1.33964, 1.80241, 1.96077, 2.65293, 2.81899, - 0.302643, 0.359753, 0.651207, 1.20802, 1.4237, 1.54815, 1.88213, 2.01559, 2.26054, 2.5789, - 0.155928, 0.216908, 0.381812, 0.654803, 1.11237, 1.58993, 1.84756, 1.97672, 2.22408, 2.72534, - 0.274981, 0.347675, 0.572, 0.736046, 0.894248, 1.63237, 1.89139, 2.05689, 2.6029, 2.72178, - 0.154496, 0.243461, 0.348174, 0.689505, 1.57381, 1.70031, 1.94318, 2.10158, 2.56466, 2.77317, - 0.292612, 0.466612, 0.795936, 1.04747, 1.41369, 1.75085, 2.06289, 2.34007, 2.61361, 2.76949, - 0.242896, 0.3615, 0.555859, 0.793597, 0.932291, 1.40947, 1.86386, 2.00953, 2.4645, 2.67749, - 0.221646, 0.344724, 0.554564, 0.729403, 1.13657, 1.30177, 1.52918, 2.16359, 2.39582, 2.61081, - 0.160969, 0.224467, 0.371545, 0.626879, 1.16095, 1.44423, 1.67597, 1.87978, 2.47859, 2.67202, - 0.214172, 0.341585, 0.676575, 0.977397, 1.32543, 1.7201, 2.07259, 2.36954, 2.63528, 2.77879, - 0.203311, 0.289438, 0.458739, 0.914153, 1.12288, 1.30292, 1.58384, 1.88683, 2.18787, 2.42704, - 0.280383, 0.3716, 0.824827, 1.10025, 1.23623, 1.39892, 1.57804, 2.016, 2.36897, 2.50673, - 0.170627, 0.251778, 0.393686, 0.608347, 1.2876, 1.44667, 1.79328, 2.03655, 2.31015, 2.75244, - 0.18058, 0.288746, 0.987854, 1.43171, 1.67722, 1.91566, 2.12494, 2.28945, 2.58961, 2.75426, - 0.176335, 0.266263, 0.445421, 0.706403, 0.875402, 1.42292, 1.75867, 1.96091, 2.41068, 2.60175, - 0.216173, 0.287404, 0.480696, 1.00977, 1.2913, 1.47664, 1.89558, 2.06429, 2.28406, 2.48311, - 0.176523, 0.273934, 0.403407, 0.966139, 1.30472, 1.43661, 1.94473, 2.08484, 2.54446, 2.76242, - 0.311836, 0.550501, 0.879591, 1.09623, 1.27666, 1.47786, 1.81771, 2.15434, 2.56047, 2.77984, - 0.179765, 0.25056, 0.455939, 1.02389, 1.22513, 1.47566, 1.73462, 1.91871, 2.14734, 2.43824, - 0.271033, 0.457235, 0.599622, 0.821049, 0.940125, 1.20094, 1.84972, 1.98666, 2.54817, 2.75158, - 0.179326, 0.248002, 0.426405, 0.81706, 1.28589, 1.56502, 2.11736, 2.29871, 2.5724, 2.7527, - 0.374409, 0.535936, 0.897009, 1.18507, 1.59157, 1.7572, 1.96794, 2.17999, 2.45739, 2.62264, - 0.185472, 0.282752, 0.409439, 0.657499, 0.856446, 1.0294, 1.87993, 2.06932, 2.34474, 2.7531, - 0.375964, 0.578457, 0.758945, 0.929339, 1.12748, 1.25944, 1.70411, 2.12297, 2.33603, 2.4983, - 0.225641, 0.36103, 0.501679, 0.783379, 1.31485, 1.45262, 1.71415, 1.98716, 2.2257, 2.72436, - 0.144996, 0.252919, 0.632145, 1.22604, 1.57534, 1.90155, 2.17148, 2.39055, 2.68229, 2.80983, - 0.172022, 0.263338, 0.448634, 0.729435, 0.984007, 1.1716, 1.75705, 1.99023, 2.32131, 2.77121, - 0.235731, 0.351117, 0.796871, 1.05571, 1.30022, 1.59182, 1.89587, 2.12292, 2.41789, 2.59982, - 0.254053, 0.319371, 0.455623, 1.08614, 1.66467, 1.91588, 2.05908, 2.23342, 2.45204, 2.58679, - 0.375538, 0.742993, 1.13991, 1.33776, 1.73556, 2.01391, 2.31501, 2.48343, 2.65158, 2.75521, - 0.247245, 0.481131, 0.710366, 0.897602, 1.12109, 1.27171, 1.78735, 2.1995, 2.42966, 2.74067, - 0.226103, 0.311441, 0.501648, 0.844424, 1.36282, 1.53134, 1.77747, 1.98993, 2.18749, 2.3585, - 0.195862, 0.296224, 0.609554, 0.783241, 1.24347, 1.44548, 1.63703, 2.02264, 2.48356, 2.64614, - 0.233302, 0.299441, 0.472792, 1.24946, 1.45788, 1.60186, 1.83143, 1.99372, 2.59719, 2.75543, - 0.168096, 0.224183, 0.3827, 0.596214, 1.06059, 1.29442, 1.60576, 1.84849, 2.3577, 2.56919, - 0.33005, 0.445912, 0.661713, 0.874446, 1.00079, 1.45297, 1.94399, 2.07692, 2.42388, 2.61236, - 0.226382, 0.287303, 0.517631, 0.806229, 1.30901, 1.88528, 2.16051, 2.28641, 2.52638, 2.66082, - 0.20317, 0.499314, 0.887358, 1.23507, 1.46292, 1.69826, 1.99932, 2.22922, 2.57161, 2.76669, - 0.307531, 0.378353, 0.573606, 0.712218, 0.850169, 1.309, 2.05909, 2.26382, 2.49794, 2.67682, - 0.276203, 0.51025, 0.6868, 0.902844, 1.2052, 1.32798, 1.71889, 2.03895, 2.25639, 2.69715, - 0.161948, 0.229115, 0.393619, 0.683613, 1.13781, 1.32269, 1.78372, 1.96158, 2.38907, 2.63608, - 0.201334, 0.276773, 0.468994, 0.967017, 1.47597, 1.63242, 1.96577, 2.19728, 2.48059, 2.70155, - 0.214587, 0.315421, 0.469498, 0.733397, 1.146, 1.27791, 1.72784, 2.22713, 2.44026, 2.68112, - 0.255602, 0.394609, 0.743393, 0.977796, 1.19908, 1.40597, 1.91834, 2.22483, 2.47919, 2.66339, - 0.245989, 0.352625, 0.517055, 0.80283, 1.55871, 1.79565, 1.94405, 2.13364, 2.33327, 2.47998, - 0.337423, 0.480433, 0.869036, 1.13957, 1.63076, 1.82296, 2.07484, 2.29261, 2.47913, 2.62532, - 0.220974, 0.35885, 0.57164, 0.752791, 0.937013, 1.15172, 1.6744, 2.06247, 2.55872, 2.78484, - 0.267518, 0.331708, 0.541111, 1.11655, 1.41112, 1.53287, 1.79295, 1.93352, 2.24894, 2.62864, - 0.084613, 0.105083, 0.297424, 0.916949, 1.2563, 1.56703, 1.88539, 2.18987, 2.52279, 2.7921, - 0.205328, 0.287223, 0.724462, 1.0324, 1.45771, 1.64217, 1.92563, 2.17552, 2.42964, 2.60549, - 0.232554, 0.338724, 0.502115, 0.859975, 1.04409, 1.24565, 1.80656, 1.99964, 2.26116, 2.45998, - 0.291638, 0.379172, 0.626072, 0.792796, 0.959124, 1.50489, 1.73447, 1.91961, 2.61436, 2.72271, - 0.191554, 0.263114, 0.426797, 0.610628, 1.07741, 1.82954, 2.02195, 2.21057, 2.42765, 2.61383, - 0.389151, 0.679476, 0.915414, 1.03664, 1.25085, 1.58661, 2.04097, 2.2815, 2.56794, 2.71882, - 0.2032, 0.30128, 0.470357, 0.668716, 0.851737, 0.980327, 1.57086, 2.03762, 2.28907, 2.69388, - 0.304064, 0.405934, 0.710274, 0.962705, 1.12882, 1.34167, 1.63505, 1.84538, 2.07992, 2.50751, - 0.171777, 0.240705, 0.409371, 0.786432, 1.2232, 1.37569, 1.69176, 1.86608, 2.35041, 2.49394, - 0.231251, 0.277994, 0.557867, 1.32582, 1.66035, 1.77948, 2.00714, 2.17232, 2.44046, 2.65231, - 0.188101, 0.259494, 0.412543, 0.624843, 0.839549, 1.0337, 1.63413, 1.93194, 2.24608, 2.42577, - 0.361304, 0.419465, 0.795676, 1.18461, 1.2968, 1.57845, 1.84175, 1.99736, 2.54054, 2.68714, - 0.274372, 0.338938, 0.492443, 0.963516, 1.50951, 1.70638, 1.86988, 2.07717, 2.26128, 2.44418, - 0.41599, 0.652103, 1.03129, 1.26955, 1.57275, 1.77297, 2.00466, 2.17527, 2.43061, 2.59655, - 0.242045, 0.370942, 0.534392, 0.763529, 1.00117, 1.12976, 1.68219, 2.14464, 2.32448, 2.7157, - 0.377438, 0.588168, 0.765394, 0.976873, 1.35665, 1.49009, 1.73797, 2.00677, 2.21369, 2.38997, - 0.191625, 0.284123, 0.405342, 1.01678, 1.43273, 1.54759, 1.81393, 1.95832, 2.47077, 2.64926, - 0.272672, 0.349555, 0.633911, 1.15223, 1.30394, 1.54764, 1.9195, 2.0477, 2.56278, 2.73058, - 0.168423, 0.23633, 0.421468, 0.831345, 1.08354, 1.55345, 1.88073, 2.0647, 2.37086, 2.63295, - 0.219318, 0.301481, 0.513617, 0.765086, 1.02602, 1.51465, 2.0482, 2.24857, 2.49981, 2.65707, - 0.232695, 0.347947, 0.495203, 0.71883, 1.42301, 1.72249, 1.87958, 2.16504, 2.42025, 2.58966, - 0.270284, 0.336865, 0.684929, 1.15579, 1.69042, 1.87674, 2.02736, 2.22618, 2.44675, 2.582, - 0.149701, 0.193747, 0.352019, 0.520123, 0.823974, 1.43475, 1.68659, 1.96115, 2.37091, 2.69307, - 0.254818, 0.412303, 0.601514, 0.771438, 1.17545, 1.37657, 1.53903, 1.93704, 2.40858, 2.56362, - 0.233713, 0.355886, 0.593725, 0.76288, 1.27148, 1.5639, 1.79752, 2.09469, 2.53863, 2.71173, - 0.179028, 0.237103, 0.396818, 1.04202, 1.63354, 1.76268, 2.12393, 2.32239, 2.58819, 2.75134, - 0.182027, 0.251039, 0.434581, 0.714302, 0.950997, 1.4379, 1.81357, 1.9691, 2.14588, 2.35397, - 0.501538, 0.692148, 0.84886, 1.07131, 1.35054, 1.48948, 1.84164, 2.10428, 2.34154, 2.51529, - 0.27453, 0.38147, 0.526682, 0.922143, 1.44495, 1.5736, 1.85877, 2.06675, 2.2848, 2.62682, - 0.360617, 0.583131, 0.979491, 1.25408, 1.48835, 1.79756, 2.21952, 2.48218, 2.74237, 2.86203, - 0.140913, 0.220301, 0.619552, 0.818307, 1.05243, 1.33997, 1.83073, 2.13395, 2.53638, 2.75113, - 0.293514, 0.391691, 0.79008, 0.96274, 1.16032, 1.5266, 1.80549, 2.04146, 2.36162, 2.56496, - 0.199542, 0.290571, 0.452891, 0.689515, 1.25853, 1.40988, 1.88624, 2.22813, 2.46568, 2.72665, - 0.29692, 0.356356, 0.784287, 0.99654, 1.14618, 1.62387, 1.8155, 2.0383, 2.60063, 2.7057, - 0.206451, 0.276025, 0.537547, 0.802572, 1.22041, 1.64206, 1.86363, 2.00198, 2.21534, 2.58538, - 0.33365, 0.464751, 0.653772, 0.966306, 1.10387, 1.3402, 1.7847, 1.91459, 2.47017, 2.68692, - 0.181861, 0.24487, 0.376456, 0.554383, 1.3299, 1.81044, 2.04784, 2.20232, 2.66086, 2.81706, - 0.450565, 0.647291, 0.951172, 1.22943, 1.51964, 1.68681, 2.04911, 2.26717, 2.50128, 2.6506, - 0.219996, 0.320591, 0.427747, 0.601183, 0.753448, 0.929578, 1.74198, 2.28579, 2.47263, 2.74957, - 0.333848, 0.423373, 0.658791, 1.0313, 1.22263, 1.36577, 1.90189, 2.1211, 2.29031, 2.53118, - 0.166064, 0.233902, 0.383355, 0.661806, 1.22657, 1.39968, 1.77127, 1.97454, 2.17349, 2.56634, - 0.189286, 0.243602, 0.390584, 1.38793, 1.58872, 1.76324, 2.09112, 2.31631, 2.59353, 2.75508, - 0.158404, 0.224878, 0.385, 0.668463, 0.942954, 1.41197, 1.70031, 1.82807, 2.0594, 2.69255, - 0.325989, 0.461263, 0.851471, 1.04571, 1.28403, 1.5162, 1.79734, 2.08839, 2.43767, 2.62721, - 0.223709, 0.28919, 0.632812, 0.858738, 1.5419, 1.74677, 1.93574, 2.18482, 2.40433, 2.58301, - 0.545842, 0.95242, 1.34082, 1.51684, 1.83888, 2.01289, 2.24497, 2.40317, 2.59228, 2.69112, - 0.238526, 0.349079, 0.494582, 0.987665, 1.17075, 1.34823, 1.46864, 2.29696, 2.64416, 2.78738, - 0.270857, 0.442003, 0.655998, 0.881913, 1.25925, 1.42836, 1.76987, 1.99853, 2.39559, 2.65284, - 0.154384, 0.211806, 0.489481, 0.997257, 1.24982, 1.54123, 1.77886, 1.9494, 2.31914, 2.62339, - 0.268258, 0.312888, 0.589114, 1.25863, 1.57271, 1.67543, 1.91278, 2.07046, 2.27993, 2.56423, - 0.170715, 0.224965, 0.374011, 0.540197, 1.16189, 1.49907, 1.92587, 2.08257, 2.24662, 2.46972, - 0.324358, 0.391989, 0.706816, 0.833614, 1.01573, 1.56899, 1.73598, 2.12707, 2.55841, 2.65387, - 0.178059, 0.258575, 0.374125, 0.536831, 1.33483, 1.79863, 1.98698, 2.18925, 2.43227, 2.6267, - 0.198857, 0.420955, 0.817664, 1.17836, 1.46674, 1.8213, 2.20733, 2.47441, 2.73828, 2.85119, - 0.188344, 0.324302, 0.470468, 0.790033, 0.934101, 1.18872, 1.88717, 2.05283, 2.44832, 2.63024, - 0.201295, 0.365646, 0.526513, 0.758388, 1.1401, 1.26733, 1.65017, 1.87934, 2.10289, 2.60029, - 0.135058, 0.169428, 0.307348, 0.50316, 1.01808, 1.44795, 1.81098, 2.134, 2.48028, 2.75985, - 0.178006, 0.26661, 0.390327, 0.928681, 1.50161, 1.62133, 1.87136, 2.02586, 2.58044, 2.7708, - 0.246182, 0.42429, 0.644023, 0.801168, 1.11488, 1.27776, 1.50332, 2.07489, 2.2957, 2.50138, - 0.322996, 0.430355, 0.6316, 1.0477, 1.22184, 1.42673, 1.90308, 2.03222, 2.51673, 2.70845, - 0.292994, 0.430599, 0.619178, 0.794567, 1.28303, 1.65282, 1.84084, 2.06995, 2.38538, 2.52825, - 0.525494, 0.787797, 1.12182, 1.38748, 1.67457, 1.93622, 2.22404, 2.39062, 2.63428, 2.74323, - 0.299504, 0.409196, 0.602235, 0.892336, 1.05643, 1.25377, 1.48914, 1.63988, 2.42748, 2.65037, - 0.423758, 0.52048, 0.758987, 1.04126, 1.17366, 1.42368, 1.81824, 1.93641, 2.363, 2.62664, - 0.155042, 0.247496, 0.641445, 0.954509, 1.22497, 1.46585, 1.83784, 2.09046, 2.4515, 2.71616, - 0.251949, 0.421094, 0.706797, 0.975659, 1.25991, 1.52007, 1.81631, 2.12202, 2.47491, 2.71667, - 0.21522, 0.302248, 0.730598, 0.896343, 1.14557, 1.37019, 1.70069, 2.02256, 2.28327, 2.48922, - 0.28523, 0.453559, 0.66367, 0.861526, 1.0116, 1.24742, 1.65598, 1.86129, 2.57894, 2.73133, - 0.162067, 0.219409, 0.373433, 0.544669, 1.1033, 1.59718, 1.92104, 2.1434, 2.4065, 2.66048, - 0.342367, 0.511499, 0.93135, 1.16322, 1.39365, 1.61115, 1.97277, 2.19442, 2.47077, 2.64926, - 0.25101, 0.364125, 0.560956, 0.746545, 1.01984, 1.17072, 1.53295, 2.28867, 2.57709, 2.72307, - 0.315001, 0.489412, 0.720682, 0.877607, 1.09047, 1.25385, 1.44822, 1.92295, 2.25589, 2.40863, - 0.174666, 0.235793, 0.387644, 0.554402, 1.23109, 1.45614, 1.68803, 2.12745, 2.36703, 2.59727, - 0.215113, 0.341915, 1.04372, 1.32275, 1.49541, 1.74189, 1.96116, 2.23982, 2.5449, 2.70394, - 0.219852, 0.30177, 0.513912, 0.705474, 0.87754, 1.2959, 1.699, 1.98706, 2.28797, 2.49697, - 0.290638, 0.366442, 0.655155, 1.04499, 1.17215, 1.53254, 1.80079, 1.94893, 2.50968, 2.66005, - 0.232252, 0.31377, 0.658552, 0.941977, 1.46317, 1.66549, 1.86246, 2.02784, 2.53402, 2.70124, - 0.326539, 0.552681, 1.12173, 1.33138, 1.52007, 1.86708, 2.08286, 2.33247, 2.60604, 2.73709, - 0.190254, 0.340428, 0.492777, 0.739738, 0.895461, 1.07937, 1.64316, 1.79529, 2.49182, 2.72938, - 0.283586, 0.41844, 0.587306, 0.870866, 1.41855, 1.57703, 1.7995, 2.0694, 2.27448, 2.4381, - 0.235752, 0.35765, 0.502891, 1.01243, 1.25885, 1.40779, 1.82006, 1.95583, 2.5059, 2.73433, - 0.278412, 0.343137, 0.849977, 1.2329, 1.3505, 1.59063, 1.78752, 2.09158, 2.54136, 2.66386, - 0.162966, 0.243159, 0.439238, 0.684821, 0.887783, 1.4629, 1.88174, 2.04425, 2.28939, 2.705, - 0.235063, 0.371799, 0.57821, 0.752199, 1.00855, 1.47628, 1.80491, 2.2714, 2.65504, 2.78965, - 0.154939, 0.223696, 0.344718, 0.667555, 1.49566, 1.66944, 2.06988, 2.30721, 2.62769, 2.81134, - 0.239702, 0.335917, 0.716616, 1.1318, 1.45251, 1.63913, 2.10552, 2.27982, 2.50203, 2.66922, - 0.226818, 0.331261, 0.472705, 0.651974, 0.781639, 1.2198, 1.8229, 2.08273, 2.43933, 2.6109, - 0.223413, 0.359594, 0.534704, 0.741518, 1.22589, 1.38987, 1.61819, 2.00991, 2.207, 2.45984, - 0.171308, 0.268378, 0.383799, 0.858926, 1.37629, 1.51917, 1.7806, 1.92291, 2.62309, 2.8024, - 0.140134, 0.21232, 0.443224, 0.967457, 1.26424, 1.56215, 1.92915, 2.21739, 2.66834, 2.83075, - 0.221323, 0.322124, 0.485563, 0.818589, 1.01184, 1.19898, 1.42362, 1.6694, 2.15752, 2.36319, - 0.369687, 0.525655, 0.719213, 0.939654, 1.13763, 1.31222, 1.59994, 1.82681, 2.35522, 2.58068, - 0.211975, 0.314411, 0.489148, 0.739213, 1.3778, 1.5545, 1.82437, 2.15887, 2.35299, 2.72262, - 0.170698, 0.296368, 0.934285, 1.24313, 1.5559, 1.86654, 2.15994, 2.36344, 2.58503, 2.73853, - 0.189263, 0.305887, 0.439912, 0.78461, 1.22726, 1.34251, 1.58765, 1.75491, 2.43989, 2.72131, - 0.296339, 0.385169, 0.612012, 1.08132, 1.27636, 1.43718, 1.87147, 2.00172, 2.33909, 2.64022, - 0.229588, 0.320544, 0.517278, 0.969137, 1.14256, 1.62609, 1.87792, 2.11546, 2.54674, 2.70802, - 0.248869, 0.420193, 0.732388, 1.04902, 1.30341, 1.60146, 1.94921, 2.23946, 2.64822, 2.82261, - 0.2076, 0.29232, 0.496539, 0.857149, 1.18229, 1.39985, 1.71416, 1.86824, 2.02794, 2.20074, - 0.225558, 0.396897, 0.541783, 0.873366, 1.17897, 1.29958, 1.67719, 1.8496, 2.33048, 2.75272, - 0.176821, 0.231377, 0.372767, 0.508565, 1.15282, 1.80805, 2.11268, 2.25007, 2.57134, 2.74855, - 0.352149, 0.515765, 1.02324, 1.26022, 1.44357, 1.62207, 1.8728, 2.10018, 2.48928, 2.67104, - 0.166138, 0.263444, 0.370151, 0.590066, 0.754819, 0.940533, 1.76187, 1.94661, 2.44501, 2.75819, - 0.342082, 0.476411, 0.656223, 0.851774, 1.00399, 1.15337, 1.6944, 2.06562, 2.25564, 2.44015, - 0.227237, 0.376514, 0.514329, 0.894887, 1.14167, 1.28305, 1.83138, 1.9859, 2.33447, 2.78488, - 0.215891, 0.269548, 0.684111, 1.40566, 1.67481, 1.80093, 2.17209, 2.3394, 2.59157, 2.7301, - 0.23624, 0.400377, 0.533684, 0.750343, 0.910405, 1.08911, 1.73773, 1.91281, 2.19252, 2.68873, - 0.169242, 0.284879, 0.916252, 1.16977, 1.43368, 1.64438, 1.91912, 2.16162, 2.48266, 2.68259, - 0.270731, 0.336506, 0.477594, 1.04271, 1.60584, 1.79686, 1.94591, 2.16004, 2.35491, 2.52095, - 0.420586, 0.652563, 1.11716, 1.40601, 1.74754, 1.94742, 2.20309, 2.35997, 2.5479, 2.68217, - 0.281552, 0.395037, 0.640181, 0.944531, 1.19396, 1.33049, 1.71866, 2.18839, 2.44459, 2.57867, - 0.311824, 0.476892, 0.633431, 0.845825, 1.33252, 1.49166, 1.69361, 2.04108, 2.28932, 2.4394, - 0.133945, 0.20079, 0.647237, 0.927687, 1.18888, 1.36966, 1.69956, 1.97278, 2.29526, 2.67818, - 0.204796, 0.278215, 0.443465, 1.27048, 1.40521, 1.64092, 1.82425, 2.32709, 2.59964, 2.77253, - 0.18397, 0.244116, 0.410594, 0.639103, 1.22159, 1.40487, 1.62836, 1.90244, 2.16863, 2.3068, - 0.343622, 0.434735, 0.666599, 0.868069, 1.04894, 1.53278, 1.81983, 1.97188, 2.2887, 2.44875, - 0.238017, 0.320361, 0.657255, 0.917611, 1.30331, 1.72736, 1.98891, 2.18145, 2.44297, 2.61332, - 0.323613, 0.545056, 0.930173, 1.22606, 1.44018, 1.7723, 2.05689, 2.34781, 2.68938, 2.82062, - 0.28893, 0.401387, 0.617124, 0.836453, 0.990306, 1.26123, 1.91328, 2.11005, 2.32458, 2.55716, - 0.33267, 0.480804, 0.656147, 0.880536, 1.02957, 1.23049, 1.76906, 1.9323, 2.20037, 2.58521, - 0.185551, 0.265352, 0.409432, 0.608847, 1.0347, 1.22282, 1.87697, 2.17165, 2.4035, 2.66644, - 0.155026, 0.223348, 0.401684, 1.07914, 1.41579, 1.62002, 2.04552, 2.25851, 2.63162, 2.80229, - 0.183461, 0.263081, 0.425694, 0.635685, 1.18866, 1.35756, 1.57499, 2.08598, 2.28872, 2.51111, - 0.314738, 0.463011, 0.648733, 0.877651, 1.00289, 1.26581, 2.00541, 2.1981, 2.48153, 2.71418, - 0.244411, 0.318444, 0.546578, 0.793615, 1.32615, 1.73548, 1.9456, 2.11466, 2.31535, 2.47853, - 0.326237, 0.54354, 0.987361, 1.30441, 1.68493, 1.90215, 2.20717, 2.37427, 2.55753, 2.71622, - 0.157795, 0.283302, 0.430398, 0.660379, 0.81106, 1.14254, 1.4793, 1.71871, 2.67026, 2.84756, - 0.220856, 0.283872, 0.779935, 1.07494, 1.31221, 1.62633, 1.83761, 1.96888, 2.15599, 2.60238, - 0.140763, 0.205719, 0.406561, 0.762459, 1.04127, 1.48699, 1.83831, 2.11461, 2.55281, 2.77228, - 0.140451, 0.39592, 0.79211, 1.108, 1.40264, 1.62308, 1.94315, 2.22795, 2.54616, 2.774, - 0.229862, 0.336462, 0.54659, 0.81015, 1.20191, 1.34679, 1.82532, 2.09293, 2.28573, 2.47336, - 0.224913, 0.328246, 0.517269, 0.874793, 1.01259, 1.45218, 1.69578, 2.01493, 2.51145, 2.67257, - 0.247745, 0.335741, 0.546558, 0.710177, 1.17056, 1.72779, 1.97068, 2.15853, 2.48282, 2.62891, - 0.398252, 0.555087, 0.890367, 1.1212, 1.38153, 1.60123, 1.86665, 2.06661, 2.40516, 2.58802, - 0.198563, 0.288867, 0.478054, 0.658477, 0.851841, 1.0271, 1.53974, 2.02111, 2.57946, 2.78418, - 0.304271, 0.371642, 0.66159, 1.06898, 1.22425, 1.41193, 1.68052, 1.86977, 2.10007, 2.30855, - 0.188223, 0.257939, 0.432402, 0.73505, 1.31804, 1.48553, 1.82811, 2.04644, 2.30702, 2.45724, - 0.246723, 0.297276, 0.604475, 1.3109, 1.57044, 1.68885, 1.91366, 2.05133, 2.55601, 2.71497, - 0.158309, 0.234509, 0.435792, 0.6679, 0.957567, 1.23592, 1.59294, 1.81816, 2.30739, 2.76897, - 0.419843, 0.501412, 0.766892, 1.07317, 1.18937, 1.48022, 1.7666, 1.92215, 2.53794, 2.69477, - 0.27514, 0.335563, 0.678421, 1.08152, 1.59238, 1.77263, 1.93124, 2.1407, 2.3338, 2.49086, - 0.372056, 0.856814, 1.23954, 1.40999, 1.6903, 1.86302, 2.0727, 2.27355, 2.53266, 2.69052, - 0.321254, 0.422981, 0.604856, 0.793437, 0.912112, 1.12845, 1.79598, 2.17323, 2.36015, 2.53614, - 0.395214, 0.598779, 0.771997, 0.946713, 1.21378, 1.33043, 1.66033, 1.97715, 2.16506, 2.34402, - 0.225286, 0.317828, 0.464801, 1.11233, 1.36951, 1.512, 1.92195, 2.05341, 2.59352, 2.77729, - 0.330612, 0.407807, 0.730129, 1.25973, 1.45981, 1.60567, 1.98131, 2.13701, 2.46597, 2.67972, - 0.213145, 0.305305, 0.507016, 0.662299, 1.05685, 1.47986, 1.6719, 2.10271, 2.36987, 2.58199, - 0.219658, 0.296096, 0.443507, 0.610973, 0.799691, 1.67658, 1.96549, 2.15323, 2.50223, 2.693, - 0.174947, 0.257739, 0.373547, 0.552567, 1.40532, 1.61425, 1.84892, 2.11779, 2.31788, 2.7119, - 0.209667, 0.297529, 0.756195, 1.0953, 1.5642, 1.84477, 2.1037, 2.29266, 2.52005, 2.67949, - 0.170138, 0.24031, 0.452247, 0.684414, 0.880102, 1.36692, 1.74165, 2.13129, 2.50573, 2.73261, - 0.278164, 0.468635, 0.707518, 0.853693, 1.05478, 1.21046, 1.54094, 2.17456, 2.41066, 2.61214, - 0.155738, 0.23889, 0.352836, 0.621012, 1.44144, 1.6197, 1.82517, 1.97533, 2.52537, 2.74857, - 0.223776, 0.274424, 0.479048, 0.797871, 1.69419, 1.87813, 2.13528, 2.37373, 2.59542, 2.72979, - 0.151088, 0.198286, 0.326558, 0.536276, 0.845893, 1.14165, 1.46056, 1.76287, 2.02585, 2.1773, - 0.434445, 0.614208, 0.887657, 1.02845, 1.19136, 1.3922, 1.78689, 2.06248, 2.4234, 2.61936, - 0.180755, 0.275311, 0.397787, 0.859366, 1.40976, 1.52332, 1.90885, 2.08232, 2.38972, 2.74389, - 0.275975, 0.508416, 0.889894, 1.31893, 1.63331, 1.90473, 2.16901, 2.37466, 2.72697, 2.84767, - 0.156239, 0.262624, 0.406657, 0.739074, 1.04449, 1.20123, 1.81089, 2.0056, 2.5817, 2.80489, - 0.195391, 0.258771, 0.654924, 0.824371, 1.31526, 1.50073, 1.76594, 2.06399, 2.34118, 2.51366, - 0.178034, 0.301047, 0.46302, 0.716172, 1.19887, 1.34045, 1.83456, 2.02213, 2.40075, 2.77629, - 0.340368, 0.404236, 0.843747, 1.03924, 1.20211, 1.70805, 1.91495, 2.16951, 2.52152, 2.62335, - 0.218465, 0.289694, 0.528045, 0.817051, 1.13234, 1.58046, 1.83889, 1.98339, 2.14749, 2.34813, - 0.322509, 0.458058, 0.654679, 0.958976, 1.11821, 1.32157, 1.90139, 2.04641, 2.36093, 2.66422, - 0.191821, 0.252321, 0.389176, 0.581111, 1.52967, 1.93169, 2.08361, 2.27046, 2.56685, 2.71388, - 0.493961, 0.710827, 0.98226, 1.19627, 1.41933, 1.62091, 1.92801, 2.14565, 2.42977, 2.60197, - 0.213148, 0.311589, 0.424636, 0.602664, 0.736895, 1.02216, 1.99228, 2.21853, 2.61163, 2.85032, - 0.288129, 0.434441, 0.629313, 0.856153, 1.28967, 1.42452, 1.8758, 2.15024, 2.35181, 2.53684, - 0.160031, 0.230716, 0.406654, 0.870424, 1.15652, 1.39232, 1.8041, 1.95144, 2.21048, 2.73516, - 0.22934, 0.293962, 0.503222, 1.2421, 1.47582, 1.62465, 1.99868, 2.1445, 2.57855, 2.75327, - 0.15877, 0.220035, 0.363386, 0.577761, 0.96309, 1.17494, 1.73817, 1.9792, 2.16244, 2.66192, - 0.346062, 0.444816, 0.716985, 1.18072, 1.37058, 1.523, 1.89217, 2.06668, 2.3958, 2.62766, - 0.307495, 0.38933, 0.612607, 0.969283, 1.55771, 1.83994, 1.99674, 2.17238, 2.42063, 2.5392, - 0.437804, 0.726957, 1.29117, 1.5033, 1.76543, 1.96212, 2.16365, 2.33623, 2.57962, 2.70852, - 0.232184, 0.333678, 0.528368, 0.706749, 1.20328, 1.37902, 1.61116, 2.15468, 2.5929, 2.75032, - 0.272652, 0.46171, 0.625777, 0.839609, 1.34202, 1.49673, 1.71538, 2.13757, 2.37004, 2.59739, - 0.184908, 0.302324, 0.454883, 0.880307, 1.10438, 1.29253, 1.7772, 1.94336, 2.44417, 2.62273, - 0.265644, 0.341261, 0.553228, 1.13947, 1.42715, 1.56044, 1.93394, 2.08413, 2.39331, 2.65413, - 0.16792, 0.207301, 0.370331, 0.525538, 1.03089, 1.36816, 1.78247, 2.0624, 2.33276, 2.5263, - 0.343172, 0.433912, 0.717501, 0.889734, 1.05206, 1.69528, 2.05316, 2.20846, 2.60887, 2.71832, - 0.216527, 0.305247, 0.44589, 0.729271, 1.63974, 1.90328, 2.05335, 2.22125, 2.43225, 2.56802, - 0.110545, 0.209955, 0.844788, 1.1742, 1.4922, 1.81024, 2.17727, 2.4405, 2.69729, 2.83523, - 0.217384, 0.337412, 0.488999, 0.761842, 0.879715, 1.20953, 1.97075, 2.1208, 2.61165, 2.79176, - 0.190459, 0.296484, 0.469967, 0.800649, 1.10556, 1.27853, 1.51694, 1.69307, 2.11442, 2.71674, - 0.134814, 0.175978, 0.300425, 0.496817, 1.2443, 1.48531, 1.86172, 2.13123, 2.48505, 2.77388, - 0.210174, 0.278266, 0.435508, 0.927538, 1.60691, 1.7539, 1.95755, 2.16628, 2.39852, 2.74961, - 0.213766, 0.3153, 0.509924, 0.70993, 0.964724, 1.10678, 1.38261, 2.00107, 2.32321, 2.56531, - 0.400615, 0.524954, 0.798552, 1.01285, 1.13549, 1.47485, 1.98903, 2.13091, 2.50797, 2.67946, - 0.2494, 0.377023, 0.519635, 0.754227, 1.45956, 1.64276, 1.82896, 2.07788, 2.29823, 2.46753, - 0.473365, 0.683973, 1.05234, 1.37583, 1.54811, 1.74759, 2.1393, 2.31877, 2.60998, 2.73925, - 0.203877, 0.341791, 0.48518, 0.884069, 1.09759, 1.26953, 1.47992, 1.75788, 2.6484, 2.82239, - 0.273046, 0.404254, 0.555403, 0.954547, 1.29123, 1.39902, 1.72289, 1.90344, 2.17198, 2.64531, - 0.040369, 0.117266, 0.617136, 0.892043, 1.26033, 1.54165, 1.85938, 2.1531, 2.49823, 2.76189, - 0.132414, 0.211358, 0.742445, 1.06686, 1.33108, 1.57079, 1.86746, 2.13253, 2.47962, 2.73108, - 0.237329, 0.326529, 0.612538, 0.790663, 0.990133, 1.41374, 1.73823, 1.93691, 2.16773, 2.45163, - 0.27396, 0.405794, 0.57253, 0.933672, 1.05782, 1.39795, 1.85653, 1.99755, 2.59949, 2.76004, - 0.199334, 0.29838, 0.442931, 0.628638, 1.30321, 1.64014, 1.80402, 2.11302, 2.37545, 2.54895, - 0.350188, 0.50201, 0.821298, 1.03864, 1.36929, 1.5924, 1.91082, 2.15649, 2.46051, 2.65326, - 0.281558, 0.399892, 0.573105, 0.753299, 0.900613, 1.05457, 1.58199, 2.17844, 2.43035, 2.61604, - 0.344653, 0.543532, 0.703715, 0.862285, 1.19822, 1.33821, 1.57908, 2.06077, 2.30675, 2.48575, - 0.220701, 0.326795, 0.520618, 0.755133, 1.29555, 1.45189, 1.6905, 2.20005, 2.41427, 2.61591, - 0.279478, 0.332193, 0.801527, 1.34597, 1.48748, 1.6785, 1.9222, 2.10002, 2.58557, 2.71339, - 0.163502, 0.212169, 0.365096, 0.525464, 0.869846, 1.20881, 1.79399, 2.04031, 2.29718, 2.4698, - 0.285531, 0.341488, 0.754059, 1.17002, 1.30084, 1.5137, 1.69986, 1.88992, 2.58146, 2.70687, - 0.249595, 0.366997, 0.626427, 0.945219, 1.40704, 1.56056, 1.83166, 2.23115, 2.46635, 2.65452, - 0.271671, 0.443136, 1.15641, 1.40646, 1.67652, 1.85648, 2.06322, 2.2305, 2.47584, 2.63958, - 0.28662, 0.427806, 0.63732, 0.803409, 0.996161, 1.26638, 1.68175, 2.00397, 2.39465, 2.58855, - 0.314906, 0.440519, 0.612129, 0.896126, 1.47241, 1.71769, 1.88135, 2.09944, 2.36917, 2.49547, - 0.170277, 0.25127, 0.405477, 0.915641, 1.12689, 1.43663, 1.71477, 1.8932, 2.55299, 2.73852, - 0.27941, 0.337137, 0.734563, 1.28105, 1.4806, 1.61188, 1.85321, 1.99488, 2.41605, 2.65483, - 0.165776, 0.226083, 0.417544, 0.744574, 1.04447, 1.53489, 1.80849, 1.94495, 2.13849, 2.60179, - 0.264579, 0.336652, 0.542033, 0.71019, 0.913338, 1.65575, 1.81776, 2.23196, 2.52444, 2.65852, - 0.158194, 0.235588, 0.338347, 0.541657, 1.58338, 1.76629, 2.00914, 2.24334, 2.50394, 2.77516, - 0.332612, 0.50962, 0.822935, 1.07588, 1.45429, 1.65079, 1.97445, 2.25128, 2.53734, 2.74512, - 0.262817, 0.359709, 0.520893, 0.707667, 0.818364, 1.43885, 1.97125, 2.08767, 2.49701, 2.64644, - 0.2332, 0.399599, 0.612456, 0.775547, 1.19919, 1.35576, 1.6469, 2.13625, 2.34249, 2.69574, - 0.149687, 0.238538, 0.372248, 0.63452, 1.25581, 1.43379, 1.77004, 1.92875, 2.61191, 2.82493, - 0.137016, 0.210297, 0.591489, 1.12545, 1.37565, 1.6853, 2.08961, 2.39089, 2.70446, 2.84443, - 0.21349, 0.341024, 0.541716, 0.750061, 1.0882, 1.24458, 1.55534, 1.96557, 2.1879, 2.38371, - 0.300159, 0.489291, 0.825022, 1.0371, 1.19409, 1.34738, 1.68475, 2.02494, 2.46561, 2.74097, - 0.170029, 0.255033, 0.392758, 0.727117, 1.38207, 1.57968, 1.80091, 1.95907, 2.28234, 2.7288, - 0.175883, 0.365509, 1.11217, 1.38587, 1.72039, 1.97781, 2.2453, 2.42161, 2.62957, 2.754, - 0.16259, 0.248164, 0.45463, 0.763209, 0.966031, 1.28234, 1.73074, 1.93805, 2.47938, 2.66756, - 0.258043, 0.345866, 0.55652, 0.981312, 1.36153, 1.48238, 1.87224, 2.15823, 2.36227, 2.55503, - 0.234139, 0.348843, 0.528234, 0.987884, 1.19522, 1.42215, 1.96003, 2.12737, 2.60332, 2.793, - 0.179699, 0.559209, 0.867682, 1.08884, 1.31689, 1.5715, 1.9222, 2.19739, 2.50112, 2.72868, - 0.216784, 0.310791, 0.487492, 0.932903, 1.20195, 1.36655, 1.8004, 1.9775, 2.17426, 2.53707, - 0.186878, 0.400655, 0.580952, 0.846287, 1.10387, 1.26678, 1.84277, 2.01959, 2.488, 2.71722, - 0.164641, 0.248712, 0.389358, 0.772822, 1.21256, 1.36992, 2.02587, 2.27762, 2.61752, 2.80953, - 0.351899, 0.520326, 0.926597, 1.21965, 1.50984, 1.67684, 1.92174, 2.11125, 2.35638, 2.54593, - 0.242182, 0.365285, 0.506156, 0.71602, 0.865221, 1.01169, 1.78692, 2.12298, 2.35088, 2.76773, - 0.413776, 0.559566, 0.7358, 0.928997, 1.07912, 1.26718, 1.88007, 2.15249, 2.32483, 2.53986, - 0.210597, 0.329568, 0.469735, 0.78859, 1.21549, 1.31981, 1.71146, 2.05899, 2.24544, 2.65373, - 0.197937, 0.254148, 0.477985, 1.22709, 1.62992, 1.76743, 2.18698, 2.3851, 2.59487, 2.72554, - 0.205489, 0.333855, 0.523915, 0.706275, 1.10215, 1.24661, 1.6489, 2.02683, 2.28169, 2.75931, - 0.230328, 0.322431, 0.861834, 1.14561, 1.34721, 1.57611, 1.80728, 2.00482, 2.35437, 2.57225, - 0.224898, 0.282022, 0.506636, 1.1523, 1.62656, 1.75209, 2.02818, 2.21882, 2.48896, 2.67046, - 0.313732, 0.625469, 1.16447, 1.49908, 1.74961, 2.01853, 2.26223, 2.4296, 2.69216, 2.8225, - 0.375623, 0.575307, 0.7912, 0.93577, 1.09694, 1.34339, 1.80799, 2.18731, 2.51972, 2.6948, - 0.236981, 0.332412, 0.47927, 0.844461, 1.34764, 1.49073, 1.68394, 2.03914, 2.29762, 2.45843, - 0.129047, 0.20625, 0.636751, 0.865101, 1.13689, 1.35661, 1.7048, 1.91668, 2.51836, 2.75632, - 0.195171, 0.266517, 0.414793, 1.23956, 1.45291, 1.60836, 1.83305, 2.0478, 2.47352, 2.62199, - 0.165853, 0.21272, 0.372757, 0.536136, 1.01394, 1.33963, 1.55512, 1.94574, 2.23628, 2.44095, - 0.256981, 0.368868, 0.635878, 0.802543, 1.08476, 1.43912, 1.81473, 2.12052, 2.45815, 2.62146, - 0.214382, 0.297135, 0.445091, 0.70205, 1.3651, 1.85126, 2.06703, 2.2073, 2.47073, 2.61243, - 0.34071, 0.532103, 0.935278, 1.17102, 1.37789, 1.6386, 1.96527, 2.24616, 2.63127, 2.80634, - 0.310524, 0.412051, 0.582478, 0.768755, 0.871594, 1.11985, 1.92635, 2.20751, 2.40709, 2.63663, - 0.249349, 0.443517, 0.631532, 0.810096, 1.20513, 1.35721, 1.6074, 1.98416, 2.20802, 2.64511, - 0.14309, 0.185312, 0.325214, 0.504, 1.13447, 1.32791, 1.67365, 2.0069, 2.38928, 2.74609, - 0.226575, 0.298946, 0.453938, 0.998061, 1.3946, 1.59728, 2.06418, 2.22325, 2.42547, 2.56946, - 0.183924, 0.255181, 0.415834, 0.624247, 1.04234, 1.20308, 1.55524, 2.12531, 2.40035, 2.66192, - 0.27561, 0.365968, 0.654909, 0.990108, 1.1708, 1.45533, 2.07756, 2.25267, 2.50232, 2.68595, - 0.204334, 0.287844, 0.39481, 0.761295, 1.5012, 1.78471, 1.93557, 2.15283, 2.34926, 2.54564, - 0.342976, 0.527539, 0.917466, 1.16059, 1.49953, 1.76183, 2.09527, 2.30187, 2.54057, 2.69469, - 0.202374, 0.333367, 0.480179, 0.708677, 0.819505, 1.10529, 1.80664, 1.95335, 2.61084, 2.7975, - 0.307033, 0.368471, 0.602486, 1.10861, 1.41335, 1.52864, 1.79852, 1.98614, 2.16905, 2.43726, - 0.144073, 0.196932, 0.386988, 0.819061, 1.28977, 1.62507, 1.90192, 2.13611, 2.48302, 2.70797, - 0.17676, 0.268627, 0.662082, 1.05687, 1.54797, 1.71139, 1.97294, 2.24991, 2.54447, 2.76109, - 0.191409, 0.292985, 0.492193, 0.800526, 1.04184, 1.27855, 1.83663, 2.02868, 2.24939, 2.62778, - 0.324102, 0.399146, 0.687435, 0.868704, 1.02296, 1.58208, 1.85385, 1.98188, 2.55491, 2.67706, - 0.229172, 0.302836, 0.481418, 0.704363, 0.967567, 1.82827, 2.0973, 2.25847, 2.54911, 2.70465, - 0.467124, 0.696788, 0.9395, 1.09499, 1.27754, 1.4885, 1.89628, 2.15847, 2.47418, 2.65999, - 0.175418, 0.234039, 0.367674, 0.513586, 0.747619, 1.0084, 1.58316, 2.05311, 2.36329, 2.68115, - 0.410273, 0.561949, 0.736215, 0.956685, 1.13569, 1.28842, 1.75061, 1.93771, 2.15132, 2.48934, - 0.204541, 0.277613, 0.529607, 0.722971, 1.19998, 1.44734, 1.71563, 1.92105, 2.35778, 2.50749, - 0.253116, 0.311907, 0.696982, 1.32008, 1.57542, 1.70532, 2.00507, 2.16867, 2.46188, 2.66505, - 0.163657, 0.237902, 0.393374, 0.60949, 0.854272, 1.08998, 1.52639, 1.84234, 2.12625, 2.67905, - 0.448627, 0.530664, 0.812719, 1.0952, 1.20764, 1.57541, 1.88421, 2.0343, 2.55301, 2.68835, - 0.262717, 0.338748, 0.512685, 1.00354, 1.48018, 1.62208, 1.82852, 2.14242, 2.35646, 2.51153, - 0.417111, 0.636688, 1.03657, 1.31988, 1.67992, 1.87339, 2.07372, 2.2494, 2.50773, 2.65105, - 0.263698, 0.461151, 0.618737, 0.830471, 1.00404, 1.15887, 1.80157, 2.02022, 2.30656, 2.74304, - 0.387779, 0.575108, 0.729791, 0.932981, 1.36116, 1.50516, 1.75118, 2.06847, 2.33826, 2.48764, - 0.18151, 0.265666, 0.454631, 1.08238, 1.2873, 1.5792, 1.85118, 2.09696, 2.46724, 2.64693, - 0.277668, 0.345119, 0.602341, 1.1792, 1.37899, 1.54562, 1.81386, 1.96259, 2.4918, 2.66445, - 0.17932, 0.24808, 0.456925, 0.722589, 1.12693, 1.57945, 1.7994, 1.95067, 2.48412, 2.70724, - 0.314322, 0.381145, 0.608651, 0.727613, 0.890472, 1.61028, 2.13617, 2.25836, 2.59638, 2.70978, - 0.189539, 0.266068, 0.419729, 0.651693, 1.41016, 1.64311, 1.85481, 2.27558, 2.49205, 2.72201, - 0.254466, 0.313038, 0.594149, 1.01254, 1.68881, 1.93546, 2.11918, 2.28787, 2.53554, 2.66793, - 0.134691, 0.171906, 0.30274, 0.492936, 0.899551, 1.22919, 1.73394, 2.01288, 2.44634, 2.74276, - 0.231556, 0.365068, 0.680761, 0.889142, 1.11134, 1.2959, 1.54264, 1.97178, 2.42756, 2.63191, - 0.222525, 0.305606, 0.527193, 0.687519, 1.18138, 1.67176, 1.86368, 2.07202, 2.63452, 2.77927, - 0.17877, 0.237415, 0.37516, 0.856692, 1.67368, 1.81374, 2.01679, 2.27242, 2.5226, 2.73596, - 0.193532, 0.268731, 0.451328, 0.753471, 0.984854, 1.28535, 1.68565, 1.88412, 2.09168, 2.24342, - 0.476037, 0.65161, 0.801054, 1.01016, 1.24137, 1.35584, 1.77598, 2.08615, 2.27291, 2.45435, - 0.211657, 0.308331, 0.421366, 0.865966, 1.41877, 1.55674, 1.78615, 2.02033, 2.19859, 2.63198, - 0.203789, 0.490794, 1.01014, 1.27501, 1.47221, 1.81014, 2.17064, 2.43766, 2.66212, 2.78806, - 0.174355, 0.252095, 0.674715, 0.842194, 1.05509, 1.278, 1.69868, 2.07056, 2.39938, 2.65743, - 0.245109, 0.324049, 0.628822, 0.92791, 1.1236, 1.58007, 1.87864, 2.0546, 2.35872, 2.54684, - 0.182644, 0.253804, 0.386248, 0.614056, 1.36482, 1.54588, 2.04017, 2.21883, 2.41901, 2.62461, - 0.295605, 0.367794, 0.690701, 1.05516, 1.1866, 1.64445, 1.94415, 2.10144, 2.56212, 2.69127, - 0.220878, 0.289573, 0.640307, 0.822072, 1.14406, 1.5678, 1.76641, 1.90811, 2.10346, 2.56049, - 0.403453, 0.526298, 0.732204, 0.90115, 1.03587, 1.33938, 1.78399, 1.94196, 2.37103, 2.62665, - 0.212825, 0.25857, 0.471588, 0.685549, 1.26374, 1.82105, 2.16382, 2.2884, 2.62806, 2.78816, - 0.401181, 0.642053, 1.03247, 1.23611, 1.44445, 1.68668, 2.00672, 2.22851, 2.57211, 2.72396, - 0.239433, 0.341091, 0.492629, 0.70763, 0.881426, 1.03082, 1.71925, 2.34406, 2.57906, 2.75694, - 0.294093, 0.38277, 0.577412, 1.00928, 1.31304, 1.4193, 1.74467, 2.09423, 2.28904, 2.47584, - 0.169805, 0.236922, 0.403314, 0.638995, 1.17645, 1.35214, 1.66557, 1.90976, 2.15012, 2.71624, - 0.210447, 0.277913, 0.452474, 1.40269, 1.51343, 1.72094, 1.90394, 2.2785, 2.58376, 2.74318, - 0.159574, 0.225382, 0.374008, 0.714137, 1.01125, 1.37171, 1.69916, 1.87159, 2.02706, 2.49119, - 0.258602, 0.557253, 0.81972, 1.03886, 1.30147, 1.44536, 1.83061, 2.09817, 2.32081, 2.54107, - 0.232756, 0.282242, 0.631974, 0.898694, 1.53744, 1.86922, 2.06397, 2.23446, 2.49823, 2.63352, - 0.580133, 0.997946, 1.32096, 1.48187, 1.73161, 1.89858, 2.12071, 2.29013, 2.53009, 2.65166, - 0.21184, 0.307093, 0.45336, 0.945579, 1.25082, 1.49029, 1.72414, 2.2811, 2.5627, 2.7526, - 0.314276, 0.493555, 0.667782, 0.8965, 1.32301, 1.48262, 1.66749, 1.97441, 2.42735, 2.55568, - 0.182455, 0.261592, 0.418011, 1.05093, 1.26139, 1.44337, 1.66547, 1.93903, 2.44469, 2.63845, - 0.24157, 0.306934, 0.491293, 1.10595, 1.55483, 1.66652, 1.92392, 2.08765, 2.3676, 2.65489, - 0.190084, 0.25485, 0.454062, 0.724519, 1.08336, 1.39389, 1.89234, 2.08886, 2.32176, 2.4843, - 0.306497, 0.389831, 0.721793, 0.839714, 1.12475, 1.6524, 1.82292, 2.27331, 2.5692, 2.6696, - 0.1862, 0.27346, 0.383201, 0.564758, 1.51107, 1.84502, 1.99828, 2.1941, 2.38869, 2.58792, - 0.300722, 0.478218, 0.823364, 1.12749, 1.59114, 1.87135, 2.17472, 2.40318, 2.62478, 2.7824, - 0.228884, 0.358342, 0.504622, 0.795874, 1.00562, 1.15261, 1.90805, 2.12479, 2.37247, 2.79758, - 0.171885, 0.248234, 0.432842, 0.833143, 1.04089, 1.26929, 1.66164, 1.91863, 2.15896, 2.6534, - 0.140943, 0.193684, 0.343025, 0.562303, 1.06955, 1.54333, 1.82447, 1.96164, 2.46351, 2.77054, - 0.173053, 0.245656, 0.360656, 0.960618, 1.58953, 1.68991, 1.98414, 2.143, 2.58839, 2.7594, - 0.24018, 0.429951, 0.63744, 0.786596, 1.06915, 1.22657, 1.47088, 1.95205, 2.19506, 2.61597, - 0.367862, 0.471897, 0.730834, 1.08232, 1.22629, 1.46293, 1.92817, 2.05247, 2.40674, 2.66246, - 0.247175, 0.358209, 0.535946, 0.781876, 1.3637, 1.63524, 1.80723, 1.99378, 2.45277, 2.60104, - 0.445578, 0.687898, 1.11411, 1.30103, 1.5774, 1.88604, 2.2249, 2.43653, 2.65969, 2.76103, - 0.214389, 0.336025, 0.487794, 0.759534, 0.970518, 1.1411, 1.45733, 1.62464, 2.30692, 2.71527, - 0.3773, 0.466775, 0.716121, 1.08378, 1.25654, 1.41124, 1.78943, 1.93637, 2.20557, 2.56236, - 0.148362, 0.214593, 0.545023, 0.840437, 1.19333, 1.48066, 1.79187, 2.08342, 2.41054, 2.67613, - 0.150403, 0.278398, 0.792676, 0.97668, 1.21885, 1.40524, 1.77506, 2.16246, 2.54786, 2.74638, - 0.236301, 0.328633, 0.630867, 0.839915, 1.04235, 1.29887, 1.62775, 1.83949, 2.29893, 2.49396, - 0.337889, 0.49792, 0.711277, 0.85042, 0.992027, 1.24688, 1.71075, 2.08668, 2.52716, 2.70716, - 0.172215, 0.23654, 0.372897, 0.525146, 1.18258, 1.73573, 1.92703, 2.11462, 2.31917, 2.54278, - 0.415304, 0.624807, 0.906616, 1.11784, 1.44615, 1.66942, 1.94841, 2.17282, 2.50453, 2.67075, - 0.265417, 0.407241, 0.613894, 0.816534, 0.980063, 1.15606, 1.75675, 2.27485, 2.49719, 2.71224, - 0.27644, 0.468209, 0.649518, 0.816686, 1.19517, 1.35552, 1.54923, 1.93527, 2.21787, 2.42698, - 0.188925, 0.277012, 0.412665, 0.672627, 1.35481, 1.51452, 1.69999, 2.14455, 2.38219, 2.58608, - 0.24263, 0.352485, 0.912974, 1.34378, 1.60443, 1.80187, 2.01479, 2.19307, 2.46081, 2.632, - 0.190903, 0.285841, 0.44907, 0.760328, 0.954285, 1.18294, 1.69264, 1.87816, 2.27684, 2.46596, - 0.220659, 0.300374, 0.721694, 0.947306, 1.29833, 1.56298, 1.76062, 1.88825, 2.50644, 2.68968, - 0.213168, 0.290928, 0.695227, 0.918179, 1.37819, 1.63199, 1.84789, 2.00307, 2.35836, 2.61935, - 0.328586, 0.517244, 0.93732, 1.37624, 1.57484, 1.76435, 2.05863, 2.22433, 2.58444, 2.75665, - 0.248486, 0.367007, 0.562147, 0.750632, 0.902785, 1.14756, 1.63742, 1.91206, 2.41399, 2.6057, - 0.310691, 0.477895, 0.670796, 0.940507, 1.41829, 1.5635, 1.80514, 2.11408, 2.37636, 2.53516, - 0.256555, 0.41421, 0.559427, 0.981289, 1.19165, 1.37831, 1.6784, 1.84931, 2.5767, 2.75663, - 0.291424, 0.335003, 0.750149, 1.28965, 1.43721, 1.59999, 1.80318, 1.96741, 2.60175, 2.73376, - 0.195254, 0.279513, 0.451755, 0.649111, 0.828694, 1.60951, 1.91491, 2.09122, 2.31959, 2.5349, - 0.222304, 0.332624, 0.475678, 0.685205, 1.03033, 1.73722, 1.92098, 2.37829, 2.70672, 2.81773, - 0.164833, 0.240093, 0.359862, 0.801929, 1.51368, 1.64171, 2.04052, 2.24884, 2.48866, 2.71403, - 0.214777, 0.287322, 0.572644, 1.14507, 1.36711, 1.75269, 2.04242, 2.22207, 2.54305, 2.69789, - 0.226099, 0.330382, 0.474439, 0.687757, 0.799187, 1.31984, 1.94457, 2.0781, 2.3678, 2.50846, - 0.24454, 0.392163, 0.553692, 0.729765, 1.24786, 1.44838, 1.61759, 2.07464, 2.34005, 2.51806, - 0.175381, 0.314231, 0.446023, 0.797404, 1.32846, 1.43973, 1.79335, 1.93957, 2.4688, 2.72165, - 0.205808, 0.29367, 0.452447, 1.07427, 1.28823, 1.65563, 1.8575, 2.36469, 2.63981, 2.79814, - 0.253926, 0.392653, 0.587584, 0.800134, 0.97631, 1.18559, 1.57069, 1.82141, 2.09089, 2.34902, - 0.322461, 0.410912, 0.723569, 1.06064, 1.20152, 1.40036, 1.57919, 1.78876, 2.46024, 2.6166, - 0.211266, 0.304981, 0.436011, 0.771978, 1.49062, 1.67775, 1.88623, 2.1135, 2.32635, 2.72726, - 0.235012, 0.406911, 0.864785, 1.29148, 1.70829, 1.93855, 2.1799, 2.3524, 2.56379, 2.71145, - 0.176814, 0.26862, 0.445837, 0.823113, 1.02978, 1.27157, 1.62339, 1.81122, 2.40214, 2.61417, - 0.241865, 0.339268, 0.507509, 1.00368, 1.20435, 1.37256, 1.94079, 2.10137, 2.38561, 2.66998, - 0.230878, 0.334743, 0.50037, 0.879929, 1.02189, 1.53377, 1.97079, 2.12897, 2.56726, 2.71729, - 0.297505, 0.451574, 0.748848, 0.988527, 1.36624, 1.60667, 1.89466, 2.17448, 2.52143, 2.75917, - 0.199265, 0.271145, 0.49816, 0.854679, 1.1721, 1.36415, 1.76208, 1.96909, 2.17354, 2.31163, - 0.222173, 0.424864, 0.564942, 0.829809, 1.03817, 1.19405, 1.7206, 1.85809, 2.43176, 2.74146, - 0.181961, 0.226819, 0.390513, 0.556339, 1.0566, 1.55306, 2.12835, 2.25802, 2.6025, 2.80212, - 0.3576, 0.565047, 1.15301, 1.35031, 1.53358, 1.71854, 1.95789, 2.17535, 2.50565, 2.67849, - 0.162257, 0.236808, 0.374039, 0.570569, 0.748034, 1.17226, 1.82339, 2.05303, 2.51377, 2.77207, - 0.305794, 0.46587, 0.645121, 0.88265, 1.14129, 1.26686, 1.70158, 2.00288, 2.18412, 2.41125, - 0.231652, 0.380738, 0.549642, 0.83741, 1.22527, 1.33297, 1.85158, 2.11937, 2.31508, 2.73211, - 0.235449, 0.286771, 0.684809, 1.34666, 1.52663, 1.70348, 2.10149, 2.25455, 2.57718, 2.71899, - 0.23387, 0.446515, 0.60508, 0.814654, 1.05496, 1.1788, 1.63316, 1.84974, 2.13938, 2.73277, - 0.271706, 0.335152, 0.857227, 1.25374, 1.38719, 1.70217, 1.89677, 2.19111, 2.48, 2.60136, - 0.237386, 0.314549, 0.438339, 0.912164, 1.57776, 1.87779, 2.03279, 2.19704, 2.41232, 2.53648, - 0.361168, 0.574093, 1.02384, 1.46852, 1.69056, 1.91737, 2.18737, 2.33403, 2.6691, 2.80629, - 0.27848, 0.398742, 0.573342, 0.839212, 1.07389, 1.22209, 1.69168, 2.16526, 2.37741, 2.53688, - 0.286018, 0.447947, 0.61506, 0.849446, 1.31947, 1.46358, 1.76995, 2.00103, 2.18943, 2.45038, - 0.21944, 0.301601, 0.668534, 0.861094, 1.21, 1.49867, 1.74512, 1.87777, 2.31438, 2.6196, - 0.223591, 0.352153, 0.598841, 1.21789, 1.35908, 1.59174, 1.77109, 2.21386, 2.56154, 2.73542, - 0.176857, 0.236601, 0.395107, 0.634632, 1.13349, 1.33512, 1.77037, 1.98131, 2.20656, 2.33972, - 0.334735, 0.402265, 0.659168, 0.781639, 0.975228, 1.665, 1.87207, 2.04753, 2.47696, 2.57398, - 0.215968, 0.284755, 0.524241, 0.78146, 1.33481, 1.77238, 1.95388, 2.19421, 2.57825, 2.74194, - 0.298193, 0.489879, 0.812985, 1.18369, 1.49642, 1.67998, 2.10879, 2.31656, 2.67378, 2.85161, - 0.312989, 0.415446, 0.618011, 0.899096, 1.08368, 1.26338, 1.8874, 2.24306, 2.41945, 2.57048, - 0.244471, 0.431115, 0.601512, 0.813139, 1.10216, 1.22106, 1.69244, 2.03316, 2.2218, 2.61984, - 0.150949, 0.21906, 0.349217, 0.611327, 1.07711, 1.25055, 1.91552, 2.08398, 2.45, 2.79254, - 0.161611, 0.218964, 0.445377, 0.927863, 1.45115, 1.76846, 2.13001, 2.36672, 2.666, 2.81405, - 0.196, 0.297256, 0.497266, 0.6919, 1.08988, 1.27368, 1.51372, 2.00647, 2.27378, 2.57222, - 0.335268, 0.460795, 0.685187, 0.867664, 1.01381, 1.47955, 2.01199, 2.16848, 2.57264, 2.71756, - 0.257604, 0.340872, 0.499757, 0.843052, 1.39655, 1.83169, 2.03423, 2.17033, 2.42262, 2.5405, - 0.417663, 0.631718, 0.955424, 1.19732, 1.6598, 1.87988, 2.1688, 2.35905, 2.57809, 2.69825, - 0.162052, 0.251583, 0.4399, 0.660911, 0.903902, 1.3203, 1.62476, 1.77858, 2.53053, 2.79971, - 0.256861, 0.322803, 0.68537, 1.08644, 1.26328, 1.56988, 1.85165, 2.01495, 2.26471, 2.44701, - 0.125192, 0.176171, 0.336135, 0.7816, 1.20022, 1.43997, 1.80542, 2.07752, 2.46247, 2.73819, - 0.102286, 0.191322, 0.774556, 1.07615, 1.36946, 1.62715, 1.97301, 2.236, 2.60937, 2.81298, - 0.173442, 0.232622, 0.491622, 0.844157, 1.09524, 1.3708, 1.69697, 2.05141, 2.31606, 2.50205, - 0.257531, 0.343598, 0.654071, 0.838985, 1.0481, 1.48747, 1.72538, 1.89742, 2.43051, 2.586, - 0.1979, 0.276312, 0.440283, 0.705103, 1.26734, 1.7403, 1.93448, 2.15401, 2.4002, 2.62414, - 0.40959, 0.596785, 0.983751, 1.18177, 1.37115, 1.50238, 1.75828, 2.01857, 2.38005, 2.59215, - 0.231819, 0.33289, 0.483514, 0.644585, 0.816808, 0.926308, 1.4033, 2.23301, 2.46786, 2.67846, - 0.25861, 0.340064, 0.670485, 0.908467, 1.10761, 1.45624, 1.75958, 1.93218, 2.11312, 2.31013, - 0.184377, 0.249203, 0.410806, 0.587907, 1.3025, 1.51032, 1.72443, 1.98189, 2.2829, 2.42213, - 0.25411, 0.313328, 0.659859, 1.26582, 1.41295, 1.66593, 1.92715, 2.10198, 2.55145, 2.67303, - 0.161592, 0.23748, 0.376535, 0.637094, 0.823028, 1.13761, 1.69642, 1.87577, 2.40363, 2.63962, - 0.384501, 0.466812, 0.740791, 0.938093, 1.06235, 1.50928, 1.74914, 1.9178, 2.54816, 2.67151, - 0.333872, 0.419367, 0.638994, 1.09262, 1.52055, 1.64945, 1.86662, 2.14894, 2.34672, 2.50614, - 0.426216, 0.686997, 1.23588, 1.42885, 1.61159, 1.79286, 2.01759, 2.23372, 2.54777, 2.69661, - 0.262949, 0.367509, 0.530429, 0.741867, 0.872474, 1.0696, 1.74557, 2.06119, 2.28384, 2.49418, - 0.335782, 0.547236, 0.716211, 0.919077, 1.27569, 1.40844, 1.68512, 1.96739, 2.21764, 2.44668, - 0.227629, 0.330991, 0.486068, 1.11757, 1.30498, 1.51013, 1.75726, 1.94697, 2.62556, 2.7826, - 0.35985, 0.436633, 0.750634, 1.20151, 1.33757, 1.59484, 1.97027, 2.11384, 2.57381, 2.72996, - 0.211871, 0.304028, 0.512758, 0.663762, 1.08635, 1.63333, 1.81802, 2.12958, 2.39108, 2.60077, - 0.196092, 0.279726, 0.434488, 0.624802, 0.772358, 1.40438, 1.94878, 2.16092, 2.63, 2.77518, - 0.176304, 0.262521, 0.373719, 0.581101, 1.52011, 1.73617, 1.93323, 2.14017, 2.35813, 2.75352, - 0.254932, 0.381411, 0.806187, 1.10229, 1.53452, 1.75028, 1.9709, 2.15987, 2.45592, 2.65841, - 0.190385, 0.288656, 0.449066, 0.678174, 0.812376, 1.44933, 1.72866, 1.96632, 2.63881, 2.78955, - 0.251178, 0.386509, 0.609363, 0.797102, 1.02416, 1.18173, 1.45466, 2.01263, 2.49309, 2.69893, - 0.166654, 0.266226, 0.385171, 0.71199, 1.3979, 1.53235, 1.91597, 2.088, 2.56527, 2.78953, - 0.238453, 0.306036, 0.449309, 0.876277, 1.52144, 1.93398, 2.13442, 2.26799, 2.5376, 2.65825, - 0.161634, 0.219919, 0.353206, 0.524346, 0.961806, 1.20771, 1.68792, 1.91694, 2.16187, 2.32066, - 0.413612, 0.597095, 0.793763, 0.98629, 1.28179, 1.41266, 1.65246, 2.01609, 2.38416, 2.52858, - 0.228655, 0.341562, 0.480989, 0.988605, 1.371, 1.47742, 1.86103, 2.01585, 2.33975, 2.77315, - 0.259092, 0.597012, 0.985224, 1.32174, 1.64335, 1.95737, 2.28868, 2.49747, 2.71649, 2.84447, - 0.185652, 0.304664, 0.446232, 0.864434, 1.09179, 1.27377, 1.94257, 2.09554, 2.52465, 2.76824, - 0.176687, 0.256678, 0.745652, 0.934909, 1.28376, 1.44006, 1.76524, 2.12209, 2.3881, 2.59055, - 0.189805, 0.275637, 0.440995, 0.821356, 1.25602, 1.41098, 1.92978, 2.12014, 2.39603, 2.60464, - 0.266823, 0.337688, 0.819408, 1.13475, 1.2892, 1.77703, 1.98289, 2.22175, 2.59029, 2.6981, - 0.205348, 0.276512, 0.527305, 0.727412, 1.02465, 1.65398, 1.90418, 2.04661, 2.21792, 2.45566, - 0.293498, 0.424494, 0.613795, 0.95613, 1.13398, 1.3248, 1.80903, 1.95392, 2.29385, 2.57588, - 0.18312, 0.24965, 0.376204, 0.543914, 1.35083, 1.90722, 2.09255, 2.25571, 2.51439, 2.6879, - 0.541205, 0.789796, 1.05895, 1.26942, 1.5039, 1.70219, 1.97018, 2.17544, 2.49681, 2.65224, - 0.229326, 0.339475, 0.451881, 0.66121, 0.795832, 1.0738, 2.0271, 2.20637, 2.4789, 2.72678, - 0.330006, 0.506868, 0.673076, 0.887406, 1.22877, 1.34923, 1.78129, 2.08658, 2.27776, 2.48003, - 0.138389, 0.200001, 0.396259, 0.811975, 1.09071, 1.46041, 1.74549, 1.90427, 2.34825, 2.69989, - 0.176584, 0.242161, 0.37827, 1.17785, 1.56472, 1.67817, 1.95162, 2.12141, 2.58011, 2.73713, - 0.145852, 0.198423, 0.335644, 0.550505, 1.01973, 1.37119, 1.79763, 1.94383, 2.20749, 2.74647, - 0.385078, 0.503696, 0.703239, 1.06999, 1.36574, 1.47205, 1.82583, 2.15964, 2.37128, 2.52097, - 0.28495, 0.38805, 0.507352, 0.879125, 1.52353, 1.77624, 1.9296, 2.15756, 2.44799, 2.5864, - 0.491116, 0.756155, 1.2552, 1.52246, 1.77658, 2.02812, 2.28606, 2.42977, 2.67911, 2.77616, - 0.252477, 0.396081, 0.713022, 0.861502, 1.15222, 1.3708, 1.61401, 2.1448, 2.57407, 2.71253, - 0.282756, 0.438437, 0.613566, 0.847746, 1.26077, 1.37906, 1.6422, 2.13754, 2.36837, 2.52216, - 0.203971, 0.322195, 0.479842, 0.953133, 1.21128, 1.39763, 1.80081, 1.95452, 2.40348, 2.57371, - 0.264533, 0.358424, 0.628768, 1.11124, 1.34025, 1.50648, 1.99959, 2.19411, 2.46141, 2.66736, - 0.17773, 0.22368, 0.394553, 0.556177, 0.947415, 1.50064, 1.73353, 1.92605, 2.26147, 2.43605, - 0.314223, 0.363636, 0.727886, 0.85188, 1.05384, 1.79813, 1.97435, 2.1826, 2.538, 2.62968, - 0.201778, 0.2755, 0.404891, 0.747466, 1.50005, 1.84118, 1.99884, 2.22681, 2.48199, 2.66951, - 0.132164, 0.314955, 0.821473, 1.19604, 1.42659, 1.69993, 2.03686, 2.3235, 2.68547, 2.82896, - 0.223374, 0.347335, 0.50773, 0.773547, 0.967916, 1.13413, 1.9914, 2.30657, 2.52136, 2.78875, - 0.312742, 0.449784, 0.583287, 0.934234, 1.26857, 1.36506, 1.5693, 1.68705, 2.0773, 2.59502, - 0.124286, 0.162126, 0.29073, 0.654031, 1.23166, 1.53846, 1.89307, 2.18478, 2.56264, 2.79822, - 0.177049, 0.251654, 0.367891, 0.912504, 1.55758, 1.69305, 1.89899, 2.07214, 2.35016, 2.64604, - 0.240517, 0.378333, 0.547809, 0.754272, 0.973321, 1.10367, 1.57442, 2.02805, 2.21113, 2.56271, - 0.427795, 0.519003, 0.771284, 0.93724, 1.08662, 1.60988, 1.87875, 2.05279, 2.53412, 2.65715, - 0.22437, 0.317969, 0.439666, 0.812931, 1.3985, 1.62663, 1.79418, 2.114, 2.30916, 2.49684 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lspjmv2.txt */ -#ifdef __EMBEDDED__ -static const float codes1[] = { -#else -static float codes1[] = { -#endif - 0.005167, -0.03731, -0.002159, 0.016849, 0.130396, - 0.039445, 0.03168, -0.074412, -0.031499, 0.060536, - 0.019479, -0.030564, -0.048137, -0.056279, -0.027829, - 0.020585, -0.01127, 0.023913, -0.005706, 0.011407, - -0.023217, 0.107455, -0.037777, 0.00407, -0.017279, - -0.090444, 0.007641, 0.099001, -0.047913, -0.017199, - 0.0227, -0.063865, 0.047213, 0.043843, -0.036225, - 0.001312, -0.123861, -0.038988, 0.058666, 0.074541, - 0.039508, 0.1103, 0.013954, -0.119228, -0.035807, - -0.047392, 0.027035, -0.004412, -0.03265, -0.03715, - 0.002491, -0.045447, 0.15826, 0.022828, -0.030124, - -0.047856, 0.088744, -0.009678, 0.106688, 0.08769, - -0.027941, 0.044084, -0.0285, 0.018736, -0.069969, - -0.035358, -0.051568, -0.030459, -0.017899, 0.027632, - -0.018607, -0.123557, 0.019228, 0.057485, -0.028907, - 0.019057, 0.038151, -0.08022, 0.034222, 0.023081, - 0.021312, 0.041905, 0.112903, 0.024092, 0.093974, - -0.116679, 0.015344, -0.066059, -0.096437, 0.004041, - -0.022464, -0.11626, 0.047819, -0.003921, -0.073504, - 0.001975, -0.025869, 0.0282, 0.12269, 0.010627, - -0.035672, 0.078963, -0.009686, 0.000743, -0.147582, - 0.016932, -0.020291, -0.096896, -0.237875, -0.029121, - 0.017376, -0.04013, -0.053865, 0.15406, -0.013215, - 0.015215, -0.019023, -0.070604, 0.032265, 0.04034, - 0.102365, -0.022746, 0.019895, 0.05057, 0.008845, - -0.034134, 0.044441, -0.049387, -0.140481, 0.07257, - 0.013023, -0.006079, 0.037574, 0.004937, -0.081501, - 0.003696, 0.049908, 0.007355, 0.000403, 0.026006, - -0.008466, 0.08068, 0.061382, -0.108985, -0.08806, - -0.012275, -0.081061, 0.020333, -0.079001, 0.068724, - -0.014081, -0.042609, 0.093365, 0.04412, 0.000303, - 0.063391, 0.096574, -0.105424, 0.039041, 0.010412, - -0.054031, -0.084948, 0.080406, -0.035883, 0.137428, - 0.063037, 0.050562, 0.02469, -0.031394, 0.13032, - -0.015501, -0.078884, -0.076886, -0.013864, -0.073587, - 0.048778, 0.003814, -0.031125, 0.046897, 0.028304, - 0.048692, 0.132795, 0.06545, 0.059487, -0.042396, - -0.176999, 0.056943, -0.004135, -0.049378, -0.041083, - -0.039445, -0.016292, -0.00455, 0.06201, -0.079613, - -0.054566, -0.008476, -0.01671, 0.049202, 0.025758, - -0.078723, 0.092091, 0.096536, -0.065079, 0.021161, - 0.076657, 0.009203, -0.036866, -0.016559, 0.012823, - 0.008225, -0.003006, 0.108033, 0.04312, -0.06087, - -0.019346, 0.02279, -0.001728, 0.062304, -0.016965, - -0.001302, -0.01449, -0.041803, -0.034058, -0.197066, - -0.033655, -0.127217, -0.108681, -0.010571, -0.004705, - -0.015553, -0.086069, 0.034109, -0.101379, 0.002068, - -0.004003, -0.044637, -0.068617, 0.052228, -0.047812, - -0.043307, 0.035681, 0.042207, -0.055946, 0.055944, - -0.026792, -0.012601, -0.05671, -0.021094, 0.105842, - -0.025598, -0.078858, -0.013487, 0.030728, -0.031956, - 0.031444, 0.022763, 0.025364, 0.121366, 0.070736, - -0.084556, 0.098118, -0.024301, -0.058655, -0.043194, - -0.011752, -0.043781, 0.091051, -0.071201, -0.02098, - 0.082904, -0.031657, -0.088247, 0.066709, -0.079182, - -0.012151, 0.011796, -0.010589, 0.100656, 0.094539, - 0.035967, 0.025338, 0.071826, 0.009741, -0.040209, - 0.006866, -0.015095, -0.168469, -0.056133, 0.060145, - 0.04583, -0.068969, 0.034551, 0.015842, -0.092809, - 0.054699, 0.138744, 0.001726, 0.006927, 0.005167, - 0.016978, 0.046384, -0.060183, -0.040742, -0.072692, - -0.022489, -0.029728, -0.065018, -0.124741, 0.044927, - -0.029057, -0.037154, 0.031068, 0.060086, 0.009984, - 0.009311, -0.006957, -0.105508, 0.059637, -0.019564, - -0.068154, -0.066443, 0.000799, 0.028579, 0.097063, - 0.096936, 0.03023, -0.034623, -0.088918, 0.040334, - 0.019439, -0.050707, -0.003294, -0.028505, -0.053599, - 0.06246, -0.070688, -0.016465, -0.03568, 0.017378, - 0.009363, 0.048761, 0.043374, 0.039587, -0.023232, - -0.067033, 0.042663, 0.05407, -0.042797, -0.089391, - -0.030497, -0.050249, 0.059528, 0.089089, -0.029633, - 0.064125, -0.086614, -0.002005, 0.08062, 0.000502, - -0.00349, 0.097336, 0.099565, 0.015648, 0.006691, - 0.077668, 0.016572, 0.035404, -0.046026, 0.017237, - -0.048631, 0.009314, 0.141479, 0.017079, 0.043796, - -0.106474, 0.145951, 0.05774, 0.01125, -0.059443, - 0.027572, 0.02665, 0.008527, 0.002949, -0.03768, - -0.077991, -0.090617, 0.00342, -0.04601, 0.007354, - 0.019056, -0.128651, 0.016464, 0.004584, -0.030883, - -0.092069, 0.038976, -0.08184, 0.066695, -0.04734, - 0.003513, 0.040613, 0.046815, -0.023406, 0.062389, - 0.021759, 0.024928, -0.018922, -0.048006, 0.0638, - -0.014416, -0.050333, 0.042628, -0.114934, -0.10145, - 0.062139, 0.029295, -0.065908, 0.111463, 0.050781, - -0.022707, 0.135414, 0.003548, 0.134535, -0.048259, - -0.092344, -0.027727, 0.016343, -0.060786, -0.081502, - -0.005412, -0.026229, -0.143331, 0.052404, -0.077298, - -0.035919, -0.041968, -0.106108, -0.004369, 0.065028, - 0.09637, -0.053299, 0.043317, -0.049735, 0.049815, - 0.032324, 0.051309, -0.009607, -0.205917, 0.005023, - -0.054316, -0.022895, 0.099327, -0.006927, -0.076574, - -0.111024, 0.111026, 0.038381, -0.060368, 0.064238, - -0.034316, 0.026846, 0.02574, -0.076162, -0.163904, - 0.055955, -0.056885, 0.014831, -0.120715, 0.090938, - 0.035289, -0.036439, 0.060012, 0.080302, 0.036215, - 0.06525, 0.08303, -0.058784, 0.104826, -0.051805, - -0.011099, -0.00642, 0.053042, 0.024127, 0.092534, - 0.058569, -0.033442, 0.025186, -0.018222, 0.117744, - 0.044345, -0.042456, -0.043767, -0.021378, -0.121965, - 0.027371, 0.052731, -0.020316, 0.036912, 0.115357, - 0.03115, 0.041547, 0.059267, -0.039672, -0.086918, - -0.162369, 0.024801, 0.031725, 0.0834, -0.034463, - 0.000272, -0.008147, -0.002016, 0.131953, -0.092911, - -0.091944, -0.062864, -0.005221, 0.063647, -0.012658, - 0.042685, 0.067952, 0.038644, -0.153221, 0.096841, - 0.108299, 0.089446, -0.047164, 0.004196, -0.043268, - -0.035456, 0.050838, 0.070444, 0.084465, -0.07998, - -0.048916, 0.057726, 0.023894, 0.027653, 0.017775, - 0.015461, -0.030287, -0.022245, 0.052081, -0.150947, - -0.002682, -0.056774, -0.123366, -0.091754, 0.006536, - 0.006473, -0.143025, 0.05469, -0.043189, 0.03297, - 0.027446, 0.033127, -0.132722, -0.010417, -0.080097, - -0.018187, 0.001858, 0.11129, -0.090749, 0.059434, - -0.068738, 0.090679, -0.14507, -0.065277, 0.063514, - -0.003982, -0.056382, -0.003673, 0.015845, -0.073396, - 0.043688, 0.002836, 0.069211, 0.124852, -0.053313, - -0.040946, 0.07044, -0.107024, -0.019199, -0.033672, - -0.00144, 0.02168, 0.110595, -0.053452, -0.052426, - 0.035461, -0.028179, -0.049041, 0.02258, -0.010989, - -0.002913, -0.051691, -0.075881, 0.037241, 0.076377, - 0.034735, -0.031556, 0.073516, -0.001427, 0.016296, - -0.017537, 0.003346, -0.099774, -0.067624, -0.044257, - -0.018202, 0.030622, 0.012773, 0.046475, -0.121785, - -0.057265, 0.116179, -0.079916, 0.066396, 0.050104, - -0.013177, 0.057766, -0.047879, -0.109526, -0.146491, - 0.032675, -0.049318, -0.057045, -0.080068, 0.089621, - -0.046564, -0.029992, 0.040828, 0.029281, -0.037369, - -0.009731, -0.082145, -0.117622, 0.117077, 0.037369, - 0.00082, -0.106634, -0.007967, 0.000812, 0.140637, - 0.03653, 0.062121, -0.065504, -0.09493, 0.121336, - 0.01753, -0.01733, -0.040402, -0.018255, 0.010992, - 0.019746, -0.027564, 0.033588, 0.042466, -0.003143, - 0.013767, 0.084179, 0.033753, -0.017279, -0.009676, - -0.006452, 0.032645, 0.031852, -0.030975, -0.043384, - -0.005433, -0.015258, 0.053273, 0.054748, -0.064736, - 0.008959, -0.141223, -0.032957, -0.015079, 0.018198, - -0.001681, 0.143079, 0.076, 0.001037, -0.048744, - 0.022062, 0.02603, -0.008263, -0.050353, -0.023037, - -0.036477, -0.051733, 0.137823, -0.034438, -0.007573, - -0.004256, 0.064218, 0.075183, 0.095106, 0.026497, - 0.02636, 0.009791, -0.058039, 0.053315, -0.077817, - -0.033283, -0.081151, -0.05522, 0.004268, 0.017539, - -0.007329, -0.1172, 0.09322, 0.037359, 0.002718, - 0.010749, 0.018281, -0.0758, -0.024889, 0.00572, - 0.022129, 0.035613, 0.036187, 0.032246, 0.105439, - -0.073766, 0.016887, -0.059934, -0.049471, 0.07352, - -0.024041, -0.104642, 0.023557, -0.059746, -0.043871, - 0.022311, -0.00025, -0.074027, 0.198593, 0.102732, - 0.024478, 0.077658, -0.060042, -0.018229, -0.149648, - -0.009871, -0.105822, 0.007585, -0.161459, -0.041121, - -0.02146, 0.00902, -0.065018, 0.111801, -0.024953, - 0.074594, -0.026041, -0.062859, 0.009199, 0.069609, - 0.078672, -0.033414, 0.054128, 0.005408, -0.016273, - 0.052076, 0.10761, -0.067518, -0.0964, 0.033703, - -0.01435, -0.024676, 0.056254, -0.04377, -0.060847, - -0.004185, 0.07355, -0.05783, -0.016644, 0.029096, - 0.005755, 0.026472, 0.040449, -0.09195, -0.048538, - -0.034439, -0.107938, 0.090712, -0.117001, 0.04317, - -0.006505, -0.035277, 0.117316, 0.127002, 0.047906, - -0.001441, 0.118379, -0.132165, 0.00738, 0.023823, - -0.02012, -0.083725, 0.047284, 0.023795, 0.074123, - -0.013439, 0.024994, 0.060254, -0.06912, 0.166373, - -0.024228, -0.06315, -0.046506, -0.077202, -0.054592, - -0.006571, 0.010335, -0.006568, 0.003982, 0.075837, - 0.008643, 0.136339, -0.005502, 0.03391, -0.066379, - -0.127371, -0.006954, 0.03977, -0.070123, 0.060925, - -0.046386, -0.02642, -0.00528, 0.103509, -0.02231, - -0.00374, -0.014999, -0.03777, 0.080005, 0.025231, - -0.054995, 0.071017, 0.009442, -0.075737, 0.013441, - 0.051947, 0.027097, -0.070351, -0.055705, -0.021115, - 0.021387, 0.029232, 0.163331, -0.03238, 0.010008, - -0.011987, -0.028631, 0.002665, 0.01477, -0.009558, - -0.034325, 0.01583, -0.091253, -0.012677, -0.107378, - -0.034624, -0.047725, -0.10233, 0.042525, -0.006869, - 0.014048, -0.043127, 0.052384, -0.047473, 0.055102, - 0.009744, -0.033646, -0.081755, -0.001464, -0.016223, - -0.036697, -0.002279, 0.023279, -0.036221, 0.101478, - -0.058454, 0.065074, 0.003524, 0.00501, 0.097182, - -0.038171, -0.037943, -0.009994, -0.033355, -0.044552, - 0.041318, 0.065041, 9.2e-05, 0.100816, 0.029007, - -0.031803, 0.183537, -0.009617, -0.010544, -0.028465, - 0.0069, -0.014988, 0.09049, -0.174817, 0.027464, - 0.063314, -0.049281, -0.001567, 0.091421, -0.078603, - -0.004869, -0.063266, -0.001922, 0.069338, 0.081771, - 0.058737, 0.073195, 0.081676, -0.047808, -0.025797, - -0.004185, 0.033203, -0.125472, -0.108148, 0.031258, - 0.035192, 0.029957, 0.046675, 0.047238, -0.088197, - 0.033315, 0.114919, -0.04918, 0.025707, 0.053843, - 0.035182, 0.140206, -0.05866, -0.025978, -0.019658, - -0.014847, -0.021051, -0.034385, -0.121789, 0.173406, - -0.112251, -0.022333, 0.071206, 0.028998, 0.046468, - 0.067704, -0.026159, -0.158316, 0.014936, 0.040216, - -0.010137, -0.053492, 0.004935, -0.011277, 0.073852, - 0.091261, 0.114794, -0.01406, -0.051545, 0.077316, - 0.101258, -0.046137, 0.022994, -0.066767, -0.065537, - 0.049952, -0.043582, 0.012823, 0.009313, 0.036343, - 0.054885, 0.037796, 0.02194, 0.013211, 0.006019, - -0.099578, 0.058596, -0.045463, -0.015632, -0.087141, - -0.019273, -0.03314, 0.043796, 0.119057, -0.081813, - -0.021538, -0.070453, -0.052551, 0.077213, 9.4e-05, - 0.050268, 0.092271, 0.051688, -0.025224, 0.075437, - 0.027983, 0.069205, 0.031787, -0.099975, 0.004387, - -0.002747, -0.056567, 0.161394, 0.000164, 0.084189, - -0.124844, 0.050329, 0.009844, 0.055877, 0.055701, - 0.030479, 0.028843, -0.001076, -0.017173, -0.10277, - -0.038426, -0.133841, -0.03584, -0.072046, 0.020206, - 0.016438, -0.097885, 0.041857, 0.034601, 0.030422, - -0.089192, -0.014112, -0.052276, 0.012005, -0.029335, - -0.011331, 0.101833, 0.063827, 0.044288, 0.101597, - -0.034689, -0.027434, -0.017801, -0.079224, 0.067103, - -0.027456, -0.098034, 0.009448, -0.038986, -0.156729, - 0.085023, 0.033136, -0.021343, 0.110701, -0.011901, - -0.006484, 0.082023, -0.027094, 0.091208, -0.013163, - -0.012223, 0.005933, 0.010653, -0.098119, -0.005304, - -0.021061, -0.058077, -0.073035, 0.097856, -0.102847, - -0.035329, -0.092754, -0.101463, -0.048671, 0.055015, - 0.102145, 0.062017, 0.016002, 0.036489, 0.059, - 0.042861, 0.025447, -0.019735, -0.107841, -0.033752, - -0.043982, -0.067059, 0.051092, 0.025235, -0.147107, - -0.016269, 0.123009, 0.035894, -0.020453, 0.040013, - 0.015557, 0.015825, 0.080712, -0.06963, -0.149739, - 0.022006, -0.008848, 0.040169, -0.095688, 0.059575, - -0.030641, -0.061353, 0.046302, 0.104489, 0.043372, - -0.001579, 0.059737, -0.104073, 0.042342, -0.048611, - -0.013811, -0.056255, 0.107179, 0.057433, 0.084815, - 0.030217, 0.02236, -0.040342, -0.028775, 0.120588, - 0.04127, -0.045775, -0.030195, -0.106859, -0.104349, - 0.072418, -0.003603, -0.013072, 0.040728, 0.086869, - 0.091943, 0.066517, 0.024442, -0.030929, -0.03292, - -0.160336, -0.010347, -0.068458, 0.017458, 0.044823, - 0.050694, 0.067625, 0.040303, 0.113164, -0.038747, - -0.065558, -0.106357, -0.028352, 0.121488, 0.026548, - -0.00782, 0.054872, 0.094674, -0.099533, 0.005231, - 0.118132, 0.04278, -0.065079, 0.03144, 0.043229, - -0.050024, 0.015943, 0.073917, 0.034049, 0.010548, - -0.024979, 0.022639, 0.027795, 0.049491, 0.048762, - -0.002738, -0.010783, -0.027637, -0.006986, -0.104141, - -0.066719, -0.061742, -0.067028, -0.053057, -0.003478, - -0.050948, -0.122196, 0.022082, 0.002595, 0.015094, - 0.006014, 0.005784, -0.184537, -0.034872, -0.036104, - 0.055412, 0.006886, 0.103488, -0.063001, 0.096665, - -0.035533, 0.009847, -0.095114, 0.008588, 0.023736, - -0.034278, -0.11197, -0.041172, 0.03973, -0.102952, - 0.063775, 0.039273, 0.109863, 0.0918, 0.030306, - -0.082206, 0.089449, -0.058478, -0.029341, 0.038389, - 0.061057, -0.024711, 0.111044, -0.035079, -0.027985, - 0.01457, 0.002046, -0.031545, 0.058848, -0.0195, - -0.002475, -0.025589, -0.144358, 0.063478, 0.124927, - -0.014094, -0.01097, 0.031621, -0.040043, 0.004389, - 0.025003, 0.052397, -0.054526, -0.073469, 0.026795, - -0.024697, 0.024739, 0.118299, 0.014948, -0.132109, - 0.020192, 0.037815, -0.09027, 0.049313, 0.082764, - -0.022642, -0.006053, -0.038073, -0.057363, -0.107347, - 0.033166, -0.027556, -0.019765, -0.111958, 0.027773, - -0.063001, -0.052998, 0.019353, -0.009646, -0.01127, - 0.011872, -0.006508, -0.122226, 0.059824, 0.041779, - 0.016445, -0.03189, -0.03631, 0.013085, 0.091631, - 0.062866, 0.054501, -0.117523, -0.010907, 0.087026, - -0.014974, -0.03592, -0.048565, -0.019246, -0.043405, - -0.006959, 0.006211, 0.04237, 0.014603, -0.006435, - 0.019149, 0.078038, -0.020556, 0.018114, -0.036521, - -0.054036, 0.007325, 0.056349, -0.033497, -0.02596, - 0.050184, -0.066536, 0.091501, 0.071356, -0.049044, - -0.032263, -0.095268, -0.008784, 0.049033, 0.036929, - 0.020357, 0.152151, 0.040814, -0.063159, -0.024324, - -0.017084, 0.011876, -0.015442, -0.019811, -0.000366, - -0.0027, -0.072981, 0.109288, 0.007473, -0.049442, - -0.05404, 0.051947, 0.019359, 0.12916, 0.021981, - 0.002248, 0.035262, -0.023141, 0.064666, -0.078273, - -0.031663, -0.031343, -0.006058, -0.045421, 0.017466, - -0.067122, -0.130784, 0.067057, 0.05246, -0.041165, - -0.004411, 0.046453, -0.055461, 0.048162, -0.009687, - 0.02153, 0.007211, 0.104764, 0.079849, 0.086248, - -0.072791, 0.001112, -0.027964, -0.071233, -0.013339, - 0.007979, -0.118231, 0.076826, -0.060762, -0.084358, - -0.011447, 0.009765, 0.014163, 0.164784, -0.015892, - -0.020756, 0.152509, -0.014014, -0.041853, -0.117008, - -0.011755, -0.005766, -0.086896, -0.13965, -0.032342, - 0.025651, -0.007843, -0.039073, 0.103397, -0.042591, - -0.005971, -0.001324, -0.053945, -0.000716, 0.048977, - 0.130185, 0.028226, 0.061179, 0.024489, -0.021939, - -0.007019, 0.054336, -0.01004, -0.095411, 0.082406, - -0.03213, -0.015054, 0.033059, 0.002802, -0.080159, - -0.022452, 0.077426, -0.015314, 0.033583, 0.028479, - 0.023293, 0.035078, 0.006442, -0.110541, -0.106244, - -0.034737, -0.10414, -0.03457, -0.114316, 0.079382, - 0.006009, 0.003901, 0.080081, 0.055082, 0.012896, - 0.064981, 0.057219, -0.112986, 0.003906, -0.028414, - -0.012383, -0.054541, 0.077483, 0.004267, 0.123567, - 0.007369, 0.099856, 0.023273, -0.028194, 0.12203, - -0.036635, -0.126589, -0.034567, -0.028288, -0.06504, - 0.01428, 0.011435, -0.004867, 0.043901, 0.035395, - 0.028599, 0.075858, 0.11846, 0.070581, -0.051903, - -0.170905, 0.050352, 0.053514, -0.017139, 0.021748, - -0.09661, 0.008904, -0.001049, 0.078787, -0.101201, - -0.026229, -0.019757, -0.035771, 0.054142, 0.068041, - -0.020328, 0.099979, 0.096623, -0.046957, -0.001733, - 0.049586, 0.052458, -0.031724, -0.028332, -0.005418, - 0.04671, 0.014238, 0.133125, -0.005428, -0.080055, - -0.033226, 0.034007, 0.025272, 0.033924, -0.044662, - -0.03469, -0.079173, -0.160689, -0.153893, -0.228771, - -0.00245, -0.083966, -0.168294, 0.010694, -0.012167, - 4e-06, -0.044377, 0.023373, -0.077437, 0.012178, - -0.015899, -0.010828, -0.062847, 0.029927, -0.074557, - -0.053306, 0.049688, 0.057017, -0.022571, 0.015337, - -0.046545, 0.018895, -0.024848, -0.004424, 0.165442, - -0.060201, -0.098629, -0.06519, 0.036582, -0.038566, - 0.051453, 0.093478, 0.039619, 0.117535, 0.090386, - -0.029366, 0.108075, -0.016568, -0.093576, -0.048799, - -0.045599, -0.023619, 0.070072, -0.109294, 0.001548, - 0.076285, -0.091274, -0.068829, 0.000215, -0.046519, - -0.022512, -0.027067, 0.014905, 0.079017, 0.140699, - 0.061141, 0.009178, 0.097811, 0.033468, -0.006666, - 0.007163, -0.007578, -0.124238, -0.025271, 0.017581, - 0.042405, -0.034252, 0.06489, 0.0025, -0.139083, - 0.009733, 0.158179, 0.014474, 0.038913, 0.05629, - -0.004998, 0.075401, -0.030557, -0.038595, -0.04907, - -0.01468, -0.076306, -0.132365, -0.177693, 0.09176, - -0.057238, -0.072379, 0.050877, 0.051489, 0.028125, - 0.004991, 0.032621, -0.167359, 0.041002, -0.007072, - -0.086405, -0.042263, -0.019757, -0.011524, 0.066004, - 0.08567, 0.008071, -0.013614, -0.062142, 0.08328, - 0.000887, -0.07582, 0.008295, -0.020136, -0.016886, - 0.089657, -0.10626, -0.051491, -0.012687, 0.054778, - 0.011535, 0.086613, 0.053803, 0.027164, -0.023825, - -0.040009, 0.080987, 0.026309, -0.000334, -0.085288, - -0.024208, -0.08504, 0.096077, 0.120527, -0.044181, - 0.003034, -0.091142, 0.006471, 0.115971, -0.026358, - 0.003489, 0.083633, 0.109975, -0.029425, 0.061726, - 0.056115, -0.006711, 0.013158, -0.062917, -0.015029, - 0.003354, 0.031574, 0.119045, 0.022859, 0.023777, - -0.068292, 0.115604, 0.031617, 0.008953, 0.006943, - 0.01442, 0.008569, -0.031547, -0.006857, -0.05169, - -0.086683, -0.108339, 0.005093, -0.108646, -0.03472, - 0.054273, -0.096753, 0.050806, -0.021115, -0.025278, - -0.079997, 0.027008, -0.034211, 0.090949, 0.005678, - 0.019288, 0.042083, 0.062119, 0.019301, 0.040859, - -0.009113, 0.022427, -0.004019, -0.06089, 0.032884, - -0.012373, -0.037976, 0.017625, -0.079369, -0.050788, - 0.07972, -0.039347, -0.085324, 0.091044, 0.026653, - -0.063122, 0.099371, -0.024736, 0.084631, -0.100421, - -0.073313, 0.014317, 0.022555, -0.116051, -0.063966, - -0.009688, -0.063666, -0.131709, 0.016744, -0.135028, - -0.003708, -0.043685, -0.121631, -0.03693, 0.125776, - 0.084333, 0.010114, 0.071231, -0.010395, 0.059391, - 0.01776, 0.033034, -0.018996, -0.13054, 0.025758, - -0.018261, -0.060044, 0.127025, -0.032724, -0.107299, - -0.064538, 0.090073, -0.010186, -0.066127, 0.107025, - -0.01094, 0.003083, 0.01903, -0.023935, -0.140176, - 0.003549, -0.042402, -0.010695, -0.185915, 0.060835, - 0.005405, -0.013822, 0.029205, 0.079338, 0.068155, - 0.071485, 0.030282, -0.087207, 0.07348, -0.02794, - 0.004896, -0.033246, 0.072637, 0.018017, 0.054712, - 0.026184, -0.005287, 0.034456, -0.036753, 0.079232, - 0.072707, 0.004506, -0.039353, -0.01556, -0.071466, - 0.010257, 0.067446, -0.006598, 0.047396, 0.072218, - 0.023405, 0.082663, 0.015319, -0.035436, -0.075461, - -0.124036, -0.032046, 0.060837, 0.010231, -0.053024, - 0.0228, 0.042891, -0.041549, 0.132395, -0.09533, - -0.077091, -0.058554, -0.070632, 0.04757, 0.031856, - 0.000127, 0.114996, 0.05866, -0.092472, 0.064503, - 0.09645, 0.0662, -0.001059, 0.039487, -0.032859, - -0.065721, 0.001601, 0.088037, 0.059828, -0.047411, - -0.077714, 0.010275, 0.013629, 0.003304, 0.005407, - 0.000665, 0.012927, -0.077525, 0.069202, -0.157417, - 0.014547, -0.095965, -0.087546, -0.067375, -0.027867, - 0.005458, -0.095839, 0.105294, -0.044892, 0.045151, - -0.001349, 0.038356, -0.127152, -0.080503, -0.105423, - -0.018484, 0.008439, 0.104398, -0.027959, 0.082086, - -0.020605, 0.042785, -0.109139, -0.025958, 0.079733, - 0.036289, -0.083773, -0.033819, 0.032566, -0.065556, - 0.006659, 0.00209, 0.097027, 0.115715, -0.013271, - -0.067514, 0.128365, -0.089129, 0.02616, -0.040584, - -0.002443, -0.017254, 0.129204, -0.110078, -0.064943, - 0.089215, -0.022299, -0.034959, 0.022446, -0.019254, - -0.0389, -0.069862, -0.07054, 0.069949, 0.111993, - -0.006311, -0.009057, 0.094278, -0.014932, 0.003657, - -0.019323, 0.026145, -0.062611, -0.073753, -0.007182, - 0.014101, 0.015776, 0.052537, 0.064728, -0.160187, - -0.005122, 0.076356, -0.104763, 0.091493, 0.020225, - -0.000433, 0.062698, -0.060457, -0.14754, -0.066168, - 0.007195, -0.061498, -0.037801, -0.039763, 0.059551, - -0.02841, -0.07451, 0.057667, 0.020584, -0.04251, - -0.025311, -0.037825, -0.18801, 0.077423, 0.030749, - -0.025465, -0.067541, 0.003073, -0.049778, 0.127789, - 0.002786, 0.120009, -0.067812, -0.026565, 0.111272, - 0.023219, -0.024403, -0.014507, -0.048624, 0.022163, - 0.014596, -0.052136, 0.00158, 0.064595, 0.017963, - 0.02133, 0.098862, -0.009253, -0.041062, 0.008903, - -0.013829, 0.031967, 0.076571, -0.005348, -0.04401, - 0.031252, 0.000369, 0.036818, 0.072854, -0.038569, - 0.004161, -0.128017, -0.053152, 0.050896, -0.015212, - -0.036159, 0.097995, 0.068397, -0.048472, -0.056131, - -0.01192, 0.059188, 0.010215, -0.061152, -0.011717, - -0.035949, -0.057039, 0.090859, -0.029682, 0.041466, - -0.025106, 0.131191, 0.059327, 0.085383, 0.021699, - 0.04923, 0.03663, -0.077086, 0.017806, -0.08879, - 0.00404, -0.069533, -0.026785, 0.009666, 0.014017, - -0.055897, -0.096299, 0.120693, 0.029995, 0.032602, - -0.001365, 0.034015, -0.053512, 0.001573, -0.01917, - 0.003956, 0.006452, 0.067313, 0.028301, 0.160615, - -0.053111, 0.01399, -0.02706, -0.013638, 0.039376, - -0.054462, -0.096553, 0.079994, -0.043791, -0.025051, - -0.003222, 0.019418, -0.049525, 0.151136, 0.034123, - 0.055117, 0.058918, -0.017393, 0.026169, -0.12638, - -0.019008, -0.028939, -0.014027, -0.173373, -0.032841, - -0.00337, 0.03968, -0.118311, 0.114094, -0.041869, - 0.041121, -0.038391, -0.096074, -0.032479, 0.060222, - 0.063968, -0.024528, 0.018158, -0.009892, -0.043882, - -0.005004, 0.1298, -0.025438, -0.121186, 0.04986, - 0.010448, -0.040388, 0.061853, -0.017304, -0.035088, - -0.008678, 0.061476, -0.039493, -0.005055, 0.079169, - 0.046134, 0.00977, 0.068294, -0.078965, -0.043792, - -0.030529, -0.053845, 0.053853, -0.140682, 0.111461, - 0.003549, -0.014939, 0.148955, 0.072861, 0.004332, - 0.015386, 0.062006, -0.122325, -0.032529, 0.010241, - -0.047982, -0.12644, 0.05584, 0.067128, 0.101189, - -0.00263, 0.031969, 0.046076, -0.080194, 0.10474, - -0.033486, -0.077818, -0.058697, -0.095258, -0.111074, - 0.037236, 0.011711, 0.001113, -0.005664, 0.048588, - 0.041131, 0.098257, 0.033126, 0.029317, -0.095311, - -0.071555, -0.039999, 0.026678, -0.072182, 0.035031, - -0.007997, -0.048174, -0.006796, 0.075959, -0.05206, - -0.007645, 0.037076, -0.035574, 0.085576, 0.034126, - -0.050676, 0.05143, 0.031999, -0.134308, -0.001489, - 0.084564, -0.018394, -0.09741, -0.042931, -0.025608, - -0.025489, 0.041919, 0.142482, 0.004617, -0.041085, - -0.028816, -0.015527, -0.031005, 0.028405, -0.02224, - -0.067737, -0.025241, -0.052578, 0.012322, -0.120556, - 0.016278, -0.081744, -0.09916, 0.025144, 0.025441, - 0.003176, -0.073871, 0.031718, -0.028622, 0.029031, - 0.01791, -0.030693, -0.104215, -0.015422, -0.065738, - -0.048346, -0.012847, 0.046849, -0.008621, 0.058771, - -0.054495, 0.031597, -0.038844, 0.043138, 0.092588, - -0.071371, -0.059093, -0.001197, 0.001766, -0.074762, - 0.02947, 0.089616, 0.005009, 0.052977, 0.015899, - -0.045424, 0.158466, -0.038717, -0.032506, 0.028687, - 0.011435, -0.006772, 0.047605, -0.144659, -0.031229, - 0.073577, 0.01153, -0.008172, 0.058883, -0.088412, - 0.033615, -0.03412, -0.030701, 0.101215, 0.096645, - 0.027368, 0.041249, 0.081502, -0.02544, 0.007592, - 0.059893, 0.012106, -0.112009, -0.114692, 0.016397, - 0.087068, 0.016199, 0.051263, 0.011915, -0.085364, - 0.026046, 0.145258, -0.047521, 0.077134, -0.000345, - 0.034532, 0.099801, -0.087591, -0.059719, -0.058671, - 0.022737, -0.001887, -0.107049, -0.116757, 0.134115, - -0.055403, 0.005157, 0.067618, 0.081074, 0.071787, - 0.063802, -0.00343, -0.106491, 0.017543, 0.002214, - -0.013785, -0.032962, 0.010084, 0.024325, 0.045963, - 0.059883, 0.072282, -0.008608, -0.015127, 0.048225, - 0.041752, -0.068845, 0.012227, -0.090748, -0.035309, - 0.045353, -0.078624, -0.019489, 0.035531, 0.058571, - 0.045414, 0.039032, -0.011106, 0.048787, -0.025336, - -0.084893, 0.031896, 0.01085, 0.012526, -0.053205, - 0.016952, -0.044041, 0.068766, 0.097328, -0.122229, - 0.027016, -0.051759, -0.057246, 0.074566, 0.006201, - 0.069904, 0.100068, 0.076124, 0.004278, 0.029466, - 0.045229, 0.055683, 0.01879, -0.067806, 0.039373, - 0.029179, -0.036787, 0.129921, -0.028993, 0.037711, - -0.105011, 0.138747, -0.00437, 0.05208, 0.050835, - 0.025511, -0.002962, 0.007852, -0.055234, -0.075055, - 0.00046, -0.089231, -0.030467, -0.080347, 0.007488, - 0.06746, -0.076368, 0.084991, 0.039544, 0.033391, - -0.044318, 0.00639, -0.079387, -0.002909, -0.029708, - -0.047882, 0.06304, 0.065719, 0.021811, 0.070945, - -0.007571, -0.001302, -0.064119, -0.068005, 0.05104, - -0.017747, -0.063938, 0.018673, -0.038391, -0.099966, - 0.057475, -0.007669, 0.009384, 0.109283, 0.012248, - -0.048858, 0.092498, 0.011967, 0.061525, -0.028819, - -0.015131, -0.02416, -0.03322, -0.101648, -0.01798, - -0.003342, -0.049829, -0.125096, 0.128241, -0.047377, - -0.028943, -0.109072, -0.066133, -0.015454, 0.098334, - 0.053371, 0.011324, 0.042781, 0.044313, 0.06251, - 0.098408, 0.06541, -0.040693, -0.116351, -0.032327, - -0.013634, -0.058591, 0.081507, 0.042019, -0.09977, - -0.018275, 0.084624, -0.007512, -0.041113, 0.054203, - 0.017879, -0.029747, 0.059865, -0.048281, -0.111513, - -0.022478, 0.002059, 0.022383, -0.12536, 0.058216, - 0.002386, -0.0816, 0.049288, 0.157428, 0.057724, - 0.005046, 0.102125, -0.083473, 0.044059, -0.094864, - 0.03912, -0.063306, 0.057341, 0.060519, 0.107383, - 0.007076, -0.009373, -0.012555, -0.06663, 0.117121, - 0.025254, -0.008796, -0.062102, -0.083164, -0.079007, - 0.084839, 0.042308, -0.055353, 0.036386, 0.132641, - 0.084464, 0.056288, -0.011636, -0.059554, -0.087748, - -0.147377, -0.052414, -0.010203, -0.009159, -0.018829, - 0.009621, 0.061633, 0.015716, 0.086332, -0.061465, - -0.011833, -0.062998, -0.021168, 0.125194, 0.045025, - 0.052316, 0.02572, 0.095155, -0.093252, 0.02872, - 0.056113, 0.063321, -0.045315, 0.025199, 0.023591, - -0.070481, 0.07235, 0.092458, 0.047973, -0.025439, - -0.001281, 0.021028, 0.034576, 0.084779, 0.006867, - -0.010323, -0.04633, -0.009172, 0.030485, -0.117679, - -0.021782, -0.034737, -0.086292, -0.045885, 0.009655, - -0.037167, -0.123331, 0.017291, -0.028319, 0.071447, - -0.05718, -0.032912, -0.139418, -0.025966, -0.039305, - 0.009411, -0.054017, 0.076307, -0.060252, 0.110087, - -0.061366, 0.038897, -0.098107, 0.046119, 0.043021, - -0.02913, -0.096885, 0.007623, 0.090513, -0.097416, - 0.053264, 0.058296, 0.054372, 0.060769, 0.015586, - -0.067956, 0.059996, -0.03785, 0.005986, 0.000778, - 0.045873, -0.065546, 0.0779, -0.085638, 0.000698, - 0.027694, -0.021241, -0.002777, 0.034509, -0.048173, - 0.009988, 0.001008, -0.077434, 0.026002, 0.13949, - 0.00891, 0.007791, 0.059292, -0.057047, 0.014127, - -0.022959, 0.08571, -0.068087, -0.081561, 0.005935, - 0.007577, 0.061544, 0.076542, 0.00166, -0.113279, - 0.024973, 0.08675, -0.061674, 0.095059, 0.089352, - -0.024436, 0.024181, -0.016117, -0.073634, -0.067986, - 0.074701, -0.046868, -0.054634, -0.092485, 0.006662, - -0.033256, -0.053774, 0.049001, -0.002339, 0.013545, - -0.006432, -0.012089, -0.086842, 0.104105, 0.061991 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lspjmv3.txt */ -#ifdef __EMBEDDED__ -static const float codes2[] = { -#else -static float codes2[] = { -#endif - 0.007066, 0.075781, -0.070082, -0.092014, -0.066477, - 0.09051, 0.106622, 0.025911, -0.01676, 0.003724, - -0.024628, 0.058332, 0.012876, 0.059557, -0.002092, - -0.065092, -0.096975, -0.041837, -0.002432, 0.058918, - 0.014358, 0.080049, -0.008803, -0.002091, -0.097584, - 0.085323, -0.026053, -0.086585, -0.009541, 0.130555, - 0.045391, 0.037557, 0.074726, -0.050453, 0.033517, - -0.035576, -0.084211, -0.08643, 0.00891, -0.072674, - -0.098699, -0.02454, -0.048972, -0.066975, -0.048791, - 0.032184, 0.070992, -0.014416, 0.141892, -0.044249, - -0.108921, -0.02045, 0.115988, 0.011287, -0.026273, - 0.024341, 0.138519, -0.036467, 0.020684, 0.074258, - -0.053563, 0.077463, 0.072166, 0.032112, -0.079303, - -0.025039, 0.079675, 0.094211, -0.115754, 0.038892, - 0.050897, -0.024639, 0.057826, -0.110429, 0.071184, - 0.015309, -0.034027, -0.055726, 0.043179, -0.063089, - 0.043359, -0.011698, 0.006637, 0.002751, 0.03011, - -0.001261, 0.11147, 0.043277, -0.004205, -0.021599, - -0.005698, 0.058842, 0.168422, 0.059313, -0.007971, - -0.087599, 0.073891, -0.083238, 0.099279, -0.017364, - -0.018429, 0.01404, -0.014864, -0.111512, 0.08945, - -0.028498, -0.087983, -0.07732, -0.062602, 0.000328, - -0.027152, -0.093796, 0.111381, -0.018603, 0.092394, - -0.007256, 0.025391, 0.011454, 0.012802, -0.04168, - 0.008078, 0.020905, -0.105401, -0.083265, 0.027756, - -0.04963, -0.044085, -0.051424, 0.104125, -0.000779, - -0.063079, -0.130699, 0.0705, 0.033468, -0.019802, - -0.061011, 0.094839, -0.040122, 0.118409, 0.05695, - 0.086391, -0.006615, 0.045337, -0.04419, -0.106474, - -0.081912, 0.067557, -0.031649, -0.014437, 0.057585, - -0.121755, -0.049113, 0.057109, -0.049872, 0.044104, - 0.064705, -0.091589, 0.037286, -0.048606, -0.045398, - 0.003456, 0.05723, 0.006262, -0.055206, -0.063871, - -0.005249, 0.081783, 0.134969, -0.002331, 0.052643, - -0.093346, 0.072093, 0.116025, -0.031453, -0.006012, - -0.038574, -0.030841, 0.010288, 0.02442, 0.051657, - -0.086584, 0.046381, 0.00541, 0.052622, -0.072741, - 0.079023, 0.078099, -0.093912, 0.005477, -0.006721, - 0.100232, -0.017587, 0.044819, 0.036655, 0.02158, - -0.006829, -0.050076, -0.00302, 0.088246, 0.01356, - -0.01569, 0.012477, -0.052595, -0.048861, -0.033688, - 0.055615, 0.092298, -0.066194, 0.016416, -0.066059, - 0.046976, 0.003023, 0.104646, 0.109136, 0.018293, - -0.016507, -0.006859, 0.004326, 0.070843, 0.14075, - 0.025774, 0.03473, -0.07959, 0.050054, -0.10795, - 0.002378, 0.097498, 0.027111, -0.122953, -0.002423, - -0.020539, -0.063263, -0.095493, -0.157361, -0.039183, - 0.025721, 0.026897, -0.0012, 0.033997, -0.001749, - 0.061593, -0.013053, -0.106317, -0.06819, 0.046352, - -0.05606, 0.157084, -0.049365, 0.053959, -0.051065, - -0.047672, 0.08157, 0.064342, -0.030705, -0.070806, - -0.076503, -0.059471, 0.012419, 0.073968, -0.026179, - -0.038473, 0.059013, -0.035783, -0.030057, -0.036346, - -0.052692, -0.015346, -0.022687, -0.035279, 0.013314, - 0.068397, -0.046609, -0.009593, -0.040796, 0.157438, - -0.07536, -0.110464, 0.031839, -0.029035, -0.015222, - 0.041013, -0.099212, -0.10892, -0.008627, 0.012095, - 0.020855, 0.009935, -0.086917, 0.058827, -0.006536, - 0.022104, -0.005013, 0.003496, 0.046663, -0.051061, - -0.036803, -0.067317, -0.007075, 0.18087, -0.027434, - -0.025056, -0.039341, -0.073918, -0.00318, -0.11093, - -0.042711, 0.005519, -0.035005, -0.088419, 0.170942, - 0.001503, -0.121485, 0.066383, -0.067346, 0.005643, - 0.080088, -0.042562, -0.006668, -0.036538, 0.020683, - 0.042848, 0.027852, -0.029088, -0.156468, 0.006503, - 0.037716, 0.032082, 0.038416, 0.021835, -0.106963, - -0.043017, 0.018166, 0.070409, -0.005426, -0.035585, - -0.111071, -0.039986, 0.05043, 0.035157, 0.066902, - -0.040684, 0.060527, 0.036225, 0.002527, -0.015087, - 0.059243, 0.021268, -0.010682, -0.018434, 0.059128, - 0.111314, -0.05407, 0.105744, -0.051476, -0.01297, - -0.000358, -0.099249, -0.077385, 0.069924, -0.039101, - -0.072139, -0.049069, -0.088018, 0.006144, 0.000712, - 0.08103, 0.021987, -0.046031, 0.058087, -0.00132, - -0.046851, -0.011062, 0.108321, -0.001146, -0.071193, - 0.044973, -0.002915, -0.003323, 0.041735, 0.094566, - 0.05353, 0.035927, 0.100282, 0.059082, -0.054059, - -0.012158, -0.035417, 0.020412, -0.073193, 0.059296, - -0.040489, -0.09525, -0.003821, -0.084904, 0.053925, - 0.109183, -0.005862, -0.036538, 0.080962, -0.040647, - 0.02007, 0.057778, -0.020197, -0.079626, -0.003186, - -0.050855, 0.128185, 0.034731, 0.05746, -0.035236, - -0.057096, -0.001238, 0.122018, -0.071204, -0.047253, - -0.051767, 0.048301, -0.052678, 0.02599, -0.017481, - -0.029379, 0.030738, 0.047207, -0.047864, -0.033561, - 0.029884, -0.091175, -0.085446, -0.02614, 0.092628, - 0.067706, -0.085617, 0.081433, 0.047305, 0.031945, - -0.048728, -0.040387, 0.046206, 0.010578, -0.037639, - 0.011328, -0.042458, -0.149597, 0.033882, -0.061869, - 0.0088, 0.057754, -0.095876, 0.03823, 0.096876, - -0.033487, -0.141669, -0.014172, 0.028439, -0.092764, - -0.053714, 0.086926, 0.034786, 0.136053, -0.005569, - 0.028753, 0.00963, 0.044114, -0.050365, -0.066224, - 0.006017, 0.014348, 0.024471, 0.000489, 0.067234, - -0.021678, -0.11876, 0.036349, -0.040295, 0.076358, - -0.008444, -0.086082, -0.044018, -0.025804, 0.028971, - -0.009233, 0.053026, -0.035341, -0.182193, -0.102515, - 0.08921, 0.066812, 0.032417, 0.046882, -0.034815, - -0.052293, 0.022814, 0.129622, 0.128232, -0.012105, - -0.087084, 0.004762, 0.086538, 0.046566, 0.098359, - -0.018713, 0.039204, -0.021707, -0.06011, -0.117527, - -0.005459, 0.060994, -0.057718, -0.021783, 0.035154, - 0.100557, -0.01547, -0.025818, 0.00845, 0.051535, - -0.001388, -0.11461, -0.057903, 0.041862, 0.061778, - 0.045701, -0.078563, -0.070166, -0.04845, -0.08853, - 0.021375, -0.004598, -0.09071, -0.009399, -0.073952, - -0.035575, -0.05028, 0.11478, 0.137866, 0.065234, - 0.003594, -0.066802, -0.144989, 0.166201, 0.039564, - -0.022457, -0.03009, 0.016187, 0.115443, -0.097331, - -0.019139, 0.09944, 0.002198, -0.030953, 0.021099, - -0.045399, -0.046871, 0.022533, -0.064657, 0.005776, - 0.049063, -0.028478, 0.019268, 0.054265, 0.028042, - 0.045559, -0.005541, -0.01441, -0.024165, -0.054976, - -0.073258, 0.084205, 0.036077, -0.068683, 0.004708, - -0.085228, 0.001234, 0.046261, -0.050496, -0.028227, - -0.086828, -0.001218, 0.021865, 0.003791, -0.000568, - -0.088733, -0.040041, -0.035891, -0.054915, 0.073463, - -0.132031, -0.012844, -0.068544, 0.013052, 0.087335, - 0.038603, -0.115382, -0.010433, -0.007113, 0.095126, - -0.047378, -0.081353, 0.018021, -0.021156, -0.120774, - 0.040038, 0.007633, -0.088728, -0.009928, 0.020142, - 0.052024, -0.021063, -0.118121, 0.102739, -0.055837, - 0.005253, -0.061924, 0.06368, -0.014512, -0.020259, - 0.029493, -0.013435, -0.020638, 0.089342, 0.001092, - -0.046491, -0.145634, -0.083159, -0.158142, -0.279281, - 0.003611, 0.055863, -0.064655, -0.088773, 0.089283, - -0.029619, -0.089949, 0.017197, -0.066633, -0.052347, - 0.090828, -0.087551, 0.000338, 0.085238, -0.005313, - 0.096211, 0.071381, -0.076546, -0.077927, -0.040864, - 0.062936, 0.041559, 0.016235, -0.017513, 0.014773, - -0.025734, 0.028586, 0.070292, 0.055794, -0.026131, - -0.076954, -0.082228, 0.043947, -0.035921, 0.152668, - -0.04951, 0.023159, 0.008506, -0.044773, -0.160358, - 0.024984, -0.025587, -0.071627, -0.038376, 0.088478, - 0.120568, 0.046723, 0.086731, 0.000695, -0.015751, - -0.027837, -0.160937, -0.095031, 0.036271, -0.009061, - -0.015078, -0.036281, -0.103665, -0.058258, -0.049573, - 0.022021, 0.108296, -0.002586, 0.065655, -0.018584, - -0.046441, -0.031018, 0.06735, 0.014328, 0.00886, - -0.000245, 0.0634, -0.00181, 0.043515, 0.090344, - -0.063845, 0.020485, 0.079401, 0.070558, -0.116428, - 0.032628, 0.068949, 0.052238, -0.04453, 0.096813, - 0.029911, -0.008814, 0.044352, -0.168172, 0.009604, - 0.055828, -0.100739, -0.026013, 0.021193, -0.051425, - 0.035891, -0.004085, 0.030216, -0.060801, 0.037202, - 0.007262, 0.120686, 0.026846, 0.058464, -0.100792, - -0.009176, 0.027589, 0.123957, -0.011283, -0.025744, - -0.105081, 0.118244, -0.042122, -0.025404, 0.000873, - -0.012703, 0.084159, -0.067539, -0.140536, 0.041637, - -0.014485, -0.043382, -0.048004, -0.075416, 0.054401, - -0.018651, -0.032908, 0.164231, -0.053236, 0.033946, - -0.021681, -0.012655, -0.037049, -0.001613, -0.053393, - -0.014635, 0.017954, -0.116115, -0.027232, 0.034005, - -0.035376, 0.026492, -0.03725, 0.070733, 0.074835, - -0.021378, -0.14298, 0.123195, 0.003699, 0.025398, - 0.015629, 0.07737, 0.032623, 0.12158, 0.0971, - 0.000946, -0.056355, 0.042065, 0.008184, -0.081824, - -0.101937, 0.065473, 0.00336, 0.069241, 0.073002, - -0.053844, -0.044301, 0.080351, -0.091833, 0.044288, - 0.007447, -0.120723, -0.013806, -0.023636, -0.064616, - 0.030556, 0.07263, 0.074428, -0.087759, -0.02644, - 0.06484, 0.049162, 0.091053, 0.023891, 0.033811, - -0.027746, 0.116392, 0.106126, -0.056644, -0.014781, - 0.036137, -0.002632, 0.055512, 0.070077, 0.067819, - -0.030625, 0.053772, -0.078457, -0.021351, -0.113011, - 0.052797, 0.044875, -0.077269, -0.009867, 0.101493, - 0.073477, -0.024103, 0.049145, -0.004706, -0.025211, - -0.053731, -0.049009, -0.035786, 0.05443, 0.046515, - 0.025154, -0.043569, -0.034789, -0.05861, 0.006931, - 0.012049, 0.046809, -0.129441, 0.025541, -0.030933, - 0.000297, -0.054058, 0.179837, 0.081515, 0.004932, - -0.028445, -0.073753, 0.010629, 0.080042, 0.09871, - -0.014017, 0.057597, 0.00101, 0.071658, -0.06757, - 0.074384, 0.110366, -0.018121, -0.108754, 0.037793, - 0.028041, -0.047508, -0.031359, -0.098913, -0.036486, - -0.017311, -0.001279, -0.013694, 0.051968, 0.036512, - 0.088201, 0.031155, -0.043442, -0.065045, 0.023486, - 0.027, 0.104768, -0.015176, -0.038754, -0.004178, - 0.003732, 0.062166, 0.085438, -0.077368, -0.101645, - -0.118347, 0.007589, -0.056489, 0.082268, 0.020253, - -0.035623, 0.034235, -0.099354, -0.061237, -0.024285, - 0.005441, -0.039694, -0.025957, -0.004411, 0.049903, - 0.00304, 0.036243, 0.023552, -0.007334, 0.128963, - -0.077727, -0.059175, -0.019437, -0.024872, 0.004339, - 0.084006, -0.076605, -0.102261, 0.036714, -0.035205, - -0.007642, -0.005125, -0.030525, 0.09639, -0.053138, - -0.002192, -0.024851, 0.050645, 0.04149, -0.043183, - 0.046796, -0.050894, 0.055023, 0.133834, -0.024013, - 0.000872, -0.057072, -0.00063, 0.04207, -0.129339, - -0.064283, 0.037836, -0.066393, 0.004438, 0.125379, - -0.062213, -0.067468, 0.090177, -0.046094, -0.025725, - 0.079101, -0.074909, -0.04373, -0.073483, 0.069672, - -0.020413, -7.9e-05, -0.049725, -0.120751, -0.04698, - 0.039894, 0.072305, 0.009798, 0.005613, -0.045217, - 0.006862, 0.036285, 0.074819, -0.006747, 0.015144, - -0.071562, 0.012324, -0.001082, 0.014835, 0.07996, - -0.027804, 0.103358, -0.017203, 0.014914, -0.056687, - 0.030827, 0.028076, 0.003395, -0.073255, 0.11031, - 0.056498, -0.044893, 0.110122, -0.109058, -0.052302, - -0.001604, -0.089977, -0.060548, 0.107808, 0.025463, - -0.070203, -0.000513, -0.123913, 0.046247, -0.085392, - 0.096343, 0.09589, -0.06495, 0.070363, 0.034272, - 0.037773, -0.07695, 0.124858, -0.009008, -0.010115, - 0.083868, 0.051242, 0.039149, 0.015185, 0.083375, - 0.029773, -0.045961, 0.100395, 0.003743, -0.138294, - -0.041755, 0.010806, 0.057797, -0.147374, 0.095858, - -0.009929, -0.103347, -0.03231, -0.11056, 0.121377, - 0.145244, 0.017079, -0.080587, 0.020516, -0.044939, - -0.010477, 0.038347, -0.003466, -0.001618, 0.0196, - -0.021762, 0.125482, 0.011074, 0.065815, 0.040298, - 0.009202, -0.051686, 0.129684, -0.131135, 0.044536, - 0.009313, 0.102518, -0.075351, 0.054338, 0.020273, - -0.045753, 0.031345, 0.000407, -0.097294, -0.000416, - -0.007466, -0.044972, -0.078744, 0.042414, 0.066624, - 0.030318, -0.067852, 0.061416, -0.028992, 0.056606, - 0.004038, -0.036253, -0.014279, 0.023123, -0.007832, - -0.000137, -0.027684, -0.127648, -0.007713, -0.008746, - -0.0265, 0.049032, -0.183319, 0.059107, 0.0665, - 0.016902, -0.093331, 0.090129, 0.016648, -0.083492, - -0.023669, -0.010473, 0.027614, 0.145068, 0.000681, - 0.044133, -0.035809, 0.005668, -0.090461, -0.090732, - -0.033927, 0.042997, 0.0217, -0.046955, 0.044487, - -0.026444, -0.061011, 0.01011, -0.023804, 0.030427, - -0.015195, -0.155603, -0.016584, 0.021461, -0.003528, - -0.059784, 0.032214, 0.000847, -0.098859, -0.07898, - 0.043188, 0.066433, 0.062309, 0.144507, 0.006865, - -0.068953, 0.046698, 0.099369, 0.043354, -0.014309, - -0.033202, -0.00295, 0.040734, 0.083454, 0.039319, - 0.051358, 0.006074, -0.073465, -0.090554, -0.120787, - -0.040676, 0.092412, -0.085151, -0.021699, 0.005813, - 0.103135, 0.024964, 0.025832, -0.075982, 0.035699, - -0.02731, -0.153007, 0.03642, 0.0576, 0.08163, - 0.001605, -0.054191, -0.033043, -0.01439, -0.071383, - 0.03618, 0.03586, -0.04698, 0.038541, -0.044757, - -0.078032, -0.029878, 0.078183, 0.082251, 0.010549, - 0.053317, -0.038231, -0.06561, 0.055798, 0.037504, - 0.076317, -0.027605, 0.010349, 0.095361, -0.088636, - 0.049089, 0.113316, 0.051084, 0.038589, 0.03433, - -0.055948, -0.037217, -0.015418, -0.139976, 0.036306, - 0.039306, -0.009889, -0.04491, 0.016559, -5e-05, - 0.106073, 0.01528, -0.002563, -0.109085, -0.048475, - -0.035319, 0.16386, 0.032981, -0.044932, 0.003227, - -0.123233, -0.010638, 0.055479, -0.003666, -0.072249, - -0.111158, 0.065365, 0.010691, 0.039119, -0.001837, - -0.118729, 0.06147, -0.002077, -0.033335, -0.060165, - -0.026081, -0.001806, -0.079616, -7.5e-05, 0.080598, - 0.032908, -0.03514, -0.003136, -0.029024, 0.094622, - -0.075773, -0.022898, -0.014817, 0.058393, -0.111505, - 0.036794, -0.01576, -0.112602, 0.030323, 0.085897, - -0.020834, 0.056079, -0.103762, 0.117671, -0.041205, - 0.041684, -0.084336, 0.034186, 0.011973, -0.006313, - 0.040836, -0.035709, 0.03417, 0.122672, 0.090973, - -0.053182, -0.059371, 0.091017, -0.090998, -0.116986, - 0.001405, 0.138364, 0.017107, -0.064076, 0.103486, - -0.031142, -0.030068, 0.046547, -0.133471, -0.042055, - 0.140418, -0.125084, 0.035218, -0.001162, -0.02113, - -0.012034, 0.097413, -0.079006, -0.03903, -0.054011, - 0.143887, 0.078835, -0.000601, -0.021173, -0.039895, - -0.02505, 0.075865, 0.039221, 0.032458, 0.038206, - -0.038873, -0.085003, -0.032736, -0.026956, 0.113525, - -0.023933, 0.120794, -0.003862, -0.026459, -0.138724, - 0.089559, 0.029002, -0.052098, -0.085692, 0.115174, - 0.083497, 0.024179, 0.119021, -0.067541, 0.019047, - -0.02772, -0.086083, -0.055329, 0.020087, -0.027086, - -0.047858, -0.051975, -0.035205, -0.059342, -0.068582, - 0.058936, 0.044141, -0.080315, 0.119744, -0.046518, - -0.064588, -0.027212, 0.147823, 0.032404, 0.01669, - 0.024302, 0.08556, -0.001525, 0.016469, 0.038891, - -0.020146, 0.019943, 0.045067, 0.03807, -0.086274, - -0.025769, 0.044192, 0.102141, -0.064765, 0.055849, - 0.048803, -0.030066, -0.00922, -0.116655, 0.068295, - 0.04758, -0.076138, -0.070307, 0.047582, -0.111342, - 0.004656, -0.004452, 0.029703, -0.004259, 0.01113, - 0.014446, 0.166086, 0.059565, 0.000985, -0.052607, - 0.013251, 0.094476, 0.106216, 0.016715, -0.025581, - -0.101244, 0.072897, -0.114526, 0.024681, 0.010784, - -0.051759, 0.032389, -0.050202, -0.083316, 0.052334, - -0.0351, -0.116721, -0.110336, -0.053391, 0.065541, - -0.02979, -0.020457, 0.135285, -0.004142, 0.111508, - -0.030936, 0.018549, -0.016034, 0.018572, -0.084336, - -0.048615, -0.018739, -0.096815, -0.090162, 0.01941, - -0.040821, -0.009925, -0.097427, 0.091891, 0.031793, - -0.024598, -0.132848, 0.078353, 0.089339, -0.068562, - -0.020779, 0.040974, -0.055675, 0.169131, 0.029649, - 0.078165, -0.050679, -0.005881, -0.004983, -0.104324, - -0.069096, 0.12796, 0.011392, -0.000769, 0.062168, - -0.079842, 0.001606, 0.089284, -0.035465, 0.031075, - 0.029519, -0.102956, -0.010902, -0.06403, -0.019669, - 0.057492, 0.075802, -0.008904, -0.060743, -0.053144, - 0.005126, 0.06298, 0.085674, 0.019895, 0.104448, - -0.086473, 0.056906, 0.056795, -0.01294, 0.036606, - -0.008604, -0.04045, 0.042062, 0.04181, 0.02768, - -0.092256, 0.091237, -0.0395, 0.024761, -0.088978, - 0.068585, 0.088295, -0.048033, -0.017808, 0.04537, - 0.1246, -0.03532, 0.056751, 0.092751, 0.054025, - -0.015725, -0.061938, 0.036806, 0.078768, -0.016065, - 0.002444, -0.023887, -0.072177, -0.02979, -0.00586, - 0.015478, 0.129142, -0.091024, 0.071482, -0.065445, - 0.005867, -0.006051, 0.098646, 0.054089, 0.018713, - 0.033837, -0.008355, -0.051959, 0.05744, 0.160305, - -0.001863, 0.016738, -0.033705, 0.062233, -0.140759, - 0.027342, 0.060074, 0.030362, -0.117875, 0.06102, - -0.028026, -0.088238, -0.003782, -0.146288, -0.080395, - 0.050048, 0.036136, 0.0195, 0.066902, 0.020355, - 0.024817, -0.056254, -0.140918, -0.085803, 0.02054, - -0.00373, 0.161411, -0.049408, 0.000219, -0.002348, - -0.055021, 0.06782, 0.126483, -0.031063, -0.119299, - -0.102834, 0.001133, 0.010172, 0.107707, -0.029106, - -0.059813, 0.036698, -0.02172, -0.043189, -0.00227, - -0.031694, 0.009605, -0.022459, -0.036417, 0.053675, - 0.061561, -0.012723, 0.05004, -0.02945, 0.131044, - -0.124516, -0.107579, -0.012171, 0.011761, 0.002599, - 0.016327, -0.060854, -0.08091, 0.030875, -0.002997, - -0.02097, -0.01188, -0.086096, 0.037912, 0.012421, - 0.055253, -0.00725, 0.04174, 0.055596, -0.02442, - -0.017564, -0.079202, 0.008897, 0.180091, 0.05449, - 0.001772, -0.022151, -0.082048, -0.010559, -0.163377, - -0.02066, -0.017827, -0.0308, -0.045856, 0.122405, - -0.052946, -0.13049, 0.097383, -0.116737, 0.039855, - 0.056504, -0.059549, -0.059931, -0.018658, 0.034898, - 0.054889, 0.005373, -0.066796, -0.12736, 0.04796, - 0.071746, 0.02741, -0.006212, 0.024132, -0.094062, - 0.005369, -0.008926, 0.073085, -0.014265, -0.029204, - -0.100025, -0.072076, 0.014651, 0.069368, 0.048275, - -0.066823, 0.086074, 0.014921, -0.015395, -0.045138, - 0.026224, 0.000902, -0.038208, -0.035221, 0.057397, - 0.097606, -0.073195, 0.051626, -0.033488, 0.027813, - 0.00207, -0.09751, -0.057877, 0.12668, -0.082194, - -0.072597, 0.006014, -0.093185, -0.016853, -0.02279, - 0.138461, 0.005394, -0.056485, 0.102778, 0.028918, - -0.045604, -0.060041, 0.121251, 0.02926, -0.101404, - 0.061194, 0.033039, -0.016798, 0.064263, 0.065144, - 0.010925, 0.023151, 0.107623, 0.027977, -0.090356, - -0.024863, -0.00644, 0.04787, -0.047486, 0.088211, - -0.012139, -0.116121, -0.000525, -0.140961, 0.016604, - 0.06349, -0.022732, -0.046944, 0.06697, -0.068838, - 0.016143, 0.026202, -0.043344, -0.064881, 0.024877, - -0.072845, 0.120531, 0.077901, 0.047272, 0.011713, - -0.044646, 0.040932, 0.076164, -0.101233, -0.029615, - -0.065118, 0.050966, -0.023273, 0.053517, 0.02371, - -0.007489, 0.035822, 0.023439, -0.055528, -0.004033, - -0.007662, -0.096546, -0.081662, 0.037141, 0.137562, - 0.075526, -0.097496, 0.12399, 0.013996, 0.087005, - -0.019788, -0.082043, 0.020524, 0.007027, -0.021537, - -0.036264, -0.090952, -0.177722, -0.009306, -0.031473, - -0.009287, 0.047557, -0.090241, 0.089347, 0.056375, - -0.005506, -0.112128, 0.004356, 0.064421, -0.038478, - -0.035674, 0.040616, 0.007731, 0.160236, -0.054199, - -0.007537, 0.012434, 0.022001, -0.021567, -0.075163, - -0.026053, 0.015909, 0.041015, 0.021832, 0.034152, - -0.048539, -0.086655, 0.047465, 0.000682, 0.04264, - 0.023697, -0.095971, -0.022874, -0.000369, 0.003413, - 0.046005, 0.064807, 0.010131, -0.129517, -0.092254, - 0.116469, 0.053796, 0.03811, 0.09447, 0.018435, - -0.034803, 0.073591, 0.108348, 0.104096, 0.049884, - -0.021274, 0.022097, 0.065347, 0.065555, 0.089319, - 0.000474, -0.004186, -0.040493, -0.065543, -0.083167, - -0.017425, 0.049177, -0.044248, 0.008399, 0.06818, - 0.154778, 0.027549, -0.008012, 0.01495, 0.043254, - 0.039599, -0.136415, -0.018716, 0.0619, 0.031263, - 0.058118, -0.0372, -0.114692, -0.080876, -0.053238, - 0.077436, 0.015015, -0.092517, 0.005804, -0.065541, - -0.005653, -0.073184, 0.095594, 0.08247, 0.060989, - -0.000262, -0.035766, -0.083441, 0.122634, 0.088429, - -0.014397, -0.055434, -0.005659, 0.069697, -0.064892, - 0.008824, 0.082498, 0.051866, -0.03607, 0.033403, - -0.082855, -0.087376, 0.002714, -0.097121, -0.01917, - 0.027179, -0.06987, -0.009316, 0.04745, 0.040657, - 0.060527, 0.00462, -0.040264, -0.051228, -0.029023, - -0.071384, 0.101421, 0.009538, -0.099185, 0.0601, - -0.048395, -0.024677, 0.025125, -0.056043, -0.058045, - -0.054059, 0.008107, 0.021078, 0.04529, -0.018459, - -0.113359, 0.014009, -0.006826, -0.052747, 0.046922, - -0.075976, 0.008538, -0.084411, -0.004369, 0.045801, - 0.075392, -0.06734, 0.014454, 0.032407, 0.092478, - -0.061859, -0.083458, 0.051442, 0.031695, -0.080233, - 0.054028, 0.027, -0.073549, 0.0323, 0.036501, - -0.011384, -0.02078, -0.124142, 0.093905, -0.028332, - 0.039139, -0.030944, 0.079952, -0.001717, 0.013976, - 0.038005, -0.001751, -0.044097, 0.129827, 0.014385, - -0.001682, -0.063458, -0.002511, -0.07815, -0.141236, - 0.021955, 0.104851, -0.093246, -0.060019, 0.069998, - 0.004399, -0.096408, 0.059327, -0.062268, -0.074327, - 0.108063, -0.090534, -0.045654, 0.048119, 0.049187, - 0.042105, 0.043964, -0.091516, -0.047999, -0.028881, - 0.070471, 0.055401, -0.025605, 0.011176, 0.008475, - 0.022254, 0.038266, 0.048106, 0.047176, -0.017967, - -0.010978, -0.088762, 0.034806, 0.019311, 0.126815, - -0.010571, 0.053073, 0.032162, -0.00078, -0.1522, - -0.014253, -0.021954, -0.13104, -0.061376, 0.113838, - 0.060725, 0.020201, 0.102533, -0.011392, -0.052046, - -0.069625, -0.091011, -0.097954, 0.067847, 0.017856, - -0.053461, -0.040679, -0.121664, -0.077208, -0.106919, - 0.057996, 0.069756, -0.012433, 0.069569, -0.055159, - -0.024801, -0.060448, 0.1017, 0.014619, 0.03658, - -0.004526, 0.093977, -0.028211, 0.045261, 0.149736, - -0.014691, -0.007959, 0.097708, 0.107128, -0.079723, - 0.029157, 0.020116, 0.104828, -0.064208, 0.119172, - 0.039583, -0.029446, 0.006628, -0.110398, 0.004062, - 0.048132, -0.060601, 0.009448, 0.051777, -0.053127, - 0.050551, -0.001924, 0.028079, -0.050618, -0.013698, - 0.00192, 0.088162, 0.073078, 0.085795, -0.066788, - 0.014025, 0.042699, 0.176241, -0.046674, -0.034822, - -0.051433, 0.121729, -0.057076, 0.023901, 0.045075, - -0.057182, 0.05478, -0.01728, -0.146674, 0.00209, - -0.016223, -0.044841, -0.084524, -0.152479, 0.072688, - -0.006962, 0.008711, 0.127455, -0.003876, 0.053162, - -0.013682, -0.025386, -0.000427, -0.024811, -0.024474, - -0.056267, 0.062116, -0.121311, -0.053011, 0.065651, - -0.075385, -0.00868, -0.063033, 0.083039, 0.110577, - -0.000152, -0.127017, 0.055904, 0.013659, 0.005664, - -0.002852, 0.047248, 0.001128, 0.100773, 0.037274, - 0.026368, -0.042205, 0.021887, -0.020247, -0.056678, - -0.077475, 0.089799, 0.058003, 0.039741, 0.106663, - -0.016853, -0.015972, 0.075741, -0.048829, 0.015374, - -0.032657, -0.125677, -0.06206, -0.057409, -0.061287, - 0.073151, 0.050357, 0.053547, -0.059886, -0.051298, - 0.057954, -0.003817, 0.076028, 0.006757, 0.061109, - -0.03803, 0.143209, 0.092207, -0.018493, 0.062291, - 0.005751, -0.036449, 0.067582, 0.031449, 0.101894, - -0.080754, 0.011515, -0.049485, -0.016137, -0.087818, - 0.108851, 0.038222, -0.099315, -0.003117, 0.052278, - 0.107517, -0.036233, 0.06537, 0.040409, -0.057029, - -0.033167, -0.081758, -0.019502, 0.033438, 0.013365, - -0.01776, -0.025906, -0.020244, -0.078722, -0.011697, - -0.028246, 0.068647, -0.106417, 0.026956, -0.064914, - 0.062711, -0.017857, 0.151539, 0.044613, -0.01782, - 0.009085, -0.032785, -0.025795, 0.07579, 0.075667, - -0.040398, 0.058556, -0.042634, 0.093973, -0.099529, - 0.057103, 0.073562, 0.01264, -0.066141, 0.029558, - 0.060219, -0.083699, -0.054799, -0.120442, -0.000374, - 0.006521, 0.034512, -0.039558, 0.042191, 0.033865, - 0.103992, -0.014977, -0.077384, -0.05134, 0.001873, - 0.047451, 0.140612, -0.024885, -0.02142, -0.046604, - 0.030606, 0.10066, 0.076356, -0.019288, -0.09857, - -0.114463, -0.010855, -0.034657, 0.025618, -0.003356, - -0.087913, 0.064346, -0.07554, -0.091569, -0.024965, - -0.021232, -0.017255, -0.056931, -0.003104, 0.030219, - -0.020112, -0.012334, 0.035298, 0.001405, 0.161753, - -0.064618, -0.064401, -0.007218, -0.00012, -0.047208, - 0.116105, -0.056464, -0.069645, -0.007032, -0.01209, - -0.023237, 0.016, -0.039802, 0.074319, -0.012604, - 0.014863, -0.058081, 0.093219, 0.062253, -0.040302, - 0.027405, -0.128683, 0.039923, 0.116808, -0.011706, - 0.012483, -0.017698, 0.003645, -0.007588, -0.120662, - -0.032868, 0.066217, -0.031343, -0.034166, 0.146334, - -0.031228, -0.125921, 0.117756, -0.042686, -0.062094, - 0.049375, -0.112262, 0.010166, -0.073599, 0.04869, - 0.028292, 0.020076, -0.062865, -0.106114, -0.0253, - 0.066916, 0.029279, 0.028191, -0.003599, -0.040614, - 0.020491, 0.060238, 0.052747, -0.01039, -0.022389, - -0.063358, -0.028707, 0.035907, -0.011898, 0.079703, - -0.003758, 0.078051, -0.017869, 0.009045, -0.018982, - 0.034974, 0.069405, -0.018909, -0.038613, 0.083909, - 0.033935, -0.036607, 0.088891, -0.052599, -0.059839, - 0.052758, -0.068308, -0.063615, 0.126093, -0.00946, - -0.042175, -0.011113, -0.073071, 0.052086, -0.052619, - 0.049226, 0.066898, -0.045666, 0.117923, 0.053656, - -0.010739, -0.043962, 0.141903, 0.001792, -0.035469, - 0.090671, 0.043993, -0.013655, 0.018989, 0.127223, - 0.00103, -0.001154, 0.081839, -0.024979, -0.103704, - -0.07792, 0.036083, 0.06822, -0.06221, 0.11373, - -0.010501, -0.065801, 0.050885, -0.104304, 0.121937, - 0.11185, 0.00968, -0.011791, 0.001677, -0.035029, - 0.010677, 0.024572, -0.01286, -0.030323, -0.010466, - 0.011279, 0.167752, 0.003136, 0.109709, 0.007292, - 0.000987, 0.004572, 0.108706, -0.113192, -0.012431, - -0.015225, 0.073653, -0.051275, 0.077928, -0.012752, - -0.011708, 0.014172, 0.025162, -0.095378, 0.026382, - -0.028889, -0.058569, -0.129329, 0.011087, 0.061452, - 0.056893, -0.058004, 0.103586, -0.060752, 0.081824, - -0.042805, -0.015991, -0.024444, 0.028952, -0.013528, - 0.042851, 0.019988, -0.165741, -0.031012, -0.014713, - -0.026059, 0.031698, -0.134343, 0.03209, 0.020828, - 0.051674, -0.128006, 0.050856, 0.02222, -0.073513, - -0.00934, 0.013756, 0.036163, 0.098407, -0.023495, - 0.023858, 0.008121, 0.02222, -0.103489, -0.046663, - -0.033, 0.063565, 0.029224, -0.012693, 0.084202, - 0.012187, -0.051, 0.026126, -0.043293, 0.008675, - -0.019812, -0.16507, -0.014555, -0.047431, 0.01799, - -0.040073, 0.107192, 0.022228, -0.089023, -0.066885, - 0.01463, 0.073186, 0.069902, 0.072634, 0.019593, - -0.041539, 0.031788, 0.09231, 0.027223, 0.034027, - -0.051855, 0.000391, 0.007869, 0.13191, 0.069384, - 0.046276, 0.04044, -0.037093, -0.031393, -0.112828, - 0.015709, 0.096749, -0.103205, -0.021284, 0.011405, - 0.158287, -0.021028, 0.042219, -0.050759, 0.069715, - -0.042907, -0.11698, 0.014224, 0.094648, 0.028395, - 0.041535, -0.057033, -0.047607, -0.024419, -0.034905, - 0.010125, 0.036728, -0.052503, -0.001839, -0.033477, - -0.053414, -0.070394, 0.092895, 0.1006, -0.026352, - 0.080574, -0.028763, -0.059548, 0.094571, 0.091787, - 0.041437, 0.014312, 0.045792, 0.108269, -0.081586, - 0.056288, 0.137447, 0.054718, -0.032474, 0.054502, - -0.100144, -0.00646, 0.024739, -0.117043, -0.008919, - 0.070299, -0.036862, -0.014543, 0.0245, -0.015222, - 0.114975, -0.043705, 0.000421, -0.061872, -0.035148, - -0.022797, 0.128575, -0.031798, -0.086718, -0.007172, - -0.071706, -0.006833, 0.028645, -0.007011, -0.096745, - -0.142269, 0.027996, 0.06521, 0.061381, 0.000741, - -0.140531, 0.01748, -0.014986, -0.040893, -0.012718, - -0.012494, -0.021869, -0.032923, 0.016456, 0.104475, - 0.010792, -0.066178, 0.019097, -0.001893, 0.067513, - -0.092673, -0.059851, -0.045936, 0.052642, -0.0625, - 0.065013, -0.025659, -0.149301, 0.051705, 0.035692, - -0.04579, -0.007482, -0.069141, 0.149365, -0.042039, - 0.018492, -0.081315, 0.05588, 0.058158, 0.019669, - 0.063836, -0.012391, 0.007057, 0.155454, 0.033854, - -0.016532, -0.007661, 0.043113, -0.080283, -0.10867, - -0.029344, 0.093781, -0.01584, -0.068134, 0.091804, - 0.004148, -0.058507, 0.059633, -0.095883, -0.004939, - 0.086151, -0.113571, -0.019466, -0.009167, 0.003662 -}; - -const struct lsp_codebook lsp_cbjmv[] = { - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lspjmv1.txt */ - { - 10, - 9, - 512, - codes0 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lspjmv2.txt */ - { - 5, - 9, - 512, - codes1 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/lspjmv3.txt */ - { - 5, - 9, - 512, - codes2 - }, - { 0, 0, 0, 0 } -}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebooknewamp1.c b/vendor/codec2_flutter_ios_only/src/codec2_generated/codebooknewamp1.c deleted file mode 100644 index 91d7b50..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebooknewamp1.c +++ /dev/null @@ -1,1065 +0,0 @@ -/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ - -/* - * This intermediary file and the files that used to create it are under - * The LGPL. See the file COPYING. - */ - -#include "defines.h" - - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/train_120_1.txt */ -#ifdef __EMBEDDED__ -static const float codes0[] = { -#else -static float codes0[] = { -#endif - 6.7484, 7.6125, 6.0332, 5.2789, 1.5239, 2.2353, 2.0748, 0.5289, 0.8748, 2.5432, -2.2863, -3.191, -0.0434, -1.9857, -3.3605, 0.7069, -5.9493, -0.5672, -0.6798, -18.0977, - 4.0503, 3.9086, 2.9225, 2.3773, 0.658, -0.4363, -0.0644, 2.4063, 1.3428, 2.4542, 0.5275, 0.982, -1.3277, 0.6811, 0.0273, -0.1838, -0.0222, -0.6478, -2.2405, -17.4152, - 13.3284, 12.1212, 10.6531, 9.8214, 11.0388, 15.812, 19.711, 16.5488, 16.1068, 15.8771, 7.2553, 4.2486, -6.0036, -12.5476, -20.1299, -28.2803, -25.3971, -21.7907, -11.5143, -26.859, - 21.4405, 18.4703, 17.8693, 14.9679, 11.2994, 6.4906, 4.7717, 0.1959, -0.8801, 1.8991, 1.9793, -4.9755, -7.7852, -10.0492, -8.5295, -8.2893, -4.1203, -12.4072, -16.166, -26.1817, - 4.0023, 3.8279, 1.2681, 1.0053, 0.7002, -0.3886, 3.4465, -1.4055, -6.7846, -2.3345, -2.905, -0.1344, 3.4192, 2.4319, 10.0096, 3.9279, 0.6807, 0.322, -3.8325, -17.2565, - 29.8276, 21.1543, 12.7853, 13.0246, 5.8164, 3.7469, 2.4198, 0.151, -4.5449, 5.2695, 11.7552, -4.8954, -6.0291, -8.978, 4.965, -10.654, -12.5363, -21.6056, -18.2985, -23.3739, - 4.861, 5.1207, 6.5382, 9.8638, 15.4754, 18.8192, 14.8018, 10.7685, 12.4401, 14.0392, 2.92, -3.7283, -9.7213, -13.5526, -16.073, -13.7571, -5.4267, -12.2552, -14.5143, -26.6193, - 3.0429, 3.0335, 4.4785, 5.6483, 5.3476, 5.7519, 3.5651, 4.9007, 4.9672, -0.733, -0.6458, 6.5888, 5.2957, -2.0068, -6.0189, -7.2145, 2.5545, -5.8358, -7.4936, -25.2263, - 5.9384, 7.0203, 10.7433, 15.2477, 14.8437, 8.0949, 3.1384, -0.0014, -0.1756, 2.1601, 8.1029, 0.4123, -6.8062, -9.6038, -6.2302, 0.4409, -8.9878, -10.1638, -4.6903, -29.484, - 7.188, 6.1134, 5.4021, 10.5427, 17.0718, 14.5658, 6.8632, 2.2257, 0.4412, 3.8257, 9.0388, -1.1212, -6.7639, -9.2412, -8.6575, -2.9951, -8.6659, -9.422, -6.6046, -29.8068, - 9.8859, 4.3889, 3.6253, 3.2033, 4.6563, 4.5967, 1.8747, -0.0037, 3.2114, 3.8854, 3.1501, 0.8523, -5.283, -8.4603, -5.1159, -3.9157, 6.98, -1.527, -6.0421, -19.9624, - 7.6208, 10.1888, 12.8648, 16.4838, 14.9269, 7.8064, 3.5594, -2.8048, -3.6303, -10.8596, -7.1254, -2.889, 5.4295, -2.5015, -5.5359, -2.9934, -6.598, -7.1493, -4.9387, -21.8545, - 12.7227, 17.1387, 21.7055, 19.8068, 12.1832, 5.8645, -2.4103, -3.8445, -5.5496, -5.5608, -0.201, 5.1772, -1.4666, -6.6602, -1.2573, -3.1593, -10.7925, -14.3751, -12.0047, -27.3167, - 7.4465, 7.8765, 9.4912, 12.2074, 12.1631, 11.478, 7.6294, 2.6922, 0.1566, -2.1903, -1.5699, -1.8031, 2.2555, -1.5591, -7.9267, -10.3612, -5.5432, -5.5673, -10.0797, -26.796, - 0.3749, 1.9725, 2.6868, 6.3326, 8.9635, 12.8113, 13.6523, 14.0916, 11.2443, 1.2914, -1.9954, -2.9443, -4.6718, -4.3132, -3.4613, -8.1105, -7.9033, -7.0956, -6.5898, -26.3361, - 10.3072, 10.6822, 8.8253, 4.8992, 4.3627, 8.8165, 9.7824, 3.7264, 0.4265, 0.6068, 3.0934, 2.9121, -0.6717, -5.8045, -1.7344, -9.1008, -8.8333, -6.0633, -11.2321, -25.0005, - 10.6992, 14.806, 18.9665, 22.421, 21.871, 15.6647, 10.616, 12.1366, 14.0479, 7.0707, -3.8212, -12.177, -16.1111, -19.3389, -18.8315, -17.5346, -7.9646, -9.4592, -17.5614, -25.5, - 9.9592, 11.7001, 14.2704, 14.1434, 7.3322, 4.2766, -0.0567, -2.7113, -5.7358, -6.739, -5.9067, -0.1939, 4.8177, -3.981, -7.2528, -3.2695, -1.5685, -7.894, -6.3355, -14.8548, - 17.6322, 19.5153, 22.4362, 16.2943, 10.4698, 2.5066, -2.3936, -5.377, -7.9766, -9.8004, -12.964, -13.1015, -9.8076, -5.7565, 1.8732, 0.4843, 3.3621, -1.0048, -4.8377, -21.5543, - 9.9491, 17.4987, 23.2236, 17.3142, 6.8072, 6.6873, 1.9421, 1.1415, 2.9409, 6.847, 2.4633, -7.2869, -8.9792, -3.3155, -0.1918, -11.8037, -18.6298, -12.6475, -9.762, -24.1984, - 9.208, 9.9971, 12.5064, 20.0609, 20.9647, 10.9574, 7.436, 4.4943, 4.8454, 11.0636, 1.8176, -7.3479, -12.5617, -15.3912, -11.5022, -5.0309, -14.7556, -15.4294, -6.415, -24.9176, - 7.7917, 9.3291, 11.8185, 15.3501, 19.3235, 20.6869, 19.816, 14.6028, 10.2893, 9.9407, 9.8534, 3.6182, 2.7695, -5.2735, -19.7962, -24.6834, -27.0316, -25.6805, -24.9149, -27.8096, - 0.1108, 3.1261, 6.8163, 12.4528, 16.9192, 10.8153, 2.6109, -0.2652, -4.8897, -6.1056, -7.3218, -4.4594, 4.3004, 3.7728, -2.8276, -0.0458, 1.0104, -6.4884, -6.486, -23.0456, - 12.9442, 10.3059, 3.1303, 2.1611, 1.4795, 2.758, 6.9527, 8.4487, 7.1533, 1.4465, -0.9113, -3.9971, -4.909, -5.3881, -3.1011, -0.4922, -1.1819, -5.3279, -8.2374, -23.2345, - 25.0945, 17.8572, 8.95, 2.704, 0.2187, 1.4115, 0.7421, 0.5831, -0.3096, 0.9334, -2.9667, -4.0352, -2.8473, -4.8594, -4.5863, -4.4311, -2.8466, -4.4808, -5.1669, -21.9645, - 14.6124, 19.7986, 21.2066, 15.762, 8.7509, 3.7653, -0.5239, -3.8894, -6.8522, -8.4979, -8.1879, -5.8438, 0.5485, 6.7415, 0.4745, 2.675, -10.3676, -15.0245, -12.2357, -22.9125, - 11.9959, 12.9771, 17.1177, 21.531, 16.8892, 10.8731, 9.7276, 8.5106, 12.9569, 2.2512, -6.9324, -13.2124, -16.538, -18.0518, -16.6252, -9.7038, -6.122, -8.7542, -6.8998, -21.9905, - 12.8107, 14.567, 13.4289, 7.1693, 3.4265, 3.1397, 2.5457, -1.2214, -0.3887, 2.4506, 3.9777, 0.9056, -6.9195, -7.3811, -3.2619, -0.3714, 2.6266, -6.3479, -12.2319, -28.9244, - 2.6437, 2.2575, 3.8643, 6.0625, 10.9091, 16.9554, 21.5045, 12.7233, 9.3579, 9.4439, 12.8585, 4.4528, -2.4283, -4.733, -2.2502, -11.3098, -18.5273, -22.457, -23.1304, -28.1976, - 10.5757, 10.9392, 14.0126, 18.2101, 14.3745, 8.6896, 4.908, 1.0411, 2.3482, 7.2221, 4.544, -5.0353, -11.2852, -13.0882, -10.96, -3.0288, -9.5005, -10.2217, -6.6739, -27.0717, - 14.6172, 4.5412, 13.3824, 9.2916, 19.2818, 13.6563, 14.4089, 10.126, 1.6926, 3.9361, -0.6461, -5.1244, -9.3641, -13.9807, -11.4128, -11.8597, -0.8237, -20.3149, -12.3561, -19.0515, - 4.0591, 4.6177, 7.7662, 6.8737, 9.4052, 10.1099, 12.8714, 8.1202, 6.6015, 7.9224, 1.7548, -1.6325, -4.8379, -5.0955, -2.1947, -8.422, -11.8799, -10.7107, -12.0066, -23.3222, - -3.3385, -1.1297, 3.0554, 4.9769, 3.8625, 8.6998, 8.0974, -0.5519, -1.0699, -5.4771, -4.7235, -4.8192, 7.1236, -0.4895, -2.0107, 0.1838, 3.518, 3.2804, 3.1904, -22.3779, - 10.9362, 15.2821, 18.1297, 12.4682, 2.6895, -1.2007, -1.7676, -6.1681, -6.0524, -5.8064, -3.1002, 4.3237, 2.0263, -5.5109, 1.0348, -0.476, -4.6274, 1.4107, -7.5329, -26.0586, - 27.0648, 22.2199, 14.8908, 7.7845, 2.8689, -0.0364, 0.0683, -0.1186, -1.6323, -2.4217, -4.0112, -2.3476, -5.4442, -5.8509, -6.4386, -6.2558, -6.7739, -5.9348, -7.0916, -20.5398, - 4.3156, -0.2499, 1.1824, 2.8225, 8.191, 5.2798, 2.2597, -3.0043, -5.0382, -5.2727, -4.0013, 2.6952, 8.1245, -1.1517, -1.8957, 2.4603, 3.0897, -1.0817, -0.1353, -18.5898, - 17.5894, 22.9315, 26.4862, 22.162, 13.7474, 13.5177, 15.2005, 16.3224, 4.9523, -4.2419, -8.3503, -12.4022, -12.6698, -6.7159, -16.2122, -20.1926, -20.5969, -16.0749, -12.5173, -22.9353, - 6.5871, 8.0443, 8.4339, 11.3345, 17.3665, 13.4455, 6.9211, 2.0512, -0.7348, -1.2898, 1.0076, 8.4862, -0.336, -6.4714, -5.9432, -4.1602, -12.1155, -12.4645, -10.9269, -29.2355, - 19.0066, 20.3716, 18.0417, 9.4806, 4.8058, 0.3359, -4.1091, -8.193, -8.9962, -9.7495, -13.2924, -8.6275, -4.9424, 6.0502, -6.8142, -7.1166, -3.0922, 8.8016, 5.6937, -17.6547, - 4.7309, -6.5949, 4.9914, 7.3489, 9.0188, 4.1567, 7.1949, 0.4917, 5.0462, 7.5219, 1.5314, -15.3803, 5.313, -0.0983, -7.0327, -1.2671, -0.4646, -1.6442, -0.7446, -24.119, - 13.7639, 5.1424, 5.3193, 3.8945, 3.9574, 1.4034, 0.1896, -4.0608, -2.5264, -4.9434, 2.8459, 2.6311, -2.7915, -3.7842, -0.3711, 0.5487, 5.3766, -4.3496, -3.2801, -18.9656, - 12.6752, 14.7799, 16.2157, 18.6944, 14.139, 7.0937, 3.8206, -2.4778, -3.9766, -4.4531, -2.8711, 3.2148, 0.68, -9.1748, -10.16, -6.0557, -0.8581, -9.2828, -14.0109, -27.9924, - 15.0025, 18.2042, 22.4086, 21.6195, 14.2308, 10.5772, 6.7291, 6.0463, 11.7877, 8.4162, -3.4731, -11.2708, -15.6923, -17.5613, -14.5235, -4.5248, -17.8954, -18.3529, -10.3105, -21.4173, - 2.5368, 2.8687, 8.7229, 5.2089, 8.9671, 2.8847, -1.3535, -4.4273, -4.906, -7.8939, -15.475, -10.4797, -4.4811, 6.5892, 9.9939, 12.9078, 3.2705, 1.3246, 3.7883, -20.0468, - 8.5207, 11.8364, 16.4466, 19.9166, 16.0662, 8.4129, 4.329, -0.8928, -3.7592, -5.4071, -4.287, 0.4615, 9.9611, 5.819, 1.7969, -7.7765, -17.3073, -19.5235, -17.7924, -26.8211, - 3.0595, 10.0158, 11.1623, 5.9413, 3.1988, -2.1129, 0.3528, -3.0158, -2.3599, -1.3347, -1.0479, 3.9189, 7.8019, 3.0538, -1.6139, 0.8043, -4.929, -6.9959, -7.2918, -18.6077, - 17.8476, 19.4332, 25.4614, 19.1508, 12.2748, 9.4543, 6.1101, 3.6929, 2.9336, 5.5407, -9.2238, -17.0071, -20.8856, -22.9308, -21.1711, -15.0234, 4.8627, 2.2867, -2.1943, -20.6125, - 9.6165, 8.8018, 11.1694, 14.6183, 18.4154, 13.4481, 7.158, 4.165, 1.8242, 0.9521, 5.1356, 4.027, -5.9523, -12.0202, -14.3055, -10.5893, -2.8308, -12.2805, -13.3723, -27.9806, - 13.4166, 16.7617, 20.6572, 22.0976, 15.9129, 10.641, 5.4061, 3.157, -0.7256, 1.2303, 5.9463, 5.1273, 3.4864, 1.6884, -10.9215, -19.5567, -22.8693, -20.4758, -24.042, -26.9379, - 8.0404, 15.9476, 21.0441, 15.082, 8.2842, 3.1036, -0.2419, -4.2559, -6.0751, -7.4529, -5.5847, 1.552, 8.3483, 3.3751, -1.0503, -10.4691, -11.936, -5.5738, -6.8713, -25.2662, - 19.995, 20.2102, 18.7443, 12.722, 5.8592, 3.8088, 0.4504, -1.5876, -0.0425, -3.0873, 5.5382, -0.1499, -5.85, -7.9372, -6.2374, -0.2643, -15.0702, -16.9914, -9.3644, -20.7458, - -2.6024, -7.495, -1.2522, 3.5119, 3.9726, 3.4991, 2.4457, 3.2158, -0.183, -1.7087, -7.3996, -6.8962, -5.2421, -7.5762, -9.1433, 6.6126, 10.5297, 10.4556, 18.2991, -13.0433, - 0.8317, 2.2343, 3.6899, 5.6335, 5.8479, 6.433, 6.0022, 5.363, 2.3387, -0.5344, -1.0716, 0.6509, -0.7175, -4.0229, -6.0631, -4.7546, -1.97, -4.6226, 0.0933, -15.3616, - -9.366, -6.9175, -4.9307, -3.1828, -1.6587, -1.4971, -0.1586, 0.6208, 0.5169, 2.4709, 4.6017, 5.3127, 4.5449, 3.269, 3.759, 3.4511, 3.826, 3.9369, 4.8805, -13.479, - -1.183, 0.5095, 1.1754, 2.3109, 2.2722, 1.3243, 1.6529, -0.1799, -0.2874, -1.2863, -2.2761, -1.5668, -1.2037, -2.4367, -3.9243, -2.1186, 2.3502, 1.4312, 9.5827, -6.1467, - 9.2349, 10.765, 18.1608, 20.6655, 13.5769, 5.4902, 3.0323, -1.0259, -0.501, 1.7689, 10.381, 12.0253, 9.1922, -4.9615, -15.0315, -19.9651, -21.4377, -17.68, -6.4577, -27.2328, - 10.6391, 10.7983, 11.4949, 16.5329, 19.2664, 13.6129, 6.1846, 2.4573, -3.1501, -7.1814, -7.9387, -2.6238, 4.6419, -5.9113, -9.351, -7.0591, -3.2275, -10.282, -10.5308, -28.3726, - 18.6364, 19.3874, 19.593, 14.3075, 9.4402, 3.6045, -1.9801, -5.5352, -9.0094, -10.9308, -12.7345, -14.0779, -10.9593, -3.8674, 6.3753, 9.5959, -1.4018, -7.4988, -6.1435, -16.8015, - 9.4969, 11.3591, 11.5468, 7.8918, 4.7217, 3.0266, 4.2145, 2.2878, 1.2224, 5.6903, 10.6919, 4.2718, 0.7184, -3.7583, -6.7954, -8.0558, -7.9668, -10.2861, -12.5018, -27.7759, - 1.9805, 4.9512, 7.016, 7.8284, 8.7891, 8.0863, 7.7994, 7.9865, 8.6027, 13.1944, 14.7771, 11.0643, 2.1716, -5.7171, -10.9834, -8.7615, -16.8907, -14.3039, -17.4732, -30.1175, - 7.4683, 9.4924, 11.1231, 14.049, 15.3387, 7.9538, 5.2116, -0.0275, -3.0014, 0.105, 0.6547, 7.966, -2.3476, -7.0894, -4.6113, -2.0949, -15.972, -16.2041, -7.4758, -20.5386, - 4.8388, 4.2032, 3.5738, 6.4994, 10.8701, 16.7006, 14.8672, 6.7149, 3.1448, 0.6167, 2.5321, 7.5899, 1.6456, -3.0073, -4.4465, -2.3406, -11.2907, -15.6965, -17.0827, -29.9328, - 9.8208, 5.5733, 3.2835, 2.3197, 5.4502, 9.1113, 10.3794, 8.6442, 6.0107, 6.4897, 4.2548, 1.1709, -4.1757, -9.6942, -10.5243, -11.8609, -10.0641, -3.4488, -2.2532, -20.4873, - 5.8783, 5.8851, 7.6595, 5.2009, 5.1, 1.982, 2.2615, 1.4023, -1.1079, 1.1247, 3.7199, 2.8362, -0.5182, 1.4421, 1.5607, -8.4521, -3.7106, -1.6008, -5.275, -25.3888, - 13.8298, 17.3228, 17.9494, 18.8765, 12.6415, 7.5326, 5.2828, 1.03, -1.0231, -5.4994, -6.6194, -2.5155, 4.6895, -3.4515, -7.2113, -4.1051, -13.7542, -14.3604, -11.8611, -28.7541, - -8.8559, -3.0649, 2.2249, 4.9828, 6.417, 6.9906, 9.9342, 12.0149, 12.2463, 14.3103, 18.4345, 6.3234, 4.2404, -2.7341, -6.9396, -10.7644, -10.1668, -12.3674, -16.3891, -26.8371, - 10.9983, 13.5279, 16.2801, 19.6892, 16.9475, 11.0028, 3.9633, 1.1799, -2.0078, -0.985, 2.7247, -0.1311, -6.6215, -8.589, -4.3971, -11.9543, -15.4358, -13.3278, -4.8427, -28.0217, - 7.2013, 9.1028, 13.1142, 19.8377, 22.536, 16.6528, 11.833, 10.3141, 12.9885, 15.8372, 9.0995, 8.4627, 1.1838, -14.4656, -21.4397, -23.6775, -22.5547, -24.8595, -24.4974, -26.6692, - -8.4073, -6.6779, -3.958, -1.6241, -2.147, -2.2867, -2.2534, -3.0205, -4.5931, -2.5545, -2.135, -1.3098, 1.1053, -1.1397, 1.217, 6.2234, 3.6093, 9.8015, 23.5766, -3.426, - 9.6955, 11.4467, 15.0851, 15.4765, 9.8267, 3.549, -0.5777, -2.7726, -5.1878, -5.7225, -4.4558, 0.4969, 9.2914, 5.8917, 6.4235, -4.2514, -11.0149, -9.4893, -13.0444, -30.6665, - 2.9943, 1.4307, 0.8714, 2.2925, 2.1145, 2.9148, 2.4003, 1.9382, 1.6662, -2.3476, -2.0877, -1.9322, 3.3342, 1.7171, -0.9114, 3.2785, 1.7852, 1.4651, -1.3549, -21.5695, - 7.7138, 9.34, 11.7519, 14.3217, 14.9762, 11.0903, 9.904, 9.3599, 10.4611, 6.3795, -3.9927, -7.6734, -12.4888, -12.1729, -5.7999, -5.5417, -9.569, -9.5926, -7.6846, -30.7825, - 4.4498, 9.229, 15.0677, 17.9679, 11.2745, 2.673, -0.9888, -5.6255, -7.5349, -8.4589, -8.451, -5.5027, 1.7669, 4.3143, -4.8629, -2.0721, 4.6797, -5.0125, -4.4213, -18.4923, - 11.1829, 12.4396, 12.7925, 12.6901, 8.015, 3.4089, 1.7847, -0.2306, -2.0077, -1.0178, 2.2167, -0.4542, -8.4111, -8.9029, -8.0861, -3.9439, -6.2512, -2.2635, -2.1307, -20.8306, - -0.0237, 3.59, 4.5144, 3.8794, 5.7527, 11.0182, 8.9091, 7.1863, 7.0702, 7.1782, 4.7799, 0.6784, -4.3508, -5.3991, -6.5953, -5.6132, -9.5378, -5.6903, -1.3834, -25.9632, - -2.7117, -1.4799, 1.2116, 2.3262, 3.7406, 3.7668, 1.2697, 0.2086, 0.7399, -1.3479, -2.2145, -3.7982, 4.9747, -0.4583, -1.7465, -0.9161, 7.2119, 0.8965, -0.2723, -11.4012, - 7.6123, 10.5335, 16.3125, 23.5319, 21.6117, 16.329, 18.2001, 16.9715, 0.9425, -7.0707, -12.7338, -16.0871, -18.4761, -17.8994, -14.8763, -4.844, -8.9433, -6.8294, -0.8772, -23.408, - 9.1763, 3.0851, 4.6724, 8.0499, 14.6517, 16.8559, 10.4532, 11.9797, 13.2732, 7.6578, -1.4245, -7.0469, -11.9925, -15.0269, -14.7577, -15.9057, -2.4494, -8.2002, -4.4694, -18.5819, - -0.3793, 0.7119, 0.4558, 1.7011, 3.1548, 7.4097, 8.6888, 7.5902, 9.102, 7.3493, 9.7346, 15.2626, 6.8726, -0.7975, 0.8553, -9.6815, -9.3426, -14.3122, -13.9791, -30.3963, - 5.2988, 6.3406, 1.2009, 3.3308, 2.029, 2.8107, 1.003, 0.4513, -1.4458, 3.0391, 1.2595, -9.2407, 1.3164, 1.9175, 0.7738, 1.8301, 0.5948, -0.9497, -2.7482, -18.8117, - 23.5623, 25.058, 25.0568, 22.4174, 16.4713, 14.4026, 11.1159, 5.025, -1.0266, -8.5971, -10.1924, -9.612, -11.8638, -13.7028, -4.2, -6.01, -12.7481, -18.5497, -22.5946, -24.012, - -5.0424, -4.212, -3.2703, -0.4028, 1.8335, 3.2012, 2.3768, 2.0802, 0.6396, 0.2079, 0.1418, -0.1844, 2.5056, -0.2078, -1.3169, -0.2911, 0.814, 1.7717, 5.2809, -5.9255, - 7.633, 9.9835, 15.1303, 18.9128, 13.0001, 5.9224, 1.3978, -3.1674, -6.4703, -8.3713, -7.747, -5.2412, 1.6661, 5.3754, 0.9111, 2.2634, -7.6214, -11.2828, -5.6474, -26.647, - 15.3965, 19.4488, 18.3928, 11.4564, 4.0261, 0.4604, -4.6326, -9.8409, -11.0926, -12.7123, -13.1035, -12.3357, -8.4063, 1.3638, 7.8807, 5.5655, 3.421, 0.7205, 5.4867, -21.4953, - 4.0267, 4.8087, 7.0895, 9.6094, 12.6372, 17.6545, 19.7244, 17.4364, 13.7517, 13.9367, 6.0059, -4.5448, -9.4075, -13.3403, -13.662, -10.1856, -10.5214, -17.1512, -19.3146, -28.5537, - 26.5287, 22.7007, 21.6748, 17.6005, 11.9372, 12.6653, 5.4749, -6.1299, -8.9419, -6.962, -5.7222, -5.6209, -8.635, -10.0876, -8.1562, -7.7238, -5.4233, -10.0839, -13.1237, -21.9717, - 3.974, 4.1572, 5.7242, 12.448, 17.3522, 11.6512, 5.2405, 1.2103, 0.5569, 2.7329, 9.6369, -0.5073, -5.1263, -2.7956, -0.7621, -3.7186, -1.7764, -8.4788, -18.8985, -32.6208, - 6.8442, 11.6517, 15.0164, 13.0383, 3.5465, 0.5949, -3.0134, -7.5262, -8.2082, -8.6101, -7.2813, -1.2345, 9.272, 5.1011, 6.0543, -0.9163, -4.5878, 3.4588, -4.8078, -28.3926, - 7.8637, 4.0004, -2.938, 2.0521, 2.2442, -0.4633, 1.8855, 1.9277, -0.6295, 1.3834, 1.2896, 1.0703, -0.4938, 1.5669, 0.0079, -1.5584, -2.007, 0.9263, -0.4846, -17.6435, - 5.8623, 7.6023, 7.9357, 8.1933, 9.8252, 14.3094, 18.598, 17.631, 14.1029, 11.3791, 8.9224, 4.7903, -4.573, -11.3683, -17.8078, -14.2065, -11.2294, -16.2936, -23.1509, -30.5225, - -1.7942, -0.0063, 1.995, 3.6026, 3.2262, 0.8396, 2.3621, 2.373, 0.2704, 0.4107, 0.3605, 1.3362, -2.3048, -2.1177, -2.8566, 0.0808, -2.4432, 2.0828, 10.0173, -17.4341, - 16.0587, 21.303, 20.2092, 12.229, 4.0091, 1.0523, -3.6402, -8.1002, -8.5006, -10.1681, -9.7303, -7.7995, -1.2107, 8.9891, 5.5157, 1.2399, -8.3907, -7.4334, -1.1958, -24.4366, - 15.8248, 21.2415, 22.3705, 19.6523, 12.6511, 4.98, 2.0524, 1.2562, -2.0002, -7.0989, -8.4866, -8.1644, -3.6111, 2.9801, -6.3159, -7.3905, -2.5939, -11.1587, -18.1433, -28.0453, - 11.4701, 14.8919, 19.2495, 17.1766, 9.1256, 4.6224, 0.3569, -3.6692, -6.2969, -8.7664, -7.4764, -1.7487, 3.4354, -4.0219, -5.5797, 1.1971, -7.0079, -5.6899, -4.914, -26.3546, - 4.0502, 6.3561, 7.7528, 13.2425, 22.1071, 16.8285, 10.8539, 9.9555, 11.6373, 14.4871, 1.0686, -6.014, -8.7291, -9.9474, -5.242, -14.0196, -19.62, -16.4317, -13.2116, -25.1241, - 14.0747, 12.9823, 14.7396, 18.358, 20.8024, 21.6686, 20.4893, 18.2777, 14.8271, 4.2101, -4.6228, -5.0852, -8.9555, -9.9704, -14.4886, -22.2364, -24.8924, -24.6202, -19.9776, -25.5806, - 6.5756, 6.5342, 9.0959, 14.5314, 20.6452, 22.1123, 17.0555, 14.5823, 18.4626, 9.7441, 0.1482, -4.4759, -4.9624, -0.2271, -12.9306, -21.6336, -23.8195, -22.7039, -21.8165, -26.9179, - -2.413, -0.2375, 2.8918, 5.5011, 6.7427, 5.7418, 5.0778, 5.1858, 4.3188, 3.4462, 4.3416, 1.8899, 2.3449, -0.9372, -1.2877, -2.8414, -4.0969, -5.4193, -7.2573, -22.992, - 18.6934, 11.3904, 9.2311, 9.3832, 5.4199, 3.6295, -0.1793, 0.6487, -3.5589, -4.0062, -6.2031, 0.6797, 0.8497, -5.8255, -3.0197, -0.8407, 3.412, -4.6925, -10.2551, -24.7566, - -1.1447, 1.564, 1.4686, 1.7604, 1.7234, 2.3262, 4.7312, 2.6246, 3.8383, 6.5465, 3.383, 1.7225, -1.7619, -1.0275, -1.1491, 1.9434, -4.9663, -2.3871, -2.8449, -18.3507, - 14.1023, 13.565, 10.151, 8.7911, 7.7313, 7.648, 9.2651, 8.0399, 4.9244, 6.1141, 5.5459, -0.9256, -6.155, -7.0836, -8.6484, -9.0926, -9.2649, -13.5303, -12.0852, -29.0925, - 9.8451, 13.4743, 16.9269, 13.4623, 5.8133, 1.7553, -0.7487, -3.9831, -8.1249, -9.5689, -8.7611, -6.3983, -0.6612, 10.9895, 12.8583, 0.3283, -8.6023, -10.4136, -5.9048, -22.2865, - 19.2227, 18.1307, 15.9732, 13.2757, 8.9377, 4.0318, 2.7371, 2.4204, 4.8079, 5.9436, -1.6587, -5.6682, -8.2354, -8.6156, -5.7373, -5.9194, -13.5825, -11.1928, -9.7272, -25.1435, - 9.7172, 12.7596, 17.788, 19.5982, 13.1714, 6.9756, 4.2961, 1.3629, -0.4383, 4.963, 8.784, 0.9395, -2.9094, 0.87, -9.7739, -17.6442, -19.7626, -14.0983, -10.0576, -26.5411, - 19.7847, 26.9921, 27.0885, 20.9467, 13.4352, 6.9927, 3.8926, 5.5073, 6.395, 3.641, -3.526, -9.9366, -12.2833, -15.4366, -15.2739, -13.403, -13.6697, -14.5223, -14.0162, -22.6082, - -4.745, -2.3439, -1.2527, 0.2681, 2.5169, 3.0271, 3.2731, 1.1854, -1.4898, -2.2085, 0.9214, 6.1154, 5.0556, 7.1405, 5.3972, 1.8235, -0.1874, -0.9732, -2.7856, -20.7382, - 2.7354, 2.9846, 4.5226, 11.0075, 16.9767, 9.7039, 5.0497, 0.2367, -2.2382, -2.2319, 3.3972, 5.8953, -3.5572, -7.9222, -5.1006, 4.0687, -6.798, -6.9512, -1.5062, -30.2728, - 1.8923, 1.9933, 1.7272, 1.4697, 2.1029, 2.7198, 2.2271, 0.4083, 1.489, 2.3633, 0.0136, -3.1335, -1.8351, -3.4645, -2.5082, 0.1244, -0.6305, -0.2515, 2.667, -9.3744, - 7.3147, 10.8559, 16.3202, 21.3322, 15.5047, 5.7917, 2.0324, -0.5787, -3.8385, -3.1611, 4.7722, 6.9085, -0.8153, 0.2585, 0.5455, -11.9753, -19.4608, -19.4821, -11.0006, -21.3242, - -4.8271, -2.3317, -0.8263, -0.6913, 0.0284, 2.1785, 4.853, 2.4866, 0.5257, 1.0973, 0.9581, 2.0508, -0.085, -0.324, -2.1544, -3.6769, 8.253, 1.6818, 2.7619, -11.9586, - 28.0344, 21.3292, 26.7011, 15.9009, 17.4755, 11.8357, 5.06, 6.5559, -4.3031, -3.5802, -8.7494, -8.4692, -7.5683, -2.5689, -10.7488, -16.5549, -18.6071, -16.7713, -13.4451, -21.5263, - 11.4465, 12.5754, 14.651, 12.0835, 5.352, 1.6789, 2.3021, -2.4719, -2.0905, -0.5169, -2.1754, -2.9241, -2.7917, 2.0815, 1.0635, -3.6587, -4.768, -6.8125, -8.2348, -26.7899, - 11.1007, 8.9165, 11.8079, 11.0313, 1.9749, -0.9229, -2.467, -6.7769, -9.1537, -10.4373, -8.8596, -6.3617, 0.2425, 8.333, 2.9722, 9.5504, -3.2943, -3.168, 4.4488, -18.9367, - 12.7055, 18.2073, 17.6143, 9.1957, 1.5762, -1.0952, -4.9687, -6.129, -7.3791, -7.2053, -4.3066, 3.6014, 9.8467, 10.7313, -1.8676, -11.4282, -13.9225, -8.1802, 2.6837, -19.6797, - 0.8368, -1.761, 0.4628, 2.3612, 5.116, 7.7374, 9.4921, 4.3865, 6.1712, 5.6238, 6.3738, 5.3491, 2.7348, 5.4859, 4.6651, -8.4273, -10.9892, -8.675, -10.7619, -26.1822, - 12.9582, 16.0251, 19.0637, 18.9347, 12.6765, 7.8161, 3.8112, 0.9397, 6.1611, 7.4639, -2.5194, -7.1391, -10.2242, -10.1934, -4.1747, -5.7525, -14.4868, -8.2946, -13.9643, -29.1013, - 29.3165, 26.9707, 19.9517, 12.4469, 7.3647, 2.8794, 1.4068, -2.4963, -5.4012, -4.1083, -5.2153, -6.4891, -5.9548, -6.4872, -6.651, -6.7351, -9.9422, -8.4833, -11.8558, -20.5171, - 7.6646, 7.8496, 5.346, 3.4574, 6.3183, 1.1408, 3.1494, 5.1045, 0.2373, 1.0847, -0.432, -0.3662, -0.3503, -0.5473, -8.1949, -0.9695, -1.7599, -3.3828, -3.0248, -22.3253, - 7.0587, 8.6157, 9.7452, 14.4294, 20.8498, 17.0788, 7.0614, 2.4228, -0.5017, -1.0215, 3.1054, 5.3564, -3.4904, -7.3987, -7.4398, -7.0656, -8.8032, -12.863, -18.8666, -28.2731, - 5.767, -2.6937, 9.6459, -0.7839, 10.7523, 2.796, -2.6113, -3.2915, -6.2928, -7.6167, -12.6729, -5.4796, 5.0447, 13.7582, 10.305, 4.5191, -1.3433, 5.4917, -1.7375, -23.5567, - -11.2311, -7.9712, -5.4028, -3.3542, -3.1975, -4.2245, -3.9952, -5.3576, -5.3493, -4.8108, -5.4962, -2.9288, 2.5785, 4.7736, 13.8058, 17.8731, 9.8332, 14.95, 11.022, -11.5171, - 2.8142, 1.3603, 4.2714, 4.8975, 4.3374, -3.4231, 3.1881, 5.0714, 3.9705, 6.2234, 3.7268, 5.279, 1.3825, -7.6582, -2.9268, 2.0075, -4.057, -5.6086, 1.2855, -26.1418, - 4.9776, 6.4457, 7.7463, 9.3687, 9.5559, 9.1954, 6.3666, 4.9237, 2.1719, 1.7788, 1.4634, -0.3859, -6.1409, -5.3778, -2.6336, -2.5068, -8.3667, -7.0441, -11.2867, -20.2514, - 10.0472, 11.9967, 16.4907, 19.9334, 16.2325, 9.2915, 4.313, 0.7097, -4.0959, -8.1186, -10.5064, -10.3134, -5.2102, 1.0801, -1.5982, -3.8949, 1.2501, -7.5248, -12.9333, -27.1495, - 17.0433, 19.1713, 22.6813, 17.1064, 8.7516, 4.3917, -0.7236, -5.3026, -7.9288, -8.3773, -7.4784, -3.7859, -2.5186, 0.02, -1.5465, 0.1954, -10.783, -12.0301, -3.0579, -25.8283, - 18.6591, 22.3501, 23.5831, 19.0252, 13.9063, 13.3289, 9.0463, -3.2346, 1.2718, 1.4619, -4.3706, -7.4089, -10.771, -11.8151, -0.8947, -8.7094, -22.3259, -8.0672, -18.5235, -26.5118, - 3.2886, 3.8514, 1.5062, 4.9096, 3.9001, 3.8964, -0.6349, -1.5534, -1.3119, -2.313, -1.8455, -3.5666, -2.6094, 3.4411, -1.0089, -3.0556, 4.525, 3.3979, 1.1349, -15.952, - -5.6652, -3.8931, -1.8885, 1.6299, 2.3371, 2.0746, 2.1285, 0.4372, 0.0031, 4.2521, 5.201, 3.3227, 2.8933, 1.9467, 2.1449, 0.9405, 2.168, 2.3807, -1.3113, -21.1022, - 21.727, 24.2953, 23.2112, 13.4917, 7.3423, 1.4843, -3.1924, -4.8355, -10.3896, -11.396, -12.8133, -11.6304, -9.9774, -2.6034, 3.7943, 3.526, -4.2988, -6.0579, 0.3494, -22.0269, - 7.1102, 6.3521, 11.665, 18.7864, 16.7459, 8.3216, 5.8454, 4.3436, 9.4868, 7.7601, -3.1382, -10.3196, -14.1642, -15.1634, -11.6972, -1.82, -7.1959, -8.5258, -1.8553, -22.5374, - 14.2212, 17.8028, 21.4842, 24.9383, 24.9854, 22.3982, 21.377, 20.9687, 13.4315, 0.0683, -9.1695, -13.1215, -13.8982, -14.9798, -18.1636, -20.5802, -22.0396, -23.026, -22.3178, -24.3795, - 8.9039, 9.7955, 9.3225, 11.7206, 17.8844, 21.1802, 19.2262, 17.3421, 13.9029, 7.386, -2.6995, -8.3297, -10.1319, -8.7756, -6.059, -8.7597, -15.4747, -24.0243, -25.5723, -26.8375, - 3.8554, 4.2234, 6.2441, 12.5445, 18.1461, 14.0699, 5.9992, 2.722, 1.0526, 2.1813, 9.5825, 3.3502, -4.3618, -5.0291, 0.561, -10.3142, -15.3449, -12.7063, -7.6401, -29.1358, - -8.9085, -6.1917, -3.8341, 0.0473, -0.3559, -1.0455, 0.4343, 0.7424, 0.1788, -2.4081, -1.5815, 0.7755, 2.7896, -0.3538, 0.5914, 4.753, 5.3039, 5.5717, 8.461, -4.9697, - 6.0177, 9.1902, 12.54, 17.665, 18.0833, 11.1113, 3.6376, -0.9348, -2.434, -3.3221, -2.487, 5.475, 6.1443, -3.6923, -2.5169, -0.6902, -11.0083, -16.8129, -17.3554, -28.6106, - 12.6629, 16.5188, 17.012, 11.3763, 2.7817, -0.7077, -5.5288, -8.1972, -9.1883, -10.5072, -9.3239, -6.2042, 2.0877, 8.3448, 2.7802, 8.4635, -5.0126, -9.023, -5.59, -12.7449, - 26.6077, 25.1133, 19.7421, 13.7493, 7.5294, 4.8418, 5.8235, 5.9404, 3.3399, 4.8147, -1.6758, -4.4299, -7.1722, -6.547, -9.6023, -9.9251, -17.0327, -19.5694, -18.7525, -22.7953, - 9.3391, 15.4719, 19.7226, 13.6838, 5.7655, 2.9423, -0.2309, -3.0447, -5.0071, -3.643, 3.6089, 8.1171, -1.0555, -2.536, 2.0952, -6.4482, -11.0547, -9.9411, -11.5931, -26.1921, - 6.7164, 12.9088, 8.1465, 2.9974, -1.5306, 3.7966, 4.6355, 0.1956, -4.4054, 2.5643, -3.5126, -0.4027, 0.5107, -1.6406, 0.9829, -5.6846, -0.0083, -4.8894, -3.3272, -18.0535, - 1.8584, 3.5453, 10.7864, 10.3313, 8.8364, 11.3153, 12.655, 8.0839, 10.2072, 14.1247, 0.1105, 4.9955, 5.9811, 7.9709, 7.5141, -6.0319, -21.0185, -23.4977, -32.6987, -35.0693, - 13.1044, 15.4062, 17.5958, 18.0756, 11.3524, 4.367, 2.6428, 0.8781, 0.0399, 6.6751, 8.2361, -2.6757, -10.1776, -9.8299, -3.1506, -9.5151, -14.3971, -6.2859, -13.5883, -28.7532, - 0.0688, 2.2921, 6.5965, 8.3598, 8.2327, 8.6486, 7.1471, 7.1631, 4.4823, 3.4067, 11.3001, 9.5567, 0.6574, -2.5849, -6.7404, -8.6614, -8.6399, -12.0189, -13.1958, -26.0705, - 9.5134, 11.1944, 14.6379, 21.3303, 20.9351, 12.8622, 5.9234, 3.0673, 0.5662, 2.8569, 7.4992, -0.6339, -9.8527, -12.4761, -11.2573, -4.7464, -13.594, -18.0638, -14.8928, -24.8691, - 5.5904, 5.1588, 4.7053, 4.3271, 5.8271, 9.5093, 8.411, 1.6453, -2.2667, -2.6767, -1.4248, -1.126, 2.4114, -1.8009, -4.819, -8.2201, -2.9355, -0.2567, -0.3488, -21.7105, - 0.4175, 1.2148, 5.1829, 9.3743, 9.7458, 5.9476, 5.0377, 2.5369, -2.7391, -8.896, -11.0818, -7.065, -7.4393, -1.4335, 10.1963, 9.6385, 5.0133, -4.2894, -3.8725, -17.489, - 8.8274, 9.1037, 13.6965, 18.9331, 20.496, 15.7102, 9.1227, 5.5813, 1.7546, 1.3849, 6.9672, 6.4807, 5.2247, 4.2668, -9.8256, -18.2374, -24.2455, -24.1902, -22.7864, -28.2649, - -10.4296, -11.2348, -7.6061, -8.6646, -7.9499, -6.125, -4.3918, -6.8877, -5.4461, -2.2579, -1.3507, 2.298, 4.8244, 12.7426, 12.4434, 14.4927, 14.8125, 12.9871, 9.6224, -11.879, - 8.889, 12.0408, 17.2338, 23.3492, 22.1801, 17.325, 16.4611, 18.6109, 12.0359, -2.1102, -7.5218, -11.7288, -11.4854, -7.679, -11.7033, -21.2349, -23.6258, -19.3358, -7.8566, -23.8442, - -7.7648, -7.6325, -5.9874, -5.7763, -5.5038, -4.9788, -3.5524, -3.9264, -4.7269, -2.6727, -1.6911, -0.4884, 1.8633, 1.5449, 3.1375, 9.0909, 11.6855, 13.422, 16.9117, -2.9544, - 17.5979, 21.004, 20.369, 15.7264, 13.3239, 13.0722, 13.4678, 1.7577, -6.0904, -6.9925, -8.3415, -10.6335, -9.5482, -1.5234, 3.987, -6.9271, -17.4878, -18.4739, -8.9267, -25.3608, - 6.1805, 4.1462, 3.501, 2.723, 3.9708, 8.1302, 9.491, 3.6927, 2.979, 2.0598, -0.61, -1.6298, -2.5238, -2.5441, -3.9959, -2.7189, -3.9403, -3.9477, -4.9568, -20.0067, - 7.7322, 4.4707, 5.232, 7.8782, 9.1005, 5.4418, 6.0577, 3.7093, 0.1939, -0.2785, 1.1984, -2.6011, 0.6595, 2.7395, -0.9452, -4.5096, -8.4529, -6.4501, -6.8768, -24.2995, - -6.4169, -3.8203, -3.3676, -1.3384, 0.0068, -0.0917, -0.654, -1.1092, -2.2062, -2.8976, -3.0409, -2.6706, 2.975, 6.3064, 7.4779, 12.0806, 5.7715, 5.5715, 0.9432, -13.5194, - 7.6067, 9.3813, 13.4849, 19.9139, 22.7781, 18.435, 15.914, 18.9134, 10.1002, -4.3291, -8.2178, -13.6741, -15.704, -16.5313, -14.1193, -3.7115, -13.7922, -12.8183, -7.7992, -25.8309, - 4.7167, 3.8923, 5.7519, 8.0369, 12.8563, 16.738, 15.0698, 9.7568, 7.4623, 7.4165, 7.755, 1.1797, -6.3964, -6.5897, -1.5093, -9.7231, -17.0341, -15.7607, -12.6623, -30.9568, - 9.6098, 13.4286, 18.728, 18.1791, 9.8536, 3.5779, 1.4841, 0.4639, -0.5329, 2.6536, 9.8742, -3.2808, -8.9269, -11.0817, -6.3122, -2.5681, -15.3236, -12.3977, -1.9946, -25.4341, - 3.899, 7.6431, 13.4623, 16.8504, 10.0821, 3.4259, -0.1709, -4.7791, -8.1809, -9.2214, -8.3021, -5.9798, 2.0125, 6.9915, 1.4712, 6.5493, -3.7836, -4.9571, 1.3613, -28.3737, - 13.9079, 16.7984, 20.6342, 24.6533, 24.3507, 19.3643, 17.9172, 18.392, 11.702, 0.001, -10.1043, -14.9084, -18.2285, -20.4094, -21.5267, -19.7383, -13.5385, -9.5045, -16.6159, -23.1465, - 7.1797, 11.3922, 15.749, 19.3949, 17.3819, 10.7478, 7.3006, 6.1472, 9.1598, 11.0073, 4.7816, -2.4892, -3.7349, -3.7521, -1.7971, -9.8976, -22.2914, -25.755, -23.0236, -27.501, - 5.66, 8.46, 10.4652, 12.1954, 14.9914, 18.5645, 17.0459, 10.3163, 4.813, 2.322, 0.5889, 4.1108, 1.2082, -9.395, -13.7061, -13.109, -10.106, -11.3113, -21.8744, -31.2396, - -1.8886, -0.7563, 0.4909, 4.9127, 6.9239, 5.1456, 6.2254, 6.4299, 5.1768, 9.199, 13.2223, 5.4194, -3.0538, -4.7242, -5.1855, -3.7939, -7.3421, -6.1816, -4.3871, -25.8328, - 11.3455, 9.9507, 8.1659, 6.0877, 1.4526, 0.9704, 4.7975, 4.0208, -0.5941, 2.5357, 1.534, -4.3306, -1.6103, -4.4373, -0.0323, -2.6725, -2.0195, -3.5278, -6.3697, -25.2666, - -0.8009, 5.6194, 7.0974, 6.1331, 7.2063, 7.4038, 4.5741, 8.4379, 4.2968, 7.9137, 13.0725, 2.3362, 0.6963, -2.4917, -4.9374, -7.2728, -8.216, -9.6329, -14.4558, -26.98, - 9.4449, 12.499, 15.8206, 17.3018, 10.9373, 5.5366, 0.8716, -1.2105, -2.477, -3.4484, 1.0611, 6.1591, -1.7466, -7.5929, -6.9295, -2.1338, -8.9361, -10.3674, -6.3554, -28.4344, - 11.5326, 10.9047, 16.3163, 21.0845, 11.9757, 7.0511, 0.8356, -4.987, -6.945, -9.2309, -9.7748, -8.2038, -2.2957, 5.5139, -5.4119, -2.741, 2.4166, -7.4497, -6.0628, -24.5286, - 9.3064, 9.3678, 11.2235, 13.9991, 14.4345, 11.1982, 6.3282, 1.4131, -2.6884, -7.1825, -11.0075, -12.3749, -9.2573, -6.0414, 2.3206, 4.6097, 3.567, -3.2208, -9.5445, -26.4507, - -6.7163, -6.0323, -3.7943, 0.882, 3.6629, 4.3198, 4.7402, 4.0799, 4.8854, 5.8718, 8.3927, 9.6825, 10.5717, 3.8917, 0.9125, -1.2807, -3.7018, -5.757, -8.2525, -26.3582, - 10.2748, 11.6455, 16.3809, 20.149, 18.2488, 12.7899, 10.3972, 8.0106, -0.6794, -6.4024, -9.7054, -13.5667, -14.6497, -16.1902, -6.9531, 0.2117, -0.7067, -1.2331, -10.6728, -27.3488, - 13.3782, 16.35, 15.3612, 8.9247, 3.489, -0.7729, -2.6106, -7.5432, -8.0129, -7.614, -7.8535, -2.4356, 6.505, -4.5887, -3.2816, 5.8982, -1.3889, 0.3111, 0.3606, -24.4762, - 10.0811, 14.1057, 20.3635, 24.0314, 20.369, 17.0236, 16.446, 19.2548, 6.0111, -3.4365, -9.9143, -13.0905, -15.015, -11.4726, -6.6405, -10.0976, -14.6658, -19.9459, -19.48, -23.9274, - -7.1817, -5.5458, -1.6137, 0.8007, 1.9284, 2.5116, 0.3432, 3.3359, 0.2833, -1.3305, -2.496, -1.6366, -2.6968, 3.6695, 6.8225, 4.4926, 6.194, 6.7541, 2.2072, -16.8418, - 9.6326, 11.3478, 14.3982, 20.7665, 19.7772, 12.3406, 6.1933, 1.0438, -1.1521, -1.586, 1.844, 7.8419, -1.5328, -9.8703, -10.1973, -2.244, -12.0413, -18.5948, -20.6014, -27.366, - 1.5056, 1.688, 4.2152, 9.5291, 17.0514, 16.2096, 8.5432, 4.2111, 4.4898, 11.7231, 5.577, -4.8191, -7.502, -5.9733, -0.7664, -10.2798, -14.8967, -9.8638, -3.1062, -27.5357, - 15.2115, 17.9992, 21.5012, 24.9136, 19.176, 15.8798, 16.4094, 17.804, 5.9025, -3.3769, -10.4408, -15.3738, -18.5882, -19.7882, -17.7007, -14.2386, -13.9566, -13.8247, -5.8162, -21.6922, - 12.1911, 17.2966, 17.4896, 10.6943, 3.5061, -0.1018, -2.5405, -6.3143, -7.6095, -8.5828, -7.4501, -2.2275, 8.4004, 0.023, -1.6734, 2.8727, -8.2243, -7.2548, -0.595, -19.8998, - -0.4264, 0.0708, 1.9133, 6.0904, 12.781, 17.8469, 12.0313, 4.9753, 4.279, 6.9401, 10.3052, 0.2003, -6.7328, -10.0168, -10.0292, -2.7869, -5.6536, -9.3242, -6.0818, -26.3818, - 7.8387, 12.9821, 20.1116, 21.8527, 15.0291, 10.4182, 9.9996, 12.5177, 11.6815, -0.1048, -5.5624, -6.4577, -2.0918, -6.3498, -17.7376, -20.9015, -21.1073, -13.6752, -3.7477, -24.6953, - 18.0184, 21.7405, 20.202, 16.4376, 12.3859, 12.2417, 12.1975, 6.3324, -4.4281, -11.4734, -5.9353, -8.8421, -10.328, -4.7973, 3.4477, 1.4017, -15.9637, -17.1346, -16.9459, -28.5571, - 8.9922, 8.4069, 10.2569, 10.5303, 10.1285, 4.9362, 1.8698, -0.0537, -5.3906, -5.9983, -4.6797, 1.6021, -1.9697, -5.3874, -2.3336, -0.9265, -2.7071, -2.3523, -3.3933, -21.5307, - 0.1643, -2.21, -0.9888, -3.4801, -0.5275, -1.468, -0.5683, -1.5514, -0.4216, 0.5034, -0.8521, -2.7835, 0.5014, -1.2182, -0.7495, 5.2974, 5.8643, 8.2766, 6.0259, -9.8143, - 7.672, 8.0788, 9.1059, 14.2217, 21.6149, 24.6272, 15.4198, 12.7487, 14.5686, 14.3925, 0.6524, -7.7122, -12.314, -13.4374, -8.0366, -14.9387, -21.7305, -22.0625, -19.3233, -23.5474, - 2.2815, 1.7578, -0.6674, 1.7705, 0.4755, 0.4978, -1.3799, -2.1107, -2.6075, -3.5652, -2.8715, -6.8295, -1.7109, 2.8096, -0.7449, 2.5543, 8.6739, -0.5359, 6.8846, -4.6821, - 18.2027, 16.9209, 12.1191, 7.6862, 3.0545, 0.5751, -1.6156, -1.2378, -3.1289, -4.2377, -5.6464, -5.0994, -5.0515, -1.2417, 1.1802, 1.1938, 0.3821, -6.3202, -6.4152, -21.3203, - 3.5023, 4.9407, 6.5095, 8.9494, 13.2647, 15.1725, 11.9431, 6.2423, 1.1652, -1.6313, -2.9929, -1.9072, 3.4422, 2.8306, -3.2309, -5.3351, -2.3238, -10.7536, -17.8375, -31.9502, - 4.7778, 10.318, 13.9538, 16.0868, 9.138, 2.9991, -0.6627, -4.2067, -5.6625, -4.9839, -1.2287, 7.7334, 9.3244, 7.4153, -4.1228, -11.6166, -8.7569, -5.6012, -5.8002, -29.1044, - -3.8341, -1.3838, -0.9472, -0.4209, 1.7906, 4.2155, 2.2324, 4.3091, 1.1357, 8.4456, 9.7973, 6.3722, 2.6068, 0.3293, 0.1016, -0.3203, -4.2313, -3.6986, -3.9405, -22.5593, - 7.9933, 10.952, 14.6109, 19.7867, 15.1983, 6.5296, 4.9056, 0.7415, -0.5271, -0.1092, 6.9036, 12.3792, 7.7901, 2.0866, -9.1117, -12.3605, -5.7793, -23.1437, -29.0076, -29.8384, - 25.899, 23.1895, 19.6721, 15.4616, 9.3167, 5.4831, 6.1546, 7.4477, 4.2279, -1.3757, -8.0309, -11.4646, -10.4795, -7.5543, -4.2227, -6.0439, -16.4547, -16.3865, -13.0397, -21.7998, - 5.9702, 6.6918, 8.5551, 14.7594, 15.5278, 10.2403, 6.0423, 1.7099, -0.1415, 0.4245, 5.8906, 10.2752, 2.9571, 1.0304, -7.5844, -15.493, -16.0321, -8.3602, -12.0263, -30.437, - 0.2377, 1.249, 0.9118, 1.8024, 3.7548, 4.8963, 5.1515, 4.2684, 0.3786, 0.5058, 0.4839, -0.9914, 1.4073, 1.1727, -2.9065, -4.4307, -6.9456, -0.2385, 0.3969, -11.1044, - 4.9017, 3.2442, -1.2482, -1.2472, -2.0773, -5.4371, 0.3708, 4.1825, 12.1289, 1.295, -2.3136, -3.1723, -0.4429, -1.6571, -9.7455, 6.5626, 13.4075, 7.0987, -2.0865, -23.7642, - 26.5958, 8.4474, 11.9082, 11.6976, 1.401, -0.25, 3.9848, 3.6429, -6.0468, 2.5341, -5.2699, -11.5085, 3.8103, -6.3108, -2.4679, 2.153, -6.3876, -7.178, -8.406, -22.3496, - 2.2962, 0.8041, 0.8352, 6.615, 14.5461, 15.0856, 3.2964, 0.5549, -1.6557, -2.0236, 2.8955, 7.5016, -1.2031, -5.6899, -4.7833, 1.2942, -7.3403, -8.3771, -4.0417, -20.61, - -3.152, -0.4969, 6.6485, 7.8768, 5.5605, 6.5283, 5.6337, 4.1543, 13.9779, 2.7762, 6.1398, -3.707, -1.7982, -2.8944, -6.0041, -6.5265, -11.4873, -1.5122, 6.058, -27.7754, - -8.002, -4.6131, -0.7821, 3.316, 4.4465, 4.7754, 2.8155, 1.0612, 4.806, 6.0492, 5.939, 3.1446, 2.8568, -0.6657, -2.6961, -2.15, -0.9756, -0.2816, -1.9847, -17.0594, - 12.4378, 17.8157, 22.2857, 21.4926, 15.3987, 11.6565, 8.461, -5.9608, -14.7466, -15.8101, -21.885, -17.3295, -13.0545, -3.3503, 5.7314, 1.5346, 1.1396, -7.594, -1.8366, -16.3862, - 0.8964, 0.1937, 0.1104, 1.6479, 5.6517, 12.189, 10.2771, 4.4234, 1.0502, -0.5311, 1.2594, 6.8796, 5.2931, -3.9156, -6.05, -0.9098, -4.2858, -6.9837, -7.0958, -20.1002, - 19.8439, 13.428, 9.6622, 10.665, 8.095, 5.5066, 1.7572, -1.0429, -0.8012, -2.8142, -0.4934, 1.3117, 0.5243, -6.173, -8.129, -6.3324, -1.5063, -10.0417, -9.139, -24.3207, - -2.7279, -1.7097, -1.1534, 1.6639, 5.7537, 6.7942, 10.6044, 12.5105, 10.6069, 10.0936, 6.6639, 5.768, -0.0784, -3.9348, -2.0808, -2.5423, -7.773, -12.2311, -11.4054, -24.8224, - 10.1275, 12.1619, 16.2723, 20.8127, 20.974, 14.8019, 10.1842, 6.5306, 4.4543, 7.4531, 12.2713, 6.962, 6.8204, -5.0668, -18.1362, -24.0479, -25.9037, -25.4208, -24.389, -26.8618, - -9.9466, -6.5695, -9.8093, -1.7391, 0.058, 3.2073, 7.0375, 2.3619, -1.1764, -5.8692, 0.305, -4.2033, 11.2777, -0.3904, 7.8268, 9.8649, 4.7504, 6.9825, 7.6743, -21.6424, - 14.0137, 16.9699, 19.0697, 15.0058, 7.0268, 5.9083, 2.9474, 2.1595, 3.8159, 7.2602, 11.3975, 7.5965, 1.66, -6.7074, -13.8401, -15.7435, -16.6488, -16.4066, -16.4466, -29.0384, - 6.2399, 3.2858, -0.2213, -1.4923, 1.3132, 3.933, 3.5221, 2.8631, 1.3615, -0.079, -1.0125, -1.0737, -0.3033, -0.848, -0.4749, -1.1495, 0.1031, -0.209, -1.3002, -14.458, - 14.6593, 20.5101, 23.6344, 20.8409, 12.562, 6.6891, 3.7103, -0.8534, -3.6042, -5.9363, -7.011, -3.7764, 1.6775, -5.6072, -12.2281, -10.8044, -4.3275, -11.1148, -14.7836, -24.2367, - 17.5445, 22.4817, 15.1353, 12.588, 5.1049, 1.9643, 5.3928, -3.5987, -0.475, 11.7373, 12.9388, -3.8264, -3.5752, -8.3127, 9.4226, -10.0441, -20.2747, -19.0638, -21.801, -23.3385, - 11.5639, 14.1176, 19.178, 24.7909, 18.2344, 11.0457, 8.2594, 6.6617, 7.5852, 14.184, 12.1883, 7.8148, -0.4947, -16.4472, -21.5615, -22.7378, -21.8493, -21.9703, -24.981, -25.582, - 7.3833, 6.5793, 5.7205, 10.2722, 16.6567, 15.1599, 9.5922, 5.5668, 5.0234, 9.3817, 5.3741, -5.1082, -9.8091, -12.3432, -12.5495, -6.2366, -5.9929, -8.3697, -6.8581, -29.4426, - 0.3726, -5.6285, -3.2253, 2.1557, 3.8332, 12.1538, 14.6059, 12.3634, 15.7294, 17.0679, 4.8054, -1.6834, -7.5585, -11.9417, -12.8749, -9.7037, -1.2933, -5.8852, -6.0304, -17.2623, - 12.4589, 17.5375, 23.1698, 18.7129, 9.0574, 6.8369, 3.3366, -0.7668, -3.5028, -5.8079, -2.0422, 3.5413, -5.492, -15.4559, -14.9601, -7.186, -2.1139, -10.3945, -4.5301, -22.3991, - 7.7831, 5.9803, 3.3957, 1.1363, 0.6624, -0.3876, -1.227, 0.535, 0.3563, 5.2276, 9.1991, 8.9238, 2.632, -1.9335, -4.212, -2.5342, -1.0999, -4.9168, -4.9485, -24.572, - 12.7865, 11.7808, 12.0132, 12.7418, 11.7725, 11.2618, 10.9064, 7.0094, 3.3808, -2.3233, -4.5714, -6.7413, -8.0255, -8.7048, -10.995, -7.0616, -9.371, -7.6597, -4.91, -23.2897, - 7.4583, 10.3954, 16.3813, 20.381, 16.5656, 9.1371, 4.5296, 4.0559, 6.8658, 9.8043, 0.1187, -6.6202, -8.4161, -2.4957, -9.4787, -16.3418, -17.6122, -13.1639, -7.5007, -24.0638, - 10.5778, 12.5102, 15.45, 16.251, 14.1076, 12.4513, 11.9259, 10.4537, 6.3771, 1.6824, -3.8825, -5.5239, -8.8633, -8.0708, -4.646, -3.2386, -13.9943, -17.4761, -15.8823, -30.2093, - 16.545, 21.4563, 20.013, 10.542, 0.7521, -0.1817, -5.7313, -0.269, -4.1817, -0.5968, 6.2079, 4.1626, -0.4622, 5.1095, -10.2058, -16.0783, -19.9597, -11.663, 4.3789, -19.838, - 0.6538, 1.9228, 2.293, 5.2351, 12.5744, 11.0394, 7.485, 0.8228, -3.4564, -5.0324, -2.9456, 4.4755, 9.605, 1.6136, 0.0025, -0.9954, -6.7769, -7.886, -2.933, -27.6973, - 14.1315, 17.7109, 22.9482, 25.5022, 19.8506, 12.4355, 10.8121, 14.0608, 12.2635, -2.6541, -11.3457, -15.5204, -18.073, -18.739, -15.772, -7.2576, -9.9721, -9.7355, -17.106, -23.54, - -5.7314, -4.059, 1.0581, 0.9805, 1.3616, 2.7093, 6.3692, 11.6381, 12.018, 9.1818, 6.8001, 1.9409, 3.0785, -2.5335, -5.799, -0.6774, 0.8325, -4.7436, -7.1073, -27.3175, - -1.064, 0.7851, 2.716, 6.1021, 12.1198, 15.4431, 10.3026, 4.0089, 1.9648, -0.0384, 2.4993, 9.2599, 1.9572, -4.2838, -3.1953, -1.1928, -7.8283, -8.5999, -10.0789, -30.8773, - -5.6296, -4.3307, -2.3209, -0.8933, 0.2894, -1.9304, -2.0575, -2.778, -6.2185, -5.9192, -6.6197, -5.5076, 1.7, -2.2417, 6.734, 9.7221, 5.4135, 15.423, 16.2356, -9.0706, - 21.8983, 23.2393, 21.5176, 17.3026, 15.6381, 10.7095, -4.6739, -9.4131, -7.3736, -9.636, -10.3893, -7.6173, -3.694, 2.4229, 12.3234, -14.8401, -14.2133, -12.879, -4.4302, -25.8921, - 11.8056, 15.656, 20.2939, 16.8416, 9.1858, 2.5617, 2.6711, -1.0207, -1.45, -0.2437, 6.6714, 6.5193, -0.4136, -1.1308, -3.7531, -13.8441, -14.3531, -10.4897, -18.0817, -27.4259, - 55.7273, 39.936, 26.2526, 15.0127, 6.4718, 0.7391, -2.3157, -3.1939, -2.9475, -3.3569, -5.3235, -7.9446, -10.6626, -13.1662, -14.21, -14.4691, -14.4121, -13.8376, -15.6433, -22.6564, - 3.7665, 2.9173, 4.2496, 1.847, 7.9023, 14.8241, 11.0448, 3.454, 2.7173, -3.8368, 2.5626, 4.5604, 2.9217, -9.5401, -8.3622, -8.8234, -1.4224, -0.0449, -2.7094, -28.0285, - -9.3983, -8.0419, -4.4832, 1.9754, -0.3749, 4.6985, 6.4445, 3.4462, 1.2139, 4.153, -6.0488, 0.4383, 7.0647, 3.8491, 2.7818, -2.689, 2.0052, 6.3893, 4.3086, -17.7324, - 10.6303, 13.7716, 17.1718, 20.1678, 12.2486, 3.36, 2.4058, -2.5934, -4.8765, -6.0115, -4.6562, -0.7932, 8.0003, -2.284, -3.8243, 0.1863, -9.1648, -14.9839, -14.094, -24.6607, - 16.6586, 21.6444, 20.8223, 12.8954, 8.1955, 4.1214, 1.5648, -2.8573, -5.5724, -6.5555, -5.8004, -2.3591, 4.833, -0.2831, 0.7092, -9.8961, -15.4807, -12.0228, -6.1807, -24.4365, - 6.2715, 7.1856, 9.0377, 12.3924, 19.0793, 22.2584, 18.7678, 12.6682, 9.6569, 13.2645, 2.9549, -2.9501, -4.4734, -4.244, -12.7065, -19.5653, -21.3156, -21.7041, -19.8037, -26.7746, - 6.6118, 7.9766, 9.5899, 16.7112, 22.8331, 15.9736, 8.1328, 4.9522, 3.0471, 7.2666, 11.8402, -1.4154, -4.2808, -5.2523, -8.9476, -17.0691, -18.3281, -12.6216, -21.0003, -26.0198, - 17.3127, 17.4868, 17.7344, 12.4834, 5.8856, 4.6009, 1.073, -2.7678, -2.0723, -0.4628, -3.7999, -5.837, -8.6148, -7.6108, -6.5104, -2.5688, -1.6184, -6.1466, -7.5013, -21.0659, - 3.4054, 5.0769, 7.0766, 9.8006, 20.025, 22.5645, 11.5478, 6.2329, 4.4723, 6.4844, 10.6573, 0.2331, -6.2477, -11.087, -10.3507, -4.2484, -15.1989, -19.0756, -16.4193, -24.9492, - 4.7627, -2.1833, -2.2828, -3.7716, 2.8453, 7.51, 11.3439, 6.188, 0.3611, -1.2837, -10.299, -7.9318, -4.0985, 1.3582, 6.4088, 6.3304, 9.4372, -0.3781, -7.0962, -17.2205, - 0.0639, 1.7461, 3.2578, 7.1373, 14.2936, 21.0383, 16.8137, 10.1108, 14.304, 14.1399, 0.3676, -6.3231, -10.5295, -12.7919, -9.1838, -2.4821, -12.1068, -13.6518, -9.174, -27.0298, - 6.2012, 6.2177, 8.6617, 15.7008, 20.0807, 16.3263, 9.7644, 7.667, 11.6809, 8.6315, -2.6559, -7.4948, -10.0457, -10.1131, -6.9875, -12.9972, -15.776, -10.0148, -6.4425, -28.4048, - 8.4071, 5.8192, 3.5662, 1.9627, 2.4472, 1.8597, -0.737, 2.3814, 0.1779, 1.4958, 2.9385, -6.0143, -2.3152, 0.3049, -1.7145, 0.7158, -1.3399, -5.1439, 2.0438, -16.8555, - 7.4409, 3.3788, 6.5115, 14.5248, 13.0646, 4.0268, -1.1894, -5.0999, -7.691, -8.4282, -7.9356, -3.3516, 6.9774, 0.9806, -1.3988, 5.5785, -3.1694, -5.2282, 1.6484, -20.6401, - 11.6728, 5.2904, 7.2713, 8.1521, 8.6202, 4.839, 1.9077, -2.7604, -4.5028, -8.9428, -12.4662, -11.0383, -4.7642, 4.2903, 3.3702, 1.0547, 5.8752, 0.7203, -0.1952, -18.3942, - 1.7662, 2.1132, 0.6823, 0.5069, -0.7694, -0.573, -0.6749, 0.4539, -2.385, -0.8937, 3.2905, 1.9366, 4.8907, 8.891, 3.4773, 1.6832, -0.385, -1.0325, -5.4486, -17.5299, - 11.1327, 8.1369, 5.9398, 7.2387, 9.0755, 13.7563, 15.6715, 10.9671, 4.3603, 6.5521, 8.2784, 8.2998, -3.5109, -8.8874, -13.5723, -11.9565, -11.2912, -14.9059, -15.3573, -29.9274, - 17.2359, 18.8517, 18.1626, 16.5245, 13.3466, 10.8703, 8.4673, 4.7337, 2.635, 0.0183, 1.1954, 4.7388, -2.9359, -6.0731, -7.4347, -16.3769, -19.935, -20.0072, -15.2078, -28.8095, - 15.9881, 16.1253, 11.9372, 8.7157, 5.3883, 4.3873, 5.5095, 5.6589, 0.5361, -1.1208, -4.817, -4.8077, -4.2337, -3.8897, -5.7866, -5.1486, -6.6937, -4.6271, -8.1104, -25.0113, - 10.5287, 10.4645, 11.0189, 12.4921, 10.2092, 2.1803, 0.6775, -1.9607, -7.8737, -8.5232, -10.8456, -10.0601, -9.5234, -5.7091, 4.1283, 1.9979, 4.9082, 2.3842, -1.6831, -14.8109, - 6.8712, 7.1195, 7.8478, 9.0102, 7.5469, 4.9121, 6.0618, 3.0705, 0.6628, 1.7728, 2.714, 6.3541, 3.1029, -4.2377, -6.3687, -2.2545, -6.3865, -11.4164, -9.6711, -26.7119, - 16.6601, 22.046, 20.3084, 13.4923, 8.0021, 8.7024, 10.126, 10.4026, 4.1888, -3.7328, -6.171, -10.8693, -16.0494, -7.8483, 0.2833, 3.3381, -13.0116, -16.9474, -14.2501, -28.6704, - -1.6472, -1.5329, -0.7265, -0.859, 1.55, 3.3445, 6.06, 5.7678, 2.9402, 4.2316, 1.8384, -2.4116, 1.7488, -1.1846, 0.2843, -0.4495, 1.5215, -2.2191, -1.2847, -16.9723, - 5.4499, 9.2168, 13.6525, 18.6245, 21.2266, 16.3225, 10.2029, 13.7648, 16.3433, 7.8345, -0.8506, -3.0654, 0.8282, -4.7895, -14.3191, -13.6263, -16.5382, -25.7242, -26.3799, -28.1733, - 5.4928, 7.273, 11.4735, 16.9546, 13.9651, 4.9178, 1.4991, -1.5005, -3.3689, -4.2367, 1.4622, 8.4912, 0.6337, -0.2593, 0.3732, -7.8143, -10.1871, -7.5615, -7.0778, -30.5301, - 6.6781, 5.8903, 6.7632, 9.181, 8.8397, 9.7239, 8.7155, 7.797, 6.3227, 3.4228, 0.2514, 0.111, -1.6716, -5.4364, -5.9387, -8.2352, -7.5149, -7.0855, -8.8552, -28.9591, - 11.8209, 17.497, 19.5821, 14.6674, 8.781, 10.5929, 17.1599, 11.1304, -1.5934, -2.4291, -7.104, -7.2023, -9.3009, -11.7782, -8.5498, -11.3872, -9.756, -0.1211, -12.0128, -29.997, - 10.1575, 12.1948, 14.9933, 16.4447, 14.1842, 8.2787, 4.1829, 1.5996, -0.4007, 2.6686, 4.592, 3.807, -0.5362, -2.8498, -6.0317, -8.0974, -11.2561, -15.969, -16.7096, -31.2528, - 17.3728, 16.5602, 12.158, 2.2953, -0.7338, -2.2088, -3.006, -3.495, -5.7703, -1.8968, -4.1417, -2.255, -0.4691, -0.6536, -2.4783, -1.3584, 1.113, -1.5486, -2.18, -17.3041, - 10.9509, 14.6912, 20.9171, 20.7445, 13.3882, 9.0276, 8.481, 10.448, 11.1634, -1.3107, -8.8976, -12.455, -14.1419, -12.2168, -8.1653, -9.184, -14.6536, -10.7798, -3.349, -24.6582, - -4.2511, -4.318, -6.4235, -4.0719, -2.3887, -3.1485, -4.2032, -3.5194, -7.501, -5.4107, -2.3368, 0.6165, -2.548, -6.5746, 5.71, 1.8165, 14.8553, 24.383, 15.8024, -6.4884, - 6.8815, 10.8626, 15.3667, 14.4704, 2.5878, 0.6962, -3.7687, -7.2033, -9.3334, -10.5308, -9.619, -8.2135, -3.3921, 8.1225, 8.7748, 9.4979, -0.1825, -3.9609, 2.5378, -23.5939, - 10.7457, 13.4613, 16.3838, 18.1633, 11.9764, 6.2322, 2.2046, -1.6815, -5.4025, -5.3261, -1.9194, 5.785, 7.0183, 8.8506, -7.0398, -15.809, -17.0181, -9.4482, -9.5562, -27.6203, - 4.4895, 6.7459, 11.3127, 18.7251, 18.1351, 6.5502, 1.1677, -1.0341, -3.9953, -2.3382, 3.5745, 11.8555, 2.9192, 6.0596, -4.8984, -13.0118, -16.247, -15.0252, -10.6982, -24.2871, - 10.1449, 10.3471, 14.749, 16.1718, 16.9528, 11.3815, 6.8749, 1.4265, -2.7864, -6.1956, -8.0139, -7.8556, -2.8591, 4.0596, 5.4548, 3.3633, -10.2166, -16.2406, -18.8135, -27.945, - 9.5266, 9.8619, 11.6564, 16.1435, 22.5856, 19.0228, 9.5649, 5.1013, 3.9082, 6.9523, 9.4453, -4.8784, -10.6008, -16.0258, -16.6123, -14.774, -6.6639, -13.8342, -16.3927, -23.9867, - -2.8166, -0.2578, 2.8925, 4.4555, 5.6756, 4.6914, 3.4417, 3.4041, 1.889, 1.8575, -0.5242, 1.9867, 0.9536, -0.9744, -1.401, -2.1961, -1.2827, -2.3186, -2.1481, -17.3281, - 6.5757, 10.4876, 15.8653, 20.5177, 18.3749, 8.4114, 4.7411, 0.5009, -2.9659, -4.1461, -4.5681, -0.6566, 5.8038, -2.3737, -8.5532, -6.5787, -2.8561, -13.7548, -17.8769, -26.9485, - 7.1295, 8.3469, 8.9916, 14.7649, 20.5, 15.5149, 7.3359, 0.6792, -1.5195, -5.0373, 0.9468, 7.0372, -4.0339, -9.7787, -8.9444, -0.8558, -12.0386, -13.0157, -7.1764, -28.8465, - -6.3643, -3.56, -0.9853, 1.3808, 3.5164, 4.4752, 4.2783, 4.1699, 0.4058, -0.8097, -0.9913, 3.1386, 9.3653, -1.1057, -1.2662, 0.7587, 1.7985, -2.7481, 1.1071, -16.5641, - 10.8441, 6.1056, 4.5464, 11.5523, 11.5304, 4.8593, 1.2036, 0.6177, -6.5224, -11.5032, -13.3278, -7.1852, -1.6717, 9.2735, 6.7578, -0.905, -7.2789, -6.0827, 3.0089, -15.8228, - 2.43, 2.4475, 8.1825, 8.1925, 2.2974, 10.8311, 15.569, 1.4027, 0.329, -0.4366, 6.3648, 1.0487, -0.9166, -8.1367, -8.1915, -9.569, -3.4184, 0.0616, -4.9205, -23.5675, - 18.5545, 22.239, 21.2685, 17.01, 9.6982, 4.732, 4.3296, 7.5541, 8.1889, 7.8498, 0.4258, -3.7349, -6.3446, -8.3581, -11.0931, -16.2715, -16.4055, -15.8123, -17.441, -26.3892, - 5.3049, 3.9686, 5.5462, 12.1792, 19.9309, 17.032, 8.3644, 7.8784, 10.6383, 15.3943, 3.6647, -0.1421, 3.0499, -3.2605, -15.9284, -20.0685, -19.5084, -15.1548, -11.4151, -27.474, - -4.1173, -2.8993, -1.1226, 2.7523, 4.1168, 4.2377, 1.6192, 1.4859, 2.7141, 0.481, 0.9555, -0.9423, 1.2205, 0.597, 0.3948, 0.467, 2.1347, 1.5199, 1.6806, -17.2954, - 15.7137, 20.9924, 24.3419, 24.5468, 20.7453, 18.1011, 19.1224, 15.9122, 12.9399, 8.1629, -8.2323, -12.3399, -17.0242, -22.3729, -23.1787, -23.2286, -17.6989, -10.8077, -20.3082, -25.3873, - -1.2634, 1.8562, 5.1481, 8.605, 8.7868, 9.5351, 6.6634, 3.816, -0.1296, -4.656, -0.5036, -0.2003, 1.6621, -1.6607, -2.8913, -4.8208, 0.3233, -5.1066, -6.1044, -19.0592, - 10.6986, 11.8307, 11.5659, 12.449, 11.188, 6.9008, 2.6629, 3.0301, 3.4569, 5.3227, 2.5092, -1.0853, -3.8118, -7.084, -4.9747, -7.3629, -11.0099, -5.9887, -11.0008, -29.2965, - 13.6712, 17.1821, 19.2431, 13.3261, 5.9589, 0.4984, 0.367, -2.3834, -3.2315, -2.1198, 4.8356, 0.4745, -8.1763, -11.1278, -9.8688, -0.1733, -8.1227, -9.3563, -5.3546, -15.6426, - -5.7735, -2.5076, -1.5044, -1.1663, 0.0004, 2.3285, 2.2748, 3.5509, 0.5101, -3.3403, 0.8431, 1.7502, 3.2945, -0.4888, 1.3903, 4.0779, 1.6571, 2.3564, 6.2297, -15.4829, - 9.1796, 11.0931, 14.7746, 19.7918, 17.0503, 10.0451, 7.8355, 5.3063, 5.9805, 11.7545, 10.2992, 6.2216, 2.6489, -6.8542, -15.2068, -16.6927, -14.099, -23.4163, -26.3767, -29.3354, - 4.4691, 6.369, 7.7808, 12.847, 20.5705, 17.7665, 9.4381, 6.2778, 2.4431, 5.0549, 9.9596, 3.2883, -2.2059, 2.04, -4.0438, -15.0151, -19.7303, -18.2469, -20.2388, -28.8235, - 25.3208, 24.3974, 22.6154, 19.5733, 14.8131, 10.5701, 9.4361, 4.3748, -1.5593, -4.3511, -14.7283, -17.6258, -0.952, -8.5196, -7.3624, -3.251, -9.9332, -17.3271, -21.4343, -24.057, - 22.3042, 16.1278, 12.0077, 14.7975, 10.7206, 8.3648, 8.061, 10.1267, 7.5498, 1.8723, -3.9201, -8.2481, -10.1623, -11.376, -12.7367, -5.005, -3.3744, -11.9178, -17.47, -27.722, - 4.0018, 3.5852, 3.3315, 5.3461, 4.3656, 2.8461, -0.0206, -2.5696, 0.1895, 5.1002, 3.3534, 0.2158, 1.3297, -0.9671, -0.5937, -1.9855, -1.7054, -1.7064, -4.2453, -19.8713, - -0.182, 0.3377, 2.3741, 5.1705, 4.8793, 2.2995, 4.3309, 2.2662, 0.4173, -0.8843, 6.0098, 9.0178, 2.964, -0.8977, -1.5385, -6.1656, -4.1289, -4.7989, -1.1105, -20.3607, - 7.6526, 7.4466, 4.8852, 0.6442, 1.5298, 0.3141, 2.6136, 0.1768, 0.3184, 1.5717, 0.2364, -0.4716, -4.0283, -1.7854, 1.1771, -1.1242, 0.5833, -0.2901, -4.6526, -16.7979, - 19.3739, 25.1966, 25.2676, 19.4367, 10.1976, 2.4144, -1.1928, -4.0638, -8.7478, -10.523, -11.0799, -12.5634, -10.0392, -5.3666, 3.7592, 3.344, 0.1212, -8.8586, -13.7562, -22.9202, - 9.6043, 10.541, 12.3377, 19.7574, 26.3167, 19.8022, 16.1636, 16.4176, 17.5852, 2.8061, -5.6826, -11.1198, -15.0897, -15.5002, -11.1047, -14.2676, -20.4525, -20.5783, -15.3843, -22.1521, - 12.9015, 20.6704, 27.9257, 24.9274, 19.2594, 24.215, 19.1475, 0.5334, -3.3152, -12.4822, -15.0498, -16.9033, -19.2802, -17.1972, -9.8015, -9.8416, -13.7988, -8.2071, -2.2124, -21.4912, - 14.4389, 13.4012, 16.1103, 14.9288, 9.7959, 11.0171, 12.0893, -1.4171, -9.8704, -8.5713, -15.4225, -18.6377, -16.5003, -13.9403, 1.0172, 8.7826, 2.1557, -0.7217, -0.1613, -18.4945, - 3.2298, 2.2245, 4.4788, 6.2407, 6.6193, 4.0854, 3.5648, 2.2977, 2.4361, 0.5689, -4.6553, -1.2701, -2.8888, -2.1474, -1.0212, -1.5878, -0.7381, 0.5436, -4.6923, -17.2887, - 12.1886, 11.0008, 17.9358, 24.301, 22.2969, 15.0778, 12.8771, 17.0838, 11.2261, -0.0847, -7.9648, -13.0993, -17.1559, -19.7583, -18.6302, -14.9903, -5.4184, -14.9564, -12.137, -19.7926, - 18.1628, 19.7982, 21.7942, 23.1496, 22.2974, 18.3029, 13.8973, 12.5987, 14.0955, 8.3018, -1.2018, -2.7097, -5.1243, -15.5625, -20.9814, -25.9011, -25.5502, -25.1062, -24.3739, -25.8874, - 5.12, 2.6682, 2.7787, 5.122, 7.7683, 7.6609, 0.3239, -0.5597, -2.1976, -4.2025, -2.3433, 5.4581, 3.3195, -4.6819, -7.7339, -5.9433, 6.7709, -3.0093, -0.4617, -15.857, - 3.1474, 3.9068, 4.6743, 6.198, 3.9172, 5.5703, 3.756, 5.3815, 6.4792, 7.4263, 4.0188, -0.9053, -2.9276, -4.264, -3.8751, -2.5664, -3.8921, -5.7279, -7.3914, -22.9261, - 7.7606, 7.9634, 9.259, 13.4058, 20.913, 19.2571, 11.4285, 9.1142, 10.4227, 12.6605, 1.394, -7.8667, -12.9049, -16.1586, -15.3321, -7.7158, -10.1835, -11.8246, -14.2319, -27.3607, - 9.9378, 9.7046, 10.1765, 13.167, 9.5151, 2.2155, -0.0456, 0.0357, -0.3521, -1.264, 0.0667, 3.9496, -0.7853, 0.9935, 1.7327, -2.1738, -2.4763, -8.9075, -14.5354, -30.9548, - 9.4566, 14.4761, 17.5184, 16.5421, 10.8319, 4.8634, 3.7958, 1.0301, -0.7413, -4.7772, 0.1278, 10.6261, 1.7256, -4.7562, -1.8151, -1.2979, -10.9708, -19.1139, -21.0656, -26.4558, - 4.1609, 4.3674, 5.163, 10.4393, 19.9966, 22.0365, 15.0772, 16.7404, 13.2009, 0.0579, -7.2967, -13.1855, -16.4671, -16.2778, -13.5417, -3.6468, -7.6575, -10.0591, -0.8708, -22.2374, - 9.2619, 9.285, 10.6963, 10.0411, 5.3819, 1.803, 1.0922, -0.366, -0.8976, -3.181, -0.6819, -3.8642, -8.4569, -8.9974, -5.5095, -1.9498, -5.7587, -2.8793, 9.9987, -15.0177, - 16.0944, 15.0736, 17.429, 17.1266, 16.3425, 13.9152, -0.3124, -3.4633, -3.3349, -5.5676, 1.022, 7.3152, 5.0978, 0.8308, -5.9027, -14.3898, -14.2461, -12.232, -23.5828, -27.2154, - 2.0137, 5.7764, 10.2219, 14.9245, 16.5703, 10.5235, 3.0729, -1.4882, -7.205, -6.2506, -5.1311, 1.5065, 6.9953, -1.443, 1.824, -1.5831, -9.7701, -7.7954, -0.2269, -32.5358, - 0.8118, 3.1428, 4.1975, 8.8492, 17.1316, 16.9999, 8.6244, -0.0326, -4.953, -5.2292, -0.1353, 6.3691, -2.1837, -2.6835, 3.8299, -6.3313, -4.714, -0.206, -11.6261, -31.8615, - 16.0656, 15.8566, 16.266, 14.0919, 7.2745, 1.1478, 0.5592, -3.1884, -2.7528, -3.9872, -1.52, -5.6031, -7.1936, -11.6082, -9.9024, -5.9648, -1.2652, -4.4434, -0.5317, -13.3008, - 6.0546, 7.8172, 12.5175, 18.974, 18.6314, 12.5099, 8.6741, 7.3229, 9.6232, 16.1584, 9.3568, 6.3688, 5.3827, -10.1648, -19.1392, -25.0842, -25.6307, -21.0082, -12.2957, -26.0685, - 8.7645, 5.7385, 7.3877, 9.4659, 8.7034, 6.7927, 2.2815, 1.642, 0.5587, -0.7987, 1.2054, 8.0228, 11.5479, 4.5805, -6.4932, -9.4841, -11.6576, -7.6077, -9.5897, -31.0604, - 13.5337, 13.1762, 15.6646, 19.9549, 24.347, 21.3479, 19.5471, 19.3675, 13.3653, -0.5856, -8.6584, -13.2572, -16.9863, -17.9847, -20.7708, -15.4798, -11.0509, -15.4702, -16.1382, -23.9221, - 9.4656, 10.0639, 11.4433, 14.668, 18.7771, 15.2024, 9.3195, 5.137, 1.9578, 0.3561, 3.767, 8.6933, 1.32, -4.9956, -10.6736, -14.332, -17.7829, -18.0592, -14.314, -30.0137, - 1.5799, 4.3053, 2.3818, 2.891, -1.2059, -0.83, -0.1903, -0.1292, 1.0233, 3.9206, 3.9828, 2.2978, 3.232, -2.5703, -2.6923, -1.3776, 2.9213, 0.1727, -0.511, -19.2019, - 6.8519, 4.8647, 1.9844, 2.2401, 3.7555, 1.5005, -1.3694, 0.5704, 2.1485, 0.76, 0.6917, -1.0898, 1.8295, -1.7615, 0.1607, -2.4085, 0.4928, -1.2003, -0.2145, -19.8066, - 26.8652, 27.9313, 22.2964, 13.2728, 4.9234, 4.975, 10.5105, 12.7213, 4.9587, -6.5278, -2.0124, -3.4059, -5.9594, -7.3378, -10.2568, -18.1183, -18.7465, -15.1523, -18.6899, -22.2476, - 11.7015, 12.5524, 16.8036, 20.5917, 17.3325, 11.6535, 7.9132, 3.4464, 6.4909, 8.4604, 0.112, -8.677, -13.3036, -17.0534, -16.5775, -11.3553, -3.454, -9.9071, -10.954, -25.776, - 20.0026, 21.9415, 20.1743, 15.7692, 9.6829, 6.6171, 12.1877, 15.1379, 6.9729, -2.6223, -11.926, -8.003, -5.4775, -7.9242, -14.3282, -6.4602, -11.9823, -18.5276, -14.5214, -26.7133, - 8.4727, 10.313, 16.1554, 22.5237, 20.4885, 15.1245, 10.9192, 10.3785, 14.0959, 8.6752, -2.6735, -8.1503, -8.9174, -2.4684, -9.1899, -21.2524, -22.7439, -18.1241, -17.6618, -25.965, - 16.4001, 11.079, 6.5408, 3.9922, 0.9638, 0.6155, 0.1321, -0.0033, -1.5205, -0.5347, 0.0838, -0.8675, -0.2837, -1.6297, -1.6342, -2.753, -2.7291, -3.0597, -3.9086, -20.8833, - 12.8347, 13.993, 15.6832, 15.4917, 10.9362, 11.4157, 15.6476, 4.371, -10.872, 4.3584, -2.6363, -7.3238, -10.3423, -4.3725, 0.4684, 7.2994, -11.0045, -18.8176, -14.2499, -32.8805, - 12.3323, 15.8058, 21.8399, 24.3008, 14.4087, 10.993, 7.8357, 8.0265, 12.8222, 14.2335, 5.8155, 6.0731, -6.0593, -17.6762, -22.1263, -23.2555, -24.2165, -21.7123, -15.9183, -23.5226, - 5.7344, 5.3389, 3.8374, 3.419, 2.8812, 1.7219, 0.1439, 1.858, -0.5349, 2.0653, -5.3722, 2.7017, 1.0724, -0.8636, -1.4371, 0.4192, -0.6553, -2.1126, -0.737, -19.4805, - 8.7871, 8.8914, 10.508, 13.7939, 18.1053, 18.3809, 13.6037, 9.9123, 6.2489, 7.8891, 6.4768, -2.8713, -8.9109, -11.1699, -11.8847, -5.8137, -11.8112, -19.3777, -21.5409, -29.2171, - 21.2487, 22.5877, 21.7624, 19.0832, 14.4498, 8.3623, 6.4664, 3.1545, -0.286, -1.9696, -3.9389, -1.8288, -3.7243, -9.6176, -13.7865, -15.0846, -11.3343, -12.9399, -16.9243, -25.6805, - 15.5067, 16.3749, 16.311, 12.8646, 5.4498, 2.4274, -1.0299, -3.27, -3.2357, -0.0252, 7.5399, -0.6948, -6.2588, -9.1664, -6.8883, 0.76, -11.6902, -9.982, -1.1495, -23.8436, - 15.5548, 17.3265, 20.2482, 21.9118, 17.7825, 12.4436, 8.5947, 8.3626, 10.7582, 6.8704, -2.615, -7.1451, -11.7102, -15.2112, -16.7335, -10.8661, -12.143, -16.7183, -19.7849, -26.926, - 9.7348, 18.6985, 22.2, 9.7733, 3.5414, -0.989, -5.4561, -5.4928, -8.476, -6.8757, -4.1569, 6.8951, 2.1633, -1.2892, 3.0483, -7.4717, -12.0842, -7.7317, 1.0735, -17.105, - 6.6628, 6.9628, 9.289, 7.3292, 2.0881, -0.1054, -1.5163, -4.7058, -4.4988, -5.4883, -6.5025, -2.6194, 5.9468, -1.1287, -0.4851, 5.3144, -1.644, -1.6601, 4.2795, -17.5182, - 11.7595, 13.0074, 13.6551, 14.3417, 13.9024, 11.589, 9.9365, 4.195, -1.2916, -2.3847, -1.5414, -3.1381, -5.4213, -4.9864, 0.0096, 0.2286, -7.594, -13.3606, -21.1287, -31.778, - 16.556, 21.1528, 18.2294, 14.8217, 11.7211, 5.8948, 0.1128, -5.7142, 0.4819, 3.4296, -7.6731, -15.2596, -14.091, -4.345, 4.2359, -1.261, -8.7829, -14.4366, -8.1323, -16.9402, - -9.6162, -5.892, -0.4336, -0.0688, 3.9825, 0.71, -1.9156, -3.0982, -4.8027, -4.2612, -2.6264, 1.0431, 5.5418, 11.1806, 9.5552, 5.0905, 3.5862, 4.3463, 5.867, -18.1885, - 9.2493, 12.521, 14.8487, 20.3042, 16.9267, 10.5281, 5.4085, -1.4152, -5.3054, -5.325, -4.1371, 2.4443, 0.8006, -8.09, -7.9314, -5.9206, -13.5877, -13.0043, -4.8031, -23.5116, - 5.9148, 6.0122, 7.7679, 11.9347, 14.3202, 11.188, 5.7941, 0.6362, -0.9006, -3.7616, -1.0465, 6.3361, 0.5894, -7.7629, -9.2778, -6.0898, -0.474, -7.4253, -3.178, -30.5771, - 9.047, 12.9059, 18.1346, 24.2631, 23.6353, 19.2579, 20.8877, 17.0355, 3.1774, -5.2773, -10.0473, -14.9178, -17.5773, -16.4551, -11.9394, -9.6664, -11.9143, -7.0063, -19.2353, -24.308, - 11.6229, 13.7686, 16.3077, 18.973, 21.2077, 21.177, 18.6717, 15.526, 14.4577, 10.9286, -2.0523, -9.7658, -14.147, -18.3895, -20.2191, -19.9491, -14.1791, -17.4745, -18.9708, -27.4939, - -1.2854, -2.7859, 2.0352, 3.8729, 2.5634, 1.1875, 2.9803, 3.4105, 0.6928, -0.5396, -6.4408, -2.1739, 4.1284, -0.7168, -3.4324, -5.3047, 2.106, 6.1169, 6.17, -12.5844, - 3.6719, 5.1933, 3.433, 2.0915, 1.709, 4.9193, 7.5225, 11.4575, 7.7921, 1.1072, -1.3846, 0.672, -0.8916, -0.5196, -2.8857, -5.7085, -3.7344, -4.4707, -6.4364, -23.5377, - 5.0076, 6.0603, 5.6858, 5.8716, 4.9796, 4.351, 3.2343, -0.0278, -1.6006, -3.6879, -3.6306, -0.3994, -2.7867, -5.8602, -4.3815, -4.1661, 1.9375, 0.0251, 1.7605, -12.3723, - 1.5611, 2.5677, 6.9184, 12.7642, 12.9002, 7.6294, 1.5737, -0.4407, -4.6258, -3.3019, -0.3274, 9.4821, 8.3473, 7.1185, 0.9099, -4.2945, -2.0947, -5.5952, -16.6889, -34.4035, - -10.077, -9.2074, -7.5499, -5.3349, -2.0639, 0.7289, 3.3239, 5.0911, 7.8838, 10.9963, 10.2149, 9.1756, 7.3923, 3.8453, -0.9308, -1.4293, -1.7749, -2.4954, -0.635, -17.1538, - 11.6964, 15.7897, 21.5631, 25.0743, 21.2867, 19.0704, 20.7015, 14.1826, 0.0839, -7.4606, -11.2687, -14.0743, -15.6804, -14.7951, -10.801, -12.5161, -17.6133, -13.8075, -7.4286, -24.0031, - -6.9283, -6.6188, -5.8684, -5.5056, -3.6164, -2.5751, -3.3395, -0.3521, -3.7955, -8.6077, -6.1256, -4.7755, -5.6371, 1.9017, 5.4236, 6.9088, 17.0056, 9.6477, 17.8081, 5.05, - 1.04, 4.3584, 5.7473, 5.9965, 7.1951, 11.1543, 16.3999, 17.9219, 13.7898, 8.5105, 6.6032, 8.3888, 3.1208, -8.4853, -12.1692, -10.3091, -9.406, -16.3383, -22.0676, -31.451, - 4.0785, 3.7601, 3.2477, 4.5535, 2.8617, 2.8959, 4.0341, 3.3572, -6.7255, 5.4042, 2.4187, 1.223, 0.1581, -3.0654, -1.9472, 0.8423, -1.1312, 1.2092, -3.2861, -23.8888, - 7.3239, 6.915, 9.3764, 18.0744, 16.9415, 9.605, 5.2932, 1.9763, 2.0297, 6.284, 11.8379, 10.9565, 8.5711, -5.0433, -15.8094, -21.0356, -22.5868, -18.9436, -8.4281, -23.3379, - -1.7885, -4.8321, -3.3241, 0.9574, -0.7694, -4.0018, -4.5674, -4.526, -2.6221, 4.0186, 7.6808, 10.9687, 1.1618, 6.5552, 7.2914, 5.9801, 0.8194, -0.4241, 1.0077, -19.5855, - 2.5382, 2.7665, 6.6332, 9.6977, 12.0223, 5.6888, 5.2502, -0.0648, 0.179, 1.7261, 3.6718, 4.6019, -4.2546, -5.2838, -8.6175, -3.503, -2.89, -5.1451, -3.1562, -21.8607, - -1.7959, -1.641, -1.3048, -1.9856, -1.1093, -0.5878, -1.7759, -0.7425, -2.7139, -3.3222, -3.9402, -1.9787, -4.1788, -1.9573, -0.0518, 0.6181, 5.7386, 8.4544, 14.2974, -0.0227, - 1.9227, 3.4879, 4.9261, 5.1627, 4.2257, 4.6417, 3.0455, -0.455, -1.933, -4.6665, -6.5225, -3.7829, -5.2713, -1.4162, 3.7054, 5.6573, 7.046, 2.7847, -1.9201, -20.6381, - 5.4951, 4.1184, 5.0794, 4.1307, 2.3794, 0.0327, -0.8237, -1.5895, -3.7505, -6.6385, -6.0766, -2.2466, -0.408, -4.9327, -5.84, -1.6035, 0.3752, 6.5602, 12.3259, -6.5875, - 6.8048, 2.6542, 8.2117, 4.3594, 9.5824, 4.9978, 9.2805, 5.4616, 0.1801, 2.8218, 4.8979, 8.0336, 1.3602, -0.8584, 3.0641, -6.3167, -11.4947, -13.9096, -9.3665, -29.7643, - 20.4394, 23.8508, 19.9523, 13.4804, 4.7063, -0.881, 2.3157, 4.3508, 4.6054, 2.6117, -2.816, -5.7052, -5.0189, -10.4846, -14.5942, -12.8055, -6.1098, -12.0585, -7.7055, -18.1337, - 9.9351, 14.3502, 19.553, 16.3727, 7.0796, 2.9949, -1.1604, -3.2246, -3.9592, -2.8637, 3.6007, 8.3194, 1.5624, 4.008, -6.2282, -13.296, -15.2078, -10.4525, -5.9946, -25.3891, - 5.5354, 4.2644, 3.4234, 3.565, 3.9406, 1.8276, 0.2709, 0.3493, -0.002, -0.7304, 1.8692, 2.1692, -1.3779, -0.9234, -5.0911, 0.1335, -1.1518, -0.8308, -1.2357, -16.0052, - 14.718, 8.4248, 6.7389, 6.9731, 8.7963, 12.7964, 14.6589, 10.3137, 3.2909, -3.7235, -5.8542, -6.9864, -6.8348, -4.2701, -4.4326, -5.4747, 0.7281, -9.3904, -11.2298, -29.2424, - 9.1842, 9.7851, 10.8472, 12.9244, 10.6955, 6.8423, 4.6037, 0.765, -2.0301, -2.7855, 1.3686, 5.5053, -1.4464, -8.6948, -6.8949, -4.4565, -9.3587, -11.9106, -7.0277, -17.9162, - 9.5187, 11.0469, 10.8992, 10.5477, 12.4336, 17.931, 22.0092, 22.1029, 21.2249, 17.7472, 4.1368, -3.9142, -11.6583, -18.8125, -22.4708, -24.5855, -14.9292, -12.6855, -22.7109, -27.8313, - 12.0341, 16.6419, 15.8489, 10.0396, 3.3655, -1.8695, -5.2143, -9.4106, -10.9745, -12.0991, -12.045, -11.1231, -7.2635, 0.0306, 12.4231, 12.6061, 4.1888, -1.9085, 0.6831, -15.9537, - -1.3674, -0.5228, -4.0775, -3.81, -1.0761, 13.75, 19.2044, 15.7231, 9.5615, 7.9996, 6.5298, 3.6199, 0.5658, -1.3324, -7.5527, -6.3571, -7.0946, -6.2162, -8.1181, -29.4293, - 7.3145, 11.1318, 15.8219, 21.2414, 19.7326, 13.4391, 10.1286, 13.1458, 13.522, 4.5818, -4.9865, -10.4663, -12.4137, -8.4915, -7.5278, -14.5074, -14.9519, -10.6855, -18.9716, -27.0572, - -2.6938, -1.0116, 0.5434, -0.5197, 1.251, 2.781, -3.1452, 2.3461, 1.3093, 1.0916, 0.2998, 1.6109, 9.4326, 9.1761, -2.9635, -1.3175, -1.3459, -2.3687, -0.4622, -14.0137, - -0.6799, -0.1341, 0.7366, 1.5016, 2.3553, 1.9877, 1.8684, -1.1687, -1.7388, -0.3259, 3.2899, 3.7096, 2.8005, -0.4016, 0.0798, 0.8146, 0.249, -0.5574, 0.0812, -14.4681, - -4.5962, -1.7335, 2.2323, 4.9758, 4.1965, 6.112, 6.3004, -0.242, -0.4268, -3.4101, -1.9343, 1.8578, -0.3352, -3.5061, -2.9167, 0.7871, 0.7063, -1.6356, 3.3878, -9.8196, - 13.1227, 13.7568, 12.075, 11.2378, 13.9543, 15.7037, 14.8582, 9.5334, 0.1292, -3.0889, -7.7565, -10.9896, -5.4579, -2.1373, 0.1387, -11.7169, -13.0933, -7.4977, -12.364, -30.4077, - 29.3087, 22.8979, 20.4744, 14.9176, 7.8398, 2.3822, -3.7671, 1.0563, -3.5131, 2.1709, 4.106, -2.4865, -7.3802, -9.3667, -9.8213, -8.8247, -9.4073, -14.9259, -16.153, -19.5079, - 8.2477, 12.7093, 19.458, 20.8257, 15.6422, 8.6762, 4.5782, 4.1335, 5.6439, 14.7051, 12.4104, 11.4909, -6.3291, -17.1032, -20.7835, -24.4558, -22.5241, -14.5649, -5.2278, -27.5328, - 0.7217, 4.0954, 5.2473, 1.527, 1.7119, 3.5822, -1.4614, 0.872, -1.3606, -1.4757, -0.4869, 1.0336, -0.7433, 2.0743, 0.6152, -7.1442, 0.592, 6.3583, 2.8714, -18.6301, - 20.3582, 21.7378, 21.8475, 15.5031, 8.5323, 5.5254, -0.6584, -4.0833, -5.5901, -5.8466, -2.2597, 3.0499, -4.1864, -7.3615, -5.3521, -8.6549, -8.7165, -10.8646, -9.6599, -23.3202, - 7.9037, 5.3843, 2.5963, 1.7924, -4.1648, 1.1119, 1.0025, 0.4959, -1.4533, -3.0047, 0.7379, 1.8636, 2.4329, 0.95, -0.1706, -0.3177, 0.7889, 1.1735, -0.473, -18.6499, - -1.9942, -2.2404, 1.0361, 1.1275, 2.4246, 0.9687, -0.7731, -0.435, 2.7773, 4.6081, 2.2666, 5.9874, 1.4863, -4.3135, -1.0943, 3.1059, -4.9201, 3.6382, 1.5522, -15.2082, - 15.5189, 17.894, 20.2047, 21.1613, 16.5719, 9.883, 6.2072, 1.5961, -2.8649, -4.235, -1.2109, 1.6294, -0.3114, -6.289, -6.647, -6.6461, -16.7097, -18.4834, -19.5782, -27.6908, - 4.5707, 9.9453, 16.9194, 16.3836, 7.5074, 1.7185, -1.6704, -4.647, -7.171, -7.5216, -6.2372, -1.4728, 9.199, 4.5872, 4.2446, -3.1203, -10.1462, -8.9093, -2.0237, -22.1562, - 10.2043, 6.2265, 8.048, 6.0822, 2.9673, -0.2686, -0.4905, -3.3479, -4.2925, -4.0224, -2.6407, -3.8742, 0.6899, 3.7007, 5.8631, 8.848, -1.0855, -6.5692, -4.1304, -21.9079, - 12.9155, 18.0966, 19.8262, 14.0767, 6.9947, 1.6106, -0.8791, -6.2102, -7.3162, -10.2835, -10.9883, -8.3441, -1.6557, 0.008, -5.7847, 1.4192, -5.5022, -4.2471, 3.9784, -17.7147, - 5.1637, 8.0679, 12.5738, 17.5701, 14.9252, 4.1592, 0.9276, -0.3161, 0.0005, 3.6819, 10.2605, 3.1026, -2.7955, -2.8307, -1.1861, -9.2862, -11.7976, -5.3295, -15.7634, -31.1274, - 6.9673, 6.7974, 6.1367, 10.4782, 15.9809, 13.2295, 4.9742, 0.4813, -4.131, -5.6911, -5.9712, -1.2511, 7.3306, 2.6442, 0.3224, -0.8372, -7.4799, -9.3018, -8.5882, -32.0913, - 13.1396, 12.9563, 12.3478, 9.0857, 2.3849, -0.849, -1.4825, -4.2362, -7.2804, -7.4639, -6.8853, -6.4479, -4.2443, -8.2231, -3.9022, 0.4289, 0.1896, 3.7001, 6.9697, -10.1879, - 15.333, 18.1603, 22.1112, 21.6848, 13.1886, 10.5333, 8.8464, 9.6626, 12.4137, 13.9577, 10.142, -0.2864, -11.4409, -16.9791, -19.7494, -15.6645, -19.7643, -22.5, -23.5283, -26.1208, - 6.8457, -6.8649, 5.4271, 5.2712, -1.3685, 5.0072, 1.5557, 0.4655, -8.6121, 0.8133, -3.3697, -1.5367, 2.2231, 2.7614, 0.6905, -0.9517, 3.9757, 2.5271, 6.8378, -21.6975, - 4.0198, 5.3861, 1.469, -2.5892, -0.7717, 2.5302, 1.6444, 0.6228, 0.0646, 3.2916, 3.8112, -0.6089, 2.1623, 0.1459, 0.1339, 0.1325, -1.6768, -0.5331, -0.5013, -18.7335, - -7.1586, -2.6175, 0.5796, 4.1833, -1.3849, 0.3608, -8.9238, -4.4835, -1.6026, -5.1856, -8.3891, -1.473, 9.5706, -8.3291, 11.6042, 11.148, -0.2734, 4.8182, 12.1074, -4.5509, - 12.6166, 14.8923, 16.2633, 17.1269, 18.2744, 19.287, 16.5858, 10.4162, 6.9131, 6.3384, 2.9142, -1.3754, -10.9051, -16.4865, -19.5016, -17.7616, -6.9047, -16.5161, -23.1066, -29.0706, - 10.8009, 12.8094, 14.6516, 18.7246, 16.6285, 12.1161, 8.7229, 6.4887, 7.8806, 10.133, 4.172, -4.3839, -6.8368, -8.8011, -8.4415, -14.6175, -16.9291, -13.3638, -20.2402, -29.5143, - 6.219, 6.4291, 6.1608, 8.0273, 9.8018, 9.8514, 6.5431, 7.0773, 5.8326, 5.6116, 8.215, 7.4679, -0.2957, -6.5386, -7.9, -7.1888, -10.2895, -12.2362, -14.0338, -28.7541, - 8.0266, 9.6417, 12.2059, 15.4655, 15.3945, 10.4886, 6.7757, 2.33, 3.3664, 6.5551, 2.3159, -4.1967, -9.2962, -11.8145, -9.9788, 0.04, -6.7484, -6.4088, -11.3916, -32.771, - -6.0361, -3.7035, -0.2831, 1.4674, 0.7756, 0.3247, -0.7445, -0.5024, -2.1341, 2.7813, -0.1459, -3.5635, -3.9893, -4.293, -0.5948, 5.6527, 2.1314, 14.0267, 12.5554, -13.7247, - -14.2301, -11.8469, -5.4438, -2.2899, 3.4911, 0.4713, 0.7187, -2.7114, -1.5588, -2.821, -0.0887, 1.506, 2.8286, 9.35, 12.2742, 8.0817, 12.1298, 7.7574, 3.4239, -21.0423, - 10.2809, 9.4545, 10.3039, 12.6386, 19.498, 22.5798, 19.2258, 15.3342, 18.162, 10.8305, -3.6184, -11.2472, -16.1533, -19.0561, -21.3742, -19.1215, -7.0133, -13.0322, -12.3255, -25.3663, - -7.1992, -4.095, -0.4752, -0.0397, -1.2923, 1.268, 2.102, -2.0159, 0.5678, -4.1475, -2.286, 1.2468, 2.916, 3.7433, -3.5078, 6.2645, 5.1466, 3.3947, 11.0482, -12.6391, - -1.4558, 2.635, 2.5261, -0.4261, 7.9067, 7.3761, 10.505, 2.1413, -4.1382, -2.8818, 6.9021, 5.4317, 4.9534, 4.5363, -2.8372, -3.4508, -1.0165, -1.6706, -9.0235, -28.0132, - 5.4483, 7.0338, 8.8713, 13.9617, 19.3432, 16.574, 12.5536, 13.7232, 15.1487, 4.1979, -4.0767, -8.9863, -10.9482, -13.1722, -11.3412, -7.4945, -4.4916, -3.5707, -22.8865, -29.8879, - 12.0309, 14.2862, 17.8716, 18.2606, 13.3426, 8.9006, 1.3455, -9.418, -11.1012, -15.4444, -17.4768, -17.9985, -12.4515, -5.2431, 8.8612, 5.5913, 6.3114, -1.1018, 0.2013, -16.7679, - 16.8689, 16.8256, 18.5632, 14.4683, 8.2457, 2.7262, 1.7491, 0.4673, -4.4682, -6.2835, -4.328, 2.1966, -4.4856, -9.6447, -7.5807, 2.0175, -9.6747, -9.7002, -3.665, -24.2978, - 10.3443, 9.5624, 9.5859, 9.3945, 7.7097, 5.9502, 5.4955, 7.0578, 3.897, 1.8002, 2.9026, 0.83, -0.8072, -3.4283, -8.7861, -9.4681, -7.6897, -10.0581, -8.5829, -25.7097, - 8.4589, 13.906, 18.357, 21.8577, 20.8363, 13.5168, 7.0018, 3.5585, 0.2984, -4.3657, -7.6435, -5.4526, -6.4991, -0.0823, -10.9834, -14.489, -9.9873, -4.5713, -15.9935, -27.7237, - -2.7942, -1.0695, -0.1214, 2.5877, 1.5098, 1.0893, 1.5717, 3.2131, 6.2989, 10.9335, 9.8682, 8.6743, 4.8838, 1.8707, -1.0579, -3.7852, -5.7917, -7.6708, -7.9578, -22.2525, - 25.1784, 20.8581, 17.0052, 12.9557, 7.7424, 3.9815, 6.0072, 3.4663, -1.9041, -8.1079, -11.4077, -11.8642, -8.7727, 4.7601, 2.8284, -7.3135, -15.0133, -13.8178, -7.5999, -18.9821, - 13.6088, 10.9215, 11.1892, 11.7633, 13.2294, 6.3264, 1.9267, -1.7303, -3.3278, -4.4979, -7.2855, -3.9683, 5.3311, -1.6679, -8.5378, -6.9275, 2.8396, -8.2151, -5.8206, -25.1573, - 20.0774, 19.5893, 17.125, 15.9021, 10.2327, 5.8537, 4.1551, 8.7468, 6.2824, -1.6643, -0.8142, -5.7458, -5.8553, -6.7971, -4.8129, 0.1863, -14.4064, -22.1846, -19.7857, -26.0848, - 1.9579, 3.5459, 5.6047, 9.8227, 17.151, 16.9383, 8.2371, 2.3829, -0.9137, -2.6491, -2.1733, 3.0262, 6.5399, -2.8952, -2.9389, -0.9532, -9.2242, -11.9604, -12.7131, -28.7857, - 2.7147, 5.0851, 5.901, 8.2492, 9.0379, 12.5344, 15.7585, 7.9343, 2.8699, -7.6515, -7.5935, -7.0792, -7.0329, -0.2973, -4.1153, 0.8146, 0.8342, -8.0293, -6.0641, -23.8708, - -1.8671, 0.2021, 1.1744, 3.3514, 3.8114, 4.6535, 6.4708, 5.5903, 4.6873, 6.12, 7.1503, 10.882, 10.1467, 5.0564, -4.0471, -7.0223, -5.8028, -7.0328, -13.2761, -30.2485, - 14.4582, 17.2732, 16.2772, 7.1332, 0.6525, -4.4947, -7.791, -9.8395, -12.5801, -10.7856, -8.8712, -4.2717, 7.2719, 0.7198, 1.5521, 3.5804, -2.9845, 0.1717, 6.3548, -13.8266, - 28.6852, 25.8888, 20.5479, 11.1546, 4.6177, 1.8681, 3.9247, 1.295, -2.924, 4.305, 4.3461, -5.4196, -7.8904, -10.2821, -8.2802, -13.991, -11.2895, -12.538, -13.7725, -20.2458, - 6.9489, 8.2782, 12.9177, 18.1269, 10.1196, 2.5932, -1.2838, -5.9588, -9.0612, -10.7381, -10.6395, -8.4104, -4.0818, 7.0965, 0.3344, 2.1418, 2.2817, -3.7137, 1.6102, -18.5618, - 6.2919, 7.1483, 7.7499, 10.3266, 12.7585, 21.8234, 21.7899, 13.6697, 7.2737, 9.3185, 13.4418, -0.153, -6.4198, -9.4554, -7.4143, -12.4542, -21.2295, -24.5545, -24.4585, -25.4529, - 3.2078, 1.1604, 2.382, 7.1676, 15.6309, 19.6735, 9.8897, 7.8474, 10.1305, 10.405, -1.822, -9.0708, -12.7476, -14.298, -11.7869, -3.2366, -4.1439, -6.6114, -0.0121, -23.7655, - 4.9484, 5.9562, 10.0092, 16.2669, 12.926, 3.9525, 0.492, -2.9838, -4.7825, -5.0706, -3.0972, 4.4166, 5.1484, -3.0885, -2.2935, 1.8467, -6.6209, -8.5405, -3.2672, -26.218, - 9.119, 11.7308, 15.3181, 20.5759, 15.7183, 7.69, 3.7341, -3.2723, -6.7161, -9.0437, -8.0703, -0.593, 6.4087, 3.5269, 3.0413, -8.4178, -14.7425, -12.7049, -6.9905, -26.3121, - 1.4852, -0.6829, -1.569, -0.2848, 5.5052, 12.8631, 6.4129, 0.4626, -3.55, -5.4162, -3.9006, -1.4888, 7.5205, 5.649, 1.1393, 5.5204, -1.2344, -6.2194, -3.0728, -19.139, - 11.9158, 15.3244, 18.2371, 17.8689, 12.9861, 8.5734, 2.6935, -0.462, -0.3115, 4.3187, 1.8359, -6.5328, -11.3944, -12.3343, -10.2127, -3.2123, -10.7404, -11.6243, -6.0915, -20.8377, - -1.1406, 4.4681, 1.0243, 1.7567, 0.8452, 1.0568, 1.7113, 1.4304, 8.2151, 0.5703, 1.2053, -5.7909, -4.3638, 0.9165, -4.5872, 3.4354, 6.9859, 3.9875, -3.5121, -18.2142, - 18.8171, 22.5033, 16.7157, 10.3549, 3.9514, 1.6962, -0.6346, -5.9992, -6.8816, -7.3001, -7.9076, -4.3326, 4.9348, 4.6458, 0.9437, -3.5521, -9.364, -2.4386, -11.4118, -24.7409, - -0.9409, 0.5904, 2.2794, 4.9547, 5.8743, 8.7846, 11.0088, 11.1838, 11.6958, 14.1355, 8.9116, 2.5256, -1.8779, -5.6262, -5.5753, -9.1754, -9.0981, -12.4659, -11.4699, -25.7149, - 0.4141, 2.8215, 2.0838, 3.1886, 4.2216, 1.7188, 4.6179, 2.9704, 1.6545, -2.846, -0.9511, 2.6537, -1.8008, 0.9825, 1.2384, 1.5282, -0.7271, -3.094, -0.809, -19.8659, - 6.043, 4.6516, 4.3017, 7.7179, 6.7963, 6.291, 8.7476, 8.7592, 7.7014, 12.1586, 8.0227, -1.3414, -6.0075, -8.1097, -6.8511, -6.6141, -5.8068, -8.7086, -9.3302, -28.4218, - 7.1395, 6.4611, 6.477, 6.5752, 5.736, 5.6174, 3.8338, -0.3402, -1.9803, -2.2319, -4.1316, -3.2411, -2.2252, 4.195, 1.9636, -1.7425, 0.5431, -3.5115, -6.8529, -22.2844, - 17.8843, 21.4402, 20.6904, 15.9517, 9.7051, 2.5656, -1.5516, -7.4554, -8.8729, -10.2263, -8.6781, -5.1896, -0.7045, -6.768, -8.2898, -6.9326, 1.3954, -3.2208, -6.0504, -15.6928, - 10.6767, 10.3544, 18.1231, 11.2879, 6.1413, -0.361, -2.4504, -5.1076, -4.9943, -4.9704, -2.3126, 5.9757, 0.9523, -4.2427, -2.5152, 4.9197, -8.3019, -9.0057, 0.3384, -24.5078, - 9.9161, 11.8977, 18.2327, 24.4645, 22.2618, 14.5543, 11.0874, 11.6473, 16.7269, 16.7802, 10.9221, 4.3259, -12.8739, -20.0422, -22.5408, -24.1296, -20.9142, -22.6765, -24.3668, -25.2731, - 9.4023, 7.3715, 11.9062, 12.512, 7.0268, 13.6459, 7.2747, 2.8388, 14.6515, 22.1573, 24.2647, 6.5863, -1.1334, -12.1075, -18.8356, -21.0343, -18.7149, -21.3705, -23.1378, -23.304, - 6.1154, 6.8878, 8.0486, 2.083, 11.4555, 24.4875, 10.2548, 8.5452, 8.1934, -4.1865, 11.8854, 1.3485, 1.9895, -14.5678, -11.0286, -3.4615, 1.3428, -19.7548, -24.2069, -25.4313, - 10.357, 12.8522, 17.3265, 22.8368, 16.6859, 10.9743, 8.2198, 6.8557, 9.3432, 12.2609, 5.1561, 1.541, 1.3448, -11.6896, -19.8579, -22.4891, -19.3409, -16.0157, -19.9891, -26.372, - -2.2958, -3.0198, 2.5524, 6.5326, 5.0549, 2.8939, 1.6085, 1.4431, -0.1701, -2.0055, 1.1867, -1.3016, -2.2987, 6.124, 3.0188, -0.9646, 2.6135, 4.0735, 0.2584, -25.3041, - 3.3425, -4.9398, 1.7857, 0.981, 8.2974, 13.876, 7.3422, 4.3951, 4.0317, 8.9378, 9.1371, -1.7588, -9.1168, -12.4667, -12.0238, -9.0772, 4.3501, -0.6556, 4.4305, -20.8684, - 2.6724, 2.4627, -2.5441, -3.3045, -4.2917, -1.4508, 1.5865, -1.0572, -2.1109, 1.487, -1.0006, 3.5002, 3.7107, 1.3794, -1.6261, 0.0378, 2.0162, 0.3261, 3.2452, -5.0385, - 3.1268, 4.8784, 8.6218, 13.5865, 14.1019, 7.249, 1.4764, 0.4142, -1.444, -0.1256, 6.7242, 13.6333, 7.9001, 5.1808, -8.7618, -15.9427, -17.574, -13.2732, -3.9031, -25.8689, - 8.7515, 17.2518, 23.5164, 15.769, 8.1574, 4.9814, 0.5026, -0.4621, -1.5217, 2.4458, 11.1982, 12.8925, 8.2107, -10.1894, -18.8969, -20.9839, -19.6436, -9.2705, -7.3159, -25.3934, - 11.798, 12.1448, 14.6065, 20.2682, 20.5368, 14.0544, 8.9695, 7.1447, 9.3182, 10.2279, -1.3945, -9.863, -14.231, -14.26, -11.294, -5.3186, -14.6453, -16.0278, -14.7441, -27.2906, - 8.3692, 9.6882, 12.8542, 17.3005, 21.134, 18.5917, 11.2777, 5.5517, 0.547, -2.3437, -2.3633, -0.2054, 0.7833, -4.4844, -5.7547, -6.4185, -15.2118, -20.989, -20.6002, -27.7265, - 3.254, 3.5495, 5.6572, 11.4443, 18.6822, 14.2818, 7.9623, 5.8581, 7.6636, 11.238, 10.4719, -0.3434, -0.9127, 0.3323, -9.6682, -12.3368, -7.0303, -17.504, -22.5944, -30.0053, - 10.5668, 4.7765, 4.8789, 5.9385, 13.1029, 20.5979, 14.5257, 8.6496, 2.4271, -1.164, 1.2029, 9.4957, -0.02, -12.573, -14.8513, -9.422, -4.4288, -12.9535, -14.372, -26.3782, - 3.6092, 2.1429, -0.2581, 2.1516, 6.0252, 4.4742, 4.352, 2.9527, 3.6102, 2.6901, -0.0942, 2.2564, 1.3309, -0.5758, -1.109, 0.1191, -0.118, -0.1015, -5.5503, -27.9075, - 8.4206, 12.653, 18.9633, 23.9855, 21.254, 9.7237, 1.5121, -0.7361, 0.7545, -1.5581, 2.4158, 9.9186, 6.7278, 3.6705, -12.4971, -19.8574, -23.2581, -23.72, -10.9203, -27.4525, - 22.1951, 16.4633, 13.2055, 7.497, 2.228, -2.4528, 8.773, 10.687, 4.9929, 1.1178, -5.3802, -8.2471, -5.7256, -8.8078, -8.354, 1.5835, 1.5054, -11.6521, -13.9564, -25.6726, - -7.9053, -6.584, -6.0103, -4.8986, -4.2425, -4.7462, -6.7261, -8.5401, -8.6906, -8.8402, -5.6306, -0.7673, 8.6501, 5.08, 13.9798, 11.4953, 10.0314, 17.429, 14.9683, -8.0522, - 11.9359, 8.4098, 2.8637, 0.1621, 4.2653, 2.699, 1.2433, -1.9101, -2.5608, -4.4372, -0.737, 5.0345, 2.4512, -1.2451, -4.6924, -2.0267, 0.3932, -0.7445, -1.8229, -19.2813, - -1.3202, 3.8184, 7.4609, 11.6391, 16.2849, 25.4929, 15.8707, 1.4126, 12.3759, 21.2527, 8.1587, -3.8943, -14.786, -10.693, -17.9239, -16.3824, -1.7644, -13.0054, -19.3451, -24.6522, - 9.8443, 9.9627, 12.5201, 13.7261, 10.3992, 6.629, 2.9281, -0.7644, -3.9695, -5.3737, -8.3704, -7.5382, -1.7207, 5.7599, 1.941, -0.8146, 0.5436, -5.6632, -12.2155, -27.8236, - 6.429, 4.7082, 3.9317, 3.1702, -1.6353, -3.6078, -6.315, -9.1986, -10.3233, -9.8065, -5.8063, -1.3404, -0.7673, -2.2448, -1.2797, 7.1795, 3.2561, 15.5273, 14.8629, -6.7401, - 23.9506, 22.1558, 17.7456, 14.435, 8.3329, 3.1023, 4.3134, 8.6024, 3.8015, -3.9642, -10.78, -9.6229, -10.886, -10.6376, -8.0083, 4.7524, -6.4851, -13.7226, -12.4871, -24.598, - 9.576, 11.4366, 12.9012, 14.4846, 16.8425, 19.5473, 19.7042, 15.2736, 12.0272, 11.0446, 7.4677, 1.1314, -9.0848, -18.3215, -23.8214, -23.171, -19.9932, -10.2715, -17.3599, -29.4137, - -3.4431, -3.1613, -1.9102, -0.6935, 1.387, 1.2966, -1.0892, -2.4642, -3.0407, -4.4927, -5.4209, -4.2773, -0.5358, 0.409, 1.2794, 5.899, 14.3402, 3.7638, 11.1512, -8.9972, - 15.2464, 18.8014, 25.3166, 19.5775, 11.0313, 6.5896, 5.6381, 2.9552, 5.1185, 13.254, 13.6736, 8.5584, -8.3365, -15.9401, -20.3756, -21.2859, -21.2275, -19.3217, -15.1325, -24.1407, - 3.1035, 6.1792, 5.0462, 3.5926, 7.0741, 6.4046, 9.9419, 7.7684, 4.2113, 3.6277, 6.5092, 5.59, -1.7178, -6.4492, -7.8871, -6.9582, -5.1379, -8.3058, -10.5436, -22.049, - -0.728, 0.5704, 3.9717, 5.9469, 6.078, 4.077, 1.2426, -1.3458, -3.2314, -4.6819, -6.2378, -5.0198, -1.208, 10.5808, 2.6382, 3.7712, 3.8446, -1.7555, -1.1558, -17.3572, - 5.3326, 5.4267, 9.824, 16.2001, 13.6887, 6.951, 1.1917, -1.6723, -2.5788, -2.7648, 2.6931, 5.4843, -4.2095, -9.6143, -6.2919, 3.6211, -3.8754, -6.5263, -5.2823, -27.5977, - 2.5771, 3.4727, 5.4467, 8.8349, 9.887, 12.1341, 12.0826, 7.7444, 4.5255, 0.7889, -2.0382, -4.7604, -5.7542, -4.6241, -2.4718, -4.0958, -6.2797, -4.6267, -9.5398, -23.3031, - 14.7846, 16.0256, 18.44, 18.7731, 12.4129, 9.2087, 4.9463, 5.2837, 7.9434, 9.1983, 5.6775, 1.0431, -7.1678, -12.3799, -13.9635, -9.429, -13.5075, -18.2553, -21.2672, -27.767, - 14.086, 12.616, 17.7362, 22.848, 13.2766, 7.4189, 5.7487, 1.8704, 2.3287, 6.7312, 16.704, 13.9396, 0.1199, -14.272, -18.2397, -22.3862, -24.8172, -19.6941, -10.4326, -25.5823, - 1.2702, -1.274, -3.71, -0.5628, -4.5219, -4.458, -7.71, -8.3547, -7.0524, -3.3805, -3.0927, 1.978, 6.7217, 16.8392, 12.2288, 6.1018, 4.3647, 3.7046, 7.0648, -16.1569, - -1.5691, -0.6625, 0.8145, 2.7114, 4.5683, 6.3808, 5.3169, 3.3697, 3.7409, -1.1329, 1.3502, 1.4333, 7.1092, 8.0819, 7.414, -0.3489, -3.5222, -5.2023, -8.9373, -30.9159, - 8.8791, 11.5486, 17.4354, 21.959, 18.7721, 13.0614, 12.3597, 15.8383, 7.9901, -4.7504, -11.1404, -17.0402, -20.1418, -20.5768, -16.8543, -10.271, 3.5082, 1.5897, -6.0317, -26.1349, - 1.4924, 2.3041, 3.6995, 3.9735, 2.9478, 1.4182, -0.1153, -0.7081, -1.6935, -4.7155, -3.8966, -1.0552, 4.3924, 3.5582, 4.7903, 3.4573, 4.4498, 3.7588, -4.9783, -23.08, - 19.7104, 23.5312, 26.4663, 21.1276, 13.4352, 11.0142, 11.5216, 12.6431, 11.662, 1.8352, -2.6313, -2.1531, -10.9044, -16.4683, -19.1821, -21.4207, -21.6631, -20.6795, -14.544, -23.3003, - -7.3825, -5.1236, -2.0803, -0.3985, -2.1515, -3.3191, -2.5398, -3.6553, -4.6673, 0.245, -1.138, 0.4163, -5.0235, -3.1123, 1.6781, 0.5456, 9.2542, 19.9831, 16.2303, -7.7611, - 2.5108, 2.1845, 2.6268, 3.2213, 4.7277, 4.9151, 4.4068, 2.5115, -1.2667, -1.047, -0.584, 3.198, 11.3786, 3.1343, -1.5396, -0.779, -4.2909, -5.9553, -4.0558, -25.2973, - 1.3099, 3.8149, 5.9305, 6.029, 6.2561, 6.5634, 6.5483, 2.2558, 2.8164, 5.8479, 6.7553, 3.8567, 2.7371, -0.0626, -3.8527, -5.1436, -5.5124, -7.3236, -9.2045, -29.6219, - 6.9414, 7.8896, 11.9174, 19.4391, 22.8159, 17.513, 12.8967, 11.7403, 13.3801, 0.6255, -8.6365, -13.1338, -15.0777, -14.1269, -8.2615, -12.9862, -16.1846, -10.2908, -1.8314, -24.6297, - 13.6675, 18.7539, 23.7644, 23.5665, 14.5584, 8.2788, 5.9566, 3.8037, 5.8231, 9.3954, 3.8096, -3.7071, -3.0809, -2.7965, -15.391, -22.2338, -22.7083, -19.7578, -17.2327, -24.4698, - 6.8878, 4.6215, 4.083, 1.7534, 6.3161, 9.303, 9.1793, 1.8539, -3.8953, -6.2684, -7.283, -6.1167, 0.8013, 5.3564, -0.9241, -2.6976, 1.7576, -1.1627, -4.9125, -18.6528, - 11.5366, 9.1379, 9.1023, 13.3107, 15.2931, 8.4262, 2.0019, -1.8545, -5.347, -10.498, -13.165, -8.7617, -2.8037, 6.5213, -2.9746, -1.1653, 2.895, -3.9002, -0.4074, -27.3478, - 8.1149, 5.2054, 4.7193, 10.9119, 14.2393, 9.7159, 2.7743, 0.0628, -0.9042, 2.5046, 6.2675, 4.5297, -1.7121, -2.7212, -6.4591, -8.2032, -12.1525, -9.796, -4.5542, -22.5432, - 10.427, 10.1489, 7.8411, 6.9092, 5.2675, 3.1553, 3.186, 0.3063, 0.4719, -0.871, -0.6868, -1.1505, -4.6137, -2.9984, -2.9661, -2.854, -3.0302, -2.2057, -5.9823, -20.3547, - 16.5991, 18.818, 20.4139, 16.0812, 15.2582, 13.6, 9.773, 4.82, 7.267, 0.5444, -5.1929, -8.9752, -12.2178, -15.2451, -9.0857, -9.6324, -11.9042, -7.0554, -15.8485, -28.0175, - 6.9984, 7.5807, 9.7172, 14.2935, 21.1422, 18.8026, 13.0729, 13.6068, 15.6061, 5.7873, -4.4176, -10.663, -14.9625, -15.276, -12.1485, -4.9859, -13.8661, -15.0801, -8.9505, -26.2577, - 4.8529, 5.9107, 5.9519, 3.1046, -0.7986, -3.8, -3.3218, -6.5949, -9.5964, -7.6925, -7.0336, -3.5031, 2.4411, -0.1901, 9.1699, 13.0532, 0.4243, 10.947, 3.0406, -16.3654, - 2.3975, 0.4924, 3.8005, 6.146, 0.9043, 2.1381, -0.0106, 2.9239, -11.7677, -3.8359, -3.4925, 0.8716, 3.474, -2.8287, -3.8786, 1.2858, 6.8931, -2.1701, 3.3894, -6.7326, - -3.5428, -1.39, 0.9285, 2.4806, 2.9675, 0.798, 0.9612, 0.2854, -2.0562, -1.3222, -1.9025, -0.0059, 8.6474, 4.6327, 1.6964, 0.3984, 0.9512, 1.7069, 1.4812, -17.7159, - 17.4798, 18.9995, 21.9699, 20.6967, 14.4015, 9.2408, 9.2963, 4.6834, -0.5765, -2.0466, -4.687, -8.134, -10.84, -6.9387, -4.9129, -2.3346, -9.5282, -16.6374, -22.862, -27.27, - 30.2051, 29.0816, 22.701, 15.9702, 13.2347, 12.3034, 7.9736, 1.711, -2.905, -5.822, -9.0457, -11.4933, -10.9824, -10.7128, -9.7198, -11.447, -12.1083, -14.372, -14.3489, -20.2236, - 4.3667, 5.6948, 7.6382, 9.1345, 7.9965, 5.9946, 4.8983, 4.5838, 1.3099, -1.1182, -2.4032, -2.5986, -0.3123, -3.8248, -3.3874, -4.6492, -2.5381, -4.101, -4.4278, -22.2567, - 13.3799, 15.9919, 18.2801, 18.5738, 14.5051, 15.061, 12.6361, 1.8684, -4.4789, -7.5763, -7.3687, -5.7285, -8.7693, -10.097, -1.0795, 0.7696, -6.5956, -14.5402, -16.2583, -28.5735, - 1.2989, -0.2985, -0.1264, 2.2528, 6.1919, 9.085, 11.5888, 9.6084, 6.4565, 4.6999, 3.8291, -3.1433, -2.0178, -5.4377, -3.5892, -2.4088, -3.4525, -6.5279, -6.8848, -21.1245, - 6.699, 6.9952, 6.99, 10.6461, 18.176, 23.4925, 20.7738, 19.3068, 14.5258, 4.1679, -5.0313, -10.5967, -15.7569, -18.7535, -19.3572, -18.4953, -9.1098, -8.3084, -3.508, -22.8561, - 0.3614, -3.0919, -2.2049, 0.2924, 3.5194, 12.3203, 10.5339, 6.5081, 2.9888, 3.7587, 9.6208, 6.5139, -3.3458, -8.5883, -8.7468, -4.73, 1.1707, -5.5824, -3.0982, -18.2001, - 3.6833, 5.1669, 7.0034, 5.1138, 6.2451, 5.1324, 2.9024, -0.2756, 0.6913, 0.7688, 2.7471, -3.0081, -4.2841, -1.679, 0.6913, -2.2915, -1.1739, -2.5591, -2.7007, -22.1738, - 11.4726, 11.0663, 10.8078, 10.4446, 10.6033, 12.3965, 13.0646, 7.6243, 1.8855, -2.1733, -3.8981, -0.7658, 2.9887, -2.4982, -10.215, -14.2533, -12.1696, -5.433, -8.34, -32.608, - -6.7179, -4.6131, -3.1636, 0.0876, 0.6888, 1.0614, 0.5541, -3.503, -3.5922, -2.2597, -0.8136, 6.0096, 11.8925, 2.9252, -1.145, -0.4619, -0.0294, 2.9522, 6.4894, -6.3616, - 5.3482, 3.731, 5.0957, 3.1029, 1.678, 3.1184, 0.5161, -3.5018, -4.5034, -6.3519, -7.8639, -5.658, -5.1767, -2.3928, 0.1325, 3.3098, 7.821, 11.9881, 4.419, -14.8118, - 8.2697, 5.8835, 6.0215, 10.4427, 12.0342, 7.5709, 3.5443, -1.0166, -4.1313, -6.5619, -5.066, -0.8575, 7.1102, -0.6052, -4.0956, 0.6756, 0.8926, -4.2551, -6.4788, -29.3772, - 2.0192, 3.9566, 4.9448, 8.089, 14.6263, 15.3545, 12.2775, 10.3302, 7.2993, 12.5826, 7.7803, -2.3944, -7.4949, -10.2984, -9.7837, -7.3581, -7.2692, -6.1954, -16.7366, -31.7295, - 12.8428, 15.92, 16.2497, 11.854, 3.8, -1.0057, -2.5059, -6.532, -8.39, -9.9165, -9.6596, -6.0113, 1.0447, 13.8469, 7.3566, -4.1906, -11.0801, -8.0052, 3.2361, -18.8537, - 17.202, 18.636, 23.3502, 20.5862, 15.5823, 12.7495, 6.4445, -6.6661, -9.171, -15.5663, -21.8272, -18.4838, -16.7082, -14.2582, 2.8891, 3.6115, -0.4823, -0.0577, 2.5754, -20.4057, - 11.2405, 16.2045, 19.5245, 19.0279, 10.816, 4.2621, 0.0074, -4.8018, -7.7494, -9.5065, -10.8518, -10.4718, -6.2617, 1.5892, 9.5055, 4.0459, -4.23, -9.8946, -9.4119, -23.0441, - 21.5981, 16.6548, 9.2131, 4.2901, -2.7752, -6.0814, -5.7172, -6.8518, -5.3057, -3.6255, 1.9348, 7.8994, -1.326, -8.0365, -10.6481, -6.5275, -3.0468, 3.5257, 5.6627, -10.8371, - 2.3529, 1.9098, 1.1705, -1.0129, 0.2322, -2.1724, -2.7849, -0.3004, 1.1108, 2.9625, 0.3261, -2.0946, 1.0272, 3.4696, 1.9753, 1.1513, 2.4885, 2.1442, 0.7739, -14.7298, - -1.7003, -2.4848, -2.4346, 4.7038, 24.9669, 27.0962, 7.9463, 4.7152, 0.192, -0.8991, -0.8489, 9.9068, -2.48, -9.4907, -11.9321, -1.857, -6.2441, -11.0862, -11.2891, -16.7804, - 14.9206, 17.922, 23.4494, 28.4771, 23.9338, 22.5858, 21.7793, 9.3991, -3.6346, -10.2702, -14.3748, -16.3264, -19.3026, -18.4585, -17.3134, -12.271, -10.593, -10.9994, -7.9141, -21.0092, - 10.8472, 9.9985, 8.1012, 5.6373, 0.7372, 0.0745, -0.8638, -1.7933, -2.9142, -3.015, -2.2427, -0.7782, -2.5201, -6.2197, -5.1933, 0.2777, -5.0155, 0.2927, 4.1108, -9.5213, - 11.2774, 17.5024, 20.7927, 14.9512, 8.8893, 5.3831, 1.1126, -0.5407, -1.8226, -0.7548, 3.8991, 14.1917, 11.4189, -2.2812, -13.1711, -17.2396, -15.8893, -13.7806, -15.9376, -28.0009, - -1.8142, -1.3801, -0.2831, 1.382, 1.7722, 1.4623, -1.2023, -3.2113, -5.2345, -6.7523, -4.9565, -2.8637, 4.0779, -2.6764, 0.8821, 14.4958, 8.5614, 4.5439, 7.906, -14.7091, - 10.5077, 13.8832, 19.5676, 20.853, 17.7078, 12.7109, 11.5269, 8.0218, 2.2318, -5.7244, -10.1683, -12.812, -14.923, -10.7023, -2.0109, -8.3963, -10.2008, -5.4032, -10.7793, -25.8902, - -0.2509, 1.3469, 0.6421, 2.6377, 6.0659, 4.3721, 5.352, 3.9824, -1.7069, -2.0895, -5.2191, -1.537, -3.3737, 1.3384, 4.0383, 10.2321, 1.6548, -3.2413, -5.147, -19.0973, - 6.4953, 9.3365, 14.1057, 20.6271, 16.1168, 7.358, 1.4929, -2.7587, -4.0681, -3.9748, 1.3672, 8.9105, -0.92, -5.3133, 0.3345, -6.1299, -12.7503, -9.3229, -13.4612, -27.4454, - 0.6201, 2.4328, 4.976, 9.2545, 15.4025, 12.2971, 5.768, 5.0077, 4.0499, 4.2155, 9.706, 7.7493, 5.8274, 0.3852, -5.9984, -11.5236, -7.305, -10.3504, -20.7971, -31.7176, - -3.7294, -1.4413, -3.7524, -4.5904, -3.2743, 0.736, -3.2763, -4.8007, -0.6213, 4.903, 10.4614, 11.0474, 17.3494, -0.7763, 5.4732, 0.7769, 1.2498, -0.7639, -2.107, -22.8638, - 6.7163, 9.2255, 12.3187, 17.6924, 17.6404, 11.894, 7.0991, 4.2645, 4.3021, 9.9874, 5.8382, -3.4579, -6.9519, -4.809, -2.1538, -14.0697, -18.7474, -17.332, -11.2745, -28.1824, - 14.7156, 19.4663, 14.7897, 6.5422, 1.1728, -2.3524, -4.9286, -7.8168, -8.8525, -9.4747, -10.7274, -8.5129, -4.4565, 7.8312, 0.0283, 4.0451, 1.6338, -1.3894, 4.4306, -16.1441, - 19.068, 22.0875, 24.611, 22.0341, 17.3706, 15.8785, 14.1658, 11.9508, 4.4308, -1.1373, -6.4223, -10.3244, -11.8572, -13.5064, -14.4779, -15.1004, -15.5216, -16.8251, -22.0101, -24.4145, - 9.0336, 19.0176, 24.4867, 24.6758, 18.9461, 11.7838, 7.6427, 4.775, 1.2864, 0.4513, 1.8155, -1.2592, -9.2086, -14.2929, -15.7555, -13.6408, -7.7748, -14.5157, -21.5902, -25.877, - 1.4827, 0.2805, -0.381, 1.4732, 8.234, 8.1707, 10.06, 8.3087, 4.1212, 2.7249, 3.5821, 7.9718, 3.7426, -2.6511, -5.3909, -4.4519, -4.5293, -6.7232, -8.9602, -27.0648, - 10.5705, 10.67, 11.7791, 12.1925, 10.0236, 6.6964, 5.1163, 2.6148, 4.7648, 2.5521, -3.9125, -7.4628, -9.6721, -9.3307, -9.9466, -8.0895, 1.1968, -3.82, -3.4846, -22.458, - 7.5905, 8.3863, 11.5587, 16.2565, 22.0088, 23.0422, 17.8049, 13.1018, 17.1694, 13.5769, -0.2381, -1.8062, 1.5806, -10.3901, -20.8106, -24.7914, -25.0524, -24.3552, -19.3769, -25.2554, - 7.3275, 11.616, 16.6781, 15.5131, 8.1538, 4.8147, -1.7134, -2.9599, -6.5688, -7.0695, -0.9248, 5.3367, -4.508, -7.1758, -3.427, -3.5021, -8.7907, -5.2842, 1.7479, -19.2635, - 8.6994, 13.7488, 20.2706, 15.6056, 8.03, 2.7906, -2.4915, -6.3762, -9.0577, -10.4892, -11.7811, -10.7422, -7.7494, -0.3422, 10.0858, 3.8928, 3.968, -2.0796, -2.0561, -23.9265, - -1.8066, -1.3696, 1.0493, 1.3711, 1.9691, 1.1999, -1.8646, -1.9643, -1.7749, -1.339, -3.3717, 3.1526, 1.2109, 0.799, 0.4966, 2.5531, 3.3704, 2.3429, 4.9229, -10.9469, - 4.0689, 7.4175, 12.694, 18.06, 16.5869, 9.3259, 4.5282, 2.8636, 1.6428, 4.7328, 12.4121, 9.1212, 6.2302, 0.0152, -12.5596, -17.7355, -18.6999, -12.797, -17.6503, -30.2571, - 0.8292, 2.6495, 1.8804, 4.1439, 5.6667, 5.7021, 4.9475, 6.8868, 6.795, 8.0289, 10.5666, 8.6874, 1.8534, -2.2297, -6.3646, -6.79, -8.1505, -9.3082, -10.0423, -25.7522, - 7.1022, 3.8236, 1.8946, 4.423, 4.784, 4.6315, 5.8219, 2.7914, 1.6501, 0.4344, 2.2205, 4.0071, 0.0326, -2.6285, -2.5436, -3.5874, -3.6688, -4.2155, -7.0087, -19.9643, - 0.1242, 12.2019, 4.3084, 4.2478, 1.9093, 0.6288, 1.1102, 1.5269, 2.2918, 5.1362, 2.1955, -5.7687, 1.1936, -1.4469, 0.2971, -4.6605, 0.8522, 1.2017, -3.9848, -23.3647, - -5.1159, -1.2775, 2.526, 4.1265, 3.4097, -1.7194, -0.8844, -1.4795, -5.4958, -6.8537, -1.5398, 0.9661, -2.324, -4.8943, 8.2925, 3.4432, -1.7853, 6.31, 13.441, -9.1454, - 3.9898, 4.3777, 4.2357, 3.0453, 3.7447, 2.5019, 1.1011, -0.478, -2.4003, -0.6497, 0.8291, 0.2117, 0.0985, -0.2133, 0.383, -1.785, -1.0322, -2.1328, -1.6069, -14.2203, - 11.3622, 14.7416, 16.8859, 15.0883, 9.9488, 8.7692, 4.3995, -2.0242, -2.6878, -1.0092, 0.7764, -2.2298, -4.084, -8.1165, -6.2525, -5.2064, -7.0092, -6.7164, -9.2528, -27.3833, - 3.6579, 2.8996, 4.0461, 8.3701, 17.0082, 23.3625, 16.2578, 7.1955, 17.3887, 6.3999, -4.2883, -9.9015, -12.7556, -12.3388, -5.468, -10.3674, -10.9476, -10.1432, -6.0175, -24.3585, - 7.5312, 5.8939, 4.3265, 4.0014, 2.9087, 1.6542, 2.9601, 3.9087, 1.37, -2.9778, -0.8059, -0.8752, -0.992, -0.8125, -0.8336, -0.0306, -2.6451, -2.7999, -4.2986, -17.4834, - 15.3876, 20.0855, 22.6771, 20.6277, 15.1509, 8.8202, 3.6289, -2.1904, -8.5688, -13.1818, -15.2549, -15.0083, -12.7233, -8.7307, 0.5974, 4.3829, -2.277, -0.0304, -7.8902, -25.5026, - 23.6589, 23.2539, 20.352, 15.1761, 11.4144, 5.8059, 5.4712, 1.316, 0.0827, -2.4308, -7.0613, -6.1765, -1.8534, 5.6004, -1.4387, -15.4564, -17.387, -18.868, -17.3832, -24.0763, - 11.6709, 14.1123, 21.1753, 25.8068, 20.7082, 14.063, 14.1588, 17.922, 14.6153, 4.8179, 3.3194, 0.469, -11.4997, -19.1991, -21.5666, -21.4213, -21.1902, -22.3547, -22.1566, -23.4508, - 4.6799, 3.0606, 1.6539, 6.2007, -2.0201, 3.0954, 0.5569, 3.2707, 1.3312, 0.0725, 1.8286, -5.9667, 2.657, -0.0978, -1.2174, -2.2597, 0.2234, 1.4765, -4.2077, -14.3379, - 9.3104, 11.8578, 14.9832, 13.1906, 8.5578, 4.2616, -0.4942, -3.0677, -3.2171, -5.1322, -1.7298, 6.6384, -0.8475, -8.0712, -9.5863, -5.8386, 2.661, -8.3104, -6.0285, -19.1373, - 2.2896, 3.8587, 4.9224, 8.6357, 13.9236, 17.8222, 15.7427, 11.5211, 7.5272, 9.1679, 9.7247, 5.7451, 0.5275, 0.3504, -6.2281, -12.9212, -14.0843, -20.5964, -26.6432, -31.2855, - 18.9039, 18.0327, 13.6297, 9.7561, 7.4319, 5.3744, 2.9646, 1.7415, 0.6716, 0.6859, 2.7446, 0.5342, -4.3187, -6.1877, -6.9311, -9.8734, -11.9041, -9.1281, -8.9591, -25.169, - 6.4513, 6.7843, 9.4438, 12.9549, 16.4801, 14.9093, 8.2954, 1.6877, -2.5193, -4.4922, -6.7348, -6.9853, -4.6783, 0.7181, 1.0483, -5.1128, -1.1161, -7.5305, -12.398, -27.2058 -}; - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/train_120_2.txt */ -#ifdef __EMBEDDED__ -static const float codes1[] = { -#else -static float codes1[] = { -#endif - -1.2668, -1.2477, -0.0681, 3.8419, -0.0693, -1.7919, -1.5943, 0.8402, 0.155, -3.1526, -3.0204, 0.7337, -0.2603, 1.659, 0.023, 5.5893, -2.4959, 1.9604, -0.6348, 0.7999, - 2.6673, 1.4923, 1.1408, -0.7478, -1.0755, -1.3421, -0.4884, 0.2535, 0.2951, 1.5088, 1.9447, -2.662, 2.3751, 1.5298, 4.1357, -6.563, -2.1766, -2.7535, -0.7706, 1.2362, - -0.6415, -0.4348, -1.2178, -0.987, -1.1057, -2.1421, -2.3594, -0.4977, -4.1484, -4.712, 5.5425, 3.0695, 3.661, 2.9729, 2.4379, -1.6136, -1.3052, 2.1342, 1.9164, -0.5692, - 1.593, -1.1175, -1.2476, 1.6203, 2.5315, 2.3427, -0.5223, -3.1063, -2.1739, -1.4774, -2.6108, -3.5842, -0.3828, -0.1511, 0.8929, 2.5717, -1.7657, 1.8954, 6.0193, -1.3272, - -0.2102, -0.3681, -1.2724, -1.152, -0.3715, -0.5633, -2.5238, -1.768, 4.7356, 5.6452, 0.862, 0.875, -0.8932, -1.5918, -1.4047, -0.072, -0.608, -0.7876, 1.3972, 0.0717, - 5.1178, -1.5391, -4.2881, -1.9745, 1.3515, 2.4014, 0.9329, 3.4647, -2.4062, -0.4224, 2.8708, -1.6053, -3.1492, -2.6783, -2.6937, -4.4645, 1.8599, -0.5456, 3.891, 3.877, - -1.7119, -1.0101, -0.5002, -1.7849, -0.4884, 0.2279, -0.8335, -1.0083, -1.2819, 0.1129, -1.3674, -1.3338, 0.929, 3.0765, 2.6339, 3.5627, -2.2713, 0.6565, -1.2099, 3.6022, - -1.5938, -1.3264, 0.9856, 2.8765, 2.37, 1.2528, 1.2586, -1.2453, -1.3974, -1.4988, -1.6309, -1.2183, -0.1625, -0.869, 0.003, -2.0081, 1.358, 2.9585, 3.3396, -3.452, - -1.368, -0.6304, -2.5755, -1.2397, 4.9487, 2.7251, 1.4675, -0.1832, -0.3932, 1.4723, 1.741, 0.6216, -1.0849, -0.7112, -0.3751, -1.7539, 0.1222, 1.9858, -0.5248, -4.2444, - -1.2786, -0.2384, 0.6718, 2.9763, -1.6959, 6.4607, -3.9459, -2.056, -2.7306, -0.2583, 0.0389, -3.6271, -4.0721, 0.826, 0.8112, 2.8769, 2.24, 0.5444, 0.3571, 2.0995, - 2.5196, 2.3359, 1.662, 0.625, -1.0528, -0.9133, 1.8668, 1.2853, 1.4368, 1.4676, 1.1301, 1.3664, 1.1076, -3.2853, -0.453, 0.4467, -4.7302, -3.8149, -3.9866, 0.9865, - 0.1738, 1.294, 1.3514, -0.3684, -0.7078, -0.2329, 1.3467, -1.0678, -0.0262, 0.2448, -0.8418, -0.391, 2.7415, 2.9948, -4.5965, -0.1192, 0.2496, 0.4684, 0.0669, -2.5805, - 0.2482, -1.3236, -1.481, 0.9433, 3.4287, 2.2233, 8.9344, -1.1138, 0.4585, -3.747, 3.0416, -2.7394, 2.288, 1.6598, -3.6439, 0.0633, -2.7363, -1.2617, -3.1924, -2.05, - 1.4672, -1.3248, -0.5511, 1.4512, -0.471, -1.2381, 2.9453, -2.3244, 2.3249, -2.1969, 0.9414, -1.9926, 0.5254, 0.0792, -3.2076, -2.414, 3.5291, 3.5738, -0.0613, -1.0556, - 1.556, 0.0091, 0.077, 2.8542, -1.4594, -2.0102, 0.544, 2.8119, -0.2925, -0.7111, 0.9589, -1.6923, -1.8606, 1.104, -1.6733, -0.0895, 3.6894, 2.7628, -6.9922, 0.4138, - -1.5539, 0.682, 1.4458, 0.4297, -0.4115, -1.3266, 0.5024, -0.6975, -0.382, 1.284, 0.9597, -1.0561, 2.2198, 0.1292, 1.4343, 3.0313, -3.9845, 0.6776, 0.338, -3.7217, - -2.0283, -1.5216, 1.0103, 4.8788, 3.7028, 4.4, -0.3076, 2.4853, 2.2296, -1.5213, 0.436, -5.9903, -2.6578, -2.3985, -2.0127, 1.3737, -3.795, 2.3105, -0.2099, -0.3839, - -1.7339, -0.9861, -0.2078, -1.2579, 2.5808, -0.9255, 3.2388, 1.0999, 3.6754, 4.6424, 1.9111, 1.4716, 2.7531, -0.2725, -0.3573, -0.5392, -4.2109, -6.4662, -2.3713, -2.0442, - 0.7177, 1.4094, 0.7205, 6.8683, 1.7836, 7.1562, -2.9368, 3.4036, -0.6064, 2.3377, 2.8714, -7.0408, -9.7129, 4.1278, -3.4444, -5.9919, 5.5073, -0.8996, -7.5142, 1.2434, - 0.8042, 1.5886, 0.8754, -0.4378, 0.2336, 0.0424, -0.1245, 0.0847, 0.6402, 2.6508, 1.6375, -3.2393, -2.2823, -2.1435, -1.5628, 0.4271, 2.2571, 2.5048, -1.5933, -2.3629, - 0.6292, 1.1956, 0.8357, -0.8634, -0.1796, 1.8589, 0.694, 2.8309, 2.5569, -0.4253, 0.2913, 0.7772, 1.418, 3.421, -1.9468, 4.2236, -7.3361, -3.7802, -3.598, -2.6029, - 1.9034, -0.7126, -2.3343, 0.2344, 3.6545, 3.9405, 3.0203, 0.1937, -1.1906, -1.9012, -0.6667, -1.259, -1.1021, -2.665, 0.14, -1.4183, -1.2342, 0.0547, 0.1519, 1.1906, - -3.6125, -2.2485, -1.082, -1.9912, -1.1521, -2.2527, -2.5383, 0.932, 1.1572, 2.023, 1.6579, 1.3763, 6.4432, 2.1652, -2.0259, 1.9724, 3.2824, -0.4615, -1.1909, -2.4539, - -1.153, -2.179, -0.7355, -2.0941, 0.6246, 1.7502, -3.3266, -3.4374, -2.6486, -2.2938, 0.9286, 1.3396, -2.1323, 0.2739, 1.2664, 4.4111, 1.3864, 3.905, 2.8286, 1.2861, - -1.9752, 0.7423, 2.4137, 1.8854, -1.1393, -2.5802, -2.9355, -3.674, -1.8244, 0.3099, 6.1403, 4.6215, -2.0636, -3.7172, -0.94, 1.424, -0.3669, 2.0205, 0.6217, 1.0369, - -0.1561, 3.9621, -1.3649, 0.2912, 3.5366, 0.8537, -0.9376, -3.7333, -6.5447, -1.2107, 3.3183, 2.5758, 1.9693, -4.869, 0.6212, 0.0985, 1.5746, 0.2433, -2.6173, 2.389, - 0.6849, -1.1521, -2.0382, -0.8953, 0.8771, 1.1996, -0.9704, -1.3679, -1.146, 0.0582, 0.2636, -1.9785, 0.5235, 1.6427, 0.6362, 0.7411, 5.6052, -0.3533, 0.6579, -2.9883, - 0.5989, -3.9928, -2.1937, 3.8742, 2.0056, 2.3132, -0.4478, -2.0855, -4.3607, -2.126, 5.3544, 1.9827, 5.3407, -0.8346, -2.4624, 1.1729, -4.3825, 0.7623, -1.9429, 1.424, - -3.3103, 0.0394, 2.0113, 2.6733, 1.2484, -0.2186, 0.1156, -0.4856, 2.4501, 0.8179, -1.1164, -2.1952, -0.9719, 2.0728, 0.4002, 1.1891, 1.7518, -1.2571, -3.3136, -1.9012, - 1.886, 6.9767, 2.4311, -2.0414, 3.91, 5.5378, -1.7478, -0.8304, 2.8523, -1.4075, 0.1309, 1.8232, -2.8868, -7.5003, -3.4867, -3.2756, -2.8584, 6.2611, -7.4682, 1.694, - 3.5074, 1.3392, 1.0862, 2.9814, 0.8158, -2.616, -2.3837, -0.8255, -0.1595, 2.0087, -2.8876, -2.4727, -1.3574, -1.2864, -1.5711, -1.0772, 0.4648, 2.7262, 2.1044, -0.397, - -0.143, -0.9788, -2.1195, -0.7774, 4.0804, 3.7123, 1.5082, 0.2869, -2.5968, -2.0127, 1.5147, 3.7486, 3.2447, 0.6959, 0.3308, -2.4516, -3.4598, -4.1669, -0.687, 0.2709, - 0.0724, 0.3235, -1.9536, -2.7454, -3.3392, -1.9023, -1.015, 0.7511, -0.0539, -2.8386, 5.2737, 5.1053, 1.4372, 1.4046, 1.4504, 2.4912, -2.6526, -0.6188, -0.653, -0.5369, - -6.955, 1.3233, 4.3542, 2.9502, 0.9929, -0.1186, -0.8657, -2.3452, 3.5061, 2.8348, -4.1741, -4.1264, 4.697, 3.0117, -0.2849, -8.0081, 3.4452, 0.7819, -2.7443, 1.7251, - -4.0878, -0.8849, -4.7521, 5.0067, -3.351, -4.8233, -6.6328, 4.8752, -0.7474, 3.8614, 2.6271, 0.9119, 1.0371, 2.2968, 4.316, -3.7042, 0.99, 0.496, 4.7952, -2.23, - 0.5901, 2.0654, 1.7824, -0.557, 0.4874, 2.7659, 0.8232, -0.1306, -0.6795, -1.3143, -1.248, 0.9969, 2.0563, 0.1625, 0.7346, 0.0223, -1.6836, -2.9087, -4.1058, 0.1406, - -0.5074, -0.8373, -0.8579, -0.046, -0.0854, -1.4221, -0.6935, 2.5302, 2.2014, 2.2225, 0.5896, 1.2715, -0.7624, -2.7997, -5.3296, 4.0372, 3.2176, -1.4146, -1.3705, 0.0565, - -3.819, -1.1051, 1.5169, -0.5542, -1.5591, 0.2921, -2.1144, 1.6664, 2.8275, 0.7745, 2.6977, 4.4021, -0.201, 0.0685, 1.3158, -0.8045, -5.9834, 1.7874, -2.1592, 0.9509, - 0.6749, -0.0635, 0.3751, 0.6561, 0.4718, -2.3144, -4.9191, -3.0907, 0.5499, -0.3498, 1.237, 2.6699, 1.5353, 1.6809, 1.2117, -1.3733, 0.0977, 1.361, 0.0102, -0.4207, - 0.8139, -2.9454, -1.1694, 1.1826, 3.5742, 4.3331, 1.4143, 1.7017, -1.2428, 4.8459, -4.4642, -0.0684, -1.7273, -0.1932, -2.6041, -1.4272, 0.2873, -0.9676, -0.1422, -1.2013, - -1.869, 1.2475, -2.8884, -0.3842, -0.3588, 2.7759, -2.006, -2.2023, -2.6599, -2.5791, -3.1221, 3.2645, 1.8131, 2.863, 6.3144, -4.2619, 0.7589, -0.7608, 4.8657, -0.8104, - 2.3449, 0.3057, -2.2411, -1.3084, 0.6572, -0.379, 0.2674, 0.5337, 0.4996, 0.8832, 2.3616, 3.9339, 4.7846, -2.7473, -0.5167, -0.0864, 0.9288, -4.3018, -4.0903, -1.8294, - 2.9658, 2.7467, -1.9276, -4.0009, -0.7257, -0.6616, -2.0255, -1.2898, 0.3022, 1.581, 3.0521, 2.579, -3.2369, -0.4791, 0.4455, 0.1138, 1.1032, 0.9003, -1.5708, 0.1285, - 5.2204, -2.819, 0.8203, 0.5992, -1.3205, -2.1549, 5.0256, -1.605, 0.5506, -2.8092, -0.2831, -1.6376, -1.8233, -0.0177, 2.5319, 2.0586, 0.9166, -1.5417, -0.3071, -1.4039, - 0.109, -0.1359, -0.4821, -0.506, -1.1903, -0.1205, 1.301, 0.0989, 0.228, 1.3298, 1.4648, 0.728, 0.0076, -1.4837, -0.1633, 1.2525, 0.9437, -0.0019, -3.9783, 0.5988, - -4.0941, -3.422, 0.4966, -5.4678, 6.0636, 1.1749, -0.183, 3.3518, 3.548, 1.4243, 2.5791, -5.9065, -1.8723, -1.6703, 1.399, 6.8845, 1.8643, -1.2344, -3.7475, -1.188, - 3.5819, 1.2282, -0.2187, -0.8194, -0.0683, 0.6784, 0.9405, -0.1871, -1.0635, -2.3089, -1.7476, -2.3377, -1.8039, -0.2123, 0.7402, 0.881, 0.7063, -3.8015, 4.2698, 1.5426, - -0.7508, -2.5319, -1.4606, 1.0638, -3.8848, 1.206, 2.6878, -1.2315, -0.1629, -2.273, -3.3361, -1.6208, 1.9855, 3.4308, -0.212, -1.4559, -0.3738, 2.3568, 2.3629, 4.2004, - 1.5564, 1.6137, 1.4225, 1.6668, 1.3266, 0.046, 0.1831, -0.3664, -1.4348, 2.569, 2.2918, 1.6955, 1.668, -1.3807, -1.0884, -1.098, -0.5844, -1.0295, -3.6955, -5.3616, - 1.7128, -1.8066, -4.0653, -3.8214, -0.9531, 3.4797, 0.7961, -2.4955, -2.7851, 0.0025, 0.7872, 1.0652, 1.5456, -0.4352, 1.9173, 4.6258, 0.3691, -0.1501, -0.2351, 0.4458, - -1.6777, -3.1299, -1.6947, -1.1535, -2.1999, -3.2226, -0.9846, -2.1533, -0.6467, 2.0938, 2.1307, 2.9065, 1.5181, 3.0875, 0.0486, -0.2157, 1.3461, 0.7741, 2.732, 0.4413, - -2.0098, -0.0651, -1.1313, -3.1454, -1.8173, 0.4664, 2.3278, 3.1806, -3.0726, -1.5969, 3.6994, 0.6478, -0.6833, 1.0635, 1.1405, 6.7102, -4.8934, -4.2029, 3.4752, -0.0933, - 3.0911, 3.132, 3.6764, 1.2247, 2.0977, -0.4399, -3.947, 1.4276, -0.2596, 0.5511, -6.4999, -0.9385, 3.2215, 1.7397, -2.0786, -2.616, -3.015, -2.0586, 1.9218, -0.2304, - 0.5955, -0.9572, -3.8115, -1.2133, 0.96, 3.0247, 8.636, 5.7851, 6.1244, 0.7094, -2.441, -1.1712, -1.7901, -3.5399, -2.8318, -2.5468, -4.9596, -0.6022, 0.6141, -0.5845, - 12.5835, 1.8094, 0.1352, 1.7718, 0.9427, -1.369, 7.1277, 0.0421, -2.3404, -4.665, 1.4653, -2.488, 2.6056, -10.3828, -8.1067, 4.1108, -1.2481, -1.833, -2.7827, 2.6214, - 2.9658, -0.2617, 0.2806, -0.2164, 2.855, 1.9755, -3.5301, -1.235, 0.9311, 0.8713, -2.2265, -0.6005, 2.6386, 2.7666, -2.3603, -2.5163, 1.6854, 1.0161, -7.8883, 2.8489, - -0.9445, 0.6006, -1.3214, -5.0651, -2.1702, -0.0289, 0.1003, 2.2883, 0.0424, 3.4686, 2.0494, 1.6327, -1.6152, 0.122, -2.8666, -2.2261, 4.9579, -2.2581, -2.7323, 5.9663, - -1.3666, -0.2364, -0.3999, -0.9988, -2.0227, -0.061, -0.5411, -2.2113, -0.2283, -1.715, 1.0239, 4.276, 1.9603, -3.0526, -2.5894, 0.8611, 5.2528, 3.4951, -2.2336, 0.7875, - 4.7609, 3.7023, 0.7955, -3.1291, -1.3671, 0.8798, -0.9947, 0.2668, 0.5762, -0.9479, -4.5541, -0.6922, 0.0699, -5.8412, 4.2302, 5.0652, 1.3544, -2.4661, -0.6224, -1.0865, - -2.6815, -0.9958, 1.6109, -1.7618, -2.5561, 1.0357, -1.5863, -2.2811, 3.4491, 1.1806, -0.2855, -0.138, -0.0202, 5.6861, 0.8289, -1.0913, 0.5986, -1.1493, 3.2455, -3.0884, - 1.7353, 3.1908, 5.0898, -0.4602, 0.0751, -2.1427, -5.091, -3.1667, -3.3291, 1.9531, 0.4802, -4.8101, 2.2518, 2.438, 0.6439, -7.3548, -0.0689, 1.8997, 5.717, 0.9491, - -1.1588, -3.1119, -3.4525, 0.2538, 1.3345, -1.05, -0.387, -0.0472, 0.1522, 4.0806, 2.8886, 3.8741, -1.9507, -2.9183, -0.3828, -0.0805, 0.4136, 1.1466, -3.1863, 3.5818, - -4.1654, -5.7362, -5.0041, -0.9889, 4.1884, 4.8135, 1.5658, -2.3781, 0.8425, 7.5151, 7.3977, 3.9243, 0.6283, 0.9194, -5.0741, -1.9566, 0.21, -4.9786, 0.876, -2.5989, - -5.3114, 2.2992, -1.9803, 1.215, 9.1545, -2.196, -2.8749, 9.6686, 0.5512, -4.17, -1.1338, -4.1549, 1.6645, -3.1643, -1.78, 4.9896, 0.339, -0.0421, -1.0391, -2.0347, - 1.074, 2.184, 0.9247, 2.0617, -2.1994, -4.0653, -1.5118, -0.9397, 1.3781, 2.9104, -0.8864, 8.5382, 0.5495, -3.5922, -0.2482, -0.5485, -0.9604, -1.8453, -3.1808, 0.3575, - 3.5141, 2.7621, 1.2101, -0.3665, -1.1827, -0.5351, 0.4822, 0.7598, 0.8241, 1.4976, -0.8943, -2.8067, -2.3512, -2.0448, 0.3706, -0.9201, -3.9192, 1.1431, 0.4761, 1.9809, - -1.7817, 1.1939, -1.2195, 1.7524, -4.7374, 1.152, 0.0973, 1.5475, 2.2848, -7.787, 2.0346, 0.5213, 2.8861, 3.1077, 1.1974, 2.3936, -1.4248, -0.2888, -1.4706, -1.4588, - -0.7677, -2.0426, -2.9918, -1.8722, -1.4336, 0.4207, 1.4107, 1.0509, -0.1714, 0.2221, 1.3054, 0.5884, 3.1454, 1.8747, 0.151, -0.5701, 0.5457, 2.7058, -0.0854, -3.4859, - 1.6593, 1.0024, 0.3202, 1.0267, -0.2368, 0.1208, -0.7272, -1.0487, 0.2686, -1.0197, -1.3131, 4.1829, 1.0297, 1.7779, -3.0898, -0.7777, -4.5532, 2.1765, -0.31, -0.4886, - 2.9341, -0.2895, -2.421, 0.9438, 2.949, 1.2447, -0.4279, -0.4133, -0.2487, 0.6464, 0.1859, -0.8613, 0.069, -2.0024, -3.5783, -0.9123, -2.3469, 0.3089, 5.3909, -1.171, - 13.8818, 0.6217, -0.6459, -3.4218, 0.8331, 0.8918, 2.2009, 4.0596, -3.038, -7.3862, -3.2105, -2.2108, 4.7972, -5.3735, 3.887, -1.819, -0.5123, 0.9752, -3.6921, -0.8383, - 0.2536, -11.0226, 4.4625, -7.9396, 8.6657, 2.6088, -1.0215, 0.4492, -5.0641, 2.7194, 1.1735, 2.207, 3.3733, -0.2605, 5.5319, 3.5989, 0.2759, -3.6185, -2.9338, -3.4591, - -0.2533, -1.2245, -1.1924, -0.1962, 0.6099, -2.1289, -2.0002, -2.039, -1.5592, 0.7879, 0.1165, -0.9325, -1.5485, 0.4552, 0.3883, 1.9054, 2.3495, 3.9138, 2.3594, 0.1886, - 0.175, 3.7528, 1.6899, -4.327, -5.0437, -3.141, -4.7768, -1.9628, -4.5893, 5.9435, -9.6773, -0.4601, 3.0571, 1.2797, 0.1161, 3.5574, 3.7157, -2.0222, 5.9308, 6.7823, - -0.6999, -2.9933, -3.6606, -0.6207, -1.4032, -1.1364, 0.253, -0.9004, -2.7685, -4.3142, -0.7561, 0.8142, -0.4715, 0.8444, 2.0053, 0.5983, 3.3363, 4.4913, 6.9146, 0.4673, - 1.0959, -0.0886, 0.2379, 3.2725, 1.2016, -1.1581, -1.364, -0.6268, -0.3678, 0.9051, 0.7593, -2.2902, -1.4578, 0.6349, 0.5115, -4.4984, 2.2315, 2.2535, -2.7867, 1.5345, - 3.6055, 3.8842, 2.1794, -0.7568, -1.05, -2.1686, -0.6731, -2.0718, 0.8001, -0.6819, 1.1112, 0.5707, -2.4862, 3.1489, 2.6767, 2.5134, -1.9147, -4.1519, -2.4548, -2.0802, - -1.9388, -0.7447, -0.8349, 0.1123, 0.1251, -1.3476, -2.6413, -0.477, 5.6864, -1.8563, -3.3514, -0.5309, -1.6295, -1.3453, -0.4664, 4.593, 1.1909, 2.9264, 0.9356, 1.5944, - 0.5951, -0.4177, -0.1304, 0.5462, -1.3265, 1.4534, 1.6425, 0.973, 0.8946, 2.1586, 4.2557, 0.8968, -5.0524, -1.9576, 2.6089, 0.6571, 0.7918, -2.2504, -4.5907, -1.748, - -1.6456, -2.0706, -2.4462, -2.5983, -2.5056, 2.0863, -0.9159, -0.8806, -0.8052, -0.7776, 1.0285, 0.4522, 1.5131, 3.453, 4.933, -2.7752, 1.775, 2.1982, -0.0181, -0.0006, - 2.2117, 0.6658, -0.1647, -0.7769, -0.3291, -0.0686, 3.183, 1.8603, 1.0488, -0.7866, -1.0352, 1.6465, 0.2395, 0.3989, -1.2496, -1.9498, -2.6996, -7.5216, 1.332, 3.9951, - 1.0405, 1.3681, 2.7153, 3.0279, 2.8206, 1.9933, -1.5434, -2.0223, -1.049, -1.2756, -0.1434, 0.2554, 0.8858, 1.3178, 0.3714, 3.567, -3.1912, -1.0147, -3.0243, -6.0993, - -0.8348, -2.4017, -3.6731, -2.0399, -0.2474, -1.064, -1.1488, 1.3352, 2.8367, 5.1498, -0.0673, 1.7148, 2.0672, 0.78, -2.8302, 2.8981, -0.7525, 1.3119, -2.4119, -0.6222, - 3.0927, 2.0509, 2.4548, -1.3001, -3.9942, -0.7486, 2.8523, 0.1569, -4.3404, -10.5627, 4.2087, 4.2968, 2.7013, -1.1646, 0.2008, -2.4272, 1.8708, 0.5192, -2.3092, 2.4416, - 0.6449, -3.5216, -3.8362, 2.1329, -1.2999, 0.6434, -2.5079, 3.1409, -0.943, 2.1409, -0.9005, 2.6639, 5.842, 2.2508, -0.1834, -3.5407, -2.0329, -1.9827, -0.2675, 1.5565, - 5.1512, 4.1361, 0.9497, -3.1897, -6.0608, -4.8346, -0.7128, -2.1849, -2.1809, 0.1265, 0.3295, 0.2665, 1.1233, -0.4722, 2.7945, 1.1909, 0.4093, 1.9529, 0.638, 0.5674, - -2.0255, 1.8944, 3.261, -0.6543, -0.1603, 1.6419, 1.8339, -4.1284, -1.6495, -7.4417, 2.7611, 3.0349, -5.4696, 5.3754, 0.2729, 5.17, 0.7296, -0.1265, -1.6533, -2.6659, - -7.1882, -6.8851, -0.9549, 2.6573, 1.6288, -0.3149, -2.2361, 1.6706, 4.0565, 3.2723, -2.0478, -0.6505, 2.7769, 4.9536, 1.831, -4.1026, -0.854, 2.2409, 0.8671, -0.7209, - 0.8703, 1.1461, 2.9551, 0.5102, 0.4539, 9.1307, -3.4339, -1.5513, -2.2902, -4.1038, -6.058, -0.8757, 3.583, 2.5081, -1.9449, 0.3605, 0.8645, 0.6768, -0.2206, -2.5809, - -4.5091, -1.0618, 1.6342, 0.589, 1.0199, 0.707, -0.4636, -0.7393, -2.0902, -4.3948, -1.8491, 2.8967, 1.9263, 0.6394, 4.9955, 3.9485, -0.2145, -1.3652, -1.4955, -0.1736, - -1.2527, -0.6868, 0.0359, 0.5854, 0.7286, -0.5988, -1.0892, -1.2358, -0.5524, -1.8766, -4.8554, 1.3154, 3.0969, 1.2141, 0.4785, 0.5435, 0.966, 0.9526, 2.5969, -0.3662, - -3.4429, -2.5359, -0.7902, 1.6794, 1.395, 0.9304, 0.5281, 2.0451, -0.282, -0.762, -2.3113, -2.5279, -1.2407, -4.6199, 3.9276, -1.3637, 2.0692, 2.0266, 2.415, 2.8601, - -0.0841, -1.4504, -2.5295, -2.1914, 0.016, -1.5806, -3.8581, -1.8751, 1.241, 1.4792, -0.0268, -3.0304, 1.1672, 3.1034, -0.0043, -1.775, 1.0722, 5.8103, 3.7335, 0.783, - -1.2601, -0.9248, -0.9753, -1.158, -0.4657, 0.9286, 0.4457, -0.7164, 2.9298, 6.0232, 1.1288, -9.2201, -2.6002, 1.0866, 3.5907, -0.3994, -0.8783, -0.4493, 3.0463, -0.132, - -2.6865, -1.7683, 0.5719, 4.2697, 0.4434, 0.9403, -0.1787, -3.9995, -1.4954, -2.9666, 0.5871, 0.7458, -0.5643, -3.3758, 2.4009, 1.363, 3.2345, 2.9305, 0.6423, -1.0943, - 0.2605, -0.1269, 0.1894, 0.8801, 5.6065, 4.4842, -0.336, 1.6337, -1.008, 2.2349, -1.3371, -3.4195, -1.5849, 3.4658, -2.7632, -2.8878, 0.2535, -1.0857, -3.4858, -0.9736, - 0.5903, -1.1309, -3.8731, -2.8181, 0.6957, -2.193, -3.7976, -0.1684, 0.3131, 0.8609, 0.0568, -0.1356, 5.9915, 2.3704, 3.984, 0.584, -1.9366, -2.6479, 0.4937, 2.7608, - -1.4917, 0.6707, -1.8279, 0.4736, -4.3226, 7.6508, -0.677, -1.0388, 1.6577, 3.4357, 2.121, -1.6783, -1.9394, -0.4857, 0.0446, -2.1769, -1.5641, 1.5895, 1.475, -1.9161, - -2.4617, -1.4865, 0.9268, 3.7356, 1.9298, -1.0879, -0.9003, -0.6573, -0.4536, 1.1463, 2.5279, -0.9025, -2.1547, 0.5579, -1.4546, -2.5618, -1.102, 1.7633, 4.9058, -2.2707, - 3.2436, 2.0698, 1.3674, -1.4618, -0.4269, 1.2764, 0.316, 1.2237, 0.7208, 1.5117, 1.4584, -0.5527, -0.7757, -2.7217, -4.0792, 1.8261, 2.7197, -3.9546, -1.7508, -2.0101, - 0.2659, 1.9357, 0.5705, -1.8509, -5.0017, -3.7512, -2.7574, 0.2996, -1.125, 0.6895, 2.7521, 3.709, 3.4556, 6.5334, -3.5389, -3.897, -2.9436, 0.765, 1.5177, 2.3717, - -1.2532, -0.7651, -0.7634, -1.69, -2.3167, -1.0574, 0.9291, -0.7963, -1.477, -1.6646, 0.5558, 0.7009, 3.4059, 9.2719, 1.4172, 2.4588, -0.7901, -3.7873, -1.0613, -1.3173, - 3.2264, 0.6063, -2.4159, -3.8529, -1.9936, 2.6889, 2.5115, 0.8341, 0.8209, 1.2008, 0.7255, -2.1489, -1.1543, -0.6443, 2.0479, -0.7011, -0.5619, -0.082, 0.5538, -1.6613, - 0.89, 0.2673, 1.2328, -0.1459, 2.5186, 2.3429, -0.5461, -0.5497, 1.9452, 5.1637, 1.5156, -3.9805, -1.5621, -1.5331, -2.7711, -2.2357, 0.7958, -1.6083, -2.3152, 0.5758, - 4.0233, 3.7838, 3.0862, 2.468, -0.8644, -2.4804, -0.9694, -1.9035, -3.4966, -3.959, -3.9724, -1.208, -1.6237, 0.7915, 0.4354, 0.8419, 1.1287, 1.8538, 2.3476, -0.2827, - -0.5315, 1.6742, 2.6296, -0.5391, -1.8812, 2.7171, 6.8646, 3.9934, -2.0577, -0.8537, -4.3316, -2.4473, -2.8864, -0.3456, -1.9169, -1.4494, 0.4578, 1.9608, -0.1673, -0.8898, - -2.1559, -2.48, -1.5001, 1.3457, 3.3362, 2.6367, 1.4331, 2.3397, 3.7557, 3.4063, 1.6588, 1.2723, -0.3658, 0.5614, -2.5827, -5.6096, -3.4952, -4.1966, -1.5564, 2.1965, - 0.1567, -1.6324, -1.8735, -2.1011, 0.8687, 2.8596, 1.0227, 5.0782, -3.8186, -0.4012, -1.0627, -1.0858, 2.3105, 2.5822, -1.0014, -0.6915, 1.2628, 0.1273, -4.312, 1.7113, - 0.5493, 0.1877, -0.3065, 0.0805, 0.17, -0.4682, -0.7192, 0.7521, 1.1935, -1.2445, 0.5061, 3.0407, 3.3122, 2.9044, 2.0613, -2.6946, -2.8479, -1.4855, -3.4536, -1.5377, - 1.2611, 1.2112, -0.4954, 1.5849, 2.8817, 0.5597, -3.2189, -1.8993, -2.3996, 0.0235, -0.927, -1.1263, -1.6443, -3.5163, -1.2543, 1.841, 4.5628, 1.0754, -0.1607, 1.6406, - -0.8759, -1.6975, 0.2532, 6.4042, -3.4246, -2.9858, 1.9661, -3.2513, -4.0109, -0.5134, 2.5545, -3.0437, -2.1093, -3.6915, 4.1398, 6.0036, -1.3456, 1.3628, -1.0285, 5.294, - 8.8405, -7.236, 2.8239, 7.1563, -1.4248, -8.041, -1.9196, 1.8187, -0.932, -3.1134, 1.9133, 4.5783, 5.5866, -1.744, -0.1615, -9.2039, 4.4457, -2.5424, 2.5822, -3.4268, - -1.9594, -0.144, -0.0014, -0.5248, -1.274, 1.9184, 0.2637, 0.9658, 3.9879, -1.7646, 0.8739, 3.6824, -1.4748, -0.5493, 4.194, -0.5892, 0.9704, -2.3393, -5.2036, -1.0319, - -1.8153, -0.8777, -1.3975, -2.8688, -1.315, 0.6005, 2.0795, 2.0158, -0.0187, 2.3273, 5.2446, 3.191, 0.542, -1.0394, 1.3294, -4.655, -1.5318, -1.6999, 0.2573, -0.3684, - 4.3069, 1.2137, -1.8464, -3.0026, -0.9539, 3.1554, 3.4215, 2.0922, 0.4828, 1.6102, 1.1857, 1.5577, -1.8593, -2.9907, -3.064, -4.6355, -1.6614, 1.3592, 1.5116, -1.8833, - 0.6407, 1.1519, 1.5429, -0.7369, -1.7269, -1.6671, -0.129, -0.7049, 0.8116, -1.2198, -4.0157, -5.1437, -3.1965, 2.3418, 0.7111, 2.6992, 0.5585, 1.9829, 4.9644, 1.1355, - 0.6364, 2.1072, 0.987, -5.1572, -4.3363, -1.0839, -1.3521, 1.8709, 0.8132, -0.2938, -0.2079, -2.5242, -0.8999, 2.3401, 0.7392, 3.1549, 3.0568, -1.1375, 0.0963, 1.1908, - -0.0136, -2.4241, -0.4209, 1.6339, 3.4114, 3.5889, -1.41, -3.5651, 3.1831, 2.0426, 0.5548, -2.0177, 1.6429, -3.2634, 1.578, -4.1305, -0.9389, 0.1651, 0.4588, -0.0751, - 2.0687, 0.8544, -0.3821, -0.1978, 1.0057, 2.3289, 3.0174, -0.333, 2.0178, -0.6679, -0.1993, -1.917, 1.6018, -0.3834, 0.6526, 1.9588, 0.3355, -2.0462, -4.1767, -5.5379, - 2.7809, 0.2282, 0.482, 1.9051, -1.735, -3.4716, -3.3685, -1.3005, 0.1251, -1.5366, -1.9516, -2.1469, 1.2541, 3.7123, 3.039, 0.8154, 2.3154, 2.5014, 0.0685, -3.7166, - -2.7442, -0.5589, 1.8753, 0.2528, -1.7122, -1.5279, 0.3471, 1.3429, -0.0809, -1.0979, -0.5556, 2.8899, 0.2864, 2.18, 1.7006, -3.4442, -2.6681, 2.9174, 1.9107, -1.3132, - 1.1471, -0.3191, -2.5131, -2.6788, 2.7236, 4.0318, 2.942, 3.1336, 1.5351, 0.48, -0.0086, -1.0945, -1.1975, -0.4758, 0.1588, -0.497, -0.2437, -3.5219, -3.3061, -0.2958, - -0.6947, -3.5085, -2.7613, 0.0475, 0.2365, -2.4104, -0.4597, -0.9262, -0.2261, 1.8983, 0.9162, 0.3544, -1.0767, 2.3229, 2.3748, -1.6417, 3.4712, -3.6716, 0.1472, 5.6077, - -1.7531, -0.9915, -0.4352, 0.4089, 0.189, -1.7111, -0.6401, -0.9353, -0.5743, 0.3365, -0.6869, 0.9392, 0.8776, -0.2201, 0.7815, -1.7487, -0.2509, 3.0732, 0.2971, 3.0442, - -6.4696, -1.5332, 1.3136, 7.9582, 4.7035, 0.4178, -1.4784, -2.4577, -0.6662, -2.4183, -3.1348, -2.0591, -4.3423, -0.208, 1.5975, -2.6953, 0.1211, 4.7779, 4.5315, 2.0419, - 0.8642, 3.0824, 1.7461, -0.8529, 0.9231, -0.3502, -2.7586, -2.7081, -1.4853, 1.1577, 2.4953, -2.0279, 3.1643, -1.1352, 0.2786, -0.165, 2.423, -0.5282, -0.4006, -3.7227, - -3.9091, 0.2639, -0.0395, -5.0339, 1.4635, 7.9381, -1.8279, -7.5321, 1.8947, 0.9696, -7.1991, 7.7502, 4.8838, -5.2722, 5.2271, 6.4012, -8.2785, -5.8271, 0.4487, 7.6786, - -0.4051, 0.3015, -0.5211, -1.1563, -1.5548, -0.8506, -1.7742, -0.6679, 0.3853, 3.9695, 3.145, -3.5632, -0.3392, -3.3757, 1.3514, 4.4934, -1.2754, -0.4248, 1.0022, 1.2601, - -3.0667, 3.2388, 3.6288, -0.3263, -3.6989, -4.3941, -3.0073, -2.9882, -2.7834, -3.8873, 2.3701, 6.1068, 1.0432, -2.8444, 0.146, -2.5272, 1.8208, 2.6818, 7.7176, 0.7699, - -0.8674, 0.6588, -0.0766, 1.935, 3.3452, 2.7012, 0.4707, -0.8282, -0.7703, -3.8252, -2.8814, -0.2389, -1.3895, -0.9376, 0.2572, -3.4418, -2.3763, -1.8695, 7.4789, 2.6558, - 0.8567, 1.9741, 0.6363, 2.1993, 1.9072, 2.2211, 3.7376, -0.0455, 1.3289, -1.0736, -4.8817, -4.0284, 2.4624, 1.0596, -3.8101, -3.8498, 0.8895, -0.5176, -2.3743, 1.3083, - 3.7465, 3.5865, 0.1979, 0.4072, -1.1714, -1.4598, -2.1688, -1.4971, -1.1953, -2.8028, -1.8515, 1.1483, 3.7654, -2.6485, 1.2635, -2.4929, -1.4965, 0.6356, 3.3756, 0.6583, - -1.7286, -0.6675, 0.3769, 1.1159, 0.0587, 1.4828, 1.214, 6.0165, 1.2212, -3.4526, -2.4321, -0.8616, -2.2663, -0.0017, -0.0046, 0.2615, 0.0517, -0.8546, 0.5801, -0.1095, - 3.4455, 1.4668, -0.0851, -2.9245, 0.0932, 1.2861, 1.125, -0.6317, -4.0005, -4.4206, -1.5097, 1.3643, -0.1238, -0.8046, -2.45, 4.2293, 2.9297, 3.2594, -3.0122, 0.7633, - 2.2354, -0.6334, -2.7256, -1.7876, -1.8603, 0.6549, 0.1244, -1.81, -1.7636, -2.7665, 1.0419, 3.6034, 2.7187, -5.8124, -0.9848, 2.8478, -0.3193, 3.4835, 2.5353, 1.2184, - 3.0602, 4.3425, 2.426, -0.5623, -0.8919, -0.273, 1.3901, 0.4772, -0.5219, -1.3754, 0.4815, 2.4087, -5.0472, -5.6009, -2.8901, -2.4607, 1.8809, 3.5997, 3.9232, -4.3669, - -0.0346, -0.2122, -0.229, -0.9365, -0.4221, -1.93, -2.3572, -2.9919, -2.2394, 3.2115, 2.4104, 2.4249, -0.5682, 1.5001, -1.3857, 2.614, -1.8866, -5.618, 7.3368, 1.3135, - -0.4484, -1.1107, -1.9143, -1.2992, -0.5392, -1.0181, -0.6562, 0.5186, -0.7919, -1.4379, -4.0959, 2.4107, 1.5417, 0.0557, 3.4844, 1.7096, -0.8275, 1.7994, 2.0983, 0.5209, - -0.4549, 0.183, 0.2262, -2.2572, -1.5931, -0.7026, 2.6431, 2.6098, 4.0381, -0.4805, -2.9134, -3.5443, -0.6536, -2.1551, 2.0956, 1.2393, 0.2979, 0.9155, -2.0621, 2.5682, - -0.1092, -1.2889, -2.5682, -2.3378, -1.7259, -0.5628, -0.6114, -2.8295, -2.569, -3.3678, -2.2669, 0.6023, 0.3823, 5.9006, 5.7607, 1.9871, 0.6942, 1.2471, 3.2445, 0.4186, - 0.6515, 1.8638, -0.3444, -2.0169, -0.6995, -2.9879, -2.4596, -1.0847, -0.8686, -2.3776, 2.0331, 4.8909, 4.1694, 1.269, 1.4079, 1.9289, 1.882, -0.9986, -3.0198, -3.239, - 1.7936, 1.2201, -1.9231, -2.6761, 1.6107, 7.0585, 8.8031, 2.9894, -2.3291, -6.5825, -1.5641, 3.0126, -4.0096, -4.0332, -0.6223, -0.5985, -0.8359, 1.2689, 0.3585, -2.941, - -1.2384, -0.3295, 2.3565, 3.0657, 3.2204, 1.089, -0.5456, 0.1283, 2.9904, -0.097, -5.2104, -1.5801, -2.5751, -2.3243, -0.3014, 2.6881, 0.5623, -1.5424, -1.9388, 1.5825, - -2.6631, -2.8705, -3.6445, -0.1511, 1.0369, 4.6018, 2.7993, -0.5794, -0.1152, 0.9196, 4.1279, -0.7083, -3.1505, -2.187, -2.5145, -0.8667, 1.9629, 3.781, 1.8562, -1.6347, - -3.7832, -0.9972, 1.0298, 0.8253, -2.4369, -3.3827, -2.6892, -0.8231, -1.082, -0.0375, -0.7937, -1.8433, -0.5302, 3.8146, 2.3123, 1.6122, 4.1004, 5.6672, -1.045, 0.0824, - -0.1, -2.02, -0.5383, 2.2917, 0.8366, -2.2105, -0.8495, 2.1052, 3.4989, -0.0827, -0.3031, -1.7154, 1.3463, 5.4572, -3.0939, -0.0935, -1.1704, -5.241, 2.43, -0.5476, - -3.7789, -1.9485, 1.8338, 2.9833, 0.6807, 1.8337, 5.1432, -0.4532, 0.5973, -0.6042, 0.8753, -1.5014, 0.4292, -2.2709, -1.2993, -0.1667, -1.6955, 1.1932, -6.0865, 4.2353, - -0.492, 0.0568, -2.6837, -3.2294, -0.292, -0.679, 2.7843, 3.0219, 1.7934, -2.2037, -3.0967, 1.8829, 0.5782, -1.6334, 1.9235, 4.5606, -4.2261, -0.0121, 2.2982, -0.3517, - -0.6429, 2.5139, 2.3667, 2.2, -1.8905, -1.3195, -0.0575, -0.672, 2.8832, 0.3828, 0.9744, 2.9334, -0.6053, 3.2595, 2.5269, 0.0016, -5.8119, -0.9627, -4.8744, -3.2058, - 0.8584, 0.9302, 0.363, -0.3058, -0.919, -1.1142, -3.3748, -2.621, 0.9921, -0.044, -0.2277, 0.806, 1.7478, 2.0581, 0.39, 4.4187, 5.843, -6.6138, -3.1191, -0.068, - 0.3281, -0.0986, -1.1173, -1.9481, -2.4515, -1.0863, -1.3545, 1.1448, 2.8412, 3.7501, 2.6741, 2.7224, 1.8554, 1.4018, -3.7195, -2.9142, -1.2068, -4.2062, 2.968, 0.417, - 0.2181, -1.3017, -1.3715, -0.9326, -1.1639, -0.6082, 2.2905, 2.1838, 3.153, 3.3746, 2.0088, -0.8055, -1.0486, 0.7007, -1.796, -0.3898, -2.4327, -2.4057, -2.1793, 2.506, - -2.4912, -0.4925, 1.9418, -0.632, -1.0125, 1.8048, -1.536, -1.7457, -0.3001, 0.5912, 0.4548, -1.4661, -1.5177, -0.5917, 5.6377, -3.6558, 1.8798, 3.7139, 3.0715, -3.6543, - -1.077, 1.7774, 3.6503, 0.2492, -2.5625, -1.2989, 0.3077, -1.4511, -0.7454, -1.0293, 0.9281, -0.097, -1.418, 0.5544, 2.007, 3.1415, 2.3666, -0.7117, -2.8143, -1.777, - -1.8815, -2.2795, -1.158, 1.0865, -0.0453, 1.6476, 0.0859, -1.8231, -0.7599, -1.0013, 0.0173, -0.6116, 0.011, 0.6057, 0.1048, 0.392, 2.8241, -0.4223, -0.292, 3.4995, - 0.0544, 2.8654, 4.0202, 1.6845, -1.8534, -2.9185, -1.4228, -3.6388, -2.021, -2.4342, -3.4254, -1.7961, 2.7218, 6.6019, 2.278, -0.0758, -2.1727, 1.0645, -0.3083, 0.7762, - -4.2733, -4.7209, -2.5347, -4.1434, -2.3709, 0.1195, 0.9517, -1.8672, 1.5567, 3.4133, 0.9511, 6.1534, 5.0591, 3.3617, 4.3448, -0.8335, 0.0697, -1.2096, -2.2085, -1.8188, - 0.0539, 1.0537, 0.6965, 0.7551, -2.3328, -4.4085, -1.7944, 4.6582, -1.8228, -0.38, 0.4342, 0.9079, 1.1727, -0.2538, -0.9787, 1.6403, 0.3758, 0.2889, -1.0679, 1.0017, - 0.9075, 0.5642, -0.6092, -2.8652, -3.3111, -1.2627, 1.6981, 0.5866, 2.5675, 2.8589, 1.6024, 2.0917, 0.4354, 1.0342, 1.2054, -2.7817, -0.5893, 0.0883, -2.8199, -1.401, - 0.898, -0.3869, -0.4833, 2.6033, -0.0884, -0.3699, 7.2953, 1.6809, 0.8531, 1.6498, -4.4993, 0.0072, -1.9421, -1.8001, -2.5825, -3.6475, -2.3221, 0.6178, 0.3128, 2.204, - -6.0307, -1.3653, -0.3786, 0.0247, 0.6616, 0.7676, 3.3234, 3.0965, 0.7765, -0.6097, 1.0441, -0.9142, 1.6186, -9.2158, -4.2017, 2.5866, 2.2875, 2.0945, 2.8697, 1.5646, - -0.3542, -0.028, 4.1718, 2.5282, 6.0404, 2.9659, -1.0269, -1.4497, -5.6815, -3.9178, -3.928, -6.4467, -2.5804, -4.6703, -1.3963, 3.1437, 4.398, -0.5477, 2.7035, 6.0758, - -1.5432, 3.8376, 1.421, -1.1449, 0.4892, 1.3172, -2.0383, -2.2564, -2.1791, 3.0272, -4.0284, -1.3615, -1.9716, -4.988, 3.88, 2.5715, -2.8049, 5.2429, -2.0992, 4.629, - 1.9112, 0.2401, 1.209, 1.9221, -0.5051, 2.0731, -0.8317, -1.4381, 1.1319, 0.2604, 4.857, -4.2486, -4.2343, -0.1445, 2.6106, 1.1135, -3.459, -1.7688, 1.2613, -1.96, - -4.6396, -2.9689, 0.9238, 0.7657, 0.5574, -0.365, -3.7022, -4.0756, -5.0362, 0.3243, 3.188, 1.727, -0.7319, 2.9308, 3.7592, 2.6099, -0.3181, 4.3233, 1.9146, -1.1863, - 0.198, -2.2883, 0.933, 3.8033, -3.0797, 0.0635, -1.8773, -1.7344, -1.0161, 0.156, -0.1661, -3.8927, -0.3658, 0.3316, 1.1226, 1.9542, -1.049, -2.2906, 3.6658, 5.5322, - -0.8058, -0.987, 1.9765, 0.8081, -0.8891, 1.6549, -1.7178, -0.2062, -0.6134, 3.7968, 2.8384, 4.3753, 1.2045, -6.0029, -1.5145, -3.5656, 0.8785, -0.8278, 0.9419, -1.3448, - -1.9513, 2.4604, 2.9573, 3.3043, 2.2986, 1.0394, -0.4185, -0.089, -0.2841, 2.2073, 1.6514, 0.3367, -1.0792, -1.4676, -0.885, 1.7747, 0.0695, -7.9932, -5.3486, 1.4171, - -2.8766, -0.2007, 0.3439, 0.7801, -0.0362, -1.8832, 1.2162, 3.7611, 1.5511, -0.2914, 4.4891, 2.4265, 0.517, 1.2791, -3.0822, -4.3172, 2.155, -1.7349, -2.5924, -1.5044, - -1.3853, -0.5001, 0.6365, -1.9167, -1.9693, -1.6932, -2.5123, -3.1209, -1.5363, 3.8772, 1.7176, 4.5613, 2.2969, -1.7507, -0.4549, 2.7398, -2.2572, -0.1132, 1.3625, 2.0183, - -0.2587, 0.7517, 0.0083, -1.5665, -2.9108, -3.8211, -5.3272, -2.2879, -3.3006, 3.201, 3.9688, 4.6713, 3.8047, 3.4665, 0.6502, 0.9612, 0.0958, -1.5002, 1.1994, -1.8059, - -0.0767, -2.8888, -3.8572, -1.6523, 2.8392, 3.7128, 0.7093, -0.0657, 0.9823, -1.6073, -2.181, -1.5064, -0.6392, 2.2679, 1.7322, -1.1001, 1.0422, 1.4078, 2.4192, -1.5382, - 2.1069, 1.6101, -0.6015, -1.1106, -0.0731, 0.3657, 2.1738, 0.6411, -3.2826, -4.2217, 0.0005, 4.1333, 2.9287, 4.0221, -1.0117, -7.1186, -0.37, 1.5812, 0.1654, -1.9391, - -3.3989, -5.4211, -3.3823, 0.1417, -0.209, -2.9282, 3.8367, 5.4395, 2.1603, -1.6658, -0.0286, 3.8151, -1.6236, -0.4057, -0.8473, 2.3634, 0.3434, 0.0424, -0.3374, 2.1055, - 3.8095, -5.8994, -4.2159, -2.8701, 5.179, -4.6791, -5.6257, 0.4437, 3.5907, 6.0531, -2.4206, -0.619, 2.0474, 3.5867, 7.1475, -4.6633, 4.1906, 1.2868, -11.1492, 4.8074, - -5.2857, -2.3511, 1.887, -1.8753, -2.8109, 0.3363, -1.9008, -0.409, 0.8741, -0.4525, -6.3796, 0.4485, 2.7092, 2.5765, 4.4129, 4.7975, -0.3228, 3.7712, 2.7353, -2.7608, - -3.9913, -5.9775, -2.6898, 8.0565, 3.5971, 1.2374, 3.459, 0.3338, 0.6958, -1.1912, -2.2406, -2.0748, 0.0857, 3.9701, 1.1276, 1.2332, 0.6559, -3.8152, 0.9255, -3.3971, - -2.4876, -2.515, -2.0296, -1.0642, 1.008, 0.6973, -1.7376, -1.5703, 1.5923, -0.7283, -0.1226, -1.7315, 2.4167, -0.4425, -1.5075, 3.8846, 0.5544, 0.8966, 4.627, 0.26, - 2.8767, 0.9007, 0.0796, -2.1662, -1.5086, 1.0148, -1.337, 0.8661, 0.0749, 1.4614, 3.18, 2.1743, -1.6449, -2.7523, -2.7644, 2.2901, -1.91, -4.8716, -2.0883, 6.1248, - 3.6336, 2.1044, 0.4628, -0.6805, -0.0353, -2.3281, 1.0902, 3.0334, -1.907, -2.0882, -2.9673, 0.1514, 0.3556, -1.0151, -5.4063, 2.3884, 2.5624, -3.2553, 3.9458, -0.0449, - -1.3869, -1.5992, 1.4579, 1.4992, 1.7691, 0.8878, 0.9518, 0.7305, -1.505, -1.6287, -1.6402, -0.3868, 2.7983, -2.2046, -0.5051, 0.1956, 7.1623, 2.4667, -5.9139, -3.1488, - -3.5734, -7.3577, -7.1566, -1.3669, 4.32, 2.1415, 0.4237, -0.1707, 3.4434, 2.6751, 2.2337, 0.4895, 2.5968, 1.0123, -0.9145, -1.1189, 0.9048, 2.1474, 0.4312, -1.1607, - -5.2465, -1.6283, -2.7428, -3.2948, -2.2122, 4.3049, 4.7808, 4.7619, 0.2262, -0.6089, 1.1643, 3.359, -2.1676, 0.2134, -1.1502, 1.4193, 1.4168, 0.3538, -2.8694, -0.0796, - -3.4905, 1.2508, 2.0451, 0.449, 3.13, 4.3899, 0.1675, -1.3519, -0.0668, 0.4245, -1.7121, 0.2301, -2.207, 0.3069, 3.1491, -7.5721, 2.7986, 3.8554, -4.1493, -1.6472, - 1.5232, 1.53, -1.0621, -1.4488, -0.8044, -0.39, 1.3086, -2.5549, -4.3776, 0.5264, 2.2421, -0.5299, -2.7363, 4.9582, 1.0929, 1.1601, 2.8351, 1.9896, -4.9813, -0.2808, - 6.5366, -2.5283, -5.5972, -3.4516, -0.2385, 1.8382, -1.6024, 0.2804, 8.8284, 4.4416, -6.1238, 3.7728, 3.4763, 2.9323, -2.3678, -5.511, -4.9901, -0.1283, 0.0084, 0.4242, - 1.9342, 1.566, 2.2346, 1.0331, -0.6035, -0.4461, 0.0271, 0.7571, 1.1796, 0.2963, -0.9807, -0.5607, -1.4711, -2.5426, -4.1871, 2.4178, 0.203, -1.7949, -3.6655, 4.6035, - 2.2188, 0.9702, -1.9037, -2.3323, -0.927, -0.7473, 0.4463, 4.0069, 3.238, 1.6378, 1.585, -1.9473, -1.213, -2.1935, -1.9102, -3.3249, 2.6456, 1.082, -1.3884, 0.057, - 1.8633, 1.2717, 1.6148, 0.3758, 2.9711, -0.8914, -1.2864, 1.1672, 2.0355, 1.2245, -3.703, 3.72, -3.0675, -1.925, 2.2356, -0.7355, 0.5128, -4.4528, -2.9595, 0.0288, - -2.2984, -0.5209, 0.3609, 2.6675, -3.691, -0.3519, 6.3822, 3.0237, -0.1277, -2.2553, 1.0403, 0.997, -1.3107, -1.9745, -0.1646, 4.8839, 0.1333, -1.3256, -3.424, -2.0441, - -2.319, 2.2812, 1.2138, -1.1727, -3.334, -5.2226, 3.639, 2.5124, -1.5642, 3.4166, 0.533, 1.8016, -0.3986, -2.9233, -3.7394, 0.9982, -0.006, -1.6833, 4.3443, 1.6231, - -2.2576, -2.6516, -1.1317, -1.2013, 0.7393, 0.1827, -1.2343, -3.2192, 2.3728, 2.7817, 1.6779, 0.8901, 0.532, 1.4647, 3.7014, 7.0412, -2.6912, -2.5104, -1.2474, -3.2389, - -1.769, -1.9167, -2.8243, 0.8559, 1.6454, 0.6817, 0.5231, -1.2522, -2.6542, -3.2288, -0.2864, 0.0091, 0.5513, -0.6182, -3.9328, 4.4973, 6.4951, 0.4313, 1.6808, 1.1116, - -0.2744, -1.578, -1.8323, -1.2019, -0.362, 1.2906, -0.2832, -1.9105, -0.8966, 0.8634, -0.4648, -2.3172, -1.9676, -1.7065, 0.8232, -2.4736, 3.5667, 5.3037, 4.3018, 1.1191, - -0.4003, -1.4016, -2.6548, -3.2373, -2.1471, -0.9075, -1.1057, 1.1084, 0.0584, 0.6994, -2.2697, 0.1501, -0.0187, -0.2177, -1.1214, 2.5501, 5.4533, 5.8815, -0.4561, 0.0366, - 2.4755, 2.6766, 3.381, 2.8797, -1.3067, -1.2604, 0.4792, -1.5575, -2.0569, -1.156, -1.3594, -0.7176, 0.2831, 1.2557, -0.1965, -2.5773, 0.8488, 0.4905, -3.0053, 0.4234, - -0.5334, -1.6405, -1.4903, -1.2901, -2.0368, -2.4054, -2.0422, -1.2649, -0.3204, 2.3946, 2.8987, 2.5774, -1.9494, -5.6321, 2.8212, 3.655, 3.985, 1.2152, 1.3991, -0.3406, - -1.8395, -0.9841, -0.1468, -2.7046, 0.5709, -0.0486, 2.3079, -3.1973, 5.7249, -2.0537, -0.8947, -0.5513, -1.5588, -0.066, 1.7712, 1.4939, 0.7539, 0.8995, 0.7376, -0.2144, - -2.1136, -6.496, 4.0091, -2.7287, -2.852, 0.0889, 4.2865, 1.1559, 1.4489, 2.3747, -0.2811, -1.6675, -2.1043, 2.4825, 1.5983, 3.0151, 1.4924, 1.4598, 1.4466, -6.6156, - 0.3044, 0.5145, 0.8314, -0.5726, -1.4732, 0.5522, 1.0454, 0.7132, -0.3595, 0.4703, 4.9451, 2.9593, 3.4319, -1.7835, -2.7963, -3.6604, -2.7125, 1.2113, -5.0055, 1.3846, - 2.3458, 3.264, 1.811, 0.4827, -1.6195, 1.9882, 1.8256, 3.5857, 4.1301, 1.6235, -5.1588, -3.8052, -1.7214, -1.0231, 1.3522, -0.3858, -5.6155, -1.3895, -1.6421, -0.048, - 3.7883, 2.2512, 0.5915, 3.6595, 3.6582, 1.2917, -2.0747, 3.0623, -4.8462, -9.6783, -4.7828, -4.1622, -5.2776, -1.2559, 2.3471, 0.9386, 6.0401, 4.8334, -1.7435, 1.3593, - -0.5609, -1.1658, -2.4817, -6.555, -4.61, -0.2509, 0.7628, -0.8368, 3.8495, 3.922, 3.0356, 2.0951, 1.5781, 3.7313, 2.8834, -1.2291, -3.427, 1.5639, 1.6072, -3.9116, - -1.4268, 0.2383, 2.3216, 0.1248, 2.0796, 1.5987, 0.8138, -0.2165, -2.9254, -1.2364, 4.4075, -3.3005, -5.5475, 2.3771, 2.6523, 1.5551, 2.538, 1.7514, -3.2529, -4.552, - -0.7746, 0.9904, 0.2665, 0.8152, 1.7416, -1.7222, -3.8193, 0.6115, 3.8698, -1.5065, -1.1919, -1.259, -0.954, 1.8722, -0.152, -4.1283, -0.551, 0.1951, 0.742, 4.9546, - -4.9471, -2.6326, -0.7296, -2.9661, 3.2611, 5.2949, 1.3584, -0.3484, 0.0238, -0.5367, 1.037, -2.4283, -1.4686, 5.4446, 2.1704, -0.2969, -1.9436, 4.7301, 0.0591, -5.0816, - 0.8281, -1.2416, -3.3762, -3.932, -1.3993, -3.0591, -0.9292, 2.5927, 2.1047, 2.4478, 0.5704, 1.2666, 0.5289, -0.2372, 1.2696, 3.8278, 3.1348, 1.0903, -4.3525, -1.1346, - -0.743, -0.748, -1.261, -0.7625, 1.0816, 1.6556, 1.2019, 2.2812, 3.2082, 1.5688, -1.3094, -2.0639, -2.5822, -2.2528, -1.34, -1.6246, 0.6375, 2.89, 1.4778, -1.315, - 0.8081, -1.3233, 1.3342, -0.4629, 2.2543, -1.7177, 1.7285, 2.2425, -4.4738, 0.6367, 1.5497, -1.2988, 0.3335, -1.159, 0.1744, -4.2648, 5.1183, 0.3072, -2.6556, 0.8684, - 4.0404, 1.9094, -0.2474, -1.16, -0.9167, -2.2516, 3.93, 2.7965, 0.9719, -0.3105, 2.6858, -1.8089, -6.0898, -5.0707, 2.0812, -0.0971, -1.5043, 0.0458, -1.0273, 2.0234, - 0.1375, 0.239, 1.2366, 1.5253, 1.5536, 1.1452, -3.3801, -3.1595, -2.7411, 1.0175, 6.4814, 1.4661, -1.2521, -3.3744, -3.5432, -5.427, -1.3071, 4.3703, 3.6696, 1.3422, - -0.0191, 0.4401, -0.0551, 1.261, 4.9915, 1.8859, 4.2946, 2.2533, 1.246, -0.3261, -1.8245, 0.5397, -0.962, -2.4208, -1.3984, 1.3654, -2.31, -4.0785, -1.5595, -3.3235, - -4.1713, -3.8609, -3.6233, -2.2953, 0.459, -0.2721, -0.1506, -1.7078, 0.0356, 1.5074, 1.0712, 0.7854, 0.7858, 0.0168, -0.816, 0.081, 0.5445, 4.5197, 7.1653, -0.0742, - -2.9674, -1.465, 1.0679, 3.2208, 3.0814, -0.6959, -0.9252, 1.0871, 0.168, -0.9317, -0.6966, -1.1041, 2.3656, 1.0874, -0.7021, -0.5843, -5.954, -1.0591, 4.3651, 0.6421, - -2.3881, -1.1722, -0.2878, -1.31, 0.1054, 2.7187, 3.1286, 1.395, 2.5138, 0.8551, -1.0485, -2.7991, -1.7081, -1.9009, -0.2092, -1.1297, 5.4416, 0.9634, -4.8359, 1.6679, - 0.3475, 0.6761, -0.916, -3.3303, -2.5114, -1.3053, -2.4606, -1.5909, -0.1066, 1.2867, 0.1087, 0.6627, -0.938, -2.1561, -4.1442, 0.553, 3.6775, 4.3771, 4.5604, 3.2095, - 1.8172, 1.9142, 1.3748, -1.2576, -1.3958, 0.406, -0.4725, -1.2643, 0.8079, -0.6725, -3.4257, -3.2969, 2.8901, -0.0329, 4.2131, 0.839, -2.3538, -2.2196, 3.3371, -1.2078, - 1.9496, 3.6573, 4.2326, 1.1863, 1.8389, -0.7982, -0.8176, 0.9762, -2.1796, -2.4082, 0.46, -2.1099, -0.13, 5.8933, -3.2271, 1.4122, -3.0287, -5.0286, 0.1022, -1.9807, - 0.7977, 0.4131, 0.7926, 0.7439, -2.715, -3.186, -1.6061, -0.5456, 3.5797, 0.0724, -0.4993, 0.4656, -0.7994, -0.5991, 0.0862, 3.6997, -0.5342, -0.3047, 0.9064, -0.7678, - 1.0025, 0.1292, 1.8299, -0.2181, -0.3367, 2.6298, -1.6812, -0.7903, 1.0473, -0.5336, -4.1833, 2.6382, 0.948, -0.3031, -1.3062, -0.6706, 1.4954, 1.107, -3.9483, 1.1443, - -2.822, -2.9373, -1.7368, -1.1113, 0.7976, 1.021, 2.2881, 1.7823, -1.6829, -2.1388, -0.0636, 0.6047, 1.3691, 0.5354, -2.8472, 1.99, -0.2414, -1.8409, 2.3664, 4.6674, - 0.81, 0.5306, 3.2216, 2.7904, 2.3222, -0.094, -1.2977, 0.6699, -0.3153, -2.0729, -0.4524, 0.1611, 0.0422, -0.9458, -1.6284, -1.059, 0.4113, -0.2203, -0.7025, -2.1711, - 0.6469, 2.9521, -0.5269, -2.8396, -2.829, -0.4167, -2.6035, -1.8694, -1.271, -1.195, -0.6111, -1.1719, -0.0843, 4.1129, 3.9912, -0.9572, -5.8704, 3.6319, 4.0418, 2.869, - -1.7675, 0.6361, 2.5132, 2.083, 1.8929, -1.5061, -3.5844, -4.2969, -2.8299, -0.687, 0.8308, 1.3968, 0.3529, 4.0998, -1.6161, 1.3306, 0.56, -0.5129, -1.6573, 2.7621, - -4.0964, -1.5173, 1.2551, 0.2978, 1.5682, 0.3497, -1.4315, -2.0554, -0.5756, 2.5392, 0.79, 3.4286, -2.9558, -1.7034, -0.8459, 1.0513, 5.1871, -2.5294, 1.2695, -0.0257, - 0.0328, -1.2155, -1.2836, -0.9363, -1.2229, -1.693, -1.8595, 0.3399, -1.5276, -1.0107, 6.404, -1.9072, 0.7733, 0.6079, 2.8719, 3.0211, 2.307, -3.5448, 0.3434, -0.5002, - -6.6638, -3.5679, 2.7288, 3.1465, -1.8044, -3.2026, 0.3954, 1.5738, 0.684, -0.5029, 1.1915, -2.4277, -2.892, -0.4612, 0.5352, 2.0495, 4.9107, 0.7993, 0.1809, 3.327, - -7.7693, -2.7271, -0.5302, -1.6862, -2.675, -4.1941, 6.2224, 4.1406, 1.2187, -0.8566, 3.217, 2.7593, 3.3324, -2.3093, -1.4924, 1.2643, -2.9807, 2.3328, 4.673, -1.9398, - -0.3214, 0.7654, 1.4453, 1.0347, 0.7854, -0.0281, 0.6653, 2.1756, 2.5539, 2.4886, 2.8291, -2.3264, -5.6113, -4.1472, -2.1955, -0.1794, -0.8897, -2.9162, 2.0658, 1.8062, - 0.0689, -0.0814, 0.5156, -0.9104, 1.9645, 1.489, -0.7622, -1.4287, 1.4489, 2.2731, 1.0561, 3.0605, 2.5928, -3.3062, -2.8865, -3.6767, -3.9506, -2.1727, -0.4806, 5.1867, - -2.7262, -0.408, -7.2353, 0.2532, -1.7494, 4.8406, 2.4161, -8.2402, -0.3311, 1.0612, 3.376, -0.5373, 3.2052, 3.7144, -2.9286, 10.7765, 4.9188, -8.1638, -0.8809, -1.3612, - 3.8706, 1.5102, 0.378, -7.459, -0.9006, 2.4899, 2.468, -2.4184, -1.4186, 0.2908, 2.1056, 2.4328, 4.226, -3.9887, -6.7913, -1.0651, 2.4289, 0.5874, 4.8024, -3.5488, - -1.2691, -4.1749, -2.7407, 1.493, 1.4665, -0.9212, -1.463, -5.1747, -2.2251, 0.8474, 0.854, 6.6525, 0.1651, -0.5706, -0.3287, 3.1547, -1.46, 0.8291, 2.5923, 2.2733, - 3.8347, 2.4921, 1.8361, 2.4264, 0.2839, -2.7167, 0.2831, -0.5469, -0.6398, 0.3108, 1.0194, -2.1389, -0.8456, -4.7666, -2.5049, 1.2075, -5.6326, 1.3761, 3.1197, 1.602, - -3.7739, -1.8529, 0.6063, -0.8541, -1.637, 3.6233, 0.8975, 1.9643, 3.5106, -0.3623, -2.4744, -0.7625, -0.7853, -1.5705, 0.2237, -0.6207, 0.0761, -0.4742, 1.5632, 2.7029, - 1.157, 0.8704, 1.6827, 1.2654, -0.5848, -2.69, -2.6615, -0.9589, -1.6641, -2.7103, -1.4381, -0.4901, 1.8045, -1.5216, -1.1394, 5.0021, 4.1235, 1.555, -3.7877, 2.1859, - 2.542, 1.6423, 0.7395, 0.8846, 0.9016, 2.7752, 3.3824, 2.5574, 0.4625, -2.0442, -1.8686, -0.186, -1.7933, -5.0038, -3.5773, -1.2917, -2.0519, -1.8556, 1.0146, 2.7701, - -4.4081, -3.4569, -0.8021, 0.2773, 2.5574, 2.3862, 1.3118, 0.1408, 0.6688, 1.9053, -1.5497, -0.5855, 1.2457, -0.5521, 0.963, -2.247, -2.8924, -3.743, 6.1844, 2.5961, - 0.4138, -4.3685, -4.3743, 3.3166, 1.9814, -1.9703, -1.1246, -1.8788, 1.8555, 2.5293, -0.6354, 0.3032, 3.9855, 0.4439, -1.3412, -2.6733, 1.5434, 2.8406, -1.39, 0.543, - -0.9949, 0.7752, 0.5153, -0.3382, 0.759, -0.3806, 0.6362, -0.0446, 0.6992, -2.3407, -2.218, -0.8794, 1.9075, 1.9883, 2.6403, 1.4665, 1.1384, 1.9497, -0.4373, -6.842, - -0.369, 1.5979, 3.652, 2.5947, 0.9915, -0.4587, -1.5761, -1.3889, -0.8595, -0.0002, 0.3336, 2.0392, 1.9215, -1.5962, -2.1409, -2.1868, -2.0225, -6.9604, 4.1862, 2.2427, - 0.7081, 1.2472, 1.2274, -0.7827, -1.3963, 0.1531, 1.0164, 1.122, 1.4236, 4.7449, 4.197, -1.6566, 1.4602, -0.4324, -5.0812, -4.6776, -3.2034, 0.202, -0.8325, 0.5609, - -0.8996, -1.1981, -0.4982, -3.3678, -3.1656, -0.484, -1.6889, 1.4162, 1.8691, 1.8944, 0.6984, 2.1971, 0.7659, -0.3399, -1.054, -1.9648, 4.8986, 2.2357, -0.435, -0.8795, - -3.0303, -1.1024, -3.6351, 1.8563, 2.2581, 0.9526, -1.318, 1.052, 0.9676, 1.4472, -0.2536, 1.6459, 0.5539, 2.7964, -2.3045, 3.1405, -0.8848, -0.5008, -4.0553, 0.4143, - -2.0566, 0.3509, 1.5804, -0.1468, -1.2009, -5.1236, -1.6316, -0.6083, -0.2262, -3.8727, -1.4106, 4.1461, 2.8353, 5.5841, 2.0344, -1.3445, -0.2669, 1.6597, 0.4425, -0.7448, - 0.4237, 5.5027, 3.4466, -0.9733, 1.1101, 0.3187, 0.4016, -0.8934, -4.1773, 1.2529, -1.0141, 1.7716, -1.4207, 2.0071, -6.7629, -1.426, -0.8769, -1.9766, 2.062, 1.2241, - 0.525, 0.4342, -1.3517, -2.8754, -3.0586, 0.6098, 2.2679, 1.4929, 1.4608, 3.1011, 1.506, -4.8013, -7.5268, -0.6504, -0.503, 2.778, 2.8557, 1.0462, 3.4571, -0.7675, - 3.573, 1.8714, -0.1581, -1.7722, -0.3433, -2.7056, -3.0806, -1.91, -3.1355, 1.0548, -1.9906, 0.4699, 0.0873, 2.5566, -0.1726, -0.8702, 2.1464, 4.3968, 5.0995, -5.1171, - -0.6968, -1.4896, -0.0495, 0.8149, 1.4216, -0.0327, -1.7535, -2.2313, -0.321, 1.9568, 4.8784, -1.9324, -1.8058, -2.6431, -3.7316, 0.3685, 1.1306, 4.9893, -0.2577, 1.3848, - -1.4341, -1.1497, -1.8056, 0.1413, 2.571, 2.939, 0.7055, -0.4196, -0.2614, 0.1608, -0.6195, -0.3637, 4.1643, 0.3576, 0.0984, 2.2749, 0.4728, -7.315, -0.1921, -0.3248, - -4.2895, -7.0396, -4.8802, -1.5844, 1.4442, 1.8886, 0.5829, 0.1608, -2.6352, -1.0632, 0.4985, 3.2097, 6.327, 9.0622, 8.0546, -0.4311, 2.12, -2.0642, -2.9293, -6.4319, - -2.8918, -0.9105, -1.1049, -1.3358, 0.0333, -0.4429, 1.114, 3.2177, -0.2479, -0.9423, 2.0518, -3.4204, -3.3752, -1.508, 4.5184, 3.5104, 0.837, 0.3279, 4.1906, -3.6215, - 1.1012, 2.83, 4.9338, 4.9135, -1.4413, -4.6933, -2.9852, -2.2104, -2.0709, -0.2446, -1.7323, 0.446, -0.3491, 0.7293, 1.2549, 1.552, -1.6591, -0.0263, -1.3091, 0.9607, - -3.8105, -2.2705, -0.4801, 0.003, -1.0835, -0.8967, -1.848, 4.3428, 2.2775, 1.1261, 1.5948, 4.4091, 3.5564, -2.1928, -2.8051, -1.2385, -1.6399, -0.9968, 0.5731, 1.3796, - 4.5581, 4.2833, 0.3675, -0.5438, 1.94, 3.0816, 0.3261, -0.8096, -2.6679, -2.1086, -0.8131, -4.9186, -3.634, 5.7405, 0.0185, 0.6308, 2.5276, -4.0355, -1.8846, -2.0583, - -1.2863, -0.264, -0.1222, 1.8197, -0.8215, -1.4173, 6.3047, -1.3136, 2.0735, -0.1627, 3.0262, 1.5599, -2.3044, -2.9292, -2.1284, -0.006, -0.2974, -0.4468, 0.2977, -1.5818, - -0.3043, -4.9833, -4.4641, 1.6692, 5.7638, 4.6547, 3.7525, -0.961, -3.955, -2.2488, 0.7885, 4.2621, 3.6322, 2.1375, -6.9698, 1.9153, 2.5541, -3.4886, -0.8469, -2.9081, - 1.6869, -2.2603, -5.3537, -1.924, -2.3796, 2.8412, 5.8922, -3.3838, 0.7866, 3.3273, 0.722, 4.1493, -2.8075, 1.2195, -4.122, 2.7912, 5.5751, -0.9361, -3.796, -2.0281, - 1.8743, 1.5687, 0.9347, -0.0119, 5.1974, -0.9505, -1.5819, -0.0387, -0.2355, 2.4835, -2.718, -2.1816, -1.0347, -1.5606, -1.4552, 0.4355, -1.6713, -3.1551, -0.2146, 4.3156, - -0.5064, 0.6473, 1.6157, 0.4031, -0.7786, 0.4664, 2.3609, -0.8533, -2.7426, 0.0584, 3.6047, -1.3728, 0.0256, -2.0089, 0.7575, -3.1106, -1.7839, 0.971, 1.5709, 0.6757, - -0.1854, -0.4792, 0.2327, 0.5721, 1.3762, 0.9344, 1.6367, 0.2158, 0.6455, 0.9744, -3.1471, -5.2734, -4.3577, 3.1646, 3.1365, 2.2803, 1.2303, -1.996, -1.5643, 0.6037, - 1.554, 2.1016, 2.3825, 0.8004, -2.0847, -2.7548, -1.5073, 0.1971, -0.2707, -0.769, -1.8324, -0.6385, -4.5361, -6.8801, 5.4599, 2.666, 1.1252, 2.285, 1.3862, 1.3159, - -2.3092, 8.5984, 0.5061, -0.6741, -2.467, 3.2934, -0.668, 2.0327, 0.6889, -1.8602, -0.9325, -1.2001, -4.3458, -2.5628, 0.6948, -1.1889, 0.4479, 2.595, 1.2931, -1.9416, - 0.8421, 1.5717, 0.5751, 0.5951, 0.4783, -2.2142, 0.3553, 6.0828, 3.0287, -2.3343, -3.2264, -0.7759, -2.009, -0.3873, -2.4778, 0.6768, -3.499, -0.8957, 4.2903, -0.6766, - -0.6942, 8.6603, -5.4134, -0.8727, -0.3504, -3.3092, -0.5586, -0.2913, 2.8905, -3.0583, -2.9724, -1.747, 3.325, -1.1022, -4.4193, 7.6704, 0.5149, -0.7173, -3.6, 6.0453, - 0.6802, 1.0947, 1.2451, 3.8611, 4.5266, 1.8951, 0.7625, 6.226, 2.5223, 4.8966, 1.838, -0.3753, 1.3861, -7.5361, -6.881, -3.7307, -4.9193, -2.5727, -4.5778, -0.3414, - -1.4648, -1.9631, -1.4302, 3.2813, 2.7021, -1.3306, -3.5822, -3.4123, -2.6251, -2.554, -2.983, 1.7868, 1.1612, 1.7944, 0.6471, 3.7619, 3.5844, -0.436, 2.9666, 0.0957, - -2.6065, -0.4815, 3.7667, 3.2609, 1.4317, 5.8806, 0.0973, -3.3441, -3.2874, -4.9485, -1.6589, 0.7537, 0.3424, 0.9215, 3.8135, -4.2041, -1.8751, -0.8917, 1.0067, 2.0227, - 4.0705, -1.6316, -3.7042, -1.3612, 1.3654, 1.6949, -0.0461, -0.428, 2.9316, 0.2615, -3.3312, 0.4341, 1.2323, -0.8543, -0.862, -4.8579, -6.1758, 3.1382, 4.934, 3.1899, - -4.1097, -4.1313, -2.7947, -1.2657, -0.6757, 0.0158, -0.2664, -0.7288, -2.8256, -1.9407, 0.4965, 2.0938, 4.2596, 1.7443, 2.092, 3.1468, 3.6217, 1.9383, 0.0884, -0.7586, - -0.5474, 3.7117, 4.4423, -1.1991, -3.2034, 0.2008, -1.1999, -0.3645, -0.3658, -1.5068, 4.3945, -0.5362, -1.4209, -0.9138, -0.075, -0.959, 3.3133, 2.7513, -7.0608, 0.5385, - -0.2792, 1.018, 0.1758, 4.6409, 0.999, 0.8572, -2.2212, -4.3593, 1.021, 5.0992, 3.1964, 1.4429, -1.7425, -0.9214, -2.3245, -1.3975, -6.8773, 2.8027, -1.1862, 0.056, - 1.7064, 0.3215, -0.2518, 0.0527, -2.5377, -4.4163, -3.0416, -0.1822, -1.1887, -2.941, 0.6761, 3.4948, 1.6101, 1.2626, 0.2612, 5.622, -3.9114, -1.0915, 4.1888, 0.3661, - -1.7866, -1.1389, -0.0309, -0.9349, 0.3853, 1.9195, 0.2339, 0.3886, 0.9745, 1.4208, 2.5313, 4.3943, -4.636, -2.5445, -2.1898, -2.533, -0.3527, 4.7621, 0.5928, -1.4558, - 7.8057, -3.8468, 0.8827, 0.8768, -4.7631, -5.1731, 0.0664, 5.3199, -1.789, -4.3428, 1.9966, 2.9221, -4.5512, 5.176, 0.582, -0.2561, -0.2887, 0.6505, -0.8654, -0.4024, - -2.578, -0.0834, 0.144, -1.6096, -4.137, -4.824, -1.6968, 2.0832, 4.4015, 2.3414, 0.0326, -1.7738, 3.0088, 2.5338, 2.2405, 0.7822, -3.427, 2.3235, 0.3274, -0.0892, - 2.1843, 2.593, 1.3745, 1.7373, 2.8715, 2.7285, -1.1274, -0.1783, 0.9497, 1.0004, -0.2974, -0.2919, 0.6463, 0.2228, -1.5085, -5.8708, -3.691, -0.8536, -2.5539, 0.0647, - -1.6643, -0.8616, 0.2098, 2.2486, 4.6647, 3.854, 2.3834, 1.3656, -0.2611, -0.7523, -0.2703, 2.863, 1.157, -1.6263, -4.3844, -3.5346, -0.0484, -0.8649, -4.9645, 0.4867, - 0.6824, 1.0939, 0.6691, 0.3291, -0.2396, -0.9714, -0.9487, 0.4056, -0.8422, -1.0662, -0.8121, -1.8756, 1.8363, 1.0681, 3.7568, 2.7493, -2.279, 1.4171, -4.9986, 0.0258, - -2.0461, -1.9677, -1.8134, -2.6831, -3.0621, -1.6874, 2.2873, 0.6491, 1.7878, 1.1808, 1.5028, -1.154, -1.2923, -0.0603, -3.5107, 6.4917, 4.0814, 1.4288, 0.0396, -0.1721, - 1.7926, 0.64, 0.0107, -3.4114, 12.2384, -4.2391, -4.1672, -5.5139, -1.6966, 5.3015, -0.9447, -4.0014, 3.1093, 5.2076, 5.6201, 2.3962, -5.3615, -1.8057, -0.2628, -4.9121, - 1.2301, -0.2653, 0.0535, -2.1294, -3.7763, -2.5405, -1.3165, 1.3892, 1.1754, 1.8095, 2.3931, -0.531, -0.8291, 0.5926, -0.2725, -7.2218, 1.8619, 3.8534, 3.4226, 1.1011, - -4.1789, -3.5276, -0.8324, -0.4176, -2.4, 0.0369, 0.9853, 5.4189, -1.8625, 4.5416, -0.0534, -2.2531, -1.839, 3.0263, 1.3992, -0.9141, -0.2291, 0.6856, 2.4454, -0.0313, - -6.4975, -4.6128, -3.3675, -4.8986, -0.8354, 2.3584, -0.6088, 4.1352, 0.6068, 0.7211, 0.275, -2.0557, 0.4476, 2.7831, 4.6078, -0.4014, 5.9849, 2.1061, 1.2312, -1.9795, - 1.323, 1.1384, 1.2773, 1.715, -0.7509, -3.8269, -1.129, -0.1851, -3.0673, 2.4551, -1.8006, -0.5768, 2.5367, -0.4358, 1.0236, 2.8956, 4.5161, -0.4242, -3.2309, -3.4534, - -0.3567, 2.4123, 4.0459, 3.3988, 2.0862, -2.1774, -5.126, -1.093, -2.2588, -0.1938, 0.5021, -0.2723, 1.0175, -2.6722, 0.0196, -1.3546, -1.6702, 0.808, 0.6509, 2.2336, - -3.1316, -2.5501, -0.7668, 1.9764, 1.8647, -0.0801, 0.9053, 0.9563, -1.0947, 0.3992, -1.9982, 2.2428, 2.0122, -5.4193, -2.6261, -0.7274, 0.7121, 1.7109, 3.9486, 1.666, - -7.9949, 4.0953, 3.7255, -1.4546, 8.0933, 1.7853, -4.2627, 4.4208, 9.6075, -2.0281, -0.5418, -3.566, -1.9219, -6.8006, -1.4426, -1.872, 6.0536, -6.8174, 0.7937, 0.1276, - -1.9787, -1.0115, 0.4548, -0.6009, 1.0489, -0.3883, -3.8168, 3.5539, 1.8044, -0.802, 2.2377, 4.013, 2.5264, 2.9341, 2.9402, 3.194, -12.1756, -4.5827, 0.714, -0.0649, - -2.6937, -0.9969, 0.6136, -0.2092, 0.1112, 0.1733, 0.0276, 0.6804, -4.181, 0.4835, 3.1126, -0.8365, -1.6005, 3.1133, -1.3297, -0.4657, 2.8302, 2.713, -2.7204, 1.175, - -4.2305, -1.0868, 0.5304, -0.1415, -1.2124, -0.8981, -0.879, -0.8763, -0.9777, 1.0148, 4.1145, 2.1714, 1.231, -1.6938, -1.4429, 1.2355, 6.6877, 0.2382, -3.2655, -0.5189, - -2.1503, -3.4325, -3.4567, -1.0918, 0.5993, 0.3527, 0.3437, 0.2288, 0.7821, 1.0173, 2.2607, -0.9887, -0.3595, 4.4457, 3.707, 1.5475, -3.7173, 0.7682, -0.5101, -0.3462, - -3.7019, -3.2897, -0.3993, 1.1225, 4.7873, 3.25, -1.8347, -2.0699, 0.0727, 1.2966, -0.1512, 1.4478, -2.4263, -0.3987, -2.4159, -3.3225, 2.8445, 0.7735, 0.8954, 3.5197, - 0.0807, -1.1966, -2.9464, 0.8465, 1.6234, 1.1215, 1.2824, 3.7187, 2.3234, -3.7329, -7.3924, -3.2192, -4.4371, -4.8564, 3.1927, 2.3654, 4.5154, -1.033, 4.4531, 3.291, - 0.0329, 2.1961, 1.8627, 0.509, -2.3566, -3.1635, -1.4865, -3.4766, -3.4834, -4.5095, -2.404, -5.545, 7.4389, 3.1752, 2.6905, 4.3345, 1.8695, -0.0444, -0.0458, 2.4056, - -4.2525, -4.2615, -2.8448, -1.4174, -1.4188, -1.0941, 0.0321, 2.7304, 1.6246, 3.7714, 3.6887, 2.3979, 1.9374, 0.7696, -7.0469, 0.1811, 3.9202, 4.8839, -3.2038, -0.3977, - -0.4109, -0.9615, -1.1887, -1.3425, -1.0669, -2.7829, -2.9395, 1.289, 1.6984, -0.5601, 1.6775, -0.5469, -0.8102, -0.2298, -0.7565, 0.3451, 3.1792, 2.2226, 4.5535, -1.3689, - -5.7264, -3.6531, -1.3521, 0.1463, 1.711, 3.189, 0.7838, -1.0176, -0.2195, 1.4384, 0.0207, -0.4968, -1.0491, 0.1749, 1.0739, 2.0378, 1.358, 1.236, 0.4429, -0.098, - 0.7773, -0.8979, -1.2165, -1.9337, -2.9157, -4.0101, -0.3148, -4.646, -4.2945, 4.177, 5.5969, 1.4549, 3.5448, 1.4079, -0.8343, -3.2017, 5.5239, 2.2268, -0.3838, -0.0607, - -0.6985, -0.6307, 2.4635, -0.5381, -0.2883, 3.4018, 2.1088, 2.918, -0.5123, -0.9613, 0.0579, -4.3385, -3.8027, 1.0743, 5.0578, -1.828, -2.2439, -4.7171, 0.9386, 2.5388, - -4.5218, 0.1558, 2.838, 2.3948, -1.9436, 0.6339, -0.7954, 1.9788, 1.5836, 1.1696, -4.5526, -0.564, 1.4447, 7.0584, -6.8023, -4.5393, -6.0449, -0.5031, 6.1354, 4.8739, - 0.3624, -1.2047, -2.0776, -1.5816, -0.7523, -0.4259, 1.9866, -0.1702, -0.471, -1.9514, -1.5113, -0.2099, 2.707, 3.8409, 4.1635, -1.6517, 0.8031, 3.118, -4.9637, -0.01, - 3.3248, 2.1375, 1.3785, 0.2103, 3.0519, 1.4244, 0.2968, -0.3016, -1.2728, 0.9142, 0.2763, 0.9396, 2.3345, -1.6742, -3.9431, -3.4421, -2.5066, -1.7463, 1.1359, -2.5381, - 7.3832, 7.8862, -6.4414, -8.9767, 0.1372, -3.3099, 3.3247, -2.2516, -2.6663, 1.5419, 7.2572, -0.6762, -1.4552, 3.0048, 6.921, -8.5959, -2.6649, 2.5301, -0.7893, -2.1588, - 1.3303, 0.1631, -2.4438, -1.2379, 0.9953, 2.7203, 1.9038, 1.2786, 0.3887, 2.8669, 0.368, -0.1846, 5.6338, 2.1238, -1.0482, -5.2051, -1.0787, -7.2281, -1.5184, 0.1722, - 0.1645, -0.9895, -2.0311, -3.1149, -3.298, -2.1249, 2.0221, 2.1048, -0.3058, -1.0676, -2.5289, -1.4215, -1.7517, 2.914, 4.1244, -0.6494, 2.6877, 3.2611, 2.5839, -0.5792, - -0.4639, -1.9119, -0.6903, 1.0816, 1.798, 1.1866, 0.422, 1.5316, 0.8944, -2.981, 5.6782, 3.5367, -0.9955, 2.4778, -1.9477, -3.1693, -0.034, -1.9442, -1.8186, -2.6506, - -3.9601, -3.1838, -1.3333, -0.9936, 0.4708, 1.864, 0.2776, -3.5639, -1.8523, 3.8979, 6.3274, 1.9935, 2.4867, -0.2835, -0.1329, -0.9778, 1.4936, 2.4315, 0.5084, -5.4702, - -1.9007, -8.9624, 0.7258, -2.6244, 1.8683, 0.7413, 8.169, -2.357, -4.2143, -5.3821, 5.3979, -0.3396, -0.0209, 2.4866, -1.7903, 8.5769, -2.6396, -4.5135, 0.4288, 6.3503, - 2.3682, 1.2735, 1.0581, 0.7198, -1.3884, -1.1783, 2.7862, -0.315, -4.4216, 1.0457, 0.802, 0.2322, -1.8255, 0.9933, 1.5522, 4.2681, -3.4105, -1.8681, -3.1691, 0.4773, - 0.1022, 3.5273, 4.7298, 1.5753, -3.6041, -2.406, 0.8414, 1.2204, 1.0785, 1.4517, 0.9533, 1.0682, -0.0095, -1.2482, -3.715, -1.4924, 0.0586, 0.2151, -3.5086, -0.8381, - 2.6097, 1.3046, 0.1797, -0.8433, -0.8002, -0.6737, -0.7817, -0.0181, -1.8564, -0.0021, 1.7429, 2.1363, 2.4019, 0.852, -1.2013, -2.3776, 0.1614, -1.6535, 0.2922, -1.473, - -1.1555, -1.9989, -3.7971, -3.5419, -1.7702, 5.6208, 1.6756, -3.4769, -2.2174, -0.5921, -2.9465, 2.4449, 3.2181, 2.5732, 0.5741, 1.4008, -1.6104, 2.6683, 4.0017, -1.0706, - 2.6808, 2.4971, 2.2595, 2.6039, 2.5012, 2.7248, 0.3061, -0.5761, -0.0415, -2.4607, -1.2162, -0.08, -2.7145, -3.3777, 0.3468, 1.3821, -2.901, -0.5334, -2.3262, -1.075, - -1.4573, -0.7869, 0.2356, -0.1795, -1.7997, -2.4756, -0.7083, -1.2917, -0.2409, 1.8121, 2.3854, -0.078, -2.6742, 0.8926, 3.1169, 2.4329, -3.2335, 1.5184, 1.6752, 0.8566, - 1.3578, 1.5299, 1.0786, -1.596, -3.3648, -1.6673, 1.3592, 5.7139, -0.3364, -0.8154, -1.0911, 0.3285, 1.2167, -6.5169, 3.5759, 0.3841, -3.4189, 2.252, -0.3564, 0.3665, - -3.9427, -4.1692, -3.9599, -2.7914, -2.7852, 0.8501, 2.1268, 3.1929, 2.9997, 0.9798, 3.7115, 2.7044, 0.8023, -1.3597, -0.1213, 1.8505, 0.8537, 2.357, 0.4425, -3.7419, - 1.1259, 1.7278, 1.7181, 1.0824, 0.9378, 2.2855, -0.4426, -2.0998, 0.2868, -2.3258, -2.4774, -3.503, -2.192, -0.0403, 0.0689, -2.1823, -1.7516, 0.3348, 2.6371, 4.8097, - 2.6282, 3.1949, 1.4763, -1.8168, -2.3026, -0.1157, -0.0177, 1.6877, 0.85, 0.1002, -0.5211, 1.2286, 1.5164, -0.6411, -0.9348, -3.1872, 0.1863, -3.1762, -3.7899, 3.6345, - 0.6239, 1.6179, 1.2014, 0.2608, -1.992, 4.7736, 2.9884, -1.6687, -1.57, -3.2904, 2.3265, 0.1217, -0.6529, 1.1537, -1.343, -3.266, -0.7427, -0.3946, -0.8553, 0.7078, - -2.5785, 3.3274, 0.7827, -1.1641, 0.3099, 2.093, -3.8923, -2.1233, -0.2174, -1.0352, 2.3827, 3.2008, -1.3061, -1.3553, 2.0138, -4.8137, 2.2926, -0.4492, 0.2262, 2.3061, - 0.703, -0.6796, 0.6702, 1.233, 0.3286, -1.1249, -0.2281, 0.9008, -0.4257, 1.5252, 0.1413, 3.8708, -2.7125, -0.1048, -1.3046, -2.6469, -1.7645, -0.4236, 2.6448, -0.6022, - -2.0396, 0.9147, 3.7884, 2.4844, -0.2561, -2.4529, 1.8969, -0.1479, 0.695, -1.2549, -4.9008, -1.2459, 0.9313, 0.6906, 5.2636, -1.1277, -0.2394, -2.2895, -2.5856, 1.8753, - 1.678, -1.6532, -2.7599, -2.245, 0.5197, -1.6003, 4.4426, 1.0934, -0.3109, 0.9191, -3.4242, 1.3304, -1.5208, -0.9853, -0.2434, 3.9418, 0.4425, -2.2543, 4.6335, -2.0037, - 2.2658, -0.6139, -1.3935, -0.0563, -2.955, -1.9056, 3.4601, -0.3817, -1.6475, -0.291, -0.5503, 1.7727, 0.0114, 2.6384, 2.8574, 0.5346, -5.4829, -2.6161, 0.958, 3.3952, - -2.9553, 0.0039, 3.9564, 2.2087, -0.9348, -1.5953, -1.378, 0.1552, -2.1548, 0.7917, 1.8242, 1.6997, -1.8826, -0.8677, -0.7876, -0.2152, 2.3842, 2.1467, 1.7116, -4.111, - 0.7023, 1.9303, 1.0064, 0.0165, 5.4286, -1.1464, -1.0459, -2.0088, -1.2634, -2.1806, -0.6159, 0.3372, 3.405, -1.1188, -2.8596, -2.391, -0.555, 5.4226, -1.0697, -1.9937, - -0.8683, 0.0341, 1.1306, -1.3868, -1.9833, 2.9612, -0.7025, 0.9705, -3.1777, 4.1388, 0.7353, 0.3664, 2.0843, 0.2998, -0.405, -1.1895, 3.2137, -5.0324, 1.1351, -2.3244, - -1.0092, 0.5101, 2.307, 2.1852, 1.5304, -1.7001, 1.6095, -1.457, -3.9762, -1.6422, -0.2532, 1.3474, 0.8974, 0.9819, -2.2295, 4.7058, -2.038, 3.1038, -2.542, -2.3311, - 1.9713, 1.0803, -1.0686, -1.2321, 0.3041, -0.5899, -1.6032, -0.6543, -2.1903, -2.1676, 0.3844, 0.2905, -0.5787, -1.1285, -3.3703, -0.5637, 0.3705, 2.2696, 8.3763, 0.1004, - -2.3313, 3.6108, -3.7738, 2.3534, -6.3897, 3.9802, 2.8098, 6.2413, 2.517, 5.126, 2.4541, -1.7202, -4.9921, -5.7179, -3.3204, 5.3271, 2.0124, -5.7657, 0.7907, -3.2116, - 0.323, 1.0311, 1.366, 0.9706, 2.0785, 2.0724, -0.0151, -0.8301, -1.1195, -2.8044, -0.9819, 0.0417, 0.0944, -1.2077, -2.2323, 4.1593, 1.4207, -2.7654, -0.5102, -1.0909, - 1.0182, 0.5812, 0.3232, 1.704, 1.6371, 0.0882, 0.7883, 2.0623, -2.4549, -1.7632, -0.0828, 0.1245, -1.0882, -0.0487, -2.0254, -0.8118, -5.9132, 2.5533, 0.488, 2.8199, - -2.1755, -1.411, 0.7926, 3.1903, 3.2045, 1.4005, 2.2246, 0.4995, 1.4795, 1.0003, 1.4155, -1.8108, -1.7649, -2.0289, -4.9177, 1.9399, 0.4644, -0.6846, -2.6827, -0.1356, - -2.3372, -0.8774, 1.8295, 2.5713, 0.4237, -1.62, 0.725, 1.2049, -2.5557, -1.7837, -2.0535, 1.8608, 2.0142, 1.1559, 0.414, -2.2055, 2.6316, -1.0207, -0.4407, 0.0634, - -6.476, 2.3566, 6.2881, 1.178, 2.2768, 0.5492, 3.6691, 1.5956, 1.5393, 0.8045, -2.4474, -1.1396, -3.0192, -2.8013, 2.1788, 0.9584, -4.0593, -1.3318, -0.6033, -1.5164, - -0.2224, 3.1469, 4.1918, -1.5853, -2.9401, 2.4424, -2.0556, -1.6902, 1.4657, -1.4987, -4.5783, -3.9175, 1.8499, 2.5001, -2.9926, -3.1367, 4.3814, 2.8761, -0.3135, 2.0766, - 0.2838, 0.7448, 1.5373, 1.7127, 1.9184, 1.9954, 1.4552, 0.6636, -0.0775, -1.4076, -2.7023, -2.4765, -6.0615, -4.2297, -2.8214, 4.4402, 0.5975, 1.2302, 2.2798, 0.9178, - 0.1873, 0.8058, 1.4948, 0.4584, -0.6762, -2.1053, -0.4098, -0.951, -0.4347, -0.3909, -1.0508, -2.5837, -1.0389, -4.2899, -4.0647, 3.8453, 2.2675, 2.8481, 4.595, 1.4936, - 6.4165, 4.769, 2.1643, -0.5306, -1.7418, -1.1821, 0.4655, 2.4797, -1.0005, -2.7835, 0.6462, 1.054, 0.1648, -0.2195, -1.2133, -1.6876, -0.2896, -1.1843, -4.2375, -2.0895, - 0.6591, -2.4247, -3.5305, -2.0684, 0.7993, 0.5286, -1.0223, -0.9537, 0.6266, 1.4075, 1.462, 1.6652, 1.3324, -0.3799, 1.6047, -0.403, -1.4183, -0.7574, 3.5079, -0.6351, - -0.7402, -0.5022, -0.0104, -0.1501, 0.0126, -0.8303, -0.6338, 0.0643, 0.7573, 4.3586, 2.2234, -0.7379, 3.8453, 0.8151, 2.8221, -1.4249, -1.4011, -3.5524, -6.4818, 1.5666, - 1.297, 2.6835, 1.2613, -1.8292, -0.939, -1.6773, -1.9287, 1.2477, 1.3854, -1.9138, -1.0744, 1.6338, -4.8418, -0.558, -1.29, 5.2745, -2.7458, 2.6939, -0.9625, 2.2835, - 1.8861, 3.1363, 4.0321, 1.7435, 0.5233, -0.7855, 2.0137, 0.8065, 1.2174, -4.0074, 0.586, -1.0339, -6.4815, -6.1251, 1.1641, -3.9644, -6.3895, 7.8222, 2.0846, 1.7715, - 3.9399, 2.2907, 1.6049, 0.7588, -0.5727, -0.4203, 1.1669, 0.6185, -0.3417, 1.2484, 1.5946, 1.7091, -1.8086, -4.7596, -2.8399, -3.9325, -2.0296, -0.678, -0.7509, 3.2019, - -0.3222, 0.619, 2.2698, 6.3269, 5.8198, 2.6992, 0.0601, -0.5335, -1.7361, -3.6667, 0.2231, -2.3194, -2.0166, 2.496, 0.142, -3.4765, -2.9842, -0.3195, -1.1974, -2.084, - 1.2403, -2.3646, -2.0313, 0.7252, 3.2474, 2.8194, 3.1981, 0.9009, 1.1286, -0.917, -2.4531, -2.402, 1.6229, 2.3317, -1.4971, 0.7586, -3.2903, -2.1223, -1.2864, 0.3911, - 2.1547, -0.4814, -1.6208, -0.2568, 3.766, 2.5927, -0.5335, 0.5221, 2.1027, -1.7193, -2.1878, -1.5973, 0.4487, -3.0208, -3.0695, -0.2839, 1.21, -4.2182, 4.88, 1.3123, - -0.8216, 0.0172, 1.0117, 1.8195, 2.2767, 0.0322, -4.7072, -3.7244, 0.2876, 1.2946, -1.1268, -2.0514, -0.3229, 1.5642, 2.8282, 1.4525, -0.2405, 0.3745, -0.8299, 0.8658, - -0.5885, -0.7711, -0.1566, 0.2456, -1.1305, -2.14, -1.5832, -2.7023, 2.6573, 2.8982, -1.9439, -1.4435, 3.2616, 3.0544, -1.0646, -0.2393, 0.2808, -0.6774, -3.3509, 5.3938, - -2.1609, 4.7541, 2.6519, 2.9104, -0.9771, -3.4464, 1.3102, 4.9024, 3.0997, 0.1198, -0.6878, -5.0516, -2.6241, -0.139, 0.326, -3.7625, -4.6033, 5.7644, -2.7192, 0.333, - -0.0774, 0.0212, 1.7356, 2.6966, 3.8703, -1.264, -2.204, -3.8688, -2.8745, -0.383, -1.2433, 2.7247, 1.1808, 0.5913, 3.3839, -2.9426, 0.1962, -0.6047, -3.1975, 2.2593, - -1.7694, -0.8337, -1.4857, 1.6357, 3.0084, 1.4757, 0.7496, 0.4982, -0.8638, 1.0294, 3.8151, 2.548, -0.4944, -5.1598, -4.1575, 1.6819, -0.9028, -3.0629, 2.9081, -0.6201, - -4.1737, -1.1372, 0.4218, -0.398, -0.2873, -2.0904, -1.4241, 1.1799, 4.8192, 5.5695, 2.124, -1.9634, -0.1503, -0.2208, -2.6623, -1.214, 1.5287, 0.1773, -0.4832, 0.3844, - 1.1759, 3.6352, 3.0816, -1.1382, -0.8341, -1.2549, 1.7627, -0.261, -1.7582, -4.6767, -1.9887, 0.8806, -0.2903, -2.9331, -3.3697, 0.3291, -2.5313, 6.3991, 2.6926, 1.0793, - 3.1054, 0.5446, -2.7707, -3.1154, -2.4354, -2.1091, -1.9215, 1.5263, -0.5089, -2.1954, -3.0602, -1.7502, 2.0283, 3.094, 3.1639, 6.0315, 0.1168, -2.3219, 2.2755, 0.3024, - 1.4017, 0.2037, -0.1188, 0.363, -1.7809, 1.2589, -0.0416, 0.1426, -0.29, -0.0669, -0.9365, -1.7637, -4.6543, 4.5857, 0.7173, -1.2893, 0.7992, 1.8632, 0.4734, -0.8667, - -0.6645, 0.3054, -0.1583, 0.39, 0.1223, 1.1996, 4.2148, 1.7843, 2.7706, 0.9297, -1.0663, 1.2711, -0.1675, -0.5861, -2.5452, -2.9107, 1.264, 0.2394, -4.6672, -1.7254, - 1.3908, 0.5115, -0.8577, 0.3878, 0.771, 1.2838, -1.2112, -1.293, -1.9359, -2.3893, -2.5796, 1.2692, 3.1933, -0.2748, 0.2489, 3.4206, -5.3967, -3.2312, 2.6326, 4.06, - -3.1151, -2.4768, -1.4409, 0.082, -0.065, 0.8542, 2.7545, 0.8481, 2.7775, 3.2925, -1.1392, -0.56, 5.6459, -1.5505, 0.7937, -0.2372, -3.8294, -1.7699, -1.1681, 0.3038, - -1.4631, -1.5744, -1.0602, 1.2727, 5.2755, 0.7411, 2.6424, 0.9111, -1.5443, -0.8217, -2.458, -1.9627, -0.3229, -0.7005, -0.1842, 1.441, 1.119, -0.0388, -1.7254, 0.4532, - 2.6735, -0.132, -2.0731, -1.2667, -0.0059, 0.4063, 1.1045, -0.65, 0.2919, -0.2343, -0.1432, 0.5161, -1.3203, -1.9223, -1.8439, -0.3541, 2.5902, 0.7807, 0.9691, 0.6136, - -2.576, -2.1039, 3.3039, 7.5737, 4.851, -1.928, 1.3509, -0.0624, 1.3149, 2.3856, -2.8836, 1.6777, 1.6919, -0.2315, 2.0672, -1.6292, -7.7877, -7.8864, -2.423, 3.2949, - 0.1825, 1.4326, 1.8802, -0.76, -3.5028, -2.0654, -2.5905, -1.978, -1.3931, -2.0377, 2.0912, -0.7666, -1.6801, 0.1901, 1.3312, -0.8245, -0.8221, 9.1933, 2.6121, -0.4925, - 0.6596, 0.5183, 0.0656, 0.6099, 0.217, -0.2483, 0.3752, 0.0528, -1.355, -1.959, -3.0746, -2.7901, 1.748, 0.0667, -1.3253, 1.8365, 1.2016, 0.6331, 1.5502, 1.2179, - 1.518, -2.8697, -3.0225, 1.1901, 1.2949, 1.2425, -0.2655, -1.0124, 0.1504, 0.9476, 0.8294, 0.498, -4.6214, -0.4714, 2.314, 0.5042, 0.0042, 0.6173, 0.025, 1.1274, - 5.2946, 0.9166, -1.6961, 2.6183, 3.7503, -0.5464, -0.4536, -2.5804, 0.7239, -3.0443, -0.9745, -0.5296, -1.2153, 0.2578, -4.9483, 0.2574, 1.6442, -1.7218, -1.0182, 3.2654, - -0.3113, 0.1627, 0.201, -0.6825, 0.4894, 0.3705, 0.5406, -0.5307, 2.3413, 3.1334, -0.2531, 0.7289, 0.0127, 0.8411, -0.5394, -1.5751, -4.4648, 3.3442, -1.3619, -2.4473, - 0.7892, 1.6007, 2.2451, -0.0142, -1.8268, 1.0211, 1.1632, -0.431, 0.4809, 0.7681, -0.3119, -3.184, 1.8621, 0.7982, 3.9396, 5.5125, -9.0182, -7.2338, 1.472, 0.3673, - 4.5691, 3.1984, 0.4848, -1.6299, -1.5279, -0.4613, -0.394, -0.7641, -0.774, -1.4705, -2.0718, -3.7739, -3.8204, -2.0882, 0.9538, 2.3794, 3.3309, 2.1292, 0.9829, 0.7475, - -1.7639, -2.13, 1.8133, 5.4637, 4.9096, 0.44, -0.2077, -3.2872, -2.801, -3.3973, 1.4612, -0.7884, -0.4468, 0.3167, 3.033, 3.6546, 1.5554, -2.1172, -5.0158, -0.6924, - -0.9691, 2.1549, 0.9464, -1.8955, -2.483, 0.5229, 1.0573, -0.1544, -2.7731, -1.7762, -1.2133, 0.4997, -0.404, 0.0598, 2.1564, 0.9676, 0.1749, -0.3066, 1.3334, 2.102, - 0.1735, -0.6351, -2.2851, 0.3979, 2.1071, 0.8723, -1.4327, 2.7248, 2.2122, -3.8366, -6.8693, 2.9956, 2.234, 0.2392, 4.5854, 0.8064, -0.4877, -1.9451, 0.1604, -2.0173, - -3.0467, -2.6229, -0.6828, -1.5402, -4.5504, -0.6274, -1.5654, -1.1048, -5.0244, 1.2208, 4.3959, 1.7152, 0.8404, 2.3104, 3.911, 1.3725, 3.6004, -1.5868, -0.0242, 3.0095, - 4.6972, -2.0723, 3.7478, -0.0539, -1.3604, -1.6975, -5.1051, 4.5477, 7.491, 0.8111, -1.5236, -2.0035, -2.3201, -1.9156, -1.8399, 2.7039, 1.1102, 2.7618, 0.1987, -8.1775, - 4.2697, 2.1482, 1.1807, -0.8188, -0.0158, -0.9415, -3.1934, -7.6652, -5.2761, -0.4096, 0.8289, -0.6591, -0.1321, -2.2645, 2.689, 3.5308, -0.186, 2.2844, 2.1691, 2.4613, - -2.6176, -1.9646, -0.3365, 0.449, 1.789, 3.0096, 1.2687, 0.1913, 0.7099, 3.1055, 2.4376, 1.5156, 0.2027, -3.2954, -0.8316, 0.625, 2.5125, -1.9645, -4.736, -2.0703, - 0.9801, -1.159, -1.1869, -1.8206, -2.6697, -2.2474, -1.9247, 1.339, 0.7955, 3.2786, 2.1796, 1.2439, 3.831, 0.9791, -3.7027, -2.0691, -3.3297, 3.47, 4.0219, -2.0091, - -1.9305, 1.1296, 2.7892, 3.5086, -0.4192, 1.8621, -2.4767, -4.562, -1.3151, -0.4855, 0.213, 4.0896, -0.2763, 2.9118, 1.5789, -0.3477, -0.82, 5.6054, -7.8822, -3.173, - 3.5183, 4.1815, 1.9981, -0.8261, -1.4369, -0.3881, 1.0213, -3.8793, -3.6636, 2.2621, 1.1803, 1.7727, -0.7985, -1.2902, -5.0777, -1.2307, 0.3381, 4.4122, -1.4815, -0.612, - 4.0477, 1.4256, -1.6604, -3.5999, -1.9136, -0.3445, 0.3946, 1.6694, 1.2905, 0.9828, 0.5724, -0.1289, 1.3498, 1.3379, 0.2067, 0.3656, 0.2492, -1.2128, -3.2905, -1.7416, - -2.0178, -2.6699, -1.3526, 0.2496, 0.4148, -0.8854, 1.0823, -0.6203, 1.2579, 0.4148, -2.2346, -0.4015, 1.4157, 4.8809, 6.623, -3.5608, -1.8735, -4.5603, 3.5038, 0.334, - 1.4937, -1.542, -2.385, 3.1706, 1.4707, 0.1938, 0.5057, 3.8806, -0.0936, 0.3334, 0.4606, 1.4472, -0.903, -1.4318, 3.5118, -5.2689, -1.4235, -1.2997, 0.0053, -2.1257, - -3.6561, 0.1855, 0.3705, 1.1645, 0.2341, -0.8092, 2.398, -0.3274, -0.4576, -1.1851, -3.8496, 2.0281, -3.3309, 0.9466, -0.078, 1.0318, 4.0737, 2.619, -0.3495, -1.0083, - -0.1238, -0.3756, -0.3626, -1.1974, -3.028, -3.3983, -3.5184, -2.8303, -0.2464, -1.0525, 0.7469, 1.1667, 1.9967, 2.0536, 5.8842, 4.672, 0.6593, -0.227, -1.2558, 0.4368, - 1.4898, -0.0036, 2.1872, 4.7731, 5.3388, 2.1104, 0.861, -1.9286, -4.4764, -2.9139, -5.8875, 0.1502, 2.3687, -3.3444, 1.8016, 2.0118, 0.348, 1.5855, -1.0664, -5.4053, - -0.2559, -0.097, 0.6606, -3.0637, -4.0503, -2.5522, 0.2345, 0.1786, -0.3244, -2.5706, 1.7286, 2.2086, 1.6927, 2.74, 1.934, -0.1619, 5.414, 3.6846, -5.1534, -2.2469, - 0.7337, 0.6464, -0.7291, -0.8337, -0.3024, 0.3377, 1.5178, 1.0116, 2.585, 0.9759, -1.397, -3.2182, -3.6906, -0.0798, 3.4993, -1.9939, -5.3046, 1.4115, 4.7666, 0.0639, - -2.9601, -0.9321, -1.3007, -4.5012, -0.6859, 1.6271, 0.8938, 1.8188, 2.7147, 2.4868, 2.4402, 0.6577, 1.204, 2.0247, 0.2523, 1.3499, 1.0757, -5.3086, -0.2223, -2.6347, - 1.2887, 2.2547, 3.3766, 1.8575, -1.791, -1.7548, 1.5265, 2.7964, 1.224, 1.972, 0.2687, 1.81, 3.1328, -2.586, -2.7821, -3.9778, -2.4086, -2.0066, -0.0746, -4.1265, - 0.8108, -0.0118, 0.351, 0.2469, -0.3564, -0.0688, 2.2772, 2.9983, 0.022, -0.8672, -4.831, -2.0824, 0.0877, 2.2501, 0.0661, -8.6456, -1.6422, 4.8643, 2.3157, 2.2152, - -2.3502, 1.9923, 1.6641, -2.2786, 3.4633, 2.605, -3.0058, 1.5172, -5.319, -0.9994, -2.4221, 0.2495, 3.8898, -2.058, 1.1705, 0.4058, -1.2798, 2.5712, -0.5349, 0.7192, - 5.2963, 2.758, 0.0542, -1.8363, 0.6217, 3.1975, 0.8761, 0.6926, 0.1889, -2.2049, -2.6639, -2.3949, -0.455, 0.9028, 0.9417, -2.32, -1.6049, 2.2215, -3.0876, -1.184, - 0.0332, 0.6867, -0.5444, -2.656, -2.3272, -1.9975, 2.7492, 3.4613, 1.2531, 2.297, 0.6826, 1.6161, 0.8081, -2.8567, -0.251, 3.1363, -4.7699, -0.8591, 1.4746, -1.9362, - 0.1179, 0.1304, -0.0905, -0.0885, 0.5876, 2.0857, -0.3875, -1.3306, -0.8957, -0.1982, 0.8458, -0.0513, -2.2349, -5.5634, 7.5385, 3.9965, -1.063, -1.5645, -2.102, 0.268, - 1.5416, 0.4773, -0.0338, 0.6704, 0.3091, -0.0982, -0.8312, -1.8586, -2.1668, -3.0698, -3.6621, -2.8717, -0.1465, 2.9749, 3.0473, 2.3156, -0.0362, 0.7605, 1.1471, 1.5312, - -1.4651, -1.1492, -0.67, -0.6012, -0.1247, 1.155, -0.2106, -1.2695, -0.4411, 1.1446, 4.1491, 2.66, 1.3124, 1.6069, 0.6316, -0.4851, -2.5715, -4.3867, -1.004, 1.7189, - 0.2437, 0.6555, 0.3411, 0.8466, -1.7425, -0.1636, 6.1311, 0.6211, -2.703, -1.5009, -0.1744, 0.866, 1.3589, 1.249, 1.1273, -2.7402, -0.0949, -1.544, -1.861, -0.9159, - 4.3927, 3.3672, 0.9009, -1.2521, 0.623, -0.5206, 0.8245, -0.9087, -1.8374, 0.0097, -3.1469, -2.4307, -3.0482, 0.2541, 1.948, 5.7092, -3.3716, -3.2953, 2.6836, -0.9014, - 2.2171, 0.1913, -1.6779, -0.9585, -1.3241, 0.2292, 1.4881, 2.7969, 0.2756, -3.8207, -2.4695, -0.3208, 2.3024, 2.5414, -0.1815, -0.2933, 2.0837, 0.9892, -1.0861, -2.9823, - 0.1186, 0.1645, -0.3865, -0.8001, -0.3047, -2.3398, -0.6229, -0.0641, 0.8491, 1.7026, -1.1341, -2.0704, -0.3123, 0.1814, 3.882, 1.2943, 0.4627, -0.5672, 0.5181, -0.5712, - -0.1015, -2.3234, -2.352, 0.9949, 2.2704, 0.9946, 0.356, 0.9113, 0.1017, -0.453, 0.852, -1.0302, 0.8806, 0.3674, -2.6615, -4.89, -2.9475, 1.9045, 2.6392, 4.4864, - 2.3941, 1.701, 1.9067, 0.4931, -1.4348, -2.6074, -1.1597, -1.0504, -3.046, -2.8157, -0.6597, -0.592, -0.3406, -1.123, -0.8586, 4.9381, 2.8734, 1.4518, 2.5923, -2.6625, - -0.8669, 1.9301, 3.2551, 6.1577, 2.0399, 2.6785, 0.738, -0.3115, 4.7391, 1.4868, -6.0175, -7.4317, -4.5623, -0.859, 3.8966, -0.1349, -2.5476, -0.008, -1.4441, -2.7383, - -1.8064, 0.5147, 0.58, -2.6271, -3.9359, -2.9321, -2.4785, 0.6104, -1.7343, -0.3653, -0.3024, 0.235, 2.3057, 1.9998, 2.2392, 1.9124, 3.0438, -0.2241, 5.1672, -2.202, - 1.858, 3.3342, 3.04, 1.067, 0.2251, 0.548, 1.7906, 0.7871, 1.285, -0.3795, -2.015, -2.3713, 0.5611, 0.5214, -0.8547, 0.0171, -1.8463, -2.7006, -1.7828, -3.0844, - 1.4841, -0.81, -2.4242, -1.8509, -0.9746, -1.0553, 4.8924, 1.3818, -1.8605, -4.3708, -2.0142, 6.4457, 0.9506, -0.5924, 0.1104, 2.4175, -0.6754, -0.8459, -0.1554, -0.053, - -0.0877, -0.9877, -1.7358, 0.3853, 1.1022, 1.2975, 4.3189, -1.9877, -3.1833, 1.0392, 0.1796, 4.1158, 1.465, -1.6177, 1.6123, -4.1615, -3.2584, 1.2187, -4.3136, 4.5989, - 0.4487, -0.1107, -2.0381, -0.2337, 2.5745, 2.8339, -0.0417, 1.4413, -1.4483, -1.1675, -6.2515, -6.936, -3.2717, 4.8492, 0.9246, -0.975, 4.1724, 1.7821, 1.382, 2.0655, - 0.1081, -0.6949, 0.1665, 0.6685, 0.879, 0.7273, 0.1766, -0.0005, -0.2218, -0.4294, 0.4489, -0.4843, 0.2008, 2.1975, 4.5024, -1.0296, -1.2026, -2.5547, -1.0944, -2.3636, - 2.3396, 2.1543, 2.2429, 4.7578, 0.839, -0.8895, 4.6297, 0.4985, -2.3653, 2.1787, -1.0612, -0.8953, -6.2919, 0.5546, -0.4272, -0.967, -1.9781, -0.4692, -5.5295, 0.6795, - 0.153, -2.1926, 2.1973, 4.5005, -1.3453, 1.3286, -2.031, 1.0783, -1.351, -0.7983, 0.6783, -3.4857, 5.3977, -3.6561, -3.5986, 6.0882, 0.1428, -0.9697, 3.0219, -5.1583, - -2.6086, -0.0766, 2.7222, 2.0552, 2.4096, 3.0319, 1.0596, -0.1283, -0.8104, -0.2732, -1.4259, -4.0229, -1.4469, -1.6716, -1.1861, -0.9216, 0.678, -0.0004, 2.0118, 0.6041, - 1.8333, 3.1078, -1.8097, 1.1817, 3.7643, 0.5185, 1.9828, -0.3454, 1.2321, -1.0494, -6.2996, 3.9399, -4.6043, 2.7296, -2.2906, -1.7821, -0.5503, -0.1687, 1.5615, -2.9514, - -1.9822, -1.787, -2.0807, -0.6471, 1.7376, -0.7108, -0.9897, 0.1273, -1.5435, -3.408, 1.1979, 3.2003, 1.0189, -0.9731, -1.079, -1.9655, 3.5511, 1.2692, 3.4593, 1.6049, - 1.8097, 0.7952, 2.3044, 2.0422, 0.0385, -1.489, -2.6817, -2.4115, -2.0814, -4.7349, 1.3168, 5.2099, 2.0691, 0.2209, -0.3967, -1.391, -0.0825, -1.397, -1.3074, 2.1664, - -0.6317, -0.6961, -1.7818, 1.7212, 1.8896, 0.7627, 6.4133, 0.0239, -2.0812, -0.634, -0.8745, -0.8436, -3.5167, -3.0992, -0.4403, -5.0217, 5.7819, 4.7221, -2.9383, 1.2443, - -0.8542, -4.8873, -5.4381, -4.263, -4.129, 0.7749, 4.7768, 0.2842, 0.3115, -0.282, 0.2149, -0.1804, 0.6193, 5.7873, 5.1866, -1.3257, -3.0389, -1.9693, 8.9711, -0.5589, - -1.7203, 0.3016, 0.2697, 0.0913, 0.2499, 2.9554, 0.332, 0.0927, -3.0516, 1.3578, -0.8456, 1.2764, 0.1248, 3.9102, 2.8147, -2.3847, -6.7532, -2.2614, 1.9868, 1.2535, - 2.3588, 1.8978, 1.0798, 1.0217, 0.8258, -0.3312, 0.8967, -0.1754, -0.3981, 1.015, -0.3879, -0.8493, -1.269, -1.1797, 1.5079, -0.1598, -2.3607, 1.1269, 2.648, -7.2674, - 1.1746, 4.6165, 5.494, 3.4461, -3.9021, -1.605, -0.1323, -0.938, -0.4156, -1.9, -0.2856, -1.2349, -3.6515, -2.9147, 0.053, 1.1469, 0.2371, -1.3253, 3.8834, -1.7466, - -2.2758, 1.8844, 4.6711, 2.2076, -1.3597, -0.4741, 0.4627, -0.0358, -0.0017, -1.0258, -0.6957, -1.027, 1.1372, -2.604, -3.0616, -4.3523, 1.6973, 1.9314, 1.1807, 1.741, - 1.9665, 1.3206, -0.1069, 0.8467, 1.1209, 2.6581, 1.0313, -0.7646, -0.9327, -0.4666, 1.3979, -1.1019, -2.4235, -8.2049, 1.1737, 4.931, 0.7484, 0.2664, -6.0708, 2.6104, - 1.1852, -1.5416, -3.6491, 4.4048, -6.7437, 4.6469, 1.6802, 1.291, 2.2789, 2.761, 1.3944, -0.7732, -5.8136, 4.4421, -2.2039, 0.8414, -5.8722, -4.6747, -3.6578, 10.0038, - -3.9689, -0.5502, 1.1683, -2.1974, -1.9082, 0.1416, 1.6772, 0.326, 3.7162, 2.4168, 2.6207, -1.7735, 1.5236, 0.348, -0.3569, 4.1471, 1.4471, -0.6226, -8.1997, 0.0448, - 0.6532, 1.491, 1.2058, 1.7096, 2.395, 1.7319, -1.5483, -1.8447, -2.2888, 0.7634, 3.2796, 1.6709, -4.9985, -3.0829, -1.1211, 1.2229, -0.2209, -1.194, 1.9569, -1.7811, - -1.9523, -4.3005, -4.5837, 1.0346, 1.2567, 1.0099, 3.2344, 2.8332, 1.1895, -1.5164, -2.2052, -1.2334, -1.4331, 2.1022, 2.3179, 5.6712, 2.1958, -2.0504, -2.5243, -1.046, - -1.1815, -1.53, -0.6842, -0.5633, -2.6867, -1.4016, 0.6359, -2.017, -1.297, -1.6432, -1.0489, -1.3764, -1.1731, -0.5962, 3.5229, 5.3595, 3.1187, 3.4061, 0.3009, 0.855, - -3.1382, -0.628, -0.8774, -0.9941, 0.9435, 0.9619, 0.852, -3.3796, -3.2423, -1.3758, 3.304, 2.2194, 1.0056, 2.5348, -0.2996, 0.9762, -3.7819, -0.3936, 5.7234, -0.4105, - -3.2428, -5.3967, -1.5226, 4.3711, 2.0836, 2.1112, 0.7032, -4.0183, -12.6551, -15.4852, 0.9361, 9.2253, 10.5424, 3.4081, 3.4337, -0.7556, 1.6657, 0.8127, 4.5992, -0.816, - 1.8248, 0.0419, 0.5248, 1.8646, -1.2814, -2.6618, -0.0669, 0.1817, 2.2151, -0.8152, 5.1179, 2.3104, 3.6555, -8.7128, -2.079, 1.0629, -0.0963, -1.5473, 0.4756, -2.0146, - -0.1111, 0.3482, -0.0235, -0.7175, -0.1449, -0.3857, -0.8724, 0.4592, 0.498, 0.2237, 0.3924, 0.2623, -0.5426, 0.937, -0.6701, 0.16, 0.1978, 1.4707, -0.454, -1.0274, - -0.9442, -0.4989, -0.2375, -0.5991, -1.2414, -0.4327, -0.2055, -0.5191, 2.6955, 3.9938, -2.7275, 1.8004, 1.9744, 1.7067, -0.5541, -5.7033, 0.6046, -1.4009, -1.3782, 3.6669, - -0.8575, 0.6722, 1.8197, 2.2695, 1.4265, -1.5445, -1.743, -1.5937, 2.047, -0.1126, 0.3473, 1.4243, 0.9317, -1.3895, -1.064, 0.4664, -0.0706, -3.0958, -1.0532, 1.1198, - 0.9735, -3.1553, -4.9524, -1.8534, 0.7715, 2.4911, 5.1271, 0.432, -4.1146, 1.1236, 2.7184, 2.0135, 1.9444, 1.7813, 1.8232, -2.6267, -5.6361, 0.3774, 1.0979, -0.3363, - 1.9497, 1.0413, -1.2191, -0.8636, 0.0511, -0.3375, -0.5315, -1.0284, 2.1218, -5.0828, 1.0827, -2.2172, -1.3936, 0.4537, 3.3006, 0.9962, -1.2147, 0.093, -2.8723, 5.6705, - -3.0064, -0.669, 1.9882, 3.1451, 0.5101, 1.4897, 6.0735, 3.0322, 0.7197, 2.5823, 0.9024, -1.3595, -0.6102, -4.4164, -5.2345, 0.5038, -1.7243, -1.0135, 0.3868, -3.2999, - -1.3127, -0.5603, -0.4395, -0.5779, -1.3273, -0.7737, 1.1446, 2.1363, 0.5709, -0.9646, 0.1742, -0.3429, 0.7079, -1.3617, -0.1807, 0.8278, 4.5177, -3.6128, 1.9484, -0.5738, - 4.9592, 5.5662, -1.4308, 2.4625, -1.3728, 0.3179, 2.5142, -3.1176, -3.0793, 2.5866, -6.0767, -3.0209, -1.0428, 3.7946, 3.4423, -3.9407, 3.868, -5.8781, -3.2612, 2.7097, - 1.8752, 4.6096, 2.6992, 0.0622, 1.9683, -1.5159, -0.2846, 2.0429, 5.1916, 0.0415, 0.4228, 0.2499, -1.8859, -1.2282, -1.8414, -3.2239, -2.8594, -2.2718, -1.947, -2.105, - -0.4172, -0.066, -0.7815, -1.3234, 1.6425, 1.596, 0.1952, 2.8005, 1.8348, -0.0556, -1.7528, -0.333, 2.5351, 3.2175, -0.0237, -2.6102, -2.3993, -0.4569, 0.2104, -3.8124, - 0.534, -7.1325, 7.3739, -7.1474, 5.0035, 4.0837, 1.7481, 0.6285, 2.147, 3.3649, 3.4871, -4.6213, 5.3643, -0.8361, 2.3067, -0.6517, -4.1528, -4.1599, -0.0969, -7.2432, - 6.4977, -1.8922, 6.0123, 2.6649, 3.9019, -2.9401, -5.9544, 6.5995, -3.7727, -1.3909, -4.1986, 0.3151, 1.1248, 0.2299, 1.4836, -7.4381, 0.2549, 4.7727, -2.9947, -3.2755, - 0.0546, 0.0075, 0.5596, 0.2523, -2.3268, -4.5642, -3.6799, -0.8395, 2.7336, 3.7088, 2.7486, 2.6118, 1.5065, 0.0463, 0.417, -0.5592, 1.5006, -0.4534, -1.6715, -2.0529, - 2.9815, 2.4495, 1.7545, 3.2822, 2.8844, 2.5666, 0.0398, 1.6192, 2.6128, 3.3153, -4.7284, -2.6356, -1.7561, -4.3333, -3.6328, -2.9815, -0.9212, -0.8755, -0.3601, -1.2811, - -0.8024, 1.2002, 3.222, -0.7626, -2.1102, -1.0525, -1.8044, 0.6518, -0.3024, 1.2038, 0.2348, 0.2257, -2.8991, -1.661, 1.3306, -0.9177, -2.5629, -0.6077, 5.6868, 1.7272, - -0.1833, -0.3751, 0.5635, 0.1503, -0.2949, -0.6821, 1.4873, -1.2805, -1.3007, -0.6803, 0.0098, 0.9789, 1.7868, 3.5914, 0.8184, 1.0857, 6.4677, -3.3457, -6.706, -2.0913, - 4.2126, 1.0339, -0.8906, 0.9053, 2.8206, 3.1913, 0.4808, 1.7342, 1.1617, 0.7387, 3.7928, -0.7288, -6.1883, -1.6937, -4.9005, -3.6291, -0.7611, -1.4035, -0.2407, 0.3643, - -8.3754, -2.2519, 1.308, 1.8062, 0.885, 1.6497, 2.088, 2.7261, 0.2633, -0.5998, 0.5979, 0.7034, 0.996, 2.9711, 0.165, 0.8745, -0.1614, -0.6875, -1.3556, -3.6024, - 1.4188, 1.0202, 1.5256, 1.662, 0.7476, -1.439, -3.4051, -1.878, 0.4521, -3.9741, 0.7867, -0.3719, -2.3721, -1.0437, 0.6801, -0.2011, -3.0818, 2.9062, 4.2361, 2.3315, - 0.1054, -2.6122, -4.3807, -5.3145, -0.2846, 4.3842, 3.017, 3.8061, 0.711, -1.0498, -0.2574, -0.9802, 0.3402, 1.2503, 2.5457, -7.8042, -0.1469, 2.8259, 3.0062, 0.8386, - 5.2058, 7.108, 4.9534, -1.243, -6.6855, -3.7117, -6.1961, -2.1515, -0.5576, -1.6169, 5.7678, 7.778, -3.9195, 1.0323, -4.8749, 2.1979, -6.6948, 5.7018, -1.1809, -0.9126, - 5.0054, 3.2246, 2.722, 2.5774, 0.3515, -0.4988, -0.6659, -1.1531, -0.3512, -0.2899, -1.1677, 0.8076, -0.071, -1.3279, -1.882, -2.0262, -1.5275, -2.277, -2.2582, 0.808, - -0.3421, -2.1542, -1.9404, 1.9715, 2.0717, 1.269, -0.59, 2.8831, 2.5295, -0.0718, 1.0132, -2.1895, 0.9449, 0.2787, 2.8471, 3.2171, -2.0622, -4.9892, -4.8142, 0.1278, - -3.5648, -4.522, -3.8219, -0.0484, 2.559, 3.3348, 4.6892, 3.089, 3.1738, 2.4402, -0.3648, -2.0478, -1.8476, 0.1171, -0.1749, -2.2364, 0.1988, -2.2378, 0.6726, 0.592, - -2.5566, -0.841, -0.428, -0.4406, -0.5726, -0.3279, -1.871, -2.483, 2.814, 4.1548, -1.1877, -1.2228, 1.1741, 0.7041, -4.1128, 0.8974, 1.646, 2.7315, 1.4956, 0.4265, - 0.6395, 0.6244, 0.2175, 0.2548, -0.6436, -1.4509, -1.2471, -1.8889, -1.6984, 0.63, -0.0902, -1.4274, 1.6267, 2.2897, -1.4907, -1.0863, -0.599, -0.3234, 4.5402, 1.1229, - -3.0281, -3.4576, 0.2465, 1.1848, -0.3128, -1.4112, -1.7883, -2.4368, -3.6604, 0.2309, 4.1432, 0.2306, 3.9874, 1.3414, -2.9661, 0.2318, 1.3943, 2.8996, 1.0512, 2.1197, - -6.4523, -0.8108, 3.0394, 2.9265, 1.7276, -0.6852, -1.3401, -1.2086, 0.2339, 0.6323, 0.9584, -0.4322, -0.4865, 1.1438, 3.9792, -0.5978, -3.3409, -0.0134, 0.1557, 0.5712, - 0.8836, 0.6632, -0.5682, 1.0909, 1.02, 0.2143, 1.7898, 0.4314, -1.2105, -1.6888, -2.8939, 1.5904, 1.4323, 5.0287, -2.409, -2.6282, -1.2927, -1.8499, -3.8726, 4.2691, - 2.7571, 0.5054, 0.5914, -0.4593, -1.9535, -2.8534, -5.1043, -5.0146, 0.3167, 1.921, 1.992, 1.2596, 1.2329, -1.0134, -2.2148, -0.9619, 3.3405, 0.4893, 1.9185, 3.2509, - -7.8257, -8.0514, -2.2922, 4.6049, 1.7841, 0.2877, 2.46, 0.2299, 0.3961, 0.7952, 4.9841, 0.5914, -3.3601, 1.4043, 5.5671, 2.2508, 0.0018, 1.51, -2.0511, -3.2867, - 1.5686, 1.2169, -0.6391, -2.6751, -3.0325, -3.9104, -2.5516, -0.9763, 6.3909, -1.3255, 1.3817, 1.7409, 2.2064, 2.8908, 0.3118, 0.3554, 0.3092, -0.0695, -2.5566, -0.6363, - 1.1784, 0.7886, 1.7506, 3.8841, 0.1097, -3.4846, -1.1668, -0.2517, -0.3004, -0.0493, 2.027, 0.2092, 1.544, 3.4255, 0.2943, -0.8517, -1.6072, -4.0976, -5.8976, 2.4958, - 0.9988, 2.8848, 3.2891, 3.3681, 1.4676, 3.2906, 1.3735, 1.197, 0.4611, -0.5875, 1.7464, 0.9583, 0.5681, -1.4825, -4.2976, -3.2226, -2.3712, -7.0782, -2.8558, 0.2917, - -0.2746, -0.1545, -0.1213, -1.7658, -0.9647, -0.899, -2.2776, -1.6043, 2.1487, 5.2377, -7.3002, -1.2976, 0.8951, 2.6087, 1.9104, 0.8944, 4.2107, 2.4289, -0.6124, -3.0624, - 4.5993, 2.8908, 2.6348, 2.5753, 3.5423, -1.3467, -3.634, -1.3719, -1.5896, -1.7807, 0.4182, -0.4869, -0.0081, -1.7322, -5.0302, -4.0281, 3.2297, 0.1854, 0.7317, 0.2006, - -3.2143, -2.4079, 2.3832, -1.4835, -2.9589, -4.3471, -9.4701, -8.698, 2.2131, 11.9939, 3.4222, 5.6731, 1.0493, 0.9347, 3.177, 3.6996, -0.0115, 2.2951, -2.8928, -1.3571, - 2.2986, 0.5686, -2.7234, 0.0628, 3.3595, 3.0322, 1.2528, 0.1697, 0.2877, -3.1109, -4.5198, 4.2898, 4.5477, -0.5365, -2.9437, -1.776, -3.4896, -0.4971, 0.5506, -0.823, - 0.0226, -1.9088, -4.1034, -3.5139, 1.8311, 6.6465, 1.9042, -0.2585, 0.4811, -1.3603, -0.8669, -2.6469, -2.4021, -2.3699, -1.0708, 1.8059, 0.3697, 0.3642, 3.4726, 3.6036, - 1.8666, 0.3455, -0.4415, 1.453, 2.1752, 0.4141, 0.9988, 0.9339, 2.0369, 0.0808, -1.3138, -1.2683, 0.1032, 0.3074, 0.3794, -2.248, -4.4451, -2.7006, 1.2456, 0.077, - -0.9714, 0.8948, -0.5528, -1.5023, -2.1884, -1.619, -2.6643, 0.3765, 5.2588, 1.9474, 4.7336, 6.0668, 0.9206, -6.1173, 0.2687, 4.2344, -2.7801, 4.7836, -5.9468, -5.1428, - -3.5447, -2.6492, -1.1225, 1.1104, -0.6763, -0.3734, 0.7874, 2.9348, 3.7914, 3.3802, -3.0687, -1.7645, -1.7552, 0.4322, 1.5566, 3.1434, -2.9717, 0.2913, 0.3294, 0.1693, - 2.3099, -0.6833, -2.4051, -0.87, -0.1793, -0.7055, -1.1773, 0.0766, -2.2742, -3.5734, -2.1986, 0.6775, 0.1605, 0.0083, 4.2284, 1.3025, 3.7892, -0.0746, -0.9582, 2.5465, - 0.9486, 0.1048, 1.8316, 3.4918, 2.1758, 1.1342, 1.0848, 2.4632, 0.0993, -1.9453, -1.1703, -1.6274, -2.0353, 0.8991, 0.4736, -4.0911, -2.9565, -2.3552, -2.1133, 3.5874, - 0.6208, 3.4997, 6.2697, 4.2107, 1.2652, 2.1894, 1.1355, -2.5271, -2.9525, 0.0535, 0.3829, -2.5199, -2.9063, -2.7287, -1.9607, 1.46, 1.2748, 0.44, -4.8467, -2.3602, - 0.5243, 2.9289, 2.2684, 0.4191, -2.1542, -0.2881, -0.2706, 0.6758, 5.4475, 1.1883, -2.5477, -6.5024, -4.1506, 0.6656, 0.9576, -1.2352, 1.0736, -4.8441, 2.5699, 3.2741, - -0.7794, 1.1463, 3.5016, 1.112, 0.8485, -1.0628, -0.8132, 3.8405, -0.3344, 1.2653, 0.4357, 0.5494, -2.5741, -2.4964, -3.4166, -4.9706, 4.8271, -4.7341, 1.1838, 2.4711, - 1.8447, 1.0979, -1.7573, 0.3863, -0.5133, -3.1578, 0.0583, -0.5417, 4.1974, -4.603, 0.1241, -3.2329, 4.6242, -4.6647, -2.461, 0.5959, 3.2183, -1.2626, 5.6612, 0.3859, - -2.3894, -1.0328, 1.7896, 5.5648, 5.222, 1.8869, 1.0956, -0.1977, 3.2983, 0.9466, -2.0813, -0.1679, -0.5816, -0.1714, -2.751, 1.1951, 1.5496, 1.64, -5.0073, -9.808, - 0.7738, -1.7298, -3.2257, -0.3183, 1.9284, 1.7227, 0.8166, 0.9095, 0.5332, -0.5016, -1.266, -1.9608, 2.0035, -2.6922, 3.7039, 0.8905, -0.7247, 2.7531, -3.0591, -0.5571, - -0.0748, -0.507, -0.2516, 1.7723, 1.4041, 4.352, 1.7022, 1.099, -1.4641, -2.362, 3.1174, 0.5476, 1.5192, -1.9294, -4.9678, 0.2919, -3.1451, 1.3976, -0.5997, -1.9017, - -0.3043, -4.5751, -6.4864, -2.8079, 2.8553, 1.4264, -0.629, 0.8259, 1.1617, -0.8255, -1.1913, -0.9336, -0.8179, -0.6841, 2.7254, 1.919, 4.4832, 2.4919, 2.0452, -0.6788, - 2.9368, 3.5644, 3.7164, 3.7726, 0.3148, -2.5071, -1.0177, 0.4365, 0.4818, -2.1099, -3.0728, -1.1823, -1.8323, -2.546, -3.2217, -2.5081, 0.1068, -0.334, 2.0018, 3.0001, - 2.0122, -0.8437, -0.0894, -3.5669, 0.2151, 1.3672, -1.1852, 2.2748, 0.2674, 2.1266, -4.5961, -3.5181, 1.641, 4.2095, -4.0873, 0.0362, 3.5548, -2.6567, 1.8468, 0.9915, - -2.9528, 1.3693, 1.3737, 3.6447, 4.6399, 3.0004, -0.4081, -0.5069, -2.0885, -2.1563, 0.7639, 0.479, -2.4821, 1.6495, 0.828, -0.4457, -4.8607, 3.5285, 3.1896, -8.5655, - -4.4449, -2.6584, -0.3396, 2.7055, 3.1313, 2.6691, -0.1405, -2.692, 1.138, 5.9263, 0.1508, -2.5031, -2.5963, -2.2339, -0.4387, 2.7348, 0.1166, -2.0958, -0.1884, 1.7591, - -0.4506, -2.2585, -2.0183, -1.2141, 2.3804, 5.1371, -0.1012, 0.7185, -1.9558, -5.5843, 1.7274, 2.5676, 1.3295, -2.3148, 3.4722, 0.9168, 0.3809, -1.2468, -0.6805, -0.8055, - -0.5741, -1.3187, -1.6054, -1.8387, -3.0009, -2.2631, 1.6411, 1.0542, 0.863, 1.3059, 0.666, 0.5171, -0.9355, -1.8837, 0.8703, 0.385, -0.0855, 0.2754, 4.4605, 1.4674, - 4.0853, 2.9178, 0.0251, -1.7053, -2.9819, -2.0918, -1.9947, -0.8293, -0.6373, 0.5052, 2.1796, 2.6733, -1.7046, -0.6344, 1.362, -0.4864, -2.0884, -1.6708, 1.5012, 1.5754, - -1.5635, 2.8252, -0.9149, -3.0463, -4.7327, 2.7084, 1.1209, 0.7968, 0.7865, -1.2527, -0.1248, 2.6941, 2.7972, 2.2336, -0.0652, -0.4532, -2.9265, -0.056, -0.4324, -0.3945, - 2.462, 0.7164, -1.5674, -3.1513, -1.6402, 2.4149, 2.901, 2.5761, 3.2262, 0.0749, -4.5314, -3.4112, 0.2922, 1.0743, 0.0408, -1.5976, -0.5032, 0.6577, 0.7598, -0.794, - 1.971, 1.173, -0.6838, -2.2094, -1.9356, 1.4952, -2.0825, -0.2927, 0.7657, -1.8337, 4.4472, -3.8324, 0.7557, 0.0732, -3.6271, -1.9071, 4.314, 2.4552, -0.0317, 0.9857, - 3.7325, 2.7934, 1.0157, -1.7096, -2.8454, -1.8953, -0.7562, 0.3146, -0.3781, -1.002, -1.6158, -0.3984, -0.0573, 0.9972, 1.0112, -1.0599, 0.037, 3.6124, 1.1087, -2.9047, - -1.4832, -1.9899, -0.8731, -0.933, -2.9066, 2.382, -0.1603, -0.717, -1.1285, -0.9274, 2.1578, 6.4011, -1.6535, 2.3099, -1.6654, 3.7268, 0.0883, -1.8527, -0.5184, -0.2568, - 0.6353, 1.3687, 1.8257, 0.3226, -0.8766, 1, 1.0853, 1.2934, 0.8779, 1.7553, 1.1543, -2.0442, -1.6763, -0.4593, 0.9294, -1.2072, -2.2593, -0.6144, -2.8074, -0.3032, - -1.207, -1.3475, -1.8312, -1.7806, -2.9611, -3.1818, 2.9332, -0.124, 0.1906, 2.9202, -1.8371, 1.0525, -2.0319, 2.7074, -2.1979, -1.3072, -0.5591, 3.0013, 2.66, 4.9011, - -5.1303, 3.387, -3.7967, -1.9466, -5.3864, -1.1368, -0.5684, 3.7351, -0.5755, -3.2378, -4.425, 2.035, 3.9372, 5.4701, -2.7768, 5.9464, 6.6849, -3.7875, 1.9948, -0.423, - -1.3037, -1.9678, -3.152, -1.4018, 0.2092, 2.801, 2.076, -0.3324, 1.0911, 0.905, 1.7187, 3.4255, 1.0022, 3.5722, -3.5224, -4.7658, -1.0745, 0.2766, 1.2898, -0.8471, - 1.9772, -2.9635, -3.024, -2.2547, 0.1703, 1.7771, -1.6073, -3.1859, 1.541, 1.4356, 0.9203, 3.9297, 4.2495, 5.7007, -4.0193, -0.8612, 1.6423, 0.8844, -5.1605, -1.1517, - 2.9132, 0.8992, -1.0688, -1.5448, -0.9185, 0.4003, -1.77, -2.7768, -1.4639, 0.2261, 0.7139, 1.7997, 3.0514, 3.3204, 0.6803, 0.9792, -0.2717, -2.645, -0.2252, -2.2988, - -2.9741, -2.4804, -3.0116, -3.1521, 0.1074, 1.3714, 0.6662, 2.0637, 1.7849, -0.4611, -0.772, -1.6172, 0.8203, 3.4203, 0.8069, 2.2581, 3.2451, 0.5915, -2.2429, -0.4245, - -0.8028, -0.229, 0.2137, -0.4319, 0.558, 0.2543, 0.9172, 0.8892, -0.4807, -1.2827, 0.9202, 1.1454, -1.6931, -3.6479, 0.4568, 3.9049, 1.2435, 2.6145, 0.7928, -5.3425, - 2.619, 1.9162, 0.9769, -0.1078, -0.429, -0.365, -2.8284, -4.4494, -5.991, -4.8405, 0.711, -0.4595, 0.2195, 3.3942, 0.9527, -1.8867, 3.8742, 3.7699, 1.215, 1.7087, - 1.8829, 0.7201, 0.6607, -0.0626, -1.194, -1.4411, -0.0944, 0.1172, -0.7491, -0.3712, -2.5287, -2.1899, -1.228, -1.4906, -0.5689, -1.4885, 2.7842, 4.0586, -1.1367, 4.32, - 4.671, 0.9897, -0.6156, -0.6851, -1.412, 4.1532, 4.4321, 1.1339, -1.0985, 0.5736, 1.4085, -4.6356, -3.3117, -1.5968, -3.4345, -0.7293, -0.0528, -0.3096, -3.6684, 4.188, - -2.5398, -1.383, 0.0979, 1.9654, 3.5192, -0.0522, -3.287, -3.8507, 0.6356, -0.985, -3.0198, -3.7269, -0.831, 1.9829, 1.8339, -0.8073, 0.2152, 2.0459, 6.118, 2.0688, - 0.4962, 3.2227, 3.5953, 1.3395, -3.4218, -4.9933, -1.9981, 0.9513, -1.0998, -2.7535, 1.3298, -0.6976, 0.0716, 0.7392, 5.8854, -4.3047, 2.189, 1.9699, -2.4444, -0.0765, - -5.8327, 1.1129, 0.8081, 5.6003, 5.5684, 4.702, 2.8089, 0.4347, 1.1649, -4.9188, -11.4465, -1.3196, 0.4225, -2.4705, 0.3286, -0.0113, 8.734, -2.122, -2.1264, -1.4373, - -1.6231, -1.3969, -2.0111, -1.262, 4.3084, -1.2012, 1.2341, 0.1866, 0.0635, -2.6548, 2.3896, 1.8088, 0.029, -4.3105, 3.9166, -0.0331, -0.3748, -2.471, 1.0435, 2.3583, - 0.631, 1.3989, 1.5277, 0.7608, 1.0894, 1.7235, 2.0681, 2.3537, 0.9918, 1.2164, -0.3325, -2.2666, 0.1756, 0.1615, 0.5196, -2.673, -7.1201, -2.9272, -5.4551, 6.1563, - 7.8768, 5.4153, -2.5369, 0.0405, 4.1259, -0.2108, -4.6599, -0.9803, -1.3472, -5.5873, 0.0334, -6.0975, -0.7915, 0.7551, -0.1575, 2.8766, -3.5702, -0.2561, 4.01, 1.0615 -}; - -const struct lsp_codebook newamp1vq_cb[] = { - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/train_120_1.txt */ - { - 20, - 9, - 512, - codes0 - }, - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/train_120_2.txt */ - { - 20, - 9, - 512, - codes1 - }, - { 0, 0, 0, 0 } -}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebooknewamp1_energy.c b/vendor/codec2_flutter_ios_only/src/codec2_generated/codebooknewamp1_energy.c deleted file mode 100644 index 0cc9c5e..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebooknewamp1_energy.c +++ /dev/null @@ -1,43 +0,0 @@ -/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ - -/* - * This intermediary file and the files that used to create it are under - * The LGPL. See the file COPYING. - */ - -#include "defines.h" - - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/newamp1_energy_q.txt */ -#ifdef __EMBEDDED__ -static const float codes0[] = { -#else -static float codes0[] = { -#endif - 10, - 12.5, - 15, - 17.5, - 20, - 22.5, - 25, - 27.5, - 30, - 32.5, - 35, - 37.5, - 40, - 42.5, - 45, - 47.5 -}; - -const struct lsp_codebook newamp1_energy_cb[] = { - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/newamp1_energy_q.txt */ - { - 1, - 4, - 16, - codes0 - }, - { 0, 0, 0, 0 } -}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebooknewamp2.c b/vendor/codec2_flutter_ios_only/src/codec2_generated/codebooknewamp2.c deleted file mode 100644 index ced177b..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebooknewamp2.c +++ /dev/null @@ -1,527 +0,0 @@ -/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ - -/* - * This intermediary file and the files that used to create it are under - * The LGPL. See the file COPYING. - */ - -#include "defines.h" - - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/codes_450.txt */ -#ifdef __EMBEDDED__ -static const float codes0[] = { -#else -static float codes0[] = { -#endif - 11.9178, 14.1558, 15.0079, 16.3077, 17.3822, 18.2611, 17.4655, 14.7258, 9.9322, 5.5523, 2.3108, -0.5449, -3.1948, -5.2578, -6.672, -7.0718, -6.2242, -3.5271, -0.4724, -0.6426, -5.5883, -11.069, -13.9474, -14.1999, -11.6213, -9.2487, -10.7685, -15.1688, -17.7995, 4.747, 5.3362, 4.5288, 2.041, -0.2507, -1.4078, -1.9789, -2.0773, -2.8836, -2.6876, -5.367, -21.5899, - 20.9429, 19.2708, 15.6619, 12.7137, 9.1871, 6.4196, 3.1467, 1.6784, 0.8989, 1.2827, 1.4966, 0.1254, -2.5426, -4.515, -6.1876, -6.3874, -6.0478, -5.9793, -6.4367, -5.2532, -2.2523, -0.5109, 1.6273, 0.3551, -4.439, -9.5465, -11.7875, -11.3329, -11.5883, 4.4211, 3.0334, 0.1707, -1.8877, -1.6176, -0.7003, 0.0063, 0.8933, -0.3305, -0.5297, -3.459, -17.2335, - 10.3698, 10.9179, 12.2827, 14.2252, 13.1924, 8.1149, 3.4397, 0.4163, -0.6468, -1.2093, -1.7787, -2.1501, -2.3738, -2.1698, -1.6602, -2.0012, -2.2206, -2.6679, -2.9048, -4.0924, -3.9533, -4.6653, -3.4648, -4.1545, -4.7802, -5.9292, -6.6217, -6.2599, -7.2545, -1.4487, -2.0915, -2.0764, -2.524, -2.8369, -1.7282, 0.3818, 1.6462, 2.6312, 4.3951, 3.6513, -6.604, - 10.7001, 9.9813, 8.3287, 7.1242, 6.507, 6.5092, 5.9516, 5.2985, 4.9376, 4.9107, 3.3698, 2.148, 1.7415, 1.8271, 2.9065, 1.7503, 1.1809, -0.5973, -2.5964, -4.1194, -4.3826, -4.2663, -6.1171, -8.2455, -10.0389, -10.0722, -11.1753, -11.2765, -12.2855, 0.8221, 0.8933, 0.0873, 0.1278, -0.2444, -0.1326, 0.4115, -0.088, 0.3496, 0.6766, -2.9033, -13.4861, - 14.8732, 12.7779, 9.6261, 7.1258, 5.1364, 5.1173, 4.4647, 4.316, 3.755, 3.9126, 3.6316, 2.8536, 1.993, -1.1494, -2.4465, -3.4951, -3.8807, -4.2782, -4.514, -4.6567, -4.7573, -4.9527, -5.3524, -6.1002, -6.5648, -6.24, -6.7782, -6.9091, -7.5078, -0.7325, -1.047, -1.1322, -1.23, -1.1725, -0.7847, -0.074, 0.3234, 1.3703, 2.8077, 1.6715, -7.7106, - 13.0634, 13.058, 11.8762, 10.3012, 8.7287, 8.2751, 6.914, 5.6997, 4.4786, 3.7849, 4.1201, 2.8106, 0.712, -1.419, -2.0942, -2.3582, -0.5397, 1.516, 0.4684, -2.9378, -7.1601, -10.1338, -10.8807, -10.0235, -7.7214, -7.4752, -9.9005, -11.5702, -11.5927, 4.263, 3.6157, 2.2639, 2.6715, 3.2976, 2.2826, 0.9481, -1.7723, -4.4187, -3.5441, -9.6074, -17.0075, - 17.4365, 16.75, 15.4119, 14.0262, 11.9105, 8.764, 5.0192, 1.9276, 0.0772, -0.8006, -1.8916, -2.6101, -3.2178, -2.5671, -1.7974, -0.9511, -1.6296, -2.8438, -5.2983, -6.939, -8.1364, -7.5562, -6.4223, -7.1565, -8.562, -8.8653, -6.302, -4.6173, -3.1589, 0.3453, 2.406, 5.1191, 5.4688, 4.3371, 3.0997, 0.6091, -2.3128, -3.0561, -3.3297, -12.6865, -6.0911, - 13.0911, 12.7368, 12.4903, 13.0944, 13.0545, 12.0753, 8.9618, 6.1436, 4.1205, 3.004, 2.5067, 2.1012, 1.7892, 1.0194, -0.5009, -2.7054, -4.3792, -5.7855, -7.3332, -7.6356, -6.8161, -6.3032, -6.7524, -8.6805, -9.1565, -8.9761, -9.6991, -10.228, -11.2374, -0.8915, -1.3351, -1.3279, -0.8507, -1.1734, -0.5889, -0.2953, 0.9333, 1.7331, 2.7464, 1.0499, -11.7092, - 20.5201, 20.0295, 17.9227, 15.1345, 11.8697, 8.3087, 5.1766, 3.006, 1.254, 0.4174, -0.172, -0.8532, -1.8929, -2.4981, -2.7278, -3.1121, -3.4982, -3.7976, -4.7868, -5.4073, -5.4391, -5.9033, -7.2898, -8.3095, -8.7395, -9.6577, -9.6812, -9.1534, -10.7197, -2.0265, -2.4422, -3.2898, -3.0803, -2.9851, -1.2856, 0.1567, 1.891, 3.3083, 5.0377, 4.7157, -9.9218, - 8.7254, 11.0045, 12.0666, 13.2121, 13.3296, 12.8324, 10.851, 7.8774, 5.4319, 2.5287, -0.0029, -1.8774, -3.6195, -5.042, -5.6921, -5.2354, -4.487, -3.3016, -2.0527, -2.1409, -3.9671, -5.5705, -6.5599, -6.6471, -6.1324, -6.7689, -8.5096, -9.9894, -10.2634, 3.4359, 2.7738, 2.8295, 2.9482, 1.6625, 0.8956, -0.0514, -1.5848, -1.4749, -2.2921, -9.1424, -14.2391, - 23.9657, 22.7269, 19.7344, 15.7159, 12.2183, 10.6582, 8.5153, 6.8034, 5.1757, 2.7658, 0.5046, -1.3116, -2.041, -1.6635, 0.4261, 3.7125, 3.3282, 0.1068, -4.3151, -7.4691, -8.1547, -7.8283, -7.2057, -10.8214, -15.3903, -17.5933, -17.6434, -16.8095, -18.1107, 1.5132, 0.3244, 0.0189, -0.7294, -1.1966, -0.6245, -0.5177, 0.2092, 1.03, 0.8494, -0.877, -19.8535, - 16.628, 15.7442, 12.731, 10.1009, 8.2897, 8.5577, 8.8444, 10.056, 10.305, 9.1696, 6.7854, 3.8917, 0.3608, -3.0307, -5.8666, -7.1637, -6.5677, -5.6155, -5.1575, -4.9714, -6.5135, -7.7608, -7.9326, -8.4341, -8.5905, -8.717, -10.2926, -12.2908, -12.5593, 4.2267, 2.1595, 0.5102, -1.382, -1.1131, -0.0305, -0.5306, -0.0216, -0.2857, -0.0746, -3.4583, -17.0769, - 13.6209, 12.7507, 12.8553, 14.2468, 15.9471, 14.0699, 8.8461, 3.2261, -1.1845, -3.9187, -5.7488, -7.4173, -8.8555, -9.2473, -8.9917, -6.5605, -1.7283, 2.9838, 3.3778, -0.7316, -2.7883, -0.8816, 0.0532, -4.9902, -8.7894, -10.3247, -7.5806, -5.9415, -6.2971, 14.656, 9.593, 3.1821, -1.9796, -0.7713, -2.07, -4.1354, -3.8071, -3.636, -4.5115, -6.5203, -23.1275, - 23.4988, 25.5182, 26.1443, 25.6216, 23.429, 19.3707, 13.905, 7.5166, 1.8256, -2.4154, -5.4517, -7.7013, -9.8647, -11.2215, -12.6184, -14.4069, -15.4023, -15.6232, -14.8399, -14.567, -14.519, -13.7907, -10.6309, -3.489, 1.4794, 1.635, -2.2134, -1.66, 0.471, 10.9708, 10.5205, 11.2036, 9.2796, 5.4146, -1.1911, -4.4466, -8.0856, -10.7515, -10.9044, -12.0101, -11.4961, - -0.5898, -1.0967, -1.1205, -1.0443, -1.2431, -3.0645, -6.3248, -9.1338, -11.1628, -12.4243, -13.5982, -14.0819, -13.6551, -13.9519, -12.0462, -9.7393, -6.5133, -1.4737, 1.3159, 2.742, 3.1032, 9.2423, 13.5689, 17.8419, 17.0272, 18.0312, 18.1676, 16.34, 14.8841, 4.5894, 3.407, 3.1758, 1.7888, 1.6163, 0.3158, 0.2364, -0.4657, -1.0093, -2.6399, -11.0146, 8.1604, - 13.0299, 12.0907, 11.0575, 11.898, 14.1078, 15.4469, 13.8192, 9.6452, 5.0678, 1.5872, -1.0858, -3.3552, -4.4488, -5.1355, -3.8141, 0.5493, 5.0898, 4.4313, -0.414, -3.7603, -4.7684, -3.669, -4.362, -10.8698, -15.5016, -18.468, -18.1605, -12.2966, -7.7111, 13.7174, 7.2067, 0.5178, -3.0887, -2.4521, -1.3997, -1.4244, -0.6539, -2.051, -3.7269, -6.6452, -24.084, - 20.2958, 22.7253, 24.1108, 25.8434, 27.1854, 26.7629, 24.301, 22.1308, 21.1525, 19.6181, 13.7675, 5.3826, -2.8225, -8.7282, -12.7146, -14.6989, -16.2675, -17.4195, -18.1391, -18.1287, -17.6301, -15.6767, -15.3188, -16.1464, -16.5053, -15.5852, -16.0162, -15.5577, -15.9205, 1.1396, 0.2956, 0.2622, -0.146, -0.2889, 0.0275, 0.0598, -0.0862, -0.0115, -0.3351, -0.9169, -18.8932, - 21.5882, 22.6633, 22.5911, 21.7567, 19.8871, 16.4681, 11.6127, 6.5703, 2.578, -0.4539, -2.9597, -5.4269, -8.0935, -10.3291, -11.8474, -12.0219, -10.4753, -7.1877, -2.9765, -0.5555, -2.4316, -6.5984, -7.4329, -5.2211, -3.7364, -8.4581, -13.117, -14.2101, -12.1825, 9.2042, 6.8442, 4.1847, 1.6315, -1.3411, -3.276, -3.4037, -3.4563, -3.6074, -2.1629, -4.6172, -19.8953, - 10.6094, 9.956, 8.4942, 8.0886, 9.3761, 11.3323, 13.7662, 16.0947, 16.8139, 12.1179, 6.8094, 2.767, 1.8054, 3.1768, 7.3289, 5.1766, -2.2376, -6.9741, -8.5553, -10.5642, -11.2643, -7.7672, -9.8975, -14.2107, -19.646, -19.4783, -14.0319, -7.9045, -11.1818, -5.2324, -8.464, 2.9045, 12.886, 11.9777, 10.5541, 7.9613, -4.2589, -8.3955, -8.1996, -11.7332, -19.6994, - 5.5041, 5.3222, 5.1942, 5.546, 6.9576, 8.9054, 10.4828, 11.034, 9.8032, 6.8135, 3.3656, -0.1277, -3.596, -5.7793, -6.2939, -4.2863, -0.0268, 4.572, 4.4361, 0.4802, -3.4351, -5.2809, -4.4513, -2.2637, -4.765, -9.6486, -13.3377, -14.7275, -10.3971, 17.8073, 13.8296, 10.4356, 9.0219, 2.4512, -5.9813, -10.1712, -10.716, -9.7016, -7.6983, -9.2773, -25.0775, - 16.3656, 18.4878, 18.9993, 18.9918, 18.4816, 16.9653, 13.5777, 9.3381, 5.1691, 1.7384, -1.9039, -5.4804, -8.83, -11.9448, -15.0434, -16.8969, -17.167, -15.0995, -10.9516, -5.3056, 1.0232, 3.6264, 1.1957, 1.1028, 1.6644, -3.8335, -10.3741, -12.278, -11.6184, 10.0963, 5.3648, 2.5424, 2.471, -0.7901, -3.2113, -3.7043, -3.1, -2.4933, -1.9709, -5.2046, -20.9631, - 17.8837, 18.4715, 18.4874, 18.4556, 18.3711, 17.499, 15.0865, 11.4049, 7.8551, 5.655, 5.2257, 5.9267, 6.7868, 6.4202, 3.6161, -0.83, -5.6377, -9.6817, -12.6005, -14.4203, -15.5246, -15.5077, -13.4622, -11.2201, -12.0997, -15.712, -18.3392, -17.8512, -14.2586, 8.3898, 6.8733, 5.8658, 4.5307, 0.2802, -3.1226, -4.8018, -4.8634, -4.4593, -3.4916, -5.2013, -22.21, - -3.1319, -2.9567, -3.5158, -3.6542, -3.9792, -4.569, -4.2861, -2.5541, -2.2464, -1.9153, -2.4682, -3.1479, -3.0568, -4.8839, -4.5795, -5.39, -5.0456, -3.5545, -1.3265, 0.8505, 3.0174, 4.7498, 6.6168, 8.1567, 6.6236, 7.6792, 9.3003, 9.8713, 9.3959, -10.5735, -12.5116, -14.0639, -7.5471, -1.304, 2.4789, 5.3713, 7.7962, 9.4623, 10.2101, 10.6812, 18.1437, - 21.9881, 22.0268, 21.418, 21.0501, 19.7092, 16.8902, 12.8939, 9.2408, 6.1523, 3.8245, 2.5628, 1.6418, 0.828, 0.3977, 0.2944, 0.9841, 0.5033, -2.6922, -7.8516, -11.9595, -14.1961, -14.2907, -11.4202, -8.4658, -10.2796, -16.2385, -20.8415, -22.5979, -21.5723, 2.4756, 1.959, 0.8663, 0.5639, -0.3186, -0.6196, -0.7514, -0.8893, -0.926, -0.411, -1.9489, -22.2015, - 13.6868, 14.9404, 15.1, 15.5585, 16.0353, 14.4054, 10.2425, 6.216, 2.6004, 0.014, -1.093, -1.9058, -2.2147, -3.1008, -3.0478, -1.9164, -0.2033, 1.1951, -1.7083, -5.1393, -7.0402, -8.4745, -8.2053, -8.7459, -9.3367, -10.365, -11.228, -12.609, -13.6605, -1.5164, -1.7406, -1.1213, -1.2392, -0.3054, 0.1166, 1.2891, 0.806, 2.8591, 2.2703, -1.4183, -13.8822, - 24.2507, 21.6076, 17.0141, 11.8925, 7.3451, 3.9013, 1.1114, -0.6837, -1.7199, -1.9483, -2.6719, -3.0002, -3.6624, -4.0397, -4.0608, -4.1225, -3.981, -4.1129, -4.5653, -4.8917, -4.8071, -4.8794, -4.6353, -4.2726, -4.735, -4.9508, -5.2264, -5.1675, -4.9885, -5.7398, -5.9757, -5.9417, -4.9603, -3.1354, -0.5548, 2.3754, 4.4296, 5.8362, 7.1375, 6.5291, -0.9148, - 17.2631, 17.8371, 17.1292, 16.2736, 14.9354, 14.1976, 13.0153, 12.0657, 10.4316, 7.4938, 4.2444, 1.4828, -0.6872, -3.7746, -5.5994, -5.3343, -3.0025, -0.6389, -0.055, -2.7128, -6.5932, -9.9814, -10.8426, -10.0857, -9.6056, -13.2586, -18.8699, -22.5792, -22.7486, -0.7483, -1.0121, -2.2299, -2.0299, -0.7415, -0.0212, 1.8597, 2.903, 2.7112, 2.3661, -3.0572, -22.3309, - -11.1995, -10.693, -9.1942, -8.1742, -7.6079, -6.5119, -6.9193, -7.1422, -7.9717, -7.7574, -7.1013, -6.4983, -6.0445, -5.1389, -3.0175, -0.5052, 2.9571, 5.6253, 7.3169, 6.5738, 7.6017, 10.0073, 10.6429, 11.476, 11.4863, 10.6648, 9.4863, 8.0975, 9.5413, 3.3127, 3.2227, 3.8144, 3.7156, 4.3089, 2.3578, 0.7872, -1.2526, -2.7715, -4.3321, -13.1631, 5.2507, - 17.1783, 16.8887, 14.7421, 11.8348, 8.0205, 3.2499, -1.9129, -6.6225, -10.9397, -13.6517, -14.723, -16.1104, -18.1604, -17.7193, -17.2055, -15.5458, -13.1652, -9.9983, -5.1836, -1.0331, 1.9889, 4.4501, 8.5649, 11.1613, 14.3782, 14.8611, 11.2164, 10.3416, 13.0949, 7.1449, 3.2853, 6.0619, 4.3926, 2.9056, -0.2214, -2.0011, -1.6095, -2.237, -3.8553, -13.8661, 1.4609, - 10.6486, 10.4669, 9.1585, 9.0007, 10.2209, 13.1112, 15.2667, 14.3795, 11.1262, 6.6047, 3.1822, -0.1678, -2.0727, -1.3024, 2.42, 5.9038, 2.7803, -3.182, -6.2303, -8.685, -9.4777, -6.1465, -4.6662, -9.5877, -14.2877, -18.3825, -17.6042, -13.824, -8.6536, 4.3381, -2.0474, -4.0413, 0.7437, 4.3435, 8.027, 4.8604, 0.4728, -3.1556, -4.1581, -9.3831, -21.0994, - 4.5339, 3.018, 1.159, -1.8077, -3.7376, -3.2592, -4.8664, -9.0451, -10.5616, -11.0424, -11.0656, -11.1375, -9.1571, -8.9187, -5.487, -3.7659, -1.1875, -3.3535, 6.862, 12.8048, 15.213, 16.4198, 9.1571, 6.4605, 6.304, 10.6463, -0.7014, -3.2795, 9.7951, 11.6354, 5.742, 6.8106, 9.3406, 9.2914, 6.7851, 13.375, 12.321, -24.4316, -25.4838, -25.3856, -1.3255, - 6.4369, 5.6614, 4.5505, 3.277, 2.0132, 1.6324, -0.2278, -1.7054, -2.5408, -2.944, -2.5595, -3.6388, -4.3998, -3.8497, -2.46, -0.6672, 0.4797, -0.4954, -0.1361, -0.3178, -0.0794, 0.9249, 1.391, 0.569, 0.3416, 1.0916, 0.5145, 1.1248, -3.9866, 15.2047, 12.434, 6.7379, -7.0628, -9.2462, -7.3526, -5.253, -3.4204, -1.8366, -0.0754, -0.1298, -20.8819, - 13.5404, 15.5222, 16.2893, 16.887, 17.0524, 17.1327, 14.7572, 10.872, 6.784, 2.54, -0.5888, -3.3697, -5.4657, -6.7879, -7.7962, -7.6553, -7.4342, -6.9197, -6.9455, -6.3541, -6.7461, -7.4159, -7.7579, -8.3178, -7.4289, -7.3424, -8.2132, -8.9949, -9.843, 0.3453, -0.2701, -0.5525, 0.0397, 0.0597, 0.2448, 0.8902, 1.5587, 1.2101, 0.8399, -4.3658, -12.2454, - 24.5559, 23.413, 20.6408, 17.3808, 14.416, 11.8493, 9.6532, 8.6801, 7.2117, 5.4621, 3.0668, 0.223, -2.112, -4.3454, -5.0915, -4.2332, -0.9253, -0.0786, -2.2834, -6.2673, -9.6185, -12.226, -14.2603, -13.3716, -11.5386, -12.2997, -15.1963, -16.5699, -16.1351, 4.5303, 3.2491, 1.5538, 0.2521, -0.8115, -1.5855, -1.5263, -1.3266, -0.9651, -0.7138, -2.6565, -20.2257, - 8.1022, 9.7899, 9.7931, 9.7477, 9.2987, 8.7666, 6.9904, 5.329, 3.0336, 1.6204, 0.386, -1.2415, -2.468, -4.1707, -5.1485, -6.7003, -7.657, -8.3503, -8.5552, -8.8991, -9.0059, -8.7857, -7.078, -4.545, -2.6069, 0.6288, 2.8467, 3.7676, 5.1114, 3.4695, 4.5378, 3.2083, 2.5145, 1.3409, -1.3752, -0.8674, -0.472, -1.0186, -1.5059, -9.8318, 0.0727, - 14.4586, 14.2733, 13.1879, 11.9606, 10.2045, 9.3636, 9.6651, 11.0114, 12.1122, 12.3036, 11.028, 8.7772, 5.9733, 2.4672, 0.3102, 0.0747, 1.2366, 0.9815, -2.8016, -7.9803, -12.3829, -14.765, -15.7924, -13.6058, -11.0614, -13.0621, -17.8806, -20.1354, -19.922, 5.074, 2.9263, -0.3365, -1.5294, -1.0384, -0.437, -0.2758, -0.3204, -0.0653, -0.0869, -3.9105, -24.588, - 16.8931, 17.8847, 18.3283, 18.5232, 18.199, 16.7506, 13.533, 8.8264, 3.6715, -0.1991, -2.2432, -3.329, -3.3054, -2.6748, -0.669, 2.7103, 4.8565, 3.5571, -0.4645, -5.0037, -8.7773, -10.0343, -10.0215, -10.2618, -11.9582, -16.0391, -19.8259, -20.4865, -18.4405, 4.2237, 7.7521, 9.4271, 7.7776, 3.2089, -1.3047, -4.371, -6.1258, -6.624, -6.4665, -7.4973, -21.6119, - 26.2407, 26.8595, 25.5084, 23.5987, 20.6139, 16.2421, 10.9416, 5.9994, 2.3434, -0.3767, -2.7912, -5.3898, -7.9202, -9.5689, -11.3407, -12.1566, -12.5654, -12.0723, -10.0537, -6.9972, -3.0971, -1.8157, -4.5501, -5.7844, -5.5235, -7.2936, -10.9909, -13.4932, -14.5663, 2.1561, 1.5321, 0.2818, -0.1633, -0.3426, -0.3136, 0.0161, -0.3898, 0.0287, -0.0952, -2.7103, -16.2994, - 18.3705, 19.3592, 20.1123, 19.1051, 15.6286, 9.5321, 3.0603, -1.6458, -4.5598, -6.3273, -7.5713, -8.4739, -9.3282, -10.3168, -10.7509, -9.103, -6.7703, -2.574, 3.3208, 6.7538, 4.2453, 2.974, 1.108, -3.3077, -7.0808, -9.7837, -9.6571, -8.2866, -8.0329, 10.1201, 5.6162, 1.7587, -0.9681, -1.7807, -2.3958, -2.4286, -1.6485, -1.8262, -1.9033, -4.544, -20.3964, - 13.2741, 15.4244, 17.0234, 18.2818, 19.5432, 18.9691, 14.9962, 9.1156, 3.6419, -0.2906, -3.157, -6.1768, -7.9818, -9.3506, -9.4656, -9.2507, -8.4602, -6.2085, -1.8201, 1.5162, 1.249, -0.0059, -1.8007, -4.5282, -8.6837, -12.6709, -15.3611, -15.4209, -12.4015, 7.815, 3.1728, 1.5432, 0.795, -0.5318, -1.2456, -1.5988, -1.7996, -2.1907, -2.0052, -3.9542, -22.2556, - 15.9184, 17.3622, 17.4678, 16.8842, 14.6841, 11.8317, 7.6477, 2.3173, -1.3712, -4.0441, -5.5323, -6.8296, -7.7101, -8.4121, -8.4766, -8.2702, -8.0827, -7.3742, -7.9359, -7.9155, -8.0671, -7.6939, -7.0166, -5.7862, -3.8811, -1.0122, 2.4703, 3.9838, 4.8441, 2.9188, 2.7328, 3.6011, 4.033, 4.2894, 1.6661, -1.5176, -1.7944, -2.1907, -2.2625, -11.4761, -0.6248, - 27.6543, 28.3344, 28.0974, 27.8652, 25.881, 21.2395, 14.9679, 8.7442, 3.5965, -1.0986, -5.8391, -9.7803, -12.4065, -13.0919, -11.4339, -7.2826, -2.4552, -0.6713, -3.1822, -8.1469, -9.6767, -9.4577, -8.9612, -11.2661, -13.6229, -15.3616, -15.2642, -14.0444, -13.3373, 2.3229, 0.95, 0.5581, 0.0389, -0.1161, 0.3407, -0.3396, -0.7413, -0.8075, -0.6566, -1.5496, -16.0531, - 14.7743, 15.871, 16.5584, 17.4275, 18.6438, 19.6359, 19.7934, 19.0788, 17.9177, 16.9057, 15.9073, 14.4531, 10.2026, 3.0567, -4.1665, -9.7579, -13.4361, -15.9678, -18.1928, -19.8105, -20.3101, -20.0861, -19.2226, -16.1803, -12.5817, -12.1735, -14.1311, -13.5138, -10.6954, 7.7639, 2.5429, 2.6941, 2.9367, 0.5893, -1.929, -2.8709, -3.1704, -3.0337, -2.2216, -3.3012, -22.819, - 12.7199, 12.8622, 12.1185, 10.3818, 7.6754, 5.4729, 4.0902, 2.5106, 1.3459, -0.1508, -1.059, -0.9743, -1.2979, -1.7207, -2.0981, -3.4023, -3.6088, -3.7334, -2.9611, -2.7071, -3.2507, -3.7314, -4.9032, -4.9793, -5.4541, -5.3634, -5.5199, -5.9327, -6.3294, 0.5719, 0.7629, 0.4111, 0.3851, 0.5406, 0.361, -0.6901, -0.4405, 0.2987, 0.0781, -2.2788, -7.7046, - 17.0925, 17.268, 16.3588, 15.6578, 15.5233, 15.868, 16.0037, 14.7721, 12.292, 8.7258, 4.3618, 0.2688, -3.5171, -6.9208, -9.2849, -8.9305, -6.2881, -2.6008, 0.0832, -0.7819, -3.3713, -5.1713, -4.904, -6.2218, -11.397, -17.6896, -21.9017, -23.4215, -21.8734, 3.1762, 2.3323, 1.1259, -0.1136, -0.6656, -1.1934, -1.1198, -0.332, -0.0039, -0.1887, -3.0174, -24.2388, - 17.2297, 15.6739, 13.0707, 10.1587, 7.8155, 7.3743, 6.0217, 4.4665, 3.0535, 2.6239, 2.2641, 1.967, 1.5434, 0.6206, -1.2673, -3.0579, -4.7912, -5.9248, -5.918, -6.122, -5.8687, -6.3517, -6.5968, -7.5677, -7.4916, -7.9499, -8.0977, -8.4791, -8.399, 1.8899, 2.2808, 2.6284, 2.1186, 1.2552, 0.2046, -0.3591, -0.6669, -1.5091, -1.4378, -6.4047, -11.8263, - 4.5933, 4.7596, 4.4438, 5.2453, 6.6446, 8.2821, 6.9832, 4.381, 1.1278, -1.5253, -1.8904, -2.1516, -3.4268, -5.4133, -6.8772, -7.1547, -5.3998, -2.6582, 1.2751, 2.0882, -0.7302, -4.1881, -5.1819, -2.1264, 0.8208, 0.5532, -1.8235, -1.5249, 0.8743, 5.3771, 4.5451, 4.0828, 5.1397, 3.7744, 0.358, -1.2512, -0.7183, -2.7542, -4.1142, -14.4391, -6.0204, - -2.2799, -1.768, -3.2413, -3.927, -2.7062, -1.0703, -1.335, -1.9824, -2.4957, -1.3919, -2.1103, -4.0545, -4.3911, -5.7784, -7.9812, -7.7496, -7.5943, -5.8788, -3.7846, -2.676, 2.8977, 4.842, 8.2162, 4.4328, 10.2839, 10.4092, 11.3489, 11.1069, 10.659, -9.8885, -12.0674, -13.7764, -6.7026, -2.8416, 2.6527, 5.34, 7.6116, 8.5217, 10.1675, 10.983, 18.5816, - 8.679, 8.1241, 7.9956, 9.001, 10.6051, 11.9336, 12.07, 10.4828, 7.604, 4.4092, 1.4213, -0.5435, -1.807, -2.2849, -1.1776, 2.4297, 6.7853, 8.4364, 6.3991, 4.5951, 1.7264, -5.9987, -12.0781, -16.538, -18.7068, -19.2937, -18.0295, -14.918, -11.3219, 9.6625, 7.9093, 9.1967, 5.7578, -1.0641, -5.1134, -6.0886, -5.4946, -5.3822, -2.7102, -6.6734, -25.9833, - 10.3657, 10.3631, 9.7058, 9.4298, 9.0617, 7.9822, 5.9655, 2.6688, -0.5238, -2.6855, -3.0614, -3.3624, -4.7739, -5.3797, -4.5954, -3.2382, -1.5077, -1.7236, -2.7671, -2.9653, -4.5764, -6.3959, -5.0542, -3.3922, -3.4383, -5.4556, -2.3727, -2.0655, 3.7923, -5.226, -22.0236, -1.5093, 6.4261, 7.5104, 7.6639, 4.2871, 1.2994, 0.5479, 5.7985, -4.7744, 7.7899, - 10.4446, 10.4588, 9.0587, 7.0901, 3.1501, -0.3318, -2.706, -4.6185, -5.7165, -6.2274, -5.5457, -6.1342, -6.9016, -7.4068, -6.2107, -3.8982, -1.1383, -1.7125, -3.1209, -2.5081, -2.3909, 0.2919, 4.6445, 2.6432, 2.6694, 4.3011, 3.5911, 6.8931, 1.3315, 21.797, 18.1696, 11.3834, -3.1623, -8.4098, -8.5693, -7.6899, -7.0385, -5.9998, -5.4794, -5.0009, -22.6316, - 17.2287, 17.7616, 17.8929, 19.2677, 20.817, 21.4764, 18.7667, 14.2036, 10.5122, 8.1941, 7.842, 9.4381, 10.7037, 7.2143, -0.2794, -6.1524, -10.8365, -13.8587, -16.1691, -17.3352, -17.228, -14.8106, -11.1914, -12.304, -16.0739, -18.1082, -16.4868, -14.5719, -15.9127, 2.3379, 0.5208, 0.3528, -0.1779, -0.65, -0.5172, -0.1244, -0.1086, 0.2128, -0.1577, -1.6885, -22.6503, - 18.5355, 20.4972, 20.185, 18.5749, 15.6167, 12.2745, 7.9486, 3.0171, -0.8357, -2.7695, -4.9, -6.7903, -8.0533, -9.4775, -9.7203, -10.0951, -9.496, -9.2581, -9.1995, -6.3741, -2.3905, 0.456, 1.0899, -0.4465, -1.4521, -2.6965, -6.3247, -8.5287, -9.3872, 0.7079, 0.5683, -0.4043, -0.7092, -0.1113, 1.5441, 2.4584, 1.8607, 0.7709, -0.1603, -6.5252, -13.3875, - 15.7485, 14.5502, 12.3547, 10.1884, 8.6909, 8.0435, 6.3074, 4.6065, 2.2122, -0.193, -1.2413, -2.4859, -3.7253, -4.0244, -2.8733, -1.95, -1.0559, -2.6557, -3.6275, -3.0937, -3.1904, -3.242, -3.8325, -6.0485, -6.6724, -6.1617, -7.5456, -8.3219, -10.7613, 9.0819, 5.6131, 0.9836, -3.3767, -5.113, -4.5161, -2.5844, -1.0875, -0.3335, 0.8807, 0.4519, -18.486, - 13.0658, 12.0977, 9.3051, 6.8101, 5.9796, 6.1211, 5.3037, 4.3634, 4.1469, 2.3546, 0.6265, -1.0456, -1.8168, -2.1623, -1.4037, -2.0812, -2.8168, -3.454, -4.9104, -5.6641, -6.1702, -5.2274, -3.5942, -3.4678, -3.4265, -4.9099, -5.1651, -6.2588, -6.5997, 3.1896, 2.3931, 3.5929, 2.5385, 1.8123, 0.7336, -0.3261, -0.9462, -1.535, -2.552, -8.9007, -9.6432, - 6.9128, 6.7304, 6.9243, 6.4631, 5.6472, 3.9796, 1.7898, -0.2489, -2.4436, -2.6508, -2.547, -2.8932, -3.7418, -4.0472, -3.7409, -4.1721, -4.5045, -2.5398, -1.2681, -2.2512, -4.0819, -2.5504, -0.5617, -0.8125, -6.3247, -16.4522, 5.3598, 10.4107, 13.6148, 2.9041, 3.9937, 4.1878, 3.1505, 2.3718, 2.0861, -0.7564, -2.898, -3.01, -1.1906, -10.8392, 7.899, - 15.3717, 14.4646, 14.0665, 15.2685, 17.889, 16.6173, 10.8299, 5.4591, 1.3248, -1.5112, -3.5105, -5.0396, -4.7139, -3.2327, 0.4893, 6.608, 9.2663, 7.1616, 4.6529, 0.9359, -6.9866, -12.7386, -15.0655, -16.3268, -15.5303, -12.5805, -11.4429, -13.9588, -17.7676, 4.4548, 2.5041, -0.5574, -1.9092, -1.6954, -0.798, -0.8178, 0.6929, 0.2455, 0.1742, -2.2936, -23.5972, - 15.1415, 17.2129, 18.5276, 20.2576, 22.0435, 22.941, 21.3301, 18.4906, 16.7921, 16.6351, 16.5489, 13.5214, 7.0026, -0.4264, -6.3907, -10.2154, -12.0432, -13.8717, -14.814, -14.5501, -12.6863, -11.2906, -14.4502, -19.325, -21.0242, -20.2029, -17.6079, -17.4052, -20.1409, -0.1152, 0.2933, 0.6422, 0.8539, 0.5304, -0.1244, -0.6918, -0.3401, -0.1677, 0.0292, -0.9099, -22.1229, - 16.3527, 16.4358, 14.5529, 11.7515, 8.0259, 5.7593, 4.7947, 5.2455, 6.9418, 9.3793, 10.6924, 9.9655, 9.0457, 8.3252, 8.4762, 6.3689, 3.4623, -0.5745, -4.6846, -8.568, -10.9887, -12.4636, -14.764, -14.5242, -15.3129, -17.5422, -18.4522, -18.6412, -19.0596, 4.6132, 1.4513, -0.0514, -0.1917, -0.3334, -0.137, -0.0439, -0.2954, -0.2393, -0.9118, -3.8606, -24.6234, - 3.0149, 3.3679, 2.0858, 1.6705, 1.6501, 2.5867, 1.6237, 0.5766, -1.332, -2.3047, -2.927, -3.0607, -3.6274, -5.2376, -5.7845, -5.3526, -3.5342, -1.1532, 1.814, 2.9895, 2.7465, 1.9285, 1.7068, 1.7703, 2.22, 1.9728, 0.2297, -1.0946, 1.4544, -2.0981, -1.6916, 0.235, 2.2065, 3.1538, 2.2516, 2.893, 1.2452, 0.2641, 0.7151, -9.1746, 0.1743, - 33.1383, 31.0792, 25.7434, 19.1612, 13.837, 10.1403, 5.0657, -0.9848, -4.0125, -3.8049, -1.4317, 2.9301, 4.0459, 0.1222, -5.3168, -8.1684, -10.0826, -10.8448, -10.2597, -10.3317, -9.4719, -5.7311, -3.3677, -4.7251, -6.396, -9.1268, -12.2844, -14.42, -14.5022, 2.606, 2.2289, 1.6967, 0.1399, -0.9831, -0.9608, -0.851, -1.0292, -0.7889, -0.5855, -1.473, -15.7149, - 27.2923, 26.1076, 23.8786, 21.313, 19.0418, 17.172, 15.5267, 14.4631, 14.0462, 13.507, 12.4676, 9.9142, 5.6853, 0.598, -4.4056, -8.3465, -10.4675, -12.5667, -14.3166, -15.5842, -15.4689, -15.0589, -15.5652, -16.495, -16.8464, -17.9497, -19.4354, -19.6539, -18.853, 1.2956, 0.1647, -0.0666, -0.5622, -1.0818, -1.0177, -0.6516, 0.0389, 0.9296, 1.4023, -0.4513, -20.2788, - 26.6766, 26.7374, 25.7566, 24.028, 20.4779, 14.6637, 7.833, 1.9621, -2.07, -4.7989, -7.3077, -9.0786, -9.622, -7.7331, -4.741, 0.1848, 4.407, 2.7266, -2.1973, -5.5028, -7.5677, -8.3692, -9.3827, -11.2185, -12.6814, -12.9582, -12.5667, -13.3838, -14.2742, 2.1312, 0.7483, 0.4117, -0.1309, -0.2886, -0.2604, -0.4816, 0.0583, -0.0383, -0.2744, -1.8754, -17.9569, - 3.3978, 4.4684, 4.2593, 3.9748, 2.4838, 0.6609, -2.0182, -4.4753, -6.9532, -7.4489, -7.9821, -8.8126, -7.7701, -6.4035, -3.2114, -0.1726, 4.0273, 6.9857, 8.4846, 6.351, 4.9727, 4.647, 4.6414, 3.6916, 1.9176, 0.3255, -2.6101, -3.475, -3.9565, 1.7533, 1.1049, 0.647, -0.2625, -0.1699, -0.7934, -1.0459, -1.6085, 0.7985, 2.6353, -3.0588, -6.3429, - 10.0599, 9.5448, 6.901, 4.3178, 2.5886, 1.5303, 0.1509, -1.0275, -2.6254, -2.8291, -3.0667, -3.4775, -4.4368, -5.1122, -6.2497, -6.7213, -5.2797, -3.88, -2.4109, -1.6128, -3.0693, -4.8056, -5.1575, -1.7918, 2.5625, 3.7623, 3.5521, 7.7141, 10.8696, 8.0651, 6.4772, 6.6051, 3.56, 1.8517, -0.5246, -1.7934, -2.7395, -3.6923, -4.3495, -13.4599, 0.6565, - 25.7569, 24.1232, 20.4182, 16.1881, 12.4409, 10.9425, 10.5212, 10.6127, 10.069, 8.9583, 6.8593, 5.3047, 4.2774, 2.9654, 1.7215, -0.5266, -3.2445, -6.9442, -10.3293, -12.7061, -14.021, -14.2363, -13.7968, -14.0351, -15.0354, -15.6847, -16.5621, -16.6992, -17.3378, 1.2536, 0.3575, 0.1415, -0.1561, -0.1699, -0.6288, -0.437, 0.0255, 0.2138, 0.5498, -1.1499, -20.2166, - 0.0231, -0.9014, -1.8167, -1.2335, -0.9356, 0.1659, 0.0099, -0.3194, -1.2785, -1.6159, -0.9934, -0.9581, -1.828, -2.2803, -1.6717, -0.1281, -0.6227, 0.0211, -0.2651, -0.5372, -0.9352, -1.0325, 0.2653, -0.4461, 0.6598, 1.585, 4.5525, 6.2731, 6.2437, 6.2289, 7.1906, 6.8806, 4.1911, 2.5668, 0.0429, -1.5955, -2.8462, -4.6688, -4.0492, -13.9413, -0.0713, - 7.9284, 9.1572, 9.8203, 10.6262, 11.7687, 13.2204, 14.0222, 13.2111, 10.5107, 6.8116, 3.6111, 0.4955, -2.3899, -5.1121, -6.5572, -6.6556, -5.2199, -2.9231, -0.5211, -0.857, -4.748, -9.1464, -11.8191, -10.7137, -6.0224, -4.822, -8.063, -12.3598, -13.2532, 13.1773, 12.7484, 9.6243, 5.0688, -0.9409, -6.7845, -7.3453, -6.4726, -6.1985, -4.8683, -8.0086, -24.4428, - 20.659, 19.3955, 16.2834, 13.6379, 12.4445, 12.1295, 10.9807, 10.1646, 10.4918, 11.3802, 11.3612, 11.2354, 10.6339, 6.7227, 1.1138, -3.7021, -6.4288, -7.959, -9.976, -11.0475, -13.1574, -15.9863, -18.1733, -17.6149, -16.1809, -16.3342, -15.4709, -13.2473, -13.3553, 6.4606, 2.2334, 0.0904, -1.0983, -1.1535, -1.871, -1.3953, -0.4539, -0.1442, 0.1951, -2.8632, -21.9027, - 11.5076, 12.066, 12.717, 14.7721, 15.3221, 13.0928, 8.0689, 3.5812, 1.5428, 1.239, 0.9197, -0.0146, -2.1654, -5.8495, -7.9985, -6.4957, -1.4612, 4.6035, 5.2013, 1.9497, -2.2153, -5.558, -2.2714, -3.5929, -8.3748, -16.9482, -17.692, -14.1565, -11.7896, -0.1089, 2.8427, 6.389, 4.636, 3.9712, 2.8762, -3.4553, 0.8911, -3.1126, -3.8817, -11.0478, -18.2605, - 9.1012, 8.2983, 7.709, 8.2796, 9.717, 11.3893, 12.9622, 12.4812, 9.4717, 5.4783, 2.6937, 2.0314, 2.3476, 3.7201, 7.2459, 7.9823, 4.2063, -1.0767, -4.4784, -6.7559, -4.5456, -4.6976, -8.2963, -18.7549, -25.0006, -24.3482, -13.5441, -8.7468, -4.87, 9.4162, -0.0518, -5.6394, -1.8175, 2.846, 5.7461, 4.9827, 2.5039, -4.5892, -5.3372, -8.0598, -24.0108, - 25.3914, 22.4719, 18.4847, 14.1484, 9.8827, 6.3827, 3.7424, 2.3869, 2.0026, 2.1806, 2.2067, 2.4594, 2.5334, 2.7925, 2.7285, 2.5917, 0.9336, -1.3314, -3.7507, -6.3146, -9.9633, -12.2523, -11.7329, -10.5539, -10.5613, -12.897, -14.8061, -16.0931, -13.0635, 9.4907, 8.6133, 6.9669, 5.2967, 0.8483, -2.8965, -3.7224, -5.4526, -6.1034, -5.5404, -7.5006, -19.2567, - 14.7633, 21.0347, 26.5178, 28.8557, 23.366, 14.8939, 7.8472, 4.1479, 1.6451, 0.194, -1.0241, -1.71, -2.7839, -5.4888, -5.8766, -6.7065, -6.5101, -6.3172, -7.4748, -8.1349, -8.6673, -9.2054, -8.7696, -9.2949, -9.5243, -9.8586, -10.6206, -12.3755, -12.9225, 0.5464, 0.3011, -0.4717, -0.8221, -0.5981, -0.7596, -0.1787, 0.0888, 0.268, 1.7014, -0.0756, -13.4143, - 14.5722, 15.9781, 17.0264, 17.6175, 17.4232, 16.5459, 14.6151, 11.6122, 8.3872, 5.7241, 3.1297, 0.7916, -1.8948, -4.6319, -7.4829, -9.0432, -9.8372, -10.2623, -9.8461, -8.3463, -7.1311, -7.5141, -8.8925, -9.9645, -10.0906, -8.0182, -7.1753, -10.4665, -12.8258, 7.5756, 9.5196, 10.3723, 8.1609, 3.493, -3.1717, -6.1605, -6.9929, -7.1805, -6.8863, -8.7297, -20.7652, - 37.2037, 35.8111, 32.3205, 28.0474, 23.2802, 17.7045, 11.6084, 5.8427, 0.267, -3.7432, -6.2669, -8.1167, -9.3928, -10.1312, -10.3467, -10.0877, -9.5979, -9.7744, -10.3207, -10.6331, -9.9469, -8.6203, -8.3585, -9.6074, -10.8446, -11.5167, -11.7789, -11.6363, -11.3647, 0.3839, 0.1181, -0.0142, -0.2099, -0.2835, 0.155, -0.034, 0.1033, 0.0295, 0.1568, -0.4049, -11.8075, - 25.2715, 25.9731, 25.5019, 24.4387, 22.0168, 17.9875, 12.8839, 8.1186, 4.0883, 0.9493, -1.832, -4.9719, -7.8984, -10.8034, -12.5203, -12.4959, -10.7116, -8.3345, -4.1201, -0.1578, 0.1929, 0.1873, -2.8273, -8.7555, -14.7009, -17.595, -18.3997, -17.0685, -14.4171, 1.9066, 0.3797, 0.2936, 0.7746, -0.4377, -0.094, 0.1464, -0.0351, 0.2602, -0.8075, -2.3869, -18.3683, - -1.7829, -2.9115, -3.3197, -3.0219, -3.0103, -2.1963, -1.8274, -1.5453, -1.3834, -0.5971, -0.1822, -0.0707, -0.4004, -0.4751, 0.5738, 0.6319, 1.4145, 1.0927, 1.3496, 1.6238, 1.3746, 1.5109, 1.6452, 1.4227, 2.6607, 1.9921, 2.0933, 1.3984, 1.9401, -5.1733, -5.1451, -4.0887, -4.3334, -2.3485, -1.275, 1.8849, 3.8802, 5.4984, 6.3884, 4.712, 5.8699, - 3.0884, 3.6195, 4.4987, 5.4241, 5.9234, 4.3151, 1.2318, -2.0672, -4.856, -6.7176, -7.7263, -9.2051, -9.8093, -9.8027, -9.8649, -7.58, -3.5471, 1.2395, 3.8333, 2.452, -0.138, -0.1169, 2.7696, 4.2835, 3.0029, 2.8349, 6.1975, 8.555, 8.1619, 3.4262, 3.7255, 2.9723, 1.5679, 0.6856, 0.7789, 0.0324, -0.04, -1.093, -1.5814, -10.4745, 2.5083, - 7.7805, 8.5455, 8.0969, 7.418, 6.0322, 4.2643, 0.7072, -3.9008, -6.6106, -8.5279, -9.9913, -12.2197, -13.9875, -14.6194, -13.4585, -8.5866, -0.141, 5.8556, 2.7328, -4.3868, -7.6497, 1.0307, 6.7604, 2.0849, -2.0565, 4.3945, 7.6154, 14.5442, 18.2732, 15.9793, 12.4675, 8.6361, 9.3177, 7.162, -0.437, -7.8068, -13.596, -11.2218, -10.5975, -9.9034, -5.2521, - 15.1743, 16.3078, 16.6845, 19.2037, 24.9642, 26.0482, 22.2299, 20.1754, 18.1609, 11.9813, 3.3906, -4.1269, -9.8102, -12.4054, -13.1972, -14.9771, -15.2101, -17.035, -17.5402, -17.273, -16.8388, -14.0848, -9.7661, -6.4551, -6.0572, -3.5105, -0.1292, -3.2831, -12.6212, 2.675, 0.5089, 0.394, -0.3851, -0.0012, -0.1207, -0.3792, 0.6121, -0.3176, -1.0554, -1.9307, -19.7041, - 31.556, 30.0892, 27.2291, 23.5683, 19.0546, 13.2491, 7.4257, 2.9756, 1.0209, 1.0243, 1.37, 0.6757, -1.0362, -3.4535, -5.1118, -5.5508, -4.6428, -3.9233, -3.2906, -5.2994, -8.4124, -11.6578, -14.3387, -15.5177, -14.9184, -14.036, -14.9127, -16.4768, -16.6595, 1.6433, 1.397, 1.0165, 0.631, -0.0752, -0.3736, -0.503, -0.708, -0.7791, -0.4687, -1.7802, -17.0148, - 10.1749, 8.8485, 5.1795, 4.5617, 6.0171, 6.4829, 4.3672, 1.6019, -1.645, -2.9876, -3.6524, -3.2008, -2.3296, -2.1644, -0.9768, 0.4251, 1.9391, 3.4981, 4.6467, 4.5048, 2.1218, -0.3094, -2.3029, -5.762, -6.5009, -7.7314, -8.789, -8.6982, -7.319, -8.3023, -3.9045, 0.7597, 3.5083, 5.647, 8.438, 8.927, 8.157, 4.5045, 0.2453, -27.9802, 0.6878, - -2.6861, 19.2221, 33.978, 25.1761, 5.3276, 0.9553, 6.0941, 10.8857, -5.1659, -6.6908, 10.287, 5.5719, -7.7825, 0.7662, -3.2785, -9.7089, 2.1449, -8.495, -0.8482, -8.2638, -3.5649, -9.0557, -5.193, -8.2034, -6.3047, -4.3602, -8.0851, -11.0228, -11.6996, 3.2339, 2.5869, 1.5692, 0.5614, -0.4616, -0.6459, -1.3729, -1.3736, -1.2425, -0.6779, -2.177, -11.9897, - 7.7287, 10.4343, 12.3692, 13.9892, 14.6808, 14.5459, 13.0629, 9.866, 5.8851, 1.8545, -0.9409, -3.2758, -5.5305, -7.8527, -9.4747, -10.4586, -10.7336, -9.8759, -8.2611, -5.1685, -1.7008, 0.1176, -2.2902, -4.5858, -4.0962, -2.2, -2.3668, -6.9728, -8.7495, 13.3085, 14.0301, 12.5973, 11.0446, 6.5436, -2.6637, -9.4551, -11.0645, -11.2845, -10.7446, -12.3117, -20.4326, - 10.736, 10.3386, 8.2768, 6.4632, 4.7302, 3.0267, 0.5796, 0.112, 1.9363, 5.0018, 8.3004, 9.8879, 8.2713, 4.5555, 2.8097, 1.8606, 2.8946, 3.7421, 5.297, 1.2683, -4.7378, -8.7201, -12.8564, -12.496, -9.6753, -7.5251, -10.0781, -16.3686, -17.6314, 11.3379, 8.1471, 4.3411, 2.5211, 1.4007, -1.3607, -3.3014, -4.3151, -5.9538, -5.2614, -7.5554, -24.6877, - 15.8329, 15.515, 15.4055, 16.5837, 18.1854, 17.6604, 13.6126, 8.4914, 4.4891, 2.4328, 0.8814, 0.778, 2.695, 5.3091, 6.6587, 3.8545, -1.3529, -6.1324, -10.5147, -12.4571, -13.5735, -11.0746, -7.2535, -11.2844, -17.2383, -20.4683, -17.4107, -10.9397, -8.6853, 6.2333, 2.1814, 0.232, -2.1897, -2.6025, -1.7475, 0.3359, 2.9117, 0.0927, -0.1075, -5.3398, -21.1984, - 7.6562, 6.587, 4.6968, 5.126, 9.8218, 14.9709, 16.085, 11.5684, 4.7265, -0.2176, -2.9979, -6.0694, -8.2544, -9.495, -8.0755, -5.7955, -0.4807, 4.7296, 3.3026, -0.0914, -2.8102, -1.2809, -0.3393, -3.3149, -5.6215, -8.5469, -6.678, -7.897, -11.3047, 12.3298, 6.3356, 1.6165, -2.5162, -1.6392, -1.6454, -1.7173, -2.3908, -2.4175, -3.1101, -4.8454, -23.7397, - 4.9452, 5.0593, 3.8655, 4.302, 7.6977, 11.2424, 13.0502, 11.2196, 6.9219, 2.6857, 0.2056, -1.5076, -2.7845, -3.1104, -0.8091, 1.9648, 6.1634, 5.4049, 1.224, 0.3494, -1.5074, -1.8246, -3.5432, -4.5137, -4.3268, -8.6129, -12.2904, -18.8599, -22.6111, 7.0748, 5.7565, 2.9123, -0.3591, -1.5206, -1.728, -1.8572, -1.6318, -2.3011, -2.3197, -4.0261, -26.4685, - 6.064, 7.2189, 7.3048, 8.3637, 9.316, 10.4746, 10.1941, 8.3124, 5.0444, 1.9281, -0.2645, -1.4345, -2.125, -2.621, -3.0015, -2.7992, -2.6148, -2.9666, -3.0696, -3.8743, -4.5941, -4.898, -5.682, -5.7978, -5.5722, -5.1973, -5.4147, -6.4176, -5.8765, -6.4521, -7.2215, -4.2413, -2.7669, -0.8266, 1.9295, 3.3149, 5.244, 5.9014, 6.7572, -1.6387, -0.2567, - 5.2371, 4.8863, 3.31, 2.1337, 3.1492, 5.6939, 8.7998, 11.5679, 12.8023, 11.4528, 9.0298, 8.9298, 10.6661, 11.0071, 6.4326, 0.2441, -4.1637, -7.7062, -9.8518, -10.2264, -9.582, -9.1951, -8.6992, -10.3299, -13.3858, -12.1048, -8.3569, -6.0495, -5.6913, 14.1502, 9.0286, 4.54, -1.001, -2.1523, -1.3098, -3.6803, -4.2446, -3.9915, -4.5409, -6.7984, -22.3276, - 1.1749, 2.9147, 3.84, 5.6634, 7.4575, 9.0125, 7.3532, 4.8392, 2.719, 0.871, -1.4481, -2.7601, -4.4452, -5.2662, -3.9827, -3.4617, -3.6219, -3.1639, 0.2716, 3.4947, 2.5863, 2.0483, 0.3695, -1.8223, -3.055, -5.56, -5.1761, -5.3683, -5.4841, 2.7668, 2.1577, 3.0912, 2.4351, 2.4455, 2.9457, 1.449, -1.5314, -2.866, -2.9647, -9.929, -9.9768, - 25.7146, 25.3619, 23.9564, 22.3568, 19.1718, 13.1052, 5.5763, -0.1008, -2.7575, -4.2993, -6.3232, -7.4184, -9.0999, -12.1658, -14.7424, -14.2269, -13.0082, -10.2417, -6.6055, -0.914, 1.6308, -1.8199, -3.8874, -1.8765, -3.1164, -7.7016, -9.3481, -4.282, -2.9383, 8.4368, 1.7117, -0.7722, -1.4926, -2.2285, -1.9674, -1.046, -0.6567, 0.1437, 0.9502, -3.079, -15.7527, - 10.7572, 9.4885, 7.7426, 6.5423, 6.0951, 6.6895, 8.5238, 11.1515, 12.9326, 13.0679, 11.3687, 8.6878, 5.8071, 4.2486, 4.2979, 5.1375, 3.6691, -0.4487, -5.794, -9.6188, -11.6687, -12.0791, -10.1837, -7.1986, -9.3267, -15.4942, -18.3956, -19.0668, -16.9329, 10.8057, 6.4011, 3.369, 1.5029, -0.9587, -2.8947, -3.7517, -3.2931, -2.8022, -2.8052, -5.5731, -27.3774, - 30.7504, 28.4951, 25.5185, 22.1742, 18.1099, 13.036, 7.7976, 3.5112, 0.1176, -2.6569, -5.1898, -7.4966, -10.1459, -13.1401, -15.8245, -17.097, -17.1868, -16.6198, -16.0292, -14.4009, -11.3257, -6.937, 0.011, 2.6766, 1.9106, 1.9904, 0.8448, -1.2215, -1.6723, 13.9837, 12.0732, 6.7883, 4.2122, -0.6419, -6.1564, -6.879, -7.3232, -5.7545, -3.2248, -7.0778, -13.8733, - 5.5235, 4.9142, 3.2141, 2.659, 2.9961, 4.2989, 2.3547, 0.5028, -0.826, -1.5841, -2.8526, -2.4476, -1.183, 1.5505, 2.5932, 1.4615, -0.955, -2.6992, -1.462, 0.7531, 3.9055, 4.2326, 1.8576, -1.8966, -2.2755, -5.1995, -7.0773, -7.5304, -4.8283, 8.7008, 8.7053, 7.0759, 3.5239, 0.2213, -0.4716, -2.9649, -4.4365, -3.897, -5.646, -10.8111, -11.0662, - 10.0683, 11.2576, 9.125, 5.5609, 2.1927, 2.3916, 0.5672, -0.6821, -1.7701, -2.4144, -2.1229, -2.5051, -3.0931, -3.4474, -3.5498, -4.6568, -4.0419, -2.9786, -1.6058, 0.2043, 0.2119, -0.9338, -2.1449, -1.59, -1.2476, -0.0367, -0.7467, -1.0002, -1.0118, -12.1871, -7.6015, -6.026, -2.6153, 1.8019, 5.1419, 7.0075, 7.4839, 6.3084, 5.7281, -5.0417, 11.1839, - 19.0914, 19.5418, 18.555, 17.3149, 15.8219, 14.6893, 12.7457, 11.1878, 8.8607, 6.1729, 3.1425, -0.6029, -5.0284, -9.2811, -12.4294, -13.9531, -12.8183, -10.2445, -6.0419, -0.7352, 0.9087, -2.2874, -5.6745, -5.3857, -4.8993, -8.6787, -14.4653, -17.3889, -18.1181, 2.0079, 2.3051, 0.155, -1.9709, -2.1518, -1.0518, -0.2981, 0.922, 1.4828, 1.7198, -3.1202, -19.8209, - 7.5768, 6.693, 5.4155, 4.9157, 5.4796, 5.747, 5.5734, 5.4561, 5.0927, 4.7098, 4.4827, 3.6618, 2.9817, 3.26, 4.2867, 6.6922, 8.7811, 7.7587, 3.8523, -0.1532, -4.4933, -6.9881, -8.1454, -8.949, -9.5267, -13.8968, -17.7691, -17.7758, -14.7195, 9.4196, 10.2634, 10.4478, 8.8124, 5.1507, 1.4872, -4.9411, -9.3928, -9.8991, -10.009, -11.3391, -24.4463, - 6.3112, 6.1145, 5.3668, 4.5313, 3.6954, 4.7877, 6.2658, 8.3789, 10.2936, 11.7688, 11.4084, 9.532, 6.981, 5.0657, 4.7615, 5.5904, 6.1808, 3.6441, -0.8606, -5.0517, -7.7101, -8.0207, -7.3867, -7.998, -11.4209, -15.6623, -18.321, -19.2583, -18.9878, 1.9218, -1.0898, -2.1315, -2.6064, -0.329, 1.3612, 2.7055, 3.4481, 2.127, 0.3937, -5.8006, -23.891, - 4.7133, 7.0828, 7.4451, 6.1536, 5.1026, 6.1735, 5.562, 4.7204, 2.3449, 0.0662, -0.0552, -1.4746, -1.3028, -2.0833, -2.3742, -3.0032, -1.8959, -3.1532, -2.7407, -2.7522, -3.1457, -4.1303, -3.0723, -3.0359, -3.2114, -2.1394, -2.2842, -3.9496, -3.5601, -9.5458, -8.5225, -2.1447, -3.0135, -13.5275, -8.701, 7.2088, 11.6588, 11.789, 11.7226, 3.0758, 6.7721, - 14.9989, 17.5318, 17.0021, 15.1799, 12.5029, 9.0797, 3.8559, 0.1428, -2.0371, -1.8983, 1.178, 2.723, 2.0463, 1.0309, 1.6621, 0.5141, -1.5732, -3.0527, -4.0016, -5.2671, -5.7073, -7.6154, -8.5918, -8.8827, -8.7941, -6.7438, -5.5924, -13.4525, -16.2384, -1.004, -2.5012, -0.5919, 1.0505, 3.9201, 5.2244, 4.5335, 2.9522, -3.9239, 1.3432, -11.0028, -13.759, - 23.3831, 23.986, 23.9088, 23.9899, 24.5442, 24.7231, 23.4676, 20.9361, 19.0352, 18.1315, 16.6484, 13.2407, 6.9323, -0.853, -7.8736, -12.542, -15.8304, -18.1801, -19.7679, -20.6937, -20.6499, -19.866, -18.7929, -17.4798, -16.8484, -17.7541, -18.9554, -19.1779, -17.6622, 2.2274, 0.2658, 0.2329, 0.5563, -0.2993, -0.6411, -0.8349, -0.8217, -0.3946, 0.3529, -0.6438, -20.4737, - 27.1582, 28.3012, 27.2357, 25.1547, 21.7324, 15.2318, 7.9956, 2.0196, -1.2674, -2.1412, -2.5552, -3.818, -5.536, -7.5787, -8.8477, -9.9856, -10.6186, -10.6812, -11.5427, -13.058, -14.018, -14.2114, -12.3911, -5.9856, -0.0551, 2.4393, -1.0062, -8.7488, -13.2219, 8.5421, 8.1274, 3.1062, 1.0714, -1.1957, -2.6079, -3.1237, -3.4444, -3.3713, -3.1296, -3.9745, -17.2997, - 0.2274, 1.5742, 0.903, -0.0755, -0.9929, -0.001, 0.9686, 1.1448, 0.4783, -0.3525, -0.1336, -0.1913, -1.6241, -4.5094, -5.8249, -5.384, -4.269, -0.9607, 3.2627, 5.8265, 5.0034, 2.6931, 1.4156, 0.6324, 1.3181, 1.5226, -0.7562, -0.2634, -1.6323, 10.1447, 8.1369, 6.9278, 1.8273, -2.8348, -3.1502, -3.8258, -3.2103, -3.0403, -2.8386, -8.1368, -10.7452, - 2.203, 2.3567, 2.277, 1.9391, 1.4807, 2.4535, 3.7369, 4.5955, 4.8497, 4.7689, 3.9314, 2.906, 0.5571, -2.275, -3.2233, -2.8254, -1.7099, 0.781, 3.0014, 3.5591, 0.5135, -3.7594, -6.0245, -4.9397, -2.1317, -1.108, -3.4783, -7.2902, -7.145, 17.4214, 15.9833, 12.556, 11.8901, 6.7955, -3.1206, -12.2737, -12.4585, -12.5086, -11.3448, -12.94, -23.4673, - 1.7001, 2.1276, 3.1509, 3.8711, 3.445, 3.9578, 3.9916, 2.2726, 1.586, 2.9582, 1.5039, -0.3172, -1.6934, 0.048, 1.7637, 5.8108, 12.7325, 15.4092, 10.2323, 1.637, -5.9209, -8.2841, -8.8154, -8.6341, -8.8994, -8.7332, -8.858, -9.426, -8.6166, 1.0902, -0.3804, -1.838, -2.1594, -2.0188, -0.5336, -0.2356, 0.9072, 1.9988, 2.4507, 0.7188, -11.1533, - 3.347, 4.2651, 3.1581, 1.5899, 1.3593, 5.4416, 9.6912, 10.3789, 8.2781, 5.7621, 2.3516, -1.6093, -4.6703, -4.3014, -2.0948, 1.2895, 4.5826, 5.8867, 2.758, -0.5921, -1.6254, -0.3408, -0.8297, -4.7115, -8.7548, -10.195, -9.4023, -10.1017, -10.9107, 5.4257, 1.3752, -1.6808, -1.6847, 0.0776, 4.2441, 3.7807, 1.7086, -1.1629, -3.5093, -8.5743, -19.3479, - 16.0698, 16.0234, 16.6242, 18.4265, 19.5793, 17.7359, 12.2454, 6.7061, 2.9279, 1.0254, 1.3081, 3.1537, 6.2322, 6.7809, 1.2833, -4.6315, -8.4988, -10.9702, -12.9812, -12.8617, -10.8763, -6.7933, -7.5585, -12.211, -13.1807, -11.6979, -8.6529, -10.8315, -14.3767, 3.5106, 2.2779, 0.8347, -0.4316, 0.4812, -0.3548, -0.958, -0.3001, -0.9639, -1.0077, -3.0884, -21.7124, - 14.8614, 14.3243, 13.2597, 11.9042, 11.3617, 12.9241, 16.0023, 18.6135, 19.9112, 18.7801, 18.0215, 16.7944, 15.059, 9.5509, 2.2373, -3.7737, -7.9433, -11.6438, -15.8775, -19.0534, -20.0063, -19.8849, -17.4072, -14.6677, -14.9214, -15.6185, -17.3399, -17.4032, -18.065, 0.4331, -1.3874, -1.3387, -1.2657, 0.1397, 0.9913, 1.3715, 1.5636, 0.9626, 0.3031, -1.7729, -22.491, - 24.4358, 25.1322, 25.6771, 26.9458, 25.4271, 20.1741, 13.1848, 7.1606, 2.9511, -1.5207, -6.2228, -9.1615, -10.2139, -7.9615, -3.5511, 0.8947, -0.064, -5.6909, -11.888, -15.0418, -13.4238, -8.6724, -10.1392, -15.6141, -16.4146, -15.3775, -9.3359, -5.8457, -5.844, 5.367, 0.7714, -1.2803, -0.3316, 0.0917, 1.3247, -0.3166, -0.6629, -0.4726, -0.9886, -3.5022, -15.8979, - 11.2574, 14.5322, 17.177, 19.437, 21.2176, 22.024, 20.3915, 16.7178, 12.6022, 9.4053, 7.3741, 6.1361, 6.443, 7.2023, 6.6378, 2.8391, -3.5908, -9.035, -12.7524, -16.0348, -18.3668, -20.0831, -20.1715, -19.0743, -16.0476, -13.945, -16.7267, -18.3902, -17.1759, 6.7669, 3.5601, 1.4726, 1.2131, 0.8001, -1.0515, -1.7968, -2.1212, -2.4567, -2.6039, -3.7828, -21.2313, - 9.8296, 10.9668, 11.4657, 12.4379, 13.8874, 14.6363, 14.3342, 12.4038, 8.9235, 5.049, 2.1177, -0.5223, -2.7832, -4.1482, -4.6107, -3.0828, -0.2052, 2.3942, 2.4641, -1.9911, -6.8813, -9.3285, -9.5593, -6.0838, -4.8651, -9.6703, -15.7893, -21.0597, -20.3293, 7.8335, 9.3572, 8.2255, 6.2992, 3.6571, -1.3039, -4.8523, -6.7448, -6.9973, -6.7242, -8.7501, -23.8675, - 10.0961, 10.4449, 9.9127, 8.5711, 6.218, 4.5618, 2.4521, 1.111, -0.1627, -0.3653, 0.8918, 1.6279, 1.8907, 0.7438, -0.7728, -1.2107, -1.2055, -1.5566, -3.2793, -4.1807, -4.1312, -5.1981, -4.9412, -5.1286, -4.9138, -5.1042, -5.2876, -6.4396, -4.6442, -4.2766, -4.5588, -1.6946, -0.6815, 1.6923, 2.6384, 3.794, 3.9827, 3.1253, 3.8234, -7.8447, -3.7539, - 0.0757, -0.0653, -0.5789, 0.6712, 3.3974, 5.2272, 3.8057, 1.3204, -0.9531, -1.2566, -1.6955, -1.1717, -0.9735, 0.2237, 1.1803, 4.3319, 6.8301, 9.0463, 9.4433, 7.5902, 3.7433, 0.0327, -1.4644, -4.7154, -6.0059, -7.2747, -9.9821, -10.6151, -10.1672, 1.8545, 3.4334, 6.1661, 5.8556, 3.1158, 1.3495, -0.3375, -1.2855, -2.2198, -4.5273, -13.4049, -11.7714, - 18.832, 19.0344, 19.1952, 19.544, 18.8449, 14.8697, 8.6867, 2.7879, -1.6869, -4.7635, -7.1363, -8.878, -9.6594, -9.0777, -6.9523, -1.8282, 3.5267, 4.4511, -1.5807, -5.656, -7.8512, -4.0511, 0.2367, -5.4146, -11.328, -13.9141, -12.866, -9.0793, -8.286, 7.2253, 2.308, 0.9914, -1.0476, -1.1123, -1.0979, 0.2181, 0.5772, -1.1907, -1.879, -4.9926, -19.5991, - 6.9436, 25.3648, 31.2509, 23.4659, 7.6212, 8.5476, 13.4044, 12.1024, 6.331, 6.4395, 11.2808, 6.4453, 3.3798, -0.4108, -2.6193, -4.1535, -5.4353, -7.8115, -9.9117, -10.8599, -12.3626, -13.5397, -13.0447, -13.134, -12.5666, -12.9922, -14.205, -14.7731, -14.7573, 0.6782, 0.293, 1.1419, 0.5868, -0.3036, -0.7149, -0.2401, 0.2321, -0.6483, 0.2892, -1.3142, -13.0829, - 8.063, 8.593, 8.9037, 9.6389, 9.9192, 8.643, 5.1562, 1.1687, -2.685, -5.3768, -7.2472, -8.6966, -9.7539, -8.277, -7.3009, -4.7332, -2.5381, -2.7034, -3.2364, -4.1264, -4.6546, -3.984, -4.4745, -3.1865, -2.7693, 0.2429, 6.0573, 8.4087, 10.949, 1.5828, 2.2857, 2.4626, 4.2564, 3.1914, 1.9048, -0.4814, -1.9794, -1.6878, -0.6562, -10.8788, 6.9006, - 15.3121, 14.0216, 12.315, 10.8984, 9.8481, 9.486, 9.9555, 11.2336, 12.1475, 11.5421, 9.508, 6.1797, 2.1804, -1.5586, -4.1037, -3.8925, -2.2145, -0.574, -2.0726, -5.8999, -9.587, -12.3986, -13.2888, -11.0931, -8.695, -10.6144, -15.3843, -17.4751, -15.7759, 11.6735, 8.2281, 4.7038, 3.1666, 1.7515, -3.5926, -5.6951, -5.7508, -5.1915, -3.439, -5.8544, -26.0008, - 10.5147, 10.1953, 9.3949, 9.1051, 8.3007, 7.6855, 5.3821, 2.1136, -0.5365, -2.3955, -3.8024, -5.3725, -5.6568, -4.8775, -2.4291, 0.2566, 4.4555, 7.9385, 8.4324, 6.4827, 2.9059, 0.5262, -2.9536, -6.313, -9.2242, -10.021, -12.3911, -13.793, -13.9236, -1.0018, -1.0252, -1.9659, -2.6464, -2.974, -1.2967, 0.3806, 1.637, 3.3651, 4.3609, 1.1664, -14.6511, - 17.246, 16.9637, 17.1204, 18.874, 20.7478, 19.3865, 13.9822, 8.1265, 3.288, 0.778, -0.2592, -1.0141, 0.0742, 3.2639, 4.6036, 2.5181, -3.1653, -6.8864, -8.0795, -7.3818, -6.3471, -6.8628, -11.5495, -14.8984, -15.4665, -15.712, -14.8453, -15.6943, -18.8106, 1.498, 1.4377, 1.0081, 0.1939, -0.3867, 0.3736, -0.2884, -0.4032, -0.4237, -0.7102, -2.299, -21.4765, - 29.1324, 27.4472, 23.9346, 19.8815, 15.3348, 10.3288, 4.4524, -0.1346, -3.0576, -4.7063, -5.5439, -5.9222, -5.9328, -6.6024, -6.7197, -6.0365, -5.2696, -5.1176, -6.4818, -7.5705, -8.4454, -8.5007, -8.4654, -7.9097, -7.0136, -8.1875, -7.3437, -4.302, -1.2484, 4.1307, 4.9307, 5.3321, 3.9185, 2.3886, 0.5401, -1.5333, -2.6429, -3.4176, -4.0077, -9.6393, -7.8398, - 26.1063, 27.1257, 26.4958, 24.5623, 21.0909, 16.0392, 10.3606, 5.2224, 1.283, -1.7057, -5.2899, -8.7872, -11.5471, -13.8485, -15.6146, -16.5388, -16.6318, -15.7526, -14.3061, -11.8594, -6.9641, 0.2736, 3.2894, 2.3319, 2.1876, -0.1464, -6.9487, -10.5477, -9.8802, 8.0155, 5.1637, 1.2918, -0.1585, -1.6768, -2.1876, -2.1575, -2.3734, -1.4901, -0.3422, -4.085, -16.2781, - -2.8938, 0.5854, 4.9032, 19.8896, 33.0777, 27.8431, 5.8284, -0.8777, -0.4212, 7.5419, 14.4523, 0.5889, -7.2843, -5.7721, 2.2765, -3.867, -7.0376, -2.4089, -1.923, -6.9736, -5.054, -6.8128, -9.1282, -7.6378, -9.9538, -8.0762, -10.1133, -10.3156, -10.4365, 1.79, 1.293, 1.2513, 1.1649, -0.0523, -0.1935, -1.3719, -0.6466, -0.7256, -0.6226, -1.8868, -11.7248, - 5.0511, 7.2825, 7.4756, 7.6284, 6.3099, 6.5711, 6.0062, 5.2464, 4.1337, 3.5789, 2.7344, 1.9171, -0.0947, -4.7055, -6.3175, -6.726, -8.3754, -7.5699, -4.4289, -0.5061, 0.5491, -0.6121, -1.663, -2.5886, -1.0683, -1.0286, -4.3484, -7.2928, -7.1586, 2.8359, 1.6298, 0.9777, 0.2594, 0.2894, -0.2649, -0.2767, 0.5984, -0.0902, -0.5417, -5.4171, -8.5849, - 26.8109, 26.2612, 24.6562, 22.4444, 19.7975, 16.2207, 11.9006, 7.5618, 4.2432, 1.162, -1.9686, -4.6999, -7.0035, -8.7711, -9.4863, -9.0559, -7.8923, -6.8802, -7.012, -8.4837, -11.2123, -13.1769, -13.1832, -11.7848, -8.9173, -7.9697, -7.9495, -8.0762, -7.535, 6.9413, 5.9114, 4.4559, 1.9045, -0.222, -1.5629, -2.1181, -2.9624, -3.1458, -3.1496, -6.0522, -15.8707, - 15.4221, 13.9665, 11.5956, 9.4217, 7.3471, 4.9825, 2.5822, 1.1306, -0.4479, -0.0543, 0.4224, 2.6264, 2.4323, 2.9777, 3.9679, 4.5466, 4.0757, 2.5862, 0.7066, -2.3566, -5.4206, -6.8028, -9.1716, -8.9333, -8.9478, -9.7023, -11.2057, -13.2026, -14.5445, 4.5118, 3.2465, 1.4635, 1.0112, 0.8257, -0.5633, -0.8311, -1.4185, -1.8127, -1.1914, -5.2417, -16.4127, - 28.007, 28.9811, 29.1691, 29.0099, 27.2163, 23.1256, 18.5752, 16.0256, 16.0772, 16.0792, 13.4415, 7.1002, -1.0509, -7.6202, -12.1978, -14.61, -16.035, -16.8734, -17.1512, -17.3461, -17.2821, -16.7355, -16.3289, -16.1605, -16.3294, -16.8373, -17.0316, -17.0117, -16.2062, 0.8143, -0.0316, 0.0425, -0.0469, -0.56, -0.2604, -0.2934, -0.0397, 0.1815, 0.6487, -0.4551, -17.2928, - 21.3473, 20.28, 18.5835, 16.4034, 13.0771, 9.2891, 7.0954, 6.8063, 9.6682, 13.1023, 14.6281, 13.8935, 12.0583, 11.5472, 11.1879, 7.7716, 2.5072, -3.2634, -8.4595, -14.0714, -18.2085, -21.2308, -24.2103, -24.5753, -21.1428, -16.8159, -16.8684, -20.7499, -19.65, 7.8883, 2.8059, -0.2509, 0.2746, 0.577, -0.7075, -1.0613, -1.6761, -2.152, -2.4962, -3.2017, -23.7494, - 16.7277, 16.51, 14.9737, 13.3864, 11.3764, 9.4606, 7.4445, 4.9221, 3.5715, 2.4337, 1.9778, 1.0209, 0.1128, -1.6904, -3.3639, -3.2615, -1.5944, -0.2581, -0.903, -2.3174, -4.1698, -4.9533, -4.5665, -6.1912, -10.0495, -13.234, -15.5995, -16.5459, -15.2199, 5.3973, 5.3767, 6.35, 5.5996, 2.0913, -2.3482, -4.267, -3.6648, -4.0077, -3.9263, -6.601, -20.6386, - 3.6641, 3.072, 2.139, 1.3959, 0.5821, 0.1856, -0.7457, -1.801, -2.5799, -2.9996, -3.1922, -3.7936, -4.3073, -4.4608, -3.725, -2.3583, -1.9204, -1.2606, -2.2907, -2.819, -3.6214, -3.1415, -2.0045, 0.0938, 2.4493, 4.0398, 6.5627, 10.1038, 12.7333, -5.2898, -3.8412, -0.6529, 0.7502, 1.5439, 2.507, 2.6854, 3.8159, 2.2321, 3.0585, -6.8092, 14.5213, - 7.5981, 6.7937, 5.2222, 4.6535, 5.7305, 7.9847, 10.01, 10.9988, 9.0694, 6.0491, 3.4695, 2.202, 3.1237, 4.5225, 7.5338, 7.066, 2.89, -1.4622, -5.4401, -6.1963, -7.3166, -5.9799, -7.7791, -10.5609, -13.5413, -13.8804, -12.9467, -9.4679, -10.3461, 11.6866, 9.3826, 4.4701, -2.9772, -5.447, -4.9307, -2.727, -0.1581, -1.4072, -1.6802, -6.2119, -24.8632, - 5.8372, 5.4933, 4.4445, 3.1566, 1.2701, 1.1435, -1.1096, -2.4243, -3.5109, -2.2282, 0.6573, 2.1785, 1.1141, 0.6038, -0.927, -0.101, 0.3438, 0.9773, 1.8036, -0.1658, -2.1507, -2.6201, -1.5194, -0.3072, 1.7488, -3.1481, -4.7553, -3.5314, -2.2733, 1.5456, 3.9136, 6.0524, 4.791, 5.6839, 4.8261, 0.4655, -3.9096, -15.7692, 1.863, -9.4624, -9.489, - 4.6026, 4.2957, 4.0221, 3.8863, 4.8775, 7.7799, 11.9268, 15.6438, 16.1838, 13.0359, 8.2259, 3.9397, 1.1633, -0.5844, -0.4453, 1.672, 3.9861, 4.4822, 0.7429, -4.6835, -8.2254, -8.6845, -8.8455, -9.205, -9.3625, -12.115, -14.9115, -16.6057, -16.7984, 9.4268, 8.2301, 5.436, 2.2444, -2.802, -3.6865, -3.4374, -3.621, -3.4624, -3.4351, -4.8928, -25.4465, - 31.7873, 30.4727, 26.1023, 20.2575, 14.3546, 8.305, 2.5479, -2.7242, -6.2652, -7.8786, -9.5076, -10.7253, -11.9221, -12.5796, -13.002, -12.411, -11.3787, -10.5858, -9.2885, -7.2279, -5.6862, -4.5481, -3.8155, -3.181, -0.2688, 1.7479, 2.4086, 2.6005, 2.4118, 6.0159, 2.6937, 1.8092, 1.2143, 0.6228, -0.1962, -1.5166, -0.7925, -1.1563, -2.0509, -6.6433, -6.4991, - 18.8196, 18.806, 19.0012, 19.7425, 18.9386, 15.192, 9.3626, 3.8042, -0.7101, -2.8913, -4.5793, -4.8562, -4.2855, -1.5235, 2.8079, 3.9527, -0.682, -6.1064, -9.0907, -10.7715, -10.2261, -6.853, -5.4028, -9.0538, -11.2966, -11.9744, -10.3023, -9.0454, -10.7763, 4.8079, 2.0464, 0.5831, -0.5085, -0.7115, -0.6171, -0.2759, -0.3213, -0.227, -0.8577, -3.9185, -18.4439, - 29.8848, 29.1207, 27.5698, 25.5473, 23.0863, 20.0333, 16.4515, 12.7057, 8.6525, 4.4123, 0.1328, -3.7662, -7.0685, -9.2222, -10.1967, -10.3862, -9.4399, -7.5052, -6.1986, -7.052, -9.653, -11.7447, -12.817, -13.2994, -13.4411, -14.5193, -16.0619, -17.4467, -17.7785, 0.6444, 0.915, 1.0957, 0.6198, -0.2661, -0.3037, -0.4308, -0.4697, -0.3863, -0.3182, -1.1, -17.5027, - 18.4803, 19.3278, 19.3456, 18.5446, 16.5534, 13.5838, 10.0057, 6.5241, 3.2399, 0.544, -2.4922, -5.5969, -8.475, -10.0774, -10.9952, -10.9028, -10.6525, -9.9639, -8.7708, -5.9295, -0.9987, 2.2097, -2.2176, -6.2966, -4.0572, -2.0702, -5.9921, -9.8384, -13.0318, 9.7202, 8.7919, 5.85, 1.2627, -3.1473, -4.0847, -3.9814, -3.8063, -3.2668, -2.9485, -4.3897, -21.4605, - 10.8936, 10.0376, 8.9233, 8.3835, 9.1909, 11.1956, 12.7625, 12.831, 11.2547, 8.6892, 5.7674, 5.0532, 5.1919, 6.4652, 5.5698, 1.2762, -3.6991, -7.9057, -10.9535, -12.3006, -13.0325, -12.0668, -10.2756, -8.9081, -9.5586, -12.4845, -12.5292, -10.6874, -9.0841, 6.7548, 4.3777, 7.2866, 11.0895, 5.9012, -3.2191, -7.2773, -7.4247, -5.9063, -4.6316, -6.951, -23.662, - 14.1801, 13.6094, 10.246, 6.2621, 3.2304, 0.492, -3.3704, -5.1542, -6.4379, -7.1331, -6.8071, -6.701, -7.0994, -6.7923, -5.4284, -4.1081, -2.2588, -0.3405, 0.3901, -0.1306, 0.2111, 1.2777, 2.612, 2.4542, 2.4177, 2.7283, 1.9381, 0.6674, -0.9548, 1.3373, 0.4195, 0.2246, -0.2612, -0.578, -0.3401, 0.2289, 0.3082, 1.5502, 2.1823, -5.0717, -1.9154, - 7.4197, 7.6107, 5.1248, 2.8926, 2.5158, 5.2747, 7.9445, 9.5554, 9.8134, 10.8602, 11.2127, 10.8181, 10.8451, 8.6337, 3.4818, -1.7126, -6.6143, -9.2501, -11.755, -13.8987, -14.1553, -13.7199, -12.4906, -7.978, -7.1759, -5.4179, -4.3134, -2.3617, -3.1596, 3.7397, 0.2684, -0.7543, 2.0473, 3.1074, 3.1748, 0.6925, 0.1021, -1.9327, -0.9979, -9.4471, -15.9473, - 5.0374, 7.8743, 10.506, 13.2551, 15.8405, 18.1863, 17.687, 15.2297, 11.9245, 8.8446, 6.8821, 5.5715, 2.9277, -1.1968, -4.6014, -6.2302, -7.5567, -8.8097, -8.9946, -8.6106, -9.0917, -8.5223, -8.8031, -10.3066, -10.5465, -10.512, -10.3576, -11.9252, -13.702, 3.764, 1.872, 2.0488, 1.2415, 0.9134, -0.5949, -1.6362, -1.3248, -1.6433, -1.0179, -3.6227, -18.8186, - 19.2311, 20.9055, 21.1816, 19.8035, 16.764, 10.9316, 4.3014, -1.2152, -6.3082, -9.8229, -12.4158, -14.601, -15.196, -13.5529, -10.486, -6.001, -0.0077, 5.5394, 4.4883, 0.8609, -0.7114, -0.5882, -2.0714, -4.1988, -3.5305, -2.7385, -3.9119, -6.6059, -10.044, 6.8589, 1.6709, -0.4277, -0.8756, -0.7567, -0.4132, -0.3654, -0.2776, -1.2933, -1.0276, -3.0928, -19.711, - 24.3921, 23.8657, 21.7178, 19.5721, 17.2483, 13.0391, 8.278, 4.5096, 2.1017, 1.4583, 0.4028, -1.6986, -2.5413, -2.4202, -3.3681, -6.3081, -8.4179, -8.6508, -8.3994, -5.6233, -2.8768, -2.4582, -4.6987, -11.026, -15.7297, -17.5495, -16.498, -11.2445, -7.0765, 10.9683, 8.5482, 1.624, -0.8116, -2.3291, -2.0794, -2.7065, -3.3384, -2.8326, -2.6102, -4.4326, -18.4205, - 21.6293, 21.2629, 20.0435, 18.0462, 14.0665, 8.5047, 3.1435, -1.3209, -4.4014, -5.7444, -6.244, -6.5178, -6.8764, -6.1381, -3.8131, -1.3478, -0.7585, -3.8085, -6.8211, -8.0966, -7.589, -5.2013, -2.5966, -3.9678, -5.8322, -4.8627, -3.8164, -4.4574, -6.4845, 7.4192, 3.5944, 0.8769, -1.2773, -0.8711, -1.2539, -1.2063, -1.1651, -0.7991, -1.1807, -4.1369, -15.4669, - 25.3218, 25.2194, 24.6132, 23.8034, 22.1467, 19.2686, 16.007, 12.6244, 9.8907, 7.3439, 4.6106, 2.0173, -0.23, -3.1887, -6.2778, -8.9287, -10.75, -12.4083, -13.6221, -14.5295, -14.0216, -11.6668, -8.29, -7.178, -8.6454, -13.0929, -18.1357, -20.6369, -21.2645, 0.649, 1.5279, 1.4976, 1.2259, -0.2509, -0.5437, -1.0645, -0.9697, -0.4026, 0.0229, -1.6919, -19.5268, - -1.2546, -1.5446, -0.9486, 0.9829, 1.7405, 1.8511, 2.612, 4.5582, 4.2836, 3.2383, 1.925, 1.5674, 0.4781, -1.1296, -1.5011, -0.3895, 1.2177, 2.8828, 3.7419, 3.9893, 0.6886, -1.304, -2.837, -5.679, -3.6007, -1.063, -1.5598, -5.1076, -7.8381, 10.2277, 6.2474, 2.9832, -0.8736, -8.4082, -6.4397, -4.2854, -1.8654, 0.4359, 0.954, 1.0241, -18.8314, - -3.652, -0.9802, 0.633, 3.0142, 3.7152, 4.2246, 3.065, 2.2808, 0.7668, -0.9696, -2.1283, -3.4617, -5.696, -9.1999, -10.9932, -10.595, -8.8872, -8.3491, -3.9024, 3.8951, 4.5732, 4.1833, 4.4267, 5.3015, 7.163, 6.8136, 3.6, 4.1437, 7.0149, 8.8113, 4.5339, 4.332, 3.8462, 2.4702, 0.0061, -1.7359, -2.2461, -3.3967, -3.6881, -12.9329, -0.9921, - 24.1276, 23.4144, 21.9515, 19.2491, 15.3233, 10.6683, 5.7075, 1.4491, -1.9622, -3.4974, -4.3346, -5.264, -5.4783, -4.5424, -2.5563, 1.0471, 2.9749, 1.0585, -4.2112, -7.704, -8.5161, -8.5574, -7.1906, -8.4892, -11.7312, -13.8838, -13.1386, -9.4367, -6.477, -5.2323, -4.7057, -2.176, 0.8632, 2.4803, 4.6972, 3.2524, 3.1237, 0.8651, 3.0078, -6.1758, -9.0277, - 9.207, 8.6269, 7.9993, 9.2567, 10.6048, 10.9179, 8.2726, 5.4801, 2.9587, 1.4349, 1.6895, 0.8687, -0.1341, -1.4667, -2.2954, -2.9979, -3.1146, -3.5248, -3.6823, -3.9108, -4.704, -5.0502, -5.2411, -6.0582, -6.2892, -7.1229, -6.8496, -7.8359, -7.0393, 1.0164, 0.3126, 0.256, 0.1094, 0.1566, -0.0117, -0.2184, 0.266, 0.0029, 0.5627, -2.4525, -9.3388, - 19.0542, 19.7864, 20.4414, 20.8883, 19.4828, 14.6899, 8.0652, 2.5866, -1.961, -4.2899, -5.3264, -5.8141, -5.3969, -2.8814, 0.6767, 3.6783, 2.8172, -1.1754, -3.8287, -4.3496, -4.1271, -2.7566, -3.4552, -6.5139, -9.4384, -14.1688, -17.1871, -19.0448, -20.4515, 1.8392, 0.8553, 0.2154, -0.0271, -0.4104, -0.2449, -0.1708, 0.0249, -0.0369, -0.2525, -1.7922, -22.7099, - 22.2875, 23.2966, 21.0875, 19.4172, 19.4631, 20.2489, 19.086, 14.7884, 9.6247, 4.7618, -1.1341, -7.8711, -13.4709, -16.4039, -17.9473, -16.0183, -8.7161, -0.3674, 4.2198, 1.897, -0.6141, -0.3383, 1.4297, -1.9778, -12.253, -18.9367, -22.1657, -22.0094, -21.384, 0.0857, -0.3388, -0.3844, -0.6424, -0.7435, -0.5609, -0.1067, 0.1511, 0.7988, 1.0267, 0.7142, -22.3449, - 1.5997, 0.7952, 0.5771, -0.1086, -0.9165, -0.4936, -0.5385, -1.1104, -2.3027, -2.7303, -1.7093, -1.2741, -1.2559, 0.1339, 2.1512, 4.2566, 4.4113, 3.294, 1.9275, 1.166, 0.9857, 0.1003, -0.1015, -0.9056, -0.5391, -0.5752, -1.0655, -2.5147, -3.257, 1.4399, 1.6942, 1.2365, 0.6457, -0.0065, 0.5875, 0.3795, -0.0796, 0.4453, 1.0116, -7.354, -5.9661, - 17.6306, 19.8446, 20.6406, 20.9119, 20.8696, 19.9715, 17.0436, 12.6644, 7.8356, 3.7315, 0.0618, -2.5156, -4.0666, -3.6383, -2.3405, -0.6112, -0.7237, -3.4603, -8.5171, -12.2394, -14.9608, -15.8437, -14.9681, -12.615, -11.0775, -11.0437, -12.1047, -15.2272, -15.2522, 3.8383, 2.7442, 1.4004, 0.6138, -0.4141, -0.6861, -1.0225, -0.8449, -0.9118, -0.8189, -3.8984, -19.7618, - 4.0159, 4.7341, 5.0428, 5.4476, 5.5823, 5.0017, 4.7364, 5.0152, 5.4244, 7.2281, 10.0426, 12.1892, 12.5133, 10.8886, 9.4587, 9.9271, 9.6594, 6.2877, 1.1672, -4.8743, -9.8309, -10.9887, -10.4195, -8.8449, -10.0345, -14.288, -19.4282, -23.5124, -22.141, 9.6326, 8.1547, 3.0154, -1.3662, -1.9025, -0.9827, -0.5431, -2.6536, -3.4587, -4.054, -5.842, -26.6165, - 1.3951, 2.3341, 2.7846, 3.6043, 3.9813, 5.2605, 5.5279, 4.846, 3.2475, 2.3327, 1.8366, 1.4325, 0.6121, -0.4539, -1.6285, -2.8274, -4.2077, -4.6993, -5.0706, -4.2874, -4.4071, -3.4175, -3.0547, -3.3504, -1.7471, -0.7879, -0.0749, -0.117, 0.9361, 4.5093, 3.2132, 3.2053, 2.7775, 1.5517, -0.0446, -1.3922, -2.0535, -0.9648, -1.7751, -9.0269, -4.586, - 28.2916, 29.7152, 29.0955, 27.1159, 23.3768, 18.1997, 11.9697, 5.6704, 0.9205, -2.5625, -6.9213, -11.486, -15.0627, -16.3635, -16.7915, -16.8262, -16.229, -14.5129, -11.0684, -5.6647, 2.9493, 7.145, 4.8374, 2.6581, -2.8551, -9.629, -15.306, -15.9776, -14.6886, 0.7674, -0.5757, -1.0994, -0.2628, -0.333, 0.2608, 0.1505, 0.3201, 0.6736, 0.6525, -0.5539, -15.2205, - 21.3574, 19.0821, 16.0689, 13.5763, 11.7756, 9.8197, 7.1626, 5.6591, 4.1988, 2.6866, 1.2839, 0.297, -0.7392, -2.1025, -2.9588, -3.9692, -4.2266, -4.5449, -5.2046, -5.5074, -6.5396, -7.8927, -8.7128, -9.14, -9.3002, -10.003, -10.319, -10.7968, -11.0108, 1.2272, 0.8607, 0.9681, 0.0462, -0.4903, -0.1304, -0.4412, -0.146, 0.3281, 0.933, -3.1554, -13.2931, - -11.9427, -9.0347, -8.1854, 0.5355, 16.2351, 30.0772, 15.6863, -0.5026, -5.1802, -3.4273, 8.1185, 14.303, 3.9959, -5.7275, -2.8537, 5.8633, 2.1444, -4.9037, -1.6011, 1.0216, -1.4938, -3.6235, -5.0675, -4.7195, -2.6927, -4.8393, -5.4537, -9.4932, -7.2387, 4.1282, 1.8786, 1.9953, 0.5488, -0.3819, -1.3723, -1.0026, 0.0804, -1.6472, -0.9937, -3.2335, -11.7554, - 18.449, 17.8582, 16.6014, 15.4593, 14.0319, 12.3568, 10.0803, 7.8236, 5.707, 4.5343, 3.607, 3.4959, 2.7669, 0.5453, -0.986, -2.0713, -2.6104, -3.5225, -5.566, -7.1856, -8.5038, -9.9136, -10.8379, -12.1072, -13.2841, -13.7883, -13.6681, -14.0513, -15.221, 1.9454, 1.7954, 1.7868, 0.9124, 0.3779, -0.2762, -0.6521, -0.9212, -0.7314, -0.0795, -4.1574, -18.4931, - 11.8976, 17.951, 18.5286, 15.1944, 9.4977, 6.4581, 3.3668, -0.2268, -3.9011, -5.4058, -5.9886, -7.2383, -7.8525, -10.3087, -12.8063, -12.1794, -11.0999, -8.8156, -8.1165, -6.1532, -4.2252, -4.0395, -1.3151, 0.5738, 3.955, 8.7131, 6.7113, 1.7138, 5.1116, 0.9965, 1.4759, 3.0237, 2.9344, 5.1266, 4.6639, 2.7831, 2.9561, 0.3334, -5.8448, -18.4487, 1.1692, - 0.9487, 1.413, 0.9479, -0.0826, 0.2145, 3.217, 4.0687, 3.2987, 3.5035, 4.5743, 4.0544, 3.4101, 4.0914, 4.5664, 4.8132, 6.4401, 9.3451, 8.9607, 6.079, 2.7728, 0.8498, -0.8017, -2.4432, -4.7032, -9.3198, -12.6235, -15.1492, -15.7996, -16.6466, -0.8633, -0.9141, -0.0119, -0.337, -0.1759, 0.0244, 0.0238, 0.6518, 1.091, 1.8672, -1.356, -15.2177, - 34.1302, 32.0599, 27.8887, 23.7603, 19.3256, 13.9648, 7.8176, 2.2845, -0.8316, -2.8468, -4.8687, -6.8758, -8.2507, -10.028, -11.0038, -9.9438, -7.5333, -4.6451, -2.1804, -2.2669, -3.7303, -5.3382, -6.9605, -9.3264, -11.3621, -13.0806, -13.5868, -13.1789, -13.393, 0.4195, 0.2121, 0.0329, 0.2371, 0.0989, 0.178, 0.0464, 0.0275, 0.3526, 0.0885, -1.6936, -14.6518, - 15.6422, 15.2859, 14.7754, 15.3593, 17.2032, 19.1105, 18.2304, 15.0687, 12.08, 11.4521, 13.3209, 14.1182, 10.1435, 2.4651, -4.8883, -9.38, -12.5864, -13.8568, -15.1276, -15.6378, -14.1885, -9.7248, -6.9518, -9.9796, -12.4385, -13.0782, -14.0208, -19.5089, -22.8872, 0.499, 0.8082, 1.3862, 0.4212, 0.1198, -0.3486, -1.0547, -0.403, 0.3854, -0.1208, -1.6927, -24.4489, - 31.6974, 29.478, 26.629, 23.262, 19.3188, 14.1307, 8.2731, 2.81, -1.094, -3.2472, -4.229, -4.829, -5.3248, -6.1539, -6.7558, -5.9669, -4.6964, -4.4401, -6.192, -8.0753, -8.1121, -6.2825, -6.0789, -5.7147, -3.3695, -8.9378, -16.7789, -19.5464, -19.7736, 3.0519, 6.0787, 1.0322, -0.6589, -1.6175, -2.1104, -1.9403, -1.7062, -0.9516, 0.481, -1.659, -17.7143, - 6.6516, 7.1945, 6.2582, 4.9369, 3.5619, 3.6748, 2.077, 0.4189, -2.1975, -3.886, -3.9613, -3.8644, -5.3511, -7.2609, -7.6175, -7.1661, -5.7976, -4.5218, -1.9308, 1.448, 5.0915, 4.7364, 4.6719, 3.6113, 3.3328, 2.0626, -1.533, -2.8815, -1.7589, 6.4246, 5.9081, 6.0283, 5.5237, 2.9559, -0.7124, -3.2659, -4.6501, -4.6857, -3.8757, -9.6509, -8.7268, - 12.9326, 13.6158, 13.6027, 13.5734, 13.4039, 13.8175, 13.8659, 12.7258, 9.7632, 6.3103, 2.7321, -0.5733, -3.8746, -7.086, -9.645, -10.7832, -10.3935, -8.3777, -4.8027, -1.1394, -0.1906, -2.9954, -5.6539, -5.3461, -4.393, -8.2738, -13.2039, -15.2593, -14.3519, 12.0896, 7.9934, 4.3314, 2.9333, -0.2922, -3.974, -5.2453, -5.1292, -4.2466, -2.5427, -5.9177, -24.1706, - 3.3111, 5.7192, 7.6731, 8.6538, 8.7816, 9.2367, 10.2956, 10.7802, 8.7371, 5.9609, 4.1644, 2.5137, 0.7897, -0.7157, -1.6711, -1.2978, -0.9879, -0.5737, -1.7029, -3.8746, -6.212, -6.9054, -7.5755, -8.5853, -8.663, -8.4875, -9.3126, -9.4585, -10.5934, 1.9845, 0.8889, 0.2842, -0.9179, -1.4593, -0.6826, -0.6777, -0.0392, 0.8979, 1.4414, -1.7202, -13.5455, - 14.2205, 14.4641, 13.7854, 13.0598, 13.2991, 14.8419, 16.1502, 16.5712, 15.2079, 11.8669, 7.9213, 4.5068, 2.1444, 1.2542, 2.5468, 4.6558, 4.3109, 0.6255, -5.187, -9.7699, -11.4109, -10.1544, -8.4757, -11.5168, -17.9764, -22.4698, -24.8959, -25.1837, -24.3922, 1.4299, 0.413, 0.0191, -0.2559, 0.4822, -0.2917, -0.0644, 0.3763, 0.0596, -0.3088, -1.8594, -27.0927, - -2.8758, 15.2556, 21.0124, 15.289, 2.1565, 2.6722, 2.923, 4.3949, 0.446, -0.9254, 1.7753, 1.364, 0.4328, -3.9146, -4.3331, -4.1112, -3.8881, -5.2841, -2.7539, -1.9759, -0.4884, -4.8231, -3.5586, -3.51, -2.3689, -4.3495, -5.1658, -7.1944, -6.2007, -2.475, -1.0212, 2.7562, 1.1019, 2.0472, 2.2292, 2.3273, 2.8928, -1.1663, -0.0381, -8.6541, -3.0398, - 18.8285, 20.4979, 21.7173, 23.1703, 24.2063, 23.5814, 21.0896, 17.9453, 15.643, 14.4782, 13.143, 9.6223, 4.1452, -1.1378, -5.0589, -7.8909, -10.5229, -13.0157, -15.3961, -16.7612, -17.5151, -17.5485, -17.4267, -17.8018, -18.7396, -19.9281, -20.0342, -16.863, -12.4276, 8.6336, 4.4955, 1.3996, -0.2307, -1.5565, -2.0497, -2.323, -2.1696, -2.165, -1.6041, -2.43, -20.8387, - 16.1197, 16.1677, 13.0422, 10.1574, 7.482, 4.6731, 0.9828, -1.4519, -2.9998, -3.7625, -4.0148, -4.3809, -5.3027, -6.4756, -7.1149, -7.3309, -7.7257, -6.9484, -6.1237, -4.9958, -3.5063, -1.5803, 0.7658, 1.786, 3.3939, 3.3871, 0.1351, -1.5829, -2.7956, 3.7721, 2.8811, 2.698, 2.1046, 1.6496, 1.643, 0.3146, -1.1205, -1.2974, -2.3187, -10.3263, -6.3444, - 33.2222, 30.5262, 25.0634, 19.0582, 13.7573, 9.6221, 5.3575, 1.773, -0.2567, -0.9304, -1.7632, -2.8645, -3.748, -4.1938, -4.1659, -4.0416, -4.7502, -6.0605, -7.9728, -8.5077, -8.1116, -7.8726, -8.1931, -9.0767, -10.5826, -11.3078, -11.2136, -11.3407, -11.426, 0.8122, 0.488, 0.3714, -0.1432, -0.1971, -0.2624, -0.2558, -0.0613, 0.088, 0.0913, -0.931, -13.399, - 23.3644, 24.0993, 25.3117, 28.071, 27.1967, 22.1136, 17.5071, 15.1758, 14.335, 11.14, 4.3238, -3.0833, -8.0197, -10.4359, -12.1778, -13.4366, -14.3352, -15.1818, -14.9458, -14.461, -13.872, -11.3742, -10.2486, -10.0143, -11.6705, -10.3545, -10.901, -13.4149, -14.7113, -0.0476, -0.0526, 0.7467, 1.6512, 0.2779, 1.1979, -0.1397, -0.0153, -0.2711, -0.9085, -2.4389, -16.2622, - 14.4881, 12.3355, 8.8723, 6.0773, 3.3394, 2.1115, 0.8125, 0.2147, 0.056, -0.0137, -0.2214, -0.6427, -0.7267, -1.5641, -2.3561, -2.2954, -2.4665, -2.8622, -3.0085, -3.0425, -3.2164, -3.541, -3.2388, -3.283, -3.0079, -3.0781, -3.2229, -3.1753, -3.3443, 0.6505, 0.0498, -0.1331, -1.126, -0.6639, -0.2628, -0.209, 0.4291, 0.7281, 1.5146, -0.9773, -5.3512, - 2.0621, 1.412, 0.1443, -0.6564, 0.5194, 4.127, 7.3667, 9.7238, 11.5833, 11.3655, 7.7646, 4.2923, 2.5041, 4.7009, 7.5418, 8.5568, 4.4916, -1.2294, -4.3559, -5.7809, -5.5627, -3.7357, -4.6814, -7.6996, -10.083, -11.5284, -10.0528, -10.0753, -12.7146, 1.7722, -0.0816, -0.3269, 0.6524, 2.3093, 3.6584, 1.5222, 0.4498, -1.3345, -1.6645, -6.9568, -19.683, - 25.4648, 24.2073, 21.4183, 18.0385, 14.5373, 11.3133, 7.9671, 5.3323, 3.4067, 2.4589, 2.3509, 1.9998, 0.7508, -0.6518, -2.8305, -5.4658, -7.9173, -10.2576, -11.4401, -11.9089, -12.2924, -10.4402, -8.9248, -9.352, -7.9692, -5.3374, -6.585, -12.1411, -15.7319, 4.8043, 4.3614, 2.147, 0.1372, -1.2225, -1.5199, -1.617, -1.646, -1.4994, -1.0956, -2.8494, -19.563, - 10.4477, 9.9103, 9.3167, 9.9753, 13.0396, 16.4188, 16.2006, 11.2422, 5.492, 2.0198, -0.5193, -2.2228, -3.7621, -2.3955, 0.6073, 4.9323, 5.7164, 1.908, -3.853, -5.3428, -5.1549, -4.4637, -8.4757, -12.2439, -13.8905, -14.278, -11.6814, -12.1684, -16.7752, 0.6951, -0.414, -0.215, -0.4177, -0.1652, 2.0344, 0.4827, 0.3849, 0.6488, 0.2765, -3.3105, -20.973, - 11.6894, 11.5653, 11.7767, 13.6634, 16.8841, 16.8356, 11.607, 5.3075, 0.2573, -3.0445, -5.5117, -6.5939, -7.5658, -6.4151, -2.9369, 2.581, 5.6008, 0.1628, -5.9773, -6.9647, -6.5125, -3.3783, -4.0081, -8.2854, -9.9143, -9.2857, -6.2357, -5.9007, -9.4002, 10.4552, 5.0807, 0.6307, -1.3477, -0.5399, -0.5873, -1.8383, -1.7997, -2.057, -2.8514, -5.1454, -22.0833, - 21.2161, 21.5655, 20.7743, 20.2657, 20.4741, 20.8267, 19.9547, 17.4467, 13.8013, 9.3303, 4.0053, -0.5555, -4.305, -6.2844, -5.9649, -3.292, -0.3039, -0.5084, -4.2075, -9.2735, -12.3913, -12.0554, -11.2851, -13.2289, -17.6674, -21.0646, -22.6765, -22.3615, -22.2348, 0.6227, 0.2943, 0.3156, -0.0153, -0.3658, -0.4357, -0.0101, 0.1177, 0.2549, 0.3115, -1.0897, -21.8725, - -5.8017, -5.8902, -5.5846, -4.762, -4.4881, -3.9174, -4.283, -5.1666, -6.3677, -6.8882, -6.9995, -6.8752, -7.3225, -8.7191, -9.5016, -8.754, -7.1882, -3.8658, -0.5597, 2.3798, 1.4716, 2.7987, 5.8548, 11.0383, 14.5525, 16.8697, 19.0261, 18.9539, 19.9898, 7.1234, 3.7053, 2.7491, 2.3946, 1.8894, -0.2885, -0.8988, -0.3606, -0.2356, -2.8434, -13.235, 10.7649, - 29.8544, 29.8362, 28.5318, 26.532, 23.6452, 19.329, 14.5539, 10.284, 6.4573, 3.11, 0.1941, -2.1012, -5.6884, -9.9636, -12.852, -13.5951, -13.0431, -13.2967, -13.3194, -12.2195, -9.3679, -5.0767, -1.3008, -4.8112, -12.0561, -15.7608, -16.8756, -16.0321, -14.9678, 2.1806, 0.2835, -0.2562, -0.386, -0.657, -0.1415, -0.217, -0.2013, 0.4029, 0.2038, -1.2117, -16.045, - 8.0644, 8.0499, 7.1416, 6.5893, 5.5981, 4.3993, 3.4826, 2.7143, 2.8318, 2.358, 2.4915, 1.9093, -0.3049, -1.4506, -1.2401, -2.3404, -1.2673, -2.2808, -2.4575, -3.4995, -3.9318, -5.0149, -5.3296, -3.8867, -4.4533, -4.5744, -4.0511, -4.8087, -4.7385, -9.0466, -10.6663, -9.9253, -6.6473, -2.6332, 0.9689, 4.1205, 6.334, 8.2517, 9.8032, 9.4405, 1.9804, - 9.5207, 9.0443, 7.8069, 7.3329, 7.3094, 8.0083, 9.9299, 12.4518, 13.0618, 11.3574, 7.8442, 3.8017, -0.1018, -3.9012, -6.5018, -7.0985, -5.6241, -2.4385, 1.2347, 1.1544, -2.3784, -5.3165, -6.5624, -5.5597, -5.2937, -9.9992, -14.6755, -17.3896, -17.0176, 9.0473, 5.4785, 3.0998, 0.8918, -1.3974, -3.6623, -3.5233, -2.5034, -1.0502, -1.2373, -5.1436, -25.0416, - -5.0642, -5.1796, -4.6005, -5.1034, -4.7822, -2.6885, -1.4531, -1.7854, -2.0629, -2.7192, -4.452, -3.929, -3.4335, -4.7675, -6.1288, -7.0944, -6.633, -5.1475, -3.279, 1.153, 2.3119, 6.3456, 6.1984, 9.1249, 10.9774, 11.5921, 12.7428, 11.4754, 8.3823, -9.7326, -13.5256, -14.6472, -7.0881, -1.2233, -0.9864, 6.1958, 7.2048, 10.0661, 12.3652, 11.3714, 19.005, - 6.7705, 6.0726, 4.7668, 4.7287, 5.5025, 5.2104, 3.6077, 1.7454, 0.3953, -0.348, -0.7236, -1.1397, -2.5075, -2.4282, -2.0351, -1.5354, -0.9783, -1.1816, -2.7792, -3.3855, -3.4229, -4.1416, -3.3236, -3.6243, -3.9451, -2.9592, -1.2582, 1.2767, 1.6406, 9.6325, 11.3324, 9.8681, 5.5229, 2.3829, -0.2309, -2.8115, -5.0973, -6.3038, -7.6243, -16.6711, -7.8822, - 18.7275, 18.7602, 15.1086, 10.7098, 6.9559, 5.0306, 2.7456, 0.2771, -1.9055, -2.8108, -2.7768, -3.7007, -4.2089, -5.7436, -6.2204, -5.8236, -4.9148, -3.2075, -2.8848, -3.121, -2.7428, -4.5923, -3.8926, -3.7191, -2.9927, -3.2069, -3.9982, -3.813, -2.0396, -6.3039, -3.8256, -2.1569, 0.2409, 3.3218, 4.6289, 5.0475, 3.5987, 1.8219, 1.8959, -8.2692, 2.9296, - 19.0392, 17.4654, 14.9352, 12.2077, 10.497, 11.1852, 10.4778, 8.4045, 4.8902, 1.7924, -0.876, -4.1317, -6.0495, -6.1897, -5.015, -1.439, 2.3264, 1.7138, -1.0924, -3.4019, -4.302, -3.5935, -2.4494, -6.411, -11.384, -13.3423, -14.0158, -14.8337, -16.408, 5.217, 2.0001, 0.7957, -0.6171, -0.8902, -1.2003, -1.1541, -0.6336, -0.6395, -0.6616, -2.2164, -21.367, - 10.4791, 9.9395, 9.0805, 9.1584, 10.6784, 12.7374, 14.6952, 15.0752, 12.809, 9.8648, 7.835, 7.5607, 9.0798, 10.1615, 7.6961, 2.2376, -2.6758, -6.5418, -9.4708, -10.5541, -11.1366, -10.0882, -12.2916, -15.8392, -17.7528, -18.3635, -16.7645, -14.5122, -13.097, 9.0915, 6.6105, 3.9354, -0.3391, -3.1013, -3.4367, -2.504, -2.1417, -1.8401, -1.7766, -4.4978, -24.3538, - 2.0821, 3.1287, 4.0753, 5.4302, 5.7802, 6.6537, 7.213, 6.6951, 4.596, 2.8045, 2.4487, 1.8103, 0.4415, -1.7609, -3.0165, -2.8462, 0.1898, 3.3827, 4.319, 1.6896, -2.8185, -5.5524, -7.0484, -7.5484, -6.109, -5.9753, -4.7225, -7.1165, -8.2257, 3.668, 2.9008, 1.3962, 0.7099, 1.6828, 1.2318, -0.5067, -1.7458, -1.5988, -1.6313, -6.1069, -11.5601, - 1.1497, 1.32, 1.2707, 2.0082, 2.0004, 1.8044, 1.127, -0.2158, -1.8933, -2.4634, -3.4218, -4.7937, -4.71, -4.6869, -4.1693, -4.4056, -4.91, -4.6525, -4.3514, -5.3638, -6.5281, -5.1288, -3.6008, -0.1517, 2.6878, 7.224, 11.7457, 15.7449, 17.364, 6.9238, 4.8734, 3.1279, 0.9919, 0.1466, -0.3872, -0.1158, -0.4139, -1.8167, -1.7305, -11.5996, 8.8903, - 9.7978, 8.0725, 4.8934, 3.5284, 2.7083, 3.7014, 4.0313, 4.6282, 3.9292, 3.2742, 2.0518, 0.7154, -1.2921, -1.9667, -1.5639, -1.3033, -0.5627, -0.4778, -0.7607, -2.2442, -3.8987, -4.4781, -4.252, -4.6421, -4.1577, -4.5224, -4.4218, -5.2138, -5.574, 0.7391, -0.0616, -0.3222, 0.1802, -0.1541, -0.5544, -0.09, 0.4549, 0.453, 0.6154, -1.2603, -6.8376, - 11.0218, 10.5069, 8.2672, 5.9543, 3.9578, 3.9631, 2.6698, 1.5498, 0.3926, 0.318, 0.1925, 0.7238, -0.6282, -2.8873, -3.5603, -4.0488, -2.8863, 0.6168, 3.2951, 2.8007, -0.0448, -2.6501, -4.7672, -5.2381, -5.1827, -6.3352, -6.8157, -6.003, -5.1825, 5.7059, 6.0081, 5.5317, 5.2309, 1.9392, -0.7052, -2.995, -3.4059, -4.2816, -4.2198, -8.8083, -12.1555, - 30.722, 30.4352, 28.7635, 26.8276, 23.0072, 17.1944, 10.8428, 5.1151, 0.6042, -2.9361, -6.0945, -8.6787, -10.4457, -11.4951, -12.7062, -13.0113, -13.2579, -13.2793, -13.0584, -12.0898, -10.8056, -8.6431, -7.2774, -8.7256, -10.1911, -7.2394, -2.5936, -0.3436, -0.6396, 5.5942, 2.8807, 1.9726, 1.6097, 0.9653, 0.3476, -0.8863, -1.5202, -2.194, -2.7497, -6.0197, -9.7496, - 11.0431, 11.2874, 10.754, 9.9197, 8.6647, 8.6958, 8.6183, 9.9875, 10.047, 8.3112, 7.2898, 5.9718, 4.5865, 2.1034, -0.7735, -2.4122, -3.3246, -3.2844, -4.4966, -6.4114, -8.1119, -10.1936, -10.6919, -10.5371, -10.9794, -10.4475, -10.1218, -12.43, -13.0643, -8.4396, -8.4986, -5.5124, -3.9624, -1.092, -0.4675, 2.3907, 5.5877, 7.2456, 8.023, 4.7255, -8.4177, - 12.7397, 11.0783, 9.2586, 6.5612, 4.1628, 2.3704, 1.9316, 1.0515, -1.035, -1.2451, -1.9616, -3.0021, -4.2825, -5.4905, -5.6435, -5.621, -6.6154, -6.2022, -5.0535, -4.7672, -3.5637, -2.1688, -1.0431, 0.1656, 0.9547, 1.642, 2.0989, 1.7796, 1.9001, -9.9315, -12.1933, -12.6352, -7.0282, -1.8872, 1.8245, 4.5894, 7.3621, 9.3193, 10.4805, 10.0998, 9.3097, - 15.1389, 17.4197, 18.3393, 18.5836, 17.5461, 15.0277, 11.1098, 6.8515, 2.5234, -0.3132, -2.9049, -4.0328, -5.4435, -6.6072, -7.1258, -7.1761, -6.4666, -4.533, -0.7343, 1.2614, -1.3012, -6.3734, -11.7238, -12.6667, -10.4556, -6.4641, -7.1625, -10.7517, -11.5648, 8.7437, 7.862, 8.4762, 9.1692, 5.7736, -1.6953, -4.9554, -7.2071, -8.1718, -8.3657, -9.6294, -20.1832, - 18.735, 18.8415, 17.7238, 16.779, 16.8597, 17.9978, 19.1477, 18.5999, 16.1427, 12.4936, 8.6595, 5.9831, 4.9948, 5.7667, 5.588, 1.9462, -3.6217, -9.0782, -13.3577, -15.7337, -14.0069, -9.9754, -8.9549, -15.6483, -21.552, -23.5522, -23.683, -23.3131, -23.7818, 0.3454, -0.042, -0.0575, 0.3156, 0.1128, -0.3066, -0.4222, -0.0008, 0.1796, 0.4486, -0.5731, -24.7214, - 16.6836, 16.0011, 14.2761, 12.3355, 8.6965, 4.5639, -0.4844, -4.198, -4.765, -4.1296, -4.0155, -2.9656, -1.797, 0.468, 1.9673, 2.9994, 4.5, 3.5757, 1.1168, -0.5475, -1.7944, -2.5137, -4.8674, -5.5801, -7.1945, -9.0212, -11.1995, -10.8822, -11.2279, 0.2823, -1.5628, -3.0013, -1.8679, -2.2856, -1.4908, 0.7971, 1.9446, 3.1469, 4.5357, -0.4981, -12.2633, - 19.0033, 19.2025, 17.7777, 15.3002, 12.665, 9.5501, 5.6575, 1.8616, -1.6276, -3.6035, -5.2976, -7.4545, -9.9218, -11.055, -12.1614, -12.333, -11.7581, -10.8363, -9.3486, -5.9142, -0.9878, 3.2625, 3.7572, 3.2186, 3.6513, 0.3807, -3.4386, -5.0746, -4.4758, 13.3555, 8.9978, 5.4532, 3.6182, -1.0628, -3.2096, -4.4349, -5.7492, -5.1348, -3.5353, -8.2981, -16.823, - 18.4297, 15.9331, 11.2397, 7.8129, 5.538, 4.6599, 3.1356, 2.3935, 1.0751, 1.097, 0.648, -0.216, -2.0789, -2.6802, -3.0441, -2.3536, -0.3163, 1.8936, 2.7495, 0.5565, -3.1908, -5.3708, -7.0075, -7.5402, -7.2433, -8.2848, -9.2167, -9.4201, -9.1988, 2.6256, 2.051, 1.3148, 0.5355, 0.063, -0.6332, -0.4758, -0.6747, -0.4639, -0.1424, -4.2, -12.3908, - 7.3097, 7.7813, 7.8527, 7.8546, 8.1128, 8.9506, 10.6384, 12.8363, 14.6251, 15.4901, 15.1366, 13.4976, 11.9988, 11.7295, 11.3616, 8.4914, 2.9159, -3.6536, -9.48, -13.735, -17.1927, -18.7882, -17.6248, -13.8464, -10.5674, -13.8181, -18.1434, -20.8743, -18.8591, 11.3245, 8.7172, 3.5788, -0.9416, -1.5672, -2.3545, -2.3414, -3.3449, -3.961, -3.8438, -5.2662, -25.7869, - -1.6196, -1.5619, -1.3693, -0.0041, 0.6985, 1.0211, -0.2712, -1.1631, -2.5701, -3.8567, -4.4749, -4.1959, -4.6373, -5.4392, -6.632, -6.8724, -5.3058, -4.2328, -1.9447, -0.2533, 0.7399, 0.5052, 2.5635, 6.5244, 9.7417, 10.9027, 8.3775, 5.7836, 9.5462, -0.9205, 1.3066, 3.5975, 5.1438, 4.6369, 2.962, -0.2142, 1.2689, -0.0412, -3.1056, -14.6343, 6.0567, - 14.2155, 14.8572, 14.6396, 15.6515, 18.4554, 21.3207, 21.295, 16.587, 10.7997, 7.0073, 4.3743, 2.985, 1.5061, 3.2006, -0.1576, -6.6249, -11.7054, -14.9389, -16.7542, -15.9586, -13.4133, -9.9384, -8.4859, -12.4268, -14.9176, -16.0461, -14.1275, -6.4255, -4.9741, 5.5063, 0.3654, 3.5212, 7.9053, 3.8839, -1.5841, -4.1647, -4.5145, -3.545, -1.9892, -5.3846, -20.3075, - 9.1018, 8.8735, 7.5282, 6.865, 7.5449, 8.2635, 6.4844, 3.4564, 0.6817, -1.5163, -2.2174, -2.8199, -3.288, -2.4514, -0.1202, 2.7625, 4.3459, 5.3239, 3.3628, -0.1718, -3.0498, -4.4866, -5.5655, -6.7973, -7.4857, -9.1801, -9.3929, -8.469, -7.5827, 4.3844, 4.6419, 5.2823, 3.5134, 1.9965, 0.2705, -0.4359, -2.5064, -3.1275, -3.8266, -10.1926, -14.0516, - 22.6352, 23.6582, 24.5865, 26.389, 26.4341, 23.2091, 17.7722, 13.535, 11.1208, 9.98, 8.2759, 4.0348, -1.7705, -7.8105, -12.5187, -14.9802, -16.3623, -17.382, -17.7578, -17.649, -15.5778, -12.8018, -11.4459, -14.3128, -16.352, -15.2082, -10.9596, -5.2865, -3.4553, 7.6752, 3.5999, 2.0739, 1.1336, -0.6895, -1.5345, -2.458, -2.0781, -1.8815, -2.5118, -3.3292, -17.5176, - 1.875, 1.8662, 1.4311, 0.9127, -0.1302, -0.376, -0.5434, -0.222, 1.2349, 3.6442, 6.7696, 8.9037, 8.5438, 6.152, 3.7222, 3.0903, 4.4232, 5.4581, 6.2833, 3.7218, -0.7522, -4.4112, -6.2164, -5.4842, -3.9166, -5.963, -10.1542, -15.3434, -14.5193, 13.3682, 11.1151, 8.2449, 5.7945, 3.1501, -1.3709, -6.5216, -8.303, -8.2964, -7.6878, -9.493, -25.2906, - 23.8996, 24.1043, 23.8658, 23.668, 21.5342, 15.4333, 6.3905, -1.1158, -4.6322, -5.8867, -6.7301, -7.6112, -8.9183, -10.1939, -10.8837, -8.9691, -3.9727, 3.1911, 5.9335, 0.9841, -5.6662, -8.2167, -5.1918, -3.2488, -11.7754, -15.7999, -16.0905, -9.046, -5.0555, 9.193, 1.3362, -0.8279, -1.4971, -1.9949, -1.9954, -1.0397, -0.8391, 0.6715, 0.815, -3.8216, -17.2628, - 2.1343, 3.1072, 3.1035, 2.4651, 1.077, 2.5793, 2.6348, 1.2152, -0.5649, -2.3867, -0.692, 0.8781, 1.3547, -0.8951, -2.8053, -3.6858, -2.1707, 1.958, 5.8746, 8.3664, 5.4534, -0.2992, -2.5199, -5.0547, -5.4956, -3.579, -4.0494, -3.2599, -4.7435, 6.3175, 4.364, 4.2936, 4.0751, 4.2436, 2.1309, -2.1883, -4.5757, -4.9307, -4.577, -9.1531, -11.6403, - 24.1543, 25.338, 25.2642, 24.289, 21.5268, 15.8776, 8.7349, 1.8963, -3.3513, -6.9022, -9.3648, -10.8355, -12.1831, -12.5211, -12.8565, -12.9812, -11.8854, -11.1641, -9.286, -5.4976, -0.9263, 3.4028, 4.724, 3.7754, 2.3125, -4.4255, -11.3777, -13.5943, -12.1432, 6.6341, 8.4368, 8.7627, 5.8486, 0.7153, -3.2965, -5.0124, -5.0678, -5.2114, -4.9009, -6.9086, -15.732, - 33.3595, 30.8257, 27.394, 23.1538, 18.548, 12.9357, 7.6481, 4.1721, 3.2632, 3.436, 3.9739, 4.0188, 3.3042, 2.799, 2.1257, 0.5313, -1.9459, -5.6161, -9.5935, -12.9587, -14.8978, -16.0532, -16.3206, -16.6767, -16.1054, -16.6153, -17.9698, -18.6045, -18.1317, 1.5134, 0.826, -0.0981, -0.1095, -0.5148, -0.5502, -0.3922, -0.2658, -0.1093, 0.4252, -0.7246, -17.8748, - 1.6216, 0.9985, 0.7656, 2.7126, 3.5846, 4.9869, 4.3162, 4.0409, 2.9716, 0.7825, 0.4168, 0.2302, -0.1647, -1.1633, -1.3128, -0.8806, -0.1106, -0.3406, -2.2081, -3.7852, -4.1417, -2.9134, -2.1959, -1.8077, -1.5502, -2.2082, -1.4934, -0.695, -0.4569, -7.0535, -3.1321, 1.0676, 0.9741, 1.5466, 3.3522, 3.6041, 3.9392, 1.3441, 1.8148, -7.4571, 2.7151, - 15.5981, 19.5861, 21.1052, 20.7702, 17.9972, 13.4362, 8.4295, 3.6958, -0.0748, -3.8419, -6.8494, -8.7952, -9.5977, -10.9677, -13.2231, -11.6825, -9.656, -6.9659, -3.1059, 0.6508, -2.2959, -4.9921, -6.595, -5.9531, -3.291, -4.7702, -3.987, -1.794, -2.8308, -2.5, -4.6538, -0.7258, 4.733, 8.3235, 5.3781, -0.4169, -0.0664, 0.8379, -2.0639, -8.8455, -9.7704, - 23.7863, 25.9404, 25.3891, 21.9998, 16.2579, 9.6322, 3.4737, -1.7621, -6.1163, -9.2774, -11.9071, -13.8355, -14.8079, -15.2219, -15.496, -14.785, -13.1085, -11.2726, -7.3218, -0.9826, 6.1996, 7.861, 5.9579, 4.5346, 0.9527, -4.262, -5.857, -3.1595, -2.8119, 8.3142, 3.663, 2.1376, 0.017, -1.3069, -1.1574, -2.2597, -2.0274, -1.1056, -1.2385, -5.0363, -15.6945, - 20.3765, 22.4983, 23.2522, 22.4935, 18.6192, 11.9388, 4.7215, -2.2228, -6.9248, -8.7614, -9.4361, -10.4167, -12.0447, -14.3511, -15.7581, -15.0919, -13.4051, -11.6659, -8.9412, -4.6688, 1.6099, 5.0989, 2.6335, 0.0407, 0.1956, 0.6445, -1.3875, -1.9917, 2.9449, 22.4551, 18.5214, 5.2727, 6.1503, -0.1446, -8.9143, -8.7222, -9.1792, -9.3487, -7.5459, -8.5445, -16.1222, - 11.1076, 12.0485, 11.055, 10.5716, 11.0874, 11.6622, 9.9206, 4.9761, 0.3715, -2.6436, -4.8249, -9.221, -10.4786, -11.6233, -11.899, -10.3869, -9.3054, -5.4126, -0.0922, 1.7786, 1.9733, 2.3237, 2.4041, 2.1518, -0.8245, -3.1849, -3.9744, -5.1713, -4.3894, 1.391, -2.4885, -4.1076, -3.8565, -1.6768, 1.3241, 2.8087, 3.8092, 4.3728, 3.2455, -4.8218, -10.0894, - -0.2633, -1.4544, -2.4182, -3.0882, -3.5531, -4.3925, -6.6002, -8.5372, -9.6704, -9.8444, -10.3936, -9.9956, -8.9278, -7.5639, -5.9124, -1.9933, 2.8919, 6.3172, 5.944, 4.7295, 5.0606, 5.2459, 8.2338, 8.7234, 10.0863, 10.2509, 9.9392, 9.0613, 8.1243, 1.1238, 0.9922, 1.1101, 1.8146, 2.6706, 2.2247, 1.2363, 1.1432, -0.1842, -0.9655, -11.166, 5.3441, - 6.9294, 5.0117, 2.6132, 2.2629, 4.5422, 9.5764, 14.7837, 15.8748, 11.9468, 7.4679, 4.5656, 4.3597, 5.8184, 8.6426, 5.8541, -0.7924, -5.2311, -8.036, -9.7347, -8.9, -8.2834, -6.3029, -5.072, -7.3093, -8.1284, -8.3417, -7.7152, -10.4763, -15.926, 4.7158, 2.3141, 1.3121, 1.3526, 1.5962, -0.3417, -1.386, -1.6767, -1.776, -1.6516, -4.4588, -23.6471, - 20.5611, 21.499, 21.6805, 21.4105, 19.9564, 16.4129, 11.009, 4.5495, -0.7043, -3.4671, -4.6121, -5.3523, -6.5924, -7.7881, -8.2287, -7.0226, -4.0117, -0.4161, 1.788, 1.3595, -1.3403, -3.8721, -3.965, -4.9622, -8.7031, -14.8711, -18.9891, -20.1269, -15.2011, 9.5765, 9.609, 6.3797, 4.6167, -0.3327, -3.7082, -4.7974, -5.1837, -5.3397, -4.8761, -5.9441, -20.3305, - 28.9011, 29.1365, 27.4009, 24.4914, 20.2583, 14.7607, 8.7681, 4.0956, 2.2405, 2.3157, 3.7552, 5.6036, 6.0319, 3.0401, -2.3373, -6.5825, -9.1181, -11.519, -13.0607, -13.4398, -13.0287, -11.6613, -11.3947, -12.1649, -13.2592, -14.7276, -15.9052, -16.4327, -16.1678, 0.805, 0.5113, 0.4244, -0.0076, -0.2346, -0.4785, -0.2332, -0.0629, -0.0095, 0.3865, -1.101, -17.2993, - 14.0295, 13.9502, 13.6228, 13.9615, 14.5159, 15.7344, 16.5458, 16.6583, 15.876, 14.9767, 14.5095, 14.6169, 14.1664, 10.4532, 3.0906, -3.2947, -6.9042, -10.1425, -12.3464, -13.3132, -12.9262, -11.8067, -11.4974, -15.4253, -20.2544, -22.9691, -22.5572, -21.639, -21.6312, 2.018, 1.7654, 2.894, 1.2851, 1.2694, -0.7044, -1.7554, -1.1719, -1.4637, -0.7534, -3.3831, -24.9877, - 14.3136, 12.8038, 10.76, 9.9164, 8.0164, 4.8641, 0.3656, -1.398, -2.3438, -1.8387, -0.9641, -0.4343, -1.8428, -3.9974, -5.5735, -6.9534, -5.2614, -1.8837, -0.6653, -2.2186, -4.1385, -7.9205, -4.8743, -0.0041, -1.6958, -8.8891, -5.9515, 2.5199, 5.289, -0.4214, 3.3144, 7.7656, 5.2578, 2.3868, 4.6757, -4.9484, 1.0462, -11.2993, 2.2105, -9.9881, -1.011, - 15.2498, 16.8589, 17.4454, 17.3595, 15.7318, 12.0402, 6.8196, 1.9584, -1.895, -4.1206, -5.7554, -6.5663, -7.4096, -8.0543, -8.0905, -5.7704, -1.8905, 1.4927, 2.8765, 0.693, -2.5985, -3.9517, -2.8026, -3.1264, -6.0718, -8.7896, -10.874, -11.1991, -9.5592, 1.025, 2.5513, 3.7885, 4.2634, 3.9729, 3.4142, 0.3627, -0.0631, -2.7607, -5.0823, -11.4719, -15.3324, - 19.7099, 20.3722, 20.4412, 20.5912, 20.9609, 21.5266, 21.3284, 19.9806, 17.9191, 15.7219, 13.9555, 12.9719, 11.7125, 7.8879, 1.8651, -4.0484, -8.384, -12.3338, -16.2678, -19.1476, -20.5188, -20.7942, -19.7332, -19.5087, -20.0131, -21.1706, -22.0267, -21.828, -21.17, 2.6261, 1.4238, 0.5675, 0.1586, -0.3335, -0.753, -0.695, -0.815, -0.6504, -0.3559, -1.1732, -23.1129, - 1.8825, 1.5975, 0.765, 0.8382, 1.097, 2.3121, 1.7334, 1.3645, 1.6653, 2.5832, 3.6249, 3.8831, 3.7892, 3.6596, 2.8817, 2.2713, 1.6918, 1.3161, 0.6652, 0.0342, -2.3559, -3.5644, -4.4403, -3.4709, -4.1781, -4.9507, -5.6105, -5.7659, -5.319, -4.6785, -6.2814, -4.417, -3.7355, -2.9146, -0.606, 2.7131, 5.1159, 5.7786, 5.8363, 3.1891, -2.7682, - 20.9204, 18.3266, 13.9646, 10.345, 7.1213, 4.7949, 2.3975, 0.3252, -0.8377, -1.2032, -1.3516, -1.2322, -1.3903, -2.0806, -3.2115, -3.8099, -3.7972, -3.8008, -4.4221, -4.5737, -4.8822, -4.8118, -5.0104, -5.0121, -4.8009, -5.1006, -5.4825, -5.7785, -5.6058, 0.0304, 0.0212, -0.8099, -1.099, -0.8995, -1.1798, -0.0605, 0.4825, 1.2857, 1.8683, 0.3606, -7.2005, - 5.2951, 4.6853, 3.2703, 1.4395, -0.0679, -1.5464, -4.0205, -5.271, -6.2684, -7.4709, -7.5305, -6.6769, -5.9752, -5.0052, -2.1987, 1.0365, 4.3659, 5.4876, 4.1372, 2.9011, 2.0765, 1.4275, 2.262, 2.497, 2.1857, 1.8463, 1.4213, 2.718, 2.9788, 2.6542, 4.1837, 4.7936, 4.0109, 4.2119, 2.0348, 0.3166, -0.4254, -3.181, -4.8204, -13.7789, -1.2474, - 10.5896, 10.0518, 9.5208, 11.5878, 14.9277, 14.1122, 8.4894, 2.1708, -2.5335, -5.3221, -7.6712, -9.9945, -11.5742, -11.8957, -12.0296, -10.9304, -8.1129, -3.4826, 2.2855, 6.7275, 2.7163, 2.8417, 3.8437, 1.4929, -1.9462, -3.7791, -2.6804, -3.2326, -6.1727, 14.4024, 9.7441, 3.2594, -2.4965, -1.6315, -2.624, -3.3409, -3.9874, -3.0303, -4.0633, -6.2319, -23.1513, - 12.3877, 13.4337, 14.0526, 15.3719, 16.723, 17.0301, 15.6932, 13.1714, 10.9923, 10.12, 9.9867, 8.1477, 4.6596, 0.522, -3.1428, -6.2242, -8.4106, -10.536, -11.526, -13.2012, -11.1252, -8.8838, -9.7283, -14.6481, -19.0045, -16.0374, -8.1446, -9.6615, -12.0177, -3.6514, -5.1768, -3.3816, -0.8285, 1.8774, 4.0666, 6.6919, 6.7739, 0.8553, -0.399, -6.8277, -19.582, - 7.513, 6.3917, 4.409, 3.2713, 2.4681, 1.4505, -0.7914, -2.2729, -2.7937, -1.4184, 0.5941, 1.7683, 1.7245, 2.1691, 0.8665, 0.4093, 0.8033, 3.3147, 3.5683, -0.9897, -3.9384, -5.0587, -4.1462, -2.0529, -1.2512, -5.3164, -7.9226, -1.6494, -1.1198, 3.1545, 4.178, 6.4164, 4.4137, 1.438, 1.5613, -8.5713, -1.5266, -2.1776, 0.8939, -9.7803, -10.1082, - -0.4172, 3.9814, -2.5335, 4.7982, 6.2404, 9.5386, 1.728, -2.6347, 7.9832, -10.0263, -1.023, 2.1623, 7.0028, 7.7748, 15.0971, 5.6506, 5.2734, 4.3666, -5.3182, -6.5883, -8.8498, 1.1908, 5.523, -1.1525, -3.9009, -23.1871, 0.2212, -1.9086, -20.9924, 7.1776, 8.9477, 9.4213, 0.6845, 6.7206, 6.8189, 0.9603, -10.6166, 0.5146, -13.1811, -17.4476, -7.6137, - 23.378, 25.0892, 26.2191, 26.9457, 24.6201, 18.5566, 11.6556, 4.9788, 0.6249, -3.74, -8.5904, -12.3926, -14.727, -15.9297, -15.762, -14.5514, -11.9079, -8.2268, -0.1798, 5.9532, 4.5772, 3.1484, 0.2938, -5.5237, -12.1896, -14.8172, -14.8798, -12.4827, -10.1404, 3.2764, -1.6281, -2.1589, -1.373, -0.4182, 0.5715, -0.2811, 1.7069, 1.5263, 1.5414, -2.7632, -16.8809, - 26.2968, 26.9773, 27.1574, 27.9417, 26.5696, 21.5857, 14.8761, 8.6361, 4.1683, 0.7533, -1.9295, -2.5208, -0.0812, 2.225, 0.9523, -3.4957, -8.2811, -11.7647, -14.3663, -15.2907, -14.5936, -12.5687, -12.9612, -14.8338, -16.5565, -16.2573, -15.0745, -13.883, -13.6813, 1.4448, -0.0533, -0.092, -0.0314, -0.2973, 0.5069, -0.2172, -0.1011, -0.0306, -0.0946, -1.0343, -16.8789, - 15.2599, 15.8558, 16.5112, 17.1923, 16.9184, 12.7155, 6.7767, 1.6437, -3.4349, -7.8714, -10.5492, -12.4016, -14.2321, -14.946, -15.0099, -14.2604, -12.3944, -9.913, -6.0566, 3.4214, 4.0393, 0.985, 0.9812, 5.2322, 5.1852, 2.0753, 2.8816, 0.5603, -7.1654, 13.9261, 10.8083, 1.8284, -2.6412, -3.5133, -2.9693, -2.93, -3.3031, -3.3193, -3.2617, -4.6248, -21.7463, - 17.6998, 15.3407, 11.6586, 7.2522, 2.903, 1.127, 0.287, 0.3993, 0.1515, 0.9131, 1.2039, 0.835, 0.617, -0.2241, -0.4502, -0.7194, -0.2872, -1.3096, -2.7798, -3.9323, -4.0148, -5.4557, -5.6772, -5.5259, -5.6333, -6.0967, -5.8797, -6.4353, -5.9666, -4.2226, -4.1479, -4.5146, -4.3292, -2.7654, -0.8517, 1.0845, 2.937, 4.9613, 6.0166, 5.832, -4.0046, - 6.7958, 6.618, 6.8562, 7.7048, 9.32, 10.2947, 9.2183, 6.4762, 2.7485, -0.8988, -3.443, -4.619, -6.3031, -8.1363, -8.6511, -7.2066, -4.4822, -1.4434, 2.6598, 5.1827, 2.6866, -0.9832, -2.3089, -1.3324, -0.7075, -3.4975, -7.3602, -8.3172, -6.8713, 15.6013, 14.5952, 12.4864, 10.1694, 6.7654, -5.1118, -14.7309, -11.9476, -9.2847, -6.6284, -11.9143, -21.6331, - 14.4296, 12.7223, 10.1123, 8.5522, 7.7405, 6.5977, 2.6762, -1.5488, -4.129, -3.7931, -3.089, -3.1619, -4.0464, -5.1734, -7.7679, -6.3552, -4.2463, 2.5055, 5.5392, 0.2036, -3.7031, -5.8323, -6.0258, -1.1405, -6.8812, -8.2643, -6.4325, 2.2624, 8.249, -1.6654, -1.1619, -3.519, -1.9517, -1.3057, -0.412, 0.2731, 3.0941, 3.3892, 6.7202, -3.4609, 4.9976, - 16.2171, 16.8083, 17.6167, 19.1924, 18.7528, 14.2594, 8.5818, 3.6957, -0.9158, -4.4517, -7.0958, -9.391, -11.6987, -13.394, -14.5794, -13.1362, -10.8013, -7.497, -2.2178, 3.955, 3.3524, 1.1405, 1.732, 1.1123, -4.7613, -8.88, -8.5945, -6.1985, -2.8033, 13.6191, 7.9112, 3.4818, -0.7153, -0.3308, -2.3878, -3.9144, -3.8872, -3.3753, -4.2532, -6.1481, -19.8313, - 6.8744, 6.6595, 5.9608, 5.627, 4.3932, 3.6619, 1.6033, 0.6207, 0.2849, 0.0399, 0.6193, -0.4371, -1.6617, -0.9777, 1.0971, 4.1974, 5.9086, 2.26, -0.0342, 1.3932, -0.7669, -2.8459, -3.327, -4.4869, -4.5589, -4.9693, -7.563, -7.8037, -11.7691, 6.8143, 4.0009, -0.8944, -7.1111, -6.4611, -4.2217, -1.7229, 0.436, 2.1972, 3.2561, 3.7068, -18.5017, - 18.3619, 17.7217, 16.1766, 13.4866, 10.6915, 10.2793, 11.8384, 14.1579, 15.8226, 15.6994, 14.1178, 12.1825, 10.7237, 10.1085, 8.7558, 5.2488, -0.0978, -5.2425, -10.2876, -14.5133, -15.8759, -16.5173, -16.7647, -16.0517, -18.5506, -21.537, -23.2401, -23.8593, -22.8353, 1.5487, 0.0279, -0.5628, -0.2643, 0.4887, -0.1023, -0.4874, 0.2721, 0.8224, -0.165, -1.5779, -24.7124, - 31.7198, 31.7692, 29.2043, 25.0452, 19.3123, 12.8393, 5.9234, 0.3241, -2.4789, -4.4056, -7.0192, -8.8068, -10.3571, -11.5877, -12.2897, -12.495, -12.4338, -12.1031, -11.1686, -9.2498, -5.8575, -2.3369, -1.375, -2.0352, -2.1517, -3.404, -5.9186, -8.2233, -10.44, -0.0554, -0.5312, 0.1527, 0.4184, 0.6585, 0.9224, 0.6649, 0.9519, 0.5466, -0.5067, -3.222, -11.4604, - 20.9886, 21.1123, 20.4027, 20.0167, 19.1884, 16.5783, 12.5867, 8.3317, 4.5773, 1.2778, -1.2341, -2.6474, -2.9142, -1.9783, -0.0434, 0.4668, -1.7813, -4.6738, -7.2502, -9.3057, -10.6229, -10.4876, -10.2177, -11.841, -13.179, -14.6712, -15.1393, -14.287, -13.2531, -3.396, -1.5619, 2.3074, 5.7136, 6.3342, 5.5398, 2.4437, 0.2877, -1.8718, -4.5073, -11.2895, -13.3591, - 19.3924, 20.6124, 21.6255, 22.8929, 23.6118, 22.1117, 17.5653, 12.1779, 8.8663, 7.6147, 7.1982, 7.2343, 9.0939, 9.9573, 8.6027, 6.9323, 4.6278, -0.1742, -9.4767, -17.6803, -21.359, -22.4801, -22.5914, -22.5224, -22.4181, -22.3005, -22.8483, -23.1612, -23.1052, 0.6133, 0.2252, -0.4348, -0.4131, -0.5289, -0.397, -0.218, 0.1438, 0.5713, 0.4924, -0.0541, -22.3321, - -5.4361, -5.853, -6.336, -5.5397, -4.6575, -4.7263, -5.3668, -5.7909, -7.2619, -6.2038, -4.8838, -2.3553, -0.0793, 2.8083, 6.1069, 7.9082, 8.9577, 8.4116, 6.9427, 5.3831, 4.8464, 3.2166, 2.969, 3.6037, 2.4221, 1.8058, 0.2551, -0.2588, -0.888, 1.1827, 1.8083, 1.5989, 1.9336, 1.4331, 1.415, 1.02, 0.1423, -1.1623, -0.54, -8.8315, -3.2727, - 15.8074, 16.7591, 16.8279, 14.8127, 12.3398, 10.0795, 6.3564, 1.5357, -1.2393, -3.3949, -5.2006, -6.9275, -7.1545, -7.4402, -8.2594, -9.4265, -11.1999, -12.9999, -8.0859, -4.8163, -2.9284, 1.356, 0.0774, -2.3044, -1.8591, 0.1665, -4.2809, -4.0953, 5.4946, 9.8215, 5.0171, 7.0888, 8.4199, 6.4234, 3.6409, 10.6458, 9.4642, -18.581, -21.0542, -20.8865, -9.8207, - 16.5885, 17.1406, 17.0874, 16.5509, 14.5628, 11.8287, 11.686, 12.5074, 11.7212, 10.7081, 10.1468, 9.1212, 8.375, 5.9474, 2.4174, 0.3172, -1.3076, -2.387, -7.4556, -13.1264, -14.3324, -15.1303, -14.9156, -14.1134, -15.0136, -16.5819, -19.31, -21.7927, -21.2401, -7.0652, -6.6847, -6.5388, -5.2451, -2.6953, 0.0429, 2.8899, 5.3552, 6.884, 7.0718, 5.9852, -18.2709, - 5.7159, 5.5464, 5.7456, 6.9034, 7.0731, 7.8586, 8.0236, 8.6981, 9.1036, 9.353, 10.1684, 9.7683, 7.9546, 5.4206, 1.7391, -0.2107, -1.2165, -2.1493, -3.9988, -5.8835, -7.1432, -9.2187, -9.9765, -11.168, -10.8259, -10.9835, -11.5153, -12.5521, -12.2304, 0.1902, 0.2673, 0.6601, -0.0091, -0.1874, -0.6461, -0.5035, -1.0433, 0.8599, 2.7028, -2.2908, -14.5718, - 17.6557, 17.3889, 17.6615, 17.9794, 16.5379, 12.1975, 5.9007, 0.5883, -3.1335, -4.8335, -5.4254, -6.2659, -6.3932, -5.9023, -4.4098, -0.6232, 2.7006, 4.3695, 3.8488, 2.2808, 0.7423, -2.7461, -8.2729, -11.5807, -12.4732, -11.8352, -10.1651, -11.6722, -14.1196, 8.4864, 3.3593, 0.136, -1.6129, -1.5632, -1.3569, -1.625, -0.1613, -1.1646, -1.4389, -3.0589, -22.3338, - -10.394, -11.3059, -10.7072, -9.0929, -7.9625, -7.9528, -9.4227, -10.3318, -10.941, -11.1389, -11.6416, -11.7743, -11.8888, -11.1901, -10.5924, -9.486, -5.0151, 0.7991, 6.1915, 8.4506, 7.592, 12.1623, 17.6583, 20.5566, 20.2652, 20.369, 19.7694, 19.3174, 17.7068, 3.6441, 3.32, 3.1784, 2.3126, 2.6626, 2.7456, 1.7616, 0.1272, -1.6565, -3.6722, -14.4236, 11.3192, - -5.28, -6.7018, -5.8538, -2.9829, -0.9541, -0.9051, -2.3575, -3.5615, -3.7286, -3.675, -3.1606, -4.9611, -3.9368, -5.758, -6.751, -8.289, -7.8523, -5.0164, -1.2817, -1.0886, 3.4595, 6.5066, 6.9768, 10.1455, 9.1411, 11.6105, 10.998, 12.7941, 12.4636, -8.2776, -14.0532, -15.1503, -7.3901, -2.1067, 2.8745, 5.7677, 7.7844, 9.1465, 10.3125, 11.0923, 19.6399, - 29.3262, 30.3667, 30.846, 31.0752, 29.3541, 25.4538, 21.7947, 19.7689, 18.2651, 13.3813, 5.5283, -2.7838, -9.2904, -12.5752, -14.327, -15.2147, -15.6347, -15.958, -16.2781, -16.2588, -15.7969, -15.4712, -15.0026, -15.2417, -15.4496, -14.8024, -15.4856, -15.3255, -14.2641, 0.8519, 0.0729, -0.0994, -0.0081, -0.3526, -0.2653, 0.2798, -0.1248, -0.0021, 0.1016, -0.4538, -15.6262, - 15.4867, 33.4494, 31.067, 16.7893, 6.4957, 16.0571, 16.9999, 3.5875, -1.1144, 4.8625, -0.6863, -3.8211, -1.9744, -8.9072, -8.5418, -10.0978, -9.2052, -7.2961, -7.0614, -7.4703, -6.4488, -9.4828, -7.1526, -6.4892, -6.7913, -8.1872, -9.9015, -12.0879, -12.078, 0.2229, 0.6948, 1.138, 0.0739, -0.1888, -0.1421, 0.1878, 0.2524, -0.6463, 0.3346, -1.9272, -10.914, - 5.6609, 8.4186, 9.2335, 8.5627, 6.3863, 5.2965, 4.7202, 4.121, 2.247, 0.4513, -1.5117, -3.6436, -5.3381, -8.3221, -7.4711, -7.9576, -7.8478, -7.1587, -4.1684, -2.5146, -2.1257, -2.2843, -1.1957, -1.5497, 0.8946, 0.9399, 1.4159, 1.7779, 2.9627, -5.4497, -6.1886, -3.2681, -2.133, -0.0404, 3.3281, 4.7853, 6.276, 5.5714, 2.7564, -5.6374, 7.7525, - 8.2746, 28.7187, 36.6976, 28.2924, 10.6085, 7.9432, 11.522, 11.0743, -0.8646, -3.5525, 2.5564, -2.1952, -6.5887, -4.6155, -7.3323, -7.9392, -7.8581, -8.4524, -7.5176, -8.1708, -7.7429, -8.5235, -8.284, -8.3037, -8.0554, -8.4741, -9.7485, -10.9377, -10.531, 0.614, 0.5808, 0.566, -0.0413, 0.0489, -0.0922, -0.0506, -0.0413, -0.202, -0.1189, -1.2632, -9.9199, - 11.0404, 11.4527, 12.0166, 13.1928, 15.2678, 14.9233, 9.1277, 2.3164, -2.7085, -5.3527, -7.7675, -9.0506, -9.7011, -10.3636, -8.8246, -5.5374, -1.0381, 4.5069, 6.0732, 3.0152, -2.7476, -2.7839, 0.0922, -1.8194, -6.8672, -9.4573, -9.4575, -5.7898, -3.7583, 10.8326, 2.8363, 2.0266, -5.3026, -6.6996, -2.9341, 1.7162, 6.9334, 1.7529, -2.8185, -8.3432, -20.4214, - 12.4387, 12.5027, 11.9274, 11.7982, 12.5741, 13.7391, 15.0701, 16.2946, 15.8718, 14.4312, 13.1234, 12.3489, 12.0782, 10.4253, 5.1065, -2.4414, -7.7163, -11.2866, -14.5564, -17.0603, -18.3751, -18.6502, -16.8442, -12.5688, -10.3598, -13.7062, -17.0023, -16.5492, -12.6137, 10.1763, 4.1712, 1.7946, 2.0076, 0.9052, -2.1595, -3.3835, -3.6172, -3.1645, -2.457, -4.273, -25.1913, - 23.6574, 23.796, 23.2767, 22.058, 20.0235, 16.6036, 11.9504, 7.3306, 3.6864, 1.7264, 0.9711, 0.7044, 1.071, 2.2585, 2.9655, 1.1649, -2.95, -7.6177, -11.4979, -13.5632, -15.3135, -16.4809, -16.207, -14.4023, -12.2974, -13.2762, -14.7359, -14.053, -10.8494, 8.8738, 6.6767, 4.8152, 2.7736, 0.0848, -2.4935, -3.4294, -4.0796, -4.0216, -3.7791, -5.4208, -19.2524, - 24.5799, 26.6882, 26.121, 23.6936, 19.3829, 13.8994, 6.2899, -0.2105, -4.0678, -6.8423, -8.5308, -9.6576, -10.9976, -12.5439, -13.932, -14.634, -14.8621, -14.4895, -13.6415, -12.6341, -10.1213, -4.554, 2.381, 5.5155, 4.5043, 4.6729, 1.554, -3.0055, -4.5582, 9.0263, 7.4732, 2.8612, 0.7241, -2.0536, -2.7733, -3.2059, -2.7189, -1.5532, -1.3601, -6.4198, -12.7575, - 7.6213, 8.4172, 8.9876, 10.4827, 12.2597, 15.2393, 17.4791, 18.0965, 15.0336, 10.0484, 5.7655, 2.6712, 0.2945, -1.4627, -1.971, -1.066, 1.16, 3.098, 1.1433, -4.1444, -8.297, -10.7541, -12.9877, -13.8031, -13.3996, -14.1617, -17.1393, -19.3636, -19.2476, 6.5354, 4.7648, 2.4269, 0.5232, -1.4945, -1.8813, -1.964, -1.7311, -1.653, -1.7955, -3.7308, -24.6643, - 13.5087, 13.5242, 12.7722, 11.8179, 11.1371, 10.7172, 10.5263, 11.1693, 11.9327, 11.741, 11.0557, 10.1108, 9.3715, 8.9355, 7.6249, 5.0772, 0.6107, -4.7883, -10.1816, -14.0801, -16.86, -18.9941, -20.5775, -19.3418, -15.1559, -10.7533, -12.0838, -14.9402, -13.8764, 11.0621, 7.6386, 4.9345, 4.3245, 3.4049, 0.2756, -3.5276, -6.3143, -7.1008, -6.6692, -8.0282, -24.5342, - 5.8438, 4.0764, 2.213, 1.0693, 0.2917, 0.2268, 0.3178, 0.0571, -0.122, -0.3299, -0.5484, -0.7221, -0.5026, -0.6535, -0.827, -0.8342, -1.183, -1.478, -1.3638, -1.1982, -1.1886, -1.0489, -0.664, -0.3974, -0.3609, -0.2538, 0.0154, -0.0545, -0.3807, -6.2176, -6.9549, -7.1781, -6.1296, -3.0722, 0.1331, 2.5736, 4.6982, 6.3374, 7.5607, 8.2495, 4.9755, - 0.8084, -0.3755, -1.4286, -0.3083, 0.4094, 0.3217, -1.3855, -3.3308, -4.9621, -6.0578, -7.2055, -8.3467, -8.9662, -9.8798, -8.8811, -7.5773, -5.2881, -2.3523, -0.7359, -2.064, -3.5321, 3.1588, 7.1883, 8.4965, 6.8253, 10.082, 14.4185, 16.1906, 14.7782, 2.7472, 3.178, 3.1134, 1.3703, 0.638, 0.5841, -0.0788, -0.4106, -0.5281, -1.2372, -9.3762, 9.7708, - 6.0347, 7.9306, 7.3087, 7.586, 8.0389, 6.2727, 1.7726, -1.951, -5.1723, -6.4728, -8.8919, -11.0154, -12.2556, -12.0671, -11.6595, -10.0395, -9.5655, -7.4114, -6.337, -7.0881, -7.2175, -0.9489, 2.422, 5.6816, 9.0238, 12.3465, 14.645, 14.7417, 14.2888, 2.3315, 1.6729, 1.0736, 1.3455, 0.9342, 1.8468, 0.4757, 0.6854, 0.1631, -0.4447, -10.0841, 9.3461, - 46.3168, 40.1857, 32.991, 25.4126, 18.0879, 11.1478, 4.737, -0.5137, -4.1524, -5.9367, -6.6956, -7.3488, -7.7462, -7.7468, -7.367, -6.8462, -6.4988, -7.1096, -8.3038, -9.1796, -8.8798, -8.2279, -8.5672, -9.495, -9.9228, -10.8964, -12.033, -12.6718, -12.7395, 0.0319, 0.3618, 0.0496, -0.3085, -0.3788, -0.2193, -0.1354, 0.1832, 0.4305, 0.6666, -0.6818, -13.371, - 11.6554, 10.6537, 9.3283, 9.0008, 10.6684, 13.7237, 16.302, 16.4883, 14.7382, 14.1678, 15.6614, 15.7353, 11.5669, 3.2738, -3.5965, -7.5962, -9.386, -11.3905, -12.5797, -12.1046, -11.4132, -10.6087, -9.1391, -12.6739, -14.9908, -15.8921, -11.8803, -12.2627, -17.4496, 3.468, 2.416, 1.3256, -0.8144, 0.1187, -0.6282, -0.9031, -0.1242, -0.905, -0.7535, -3.1999, -23.5324, - 12.1675, 12.7254, 13.2135, 14.1985, 15.5137, 16.9806, 16.3379, 13.0366, 8.366, 4.1955, 1.8866, 0.9609, 0.6094, 1.9753, 4.6385, 5.7596, 1.8347, -3.2804, -8.2098, -10.9983, -11.7998, -9.9732, -7.5792, -9.7338, -14.223, -17.7555, -18.8744, -17.4527, -14.5201, 8.5409, 5.7667, 4.956, 3.2564, 0.0271, -3.4128, -3.9385, -3.7737, -3.3325, -3.1328, -4.9568, -24.6241, - 9.112, 9.5643, 6.4962, 4.5254, 2.7757, 3.3307, 2.9999, 2.2174, 0.0229, -1.1179, 0.0764, 1.8616, 1.8079, -0.7101, -2.7389, -1.9102, -1.6224, -0.6549, 0.4717, -1.0044, -2.57, -7.5968, -14.5192, -14.0727, -5.93, 1.9148, 1.1204, 1.1277, 5.0226, -1.2631, 1.5663, 1.1958, 1.8714, 2.7703, 3.0917, 1.6973, 0.4038, -0.8317, -0.0474, -10.4545, 2.316, - 17.413, 18.4485, 19.823, 21.9391, 23.4308, 21.8507, 17.8532, 15.0747, 14.5401, 16.0453, 15.3416, 9.4703, 1.3616, -5.8986, -10.9098, -13.9034, -16.0964, -17.8246, -18.9143, -19.3551, -18.7588, -15.8862, -10.9884, -9.6544, -11.1991, -11.1716, -7.9982, -9.7072, -14.3257, 2.4025, 0.4919, 0.6628, -0.0126, 0.21, -0.6177, -0.6937, -0.1321, -0.2311, -0.0316, -2.0484, -21.0953, - 23.3464, 23.7587, 23.3198, 22.6359, 21.2675, 18.808, 15.3692, 11.2959, 7.5849, 4.5951, 2.3321, 0.6206, 0.1406, 1.2537, 2.7028, 2.3454, -1.0568, -5.4629, -9.1807, -11.1211, -11.633, -11.0576, -12.1808, -16.0691, -19.9208, -21.7935, -21.7452, -20.5008, -19.6545, 1.7728, 0.6055, 0.3687, 0.2898, 0.001, -0.3228, -0.5114, -0.4052, -0.3988, -0.136, -1.2637, -21.53, - -3.6391, -1.828, -2.2141, -2.8117, -2.3529, -0.6648, 0.7132, 2.6314, 3.0327, 3.8765, 4.7159, 6.0331, 6.984, 8.0909, 8.2184, 7.4433, 5.1418, 1.2303, -2.8864, -5.9181, -7.2732, -6.6797, -6.8357, -5.8669, -3.4482, -1.6078, -1.4231, -1.7328, -0.9288, 5.0214, 2.8439, 1.2445, 2.6452, 1.4416, 1.0353, -0.6548, -1.6658, 0.1662, -1.8989, -10.1785, -9.4487, - 28.59, 28.4485, 26.4597, 24.2982, 20.1833, 14.5406, 9.8101, 7.1801, 4.6176, 2.4138, 0.7001, -2.5862, -4.1909, -6.9729, -9.1018, -9.6205, -10.881, -11.6812, -10.5387, -10.434, -10.1742, -2.9512, -0.769, -7.7471, -11.9011, -14.8085, -14.9057, -14.9118, -13.0663, -2.8812, -2.2219, 3.1021, 7.3299, 4.0256, 5.0339, 1.4276, -2.9978, -1.6788, -3.5104, -7.6288, -12.833, - 17.2116, 17.2987, 16.9789, 18.3176, 20.751, 21.2753, 16.7522, 10.5133, 5.1142, 1.071, -1.6324, -4.2824, -5.9266, -7.1525, -5.1415, -0.8661, 3.3622, 1.3492, -3.6601, -7.4519, -9.7242, -8.3497, -5.386, -9.2331, -14.7369, -17.544, -17.6867, -15.904, -15.3169, 3.1075, 0.5173, 0.2992, -0.3406, -0.3, 0.1907, 0.194, 0.147, -0.5, -0.5615, -2.7535, -21.0709, - -3.1988, -4.0916, -5.2881, -5.3666, -5.4604, -5.669, -4.5675, -2.8244, -2.3646, -2.2769, -2.5378, -3.9469, -5.3482, -6.8601, -7.9884, -9.9236, -10.036, -5.5943, -1.7619, 2.5871, 4.2247, 6.6177, 8.6593, 10.3741, 10.0072, 13.2806, 13.3423, 12.7747, 13.2373, -10.5369, -13.7286, -14.4672, -7.5571, -1.4016, 2.5948, 5.6055, 7.446, 9.7262, 10.9589, 11.36, 20.0322, - 6.7783, 7.2343, 7.5331, 7.7761, 7.5074, 7.6964, 8.5725, 10.1613, 11.2545, 11.2432, 10.164, 8.2217, 5.7244, 3.0761, 1.5943, 2.29, 3.8412, 4.4389, 2.8003, -1.0955, -5.1726, -8.1891, -9.0934, -10.2132, -12.0854, -15.5298, -19.4471, -23.4981, -23.5838, 4.8567, 5.6416, 5.2432, 4.8449, 4.3077, 1.0329, -3.6054, -4.753, -5.3304, -4.6545, -7.5837, -26.896, - 8.4973, 9.579, 10.3958, 11.0142, 10.3482, 7.3892, 3.2338, 0.0093, -2.226, -2.9444, -3.5594, -3.3833, -3.1035, -3.2915, -3.1816, -1.7272, -1.5694, -1.309, -0.9698, -1.6827, -1.8826, -2.4935, -2.7299, -3.3411, -3.5987, -3.5349, -4.0664, -5.515, -4.3567, 3.6788, 2.2969, 2.2073, 2.205, 0.4179, -0.5426, -0.2219, -1.2268, -0.5609, -0.3836, -7.8702, -9.1107, - 17.6231, 17.9262, 18.5472, 20.0216, 20.3023, 17.2887, 12.1996, 7.3566, 4.7274, 3.6547, 4.0756, 5.881, 5.504, 1.8555, -4.482, -8.8437, -12.2983, -14.1074, -15.701, -15.7749, -15.0957, -12.7982, -7.9092, -8.3535, -11.5389, -11.4704, -7.3965, -5.1788, -6.015, 7.6735, 4.3849, 2.0779, 0.2256, -0.3031, -1.8488, -2.2661, -1.6177, -1.6092, -1.8719, -4.8451, -18.7476, - 12.8205, 14.2684, 15.5868, 16.7831, 17.8071, 18.5983, 18.8925, 18.18, 16.6295, 15.0296, 14.4114, 15.1384, 15.0538, 11.9286, 6.3973, 0.5192, -5.4829, -11.2613, -15.915, -19.5693, -22.3818, -23.8883, -24.2652, -24.1324, -21.657, -17.7761, -13.9964, -14.512, -13.2068, 12.3627, 9.0753, 5.2809, 2.4178, 1.3885, -1.6252, -3.9036, -5.7988, -6.3917, -5.9659, -6.8402, -21.2728, - 20.5006, 19.7859, 17.9876, 15.5578, 13.4254, 11.0431, 7.8434, 4.6796, 1.3542, -1.1988, -3.1242, -4.8289, -6.6124, -8.2071, -8.4241, -6.4513, -2.471, 0.8654, 0.4899, -3.0973, -6.3396, -7.6626, -7.3643, -5.6214, -3.7466, -5.6286, -8.3519, -11.4399, -12.9632, 6.3044, 6.3906, 3.8753, 0.4819, -1.9504, -2.646, -2.8098, -2.5547, -2.1552, -0.9715, -3.9646, -18.7636, - 4.95, 4.5607, 3.172, 2.1209, 0.349, -1.0626, -3.5132, -4.7851, -6.2971, -7.3286, -6.8625, -6.4027, -6.8983, -8.1437, -7.2159, -6.5081, -6.243, -5.2328, -3.1319, -1.8582, -0.2079, -0.4158, 1.4593, 6.3046, 10.2618, 11.6043, 10.489, 12.3236, 14.512, 7.5422, 7.3893, 6.7744, 4.7439, 3.7082, 1.4685, -2.1681, -2.4628, -6.2634, -5.1931, -15.539, 4.5238, - -7.141, -6.5576, -5.8532, -3.8568, -2.3391, -0.1389, -0.2988, -0.6152, -1.3909, -2.2598, -3.3096, -3.1888, -4.0487, -5.2444, -3.1046, -1.246, -0.3725, 1.6801, 1.7857, 1.4104, 0.4592, 2.1738, 4.1615, 5.0013, 6.4493, 6.5541, 6.132, 7.0552, 8.1032, 1.4568, 1.3024, 1.2345, 0.1461, -0.9716, 0.5343, 1.2784, 1.2357, -0.0481, 1.4818, -7.6504, 7.6553, - 2.7066, 2.4471, 1.1636, -0.0118, -0.1417, -0.8857, -3.1245, -4.8414, -6.9143, -7.764, -7.8038, -8.175, -9.1533, -9.9253, -10.0476, -7.9885, -5.4758, -0.6781, 2.4938, 3.5356, 5.3377, 10.4949, 13.4549, 12.5233, 9.2737, 7.1566, 5.3825, 4.3104, 2.6502, 1.7997, 1.0976, 0.5063, 0.9888, -0.0215, 0.8543, 0.3799, 1.5785, 0.4497, 0.6056, -8.2389, 0.7587, - 15.6038, 13.7257, 10.761, 8.3191, 6.7695, 6.1252, 5.5801, 6.3511, 7.5592, 7.0879, 5.0425, 2.3556, -0.6287, -2.0902, -1.8476, 1.1771, 5.218, 6.2633, 2.3465, -3.3395, -7.6295, -9.3311, -8.2251, -8.2814, -12.4973, -15.3911, -16.5987, -12.5111, -11.9141, 6.9187, 2.666, -0.5025, -2.5042, -3.4261, -3.1605, -1.1635, 1.6816, 1.5678, 1.5285, -3.6059, -21.5346, - 17.6619, 19.2955, 19.3999, 18.1758, 14.7064, 10.338, 5.4051, 0.8448, -2.7673, -5.8069, -8.5749, -10.4074, -11.7428, -13.3545, -14.7279, -15.0946, -14.9717, -14.1635, -12.0366, -9.1704, -5.5296, 1.7983, 8.7621, 10.6721, 9.0083, 6.252, 0.4593, -2.8951, -1.5362, 17.6102, 14.966, 11.8151, 6.0356, -2.6221, -10.0292, -11.4635, -9.0063, -4.3623, -3.1041, -9.8395, -15.6595, - 15.5037, 19.5752, 20.4189, 20.0547, 19.078, 16.8051, 14.6828, 13.1886, 10.1566, 3.7762, -1.134, -2.4739, -2.6979, -3.0349, -2.9212, -1.9641, -2.139, -4.2528, -5.4908, -5.4648, -2.3822, 1.3316, 0.1433, -8.8993, -18.5802, -23.4001, -24.1794, -22.3013, -23.3986, -0.5049, 2.4704, -2.1518, 0.1889, 8.8275, 7.0883, -1.7491, -2.8957, -3.5389, -3.58, -4.1549, -22.0424, - 22.2571, 23.2194, 23.3933, 23.2954, 22.5841, 20.0392, 15.7479, 11.5849, 8.77, 7.9103, 8.1392, 8.4163, 7.8831, 4.6926, -0.6859, -6.5062, -11.4228, -14.857, -17.9311, -19.2012, -19.8667, -20.3831, -19.2002, -15.1301, -11.0896, -11.7977, -14.413, -13.8987, -11.5493, 6.2481, 3.7903, 3.5761, 3.3013, -0.8054, -2.9745, -3.092, -3.5267, -2.491, -0.8625, -3.1636, -20.4183, - 9.8965, 9.6623, 8.329, 7.4658, 5.9247, 5.2895, 3.6738, 3.1009, 1.1973, -0.2394, 0.0744, -0.2488, -1.7673, -2.8794, -4.7879, -4.3784, -4.5885, -3.9967, -2.8591, -1.8656, -2.4063, -3.7709, -4.0771, -4.7175, -3.4331, -2.4372, -2.8219, -1.4458, -1.8932, 10.2458, 7.5639, 2.768, -9.9537, -3.5803, -1.8907, 0.2144, 0.7131, -0.3057, 0.1415, -5.9163, -11.5491, - 15.2412, 13.6648, 11.746, 11.4262, 12.464, 13.7257, 13.2285, 9.7944, 4.8606, 1.4831, -0.3682, -1.5802, -2.2343, -0.4399, 3.1592, 4.1899, -0.2603, -4.7397, -7.1446, -6.9457, -6.2341, -4.9071, -5.6164, -9.2612, -10.3548, -11.0953, -11.7433, -14.5977, -17.4609, 6.0283, 4.4046, 1.6269, -0.9371, -1.3835, -1.4248, -1.2533, -0.8106, -1.1426, -1.5174, -3.5905, -22.8504, - 10.9657, 10.2369, 8.6562, 6.5066, 5.4153, 4.3801, 3.7307, 2.9701, 3.0231, 3.962, 5.6227, 6.8354, 6.8607, 7.7333, 9.3711, 9.9052, 7.3966, 2.1887, -3.3161, -8.0311, -11.2107, -14.2345, -15.6874, -15.1299, -12.3738, -7.8431, -8.18, -10.637, -9.1168, 12.4941, 8.2803, 6.3797, 5.8238, 4.5394, 1.5368, -3.0238, -7.3749, -9.2127, -8.2187, -11.2239, -21.6561, - -1.8184, 2.4357, 5.5586, 6.9268, 6.9316, 6.6729, 5.8397, 5.6316, 4.9978, 3.5427, 2.8029, 2.1519, 1.5431, 0.6158, 0.3469, -0.516, -0.7873, -1.1647, -1.4196, -2.0573, -2.9471, -3.3866, -4.0651, -4.9043, -5.5018, -6.2789, -6.6909, -6.974, -7.4862, 0.3871, 0.0109, -0.4655, -0.7491, -0.9646, -0.7984, -0.5764, -0.2825, 0.8617, 1.8001, 0.7766, -8.6084, - 26.9824, 24.7422, 20.3883, 16.4687, 12.785, 8.7194, 4.1423, 1.1187, 0.4923, 1.295, 1.3167, -1.4325, -5.9855, -8.8959, -10.4619, -7.317, -2.2777, -2.0173, -3.2424, -2.3419, 0.2272, 1.3235, 1.3113, -5.1772, -12.0604, -15.3385, -15.4975, -15.3067, -13.9604, 3.9044, 0.9553, -0.105, -0.6867, -0.6467, -0.6666, -0.6241, -0.2928, -0.2046, -0.3915, -1.2419, -18.1483, - 17.4264, 17.8739, 18.0003, 19.1004, 20.7794, 20.0129, 15.2235, 9.3432, 5.1301, 3.7231, 2.3327, 1.2995, 1.8338, 4.1579, 7.7891, 10.5489, 10.0894, 9.6396, 4.8572, -4.9005, -15.2998, -20.5168, -23.2742, -23.953, -23.553, -22.129, -20.9638, -20.9315, -23.6395, 0.5658, 0.703, -0.1044, -0.6743, -0.6856, -0.735, -0.3973, 0.2942, 0.8749, 0.8195, -0.6608, -23.7592, - 11.0645, 10.901, 10.3455, 9.1551, 8.2401, 8.4773, 10.1716, 11.9195, 13.3973, 14.303, 14.0566, 13.0477, 11.7356, 9.5219, 7.83, 6.8087, 4.1182, -0.0372, -5.3649, -10.0547, -11.7439, -11.6649, -9.2813, -10.9454, -17.6273, -22.3121, -25.1873, -26.7049, -24.1694, 1.5313, -0.0939, -0.8118, -1.4436, 1.2266, 2.0907, 1.6972, 1.5907, -0.0005, -1.5372, -4.2496, -26.64, - 7.2201, 8.5015, 11.5206, 11.9242, 7.928, 3.2514, 0.5668, 0.7646, 1.2768, 1.9716, 3.4275, 3.9772, 2.0908, -0.4764, -2.4307, -1.9307, -0.2561, 1.3364, 0.1271, -2.1785, -4.4197, -5.1263, -6.374, -7.1163, -6.5611, -6.9173, -7.2567, -7.3864, -7.4542, 4.2215, 2.477, 1.4908, 0.9538, 0.278, -2.2207, -1.8537, -1.0888, -0.2235, 0.301, -4.3353, -11.8723, - 9.0358, 8.4259, 6.9459, 5.289, 4.7496, 6.3098, 9.2991, 13.3013, 15.9079, 15.539, 12.4964, 10.644, 9.7104, 9.7273, 8.5423, 3.6988, -2.7453, -8.0067, -11.5004, -13.3609, -14.6771, -13.2598, -11.305, -7.8208, -9.6607, -12.4588, -13.3476, -14.2784, -17.201, 1.6164, -1.2748, -1.3834, -0.4721, 0.9792, 1.3035, 2.0628, 2.1638, 0.6958, -0.7525, -4.9387, -23.7718, - 9.9565, 8.4628, 5.9625, 4.33, 2.9878, 3.3325, 3.411, 2.9855, 3.4264, 4.1032, 5.0697, 5.2769, 4.9009, 3.1001, 1.4373, -0.264, -1.896, -3.0143, -3.5656, -4.3939, -4.4464, -4.68, -5.3044, -6.0923, -5.6495, -6.5418, -7.2604, -8.5353, -7.0993, 1.0313, 1.1537, 1.5169, 0.9291, 0.7698, 0.3306, -0.6705, -0.6783, -0.1746, -0.1455, -4.0627, -9.9902, - 8.8206, 8.3311, 7.6969, 7.4773, 8.8832, 10.4436, 11.5039, 11.592, 9.4044, 5.3729, 2.7965, 1.9244, 0.844, 0.9343, 3.0627, 6.0994, 4.9989, -0.1279, -4.374, -6.7306, -7.8914, -6.9026, -5.4598, -8.4881, -12.8495, -16.5109, -17.0277, -14.2238, -9.5997, 15.6704, 10.6049, 9.844, 7.9028, 1.2354, -5.4491, -8.2374, -7.873, -7.9121, -7.2858, -8.5, -25.1681, - 28.034, 39.0868, 27.1887, 10.6361, 11.9455, 17.4394, 5.1212, 0.4727, 0.9604, -3.2583, -4.9003, -4.7245, -5.4538, -5.8998, -6.9947, -8.1227, -7.9559, -7.4467, -7.2961, -8.3144, -8.2615, -7.493, -6.2339, -6.9302, -6.771, -7.9933, -8.7878, -9.0802, -8.9666, 0.2832, 0.1164, 0.0146, 0.0499, -0.3417, -0.2028, 0.0292, -0.0176, 0.3328, 0.3092, -0.5731, -8.1546, - 13.2856, 13.6736, 13.8385, 14.28, 16.0154, 17.101, 16.3952, 13.2274, 9.9508, 8.9754, 9.0915, 10.0588, 8.791, 4.7013, -0.6836, -5.8039, -9.0189, -11.2256, -12.734, -12.444, -11.1395, -8.86, -7.8172, -12.7618, -18.4517, -20.0185, -18.1437, -12.9371, -7.3458, 15.2491, 9.0836, 7.8889, 2.1805, -3.0815, -5.2994, -5.5285, -5.1346, -5.1469, -4.4882, -5.723, -22.9727, - 13.2791, 36.046, 37.8677, 20.5156, 1.8115, 5.3912, 6.3369, -1.8419, -4.5104, -2.1483, -1.6031, -4.4187, -2.3622, -5.5552, -5.8859, -5.4153, -6.3869, -5.0848, -6.7256, -6.3113, -6.6644, -6.7067, -6.3379, -7.1113, -6.5094, -6.6908, -7.2644, -7.5701, -8.1431, 0.0788, -0.2498, 0.1241, -0.2112, 0.0855, -0.0675, 0.3132, 0.2893, 0.0553, 0.4068, -0.8245, -8.0347, - 7.9344, 6.5125, 3.7957, 3.5965, 6.7588, 12.694, 16.5097, 15.1028, 8.0593, 1.9598, -1.2146, -2.5926, -3.3772, -1.3486, 3.1728, 5.8914, 1.9225, -4.7654, -9.1401, -9.7051, -8.8318, -4.5607, -2.0376, -6.245, -8.0736, -8.0805, -5.2827, -6.9369, -11.718, 7.2258, 3.3652, 1.3586, -1.1046, 0.1664, -0.3445, -1.186, -1.2597, -1.3364, -2.1233, -4.7616, -22.1072, - 21.0378, 20.1437, 17.5203, 14.9435, 12.2481, 9.7639, 5.599, 1.4969, -1.3751, -3.1146, -3.919, -4.7517, -4.5423, -4.8816, -3.7907, -3.156, -2.1567, -0.7505, 0.1795, -0.4587, -2.1088, -3.6718, -5.6034, -7.3929, -8.2906, -9.552, -10.5896, -12.2849, -10.5415, -10.7549, -8.4301, -5.8121, -1.4994, 2.1408, 6.5891, 7.6924, 9.5764, 7.2596, 6.0779, -12.8398, -1.9629, - 10.7156, 9.5865, 7.6225, 6.9649, 7.0204, 6.9685, 5.2279, 3.7124, 2.4551, 1.6576, 1.9988, 3.6736, 4.0688, 1.8389, -1.2786, -2.3368, -0.4395, 1.0954, 3.9267, 3.5576, -1.4334, -6.6048, -9.776, -10.9008, -10.7709, -9.343, -10.2106, -9.759, -9.2378, 2.5943, 0.3766, -1.2329, -1.3523, -0.5254, -0.1927, -0.3463, -0.4383, 0.4702, 1.6846, -1.0379, -12.5558, - 24.058, 24.4379, 23.9745, 23.0444, 20.8465, 16.8979, 11.813, 7.1514, 3.368, 0.5959, -1.6053, -3.718, -5.6992, -7.0693, -6.5902, -3.1806, 1.0957, 2.1175, -1.3667, -5.8106, -7.7326, -6.3061, -6.7167, -11.4328, -17.2877, -19.9514, -19.4929, -18.2702, -17.1703, 1.8172, -0.1844, -0.2118, -0.1481, -0.6409, -0.6132, -0.3659, 0.2614, 0.3884, 0.5934, -0.896, -20.2332, - 19.4765, 20.139, 19.4603, 17.8222, 14.3397, 10.2003, 4.8581, -0.7364, -4.1646, -6.0966, -7.2789, -8.6454, -10.5389, -11.5302, -9.4624, -7.2408, -3.9524, -2.2222, -4.3879, -6.9029, -9.6078, -8.5139, -4.7196, -4.0072, -5.4425, -3.2306, 1.5193, 5.03, 5.8358, 16.6913, 13.78, 8.079, 4.9477, 0.9965, -4.7924, -7.0379, -7.8346, -6.8472, -7.4504, -10.5321, -11.1317, - 18.8135, 17.0829, 14.0965, 11.2672, 7.9285, 3.6326, 1.0246, 1.6274, 5.2441, 9.5096, 12.7855, 11.9891, 9.99, 8.1345, 7.9624, 7.3196, 8.1668, 7.4695, 3.3884, -5.5692, -13.6276, -18.3033, -22.2152, -22.3568, -16.4382, -9.9941, -12.6602, -22.2049, -24.0632, 8.03, 3.8659, 0.487, 0.5409, 0.8745, -0.3373, -1.1358, -2.3213, -3.1408, -3.2458, -3.6172, -26.2789, - -3.1846, -2.1461, -1.3884, -2.1168, -3.4536, -2.2068, -1.9328, -3.2837, -4.0724, -3.4451, -3.7064, -3.449, -5.5867, -7.8526, -8.9224, -10.9618, -10.414, -7.1444, -2.693, 1.689, 4.0196, 6.33, 6.7767, 10.2897, 10.6153, 11.6584, 13.3164, 12.9788, 10.2869, -8.7628, -13.5736, -14.7094, -7.7628, -1.0738, 2.3985, 3.7455, 7.9153, 9.1097, 10.9709, 11.7425, 19.7352, - 7.2036, 10.7988, 12.0301, 12.67, 13.909, 16.0294, 17.1742, 15.7924, 13.0556, 11.3737, 9.8981, 9.758, 10.055, 8.6757, 4.393, 0.9731, -2.5467, -5.8685, -7.3935, -7.9704, -6.2553, -7.4006, -13.7008, -21.8328, -25.5284, -24.9555, -17.274, -13.6475, -19.4157, -0.8046, -1.7221, 0.6106, 5.7975, 8.4089, 4.3333, -1.5262, -3.211, -3.4206, -4.0492, -4.4166, -25.3279, - 15.5255, 15.8281, 15.8649, 15.5717, 15.2512, 14.5946, 13.3549, 11.766, 10.2176, 8.4641, 7.0906, 6.0253, 5.1563, 4.7439, 4.4714, 3.6019, 0.9681, -2.7655, -6.2281, -9.0931, -11.2485, -13.4855, -15.2719, -16.2999, -17.251, -18.5206, -20.9106, -20.3915, -17.03, 7.378, 8.0307, 7.885, 7.6236, 5.1345, 1.2557, -3.7418, -6.8045, -8.6459, -8.6051, -9.5101, -22.9827, - 26.7348, 25.8552, 24.2536, 22.168, 19.2892, 15.067, 11.8818, 10.349, 10.6841, 11.6366, 12.5339, 12.4939, 11.6206, 9.1288, 4.6195, -0.5596, -5.8142, -10.4221, -14.3446, -17.6431, -19.9802, -21.2101, -22.1807, -21.9, -20.1487, -18.1387, -18.1454, -19.6347, -18.1941, 5.5041, 1.739, -0.1498, 0.3482, -0.1172, -0.967, -1.1456, -1.3452, -1.2394, -1.1363, -1.491, -21.2326, - 16.937, 16.4331, 14.8117, 13.584, 11.6269, 10.1575, 7.6822, 5.8162, 3.2955, 0.7078, -0.94, -2.4858, -3.3054, -4.9715, -5.404, -5.2105, -5.0578, -4.9223, -4.7159, -4.8903, -5.6388, -6.4062, -6.4586, -6.1964, -6.2205, -6.7543, -6.8166, -7.3223, -7.3349, -2.386, -1.5474, -0.5275, -0.2007, 0.87, 2.1354, 2.2672, 1.9194, 1.3885, 1.7931, -5.712, -7.0233, - 18.1837, 17.9105, 17.8502, 18.6001, 17.6649, 14.2299, 8.9135, 3.9793, 0.2595, -2.5341, -4.9127, -7.3705, -8.608, -10.0958, -9.6568, -8.5105, -6.6859, -1.7349, 3.3029, 3.1008, 0.1928, -0.6889, -2.6251, -6.034, -10.08, -12.4257, -10.0527, -7.9815, -14.1909, -0.8841, -2.2545, -2.1948, -0.1934, 1.8452, 1.587, 0.0467, 0.886, 1.7017, 2.0046, -2.5444, -18.3771, - 8.7179, 7.6147, 4.8975, 2.3828, 0.6009, 0.0492, 0.7007, 3.0024, 5.6126, 8.3164, 9.7108, 8.5643, 5.5842, 2.4437, 0.8618, 1.4883, 2.2665, 4.0837, 2.0839, -2.0359, -5.2412, -7.0937, -7.9286, -7.0963, -7.3007, -8.8955, -10.5985, -11.5307, -11.2613, 4.1091, 1.9827, 0.6908, -1.0075, -0.1945, -0.4742, -0.465, 0.2047, 0.0728, -0.1453, -4.7735, -16.8928, - 26.5577, 26.0733, 24.6549, 22.5723, 19.6449, 15.1079, 9.6936, 5.0965, 2.0343, 0.4929, -0.51, -0.7852, -0.6639, -1.6495, -4.5761, -7.3418, -9.5136, -10.9969, -12.3139, -12.694, -11.8566, -8.9787, -3.5622, 1.2887, 1.2102, -6.9904, -16.4084, -22.1027, -23.4832, -1.8879, 0.4885, 2.0094, -0.3326, -2.5347, -2.2882, -2.5729, -1.0909, 0.4876, 5.9716, 1.75, -19.5897, - 35.3242, 34.3711, 32.268, 29.4806, 25.8876, 21.5217, 17.0469, 12.7325, 8.2745, 3.717, -0.9461, -5.4939, -9.1998, -10.9322, -11.5916, -11.7605, -11.9938, -12.5431, -13.0923, -13.2971, -13.3947, -13.1377, -12.6123, -12.5003, -13.0962, -13.2815, -13.653, -14.1174, -13.9808, 0.5697, 0.0342, -0.0298, -0.0559, -0.1023, 0.0891, -0.0151, -0.1749, -0.0061, 0.0508, -0.3598, -13.8339, - 10.0703, 9.7251, 9.1433, 8.8944, 8.618, 8.9798, 8.7995, 7.6156, 6.5867, 6.0265, 5.9165, 4.8201, 3.4139, 2.636, 2.763, 3.8113, 3.0665, -0.158, -4.1852, -6.9646, -8.5002, -7.9262, -6.4833, -8.3135, -11.7801, -15.4185, -14.2921, -13.7284, -13.1365, 1.2932, 3.3955, 6.0907, 4.2778, 4.2667, 1.2855, -2.6003, -1.0796, -3.6746, -1.8634, -11.3916, -19.3656, - 23.3051, 24.1993, 23.9215, 23.6862, 23.1858, 21.5213, 18.1183, 13.5369, 8.5586, 3.3648, -2.7305, -8.4197, -12.7332, -14.9501, -15.7545, -16.1289, -14.8115, -12.7042, -10.1815, -6.8723, -4.1455, -3.1746, -3.2618, -1.9552, -2.0348, -7.0796, -14.1032, -17.0807, -15.2758, 6.0612, 4.0067, 0.6827, -0.7321, -1.3626, -1.3544, -1.3699, -1.2448, -1.0738, -0.8706, -2.7423, -19.3798, - 15.2674, 16.9866, 17.1277, 16.7099, 15.7308, 13.2318, 9.297, 4.9391, 0.8073, -2.3215, -4.1763, -5.419, -5.9209, -6.5426, -6.5178, -6.1109, -5.5659, -5.2001, -5.0134, -5.0517, -5.0368, -5.4231, -5.5314, -6.1976, -6.3703, -6.2889, -5.3624, -6.1367, -5.9099, -8.075, -7.3361, -4.4931, -3.1183, -2.2693, -0.445, 2.6648, 5.708, 7.3558, 8.7204, 1.2878, -1.4334, - 16.2521, 17.5727, 18.3716, 19.7318, 20.2218, 17.5895, 11.4595, 3.5824, -4.4163, -9.7646, -11.0944, -11.4598, -11.7153, -11.2087, -10.3436, -9.499, -7.9409, -5.7447, -1.7839, 3.2246, 5.5449, 5.2691, 3.5281, 1.4077, -0.7885, -7.8706, -13.4426, -14.7741, -11.9087, 8.1501, 11.0831, 13.4143, 10.3995, 2.9803, -3.3969, -7.2017, -8.5882, -8.4386, -8.7227, -9.6791, -18.788, - 13.3298, 15.6004, 16.9495, 17.9742, 18.6413, 18.0052, 15.3407, 10.8188, 5.7704, 1.6139, -1.5541, -4.5241, -6.85, -8.6887, -10.0915, -10.3456, -9.1067, -7.2349, -3.6908, -0.4604, -0.7272, -4.5894, -7.5233, -6.1277, -2.5212, -4.8361, -11.8782, -16.9767, -16.3176, 9.514, 11.6129, 9.6344, 6.8283, 1.8214, -5.0008, -6.9907, -7.4822, -6.786, -5.353, -7.7983, -21.5097, - 5.8509, 5.0121, 4.1809, 3.1146, 2.3783, 3.1729, 5.0219, 8.3707, 10.9759, 11.227, 8.3063, 4.3902, 0.4943, -2.3167, -1.645, 1.9935, 5.6473, 4.3761, -0.8021, -4.8923, -7.3829, -8.9257, -7.0734, -4.5608, -5.6127, -9.9029, -12.5815, -12.1258, -6.6911, 19.4769, 13.9666, 10.8452, 9.4207, 4.267, -4.7851, -10.4839, -11.6782, -11.7512, -9.0329, -10.245, -24.1213, - 21.8999, 23.2973, 23.7997, 23.4635, 22.0363, 18.0109, 11.7586, 5.0662, 0.6662, -2.2727, -5.6763, -8.5064, -10.4473, -10.5884, -9.8688, -7.3515, -1.6565, 4.9891, 8.0386, 5.1463, 1.6954, -0.6651, -6.4585, -12.0333, -17.064, -19.1042, -20.056, -19.6043, -18.5148, 1.3036, -0.0062, -0.2979, -0.3133, -0.533, -0.7489, -0.3368, 0.3007, 0.2781, 0.7521, -0.3986, -20.6963, - -10.8987, -3.8431, 0.8023, 3.7818, 5.0658, 6.8699, 5.8536, 5.2186, 3.8311, 2.242, 1.7635, 0.0185, -1.2264, -1.7443, -3.2128, -1.6985, -0.4682, -0.6943, 1.3731, 2.1612, 2.0833, 0.947, -0.8848, -2.3964, -2.7117, -2.4339, -2.8978, -3.2996, -3.6012, 2.7097, 2.9692, 3.1594, 3.0175, 3.5504, 2.5518, -0.2289, -2.095, -2.3143, -3.331, -9.9888, -7.1246, - 24.4808, 26.3759, 27.594, 28.3806, 27.5669, 22.5831, 15.7417, 10.5723, 9.0486, 9.8475, 11.5983, 11.3131, 7.1102, 0.2086, -7.1702, -11.973, -14.3609, -16.1449, -17.3317, -17.8091, -17.4066, -16.0482, -15.0664, -15.2895, -16.4422, -17.0076, -17.0725, -17.2911, -16.0079, 1.3349, -0.0323, -0.0023, -0.0696, -0.4582, -0.2103, -0.2903, -0.1486, -0.0517, 0.5839, -0.6555, -18.4443, - 17.9414, 16.0904, 14.3699, 13.3391, 11.1223, 8.3964, 4.984, 2.4988, 0.7921, 0.1608, -0.231, 0.1816, -0.4705, -2.1166, -2.9171, -3.7835, -3.0302, -2.2559, -1.96, -0.9583, -1.2307, -3.4055, -6.3253, -8.4085, -9.7194, -10.3891, -10.6675, -10.8207, -11.1873, 1.0986, 0.4777, -0.0911, -0.085, -0.2734, 0.014, -0.2098, 0.7129, 0.898, 1.8977, -4.4395, -12.1029, - 12.4723, 14.3737, 15.7331, 17.5345, 18.5865, 17.4102, 13.1675, 8.1222, 3.7914, 0.4168, -2.7856, -5.0694, -6.1658, -6.8186, -6.5122, -3.9192, 0.1995, 5.0703, 4.8669, 1.2909, -0.9029, -1.6452, -6.8885, -13.7427, -17.9265, -18.6395, -13.8409, -11.8927, -16.286, 1.0018, -0.413, 0.2921, 0.9706, 3.0372, 2.3311, -1.1419, -1.468, -0.837, -1.0945, -2.6785, -23.0503, - 16.1352, 15.6199, 13.6322, 10.9321, 8.0808, 7.3912, 8.2284, 10.3433, 11.9724, 11.5988, 9.3631, 5.6849, 2.7468, -0.1363, -1.7113, -0.5317, 2.3026, 3.9081, 0.3916, -4.3635, -7.2068, -8.5384, -8.455, -8.954, -13.2029, -18.1608, -21.6849, -22.2538, -23.132, 1.1059, 0.2225, -0.9789, -1.0458, -0.6792, -0.6786, -0.0893, 1.8547, 2.2928, 0.8548, -2.8591, -24.9911, - 28.0419, 26.8927, 23.9676, 20.3423, 17.0949, 14.1432, 11.117, 8.5048, 5.9497, 3.7523, 1.8284, -1.1682, -4.22, -7.3805, -9.6413, -9.8772, -7.8838, -5.3446, -3.541, -3.9253, -6.0372, -7.8179, -8.639, -8.2594, -11.0251, -14.9594, -17.1292, -17.6345, -17.1513, 2.0146, 1.0165, 0.2708, -0.3124, -0.5924, -0.7003, -0.5256, -0.1176, 0.1111, -0.074, -1.0907, -18.2597, - 30.4937, 29.9533, 27.013, 23.2537, 19.3056, 15.2225, 11.4303, 9.6244, 9.1658, 8.8058, 7.5946, 3.9214, -0.3706, -4.6724, -8.3883, -10.6272, -11.6333, -12.3129, -12.9451, -13.0994, -12.8851, -12.729, -13.3639, -13.9071, -13.6304, -13.0095, -13.0398, -14.2416, -14.9284, 0.6244, 0.4573, 0.2518, -0.4563, -0.2954, -0.1108, -0.0098, 0.1405, 0.0912, 0.3156, -1.0087, -16.5521, - 23.7058, 24.6386, 24.654, 23.9896, 22.7528, 20.4522, 16.9148, 13.0348, 9.6982, 7.0016, 4.5976, 2.122, -0.6149, -3.6746, -5.8863, -5.9902, -4.5281, -3.6266, -4.892, -9.1128, -13.5269, -16.4106, -17.2411, -16.4096, -15.1425, -15.8149, -18.5726, -21.0323, -21.086, 0.97, 2.5909, 2.5737, 1.8731, 0.5116, -0.3889, -0.5545, -1.3812, -1.8817, -1.7258, -2.5873, -20.1722, - 22.205, 22.3808, 20.3781, 16.4796, 12.6684, 8.8562, 3.8726, -0.891, -3.6288, -4.2849, -3.4387, -1.6917, 0.1253, 1.9297, 2.5614, 1.1487, -1.7631, -3.8451, -4.6916, -4.6895, -4.3072, -5.2689, -7.0584, -8.3927, -8.7357, -10.2762, -11.8104, -13.7994, -14.0324, 5.754, 5.5094, 3.1104, 0.8059, 0.0318, -1.6334, -2.2746, -2.0707, -2.1335, -1.8766, -5.2228, -18.1315, - 17.6753, 18.8195, 20.1357, 22.2056, 22.9569, 20.8704, 15.5249, 10.2701, 6.9749, 6.5302, 7.5814, 7.0271, 2.6959, -1.7891, -4.8427, -7.5373, -9.7567, -11.089, -11.6891, -11.88, -12.2196, -11.3183, -11.2853, -12.8185, -14.2184, -14.2772, -13.2856, -15.1315, -16.1298, 1.6839, 0.9589, 0.5363, 0.356, 0.0003, -0.3851, -0.4445, -0.1741, -0.4978, -0.0434, -1.9906, -19.7528, - 16.983, 17.0052, 16.9926, 18.4021, 19.9925, 19.1283, 15.4081, 10.3401, 5.5724, 1.5019, -1.4332, -3.0065, -3.3422, -1.3956, 2.0439, 4.2794, 1.1281, -3.7178, -7.4632, -8.5376, -7.6364, -6.3039, -11.6545, -18.3967, -21.4453, -20.788, -16.5366, -10.0359, -7.0843, 11.0713, 4.6537, 0.5072, -0.3393, -0.6602, 0.5953, -2.0626, -2.4851, -3.0603, -3.5773, -4.6428, -20.8691, - 17.7707, 19.5364, 20.6287, 20.9849, 20.093, 17.6674, 14.5484, 11.0817, 6.902, 2.2545, -2.3356, -5.7371, -8.9898, -12.8304, -15.5822, -17.0433, -18.8124, -19.7104, -19.4116, -18.1842, -15.3531, -8.7155, -0.1993, 4.7176, 5.4518, 4.7364, 1.7967, -2.2008, -3.0647, 15.041, 12.3154, 5.6659, 1.3689, -3.8672, -5.9083, -6.0931, -4.9235, -3.3736, -2.9423, -7.2832, -16.8582, - 9.1549, 8.6933, 7.899, 7.7096, 7.5098, 8.0171, 9.241, 10.6919, 12.1971, 13.4831, 13.6508, 14.1654, 13.7371, 10.9089, 4.6506, -2.3217, -5.6454, -8.0201, -9.9057, -10.0159, -10.6042, -10.3898, -8.1978, -9.743, -12.7378, -17.4512, -17.2848, -13.59, -15.8022, 0.6882, 4.3643, 6.04, 2.5052, 2.9297, 1.4706, -1.9898, -0.8867, -4.2772, -3.045, -7.7994, -22.2645, - -7.8843, -6.8506, -6.0261, -4.4439, -3.8369, -1.9649, 0.3352, 2.3185, 3.0465, 3.3257, 3.554, 4.668, 3.7349, 2.5291, 2.4128, 3.779, 4.5682, 5.6219, 5.4149, 4.7479, 2.2185, -0.8515, -1.7161, -2.4559, -2.0632, -2.2051, -3.7165, -3.1032, -5.1569, 8.135, 6.3528, 5.3232, 1.0605, 1.2735, 0.2509, -2.2104, -2.9957, -3.4893, -2.5108, -11.1898, -12.1806, - 19.3396, 19.941, 20.3727, 21.0809, 21.0327, 19.1352, 15.1028, 10.7594, 7.8609, 7.5499, 8.5005, 9.706, 9.1824, 5.3617, -1.3028, -5.6212, -8.2717, -9.5373, -9.7484, -8.8869, -7.1221, -9.045, -14.6697, -18.5948, -20.2891, -20.4076, -19.813, -20.1946, -21.4218, 1.2915, 0.6782, 0.3569, -0.0683, -0.483, -0.2926, -0.3937, 0.261, 0.1608, 0.1333, -1.644, -22.5256, - 2.7246, 2.5148, 1.4831, 1.8238, 1.6121, 2.4035, 2.7381, 2.9387, 2.1358, 2.0826, 2.3275, 2.3406, 1.9098, 0.1135, -0.7424, -0.9928, -0.9805, -0.2098, 0.5803, 0.3688, 0.0187, -1.6561, -1.4168, -1.4577, -1.3632, -2.614, -4.7663, -7.0691, -6.8479, 2.3665, 2.3301, 1.9626, 1.0968, 1.9491, 1.1267, -0.1355, -0.0256, -1.2772, -1.4379, -7.9556, -8.3907, - 4.529, 1.5249, 0.3659, 0.0056, 0.863, 3.3152, 1.1307, -3.3632, -4.3601, -3.7553, -5.0257, -5.6659, -5.3754, -4.9885, -4.3119, -4.9927, -6.0531, -10.2279, -4.3307, 2.1887, 3.8591, 8.8378, 4.5088, 3.9006, 4.9936, 11.1237, 3.014, -1.5171, 9.8068, 13.2445, 7.3306, 5.9252, 9.0687, 7.7216, 4.0675, 11.9777, 11.311, -23.2633, -23.8643, -23.5193, -4.4759, - 22.151, 23.1727, 23.3097, 23.0639, 21.6223, 18.4164, 13.8969, 8.9695, 4.5053, 1.2957, -1.3036, -3.3247, -5.1402, -7.1172, -8.6948, -7.8753, -4.6461, -1.4461, -1.0227, -4.3094, -8.8842, -11.9962, -11.9234, -9.0257, -6.5369, -10.3321, -16.4292, -19.9706, -20.425, 2.3851, 5.8201, 6.5059, 3.9876, 0.333, -2.1429, -2.898, -3.4857, -3.4682, -2.4183, -4.6186, -20.078, - 11.7456, 12.7989, 13.3162, 13.8312, 14.7779, 15.3799, 14.0233, 10.9089, 7.3194, 4.1768, 1.7992, 0.0512, -0.9458, -0.5202, 1.3786, 3.486, 2.0668, -2.392, -7.4022, -10.759, -12.9261, -14.3064, -12.7761, -8.6791, -8.3015, -10.8632, -13.2729, -14.2798, -9.6355, 15.8594, 13.6933, 9.1741, 8.4349, 3.8782, -4.9728, -8.7226, -9.3197, -9.3643, -8.7767, -9.8839, -22.469, - 22.5139, 20.9546, 19.1373, 16.905, 14.6133, 12.3135, 10.2395, 8.4844, 6.951, 5.0069, 2.4662, -0.438, -3.5684, -7.0424, -9.9771, -11.1936, -9.88, -6.3251, -3.0189, -1.9735, -4.9442, -9.7372, -12.9352, -11.8709, -6.8801, -5.688, -9.6188, -12.4995, -11.9948, 12.0588, 11.2938, 8.1711, 2.396, -3.1587, -5.3733, -5.898, -5.622, -4.8347, -3.2857, -5.7474, -21.5935, - 26.6734, 23.862, 18.347, 12.7193, 8.0473, 4.8602, 2.4155, 1.4627, 1.0558, 0.6193, 0.2671, -0.5986, -1.6798, -2.4678, -2.2065, -2.936, -2.8372, -4.0092, -4.438, -5.3046, -5.8491, -6.4148, -7.4157, -7.9456, -8.4776, -9.0352, -9.1998, -9.5061, -10.0078, 1.63, 1.341, 0.6385, 0.2013, -0.3629, -0.2927, -0.3661, -0.3133, -0.063, 0.4392, -2.852, -12.0787, - 9.0155, 7.9133, 6.4106, 6.4968, 8.6477, 11.6576, 14.8601, 16.0323, 14.2529, 11.8653, 10.9041, 9.9373, 7.2309, 2.3059, -4.1636, -8.0163, -9.7982, -12.7129, -15.1421, -15.4797, -14.8005, -12.834, -10.4715, -5.856, -5.3611, -5.0344, -3.584, -5.3517, -8.924, 11.043, 4.7986, 3.1188, -0.3636, -1.4561, -1.9319, -2.5464, -2.3041, -2.3666, -3.0258, -4.9659, -22.6702, - 9.0489, 10.4274, 10.5425, 10.8125, 12.0032, 13.7184, 13.0711, 9.6959, 5.4837, 1.6077, -1.9964, -4.4495, -7.8808, -10.2103, -11.6407, -11.4255, -9.7241, -7.5467, -3.5478, 1.8951, 3.5718, 1.5955, -0.5403, 0.5662, 0.2415, -4.3154, -9.5295, -11.0052, -10.4693, 11.1024, 7.2333, 6.1462, 4.3929, 0.7029, -2.0309, -3.7294, -5.1402, -4.8388, -4.6151, -9.2233, -21.2734, - 11.5593, 10.342, 8.917, 7.7962, 6.0867, 5.9638, 3.8519, 0.4188, -0.7715, -1.3184, -1.5894, -1.6173, -0.5956, 0.0397, 0.998, 0.672, -0.2103, -4.0838, 0.9485, 2.7667, 1.7723, -0.8231, -4.4419, -7.1686, -8.5571, -4.2281, -12.0695, -12.5608, -2.0974, 7.0256, 2.5786, 2.8194, 7.2989, 5.3493, 3.5256, 11.6032, 11.1767, -16.6084, -17.8153, -16.9535, -14.6567, - 24.2288, 25.1078, 25.3408, 25.2954, 24.689, 22.7229, 18.9908, 14.5853, 10.6023, 7.4918, 5.2132, 4.666, 5.1836, 5.0476, 2.8795, -1.3269, -6.117, -10.7585, -14.7563, -17.5071, -18.3274, -18.4398, -17.9983, -17.57, -18.5575, -19.775, -20.4184, -20.5476, -19.9453, 1.4677, 0.899, 0.5256, 0.5195, -0.193, -0.5086, -0.7678, -0.6113, -0.2499, -0.1187, -0.9625, -20.088, - 1.3606, 0.3524, -0.4981, -3.0376, -5.4591, -5.1861, -5.3381, -7.9395, -4.6276, -1.6746, -2.1073, -1.772, 2.3082, 5.262, 5.3649, 4.6501, 3.6803, -1.4394, 4.494, 9.4882, 7.6591, 6.7428, -0.6196, -2.1749, -1.2855, 2.9511, -4.6673, -9.5251, 3.038, 18.0806, 14.1151, 9.121, 5.7949, 2.4151, -7.5054, 6.895, -0.4827, -16.5385, -16.07, -15.8252, -15.5778, - 21.5243, 22.4067, 22.6543, 21.9383, 19.0581, 14.0232, 8.4188, 2.8494, -1.1924, -2.9917, -3.8222, -4.1823, -4.8633, -4.9565, -2.8338, 0.9516, 2.0941, -1.6445, -6.8552, -9.959, -11.1205, -11.0602, -8.6668, -7.9525, -10.6286, -14.095, -13.9349, -10.3116, -4.8478, 13.9994, 11.9398, 8.001, 4.2542, -0.6981, -4.9047, -6.1557, -6.5212, -6.7797, -5.8456, -7.2894, -17.9998, - 13.8275, 13.6751, 13.2793, 13.1536, 13.5104, 14.6497, 15.6909, 16.1684, 15.2109, 12.8857, 9.6156, 6.423, 4.2876, 3.2525, 3.1015, 2.9273, 0.8232, -3.76, -9.4442, -13.3046, -15.6203, -16.1398, -14.4329, -11.4384, -11.9914, -16.0394, -20.1422, -21.4553, -18.7137, 9.9896, 6.0754, 2.5716, 1.2147, -0.1252, -2.8394, -3.5768, -3.1998, -3.2277, -2.5626, -4.3197, -26.1243, - 1.0072, 1.0349, 0.4547, 2.0233, 3.1568, 3.6248, 2.6871, 2.1595, 0.3986, -1.1817, -0.8372, -0.4964, -1.131, -1.353, -1.2089, 0.5624, 1.6332, 2.6953, 2.6143, 2.1661, 1.0687, -0.5002, -1.863, -2.0422, -1.929, -2.0051, -4.7328, -5.7009, -2.3057, -9.2017, -9.126, -10.3545, -1.5749, 2.8548, 5.5584, 7.3199, 8.4704, 7.1113, 6.4743, -7.532, 8.8174, - 22.3237, 20.1229, 16.3186, 14.9885, 15.806, 14.2422, 9.0206, 4.5767, 2.3692, 1.2439, -0.3609, -2.4418, -4.3713, -8.0945, -10.811, -9.9282, -5.6299, 1.8658, 5.9594, 1.6554, -4.8836, -8.0129, -7.8686, -4.1518, -10.8846, -16.3956, -17.6436, -10.8807, -8.1336, 8.1699, 0.1374, -2.1155, -2.7808, -2.5717, -2.5099, -1.4743, 0.402, 2.8792, 2.7754, -2.9117, -19.9846, - 14.9448, 13.3235, 11.069, 7.797, 3.6467, 1.2905, -0.1418, 0.0865, 0.0848, 0.1249, -0.0042, -0.4006, -0.5457, -2.0216, -2.4005, -2.6631, -2.7574, -3.493, -3.6341, -4.853, -3.8008, -4.5467, -3.9983, -3.1834, -3.3005, -2.257, -2.3485, -2.8054, -3.2121, -8.3072, -10.2892, -11.0655, -7.2025, -2.5835, 1.3158, 3.9103, 6.1494, 8.7822, 9.4411, 9.849, 4.1623, - 17.4109, 16.3957, 12.7323, 9.0568, 6.0296, 4.0628, 1.3809, -1.0636, -2.5917, -3.1282, -2.4806, -2.6332, -2.6331, -3.0197, -3.1246, -3.2078, -3.2369, -3.3087, -3.5259, -3.6952, -3.2777, -3.5126, -3.3483, -4.6082, -4.5229, -3.9702, -2.8815, -2.2298, -1.0686, 10.2492, 8.7238, 6.5287, 4.1319, 1.3909, -1.3457, -3.1912, -4.083, -5.8573, -5.7467, -10.8007, -10.7504, - 3.681, 4.8086, 4.9739, 5.5677, 4.9032, 4.1256, 1.8122, 0.1556, -1.1456, -2.1369, -2.2315, -2.0785, -3.1848, -4.0677, -5.2026, -5.8769, -6.5043, -6.1685, -5.6023, -5.9105, -4.2511, -1.3453, 1.8335, 3.4033, 5.1448, 5.5509, 4.8678, 3.4921, 1.3864, 4.5899, 3.1561, 2.1086, 1.0104, -0.3847, -0.6586, -0.6429, -0.112, -0.4119, -0.3363, -8.3185, -3.2346, - 3.1333, 2.2434, 0.566, -0.1689, 0.6551, 3.137, 6.4778, 9.1712, 8.4572, 6.33, 4.6298, 2.8657, 0.1787, -1.1319, -0.2827, 2.3196, 5.5007, 6.1676, 2.4317, -1.1696, -3.2988, -3.3141, -2.9589, -3.536, -5.2348, -8.6527, -10.1506, -11.6535, -12.7119, 12.8762, 10.2239, 6.7637, 2.0074, -1.9484, -4.8866, -5.3018, -4.5051, -4.3255, -3.6989, -7.2049, -23.9005, - 8.622, 10.8825, 12.2872, 13.3601, 14.228, 15.3604, 14.9416, 12.814, 8.4375, 3.9118, -0.1235, -3.3572, -6.8491, -10.5514, -12.6045, -13.2373, -13.4285, -13.2888, -12.4858, -9.8652, -5.1267, 0.837, 1.7581, 3.1241, 4.135, -0.4102, -5.4532, -8.806, -9.1118, 14.9701, 12.4418, 7.1314, 0.5687, -6.407, -6.8941, -5.5568, -3.3084, -2.3663, -1.6449, -8.9346, -21.6106, - 19.1182, 16.6713, 12.8335, 8.8739, 6.1759, 6.223, 7.5297, 9.2506, 9.4142, 7.8053, 5.9066, 4.3378, 3.9155, 4.5696, 4.9822, 3.2409, -0.8415, -5.8082, -9.1525, -11.0999, -12.9425, -14.8404, -14.6104, -11.5397, -8.3035, -9.3615, -9.7422, -9.9642, -12.6415, 4.2777, 1.5675, 1.0684, 0.6135, 0.0628, -0.5807, -1.1085, -1.0788, -0.8209, -0.6136, -3.3875, -20.5875, - 0.8644, 0.924, 0.5001, 1.9751, 3.9631, 6.3687, 6.1077, 3.622, 0.7094, -1.0962, -1.8495, -2.7933, -4.0125, -4.8808, -2.1854, 1.6422, 4.3506, 5.1936, 3.1952, -0.0683, -2.2673, -2.2756, -2.5661, -3.5305, -3.3037, -2.7368, -2.4517, -1.7145, -1.6839, 4.7659, 4.9768, 3.8161, 1.7084, 0.2338, 0.0457, -0.5947, -0.8458, -1.4961, -2.2835, -10.3266, -8.0604, - 22.8493, 23.0279, 22.4564, 21.783, 19.763, 14.2941, 7.4867, 2.4477, 1.1542, 1.702, 2.145, 2.1381, 2.9526, 3.5821, 3.514, 2.5293, 1.8263, 1.6906, -0.1177, -4.358, -9.4178, -13.6122, -17.0109, -18.1586, -18.2289, -17.0887, -18.0638, -20.2393, -21.0462, 1.905, 0.4924, 0.1429, -0.1603, -0.2972, -0.2106, -0.5323, -0.0051, -0.0488, 0.0713, -1.3573, -21.7449, - -5.0691, 5.7916, 20.3977, 33.7608, 20.5478, 6.3862, -0.6167, 2.4285, 7.7738, 0.648, -5.4985, -5.1477, -2.1058, -9.1202, -9.7561, -5.6897, -8.4994, -6.6489, -4.049, -6.39, -1.1222, -4.7105, -1.2435, -3.1404, -0.467, -1.2691, -3.2353, -6.3597, -7.5957, 2.6335, 2.9453, 2.3526, 1.7483, 0.5793, -0.6841, -0.692, -0.588, -1.6805, -2.0348, -4.5797, -8.0873, - 27.8982, 26.1875, 22.3314, 17.8436, 13.657, 9.3782, 4.5001, 1.0587, -0.1319, 0.5334, 2.2176, 3.9007, 4.3904, 2.8784, -0.5056, -2.7187, -4.2442, -4.9618, -6.1501, -6.656, -6.3475, -6.6372, -7.4694, -9.822, -14.653, -16.2989, -16.6133, -16.9745, -16.5912, 1.5751, 0.2732, 0.392, -0.1605, -0.6644, -0.5397, -0.03, -0.1057, -0.0387, 0.4893, -1.1907, -17.7674, - 4.0687, 5.1941, 6.0984, 7.7169, 8.4142, 8.8229, 7.325, 5.7734, 4.1436, 2.4793, 2.4633, 2.0981, 1.079, 0.0726, -0.0934, -1.1969, -2.7251, -3.5007, -3.7768, -4.1983, -4.436, -4.9365, -5.3239, -6.0842, -6.5913, -6.0399, -5.6196, -5.4516, -5.7753, 2.3864, 4.1318, 4.1698, 4.0758, 2.9462, 1.5278, 0.0907, -0.4889, -3.3101, -2.5223, -13.0073, -9.7421, - -2.5217, 6.6906, 18.938, 32.5385, 26.0727, 10.4378, 1.8923, 3.892, 11.1274, 10.8157, 0.2901, -2.1358, 1.8304, 0.111, -6.1198, -3.9839, -1.5639, -5.813, -5.0685, -6.2978, -9.356, -8.6952, -9.9906, -9.6668, -9.281, -8.9004, -9.6041, -12.9599, -12.678, 1.0846, 1.273, 0.8512, 0.3292, 0.2685, 0.1416, -0.4299, -0.2512, -0.6945, -0.7869, -1.7857, -11.2964, - 9.0608, 8.3549, 5.9106, 3.0223, 1.5989, 1.4872, 0.5967, -0.7899, -2.0584, -2.6475, -1.994, -0.9341, -0.2649, 0.8782, 0.819, 0.7941, 0.2218, -0.275, -0.3771, -0.9402, -2.1665, -2.7001, -2.978, -2.6056, -1.981, -2.2466, -2.1946, -2.6591, -2.9316, 2.9882, 2.9231, 2.3934, 1.2468, 1.7808, 1.5958, 0.9538, 0.0307, -1.6679, -1.9384, -10.3063, -6.9292, - 25.3209, 26.4747, 25.0162, 21.0118, 15.7497, 9.7187, 3.2049, -2.7534, -7.5484, -11.3498, -13.8939, -15.3292, -16.7275, -17.7766, -18.3047, -18.0188, -16.5419, -14.814, -11.1748, -6.2506, 1.1228, 5.4465, 3.3274, 4.0262, 6.8686, 6.7842, 4.545, 4.7788, 7.0872, 14.4073, 8.6959, 4.9137, 0.7333, -0.0689, -3.2729, -3.9427, -4.6901, -3.7843, -4.7606, -8.2309, -11.1556, - 39.324, 35.158, 30.1649, 24.8807, 19.4559, 14.1503, 9.3376, 5.7395, 2.9171, 0.8743, -0.16, -1.561, -3.3663, -5.479, -7.0899, -8.1039, -8.6121, -9.3362, -10.6742, -11.7063, -11.8889, -11.631, -11.7325, -11.7388, -11.4894, -12.8703, -14.4784, -15.0647, -15.0195, 0.4215, 0.7196, 0.4543, 0.0332, -0.2347, -0.2869, -0.3136, -0.1185, -0.0711, 0.1485, -0.7523, -15.3163, - 4.1198, 2.4046, -0.9207, -3.0537, -4.9411, -4.5132, -4.0855, -3.8951, -3.8661, -1.0021, 0.5493, 0.6922, -0.1138, -0.3066, 0.1108, -0.0251, 0.8424, 2.6646, 9.217, 6.3754, 2.4274, 3.211, 3.9376, 2.5394, 1.3314, 0.0248, -3.5589, -5.2404, -4.9255, -3.5255, -3.1009, -3.7604, -3.47, -2.8733, -1.9992, 0.5113, 3.0512, 5.1249, 4.8231, 5.219, -1.6532, - 3.662, 2.9859, 3.004, 3.0506, 2.2625, 2.4007, 2.1773, 2.2676, 1.7231, 1.4288, 1.216, 0.5069, -0.1552, -0.1104, -0.1481, -0.3494, -0.2743, -0.5949, -0.9982, -1.2915, -1.7757, -1.8432, -2.05, -2.8592, -2.5411, -2.0302, -1.9641, -2.8754, -4.8244, 7.6823, 3.2328, -2.8255, -7.4261, -7.6683, -4.0922, -1.2719, 1.1834, 2.9852, 4.1242, 4.0762, -14.2392, - 12.2682, 12.4958, 10.637, 8.6802, 6.1895, 3.3521, 0.012, -3.1196, -5.8915, -7.9346, -8.4726, -9.2365, -10.2529, -11.6156, -12.3872, -11.4245, -9.0191, -6.8545, -3.2918, -0.0972, 1.404, 0.7813, 2.7012, 7.4433, 10.4513, 8.1526, 4.822, 3.6293, 6.5779, 3.5887, 2.5442, 4.8598, 3.9894, 2.1825, 1.899, -1.1549, -1.3419, -2.5535, -1.8075, -12.206, 0.8433, - 15.4243, 14.3712, 10.5979, 6.0053, 3.6236, 3.166, 2.6457, 3.0378, 3.3307, 2.9774, 1.6056, 0.6289, -1.2252, -2.5293, -2.5259, -3.3644, -3.2999, -2.9968, -4.1243, -3.1379, -4.5943, -5.1946, -6.5332, -5.4258, -4.3474, -2.458, -3.2897, -3.9496, -8.4184, 12.5953, 13.0978, 8.0807, 2.08, -3.4741, -5.6039, -6.0827, -5.2556, -5.1645, -4.3359, -5.937, -19.1939, - 12.6031, 11.514, 9.5918, 8.9721, 11.2278, 16.3861, 18.3055, 15.2493, 9.3533, 5.1262, 3.409, 2.8449, 4.219, 7.3448, 7.1824, 2.1285, -4.7265, -9.0679, -11.7653, -12.9187, -12.377, -9.886, -9.0188, -10.4117, -12.4113, -14.1603, -11.834, -11.7956, -15.0847, 1.6333, -0.1749, -0.124, -0.2004, 0.4426, 1.4656, 0.2738, 0.7777, -0.0047, -0.2122, -3.8769, -21.6008, - 15.7554, 16.8394, 17.1615, 17.2884, 17.403, 17.2657, 15.8921, 13.5652, 10.3715, 6.8406, 3.5351, 0.5517, -2.1632, -4.146, -4.2553, -2.4789, 0.2986, 0.953, -2.3858, -7.5703, -11.2229, -12.115, -10.5591, -8.6344, -11.4398, -17.0807, -20.6444, -20.9882, -18.0373, 8.3336, 5.5551, 2.471, 1.8701, 0.0297, -2.8652, -3.472, -2.9808, -2.8086, -2.1702, -3.9628, -24.3752, - 27.9412, 27.2421, 22.9503, 16.5254, 9.6885, 4.5967, 0.6997, -3.4665, -6.6867, -7.8148, -9.1495, -10.061, -11.4055, -11.7392, -11.8813, -11.3038, -9.8795, -7.5418, -2.587, 4.6153, 3.8429, 0.5688, -2.8955, -0.2237, 1.9886, 1.7001, 1.8074, -3.1272, -14.4038, -3.8881, -2.8329, -1.6443, 1.8671, 3.1413, 1.8729, 0.1398, 2.8367, 0.3757, 1.7313, -3.5996, -13.385, - 9.1831, 9.4128, 8.6344, 9.5797, 10.1063, 10.3011, 8.2263, 4.5395, 1.0974, -1.7556, -3.6105, -4.8265, -5.4684, -5.8802, -4.5931, -3.1888, -0.4075, 0.3805, -0.9063, -3.405, -4.9101, -5.9677, -5.8009, -5.0301, -5.4306, -6.4969, -3.081, -2.1162, 1.4143, -5.1355, -2.3496, -0.042, 3.9648, 4.8248, 5.4912, 2.045, -0.1732, 0.0828, 0.7502, -9.4585, 1.8224, - 4.4588, 4.2389, 3.3197, 3.133, 4.0702, 5.7759, 7.7099, 9.0876, 11.1245, 12.651, 12.5527, 11.9764, 10.9501, 11.0837, 11.4805, 9.3639, 4.7521, -0.5944, -4.4402, -7.1309, -8.3207, -8.3043, -9.481, -12.7554, -15.5784, -17.8883, -18.8492, -17.9501, -16.4359, 5.8124, 3.4155, 3.383, 3.3147, 1.6832, -0.537, -2.7626, -3.1367, -2.1515, -2.797, -6.2238, -24.3008, - 11.3859, 11.294, 10.4575, 10.5198, 11.2222, 12.7124, 13.5178, 13.4129, 10.5164, 5.9792, 2.3897, -0.1138, -1.9321, -3.1972, -3.142, -0.7773, 2.4075, 3.1154, -1.3266, -7.1228, -10.5939, -11.1307, -9.876, -7.3492, -6.6029, -10.8829, -13.8968, -15.3987, -15.5878, 8.9895, 6.7302, 4.3952, 0.2012, -4.6771, -5.1924, -3.7684, -1.4949, -0.4984, -0.067, -4.6178, -24.6307, - 18.9158, 19.7886, 19.7526, 19.1358, 18.1177, 16.4664, 14.0122, 10.8818, 7.5481, 4.5462, 1.5367, -0.9445, -2.7129, -3.9653, -5.5016, -7.5102, -9.0864, -9.0742, -9.0767, -10.2313, -9.4105, -5.3027, -1.9268, -1.391, -3.5726, -10.4635, -17.0711, -22.1873, -21.273, 5.4315, 7.4977, 3.9877, 0.2418, -1.1556, -2.9339, -2.8218, -3.2557, -2.2125, -0.425, -4.3542, -22.8328, - 28.1526, 28.1117, 24.7174, 18.3759, 10.6219, 2.4804, -4.1378, -7.4788, -9.3437, -10.849, -12.5556, -14.1384, -15.1322, -15.0182, -14.614, -14.5304, -14.2862, -13.9234, -11.7259, -8.2717, -1.7653, 6.2167, 7.1311, 7.8239, 8.7319, 8.2789, 7.6074, 7.1853, 2.3358, 3.7971, -0.5557, -1.9296, -2.2395, -1.0081, 1.6256, 1.1217, 0.2632, 1.4311, 1.1466, -3.6525, -7.2238, - -1.9896, -1.5846, -1.1882, -1.5851, -4.5749, -6.7021, -4.694, -3.5898, -2.8275, -4.0926, -5.1006, -4.1183, -4.9559, -5.2145, -6.9309, -7.9964, -7.8043, -5.1453, -1.8211, -0.6339, 3.5622, 6.5139, 7.8184, 9.0948, 11.5264, 11.4601, 10.4022, 10.4535, 11.7185, -9.6611, -13.7925, -13.7882, -6.6479, -2.4133, 2.1029, 4.5429, 8.2581, 9.4338, 9.8315, 12.1338, 18.9608, - 29.0162, 27.1449, 23.5731, 20.2452, 17.511, 14.7918, 12.0251, 9.1599, 6.0664, 3.8158, 0.8485, -1.4407, -3.2916, -4.0983, -4.397, -4.3435, -5.263, -7.1322, -9.5766, -10.6471, -11.1044, -11.3079, -11.3508, -11.6324, -11.9889, -12.9298, -13.9392, -14.6929, -15.0614, 0.4975, 0.3394, -0.0827, -0.4799, -0.4676, -0.3009, 0.0384, 0.1607, 0.4964, 0.5891, -0.7905, -17.1701, - 8.4713, 7.5563, 6.3767, 6.1947, 6.0689, 6.3779, 4.9213, 3.5036, 2.5255, 3.0901, 4.1254, 6.3043, 8.3238, 9.4464, 9.317, 6.566, 2.2721, -0.8163, -4.484, -7.0774, -8.1734, -9.5687, -10.5231, -10.5767, -10.2078, -10.4331, -9.7161, -9.9741, -9.8905, 3.2535, 1.2694, 0.1807, -0.6651, -1.0284, -0.5802, 0.6037, 0.3968, 0.3279, 1.2972, -5.0555, -13.8489, - 8.3726, 8.7329, 8.5586, 8.5134, 8.7002, 9.8765, 11.6676, 13.2674, 13.5452, 12.0942, 10.0691, 7.6401, 4.866, 2.868, 2.7547, 3.9563, 4.9074, 3.0494, -2.0753, -8.4742, -13.384, -15.824, -17.8178, -16.4808, -10.6391, -9.9987, -14.2994, -17.06, -17.3864, 10.6631, 9.4847, 5.5492, 1.305, -3.107, -4.8971, -4.8382, -4.5691, -2.3532, -2.1714, -5.066, -26.2617, - 19.0595, 18.3832, 15.9029, 12.653, 10.0486, 8.156, 6.2927, 4.3924, 2.8935, 2.2985, 1.7559, 0.7258, -0.7293, -3.1142, -3.953, -4.8127, -4.7935, -5.2925, -6.6673, -7.3117, -8.4213, -8.8278, -9.24, -8.0623, -7.4252, -7.1006, -5.9527, -5.3881, -5.4699, 10.5325, 9.0445, 4.9973, 0.1331, -3.2907, -4.1662, -4.1984, -3.1495, -2.7117, -2.1058, -5.085, -17.2009, - 52.2372, 44.3578, 36.5608, 28.9176, 21.5115, 14.4397, 7.8187, 1.8482, -3.252, -7.1355, -9.4888, -11.6207, -13.4063, -14.7098, -15.4667, -15.9341, -16.1369, -16.0366, -15.3538, -13.7588, -10.6277, -7.7814, -6.1144, -5.0819, -4.0409, -3.936, -4.9781, -5.9562, -6.8747, 3.7022, 1.466, 0.4111, 0.137, -0.3542, -0.1182, -0.112, -0.5566, -0.7197, -0.2876, -3.568, -11.6568, - 18.5298, 18.5912, 18.1337, 17.486, 16.8943, 16.3587, 16.0594, 15.4122, 13.4402, 10.4256, 7.3367, 4.652, 2.5497, 1.6836, 2.6521, 4.205, 4.7439, 1.2637, -5.1624, -11.963, -16.836, -19.069, -18.8984, -17.4618, -16.1587, -17.2824, -20.6892, -23.3973, -23.4997, 3.2388, 3.5069, 1.9919, 0.0447, -0.5876, -0.7419, -0.9096, -1.1897, -1.237, -1.2266, -2.8899, -24.3059, - 14.2216, 15.1107, 15.4424, 14.9543, 12.7476, 8.8407, 3.8349, -1.225, -5.2339, -7.6335, -9.5259, -10.5663, -11.348, -10.711, -9.3182, -6.6849, -3.0625, 0.0032, 2.0229, 0.5151, -0.5651, -0.4048, 0.5255, -0.7083, -2.6478, -3.1557, -2.5836, -2.0039, -0.8405, 3.7139, 1.8811, 2.0645, 2.2576, 1.8972, 2.7893, 0.9195, -0.0976, -1.1232, -2.5385, -11.7639, -9.8006, - 27.6767, 26.3073, 23.1657, 18.9402, 14.2694, 9.6933, 4.9155, 1.3429, -1.0736, -2.1647, -2.4791, -3.7245, -5.2366, -7.8495, -9.6757, -10.3534, -9.9166, -8.3142, -6.6376, -3.953, -4.0753, -4.3093, -3.5187, -3.901, -5.2935, -7.7755, -9.0692, -8.273, -8.7168, 5.8445, 3.8687, 2.4179, 0.0649, -0.8031, -1.3677, -1.4763, -1.6757, -1.5716, -1.57, -3.7316, -15.598, - 7.4225, 6.3812, 4.2676, 2.9128, 1.8225, 2.633, 3.2026, 3.4899, 4.3798, 5.0782, 4.0849, 3.8689, 3.6113, 4.5683, 5.8542, 4.5947, 0.2532, -3.2821, -6.4774, -7.465, -7.9861, -7.4196, -6.0622, -5.4357, -5.0398, -5.4225, -4.6902, -3.4197, -5.7249, 10.3884, 8.1074, 7.3911, 3.6782, 0.8704, -2.0339, -3.8319, -4.9728, -4.3725, -5.2689, -9.9555, -15.7366, - 17.5213, 20.443, 21.919, 22.2701, 21.3171, 18.9687, 14.6306, 9.0767, 3.5198, -0.8778, -4.3458, -6.9865, -9.548, -11.142, -12.3506, -13.4175, -13.6194, -14.0717, -13.7947, -12.3999, -9.1656, -3.9176, -0.2193, -1.5457, -4.1719, -2.7467, -2.4932, -5.3995, -7.4528, 7.1434, 7.0238, 7.2627, 6.798, 5.2527, 1.0139, -3.4114, -6.523, -7.8521, -6.8412, -9.8668, -15.3691, - 23.8876, 22.5517, 20.2028, 18.0102, 15.3733, 12.6542, 9.101, 5.3097, 1.3988, -1.1554, -2.5833, -3.9593, -5.0937, -4.9268, -4.3385, -4.0356, -4.4731, -5.2411, -5.8573, -6.0798, -6.4837, -6.6593, -7.293, -7.7787, -8.422, -9.5983, -10.7066, -11.6689, -12.1349, 1.8395, 1.5059, 0.7809, 0.7822, 0.3229, 0.0573, -0.1778, 0.0288, -0.5032, -0.4347, -4.2018, -15.0448, - 13.9062, 13.1904, 12.429, 13.6194, 15.2333, 15.2034, 12.0474, 7.3708, 3.009, -0.0473, -1.0773, -1.4032, 0.0264, 2.8347, 3.5334, 0.2574, -4.8606, -8.499, -10.3461, -10.2062, -9.1724, -6.5298, -5.6943, -9.5272, -11.1766, -10.7021, -7.7752, -7.2838, -8.3598, 9.0389, 8.3462, 5.7086, 0.2994, -0.2224, -1.6621, -3.2697, -3.1981, -3.4783, -4.1342, -7.4282, -20.6505, - -0.1956, 12.8891, 25.959, 29.2372, 11.9659, 3.6545, 1.9759, 11.5615, 8.2666, -2.4823, 2.1238, 10.6975, 3.0083, -5.1305, 2.5407, -3.5456, -5.3431, 1.0377, -4.8653, -4.1095, -8.9872, -10.0069, -10.663, -10.8153, -10.0788, -9.9282, -11.0117, -13.4387, -14.316, 0.9647, 0.5126, 1.4038, 0.7744, 0.0988, -0.4577, -0.1039, -0.1823, -0.4661, -0.3208, -2.2235, -13.2318, - 25.9629, 27.1177, 27.848, 28.135, 27.2179, 24.6308, 20.83, 16.5838, 12.6784, 8.6134, 4.1825, 0.4406, -2.7846, -5.2345, -6.7282, -7.9739, -9.5601, -11.2902, -13.5857, -15.5917, -16.3027, -16.6819, -16.4912, -15.9456, -15.775, -16.835, -17.5886, -18.0613, -17.8109, 1.0702, 0.8294, 0.1689, 0.5813, -0.0091, 0.1284, -0.3058, -0.7039, -0.552, -0.2521, -0.9553, -17.8347, - 28.3817, 26.3242, 22.4988, 18.1016, 13.8114, 9.4292, 5.2503, 1.4133, -1.6541, -2.4802, -2.4725, -3.0842, -3.4601, -3.8401, -3.4525, -2.3946, -2.6693, -1.6244, -0.8581, 0.9642, 0.0547, -3.6789, -8.6927, -12.3146, -14.172, -14.6132, -14.5422, -14.6064, -15.6195, 1.2358, -0.1021, -0.4812, -0.1634, -0.1968, 0.6015, -0.1027, -0.0844, -0.0133, 0.251, -0.9445, -16.6483, - 14.8559, 14.2769, 13.3144, 13.4636, 14.521, 15.1971, 13.3361, 10.1599, 6.7908, 5.5468, 6.0091, 7.5005, 8.7471, 7.3385, 1.8761, -2.5391, -5.4603, -7.6289, -8.7381, -8.1046, -7.0789, -6.1772, -7.8795, -11.4586, -14.0732, -15.6269, -16.7078, -19.9955, -21.4649, 1.8161, 1.8568, 0.796, 0.3224, 0.4841, -0.7227, -0.9581, 0.3734, -0.1277, -0.0325, -3.8078, -24.4035, - 5.4535, 4.296, 0.7585, -1.6071, -2.7931, -2.2472, -2.8178, -3.1626, -2.5628, -1.3912, -0.366, 1.6795, 4.203, 6.4164, 7.0674, 7.5227, 7.0796, 4.9076, 4.3543, 2.9287, -0.1541, -2.4266, -4.0876, -4.9944, -4.2282, -4.2178, -6.484, -7.8159, -5.3111, 9.2246, 8.2902, 7.184, 5.6544, 4.317, 2.1934, 1.5215, -2.4633, -8.8855, -12.3322, -14.7039, -13.9292, - 9.098, 9.2332, 9.0227, 7.89, 7.2001, 9.306, 12.746, 15.4304, 15.0788, 11.5632, 8.2993, 7.2707, 8.2449, 10.9986, 9.5064, 3.6569, -2.3332, -7.1688, -8.9599, -9.8137, -8.1433, -4.6312, -6.5469, -11.9994, -16.1445, -17.53, -16.182, -19.8515, -25.2405, 0.4708, -0.3092, 0.2379, 1.4804, -0.1717, -0.9282, -1.5045, 0.4378, 1.4582, 0.6172, -1.7888, -27.118, - 30.5921, 29.7607, 27.5057, 24.3076, 20.267, 15.1816, 9.3486, 3.1611, -1.4937, -4.0966, -4.8189, -4.992, -5.0548, -3.9493, -2.766, -2.8294, -4.1521, -6.8587, -8.9405, -9.3227, -7.2576, -3.2574, -2.6669, -7.8789, -12.9388, -16.4992, -17.2553, -16.5402, -16.5552, 0.5625, 0.3502, 0.0083, -0.184, -0.6199, -0.4748, -0.2997, -0.1545, 0.4846, 0.8919, -0.5646, -16.4454, - 14.8981, 14.8814, 13.6043, 11.5145, 9.5013, 6.6072, 1.92, -2.184, -4.25, -5.6701, -6.3798, -6.5602, -7.0938, -7.2697, -4.0665, -0.3509, 2.6024, 2.4125, -0.1554, -3.0971, -4.9214, -6.2652, -5.4681, -4.3507, -3.9793, -4.8021, -2.3819, -1.6978, 3.0025, 2.862, 3.2617, 6.8021, 5.2352, 3.3376, 0.5084, -1.9352, -2.2484, -1.4495, -1.6734, -14.7006, -2.2554, - 19.3171, 19.5822, 19.1016, 18.4606, 17.7886, 17.3421, 16.7071, 15.2413, 12.1252, 7.557, 2.4543, -2.6968, -6.6532, -9.4513, -11.1611, -10.7979, -8.4551, -5.851, -3.975, -5.4484, -8.6775, -10.2725, -9.6723, -8.111, -6.9238, -9.5412, -14.0157, -16.8585, -17.1147, 6.4595, 5.2042, 2.6176, 0.4543, -1.5212, -2.1299, -2.1223, -2.0336, -1.9001, -1.436, -3.5925, -21.8904, - 10.0554, 11.4918, 12.0024, 11.9869, 11.4982, 10.7952, 8.7236, 5.9738, 2.4552, -0.5185, -1.8366, -4.1108, -5.5111, -6.6353, -6.8364, -7.097, -6.1121, -5.4311, -4.4856, -3.253, -4.1916, -5.5562, -5.6815, -5.4794, -4.5844, -3.0317, -1.607, -1.6034, -1.4198, 6.0457, 6.4584, 6.3816, 6.2004, 3.9293, 1.7377, -2.4799, -5.0585, -4.1685, -5.2278, -13.8183, -8.6957, - 5.1528, 4.1179, 3.0625, 2.9843, 1.9679, 0.9714, 1.4744, 4.4833, 5.5293, 4.703, 3.5767, 3.8031, 1.7543, -1.0533, -1.2774, 0.957, 5.1278, 5.59, 4.5922, 0.5748, -5.0484, -6.9525, -6.3139, -9.2098, -9.0484, -9.2166, -5.0713, -4.7295, -2.5016, 10.5692, 7.5278, 2.2517, 0.6253, 2.9159, 0.5499, -2.4843, -3.578, -4.6422, -4.8638, -8.8714, -13.879, - 18.7418, 15.9185, 12.8438, 10.204, 7.5183, 6.1018, 4.7206, 3.9908, 3.3693, 2.4047, 1.441, 0.1504, -0.1335, -0.4013, 0.1702, -0.4796, -1.4923, -3.1582, -4.6899, -4.8726, -5.5428, -6.5059, -7.1643, -7.5192, -7.9222, -8.7815, -9.429, -9.6309, -9.8521, -0.4363, -0.6716, -0.6321, -1.0615, -1.3192, -0.9262, 0.103, 0.7901, 1.5962, 2.2939, 0.2637, -10.2983, - 35.3923, 32.3026, 26.5029, 19.6975, 12.6365, 5.9222, 0.137, -3.8927, -5.9336, -6.6867, -6.9777, -6.7865, -6.2733, -4.3479, -3.5674, -3.6341, -3.7323, -5.0584, -6.319, -6.1046, -4.6307, -4.8921, -3.7741, -3.8037, -7.6419, -9.4026, -9.7867, -9.3143, -10.0304, -0.3209, -0.8025, -0.7882, -0.9161, -0.6206, -0.3729, 0.2723, 0.9229, 1.0626, 1.2478, 0.3157, -11.3279, - 15.1154, 17.2376, 18.5113, 18.6287, 17.8606, 16.0374, 12.387, 7.3049, 2.2274, -1.2547, -3.4619, -4.9984, -7.5019, -10.3433, -11.986, -13.4479, -13.9092, -13.7812, -13.8196, -12.9157, -11.1559, -7.187, -2.1572, 1.9368, 1.9384, 1.8602, 1.894, -1.4092, -3.6107, 13.969, 15.4855, 13.978, 10.9462, 5.3217, -5.087, -10.7886, -11.2651, -11.1873, -9.5973, -11.775, -16.726, - 18.2228, 18.4615, 17.4249, 17.1396, 16.6125, 14.4185, 10.8568, 8.6164, 6.3579, 5.237, 3.856, 1.9252, -0.6359, -4.275, -5.1889, -6.7505, -7.9919, -9.0778, -10.1, -9.9142, -8.7383, -6.1658, -3.7111, -6.176, -9.8971, -12.5047, -12.7338, -12.8872, -12.3808, -0.813, 0.6976, 0.3804, 0.6457, 1.5482, 2.4749, 3.0413, 2.8395, -0.4708, -2.7284, -7.6154, -15.6555, - 6.0325, 10.0051, 11.3341, 12.3589, 13.89, 16.1481, 16.3116, 12.7566, 8.9105, 7.2557, 4.4785, 2.2316, 0.9797, -0.6614, 0.5661, 4.8341, 6.5458, 3.6213, -1.1381, -4.3272, -5.4198, -6.5113, -7.7865, -12.3725, -19.933, -25.0176, -17.8042, -15.8364, -21.4525, -3.1483, -3.2143, -0.2635, 8.5907, 13.2637, 6.6922, -2.8514, -3.6166, -4.6591, -4.9686, -5.8249, -25.4194, - 17.3207, 17.7695, 17.5402, 17.0035, 16.5266, 15.9285, 14.7115, 13.0615, 10.7412, 7.7296, 4.597, 1.7062, -1.0815, -3.0472, -3.6756, -2.2649, -0.4084, -0.9339, -5.2361, -10.6763, -14.8835, -17.2271, -17.8907, -15.6384, -10.4668, -8.4525, -11.8808, -15.4044, -15.4675, 8.8476, 9.5703, 6.9625, 3.109, -0.1253, -3.622, -4.8452, -5.4253, -5.054, -3.4938, -5.9236, -22.7477, - 18.232, 19.5978, 19.719, 18.7548, 16.3427, 13.615, 10.6951, 8.6087, 5.9251, 3.1428, 1.8336, 0.1222, -0.3161, -1.8892, -3.4565, -4.4788, -4.1025, -3.7501, -4.9649, -7.4742, -8.6908, -9.9373, -10.883, -11.3028, -11.4257, -11.5192, -12.7474, -14.6156, -15.0348, -8.1772, -8.1988, -6.2878, -4.971, -3.0389, -0.0545, 3.6911, 6.8598, 7.3721, 8.3424, 4.4628, -8.8778, - 13.8589, 12.2371, 9.8247, 7.6249, 6.1891, 5.8925, 4.1202, 1.8072, 0.1905, -0.9244, -0.4689, 0.1547, 0.5703, 1.3955, 2.047, 2.6142, 1.4776, -0.3379, -2.6582, -5.2107, -5.8303, -6.1283, -6.7972, -7.3151, -7.5206, -7.3966, -7.0187, -6.1092, -6.2882, 2.8357, 1.3808, 1.5156, 0.8705, -0.2752, -0.1447, -0.1738, -1.0712, -0.4308, -0.502, -4.005, -11.046, - 25.9341, 27.732, 28.2232, 27.7876, 25.5774, 21.4281, 15.8329, 10.0447, 4.4219, -0.7932, -4.9567, -7.948, -9.7086, -10.7951, -11.8434, -13.0235, -13.3873, -13.9249, -14.4275, -14.4362, -13.1477, -10.3022, -6.8516, -4.3801, -3.0535, -2.9543, -6.5274, -11.658, -12.8631, 5.4748, 4.2973, 2.0928, 0.3859, -0.05, -1.0781, -1.5335, -2.0293, -2.087, -2.0482, -3.4246, -15.9155, - 12.5611, 14.6864, 16.3579, 17.9048, 19.1559, 20.0003, 19.3273, 16.6175, 11.9366, 7.1513, 3.6125, 1.1772, -0.676, -2.6536, -3.6769, -3.9465, -1.4534, 2.8613, 3.1405, -2.9573, -11.3536, -17.9162, -20.1933, -20.5787, -18.1872, -12.946, -11.7495, -17.2172, -20.9852, 3.0886, 4.0379, 3.6614, 1.7858, 1.8672, 1.0455, -1.0249, -2.3716, -3.3037, -4.0002, -4.786, -22.6731, - 6.3873, 6.0538, 5.2554, 4.7605, 3.7352, 4.0478, 3.0878, 1.1603, -0.41, -0.4842, 0.3498, 0.7144, -0.2324, -1.6604, -3.0147, -3.2036, -2.2852, 0.45, 5.1996, 6.1851, 1.9002, -1.2909, -2.8734, -4.709, -4.8637, -4.9906, -6.0915, -6.1561, -7.0214, -0.4395, -0.6291, -0.8046, -1.1373, -1.0367, -1.1976, -0.5358, 0.8614, 1.5251, 2.7259, 0.6681, -8.1549, - 6.4678, 24.1453, 28.3564, 16.3768, 0.9487, 6.1492, 9.9337, 5.7837, 0.7687, 2.7379, 7.4627, 2.6615, 2.1447, -1.7243, -4.9079, -3.6716, -5.126, -1.3976, -1.3562, -1.3187, -5.1578, -9.3517, -9.8801, -10.0344, -8.5754, -9.5176, -12.9621, -14.5277, -14.4277, 2.6144, 2.0177, 2.0939, -0.3296, 0.2968, -0.6507, -0.6394, 0.0217, -1.9957, -0.1306, -3.2985, -14.8655, - 12.551, 12.4285, 11.8955, 12.7578, 16.9371, 21.2938, 20.7903, 16.7803, 12.6688, 11.7788, 11.63, 7.3846, 0.3301, -5.6353, -9.1568, -12.4924, -14.5919, -16.295, -17.9481, -16.1853, -15.7323, -12.4489, -10.0349, -7.7045, -8.7699, -6.9254, -3.1598, -3.0985, -9.0472, 7.8424, 3.8265, 0.9376, -0.6967, -1.1188, -1.5694, -1.9503, -0.6167, -1.4541, -2.2369, -2.9635, -21.8681, - 15.6754, 16.7432, 16.5153, 12.3311, 4.2455, 0.205, -0.6894, 2.1431, 4.3595, 7.572, 9.8733, 9.2508, 5.8913, 2.6955, 1.6669, 2.5024, 2.1823, 0.5005, -4.3623, -8.712, -8.4826, -7.8486, -12.0698, -13.3968, -11.9915, -10.9867, -12.2995, -11.0273, -12.4867, -2.7836, -4.412, -5.1131, -4.1277, -2.4732, -0.972, 1.3438, 3.6062, 4.7125, 5.6821, 4.537, -11.9, - 22.3286, 23.0046, 23.0498, 23.5807, 23.1994, 18.4599, 10.9563, 4.0795, 0.4966, -1.421, -3.5925, -5.4787, -5.7217, -4.6302, -2.1947, 3.6628, 9.53, 10.8217, 9.1886, 2.5031, -8.0477, -14.9331, -18.4387, -19.9305, -20.4501, -20.2597, -19.9758, -19.4479, -20.3392, 1.1842, 0.4014, 0.0219, -0.1675, -0.5484, -0.3769, -0.3371, -0.0928, -0.0308, 0.3091, -0.3631, -21.5338, - 21.9984, 23.9238, 25.3357, 26.4343, 26.0313, 22.5182, 16.6027, 9.8676, 5.2339, 2.4325, -0.1466, -2.8415, -2.8856, -0.9913, 3.1553, 6.9975, 6.7848, 4.8021, -2.7887, -13.1318, -18.6046, -20.0234, -20.0047, -19.9587, -19.6763, -19.9132, -20.3439, -20.4619, -20.3457, 1.2714, 0.3555, 0.0928, -0.1438, -0.1909, -0.1061, -0.2499, -0.3508, -0.1985, -0.175, -0.3048, -19.6659, - -0.2567, -0.2113, -0.8684, 0.4465, 3.3786, 5.2759, 2.6214, -1.2665, -3.2281, -4.9538, -5.9464, -5.0624, -5.8449, -5.2078, -4.5607, -2.446, -0.3193, 2.4345, 5.491, 8.175, 9.787, 9.0613, 6.6768, 1.8115, -0.9513, -2.1611, -3.707, -3.7433, -4.4246, 0.1631, 2.1256, 4.6102, 5.3221, 6.3935, 4.7668, 3.6937, 3.2175, -0.8613, -8.2952, -21.136, -6.1298, - 3.8793, 4.4914, 2.0392, 1.3477, -1.0271, -0.6639, 0.1117, -1.7816, -3.233, -2.324, -1.7798, -3.8111, -6.4867, -7.2086, -6.2062, -8.1286, -2.5, 3.355, 12.4119, 16.8546, 9.9403, 10.7928, 11.849, 6.7929, -4.703, -7.2697, -8.7835, -9.4026, -8.5564, -1.174, -2.4092, -2.9332, -3.4178, -3.5228, -2.2895, -0.328, 1.5973, 4.164, 4.8094, 5.5038, -5.9517, - 55.6246, 47.8318, 40.1222, 32.5666, 25.2478, 18.2625, 11.7233, 5.7654, 0.6757, -2.9249, -4.9251, -6.7338, -8.2843, -9.4091, -10.0166, -10.5275, -11.0842, -11.8508, -12.6565, -13.2845, -13.4392, -13.4505, -13.5945, -14.13, -14.9588, -15.832, -16.5919, -17.0696, -17.0561, -0.1692, -0.1054, -0.1641, -0.3548, -0.4054, -0.2499, -0.1197, 0.3574, 0.6137, 0.729, -0.1316, -16.1029, - 28.348, 28.4457, 26.9174, 24.2222, 20.0737, 14.3497, 7.6659, 1.6711, -2.293, -4.4091, -5.0514, -3.9119, -1.1398, 2.5446, 4.7855, 3.9543, 0.0941, -4.3143, -7.576, -9.0354, -10.4294, -11.217, -12.2003, -12.8513, -13.7072, -15.19, -16.7728, -16.6535, -16.3197, 1.689, 1.2293, 1.498, 1.02, -0.3583, -0.7205, -0.7464, -0.7978, -0.7991, -0.4289, -1.5854, -17.0352, - 7.1738, 5.876, 3.417, 2.3215, 1.3711, 0.544, -1.4461, -3.1488, -4.5999, -4.7859, -4.3101, -4.0022, -3.9658, -3.1268, -2.0884, -1.4297, -0.0002, 0.9577, 1.567, 1.5085, 1.0721, 0.3227, 0.511, 0.7323, 0.8496, 1.7441, 0.7228, 0.7656, 1.447, -8.6193, -7.2247, -5.3667, -3.5827, -1.8357, 0.6166, 4.1585, 4.9638, 7.0248, 8.8447, 1.0209, 8.4769, - -0.7467, 0.3554, 1.8709, 0.8731, -1.4638, -3.343, -6.6672, -9.5951, -10.4012, -10.6421, -11.0116, -11.8429, -12.2455, -11.7931, -7.9381, -3.6179, 4.3015, 10.3005, 10.2729, 5.6096, 4.179, 4.6704, 9.5416, 5.1426, 3.2307, 6.6932, 7.397, 11.6314, 15.2383, 14.9214, 12.3993, 10.3175, 9.4781, 6.529, 0.7143, -6.7843, -12.1011, -12.5497, -11.0634, -11.8611, -4.9295, - 8.9473, 8.9587, 8.3247, 7.7486, 7.2645, 6.8446, 6.7225, 7.4361, 8.0756, 8.3721, 7.8521, 5.8385, 3.2013, -0.0003, -2.2581, -3.0372, -2.3326, -0.4339, 2.2803, 1.7881, -3.0603, -8.5789, -12.0665, -11.7987, -9.2546, -6.5489, -9.3084, -14.6968, -16.2796, 11.5926, 10.477, 8.8581, 8.3385, 5.311, -2.0531, -7.544, -8.5312, -8.7087, -8.2386, -9.5016, -25.9443, - 17.7853, 20.4425, 22.0494, 22.6794, 21.5241, 17.2874, 10.6686, 4.0415, -0.8452, -3.3573, -4.8317, -6.2098, -8.0414, -10.4109, -12.4433, -13.6668, -13.5852, -12.5998, -10.4309, -6.2165, -0.7444, 0.8686, -2.2118, -2.8842, -0.1978, -1.0432, -7.6768, -11.1308, -8.8188, 14.1142, 12.1567, 7.0646, 6.3108, 1.5813, -5.6339, -6.7414, -7.8081, -7.7366, -5.6857, -7.6219, -18.4403, - 10.4095, 10.1666, 9.2271, 8.086, 6.4145, 4.2188, 0.0306, -2.2509, -4.0464, -2.5048, 0.7199, 3.4238, 3.2446, 1.8968, 2.3554, 2.4242, 1.5237, 2.3494, 4.0741, 2.8937, -1.4622, -5.2927, -9.7781, -9.2472, -7.305, -3.6229, -4.1228, -9.1846, -14.6411, 8.1502, 5.2313, 1.058, 1.4879, 3.7251, 2.9439, -0.5626, -1.1335, -5.4441, -3.6896, -11.7665, -16.0896, - 16.3683, 15.7368, 14.0789, 11.8221, 8.6363, 4.8193, 0.7944, -2.5033, -4.2969, -5.1383, -5.1385, -5.8567, -6.7831, -7.2715, -6.194, -4.4484, -2.8402, -2.2612, -2.0718, -1.0756, 0.0928, 1.1543, 1.4991, -0.3, 0.0566, -0.6778, -3.4172, -5.3252, -9.4588, 11.6386, 8.1885, 3.6288, -1.2989, -3.6855, -3.9476, -4.1335, -3.4808, -2.6249, -1.8682, -2.4166, -19.6188, - 9.9289, 9.2679, 7.9267, 8.7379, 10.9513, 13.7239, 14.8623, 12.3233, 7.4753, 3.3088, 0.9949, -1.1257, -2.9647, -3.3198, -1.5514, 1.8208, 1.1498, -4.6271, -7.9003, -10.0749, -11.1748, -10.0605, -6.3035, -5.8941, -7.6734, -10.1071, -9.5489, -6.0056, -4.14, 9.5365, 2.656, 3.6743, 6.2251, 4.9344, -1.5821, -4.9354, -4.9959, -4.249, -3.3389, -7.9251, -19.9895, - 15.7601, 15.5371, 14.5879, 13.6852, 13.7329, 14.2619, 14.5602, 14.105, 11.9855, 9.0424, 5.9338, 2.9248, 1.1175, -0.2175, -0.4564, -0.8056, -2.8269, -5.9252, -9.3719, -12.1962, -12.8615, -12.521, -10.3147, -10.3071, -11.7171, -13.5357, -14.5158, -14.3799, -15.2819, 0.2685, -1.1025, -1.4893, -1.4317, -1.3748, -0.8857, -0.0388, 0.9292, 2.3295, 3.5114, -0.7158, -18.7537, - 10.0771, 10.8307, 10.8465, 11.7532, 13.7152, 14.8042, 13.3142, 9.3177, 4.2443, -0.137, -2.8245, -4.9084, -6.2428, -7.4346, -7.1199, -4.5048, -0.3499, 3.4684, 5.2923, 2.9229, -0.3932, -2.4266, -2.9696, -4.8989, -8.2386, -13.2276, -16.6579, -16.3335, -11.9188, 12.1564, 11.5591, 10.1368, 8.7589, 4.6074, -3.2222, -8.3162, -9.1139, -8.8367, -7.9752, -9.7544, -23.1025, - 11.5053, 11.7027, 11.7371, 13.2093, 15.2251, 15.5948, 12.9282, 8.237, 4.0626, 1.5654, 0.2206, -0.6203, 0.1854, 2.0975, 5.0249, 6.2795, 5.603, 2.918, 1.3161, -0.0224, -2.9425, -5.8601, -7.8659, -9.4742, -11.962, -17.3077, -22.0414, -24.853, -26.4631, 0.6245, 0.843, 0.7564, -0.0344, 0.186, 0.2573, 0.0022, 0.3483, -0.0033, -0.3539, -2.626, -27.0235, - 5.1441, 5.4989, 4.5886, 4.889, 4.4149, 4.7882, 4.1037, 2.1106, -0.5897, -1.6882, -2.0231, -2.3075, -4.0395, -5.998, -7.0714, -7.2239, -6.85, -6.2178, -5.879, -4.2255, -3.0049, -0.9642, 0.5881, 1.855, 5.0224, 5.6412, 5.331, 2.5657, 1.5411, 13.0414, 12.1678, 10.8758, 8.35, 3.9695, -1.2713, -6.6778, -7.5357, -8.1366, -9.815, -14.9679, -9.097, - 5.6158, 4.9839, 2.6123, 0.8571, -0.5963, -0.3233, -0.2214, -0.3194, -0.137, 0.4421, 0.3275, 0.0835, -0.517, -0.8713, -0.8569, -0.8339, -0.8554, -0.5354, -0.0395, -0.0558, -0.9263, -0.8835, -0.8978, -0.6944, -0.6268, -0.8091, -1.0483, -1.4194, -1.4539, -1.4149, -1.4513, -1.7313, -2.1794, -1.7446, -0.9286, 0.2594, 1.3903, 2.1796, 3.3663, 2.2545, -1.2043, - 10.708, 10.7135, 9.5629, 8.5444, 8.8788, 10.1398, 10.5302, 9.9131, 6.6128, 3.5565, 2.0899, 1.1039, 0.3794, 0.6277, -0.198, -1.3526, -2.7157, -4.4999, -6.1998, -7.9255, -8.1415, -9.2812, -8.2556, -8.1488, -8.8083, -9.3952, -7.3216, -6.7527, -4.3647, -4.2821, -3.0286, 0.3702, 1.9504, 4.267, 4.98, 3.4858, 0.8969, -0.2219, 0.7569, -9.1747, -5.7376, - 15.6199, 17.2444, 17.3338, 14.6899, 10.1694, 6.6473, 3.7155, 2.2358, 1.5381, 1.6499, 1.6341, 0.4488, 0.1506, -1.4323, -2.951, -3.5813, -3.4819, -3.2311, -4.3442, -6.2089, -6.4666, -6.7538, -7.4724, -7.2719, -7.5336, -7.1999, -7.6644, -8.4572, -9.0267, -8.4693, -10.5727, -9.758, -6.2924, -2.3994, 1.2587, 4.0421, 6.4837, 8.0877, 9.5585, 8.0612, -1.6481, - 19.7459, 20.2278, 18.163, 15.009, 12.1531, 9.979, 6.226, 3.3367, 0.8576, -0.7079, -0.8905, -2.1529, -4.1404, -5.6658, -7.062, -8.838, -8.6505, -8.0785, -6.8102, -4.7097, -3.3992, -4.6255, -5.7732, -5.7892, -3.5462, -3.1831, -5.7363, -8.6675, -7.2716, 4.1141, 4.3678, 4.3289, 4.1542, 4.0907, 1.7285, -0.9643, -1.7912, -4.9181, -4.5913, -10.5192, -12.1315, - 6.1392, 7.2498, 8.1626, 7.685, 6.4337, 6.4811, 6.2044, 4.4007, 3.1418, 2.4995, 0.929, 0.1185, -0.7668, 1.7199, 1.8949, 2.0578, 0.9328, -0.211, -2.8546, -2.7195, -3.0066, -5.4613, -5.4714, -6.1331, -7.3092, -7.381, -7.7191, -8.5523, -8.4648, -2.487, -2.6525, -3.0263, -3.5473, -2.5564, -1.093, 0.1556, 2.3664, 3.5226, 4.7554, 4.5624, -7.591, - 9.311, 9.9536, 9.2138, 10.0448, 12.2215, 15.3929, 16.8943, 15.4237, 10.3171, 4.7547, 1.0177, -2.1707, -4.9877, -7.5219, -7.9593, -6.9345, -4.8837, -0.9854, 3.2044, 2.3045, -0.4463, -2.4338, -5.1476, -7.89, -10.631, -12.6634, -14.4919, -15.1208, -15.7863, 5.6159, 2.3509, 0.9141, -0.354, -1.9709, -1.3207, -0.835, -0.2962, -0.1715, -0.2711, -3.6616, -23.6214, - 23.3043, 22.9242, 21.5293, 19.5762, 16.1241, 10.4648, 6.0084, 4.4333, 5.1608, 6.7668, 7.1607, 5.7544, 1.6077, -1.1787, -4.1636, -7.1966, -8.5322, -8.3418, -7.6815, -6.4004, -5.6492, -7.9013, -12.6029, -15.0772, -12.4774, -7.5784, -9.0924, -17.5597, -19.3815, 3.7144, 2.6198, 1.4796, 0.442, -0.5744, -0.9102, -0.6355, -1.0076, -1.4038, -1.1279, -2.5963, -20.6144, - 11.2061, 12.3118, 12.8295, 13.0523, 13.1146, 12.3645, 9.9362, 5.7743, 1.7043, -1.8769, -4.8871, -7.3022, -10.0064, -12.5843, -14.2598, -13.6895, -11.6784, -9.5138, -6.1691, -0.5296, 5.2373, 5.2179, 3.438, 3.0836, 2.2733, -1.6391, -6.1888, -7.6374, -3.5815, 20.8484, 18.6436, 8.9742, 10.0179, 3.879, -7.4403, -11.3642, -12.3105, -11.5853, -8.933, -10.7298, -20.8771, - 16.8529, 17.4255, 16.4102, 15.5784, 15.8674, 17.495, 18.1947, 15.9349, 11.712, 7.2655, 2.7249, -1.9527, -5.0648, -6.5508, -5.6015, -1.523, 3.8782, 6.4704, 3.5684, -1.2082, -2.4831, -2.6718, -6.1617, -14.2995, -21.6998, -24.5766, -25.7294, -25.4801, -24.3755, 1.7078, 0.3442, -0.186, -0.3639, -0.6031, -0.7615, -0.5273, -0.1524, 0.161, 0.3883, -0.0071, -25.9432, - 3.6247, 4.1362, 4.7304, 5.4643, 6.0686, 6.7599, 7.37, 7.9086, 8.2045, 8.2007, 8.305, 7.9346, 6.506, 5.2072, 4.901, 4.7326, 5.1044, 4.6386, 2.5145, -2.675, -8.8497, -12.8927, -16.3752, -16.1979, -12.4272, -9.0385, -10.4849, -12.3511, -11.0196, 16.8771, 16.0363, 12.4221, 5.0921, -2.2734, -6.9441, -6.2634, -7.9111, -8.604, -8.3171, -10.1145, -25.1507, - 20.4102, 22.2333, 21.4536, 19.4223, 16.2855, 13.0015, 8.6431, 4.0577, 0.1512, -3.055, -6.8588, -9.9672, -11.6652, -13.5703, -15.4009, -14.9881, -14.1899, -13.0588, -12.144, -10.7868, -7.9129, -2.9873, -1.111, -1.0826, 1.2318, 4.7844, 4.0367, 1.8708, 1.1966, 1.4837, -0.6523, -2.7877, -2.3545, -1.2604, 3.0293, 4.438, 2.6853, 3.182, 0.1563, -7.9197, -4.8422, - 24.4801, 24.0824, 22.4438, 19.5938, 14.694, 8.679, 3.7523, 0.8565, -0.9075, -1.514, -0.7636, 1.4427, 4.6338, 4.78, -0.4807, -5.3801, -6.6867, -7.1351, -7.2085, -6.89, -7.0642, -5.4063, 1.9414, 1.1193, -8.061, -17.439, -17.6573, -19.7125, -20.1924, -1.8469, 0.7851, 2.9495, 5.7461, 5.1153, 0.0343, 1.2368, -1.4044, -2.4151, -4.0039, -6.1967, -17.9837, - 34.238, 33.5242, 31.1201, 27.6874, 23.0098, 16.3994, 8.7955, 1.8365, -2.8561, -4.7762, -4.6828, -3.5969, -2.7477, -3.7154, -5.8733, -6.7781, -7.1404, -9.1196, -11.1436, -11.7088, -11.204, -10.1729, -10.8046, -9.7894, -7.4004, -10.6648, -13.8125, -14.2674, -14.356, 0.7706, 1.2161, 0.201, -0.2054, -0.41, -0.3813, -0.4077, -0.2383, -0.1037, 0.0286, -0.4699, -14.1437, - 28.8775, 29.5132, 28.5106, 26.2574, 21.3404, 14.0753, 6.0344, -0.6419, -5.0399, -7.8669, -10.5378, -12.6348, -13.9599, -14.7351, -14.0154, -11.1568, -6.4165, -1.6004, -0.2199, -4.6568, -7.7877, -4.327, -3.6815, -7.3611, -9.9812, -9.0522, -3.7854, -1.0622, -4.0886, 4.5036, 0.0436, -1.262, 0.1566, 0.7061, 0.993, -0.1034, -0.8841, -0.1473, -0.6208, -3.3851, -11.7638, - 23.7811, 23.4799, 22.5985, 21.1811, 19.295, 16.9827, 14.153, 11.0015, 7.6758, 4.3321, 1.377, -1.2257, -4.1809, -8.056, -12.0663, -14.7575, -16.2562, -16.8262, -16.6031, -14.6213, -10.859, -6.2555, -3.6846, -3.645, -3.7342, -4.0353, -7.6132, -10.866, -10.5716, 9.6447, 7.8023, 3.9088, 0.9709, -1.2963, -2.9548, -3.6717, -3.5325, -2.8548, -2.7867, -5.23, -17.9213, - 7.3168, 7.9817, 8.1669, 8.3682, 8.5119, 8.7999, 8.5177, 8.224, 7.976, 7.1004, 4.9797, 2.844, -0.2787, -2.8393, -5.1812, -6.501, -7.8099, -7.3824, -4.9246, -1.2066, 1.0202, -1.2524, -5.5773, -6.6635, -6.2109, -4.9615, -7.0357, -10.7105, -11.2719, 12.8705, 11.8805, 10.2523, 9.3642, 5.4904, -1.6627, -6.1562, -9.1055, -10.2004, -10.6557, -12.0775, -23.3035, - 29.5404, 29.4681, 28.4882, 26.7591, 23.995, 19.9029, 14.9906, 9.9884, 4.9431, 0.7201, -2.7182, -4.9295, -5.8329, -5.2835, -3.1411, -1.0337, -1.2994, -4.6551, -9.294, -12.6166, -14.4507, -14.7304, -13.5533, -12.6574, -13.3765, -15.4995, -17.3894, -18.253, -18.0815, 0.4964, 0.5507, 1.1546, 0.737, -0.0255, -0.3498, -0.5226, -0.4656, -0.4711, -0.2868, -0.8174, -17.811, - -1.0744, 14.9003, 33.1596, 35.0523, 13.0736, 2.0052, -0.7661, 8.7597, 2.7166, -6.495, -4.261, 3.772, -4.3426, -8.7782, -3.2656, -7.4382, -8.4893, -4.5093, -7.9161, -3.7247, -7.052, -3.6709, -6.265, -4.496, -4.0238, -4.7559, -5.1416, -7.861, -9.1128, 0.6813, 1.7272, 1.1217, 0.4323, -0.0682, -0.265, -0.1787, -0.4185, -0.8065, -0.2104, -2.0153, -10.3544, - 17.3596, 17.5673, 15.0858, 11.4644, 7.3814, 4.0226, -0.141, -3.3849, -5.6204, -6.9233, -7.1105, -7.9534, -8.3396, -9.0384, -9.3087, -9.0779, -7.7416, -7.4684, -7.3969, -6.6548, -5.2109, -4.5759, -2.5217, -0.3381, 2.765, 6.1586, 8.7075, 9.567, 8.7272, 5.4636, 3.5914, 3.5111, 3.4034, 3.2185, 1.4996, -0.7001, -2.2097, -2.6342, -2.6685, -12.4751, 1.7656, - 9.2805, 8.3218, 6.4144, 5.5901, 4.5122, 4.117, 2.0243, 0.4668, -1.3946, -1.908, -1.6016, -2.3054, -3.2805, -3.6877, -3.6998, -3.136, -2.3723, -2.0691, -2.5325, -3.5697, -3.7685, -3.6638, -2.437, -2.4841, -1.3748, -1.3849, -0.1182, 1.3637, 4.6978, -2.5191, 0.6452, 3.8178, 5.9716, 6.9002, 5.0344, 1.4694, -0.9067, -2.4853, -4.2997, -13.628, 3.6107, - 14.3113, 15.3825, 16.0172, 17.0841, 17.9406, 17.4527, 13.8237, 9.1622, 4.4761, 0.4333, -1.8491, -4.1973, -6.2352, -7.3255, -6.6956, -3.8665, 0.4871, 1.8452, -1.9049, -6.4158, -9.6692, -9.9954, -8.3868, -6.3274, -7.5276, -11.6979, -13.095, -12.8586, -10.3679, 12.6405, 9.43, 6.8308, 1.9954, -1.8154, -4.05, -4.6445, -4.94, -4.6161, -4.141, -6.6897, -21.7106, - 15.9574, 13.5685, 10.9183, 9.2647, 7.9607, 6.5007, 4.5878, 3.5591, 3.2169, 1.2933, -0.051, -0.9224, -2.2752, -2.6282, -3.7623, -4.7934, -4.9449, -4.3779, -4.6931, -3.1458, -4.4724, -5.0318, -4.9908, -4.4859, -5.058, -5.3554, -5.0038, -5.0901, -5.7451, -5.4116, -5.6692, -5.7576, -5.1885, -3.0995, -0.5277, 2.1995, 4.1437, 5.6134, 6.876, 6.8216, -1.5471, - 19.4303, 18.5843, 17.0128, 17.0462, 18.3032, 19.023, 17.0309, 14.9915, 13.9671, 13.7472, 10.8472, 5.3475, -0.7858, -5.0732, -8.3887, -9.9459, -10.5501, -11.5448, -12.079, -11.0765, -11.334, -10.813, -12.3197, -14.8319, -14.5526, -12.6243, -11.2782, -13.0457, -15.0877, 2.8732, 1.857, 1.3694, -0.0267, -0.8287, -0.4903, -0.4684, -0.4454, -0.2649, -0.5119, -3.0635, -20.4302, - 12.4117, 13.0466, 13.2331, 13.485, 13.9028, 13.3369, 10.6679, 6.6169, 2.3362, -0.7175, -3.1184, -5.0629, -7.1577, -9.3769, -10.526, -9.6526, -5.9526, -0.9724, 3.2956, 3.3183, -0.2154, -2.7832, -2.1155, -2.0009, -5.4287, -9.8635, -12.0371, -11.731, -6.9389, 19.8935, 17.5132, 8.1204, 5.9513, -0.9114, -7.8096, -9.0959, -8.7765, -8.7232, -7.8238, -8.3381, -22.9941, - 5.4465, 6.1545, 6.596, 7.3692, 6.5453, 5.6331, 3.5394, 2.3607, 0.8659, 0.0509, -0.6899, -0.6602, -0.8114, -0.9871, -2.062, -2.1051, -2.1293, -2.4346, -2.8842, -2.7862, -2.7031, -2.7005, -2.3058, -2.4182, -2.9614, -3.3012, -3.625, -3.4399, -3.5562, 1.1375, 0.955, 0.1967, 0.2876, -0.3489, -0.1347, -0.2618, -0.2052, 0.1031, 0.1921, -1.9213, -5.8132, - 19.3219, 18.607, 17.2268, 15.7037, 13.2112, 9.2621, 6.1735, 5.2932, 6.8689, 8.1175, 8.5297, 6.2006, 2.9639, 0.2106, -1.5424, -3.0741, -3.6228, -1.7612, 1.1881, 0.4888, -4.7011, -12.4521, -18.8925, -20.1895, -15.2633, -7.7586, -8.4595, -18.6161, -23.0341, 7.2675, 6.3572, 1.7187, 0.3913, 0.3928, -0.3109, -1.9821, -2.8777, -3.2372, -3.3101, -4.4095, -25.201, - 8.4541, 8.1779, 7.1194, 5.4725, 2.9601, 1.1998, -0.3538, -1.2461, -1.9054, -1.1532, -0.8697, -0.7216, -1.4868, -2.8361, -3.9114, -3.9948, -3.2868, -2.9321, -1.6346, 0.6941, 1.5767, 0.1133, -0.6901, -1.9526, -1.704, -0.6393, -1.7853, -2.0227, -0.6415, 6.3775, 3.5011, 1.7742, 0.8521, -0.8807, -2.4262, -1.9793, -2.713, -1.0301, -0.2906, -3.185, -7.4694, - 10.0438, 9.573, 9.4079, 10.5993, 13.6404, 15.4525, 14.499, 10.5598, 6.2936, 3.7658, 1.8182, 2.4916, 3.9516, 5.8549, 9.0644, 9.6627, 6.8173, 4.3977, 1.349, -4.2076, -12.0535, -17.0808, -19.6338, -19.7015, -18.7275, -16.8855, -13.8529, -11.6701, -15.4293, 6.271, 4.5162, 0.1386, -2.0908, -1.7858, -2.0793, -1.8138, 0.2844, 0.7409, 0.2032, -4.3846, -24.8049, - 25.0551, 24.1141, 20.9653, 16.3108, 10.8527, 5.3678, 0.7364, -2.8219, -5.0859, -5.765, -6.1499, -6.6367, -7.4276, -7.5696, -8.0119, -6.4695, -2.7893, 0.4057, 2.0532, 0.861, -1.2343, -2.5971, -2.0921, -3.1259, -5.4032, -7.7358, -7.6535, -8.064, -10.089, 1.7165, 0.5619, 0.1133, -0.0994, -0.1364, -0.266, -0.4353, 0.5041, 0.4384, 0.8615, -3.2587, -14.5713, - -0.2824, -1.2002, -1.1857, -0.7688, -0.8143, -0.7172, -1.5304, -2.1288, -3.0516, -3.6018, -4.8378, -6.1535, -7.732, -6.8121, -6.1824, -3.6103, -1.4311, 0.9978, 1.1937, 0.8415, 2.4841, 6.3803, 8.8835, 7.0925, 6.7752, 9.2623, 5.7944, 2.8315, -0.4967, 18.7297, 14.2388, 10.8799, 4.2826, -6.9342, -8.6376, -8.3976, -6.7575, -6.0459, -5.4581, -5.9001, -18.8293, - 10.1128, 8.8893, 7.3473, 6.5214, 7.293, 10.3397, 14.0197, 15.8841, 13.7146, 8.7127, 4.4971, 1.7567, 0.2355, 0.565, 2.536, 6.4325, 6.1884, 1.5759, -3.2537, -5.8565, -5.4444, -3.863, -6.5876, -12.9364, -16.8492, -18.9964, -18.8056, -16.0076, -18.0217, 3.9553, 2.3698, 1.9291, -0.0877, -0.9652, -0.9019, -0.4445, -0.6487, -0.2555, -1.3366, -3.614, -25.1871, - 12.2726, 11.228, 9.4632, 7.3787, 5.2189, 3.66, 2.1581, 1.8973, 1.7208, 1.1692, 2.6675, 2.148, 0.1934, -0.9062, -0.5766, -0.7741, -0.2722, -1.4842, -1.6982, -2.2141, -2.7162, -2.8899, -3.2527, -3.3476, -3.8185, -5.7582, -8.5254, -9.5927, -13.3491, 2.9336, -0.0614, -5.1792, -7.8262, -5.8818, -2.4979, 0.281, 2.5842, 4.2687, 5.4567, 5.9224, -16.9053, - 37.2172, 34.3913, 31.2113, 27.7111, 23.6697, 19.0839, 14.6521, 10.8663, 7.8437, 5.4886, 3.9602, 2.5869, 0.56, -1.9033, -4.6862, -7.319, -10.071, -12.7038, -14.768, -15.8511, -16.1191, -16.1652, -16.2159, -15.9004, -15.8958, -16.8057, -17.9478, -18.494, -18.3957, 0.4419, 0.2835, -0.0357, -0.2713, -0.3987, -0.3334, -0.2999, -0.1625, 0.2757, 0.674, -0.1736, -16.8775, - 11.3753, 13.7268, 15.9469, 19.24, 21.6371, 21.2732, 16.6665, 10.0971, 4.1118, -0.3896, -3.6531, -5.5614, -8.0681, -10.2817, -11.6723, -11.5104, -10.0734, -10.1816, -8.5685, -7.1045, -6.4138, -4.8696, -3.9548, -5.7824, -5.0034, -4.9254, -6.3935, -5.3682, -4.2986, 12.8596, 6.0788, 2.4099, 2.8908, 0.0595, -2.3723, -2.9619, -4.0883, -4.5273, -4.0164, -6.3324, -17.4382, - 26.4179, 26.6038, 25.6315, 22.7118, 17.4654, 11.2374, 4.563, -0.6721, -3.649, -5.1965, -6.8885, -8.5149, -9.9685, -10.5303, -10.6988, -9.8426, -8.6196, -5.7793, -0.9658, 3.2322, 2.5498, 0.5196, -0.4196, -3.4101, -7.4205, -10.7757, -11.9107, -12.1132, -13.5565, 2.4448, 1.027, 0.2616, -0.2763, -0.6725, -0.5323, -0.4687, -0.3345, 0.1168, 0.1296, -1.6954, -17.0871, - 18.4471, 16.7466, 13.9277, 10.8916, 8.7857, 7.1932, 5.5568, 4.1778, 3.8018, 3.6509, 4.1995, 4.5197, 3.7143, 2.0835, 1.0146, 0.3919, -0.3931, -1.7518, -3.7102, -5.6106, -7.0424, -8.2355, -8.7436, -9.9803, -10.8971, -12.1221, -12.4526, -14.0451, -14.1182, 1.5911, 1.3311, 0.9816, 0.2592, 0.5671, -0.15, -0.6917, -0.071, -0.0271, 0.0589, -3.8492, -16.0146, - 5.9232, 5.3337, 3.8014, 2.9697, 3.4359, 4.2543, 3.4648, 1.7717, 0.1194, -0.0269, 0.7474, 1.7656, 2.2681, 3.3777, 5.535, 7.6925, 7.117, 5.0594, 1.6134, -2.884, -4.6636, -5.6498, -6.726, -7.6581, -7.7482, -7.0077, -8.1003, -8.2149, -7.5709, 2.7271, 3.2452, 3.0964, 1.8085, 1.2978, 0.1047, -1.3807, -1.5844, -0.8243, -0.5104, -7.9799, -12.0827, - 12.4719, 12.1361, 10.1546, 7.9843, 6.3039, 5.8891, 4.6571, 2.6181, -0.1657, -1.9369, -2.8607, -3.3105, -4.8578, -7.0042, -7.1916, -5.9866, -4.1997, -1.7831, 1.5238, 4.3316, 3.2165, 1.1019, 0.2627, -0.7887, -2.3974, -4.1659, -7.7383, -8.8914, -9.3732, 3.3631, 2.173, 1.7422, 1.8227, 1.4558, 0.1916, -0.0971, -0.1883, -1.5408, -1.1423, -7.7797, -11.8474, - 11.3451, 10.9, 8.9585, 6.1028, 3.1858, -1.1621, -5.3836, -9.5575, -11.5639, -12.6129, -13.2817, -13.1921, -12.6233, -11.4537, -9.9063, -7.2485, -2.9323, -0.1679, 2.3451, 3.4644, 4.1413, 6.5832, 8.0312, 9.6, 9.3866, 8.339, 7.0332, 6.2115, 5.4582, 2.4819, 2.4952, 2.5332, 1.3146, 1.284, 1.1744, 1.4075, 1.6533, -0.791, -1.1435, -12.4097, 1.0916, - 23.6029, 24.2878, 23.193, 21.6752, 20.1647, 17.8825, 13.5147, 9.0959, 4.9067, 0.9398, -2.2819, -4.7976, -6.5405, -7.8935, -8.5957, -8.1319, -5.7029, -2.901, -1.4003, -3.8107, -7.7146, -10.9603, -11.9185, -11.3097, -10.0262, -10.8911, -13.0763, -15.2199, -16.0905, -4.3614, -2.5556, -2.1777, -1.8997, -0.5988, 1.0869, 2.5785, 3.4868, 4.0967, 3.3192, -2.9749, -12.6358, - 4.1481, 24.8058, 32.005, 24.107, 7.9048, 5.1844, 9.4865, 6.993, -4.1867, -5.3105, -0.1042, -5.3429, -7.948, -8.834, -11.8488, -10.9382, -11.6153, -10.8429, -8.8763, -8.2063, -5.9086, -4.678, -0.7362, 0.9339, 1.6189, 1.242, -2.165, -5.4458, -5.4417, 3.8026, 4.9367, 2.9396, 1.2003, 0.8096, -0.4055, -1.2653, -1.7631, -2.913, -1.4945, -5.8474, -8.5756, - 23.7954, 23.1921, 21.7016, 20.0766, 17.1113, 13.7019, 10.3999, 7.0724, 4.4505, 3.2062, 3.6711, 5.104, 6.2303, 4.8847, -0.1659, -4.8929, -7.3427, -9.3139, -10.945, -11.4728, -10.0337, -7.5622, -3.5203, -5.8211, -14.2213, -19.1068, -19.3958, -20.2365, -20.5672, -0.5258, 0.0632, 2.1808, 3.9092, 2.4964, -0.3407, -0.519, -0.8656, -0.9771, -1.7973, -3.6241, -20.0182, - -3.736, -3.6185, -3.3879, -2.0035, -2.0453, -3.0452, -2.1024, -2.2759, -2.6516, -4.3569, -3.6456, -2.3824, -3.7115, -5.0829, -6.2136, -7.0765, -6.8802, -6.4042, -2.6943, 1.3032, 2.8085, -2.4198, 6.8476, 8.522, 10.8666, 10.9764, 11.8694, 11.688, 10.8525, -10.1854, -14.3979, -14.1885, -6.1104, -2.3069, 3.0598, 3.2787, 7.7402, 9.9334, 10.5862, 12.5907, 18.9431, - 13.3492, 12.8348, 12.1001, 10.6097, 8.9141, 7.8597, 5.9391, 3.8673, 2.6411, 2.3479, 2.7602, 2.8027, 2.2779, 0.4287, -1.3226, -2.0315, -2.1676, -1.5551, -1.2222, -2.1197, -4.0818, -6.1594, -8.1874, -9.3177, -9.4499, -9.7874, -10.1789, -10.6801, -10.4712, -3.7681, -4.8313, -5.1537, -4.2661, -3.2035, -1.4351, 1.4217, 3.2157, 5.2602, 6.9893, 5.7708, -7.9426, - 23.1558, 23.5472, 22.1677, 18.7915, 13.0187, 6.0783, -0.4803, -4.5728, -6.1861, -7.0011, -7.3578, -8.089, -10.0377, -12.234, -12.8288, -11.4502, -9.5173, -6.4728, -2.1175, 2.0048, 1.357, -2.9595, -2.6436, 1.518, 3.0406, -2.5769, -4.8065, -2.5134, -0.8343, 3.1119, 3.3528, 5.9276, 3.6737, 2.5908, 1.6925, -3.4674, -1.5813, -3.2207, -2.1812, -9.8987, -8.8538, - 26.492, 27.5278, 23.5895, 18.4003, 14.4396, 11.3628, 6.6147, 2.4341, -0.2444, -2.4075, -4.2073, -6.4485, -7.8162, -9.2259, -9.5571, -9.3064, -9.091, -7.0174, -7.1701, -7.0279, -7.651, -7.5329, -8.2698, -7.2504, -4.4537, -4.4137, -4.3225, -4.9571, -2.4902, -7.3866, -6.0243, -3.8745, 0.0041, 2.702, 4.9257, 5.6046, 5.2905, 3.4738, 1.697, -6.4124, 2.1053, - 20.0311, 32.4089, 21.4065, 3.874, 5.863, 17.0357, 3.7543, 2.9904, 15.6577, 4.2113, -0.9665, 3.2682, -4.9242, 0.9109, -5.5297, -0.979, -5.0003, -0.7131, -5.5269, -8.0296, -9.9403, -10.8809, -10.2649, -9.9965, -9.6956, -10.6759, -12.5982, -13.0794, -12.6109, 0.8915, 0.0604, -0.2305, -0.0021, -0.6053, -0.3414, -0.0731, 0.4824, 0.7549, -0.1062, -0.8306, -13.4365, - 16.7766, 17.5169, 16.4982, 14.0891, 10.0932, 5.3461, 0.6341, -3.6859, -5.9242, -6.3128, -5.935, -5.7548, -6.0307, -6.0498, -6.4996, -6.5626, -4.8816, -3.2502, -3.2922, -4.2819, -4.8479, -5.5791, -4.7813, -3.1384, -3.49, -2.8954, 0.2902, 4.4573, 7.4915, -5.5534, -4.1269, -1.5355, 0.4168, 0.9124, 3.0599, 2.1241, 2.4262, 2.5, 4.5034, -4.7272, 8.0549, - 14.2987, 14.8926, 15.4168, 16.0974, 16.7877, 16.0424, 12.971, 8.0251, 2.909, -0.5642, -2.964, -4.5656, -6.3342, -5.7781, -3.4597, 0.3272, 2.7738, -0.3574, -4.8087, -8.1398, -9.6152, -7.9303, -6.227, -7.0986, -10.3018, -13.1453, -11.2961, -9.1627, -8.7927, 1.0994, 1.8123, 2.8974, 2.905, 4.6509, 3.4505, -0.601, -1.4758, -2.7795, -2.4745, -9.4847, -15.4782, - 19.5896, 21.6796, 21.9059, 19.1821, 14.0268, 8.5044, 2.2676, -4.7266, -10.645, -13.046, -14.086, -14.5335, -14.9498, -14.787, -14.0697, -11.4549, -8.2147, -4.026, 0.3628, 4.9113, 3.4988, 0.578, 1.9943, 2.981, 0.8573, -1.3207, -0.074, 2.1207, 1.474, 10.3387, 1.2319, -0.4911, -1.8207, -1.07, -0.8286, 0.3764, 0.204, -0.829, -1.6698, -5.4418, -14.7994, - 7.6904, 8.5944, 9.5072, 9.882, 10.2276, 10.5222, 10.3373, 9.3607, 7.6459, 4.8852, 2.1707, -0.1575, -1.8433, -2.7877, -2.2526, -0.5664, 2.3824, 4.3345, 3.544, -0.6514, -5.2439, -9.2918, -11.7988, -14.1092, -12.7385, -9.1451, -9.6551, -10.7736, -10.0695, 11.9243, 11.2262, 10.3898, 9.8282, 8.0787, 3.3521, -3.2649, -10.5053, -13.2404, -13.3007, -14.4881, -21.2847, - 30.307, 29.5477, 26.4796, 21.7752, 16.6251, 11.7301, 7.3299, 3.8872, 0.729, -1.2037, -2.4737, -3.5896, -4.8044, -5.4589, -6.3339, -6.5407, -6.0748, -6.4957, -7.6726, -8.7065, -8.7749, -8.8999, -9.3481, -9.1891, -9.9612, -10.0486, -10.55, -11.2845, -11, -6.1498, -6.3059, -5.5965, -4.5595, -2.8356, 0.0899, 2.711, 4.5977, 5.7639, 7.0861, 5.1987, -6.4033, - 12.2542, 12.1227, 12.1295, 13.7252, 16.2506, 16.1281, 10.9394, 4.8988, -0.4731, -3.6819, -5.4021, -7.4944, -8.2715, -8.0576, -6.1477, -3.0306, 1.9117, 4.056, 2.1482, 0.8098, 0.1207, 0.0058, -2.3034, -4.0466, -3.922, -6.4147, -11.2118, -17.1187, -19.9247, 6.0099, 3.6952, 1.2907, -0.5044, -0.8291, -1.0627, -1.1957, -1.1416, -1.4267, -1.5418, -3.2939, -24.486, - 9.7234, 8.7897, 6.536, 5.5091, 6.6941, 8.8748, 9.0238, 7.6482, 4.3129, 1.4757, -0.7289, -2.4072, -4.4322, -5.3461, -3.7806, -1.1393, 2.9797, 3.5166, -1.5034, -4.0711, -4.3945, -4.4639, -5.1951, -6.0761, -6.0336, -6.996, -6.516, -4.952, -7.048, 14.6458, 13.1436, 9.144, 2.7564, -0.8129, -3.8913, -6.65, -6.1267, -6.0986, -6.7696, -9.3407, -21.2384, - 8.5519, 7.5224, 5.9151, 4.8177, 3.503, 2.2565, 1.1622, 0.1988, -0.5493, -0.385, -0.1928, -0.4114, -0.8801, -1.0153, -1.0764, -1.4171, -1.4905, -1.3971, -1.0636, -1.1738, -0.9725, -1.888, -2.3866, -2.7467, -2.5988, -2.5326, -3.1114, -3.2783, -3.3604, -3.8082, -3.8849, -4.0621, -3.5801, -2.8055, -1.5136, 0.9076, 2.835, 4.3455, 5.8838, 5.6825, -0.4474, - 7.7224, 9.4298, 7.9025, 6.4102, 5.0524, 7.1733, 6.8444, 5.1985, 1.7514, 0.1644, 0.4222, 1.0885, -0.3101, -2.4745, -2.9872, -2.3617, -3.5889, -3.7306, -1.5428, -0.5556, -0.6425, -2.7366, -1.5405, -2.2119, -3.2504, -3.1003, -4.4891, -10.0519, -13.5853, -15.9446, -3.2508, 0.2918, -0.9236, 3.57, 5.1357, 5.1789, 6.0048, 3.6122, 3.0229, -6.6974, 0.466, - 12.4572, 13.576, 13.8205, 13.8979, 14.7964, 17.0228, 18.4159, 17.4577, 14.0275, 10.4467, 7.5633, 5.822, 5.5014, 6.0819, 6.428, 5.7453, 2.9483, 0.4368, -2.0706, -3.5909, -6.3177, -11.4245, -17.9894, -23.7008, -25.5017, -25.0724, -24.5956, -23.3443, -22.8376, 1.8005, 0.405, -0.0309, -0.4072, -0.7903, -0.7639, -0.633, 0.2496, 0.9862, 0.2958, -1.1118, -25.7677, - 4.7942, 4.1637, 3.1217, 3.4886, 5.7426, 8.4586, 9.4051, 8.4408, 4.0573, -0.0847, -2.6488, -4.2622, -6.8882, -7.9882, -8.0785, -6.5745, -3.6736, 0.0836, 3.7506, 4.295, 1.443, 1.7647, 2.5945, 0.5096, -1.403, -2.4095, -4.2409, -7.3362, -10.5254, 14.3716, 9.9001, 5.5613, -0.4343, -4.0106, -4.4911, -4.7396, -4.3992, -3.5933, -3.3021, -4.8629, -20.9215, - 21.6217, 21.5816, 19.9361, 17.4078, 14.6925, 11.478, 7.736, 4.5567, 2.3261, 1.3757, 0.8699, 1.0465, 1.101, -0.3579, -2.1883, -4.1422, -5.522, -7.4591, -9.7124, -11.0673, -12.8828, -14.8063, -14.5786, -12.2038, -9.6561, -7.6717, -6.6862, -4.494, -2.3008, -2.8294, -2.2589, -0.7299, 1.858, 3.4539, 3.4053, 2.7591, 1.9997, 0.5308, 0.5471, -8.7356, -3.9438, - 1.0482, 0.882, 0.312, -0.0147, 0.1548, 1.1642, 2.5065, 4.2829, 6.8793, 9.8376, 11.4462, 10.6004, 8.7525, 7.4364, 7.3679, 8.2254, 7.9411, 4.8316, -0.5361, -4.6026, -6.7708, -7.8326, -7.7624, -5.3939, -6.4851, -9.7433, -13.7435, -16.3579, -14.4263, 10.9932, 7.619, 5.9532, 4.7231, 0.1759, -2.5109, -4.5002, -5.8815, -4.2941, -4.7897, -7.4879, -24.0798, - 8.4638, 7.6638, 6.7405, 6.7849, 9.6108, 11.6513, 11.2989, 8.3544, 3.044, -0.8467, -3.9303, -4.9339, -3.7358, -4.1317, -2.0585, 2.7514, 7.6579, 7.9793, 2.3491, -1.2307, -6.1104, -5.2397, -3.7933, -5.5972, -9.8841, -12.1146, -11.4629, -8.7974, -10.4828, 8.1529, 4.6235, 5.0235, -3.915, -7.5503, -5.3361, -1.2531, 6.4683, 2.2949, -0.055, -8.4536, -22.5498, - 9.8543, 8.7085, 6.2122, 3.2566, 2.0932, 1.8184, 0.621, -1.4796, -2.3312, -2.6373, -4.0537, -4.6289, -4.6135, -3.7432, -2.1216, 0.8603, 3.6326, 5.0735, 3.4051, 1.8301, 1.3556, -1.1657, -2.6873, -3.258, -2.3407, -3.5712, -3.7082, -3.8659, -2.5155, -3.0106, -3.6582, 1.1257, 3.5876, 5.1138, 3.862, 1.9732, 0.5329, 1.0253, -0.8077, -9.7439, -1.3313, - -2.9689, -3.6925, -3.2882, -2.1408, -0.3207, 1.4181, 2.0372, 0.1628, -1.5615, -1.1744, -1.1748, -2.3007, -3.8174, -4.8189, -4.0221, -1.3971, 3.2927, 7.6888, 9.8326, 7.1859, 3.6459, 2.2387, 1.1579, 1.6876, 0.0249, -1.1344, -3.2237, -2.0378, -1.2991, 8.2053, 7.6257, 7.4526, 5.2692, 0.6619, -2.5875, -5.5343, -3.5316, -3.8077, -4.5073, -9.2463, -10.5134, - 9.7903, 6.5524, 4.2187, 2.8629, 1.5301, 2.609, 2.8671, -0.4058, 0.1443, 2.1025, 2.2641, 2.254, 2.8227, 4.2305, 2.6246, 0.1011, -0.5037, -2.5281, 5.9816, 8.8018, 3.5902, -2.1055, -8.2336, -7.5542, -8.3988, -6.77, -12.1221, -12.6274, -4.0986, 15.9214, 10.1934, 4.0555, -0.7395, -4.485, -5.0408, 1.8975, -3.7215, -6.1218, -5.7613, -6.198, -17.642, - 29.2898, 29.127, 27.9887, 26.035, 22.788, 18.9325, 14.8741, 10.7353, 6.3361, 1.5435, -3.4721, -8.0918, -11.5471, -14.2024, -15.543, -16.5237, -17.5387, -18.0503, -18.3862, -18.0321, -17.2039, -14.4258, -7.6289, -2.1492, -0.8256, -0.4858, 0.7007, -0.7217, -3.5225, 7.7486, 6.5879, 3.6481, 0.1102, -1.4486, -1.4917, -1.7642, -2.4587, -2.7189, -2.3171, -5.8956, -12.2398, - 4.4923, 5.9961, 3.5313, -0.1456, -2.9561, -3.9972, -5.5178, -6.5495, -8.2904, -9.4007, -9.5368, -9.2154, -10.6132, -12.2389, -12.145, -11.3212, -9.2653, -6.1867, -0.5047, 2.8376, -1.5645, 1.0645, 6.8296, 12.903, 17.1169, 16.2097, 16.8799, 17.2979, 14.2904, 3.6672, 1.4385, 0.6939, -0.7824, -1.0548, 0.7585, 1.5905, 1.4809, 1.2351, 0.7042, -9.7316, 9.0007, - 17.1014, 20.3617, 22.1941, 23.6186, 23.8203, 21.498, 16.0993, 10.2193, 4.4688, 0.3152, -2.6232, -4.4565, -5.7629, -7.4399, -7.9702, -8.7398, -8.6156, -7.5758, -5.6113, -3.8507, -4.771, -7.9311, -11.5008, -12.9375, -11.7921, -9.1891, -8.8722, -13.4431, -16.6139, 2.6455, 3.2595, 3.634, 3.0753, 1.5772, -0.5994, -1.7486, -1.896, -2.7589, -2.489, -4.6996, -18.2534, - -6.795, -4.3945, -2.1814, -0.0391, 1.0243, 2.1577, 2.4659, 2.7954, 2.9978, 2.3847, 1.7726, 1.1096, -0.1514, -3.1834, -4.1688, -4.9229, -4.741, -4.3919, -0.8572, 1.4319, 1.2097, 1.1996, -0.6138, 0.0932, 1.9431, 3.2864, 3.0149, 3.03, 4.5238, -4.4471, -6.9731, -3.2184, -0.9733, 0.9643, 1.9409, 2.7291, 5.1726, 4.8981, 5.2725, -5.3657, 7.6481 -}; - -const struct lsp_codebook newamp2vq_cb[] = { - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/codes_450.txt */ - { - 41, - 9, - 500, - codes0 - }, - { 0, 0, 0, 0 } -}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebooknewamp2_energy.c b/vendor/codec2_flutter_ios_only/src/codec2_generated/codebooknewamp2_energy.c deleted file mode 100644 index 4e0e36c..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2_generated/codebooknewamp2_energy.c +++ /dev/null @@ -1,35 +0,0 @@ -/* THIS IS A GENERATED FILE. Edit generate_codebook.c and its input */ - -/* - * This intermediary file and the files that used to create it are under - * The LGPL. See the file COPYING. - */ - -#include "defines.h" - - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/newamp2_energy_q.txt */ -#ifdef __EMBEDDED__ -static const float codes0[] = { -#else -static float codes0[] = { -#endif - 0.1, - 5, - 10, - 15, - 20, - 30, - 37.5, - 42.5 -}; - -const struct lsp_codebook newamp2_energy_cb[] = { - /* /Users/dz0ny/meshcore-sar/packages/codec2_flutter/src/codec2/src/codebook/newamp2_energy_q.txt */ - { - 1, - 3, - 8, - codes0 - }, - { 0, 0, 0, 0 } -}; diff --git a/vendor/codec2_flutter_ios_only/src/codec2_generated/codec2/version.h b/vendor/codec2_flutter_ios_only/src/codec2_generated/codec2/version.h deleted file mode 100644 index 97e7a49..0000000 --- a/vendor/codec2_flutter_ios_only/src/codec2_generated/codec2/version.h +++ /dev/null @@ -1,12 +0,0 @@ -/*---------------------------------------------------------------------------*\ - Statically generated version.h for CocoaPods builds (replaces CMake output). -\*---------------------------------------------------------------------------*/ -#ifndef CODEC2_HAVE_VERSION -#define CODEC2_HAVE_VERSION - -#define CODEC2_VERSION_MAJOR 1 -#define CODEC2_VERSION_MINOR 2 -/* CODEC2_VERSION_PATCH intentionally undefined (not set in 1.2.0) */ -#define CODEC2_VERSION "1.2.0" - -#endif /* CODEC2_HAVE_VERSION */