resources: Merge branch release-staging-v21-2 into stable

Change-Id: I352905b9845ea89d9697910cb778515115b133e6
diff --git a/README.md b/README.md
index 88d8abc..0f6a1a6 100644
--- a/README.md
+++ b/README.md
@@ -35,7 +35,7 @@
 
 The compiled resources for gem5 can be found under
 http://dist.gem5.org/dist/{VERSION}. E.g. compiled resources for gem5 v20.2
-are under http://dist.gem5.org/dist/develop and are compiled from
+are under http://dist.gem5.org/dist/v20-2 and are compiled from
 gem5-resources v20.2. http://dist.gem5.org/dist/develop is kept in sync
 with the develop branch, and therefore should not be depended upon for stable,
 regular usage.
@@ -68,14 +68,14 @@
 
 ## Resource: RISCV Tests
 
-The RISCV Tests soruce can be found in the `src/riscv-tests` directory. More
+The RISCV Tests source can be found in the `src/riscv-tests` directory. More
 information about these tests can be found in `src/riscv-tests/README.md`.
 
 ### RISCV Tests Origins
 
 The RISCV Tests in this repository were obtained from
-<https://github.com/riscv/riscv-tests.git>, revision
-19bfdab48c2a6da4a2c67d5779757da7b073811d.
+<https://github.com/riscv-software-src/riscv-tests.git>, revision
+e65ecdf941a5484af27f9be223fb655ebcb0398b.
 
 ### RISCV Tests Compilation
 
@@ -96,34 +96,34 @@
 
 ### RISCV Tests Pre-built binaries
 
-<http://dist.gem5.org/dist/v21-1/test-progs/riscv-tests/dhrystone.riscv>
+<http://dist.gem5.org/dist/v21-2/test-progs/riscv-tests/dhrystone.riscv>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/riscv-tests/median.riscv>
+<http://dist.gem5.org/dist/v21-2/test-progs/riscv-tests/median.riscv>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/riscv-tests/mm.riscv>
+<http://dist.gem5.org/dist/v21-2/test-progs/riscv-tests/mm.riscv>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/riscv-tests/mt-matmul.riscv>
+<http://dist.gem5.org/dist/v21-2/test-progs/riscv-tests/mt-matmul.riscv>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/riscv-tests/mt-vvadd.riscv>
+<http://dist.gem5.org/dist/v21-2/test-progs/riscv-tests/mt-vvadd.riscv>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/riscv-tests/multiply.riscv>
+<http://dist.gem5.org/dist/v21-2/test-progs/riscv-tests/multiply.riscv>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/riscv-tests/pmp.riscv>
+<http://dist.gem5.org/dist/v21-2/test-progs/riscv-tests/pmp.riscv>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/riscv-tests/qsort.riscv>
+<http://dist.gem5.org/dist/v21-2/test-progs/riscv-tests/qsort.riscv>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/riscv-tests/rsort.riscv>
+<http://dist.gem5.org/dist/v21-2/test-progs/riscv-tests/rsort.riscv>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/riscv-tests/spmv.riscv>
+<http://dist.gem5.org/dist/v21-2/test-progs/riscv-tests/spmv.riscv>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/riscv-tests/towers.riscv>
+<http://dist.gem5.org/dist/v21-2/test-progs/riscv-tests/towers.riscv>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/riscv-tests/vvadd.riscv>
+<http://dist.gem5.org/dist/v21-2/test-progs/riscv-tests/vvadd.riscv>
 
 ## Resource: simple
 
 The simple resources are small binaries, often used to run quick tests and
-checks in gem5. Their bare-meltal
+checks in gem5. They are baremetal.
 
 ### simple Compilation
 
@@ -241,85 +241,85 @@
 
 ### simple Pre-built binaries
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/x86/test_pthread_create_seq>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/x86/test_pthread_create_seq>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/x86/test_pthread_create_para>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/x86/test_pthread_create_para>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/x86/test_pthread_mutex>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/x86/test_pthread_mutex>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/x86/test_atomic>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/x86/test_atomic>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/x86/test_pthread_cond>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/x86/test_pthread_cond>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/x86/test_std_thread>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/x86/test_std_thread>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/x86/test_std_mutex>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/x86/test_std_mutex>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/x86/test_std_condition_variable>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/x86/test_std_condition_variable>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch32/test_pthread_create_seq>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch32/test_pthread_create_seq>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch32/test_pthread_create_para>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch32/test_pthread_create_para>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch32/test_pthread_mutex>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch32/test_pthread_mutex>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch32/test_atomic>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch32/test_atomic>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch32/test_pthread_cond>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch32/test_pthread_cond>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch32/test_std_thread>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch32/test_std_thread>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch32/test_std_mutex>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch32/test_std_mutex>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch32/test_std_condition_variable>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch32/test_std_condition_variable>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch64/test_pthread_create_seq>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch64/test_pthread_create_seq>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch64/test_pthread_create_para>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch64/test_pthread_create_para>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch64/test_pthread_mutex>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch64/test_pthread_mutex>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch64/test_atomic>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch64/test_atomic>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch64/test_pthread_cond>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch64/test_pthread_cond>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch64/test_std_thread>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch64/test_std_thread>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch64/test_std_mutex>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch64/test_std_mutex>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/aarch64/test_std_condition_variable>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/aarch64/test_std_condition_variable>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/riscv64/test_pthread_create_seq>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/riscv64/test_pthread_create_seq>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/riscv64/test_pthread_create_para>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/riscv64/test_pthread_create_para>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/riscv64/test_pthread_mutex>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/riscv64/test_pthread_mutex>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/riscv64/test_atomic>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/riscv64/test_atomic>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/riscv64/test_pthread_cond>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/riscv64/test_pthread_cond>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/riscv64/test_std_thread>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/riscv64/test_std_thread>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/riscv64/test_std_mutex>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/riscv64/test_std_mutex>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/riscv64/test_std_condition_variable>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/riscv64/test_std_condition_variable>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/sparc64/test_pthread_create_seq>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/sparc64/test_pthread_create_seq>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/sparc64/test_pthread_create_para>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/sparc64/test_pthread_create_para>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/sparc64/test_pthread_mutex>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/sparc64/test_pthread_mutex>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/sparc64/test_atomic>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/sparc64/test_atomic>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/sparc64/test_pthread_cond>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/sparc64/test_pthread_cond>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/sparc64/test_std_thread>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/sparc64/test_std_thread>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/sparc64/test_std_mutex>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/sparc64/test_std_mutex>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pthreads/sparc64/test_std_condition_variable>
+<http://dist.gem5.org/dist/v21-2/test-progs/pthreads/sparc64/test_std_condition_variable>
 
 ## Resource: Square
 
@@ -336,7 +336,7 @@
 
 ### Square Pre-built binary
 
-<http://dist.gem5.org/dist/v21-1/test-progs/square/square.o>
+<http://dist.gem5.org/dist/v21-2/test-progs/square/square>
 
 # Resource: HSA Agent Packet Example
 
@@ -390,21 +390,21 @@
 
 ## Pre-built binary
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/2dshfl>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/2dshfl>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/dynamic_shared>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/dynamic_shared>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/inline_asm>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/inline_asm>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/MatrixTranspose>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/MatrixTranspose>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/sharedMemory>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/sharedMemory>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/shfl>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/shfl>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/stream>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/stream>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/unroll>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/unroll>
 
 # Resource: Heterosync
 
@@ -427,7 +427,7 @@
 
 ## Pre-built binary
 
-<http://dist.gem5.org/dist/v21-1/test-progs/heterosync/gcn3/allSyncPrims-1kernel>
+<http://dist.gem5.org/dist/v21-2/test-progs/heterosync/gcn3/allSyncPrims-1kernel>
 
 # Resource: lulesh
 
@@ -441,7 +441,7 @@
 docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu make
 ```
 
-By default, the makefile builds for gfx801, and is placed in the `src/gpu/lulesh/bin` folder.
+By default, the Makefile builds for gfx801, and is placed in the `src/gpu/lulesh/bin` folder.
 
 lulesh is a GPU application, which requires that gem5 is built with the GCN3_X86 architecture.
 To build GCN3_X86:
@@ -465,7 +465,7 @@
 
 ## Pre-built binary
 
-<http://dist.gem5.org/dist/v21-1/test-progs/lulesh/lulesh>
+<http://dist.gem5.org/dist/v21-2/test-progs/lulesh/lulesh>
 
 # Resource: halo-finder (HACC)
 
@@ -510,7 +510,7 @@
 
 ## Pre-built binary
 
-<http://dist.gem5.org/dist/v21-1/test-progs/halo-finder/ForceTreeTest>
+<http://dist.gem5.org/dist/v21-2/test-progs/halo-finder/ForceTreeTest>
 
 # Resource: DNNMark
 
@@ -596,7 +596,7 @@
 
 ## Pre-built binary
 
-<http://dist.gem5.org/dist/v21-1/test-progs/pennant/pennant>
+<http://dist.gem5.org/dist/v21-2/test-progs/pennant/pennant>
 
 ## Resource: SPEC 2006
 
@@ -646,7 +646,7 @@
 
 ### GAPBS Pre-built disk image
 
-<http://dist.gem5.org/dist/v21-1/images/x86/ubuntu-18-04/gapbs.img.gz>.
+<http://dist.gem5.org/dist/v21-2/images/x86/ubuntu-18-04/gapbs.img.gz>.
 
 ## Resource: PARSEC Benchmark Suite
 
@@ -667,13 +667,13 @@
 
 ### GAPBS Pre-built disk image
 
-<http://dist.gem5.org/dist/v21-1/images/x86/ubuntu-18-04/parsec.img.gz>.
+<http://dist.gem5.org/dist/v21-2/images/x86/ubuntu-18-04/parsec.img.gz>.
 
 ## Resource: NAS Parallel Benchmarks (NPB) Tests
 
 The NAS Parallel Benchmarks (NPB) are a small set of programs designed to
 help evaluate the performance of parallel supercomputers. The set consists of
-five Lunux Kernels and three pseudo-applications. gem5 resources provides a
+five Linux Kernels and three pseudo-applications. gem5 resources provides a
 disk image, and scripts allowing for the NPB image to be run within gem5 X86
 simulations.
 
@@ -694,7 +694,7 @@
 
 ### NPB Pre-built disk image
 
-<http://dist.gem5.org/dist/v21-1/images/x86/ubuntu-18-04/npb.img.gz>
+<http://dist.gem5.org/dist/v21-2/images/x86/ubuntu-18-04/npb.img.gz>
 
 
 ## Resource: Linux Boot Tests
@@ -703,11 +703,11 @@
 More information on Linux boot tests can be found [here](https://www.gem5.org/project/2020/03/09/boot-tests.html).
 
 The boot-tests resources consist of three main components:
-- boot-tests disk image
+- x86-ubuntu disk image
 - gem5 run scripts to execute boot tests
 - linux kernel configuration files
 
-The instructions to build the boot-tests disk image (`boot-exit`), the Linux binaries, and how to use gem5 run scripts to run boot-tests are available in this [README](src/boot-tests/README.md) file.
+The instructions to build the x86-ubuntu disk image, the Linux binaries, and how to use gem5 run scripts to run boot-tests are available in this [README](src/x86-ubuntu/README.md) file.
 
 ## Resource: RISCV Full System
 
@@ -718,11 +718,25 @@
 
 ### RISCV Full System pre-built disk image
 
-<http://dist.gem5.org/dist/develop/images/riscv/busybox/riscv-disk.img.gz>
+<http://dist.gem5.org/dist/v21-2/images/riscv/busybox/riscv-disk.img.gz>
 
 ### RISCV Full System pre-built Linux bootloader
 
-<http://dist.gem5.org/dist/develop/kernels/riscv/static/bootloader-vmlinux-5.10>
+<http://dist.gem5.org/dist/v21-2/kernels/riscv/static/bootloader-vmlinux-5.10>
+
+
+## Resource: RISCV Full System with Disk Image
+
+The RISCV Full System resource includes a RISCV bootloader (`berkeley bootloader (bbl)`) to boot the Linux 5.10 kernel on a RISCV system.
+The workload and the Linux utils (provided by BusyBox) are also included in the bootloader.
+The resource also contains simple gem5 run/config scripts to run Linux full system simulations in which a user may telnet into.
+
+More details on building such a RISCV bootloader and hwo does it work are available in the [README.md](src/riscv-boot-exit-nodisk/README.md) file.
+
+### RISCV Full System pre-built Linux bootloader with embedded workload
+
+<http://dist.gem5.org/dist/v21-2/misc/riscv/bbl-busybox-boot-exit>
+
 
 ## Resource: Insttest
 
@@ -753,7 +767,7 @@
 
 ### Insttest Pre-built binary
 
-<http://dist.gem5.org/dist/v21-1/test-progs/insttest/bin/sparc/linux/insttest>
+<http://dist.gem5.org/dist/v21-2/test-progs/insttest/bin/sparc/linux/insttest>
 
 ## Resource: Linux Kernel Binary
 
@@ -766,10 +780,10 @@
 
 ### Linux Kernel Pre-built binaries
 
-<http://dist.gem5.org/dist/v21-1/kernels/x86/static/vmlinux-4.4.186>
-<http://dist.gem5.org/dist/v21-1/kernels/x86/static/vmlinux-4.9.186>
-<http://dist.gem5.org/dist/v21-1/kernels/x86/static/vmlinux-4.14.134>
-<http://dist.gem5.org/dist/v21-1/kernels/x86/static/vmlinux-4.19.83>
+<http://dist.gem5.org/dist/v21-2/kernels/x86/static/vmlinux-4.4.186>
+<http://dist.gem5.org/dist/v21-2/kernels/x86/static/vmlinux-4.9.186>
+<http://dist.gem5.org/dist/v21-2/kernels/x86/static/vmlinux-4.14.134>
+<http://dist.gem5.org/dist/v21-2/kernels/x86/static/vmlinux-4.19.83>
 
 ## Licensing
 
@@ -819,9 +833,9 @@
 [`src/npb`](
 https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/npb).
 The NAS Parallel Benchmarks utilize a permissive BSD-style license.
-* **boot-exit**: Consult individual copyright notices of source files in
-[`src/boot-exit`](
-https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/boot-exit).
+* **x86-ubuntu**: Consult individual copyright notices of source files in
+[`src/x86-ubuntu`](
+https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/x86-ubuntu).
 * **insttest**: Consult individual copyright notices of source files in
 [`src/insttest`](
 https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/stable/src/insttest).
diff --git a/resources.json b/resources.json
index 395ccb6..316a960 100644
--- a/resources.json
+++ b/resources.json
@@ -84,32 +84,6 @@
         },
         {
             "type" : "resource",
-            "name" : "x86-boot-exit",
-            "documentation" : "A disk image containing Ubuntu 18.04 for X86 which will run a `m5 exit` instruction after booting. [This is deprecated. Please use 'x86-ubuntu-18.04-img'].",
-            "architecture" : "X86",
-            "is_zipped" : true,
-            "md5sum" : "008a4bf505a04efed0758b49183e01f7",
-            "url" : "{url_base}/images/x86/ubuntu-18-04/boot-exit.img.gz",
-            "source" : "src/boot-exit",
-            "additional_metadata" : {
-                "root_partition": "1"
-            }
-        },
-        {
-            "type" : "resource",
-            "name" : "x86-ubuntu-img",
-            "documentation" : "A disk image containing Ubuntu 18.04 for x86. This image will run an `m5 readfile` instruction after booting. If no script file is specified an `m5 exit` instruction will be executed. [This is deprecated. Please use 'x86-ubuntu-18.04-img'].",
-            "architecture" : "X86",
-            "is_zipped" : true,
-            "md5sum" : "90e363abf0ddf22eefa2c7c5c9391c49",
-            "url" : "{url_base}/images/x86/ubuntu-18-04/x86-ubuntu.img.gz",
-            "source" : "src/x86-ubuntu",
-            "additional_metadata" : {
-                "root_partition": "1"
-            }
-        },
-        {
-            "type" : "resource",
             "name" : "x86-ubuntu-18.04-img",
             "documentation" : "A disk image containing Ubuntu 18.04 for x86. This image will run an `m5 readfile` instruction after booting. If no script file is specified an `m5 exit` instruction will be executed.",
             "architecture" : "X86",
@@ -183,6 +157,7 @@
                     "name" : "riscv-lupio-linux-kernel",
                     "documentation": "A kernel built with LupIO device (https://gitlab.com/luplab/lupio) drivers. Must be used when setting LupIO board workloads. Compataible with the 'riscv-lupio-busybox-img' disk image resource.",
                     "is_zipped" : false,
+                    "architecture" : "RISCV",
                     "md5sum" : "f94351edbbb0e7bd9617f7b381635546",
                     "url" : "{url_base}/kernels/riscv/static/lupio-linux",
                     "source" : null
diff --git a/src/gapbs/README.md b/src/gapbs/README.md
index b2336c0..81d8c5d 100644
--- a/src/gapbs/README.md
+++ b/src/gapbs/README.md
@@ -10,9 +10,9 @@
 license: BSD-3-Clause
 ---
 
-This document provides instructions to create a GAP Benchmark Suite (GAPBS) disk image, which, along with provided configuration scripts, may be used to run GAPBS within gem5 simulations.
+This document provides instructions to create a GAP Benchmark Suite (GAPBS) disk image, which, along with an example script, may be used to run GAPBS within gem5 simulations. The example script uses a pre-built disk-image.
 
-A pre-build disk image, for X86, can be found, gzipped, here: <http://dist.gem5.org/dist/v21-1/images/x86/ubuntu-18-04/gapbs.img.gz>.
+A pre-built disk image, for X86, can be found, gzipped, here: <http://dist.gem5.org/dist/v21-2/images/x86/ubuntu-18-04/gapbs.img.gz>.
 
 ## Building the Disk Image
 
@@ -33,36 +33,48 @@
 
 After this process succeeds, the disk image can be found on the `src/gapbs/disk-image/gapbs-image/gapbs`.
 
-GAPBS disk image can support both real and synthetic graph inputs. The current pre-build disk image contains only one graph input which includes the New York city road map (with 733K nodes) it can be found: <http://users.diag.uniroma1.it/challenge9/download.shtml>.
+GAPBS disk image can support both real and synthetic graph inputs. The current pre-built disk image contains only one graph input which includes the New York city road map (with 733K nodes) it can be found: <http://users.diag.uniroma1.it/challenge9/download.shtml>.
 
 To use other graphs simply copy the graph in the gapbs/ directory and add them to gapbs/gapbs.json.
 
-## gem5 Configuration Scripts
+## Simulating GAPBS using an example script
 
-gem5 scripts which configure the system and run the simulation are available in `configs/`.
-The main script `run_gapbs.py` expects following arguments:
+An example script with a pre-configured system is available in the following directory within the gem5 repository:
 
-* **kernel** : A manditory positional argument. The path to the Linux kernel. GAPBS has been tested with [vmlinux-5.2.3](http://dist.gem5.org/dist/v21-1/kernels/x86/static/vmlinux-5.2.3). See `src/linux-kernel` for information on building a linux kernel for gem5.
+```
+gem5/configs/example/gem5_library/x86-gapbs-benchmarks.py
+```
 
-* **disk** : A mandatory positional argument. The path to the disk image.
+The example script specifies a system with the following parameters:
 
-* **cpu\_type** : A mandatory positional argument. The cpu model (`kvm`, `atomic`, `simple`, `o3`).
+* A `SimpleSwitchableProcessor` (`KVM` for startup and `TIMING` for ROI execution). There are 2 CPU cores, each clocked at 3 GHz.
+* 2 Level `MESI_Two_Level` cache with 32 kB L1I and L1D size, and, 256 kB L2 size. The L1 cache(s) has associativity of 8, and, the L2 cache has associativity 16. There are 2 L2 cache banks.
+* The system has 3 GB `SingleChannelDDR4_2400` memory.
+* The script uses `x86-linux-kernel-4.19.83` and `x86-gapbs`, the disk image created from following the instructions in this `README.md`.
 
-* **num\_cpus** : A mandatory positional argument. The number of cpu cores.
-
-* **mem\_sys** : A mandatory positional argument. The memory model (`classic`, `MI_example`, or `MESI_Two_Level`).
-
-* **benchmark** : A mandatory positional argument. The graph workload (`cc`, `bc`, `bfs`, `tc`, `pr`, `sssp`).
-
-* **synthetic** : A mandatory positional argument. The graph type. If synthetic graph then `1`, otherwise `0` for a real world graph.
-
-* **graph** : A mandatory positional argument. If synthetic, then the size of the graph. Otherwise the name of graph to execute.
-
-Example usage:
+The example script must be run with the `X86` binary. To build:
 
 ```sh
-<gem5 X86 binary> configs/run_gapbs.py <kernel> <disk> <cpu_type> <num_cpus> <mem_sys> <benchmark> <synthetic> <graph>
+git clone https://gem5.googlesource.com/public/gem5
+cd gem5
+scons build/X86/gem5.opt -j<proc>
 ```
+Once compiled, you may use the example config file to run the GAPBS benchmark programs using the following command:
+
+```sh
+# In the gem5 directory
+build/X86/gem5.opt \
+configs/example/gem5_library/x86-gapbs-benchmarks.py \
+--benchmark <benchmark_program> \
+--synthetic <synthetic> \
+--size <size_or_graph_name>
+```
+
+Description of the three arguments, provided in the above command are:
+* **--benchmark**, which refers to one of 5 benchmark programs, provided in the GAP Benchmark Suite. These include `cc`, `bc`, `tc`, `pr` and `bfs`. For more information on the workloads can be found at <http://gap.cs.berkeley.edu/benchmark.html>.
+* **--synthetic** refers whether to use a synthetic or a real graph. It accepts a boolean value.
+* **--size**, which refers to either the size of a synthetic graph from 1 to 16 nodes, or, a real graph. The real graph included in the pre-built disk-image is `USA-road-d.NY.gr`. Note that `--synthetic True` and `--size USA-road-d.NY.gr` cannot be combined, and, vice versa for real graphs.
+
 ## Working Status
 
 Working status of these tests for gem5-20 can be found [here](https://www.gem5.org/documentation/benchmark_status/gem5-20#gapbs-tests).
diff --git a/src/gapbs/configs/run_gapbs.py b/src/gapbs/configs/run_gapbs.py
deleted file mode 100644
index 997d12c..0000000
--- a/src/gapbs/configs/run_gapbs.py
+++ /dev/null
@@ -1,159 +0,0 @@
-#Copyright (c) 2020 The Regents of the University of California.
-#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 name of the copyright holders nor the names of its
-# 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.
-#
-
-
-""" Script to run GAP Benchmark suites workloads.
-    The workloads have two modes: synthetic and real graphs.
-"""
-
-import m5
-import m5.ticks
-from m5.objects import *
-
-import argparse
-
-from system import *
-
-def parse_arguments():
-    parser = argparse.ArgumentParser(description=
-                                "gem5 config file to run GAPBS")
-    parser.add_argument("kernel", type = str, help = "Path to vmlinux")
-    parser.add_argument("disk", type = str,
-                        help = "Path to the disk image containing GAPBS")
-    parser.add_argument("cpu_type", type = str, help = "Name of the detailed CPU")
-    parser.add_argument("num_cpus", type = str, help = "Number of CPUs")
-    parser.add_argument("mem_sys", type = str,
-                        help = "Memory model, Classic or MI_example")
-    parser.add_argument("benchmark", type = str,
-                        help = "Name of the GAPBS")
-    parser.add_argument("synthetic", type = int,
-                        help = "1 for synthetic graph, 0 for real graph")
-    parser.add_argument("graph", type = str,
-                        help = "synthetic=1: integer number. synthetic=0: graph")
-    parser.add_argument("-z", "--allow-listeners", default = False,
-                        action = "store_true",
-                        help = "Turn on listeners (e.g. gdb listener port);"
-                               "The listeners are off by default")
-    return parser.parse_args()
-
-
-def writeBenchScript(dir, benchmark_name, size, synthetic):
-    """
-    This method creates a script in dir which will be eventually
-    passed to the simulated system (to run a specific benchmark
-    at bootup).
-    """
-    input_file_name = '{}/run_{}_{}'.format(dir, benchmark_name, size)
-    if (synthetic):
-        with open(input_file_name,"w") as f:
-            f.write('./{} -g {}\n'.format(benchmark_name, size))
-    elif(synthetic==0):
-        with open(input_file_name,"w") as f:
-            # The workloads that are copied to the disk image using Packer
-            # should be located in /home/gem5/.
-            # Since the command running the workload will be executed with
-            # pwd = /home/gem5/gapbs, the path to the copied workload is
-            # ../{workload-name}
-            f.write('./{} -sf ../{}'.format(benchmark_name, size))
-
-    return input_file_name
-
-if __name__ == "__m5_main__":
-    args = parse_arguments()
-
-
-    kernel = args.kernel
-    disk = args.disk
-    cpu_type = args.cpu_type
-    num_cpus = int(args.num_cpus)
-    mem_sys = args.mem_sys
-    benchmark_name = args.benchmark
-    benchmark_size = args.graph
-    synthetic = args.synthetic
-    allow_listeners = args.allow_listeners
-
-    if (mem_sys == "classic"):
-        system = MySystem(kernel, disk, cpu_type, num_cpus)
-    elif (mem_sys == "MI_example" or "MESI_Two_Level"):
-        system = MyRubySystem(kernel, disk, cpu_type, mem_sys, num_cpus)
-
-    # For workitems to work correctly
-    # This will cause the simulator to exit simulation when the first work
-    # item is reached and when the first work item is finished.
-    system.work_begin_exit_count = 1
-    system.work_end_exit_count = 1
-
-    # Read in the script file passed in via an option.
-    # This file gets read and executed by the simulated system after boot.
-    # Note: The disk image needs to be configured to do this.
-
-    system.readfile = writeBenchScript(m5.options.outdir, benchmark_name,
-                                       benchmark_size, synthetic)
-
-    # set up the root SimObject and start the simulation
-    root = Root(full_system = True, system = system)
-
-    if system.getHostParallel():
-        # Required for running kvm on multiple host cores.
-        # Uses gem5's parallel event queue feature
-        # Note: The simulator is quite picky about this number!
-        root.sim_quantum = int(1e9) # 1 ms
-
-    if not allow_listeners:
-        m5.disableAllListeners()
-
-    # instantiate all of the objects we've created above
-    m5.instantiate()
-
-    print("Running the simulation")
-    exit_event = m5.simulate()
-
-    if exit_event.getCause() == "work started count reach":
-        print("Done booting Linux")
-        m5.stats.reset()
-        start_tick = m5.curTick()
-        start_insts = system.totalInsts()
-        # switching to atomic cpu if argument cpu == atomic
-        if cpu_type != 'kvm':
-            system.switchCpus(system.cpu, system.timingCpu)
-            print("Switch to detailed cpu model")
-    else:
-        print("ROI is not annotated!")
-        print('Exiting @ tick {} because {}'
-            .format(m5.curTick(), exit_event.getCause()))
-        exit()
-
-    exit_event = m5.simulate()
-
-    if exit_event.getCause() == "work items exit count reached":
-        m5.stats.dump()
-        m5.stats.reset()
-    exit_event = m5.simulate()
-    m5.stats.dump()
-    m5.stats.reset()
-    print('Exiting @ tick {} because {}'
-        .format(m5.curTick(), exit_event.getCause()))
diff --git a/src/gapbs/configs/system/MESI_Two_Level.py b/src/gapbs/configs/system/MESI_Two_Level.py
deleted file mode 100644
index a327cc5..0000000
--- a/src/gapbs/configs/system/MESI_Two_Level.py
+++ /dev/null
@@ -1,343 +0,0 @@
-#Copyright (c) 2020 The Regents of the University of California.
-#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 name of the copyright holders nor the names of its
-# 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.
-#
-
-
-""" This file creates a set of Ruby caches for the MESI TWO Level protocol
-This protocol models two level cache hierarchy. The L1 cache is split into
-instruction and data cache.
-
-This system support the memory size of up to 3GB.
-
-"""
-
-from __future__ import print_function
-from __future__ import absolute_import
-
-import math
-
-from m5.defines import buildEnv
-from m5.util import fatal, panic
-
-from m5.objects import *
-
-class MESITwoLevelCache(RubySystem):
-
-    def __init__(self):
-        if buildEnv['PROTOCOL'] != 'MESI_Two_Level':
-            fatal("This system assumes MESI_Two_Level!")
-
-        super(MESITwoLevelCache, self).__init__()
-
-        self._numL2Caches = 8
-
-    def setup(self, system, cpus, mem_ctrls, dma_ports, iobus):
-        """Set up the Ruby cache subsystem. Note: This can't be done in the
-           constructor because many of these items require a pointer to the
-           ruby system (self). This causes infinite recursion in initialize()
-           if we do this in the __init__.
-        """
-        # Ruby's global network.
-        self.network = MyNetwork(self)
-
-        # MESI_Two_Level example uses 5 virtual networks
-        self.number_of_virtual_networks = 5
-        self.network.number_of_virtual_networks = 5
-
-        # There is a single global list of all of the controllers to make it
-        # easier to connect everything to the global network. This can be
-        # customized depending on the topology/network requirements.
-        # L1 caches are private to a core, hence there are one L1 cache per CPU
-        # core. The number of L2 caches are dependent to the architecture.
-        self.controllers = \
-            [L1Cache(system, self, cpu, self._numL2Caches) for cpu in cpus] + \
-            [L2Cache(system, self, self._numL2Caches) for num in \
-            range(self._numL2Caches)] + [DirController(self, \
-            system.mem_ranges, mem_ctrls)] + [DMAController(self) for i \
-            in range(len(dma_ports))]
-
-        # Create one sequencer per CPU and dma controller.
-        # Sequencers for other controllers can be here here.
-        self.sequencers = [RubySequencer(version = i,
-                                # Grab dcache from ctrl
-                                dcache = self.controllers[i].L1Dcache,
-                                clk_domain = self.controllers[i].clk_domain,
-                                pio_request_port = iobus.cpu_side_ports,
-                                mem_request_port = iobus.cpu_side_ports,
-                                pio_response_port = iobus.mem_side_ports
-                                ) for i in range(len(cpus))] + \
-                          [DMASequencer(version = i,
-                                        in_ports = port)
-                            for i,port in enumerate(dma_ports)
-                          ]
-
-        for i,c in enumerate(self.controllers[:len(cpus)]):
-            c.sequencer = self.sequencers[i]
-
-        #Connecting the DMA sequencer to DMA controller
-        for i,d in enumerate(self.controllers[-len(dma_ports):]):
-            i += len(cpus)
-            d.dma_sequencer = self.sequencers[i]
-
-        self.num_of_sequencers = len(self.sequencers)
-
-        # Create the network and connect the controllers.
-        # NOTE: This is quite different if using Garnet!
-        self.network.connectControllers(self.controllers)
-        self.network.setup_buffers()
-
-        # Set up a proxy port for the system_port. Used for load binaries and
-        # other functional-only things.
-        self.sys_port_proxy = RubyPortProxy()
-        system.system_port = self.sys_port_proxy.in_ports
-        self.sys_port_proxy.pio_request_port = iobus.cpu_side_ports
-
-        # Connect the cpu's cache, interrupt, and TLB ports to Ruby
-        for i,cpu in enumerate(cpus):
-            cpu.icache_port = self.sequencers[i].in_ports
-            cpu.dcache_port = self.sequencers[i].in_ports
-            isa = buildEnv['TARGET_ISA']
-            if isa == 'x86':
-                cpu.interrupts[0].pio = self.sequencers[i].interrupt_out_port
-                cpu.interrupts[0].int_requestor = self.sequencers[i].in_ports
-                cpu.interrupts[0].int_responder = \
-                                        self.sequencers[i].interrupt_out_port
-            if isa == 'x86' or isa == 'arm':
-                cpu.mmu.connectWalkerPorts(
-                    self.sequencers[i].in_ports, self.sequencers[i].in_ports)
-                cpu.itb.walker.port = self.sequencers[i].in_ports
-                cpu.dtb.walker.port = self.sequencers[i].in_ports
-
-class L1Cache(L1Cache_Controller):
-
-    _version = 0
-    @classmethod
-    def versionCount(cls):
-        cls._version += 1 # Use count for this particular type
-        return cls._version - 1
-
-    def __init__(self, system, ruby_system, cpu, num_l2Caches):
-        """Creating L1 cache controller. Consist of both instruction
-           and data cache. The size of data cache is 512KB and
-           8-way set associative. The instruction cache is 32KB,
-           2-way set associative.
-        """
-        super(L1Cache, self).__init__()
-
-        self.version = self.versionCount()
-        block_size_bits = int(math.log(system.cache_line_size, 2))
-        l1i_size = '32kB'
-        l1i_assoc = '2'
-        l1d_size = '512kB'
-        l1d_assoc = '8'
-        # This is the cache memory object that stores the cache data and tags
-        self.L1Icache = RubyCache(size = l1i_size,
-                                assoc = l1i_assoc,
-                                start_index_bit = block_size_bits ,
-                                is_icache = True)
-        self.L1Dcache = RubyCache(size = l1d_size,
-                            assoc = l1d_assoc,
-                            start_index_bit = block_size_bits,
-                            is_icache = False)
-        self.l2_select_num_bits = int(math.log(num_l2Caches , 2))
-        self.clk_domain = cpu.clk_domain
-        self.prefetcher = RubyPrefetcher()
-        self.send_evictions = self.sendEvicts(cpu)
-        self.transitions_per_cycle = 4
-        self.enable_prefetch = False
-        self.ruby_system = ruby_system
-        self.connectQueues(ruby_system)
-
-    def getBlockSizeBits(self, system):
-        bits = int(math.log(system.cache_line_size, 2))
-        if 2**bits != system.cache_line_size.value:
-            panic("Cache line size not a power of 2!")
-        return bits
-
-    def sendEvicts(self, cpu):
-        """True if the CPU model or ISA requires sending evictions from caches
-           to the CPU. Two scenarios warrant forwarding evictions to the CPU:
-           1. The O3 model must keep the LSQ coherent with the caches
-           2. The x86 mwait instruction is built on top of coherence
-           3. The local exclusive monitor in ARM systems
-        """
-        if type(cpu) is DerivO3CPU or \
-           buildEnv['TARGET_ISA'] in ('x86', 'arm'):
-            return True
-        return False
-
-    def connectQueues(self, ruby_system):
-        """Connect all of the queues for this controller.
-        """
-        self.mandatoryQueue = MessageBuffer()
-        self.requestFromL1Cache = MessageBuffer()
-        self.requestFromL1Cache.out_port = ruby_system.network.in_port
-        self.responseFromL1Cache = MessageBuffer()
-        self.responseFromL1Cache.out_port = ruby_system.network.in_port
-        self.unblockFromL1Cache = MessageBuffer()
-        self.unblockFromL1Cache.out_port = ruby_system.network.in_port
-
-        self.optionalQueue = MessageBuffer()
-
-        self.requestToL1Cache = MessageBuffer()
-        self.requestToL1Cache.in_port = ruby_system.network.out_port
-        self.responseToL1Cache = MessageBuffer()
-        self.responseToL1Cache.in_port = ruby_system.network.out_port
-
-class L2Cache(L2Cache_Controller):
-
-    _version = 0
-    @classmethod
-    def versionCount(cls):
-        cls._version += 1 # Use count for this particular type
-        return cls._version - 1
-
-    def __init__(self, system, ruby_system, num_l2Caches):
-
-        super(L2Cache, self).__init__()
-
-        self.version = self.versionCount()
-        # This is the cache memory object that stores the cache data and tags
-        self.L2cache = RubyCache(size = '1 MB',
-                                assoc = 16,
-                                start_index_bit = self.getBlockSizeBits(system,
-                                num_l2Caches))
-
-        self.transitions_per_cycle = '4'
-        self.ruby_system = ruby_system
-        self.connectQueues(ruby_system)
-
-    def getBlockSizeBits(self, system, num_l2caches):
-        l2_bits = int(math.log(num_l2caches, 2))
-        bits = int(math.log(system.cache_line_size, 2)) + l2_bits
-        return bits
-
-
-    def connectQueues(self, ruby_system):
-        """Connect all of the queues for this controller.
-        """
-        self.DirRequestFromL2Cache = MessageBuffer()
-        self.DirRequestFromL2Cache.out_port = ruby_system.network.in_port
-        self.L1RequestFromL2Cache = MessageBuffer()
-        self.L1RequestFromL2Cache.out_port = ruby_system.network.in_port
-        self.responseFromL2Cache = MessageBuffer()
-        self.responseFromL2Cache.out_port = ruby_system.network.in_port
-        self.unblockToL2Cache = MessageBuffer()
-        self.unblockToL2Cache.in_port = ruby_system.network.out_port
-        self.L1RequestToL2Cache = MessageBuffer()
-        self.L1RequestToL2Cache.in_port = ruby_system.network.out_port
-        self.responseToL2Cache = MessageBuffer()
-        self.responseToL2Cache.in_port = ruby_system.network.out_port
-
-
-
-class DirController(Directory_Controller):
-
-    _version = 0
-    @classmethod
-    def versionCount(cls):
-        cls._version += 1 # Use count for this particular type
-        return cls._version - 1
-
-    def __init__(self, ruby_system, ranges, mem_ctrls):
-        """ranges are the memory ranges assigned to this controller.
-        """
-        if len(mem_ctrls) > 1:
-            panic("This cache system can only be connected to one mem ctrl")
-        super(DirController, self).__init__()
-        self.version = self.versionCount()
-        self.addr_ranges = ranges
-        self.ruby_system = ruby_system
-        self.directory = RubyDirectoryMemory()
-        # Connect this directory to the memory side.
-        self.memory_out_port = mem_ctrls[0].port
-        self.connectQueues(ruby_system)
-
-    def connectQueues(self, ruby_system):
-        self.requestToDir = MessageBuffer()
-        self.requestToDir.in_port = ruby_system.network.out_port
-        self.responseToDir = MessageBuffer()
-        self.responseToDir.in_port = ruby_system.network.out_port
-        self.responseFromDir = MessageBuffer()
-        self.responseFromDir.out_port = ruby_system.network.in_port
-        self.requestToMemory = MessageBuffer()
-        self.responseFromMemory = MessageBuffer()
-
-class DMAController(DMA_Controller):
-
-    _version = 0
-    @classmethod
-    def versionCount(cls):
-        cls._version += 1 # Use count for this particular type
-        return cls._version - 1
-
-    def __init__(self, ruby_system):
-        super(DMAController, self).__init__()
-        self.version = self.versionCount()
-        self.ruby_system = ruby_system
-        self.connectQueues(ruby_system)
-
-    def connectQueues(self, ruby_system):
-        self.mandatoryQueue = MessageBuffer()
-        self.responseFromDir = MessageBuffer(ordered = True)
-        self.responseFromDir.in_port = ruby_system.network.out_port
-        self.requestToDir = MessageBuffer()
-        self.requestToDir.out_port = ruby_system.network.in_port
-
-
-class MyNetwork(SimpleNetwork):
-    """A simple point-to-point network. This doesn't not use garnet.
-    """
-
-    def __init__(self, ruby_system):
-        super(MyNetwork, self).__init__()
-        self.netifs = []
-        self.ruby_system = ruby_system
-
-    def connectControllers(self, controllers):
-        """Connect all of the controllers to routers and connec the routers
-           together in a point-to-point network.
-        """
-        # Create one router/switch per controller in the system
-        self.routers = [Switch(router_id = i) for i in range(len(controllers))]
-
-        # Make a link from each controller to the router. The link goes
-        # externally to the network.
-        self.ext_links = [SimpleExtLink(link_id=i, ext_node=c,
-                                        int_node=self.routers[i])
-                          for i, c in enumerate(controllers)]
-
-        # Make an "internal" link (internal to the network) between every pair
-        # of routers.
-        link_count = 0
-        self.int_links = []
-        for ri in self.routers:
-            for rj in self.routers:
-                if ri == rj: continue # Don't connect a router to itself!
-                link_count += 1
-                self.int_links.append(SimpleIntLink(link_id = link_count,
-                                                    src_node = ri,
-                                                    dst_node = rj))
diff --git a/src/gapbs/configs/system/MI_example_caches.py b/src/gapbs/configs/system/MI_example_caches.py
deleted file mode 100644
index 758c291..0000000
--- a/src/gapbs/configs/system/MI_example_caches.py
+++ /dev/null
@@ -1,278 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (c) 2015 Jason Power
-# 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 name of the copyright holders nor the names of its
-# 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.
-#
-# Authors: Jason Power
-
-""" This file creates a set of Ruby caches, the Ruby network, and a simple
-point-to-point topology.
-See Part 3 in the Learning gem5 book: learning.gem5.org/book/part3
-You can change simple_ruby to import from this file instead of from msi_caches
-to use the MI_example protocol instead of MSI.
-
-IMPORTANT: If you modify this file, it's likely that the Learning gem5 book
-           also needs to be updated. For now, email Jason <jason@lowepower.com>
-
-"""
-
-from __future__ import print_function
-from __future__ import absolute_import
-
-import math
-
-from m5.defines import buildEnv
-from m5.util import fatal, panic
-
-from m5.objects import *
-
-class MIExampleSystem(RubySystem):
-
-    def __init__(self):
-        if buildEnv['PROTOCOL'] != 'MI_example':
-            fatal("This system assumes MI_example!")
-
-        super(MIExampleSystem, self).__init__()
-
-    def setup(self, system, cpus, mem_ctrls, dma_ports, iobus):
-        """Set up the Ruby cache subsystem. Note: This can't be done in the
-           constructor because many of these items require a pointer to the
-           ruby system (self). This causes infinite recursion in initialize()
-           if we do this in the __init__.
-        """
-        # Ruby's global network.
-        self.network = MyNetwork(self)
-
-        # MI example uses 5 virtual networks
-        self.number_of_virtual_networks = 5
-        self.network.number_of_virtual_networks = 5
-
-        # There is a single global list of all of the controllers to make it
-        # easier to connect everything to the global network. This can be
-        # customized depending on the topology/network requirements.
-        # Create one controller for each L1 cache (and the cache mem obj.)
-        # Create a single directory controller (Really the memory cntrl)
-        self.controllers = \
-            [L1Cache(system, self, cpu) for cpu in cpus] + \
-            [DirController(self, system.mem_ranges, mem_ctrls)] + \
-            [DMAController(self) for i in range(len(dma_ports))]
-
-        # Create one sequencer per CPU. In many systems this is more
-        # complicated since you have to create sequencers for DMA controllers
-        # and other controllers, too.
-        self.sequencers = [RubySequencer(version = i,
-                                # Grab dcache from ctrl
-                                dcache = self.controllers[i].cacheMemory,
-                                clk_domain = self.controllers[i].clk_domain,
-                                pio_request_port = iobus.cpu_side_ports,
-                                mem_request_port = iobus.cpu_side_ports,
-                                pio_response_port = iobus.mem_side_ports
-                                ) for i in range(len(cpus))] + \
-                          [DMASequencer(version = i,
-                                        in_ports = port)
-                            for i,port in enumerate(dma_ports)
-                          ]
-
-        for i,c in enumerate(self.controllers[0:len(cpus)]):
-            c.sequencer = self.sequencers[i]
-
-        for i,d in enumerate(self.controllers[-len(dma_ports):]):
-            i += len(cpus)
-            d.dma_sequencer = self.sequencers[i]
-
-        self.num_of_sequencers = len(self.sequencers)
-
-        # Create the network and connect the controllers.
-        # NOTE: This is quite different if using Garnet!
-        self.network.connectControllers(self.controllers)
-        self.network.setup_buffers()
-
-        # Set up a proxy port for the system_port. Used for load binaries and
-        # other functional-only things.
-        self.sys_port_proxy = RubyPortProxy()
-        system.system_port = self.sys_port_proxy.in_ports
-        self.sys_port_proxy.pio_request_port = iobus.cpu_side_ports
-
-        # Connect the cpu's cache, interrupt, and TLB ports to Ruby
-        for i,cpu in enumerate(cpus):
-            cpu.icache_port = self.sequencers[i].in_ports
-            cpu.dcache_port = self.sequencers[i].in_ports
-            isa = buildEnv['TARGET_ISA']
-            if isa == 'x86':
-                cpu.interrupts[0].pio = self.sequencers[i].interrupt_out_port
-                cpu.interrupts[0].int_requestor = self.sequencers[i].in_ports
-                cpu.interrupts[0].int_responder = \
-                                        self.sequencers[i].interrupt_out_port
-            if isa == 'x86' or isa == 'arm':
-                cpu.mmu.connectWalkerPorts(
-                    self.sequencers[i].in_ports, self.sequencers[i].in_ports)
-
-class L1Cache(L1Cache_Controller):
-
-    _version = 0
-    @classmethod
-    def versionCount(cls):
-        cls._version += 1 # Use count for this particular type
-        return cls._version - 1
-
-    def __init__(self, system, ruby_system, cpu):
-        """CPUs are needed to grab the clock domain and system is needed for
-           the cache block size.
-        """
-        super(L1Cache, self).__init__()
-
-        self.version = self.versionCount()
-        # This is the cache memory object that stores the cache data and tags
-        self.cacheMemory = RubyCache(size = '16kB',
-                               assoc = 8,
-                               start_index_bit = self.getBlockSizeBits(system))
-        self.clk_domain = cpu.clk_domain
-        self.send_evictions = self.sendEvicts(cpu)
-        self.ruby_system = ruby_system
-        self.connectQueues(ruby_system)
-
-    def getBlockSizeBits(self, system):
-        bits = int(math.log(system.cache_line_size, 2))
-        if 2**bits != system.cache_line_size.value:
-            panic("Cache line size not a power of 2!")
-        return bits
-
-    def sendEvicts(self, cpu):
-        """True if the CPU model or ISA requires sending evictions from caches
-           to the CPU. Two scenarios warrant forwarding evictions to the CPU:
-           1. The O3 model must keep the LSQ coherent with the caches
-           2. The x86 mwait instruction is built on top of coherence
-           3. The local exclusive monitor in ARM systems
-        """
-        if type(cpu) is DerivO3CPU or \
-           buildEnv['TARGET_ISA'] in ('x86', 'arm'):
-            return True
-        return False
-
-    def connectQueues(self, ruby_system):
-        """Connect all of the queues for this controller.
-        """
-        self.mandatoryQueue = MessageBuffer()
-        self.requestFromCache = MessageBuffer(ordered = True)
-        self.requestFromCache.out_port = ruby_system.network.in_port
-        self.responseFromCache = MessageBuffer(ordered = True)
-        self.responseFromCache.out_port = ruby_system.network.in_port
-        self.forwardToCache = MessageBuffer(ordered = True)
-        self.forwardToCache.in_port = ruby_system.network.out_port
-        self.responseToCache = MessageBuffer(ordered = True)
-        self.responseToCache.in_port = ruby_system.network.out_port
-
-class DirController(Directory_Controller):
-
-    _version = 0
-    @classmethod
-    def versionCount(cls):
-        cls._version += 1 # Use count for this particular type
-        return cls._version - 1
-
-    def __init__(self, ruby_system, ranges, mem_ctrls):
-        """ranges are the memory ranges assigned to this controller.
-        """
-        if len(mem_ctrls) > 1:
-            panic("This cache system can only be connected to one mem ctrl")
-        super(DirController, self).__init__()
-        self.version = self.versionCount()
-        self.addr_ranges = ranges
-        self.ruby_system = ruby_system
-        self.directory = RubyDirectoryMemory()
-        # Connect this directory to the memory side.
-        self.memory_out_port = mem_ctrls[0].port
-        self.connectQueues(ruby_system)
-
-    def connectQueues(self, ruby_system):
-        self.requestToDir = MessageBuffer(ordered = True)
-        self.requestToDir.in_port = ruby_system.network.out_port
-        self.dmaRequestToDir = MessageBuffer(ordered = True)
-        self.dmaRequestToDir.in_port = ruby_system.network.out_port
-
-        self.responseFromDir = MessageBuffer()
-        self.responseFromDir.out_port = ruby_system.network.in_port
-        self.dmaResponseFromDir = MessageBuffer(ordered = True)
-        self.dmaResponseFromDir.out_port = ruby_system.network.in_port
-        self.forwardFromDir = MessageBuffer()
-        self.forwardFromDir.out_port = ruby_system.network.in_port
-        self.requestToMemory = MessageBuffer()
-        self.responseFromMemory = MessageBuffer()
-
-class DMAController(DMA_Controller):
-
-    _version = 0
-    @classmethod
-    def versionCount(cls):
-        cls._version += 1 # Use count for this particular type
-        return cls._version - 1
-
-    def __init__(self, ruby_system):
-        super(DMAController, self).__init__()
-        self.version = self.versionCount()
-        self.ruby_system = ruby_system
-        self.connectQueues(ruby_system)
-
-    def connectQueues(self, ruby_system):
-        self.mandatoryQueue = MessageBuffer()
-        self.requestToDir = MessageBuffer()
-        self.requestToDir.out_port = ruby_system.network.in_port
-        self.responseFromDir = MessageBuffer(ordered = True)
-        self.responseFromDir.in_port = ruby_system.network.out_port
-
-
-class MyNetwork(SimpleNetwork):
-    """A simple point-to-point network. This doesn't not use garnet.
-    """
-
-    def __init__(self, ruby_system):
-        super(MyNetwork, self).__init__()
-        self.netifs = []
-        self.ruby_system = ruby_system
-
-    def connectControllers(self, controllers):
-        """Connect all of the controllers to routers and connec the routers
-           together in a point-to-point network.
-        """
-        # Create one router/switch per controller in the system
-        self.routers = [Switch(router_id = i) for i in range(len(controllers))]
-
-        # Make a link from each controller to the router. The link goes
-        # externally to the network.
-        self.ext_links = [SimpleExtLink(link_id=i, ext_node=c,
-                                        int_node=self.routers[i])
-                          for i, c in enumerate(controllers)]
-
-        # Make an "internal" link (internal to the network) between every pair
-        # of routers.
-        link_count = 0
-        self.int_links = []
-        for ri in self.routers:
-            for rj in self.routers:
-                if ri == rj: continue # Don't connect a router to itself!
-                link_count += 1
-                self.int_links.append(SimpleIntLink(link_id = link_count,
-                                                    src_node = ri,
-                                                    dst_node = rj))
diff --git a/src/gapbs/configs/system/MOESI_CMP_directory.py b/src/gapbs/configs/system/MOESI_CMP_directory.py
deleted file mode 100644
index f24022a..0000000
--- a/src/gapbs/configs/system/MOESI_CMP_directory.py
+++ /dev/null
@@ -1,351 +0,0 @@
-#Copyright (c) 2020 The Regents of the University of California.
-#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 name of the copyright holders nor the names of its
-# 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.
-#
-
-
-""" This file creates a set of Ruby caches for the MOESI CMP directory
-protocol.
-This protocol models two level cache hierarchy. The L1 cache is split into
-instruction and data cache.
-
-This system support the memory size of up to 3GB.
-
-"""
-
-from __future__ import print_function
-from __future__ import absolute_import
-
-import math
-
-from m5.defines import buildEnv
-from m5.util import fatal, panic
-
-from m5.objects import *
-
-class MOESICMPDirCache(RubySystem):
-
-    def __init__(self):
-        if buildEnv['PROTOCOL'] != 'MOESI_CMP_directory':
-            fatal("This system assumes MOESI_CMP_directory!")
-
-        super(MOESICMPDirCache, self).__init__()
-
-        self._numL2Caches = 8
-
-    def setup(self, system, cpus, mem_ctrls, dma_ports, iobus):
-        """Set up the Ruby cache subsystem. Note: This can't be done in the
-           constructor because many of these items require a pointer to the
-           ruby system (self). This causes infinite recursion in initialize()
-           if we do this in the __init__.
-        """
-        # Ruby's global network.
-        self.network = MyNetwork(self)
-
-        # MOESI_CMP_directory example uses 3 virtual networks
-        self.number_of_virtual_networks = 3
-        self.network.number_of_virtual_networks = 3
-
-        # There is a single global list of all of the controllers to make it
-        # easier to connect everything to the global network. This can be
-        # customized depending on the topology/network requirements.
-        # L1 caches are private to a core, hence there are one L1 cache per CPU
-        # core. The number of L2 caches are dependent to the architecture.
-        self.controllers = \
-            [L1Cache(system, self, cpu, self._numL2Caches) for cpu in cpus] + \
-            [L2Cache(system, self, self._numL2Caches) for num in \
-            range(self._numL2Caches)] + [DirController(self, \
-            system.mem_ranges, mem_ctrls)] + [DMAController(self) for i \
-            in range(len(dma_ports))]
-
-        # Create one sequencer per CPU and dma controller.
-        # Sequencers for other controllers can be here here.
-        self.sequencers = [RubySequencer(version = i,
-                                # I/D cache is combined and grab from ctrl
-                                icache = self.controllers[i].L1Icache,
-                                dcache = self.controllers[i].L1Dcache,
-                                clk_domain = self.controllers[i].clk_domain,
-                                pio_request_port = iobus.cpu_side_ports,
-                                mem_request_port = iobus.cpu_side_ports,
-                                pio_response_port = iobus.mem_side_ports
-                                ) for i in range(len(cpus))] + \
-                          [DMASequencer(version = i,
-                                        in_ports = port)
-                            for i,port in enumerate(dma_ports)
-                          ]
-
-        for i,c in enumerate(self.controllers[:len(cpus)]):
-            c.sequencer = self.sequencers[i]
-
-        #Connecting the DMA sequencer to DMA controller
-        for i,d in enumerate(self.controllers[-len(dma_ports):]):
-            i += len(cpus)
-            d.dma_sequencer = self.sequencers[i]
-
-        self.num_of_sequencers = len(self.sequencers)
-
-        # Create the network and connect the controllers.
-        # NOTE: This is quite different if using Garnet!
-        self.network.connectControllers(self.controllers)
-        self.network.setup_buffers()
-
-        # Set up a proxy port for the system_port. Used for load binaries and
-        # other functional-only things.
-        self.sys_port_proxy = RubyPortProxy()
-        system.system_port = self.sys_port_proxy.in_ports
-        self.sys_port_proxy.pio_request_port = iobus.cpu_side_ports
-
-        # Connect the cpu's cache, interrupt, and TLB ports to Ruby
-        for i,cpu in enumerate(cpus):
-            cpu.icache_port = self.sequencers[i].in_ports
-            cpu.dcache_port = self.sequencers[i].in_ports
-            isa = buildEnv['TARGET_ISA']
-            if isa == 'x86':
-                cpu.interrupts[0].pio = self.sequencers[i].interrupt_out_port
-                cpu.interrupts[0].int_requestor = self.sequencers[i].in_ports
-                cpu.interrupts[0].int_responder = self.sequencers[i].interrupt_out_port
-            if isa == 'x86' or isa == 'arm':
-                cpu.itb.walker.port = self.sequencers[i].in_ports
-                cpu.dtb.walker.port = self.sequencers[i].in_ports
-
-
-class L1Cache(L1Cache_Controller):
-
-    _version = 0
-    @classmethod
-    def versionCount(cls):
-        cls._version += 1 # Use count for this particular type
-        return cls._version - 1
-
-    def __init__(self, system, ruby_system, cpu, num_l2Caches):
-        """Creating L1 cache controller. Consist of both instruction
-           and data cache. The size of data cache is 512KB and
-           8-way set associative. The instruction cache is 32KB,
-           2-way set associative.
-        """
-        super(L1Cache, self).__init__()
-
-        self.version = self.versionCount()
-        block_size_bits = int(math.log(system.cache_line_size, 2))
-        l1i_size = '32kB'
-        l1i_assoc = '2'
-        l1d_size = '512kB'
-        l1d_assoc = '8'
-        # This is the cache memory object that stores the cache data and tags
-        self.L1Icache = RubyCache(size = l1i_size,
-                                assoc = l1i_assoc,
-                                start_index_bit = block_size_bits ,
-                                is_icache = True,
-                                dataAccessLatency = 1,
-                                tagAccessLatency = 1)
-        self.L1Dcache = RubyCache(size = l1d_size,
-                            assoc = l1d_assoc,
-                            start_index_bit = block_size_bits,
-                            is_icache = False,
-                            dataAccessLatency = 1,
-                            tagAccessLatency = 1)
-        self.clk_domain = cpu.clk_domain
-        self.prefetcher = RubyPrefetcher()
-        self.send_evictions = self.sendEvicts(cpu)
-        self.transitions_per_cycle = 4
-        self.ruby_system = ruby_system
-        self.connectQueues(ruby_system)
-
-    def getBlockSizeBits(self, system):
-        bits = int(math.log(system.cache_line_size, 2))
-        if 2**bits != system.cache_line_size.value:
-            panic("Cache line size not a power of 2!")
-        return bits
-
-    def sendEvicts(self, cpu):
-        """True if the CPU model or ISA requires sending evictions from caches
-           to the CPU. Two scenarios warrant forwarding evictions to the CPU:
-           1. The O3 model must keep the LSQ coherent with the caches
-           2. The x86 mwait instruction is built on top of coherence
-           3. The local exclusive monitor in ARM systems
-        """
-        if type(cpu) is DerivO3CPU or \
-           buildEnv['TARGET_ISA'] in ('x86', 'arm'):
-            return True
-        return False
-
-    def connectQueues(self, ruby_system):
-        """Connect all of the queues for this controller.
-        """
-        self.mandatoryQueue = MessageBuffer()
-        self.requestFromL1Cache = MessageBuffer()
-        self.requestFromL1Cache.out_port = ruby_system.network.in_port
-        self.responseFromL1Cache = MessageBuffer()
-        self.responseFromL1Cache.out_port = ruby_system.network.in_port
-        self.requestToL1Cache = MessageBuffer()
-        self.requestToL1Cache.in_port = ruby_system.network.out_port
-        self.responseToL1Cache = MessageBuffer()
-        self.responseToL1Cache.in_port = ruby_system.network.out_port
-        self.triggerQueue = MessageBuffer(ordered = True)
-
-class L2Cache(L2Cache_Controller):
-
-    _version = 0
-    @classmethod
-    def versionCount(cls):
-        cls._version += 1 # Use count for this particular type
-        return cls._version - 1
-
-    def __init__(self, system, ruby_system, num_l2Caches):
-
-        super(L2Cache, self).__init__()
-
-        self.version = self.versionCount()
-        # This is the cache memory object that stores the cache data and tags
-        self.L2cache = RubyCache(size = '1 MB',
-                                assoc = 16,
-                                start_index_bit = self.getL2StartIdx(system,
-                                num_l2Caches),
-                                dataAccessLatency = 20,
-                                tagAccessLatency = 20)
-
-        self.transitions_per_cycle = '4'
-        self.ruby_system = ruby_system
-        self.connectQueues(ruby_system)
-
-    def getL2StartIdx(self, system, num_l2caches):
-        l2_bits = int(math.log(num_l2caches, 2))
-        bits = int(math.log(system.cache_line_size, 2)) + l2_bits
-        return bits
-
-
-    def connectQueues(self, ruby_system):
-        """Connect all of the queues for this controller.
-        """
-        self.GlobalRequestFromL2Cache = MessageBuffer()
-        self.GlobalRequestFromL2Cache.out_port = ruby_system.network.in_port
-        self.L1RequestFromL2Cache = MessageBuffer()
-        self.L1RequestFromL2Cache.out_port = ruby_system.network.in_port
-        self.responseFromL2Cache = MessageBuffer()
-        self.responseFromL2Cache.out_port = ruby_system.network.in_port
-
-        self.GlobalRequestToL2Cache = MessageBuffer()
-        self.GlobalRequestToL2Cache.in_port = ruby_system.network.out_port
-        self.L1RequestToL2Cache = MessageBuffer()
-        self.L1RequestToL2Cache.in_port = ruby_system.network.out_port
-        self.responseToL2Cache = MessageBuffer()
-        self.responseToL2Cache.in_port = ruby_system.network.out_port
-        self.triggerQueue = MessageBuffer(ordered = True)
-
-
-
-class DirController(Directory_Controller):
-
-    _version = 0
-    @classmethod
-    def versionCount(cls):
-        cls._version += 1 # Use count for this particular type
-        return cls._version - 1
-
-    def __init__(self, ruby_system, ranges, mem_ctrls):
-        """ranges are the memory ranges assigned to this controller.
-        """
-        if len(mem_ctrls) > 1:
-            panic("This cache system can only be connected to one mem ctrl")
-        super(DirController, self).__init__()
-        self.version = self.versionCount()
-        self.addr_ranges = ranges
-        self.ruby_system = ruby_system
-        self.directory = RubyDirectoryMemory()
-        # Connect this directory to the memory side.
-        self.memory_out_port = mem_ctrls[0].port
-        self.connectQueues(ruby_system)
-
-    def connectQueues(self, ruby_system):
-        self.requestToDir = MessageBuffer()
-        self.requestToDir.in_port = ruby_system.network.out_port
-        self.responseToDir = MessageBuffer()
-        self.responseToDir.in_port = ruby_system.network.out_port
-        self.responseFromDir = MessageBuffer()
-        self.responseFromDir.out_port = ruby_system.network.in_port
-        self.forwardFromDir = MessageBuffer()
-        self.forwardFromDir.out_port = ruby_system.network.in_port
-        self.requestToMemory = MessageBuffer()
-        self.responseFromMemory = MessageBuffer()
-        self.triggerQueue = MessageBuffer(ordered = True)
-
-class DMAController(DMA_Controller):
-
-    _version = 0
-    @classmethod
-    def versionCount(cls):
-        cls._version += 1 # Use count for this particular type
-        return cls._version - 1
-
-    def __init__(self, ruby_system):
-        super(DMAController, self).__init__()
-        self.version = self.versionCount()
-        self.ruby_system = ruby_system
-        self.connectQueues(ruby_system)
-
-    def connectQueues(self, ruby_system):
-        self.mandatoryQueue = MessageBuffer()
-        self.responseFromDir = MessageBuffer()
-        self.responseFromDir.in_port = ruby_system.network.out_port
-        self.reqToDir = MessageBuffer()
-        self.reqToDir.out_port = ruby_system.network.in_port
-        self.respToDir = MessageBuffer()
-        self.respToDir.out_port = ruby_system.network.in_port
-        self.triggerQueue = MessageBuffer(ordered = True)
-
-
-class MyNetwork(SimpleNetwork):
-    """A simple point-to-point network. This doesn't not use garnet.
-    """
-
-    def __init__(self, ruby_system):
-        super(MyNetwork, self).__init__()
-        self.netifs = []
-        self.ruby_system = ruby_system
-
-    def connectControllers(self, controllers):
-        """Connect all of the controllers to routers and connec the routers
-           together in a point-to-point network.
-        """
-        # Create one router/switch per controller in the system
-        self.routers = [Switch(router_id = i) for i in range(len(controllers))]
-
-        # Make a link from each controller to the router. The link goes
-        # externally to the network.
-        self.ext_links = [SimpleExtLink(link_id=i, ext_node=c,
-                                        int_node=self.routers[i])
-                          for i, c in enumerate(controllers)]
-
-        # Make an "internal" link (internal to the network) between every pair
-        # of routers.
-        link_count = 0
-        self.int_links = []
-        for ri in self.routers:
-            for rj in self.routers:
-                if ri == rj: continue # Don't connect a router to itself!
-                link_count += 1
-                self.int_links.append(SimpleIntLink(link_id = link_count,
-                                                    src_node = ri,
-                                                    dst_node = rj))
diff --git a/src/gapbs/configs/system/__init__.py b/src/gapbs/configs/system/__init__.py
deleted file mode 100644
index 1bce258..0000000
--- a/src/gapbs/configs/system/__init__.py
+++ /dev/null
@@ -1,32 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (c) 2016 Jason Lowe-Power
-# 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 name of the copyright holders nor the names of its
-# 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.
-#
-# Authors: Jason Lowe-Power
-
-from .system import MySystem
-from .ruby_system import MyRubySystem
-
diff --git a/src/gapbs/configs/system/caches.py b/src/gapbs/configs/system/caches.py
deleted file mode 100644
index 049a695..0000000
--- a/src/gapbs/configs/system/caches.py
+++ /dev/null
@@ -1,143 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (c) 2016 Jason Lowe-Power
-# 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 name of the copyright holders nor the names of its
-# 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.
-#
-# Authors: Jason Lowe-Power
-
-""" Caches with options for a simple gem5 configuration script
-
-This file contains L1 I/D and L2 caches to be used in the simple
-gem5 configuration script.
-"""
-
-from m5.objects import Cache, L2XBar, StridePrefetcher
-
-# Some specific options for caches
-# For all options see src/mem/cache/BaseCache.py
-
-class PrefetchCache(Cache):
-
-    def __init__(self):
-        super(PrefetchCache, self).__init__()
-        self.prefetcher = StridePrefetcher()
-
-class L1Cache(PrefetchCache):
-    """Simple L1 Cache with default values"""
-
-    assoc = 8
-    tag_latency = 1
-    data_latency = 1
-    response_latency = 1
-    mshrs = 16
-    tgts_per_mshr = 20
-    writeback_clean = True
-
-    def __init__(self):
-        super(L1Cache, self).__init__()
-
-    def connectBus(self, bus):
-        """Connect this cache to a memory-side bus"""
-        self.mem_side = bus.cpu_side_ports
-
-    def connectCPU(self, cpu):
-        """Connect this cache's port to a CPU-side port
-           This must be defined in a subclass"""
-        raise NotImplementedError
-
-class L1ICache(L1Cache):
-    """Simple L1 instruction cache with default values"""
-
-    # Set the default size
-    size = '32kB'
-
-    def __init__(self):
-        super(L1ICache, self).__init__()
-
-    def connectCPU(self, cpu):
-        """Connect this cache's port to a CPU icache port"""
-        self.cpu_side = cpu.icache_port
-
-class L1DCache(L1Cache):
-    """Simple L1 data cache with default values"""
-
-    # Set the default size
-    size = '32kB'
-
-    def __init__(self):
-        super(L1DCache, self).__init__()
-
-    def connectCPU(self, cpu):
-        """Connect this cache's port to a CPU dcache port"""
-        self.cpu_side = cpu.dcache_port
-
-class MMUCache(Cache):
-    # Default parameters
-    size = '8kB'
-    assoc = 4
-    tag_latency = 1
-    data_latency = 1
-    response_latency = 1
-    mshrs = 20
-    tgts_per_mshr = 12
-    writeback_clean = True
-
-    def __init__(self):
-        super(MMUCache, self).__init__()
-
-    def connectCPU(self, cpu):
-        """Connect the CPU itb and dtb to the cache
-           Note: This creates a new crossbar
-        """
-        self.mmubus = L2XBar()
-        self.cpu_side = self.mmubus.mem_side_ports
-        cpu.mmu.connectWalkerPorts(
-            self.mmubus.cpu_side_ports, self.mmubus.cpu_side_ports)
-
-    def connectBus(self, bus):
-        """Connect this cache to a memory-side bus"""
-        self.mem_side = bus.cpu_side_ports
-
-class L2Cache(PrefetchCache):
-    """Simple L2 Cache with default values"""
-
-    # Default parameters
-    size = '256kB'
-    assoc = 16
-    tag_latency = 10
-    data_latency = 10
-    response_latency = 1
-    mshrs = 20
-    tgts_per_mshr = 12
-    writeback_clean = True
-
-    def __init__(self):
-        super(L2Cache, self).__init__()
-
-    def connectCPUSideBus(self, bus):
-        self.cpu_side = bus.mem_side_ports
-
-    def connectMemSideBus(self, bus):
-        self.mem_side = bus.cpu_side_ports
diff --git a/src/gapbs/configs/system/fs_tools.py b/src/gapbs/configs/system/fs_tools.py
deleted file mode 100644
index 5e5e2df..0000000
--- a/src/gapbs/configs/system/fs_tools.py
+++ /dev/null
@@ -1,39 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (c) 2016 Jason Lowe-Power
-# 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 name of the copyright holders nor the names of its
-# 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.
-#
-# Authors: Jason Lowe-Power
-
-from m5.objects import IdeDisk, CowDiskImage, RawDiskImage
-
-class CowDisk(IdeDisk):
-
-    def __init__(self, filename):
-        super(CowDisk, self).__init__()
-        self.driveID = 'device0'
-        self.image = CowDiskImage(child=RawDiskImage(read_only=True),
-                                  read_only=False)
-        self.image.child.image_file = filename
diff --git a/src/gapbs/configs/system/ruby_system.py b/src/gapbs/configs/system/ruby_system.py
deleted file mode 100644
index c2a2b58..0000000
--- a/src/gapbs/configs/system/ruby_system.py
+++ /dev/null
@@ -1,231 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (c) 2016 Jason Lowe-Power
-# 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 name of the copyright holders nor the names of its
-# 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.
-#
-# Authors: Jason Lowe-Power
-
-import m5
-from m5.objects import *
-from .fs_tools import *
-
-
-class MyRubySystem(System):
-
-    def __init__(self, kernel, disk, cpu_type, mem_sys, num_cpus):
-        super(MyRubySystem, self).__init__()
-
-        self._host_parallel = cpu_type == "kvm"
-
-        # Set up the clock domain and the voltage domain
-        self.clk_domain = SrcClockDomain()
-        self.clk_domain.clock = '3GHz'
-        self.clk_domain.voltage_domain = VoltageDomain()
-
-        self.mem_ranges = [AddrRange(Addr('3GB')), # All data
-                           AddrRange(0xC0000000, size=0x100000), # For I/0
-                           ]
-
-        self.initFS(num_cpus)
-
-        # Replace these paths with the path to your disk images.
-        # The first disk is the root disk. The second could be used for swap
-        # or anything else.
-        self.setDiskImages(disk, disk)
-
-        # Change this path to point to the kernel you want to use
-        self.workload.object_file = kernel
-        # Options specified on the kernel command line
-        boot_options = ['earlyprintk=ttyS0', 'console=ttyS0', 'lpj=7999923',
-                         'root=/dev/hda1']
-
-        self.workload.command_line = ' '.join(boot_options)
-
-        # Create the CPUs for our system.
-        self.createCPU(cpu_type, num_cpus)
-
-        self.createMemoryControllersDDR3()
-
-        # Create the cache hierarchy for the system.
-        if mem_sys == 'MI_example':
-            from .MI_example_caches import MIExampleSystem
-            self.caches = MIExampleSystem()
-        elif mem_sys == 'MESI_Two_Level':
-            from .MESI_Two_Level import MESITwoLevelCache
-            self.caches = MESITwoLevelCache()
-        elif mem_sys == 'MOESI_CMP_directory':
-            from .MOESI_CMP_directory import MOESICMPDirCache
-            self.caches = MOESICMPDirCache()
-        self.caches.setup(self, self.cpu, self.mem_cntrls,
-                          [self.pc.south_bridge.ide.dma, self.iobus.mem_side_ports],
-                          self.iobus)
-
-        if self._host_parallel:
-            # To get the KVM CPUs to run on different host CPUs
-            # Specify a different event queue for each CPU
-            for i,cpu in enumerate(self.cpu):
-                for obj in cpu.descendants():
-                    obj.eventq_index = 0
-                cpu.eventq_index = i + 1
-
-    def getHostParallel(self):
-        return self._host_parallel
-
-    def totalInsts(self):
-        return sum([cpu.totalInsts() for cpu in self.cpu])
-
-    def createCPU(self, cpu_type, num_cpus):
-        if cpu_type == "atomic":
-            self.cpu = [AtomicSimpleCPU(cpu_id = i)
-                              for i in range(num_cpus)]
-            self.mem_mode = 'atomic'
-        elif cpu_type == "kvm":
-            # Note KVM needs a VM and atomic_noncaching
-            self.cpu = [X86KvmCPU(cpu_id = i)
-                        for i in range(num_cpus)]
-            self.kvm_vm = KvmVM()
-            self.mem_mode = 'atomic_noncaching'
-        elif cpu_type == "o3":
-            self.cpu = [DerivO3CPU(cpu_id = i)
-                        for i in range(num_cpus)]
-            self.mem_mode = 'timing'
-        elif cpu_type == "simple":
-            self.cpu = [TimingSimpleCPU(cpu_id = i)
-                        for i in range(num_cpus)]
-            self.mem_mode = 'timing'
-        else:
-            m5.fatal("No CPU type {}".format(cpu_type))
-
-        for cpu in self.cpu:
-            cpu.createThreads()
-            cpu.createInterruptController()
-
-    def setDiskImages(self, img_path_1, img_path_2):
-        disk0 = CowDisk(img_path_1)
-        disk2 = CowDisk(img_path_2)
-        self.pc.south_bridge.ide.disks = [disk0, disk2]
-
-    def createMemoryControllersDDR3(self):
-        self._createMemoryControllers(1, DDR3_1600_8x8)
-
-    def _createMemoryControllers(self, num, cls):
-        self.mem_cntrls = [
-            MemCtrl(dram = cls(range = self.mem_ranges[0]))
-            for i in range(num)
-        ]
-
-    def initFS(self, cpus):
-        self.pc = Pc()
-
-        self.workload = X86FsLinux()
-
-        # North Bridge
-        self.iobus = IOXBar()
-
-        # connect the io bus
-        # Note: pass in a reference to where Ruby will connect to in the future
-        # so the port isn't connected twice.
-        self.pc.attachIO(self.iobus, [self.pc.south_bridge.ide.dma])
-
-        ###############################################
-
-        # Add in a Bios information structure.
-        self.workload.smbios_table.structures = [X86SMBiosBiosInformation()]
-
-        # Set up the Intel MP table
-        base_entries = []
-        ext_entries = []
-        for i in range(cpus):
-            bp = X86IntelMPProcessor(
-                    local_apic_id = i,
-                    local_apic_version = 0x14,
-                    enable = True,
-                    bootstrap = (i ==0))
-            base_entries.append(bp)
-        io_apic = X86IntelMPIOAPIC(
-                id = cpus,
-                version = 0x11,
-                enable = True,
-                address = 0xfec00000)
-        self.pc.south_bridge.io_apic.apic_id = io_apic.id
-        base_entries.append(io_apic)
-        pci_bus = X86IntelMPBus(bus_id = 0, bus_type='PCI   ')
-        base_entries.append(pci_bus)
-        isa_bus = X86IntelMPBus(bus_id = 1, bus_type='ISA   ')
-        base_entries.append(isa_bus)
-        connect_busses = X86IntelMPBusHierarchy(bus_id=1,
-                subtractive_decode=True, parent_bus=0)
-        ext_entries.append(connect_busses)
-        pci_dev4_inta = X86IntelMPIOIntAssignment(
-                interrupt_type = 'INT',
-                polarity = 'ConformPolarity',
-                trigger = 'ConformTrigger',
-                source_bus_id = 0,
-                source_bus_irq = 0 + (4 << 2),
-                dest_io_apic_id = io_apic.id,
-                dest_io_apic_intin = 16)
-        base_entries.append(pci_dev4_inta)
-        def assignISAInt(irq, apicPin):
-            assign_8259_to_apic = X86IntelMPIOIntAssignment(
-                    interrupt_type = 'ExtInt',
-                    polarity = 'ConformPolarity',
-                    trigger = 'ConformTrigger',
-                    source_bus_id = 1,
-                    source_bus_irq = irq,
-                    dest_io_apic_id = io_apic.id,
-                    dest_io_apic_intin = 0)
-            base_entries.append(assign_8259_to_apic)
-            assign_to_apic = X86IntelMPIOIntAssignment(
-                    interrupt_type = 'INT',
-                    polarity = 'ConformPolarity',
-                    trigger = 'ConformTrigger',
-                    source_bus_id = 1,
-                    source_bus_irq = irq,
-                    dest_io_apic_id = io_apic.id,
-                    dest_io_apic_intin = apicPin)
-            base_entries.append(assign_to_apic)
-        assignISAInt(0, 2)
-        assignISAInt(1, 1)
-        for i in range(3, 15):
-            assignISAInt(i, i)
-        self.workload.intel_mp_table.base_entries = base_entries
-        self.workload.intel_mp_table.ext_entries = ext_entries
-
-        entries = \
-           [
-            # Mark the first megabyte of memory as reserved
-            X86E820Entry(addr = 0, size = '639kB', range_type = 1),
-            X86E820Entry(addr = 0x9fc00, size = '385kB', range_type = 2),
-            # Mark the rest of physical memory as available
-            X86E820Entry(addr = 0x100000,
-                    size = '%dB' % (self.mem_ranges[0].size() - 0x100000),
-                    range_type = 1),
-            ]
-
-        # Reserve the last 16kB of the 32-bit address space for m5ops
-        entries.append(X86E820Entry(addr = 0xFFFF0000, size = '64kB',
-                                    range_type=2))
-
-        self.workload.e820_table.entries = entries
diff --git a/src/gapbs/configs/system/system.py b/src/gapbs/configs/system/system.py
deleted file mode 100644
index dbb11b9..0000000
--- a/src/gapbs/configs/system/system.py
+++ /dev/null
@@ -1,340 +0,0 @@
-# -*- coding: utf-8 -*-
-# Copyright (c) 2016 Jason Lowe-Power
-# 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 name of the copyright holders nor the names of its
-# 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.
-#
-# Authors: Jason Lowe-Power
-
-import m5
-from m5.objects import *
-from .fs_tools import *
-from .caches import *
-
-class MySystem(System):
-
-    def __init__(self, kernel, disk, cpu_type, num_cpus, no_kvm = False):
-        super(MySystem, self).__init__()
-
-        self._no_kvm = no_kvm
-        self._host_parallel = cpu_type == "kvm"
-
-        # Set up the clock domain and the voltage domain
-        self.clk_domain = SrcClockDomain()
-        self.clk_domain.clock = '3GHz'
-        self.clk_domain.voltage_domain = VoltageDomain()
-
-        self.mem_ranges = [AddrRange(Addr('3GB')), # All data
-                           AddrRange(0xC0000000, size=0x100000), # For I/0
-                           ]
-
-        # Create the main memory bus
-        # This connects to main memory
-        self.membus = SystemXBar(width = 64) # 64-byte width
-        self.membus.badaddr_responder = BadAddr()
-        self.membus.default = Self.badaddr_responder.pio
-
-        # Set up the system port for functional access from the simulator
-        self.system_port = self.membus.cpu_side_ports
-
-        self.initFS(self.membus, num_cpus)
-
-        # Replace these paths with the path to your disk images.
-        # The first disk is the root disk. The second could be used for swap
-        # or anything else.
-        self.setDiskImages(disk, disk)
-
-        # Change this path to point to the kernel you want to use
-        self.workload.object_file = kernel
-        # Options specified on the kernel command line
-        boot_options = ['earlyprintk=ttyS0', 'console=ttyS0', 'lpj=7999923',
-                         'root=/dev/hda1']
-
-        self.workload.command_line = ' '.join(boot_options)
-
-        # Create the CPUs for our system.
-        self.createCPU(cpu_type, num_cpus)
-
-        # Create the cache heirarchy for the system.
-        self.createCacheHierarchy()
-
-        # Set up the interrupt controllers for the system (x86 specific)
-        self.setupInterrupts()
-
-        self.createMemoryControllersDDR3()
-
-        if self._host_parallel:
-            # To get the KVM CPUs to run on different host CPUs
-            # Specify a different event queue for each CPU
-            for i,cpu in enumerate(self.cpu):
-                for obj in cpu.descendants():
-                    obj.eventq_index = 0
-                cpu.eventq_index = i + 1
-
-    def getHostParallel(self):
-        return self._host_parallel
-
-    def totalInsts(self):
-        return sum([cpu.totalInsts() for cpu in self.cpu])
-
-    def createCPU(self, cpu_type, num_cpus):
-        # set up a kvm core or an atomic core to boot
-        if self._no_kvm:
-            self.cpu = [AtomicSimpleCPU(cpu_id = i, switched_out = False)
-                              for i in range(num_cpus)]
-            self.mem_mode = 'atomic'
-        else:
-            # Note KVM needs a VM and atomic_noncaching
-            self.cpu = [X86KvmCPU(cpu_id = i, switched_out = False)
-                        for i in range(num_cpus)]
-            self.kvm_vm = KvmVM()
-            self.mem_mode = 'atomic_noncaching'
-
-        for cpu in self.cpu:
-            cpu.createThreads()
-            cpu.createInterruptController()
-
-        # set up the detailed cpu or a kvm model with more cores
-        if cpu_type == "atomic":
-            self.detailedCpu = [AtomicSimpleCPU(cpu_id = i, switched_out = True)
-                                 for i in range(num_cpus)]
-            self.createCPUThreads(self.detailedCpu)
-        elif cpu_type == "kvm":
-            # Note KVM needs a VM and atomic_noncaching
-            self.detailedCpu = [X86KvmCPU(cpu_id = i, switched_out = True)
-                                 for i in range(num_cpus)]
-            self.kvm_vm = KvmVM()
-            self.createCPUThreads(self.detailedCpu)
-        elif cpu_type == "o3":
-            self.detailedCpu = [DerivO3CPU(cpu_id = i, switched_out = True)
-                                 for i in range(num_cpus)]
-            self.createCPUThreads(self.detailedCpu)
-        elif cpu_type == "simple" or cpu_type == "timing":
-            self.detailedCpu = [TimingSimpleCPU(cpu_id = i, switched_out = True)
-                                 for i in range(num_cpus)]
-            self.createCPUThreads(self.detailedCpu)
-        else:
-            m5.fatal("No CPU type {}".format(cpu_type))
-
-        for cpu in self.detailedCpu:
-            cpu.createThreads()
-            cpu.createInterruptController()
-
-    def switchCpus(self, old, new):
-        assert(new[0].switchedOut())
-        m5.switchCpus(self, list(zip(old, new)))
-
-    def setDiskImages(self, img_path_1, img_path_2):
-        disk0 = CowDisk(img_path_1)
-        disk2 = CowDisk(img_path_2)
-        self.pc.south_bridge.ide.disks = [disk0, disk2]
-
-    def createCacheHierarchy(self):
-        for cpu in self.cpu:
-            # Create a memory bus, a coherent crossbar, in this case
-            cpu.l2bus = L2XBar()
-
-            # Create an L1 instruction and data cache
-            cpu.icache = L1ICache()
-            cpu.dcache = L1DCache()
-            cpu.mmucache = MMUCache()
-
-            # Connect the instruction and data caches to the CPU
-            cpu.icache.connectCPU(cpu)
-            cpu.dcache.connectCPU(cpu)
-            cpu.mmucache.connectCPU(cpu)
-
-            # Hook the CPU ports up to the l2bus
-            cpu.icache.connectBus(cpu.l2bus)
-            cpu.dcache.connectBus(cpu.l2bus)
-            cpu.mmucache.connectBus(cpu.l2bus)
-
-            # Create an L2 cache and connect it to the l2bus
-            cpu.l2cache = L2Cache()
-            cpu.l2cache.connectCPUSideBus(cpu.l2bus)
-
-            # Connect the L2 cache to the L3 bus
-            cpu.l2cache.connectMemSideBus(self.membus)
-
-    def setupInterrupts(self):
-        for cpu in self.cpu:
-            # create the interrupt controller CPU and connect to the membus
-            cpu.createInterruptController()
-
-            # For x86 only, connect interrupts to the memory
-            # Note: these are directly connected to the memory bus and
-            #       not cached
-            cpu.interrupts[0].pio = self.membus.mem_side_ports
-            cpu.interrupts[0].int_requestor = self.membus.cpu_side_ports
-            cpu.interrupts[0].int_responder = self.membus.mem_side_ports
-
-
-    def createMemoryControllersDDR3(self):
-        self._createMemoryControllers(1, DDR3_1600_8x8)
-
-    def _createMemoryControllers(self, num, cls):
-        self.mem_cntrls = [
-            MemCtrl(dram = cls(range = self.mem_ranges[0]),
-                    port = self.membus.mem_side_ports)
-            for i in range(num)
-        ]
-
-    def initFS(self, membus, cpus):
-        self.pc = Pc()
-
-        self.workload = X86FsLinux()
-
-        # Constants similar to x86_traits.hh
-        IO_address_space_base = 0x8000000000000000
-        pci_config_address_space_base = 0xc000000000000000
-        interrupts_address_space_base = 0xa000000000000000
-        APIC_range_size = 1 << 12;
-
-        # North Bridge
-        self.iobus = IOXBar()
-        self.bridge = Bridge(delay='50ns')
-        self.bridge.mem_side_port = self.iobus.cpu_side_ports
-        self.bridge.cpu_side_port = membus.mem_side_ports
-        # Allow the bridge to pass through:
-        #  1) kernel configured PCI device memory map address: address range
-        #  [0xC0000000, 0xFFFF0000). (The upper 64kB are reserved for m5ops.)
-        #  2) the bridge to pass through the IO APIC (two pages, already
-        #     contained in 1),
-        #  3) everything in the IO address range up to the local APIC, and
-        #  4) then the entire PCI address space and beyond.
-        self.bridge.ranges = \
-            [
-            AddrRange(0xC0000000, 0xFFFF0000),
-            AddrRange(IO_address_space_base,
-                      interrupts_address_space_base - 1),
-            AddrRange(pci_config_address_space_base,
-                      Addr.max)
-            ]
-
-        # Create a bridge from the IO bus to the memory bus to allow access
-        # to the local APIC (two pages)
-        self.apicbridge = Bridge(delay='50ns')
-        self.apicbridge.cpu_side_port = self.iobus.mem_side_ports
-        self.apicbridge.mem_side_port = membus.cpu_side_ports
-        self.apicbridge.ranges = [AddrRange(interrupts_address_space_base,
-                                            interrupts_address_space_base +
-                                            cpus * APIC_range_size
-                                            - 1)]
-
-        # connect the io bus
-        self.pc.attachIO(self.iobus)
-
-        # Add a tiny cache to the IO bus.
-        # This cache is required for the classic memory model for coherence
-        self.iocache = Cache(assoc=8,
-                            tag_latency = 50,
-                            data_latency = 50,
-                            response_latency = 50,
-                            mshrs = 20,
-                            size = '1kB',
-                            tgts_per_mshr = 12,
-                            addr_ranges = self.mem_ranges)
-        self.iocache.cpu_side = self.iobus.mem_side_ports
-        self.iocache.mem_side = self.membus.cpu_side_ports
-
-        ###############################################
-
-        # Add in a Bios information structure.
-        self.workload.smbios_table.structures = [X86SMBiosBiosInformation()]
-
-        # Set up the Intel MP table
-        base_entries = []
-        ext_entries = []
-        for i in range(cpus):
-            bp = X86IntelMPProcessor(
-                    local_apic_id = i,
-                    local_apic_version = 0x14,
-                    enable = True,
-                    bootstrap = (i ==0))
-            base_entries.append(bp)
-        io_apic = X86IntelMPIOAPIC(
-                id = cpus,
-                version = 0x11,
-                enable = True,
-                address = 0xfec00000)
-        self.pc.south_bridge.io_apic.apic_id = io_apic.id
-        base_entries.append(io_apic)
-        pci_bus = X86IntelMPBus(bus_id = 0, bus_type='PCI   ')
-        base_entries.append(pci_bus)
-        isa_bus = X86IntelMPBus(bus_id = 1, bus_type='ISA   ')
-        base_entries.append(isa_bus)
-        connect_busses = X86IntelMPBusHierarchy(bus_id=1,
-                subtractive_decode=True, parent_bus=0)
-        ext_entries.append(connect_busses)
-        pci_dev4_inta = X86IntelMPIOIntAssignment(
-                interrupt_type = 'INT',
-                polarity = 'ConformPolarity',
-                trigger = 'ConformTrigger',
-                source_bus_id = 0,
-                source_bus_irq = 0 + (4 << 2),
-                dest_io_apic_id = io_apic.id,
-                dest_io_apic_intin = 16)
-        base_entries.append(pci_dev4_inta)
-        def assignISAInt(irq, apicPin):
-            assign_8259_to_apic = X86IntelMPIOIntAssignment(
-                    interrupt_type = 'ExtInt',
-                    polarity = 'ConformPolarity',
-                    trigger = 'ConformTrigger',
-                    source_bus_id = 1,
-                    source_bus_irq = irq,
-                    dest_io_apic_id = io_apic.id,
-                    dest_io_apic_intin = 0)
-            base_entries.append(assign_8259_to_apic)
-            assign_to_apic = X86IntelMPIOIntAssignment(
-                    interrupt_type = 'INT',
-                    polarity = 'ConformPolarity',
-                    trigger = 'ConformTrigger',
-                    source_bus_id = 1,
-                    source_bus_irq = irq,
-                    dest_io_apic_id = io_apic.id,
-                    dest_io_apic_intin = apicPin)
-            base_entries.append(assign_to_apic)
-        assignISAInt(0, 2)
-        assignISAInt(1, 1)
-        for i in range(3, 15):
-            assignISAInt(i, i)
-        self.workload.intel_mp_table.base_entries = base_entries
-        self.workload.intel_mp_table.ext_entries = ext_entries
-
-        entries = \
-           [
-            # Mark the first megabyte of memory as reserved
-            X86E820Entry(addr = 0, size = '639kB', range_type = 1),
-            X86E820Entry(addr = 0x9fc00, size = '385kB', range_type = 2),
-            # Mark the rest of physical memory as available
-            X86E820Entry(addr = 0x100000,
-                    size = '%dB' % (self.mem_ranges[0].size() - 0x100000),
-                    range_type = 1),
-            ]
-
-        # Reserve the last 16kB of the 32-bit address space for m5ops
-        entries.append(X86E820Entry(addr = 0xFFFF0000, size = '64kB',
-                                    range_type=2))
-
-        self.workload.e820_table.entries = entries
diff --git a/src/gpu/DNNMark/README.md b/src/gpu/DNNMark/README.md
index 79256bc..4acd9b8 100644
--- a/src/gpu/DNNMark/README.md
+++ b/src/gpu/DNNMark/README.md
@@ -27,8 +27,8 @@
 `-v ${PWD}:${PWD}` in the docker run commands
 ```
 cd src/gpu/DNNMark
-docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu ./setup.sh HIP
-docker run --rm -v ${PWD}:${PWD} -w ${PWD}/build -u $UID:$GID gcr.io/gem5-test/gcn-gpu make
+docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu:v21-2 ./setup.sh HIP
+docker run --rm -v ${PWD}:${PWD} -w ${PWD}/build -u $UID:$GID gcr.io/gem5-test/gcn-gpu:v21-2 make
 ```
 
 DNNMark uses MIOpen kernels, which are unable to be compiled on-the-fly in gem5.
@@ -38,7 +38,7 @@
 To generate the MIOpen kernels:
 ```
 cd src/gpu/DNNMark
-docker run --rm -v ${PWD}:${PWD} -v${PWD}/cachefiles:/root/.cache/miopen/2.9.0 -w ${PWD} gcr.io/gem5-test/gcn-gpu python3 generate_cachefiles.py cachefiles.csv [--gfx-version={gfx801,gfx803}] [--num-cus=N]
+docker run --rm -v ${PWD}:${PWD} -v${PWD}/cachefiles:/root/.cache/miopen/2.9.0 -w ${PWD} gcr.io/gem5-test/gcn-gpu:v21-2 python3 generate_cachefiles.py cachefiles.csv [--gfx-version={gfx801,gfx803}] [--num-cus=N]
 ```
 
 Due to the large amounts of memory that need to be set up for DNNMark, we have
@@ -56,13 +56,13 @@
 To build GCN3_X86:
 ```
 # Working directory is your gem5 directory
-docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu scons -sQ -j$(nproc) build/GCN3_X86/gem5.opt
+docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu:v21-2 scons -sQ -j$(nproc) build/GCN3_X86/gem5.opt
 ```
 
 To run one of the benchmarks (fwd softmax) in gem5:
 ```
 # Assuming gem5 and gem5-resources are sub-directories of the current directory
-docker run --rm -v ${PWD}:${PWD} -v ${PWD}/gem5-resources/src/gpu/DNNMark/cachefiles:/root/.cache/miopen/2.9.0 -w ${PWD} gcr.io/gem5-test/gcn-gpu gem5/build/GCN3_X86/gem5.opt gem5/configs/example/apu_se.py -n3 --benchmark-root=gem5-resources/src/gpu/DNNMark/build/benchmarks/test_fwd_softmax -cdnnmark_test_fwd_softmax --options="-config gem5-resources/src/gpu/DNNMark/config_example/softmax_config.dnnmark -mmap gem5-resources/src/gpu/DNNMark/mmap.bin"
+docker run --rm -v ${PWD}:${PWD} -v ${PWD}/gem5-resources/src/gpu/DNNMark/cachefiles:/root/.cache/miopen/2.9.0 -w ${PWD} gcr.io/gem5-test/gcn-gpu:v21-2 gem5/build/GCN3_X86/gem5.opt gem5/configs/example/apu_se.py -n3 --benchmark-root=gem5-resources/src/gpu/DNNMark/build/benchmarks/test_fwd_softmax -cdnnmark_test_fwd_softmax --options="-config gem5-resources/src/gpu/DNNMark/config_example/softmax_config.dnnmark -mmap gem5-resources/src/gpu/DNNMark/mmap.bin"
 ```
 
 Information from the original DNNMark README included below.
diff --git a/src/gpu/DNNMark/generate_cachefiles.py b/src/gpu/DNNMark/generate_cachefiles.py
index dc151d0..de4a84a 100755
--- a/src/gpu/DNNMark/generate_cachefiles.py
+++ b/src/gpu/DNNMark/generate_cachefiles.py
@@ -20,7 +20,7 @@
     parser.add_argument('--num-cus', default=4, type=int,
                         help='Number of CUs in simulated GPU')
     parser.add_argument('--gfx-version', default='gfx801',
-                        choices=['gfx801', 'gfx803'],
+                        choices=['gfx801', 'gfx803', 'gfx900'],
                         help='gfx version of simulated GPU')
 
     return parser.parse_args()
@@ -57,6 +57,8 @@
     extra_args = {'gfx801': '-Wno-everything -Xclang '
                             '-target-feature -Xclang +code-object-v3',
                   'gfx803': '-Wno-everything -Xclang '
+                            '-target-feature -Xclang +code-object-v3',
+                  'gfx900': '-Wno-everything -Xclang '
                             '-target-feature -Xclang +code-object-v3'}
 
     with tempfile.TemporaryDirectory() as tmpdir:
diff --git a/src/gpu/halo-finder/Dockerfile b/src/gpu/halo-finder/Dockerfile
index f02483e..efc2437 100644
--- a/src/gpu/halo-finder/Dockerfile
+++ b/src/gpu/halo-finder/Dockerfile
@@ -1,20 +1,22 @@
-FROM gcr.io/gem5-test/gcn-gpu
+FROM gcr.io/gem5-test/gcn-gpu:latest
 RUN apt-get update && apt-get -y install libopenmpi-dev libomp-dev
 
+ENV HCC_AMDGPU_TARGET="gfx801,gfx803,gfx900"
+
 ENV HIPCC_BIN=/opt/rocm/bin
-ENV MPI_INCLUDE=/usr/lib/openmpi/include
+ENV MPI_INCLUDE=/usr/lib/x86_64-linux-gnu/openmpi/include
 
 ENV OPT="-O3 -g -DRCB_UNTHREADED_BUILD -DUSE_SERIAL_COSMO"
-ENV OMP="-fopenmp"
+ENV OMP="-I/usr/lib/llvm-10/include/openmp -L/usr/lib/llvm-10/lib -fopenmp"
 
 ENV HIPCC_FLAGS="-v -ffast_math -DINLINE_FORCE -I${MPI_INCLUDE}"
-ENV HIPCC_FLAGS="-v -I${MPI_INCLUDE} -I/opt/rocm/hip/include -I/opt/rocm/hcc-1.0/include"
+ENV HIPCC_FLAGS="-v -I${MPI_INCLUDE} -I/opt/rocm/hip/include"
 
 ENV HACC_PLATFORM="hip"
 ENV HACC_OBJDIR="${HACC_PLATFORM}"
 
 ENV HACC_CFLAGS="$OPT $OMP $HIPCC_FLAGS"
-ENV HACC_CC="${HIPCC_BIN}/hcc -x c -Xclang -std=c99"
+ENV HACC_CC="${HIPCC_BIN}/hipcc -x c -Xclang -std=c99"
 
 ENV HACC_CXXFLAGS="$OPT $OMP $HIPCC_FLAGS"
 ENV HACC_CXX="${HIPCC_BIN}/hipcc -Xclang"
@@ -26,7 +28,7 @@
 ENV USE_SERIAL_COSMO="1"
 ENV HACC_NUM_CUDA_DEV="1"
 ENV HACC_MPI_CFLAGS="$OPT $OMP $HIPCC_FLAGS"
-ENV HACC_MPI_CC="${HIPCC_BIN}/hcc -x c -Xclang -std=c99 -Xclang -pthread"
+ENV HACC_MPI_CC="${HIPCC_BIN}/hipcc -x c -Xclang -std=c99 -Xclang -pthread"
 
 ENV HACC_MPI_CXXFLAGS="$OPT $OMP $HIPCC_FLAGS"
 ENV HACC_MPI_CXX="${HIPCC_BIN}/hipcc -Xclang -pthread"
diff --git a/src/gpu/halo-finder/README.md b/src/gpu/halo-finder/README.md
index cbfb685..fa87353 100644
--- a/src/gpu/halo-finder/README.md
+++ b/src/gpu/halo-finder/README.md
@@ -33,6 +33,9 @@
 In order to test the GPU code in halo-finder, we compile and run ForceTreeTest.
 
 To build the Docker image and the benchmark:
+
+Note: HACC requires a number of environment variables to be set to compile and run correctly.  Our Dockerfile sets these flags appropriately for you.  This Dockerfile automatically runs when a new docker image is created, including building for both gfx801 and gfx803, which is why our instructions below recommend doing this.  If you would prefer not doing this, then you will need to pass in these environment variables using -e.
+
 ```
 cd src/gpu/halo-finder
 docker build -t <image_name> .
@@ -56,4 +59,4 @@
 
 ## Pre-built binary
 
-<http://dist.gem5.org/dist/v21-1/test-progs/halo-finder/ForceTreeTest>
+<http://dist.gem5.org/dist/v21-2/test-progs/halo-finder/ForceTreeTest>
diff --git a/src/gpu/halo-finder/src/ForceTreeTest.cxx b/src/gpu/halo-finder/src/ForceTreeTest.cxx
index 176fb1f..9a5e4ef 100644
--- a/src/gpu/halo-finder/src/ForceTreeTest.cxx
+++ b/src/gpu/halo-finder/src/ForceTreeTest.cxx
@@ -5,6 +5,7 @@
 //newton should match theory prediction
 //short range may not due to lack of gauss law
 
+#include "hip/hip_runtime.h"
 #include <cassert>
 #include <cmath>
 #include <iostream>
@@ -79,13 +80,30 @@
   float m_rsm = 0.1;
 
   int Np = nSphere+1;
-  POSVEL_T* m_xArr = new POSVEL_T[Np];
-  POSVEL_T* m_yArr = new POSVEL_T[Np];
-  POSVEL_T* m_zArr = new POSVEL_T[Np];
-  POSVEL_T* m_vxArr = new POSVEL_T[Np];
-  POSVEL_T* m_vyArr = new POSVEL_T[Np];
-  POSVEL_T* m_vzArr = new POSVEL_T[Np];
-  POSVEL_T* m_massArr = new POSVEL_T[Np];
+
+  POSVEL_T* m_xArr;
+  hipHostMalloc(&m_xArr, Np*sizeof(POSVEL_T));
+  POSVEL_T* m_yArr;
+  hipHostMalloc(&m_yArr, Np*sizeof(POSVEL_T));
+  POSVEL_T* m_zArr;
+  hipHostMalloc(&m_zArr, Np*sizeof(POSVEL_T));
+  POSVEL_T* m_vxArr;
+  hipHostMalloc(&m_vxArr, Np*sizeof(POSVEL_T));
+  POSVEL_T* m_vyArr;
+  hipHostMalloc(&m_vyArr, Np*sizeof(POSVEL_T));
+  POSVEL_T* m_vzArr;
+  hipHostMalloc(&m_vzArr, Np*sizeof(POSVEL_T));
+  POSVEL_T* m_massArr;
+  hipHostMalloc(&m_massArr, Np*sizeof(POSVEL_T));
+  for(int i = 0; i < Np; i++) {
+        m_xArr[i] = 0;
+        m_yArr[i] = 0;
+        m_zArr[i] = 0;
+        m_vxArr[i] = 0;
+        m_vyArr[i] = 0;
+        m_vzArr[i] = 0;
+        m_massArr[i] = 0;
+  }
 
   FGrid *m_fg = new FGrid();
   FGridEval *m_fgore = new FGridEvalFit(m_fg);
@@ -308,13 +326,13 @@
   delete m_fgore;
   delete m_fg;
 
-  delete [] m_xArr;
-  delete [] m_yArr;
-  delete [] m_zArr;
-  delete [] m_vxArr;
-  delete [] m_vyArr;
-  delete [] m_vzArr;
-  delete [] m_massArr;
+  hipHostFree(m_xArr);
+  hipHostFree(m_yArr);
+  hipHostFree(m_zArr);
+  hipHostFree(m_vxArr);
+  hipHostFree(m_vyArr);
+  hipHostFree(m_vzArr);
+  hipHostFree(m_massArr);
 
 #ifndef USE_SERIAL_COSMO
   MPI_Finalize();
diff --git a/src/gpu/halo-finder/src/RCBForceTree.cxx b/src/gpu/halo-finder/src/RCBForceTree.cxx
index 8774902..0c18dd3 100644
--- a/src/gpu/halo-finder/src/RCBForceTree.cxx
+++ b/src/gpu/halo-finder/src/RCBForceTree.cxx
@@ -405,37 +405,47 @@
 
   // static size for the interaction list
   #define VMAX ALIGNY(16384)
-  nx_v=(POSVEL_T*)malloc(VMAX*sizeof(POSVEL_T)*numThreads);
-  ny_v=(POSVEL_T*)malloc(VMAX*sizeof(POSVEL_T)*numThreads);
-  nz_v=(POSVEL_T*)malloc(VMAX*sizeof(POSVEL_T)*numThreads);
-  nm_v=(POSVEL_T*)malloc(VMAX*sizeof(POSVEL_T)*numThreads);
+  hipHostMalloc(&nx_v, VMAX*sizeof(POSVEL_T)*numThreads);
+  hipHostMalloc(&ny_v, VMAX*sizeof(POSVEL_T)*numThreads);
+  hipHostMalloc(&nz_v, VMAX*sizeof(POSVEL_T)*numThreads);
+  hipHostMalloc(&nm_v, VMAX*sizeof(POSVEL_T)*numThreads);
+  for(int i = 0; i < VMAX*numThreads; i++) {
+    nx_v[i] = 0;
+    ny_v[i] = 0;
+    nz_v[i] = 0;
+    nm_v[i] = 0;
+  }
+
 
 #ifdef __HIPCC__
-  hipHostRegister(nx_v,VMAX*sizeof(POSVEL_T)*numThreads,0);
-  hipHostRegister(ny_v,VMAX*sizeof(POSVEL_T)*numThreads,0);
-  hipHostRegister(nz_v,VMAX*sizeof(POSVEL_T)*numThreads,0);
-  hipHostRegister(nm_v,VMAX*sizeof(POSVEL_T)*numThreads,0);
-  hipHostRegister(xx,count*sizeof(POSVEL_T),0);
-  hipHostRegister(yy,count*sizeof(POSVEL_T),0);
-  hipHostRegister(zz,count*sizeof(POSVEL_T),0);
-  hipHostRegister(mass,count*sizeof(POSVEL_T),0);
-  hipHostRegister(vx,count*sizeof(POSVEL_T),0);
-  hipHostRegister(vy,count*sizeof(POSVEL_T),0);
-  hipHostRegister(vz,count*sizeof(POSVEL_T),0);
-
   int size=ALIGNY(nd);
-  hipMalloc(&d_xx,size*sizeof(POSVEL_T)*numThreads);
-  hipMalloc(&d_yy,size*sizeof(POSVEL_T)*numThreads);
-  hipMalloc(&d_zz,size*sizeof(POSVEL_T)*numThreads);
-  hipMalloc(&d_vx,size*sizeof(POSVEL_T)*numThreads);
-  hipMalloc(&d_vy,size*sizeof(POSVEL_T)*numThreads);
-  hipMalloc(&d_vz,size*sizeof(POSVEL_T)*numThreads);
-  hipMalloc(&d_mass,size*sizeof(POSVEL_T)*numThreads);
+  hipHostMalloc(&d_xx,size*sizeof(POSVEL_T)*numThreads);
+  hipHostMalloc(&d_yy,size*sizeof(POSVEL_T)*numThreads);
+  hipHostMalloc(&d_zz,size*sizeof(POSVEL_T)*numThreads);
+  hipHostMalloc(&d_vx,size*sizeof(POSVEL_T)*numThreads);
+  hipHostMalloc(&d_vy,size*sizeof(POSVEL_T)*numThreads);
+  hipHostMalloc(&d_vz,size*sizeof(POSVEL_T)*numThreads);
+  hipHostMalloc(&d_mass,size*sizeof(POSVEL_T)*numThreads);
+  for(int i = 0; i < size*numThreads; i++) {
+    d_xx[i] = 0;
+    d_yy[i] = 0;
+    d_zz[i] = 0;
+    d_vx[i] = 0;
+    d_vy[i] = 0;
+    d_vz[i] = 0;
+    d_mass[i] = 0;
+  }
 
-  hipMalloc(&d_nx_v,VMAX*sizeof(POSVEL_T)*numThreads);
-  hipMalloc(&d_ny_v,VMAX*sizeof(POSVEL_T)*numThreads);
-  hipMalloc(&d_nz_v,VMAX*sizeof(POSVEL_T)*numThreads);
-  hipMalloc(&d_nm_v,VMAX*sizeof(POSVEL_T)*numThreads);
+  hipHostMalloc(&d_nx_v,VMAX*sizeof(POSVEL_T)*numThreads);
+  hipHostMalloc(&d_ny_v,VMAX*sizeof(POSVEL_T)*numThreads);
+  hipHostMalloc(&d_nz_v,VMAX*sizeof(POSVEL_T)*numThreads);
+  hipHostMalloc(&d_nm_v,VMAX*sizeof(POSVEL_T)*numThreads);
+  for(int i = 0; i < VMAX*numThreads; i++) {
+    d_nx_v[i] = 0;
+    d_ny_v[i] = 0;
+    d_nz_v[i] = 0;
+    d_nm_v[i] = 0;
+  }
   cudaCheckError();
 
 
@@ -545,29 +555,17 @@
     delete m_fl;
   }
 #ifdef __HIPCC__
-  hipHostUnregister(xx);
-  hipHostUnregister(yy);
-  hipHostUnregister(zz);
-  hipHostUnregister(mass);
-  hipHostUnregister(vx);
-  hipHostUnregister(vy);
-  hipHostUnregister(vz);
-  hipHostUnregister(nx_v);
-  hipHostUnregister(ny_v);
-  hipHostUnregister(nz_v);
-  hipHostUnregister(nm_v);
-
-  hipFree(d_xx);
-  hipFree(d_yy);
-  hipFree(d_zz);
-  hipFree(d_vx);
-  hipFree(d_vy);
-  hipFree(d_vz);
-  hipFree(d_mass);
-  hipFree(d_nx_v);
-  hipFree(d_ny_v);
-  hipFree(d_nz_v);
-  hipFree(d_nm_v);
+  hipHostFree(d_xx);
+  hipHostFree(d_yy);
+  hipHostFree(d_zz);
+  hipHostFree(d_vx);
+  hipHostFree(d_vy);
+  hipHostFree(d_vz);
+  hipHostFree(d_mass);
+  hipHostFree(d_nx_v);
+  hipHostFree(d_ny_v);
+  hipHostFree(d_nz_v);
+  hipHostFree(d_nm_v);
   cudaCheckError();
 
   for(int i=0;i<numThreads;i++) {
@@ -580,10 +578,10 @@
   free(stream_v);
 
 #endif
-  free(nx_v);
-  free(ny_v);
-  free(nz_v);
-  free(nm_v);
+  hipHostFree(nx_v);
+  hipHostFree(ny_v);
+  hipHostFree(nz_v);
+  hipHostFree(nm_v);
 #ifdef __HIPCC__
   //nvtxRangeEnd(r0);
 #endif
@@ -859,9 +857,13 @@
   POSVEL_T zzj[TILEX];
   POSVEL_T massj[TILEX];
 
+  // Consolidate variables to help fit within the register limit
+  int x_idx = hipBlockIdx_x*hipBlockDim_x+hipThreadIdx_x;
+  int y_idx = hipBlockIdx_y*hipBlockDim_y+hipThreadIdx_y;
+
   //loop over interior region and calculate forces.
   //for each tile i
- for(int i=hipBlockIdx_y*hipBlockDim_y+hipThreadIdx_y;i<count/TILEY;i+=hipBlockDim_y*hipGridDim_y)                                //1 ISETP
+ for(int i=y_idx;i<count/TILEY;i+=hipBlockDim_y*hipGridDim_y)                                //1 ISETP
   {
     POSVEL_T xi[TILEY]={0};                                                                                //TILEY MOV
     POSVEL_T yi[TILEY]={0};                                                                                //TILEY MOV
@@ -871,7 +873,7 @@
     loadTile<false,false,TILEY>(i,count,xx,yy,zz,NULL,xxi,yyi,zzi,NULL);
 
     //for each tile j
-    for (int j=hipBlockIdx_x*hipBlockDim_x+hipThreadIdx_x;j<count1/TILEX;j+=hipBlockDim_x*hipGridDim_x)                                  //1 ISETP
+    for (int j=x_idx;j<count1/TILEX;j+=hipBlockDim_x*hipGridDim_x)                                  //1 ISETP
     {
       //load tile j, bounds check is not needed
       loadTile<false,true,TILEX>(j,count1,xx1,yy1,zz1,mass1,xxj,yyj,zzj,massj);
@@ -881,7 +883,7 @@
     }
 
     //process remaining elements at the end, use TILEX=1
-    for (int j=count1/TILEX*TILEX+hipBlockIdx_x*hipBlockDim_x+hipThreadIdx_x;j<count1;j+=hipBlockDim_x*hipGridDim_x)                                  //1 ISETP
+    for (int j=count1/TILEX*TILEX+x_idx;j<count1;j+=hipBlockDim_x*hipGridDim_x)                                  //1 ISETP
     {
       //load tile j, bounds check is needed, mass is needed
       loadTile<true,true,1>(j,count1,xx1,yy1,zz1,mass1,xxj,yyj,zzj,massj);
@@ -900,17 +902,19 @@
 #if 1
   //process ramining elements in set TILEY=1
   //for each tile i
-  for(int i=count/TILEY*TILEY+hipBlockIdx_y*hipBlockDim_y+hipThreadIdx_y;i<count;i+=hipBlockDim_y*hipGridDim_y)                             //1 ISETP
+  for(int i=y_idx;i<count - count/TILEY*TILEY;i+=hipBlockDim_y*hipGridDim_y)                             //1 ISETP
   {
+    // Taken out of the loop condition to help fit within the register limit
+    int k = i + count/TILEY*TILEY;
     POSVEL_T xi[1]={0};                                                                                //1 MOV
     POSVEL_T yi[1]={0};                                                                                //1 MOV
     POSVEL_T zi[1]={0};                                                                                //1 MOV
 
     //load xxi, yyi, zzi tiles, mass is not needed, bounds check is needed
-    loadTile<true,false,1>(i,count,xx,yy,zz,NULL,xxi,yyi,zzi,NULL);
+    loadTile<true,false,1>(k,count,xx,yy,zz,NULL,xxi,yyi,zzi,NULL);
 
     //for each tile j
-    for (int j=hipBlockIdx_x*hipBlockDim_x+hipThreadIdx_x;j<count1/TILEX;j+=hipBlockDim_x*hipGridDim_x)                                  //1 ISETP
+    for (int j=x_idx;j<count1/TILEX;j+=hipBlockDim_x*hipGridDim_x)                                  //1 ISETP
     {
       //load tile j, bounds check is not needed
       loadTile<false,true,TILEX>(j,count1,xx1,yy1,zz1,mass1,xxj,yyj,zzj,massj);
@@ -920,7 +924,7 @@
     }
 
     //process remaining elements at the end, use TILEX=1
-    for (int j=count1/TILEX*TILEX+hipBlockIdx_x*hipBlockDim_x+hipThreadIdx_x;j<count1;j+=hipBlockDim_x*hipGridDim_x)                                  //1 ISETP
+    for (int j=count1/TILEX*TILEX+x_idx;j<count1;j+=hipBlockDim_x*hipGridDim_x)                                  //1 ISETP
     {
       //load tile j, bounds check is needed, mass is needed
       loadTile<true,true,1>(j,count1,xx1,yy1,zz1,mass1,xxj,yyj,zzj,massj);
@@ -929,7 +933,7 @@
       computeForces<1,1>(xxi,yyi,zzi,xxj,yyj,zzj,massj,xi,yi,zi,ma0,ma1,ma2,ma3,ma4,ma5,mp_rsm2,fsrrmax2);
     }
 
-    applyForce<true,1>(i,count,fcoeff,xi,yi,zi,vx,vy,vz);
+    applyForce<true,1>(k,count,fcoeff,xi,yi,zi,vx,vy,vz);
   }
 #endif
 
@@ -998,10 +1002,11 @@
   checkCudaPtr(vy,"vy");
   checkCudaPtr(vz,"vz");
 #endif
+
   hipLaunchKernelGGL(Step10_cuda_kernel, dim3(blocks), dim3(threads), 0, stream, count,count1,xx,yy,zz,mass,xx1,yy1,zz1,mass1, vx, vy, vz, fsrrmax2, rsm2, fcoeff);
   cudaCheckError();
 
-  //hipDeviceSynchronize();
+  hipStreamSynchronize(stream);
   //exit(0);
 #else
 
@@ -1051,7 +1056,7 @@
     }
   }
 
-#pragma unroll (4)
+#pragma unroll 4
   for ( j = 0; j < is; j++ )
   {
       i = idx[j];
@@ -1062,7 +1067,7 @@
       i0 = id  [i]; id  [i] = id  [j]; id  [j] = i0;
   }
 
-#pragma unroll (4)
+#pragma unroll 4
   for ( j = 0; j < is; j++ )
   {
       i = idx[j];
@@ -1500,7 +1505,7 @@
   hipMemcpyAsync(d_nm,nm,sizeof(POSVEL_T)*SIZE,hipMemcpyHostToDevice,stream);
   hipEventRecord(event,stream);  //mark when transfers have finished
   cudaCheckError();
-  hipDeviceSynchronize();
+  hipStreamSynchronize(stream);
 
 
   hipMemcpyAsync(d_xxl,xx+off,sizeof(POSVEL_T)*cnt,hipMemcpyHostToDevice,stream);
@@ -1511,13 +1516,13 @@
   hipMemcpyAsync(d_vyl,vy+off,sizeof(POSVEL_T)*cnt,hipMemcpyHostToDevice,stream);
   hipMemcpyAsync(d_vzl,vz+off,sizeof(POSVEL_T)*cnt,hipMemcpyHostToDevice,stream);
   cudaCheckError();
-  hipDeviceSynchronize();
+  hipStreamSynchronize(stream);
 #endif
 
   // Process the interaction list...
 #ifdef __HIPCC__
   ::nbody1(cnt, SIZE, d_xxl, d_yyl, d_zzl, d_massl, d_nx, d_ny, d_nz, d_nm, d_vxl, d_vyl, d_vzl, m_fl, m_fcoeff, fsrrmax, rsm, stream);
-  hipDeviceSynchronize();
+  hipStreamSynchronize(stream);
 #else
   ::nbody1(cnt, SIZE, xx + off, yy + off, zz + off, mass + off, nx, ny, nz, nm, vx + off, vy + off, vz + off, m_fl, m_fcoeff, fsrrmax, rsm);
 #endif
@@ -1528,7 +1533,7 @@
   hipMemcpyAsync(vy+off,d_vyl,sizeof(POSVEL_T)*cnt,hipMemcpyDeviceToHost,stream);
   hipMemcpyAsync(vz+off,d_vzl,sizeof(POSVEL_T)*cnt,hipMemcpyDeviceToHost,stream);
   cudaCheckError();
-  hipDeviceSynchronize();
+  hipStreamSynchronize(stream);
 #endif
 
 }
diff --git a/src/gpu/heterosync/README.md b/src/gpu/heterosync/README.md
index bba6547..83bd3c5 100644
--- a/src/gpu/heterosync/README.md
+++ b/src/gpu/heterosync/README.md
@@ -21,16 +21,24 @@
 ## Compilation
 ```
 cd src/gpu/heterosync
-docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu make release-gfx8
+docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu:v21-2 make release-gfx8
 ```
 
 The release-gfx8 target builds for gfx801, a GCN3-based APU, and gfx803, a
 GCN3-based dGPU. There are other targets (release) that build for GPU types
 that are currently unsupported in gem5.
 
+## Running HeterSync on GCN3_X86/gem5.opt
+
+HeteroSync has multiple applications that can be run (see below).  For example, to run sleepMutex with 10 ld/st per thread, 16 WGs, and 4 iterations of the critical section:
+
+```
+docker run -u $UID:$GID --volume $(pwd):$(pwd) -w $(pwd) gcr.io/gem5-test/gcn-gpu:v21-2 gem5/build/GCN3_X86/gem5.opt gem5/configs/example/apu_se.py -n 3 -c bin/allSyncPrims-1kernel --options="sleepMutex 10 16 4"
+```
+
 ## Pre-built binary
 
-<http://dist.gem5.org/dist/v21-1/test-progs/heterosync/gcn3/allSyncPrims-1kernel>
+<http://dist.gem5.org/dist/v21-2/test-progs/heterosync/gcn3/allSyncPrims-1kernel>
 
 Information from original HeteroSync README included below:
 
@@ -49,7 +57,7 @@
 	3.  Fetch-and-Add (FA) Mutex Lock (similar to Ticket/Queue-style Locks): To make their spin lock fair and have a deterministic number of atomic accesses per operation they also implement this queue-style spin lock.  Every TB uses an atomic to get a "ticket" for when they'll get the lock.  The TBs poll the “current ticket” location until their turn arrives (when it does they acquire the lock).  FAMutex uses backoff in the polling section of this lock to reduce contention.
 	4.  Ring Buffer-based Sleeping Mutex Lock: Each TB places itself on the end of the buffer and repeatedly checks if is now at the front of the buffer.  To unlock they increment the head pointer.  In the original paper they found that performance is bad for this one because it requires more reads and writes to the head pointer are serialized.
 - Centralized Semaphores:
-	1.  Spin Lock Semaphore: To approximate the "perform OP if > 0" feature of semaphores (on CPUs) they use atomicExch's to block the TB until the exchange returns true.  Requires more reads and writes on a GPU than a mutex.  Each TB sets the semaphore to the appropriate new values in the post and wait phases depending on the current capacity of the semaphore.
+	1.  Spin Lock Semaphore: To approximate the "perform OP if &gt; 0" feature of semaphores (on CPUs) they use atomicExch's to block the TB until the exchange returns true.  Requires more reads and writes on a GPU than a mutex.  Each TB sets the semaphore to the appropriate new values in the post and wait phases depending on the current capacity of the semaphore.
 	2.  Spin Lock Semaphore with Backoff: As with the mutexes, they add a linear backoff to decrease contention.  The backoff is only in the wait() phase because usually more TBs are waiting, not posting.
 - Barriers:
 	1.  Atomic Barrier: a two-stage atomic counter barrier.  There are several versions of this barrier: a tree barrier and a second version that exchanges data locally on a CU before joining the global tree barrier.
@@ -70,91 +78,51 @@
 
 The usage of the microbenchmarks is as follows:
 
-./allSyncPrims-1kernel <syncPrim> <numLdSt> <numTBs> <numCSIters>
+./allSyncPrims-1kernel &lt;syncPrim&gt; &lt;numLdSt&gt; &lt;numTBs&gt; &lt;numCSIters&gt;
 
-<syncPrim> is a string that differs for each synchronization primitive to be run:
+where &lt;syncPrim&gt; is a string that differs for each synchronization primitive to be run:
 	// Barriers use hybrid local-global synchronization
-	- atomicTreeBarrUniq - atomic tree barrier
-	- atomicTreeBarrUniqLocalExch - atomic tree barrier with local exchange
-	- lfTreeBarrUniq - lock-free tree barrier
-	- lfTreeBarrUniqLocalExch - lock-free tree barrier with local exchange
+	* atomicTreeBarrUniq: atomic tree barrier
+	* atomicTreeBarrUniqLocalExch: atomic tree barrier with local exchange
+	* lfTreeBarrUniq: lock*free tree barrier
+	* lfTreeBarrUniqLocalExch: lock*free tree barrier with local exchange
 	// global synchronization versions
-	- spinMutex - spin lock mutex
-	- spinMutexEBO - spin lock mutex with exponential backoff
-	- sleepMutex - decentralized ticket lock
-	- faMutex - centralized ticket lock (aka, fetch-and-add mutex)
-	- spinSem1 - spin lock semaphore, semaphore size 1
-	- spinSem2 - spin lock semaphore, semaphore size 2
-	- spinSem10 - spin lock semaphore, semaphore size 10
-	- spinSem120 - spin lock semaphore, semaphore size 120
-	- spinSemEBO1 - spin lock semaphore with exponential backoff, semaphore size 1
-	- spinSemEBO2 - spin lock semaphore with exponential backoff, semaphore size 2
-	- spinSemEBO10 - spin lock semaphore with exponential backoff, semaphore size 10
-	- spinSemEBO120 - spin lock semaphore with exponential backoff, semaphore size 120
+	* spinMutex: spin lock mutex
+	* spinMutexEBO: spin lock mutex with exponential backoff
+	* sleepMutex: decentralized ticket lock
+	* faMutex: centralized ticket lock (aka, fetch*and*add mutex)
+	* spinSem1: spin lock semaphore, semaphore size 1
+	* spinSem2: spin lock semaphore, semaphore size 2
+	* spinSem10: spin lock semaphore, semaphore size 10
+	* spinSem120: spin lock semaphore, semaphore size 120
+	* spinSemEBO1: spin lock semaphore with exponential backoff, semaphore size 1
+	* spinSemEBO2: spin lock semaphore with exponential backoff, semaphore size 2
+	* spinSemEBO10: spin lock semaphore with exponential backoff, semaphore size 10
+	* spinSemEBO120: spin lock semaphore with exponential backoff, semaphore size 120
 	// local synchronization versions
-	- spinMutexUniq - local spin lock mutex
-	- spinMutexEBOUniq - local spin lock mutex with exponential backoff
-	- sleepMutexUniq - local decentralized ticket lock
-	- faMutexUniq - local centralized ticket lock
-	- spinSemUniq1 - local spin lock semaphore, semaphore size 1
-	- spinSemUniq2 - local spin lock semaphore, semaphore size 2
-	- spinSemUniq10 - local spin lock semaphore, semaphore size 10
-	- spinSemUniq120 - local spin lock semaphore, semaphore size 120
-	- spinSemEBOUniq1 - local spin lock semaphore with exponential backoff, semaphore size 1
-	- spinSemEBOUniq2 - local spin lock semaphore with exponential backoff, semaphore size 2
-	- spinSemEBOUniq10 - local spin lock semaphore with exponential backoff, semaphore size 10
-	- spinSemEBOUniq120 - local spin lock semaphore with exponential backoff, semaphore size 120
+	* spinMutexUniq: local spin lock mutex
+	* spinMutexEBOUniq: local spin lock mutex with exponential backoff
+	* sleepMutexUniq: local decentralized ticket lock
+	* faMutexUniq: local centralized ticket lock
+	* spinSemUniq1: local spin lock semaphore, semaphore size 1
+	* spinSemUniq2: local spin lock semaphore, semaphore size 2
+	* spinSemUniq10: local spin lock semaphore, semaphore size 10
+	* spinSemUniq120: local spin lock semaphore, semaphore size 120
+	* spinSemEBOUniq1: local spin lock semaphore with exponential backoff, semaphore size 1
+	* spinSemEBOUniq2: local spin lock semaphore with exponential backoff, semaphore size 2
+	* spinSemEBOUniq10: local spin lock semaphore with exponential backoff, semaphore size 10
+	* spinSemEBOUniq120: local spin lock semaphore with exponential backoff, semaphore size 120
 
-<numLdSt> is a positive integer representing how many loads and stores each thread will perform.  For the mutexes and semaphores, these accesses are all performed in the critical section.  For the barriers, these accesses use barriers to ensure that multiple threads are not accessing the same data.
+&lt;numLdSt&gt; is a positive integer representing how many loads and stores each thread will perform.  For the mutexes and semaphores, these accesses are all performed in the critical section.  For the barriers, these accesses use barriers to ensure that multiple threads are not accessing the same data.
 
-<numTBs> is a positive integer representing the number of thread blocks (TBs) to execute.  For many of the microbenchmarks (especially the barriers), this number needs to be divisible by the number of SMs on the GPU.
+&lt;numTBs&gt; is a positive integer representing the number of thread blocks (TBs) to execute.  For many of the microbenchmarks (especially the barriers), this number needs to be divisible by the number of SMs on the GPU.
 
-<numCSIters> is a positive integer representing the number of iterations of the critical section.
-
-IISWC '17 VERSION
------------------
-
-The version used in our IISWC '17 paper assumes a unified address space between the CPU and GPU.  Thus, it does not require any copies.  Moreover, this version is based on CUDA SDK 3.1 and HIP version 1.6, as this is the last version of CUDA that is fully supported by GPGPU-Sim and gem5, respectively, as of the release.  Later versions of CUDA and HIP allow additional C++ features, which may simplify the code or allow other optimizations.  Finally, this version is designed to run in the DeNovo ecosystem, which simulates a unified address space with multiple CPU cores and GPU CUs using a combination of Simics, GEMS, Garnet, and GPGPU-Sim.  In this ecosystem, we assume a SC-for-DRF style memory consistency model.  SC-for-DRF's ordering requirements are enforced by the epilogues and atomic operations.  We assume that the epilogues will self-invalidate all valid data in the local (L1) caches and flush per-CU/core store buffers to write through or obtain ownership for dirty data.
-
-Similarly, to enforce the appropriate ordering requirements, we assume that the CUDA and HIP atomic operations have specific semantics:
- 
-Atomic      | Reprogrammed? | Load Acquire | Store Release |  Unpaired  |
-atomicAdd   |               |              |               | X (LD, ST) |
-atomicSub   |               |              |               | X (LD, ST) |
-atomicExch  |      X        |              |      X (ST)   |            |
-atomicMin   |               |              |               | X (LD, ST) |
-atomicMax   |               |              |               | X (LD, ST) |
-atomicInc   |               |              |      X (ST)   |   X (LD)   |
-atomicDec   |               |              |      X (ST)   |   X (LD)   |
-atomicCAS   |               |    X (LD)    |               |   X (ST)   |
-atomicAnd   |      X        |              |               | X (LD, ST) |
-atomicOr    |      X        |              |               | X (LD, ST) |
-atomicXor   |      X        |    X (LD)    |               |            |
-
-If your ecosystem does not make the same assumptions, then you will need to add the appropriate fences (e.g., CUDA's __threadfence() and __threadfence_block()) to ensure the proper ordering of requests in the memory system.  In the case of the HIP implementation, you may be able to use some OpenCL atomics with the desired orderings, but we left it as is to ensure portability and correctness with future versions of HIP that may not support this feature.
-
-Reprogrammed Atomics:
-
-In addition to the above assumptions about semantics for a given atomic, we have also reprogrammed some of the CUDA atomics to provide certain functionality we needed that CUDA doesn't provide:
-
-- atomicAnd() was reprogrammed to have the same functionality as an atomicInc() but without store release semantics (i.e., atomicInc has store release semantics, atomicAnd does not).  We chose atomicAnd() for this because it was not used in any of our applications.  This change was necessary because atomicInc() sometimes needs store release semantics.
-- atomicXor() was reprogrammed to do an atomic load (instead of an atomic RMW).
-- atomicOr() was reprogrammed to do an (unpaired) atomic store (instead of an atomic RMW).  We chose atomicOr for the symmetry with atomicXor and because no applications used it.
-- atomicExch() was not reprogrammed in the simulator, but we have re-purposed it assuming that the value returned by the atomicExch() is never returned or used in the program.  This allows us to treat atomicExch() as if it were an atomic store.  Thus, the programmer should consider an atomicExch() to be an atomic store.  All of the applications we have encountered thus far already did this.  In the simulator, we account for the read on the timing and functional sides.
-
-Instruction-Centric vs. Data-Centric:
-
-Common programming languages like C++ and OpenCL, which use a data-centric approach.  These languages identify atomic accesses by “tagging” a variable with the atomic qualifier.  These languages use an instruction-centric method for identifying which atomic accesses can/should use relaxed atomics instead of SC atomics; the accesses that can be relaxed have “memory_order_relaxed” appended to their accesses.  Since CUDA does not provide support for the same framework as C++ and OpenCL, we had to make a design decision about how to identify atomic accesses and how to identify which of those atomic accesses can use relaxed atomics vs. SC atomics.  We chose to use an instruction-centric method for identifying atomic vs. non-atomic accesses.  In this method, we designate certain CUDA atomic instructions as being load acquires, store releases, or unpaired (as denoted above).  Moreover, note that CUDA does not have direct support for atomic loads or stores.  HIP does support these, but only with OpenCL commands.
-
-CUDA UVM VERSION
-----------------
-
-The CUDA UVM version is based on CUDA SDK 6.0, and uses CUDA's unified virtual memory to avoid making explicit copies of some of the arrays and structures.  Unlike the IISWC '17 version, this version does not make any assumptions about ordering atomics provide.  Nor does it require epilogues.  Instead, it adds the appropriate CUDA fence commands around atomic accesses to ensure the SC-for-DRF ordering is provided.  This version has been tested on a Pascal P100 GPU, but has not been tested as rigorously as the IISWC '17 version.
+&lt;numCSIters&gt; is a positive integer representing the number of iterations of the critical section.
 
 HIP UVM VERSION
 ----------------
 
-The HIP UVM version is based on HIP 1.6, and uses HIP's unified virtual memory to avoid making explicit copies of some of the arrays and structures.  Unlike the IISWC '17 version, this version does not make any assumptions about ordering atomics provide.  Nor does it require epilogues.  Instead, it adds the appropriate HIP fence commands around atomic accesses to ensure the SC-for-DRF ordering is provided.  This version has been tested on a Vega 56 GPU, but has not been tested as rigorously as the IISWC '17 version.
+The HIP UVM version is based on HIP 4.0, and uses HIP's unified virtual memory to avoid making explicit copies of some of the arrays and structures.  Unlike the IISWC '17 version, this version does not make any assumptions about ordering atomics provide.  Nor does it require epilogues.  Instead, it adds the appropriate HIP fence commands around atomic accesses to ensure the SC-for-DRF ordering is provided.  This version has been tested on a Vega 20 GPU, but has not been tested as rigorously as the IISWC '17 version.
 
 CITATION
 --------
diff --git a/src/gpu/hip-samples/Makefile b/src/gpu/hip-samples/Makefile
index ee863b8..9518669 100644
--- a/src/gpu/hip-samples/Makefile
+++ b/src/gpu/hip-samples/Makefile
@@ -12,7 +12,7 @@
 all: $(EXECUTABLES)
 
 $(EXECUTABLES): %: $(SRC_DIR)/%.cpp | $(BIN_DIR)
-	$(HIPCC) --amdgpu-target=gfx801,gfx803 $< -o $(BIN_DIR)/$@
+	$(HIPCC) --amdgpu-target=gfx801,gfx803,gfx900 $< -o $(BIN_DIR)/$@
 
 $(BIN_DIR):
 	mkdir -p $@
diff --git a/src/gpu/hip-samples/README.md b/src/gpu/hip-samples/README.md
index 467705b..f81c923 100644
--- a/src/gpu/hip-samples/README.md
+++ b/src/gpu/hip-samples/README.md
@@ -28,7 +28,7 @@
 
 ```
 cd src/gpu/hip-samples
-docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu make
+docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu:v21-2 make
 ```
 
 Individual programs can be made by specifying the name of the program
@@ -38,18 +38,18 @@
 
 ## Pre-built binary
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/2dshfl>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/2dshfl>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/dynamic_shared>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/dynamic_shared>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/inline_asm>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/inline_asm>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/MatrixTranspose>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/MatrixTranspose>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/sharedMemory>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/sharedMemory>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/shfl>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/shfl>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/stream>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/stream>
 
-<http://dist.gem5.org/dist/v21-1/test-progs/hip-samples/unroll>
+<http://dist.gem5.org/dist/v21-2/test-progs/hip-samples/unroll>
diff --git a/src/gpu/hsa-agent-pkt/README.md b/src/gpu/hsa-agent-pkt/README.md
index 4d20e10..a2dc866 100644
--- a/src/gpu/hsa-agent-pkt/README.md
+++ b/src/gpu/hsa-agent-pkt/README.md
@@ -29,7 +29,7 @@
 
 ```
 cd src/gpu/hsa-agent-pkt
-docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu make gfx8-apu
+docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu:v21-2 make gfx8-apu
 ```
 
 The compiled binary can be found in `src/gpu/hsa-agent-pkt/bin`
diff --git a/src/gpu/lulesh/Makefile b/src/gpu/lulesh/Makefile
index 64bdc4f..56a30eb 100755
--- a/src/gpu/lulesh/Makefile
+++ b/src/gpu/lulesh/Makefile
@@ -1,7 +1,8 @@
-BIN_DIR?= ./bin
+BIN_DIR ?= ./bin
+HIP_PATH ?= /opt/rocm/hip
 
 all: $(BIN_DIR)
-	hipcc src/lulesh.hip.cc -o $(BIN_DIR)/lulesh --amdgpu-target=gfx801
+	$(HIP_PATH)/bin/hipcc src/lulesh.hip.cc -o $(BIN_DIR)/lulesh --amdgpu-target=gfx801,gfx803,gfx900
 
 $(BIN_DIR):
 	mkdir -p $(BIN_DIR)
diff --git a/src/gpu/lulesh/README.md b/src/gpu/lulesh/README.md
index a0726c4..7f07853 100644
--- a/src/gpu/lulesh/README.md
+++ b/src/gpu/lulesh/README.md
@@ -20,7 +20,7 @@
 ## Compilation and Running
 ```
 cd src/gpu/lulesh
-docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu make
+docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu:v21-2 make
 ```
 
 By default, the makefile builds for gfx801, and is placed in the `src/gpu/lulesh/bin` folder.
@@ -30,7 +30,7 @@
 
 ```
 # Working directory is your gem5 directory
-docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu scons -sQ -j$(nproc) build/GCN3_X86/gem5.opt
+docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu:v21-2 scons -sQ -j$(nproc) build/GCN3_X86/gem5.opt
 ```
 
 The following command shows how to run lulesh
@@ -42,7 +42,7 @@
 
 ```
 # Assuming gem5 and gem5-resources are in your working directory
-docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu gem5/build/GCN3_X86/gem5.opt gem5/configs/example/apu_se.py -n3 --mem-size=8GB --benchmark-root=gem5-resources/src/gpu/lulesh/bin -clulesh
+docker run --rm -v ${PWD}:${PWD} -w ${PWD} -u $UID:$GID gcr.io/gem5-test/gcn-gpu:v21-2 gem5/build/GCN3_X86/gem5.opt gem5/configs/example/apu_se.py -n3 --mem-size=8GB --benchmark-root=gem5-resources/src/gpu/lulesh/bin -clulesh
 ```
 
 ## Pre-built binary
diff --git a/src/gpu/lulesh/src/lulesh.hip.cc b/src/gpu/lulesh/src/lulesh.hip.cc
index 2026f6c..726f845 100644
--- a/src/gpu/lulesh/src/lulesh.hip.cc
+++ b/src/gpu/lulesh/src/lulesh.hip.cc
@@ -804,7 +804,7 @@
 template<typename T>
 void freshenGPU(std::vector<T>&cpu,T **gpu,int& stale) {
   if (stale!=GPU_STALE) return;
-  if (!(*gpu)) {HIP( hipMalloc(gpu,sizeof(T)*cpu.size()) );}
+  if (!(*gpu)) {HIP( hipHostMalloc(gpu,sizeof(T)*cpu.size()) );}
   HIP( hipMemcpy(*gpu,&cpu[0],sizeof(T)*cpu.size(),hipMemcpyHostToDevice) );
   stale=ALL_FRESH;
 }
@@ -1458,9 +1458,9 @@
 {
   Real_t *fx_elem,*fy_elem,*fz_elem;
 
-  HIP( hipMalloc(&fx_elem,numElem*8*sizeof(Real_t)) );
-  HIP( hipMalloc(&fy_elem,numElem*8*sizeof(Real_t)) );
-  HIP( hipMalloc(&fz_elem,numElem*8*sizeof(Real_t)) );
+  HIP( hipHostMalloc(&fx_elem,numElem*8*sizeof(Real_t)) );
+  HIP( hipHostMalloc(&fy_elem,numElem*8*sizeof(Real_t)) );
+  HIP( hipHostMalloc(&fz_elem,numElem*8*sizeof(Real_t)) );
 
   dim3 dimBlock=dim3(BLOCKSIZE,1,1);
   dim3 dimGrid=dim3(PAD_DIV(numElem,dimBlock.x),1,1);
@@ -2425,9 +2425,9 @@
   Index_t numElem = mesh.numElem();
   Real_t *fx_elem,*fy_elem,*fz_elem;
 
-  HIP( hipMalloc(&fx_elem,numElem*8*sizeof(Real_t)) );
-  HIP( hipMalloc(&fy_elem,numElem*8*sizeof(Real_t)) );
-  HIP( hipMalloc(&fz_elem,numElem*8*sizeof(Real_t)) );
+  HIP( hipHostMalloc(&fx_elem,numElem*8*sizeof(Real_t)) );
+  HIP( hipHostMalloc(&fy_elem,numElem*8*sizeof(Real_t)) );
+  HIP( hipHostMalloc(&fz_elem,numElem*8*sizeof(Real_t)) );
 
   dim3 dimBlock=dim3(256,1,1);
   dim3 dimGrid=dim3(PAD_DIV(numElem*8,dimBlock.x),1,1);
@@ -2521,12 +2521,12 @@
   Real_t *dvdx,*dvdy,*dvdz;
   Real_t *x8n,*y8n,*z8n;
 
-  HIP( hipMalloc(&dvdx,sizeof(Real_t)*numElem8) );
-  HIP( hipMalloc(&dvdy,sizeof(Real_t)*numElem8) );
-  HIP( hipMalloc(&dvdz,sizeof(Real_t)*numElem8) );
-  HIP( hipMalloc(&x8n,sizeof(Real_t)*numElem8) );
-  HIP( hipMalloc(&y8n,sizeof(Real_t)*numElem8) );
-  HIP( hipMalloc(&z8n,sizeof(Real_t)*numElem8) );
+  HIP( hipHostMalloc(&dvdx,sizeof(Real_t)*numElem8) );
+  HIP( hipHostMalloc(&dvdy,sizeof(Real_t)*numElem8) );
+  HIP( hipHostMalloc(&dvdz,sizeof(Real_t)*numElem8) );
+  HIP( hipHostMalloc(&x8n,sizeof(Real_t)*numElem8) );
+  HIP( hipHostMalloc(&y8n,sizeof(Real_t)*numElem8) );
+  HIP( hipHostMalloc(&z8n,sizeof(Real_t)*numElem8) );
 
   dim3 dimBlock=dim3(256,1,1);
   dim3 dimGrid=dim3(PAD_DIV(numElem*8,dimBlock.x),1,1);
@@ -2641,10 +2641,10 @@
         Real_t *sigxx, *sigyy, *sigzz, *determ;
         int badvol;
 
-        HIP( hipMalloc(&sigxx,numElem*sizeof(Real_t)) );
-        HIP( hipMalloc(&sigyy,numElem*sizeof(Real_t)) );
-        HIP( hipMalloc(&sigzz,numElem*sizeof(Real_t)) );
-        HIP( hipMalloc(&determ,numElem*sizeof(Real_t)) );
+        HIP( hipHostMalloc(&sigxx,numElem*sizeof(Real_t)) );
+        HIP( hipHostMalloc(&sigyy,numElem*sizeof(Real_t)) );
+        HIP( hipHostMalloc(&sigzz,numElem*sizeof(Real_t)) );
+        HIP( hipHostMalloc(&determ,numElem*sizeof(Real_t)) );
 
         /* Sum contributions to total stress tensor */
         InitStressTermsForElems(numElem, sigxx, sigyy, sigzz, 0);
@@ -4463,7 +4463,7 @@
   dim3 dimBlock=dim3(BLOCKSIZE,1,1);
   dim3 dimGrid=dim3(PAD_DIV(length,dimBlock.x),1,1);
 
-  HIP( hipMalloc(&pHalfStep,sizeof(Real_t)*length) );
+  HIP( hipHostMalloc(&pHalfStep,sizeof(Real_t)*length) );
 
   hipLaunchKernelGGL((CalcEnergyForElemsPart1_kernel), dim3(dimGrid), dim3(dimBlock), 0, 0, length,emin,e_old,delvc,p_old,q_old,work,e_new);
   HIP_DEBUGSYNC;
@@ -4750,20 +4750,20 @@
   Real_t *compression,*compHalfStep;
   Real_t *qq,*ql,*work,*p_new,*e_new,*q_new,*bvc,*pbvc;
 
-  HIP( hipMalloc(&e_old,sizeof(Real_t)*length) );
-  HIP( hipMalloc(&delvc,sizeof(Real_t)*length) );
-  HIP( hipMalloc(&p_old,sizeof(Real_t)*length) );
-  HIP( hipMalloc(&q_old,sizeof(Real_t)*length) );
-  HIP( hipMalloc(&compression,sizeof(Real_t)*length) );
-  HIP( hipMalloc(&compHalfStep,sizeof(Real_t)*length) );
-  HIP( hipMalloc(&qq,sizeof(Real_t)*length) );
-  HIP( hipMalloc(&ql,sizeof(Real_t)*length) );
-  HIP( hipMalloc(&work,sizeof(Real_t)*length) );
-  HIP( hipMalloc(&p_new,sizeof(Real_t)*length) );
-  HIP( hipMalloc(&e_new,sizeof(Real_t)*length) );
-  HIP( hipMalloc(&q_new,sizeof(Real_t)*length) );
-  HIP( hipMalloc(&bvc,sizeof(Real_t)*length) );
-  HIP( hipMalloc(&pbvc,sizeof(Real_t)*length) );
+  HIP( hipHostMalloc(&e_old,sizeof(Real_t)*length) );
+  HIP( hipHostMalloc(&delvc,sizeof(Real_t)*length) );
+  HIP( hipHostMalloc(&p_old,sizeof(Real_t)*length) );
+  HIP( hipHostMalloc(&q_old,sizeof(Real_t)*length) );
+  HIP( hipHostMalloc(&compression,sizeof(Real_t)*length) );
+  HIP( hipHostMalloc(&compHalfStep,sizeof(Real_t)*length) );
+  HIP( hipHostMalloc(&qq,sizeof(Real_t)*length) );
+  HIP( hipHostMalloc(&ql,sizeof(Real_t)*length) );
+  HIP( hipHostMalloc(&work,sizeof(Real_t)*length) );
+  HIP( hipHostMalloc(&p_new,sizeof(Real_t)*length) );
+  HIP( hipHostMalloc(&e_new,sizeof(Real_t)*length) );
+  HIP( hipHostMalloc(&q_new,sizeof(Real_t)*length) );
+  HIP( hipHostMalloc(&bvc,sizeof(Real_t)*length) );
+  HIP( hipHostMalloc(&pbvc,sizeof(Real_t)*length) );
 
   dim3 dimBlock=dim3(BLOCKSIZE,1,1);
   dim3 dimGrid=dim3(PAD_DIV(length,dimBlock.x),1,1);
@@ -4967,7 +4967,7 @@
         Real_t eosvmax = mesh.eosvmax() ;
         Real_t *vnewc;
 
-        HIP( hipMalloc(&vnewc,sizeof(Real_t)*length) );
+        HIP( hipHostMalloc(&vnewc,sizeof(Real_t)*length) );
 
         dim3 dimBlock=dim3(BLOCKSIZE,1,1);
         dim3 dimGrid=dim3(PAD_DIV(length,dimBlock.x),1,1);
@@ -5197,7 +5197,7 @@
   dim3 dimGrid=dim3(PAD_DIV(length,dimBlock.x),1,1);
 
   Real_t *dev_mindtcourant;
-  HIP( hipMalloc(&dev_mindtcourant,sizeof(Real_t)*dimGrid.x) );
+  HIP( hipHostMalloc(&dev_mindtcourant,sizeof(Real_t)*dimGrid.x) );
 
   hipLaunchKernelGGL((CalcCourantConstraintForElems_kernel), dim3(dimGrid), dim3(dimBlock), 0, 0, length,qqc2,
          meshGPU.m_matElemlist,meshGPU.m_ss,meshGPU.m_vdov,meshGPU.m_arealg,
@@ -5316,7 +5316,7 @@
   dim3 dimGrid=dim3(PAD_DIV(length,dimBlock.x),1,1);
 
   Real_t *dev_mindthydro;
-  HIP( hipMalloc(&dev_mindthydro,sizeof(Real_t)*dimGrid.x) );
+  HIP( hipHostMalloc(&dev_mindthydro,sizeof(Real_t)*dimGrid.x) );
 
   hipLaunchKernelGGL((CalcHydroConstraintForElems_kernel), dim3(dimGrid), dim3(dimBlock), 0, 0, length,dvovmax,
          meshGPU.m_matElemlist,meshGPU.m_vdov,
diff --git a/src/gpu/lulesh/x.asc.golden b/src/gpu/lulesh/x.asc.golden
new file mode 100644
index 0000000..8a6cfa4
--- /dev/null
+++ b/src/gpu/lulesh/x.asc.golden
@@ -0,0 +1,91125 @@
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.925000
+0.950000
+0.975000
+1.000000
+1.025000
+1.050000
+1.075000
+1.100000
+1.125000
+0.000000
+0.025000
+0.050000
+0.075000
+0.100000
+0.125000
+0.150000
+0.175000
+0.200000
+0.225000
+0.250000
+0.275000
+0.300000
+0.325000
+0.350000
+0.375000
+0.400000
+0.425000
+0.450000
+0.475000
+0.500000
+0.525000
+0.550000
+0.575000
+0.600000
+0.625000
+0.650000
+0.675000
+0.700000
+0.725000
+0.750000
+0.775000
+0.800000
+0.825000
+0.850000
+0.875000
+0.900000
+0.92500